From 15991f46db527c16761425f43ebf3c5649fd91eb Mon Sep 17 00:00:00 2001 From: shafi54 <108669266+shafi-aviz@users.noreply.github.com> Date: Mon, 30 Mar 2026 21:59:23 +0530 Subject: [PATCH] enh --- .../app/(drawer)/customize-app/index.tsx | 28 +- ...3392424ca77d90da5d8bee350f1688c8f23.sqlite | Bin 655360 -> 1032192 bytes ...d71cfee3694a0a726e6d79c51fb1e78afcd.sqlite | Bin 12288 -> 12288 bytes .../middleware-insertion-facade.js | 0 .../middleware-loader.entry.ts | 6 +- .../strip-cf-connecting-ip-header.js | 0 .../.wrangler/tmp/dev-IIUlyx/worker.js.map | 8 - .../tmp/{dev-IIUlyx => dev-UMGKJQ}/worker.js | 192 +- .../.wrangler/tmp/dev-UMGKJQ/worker.js.map | 8 + apps/backend/migrated.sql | 23980 +++++++++++++++- apps/backend/migrated_nofk.sql | 21840 -------------- apps/backend/src/lib/const-keys.ts | 52 + apps/backend/src/lib/notif-job.ts | 4 +- apps/backend/src/stores/product-tag-store.ts | 4 +- .../src/trpc/apis/admin-apis/apis/banner.ts | 6 +- .../src/trpc/apis/admin-apis/apis/const.ts | 1 + .../src/trpc/apis/admin-apis/apis/product.ts | 10 +- .../src/trpc/apis/admin-apis/apis/store.ts | 6 +- .../apis/common-apis/common-trpc-index.ts | 10 +- .../src/trpc/apis/user-apis/apis/user.ts | 4 +- .../app/(drawer)/(tabs)/home/index.tsx | 13 +- apps/user-ui/src/hooks/prominent-api-hooks.ts | 3 +- .../db_helper_sqlite/src/admin-apis/const.ts | 26 +- packages/db_helper_sqlite/src/db/schema.ts | 2 +- .../src/helper_methods/const.ts | 24 +- .../db_helper_sqlite/src/lib/const-keys.ts | 82 + packages/migrator/LOCAL_D1_IMPORT.md | 96 + packages/migrator/data/migrated.db | Bin 647168 -> 1032192 bytes packages/migrator/data/migrated.sql | 21840 -------------- packages/migrator/src/config.ts | 3 +- 30 files changed, 24119 insertions(+), 44129 deletions(-) rename apps/backend/.wrangler/tmp/{bundle-MabhKO => bundle-l1tHq1}/middleware-insertion-facade.js (100%) rename apps/backend/.wrangler/tmp/{bundle-MabhKO => bundle-l1tHq1}/middleware-loader.entry.ts (95%) rename apps/backend/.wrangler/tmp/{bundle-MabhKO => bundle-l1tHq1}/strip-cf-connecting-ip-header.js (100%) delete mode 100644 apps/backend/.wrangler/tmp/dev-IIUlyx/worker.js.map rename apps/backend/.wrangler/tmp/{dev-IIUlyx => dev-UMGKJQ}/worker.js (99%) create mode 100644 apps/backend/.wrangler/tmp/dev-UMGKJQ/worker.js.map delete mode 100644 apps/backend/migrated_nofk.sql create mode 100644 packages/migrator/LOCAL_D1_IMPORT.md delete mode 100644 packages/migrator/data/migrated.sql diff --git a/apps/admin-ui/app/(drawer)/customize-app/index.tsx b/apps/admin-ui/app/(drawer)/customize-app/index.tsx index 0ac8b4b..b5ccf6a 100644 --- a/apps/admin-ui/app/(drawer)/customize-app/index.tsx +++ b/apps/admin-ui/app/(drawer)/customize-app/index.tsx @@ -37,6 +37,29 @@ const CONST_LABELS: Record = { supportEmail: 'Support Email', }; +const CONST_VISIBILITY: Record = { + minRegularOrderValue: true, + freeDeliveryThreshold: true, + deliveryCharge: true, + flashFreeDeliveryThreshold: true, + flashDeliveryCharge: true, + platformFeePercent: true, + taxRate: false, + minOrderAmountForCoupon: true, + maxCouponDiscount: false, + flashDeliverySlotId: true, + readableOrderId: false, + versionNum: true, + playStoreUrl: true, + appStoreUrl: true, + popularItems: true, + allItemsOrder: true, + isFlashDeliveryEnabled: true, + supportMobile: true, + supportEmail: true, + tester: false, +}; + interface ConstantInputProps { constant: ConstantItem; setFieldValue: (field: string, value: any) => void; @@ -49,7 +72,6 @@ const ConstantInput: React.FC = ({ constant, setFieldValue, // Special handling for popularItems - show navigation button instead of input if (constant.key === 'popularItems') { - console.log('key is allItemsOrder') return ( @@ -219,7 +241,7 @@ export default function CustomizeApp() { {({ handleSubmit, values, setFieldValue }) => ( - {values.constants.map((constant, index) => ( + {values.constants.filter((constant) => CONST_VISIBILITY[constant.key]).map((constant, index) => ( @@ -240,4 +262,4 @@ export default function CustomizeApp() { ); -} \ No newline at end of file +} diff --git a/apps/backend/.wrangler/state/v3/d1/miniflare-D1DatabaseObject/3215becb47ab9107dd287921903cb3392424ca77d90da5d8bee350f1688c8f23.sqlite b/apps/backend/.wrangler/state/v3/d1/miniflare-D1DatabaseObject/3215becb47ab9107dd287921903cb3392424ca77d90da5d8bee350f1688c8f23.sqlite index df2762593fdf718d69dda1325fa2fc62ff677c98..f9b14dd03c77cc3b24d02081e38bdd38b7d3ce57 100644 GIT binary patch literal 1032192 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

4WmgFz#^(`Xk08<+4TOh(d^zAL$C~k9ceoAx9i@ z#n??O@(a2`n?7@AS8&s35?%79&z$X&jAv{pJMih>^qD)m0-HXQ=<3__nX_HJ#xoB3 z(48=JE=vjNj;;fnK6885&6_@Rrfa`DKDN1T+Vq**yLvW#=1kX(?)ZdIia~oKn&>~> zwQtjBX1exPJj1j>9O{&oAC4pf(_P)0J~P$Twdpgby8Q0X0B3MKl>_&k>=HM9=0w+? zO`nGf*7RdOfB@6E}}`?b!60BVE^Q@C@{5=xGrpv45oN>P?>+?z+nT8DzZEx8sz% zX{c-arq2v^UAf^iI0zMJXg%?+ZJR!Gxa$hHXXp}5;xTmJPjo9?z73v%E&%lmMMhoG zuFg%LiF9>r`b@a1-TfITOE__(unYX5uC@)H!POtb?gy=J4vD7!&U{tP)R{R(OdBZG+PwdF_VMtJNJ9oi7g1;GAeik zr;>`U3NVkiXDR-F9;UMIE3E%t&HgvM1g1TUyI^Yezgcctv;Rp|ui5{M2y)H-Cno{? zTs8Z@X8+gh|C;^JbjPwr2bV?7{^H ze{uFdyg~}=|5xXGwcz`b?~m|D?N^NgH44-yP@_PN0yPTMC{Uw7jRG|a)F@D+K#c-5 z3Oo-K*n7du*)2z)gUpjmnG>-9T0SPcQ{8JUuzL3XENK1#(o8r08ir)O@IA zyU^S!JlnW{Y6~P~LBT^BDVm+Lw%Z{|Ntojy$rwjakuK93mZdY>4M^S=g48E8Usd;X zz2}GKD^wH6YVUCWRumob^>HdyDUV0gSYqOcjG~Qj2o1)S$oTl+#FY##uIeHTJ-dP7 zLSs;W8}}3dK|rMvG$0Z&pz8I2Y}`Q5I~gAv83CFT+pZ9rjSp@)cYWpLDu9k395MMAV>el+Tw z&{~@Z=bet9898y}h%B8x?KA1fzIVUSytD4;8#;0Nr=(X*)_Au{bCmGsksQsa{Nn*+4Ld z$EN{ya%Qrfr)bL_2SxSLCzQ{kJ}L;~#e|8)n-EyD|8iB zs7y}+i26*rZ!Hj&VirI`l8sv{J{CWMruEY^!P!=T6q=emO>EQb6q*m;-Ldwr&$k{j z|70`&AsE07UM(p0&GtL4h12!ibVcq|%|Wo4p;Ch&SaUULHByTW%Hh41pp@!Y43yd8?^EKBrUSmQczNS6GF2jLAXyS!!Y8xLMi^qbKjqEF%jjzN? zUpd)$<)jYFtn@-s3*E+t{B&~;GGCD;X^e;I8&6CPOA+Zr13uHB8a@<~LU^P1$wuLg z7DP}7B*S;2NSNbCK-9;Lr9Lt~H9dm@%%k-ND+&;3hXkxMv5o}|*_tRI!{)$k2rA=5 zP>tbj+uMWVqXet20@n7II$@zWP(>{!qno}0VY{3lSduj9HDE#1>K__}h+v{t$3Pbm z*dr*_kiym~&>rWdj=4w1Jtl4hPr#bmz7rb+MS?^)6y-5!8+~U)qWb@4-)HCy+k^W5 zANig^7r<}%zUupe?=u~@ba>kTxc!&gPqts(_QkeGP~(4H>)*BhM(bqjc2xHNTFYEZ zPxE)1|DbuLS!(*%rpKEeXc}&6Y5dE^*EQbJxEnS6zuk~&kn4Yh>irkhkJPu;{Z-xT z>(18Q;Qgle-QHDi(DP%@lOD};#M35xN_YczjH*K|!l6TG7$8vPBON(?A@)&VRAb3E z8dnEhUuAb5xxC7ct8v#?QFiD$D?hFtc72uYESFjNarL&!S6ODY%dC!Z^;XwcdFU3I z@G3v9g1Sx$Lw>@0L{BjlfqT_9uHNGMDo;uNReoGO==v&8N&Z!STpe(ImH#IGReoGm zD_(^FLB($6w>rnwnCq)NbaPgEl^<7?%2!cg$UkDe>KIp}Zm;5Gc0m~G6hE#;Twitl zR=moOt6|qyH$a%7VzP=Fs(clN|2%Z-TOH$S(DhZVe8vBO8#( zF|O`+eU*o9&5Bp~arLIkS6L4Q7xs6It38#kLi=zNYuK;0arMT^S6O+7%d8lu?hzLI z?{j^X|0e5OL#)+B`PJ^qSMkV3ukzz+SLLfXB%$6|(5+b^{rPd#U-7EmJw&#w5%X2& zxGGk@>ewOHtB&#EJ?zzP?o@}l<@&A8@q4@Eu7NwDm7Tj!y+KC++JQ9@lrCzUK*|`d zXtLBNRPNcv)!nYIqKOVH9xB>3%|{q*c$FVlakC_ymyTKS2x?WKPD=J!`EeCDNxHv^ zr%>h!6Po`J3|iyrbsM}&eJf&tkZPKJCc@=$6*oXSXT@eAY+==)aq;kmXn0G;E$^t%Sh;U0_-a?r_DFO0j}dJu5om{N_MV8py{tNw$F-JQI=zktL+u9f@PT?biPX0>Cs*D=D6Bc`6?($GSqy;BojUa z@~Q0XQCllt)r+?)Ud4U2Fam?tw;sWjg80@RoiFvJXRW|0XT_^Fe%1Lh8tjcikS^iM zK)^}c;n0dyqQHvA%i}s6CD^OTy;0>{Z&wh~S&{IU5dIQXdzDbH67E%^y-Eb^k1GeA zivxiCfn<>hR&`qYvLXl-oySj&r$H};d}_cv#odz!x0 z^vmH~(==~S(d%SmhcX&SKd6{QO zcoviXJikWoGkhKU4gY_z4^CgFUk55)<@lYU-bk<78|#&&Ugg~A3o8M^5aZ2y{ip{Z z$M~H9KyVbm3!NLj*8tRA#>ipO@ql;>@Xj)nk;?{@eLNJWr&s?jL~ePNme7e2D!uBt zk#$!vycNzNW3$eAFr)Xl5eMOeGUxDM_;Cl7FS!ERfXX(5#sTP}DV{F{A5hJH{;_*j4Je(VQzFo`yU&{I~;9 zwi1vdE@=UBjN1W?tQvs0{fQU&nR!6`I0xw5P{shmEjSE$emiquY~vP~b3-eYKq}?E zE-M`49FX&sKv*|_mo4rX=YXVLf$-eHe-1xh1~R&A0O7dC)wuyl>=*|S62b@;(nc6v zas|Y%1&<9s?f|q{35bOUU1;MNw*xwyG63x=?{CM7SQt6RbwKCh3kHPUJOtY&<{%)! zF>FPO41s^KYVPYJ&%DMPmZg|)>Er*9~ z+*+G+t{`|B&4b{_Ef6no1>w59$Xwya?=+Y9P6GtDyspVF*ny65!oobwMiQ=IHXy1^ zX9Ksh(~K?e*~$+>QjF^<;utr;oEy5s0KqM?xYo-}}%`9$Cd zq^$7kzyYz1t0!Dv<>}AA%8#p)uCMZYlYf;TS0`Lw-GF$urBsi*zPbUyY|Ez}t9%vL zZn@6t7*~(FzUn$FUggKtakp1(i(rw-ksz*)xxUIT0{<#Mu8z9C$}a-{DjInb&dl?t z9&vq@|0e!beq0@KyvmZ^T_{{Rt`57t%0t&@)nDbu$^MTD=>PWt-Oje)W%!f0(~FWVt)Kx><{Gr!DSwVRFo z#X)kY{T7WJN{3T-P6P z_;Hg;I%k{t)3z^jRhE$5Ya2J=nAA4YsqK(lB>*7t<4#Dpbd=>q*&%H}?W!DL=4o?~ zHn2F5I&2f#9JR^osF`Woc1W%`ISdjzq!G=`;^tNk%DF2CIL1vn=@P(9>9)h+SK8uk zz~RU3aP<6cq1g_{?bxI{Rrqlp&ZuT&csJW9WLsw*pK9yByK?<8^9HoGjhh&mJZa>A z^Ef$74+|&9xD%3*4(@>Dij#|FLMH%L4V*Nh8QI}Hy`glwuD@g4#7SR&BURi1hhJyz z+p4U;kvHyu!>=d>m0@j52+eXW?H!oCwDr*qOoZu_DG0kW|`X|@pE%H+4qS9l9_bQ zL2{S_79_{Golb+AnS);TuFDSVfQQ86YDQHcY|U(R8#?Y=#9=?!h3%+jCa2pWxo#3b z;>Vqk%v^OlBz`+^A7&Sm4q~@giZ|DURkU4jj5~2MGuiDp@kHfu;>Vqk%)mAW$x*gy zL2``SAq{JKp1aUo4y)0XL;T!4B!1jv0H)tISL#WX6%@K&>KNw`g0wZW*tyfqk>1Lo zV`l(EbJL}*nbK~DX1co_5>HV6%lL5WpFW2dB<8(*e3-f$HG&T$SWtUqeM zm@a9D!*6sBBm4T7x9z!+2VBAM%glq}$9Z%{@2}YUggw8?JQ#kwygA4fr`!K87krN~ z`~Rz*ukSqCDRlf%N2a5z{R{1{Y#(lWw(Zfj@HHf;RL#&m$&nP|*Xs zpMztwu|~DZcoMzAQ~LJyA8>5zPx36rxEtq?8GW*SneE)-XoRY-jcH^Cq3n=ccbik6bx_-kL)js@ zQX4vDH4ZRCQ5+K&RX5ipylE$A3$ zXQQ!lBbphRvcqw+9|?|)lQ<3-(ai9a9gZs}0nSF8G@@0;sAyhSNrG`3Cvo_UYG#ni zMrn6R0ys8FqQlW8H`dIIQ`sSHux7Rs#-OwX$qZF-kR0l-#Yc{Dr%W>ARdz_OII*(c zN{-Z}+lXd{uef!Crs%qEj&TzwU86N)S#~(Cd;~cBI1gu3GXq=YFGJa^>lx`Bw^MsW zGvi!#j9fVh81dtFjLe`{8KWScca=zvaTAVtl9(|tJERR(&CW><*=B~s%8-Z}Za6u| zoj8qE=t)kxnmp+ocS14)W*knAlt~McW84YJjGx&dxzP#b<2K%~LmJV{a9WuM@D-4f zjJP%_=^Qs9>D+C`*6eV2F1EhSVOQAU3{@!pG_RZe;2h`SjB0~!t7hY29v>TTJEU9O z4bs*)$pPuG8zdVS^EmOVX?~lzPj0J(LKqD2izoE$)0+EorX#yL8{kMMukd-M3#uIgS~vOGv0 zBs(Fw8OcpThD&TmN3#+Fv1ZAVEZg#=kmw#uvLsuRHQ15~wgu~?Zz(}UttW* z{1Eh{Smq4Ga6Ib!%Nf6|buu)rzOL=@`6C&x6|^=mQ9oH76Q4nnU{dsxIZS8u ziO(U)F-g~@z$JRGhI*d{vq(Jc!Tq1Y&+xZ`y}>LJeM4E2sK>3|r@<@|he=VEsL!p2 z$=~C%ND^tHZzzsVE=|&?OK&iT#Pvv#-_%o9>rt>bm_q_4MNgT7pCto>IVAoKg|Xo@ zll116K^?&7kR)7!$2Y9ADFx`-;n6`=KIrf9X(Txw#d)J1>o6V~v+oTikvO`FI)Hk( z!+7|$JD5b`Fez#Q>f@?o8cZT_n1&^Q-qC$lw6r&zL?Sm^4EKq{be04RCy@s4$l&)j zz|WKbK8eK79Cy?Bumo^$B?+KjKyNsU1j@?3GT>^vK(NPWk$C;a(H)im4ldgT5-?TTJNy2sH$`SzhS$!JLBoRz1eL7PD_)L;S z0tW0eL6)e!H5@PDBw#p?gdQnN0N`p8;O`CRkq90|2>=}2CQ~|Omjt_fB1tm;cwTY- z0axNR#ziw^d@f1OAw^!(I>}*4qS~$d+#y>VcabR1KHy3{;=RC!6)~ywh|IolMOME) z9CAr=LH_P@hOA_AKZ@e|2V8aicTW`Y4DSF~x3s!Z!XwFk>+g0H@hHwd@W|Gh1W&Nr zR^pKI>;sRC*K$45Jyyh|$ZJ$2%6cSU{oNxTlR;Qf1J#gHxU5eDm|BXMRQe=e{j$;d zyUji(iEKa7oMOLEboF-|!*~X&DkWo+%aLT>{N1`D9z{8#Rg!9Qbf}0&QI3E|Hfxgp z1iQ699*GtisHv2W>#RAeDq>QZGr2?#%zkAU(?Ct7&?j0UDdUkW>snUCq}V5Vg{K6Q ztWW-KsgFr6M~Zp`@};gv4ixby&KvN^=1n4x!S24&$duPV&3(&9Mp8hWt|k7zUGqVW z={HPS)78dL8h^t0%$e`ZynW{K%+=GMoc@XFXHI=*>g`jzxcUFF$rn$04F76)mmzDo zPX8Fq|Nra6yC$*|*Ny+l_zTDHAN$_eJH~d$t{MH4(HA2B|2^G1bgb^`kxz_tN1WPk zXn$Ut(2jxBf6|{&kIxs~)jt`D&)=w6_XIAR6LAg9Gt7gb9-lIjqZ(e890}RxE=LvV z@j0WrWxX1nVGfmShNZfT^efWi(?)V+!<#&Z49j!KSfJC)A>%Vga%97+0mzVplJ!iw z8VIsrk53-)ii3Mev1hbuOD=%oL55(DPanxKsdP)O?4{kpEb<8?$t(^eoH)fn`+BxO z@EIgIDn)^y86?T@m6{er1V|#;HBo31j(@|HX zE(`FD`79Ez8R0(;?5-=%x*c@DSL%`?;Gf4a!3KBrS zg*7}nvR%Q)>hT#Q$;`pyRFnX~)inU0Ka%57lmOsS*8qI>NRCHQ0)R(py-|O*H<&x3 z98%T*z;o7W<8w!nbxYq+;I)c}%}WxWJ(6Hj^s&*`vwiFypFfggQk2Po`>_Y3tkwaW zmeN+9|FeATo<$Ll;`|T#*y75CJTi)S6z6}?$ClwSE8;796@hHwe@W{9=k)!3_Eqy$U;KdDI zd?Hx2z@s|<^Z10xgUh{}6|pJu`>cxeKDLX)*c7YMAqTX^e0b-kazL?h{{K5k{=a0p z$@rM@1;%I0{L{>@%&_qPKQY~#c29k4>Mc{LDbwUfC!aHEHT<37jfM@wwEiRd6TM~P z8xy}Uk(`(s|L}NcoEiK2*c--H$3{lqKUx~SS@*c^CA#}ZzB}@ck<7?-+Q+mn);>$~ zJ`5ZYOC21p{U{T4Rf=7HdN5Uf&%N}?J zbUQxb!`%yH2O>V1BS)k-Yd|EMHAaSr&*jJwDb5-Y$!1N8D0Ipvb0o8d7gSg+pEVH? zR?&l@Q$C*~N2SPZ&bBAx?&oua!BJE_KBXf;rDELU>WcyQZU7aZ(~+Q};)k&e_;*Cc zWSo+VWvIuebtI@Lbp=#Ij>15%_`Hq`mEvwe?)H#-3IZy!@q~JOVn>cjQKo=OO{Rb< z+T(LOR#Bvj;|h{=8@x3>5`&)L6;s3^!Ox?WHG~xRx%yPg&}fb z=<60Tut1N`@yHP=iUJVHML~v$Px8nSDXJGB8dx;_!(Ql7sK;k{B(sJW6h#1VC06%m zE!5)^J#tiv+#Ylut>;@4P1c}e|$nmIjNl^fZx(oF9JdcFk zD!v1`G2{#Z;L|*EM2Z3cL}v&9pXHGwQWO9nk_iC6-4T%t_4qW8WY+M4q5uG{Bml%j zqp0{yj~taEw+HI|q`2yUXmHg@5M5S8q`2yUXmHgDh(f)z z5|@<40Ep!BJ;3mX6j3QMe6TiF&TxP4!9FU9x>PBSWdN7=O1kepTM>^+m*g@aDgrE) z2Zo1+(ow~ISEZa478s|SQi`Y)ML?yVRY0|)h)PiifND?(_-k>X<|4iAJ}QX;hF27| z0pKbO=Y|;RZ7CvCp3-ew<}7{McVnke=RaMhjx(}p4@m2RmC11wC=|9_Rn z^j=fhbc^xNj6Z2yn)%+$uOk0{&Ga9`|94J(W9sLp5>vX#-=1tt-fsAu;idS#>%Z#X zsn6+eoOo>F1ryI4|L*uZ#xvvBj{VVCcg!~Wwb9p)u8&UXKB7C)-8J%+k)In$j7(@h zq&?O?UGo>3SN&-JKXl4xUPOJaTq9>)AaJ=b2n(6|38#GOMUF~|+*z5(Q*3i5f%}I^~lw@d2LO1lDKycGU`$S+Pq1yA{ujJR2m?+Hs^5*G5A#dCpEJ}D!S2bkfC z@&Nc5x`ofm$Pp>(79diS2j~_)DI-UuC=Ea)lLnDdL`m^E895?FNdO|5BuEj3PWhCK zL<;bNq7(owU&Dg_r7p}VpOcZJQk=N6T^RrAa9T$B0vu?BAs0rfS%%Xx-17#8E=vQb_=Jocm7+8Om0X$z zP~FtG>*S~uJ;*>$;^hQNwiZV6m4^iiXGM+=` zKfR%kOk(?}ctp6u=8XO7dPO`col>=ZBB$344-SrjqErDcmnvcH5l_Yf9ek}KGDTqk zGPy7eA-hHqnWB&anM_CrH=4-l1w~|vvIS&v*&66s==AD7GKrw#B}M51TrOP#GEQGz zrHD##8i!o00aQ;JMy29l;cA%y$r4bJz0`ktWgnG9Na-sIDvO>%l$;w9BLL7dR}6Ov zWuC<79n8d#yG2|w8-^^y{^u7ERXm+jM5QRFKqZ&c0aUY!s1&6XsN_;QfXbwZN>QwU zN-kCdsEmrJ6om??Ol|1WQNDqcDNbIyTt4xDq~oCD_^ zIOo7Q2mbqTAaKfOZN#vQ6-NM-%v%DNnYaAaro{FOobnkP2_k9_4;yUOA>&pww19|D z*vJtn8Ic5$iV;bI(8(dwk9%RbN0y1!sK$^t5pulNd z5s{*+1VnOINiww1X{?V(;(g-<6?Ush6DI^wMN~?T61js#rB9r9v)o4|dN<@1#a^9R zz#37+qtYc+FDY;u?&Fb25~@5E{bj(6j3Qo8&?TSnv`5_|Eaf+N+L-rm9R*`4yY3@5Wod- zJc@W!x^#vlE%ot8BnjDKMM(nu3`x3Q5s{)K0nr(f#2<5%_efEafC!RArgX6E*iQX_ zo$+lN)9Xzx{O|nFIS0-;aL$2q4xDq~oCD_^IOo7Q2hKTg&Vh3doO9s6lmp$FsVU8+ z@J$-6{=WPCKDJouTs+F<^Tk}_Vxw8D=N5`(HlJ(U%{ZNAo5gK+TWxmx;(jf^QOV}& z7a8}(5w2Vj-yWm|)fOClb}rf-j+7jZuP9mFi#EobdccMtf@R+6n0Gtpo#uHf{%xCg z;?f)IgS&<)&Gli8#(?h3G3MKi3Q)4JR2 z{Z@Y&9_eALQDDpEY9V`np8Q_SRLd8pba!2-=h!Ui%}O1vXgJF_@b(>(y4&unRcoyh zTMsvL<;DXR94<7wQStA@!DH9FW8Pw$x4R#78FaU$YbCa`PTbs$da2NC)*AQReRr|4 zS6$qz=Ng4hb+K5v`>?*S%QkY^g>3b>QmV4q8}vH+g>td7mdg_=l=>za8RJ3+z&yj1 zglSjK>h8Ew#vbdU`TB94^GYDk@%&5{2&HN%YawamTgG%t7xoCh14_?0-R?#6b)!1# zRrDDihqu7i^Er6e=BsqNOIKz4Q^kQ9Oo4MmcWauh)qd=u_8i*LJ09I)OC`!nI#hB^ zsU4pKpbWKI=iT_p%v+q`tkpj6Knto?T=N$9yaRqdJbX7P_;=4+%=3(G-esA$*yrtz zd52@3am>5$J~QvI&08@qxaSGgI3zG&1K2k2#>_eAZO(ZY{$u9tW?ZdjBa=6e2!ho$ z@3PO^@D6Uw#LNPM2m%nHFRpn86HN;iZ1WDBO*7-NCWmX@hCZPqc)>akJQgYs_*e^0 z7=bMMjQ){Wgbf`75u5}DCNo~fljsx>IY_|5jWIap?TA@0^ENyI(w2FLW!{RKB>X*Z zH9t58F&H!bHCah_n*Po7J=3>L-!T34^tYy8Iz2!2hf{^A@yR#i*8eXXo@cm0|3Urs z#P=p%HDMY5)Ocy!F!t6l-{@bCJ~Dcv?t{8*-1PT~k-N2jq%CU4HE$va|C9c(i{qN~ zeIxhz+qG&XS7|1&%#ziET;+k3do5ecg*KPB_Zx+9+aAc~Eb;V%e53_;h@qszh7V3# z79BQAO7l}(3l1ydSefM>8!5Y3blS}+c0r9qCbbeS9|V`1)unc5HI?6N9wscyG7`8# z+IbISUbH%FDa}vv#K~bEd~^|C&9*JtT$U6&uSR0)D6`N`Eic*GW;~T_g-hAydiYpM z0;h%0UAtq^;&7%kFA+#^r?fCW=c3#0NU?XRkzmS=L(hIBUsx*IIY)@%k#FHSiWW5KqnT&1GWnoh6B{dR_lXTu`50}#3_)^fZT=OrrcQ!&Y z63%-p_zt>t(e84mG%w^ykk5!)?_n_G_C<>Y(|xBJiPh@X?#5cw5_c_F_ty%m$9t8v zgiNA<2$4hd)$RbJUci$e_ti;TF5f{&XcdHZC$hG_T8?e_H+I>uWz(CAvQ??j;u-+R z4T6)7MVr-~8s{iLW@(M0mAQv;Eiz8<>2|e2xQ;_Edp*!xU5gz!GsQsTq+G0Ti+rLK zP|9Vs&_JW+C-^~NS)lUEib(=(h}z}b)CO^IXb!uUe0!Ny+h(SbGIy5Eu~J4PfoldV z_n@yBgw<(J?eP@I#bRQEEp_=;H43%xs^yrC`}X(OL;I^ck=^ZOpQ|jTfUaU~W8t|O zOG^0U5Vt6KmmkzM0<(*dm#=6X)sx1$;FXY+@|X9?zEy0wnkr z%*4%VBheW3K4n|^RP!j_S@YzMj>4H$zt8EiE=WmWbrI2r#M<1cHcx?6W@09=CLP?$zDaEm ziM{<;ChbkG9jza&Y&F;8Wj0iZN-2=?GN=e<(Pqb*IOX|7mK{XEb&th`7F&vasv3#I z-DYmt<7JL_qcLxeDK%jhIa?wL$R%p(NVy%v$&u1@c@nrWNz!6Zu{Wxbh{tV5jKdRX zlswz6dS`Rncf1Trh`_{#`vtvqTTIEUA{(*g2!^QRSCt}RymyC%>@F>D+`R> zCs4rWI*@$P`l&t9f(78aHpcqAo{L zT-M~1BQD4)O7daaxKpD71$v7N`PQ>*(FK)q`6@LETkTcflE-IuhqBIyXJgG*&3GJ6 z=@`h$qGE3`yHn2hed9Xp9*kC+kO;4&(IP{fw+fE;I><`5{?QAZ&y6-e+ z2PhC}Wnj+RQztx^z&^Tba1EefP@@n$$ujI#V#C>9urzG3kk{b|<+o%MpfX^-Iu`AW zGj)|P254{MCJ`}qV)whOSEF#`Ze%h$k$tAM+etdY;nnu;Q6(&+fK`R_J%oZK)fpHA zh(NcRA*~Z?6zrv3>B#1B+Cn*dyl_-#uyx1oiHrhK8So_*tr&xhf|-l~@dXRnfyUJ+ zY=mOfX5CZSTR8G(YV~Y+_c$LGcOddX9qa+H@UW&CS8A8%61hGFn>5{C5d%tH9#f+b zs)UlM_;S#dTrsy=?XbVqSV#oLF@OS$Y;HTYIa3b^T;dxTD=H8`L8nHcc;rZ|gd@p~ za4}dr@Ry=4+g?zjy()hb{{K$6>!vrD zo?-mFv2DD1<~=iO=l(w*VmSBz&;9>%|9>d*cJBY5`~PMOu7ZSxMQw+3|G)CUx&MFe z|I;M_=Z`t}{~tK_|NDV~bN~O`|3|v=-2X=u{oMb@0R-O7C()|^@BM$oRwwuf1IYxC zC>e6Ph#I<6od5qa;{V@k{H*cFc;(EyXJXUen112(?Nc9_x;*)RCSN=0Gcr{9&Ep>$fA-k-$6kZm{y#lh!Cn7v)A@1J|05$eXg{Fc)O=g>GK3YL)F1XC z67f(<_V2D&ERBVwEx%4ifke85|qZ z=|KRkzhRa zY_+`0xyohN}L4iX@UW+M}CMrMRfs*$j} z!anA}v%i<=l&#)KIG$PcF}t$qM#vQbaIgchIL)sJBxp#U1kBBg7Bb!IY9wq+tT(zJ zSPA6J=Il~>vsODy7B&V*AQNx3W4ckY@K#|i5D29CNF)nMUV%-hk;rDs&OkZbtXY$d zy#sb>;N zDG8F&LShR6Q-sDfZ{|s06p|K9cT9~$Gw<_8m{8NXZEF`I`J-y1(lLv1WrB$07HPhV zL3;L0Jc<6D)=+3D1h89EY*dZJ(oV$XJzk3KoNTVUH^YHwHoujU)Y(wE0TrxaJ5eCN z#FHSzF-1rtxG_G=MMRB+%a>bg?RtEjdZvVAO&Rvz>R z3IW`Uj2V0isSTod)H%sy!|}$d_2k%luwOdbU6Lf#2saQO2cHn)w?Jm!$dTZ_@Ql61 zL8@acNQSXNH4>ZF!bU#oEf!YXm4+|wX`5S#B{6Tuks!4RsN})=()bBSAFIDXJNQ+G+_G9jiqL@G>h)7-#x(Ix7rH-T�Df#{c052wqibz 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 wUY;B@Un5H#b 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

?S}))>Rn@g#z-_9kYrTLiQ+2Hu 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

Bb+P~`i*ds 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

vbw%xlLK_X)G~$R?e1E$9c4Dy>G{f`gY@O5 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 KB&3F7BA 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⪚}S*3YO`VM8Jjtsd>? zl2(uMGpyAk{S0aK2tRkR>fyW>FR`N4!)Eb)s~$RwU$yEXv-qA>5BA`7nXP)z?9q3u z>S8Q$b*UaOi*H+X|5^O9Rrj04FIsiqS$xx~`*<*;)xBr&uU6e_7XM<^J!kRHR^2j- z|7_JgX7Nu}{mCr;(W<-8BLAPPy4$S&qg8jE#Xnfp#aLoSt3RH_-&r*~i~nHN%q;%a zs_9w$ja5^#_-m^=7)z{ZH8G37vTA%5e`(d&EPiIyU>1L2)#xn#Ja5&=tp1%hM}>aWjY-KsyF z#hO)rZ5BVZ>JMhIYWeEUvzl7<`?Hu>^;c&xw(9q0F|z7+XEC%Yc<@UcSQR~pzE#nK z=vfs$h^|%fgXmZlK!~K5ivkJHn?^*?2hRltY1&nhPo`6WiP z0zW*u$13tb#$r?N$LH;x?CZ+wddR!+fMpu ze)nzn|NN%C<-jNY@f$a9JE>;ByX{Y2p8NT2e|zRPe!B55HvGYc@rKrhm2Eft<;Gvj z|7gSaHhgQtCjP1*|I-#~Ni3=@(2`h0TbL!Wu(lveV!K$&#R_n;x)zEf*_*$(D;1@EM+#gB8GJ%fSk`ZL}P$fZImCx)zEf*``w$XC20&W{E7c1bl(Q>f@ZW}EZE8w=#a!^Vqg7P3b<~xT&#fWM$5$txNWpttN^&8qvc`++%{S+R={ne81T4pzWzqxC)iP!0GLPs_y$xNfvutbprA%f$+~ zZM0mhfZImP#R|A>v|Ox!+eXX93b<{wT&#fGM$5$txNWpttbp4_%fSk`ZL}P$fZImP z!3wx-w080j=YZ=*%f$+CvgKk0IN5Ts0-S8QSOHG9T&w^mTP{|BlPwo3z{!@272ssc z#R_n;0$*q*>tf2 zoNT&S0ZukutN?h(O&2S`$)<}Hz-064S$t|u2P=Tdrh^s0WYfXQ2V6IrE>?h( zO&2S`$)<}H;AGRq3UIRNVg)$abg=@QY`RzhPBvYv04JL+R)CXD7b}3tCSnn zlT8;Zz{#eI6~JWE#R_1u>0kvg*>tc1m~1*&!FKt_t?6O~IN5Zu0-S8RSOHEpU95mh zM$^R#aI%S5#Dms^EaCxcVis|~H9?EG&zh)3+-ptPBJQ!~!LzvAnz+T2yQ~RZ#GQF- z9x$srthxUzZnq`~@ng4H6NQLdwdo86d2KpF!7bW^Aqj5QCJIS#lQy^bd80NlNP-)* z2|*HEuT2D!;5uyrkObFi6MrPQMw{>>!PVNFeGNUhN}J##!Ij#?9tp0{CiF;fxi*nU zg3GiCJQ7^0P27>-5^chc1Q%-)btJe*o1i1Xh1$d%2`H5CIi#Cx& zf<3eeBoh2Yn>ZrD?%ISA33k&aib$}lHZVkjoHigtf{Zp0M1r(707Qb6Ht<7&q&DC~ zg19!&gZHVJHqb+Ys5Zbuf`~S-LxQk2phJQMZ6JpPyI8~Fh_ZbRha<}NHQbFTpJ{8j z8&S5e;ci6PzJ|LIW&0ZLMwIPqxEoQnui1BXPa4($5u$Dl6d`KXfDxi< z4ICjV)<soVNy)P$g?%39(`gFd>T8Kog>14LBi|t$`=RSJnU&;!A5F3h{+CAcgqc z8Vj@d%o>=&lTWPyD#Rz&Ko#O+YrqQek>wk}LVairWFbDV2DA|GTLW8&_pAXf#Jko& z7vddjzzgxVHSmRa%NhVfylD-DA>ObC#1OAr17e8RtbsAatJVM+;uUM;VTO9y8aP9| zWDTGpUbF_%5HDB*YKZ5pfi=W))&LvgS!XS?eey(VMgmLK3}E>lh@_8?+8V61`sQ2qe+#v<^TLy;ke^BhhQL z4nGpTTI=Y;KlduFgO5b7)H?P^^a`y*k3=umI`T;LGOYuTL@(7k?nv|!t;3E)FV;Hh zNc1ADgN{Tm)cP5IUZC}@ex9#&#F6NES_d47o~w1dk?1*EM;nQrt#z=GeDo}>gN;Pb z)H>Ek^bD;-jYPL<9cd(by4Hb4qNiycXC!*6)?r4Xr)V8zBzm&eK}Mn{X&qxEdZN}L zMxrNZ9bqJTyw>qWqQ_|+UL<;~*3m_x$7mf~ekjqSwGJ*4Jxc4?BGDtY4lNQr;_F-0 z4%_B_u<^-l`Jdl(`0PUU{=bqZ#;^!9aVvi*D&@S{y;wRcg9!c!3 zUEq<#Zra5iN$jd!*pWm|yQm|HjCN;VkV>Sr3p$cWX%}-Ok<>2aNFuIX#F0cyyMQB! zsCMB-5)tj9jU>X_1sh2$XcucFv5R$`nm8-hb!y_QT-T|IvvOUhCeF%rotii+*M*uq z^&RWFHF0LH>(<1XxvpCiXXd(YO`MhMIyG@tuItpqS-GxL6KCbRKbXb8Sa;`H{IhkP znm8-hb!y_QT-T|IvvOUhCeF%rotk`{nd`bWab~XT*2I~)u3Hml=DKc8oR#Z3HE~w1 z>(spC@YR<7&R#PiHt*R6>& zb6vM4&dhb)nm9Apb!+0RTz763e`H;!CeF%rotii+*L7;*tX$WriL-KDrzXzIb)A|x zE7x^u;;dZ9sfn|49j7L~U4CjEw=vft%-BP>s&vJfpwgkI4jq2 zYT~S1$Ek_4avi84I@ZA&qHP_pAzIc!8=`3)xFH(W!5gBUw+`Y^HS0hQQMC@{5Ebiy z4pFua>JTOCzz(ru9oQj?*1;X3U>)EgmaT(4#8=jV9^y;uU=Q(yb-;)C+&bt(d}jF$ z{!pJ<2Y`rAtb;(r$JT)$;v?%|5b>dPK#2IjIw(ZEZygvS-m?x25${?DhlqEq14P8z z)Knwa%7VJYpT(;mO0+0UqKZ>mU#Dpmm^!c)&W?L)>p2@FDKA4*C$k zW1XxoSe(7<;16++bpVLC+d2qD++`gIBJQ*f1`&5y2ZV^*t%E|uZPtMy;#TdrL-D+J za7f~}Xa|NQezSH^Na8nX2ZSVkqjoSz;x}k#c7uvvuN?%E_;uO=Ac)a5+QA!%AE_O42j$B zObm(J?o14c+wM$^`$pTHi6L>@orxiF+ntFaaoe4VA#vNCi6L>@nTa8B+nI?WaeJ#r z9*W!UOpFUh+ntFaaoe4VA#vNCi6L>@orxiF+ntGV-)OrtF(hugGchD?yE8E)Zo4xv zByPJiF(hs~GchD?J2NpPZaXuv?eYz4yE8E^9Bp?dhQw`mCWgdqcP56!ZFeSy#BFyb zhQw`mCWgdqcP56!ZFeSy#BFybhQw`mCWgfA{buo{wVjz561Sb1*mj@it?kalpt$YM z#E`h{&cu+o?asuIxb4owkhty6#E`h{&cu+o?asuIxb4owkhty6#E`h{&cu+oot?$o z)^=uMNZfX2Vo02CyE8E;Zo4xvByPJiF(hugGchD?yE8E)Zo4xvByQsj@shQHhIrB1 zNJG3}ZKxrhw>H)g&siI6h-a<6FpFobjW#@anhz7ap`Nlf;1JuajX1=U)`lG732S2x z@wl}?hj`4|s6#wzZP+0mu{Q1y4_g~}h=;6=Jj8?6h92SpYhw>_zqP@KxX;?({`$l8 zUTeb-kM6NH{t$Ot8-R$rtc^g#oz{jR;tp$L5OKS;L5R4`+9*Was%>W|me;m36uU*+ zFeI^?wT(g&yGh$1B(WQ`jX@H-Ui0mZ9@l9bfh2aVwgE_D*JvAmBzCp7;YVUuX&Zec zcBQt#M`BlK8+#;nxwfH4VwY(fc_enJw)hoE>=JF^j>In37VJpuB5k3L#4gkp=t%4W zZ9$I2&d+NLawK-1wh%{R=V}XZBzBIr@J3>1YYT29c9yo#Mq+1b3v48IhPJRqVq3KZ zH4-~rTSz0Z)3gON5<68}I3uxBv;{K~J6T&GBe9dTg)tI4QCkqh@6-v}f*6S%uPua; z*m2qd7>OOLEqsyKG1`I`i5;yibdlIm+5#7e9jPsBk=PO1f)gS=_ zf)$A!qAgUB*umNY6^R|BEliQvf!cx;$;S@R7NkgQe{CU(#P-t`ph#?AZQ+T;_R$uc zNNjIyp^3!y(iWIVY)@@riNv;O3rZxmhqi!3Vn5Lqj!0~GZNZ4dcGDJ$NNiVafr!L% z+QJZtWwZq$ixNv~3qmB8(iVb9EU7I3kyu@Zpxfpa0qXAI?wa+w-OQ&*tCdF91G0|GV?|%-=G9_58*2XV0HJf7JYe^IPUK z^AY}It?$l%bAIFeb{qfe#(&)S*ZikiYuhfYS$@Z#&h_T1b6?JVF!%c0bKCygBXj?p zKXt>g8xGyD?}ptsq&6&V_ST9VpZ2cRXXy>x(ClG;-TkR_=F8@O0WMtk5FGwS;`aI%uD_Q1(Xvf2X| zE6HdNT&yIcJ#ev-jP}6AN;2957c0qV4_vGyqdjo3l8pAi#Y!^T0~agFXb)VhB%?iW zv677TAmo2ANV3`kCo9Qn51gzdt37bBl8pAi#Y!^T0~agFXb)VhB%?iWv677Tz{N^3 z+5;CW$!HIDp2gqTz{N^3+5;CW$!HH;tR$m7K&(9Vmo{*+lC1W?$x5=?gKy8`&u!ph zB^m93io=sV;evhF|q-65knh*7csB_dJ%ma zz!%Z80e%r(8vq#5vHt8$pJ%oE7{;TP^+AkiS|7!ThV@~Ls9PV$h?@0rjHp^4$cT#d zk&Gx?AIgZ5^|6dtu|Aj)MeCy(QLsLo5zE%cGa~<$^%0Hw()y4_d|`b|BR;o2s1cu8 zAJvFYtq*I&C)UR`;$!RM8u5|!fsOdk`p8CnV0~yK-nTxs5${}dF$gF z^|ti^j(E%Z2uHkW{jIZj!}=J^ea>Q%aM>*nE>%$!JiuG}hc-i_mN4#Wxpd((i zKGG2{SRd+$=dF)*#B-MKqaF3E_2G_q#`<_iJZ*izBc8H8;t|`d4|&9s*2g^J3G0I% z@woL-k9f@butz*AL4H70}yeS^|#F8PU}MuPwucj1`)SgAB2e8tdBy(t=e~nl6mbrL&;mT z4?}rL-mLwsKe$QzASB5fwU0rPyg~aAB+2Wwk3f>VPWu2P$!oQbKa#vg`|u;ltF@0l zlDta$;3LT^wU0fLyh8iXBgxCPk35pRO#8qi$xF2#^79hy``;9lt7B#~VqWqkXuM$A7vzYvi3nnk|${&VO?5#a4k>p<5gAz&ZsXZi-&m~DPIX#yo!Q}K@k_3~} zb4e0RPR}7pa8K+xBnc*`=a3|roZi-1{FU__k_3y>b4U`~{VZ=imn6aD^jwkz_r#t{ zl3;RrE=hvP>A55cCa33;B$%9@OOjx6dM-(V$>}*H2_~oKkR+I#o6dB}p(jJ(ncG z&ml=LIX#CY!Q}KDk_3~}b4U_QPR}7pusA)3B*EhJ@-9h&$?0vGMZRpC|D0oh-K@+3GtQn@Pzo%dI{cb zsV}StDa7a2!xZ8(>wyaKsr68W_{4g!LVRpJTp>QP953C0*#QWA;n8kb6 z!xo;rYdvrw-mxCK5N})WNB-xZ1e4PP7~)OqAq??`^&p0L-Fg^9yk@@6(t40XJYhY|As)9L=n#)t4|Rw~tp_{ABi6$m;$iCn5Al%okcW8CdeB2W zU_I#BKA+&C*aIIP-Df@YA?~#v{1Eq84}XZetp`BFUDiV&;!f*95OIg~Fo?L_x?jIF zZ?i56@#I$RIzx%PcAcTbE!u@4N!+Ym6q3YE+RdYoByQ9$21()u?Lv?wuGcOCN#Z)~ z0+1xG)h_->;u`J3k0h?vF8WB~D(!-gB(Bsh_DJFi?Lv0*@pv)h_Nx z;u7t`jwCMDF6c<&BF%R}M-mrm7jq{rA~_3dWb)Z0z`@8NRXOmuC0IZeN<+8*iD#cWvzUrP;l)+m~kd#%^Dl-5a}o zX?Aby_NCdqvD=qs_r`8tn%x__eQ9=Y?DnPEy>Z$A$vJnarAKC~8i4SaqgT(tb0z%?F8zCW)f7eD>NWEhtFeKi# z5gHP2*$57aH*JK6#2YrkL*jKC0V465jS!J|)kcs=yka9vBwn@=C=xH(2o;GJZ3K(N z3pT<<;`zLdkdb=MMq6j`tc|ddC(qaj9EqoGgpR~hHiAcDn~m_1c+y7rNIYR9fFvHb z5keA=*$5(uM{R_W#3MEWN#bD}p(OE;y*2_% z;vO5JC2_Zn;F7q@MtDiwX(PNO?ywPH61Uq3F^Su31ewIGI&w49c^&P`yM?50(a}DB z-mD`OlJreF0wGD?s3Q!L^bI=N;^*}`LLfH`FU!f!Dk@V#{LLNz9rlYi2r02Hb%ZsNK0`;l__Em>SFOoi1NAM!)V|0Wrl0I5T;3DaxbObGuK2k@>BIzS^1T2z1Tt~Pf>BD#%;EJRV z)e)>n`VbwVilh(L5vWM|ARS?fqz}{)q)7Sz9U+RO_tz1iNP0gV;fbX8)e)RXdLJEu ziKO?|5tc}LFC9UNr1#Vjl1O@sj(|kcd*}#9cpvzQj&MZMyXy!>B)yxCP(;$Z>Ig(6 zozoG9NIIj#+51XbhX^9+lnwzz(n%e{hos{=L=Q>FbO;`jj_MFQBpuNqbVxd^L*$V3 zf)0U0(!1Eu-N>i7^bH-36x%m+I8toi(BVk2eM5&M#hq{HaHQD2p~I14`-bjDitQV^ z8!5JL=x(IgzM;F3V*7^fMvCnlx*I9BZ|H8M*uJ5=k;=1uLx&^9_6;456x%m+I8xmC zh7L!H?Hf8ADYkFuaHQD2p}Ub{`-WR*@pm?KH&Sfh(A`L}eM5I6#r6%|jTGBAbT?9L z-_YGiZI}Nm8#){*wr}Wgq}aZp!;#|7H*`2sY~Rq~NU?oGha<)I4c(0t+c$JKQr!85 z?na938@d}Qwr}Weq}aZpyOCo1hVDj+?HjrqsqKC*Z$pP8#r6#yjuhKBbU0FM-_YSm zv3)~_BgOU&frFUXaNk*sZHOE^8QBmzh@lO!gBaKlJczyx(SzvO5I%^m4e^8MSbm5g zRNICSLbPm%Aw<)LAVM^3h$2MYhA=|ZY=|R7)rLSqRBQ+&MA?Q&LX>O>CB%viv4kkv z5KM@I4bg;HwqYJmsIP1YD8!dGL=@r+8$t^4xeYOe_{@f&LVRjNR3SdGA*>J|+YncX zk8B7m#D_Kn7UBaNA`9`p4WWg2&xY7SylcZB@G(WbW5b5MYQmZHO?$ z8#aU(;&mHh4Dp%`L56tMhA2b4VndiAUbZ355HHyfXoweW2sFeCHbffYc^iJy|NNC= z`-WgcJZnR=A)c`z+z?OO5O0X5YzR2SHX9-i@uUqQhj_w>=*AA@~sY*${n*du{ObZ`D0Ez#pF6Z36%z z?y>;_5qH`Ef`~h8fI-CVHUJ^wHXEQ2ajOoTA-?a~z!^&AZ_xn`N$O@Dppc|)(g6rb z>P8)4kfd(V0R&0vdL1B;q^{Ee07>dv9pI0ouF(PfNa|`GppT@k(gFBL>Pj78kEE{9 z0rW`favdO#q%P9|@JQ-X9l(y{QHu#fb&d|;Mp9?%0Bt07mJYy1QfKM_Yb14s4xmO-TXg_5k~&=nI3uak zbO1AXNu8<#n32>eIzSmoovZ_pk<>{#z!*uLr~`kNgb;L zc#+gGIzSgm9jya!kq~9hZT_#D|7r8zZvOMlf3SJ7xwE;l`OD28Zhmv~i<`G?et7deoAaBm-F(^R z^EPkYe8T1-#BdB6+ge})Y)Hld~w_F)V{H}?ZcnhVkGp9 zU;D~>ZWCxs8u&D%S5fZ zX;~&})lJJXQLAoRmWf(*)3Qv|s+*Q&qE=J>@tI|!Rvoo06SeB7Wtpf|M=i@ltvYI1 zCTi7D%Q8``Zd#U!T6NR1Ow_8ImgRc3>ZWCxs8u&D%S5e)X7M++>ZWCxs8u&D%S5eW zTAunVTXod3Ow_8QmSv(=9knbIwd$y4nW$AqEz3l${$Lh=W~**mmWf(*)3Qv|s+*Q& zqE_9sEEBcrre&F^RW~imM6J4MSte@LP0MGwo~=4+Ste@LQOhz>tBzWhiCT5kvP{&f zqn2f&R=+umiLJV6S*~ZRZd#U!T6NR1Ow_8ImSv(=-Lxzdwd$s2nW$AaEz3l$x@p-w z8@0M|_NZ;Ej#`$9T6NU2Ow_8QmSv(=9knbIwF+uP%~svCEEBcrre&F^RW~imM6J4M zSte@gre&F^shgH%qNZ+ImWi6WY1!@a%Qkh?vP{&}QOhz>Q%5b!L`@yFEE6>aHR3ay zq8jn3O;L^b#HO%Dd~8!(BR;Yzun`~H6xoOmYzl3}`!>Zk;ys&!8}V-5rtn6+V^e%1 z-nJ>g5pUTP;fObFdciE-uqnpzQI2@krYJ|eVpEtSUbZRD5ii*k=!h3> zigd&aHibIkdCO11j(X0fXh%G2Q@A6Zu_@jWPumpmh^K6dc*HiFLLTv?O)-yn!ls}{ zJZ@9eBObFU>Jg9H6!wTmY>Iot!!`vz;vwEZ&__LJQ|u!iuqpTv_uCZxi2G~`f5g2u z#XsU6n*tzlw@nd{xXY#o&Eig*VjxfMuqg-J)DzdyY=wMzUw?6m2AXmQKM&vS;cPYb1My zPN7D!TXhOFl099gI3wB9behK*$)2iHn33!$Iz<`Do~%=lk?cu2-Pz9*bqX<(Jwc}k zBiZA13NVsAPN(=H*<*DIFOoe*r|2Ttqjd@{l08bN&?4C*b&4#KJwm6zBH6=riYt;m zO!HG*k?f&5g%!yjqEl3n?7=z(70Di?Q%sTUfjWg0$sV9nM3LG7CcKr1@7cr|$uLC|XC%WEO`MSoQ#5f!GEC9L70EC~6IUd|6ir-_3{y05 zMKVm$#1+XfMU%WUl3|M`&PawSnm8jFrfA}fWSF9fGm>G7CeBEPDVjJV8K!9BjAWRi zi7S#}iYBf|hAEo3A{nM=;)-OLqKPY#;kGn!MKVm$;*4aNqKPw- zVTvZsNQNnzI3pRRXyS}yn4*a@lHs;A**c3qwTUZ|VTvZMNQNnzxFQ**XyS@wn4*a* zl3|J_{;fKw-?xb~l3|J_&PawSnm8jFrfA}fWSF9fGm>G7CeBEPDVjJV8E#7xS0uv} zOfF~ zo_uH%U?D!R39=CH+XPy+&*a&n3Apg+U7Mf_@s3U4g?QU0_(Hs86M!M!v|o1hHwicMgKc-bZ}L%d`YoFQJc3D6Mv7il3E&XhY=St%lQw}I;t88z4)M56K!y*BI))v|T&!c%k<3Lp1|7*KJAubBc~pMlvVs7-S@Kl8!M(GAHU7VkC2djuA#O$LkniBy*gO@kKJn>KI-mbBvBp z^7CjNV~b>t(lNA1=13hQi)4<_F|bHJbGVLyMKXu!7*`~7sE%PpGKc6GRU~t;jzL8- z2k977By*sSAw@C==onEXv%ii3MKb&87*8a#ua40~GW+NlOeC|nj49uSLQC`_Gat; zFP&pT)*Zhb6SD63<(QCl$1lf(tUG==CS=|5%P}GAj$e)mS$F$#Ovt+1m*Y0G?)K%F zkaf2&$AqlAeK{s%-R;XUA?t2mZoB*+*t+AFV?x#)zZ?^??)c@Hkafo|$AqjqemN#& z-SNvYA?uD`jtNeHFUN$e|N1PNw(j`ln2>eHFUN$eyL~w(WZmt{ahq9p`*KXk zy4#myLe|~B922tc_T{+Eth;?VCM3V^_~n?8b;mEqgseM$IVNP?@yjtG>yBTJ30Zgi za!km&eHFUN$eJAOGPWF7m6*KK{nEMBv9^yA5^whn*9 zE4Ge*#LKn@fW%9-hJeJ2ws!N^k6y4f5aiMGwuXYlbG8P9#Iv@BgTyno286`ZwuXen zQ?>?$#5P;QLgGnV!$RT-TLVMlaa%(};xSu;L*h|e!$aZ`Tf5Bv^pfK`vj&O8L$-#A z#Dlg5io^r9hKj`fwg!vDeYS>+#J#o#jKn>*hK$7Bwg!#FUABge#GST=jl>5O+$!)d)HM-_N=C0N?2Qqh+uDOr7D|O9%%w3^t?qlw9UGvvYl-y;y=0N5y z)inn)cZse!khzO>&4J8aq-zdj?m}I2AafV!ngf|TU)LPS+RKLYBzL;50gdEN)3q&ro~mmwBe_#_4P_*E zvaW%Q24YsezG!~Y-F?lVl*y3F@I_rm+`UTbyta>g?=I-V^$&KBGRL4wtl z!&60*a}J9nIU_j~86*k_3j=}?6hQ&%?*UCy=N zoO7L5`_=Qkp4P?cus*-~cXxH`3b4rHLArt~vUs4bz=|v$pev{%i~H*esL0}ex`HXP zxTGtPB8&U#3ZlqjPFDa$7PGnnC$bpm3Yy4bMpwW@7Sp!H>&r-Hi?;`mf>H$ohr3hqXT<5OXJdJD0A1&1TV z_7xnC5ZhO9I6`b+!Qlw8eFcXj#P$^~nnueC?na31E4UjWwy)rBgxJ1onf60&;NYH&%cS;@4Kd4&ql<01x7qRzMHp7gm^_-a>3&0YJF*b1NVS@iQwx z2=P-ZUVg?PydkV3p@1xz8nX9Z9pUa$hH5YJlyR*3If z0al3Ttbi-TcdP&`#IsgF7UCHzK+A@Fi0vzY3%8!O0=f|2vI4vi-?Re05KmbFV2CHJ zfH1^2tN<~@*R6mt#Mi6><|xF0d|P|{Z;@T>OLzV4{@&*poh4}3fM#3Z3XZl?y>^<5O-Pueuz7)fIr0T zRsbO4HY*?yajO*|h`7ZH7)0D`1rQ=`vH}VbH|DkA4u!ZnL!leA07DYGUJEEBq3g5& zLK3=G3m7D!YqS7C61rLo2qdAav;aU7x>5`HBcUs_06!ACTnp$Uq06)YJ`%cA3)mx} zOSAwz61rFmz{7v{A}s)qgf7$q?nvkYEx?Y1&evtsk?tl`OwL_ z3^WotNtba(LMQ4n%t+`2T}BxR9k0tEBcbDT8Dk`LtS&>0gpSc=gpttEx(qN9I!c%E zMM6jFGQ3FW2wgtQuZQb0wn*qOU4|A39jeR7BB4Wc8CdcXI#`#1MM4MZGOkGIKwX9v z2_2xzs3M{Lbs1D7w4W|xiiDPQ8B!#)uP!5sgmStJC=$x*@^O9*bQw(~l+k4{kx*Kf zu|z^CU4{|~C3P7|B$UwQBmA?sp|~ysiG*Uhj3W|?>N1Q-D5A?KBB8J@gNTF{bs0k> zw2v-Bh=lgmWdxDXUb>7Q653Oj;X^`u=rVdpXm?!(4+-t2%h(~IU3D2cB($?GBZq`` z(&Y>vm=fC2mK}~y{I7GH|L$f!Bp3egg@0c7yM^IGbD_BKn}we)yuR?_!ZQnBUwCZc z;e~q_ZdHO<_PvtZ7U!Q+${^9w1=Wm<8e*SX4tMZfcC(ZwV{GR9!{Qv)==xx7ybLKzt ze=)mdc4p>3X8v{NA7;ig?V0k-Z)bi!^9E0m`_9ahGmp<~o4J4Hj+y+-l`|L3oHes` z=9rm7X7-&)%zR?zV>3I>>@f2eGh1e6>_6;Z?H_DxZR1mVJf-{%d)dBYPuk*mt zX~`vzT&pFQJaUbeT=K}(TDsh?S82&5k6fuGmppQXmK^fP zmppQ!mR$1430iW=BgbpWC664ZC6_#Mtd?Bz$T3yfxYYE8n5;;suE_vioExF{8L$u_QM-JAKOCC8$OD=ijKrOlCkpr~kl1KK}l1m=h zPfIR&WJyadd1PNL0g6O&TEY{FWVHk*5(%_~CKAbL2}~rC)>6_ZCX&(;mPjP2B`A?d zLQ6;@k+_zCL?SUQ;fO?{T7nUYM6`q=5(#SwL?p7PB?ytoK3YN$iR`T<0FlUETEY*B z?5QRAkjNfdLJx`Tt|jo0$ZlHNosU0>?5ZW~kjTzjf)0u7q$T8#$c|QWIKmveN)AVu zV^_)H2y^Tzxf@}QT_txT%(1KFZiG2@mE4Um$F7pQ5$4!cayP;pyGrgxm}6JT-3a@y zC@(o2Va{D8ha=3ntF*&3{=1bNjxfirlEV?^*i~{k!W_Fw?nannSION7bL=X)8)3d` zRdP4N9J@;HMwnw)$=wKZ>?*k%VUArTcO&e-qP*mAggJMW9F8#Ou9CwM=GawoIKmve zN)AVuV^_)H2y^Tzxf@}QT_txT%(1KFZiM-iW69kJbL=X)8)1%JC3hptv8&{6ggJJV z+>J2Du6)Vi2y^Z#IUHfmT_uMj%(1KFaD+K_l^l*R$F7pY5$4!cpLj1^zFhaa(MI0gCup*EUKeQr}5U*SDoIk!E zKd>U0aO*WIq6zV;72$;Vz7_F=c*Tl%%C#J8*nFT^*kh%dxb zRs>S`l!FZB|4a;t?xC4)L%RF^Bl96_e9= z$chOfA7=ZCu*1t9up;gd_gfKoi2JOFJjA_LgdXA^D`F3Ew-v#MxXX&@L)>Xa_#y7F zBK{D!TM>YW+pLH{#I06@AmSD)V$g$QkN624B0ASB^ywTM9yzDA1>B;l*Ih(Hp)N{av_;VZR>KN7w|i|`}i%e9C;6244} z;3MHnwfG@E{v>>f7NJMN7i)0`zh0z8;F0i!TEra*U!X&pAr$x|_@VQ#V z90{MJMaYrx*;+%@4!z>)BoTErU(pP@y#k?`qS1RDvTrbVog@Tpq#pXD#%Q?v** z65gssq>=E+S_B#ipQJ^ck?@IHgc%8+phc9C@bOv%83`Y!MU0W~v08)}2_K_Hgpu&k zS_BvgAEiZjk?@gPL>CDkp+#_!@Znm-76~7w`69MR_)slEi-Zr+)#+R0U|j_k2_K}Z zxFX>Lbrn`5e1NW^iiG#qRZx-ee!7Y&5?<0(NRjZqx(X-~&gm+iNI0vja3bMASJ6bm z8C?Yv38!@xOC+4i>nfH=IH{{pBH@ItB8i0Kx(Xx`j_E3nNI0siFe2fIuA+#9!@3G0 z5?<8RbNsrGt|Ewp_tsSak?>x+iXRf*Q&-_b!h7f{dPsP8T?G#b@20ER!N=IHx{4hV z-dR_nL&7`h>Q=w*XsZs#BHOp>a4fQYs}9E^+qZhcH2zOpbvG8-zEyW)k?mV`Hx}8x zRd-{N?OSy>7TLa4cVm(5TXi=U`IO`85xlkeB>VrcRfl7d?OSy?7WtIps>89!_N_V` zi)`Pj!?DQrtpW$}_qOV8EV6y8?#3e9x9V;zvVE)W#vTWEueXH)qBHOp>ZY=UC z$JOlif95r^Rfl77yWxL+Y0!_D=jY$Q@E(3b%J%dBHvdmN^{zi(pI@2()%;uYug$+O z|1?j&`@;M~^LNkRGJoy-W%K9FpU%_oj+j4SJ~JPg-*bNF`47*(pC{mLp5K1%-{$^l z?r-P%bM?6uo`Uz*+-q|$%soB#)wwUsJv4VWPr|!)?y|Y_=1!kGVeW{z1LiV34R6o6 zo##IMfw}k3y=QLo-1eLQjVI#$?dJaG`sS6*zuNrP=GQjAu=(k2zkgzG*KLv1Okta( zXYbl}?O)CO`L@TuGINq2>1zJE#<0HTuWJnJYi?u=>TCY0#-P6DM#iAN=0?V#zUD^8 zpuXlt#-P5In8s69b0T9 z29m_Xd8@%B^;xUoB=L~dfRcF7YDh^uV6`2malh3*GL8GJ29~_&UaS4}H14q)Typ1b ztKlVam(@NrjXSLdnB2L;YCBBhcB?@qcW$$M4K%4+t%jP!Emng~;%2MiCUKM1fRngU zYc6LjuQiu5c7xVj&e-)@b2($zY0c$~U8^;hGj@&ET+Z0lT5~vKS82`Rj9sZUhckAC z))x3DC9%u3=5od^)0)c}yHsl~XY3NKxty_!wdQihF4CII8M{zxGk(25Yv$MUwdQih z&ePhv{Ccj|T+Y}zT5~yLXKT&jjGd)5hckAjR;T~nGq}2(vD3Bca>h>6s>>NWRjV#% z>=doKoUyH1bva`vYt`k9oupNlGj^g@UC!7ET6H;N$7|K)j2)*{mos*(R$b26F>N$(yGfD+gGa&XDp{xhclMd>Q=u7d95O+#4=h1 zPKl+piklKkX%#jlmeeY0N-UvO(3DtQtC%UVm{uWEVo|LkroTX1#zUpp7p}y*FM4`UwZbYHJ>Tcwt zSYJ&{Z@tH=4o4L0s}4sL>Z=Y%6zZ!EM-=L-4o4K~tL{b=>Z|TX6zZ$)MilC+?nV^q ztL{b=>Z|TX6zZ$)MilC+?nX3^^;L%>iuF~8BZ~D^ha(F0Rfi+WF{kQqL^IHDYLst!k#V@`F4X_Tz$a6~!gRNajz$DFFW5#^XubvL3MbE@t}lw(fS z-H39`sp1ClTdM*G@s3rIgZNF}s@OsO+N$6|{K~56LHyFH@Im~-s`x>?ZB+mver{C+ zA%14ng=zfMsu04RpI8+`h_|c?BE*laiXz01tO_H~{}--M&shani0@bhS%_z?0xiTdR>2nH+g1S=;%Td(3-K+hzzgwBtKbXqlvMzR zc+x5eLwv(32t$0`DiA|_%_0UTnRRklv!5vw2$cOJINNq(e@vV9fM zAs(^{>JSfF1$KxBtb#kl{Z;`U;y$Y&4{@(mpoh4}D%eBZZ58k#?y?H{5O-Pyeuz7) zfHZ6tb{R=`H0r)mXjBzlTgphluwwSqJf zJy|P2Bhizzf-@35Q7bSb(G#?SG7>#rD~+hK^2MauN6>{=zdy(6p1cr1yLlruT}s>qB*VLiA1wnffI=aT6s4ge-h1T1x+NH z)(V(NG^G_Rk!VsYP$JQUR**!ZajgJ}L}OaP5s5~%0wWTQXaz(h8rBMiNOVyv5F*ii zw1OZK-CHXFBGJ9Hf*%syQ!DTx(LJ=X9sm9$y1SOA*WI)X9unPE%h(~&owW=d65UD5 z$RW`kt?Y0_*uJv65n=nv?nZ>|E4v#Jwy*4NMA*KvyAfgg%I-#l?JK(*5w@@FZbX>A zeA(fMaLy?^91*s!>~KWbzOus+Vf)GsM}+MwI~)kh_HQScO$~~mEDa9+gElsB1~U7?{GxezOus+Vf)GsM}+MwI~)<(lmNjb~hqyU)kM=uzh8BBf|ET-Hiy_S9UidY+u>kh_HQScO$~5_{vA|cBg7q zb~qwzU)kY^uzh8RBf|ET9gYZ};ww8G5w@=k9K@=X-Hiy_S9UidY+u>kh_HQScO$~~ zm2rdkt(Ad;c*n}fLHx$b`}&bC!uFNHgZPyn>2BQq-F~Ed;CEJmNNMVjgj;H9?QK#hR!`+-%K{OyeeN;vRQy)TYD7H)J&(zQhgMbodh2 zYt!LNT&GRolf<>!+`+HcXw%(GT&>N#!9n+{*%N^LrPi7T|}@FgzSro)%GOq&j0 z;!F^~k)~3UkxJa80U*bY-I(&%>wCV6A&ex{HmpD(G@Am7t+I064=V;U2 zOPsCwro)#wOPdZ~;!JHie2Fu(>F^~^*QUdlI8B=lU*c44I(&&!v}u0bs!fM4ak4fY zzQjq|bode{YSZCMoS;pIFLAs!xAW_9+TblNiDR|l?j?@NYs2A79IXw9FL9JM9KOVn z+5kRD9H9-|lf>cLfIUeZrVZ4S#G%>%JxLs*4a}3o!P*BCQRWlSE1z zC?|=eHqP{GL>m|V^{+N9u+X7f0%b6BkG7h7%V@>V^{+N9u+X7f0&GQPcRnHC(tjQa4<< zI8rxUxHwWbT(~$==NnF39I6{mTpX$!PFx(S8%|stsT)pQ9H|>lTpXzzPFx(R8%|uD zQ%b{$iz9Wz9f@;FX}BYCq;9w)aingzBXOi|xFd0-ZsZ-3I8-+rk~ma19FjOxHxkpR zS;HZTBXz?ei6eExA&Db(!y$1#!ySnub;BKrBXz?ai6eDm zFFqQn-&(^Vi9>b6A&EnE!y$KQu zIi)n*kvLzBX}BYCPALs{B+e&y)^JGT98(%VLcC!OBq4ri4JaXA zw+5CFKd=Uv5U*KdhiSZO4LIS>_pJdZ#4Fao6XIoS01EMvH4ue((Hf9Ke9sz~lBZs< z2C5LxTLV^z?^**_i07;UEW~%Lfh@$c)_@k`8Eaq*@oj5>3-Poy(1rMxHQJcHvpVt+_gWo#hSR z)-gxo=V%>qB!0Hm0Y~!jv$PI45OUF^@N{B z;zw&8U?hH&*6~H+M`|5jBz}a}(M95iYaLu9ewfy=MdF8Q9aTkAXU??d8yX&pc$zNgmlL*jdA9X=$!yVlV|;=5@bJS4uW*0Dq4 zJ8K;}B)*f@fkWauTHW1U~ys zIAUyH-QkF_eRYQ;#`e`6ju_ilcQ|5fU)|w|v3+%SBgXdC-HjOAS9dpJe1@*>Zp7HW zy1Nl$`|9pSjP0wt8!@)8jvIOEZ>{cd#Mr*N!x3ZqY7R$??W;K)F}APfaKzZYn!^!e z`)ck+jP0wr8!@)8=5EB;zM8ucWBY3EMvU#Nxf?OIujX#V*uI*(k&m%`HHRa{_SGDY z7~5BKIAWYqY7R$??W;K)F}APfaKzZYn!6EW`)ck+jP0wr8!@)8=5EB;zM8ucWBY3E zMvU#Nxf?OIuZ9~NVtKZ&h8)~_$7;|){Kjh7LHyck;6eP#YUn}y(rWNQ{K9JZLA-4> z{2+dAH2@)gW;FyMerh!cA%0>t3?bgK8i)`-wi=2M`5##gN2oWg1|-BARznivhgO3U z;&rQG3GoA~feG=N)zE}^)oO4;eBWw#LcC%%JRx4T8lVs_Sq)K$7p(><#P_U*DZ~r! zvl^;U&sz;vi0}UKi)??kZRSmT<-@Kq(p8ZRHB+Bf} zf6V;L%-_unX6iHluU|xP(Y7Q0YUbnOIJcKAC<>RRpaSCZ5<+HvVpS8KQkQGTrAvKEJ1M_jrX80qb*XlcPEwa>$DvDItR06gb&+-)y3~c* zap>}?3$)|XrOwxmOP4xNJ1$-7TP+ppbg55j$E8c1 zp&gelb-H$3y3}df`Iui%)s91#Iz>AUU23a#9J*G^=*eNiS=!VEQ$4Phb)QpZHFug^=*eN3H5D*G^=+3diS=!lEQ$4Pmn@0( zZI>*G^=*eNiS=!VEQ$4Phb)QpZHFug^=*eN3H5D2=Oy(LkRIxYhwuU6Ki7# z@s_ngg!r+wQH1!BwPA#K)7m&fykTu1A%1A>=}|0+^=&NS)(@-=Cd6yjMib&yYr_fg zeQV_Ual?lk>sbe z1wN9zOk3C^$xF2bJ(9dcTgW5Hi?szjlDtS;xFg96wFNtpyg*y1Bgyl%1v-*EPg|HH z$#b;@Ig&g_TZkjcv$cgck~~XWaKkHdrncZllAqKT+DP&YZGnv>PuCXKNb)poL5(C& z)fUo7@)T_WjU=~f3uh#GvbJDGk|${kWh8l`wm?RbCuj>}Bze5H5Jr;6X$xQ^d91eZ zMUuy83tl9jJX%}uBFUq)g)WjjQd{66$s@FdEs{K3ThJoO!?cAgk~~yfz#_>*w1q2@ zJXl+>BFTfamGSF=+DiNN0Bu2vB=^@AqDXQ-Z2^iTm$Zc^lH6BYaFUl~PFrvy$*i`} zM3RBFz(kT6ZDENd)7pX(Nv5=gB$7;O3rHlH&=!tJGOn$?{2J31h)6Q3Eew%lL|YId z$*{H%M3Rfz0uV`tw1pp%{Dii4_5Dxoqb>N5_h^ zw1pg!++ABA@$1L51sjswOSjRb4ibTbmHWz)?_u$E0XBf(lW-HZfl z*>p1!tYs53h!tys22rpkY7onoZ{h~^J8J?5@mp&m2l0+Ip@aC1HL-*EwKc(m_?0!$ zgZQO2(S!JfHQ|GJ+nV@6{M?!VLj25{2txeSnh-+##F`jFyv3`EBGiwq2_wXhta7eT zi73R2);#8qZ|d(^6I8hMf;CZvc;1?@LVVYnxI#QTZnI4 z6I_U=t%)wgx2%aS#5b)8FT_*U#24a8YwpLtKk6ISgc#!MehkZRKfB$QKWzE^mdTb5 zKc@1XEkE7zgDo#?`PP;%Z+Vm-QhEE9>$iMr%XwQ)+j88NL-`Sv@hy9A*=5UzxBTUn zKiM+7@E;5R!V~ZY3-yJxyTzGlmS)P9P#f66!?pnBM;i`p;7S80!cSkN9u#jF@ zT-bdfzvIFOc<$XC-%|O1&Hv;4WWGIL;+c0p;TtNSpa16k6Z6~V@8fxQ*YWL?=gyxx zf9(7r^SSxh{9b%BDb^KhLf6t&}ysV)ypk8*?vla{Lq2uMoBPPzf0_F~_#Vm)e68;H`OV|atVr))lU^P!uUHYYcSHt)W9r_CSS{NBy)-aNZ`yG?)C^!rVd zO&xwk-tRWOz3I(OuWWj5(^H$C*z_pBB=62mH*UIW)5V+4-gL^QV>cbjugObp3T@hb z(@vW{xaqx{-o0sd({>yGu<`dBCmRpyY^-ej-Nv^!zPa(0jn8d-YU2|dAKmzwjdyOm zapP4RFWz|e##1&PyYbMCOB<6LLmPMBxYNcDZhY^?cW<2CxZUg@W`93BneEJ0W`8&P z_UxOpugpI8@>8dx!JmBaUGII@yWchYuI;w}!}h=5ezJXM+bgHd@^h!Q(?0KK$sDMC zpOVZ0+V?5R?5};FlFWYE_bJINY2T+Lv#<7jN-{a^`;=s|+V?5R1lmvdHKTo>l1y6r zOo?Pt+V>^NB(?8Ll1XUamn0L{K1-69OicSeC7G!9eM&MB?faBu!rJ#K$t-H$rz8{7 zzE4T!6WaGF$?T(jpOVbp+V?5R?4^C5lFXjk_bJJIT>HEFbr0?Pl4N$*zAs7UW7_v6 z$?T^6kNVVPcGdn)eq$Hy`;=sM*1k_k=A+v8Daq_;eWqkXn(64XCBz4;?_-i?I{H2) zX{Mv^W0Gb$`a4YHFRkxml4d#jz9ngvqwiaiW;y!4C25u;-}f;|GaY>&lQh%O_c2K` z9ep2@G}F=dF-bEWeIJuF)6w@aNi!XNAColG(f2V)bI|Jhn50>bzK=>pCq*;!> zZ%LZv==+wWS&n|*$0W^k^nFayOh@0xB+Yd6eN56!N1qQLqHld4lQh%O_c2K`9ep2@ zGzYD|k4c(?R^P`Y&2sd8OwuezU#8KpzHdpI<>)zZX_ljR!yl_^Js*=a)6w%WNi!Wi zAColG(ep7$GaWr2lQh%O^D#*?9X%hDG}F=ZF-bEWJs*=a%hB^ONwXY1-;y-T(eo`y zvm8C&k~GWFyV$8qGaWr2lQh%O^D#*?9X%hDG}F=ZF-bEWJs*=a)6w%WNi!WiAColG z(K~w@Z&}aBB+YX4d`!|TN6)t;%|WZ@TasoudcGxTmZQg(-mNt)&8`Ih9FIo?5xbp?;C8qIt>%k3oK4(3=As)3J;1Juahd9I|)`J}4Ve4TI z@mcF(4v~MzdZ^49z4v~IN?2yyEc>!A>Fv-MzzxXF4rMBJ!7 zAd+-mdpIQN8?*;QlD=MhAM)#U+5;g;U#q{=fJf37X%BZKeWCVXN75H) z4|ODczV<*z(&uRpb0mGP_8>>n=V%XcBz?B_@J7;SX%B8BeWvDna3kqYY7cEBeTMeH zM$)Hi4{IcSn)aYZ(x++axF1ASeaP2~iqz}_B zvPk++?E;IW5792JNcv#y!iuC1(k`k<`atbo?AHUd3n`M`U%QAR>HV||D3V^%E}lqw zU+uyP@5-EZ;Y89|?V^dK1MPx|q%+#Z5=p1E3nh|HX%|T(ozyOnNIIci9FcTfyQldz zrd<$`bX2<-BI$^BAw<$)?IMVz7qtr@k`8GXKP3GL?ZSuT)B9)_J|w-jcF{x9dubOu zB)zA0u|v`y*DiEOdJpX)hopDcE^tWtW7>rcN$;jz)R6S9+64_s@1kAIko3;lg$zl5 zRJ({F=^d@>V5C^lu7i$(^zX0+>Kq?pmJ zgOOrJyADQ*8SOe4DOR+b_FzT3scHO^bsdZpE80y=;~%Z-V5C^lZp{5pF{51b7bC@tb{&iqGum}9Qp{-A!AP;9T?Zq@igq206f4?wFjA~& z*TG1!qFo0g#fo+TBTsd$>tdvs(XNY;Vn(|zMv58jx)>>DwCiG|IDmB>j1)84bud!Q zXxG6=aRBQ&7%5h?>tLi<(Jo*RCF>#vQMB$~O=H!%A0qN8X0(eMysTi|9j38tUEJW# z@2m?P#BZ&O9K<`;g%093)`bq@*Ve@j;#bxM58{{BMGxW^)`bt^ZR_F(@pJ0}2=O!P zBFKhRo*C_82)BM>T@WGOvM!1cKejH65I?dmju3BJ7f6UVtcxVX53LI&#Ov0D65w*dKs&&zX_`Y@Fgm}fectYe~wl1PjFIg8-h!?GkDa7}zE7N$vx~RgP=dCmS zfMrHIxWb+1tOG2>cdUaf#Ix3c7UCJ}KnwA0>tGA);LXsC58`*k&EXAs(>~N5iv~}=@ zxYIfSMBHH=1R`#?4g?XmSqFoNTde~^#4XlAA>wB1zz}hhb#REdQ9D2+JfpI6;P&q) zZqUvFe&c%Wppc}l`{Q?lZt~x;clML#ynCbM|F<5azO)79J!zYD2`mv zfTP981r0!P#7 zapZso+vO)VazO)79J!zYD2`mv02D_qXaI^M7c>CHkqa7t;>ZOJFmdF92ADWK?6)2I-mh24js?{6NjJjT@OHU z=z<2IICMb+P#n6T0Vob#&;S&NE@%LXLl-mv#i0utVB*jP4KQ)&f(Dp4bU_159J-(Z zCJr6Y027A}Xn=`B0L@bm+0X?IKym1T1{^JhE@%LXLl-mv#o?*bxX*?zXaI`Ct<$*2 zhAwD;i9;7Oz{H^o8ernk1r0E9=zs>8ICMY*OdL9(`2ZA$E@%LXLl-mv#i0utfa1^v z4M1_|f(D>CL{Q;5i9-OD;07Jyrv%sQ5I!ZiPKW3z!L>ScJcDa=c%Wae)}h-OT%|*| zGq_TR`}sA0g%06Ig3EP?J`#LNhu|Z@Wje$j2`<$k^hj`t4v|NKi**P*5?rK1+>ziy z9m0+T7w9nI*YkAfZ5N;&+qz=(W zf-`goHWHk!L#&bDG#x^X1gGi{X(TvBhd?92RvqGu1SjhdW+XUChbSY#i8=%s2~N-< z#z=6y4iQFz<8%lx5*({Te39T79l}dqf}?c^FA^N3Lv)egNF9QU1V`u)TO>GKhtMLy zVLC(>2@cgEut;!-4sk_-gLMci5*(z%9sGKr4lzZ719S)}66~)-M3G=W9Ri93OFG08 z3HH_D`~34-K~9HoB0*M%Xd*$NLoksbqeCo_Agx0vkszf*B#|JgLm-hLp+g*zAg)6c zkszi+5Ro9NLky81qC*IgAgn_Kkzi4W03tz1hxj4ECv>=xf8-MEqeJ+RU~e6whXi}+ z5IiK&J8m8xriML)4I9R~=0Myj^sF84~QQ1IUoz zqdGtg33jxBgOTBAF>o+4@`1b!T#O7yi-C)g;b<{%F)|!21};X1qs73*$Z)h6d}h7}z+7#UVHKX5TJ%;>nR&?NCWLVL` zDbpC(VCyvcHgGU9tmq)`Vq}=nfs2u0Mh7lNh8Z2W7#U`C;9_K$(SeJRVMYfIMur(3 zI2aj@76S((!-@_Zj0`I}a4<5g=m0Q?k_`}pDB1urh*cXL!uyL_u>ooj1slKyv1|j} zAbw{9;2?f$1LPpyu>o`tzp(*y5Wltob`Za^0eBFVJ z*&yZqXPD7Ja(e40Hb_k4EgPT+FZ!_!V1)RQ4RC~b(*{67ykP?*A%18BC?Q_A0hACw zumP43uh{@hh*xcZCdBt`04KyNHo%iS^|B2Rg?PyZkV3p@156>lX9G|nUa$eG5YO8H zR*3J~09T0TYyd38cWi(x#IrVl7UCHjKnwA08(<6Zv<<+8_?8XOWkWv0j1KUHTTj^l zV2CGefH1^2YydID*KP2@X?)EFJ51xNHb5C(^c5Sx4Dn?f;0*DE4SAh|kync!>LLfIP%~HrP0g{Jl279&X)Z1Mng4wgLJOci8}b zh)>%9e~3G606@eYHb5Zab{jwtahnaco5rntvV0o1SRaLW(aqL}A>t1Dv zAATfrx%SaVGM~~u_(}sT=2-0mjAV|{KE6oiXzjy`WRB84x=7|o?H}UTBeV}Kk~v)a$Re4;v=1zj zIaK?&BJax_qJ3PE%)#1+70Ddrr@CAG`F$799K7wILuamd@^y}O+um57J#oK(F^)NW zjhtVWZ9lUg+DrDVeZ#(FkJx>7yWL<{*oAhcooq+j!IrbQ?PI&yN9+Uk=eA&`|E~X{ zf3G8LX=&Rj&)b*$@U_O@VnYtg*7#cxzqU308pN+`&2`IR*_!K?!?HEkEr(@mu3HYv z)?Bw7maVyNIVf9m-Ey1=)>6}W%hnvX9F(m&ZaFAhbKG*<<=?b5*DZ%-Ypz=k%hp`C z9G0!QZaFMlbKP=Sw&uF!ux!nB%VF7?>z2c^HP8%-hh=N7TMof2*DVKSYpz=k%GMmW9F(m&ZaFAhbKG)J zww8C@a#*(Jy5+EJ&2`IR*_!K?!?HEkEr(@mu3HYv)?Bw7maVyNIV@Y-JdJy8ZPPUF zv9*oUxZBnow;YtMIc_;9TXWoUP`0M-R1VA5T(=ySt+{SFEL(Hka-0a(T(=x2f;HDI zhh>vL{=aUriR+fbvI)9LF0T`CliUqDaocj&>%?ixU8fVLEqAR>oVMIGI&s=^SL-D2 zw&kwUiQAUDQYUU(?h2i_ZMn;J;Iyuj;7wF_%zn-s?bNqUqPMo&fxjJ#$a_4A%;cnl!ouL!AEqA(3+_v0lI@#*iQ+49DN$=tTwu{v?va>wYzZOa|46SpmQluq2X+>ttQ+j2+f#BIwRt`oN{ zcbHDxw%nmQaoci-=)`Ty9jp^nk=#K#0Tsy|s1r<)+yOd)6v^$c6GY)%wx3QAMRH3z z0TjvYs}nqtTuvu&BDt(i&_r^9PQXNR8J%E>yB#~TFCpaRxgic^Ya&euY zh~#2A0TIbXb%G(1i|7PGBp22Rf=E8Ms1pQ{Tu3JXBDqiK1V1FVk51r2a(n9pJtVi6 zPQXKQd+G!`B=>QhAcy4k&9{EokjVzD+CyqvzNB$E>Bg-TIiKCI_iwYArBg-TIiJOt- zk^f|eY5b{8+>9)b{3mWkmPh^*HzUg<|B0KC<&poy&B*e|f8vKP>K|<4Xk>ZhKXEj& zJo2A78d)CsPaKUbkNhW&MwUnZ6E`EvBmaq;k>!#9#LdX^$baHyWO?L2aWk?!@}IaF zSw4R@aWk@f{%qoAWO?L2!HhiBwTYvV<&poy(a7@1f8uCldE`HFG_pMMpEw#>9{Epn z8g-kv8Cf3rPuz?wkNhWYMwUnZ6E`EvBmaq;k>!#9c>0#+k^k7u$nwa4j2Rp9SswY1 zQG;6r8^Z>%Y-8LYerIFgAbx9OJSgw7Yd^XKV~S#Qio#9^yV5Ll1E;AC=fc-D6|$A?~&@ z`Ve>77=DOP+Zca{J8cX=#2q$9AmVl#LlAMBjWLM0)y5!1++t%CB5t-Z3=uck7>9@( zbqqw3&Fgq4|Kv;d1|9F{H?G$)3Q6`l9fOc$uhlUIN%k5YLy%;z)-eJ}_9`6%kYuma zG5$#Q3LV3bWG~k-`bhRuItCxfUZ!L0k?f^9h91dYqGRNd?8Q2MpIj-> zvS;WRY$SWSj(7VWDn92sz~-g9f68u56}^&NOpf6L5gJe(-ERb zc1cHoBH4X)geQ{C=?G3Fo7EARNH)+BmPj_EBPfw&-91-l0K{7 z&@bsDdY|5|H|Q05p`NKH>(P3!<}|MR=x+KE{eb?tE~vfhUH|^Bf7y1;hK)OKd-1`U z|NP-Aw(hUt5&*9IYq$h}>;4)p0pPm7hD!jr?yunz0IvHhxCDUfPT~>(t~-fK0J!cX zF5%z0lemO`>n`FF{;j)+OZd0$A}--G^ z5|;pQ-AP;mz;!2a2>{of#3cY+cM_NIZ{0~;!oPJFaS8v{UBo5)TXzwc@NeBk%r61p zx|6sBfa^};5&*6{iAw;u?j$Y&;QDUUxY^csoyJYJzRNUj)b*YDP+H3C`hWB54Z8kO zzh1BFJNflGU3U+cuGMw-aOoOdcMq4Y)^$A0%hFZ4?jSB*sp}5n(iOVyATC|5>ki`5 zr*wS>zh0*64&u_Ky6zw@U83s_;?l*s?jSB*r0Wji(uKP2ATC{?>+kjJ`MT~NF8x2W z-Di|!^_k~+p2~V2imWQw9jU$4w9_Cp-g^q0;p0X`Qb7g@l>d2Gt(K7;l1DQ6YSYHbIxqfo|%4gzvqgUgzCoU_rH}z=Eb_^9)>T{ zHTN)lp{~8t#SUMfYYt-gd|h)8!{_OmgBU(n*Br#~IlAT`hR@cuUHy8Nu5I?~nYy;g zukY8jjegyxYqNemL)Uik>*>1Y9)?fTHTN*QsB7+F_*7kU55qZKTkp_?7j(@*44;Q!$)Y*Jq#bN`J#gu zK1_=aV)#%kI*8#zwCEs)57wfC7(Pgg+x&W<79GU!0a|nr!~1K|K@9JwMF%mwuNED| z@IG2}5W{}2h}VdsgAw92qUd0Rc#SAJ7$IIGig_0!#Ct^1#R%~pQFJjvyhapVj1aF8 zMHeH)Yedn-2=N+GbTC4^Mid>45U&wM2P4E65Q+{)h}VdsgAw92qUd0Rc#SAJ7$IIG zihx1<){1}4b4~rmikLzC+KQk-{K|@`LHyE+utEI7inu}i+={?K{LG5LLHyK;$U*$X ziqJv)*oxRe{K$&CPveJHL=W!#z>4reeBX-i@;9~+?-4}=A--!x2qC^>MGPUnZAB0v zzGX!eA--uv7$Lr4MI0f%ZpC*_<7-v~67GD}ibz6y#fnfueA$XvLVU@JU_yM+ifEFj zzFAwF+KKp{S7MMNP!Yeh&QK4V2pA>Ohgs1TpFBB~IdvLdVypR^*b5N}#>{WLyd zMPT918&*UX;^S6?7UFd)V#~UGi1&!X+rJ90Spi=7*Iu;(z7Vfi0bq!it$;AZOICmw z;zcW94Do^$K!$kU3MfN7X9bucp0xtb5YJcvXNae*05rr?RzR9{p*%BMz#48nVFj=u z9=8J85RX{_Ziq*%fH%Y=RsbAghZPWq_^1^ihj`cum_s~d1<)ZLv;yi74_E~K&^m0)Q7A9J;Z%hz#igWD}WF2K`U&V#ywVmAMV_31^glIvH}1RcUl2~ zh&!wRLB#D=z#w9~6+nnsu>uMaw^;#(h~>N$fQVYs0uV_kuLT^E(5+g4Aqm~01r(Cd z%~}8<3EiXx43f}|T7V!4-Jk^olF;>903Zonrv?0x(6w5C9|>Kf1@w{7)mi`_34K5d z*dw80~g83~=C1(=c0=~_S;37w_|kde@$7BEIar)mLWB$U$v!boUA3jiabQ?!6D z63S}ful>4J3*aK5leK^?5}MZnv`8qU1^*|GC6v|zvPdYU1z?d-paoo!P*Mx9BB6v9 zP(?yS1TEGnn?V|R`;V zqN@(Z94or&V9c?is}9B-E4u1n%(0@Y*YR&d{gJJ@7<0_%s*5qljIO#EbIj6vF~^LqIv8`z=&FM;$BM2x7;~)Xs)I4dimo~sbFAp9gE7a7t~wZVtmx{6 z?*AM!y6R%g@w;)WF2)=)y6R%gF{7(4#vC)c>SD|>qpJ?a95cG=V9YV2s}9B-E4u1n z%(0@Y+oth5TXitzSkYAnV~!PFbui{w(N)06Q~zMAF2)=)y6R%gF{7(4#vC)c>SD|> zqpL2)95cG=V9YV2tAIiL)>aXN_>HYX2JvfK#SG$Cwh9`=FKrbyh+o($Y!E-URoqzj zjyYy@6*;)|Q-5Pyp5c!_e%-#D|9AZag8%UkAlUf)#>Y24xbcG_5-`=h3^~F)jMvfZ+uVQD*ks71@wylT|@!B;(r%WK(F}UM3mQ}3jPrvvI+na z_gMu2iF>UAfy4)`f`P<6RslicZmWPGahFw4khs$-Fi6~C6&xh^zWo&>q_$fH3W*h~ zY?;PwRsloqEL#N)i6yN#hta%NoWtm?T5%4ew`j#VjNYsj=P-JcR-D7=jaq?2iQb?U z*D!j$R$RmAby{%^qt|NX0RPNIuhEKg7`<96&SCTeTG`jHS7~J*zh0@8z5RNHR`&Ai zPb+!n zFnX?5oWtljT5%4eXKQ75zn-NP=P-JvR-D7=`?ca6Mz?9jIgFm673VN|x>lUS=xJJU z4x@`&aSo%WYUTI+n$wDF7+uhcYZyI6E3RQQtNDs^7~QHB=P-J*R-D7=yjFJeYep-( z`ZcYU&3;X3Ws_e6tvH9#q*k26XhJK_VKlB4=P(-6igOr^YQ;5-M)+BXehq8IHH?O| z;u=Qzide-tjGm+w=P-JrR-D7=30j{1(j2d4=P-Jlmf=vM$7&f3CAvk+U?|aJw2Xxk zJzC39DAA*|jD!+BQp?x*^$0D)phOSXG73ucFfD_iL=V+62J$Q&qGb$}=)qcsK#3lt zWdxMyfm*)YuLo%PGQaMx%LkBKZ)+6W$csaURu7;uX|Y8;fvsQ+2M=e zcG=;J;C9*Ji{N(I;fvsQzU=ZvfV=GSMR2?9@1 z1h>m>Mg+IZm_hu?%Ai5~(#oho{KCqI`&dPQy9^w}&#a6b#80gZ9mG$pj2*;}tqdN- zkF1Oy#1E}}z%+hfW%%IE_pOW{#P_TWAjEgAj3C5!tPCN%VB6XHu&Mib(TRz?%z3s!~`;`3I<6XJ7L z-hCRMwKAe`=QCD@ly&(CuRmo_;nt_Ej4H&ZtPCr}C#{St#G6(I7UC0DMi$}?D?-;%IHG8YGrsKUa>O15HDL9VAe(Qy#ACShFdRM8DoeStPC>5 z^HxR~;yEkB4Dqa$afW!t%0NRrZDph(p5l+4Oyfx_V-0tnurk;Xk6RgSh{vpqHpHV= zh8rUPh?N0{+F_-)AI6Vb339meu$3@}c*shiLp*3D)FB?Q66_H7TM2iF4_gU%h!0r_ zd5HV01UB_QgH{3`;vOrZ4{=xCO7KJ7X(jw2?ywR75w}|jfr#x^f*@kWN*F}k zW+f0JmaT+B#FCbrp-5g!&QRo5Ey0jPZqX77N#tfNfsjOQ(h>$qtPKud@tk@K|#I1)KeOL!xZbF>6E z5;T7nme%xeigRzi|>VJ4^Kkc63> zl0y<^a!L+Kn8_(QBw;3}HHRe3FssrmX=B@d;Z)7UB(CgBIfBwuUXl>$V0i#K&w6U5M9g4PJ;>Z4FsQ$XS>z$ zj##le;1Rc39r1`|t0NwNsC73l zeuLKCy!iE6ck|-cY2D3>U#oRDFMf^I-MskKT6go}AJDp+7r#pD2l@3%tvh+~E41$9 z#V^-<-OY<%rgb+jeyP^oy!a(rck|*GYu(L@U!-+6FMgrcF;C(bXdUt-e!kWbPvYlk z{k?uYSL=8u@pH5ecM?Ba>u4wOv$T$N5`Aj&TxS&^p9P{1mMtoW!$Q2RMmu)jGaO{A8`8o5bg} z4sH_9XdT-mp4K|FNj#->WaF10&^oe7JgIeHlXybwxF+$q)?rQJF|DJT#G_gVHHk;G zj%gAPYaP-g9@09ZNqkQ0JXjJxN$YSX@e{RtH7FKr%57rudN&FzKp_jxD)Ean6`~aq0FVV1=Au$q$E5`2CoU9nT zS97vr%wEmOiZOe&v;9RN#_rYJtQfmjbF*UXUd_#lv3oT)E5`2CoU9nTS97vr>|V{u zim`h&Co9J8)tsytyH|6vV(ebc$%?UiH76^^?A4sC7_(P{tUR@9H8(59?$z9^7`s<< zvtsOC&CQCjdo?F3#_rXetQfmjb1-7;Ud_RXv3oTKBgXF49E=#dS9368>|V{mh%tLL z2P4Mp)f|j`jNPlb7%_IQ=3>Oyy_$;=WA|z>ME@oTGL2JtJa zfd=tQtDy$*3#-8f@pG%;2Jthi0SEC@t0Bj_Sf1UhVF$NU5MQzynh;;K8k`Vcuo|8apSK#I5TCOeq7a|88ln)Nu^OZh zZ&?jfh)-J$RESSm4ONIw=B5U@x0}0C__DGHJBluwHnS4&sYs; zh^MWFG{jR@gBs#Vt6>fCgw?=?c-(4eLp)|RxFH_38r~3(SPgK99acje;-gkW9O7ZC z=5@`6?ce_SQU7P4_g&^h!0s6dWie1iao@=Rs|p8gH}Z! z;vTEQ4{^6u@rSs}ssKdXY1OOV{!hKbsu0Aj+pUU0#CEHK5V2xa6e4c3Dhv_JR>dJ= zNvl94vAkAsNMg5Y6^0~si&jxcVmE6Qgd}#8RxwCoH)<7vBzA*V5lCX!YxQjY^Cfnj zR`Ew-*J>4hBzBEf(MMueYjvAnuh1&?NbGX0LXX5Q(<<^v>;kOPYNNt%8ok7PX2w5<69^kR!2^wF)>Ao7ZX{a3q$|D&9yerd7C+SVXI6BeAen z!A4>stzwPD=Clem5<5w&NF%Wmvv09SfXq|)nSRU0ab@3Du0-_s>>2(1F9}d zlnto5EKxR~>as-HfU3(9Wdo`%OOy?$x-3yPpz5+j*?_9c5@iFbE=!aRs5&fBHlXUT zMA?9CCUa=U6v>tP<2_NY(UjziLwFJ z-KX(SR&`mTY(UjziLwDzhb77eR2`Nm8&GvvqHI9bVTrN<)x66RWdo`%OOy?$x-3yP zpz5+j*?_9c5@iFbE=!aRsJbjsHlXUVMA?9<%MxV+sxC{E4X8RSQ8u9JuteE_s>2dx z1F8;7lntoP^88ajv8u}wWdo`%OOy?$x-3yPpz5+j*?_9c5@iFbE=!aRsJbjsHlXUV zMA?9<%MxV+st!w(4XC{RAMs7AI4n^%pyIGZ*?`K;zW-6)eJUmjRv4)LJBj4jP<@|Ur~j?vHUyg!J~o;Z8d>_M}8&HmNwyJp`xyJ>d)F2h}#JI>gD z!=5|N-hb0R|Nnkg!L#{qumAG;x7NSD{)P2Vtbb_zz3aEHzj^)D>n~Y<&id2VpS(W4 z{>1f1tv_h}UhDsA{kzt`bN#0E>t}{D&6%~Cf0_CFnP1QRc;?$PU!Hku=JlBuW}cXN zXy)FT?K3yeTs?Ei%sDfs&73?FpE+^nsF{Oi_L}*tnRm^+b7qsj>uJj^O}<}S3IBbd zw6pj%o5#Z8@gNoVFa(rX>GZs$&|K^=CdKmKwDrc$)vWhRFVm8L8&C;+CoxE z#!Thvb$%M~O%b83tKTRG5 z;@_<4OeUD0rZbsfewsH=<6o`mN+y_}rYo6Xewwaif>)5HE16(^nyzGm`Dwb63FfEi zN+y_}rYo6Xewwaig86CYoyi3A({v^i%umyqOfWx9XEMS3G+~nX8*93f3FfEiN+y_} zrYo6Xewwaig86B>k_qOg=}IP;pQbCBV1AmeWPgdt+tnm9x(X%mPfk=G^;N#a&*!jL3x(IyH>;%04vkR)!> zCI(63Mr}fnByP|q0`dQMy*2?z64z-He=pp7KX(FWK^;%seTjU>*}2GmI6Ol=^IB;KzLppnEj zZQzU~&d>(TNaA#Dpo}C=(+0*!Vo@6qBZ*VBfiRNDX#-&Ll336Nz)0d0ZQzR}vf6+b zNo>^yx=7+=ZGej;=Cy$>lE`QSS|pLy2C_&Zr43+_M4$~^kwj7(=lC_D4N#FpTpO4o ziI_GZMG{eMAc`a++Sum%p9pIMP$Uu32A)V_P8)C{iIcQ}CXzT&8(<=d6SRRPk~m%) zP$G%rw1Fg&I93~3zi!b6j7Z`bZJ>xGj@AZwK>>7?noV9GY8FALK;bz2H%Z8f~XDu6UMx2+mhMN&*EgNn|oV9GY8FALK z;bz2ls^qQVXvCSzhNBT@E*p+UoVjc`8gb^b;b_E}%Z8&7XDu6UMx3>5xEXQQvf*aL zS<8l-5$9#C;bz2H%Z8f~XDu6UMx3>5xEXQQGT(4C;>=~k(TFpb4M!u+Ts9nyICI%> zG~&!AJD*>E%BtYrf;h+kPF zj~di3tpOXvFRXzZ#Luk(9K_G8fgHq7tpOdxPpp9*#E-3k9mJ2U0UpE;t$`lI53B(n z#P_X%AH?^p0U*S8t$`rKcdW59&mZ+|Yk&yxEo-0%@l9*M2=NVT;0W<`YXAxHHESRV z@l|U;3Go%Hzy0s?WvgQecfMqGFd@EZbu=NqV0AblK5unAAwFmI8+?D`ysgzCh4_rs zF@<=`>Yze=+Ulr6e9G#uLVVKdxI(;XbzmVrVRd97-mp5f5FfWXwh*sd9b1TxSsh%6 z*Q|~%#H&_^mpt`~)d7Zh+3E;GykvEVAzrjP#t<)99b|~-t&TFpb5@5L;#sTX4DpQB zfrfb6>PSO8Wp$__p0xV5X*^+dtl`e%RtKAP`8ab~hZ}A^YIVFJ9vITA*+K9@u1aFhj_s1utVH$b=)C7Vs+plK5TX5AwFbv=ppX2df>6kPWQh3 zmA4K4og%m7|EGV>!T;JHbCCO={y7K#pFif{l#R)aCv7}xNB_-T-k1OP{`7+XP2VeX zuYd11%k=M+x#Mro-0-{nKhFHk%ui>&!&~mBXI`6mcIJ_p56|2&a|`dd7tfqElbcD+ zglCSOIc#RXnfK28*~}l#{2%;~i=DLVJCZs;yS^i-{k7{mlG;zZz9Xr9wd*^Q+DE&- zBdNW$>pPO#Q@g$+srPBucO_+zxcO_sr zx;`ZV!_oCA33$!w`jiChM%Sk#U^lwHBmuk8^(6_|jjk_Az;1MXNdk7G>q`=_8(m+L zfZgc&k_7BV*Ow$_*p@Bw#nXz9a#=(e)(>*p03)Nx*J& zeMtg#qw7l&up3=pl7QXl`jX@WhNJ6K5-=QHpOS##==zid>_*q8Bw#nXJ5S@A*7YR` z*p03)Nx*J&eMtg#qw7l&up3=pl7QXl`jP~^Wp#Z?0(PVG_OJLCt>a4)_*3zBw#l>z9a#=(eWh- z*o}@aNx*J&d`SX!qvJ~w?3DkQb$m(!hNI(C5-=PcpOS#x==hWb>_&$vAzreMFG;{| zbbLtycBA7<60jQ`Uy^{`==hQZ>_*3zBw#l>z9a#=(eWh-*o}@aNwCwCdF%L;1iWT- zd`bd_qqA)qk6Fj3Bw#l>J|zLW(eWh-*o}@aNx*J&d`SX!qvJ~wup1p;l7QXl_>u(d zM#q;VU^hCxBmuk8@g)h^jeN(aBw#o?J|zLe(eWt>c+KkglmxtHb$m(!Ub8yMY20lc z{Nc`B)&U^mPU|2Laffvvh`8N47({Hh4hRt|)$L+w5?rSp{E^^V?ZA%&*JuZQ zB)D2T;3L5Yw1YhoT&0~u{CXw-fyg7l71{wF2`<+T?nrQ%c3?+>OSOYK5?rDk(2?L` z?O=`s7ikA_B)CvJh$F!T+5sF1&esm!NN}EZ;6{RTwSzVioTHuh`t@w>K#c@vX$NWe z8$MGzNF%}fwF5K~Y|{?TNN|RBU`B$|wSzJeoTeR+kzi3f7$d={+JP7ea@s){2^O>i zFcO@i9ej}>s~vceV5@e(MS_#HgDn!wYX@2+$Y=*yBp;-;gDeuHv;!;>1lqwB36k1@ z6$ujBK@|z&+5r^_V%otJ38LD86bT~QK@^LfU~73FfqeCK8;a9WasLMD1XS z1Se<*N+dX5J4lk3;5h9di3G=L2S_B?q8%KO;27<|hy+J#2Sp?}N;@DT!I9d=5DAXZ zHiSrUxV8aAg2S|p9}*m@ZTOJj5N)G}1P5yyJR~?s+t?w&f!c-+2@cTqwf=q>?5}O) zkYGP;1BV3rY8y8s*hky2A;I3-Mhyw}(l%&Fu&1^mLxT5d8!;rY`YjqX0+{MB$?5+i;?8@tL6Ko>~^;2s@2k{eY zV+ZkLYl8>zBWt4v@k49F2k`@I;|KA5YvTv;J!=C9@m*^p2=N_jLkRJ0YhwuUEo*}a z@l9)^2*IBdY~u*^b!!6&@il8B3Gr2HLkaN}YhwxVWov^8@g-}c3Gqd1!wK;PYvT#= zd28bd@i}V)3h`NMBMR{uYeNe0mbEd3;Li!RQHA=HwPA($q_uH{c+=XzLVUv7$U?kf zZD=7rZf$HKUbi;55FfKPx)85f8(xT4t&K0lE7ryr;$>?C4Dph+5r%lt+IftjUa&UE z5YJm1Wr*jj4Ku{E*2Wp)8EXR#@wBy(hIq=_P(wUvZLA@lur}Bbk6RmUh{voAH^ifS zGmmLJVr{(P&JJt)H#ML>YHi3N9=0~-5D!@!bchG7jXJ~w)_VIdzTaB7!<~;<3wVeR zTMK!J4_OO(i2JOCJ;c4%0w3ao)ZGn#@KcFq_k>pj{+UD0Q zwS_#Ayh2;RBgxCPg*%eGOk1!c$xF3`I+DCZTc9J!i?szglDtThEy$7Nh1x(zn+QJ)2o~JFik>t7BLK{h*qb;zJ~ph^@&oSfoV|7Sn%PTc&z?PXHqDQ>+cJB|?B27} zAIHA$Vq%w*b~$>NgLm0`m-p=Q?p=Owm(9EAhS7%BhSG+A-S7_^ezV~x8@{vQD;qwu z;o}=#-0K#(nP%@7eI~4ZpWx^9J2{ zv~!CeUpTTAm8@=paNW=@(pdgkDny=UGt^X{47o8iCs^#61KjFLH02e>GiBXod@ zk~v%lpeUJxbbyJHIZy{7zwWOCM3l^aIsin;?5zVll+2zwfJ4dbVFTAN%_a?8!!(;T zIMyHFG@~@wGL3iHz&T7aN(1LG%_t3A!!(;Ta1GOJ(!e!Lvq=NjFwG_nT*EY*G;j^m zY|_9rOtVP?*D%c{4P3)Cn>26@(`?e<0Ds!kjMBh4OfyOY=P=DE4V=R?qcm_0(`?ef zHB7Tf1J^LkCJkJ}G@CSV4byDWz%@*>Ndwm~%_a@@n8v@@z%@*>Ndwm~%_a@dFi-u? z2F_ucQ5rahX+~+_9Htqifoqs%lLos_(~Q!26@ z(`?efHB7Tf1J^LkCJkJ}G@CSV4byDWz%@*>Ndwm~%_a?8!!(;Ta1GP`P3HzYhur$M z4V=R?qcm_1(~Qz!{WQK|1J^LkCJkJ}G@CSV4byDWz%@*>N&V@=#3uD!!!(=JcMa2Q zQr|U9vq^o|FwG|QUBk40)49HLm}Zpv&S9ES>N|&NMyY@8G(K&8*D%c{^o78s= z(`-`THB7Tfeb+F}CiPvzG@I0S4byB=-!)9LNqsaVUb8+N5`5FSJ|I%BSRWCIm#q(p z#7ox4MB+v3pFfQktPhIZdEWY{NIYkKSR|gcJ}wf^SRWXPr>&2S#8cLXM&e29Z=1#w z)(1!K@J;9X@JKyoeS9PywLU-+k60fei5=F5NaCZ`$4KH~>tiJGko7^5c+mPNNjzYE zm?ZAEK28!Ju|7}|AGSVH5+AZYR1){`O9qzIz1B}o(`-PXq+;x6k0 z5OJsV5s0|M`Vd6iZhZ_Qwp$;Bh!yLj5OJIJVTf3^J`NE}+6N*@=e6(O@m$ikYX4Zj zaf|j*NYXcJAA}@*llC!4(l=@!f+T%|_7OLs@ki3vY9D?ieU0|fN77eo zAABTzh4!&W(wA!=dL(_B_K`=@7ij+gzn-uC{dr_1eV+DVN783$A9W;sruIQc(u>;1 z97&(5eaMmY$=XL8NzZE^a3r14KHf+=rhT}PbVU1TBk8dA!A8;{?PHCk=d=$sl0HfM zKqKiBw2w2AK3@BIoRRc#+J_lQAFKV{{klc_AS3Bxw2v{8K2rM-Bk3cwk1&!xT>Ahc z>4UV7FOoh``|u*^{k4xSlHO1I;3Db0wGS@35p$z3;H3B>zX&cUe-f z-gjA2u-9ocUV%W-gj71I~Do-xhyGI@4GB1Sns?0&V7=$Eq+q@0vZP?W=dz?=z2~x|V7=$Eq+q@0vZP?Ww{05VwVun8 zLiL`*l0x;K!;(Vvp2Lzt^`66$;y3Jixwrp^{krvBmK3b_T$U89_gt0~toK}&6s-4L zmK3b_T$U89_gt0~toK}&6s-4LmK3iVJ%=TQ>OF@gh3Y+rC57rehb6_UMla_3pMv$C z%aVfip39Pg^`6U;g7u!ul7jV~%aVfip39Pg^`6U;g7u!ul7jUfvJkIY@3?8aVm)Z# z&db)@GL4t42QJ)s(R%2Tr(Uogz7Wq_4`7JrtcNhfv(|$c;u-5<4Dqz}K!$kAdMHCY zX+4-Bp0FOy5RY3AXo$zGhcv{a*4uv?k5~_CxU<80ShFslg7qHSaO+{~!42_{_3(yx z(0YJFJYYS|m5cgRRc8Ghehdaavtp_~BJ=Q}W;%@69 z&$?6|)_d5)tvju^`!w#b9{O$HbIlDbxV@FS^f zw1+;Dx>|eSBdHH)4|^namG+=VQdepZc_ej(_JBuHmunAqBz2kgU`JAyY7ccJb&2*s zM^YDS4{{`Rk@nX4{-iF{9^y#q0__2gq|Vna9}7vHr(L*_)VbP48%dp`U9geV+1kY# zNu8x#sFBo}+C>^kyU?g>lcJW10S?$7$q_%1oT_km~cELqb^V-E0NoBMPEs{!W7g;2g(k`$_ zD$p*hNGhpaRFPCdyPzVexOOo`QZem9iln0ajY5i~BHBe1NrklwD3S_kcbi}5vL#3nr2}LAzKYspGW^C6YQ$yE(ret6dzC)Y0075lJ1TT@;bjk=g|jNgbhG z43X5~+Jz8F9j5zqAw*J#Y8OEyb%=HWL{bN97e6F*kapoiQV06m+^zoSQ;*#_`*Mz- zfUx-A{{Zs;WnaSk+-u+93Ci!c{=Mt}yPrQk^S3iUpZWgG*JnOI^XAMeGtcnlxsS}; zHItvYcIMLm(H}weS2`WToMaEuG0I8yKplgeWDn4B$glhB7~&+mpN?SY#pPSY&}cIU?yA7&@qsj$ur;rt>y-#^!lp9Xn(5ys(a)v3cHC$IjS1zll0_#^!ln9lK)l zoNUIsPvehl?265Euo=5z^Bio(uGl;Wo3Sf4&%tKwip_Jd8M|Wh9BjrYM)2JY$2dmS zYz$;X)y7ChRBQ}oMA^nzMwDy}X2hC}!Hg){7|n=+jp2+~wK1L%|7K%ABmSF>5smn- zHik6fUu}$O#J|`$k80FE+Zfh}f3h)8CGk5O0~_&=Hbyq$|FSW(5&y-;*hc(=jn_@% z?`;fj-1*NoMmOT`Y=k<*f3gw25r1nVfFu6KMhHjz)WH7(28ZbFvvh9`RipVIJ`v8-X72Z5yE;@huy{9`Q{Zoj;9l*a-Nz^K}~`AMrIC zK_Br|8(|;u6&qn6@nsuMG2ndNcZG?oxCu{_T#2YrkLgM2#!b0M88-d}v{5&U{ z5gc;sH5=g}@v4mgk$A;MiD|rSqxdvlvQcarFWLxa_-kIU5zr9N+X!ih=WGNu#IrWS z8sZrnferDrjlhO@%0_6jZr;DU;RtWI^@NQ8hj`pZh(kPPqb<{T)J9IuJnyR`Cug3M z&B)1_=U_8}9O7XcVGi+-jX;NZ&_<|3JYXZ(A?~*k?hqfb5$+Itcf%3#P#>}p^bq&i z2z!WoZ3I5V2W^Bt#632GAL4Es;SX__jR1(a(?$qH++iaKB5t=41`*qB1VY4$jZlcV z%|vV)aGJma(;78`K(GmK{{M9-FADO>GN7y6tm+J_5BtL(dj*v&@FVGS2 z$o%;_!X24EPe-sL^JnP@b!7fb9f6L_FX{+$Wd2kgL5|FytRuvc`FR}yj?8Ctgf}uD z(-GXrd_+fRBlBS$VU5g(bObdrKc^$4$;G zl#%%@IszG)KSoCwBlAb<5Ito62puAf%pa~pfRXuwbcio9f1nO;^6UOO1Q(g#Plwnd z^Ly(MT4a7t9bV^0v-v%2=(1$kfT7EhVFQLPONI>?x-1zsVCb@B*npwSl3@deE=z{r zvmClC88%?(vSiqR;ic1fhYcN;3>z?XSTbzD&|%520Yir+pJ4=sE=z_D7`iMOHel$o zWY~bA%aUOOhAvBn4H&vC88%?(vSiqRq05qC1BNb3h7A}Z3-NC@bXYQMz|djIumMAd zCBp^`9hOX<5g58G88%?(vSiqRq05qC1BNb3h7B0HEEzUn=(1$kfT7EhVFQLPONN)* zq05qC1BNb3h7A}xEEzUn=&)qifT6>ZVFQK^OJ=A1Z*AzZWO%zBx-1zsVCb@B*npwS zl3@deE=z_D7`iMOHel$oWY~bA%aUOOhAvBn4H&vC8D4IO4oij&7&EEzUn=(1$kfT7EhVFQLPONI>?x-1zsVCb@B*npwSlHu)k=(1$kfT7Eh zVFQLPONI>?IxHDBVCb-9*npwKl3@de4oij&$PZnX3>z?XSu$+E&}GT60YjH1!v+jp zmJAy(bXhWNz|dvMumMAtCBp^`U6u?RFmzcmY{1ZA$*=)KU?JYHA+iu3w;{9;uiMbS zVIB1`8=?#GnhoKFc-4mZLcC%_fFWMCA;J(Z*$`rg7j1|!#0xeA8RB^xq73nz4Pl0O z)`mDkJYz$gA)dA&&=61A@SS{usV8lSHN+D(1RLUU8=?*Im<{2Ec+`e?Lp)+bz#(?n z5OIi)+7NPxhi!;C#6va&9pXV7q7LzZ4Pl44--ftDe8h(4`=8Ui%lh*+bN#<4^z>s8a(E$oc=4Ks$kYsMs0R~CtMjb$qWNy#_ z0!ik29RQGIuG0bjNak7{z>j3E(E<8M=4u^)k7TaU0rp7davkKMM>3b`0C^;HfewI2 zGUw|6cO-M34q!(z=jZ@+By+Y7Ku0oX=>T&ibEXa;M>1#VV4Gi0*8$*2<}@APjbs*e z05_63RR?GznUi&ZHIkXv0n|t)qxk{UNG7HOq>)TS2S6j4unurWG9ewnjAZ6?fHIOf zNe3V!nGTdtG+duC1 zx4Zp(x9{)v_1!+d+nc++vfDE|{_NPD)A>_&P40Tqu1D>9;I4nY>!0uXhr8~!t8E@_ zZf-7a{-@3VY4guFe{b_wH-BdH>zkk7{MhFEH{Z26zxmqDmu^01^Wx^r=E&w_Hy^rr zpUv;t{I1RK*gU&gHgz{uHvQL4|FG%Tn|`$Eo14C{>CH_qZ+dFe!<+8iw6f{OO;>KZ zVAHlu*-eQ}CvG}&(*c{_x9QLRc+($j+I5p|9ByoEENuMU#=qV8vyI=~_?3-sZT#4d z4gcqcJ&)|q)@KW||1|q|v%j4E;p{hOzc~A;+1L2e;$yQ9%-%D5+w6_ASIu5Ddlp|@ z%*;k-kDona_JG;Hp8bp2Kc4*$JC6F~E`PaW{>sfC*-=^Ec;b#LpWATGj{Ckj`=0;z zJJi_nvJ;r&BeJ~g2IlyTEH68PIX)!I%dTLK56SYfGnnI3vb^jL=J=Q_FFS-eJ}1k| zE@6%j%JQ;PnB$YOyzCa{_^2!|JBB&VOUuiyVb1>%ndN2oFvrJbdD%hC@p)NZb`W!X zV3wC%#2lZP87A1Ef@lKBm2vn5Z z`2;FT?mPk&C3h}?ijq5rKt;)&O`xLW&LU7za%U2#D7p6&s3^H@1S(4I3}P4TlHBPO zEK2S)0v08=NSMc|1S(1{N1&qQ76??7+$jVqN-j&FqU5#`s3^IUb$My}?>tYSqU16J zDoQR*prYhb#7%zk$^{fGN-jyjqT~_;EJ`j;prYhrgsYf~63${SLb!{$FyS!fLWIkh zn>_@)B%Pe@X!-^==9}sdrJ}N&N{0pVS}Q za()Rx$v@&IhEjh>p(ynS6pm8wppcaM4^-TXGwkwGY+4N}I;}btnO2PoPpe9Wrd6Tl zrd6g+npVCV#<(spF?rppKi?Ds}9%{*Br)t^Y1A$#!|k)mq?ayS(IT zEpWD7UUIb-INUBTIa&*xZkLxFtp$#^%S(>d0_WT1B}Z$41Mc#YqqV^Aax5=7S__GdZ6$x9^FDcxjen9~j^>YfjsGm{LMg5d|&$NC*VHfv)Oo12mBMQB! zFH!JCy-DF0^(wXdv|i4W5XQ}yC=8=sq(F>%fkH9r2@1w2wqOazDBNEHG79aNfQ&-> zB_yNJehJDbIA6jt3eK0njDqteG+UQnaLowzT}`S!1Nu*up6~al#f-I&r}k0-ZQu z3rU^0UkeGHz?Uqes}#B}0zEkt$VbS*@5;&Ls7b>eU>gmmI=EzIe}*;+VBC+Bj_ zFPx|oS8L$}oj6(x$Lqw+S~yN8PS(P)I&rZUw&=vcS~x~0&eg)vI&rNQj?#%^wQ!_P z+^U5mbmCMk9Ig|WYT+=QI8+OV>IA1`;Simmlq?*q6O78s!a+KLC|NjACjcc22j~Qz zWMO}uV3REDrxRq7g?)8`OR}(!PEbh}_Rme=cvTa@MXdg2mgdA*)EL|I;@C+<*|cj$>Tl;s_I;tFLE zXW|HDA!XtQWf5iK1ZDAL;sRyiWa0p2kz?ZiWPxMi{A6)sf%_6i^6oluYqGq%PMn%7@2(S%^VO^6ENqX0p7xPF$HRudWkECd>Qj#EHrBemZesvb>*89GL7*Z{}^{z+`y~ zowzSqUP33%OO}_=iR+SutBK>1g{X zme}RMMmF(p@c2%-` zWyMv=@|6`=C3}I6U6t(lc^x||+4FSltYpvCv9prpODWDu_Dmf+E7@&2c2=@{3B_5- zo~mPKCA*+wXC-@zj-8e4$vSpcvV4ifRmt)t7FQ*k*0HOSP3qWH$tHB{s$}zV9Xl)8 zn2w#5Y*fe2N;afpXC*tQV`n9Ml8&8~?1?&dR_SyDHhEbnL2RkJPcNvVZmn9Xl)8!*%SeWDnD^vywej$FL&VLv)NP zl0Dd8BF|X&ogF*Bf0w`CA>Y{fm6z}S#;ol4)onZPx#RT*W_Qi+q|4iRtYwiC>2{uK zS>!~zou^tBIgxJXsg^}fq}zF_WswuUaxAR!bA}7)nf2vRQ6X^<%HN}Z^g$JABM7qMG zO>rV!;o+t@k*@G~Q=CXwc)%$Rq$@n)6bI539&(BU=?afI#esB%2c6s3ZDgv6X^<{28t8u z3ZDmx6X^<{2#OQw3ZDsz1L+DM3W@{i3LguK1L+DM42lEk3Lg!M1L+DM4vGWmN}kUL z$%%A@PYA_{bcN3d#ffxrw*Og=cq%b^;zoRX?=z|X!^|a zyRyqG2TpH(nmS-wpQ84k)+ed`rp0M|W#4Iig4$*Lg3(|VoSb6Ovx{(4%k zQSX};C;654PU{uRFR$z|&6m0PAE(8ce&s#W;!MBtSJUE5zw(#UdY<}=X+1~%`Lv#; z{%l&$P`gj-Y3fg>^%V8)X+23{9lx-=8LWWax>NJ)>hcQQaq}?>@BZ)N-ULjpvpmzT zuUox$S6Mb#-moO^wybt7y~>tlt+u?%wk*4=j;iWZRd*vVvb+&v8!A<*y=#+g=&%I> z1e^>ZV8{pp0nAS(Y?EXl34bP�eQD3kfh;ubG6*{k)Q8$!_JEYp(hE4T#%E)n8Yg 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 u&JDW>-N=rF|5f+B*gj_?epU {\n\t\tthrow createNotImplementedError(name);\n\t};\n\treturn Object.assign(fn, { __unenv__: true });\n}\n/*@__NO_SIDE_EFFECTS__*/ export function notImplementedAsync(name) {\n\tconst fn = notImplemented(name);\n\tfn.__promisify__ = () => notImplemented(name + \".__promisify__\");\n\tfn.native = fn;\n\treturn fn;\n}\n/*@__NO_SIDE_EFFECTS__*/ export function notImplementedClass(name) {\n\treturn class {\n\t\t__unenv__ = true;\n\t\tconstructor() {\n\t\t\tthrow new Error(`[unenv] ${name} is not implemented yet!`);\n\t\t}\n\t};\n}\n", "import { createNotImplementedError } from \"../../../_internal/utils.mjs\";\nconst _timeOrigin = globalThis.performance?.timeOrigin ?? Date.now();\nconst _performanceNow = globalThis.performance?.now ? globalThis.performance.now.bind(globalThis.performance) : () => Date.now() - _timeOrigin;\nconst nodeTiming = {\n\tname: \"node\",\n\tentryType: \"node\",\n\tstartTime: 0,\n\tduration: 0,\n\tnodeStart: 0,\n\tv8Start: 0,\n\tbootstrapComplete: 0,\n\tenvironment: 0,\n\tloopStart: 0,\n\tloopExit: 0,\n\tidleTime: 0,\n\tuvMetricsInfo: {\n\t\tloopCount: 0,\n\t\tevents: 0,\n\t\teventsWaiting: 0\n\t},\n\tdetail: undefined,\n\ttoJSON() {\n\t\treturn this;\n\t}\n};\nexport class PerformanceEntry {\n\t__unenv__ = true;\n\tdetail;\n\tentryType = \"event\";\n\tname;\n\tstartTime;\n\tconstructor(name, options) {\n\t\tthis.name = name;\n\t\tthis.startTime = options?.startTime || _performanceNow();\n\t\tthis.detail = options?.detail;\n\t}\n\tget duration() {\n\t\treturn _performanceNow() - this.startTime;\n\t}\n\ttoJSON() {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tentryType: this.entryType,\n\t\t\tstartTime: this.startTime,\n\t\t\tduration: this.duration,\n\t\t\tdetail: this.detail\n\t\t};\n\t}\n}\nexport const PerformanceMark = class PerformanceMark extends PerformanceEntry {\n\tentryType = \"mark\";\n\tconstructor() {\n\t\tsuper(...arguments);\n\t}\n\tget duration() {\n\t\treturn 0;\n\t}\n};\nexport class PerformanceMeasure extends PerformanceEntry {\n\tentryType = \"measure\";\n}\nexport class PerformanceResourceTiming extends PerformanceEntry {\n\tentryType = \"resource\";\n\tserverTiming = [];\n\tconnectEnd = 0;\n\tconnectStart = 0;\n\tdecodedBodySize = 0;\n\tdomainLookupEnd = 0;\n\tdomainLookupStart = 0;\n\tencodedBodySize = 0;\n\tfetchStart = 0;\n\tinitiatorType = \"\";\n\tname = \"\";\n\tnextHopProtocol = \"\";\n\tredirectEnd = 0;\n\tredirectStart = 0;\n\trequestStart = 0;\n\tresponseEnd = 0;\n\tresponseStart = 0;\n\tsecureConnectionStart = 0;\n\tstartTime = 0;\n\ttransferSize = 0;\n\tworkerStart = 0;\n\tresponseStatus = 0;\n}\nexport class PerformanceObserverEntryList {\n\t__unenv__ = true;\n\tgetEntries() {\n\t\treturn [];\n\t}\n\tgetEntriesByName(_name, _type) {\n\t\treturn [];\n\t}\n\tgetEntriesByType(type) {\n\t\treturn [];\n\t}\n}\nexport class Performance {\n\t__unenv__ = true;\n\ttimeOrigin = _timeOrigin;\n\teventCounts = new Map();\n\t_entries = [];\n\t_resourceTimingBufferSize = 0;\n\tnavigation = undefined;\n\ttiming = undefined;\n\ttimerify(_fn, _options) {\n\t\tthrow createNotImplementedError(\"Performance.timerify\");\n\t}\n\tget nodeTiming() {\n\t\treturn nodeTiming;\n\t}\n\teventLoopUtilization() {\n\t\treturn {};\n\t}\n\tmarkResourceTiming() {\n\t\treturn new PerformanceResourceTiming(\"\");\n\t}\n\tonresourcetimingbufferfull = null;\n\tnow() {\n\t\tif (this.timeOrigin === _timeOrigin) {\n\t\t\treturn _performanceNow();\n\t\t}\n\t\treturn Date.now() - this.timeOrigin;\n\t}\n\tclearMarks(markName) {\n\t\tthis._entries = markName ? this._entries.filter((e) => e.name !== markName) : this._entries.filter((e) => e.entryType !== \"mark\");\n\t}\n\tclearMeasures(measureName) {\n\t\tthis._entries = measureName ? this._entries.filter((e) => e.name !== measureName) : this._entries.filter((e) => e.entryType !== \"measure\");\n\t}\n\tclearResourceTimings() {\n\t\tthis._entries = this._entries.filter((e) => e.entryType !== \"resource\" || e.entryType !== \"navigation\");\n\t}\n\tgetEntries() {\n\t\treturn this._entries;\n\t}\n\tgetEntriesByName(name, type) {\n\t\treturn this._entries.filter((e) => e.name === name && (!type || e.entryType === type));\n\t}\n\tgetEntriesByType(type) {\n\t\treturn this._entries.filter((e) => e.entryType === type);\n\t}\n\tmark(name, options) {\n\t\tconst entry = new PerformanceMark(name, options);\n\t\tthis._entries.push(entry);\n\t\treturn entry;\n\t}\n\tmeasure(measureName, startOrMeasureOptions, endMark) {\n\t\tlet start;\n\t\tlet end;\n\t\tif (typeof startOrMeasureOptions === \"string\") {\n\t\t\tstart = this.getEntriesByName(startOrMeasureOptions, \"mark\")[0]?.startTime;\n\t\t\tend = this.getEntriesByName(endMark, \"mark\")[0]?.startTime;\n\t\t} else {\n\t\t\tstart = Number.parseFloat(startOrMeasureOptions?.start) || this.now();\n\t\t\tend = Number.parseFloat(startOrMeasureOptions?.end) || this.now();\n\t\t}\n\t\tconst entry = new PerformanceMeasure(measureName, {\n\t\t\tstartTime: start,\n\t\t\tdetail: {\n\t\t\t\tstart,\n\t\t\t\tend\n\t\t\t}\n\t\t});\n\t\tthis._entries.push(entry);\n\t\treturn entry;\n\t}\n\tsetResourceTimingBufferSize(maxSize) {\n\t\tthis._resourceTimingBufferSize = maxSize;\n\t}\n\taddEventListener(type, listener, options) {\n\t\tthrow createNotImplementedError(\"Performance.addEventListener\");\n\t}\n\tremoveEventListener(type, listener, options) {\n\t\tthrow createNotImplementedError(\"Performance.removeEventListener\");\n\t}\n\tdispatchEvent(event) {\n\t\tthrow createNotImplementedError(\"Performance.dispatchEvent\");\n\t}\n\ttoJSON() {\n\t\treturn this;\n\t}\n}\nexport class PerformanceObserver {\n\t__unenv__ = true;\n\tstatic supportedEntryTypes = [];\n\t_callback = null;\n\tconstructor(callback) {\n\t\tthis._callback = callback;\n\t}\n\ttakeRecords() {\n\t\treturn [];\n\t}\n\tdisconnect() {\n\t\tthrow createNotImplementedError(\"PerformanceObserver.disconnect\");\n\t}\n\tobserve(options) {\n\t\tthrow createNotImplementedError(\"PerformanceObserver.observe\");\n\t}\n\tbind(fn) {\n\t\treturn fn;\n\t}\n\trunInAsyncScope(fn, thisArg, ...args) {\n\t\treturn fn.call(thisArg, ...args);\n\t}\n\tasyncId() {\n\t\treturn 0;\n\t}\n\ttriggerAsyncId() {\n\t\treturn 0;\n\t}\n\temitDestroy() {\n\t\treturn this;\n\t}\n}\nexport const performance = globalThis.performance && \"addEventListener\" in globalThis.performance ? globalThis.performance : new Performance();\n", "import { IntervalHistogram, RecordableHistogram } from \"./internal/perf_hooks/histogram.mjs\";\nimport { performance, Performance, PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceObserverEntryList, PerformanceObserver, PerformanceResourceTiming } from \"./internal/perf_hooks/performance.mjs\";\nexport * from \"./internal/perf_hooks/performance.mjs\";\nimport { NODE_PERFORMANCE_GC_MAJOR, NODE_PERFORMANCE_GC_MINOR, NODE_PERFORMANCE_GC_INCREMENTAL, NODE_PERFORMANCE_GC_WEAKCB, NODE_PERFORMANCE_GC_FLAGS_NO, NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED, NODE_PERFORMANCE_GC_FLAGS_FORCED, NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING, NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE, NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY, NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE, NODE_PERFORMANCE_ENTRY_TYPE_GC, NODE_PERFORMANCE_ENTRY_TYPE_HTTP, NODE_PERFORMANCE_ENTRY_TYPE_HTTP2, NODE_PERFORMANCE_ENTRY_TYPE_NET, NODE_PERFORMANCE_ENTRY_TYPE_DNS, NODE_PERFORMANCE_MILESTONE_TIME_ORIGIN_TIMESTAMP, NODE_PERFORMANCE_MILESTONE_TIME_ORIGIN, NODE_PERFORMANCE_MILESTONE_ENVIRONMENT, NODE_PERFORMANCE_MILESTONE_NODE_START, NODE_PERFORMANCE_MILESTONE_V8_START, NODE_PERFORMANCE_MILESTONE_LOOP_START, NODE_PERFORMANCE_MILESTONE_LOOP_EXIT, NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE } from \"./internal/perf_hooks/constants.mjs\";\nexport const constants = {\n\tNODE_PERFORMANCE_GC_MAJOR,\n\tNODE_PERFORMANCE_GC_MINOR,\n\tNODE_PERFORMANCE_GC_INCREMENTAL,\n\tNODE_PERFORMANCE_GC_WEAKCB,\n\tNODE_PERFORMANCE_GC_FLAGS_NO,\n\tNODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED,\n\tNODE_PERFORMANCE_GC_FLAGS_FORCED,\n\tNODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING,\n\tNODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE,\n\tNODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY,\n\tNODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE,\n\tNODE_PERFORMANCE_ENTRY_TYPE_GC,\n\tNODE_PERFORMANCE_ENTRY_TYPE_HTTP,\n\tNODE_PERFORMANCE_ENTRY_TYPE_HTTP2,\n\tNODE_PERFORMANCE_ENTRY_TYPE_NET,\n\tNODE_PERFORMANCE_ENTRY_TYPE_DNS,\n\tNODE_PERFORMANCE_MILESTONE_TIME_ORIGIN_TIMESTAMP,\n\tNODE_PERFORMANCE_MILESTONE_TIME_ORIGIN,\n\tNODE_PERFORMANCE_MILESTONE_ENVIRONMENT,\n\tNODE_PERFORMANCE_MILESTONE_NODE_START,\n\tNODE_PERFORMANCE_MILESTONE_V8_START,\n\tNODE_PERFORMANCE_MILESTONE_LOOP_START,\n\tNODE_PERFORMANCE_MILESTONE_LOOP_EXIT,\n\tNODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE\n};\nexport const monitorEventLoopDelay = function(_options) {\n\treturn new IntervalHistogram();\n};\nexport const createHistogram = function(_options) {\n\treturn new RecordableHistogram();\n};\nexport default {\n\tPerformance,\n\tPerformanceMark,\n\tPerformanceEntry,\n\tPerformanceMeasure,\n\tPerformanceObserverEntryList,\n\tPerformanceObserver,\n\tPerformanceResourceTiming,\n\tperformance,\n\tconstants,\n\tcreateHistogram,\n\tmonitorEventLoopDelay\n};\n", "import {\n performance,\n Performance,\n PerformanceEntry,\n PerformanceMark,\n PerformanceMeasure,\n PerformanceObserver,\n PerformanceObserverEntryList,\n PerformanceResourceTiming\n} from \"node:perf_hooks\";\nglobalThis.performance = performance;\nglobalThis.Performance = Performance;\nglobalThis.PerformanceEntry = PerformanceEntry;\nglobalThis.PerformanceMark = PerformanceMark;\nglobalThis.PerformanceMeasure = PerformanceMeasure;\nglobalThis.PerformanceObserver = PerformanceObserver;\nglobalThis.PerformanceObserverEntryList = PerformanceObserverEntryList;\nglobalThis.PerformanceResourceTiming = PerformanceResourceTiming;\n", "export default Object.assign(() => {}, { __unenv__: true });\n", "import { Writable } from \"node:stream\";\nimport noop from \"../mock/noop.mjs\";\nimport { notImplemented, notImplementedClass } from \"../_internal/utils.mjs\";\nconst _console = globalThis.console;\nexport const _ignoreErrors = true;\nexport const _stderr = new Writable();\nexport const _stdout = new Writable();\nexport const log = _console?.log ?? noop;\nexport const info = _console?.info ?? log;\nexport const trace = _console?.trace ?? info;\nexport const debug = _console?.debug ?? log;\nexport const table = _console?.table ?? log;\nexport const error = _console?.error ?? log;\nexport const warn = _console?.warn ?? error;\nexport const createTask = _console?.createTask ?? /*@__PURE__*/ notImplemented(\"console.createTask\");\nexport const assert = /*@__PURE__*/ notImplemented(\"console.assert\");\nexport const clear = _console?.clear ?? noop;\nexport const count = _console?.count ?? noop;\nexport const countReset = _console?.countReset ?? noop;\nexport const dir = _console?.dir ?? noop;\nexport const dirxml = _console?.dirxml ?? noop;\nexport const group = _console?.group ?? noop;\nexport const groupEnd = _console?.groupEnd ?? noop;\nexport const groupCollapsed = _console?.groupCollapsed ?? noop;\nexport const profile = _console?.profile ?? noop;\nexport const profileEnd = _console?.profileEnd ?? noop;\nexport const time = _console?.time ?? noop;\nexport const timeEnd = _console?.timeEnd ?? noop;\nexport const timeLog = _console?.timeLog ?? noop;\nexport const timeStamp = _console?.timeStamp ?? noop;\nexport const Console = _console?.Console ?? /*@__PURE__*/ notImplementedClass(\"console.Console\");\nexport const _times = /*@__PURE__*/ new Map();\nexport function context() {\n\treturn _console;\n}\nexport const _stdoutErrorHandler = noop;\nexport const _stderrErrorHandler = noop;\nexport default {\n\t_times,\n\t_ignoreErrors,\n\t_stdoutErrorHandler,\n\t_stderrErrorHandler,\n\t_stdout,\n\t_stderr,\n\tassert,\n\tclear,\n\tConsole,\n\tcount,\n\tcountReset,\n\tdebug,\n\tdir,\n\tdirxml,\n\terror,\n\tcontext,\n\tcreateTask,\n\tgroup,\n\tgroupEnd,\n\tgroupCollapsed,\n\tinfo,\n\tlog,\n\tprofile,\n\tprofileEnd,\n\ttable,\n\ttime,\n\ttimeEnd,\n\ttimeLog,\n\ttimeStamp,\n\ttrace,\n\twarn\n};\n", "import {\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times,\n Console\n} from \"unenv/node/console\";\nexport {\n Console,\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times\n} from \"unenv/node/console\";\nconst workerdConsole = globalThis[\"console\"];\nexport const {\n assert,\n clear,\n // @ts-expect-error undocumented public API\n context,\n count,\n countReset,\n // @ts-expect-error undocumented public API\n createTask,\n debug,\n dir,\n dirxml,\n error,\n group,\n groupCollapsed,\n groupEnd,\n info,\n log,\n profile,\n profileEnd,\n table,\n time,\n timeEnd,\n timeLog,\n timeStamp,\n trace,\n warn\n} = workerdConsole;\nObject.assign(workerdConsole, {\n Console,\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times\n});\nexport default workerdConsole;\n", "import { default as defaultExport } from \"@cloudflare/unenv-preset/node/console\";\nglobalThis.console = defaultExport;", "export const hrtime = /*@__PURE__*/ Object.assign(function hrtime(startTime) {\n\tconst now = Date.now();\n\tconst seconds = Math.trunc(now / 1e3);\n\tconst nanos = now % 1e3 * 1e6;\n\tif (startTime) {\n\t\tlet diffSeconds = seconds - startTime[0];\n\t\tlet diffNanos = nanos - startTime[0];\n\t\tif (diffNanos < 0) {\n\t\t\tdiffSeconds = diffSeconds - 1;\n\t\t\tdiffNanos = 1e9 + diffNanos;\n\t\t}\n\t\treturn [diffSeconds, diffNanos];\n\t}\n\treturn [seconds, nanos];\n}, { bigint: function bigint() {\n\treturn BigInt(Date.now() * 1e6);\n} });\n", "import { Socket } from \"node:net\";\nexport class ReadStream extends Socket {\n\tfd;\n\tconstructor(fd) {\n\t\tsuper();\n\t\tthis.fd = fd;\n\t}\n\tisRaw = false;\n\tsetRawMode(mode) {\n\t\tthis.isRaw = mode;\n\t\treturn this;\n\t}\n\tisTTY = false;\n}\n", "import { Socket } from \"node:net\";\nexport class WriteStream extends Socket {\n\tfd;\n\tconstructor(fd) {\n\t\tsuper();\n\t\tthis.fd = fd;\n\t}\n\tclearLine(dir, callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tclearScreenDown(callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tcursorTo(x, y, callback) {\n\t\tcallback && typeof callback === \"function\" && callback();\n\t\treturn false;\n\t}\n\tmoveCursor(dx, dy, callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tgetColorDepth(env) {\n\t\treturn 1;\n\t}\n\thasColors(count, env) {\n\t\treturn false;\n\t}\n\tgetWindowSize() {\n\t\treturn [this.columns, this.rows];\n\t}\n\tcolumns = 80;\n\trows = 24;\n\tisTTY = false;\n}\n", "import { ReadStream } from \"./internal/tty/read-stream.mjs\";\nimport { WriteStream } from \"./internal/tty/write-stream.mjs\";\nexport { ReadStream } from \"./internal/tty/read-stream.mjs\";\nexport { WriteStream } from \"./internal/tty/write-stream.mjs\";\nexport const isatty = function() {\n\treturn false;\n};\nexport default {\n\tReadStream,\n\tWriteStream,\n\tisatty\n};\n", "import { EventEmitter } from \"node:events\";\nimport { ReadStream, WriteStream } from \"node:tty\";\nimport { notImplemented, createNotImplementedError } from \"../../../_internal/utils.mjs\";\nexport class Process extends EventEmitter {\n\tenv;\n\thrtime;\n\tnextTick;\n\tconstructor(impl) {\n\t\tsuper();\n\t\tthis.env = impl.env;\n\t\tthis.hrtime = impl.hrtime;\n\t\tthis.nextTick = impl.nextTick;\n\t\tfor (const prop of [...Object.getOwnPropertyNames(Process.prototype), ...Object.getOwnPropertyNames(EventEmitter.prototype)]) {\n\t\t\tconst value = this[prop];\n\t\t\tif (typeof value === \"function\") {\n\t\t\t\tthis[prop] = value.bind(this);\n\t\t\t}\n\t\t}\n\t}\n\temitWarning(warning, type, code) {\n\t\tconsole.warn(`${code ? `[${code}] ` : \"\"}${type ? `${type}: ` : \"\"}${warning}`);\n\t}\n\temit(...args) {\n\t\treturn super.emit(...args);\n\t}\n\tlisteners(eventName) {\n\t\treturn super.listeners(eventName);\n\t}\n\t#stdin;\n\t#stdout;\n\t#stderr;\n\tget stdin() {\n\t\treturn this.#stdin ??= new ReadStream(0);\n\t}\n\tget stdout() {\n\t\treturn this.#stdout ??= new WriteStream(1);\n\t}\n\tget stderr() {\n\t\treturn this.#stderr ??= new WriteStream(2);\n\t}\n\t#cwd = \"/\";\n\tchdir(cwd) {\n\t\tthis.#cwd = cwd;\n\t}\n\tcwd() {\n\t\treturn this.#cwd;\n\t}\n\tarch = \"\";\n\tplatform = \"\";\n\targv = [];\n\targv0 = \"\";\n\texecArgv = [];\n\texecPath = \"\";\n\ttitle = \"\";\n\tpid = 200;\n\tppid = 100;\n\tget version() {\n\t\treturn \"\";\n\t}\n\tget versions() {\n\t\treturn {};\n\t}\n\tget allowedNodeEnvironmentFlags() {\n\t\treturn new Set();\n\t}\n\tget sourceMapsEnabled() {\n\t\treturn false;\n\t}\n\tget debugPort() {\n\t\treturn 0;\n\t}\n\tget throwDeprecation() {\n\t\treturn false;\n\t}\n\tget traceDeprecation() {\n\t\treturn false;\n\t}\n\tget features() {\n\t\treturn {};\n\t}\n\tget release() {\n\t\treturn {};\n\t}\n\tget connected() {\n\t\treturn false;\n\t}\n\tget config() {\n\t\treturn {};\n\t}\n\tget moduleLoadList() {\n\t\treturn [];\n\t}\n\tconstrainedMemory() {\n\t\treturn 0;\n\t}\n\tavailableMemory() {\n\t\treturn 0;\n\t}\n\tuptime() {\n\t\treturn 0;\n\t}\n\tresourceUsage() {\n\t\treturn {};\n\t}\n\tref() {}\n\tunref() {}\n\tumask() {\n\t\tthrow createNotImplementedError(\"process.umask\");\n\t}\n\tgetBuiltinModule() {\n\t\treturn undefined;\n\t}\n\tgetActiveResourcesInfo() {\n\t\tthrow createNotImplementedError(\"process.getActiveResourcesInfo\");\n\t}\n\texit() {\n\t\tthrow createNotImplementedError(\"process.exit\");\n\t}\n\treallyExit() {\n\t\tthrow createNotImplementedError(\"process.reallyExit\");\n\t}\n\tkill() {\n\t\tthrow createNotImplementedError(\"process.kill\");\n\t}\n\tabort() {\n\t\tthrow createNotImplementedError(\"process.abort\");\n\t}\n\tdlopen() {\n\t\tthrow createNotImplementedError(\"process.dlopen\");\n\t}\n\tsetSourceMapsEnabled() {\n\t\tthrow createNotImplementedError(\"process.setSourceMapsEnabled\");\n\t}\n\tloadEnvFile() {\n\t\tthrow createNotImplementedError(\"process.loadEnvFile\");\n\t}\n\tdisconnect() {\n\t\tthrow createNotImplementedError(\"process.disconnect\");\n\t}\n\tcpuUsage() {\n\t\tthrow createNotImplementedError(\"process.cpuUsage\");\n\t}\n\tsetUncaughtExceptionCaptureCallback() {\n\t\tthrow createNotImplementedError(\"process.setUncaughtExceptionCaptureCallback\");\n\t}\n\thasUncaughtExceptionCaptureCallback() {\n\t\tthrow createNotImplementedError(\"process.hasUncaughtExceptionCaptureCallback\");\n\t}\n\tinitgroups() {\n\t\tthrow createNotImplementedError(\"process.initgroups\");\n\t}\n\topenStdin() {\n\t\tthrow createNotImplementedError(\"process.openStdin\");\n\t}\n\tassert() {\n\t\tthrow createNotImplementedError(\"process.assert\");\n\t}\n\tbinding() {\n\t\tthrow createNotImplementedError(\"process.binding\");\n\t}\n\tpermission = { has: /*@__PURE__*/ notImplemented(\"process.permission.has\") };\n\treport = {\n\t\tdirectory: \"\",\n\t\tfilename: \"\",\n\t\tsignal: \"SIGUSR2\",\n\t\tcompact: false,\n\t\treportOnFatalError: false,\n\t\treportOnSignal: false,\n\t\treportOnUncaughtException: false,\n\t\tgetReport: /*@__PURE__*/ notImplemented(\"process.report.getReport\"),\n\t\twriteReport: /*@__PURE__*/ notImplemented(\"process.report.writeReport\")\n\t};\n\tfinalization = {\n\t\tregister: /*@__PURE__*/ notImplemented(\"process.finalization.register\"),\n\t\tunregister: /*@__PURE__*/ notImplemented(\"process.finalization.unregister\"),\n\t\tregisterBeforeExit: /*@__PURE__*/ notImplemented(\"process.finalization.registerBeforeExit\")\n\t};\n\tmemoryUsage = Object.assign(() => ({\n\t\tarrayBuffers: 0,\n\t\trss: 0,\n\t\texternal: 0,\n\t\theapTotal: 0,\n\t\theapUsed: 0\n\t}), { rss: () => 0 });\n\tmainModule = undefined;\n\tdomain = undefined;\n\tsend = undefined;\n\texitCode = undefined;\n\tchannel = undefined;\n\tgetegid = undefined;\n\tgeteuid = undefined;\n\tgetgid = undefined;\n\tgetgroups = undefined;\n\tgetuid = undefined;\n\tsetegid = undefined;\n\tseteuid = undefined;\n\tsetgid = undefined;\n\tsetgroups = undefined;\n\tsetuid = undefined;\n\t_events = undefined;\n\t_eventsCount = undefined;\n\t_exiting = undefined;\n\t_maxListeners = undefined;\n\t_debugEnd = undefined;\n\t_debugProcess = undefined;\n\t_fatalException = undefined;\n\t_getActiveHandles = undefined;\n\t_getActiveRequests = undefined;\n\t_kill = undefined;\n\t_preload_modules = undefined;\n\t_rawDebug = undefined;\n\t_startProfilerIdleNotifier = undefined;\n\t_stopProfilerIdleNotifier = undefined;\n\t_tickCallback = undefined;\n\t_disconnect = undefined;\n\t_handleQueue = undefined;\n\t_pendingMessage = undefined;\n\t_channel = undefined;\n\t_send = undefined;\n\t_linkedBinding = undefined;\n}\n", "import { hrtime as UnenvHrTime } from \"unenv/node/internal/process/hrtime\";\nimport { Process as UnenvProcess } from \"unenv/node/internal/process/process\";\nconst globalProcess = globalThis[\"process\"];\nexport const getBuiltinModule = globalProcess.getBuiltinModule;\nexport const { exit, platform, nextTick } = getBuiltinModule(\n \"node:process\"\n);\nconst unenvProcess = new UnenvProcess({\n env: globalProcess.env,\n hrtime: UnenvHrTime,\n nextTick\n});\nexport const {\n abort,\n addListener,\n allowedNodeEnvironmentFlags,\n hasUncaughtExceptionCaptureCallback,\n setUncaughtExceptionCaptureCallback,\n loadEnvFile,\n sourceMapsEnabled,\n arch,\n argv,\n argv0,\n chdir,\n config,\n connected,\n constrainedMemory,\n availableMemory,\n cpuUsage,\n cwd,\n debugPort,\n dlopen,\n disconnect,\n emit,\n emitWarning,\n env,\n eventNames,\n execArgv,\n execPath,\n finalization,\n features,\n getActiveResourcesInfo,\n getMaxListeners,\n hrtime,\n kill,\n listeners,\n listenerCount,\n memoryUsage,\n on,\n off,\n once,\n pid,\n ppid,\n prependListener,\n prependOnceListener,\n rawListeners,\n release,\n removeAllListeners,\n removeListener,\n report,\n resourceUsage,\n setMaxListeners,\n setSourceMapsEnabled,\n stderr,\n stdin,\n stdout,\n title,\n throwDeprecation,\n traceDeprecation,\n umask,\n uptime,\n version,\n versions,\n domain,\n initgroups,\n moduleLoadList,\n reallyExit,\n openStdin,\n assert,\n binding,\n send,\n exitCode,\n channel,\n getegid,\n geteuid,\n getgid,\n getgroups,\n getuid,\n setegid,\n seteuid,\n setgid,\n setgroups,\n setuid,\n permission,\n mainModule,\n _events,\n _eventsCount,\n _exiting,\n _maxListeners,\n _debugEnd,\n _debugProcess,\n _fatalException,\n _getActiveHandles,\n _getActiveRequests,\n _kill,\n _preload_modules,\n _rawDebug,\n _startProfilerIdleNotifier,\n _stopProfilerIdleNotifier,\n _tickCallback,\n _disconnect,\n _handleQueue,\n _pendingMessage,\n _channel,\n _send,\n _linkedBinding\n} = unenvProcess;\nconst _process = {\n abort,\n addListener,\n allowedNodeEnvironmentFlags,\n hasUncaughtExceptionCaptureCallback,\n setUncaughtExceptionCaptureCallback,\n loadEnvFile,\n sourceMapsEnabled,\n arch,\n argv,\n argv0,\n chdir,\n config,\n connected,\n constrainedMemory,\n availableMemory,\n cpuUsage,\n cwd,\n debugPort,\n dlopen,\n disconnect,\n emit,\n emitWarning,\n env,\n eventNames,\n execArgv,\n execPath,\n exit,\n finalization,\n features,\n getBuiltinModule,\n getActiveResourcesInfo,\n getMaxListeners,\n hrtime,\n kill,\n listeners,\n listenerCount,\n memoryUsage,\n nextTick,\n on,\n off,\n once,\n pid,\n platform,\n ppid,\n prependListener,\n prependOnceListener,\n rawListeners,\n release,\n removeAllListeners,\n removeListener,\n report,\n resourceUsage,\n setMaxListeners,\n setSourceMapsEnabled,\n stderr,\n stdin,\n stdout,\n title,\n throwDeprecation,\n traceDeprecation,\n umask,\n uptime,\n version,\n versions,\n // @ts-expect-error old API\n domain,\n initgroups,\n moduleLoadList,\n reallyExit,\n openStdin,\n assert,\n binding,\n send,\n exitCode,\n channel,\n getegid,\n geteuid,\n getgid,\n getgroups,\n getuid,\n setegid,\n seteuid,\n setgid,\n setgroups,\n setuid,\n permission,\n mainModule,\n _events,\n _eventsCount,\n _exiting,\n _maxListeners,\n _debugEnd,\n _debugProcess,\n _fatalException,\n _getActiveHandles,\n _getActiveRequests,\n _kill,\n _preload_modules,\n _rawDebug,\n _startProfilerIdleNotifier,\n _stopProfilerIdleNotifier,\n _tickCallback,\n _disconnect,\n _handleQueue,\n _pendingMessage,\n _channel,\n _send,\n _linkedBinding\n};\nexport default _process;\n", "import { default as defaultExport } from \"@cloudflare/unenv-preset/node/process\";\nglobalThis.process = defaultExport;", "", "// `esbuild` doesn't support returning `watch*` options from `onStart()`\n// plugin callbacks. Instead, we define an empty virtual module that is\n// imported by this injected file. Importing the module registers watchers.\nimport \"wrangler:modules-watch\";\n", "!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t) = new Map();\n private rolesByName: Map = new Map();\n private isInitialized: boolean = false;\n\n constructor() {\n // Singleton instance\n }\n\n /**\n * Fetch all roles from the database and cache them\n * This should be called during application startup\n */\n public async fetchRoles(): Promise {\n try {\n // const roles = await db.query.roleInfoTable.findMany();\n \n // // Clear existing maps before adding new data\n // this.roles.clear();\n // this.rolesByName.clear();\n \n // // Cache roles by ID and by name for quick lookup\n // roles.forEach(role => {\n // this.roles.set(role.id, role);\n // this.rolesByName.set(role.name, role);\n // });\n \n // this.isInitialized = true;\n // console.log(`[RoleManager] Cached ${roles.length} roles`);\n } catch (error) {\n console.error('[RoleManager] Error fetching roles:', error);\n throw error;\n }\n }\n\n /**\n * Get all roles from cache\n * If not initialized, fetches roles from DB first\n */\n public async getRoles(): Promise<{ id: number; name: string; description: string | null }[]> {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n return Array.from(this.roles.values());\n }\n\n /**\n * Get role by ID\n * @param id Role ID\n */\n public async getRoleById(id: number): Promise<{ id: number; name: string; description: string | null } | undefined> {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n return this.roles.get(id);\n }\n\n /**\n * Get role by name\n * @param name Role name\n */\n public async getRoleByName(name: string): Promise<{ id: number; name: string; description: string | null } | undefined> {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n return this.rolesByName.get(name);\n }\n\n /**\n * Check if a role exists by name\n * @param name Role name\n */\n public async roleExists(name: string): Promise {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n return this.rolesByName.has(name);\n }\n\n /**\n * Get business roles (roles that are not 'admin' or 'gen_user')\n */\n public async getBusinessRoles(): Promise<{ id: number; name: string; description: string | null }[]> {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n \n return Array.from(this.roles.values()).filter(\n role => role.name !== ROLE_NAMES.ADMIN && role.name !== ROLE_NAMES.GENERAL_USER\n );\n }\n\n /**\n * Force refresh the roles cache\n */\n public async refreshRoles(): Promise {\n await this.fetchRoles();\n }\n}\n\n// Create a singleton instance\nconst roleManager = new RoleManager();\n\n// Export the singleton instance\nexport default roleManager;\n", "export const entityKind = Symbol.for('drizzle:entityKind');\nexport const hasOwnEntityKind = Symbol.for('drizzle:hasOwnEntityKind');\n\nexport interface DrizzleEntity {\n\t[entityKind]: string;\n}\n\nexport type DrizzleEntityClass =\n\t& ((abstract new(...args: any[]) => T) | (new(...args: any[]) => T))\n\t& DrizzleEntity;\n\nexport function is>(value: any, type: T): value is InstanceType {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (value instanceof type) { // eslint-disable-line no-instanceof/no-instanceof\n\t\treturn true;\n\t}\n\n\tif (!Object.prototype.hasOwnProperty.call(type, entityKind)) {\n\t\tthrow new Error(\n\t\t\t`Class \"${\n\t\t\t\ttype.name ?? ''\n\t\t\t}\" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`,\n\t\t);\n\t}\n\n\tlet cls = Object.getPrototypeOf(value).constructor;\n\tif (cls) {\n\t\t// Traverse the prototype chain to find the entityKind\n\t\twhile (cls) {\n\t\t\tif (entityKind in cls && cls[entityKind] === type[entityKind]) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tcls = Object.getPrototypeOf(cls);\n\t\t}\n\t}\n\n\treturn false;\n}\n", "import { entityKind } from '~/entity.ts';\n\nexport interface Logger {\n\tlogQuery(query: string, params: unknown[]): void;\n}\n\nexport interface LogWriter {\n\twrite(message: string): void;\n}\n\nexport class ConsoleLogWriter implements LogWriter {\n\tstatic readonly [entityKind]: string = 'ConsoleLogWriter';\n\n\twrite(message: string) {\n\t\tconsole.log(message);\n\t}\n}\n\nexport class DefaultLogger implements Logger {\n\tstatic readonly [entityKind]: string = 'DefaultLogger';\n\n\treadonly writer: LogWriter;\n\n\tconstructor(config?: { writer: LogWriter }) {\n\t\tthis.writer = config?.writer ?? new ConsoleLogWriter();\n\t}\n\n\tlogQuery(query: string, params: unknown[]): void {\n\t\tconst stringifiedParams = params.map((p) => {\n\t\t\ttry {\n\t\t\t\treturn JSON.stringify(p);\n\t\t\t} catch {\n\t\t\t\treturn String(p);\n\t\t\t}\n\t\t});\n\t\tconst paramsStr = stringifiedParams.length ? ` -- params: [${stringifiedParams.join(', ')}]` : '';\n\t\tthis.writer.write(`Query: ${query}${paramsStr}`);\n\t}\n}\n\nexport class NoopLogger implements Logger {\n\tstatic readonly [entityKind]: string = 'NoopLogger';\n\n\tlogQuery(): void {\n\t\t// noop\n\t}\n}\n", "/** @internal */\nexport const TableName = Symbol.for('drizzle:Name');\n", "import type { Column, GetColumnData } from './column.ts';\nimport { entityKind } from './entity.ts';\nimport type { OptionalKeyOnly, RequiredKeyOnly } from './operations.ts';\nimport type { SQLWrapper } from './sql/sql.ts';\nimport { TableName } from './table.utils.ts';\nimport type { Simplify, Update } from './utils.ts';\n\nexport interface TableConfig> {\n\tname: string;\n\tschema: string | undefined;\n\tcolumns: Record;\n\tdialect: string;\n}\n\nexport type UpdateTableConfig> = Required<\n\tUpdate\n>;\n\n/** @internal */\nexport const Schema = Symbol.for('drizzle:Schema');\n\n/** @internal */\nexport const Columns = Symbol.for('drizzle:Columns');\n\n/** @internal */\nexport const ExtraConfigColumns = Symbol.for('drizzle:ExtraConfigColumns');\n\n/** @internal */\nexport const OriginalName = Symbol.for('drizzle:OriginalName');\n\n/** @internal */\nexport const BaseName = Symbol.for('drizzle:BaseName');\n\n/** @internal */\nexport const IsAlias = Symbol.for('drizzle:IsAlias');\n\n/** @internal */\nexport const ExtraConfigBuilder = Symbol.for('drizzle:ExtraConfigBuilder');\n\nconst IsDrizzleTable = Symbol.for('drizzle:IsDrizzleTable');\n\nexport interface Table<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends TableConfig = TableConfig,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\n\nexport class Table implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Table';\n\n\tdeclare readonly _: {\n\t\treadonly brand: 'Table';\n\t\treadonly config: T;\n\t\treadonly name: T['name'];\n\t\treadonly schema: T['schema'];\n\t\treadonly columns: T['columns'];\n\t\treadonly inferSelect: InferSelectModel>;\n\t\treadonly inferInsert: InferInsertModel>;\n\t};\n\n\tdeclare readonly $inferSelect: InferSelectModel>;\n\tdeclare readonly $inferInsert: InferInsertModel>;\n\n\t/** @internal */\n\tstatic readonly Symbol = {\n\t\tName: TableName as typeof TableName,\n\t\tSchema: Schema as typeof Schema,\n\t\tOriginalName: OriginalName as typeof OriginalName,\n\t\tColumns: Columns as typeof Columns,\n\t\tExtraConfigColumns: ExtraConfigColumns as typeof ExtraConfigColumns,\n\t\tBaseName: BaseName as typeof BaseName,\n\t\tIsAlias: IsAlias as typeof IsAlias,\n\t\tExtraConfigBuilder: ExtraConfigBuilder as typeof ExtraConfigBuilder,\n\t};\n\n\t/**\n\t * @internal\n\t * Can be changed if the table is aliased.\n\t */\n\t[TableName]: string;\n\n\t/**\n\t * @internal\n\t * Used to store the original name of the table, before any aliasing.\n\t */\n\t[OriginalName]: string;\n\n\t/** @internal */\n\t[Schema]: string | undefined;\n\n\t/** @internal */\n\t[Columns]!: T['columns'];\n\n\t/** @internal */\n\t[ExtraConfigColumns]!: Record;\n\n\t/**\n\t * @internal\n\t * Used to store the table name before the transformation via the `tableCreator` functions.\n\t */\n\t[BaseName]: string;\n\n\t/** @internal */\n\t[IsAlias] = false;\n\n\t/** @internal */\n\t[IsDrizzleTable] = true;\n\n\t/** @internal */\n\t[ExtraConfigBuilder]: ((self: any) => Record | unknown[]) | undefined = undefined;\n\n\tconstructor(name: string, schema: string | undefined, baseName: string) {\n\t\tthis[TableName] = this[OriginalName] = name;\n\t\tthis[Schema] = schema;\n\t\tthis[BaseName] = baseName;\n\t}\n}\n\nexport function isTable(table: unknown): table is Table {\n\treturn typeof table === 'object' && table !== null && IsDrizzleTable in table;\n}\n\n/**\n * Any table with a specified boundary.\n *\n * @example\n\t```ts\n\t// Any table with a specific name\n\ttype AnyUsersTable = AnyTable<{ name: 'users' }>;\n\t```\n *\n * To describe any table with any config, simply use `Table` without any type arguments, like this:\n *\n\t```ts\n\tfunction needsTable(table: Table) {\n\t\t...\n\t}\n\t```\n */\nexport type AnyTable> = Table>;\n\nexport function getTableName(table: T): T['_']['name'] {\n\treturn table[TableName];\n}\n\nexport function getTableUniqueName(table: T): `${T['_']['schema']}.${T['_']['name']}` {\n\treturn `${table[Schema] ?? 'public'}.${table[TableName]}`;\n}\n\nexport type MapColumnName =\n\tTDBColumNames extends true ? TColumn['_']['name']\n\t\t: TName;\n\nexport type InferModelFromColumns<\n\tTColumns extends Record,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },\n> = Simplify<\n\tTInferMode extends 'insert' ?\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as RequiredKeyOnly<\n\t\t\t\t\t\tMapColumnName,\n\t\t\t\t\t\tTColumns[Key]\n\t\t\t\t\t>\n\t\t\t\t]: GetColumnData;\n\t\t\t}\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as OptionalKeyOnly<\n\t\t\t\t\t\tMapColumnName,\n\t\t\t\t\t\tTColumns[Key],\n\t\t\t\t\t\tTConfig['override']\n\t\t\t\t\t>\n\t\t\t\t]?: GetColumnData | undefined;\n\t\t\t}\n\t\t: {\n\t\t\t[\n\t\t\t\tKey in keyof TColumns & string as MapColumnName<\n\t\t\t\t\tKey,\n\t\t\t\t\tTColumns[Key],\n\t\t\t\t\tTConfig['dbColumnNames']\n\t\t\t\t>\n\t\t\t]: GetColumnData;\n\t\t}\n>;\n\n/** @deprecated Use one of the alternatives: {@link InferSelectModel} / {@link InferInsertModel}, or `table.$inferSelect` / `table.$inferInsert`\n */\nexport type InferModel<\n\tTTable extends Table,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns;\n\nexport type InferSelectModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns;\n\nexport type InferInsertModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },\n> = InferModelFromColumns;\n\nexport type InferEnum = T extends { enumValues: readonly (infer U)[] } ? U\n\t: never;\n", "import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tGeneratedColumnConfig,\n\tGeneratedIdentityConfig,\n} from './column-builder.ts';\nimport { entityKind } from './entity.ts';\nimport type { DriverValueMapper, SQL, SQLWrapper } from './sql/sql.ts';\nimport type { Table } from './table.ts';\nimport type { Update } from './utils.ts';\n\nexport interface ColumnBaseConfig<\n\tTDataType extends ColumnDataType,\n\tTColumnType extends string,\n> extends ColumnBuilderBaseConfig {\n\ttableName: string;\n\tnotNull: boolean;\n\thasDefault: boolean;\n\tisPrimaryKey: boolean;\n\tisAutoincrement: boolean;\n\thasRuntimeDefault: boolean;\n}\n\nexport type ColumnTypeConfig, TTypeConfig extends object> = T & {\n\tbrand: 'Column';\n\ttableName: T['tableName'];\n\tname: T['name'];\n\tdataType: T['dataType'];\n\tcolumnType: T['columnType'];\n\tdata: T['data'];\n\tdriverParam: T['driverParam'];\n\tnotNull: T['notNull'];\n\thasDefault: T['hasDefault'];\n\tisPrimaryKey: T['isPrimaryKey'];\n\tisAutoincrement: T['isAutoincrement'];\n\thasRuntimeDefault: T['hasRuntimeDefault'];\n\tenumValues: T['enumValues'];\n\tbaseColumn: T extends { baseColumn: infer U } ? U : unknown;\n\tgenerated: GeneratedColumnConfig | undefined;\n\tidentity: undefined | 'always' | 'byDefault';\n} & TTypeConfig;\n\nexport type ColumnRuntimeConfig = ColumnBuilderRuntimeConfig<\n\tTData,\n\tTRuntimeConfig\n>;\n\nexport interface Column<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTRuntimeConfig extends object = object,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTTypeConfig extends object = object,\n> extends DriverValueMapper, SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\n/*\n\t`Column` only accepts a full `ColumnConfig` as its generic.\n\tTo infer parts of the config, use `AnyColumn` that accepts a partial config.\n\tSee `GetColumnData` for example usage of inferring.\n*/\nexport abstract class Column<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n> implements DriverValueMapper, SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Column';\n\n\tdeclare readonly _: ColumnTypeConfig;\n\n\treadonly name: string;\n\treadonly keyAsName: boolean;\n\treadonly primary: boolean;\n\treadonly notNull: boolean;\n\treadonly default: T['data'] | SQL | undefined;\n\treadonly defaultFn: (() => T['data'] | SQL) | undefined;\n\treadonly onUpdateFn: (() => T['data'] | SQL) | undefined;\n\treadonly hasDefault: boolean;\n\treadonly isUnique: boolean;\n\treadonly uniqueName: string | undefined;\n\treadonly uniqueType: string | undefined;\n\treadonly dataType: T['dataType'];\n\treadonly columnType: T['columnType'];\n\treadonly enumValues: T['enumValues'] = undefined;\n\treadonly generated: GeneratedColumnConfig | undefined = undefined;\n\treadonly generatedIdentity: GeneratedIdentityConfig | undefined = undefined;\n\n\tprotected config: ColumnRuntimeConfig;\n\n\tconstructor(\n\t\treadonly table: Table,\n\t\tconfig: ColumnRuntimeConfig,\n\t) {\n\t\tthis.config = config;\n\t\tthis.name = config.name;\n\t\tthis.keyAsName = config.keyAsName;\n\t\tthis.notNull = config.notNull;\n\t\tthis.default = config.default;\n\t\tthis.defaultFn = config.defaultFn;\n\t\tthis.onUpdateFn = config.onUpdateFn;\n\t\tthis.hasDefault = config.hasDefault;\n\t\tthis.primary = config.primaryKey;\n\t\tthis.isUnique = config.isUnique;\n\t\tthis.uniqueName = config.uniqueName;\n\t\tthis.uniqueType = config.uniqueType;\n\t\tthis.dataType = config.dataType as T['dataType'];\n\t\tthis.columnType = config.columnType;\n\t\tthis.generated = config.generated;\n\t\tthis.generatedIdentity = config.generatedIdentity;\n\t}\n\n\tabstract getSQLType(): string;\n\n\tmapFromDriverValue(value: unknown): unknown {\n\t\treturn value;\n\t}\n\n\tmapToDriverValue(value: unknown): unknown {\n\t\treturn value;\n\t}\n\n\t// ** @internal */\n\tshouldDisableInsert(): boolean {\n\t\treturn this.config.generated !== undefined && this.config.generated.type !== 'byDefault';\n\t}\n}\n\nexport type UpdateColConfig<\n\tT extends ColumnBaseConfig,\n\tTUpdate extends Partial>,\n> = Update;\n\nexport type AnyColumn> = {}> = Column<\n\tRequired, TPartial>>\n>;\n\nexport type GetColumnData =\n\t// dprint-ignore\n\tTInferMode extends 'raw' // Raw mode\n\t\t? TColumn['_']['data'] // Just return the underlying type\n\t\t: TColumn['_']['notNull'] extends true // Query mode\n\t\t? TColumn['_']['data'] // Query mode, not null\n\t\t: TColumn['_']['data'] | null; // Query mode, nullable\n\nexport type InferColumnsDataTypes> = {\n\t[Key in keyof TColumns]: GetColumnData;\n};\n", "import { entityKind } from '~/entity.ts';\nimport type { Column } from './column.ts';\nimport type { GelColumn, GelExtraConfigColumn } from './gel-core/index.ts';\nimport type { MySqlColumn } from './mysql-core/index.ts';\nimport type { ExtraConfigColumn, PgColumn, PgSequenceOptions } from './pg-core/index.ts';\nimport type { SingleStoreColumn } from './singlestore-core/index.ts';\nimport type { SQL } from './sql/sql.ts';\nimport type { SQLiteColumn } from './sqlite-core/index.ts';\nimport type { Assume, Simplify } from './utils.ts';\n\nexport type ColumnDataType =\n\t| 'string'\n\t| 'number'\n\t| 'boolean'\n\t| 'array'\n\t| 'json'\n\t| 'date'\n\t| 'bigint'\n\t| 'custom'\n\t| 'buffer'\n\t| 'dateDuration'\n\t| 'duration'\n\t| 'relDuration'\n\t| 'localTime'\n\t| 'localDate'\n\t| 'localDateTime';\n\nexport type Dialect = 'pg' | 'mysql' | 'sqlite' | 'singlestore' | 'common' | 'gel';\n\nexport type GeneratedStorageMode = 'virtual' | 'stored';\n\nexport type GeneratedType = 'always' | 'byDefault';\n\nexport type GeneratedColumnConfig = {\n\tas: TDataType | SQL | (() => SQL);\n\ttype?: GeneratedType;\n\tmode?: GeneratedStorageMode;\n};\n\nexport type GeneratedIdentityConfig = {\n\tsequenceName?: string;\n\tsequenceOptions?: PgSequenceOptions;\n\ttype: 'always' | 'byDefault';\n};\n\nexport interface ColumnBuilderBaseConfig {\n\tname: string;\n\tdataType: TDataType;\n\tcolumnType: TColumnType;\n\tdata: unknown;\n\tdriverParam: unknown;\n\tenumValues: string[] | undefined;\n}\n\nexport type MakeColumnConfig<\n\tT extends ColumnBuilderBaseConfig,\n\tTTableName extends string,\n\tTData = T extends { $type: infer U } ? U : T['data'],\n> = {\n\tname: T['name'];\n\ttableName: TTableName;\n\tdataType: T['dataType'];\n\tcolumnType: T['columnType'];\n\tdata: TData;\n\tdriverParam: T['driverParam'];\n\tnotNull: T extends { notNull: true } ? true : false;\n\thasDefault: T extends { hasDefault: true } ? true : false;\n\tisPrimaryKey: T extends { isPrimaryKey: true } ? true : false;\n\tisAutoincrement: T extends { isAutoincrement: true } ? true : false;\n\thasRuntimeDefault: T extends { hasRuntimeDefault: true } ? true : false;\n\tenumValues: T['enumValues'];\n\tbaseColumn: T extends { baseBuilder: infer U extends ColumnBuilderBase } ? BuildColumn\n\t\t: never;\n\tidentity: T extends { identity: 'always' } ? 'always' : T extends { identity: 'byDefault' } ? 'byDefault' : undefined;\n\tgenerated: T extends { generated: infer G } ? unknown extends G ? undefined\n\t\t: G extends undefined ? undefined\n\t\t: G\n\t\t: undefined;\n} & {};\n\nexport type ColumnBuilderTypeConfig<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends ColumnBuilderBaseConfig,\n\tTTypeConfig extends object = object,\n> = Simplify<\n\t& {\n\t\tbrand: 'ColumnBuilder';\n\t\tname: T['name'];\n\t\tdataType: T['dataType'];\n\t\tcolumnType: T['columnType'];\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverParam'];\n\t\tnotNull: T extends { notNull: infer U } ? U : boolean;\n\t\thasDefault: T extends { hasDefault: infer U } ? U : boolean;\n\t\tenumValues: T['enumValues'];\n\t\tidentity: T extends { identity: infer U } ? U : unknown;\n\t\tgenerated: T extends { generated: infer G } ? G extends undefined ? unknown : G : unknown;\n\t}\n\t& TTypeConfig\n>;\n\nexport type ColumnBuilderRuntimeConfig = {\n\tname: string;\n\tkeyAsName: boolean;\n\tnotNull: boolean;\n\tdefault: TData | SQL | undefined;\n\tdefaultFn: (() => TData | SQL) | undefined;\n\tonUpdateFn: (() => TData | SQL) | undefined;\n\thasDefault: boolean;\n\tprimaryKey: boolean;\n\tisUnique: boolean;\n\tuniqueName: string | undefined;\n\tuniqueType: string | undefined;\n\tdataType: string;\n\tcolumnType: string;\n\tgenerated: GeneratedColumnConfig | undefined;\n\tgeneratedIdentity: GeneratedIdentityConfig | undefined;\n} & TRuntimeConfig;\n\nexport interface ColumnBuilderExtraConfig {\n\tprimaryKeyHasDefault?: boolean;\n}\n\nexport type NotNull = T & {\n\t_: {\n\t\tnotNull: true;\n\t};\n};\n\nexport type HasDefault = T & {\n\t_: {\n\t\thasDefault: true;\n\t};\n};\n\nexport type IsPrimaryKey = T & {\n\t_: {\n\t\tisPrimaryKey: true;\n\t};\n};\n\nexport type IsAutoincrement = T & {\n\t_: {\n\t\tisAutoincrement: true;\n\t};\n};\n\nexport type HasRuntimeDefault = T & {\n\t_: {\n\t\thasRuntimeDefault: true;\n\t};\n};\n\nexport type $Type = T & {\n\t_: {\n\t\t$type: TType;\n\t};\n};\n\nexport type HasGenerated = T & {\n\t_: {\n\t\thasDefault: true;\n\t\tgenerated: TGenerated;\n\t};\n};\n\nexport type IsIdentity<\n\tT extends ColumnBuilderBase,\n\tTType extends 'always' | 'byDefault',\n> = T & {\n\t_: {\n\t\tnotNull: true;\n\t\thasDefault: true;\n\t\tidentity: TType;\n\t};\n};\nexport interface ColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTTypeConfig extends object = object,\n> {\n\t_: ColumnBuilderTypeConfig;\n}\n\n// To understand how to use `ColumnBuilder` and `AnyColumnBuilder`, see `Column` and `AnyColumn` documentation.\nexport abstract class ColumnBuilder<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> implements ColumnBuilderBase {\n\tstatic readonly [entityKind]: string = 'ColumnBuilder';\n\n\tdeclare _: ColumnBuilderTypeConfig;\n\n\tprotected config: ColumnBuilderRuntimeConfig;\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tthis.config = {\n\t\t\tname,\n\t\t\tkeyAsName: name === '',\n\t\t\tnotNull: false,\n\t\t\tdefault: undefined,\n\t\t\thasDefault: false,\n\t\t\tprimaryKey: false,\n\t\t\tisUnique: false,\n\t\t\tuniqueName: undefined,\n\t\t\tuniqueType: undefined,\n\t\t\tdataType,\n\t\t\tcolumnType,\n\t\t\tgenerated: undefined,\n\t\t} as ColumnBuilderRuntimeConfig;\n\t}\n\n\t/**\n\t * Changes the data type of the column. Commonly used with `json` columns. Also, useful for branded types.\n\t *\n\t * @example\n\t * ```ts\n\t * const users = pgTable('users', {\n\t * \tid: integer('id').$type().primaryKey(),\n\t * \tdetails: json('details').$type().notNull(),\n\t * });\n\t * ```\n\t */\n\t$type(): $Type {\n\t\treturn this as $Type;\n\t}\n\n\t/**\n\t * Adds a `not null` clause to the column definition.\n\t *\n\t * Affects the `select` model of the table - columns *without* `not null` will be nullable on select.\n\t */\n\tnotNull(): NotNull {\n\t\tthis.config.notNull = true;\n\t\treturn this as NotNull;\n\t}\n\n\t/**\n\t * Adds a `default ` clause to the column definition.\n\t *\n\t * Affects the `insert` model of the table - columns *with* `default` are optional on insert.\n\t *\n\t * If you need to set a dynamic default value, use {@link $defaultFn} instead.\n\t */\n\tdefault(value: (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL): HasDefault {\n\t\tthis.config.default = value;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault;\n\t}\n\n\t/**\n\t * Adds a dynamic default value to the column.\n\t * The function will be called when the row is inserted, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$defaultFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasRuntimeDefault> {\n\t\tthis.config.defaultFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasRuntimeDefault>;\n\t}\n\n\t/**\n\t * Alias for {@link $defaultFn}.\n\t */\n\t$default = this.$defaultFn;\n\n\t/**\n\t * Adds a dynamic update value to the column.\n\t * The function will be called when the row is updated, and the returned value will be used as the column value if none is provided.\n\t * If no `default` (or `$defaultFn`) value is provided, the function will be called when the row is inserted as well, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$onUpdateFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasDefault {\n\t\tthis.config.onUpdateFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault;\n\t}\n\n\t/**\n\t * Alias for {@link $onUpdateFn}.\n\t */\n\t$onUpdate = this.$onUpdateFn;\n\n\t/**\n\t * Adds a `primary key` clause to the column definition. This implicitly makes the column `not null`.\n\t *\n\t * In SQLite, `integer primary key` implicitly makes the column auto-incrementing.\n\t */\n\tprimaryKey(): TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey>>\n\t\t: IsPrimaryKey>\n\t{\n\t\tthis.config.primaryKey = true;\n\t\tthis.config.notNull = true;\n\t\treturn this as TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey>>\n\t\t\t: IsPrimaryKey>;\n\t}\n\n\tabstract generatedAlwaysAs(\n\t\tas: SQL | T['data'] | (() => SQL),\n\t\tconfig?: Partial>,\n\t): HasGenerated;\n\n\t/** @internal Sets the name of the column to the key within the table definition if a name was not given. */\n\tsetName(name: string) {\n\t\tif (this.config.name !== '') return;\n\t\tthis.config.name = name;\n\t}\n}\n\nexport type BuildColumn<\n\tTTableName extends string,\n\tTBuilder extends ColumnBuilderBase,\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? PgColumn<\n\t\tMakeColumnConfig,\n\t\t{},\n\t\tSimplify | 'brand' | 'dialect'>>\n\t>\n\t: TDialect extends 'mysql' ? MySqlColumn<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify<\n\t\t\t\tOmit<\n\t\t\t\t\tTBuilder['_'],\n\t\t\t\t\t| keyof MakeColumnConfig\n\t\t\t\t\t| 'brand'\n\t\t\t\t\t| 'dialect'\n\t\t\t\t\t| 'primaryKeyHasDefault'\n\t\t\t\t\t| 'mysqlColumnBuilderBrand'\n\t\t\t\t>\n\t\t\t>\n\t\t>\n\t: TDialect extends 'sqlite' ? SQLiteColumn<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify | 'brand' | 'dialect'>>\n\t\t>\n\t: TDialect extends 'common' ? Column<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify | 'brand' | 'dialect'>>\n\t\t>\n\t: TDialect extends 'singlestore' ? SingleStoreColumn<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify<\n\t\t\t\tOmit<\n\t\t\t\t\tTBuilder['_'],\n\t\t\t\t\t| keyof MakeColumnConfig\n\t\t\t\t\t| 'brand'\n\t\t\t\t\t| 'dialect'\n\t\t\t\t\t| 'primaryKeyHasDefault'\n\t\t\t\t\t| 'singlestoreColumnBuilderBrand'\n\t\t\t\t>\n\t\t\t>\n\t\t>\n\t: TDialect extends 'gel' ? GelColumn<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify | 'brand' | 'dialect'>>\n\t\t>\n\t: never;\n\nexport type BuildIndexColumn<\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? ExtraConfigColumn\n\t: TDialect extends 'gel' ? GelExtraConfigColumn\n\t: never;\n\n// TODO\n// try to make sql as well + indexRaw\n\n// optional after everything will be working as expected\n// also try to leave only needed methods for extraConfig\n// make an error if I pass .asc() to fk and so on\n\nexport type BuildColumns<\n\tTTableName extends string,\n\tTConfigMap extends Record,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildColumn\n\t\t\t\t& { name: TConfigMap[Key]['_']['name'] extends '' ? Assume : TConfigMap[Key]['_']['name'] };\n\t\t}, TDialect>;\n\t}\n\t& {};\n\nexport type BuildExtraConfigColumns<\n\t_TTableName extends string,\n\tTConfigMap extends Record,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildIndexColumn;\n\t}\n\t& {};\n\nexport type ChangeColumnTableName =\n\tTDialect extends 'pg' ? PgColumn>\n\t\t: TDialect extends 'mysql' ? MySqlColumn>\n\t\t: TDialect extends 'singlestore' ? SingleStoreColumn>\n\t\t: TDialect extends 'sqlite' ? SQLiteColumn>\n\t\t: TDialect extends 'gel' ? GelColumn>\n\t\t: never;\n", "import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { AnyPgColumn, PgColumn } from './columns/index.ts';\nimport type { PgTable } from './table.ts';\n\nexport type UpdateDeleteAction = 'cascade' | 'restrict' | 'no action' | 'set null' | 'set default';\n\nexport type Reference = () => {\n\treadonly name?: string;\n\treadonly columns: PgColumn[];\n\treadonly foreignTable: PgTable;\n\treadonly foreignColumns: PgColumn[];\n};\n\nexport class ForeignKeyBuilder {\n\tstatic readonly [entityKind]: string = 'PgForeignKeyBuilder';\n\n\t/** @internal */\n\treference: Reference;\n\n\t/** @internal */\n\t_onUpdate: UpdateDeleteAction | undefined = 'no action';\n\n\t/** @internal */\n\t_onDelete: UpdateDeleteAction | undefined = 'no action';\n\n\tconstructor(\n\t\tconfig: () => {\n\t\t\tname?: string;\n\t\t\tcolumns: PgColumn[];\n\t\t\tforeignColumns: PgColumn[];\n\t\t},\n\t\tactions?: {\n\t\t\tonUpdate?: UpdateDeleteAction;\n\t\t\tonDelete?: UpdateDeleteAction;\n\t\t} | undefined,\n\t) {\n\t\tthis.reference = () => {\n\t\t\tconst { name, columns, foreignColumns } = config();\n\t\t\treturn { name, columns, foreignTable: foreignColumns[0]!.table as PgTable, foreignColumns };\n\t\t};\n\t\tif (actions) {\n\t\t\tthis._onUpdate = actions.onUpdate;\n\t\t\tthis._onDelete = actions.onDelete;\n\t\t}\n\t}\n\n\tonUpdate(action: UpdateDeleteAction): this {\n\t\tthis._onUpdate = action === undefined ? 'no action' : action;\n\t\treturn this;\n\t}\n\n\tonDelete(action: UpdateDeleteAction): this {\n\t\tthis._onDelete = action === undefined ? 'no action' : action;\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tbuild(table: PgTable): ForeignKey {\n\t\treturn new ForeignKey(table, this);\n\t}\n}\n\nexport type AnyForeignKeyBuilder = ForeignKeyBuilder;\n\nexport class ForeignKey {\n\tstatic readonly [entityKind]: string = 'PgForeignKey';\n\n\treadonly reference: Reference;\n\treadonly onUpdate: UpdateDeleteAction | undefined;\n\treadonly onDelete: UpdateDeleteAction | undefined;\n\n\tconstructor(readonly table: PgTable, builder: ForeignKeyBuilder) {\n\t\tthis.reference = builder.reference;\n\t\tthis.onUpdate = builder._onUpdate;\n\t\tthis.onDelete = builder._onDelete;\n\t}\n\n\tgetName(): string {\n\t\tconst { name, columns, foreignColumns } = this.reference();\n\t\tconst columnNames = columns.map((column) => column.name);\n\t\tconst foreignColumnNames = foreignColumns.map((column) => column.name);\n\t\tconst chunks = [\n\t\t\tthis.table[TableName],\n\t\t\t...columnNames,\n\t\t\tforeignColumns[0]!.table[TableName],\n\t\t\t...foreignColumnNames,\n\t\t];\n\t\treturn name ?? `${chunks.join('_')}_fk`;\n\t}\n}\n\ntype ColumnsWithTable<\n\tTTableName extends string,\n\tTColumns extends PgColumn[],\n> = { [Key in keyof TColumns]: AnyPgColumn<{ tableName: TTableName }> };\n\nexport function foreignKey<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends [AnyPgColumn<{ tableName: TTableName }>, ...AnyPgColumn<{ tableName: TTableName }>[]],\n>(\n\tconfig: {\n\t\tname?: string;\n\t\tcolumns: TColumns;\n\t\tforeignColumns: ColumnsWithTable;\n\t},\n): ForeignKeyBuilder {\n\tfunction mappedConfig() {\n\t\tconst { name, columns, foreignColumns } = config;\n\t\treturn {\n\t\t\tname,\n\t\t\tcolumns,\n\t\t\tforeignColumns,\n\t\t};\n\t}\n\n\treturn new ForeignKeyBuilder(mappedConfig);\n}\n", "export function iife(fn: (...args: T) => U, ...args: T): U {\n\treturn fn(...args);\n}\n", "import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { PgColumn } from './columns/index.ts';\nimport type { PgTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: PgTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'PgUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: PgColumn[];\n\t/** @internal */\n\tnullsNotDistinctConfig = false;\n\n\tconstructor(\n\t\tcolumns: PgColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\tnullsNotDistinct() {\n\t\tthis.nullsNotDistinctConfig = true;\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tbuild(table: PgTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.nullsNotDistinctConfig, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'PgUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [PgColumn, ...PgColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'PgUniqueConstraint';\n\n\treadonly columns: PgColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: PgTable, columns: PgColumn[], nullsNotDistinct: boolean, name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t\tthis.nullsNotDistinct = nullsNotDistinct;\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n", "function parsePgArrayValue(arrayString: string, startFrom: number, inQuotes: boolean): [string, number] {\n\tfor (let i = startFrom; i < arrayString.length; i++) {\n\t\tconst char = arrayString[i];\n\n\t\tif (char === '\\\\') {\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === '\"') {\n\t\t\treturn [arrayString.slice(startFrom, i).replace(/\\\\/g, ''), i + 1];\n\t\t}\n\n\t\tif (inQuotes) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === ',' || char === '}') {\n\t\t\treturn [arrayString.slice(startFrom, i).replace(/\\\\/g, ''), i];\n\t\t}\n\t}\n\n\treturn [arrayString.slice(startFrom).replace(/\\\\/g, ''), arrayString.length];\n}\n\nexport function parsePgNestedArray(arrayString: string, startFrom = 0): [any[], number] {\n\tconst result: any[] = [];\n\tlet i = startFrom;\n\tlet lastCharIsComma = false;\n\n\twhile (i < arrayString.length) {\n\t\tconst char = arrayString[i];\n\n\t\tif (char === ',') {\n\t\t\tif (lastCharIsComma || i === startFrom) {\n\t\t\t\tresult.push('');\n\t\t\t}\n\t\t\tlastCharIsComma = true;\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tlastCharIsComma = false;\n\n\t\tif (char === '\\\\') {\n\t\t\ti += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === '\"') {\n\t\t\tconst [value, startFrom] = parsePgArrayValue(arrayString, i + 1, true);\n\t\t\tresult.push(value);\n\t\t\ti = startFrom;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === '}') {\n\t\t\treturn [result, i + 1];\n\t\t}\n\n\t\tif (char === '{') {\n\t\t\tconst [value, startFrom] = parsePgNestedArray(arrayString, i + 1);\n\t\t\tresult.push(value);\n\t\t\ti = startFrom;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [value, newStartFrom] = parsePgArrayValue(arrayString, i, false);\n\t\tresult.push(value);\n\t\ti = newStartFrom;\n\t}\n\n\treturn [result, i];\n}\n\nexport function parsePgArray(arrayString: string): any[] {\n\tconst [result] = parsePgNestedArray(arrayString, 1);\n\treturn result;\n}\n\nexport function makePgArray(array: any[]): string {\n\treturn `{${\n\t\tarray.map((item) => {\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\treturn makePgArray(item);\n\t\t\t}\n\n\t\t\tif (typeof item === 'string') {\n\t\t\t\treturn `\"${item.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"')}\"`;\n\t\t\t}\n\n\t\t\treturn `${item}`;\n\t\t}).join(',')\n\t}}`;\n}\n", "import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Simplify, Update } from '~/utils.ts';\n\nimport type { ForeignKey, UpdateDeleteAction } from '~/pg-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/pg-core/foreign-keys.ts';\nimport type { AnyPgTable, PgTable } from '~/pg-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { iife } from '~/tracing-utils.ts';\nimport type { PgIndexOpClass } from '../indexes.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\nimport { makePgArray, parsePgArray } from '../utils/array.ts';\n\nexport interface ReferenceConfig {\n\tref: () => PgColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface PgColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase {}\n\nexport abstract class PgColumnBuilder<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder\n\timplements PgColumnBuilderBase\n{\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\tstatic override readonly [entityKind]: string = 'PgColumnBuilder';\n\n\tarray(size?: TSize): PgArrayBuilder<\n\t\t& {\n\t\t\tname: T['name'];\n\t\t\tdataType: 'array';\n\t\t\tcolumnType: 'PgArray';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tenumValues: T['enumValues'];\n\t\t\tsize: TSize;\n\t\t\tbaseBuilder: T;\n\t\t}\n\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\tT\n\t> {\n\t\treturn new PgArrayBuilder(this.config.name, this as PgColumnBuilder, size as any);\n\t}\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tactions: ReferenceConfig['actions'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t\tconfig?: { nulls: 'distinct' | 'not distinct' },\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\tthis.config.uniqueType = config?.nulls;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL)): HasGenerated {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: 'stored',\n\t\t};\n\t\treturn this as HasGenerated;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: PgColumn, table: PgTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn iife(\n\t\t\t\t(ref, actions) => {\n\t\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t\t});\n\t\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t\t}\n\t\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t\t}\n\t\t\t\t\treturn builder.build(table);\n\t\t\t\t},\n\t\t\t\tref,\n\t\t\t\tactions,\n\t\t\t);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgColumn>;\n\n\t/** @internal */\n\tbuildExtraConfigColumn(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): ExtraConfigColumn {\n\t\treturn new ExtraConfigColumn(table, this.config);\n\t}\n}\n\n// To understand how to use `PgColumn` and `PgColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class PgColumn<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends Column {\n\tstatic override readonly [entityKind]: string = 'PgColumn';\n\n\tconstructor(\n\t\toverride readonly table: PgTable,\n\t\tconfig: ColumnBuilderRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type IndexedExtraConfigType = { order?: 'asc' | 'desc'; nulls?: 'first' | 'last'; opClass?: string };\n\nexport class ExtraConfigColumn<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n> extends PgColumn {\n\tstatic override readonly [entityKind]: string = 'ExtraConfigColumn';\n\n\toverride getSQLType(): string {\n\t\treturn this.getSQLType();\n\t}\n\n\tindexConfig: IndexedExtraConfigType = {\n\t\torder: this.config.order ?? 'asc',\n\t\tnulls: this.config.nulls ?? 'last',\n\t\topClass: this.config.opClass,\n\t};\n\tdefaultConfig: IndexedExtraConfigType = {\n\t\torder: 'asc',\n\t\tnulls: 'last',\n\t\topClass: undefined,\n\t};\n\n\tasc(): Omit {\n\t\tthis.indexConfig.order = 'asc';\n\t\treturn this;\n\t}\n\n\tdesc(): Omit {\n\t\tthis.indexConfig.order = 'desc';\n\t\treturn this;\n\t}\n\n\tnullsFirst(): Omit {\n\t\tthis.indexConfig.nulls = 'first';\n\t\treturn this;\n\t}\n\n\tnullsLast(): Omit {\n\t\tthis.indexConfig.nulls = 'last';\n\t\treturn this;\n\t}\n\n\t/**\n\t * ### PostgreSQL documentation quote\n\t *\n\t * > An operator class with optional parameters can be specified for each column of an index.\n\t * The operator class identifies the operators to be used by the index for that column.\n\t * For example, a B-tree index on four-byte integers would use the int4_ops class;\n\t * this operator class includes comparison functions for four-byte integers.\n\t * In practice the default operator class for the column's data type is usually sufficient.\n\t * The main point of having operator classes is that for some data types, there could be more than one meaningful ordering.\n\t * For example, we might want to sort a complex-number data type either by absolute value or by real part.\n\t * We could do this by defining two operator classes for the data type and then selecting the proper class when creating an index.\n\t * More information about operator classes check:\n\t *\n\t * ### Useful links\n\t * https://www.postgresql.org/docs/current/sql-createindex.html\n\t *\n\t * https://www.postgresql.org/docs/current/indexes-opclass.html\n\t *\n\t * https://www.postgresql.org/docs/current/xindex.html\n\t *\n\t * ### Additional types\n\t * If you have the `pg_vector` extension installed in your database, you can use the\n\t * `vector_l2_ops`, `vector_ip_ops`, `vector_cosine_ops`, `vector_l1_ops`, `bit_hamming_ops`, `bit_jaccard_ops`, `halfvec_l2_ops`, `sparsevec_l2_ops` options, which are predefined types.\n\t *\n\t * **You can always specify any string you want in the operator class, in case Drizzle doesn't have it natively in its types**\n\t *\n\t * @param opClass\n\t * @returns\n\t */\n\top(opClass: PgIndexOpClass): Omit {\n\t\tthis.indexConfig.opClass = opClass;\n\t\treturn this;\n\t}\n}\n\nexport class IndexedColumn {\n\tstatic readonly [entityKind]: string = 'IndexedColumn';\n\tconstructor(\n\t\tname: string | undefined,\n\t\tkeyAsName: boolean,\n\t\ttype: string,\n\t\tindexConfig: IndexedExtraConfigType,\n\t) {\n\t\tthis.name = name;\n\t\tthis.keyAsName = keyAsName;\n\t\tthis.type = type;\n\t\tthis.indexConfig = indexConfig;\n\t}\n\n\tname: string | undefined;\n\tkeyAsName: boolean;\n\ttype: string;\n\tindexConfig: IndexedExtraConfigType;\n}\n\nexport type AnyPgColumn> = {}> = PgColumn<\n\tRequired, TPartial>>\n>;\n\nexport type PgArrayColumnBuilderBaseConfig = ColumnBuilderBaseConfig<'array', 'PgArray'> & {\n\tsize: number | undefined;\n\tbaseBuilder: ColumnBuilderBaseConfig;\n};\n\nexport class PgArrayBuilder<\n\tT extends PgArrayColumnBuilderBaseConfig,\n\tTBase extends ColumnBuilderBaseConfig | PgArrayColumnBuilderBaseConfig,\n> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tbaseBuilder: TBase extends PgArrayColumnBuilderBaseConfig ? PgArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: PgColumnBuilder>>>;\n\t\tsize: T['size'];\n\t},\n\t{\n\t\tbaseBuilder: TBase extends PgArrayColumnBuilderBaseConfig ? PgArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: PgColumnBuilder>>>;\n\t\tsize: T['size'];\n\t}\n> {\n\tstatic override readonly [entityKind] = 'PgArrayBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tbaseBuilder: PgArrayBuilder['config']['baseBuilder'],\n\t\tsize: T['size'],\n\t) {\n\t\tsuper(name, 'array', 'PgArray');\n\t\tthis.config.baseBuilder = baseBuilder;\n\t\tthis.config.size = size;\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgArray & { size: T['size']; baseBuilder: T['baseBuilder'] }, TBase> {\n\t\tconst baseColumn = this.config.baseBuilder.build(table);\n\t\treturn new PgArray & { size: T['size']; baseBuilder: T['baseBuilder'] }, TBase>(\n\t\t\ttable as AnyPgTable<{ name: MakeColumnConfig['tableName'] }>,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t\tbaseColumn,\n\t\t);\n\t}\n}\n\nexport class PgArray<\n\tT extends ColumnBaseConfig<'array', 'PgArray'> & {\n\t\tsize: number | undefined;\n\t\tbaseBuilder: ColumnBuilderBaseConfig;\n\t},\n\tTBase extends ColumnBuilderBaseConfig,\n> extends PgColumn {\n\treadonly size: T['size'];\n\n\tstatic override readonly [entityKind]: string = 'PgArray';\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgArrayBuilder['config'],\n\t\treadonly baseColumn: PgColumn,\n\t\treadonly range?: [number | undefined, number | undefined],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.size = config.size;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `${this.baseColumn.getSQLType()}[${typeof this.size === 'number' ? this.size : ''}]`;\n\t}\n\n\toverride mapFromDriverValue(value: unknown[] | string): T['data'] {\n\t\tif (typeof value === 'string') {\n\t\t\t// Thank you node-postgres for not parsing enum arrays\n\t\t\tvalue = parsePgArray(value);\n\t\t}\n\t\treturn value.map((v) => this.baseColumn.mapFromDriverValue(v));\n\t}\n\n\toverride mapToDriverValue(value: unknown[], isNestedArray = false): unknown[] | string {\n\t\tconst a = value.map((v) =>\n\t\t\tv === null\n\t\t\t\t? null\n\t\t\t\t: is(this.baseColumn, PgArray)\n\t\t\t\t? this.baseColumn.mapToDriverValue(v as unknown[], true)\n\t\t\t\t: this.baseColumn.mapToDriverValue(v)\n\t\t);\n\t\tif (isNestedArray) return a;\n\t\treturn makePgArray(a);\n\t}\n}\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\n\nexport type PgEnumObjectColumnBuilderInitial = PgEnumObjectColumnBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgEnumObjectColumn';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}>;\n\nexport interface PgEnumObject {\n\t(): PgEnumObjectColumnBuilderInitial<'', TValues>;\n\t(name: TName): PgEnumObjectColumnBuilderInitial;\n\t(name?: TName): PgEnumObjectColumnBuilderInitial;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: string[] },\n> extends PgColumnBuilder }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnumObject) {\n\t\tsuper(name, 'string', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumObjectColumn> {\n\t\treturn new PgEnumObjectColumn>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn & { enumValues: object }>\n\textends PgColumn }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumObjectColumnBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nexport type PgEnumColumnBuilderInitial =\n\tPgEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'PgEnumColumn';\n\t\tdata: TValues[number];\n\t\tenumValues: TValues;\n\t\tdriverParam: string;\n\t}>;\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum {\n\t(): PgEnumColumnBuilderInitial<'', TValues>;\n\t(name: TName): PgEnumColumnBuilderInitial;\n\t(name?: TName): PgEnumColumnBuilderInitial;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },\n> extends PgColumnBuilder }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnum) {\n\t\tsuper(name, 'string', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumColumn> {\n\t\treturn new PgEnumColumn>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn & { enumValues: [string, ...string[]] }>\n\textends PgColumn }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumColumnBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum>(\n\tenumName: string,\n\tvalues: T | Writable,\n): PgEnum>;\n\nexport function pgEnum>(\n\tenumName: string,\n\tenumObj: NonArray,\n): PgEnumObject;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema>(\n\tenumName: string,\n\tvalues: T | Writable,\n\tschema?: string,\n): PgEnum> {\n\tconst enumInstance: PgEnum> = Object.assign(\n\t\t(name?: TName): PgEnumColumnBuilderInitial> =>\n\t\t\tnew PgEnumColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject {\n\tconst enumInstance: PgEnumObject = Object.assign(\n\t\t(name?: TName): PgEnumObjectColumnBuilderInitial =>\n\t\t\tnew PgEnumObjectColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n", "import { entityKind } from './entity.ts';\nimport type { SQL, SQLWrapper } from './sql/sql.ts';\n\nexport interface Subquery<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTAlias extends string = string,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTSelectedFields extends Record = Record,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\nexport class Subquery<\n\tTAlias extends string = string,\n\tTSelectedFields extends Record = Record,\n> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Subquery';\n\n\tdeclare _: {\n\t\tbrand: 'Subquery';\n\t\tsql: SQL;\n\t\tselectedFields: TSelectedFields;\n\t\talias: TAlias;\n\t\tisWith: boolean;\n\t\tusedTables?: string[];\n\t};\n\n\tconstructor(sql: SQL, fields: TSelectedFields, alias: string, isWith = false, usedTables: string[] = []) {\n\t\tthis._ = {\n\t\t\tbrand: 'Subquery',\n\t\t\tsql,\n\t\t\tselectedFields: fields as TSelectedFields,\n\t\t\talias: alias as TAlias,\n\t\t\tisWith,\n\t\t\tusedTables,\n\t\t};\n\t}\n\n\t// getSQL(): SQL {\n\t// \treturn new SQL([this]);\n\t// }\n}\n\nexport class WithSubquery<\n\tTAlias extends string = string,\n\tTSelection extends Record = Record,\n> extends Subquery {\n\tstatic override readonly [entityKind]: string = 'WithSubquery';\n}\n\nexport type WithSubqueryWithoutSelection = WithSubquery;\n", "// package.json\nvar version = \"0.44.7\";\n\n// src/version.ts\nvar compatibilityVersion = 10;\nexport {\n compatibilityVersion,\n version as npmVersion\n};\n", "import type { Span, Tracer } from '@opentelemetry/api';\nimport { iife } from '~/tracing-utils.ts';\nimport { npmVersion } from '~/version.ts';\n\nlet otel: typeof import('@opentelemetry/api') | undefined;\nlet rawTracer: Tracer | undefined;\n// try {\n// \totel = await import('@opentelemetry/api');\n// } catch (err: any) {\n// \tif (err.code !== 'MODULE_NOT_FOUND' && err.code !== 'ERR_MODULE_NOT_FOUND') {\n// \t\tthrow err;\n// \t}\n// }\n\ntype SpanName =\n\t| 'drizzle.operation'\n\t| 'drizzle.prepareQuery'\n\t| 'drizzle.buildSQL'\n\t| 'drizzle.execute'\n\t| 'drizzle.driver.execute'\n\t| 'drizzle.mapResponse';\n\n/** @internal */\nexport const tracer = {\n\tstartActiveSpan unknown>(name: SpanName, fn: F): ReturnType {\n\t\tif (!otel) {\n\t\t\treturn fn() as ReturnType;\n\t\t}\n\n\t\tif (!rawTracer) {\n\t\t\trawTracer = otel.trace.getTracer('drizzle-orm', npmVersion);\n\t\t}\n\n\t\treturn iife(\n\t\t\t(otel, rawTracer) =>\n\t\t\t\trawTracer.startActiveSpan(\n\t\t\t\t\tname,\n\t\t\t\t\t((span: Span) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\treturn fn(span);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\t\t\tcode: otel.SpanStatusCode.ERROR,\n\t\t\t\t\t\t\t\tmessage: e instanceof Error ? e.message : 'Unknown error', // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthrow e;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tspan.end();\n\t\t\t\t\t\t}\n\t\t\t\t\t}) as F,\n\t\t\t\t),\n\t\t\totel,\n\t\t\trawTracer,\n\t\t);\n\t},\n};\n", "export const ViewBaseConfig = Symbol.for('drizzle:ViewBaseConfig');\n", "import type { CasingCache } from '~/casing.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { isPgEnum } from '~/pg-core/columns/enum.ts';\nimport type { SelectResult } from '~/query-builders/select.types.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { AnyColumn } from '../column.ts';\nimport { Column } from '../column.ts';\nimport { IsAlias, Table } from '../table.ts';\n\n/**\n * This class is used to indicate a primitive param value that is used in `sql` tag.\n * It is only used on type level and is never instantiated at runtime.\n * If you see a value of this type in the code, its runtime value is actually the primitive param value.\n */\nexport class FakePrimitiveParam {\n\tstatic readonly [entityKind]: string = 'FakePrimitiveParam';\n}\n\nexport type Chunk =\n\t| string\n\t| Table\n\t| View\n\t| AnyColumn\n\t| Name\n\t| Param\n\t| Placeholder\n\t| SQL;\n\nexport interface BuildQueryConfig {\n\tcasing: CasingCache;\n\tescapeName(name: string): string;\n\tescapeParam(num: number, value: unknown): string;\n\tescapeString(str: string): string;\n\tprepareTyping?: (encoder: DriverValueEncoder) => QueryTypingsValue;\n\tparamStartIndex?: { value: number };\n\tinlineParams?: boolean;\n\tinvokeSource?: 'indexes' | undefined;\n}\n\nexport type QueryTypingsValue = 'json' | 'decimal' | 'time' | 'timestamp' | 'uuid' | 'date' | 'none';\n\nexport interface Query {\n\tsql: string;\n\tparams: unknown[];\n}\n\nexport interface QueryWithTypings extends Query {\n\ttypings?: QueryTypingsValue[];\n}\n\n/**\n * Any value that implements the `getSQL` method. The implementations include:\n * - `Table`\n * - `Column`\n * - `View`\n * - `Subquery`\n * - `SQL`\n * - `SQL.Aliased`\n * - `Placeholder`\n * - `Param`\n */\nexport interface SQLWrapper {\n\tgetSQL(): SQL;\n\tshouldOmitSQLParens?(): boolean;\n}\n\nexport function isSQLWrapper(value: unknown): value is SQLWrapper {\n\treturn value !== null && value !== undefined && typeof (value as any).getSQL === 'function';\n}\n\nfunction mergeQueries(queries: QueryWithTypings[]): QueryWithTypings {\n\tconst result: QueryWithTypings = { sql: '', params: [] };\n\tfor (const query of queries) {\n\t\tresult.sql += query.sql;\n\t\tresult.params.push(...query.params);\n\t\tif (query.typings?.length) {\n\t\t\tif (!result.typings) {\n\t\t\t\tresult.typings = [];\n\t\t\t}\n\t\t\tresult.typings.push(...query.typings);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport class StringChunk implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'StringChunk';\n\n\treadonly value: string[];\n\n\tconstructor(value: string | string[]) {\n\t\tthis.value = Array.isArray(value) ? value : [value];\n\t}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\nexport class SQL implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'SQL';\n\n\tdeclare _: {\n\t\tbrand: 'SQL';\n\t\ttype: T;\n\t};\n\n\t/** @internal */\n\tdecoder: DriverValueDecoder = noopDecoder;\n\tprivate shouldInlineParams = false;\n\n\t/** @internal */\n\tusedTables: string[] = [];\n\n\tconstructor(readonly queryChunks: SQLChunk[]) {\n\t\tfor (const chunk of queryChunks) {\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\n\t\t\t\tthis.usedTables.push(\n\t\t\t\t\tschemaName === undefined\n\t\t\t\t\t\t? chunk[Table.Symbol.Name]\n\t\t\t\t\t\t: schemaName + '.' + chunk[Table.Symbol.Name],\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tappend(query: SQL): this {\n\t\tthis.queryChunks.push(...query.queryChunks);\n\t\treturn this;\n\t}\n\n\ttoQuery(config: BuildQueryConfig): QueryWithTypings {\n\t\treturn tracer.startActiveSpan('drizzle.buildSQL', (span) => {\n\t\t\tconst query = this.buildQueryFromSourceParams(this.queryChunks, config);\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': query.sql,\n\t\t\t\t'drizzle.query.params': JSON.stringify(query.params),\n\t\t\t});\n\t\t\treturn query;\n\t\t});\n\t}\n\n\tbuildQueryFromSourceParams(chunks: SQLChunk[], _config: BuildQueryConfig): Query {\n\t\tconst config = Object.assign({}, _config, {\n\t\t\tinlineParams: _config.inlineParams || this.shouldInlineParams,\n\t\t\tparamStartIndex: _config.paramStartIndex || { value: 0 },\n\t\t});\n\n\t\tconst {\n\t\t\tcasing,\n\t\t\tescapeName,\n\t\t\tescapeParam,\n\t\t\tprepareTyping,\n\t\t\tinlineParams,\n\t\t\tparamStartIndex,\n\t\t} = config;\n\n\t\treturn mergeQueries(chunks.map((chunk): QueryWithTypings => {\n\t\t\tif (is(chunk, StringChunk)) {\n\t\t\t\treturn { sql: chunk.value.join(''), params: [] };\n\t\t\t}\n\n\t\t\tif (is(chunk, Name)) {\n\t\t\t\treturn { sql: escapeName(chunk.value), params: [] };\n\t\t\t}\n\n\t\t\tif (chunk === undefined) {\n\t\t\t\treturn { sql: '', params: [] };\n\t\t\t}\n\n\t\t\tif (Array.isArray(chunk)) {\n\t\t\t\tconst result: SQLChunk[] = [new StringChunk('(')];\n\t\t\t\tfor (const [i, p] of chunk.entries()) {\n\t\t\t\t\tresult.push(p);\n\t\t\t\t\tif (i < chunk.length - 1) {\n\t\t\t\t\t\tresult.push(new StringChunk(', '));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult.push(new StringChunk(')'));\n\t\t\t\treturn this.buildQueryFromSourceParams(result, config);\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL)) {\n\t\t\t\treturn this.buildQueryFromSourceParams(chunk.queryChunks, {\n\t\t\t\t\t...config,\n\t\t\t\t\tinlineParams: inlineParams || chunk.shouldInlineParams,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\t\tconst tableName = chunk[Table.Symbol.Name];\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[IsAlias]\n\t\t\t\t\t\t? escapeName(tableName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(tableName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Column)) {\n\t\t\t\tconst columnName = casing.getColumnCasing(chunk);\n\t\t\t\tif (_config.invokeSource === 'indexes') {\n\t\t\t\t\treturn { sql: escapeName(columnName), params: [] };\n\t\t\t\t}\n\n\t\t\t\tconst schemaName = chunk.table[Table.Symbol.Schema];\n\t\t\t\treturn {\n\t\t\t\t\tsql: chunk.table[IsAlias] || schemaName === undefined\n\t\t\t\t\t\t? escapeName(chunk.table[Table.Symbol.Name]) + '.' + escapeName(columnName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(chunk.table[Table.Symbol.Name]) + '.'\n\t\t\t\t\t\t\t+ escapeName(columnName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, View)) {\n\t\t\t\tconst schemaName = chunk[ViewBaseConfig].schema;\n\t\t\t\tconst viewName = chunk[ViewBaseConfig].name;\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[ViewBaseConfig].isAlias\n\t\t\t\t\t\t? escapeName(viewName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(viewName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Param)) {\n\t\t\t\tif (is(chunk.value, Placeholder)) {\n\t\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t\t}\n\n\t\t\t\tconst mappedValue = chunk.value === null ? null : chunk.encoder.mapToDriverValue(chunk.value);\n\n\t\t\t\tif (is(mappedValue, SQL)) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([mappedValue], config);\n\t\t\t\t}\n\n\t\t\t\tif (inlineParams) {\n\t\t\t\t\treturn { sql: this.mapInlineParam(mappedValue, config), params: [] };\n\t\t\t\t}\n\n\t\t\t\tlet typings: QueryTypingsValue[] = ['none'];\n\t\t\t\tif (prepareTyping) {\n\t\t\t\t\ttypings = [prepareTyping(chunk.encoder)];\n\t\t\t\t}\n\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, mappedValue), params: [mappedValue], typings };\n\t\t\t}\n\n\t\t\tif (is(chunk, Placeholder)) {\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL.Aliased) && chunk.fieldAlias !== undefined) {\n\t\t\t\treturn { sql: escapeName(chunk.fieldAlias), params: [] };\n\t\t\t}\n\n\t\t\tif (is(chunk, Subquery)) {\n\t\t\t\tif (chunk._.isWith) {\n\t\t\t\t\treturn { sql: escapeName(chunk._.alias), params: [] };\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk._.sql,\n\t\t\t\t\tnew StringChunk(') '),\n\t\t\t\t\tnew Name(chunk._.alias),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (isPgEnum(chunk)) {\n\t\t\t\tif (chunk.schema) {\n\t\t\t\t\treturn { sql: escapeName(chunk.schema) + '.' + escapeName(chunk.enumName), params: [] };\n\t\t\t\t}\n\t\t\t\treturn { sql: escapeName(chunk.enumName), params: [] };\n\t\t\t}\n\n\t\t\tif (isSQLWrapper(chunk)) {\n\t\t\t\tif (chunk.shouldOmitSQLParens?.()) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([chunk.getSQL()], config);\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk.getSQL(),\n\t\t\t\t\tnew StringChunk(')'),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (inlineParams) {\n\t\t\t\treturn { sql: this.mapInlineParam(chunk, config), params: [] };\n\t\t\t}\n\n\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t}));\n\t}\n\n\tprivate mapInlineParam(\n\t\tchunk: unknown,\n\t\t{ escapeString }: BuildQueryConfig,\n\t): string {\n\t\tif (chunk === null) {\n\t\t\treturn 'null';\n\t\t}\n\t\tif (typeof chunk === 'number' || typeof chunk === 'boolean') {\n\t\t\treturn chunk.toString();\n\t\t}\n\t\tif (typeof chunk === 'string') {\n\t\t\treturn escapeString(chunk);\n\t\t}\n\t\tif (typeof chunk === 'object') {\n\t\t\tconst mappedValueAsString = chunk.toString();\n\t\t\tif (mappedValueAsString === '[object Object]') {\n\t\t\t\treturn escapeString(JSON.stringify(chunk));\n\t\t\t}\n\t\t\treturn escapeString(mappedValueAsString);\n\t\t}\n\t\tthrow new Error('Unexpected param value: ' + chunk);\n\t}\n\n\tgetSQL(): SQL {\n\t\treturn this;\n\t}\n\n\tas(alias: string): SQL.Aliased;\n\t/**\n\t * @deprecated\n\t * Use ``sql`query`.as(alias)`` instead.\n\t */\n\tas(): SQL;\n\t/**\n\t * @deprecated\n\t * Use ``sql`query`.as(alias)`` instead.\n\t */\n\tas(alias: string): SQL.Aliased;\n\tas(alias?: string): SQL | SQL.Aliased {\n\t\t// TODO: remove with deprecated overloads\n\t\tif (alias === undefined) {\n\t\t\treturn this;\n\t\t}\n\n\t\treturn new SQL.Aliased(this, alias);\n\t}\n\n\tmapWith<\n\t\tTDecoder extends\n\t\t\t| DriverValueDecoder\n\t\t\t| DriverValueDecoder['mapFromDriverValue'],\n\t>(decoder: TDecoder): SQL> {\n\t\tthis.decoder = typeof decoder === 'function' ? { mapFromDriverValue: decoder } : decoder;\n\t\treturn this as SQL>;\n\t}\n\n\tinlineParams(): this {\n\t\tthis.shouldInlineParams = true;\n\t\treturn this;\n\t}\n\n\t/**\n\t * This method is used to conditionally include a part of the query.\n\t *\n\t * @param condition - Condition to check\n\t * @returns itself if the condition is `true`, otherwise `undefined`\n\t */\n\tif(condition: any | undefined): this | undefined {\n\t\treturn condition ? this : undefined;\n\t}\n}\n\nexport type GetDecoderResult = T extends Column ? T['_']['data'] : T extends\n\t| DriverValueDecoder\n\t| DriverValueDecoder['mapFromDriverValue'] ? TData\n: never;\n\n/**\n * Any DB name (table, column, index etc.)\n */\nexport class Name implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Name';\n\n\tprotected brand!: 'Name';\n\n\tconstructor(readonly value: string) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/**\n * Any DB name (table, column, index etc.)\n * @deprecated Use `sql.identifier` instead.\n */\nexport function name(value: string): Name {\n\treturn new Name(value);\n}\n\nexport interface DriverValueDecoder {\n\tmapFromDriverValue(value: TDriverParam): TData;\n}\n\nexport interface DriverValueEncoder {\n\tmapToDriverValue(value: TData): TDriverParam | SQL;\n}\n\nexport function isDriverValueEncoder(value: unknown): value is DriverValueEncoder {\n\treturn typeof value === 'object' && value !== null && 'mapToDriverValue' in value\n\t\t&& typeof (value as any).mapToDriverValue === 'function';\n}\n\nexport const noopDecoder: DriverValueDecoder = {\n\tmapFromDriverValue: (value) => value,\n};\n\nexport const noopEncoder: DriverValueEncoder = {\n\tmapToDriverValue: (value) => value,\n};\n\nexport interface DriverValueMapper\n\textends DriverValueDecoder, DriverValueEncoder\n{}\n\nexport const noopMapper: DriverValueMapper = {\n\t...noopDecoder,\n\t...noopEncoder,\n};\n\n/** Parameter value that is optionally bound to an encoder (for example, a column). */\nexport class Param implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Param';\n\n\tprotected brand!: 'BoundParamValue';\n\n\t/**\n\t * @param value - Parameter value\n\t * @param encoder - Encoder to convert the value to a driver parameter\n\t */\n\tconstructor(\n\t\treadonly value: TDataType,\n\t\treadonly encoder: DriverValueEncoder = noopEncoder,\n\t) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.param` instead. */\nexport function param(\n\tvalue: TData,\n\tencoder?: DriverValueEncoder,\n): Param {\n\treturn new Param(value, encoder);\n}\n\n/**\n * Anything that can be passed to the `` sql`...` `` tagged function.\n */\nexport type SQLChunk =\n\t| StringChunk\n\t| SQLChunk[]\n\t| SQLWrapper\n\t| SQL\n\t| Table\n\t| View\n\t| Subquery\n\t| AnyColumn\n\t| Param\n\t| Name\n\t| undefined\n\t| FakePrimitiveParam\n\t| Placeholder;\n\nexport function sql(strings: TemplateStringsArray, ...params: any[]): SQL;\n/*\n\tThe type of `params` is specified as `SQLChunk[]`, but that's slightly incorrect -\n\tin runtime, users won't pass `FakePrimitiveParam` instances as `params` - they will pass primitive values\n\twhich will be wrapped in `Param`. That's why the overload specifies `params` as `any[]` and not as `SQLSourceParam[]`.\n\tThis type is used to make our lives easier and the type checker happy.\n*/\nexport function sql(strings: TemplateStringsArray, ...params: SQLChunk[]): SQL {\n\tconst queryChunks: SQLChunk[] = [];\n\tif (params.length > 0 || (strings.length > 0 && strings[0] !== '')) {\n\t\tqueryChunks.push(new StringChunk(strings[0]!));\n\t}\n\tfor (const [paramIndex, param] of params.entries()) {\n\t\tqueryChunks.push(param, new StringChunk(strings[paramIndex + 1]!));\n\t}\n\n\treturn new SQL(queryChunks);\n}\n\nexport namespace sql {\n\texport function empty(): SQL {\n\t\treturn new SQL([]);\n\t}\n\n\t/** @deprecated - use `sql.join()` */\n\texport function fromList(list: SQLChunk[]): SQL {\n\t\treturn new SQL(list);\n\t}\n\n\t/**\n\t * Convenience function to create an SQL query from a raw string.\n\t * @param str The raw SQL query string.\n\t */\n\texport function raw(str: string): SQL {\n\t\treturn new SQL([new StringChunk(str)]);\n\t}\n\n\t/**\n\t * Join a list of SQL chunks with a separator.\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`]);\n\t * // sql`abc`\n\t * ```\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`], sql`, `);\n\t * // sql`a, b, c`\n\t * ```\n\t */\n\texport function join(chunks: SQLChunk[], separator?: SQLChunk): SQL {\n\t\tconst result: SQLChunk[] = [];\n\t\tfor (const [i, chunk] of chunks.entries()) {\n\t\t\tif (i > 0 && separator !== undefined) {\n\t\t\t\tresult.push(separator);\n\t\t\t}\n\t\t\tresult.push(chunk);\n\t\t}\n\t\treturn new SQL(result);\n\t}\n\n\t/**\n\t * Create a SQL chunk that represents a DB identifier (table, column, index etc.).\n\t * When used in a query, the identifier will be escaped based on the DB engine.\n\t * For example, in PostgreSQL, identifiers are escaped with double quotes.\n\t *\n\t * **WARNING: This function does not offer any protection against SQL injections, so you must validate any user input beforehand.**\n\t *\n\t * @example ```ts\n\t * const query = sql`SELECT * FROM ${sql.identifier('my-table')}`;\n\t * // 'SELECT * FROM \"my-table\"'\n\t * ```\n\t */\n\texport function identifier(value: string): Name {\n\t\treturn new Name(value);\n\t}\n\n\texport function placeholder(name: TName): Placeholder {\n\t\treturn new Placeholder(name);\n\t}\n\n\texport function param(\n\t\tvalue: TData,\n\t\tencoder?: DriverValueEncoder,\n\t): Param {\n\t\treturn new Param(value, encoder);\n\t}\n}\n\nexport namespace SQL {\n\texport class Aliased implements SQLWrapper {\n\t\tstatic readonly [entityKind]: string = 'SQL.Aliased';\n\n\t\tdeclare _: {\n\t\t\tbrand: 'SQL.Aliased';\n\t\t\ttype: T;\n\t\t};\n\n\t\t/** @internal */\n\t\tisSelectionField = false;\n\n\t\tconstructor(\n\t\t\treadonly sql: SQL,\n\t\t\treadonly fieldAlias: string,\n\t\t) {}\n\n\t\tgetSQL(): SQL {\n\t\t\treturn this.sql;\n\t\t}\n\n\t\t/** @internal */\n\t\tclone() {\n\t\t\treturn new Aliased(this.sql, this.fieldAlias);\n\t\t}\n\t}\n}\n\nexport class Placeholder implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Placeholder';\n\n\tdeclare protected: TValue;\n\n\tconstructor(readonly name: TName) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.placeholder` instead. */\nexport function placeholder(name: TName): Placeholder {\n\treturn new Placeholder(name);\n}\n\nexport function fillPlaceholders(params: unknown[], values: Record): unknown[] {\n\treturn params.map((p) => {\n\t\tif (is(p, Placeholder)) {\n\t\t\tif (!(p.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn values[p.name];\n\t\t}\n\n\t\tif (is(p, Param) && is(p.value, Placeholder)) {\n\t\t\tif (!(p.value.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.value.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn p.encoder.mapToDriverValue(values[p.value.name]);\n\t\t}\n\n\t\treturn p;\n\t});\n}\n\nexport type ColumnsSelection = Record;\n\nconst IsDrizzleView = Symbol.for('drizzle:IsDrizzleView');\n\nexport abstract class View<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'View';\n\n\tdeclare _: {\n\t\tbrand: 'View';\n\t\tviewBrand: string;\n\t\tname: TName;\n\t\texisting: TExisting;\n\t\tselectedFields: TSelection;\n\t};\n\n\t/** @internal */\n\t[ViewBaseConfig]: {\n\t\tname: TName;\n\t\toriginalName: TName;\n\t\tschema: string | undefined;\n\t\tselectedFields: ColumnsSelection;\n\t\tisExisting: TExisting;\n\t\tquery: TExisting extends true ? undefined : SQL;\n\t\tisAlias: boolean;\n\t};\n\n\t/** @internal */\n\t[IsDrizzleView] = true;\n\n\tdeclare readonly $inferSelect: InferSelectViewModel, TExisting, TSelection>>;\n\n\tconstructor(\n\t\t{ name, schema, selectedFields, query }: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t},\n\t) {\n\t\tthis[ViewBaseConfig] = {\n\t\t\tname,\n\t\t\toriginalName: name,\n\t\t\tschema,\n\t\t\tselectedFields,\n\t\t\tquery: query as (TExisting extends true ? undefined : SQL),\n\t\t\tisExisting: !query as TExisting,\n\t\t\tisAlias: false,\n\t\t};\n\t}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\nexport function isView(view: unknown): view is View {\n\treturn typeof view === 'object' && view !== null && IsDrizzleView in view;\n}\n\nexport function getViewName(view: T): T['_']['name'] {\n\treturn view[ViewBaseConfig].name;\n}\n\nexport type InferSelectViewModel =\n\tEqual extends true ? { [x: string]: unknown }\n\t\t: SelectResult<\n\t\t\tTView['_']['selectedFields'],\n\t\t\t'single',\n\t\t\tRecord\n\t\t>;\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\n// Defined separately from the Table class to resolve circular dependency\nTable.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\n// Defined separately from the Column class to resolve circular dependency\nSubquery.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n", "import type { Cache } from './cache/core/cache.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { is } from './entity.ts';\nimport type { Logger } from './logger.ts';\nimport type { SelectedFieldsOrdered } from './operations.ts';\nimport type { TableLike } from './query-builders/select.types.ts';\nimport { Param, SQL, View } from './sql/sql.ts';\nimport type { DriverValueDecoder } from './sql/sql.ts';\nimport { Subquery } from './subquery.ts';\nimport { getTableName, Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\n/** @internal */\nexport function mapResultRow(\n\tcolumns: SelectedFieldsOrdered,\n\trow: unknown[],\n\tjoinsNotNullableMap: Record | undefined,\n): TResult {\n\t// Key -> nested object key, value -> table name if all fields in the nested object are from the same table, false otherwise\n\tconst nullifyMap: Record = {};\n\n\tconst result = columns.reduce>(\n\t\t(result, { path, field }, columnIndex) => {\n\t\t\tlet decoder: DriverValueDecoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tlet node = result;\n\t\t\tfor (const [pathChunkIndex, pathChunk] of path.entries()) {\n\t\t\t\tif (pathChunkIndex < path.length - 1) {\n\t\t\t\t\tif (!(pathChunk in node)) {\n\t\t\t\t\t\tnode[pathChunk] = {};\n\t\t\t\t\t}\n\t\t\t\t\tnode = node[pathChunk];\n\t\t\t\t} else {\n\t\t\t\t\tconst rawValue = row[columnIndex]!;\n\t\t\t\t\tconst value = node[pathChunk] = rawValue === null ? null : decoder.mapFromDriverValue(rawValue);\n\n\t\t\t\t\tif (joinsNotNullableMap && is(field, Column) && path.length === 2) {\n\t\t\t\t\t\tconst objectName = path[0]!;\n\t\t\t\t\t\tif (!(objectName in nullifyMap)) {\n\t\t\t\t\t\t\tnullifyMap[objectName] = value === null ? getTableName(field.table) : false;\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\ttypeof nullifyMap[objectName] === 'string' && nullifyMap[objectName] !== getTableName(field.table)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnullifyMap[objectName] = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\t{},\n\t);\n\n\t// Nullify all nested objects from nullifyMap that are nullable\n\tif (joinsNotNullableMap && Object.keys(nullifyMap).length > 0) {\n\t\tfor (const [objectName, tableName] of Object.entries(nullifyMap)) {\n\t\t\tif (typeof tableName === 'string' && !joinsNotNullableMap[tableName]) {\n\t\t\t\tresult[objectName] = null;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result as TResult;\n}\n\n/** @internal */\nexport function orderSelectedFields(\n\tfields: Record,\n\tpathPrefix?: string[],\n): SelectedFieldsOrdered {\n\treturn Object.entries(fields).reduce>((result, [name, field]) => {\n\t\tif (typeof name !== 'string') {\n\t\t\treturn result;\n\t\t}\n\n\t\tconst newPath = pathPrefix ? [...pathPrefix, name] : [name];\n\t\tif (is(field, Column) || is(field, SQL) || is(field, SQL.Aliased)) {\n\t\t\tresult.push({ path: newPath, field });\n\t\t} else if (is(field, Table)) {\n\t\t\tresult.push(...orderSelectedFields(field[Table.Symbol.Columns], newPath));\n\t\t} else {\n\t\t\tresult.push(...orderSelectedFields(field as Record, newPath));\n\t\t}\n\t\treturn result;\n\t}, []) as SelectedFieldsOrdered;\n}\n\nexport function haveSameKeys(left: Record, right: Record) {\n\tconst leftKeys = Object.keys(left);\n\tconst rightKeys = Object.keys(right);\n\n\tif (leftKeys.length !== rightKeys.length) {\n\t\treturn false;\n\t}\n\n\tfor (const [index, key] of leftKeys.entries()) {\n\t\tif (key !== rightKeys[index]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/** @internal */\nexport function mapUpdateSet(table: Table, values: Record): UpdateSet {\n\tconst entries: [string, UpdateSet[string]][] = Object.entries(values)\n\t\t.filter(([, value]) => value !== undefined)\n\t\t.map(([key, value]) => {\n\t\t\t// eslint-disable-next-line unicorn/prefer-ternary\n\t\t\tif (is(value, SQL) || is(value, Column)) {\n\t\t\t\treturn [key, value];\n\t\t\t} else {\n\t\t\t\treturn [key, new Param(value, table[Table.Symbol.Columns][key])];\n\t\t\t}\n\t\t});\n\n\tif (entries.length === 0) {\n\t\tthrow new Error('No values to set');\n\t}\n\n\treturn Object.fromEntries(entries);\n}\n\nexport type UpdateSet = Record;\n\nexport type OneOrMany = T | T[];\n\nexport type Update =\n\t& {\n\t\t[K in Exclude]: T[K];\n\t}\n\t& TUpdate;\n\nexport type Simplify =\n\t& {\n\t\t// @ts-ignore - \"Type parameter 'K' has a circular constraint\", not sure why\n\t\t[K in keyof T]: T[K];\n\t}\n\t& {};\n\nexport type SimplifyMappedType = [T] extends [unknown] ? T : never;\n\nexport type ShallowRecord = SimplifyMappedType<{ [P in K]: T }>;\n\nexport type Assume = T extends U ? T : U;\n\nexport type Equal = (() => T extends X ? 1 : 2) extends (() => T extends Y ? 1 : 2) ? true : false;\n\nexport interface DrizzleTypeError {\n\t$drizzleTypeError: T;\n}\n\nexport type ValueOrArray = T | T[];\n\n/** @internal */\nexport function applyMixins(baseClass: any, extendedClasses: any[]) {\n\tfor (const extendedClass of extendedClasses) {\n\t\tfor (const name of Object.getOwnPropertyNames(extendedClass.prototype)) {\n\t\t\tif (name === 'constructor') continue;\n\n\t\t\tObject.defineProperty(\n\t\t\t\tbaseClass.prototype,\n\t\t\t\tname,\n\t\t\t\tObject.getOwnPropertyDescriptor(extendedClass.prototype, name) || Object.create(null),\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport type Or = T1 extends true ? true : T2 extends true ? true : false;\n\nexport type IfThenElse = If extends true ? Then : Else;\n\nexport type PromiseOf = T extends Promise ? U : T;\n\nexport type Writable = {\n\t-readonly [P in keyof T]: T[P];\n};\n\nexport type NonArray = T extends any[] ? never : T;\n\nexport function getTableColumns(table: T): T['_']['columns'] {\n\treturn table[Table.Symbol.Columns];\n}\n\nexport function getViewSelectedFields(view: T): T['_']['selectedFields'] {\n\treturn view[ViewBaseConfig].selectedFields;\n}\n\n/** @internal */\nexport function getTableLikeName(table: TableLike): string | undefined {\n\treturn is(table, Subquery)\n\t\t? table._.alias\n\t\t: is(table, View)\n\t\t? table[ViewBaseConfig].name\n\t\t: is(table, SQL)\n\t\t? undefined\n\t\t: table[Table.Symbol.IsAlias]\n\t\t? table[Table.Symbol.Name]\n\t\t: table[Table.Symbol.BaseName];\n}\n\nexport type ColumnsWithTable<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> = { [Key in keyof TColumns]: AnyColumn<{ tableName: TForeignTableName }> };\n\nexport type Casing = 'snake_case' | 'camelCase';\n\nexport interface DrizzleConfig = Record> {\n\tlogger?: boolean | Logger;\n\tschema?: TSchema;\n\tcasing?: Casing;\n\tcache?: Cache;\n}\nexport type ValidateShape = T extends ValidShape\n\t? Exclude extends never ? TResult\n\t: DrizzleTypeError<\n\t\t`Invalid key(s): ${Exclude<(keyof T) & (string | number | bigint | boolean | null | undefined), keyof ValidShape>}`\n\t>\n\t: never;\n\nexport type KnownKeysOnly = {\n\t[K in keyof T]: K extends keyof U ? T[K] : never;\n};\n\nexport type IsAny = 0 extends (1 & T) ? true : false;\n\n/** @internal */\nexport function getColumnNameAndConfig<\n\tTConfig extends Record | undefined,\n>(a: string | TConfig | undefined, b: TConfig | undefined) {\n\treturn {\n\t\tname: typeof a === 'string' && a.length > 0 ? a : '' as string,\n\t\tconfig: typeof a === 'object' ? a : b as TConfig,\n\t};\n}\n\nexport type IfNotImported = unknown extends T ? Y : N;\n\nexport type ImportTypeError =\n\t`Please install \\`${TPackageName}\\` to allow Drizzle ORM to connect to the database`;\n\nexport type RequireAtLeastOne = Keys extends any\n\t? Required> & Partial>\n\t: never;\n\ntype ExpectedConfigShape = {\n\tlogger?: boolean | {\n\t\tlogQuery(query: string, params: unknown[]): void;\n\t};\n\tschema?: Record;\n\tcasing?: 'snake_case' | 'camelCase';\n};\n\n// If this errors, you must update config shape checker function with new config specs\nconst _: DrizzleConfig = {} as ExpectedConfigShape;\nconst __: ExpectedConfigShape = {} as DrizzleConfig;\n\nexport function isConfig(data: any): boolean {\n\tif (typeof data !== 'object' || data === null) return false;\n\n\tif (data.constructor.name !== 'Object') return false;\n\n\tif ('logger' in data) {\n\t\tconst type = typeof data['logger'];\n\t\tif (\n\t\t\ttype !== 'boolean' && (type !== 'object' || typeof data['logger']['logQuery'] !== 'function')\n\t\t\t&& type !== 'undefined'\n\t\t) return false;\n\n\t\treturn true;\n\t}\n\n\tif ('schema' in data) {\n\t\tconst type = typeof data['schema'];\n\t\tif (type !== 'object' && type !== 'undefined') return false;\n\n\t\treturn true;\n\t}\n\n\tif ('casing' in data) {\n\t\tconst type = typeof data['casing'];\n\t\tif (type !== 'string' && type !== 'undefined') return false;\n\n\t\treturn true;\n\t}\n\n\tif ('mode' in data) {\n\t\tif (data['mode'] !== 'default' || data['mode'] !== 'planetscale' || data['mode'] !== undefined) return false;\n\n\t\treturn true;\n\t}\n\n\tif ('connection' in data) {\n\t\tconst type = typeof data['connection'];\n\t\tif (type !== 'string' && type !== 'object' && type !== 'undefined') return false;\n\n\t\treturn true;\n\t}\n\n\tif ('client' in data) {\n\t\tconst type = typeof data['client'];\n\t\tif (type !== 'object' && type !== 'function' && type !== 'undefined') return false;\n\n\t\treturn true;\n\t}\n\n\tif (Object.keys(data).length === 0) return true;\n\n\treturn false;\n}\n\nexport type NeonAuthToken = string | (() => string | Promise);\n\nexport const textDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder();\n", "import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getPgColumnBuilders, type PgColumnsBuilders } from './columns/all.ts';\nimport type { ExtraConfigColumn, PgColumn, PgColumnBuilder, PgColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PgPolicy } from './policies.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type PgTableExtraConfigValue =\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n\t| PgPolicy;\n\nexport type PgTableExtraConfig = Record<\n\tstring,\n\tPgTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:PgInlineForeignKeys');\n/** @internal */\nexport const EnableRLS = Symbol.for('drizzle:EnableRLS');\n\nexport class PgTable extends Table {\n\tstatic override readonly [entityKind]: string = 'PgTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t\tEnableRLS: EnableRLS as typeof EnableRLS,\n\t});\n\n\t/**@internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\t[EnableRLS]: boolean = false;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]: ((self: Record) => PgTableExtraConfig) | undefined =\n\t\tundefined;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigColumns]: Record = {};\n}\n\nexport type AnyPgTable = {}> = PgTable>;\n\nexport type PgTableWithColumns =\n\t& PgTable\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t}\n\t& {\n\t\tenableRLS: () => Omit<\n\t\t\tPgTableWithColumns,\n\t\t\t'enableRLS'\n\t\t>;\n\t};\n\n/** @internal */\nexport function pgTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: PgColumnsBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((self: BuildExtraConfigColumns) => PgTableExtraConfig | PgTableExtraConfigValue[])\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): PgTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns;\n\tdialect: 'pg';\n}> {\n\tconst rawTable = new PgTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getPgColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as PgColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns;\n\n\tconst builtColumnsForExtraConfig = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as PgColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.buildExtraConfigColumn(rawTable);\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildExtraConfigColumns;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumnsForExtraConfig;\n\n\tif (extraConfig) {\n\t\ttable[PgTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n\t}\n\n\treturn Object.assign(table, {\n\t\tenableRLS: () => {\n\t\t\ttable[PgTable.Symbol.EnableRLS] = true;\n\t\t\treturn table as PgTableWithColumns<{\n\t\t\t\tname: TTableName;\n\t\t\t\tschema: TSchemaName;\n\t\t\t\tcolumns: BuildColumns;\n\t\t\t\tdialect: 'pg';\n\t\t\t}>;\n\t\t},\n\t});\n}\n\nexport interface PgTableFn {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildExtraConfigColumns,\n\t\t) => PgTableExtraConfigValue[],\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: PgColumnsBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildExtraConfigColumns) => PgTableExtraConfigValue[],\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>;\n\t/**\n\t * @deprecated The third parameter of pgTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = pgTable(\"users\", {\n\t * \tid: integer(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = pgTable(\"users\", {\n\t * \tid: integer(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig: (\n\t\t\tself: BuildExtraConfigColumns,\n\t\t) => PgTableExtraConfig,\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>;\n\n\t/**\n\t * @deprecated The third parameter of pgTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = pgTable(\"users\", {\n\t * \tid: integer(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = pgTable(\"users\", {\n\t * \tid: integer(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: PgColumnsBuilders) => TColumnsMap,\n\t\textraConfig: (self: BuildExtraConfigColumns) => PgTableExtraConfig,\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>;\n}\n\nexport const pgTable: PgTableFn = (name, columns, extraConfig) => {\n\treturn pgTableWithSchema(name, columns, extraConfig, undefined);\n};\n\nexport function pgTableCreator(customizeTableName: (name: string) => string): PgTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn pgTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { AnyPgColumn, PgColumn } from './columns/index.ts';\nimport { PgTable } from './table.ts';\n\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumn extends AnyPgColumn<{ tableName: TTableName }>,\n\tTColumns extends AnyPgColumn<{ tableName: TTableName }>[],\n>(config: { name?: string; columns: [TColumn, ...TColumns] }): PrimaryKeyBuilder;\n/**\n * @deprecated: Please use primaryKey({ columns: [] }) instead of this function\n * @param columns\n */\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumns extends AnyPgColumn<{ tableName: TTableName }>[],\n>(...columns: TColumns): PrimaryKeyBuilder;\nexport function primaryKey(...config: any) {\n\tif (config[0].columns) {\n\t\treturn new PrimaryKeyBuilder(config[0].columns, config[0].name);\n\t}\n\treturn new PrimaryKeyBuilder(config);\n}\n\nexport class PrimaryKeyBuilder {\n\tstatic readonly [entityKind]: string = 'PgPrimaryKeyBuilder';\n\n\t/** @internal */\n\tcolumns: PgColumn[];\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tcolumns: PgColumn[],\n\t\tname?: string,\n\t) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\t/** @internal */\n\tbuild(table: PgTable): PrimaryKey {\n\t\treturn new PrimaryKey(table, this.columns, this.name);\n\t}\n}\n\nexport class PrimaryKey {\n\tstatic readonly [entityKind]: string = 'PgPrimaryKey';\n\n\treadonly columns: AnyPgColumn<{}>[];\n\treadonly name?: string;\n\n\tconstructor(readonly table: PgTable, columns: AnyPgColumn<{}>[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\tgetName(): string {\n\t\treturn this.name ?? `${this.table[PgTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;\n\t}\n}\n", "import { type AnyColumn, Column, type GetColumnData } from '~/column.ts';\nimport { is } from '~/entity.ts';\nimport { Table } from '~/table.ts';\nimport {\n\tisDriverValueEncoder,\n\tisSQLWrapper,\n\tParam,\n\tPlaceholder,\n\tSQL,\n\tsql,\n\ttype SQLChunk,\n\ttype SQLWrapper,\n\tStringChunk,\n\tView,\n} from '../sql.ts';\n\nexport function bindIfParam(value: unknown, column: SQLWrapper): SQLChunk {\n\tif (\n\t\tisDriverValueEncoder(column)\n\t\t&& !isSQLWrapper(value)\n\t\t&& !is(value, Param)\n\t\t&& !is(value, Placeholder)\n\t\t&& !is(value, Column)\n\t\t&& !is(value, Table)\n\t\t&& !is(value, View)\n\t) {\n\t\treturn new Param(value, column);\n\t}\n\treturn value as SQLChunk;\n}\n\nexport interface BinaryOperator {\n\t(\n\t\tleft: TColumn,\n\t\tright: GetColumnData | SQLWrapper,\n\t): SQL;\n\t(left: SQL.Aliased, right: T | SQLWrapper): SQL;\n\t(\n\t\tleft: Exclude,\n\t\tright: unknown,\n\t): SQL;\n}\n\n/**\n * Test that two values are equal.\n *\n * Remember that the SQL standard dictates that\n * two NULL values are not equal, so if you want to test\n * whether a value is null, you may want to use\n * `isNull` instead.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made by Ford\n * db.select().from(cars)\n * .where(eq(cars.make, 'Ford'))\n * ```\n *\n * @see isNull for a way to test equality to NULL.\n */\nexport const eq: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} = ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test that two values are not equal.\n *\n * Remember that the SQL standard dictates that\n * two NULL values are not equal, so if you want to test\n * whether a value is not null, you may want to use\n * `isNotNull` instead.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars not made by Ford\n * db.select().from(cars)\n * .where(ne(cars.make, 'Ford'))\n * ```\n *\n * @see isNotNull for a way to test whether a value is not null.\n */\nexport const ne: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} <> ${bindIfParam(right, left)}`;\n};\n\n/**\n * Combine a list of conditions with the `and` operator. Conditions\n * that are equal `undefined` are automatically ignored.\n *\n * ## Examples\n *\n * ```ts\n * db.select().from(cars)\n * .where(\n * and(\n * eq(cars.make, 'Volvo'),\n * eq(cars.year, 1950),\n * )\n * )\n * ```\n */\nexport function and(...conditions: (SQLWrapper | undefined)[]): SQL | undefined;\nexport function and(\n\t...unfilteredConditions: (SQLWrapper | undefined)[]\n): SQL | undefined {\n\tconst conditions = unfilteredConditions.filter(\n\t\t(c): c is Exclude => c !== undefined,\n\t);\n\n\tif (conditions.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (conditions.length === 1) {\n\t\treturn new SQL(conditions);\n\t}\n\n\treturn new SQL([\n\t\tnew StringChunk('('),\n\t\tsql.join(conditions, new StringChunk(' and ')),\n\t\tnew StringChunk(')'),\n\t]);\n}\n\n/**\n * Combine a list of conditions with the `or` operator. Conditions\n * that are equal `undefined` are automatically ignored.\n *\n * ## Examples\n *\n * ```ts\n * db.select().from(cars)\n * .where(\n * or(\n * eq(cars.make, 'GM'),\n * eq(cars.make, 'Ford'),\n * )\n * )\n * ```\n */\nexport function or(...conditions: (SQLWrapper | undefined)[]): SQL | undefined;\nexport function or(\n\t...unfilteredConditions: (SQLWrapper | undefined)[]\n): SQL | undefined {\n\tconst conditions = unfilteredConditions.filter(\n\t\t(c): c is Exclude => c !== undefined,\n\t);\n\n\tif (conditions.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (conditions.length === 1) {\n\t\treturn new SQL(conditions);\n\t}\n\n\treturn new SQL([\n\t\tnew StringChunk('('),\n\t\tsql.join(conditions, new StringChunk(' or ')),\n\t\tnew StringChunk(')'),\n\t]);\n}\n\n/**\n * Negate the meaning of an expression using the `not` keyword.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars _not_ made by GM or Ford.\n * db.select().from(cars)\n * .where(not(inArray(cars.make, ['GM', 'Ford'])))\n * ```\n */\nexport function not(condition: SQLWrapper): SQL {\n\treturn sql`not ${condition}`;\n}\n\n/**\n * Test that the first expression passed is greater than\n * the second expression.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made after 2000.\n * db.select().from(cars)\n * .where(gt(cars.year, 2000))\n * ```\n *\n * @see gte for greater-than-or-equal\n */\nexport const gt: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} > ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test that the first expression passed is greater than\n * or equal to the second expression. Use `gt` to\n * test whether an expression is strictly greater\n * than another.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made on or after 2000.\n * db.select().from(cars)\n * .where(gte(cars.year, 2000))\n * ```\n *\n * @see gt for a strictly greater-than condition\n */\nexport const gte: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} >= ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test that the first expression passed is less than\n * the second expression.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made before 2000.\n * db.select().from(cars)\n * .where(lt(cars.year, 2000))\n * ```\n *\n * @see lte for less-than-or-equal\n */\nexport const lt: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} < ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test that the first expression passed is less than\n * or equal to the second expression.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made before 2000.\n * db.select().from(cars)\n * .where(lte(cars.year, 2000))\n * ```\n *\n * @see lt for a strictly less-than condition\n */\nexport const lte: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} <= ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test whether the first parameter, a column or expression,\n * has a value from a list passed as the second argument.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made by Ford or GM.\n * db.select().from(cars)\n * .where(inArray(cars.make, ['Ford', 'GM']))\n * ```\n *\n * @see notInArray for the inverse of this test\n */\nexport function inArray(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function inArray(\n\tcolumn: TColumn,\n\tvalues: ReadonlyArray | Placeholder> | SQLWrapper,\n): SQL;\nexport function inArray(\n\tcolumn: Exclude,\n\tvalues: ReadonlyArray | SQLWrapper,\n): SQL;\nexport function inArray(\n\tcolumn: SQLWrapper,\n\tvalues: ReadonlyArray | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\treturn sql`false`;\n\t\t}\n\t\treturn sql`${column} in ${values.map((v) => bindIfParam(v, column))}`;\n\t}\n\n\treturn sql`${column} in ${bindIfParam(values, column)}`;\n}\n\n/**\n * Test whether the first parameter, a column or expression,\n * has a value that is not present in a list passed as the\n * second argument.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made by any company except Ford or GM.\n * db.select().from(cars)\n * .where(notInArray(cars.make, ['Ford', 'GM']))\n * ```\n *\n * @see inArray for the inverse of this test\n */\nexport function notInArray(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function notInArray(\n\tcolumn: TColumn,\n\tvalues: (GetColumnData | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function notInArray(\n\tcolumn: Exclude,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function notInArray(\n\tcolumn: SQLWrapper,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\treturn sql`true`;\n\t\t}\n\t\treturn sql`${column} not in ${values.map((v) => bindIfParam(v, column))}`;\n\t}\n\n\treturn sql`${column} not in ${bindIfParam(values, column)}`;\n}\n\n/**\n * Test whether an expression is NULL. By the SQL standard,\n * NULL is neither equal nor not equal to itself, so\n * it's recommended to use `isNull` and `notIsNull` for\n * comparisons to NULL.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars that have no discontinuedAt date.\n * db.select().from(cars)\n * .where(isNull(cars.discontinuedAt))\n * ```\n *\n * @see isNotNull for the inverse of this test\n */\nexport function isNull(value: SQLWrapper): SQL {\n\treturn sql`${value} is null`;\n}\n\n/**\n * Test whether an expression is not NULL. By the SQL standard,\n * NULL is neither equal nor not equal to itself, so\n * it's recommended to use `isNull` and `notIsNull` for\n * comparisons to NULL.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars that have been discontinued.\n * db.select().from(cars)\n * .where(isNotNull(cars.discontinuedAt))\n * ```\n *\n * @see isNull for the inverse of this test\n */\nexport function isNotNull(value: SQLWrapper): SQL {\n\treturn sql`${value} is not null`;\n}\n\n/**\n * Test whether a subquery evaluates to have any rows.\n *\n * ## Examples\n *\n * ```ts\n * // Users whose `homeCity` column has a match in a cities\n * // table.\n * db\n * .select()\n * .from(users)\n * .where(\n * exists(db.select()\n * .from(cities)\n * .where(eq(users.homeCity, cities.id))),\n * );\n * ```\n *\n * @see notExists for the inverse of this test\n */\nexport function exists(subquery: SQLWrapper): SQL {\n\treturn sql`exists ${subquery}`;\n}\n\n/**\n * Test whether a subquery doesn't include any result\n * rows.\n *\n * ## Examples\n *\n * ```ts\n * // Users whose `homeCity` column doesn't match\n * // a row in the cities table.\n * db\n * .select()\n * .from(users)\n * .where(\n * notExists(db.select()\n * .from(cities)\n * .where(eq(users.homeCity, cities.id))),\n * );\n * ```\n *\n * @see exists for the inverse of this test\n */\nexport function notExists(subquery: SQLWrapper): SQL {\n\treturn sql`not exists ${subquery}`;\n}\n\n/**\n * Test whether an expression is between two values. This\n * is an easier way to express range tests, which would be\n * expressed mathematically as `x <= a <= y` but in SQL\n * would have to be like `a >= x AND a <= y`.\n *\n * Between is inclusive of the endpoints: if `column`\n * is equal to `min` or `max`, it will be TRUE.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made between 1990 and 2000\n * db.select().from(cars)\n * .where(between(cars.year, 1990, 2000))\n * ```\n *\n * @see notBetween for the inverse of this test\n */\nexport function between(\n\tcolumn: SQL.Aliased,\n\tmin: T | SQLWrapper,\n\tmax: T | SQLWrapper,\n): SQL;\nexport function between(\n\tcolumn: TColumn,\n\tmin: GetColumnData | SQLWrapper,\n\tmax: GetColumnData | SQLWrapper,\n): SQL;\nexport function between(\n\tcolumn: Exclude,\n\tmin: unknown,\n\tmax: unknown,\n): SQL;\nexport function between(column: SQLWrapper, min: unknown, max: unknown): SQL {\n\treturn sql`${column} between ${bindIfParam(min, column)} and ${\n\t\tbindIfParam(\n\t\t\tmax,\n\t\t\tcolumn,\n\t\t)\n\t}`;\n}\n\n/**\n * Test whether an expression is not between two values.\n *\n * This, like `between`, includes its endpoints, so if\n * the `column` is equal to `min` or `max`, in this case\n * it will evaluate to FALSE.\n *\n * ## Examples\n *\n * ```ts\n * // Exclude cars made in the 1970s\n * db.select().from(cars)\n * .where(notBetween(cars.year, 1970, 1979))\n * ```\n *\n * @see between for the inverse of this test\n */\nexport function notBetween(\n\tcolumn: SQL.Aliased,\n\tmin: T | SQLWrapper,\n\tmax: T | SQLWrapper,\n): SQL;\nexport function notBetween(\n\tcolumn: TColumn,\n\tmin: GetColumnData | SQLWrapper,\n\tmax: GetColumnData | SQLWrapper,\n): SQL;\nexport function notBetween(\n\tcolumn: Exclude,\n\tmin: unknown,\n\tmax: unknown,\n): SQL;\nexport function notBetween(\n\tcolumn: SQLWrapper,\n\tmin: unknown,\n\tmax: unknown,\n): SQL {\n\treturn sql`${column} not between ${\n\t\tbindIfParam(\n\t\t\tmin,\n\t\t\tcolumn,\n\t\t)\n\t} and ${bindIfParam(max, column)}`;\n}\n\n/**\n * Compare a column to a pattern, which can include `%` and `_`\n * characters to match multiple variations. Including `%`\n * in the pattern matches zero or more characters, and including\n * `_` will match a single character.\n *\n * ## Examples\n *\n * ```ts\n * // Select all cars with 'Turbo' in their names.\n * db.select().from(cars)\n * .where(like(cars.name, '%Turbo%'))\n * ```\n *\n * @see ilike for a case-insensitive version of this condition\n */\nexport function like(column: Column | SQL.Aliased | SQL, value: string | SQLWrapper): SQL {\n\treturn sql`${column} like ${value}`;\n}\n\n/**\n * The inverse of like - this tests that a given column\n * does not match a pattern, which can include `%` and `_`\n * characters to match multiple variations. Including `%`\n * in the pattern matches zero or more characters, and including\n * `_` will match a single character.\n *\n * ## Examples\n *\n * ```ts\n * // Select all cars that don't have \"ROver\" in their name.\n * db.select().from(cars)\n * .where(notLike(cars.name, '%Rover%'))\n * ```\n *\n * @see like for the inverse condition\n * @see notIlike for a case-insensitive version of this condition\n */\nexport function notLike(column: Column | SQL.Aliased | SQL, value: string | SQLWrapper): SQL {\n\treturn sql`${column} not like ${value}`;\n}\n\n/**\n * Case-insensitively compare a column to a pattern,\n * which can include `%` and `_`\n * characters to match multiple variations. Including `%`\n * in the pattern matches zero or more characters, and including\n * `_` will match a single character.\n *\n * Unlike like, this performs a case-insensitive comparison.\n *\n * ## Examples\n *\n * ```ts\n * // Select all cars with 'Turbo' in their names.\n * db.select().from(cars)\n * .where(ilike(cars.name, '%Turbo%'))\n * ```\n *\n * @see like for a case-sensitive version of this condition\n */\nexport function ilike(column: Column | SQL.Aliased | SQL, value: string | SQLWrapper): SQL {\n\treturn sql`${column} ilike ${value}`;\n}\n\n/**\n * The inverse of ilike - this case-insensitively tests that a given column\n * does not match a pattern, which can include `%` and `_`\n * characters to match multiple variations. Including `%`\n * in the pattern matches zero or more characters, and including\n * `_` will match a single character.\n *\n * ## Examples\n *\n * ```ts\n * // Select all cars that don't have \"Rover\" in their name.\n * db.select().from(cars)\n * .where(notLike(cars.name, '%Rover%'))\n * ```\n *\n * @see ilike for the inverse condition\n * @see notLike for a case-sensitive version of this condition\n */\nexport function notIlike(column: Column | SQL.Aliased | SQL, value: string | SQLWrapper): SQL {\n\treturn sql`${column} not ilike ${value}`;\n}\n\n/**\n * Test that a column or expression contains all elements of\n * the list passed as the second argument.\n *\n * ## Throws\n *\n * The argument passed in the second array can't be empty:\n * if an empty is provided, this method will throw.\n *\n * ## Examples\n *\n * ```ts\n * // Select posts where its tags contain \"Typescript\" and \"ORM\".\n * db.select().from(posts)\n * .where(arrayContains(posts.tags, ['Typescript', 'ORM']))\n * ```\n *\n * @see arrayContained to find if an array contains all elements of a column or expression\n * @see arrayOverlaps to find if a column or expression contains any elements of an array\n */\nexport function arrayContains(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayContains(\n\tcolumn: TColumn,\n\tvalues: (GetColumnData | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayContains(\n\tcolumn: Exclude,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function arrayContains(\n\tcolumn: SQLWrapper,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('arrayContains requires at least one value');\n\t\t}\n\t\tconst array = sql`${bindIfParam(values, column)}`;\n\t\treturn sql`${column} @> ${array}`;\n\t}\n\n\treturn sql`${column} @> ${bindIfParam(values, column)}`;\n}\n\n/**\n * Test that the list passed as the second argument contains\n * all elements of a column or expression.\n *\n * ## Throws\n *\n * The argument passed in the second array can't be empty:\n * if an empty is provided, this method will throw.\n *\n * ## Examples\n *\n * ```ts\n * // Select posts where its tags contain \"Typescript\", \"ORM\" or both,\n * // but filtering posts that have additional tags.\n * db.select().from(posts)\n * .where(arrayContained(posts.tags, ['Typescript', 'ORM']))\n * ```\n *\n * @see arrayContains to find if a column or expression contains all elements of an array\n * @see arrayOverlaps to find if a column or expression contains any elements of an array\n */\nexport function arrayContained(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayContained(\n\tcolumn: TColumn,\n\tvalues: (GetColumnData | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayContained(\n\tcolumn: Exclude,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function arrayContained(\n\tcolumn: SQLWrapper,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('arrayContained requires at least one value');\n\t\t}\n\t\tconst array = sql`${bindIfParam(values, column)}`;\n\t\treturn sql`${column} <@ ${array}`;\n\t}\n\n\treturn sql`${column} <@ ${bindIfParam(values, column)}`;\n}\n\n/**\n * Test that a column or expression contains any elements of\n * the list passed as the second argument.\n *\n * ## Throws\n *\n * The argument passed in the second array can't be empty:\n * if an empty is provided, this method will throw.\n *\n * ## Examples\n *\n * ```ts\n * // Select posts where its tags contain \"Typescript\", \"ORM\" or both.\n * db.select().from(posts)\n * .where(arrayOverlaps(posts.tags, ['Typescript', 'ORM']))\n * ```\n *\n * @see arrayContains to find if a column or expression contains all elements of an array\n * @see arrayContained to find if an array contains all elements of a column or expression\n */\nexport function arrayOverlaps(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayOverlaps(\n\tcolumn: TColumn,\n\tvalues: (GetColumnData | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayOverlaps(\n\tcolumn: Exclude,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function arrayOverlaps(\n\tcolumn: SQLWrapper,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('arrayOverlaps requires at least one value');\n\t\t}\n\t\tconst array = sql`${bindIfParam(values, column)}`;\n\t\treturn sql`${column} && ${array}`;\n\t}\n\n\treturn sql`${column} && ${bindIfParam(values, column)}`;\n}\n", "import type { AnyColumn } from '../../column.ts';\nimport type { SQL, SQLWrapper } from '../sql.ts';\nimport { sql } from '../sql.ts';\n\n/**\n * Used in sorting, this specifies that the given\n * column or expression should be sorted in ascending\n * order. By the SQL standard, ascending order is the\n * default, so it is not usually necessary to specify\n * ascending sort order.\n *\n * ## Examples\n *\n * ```ts\n * // Return cars, starting with the oldest models\n * // and going in ascending order to the newest.\n * db.select().from(cars)\n * .orderBy(asc(cars.year));\n * ```\n *\n * @see desc to sort in descending order\n */\nexport function asc(column: AnyColumn | SQLWrapper): SQL {\n\treturn sql`${column} asc`;\n}\n\n/**\n * Used in sorting, this specifies that the given\n * column or expression should be sorted in descending\n * order.\n *\n * ## Examples\n *\n * ```ts\n * // Select users, with the most recently created\n * // records coming first.\n * db.select().from(users)\n * .orderBy(desc(users.createdAt));\n * ```\n *\n * @see asc to sort in ascending order\n */\nexport function desc(column: AnyColumn | SQLWrapper): SQL {\n\treturn sql`${column} desc`;\n}\n", "export * from './conditions.ts';\nexport * from './select.ts';\n", "import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record = Record,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many extends Relation {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record;\n\trelations: Record;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record;\n\tschema: TSchema;\n\ttableNamesMap: Record;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName,\n\t\t\tAssume>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record,\n> = Equal extends true ? InferModelFromColumns\n\t: TFullSelection extends Record ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record\n\t\t\t\t| ((...args: any[]) => Record) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\tlet primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\tif (primaryKey) {\n\t\t\t\t\t\ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\tprimaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers) => TRelations,\n): Relations {\n\treturn new Relations(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers = ReturnType<\n\ttypeof createTableRelationsHelpers\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record {\n\tconst result: Record = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n", "import type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport type { Relation } from './relations.ts';\nimport type { View } from './sql/sql.ts';\nimport { SQL, sql } from './sql/sql.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnAliasProxyHandler implements ProxyHandler {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private table: Table | View) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class TableAliasProxyHandler implements ProxyHandler {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnAliasProxyHandler(new Proxy(target, this)),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(value as AnyColumn, new ColumnAliasProxyHandler(new Proxy(target, this)));\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class RelationTableAliasProxyHandler implements ProxyHandler {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable(\n\ttable: T,\n\ttableAlias: string,\n): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false)) as any;\n}\n\nexport function aliasedRelation(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnAliasProxyHandler(new Proxy(column.table, new TableAliasProxyHandler(tableAlias, false))),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n", "import { ColumnAliasProxyHandler, TableAliasProxyHandler } from './alias.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { SQL, View } from './sql/sql.ts';\nimport { Subquery } from './subquery.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class SelectionProxyHandler | View>\n\timplements ProxyHandler | View>\n{\n\tstatic readonly [entityKind]: string = 'SelectionProxyHandler';\n\n\tprivate config: {\n\t\t/**\n\t\t * Table alias for the columns\n\t\t */\n\t\talias?: string;\n\t\t/**\n\t\t * What to do when a field is an instance of `SQL.Aliased` and it's not a selection field (from a subquery)\n\t\t *\n\t\t * `sql` - return the underlying SQL expression\n\t\t *\n\t\t * `alias` - return the field alias\n\t\t */\n\t\tsqlAliasedBehavior: 'sql' | 'alias';\n\t\t/**\n\t\t * What to do when a field is an instance of `SQL` and it doesn't have an alias declared\n\t\t *\n\t\t * `sql` - return the underlying SQL expression\n\t\t *\n\t\t * `error` - return a DrizzleTypeError on type level and throw an error on runtime\n\t\t */\n\t\tsqlBehavior: 'sql' | 'error';\n\n\t\t/**\n\t\t * Whether to replace the original name of the column with the alias\n\t\t * Should be set to `true` for views creation\n\t\t * @default false\n\t\t */\n\t\treplaceOriginalName?: boolean;\n\t};\n\n\tconstructor(config: SelectionProxyHandler['config']) {\n\t\tthis.config = { ...config };\n\t}\n\n\tget(subquery: T, prop: string | symbol): any {\n\t\tif (prop === '_') {\n\t\t\treturn {\n\t\t\t\t...subquery['_' as keyof typeof subquery],\n\t\t\t\tselectedFields: new Proxy(\n\t\t\t\t\t(subquery as Subquery)._.selectedFields,\n\t\t\t\t\tthis as ProxyHandler>,\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...subquery[ViewBaseConfig as keyof typeof subquery],\n\t\t\t\tselectedFields: new Proxy(\n\t\t\t\t\t(subquery as View)[ViewBaseConfig].selectedFields,\n\t\t\t\t\tthis as ProxyHandler>,\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (typeof prop === 'symbol') {\n\t\t\treturn subquery[prop as keyof typeof subquery];\n\t\t}\n\n\t\tconst columns = is(subquery, Subquery)\n\t\t\t? subquery._.selectedFields\n\t\t\t: is(subquery, View)\n\t\t\t? subquery[ViewBaseConfig].selectedFields\n\t\t\t: subquery;\n\t\tconst value: unknown = columns[prop as keyof typeof columns];\n\n\t\tif (is(value, SQL.Aliased)) {\n\t\t\t// Never return the underlying SQL expression for a field previously selected in a subquery\n\t\t\tif (this.config.sqlAliasedBehavior === 'sql' && !value.isSelectionField) {\n\t\t\t\treturn value.sql;\n\t\t\t}\n\n\t\t\tconst newValue = value.clone();\n\t\t\tnewValue.isSelectionField = true;\n\t\t\treturn newValue;\n\t\t}\n\n\t\tif (is(value, SQL)) {\n\t\t\tif (this.config.sqlBehavior === 'sql') {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tthrow new Error(\n\t\t\t\t`You tried to reference \"${prop}\" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using \".as('alias')\" method.`,\n\t\t\t);\n\t\t}\n\n\t\tif (is(value, Column)) {\n\t\t\tif (this.config.alias) {\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tvalue,\n\t\t\t\t\tnew ColumnAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(\n\t\t\t\t\t\t\tvalue.table,\n\t\t\t\t\t\t\tnew TableAliasProxyHandler(this.config.alias, this.config.replaceOriginalName ?? false),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\n\t\tif (typeof value !== 'object' || value === null) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn new Proxy(value, new SelectionProxyHandler(this.config));\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\n\nexport abstract class QueryPromise implements Promise {\n\tstatic readonly [entityKind]: string = 'QueryPromise';\n\n\t[Symbol.toStringTag] = 'QueryPromise';\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => TResult | PromiseLike) | null | undefined,\n\t): Promise {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n\n\tthen(\n\t\tonFulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null,\n\t\tonRejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null,\n\t): Promise {\n\t\treturn this.execute().then(onFulfilled, onRejected);\n\t}\n\n\tabstract execute(): Promise;\n}\n", "import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { AnySQLiteColumn, SQLiteColumn } from './columns/index.ts';\nimport type { SQLiteTable } from './table.ts';\n\nexport type UpdateDeleteAction = 'cascade' | 'restrict' | 'no action' | 'set null' | 'set default';\n\nexport type Reference = () => {\n\treadonly name?: string;\n\treadonly columns: SQLiteColumn[];\n\treadonly foreignTable: SQLiteTable;\n\treadonly foreignColumns: SQLiteColumn[];\n};\n\nexport class ForeignKeyBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteForeignKeyBuilder';\n\n\tdeclare _: {\n\t\tbrand: 'SQLiteForeignKeyBuilder';\n\t\tforeignTableName: 'TForeignTableName';\n\t};\n\n\t/** @internal */\n\treference: Reference;\n\n\t/** @internal */\n\t_onUpdate: UpdateDeleteAction | undefined;\n\n\t/** @internal */\n\t_onDelete: UpdateDeleteAction | undefined;\n\n\tconstructor(\n\t\tconfig: () => {\n\t\t\tname?: string;\n\t\t\tcolumns: SQLiteColumn[];\n\t\t\tforeignColumns: SQLiteColumn[];\n\t\t},\n\t\tactions?: {\n\t\t\tonUpdate?: UpdateDeleteAction;\n\t\t\tonDelete?: UpdateDeleteAction;\n\t\t} | undefined,\n\t) {\n\t\tthis.reference = () => {\n\t\t\tconst { name, columns, foreignColumns } = config();\n\t\t\treturn { name, columns, foreignTable: foreignColumns[0]!.table as SQLiteTable, foreignColumns };\n\t\t};\n\t\tif (actions) {\n\t\t\tthis._onUpdate = actions.onUpdate;\n\t\t\tthis._onDelete = actions.onDelete;\n\t\t}\n\t}\n\n\tonUpdate(action: UpdateDeleteAction): this {\n\t\tthis._onUpdate = action;\n\t\treturn this;\n\t}\n\n\tonDelete(action: UpdateDeleteAction): this {\n\t\tthis._onDelete = action;\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tbuild(table: SQLiteTable): ForeignKey {\n\t\treturn new ForeignKey(table, this);\n\t}\n}\n\nexport class ForeignKey {\n\tstatic readonly [entityKind]: string = 'SQLiteForeignKey';\n\n\treadonly reference: Reference;\n\treadonly onUpdate: UpdateDeleteAction | undefined;\n\treadonly onDelete: UpdateDeleteAction | undefined;\n\n\tconstructor(readonly table: SQLiteTable, builder: ForeignKeyBuilder) {\n\t\tthis.reference = builder.reference;\n\t\tthis.onUpdate = builder._onUpdate;\n\t\tthis.onDelete = builder._onDelete;\n\t}\n\n\tgetName(): string {\n\t\tconst { name, columns, foreignColumns } = this.reference();\n\t\tconst columnNames = columns.map((column) => column.name);\n\t\tconst foreignColumnNames = foreignColumns.map((column) => column.name);\n\t\tconst chunks = [\n\t\t\tthis.table[TableName],\n\t\t\t...columnNames,\n\t\t\tforeignColumns[0]!.table[TableName],\n\t\t\t...foreignColumnNames,\n\t\t];\n\t\treturn name ?? `${chunks.join('_')}_fk`;\n\t}\n}\n\ntype ColumnsWithTable<\n\tTTableName extends string,\n\tTColumns extends SQLiteColumn[],\n> = { [Key in keyof TColumns]: AnySQLiteColumn<{ tableName: TTableName }> };\n\n/**\n * @deprecated please use `foreignKey({ columns: [], foreignColumns: [] })` syntax without callback\n * @param config\n * @returns\n */\nexport function foreignKey<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends [AnySQLiteColumn<{ tableName: TTableName }>, ...AnySQLiteColumn<{ tableName: TTableName }>[]],\n>(\n\tconfig: () => {\n\t\tname?: string;\n\t\tcolumns: TColumns;\n\t\tforeignColumns: ColumnsWithTable;\n\t},\n): ForeignKeyBuilder;\nexport function foreignKey<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends [AnySQLiteColumn<{ tableName: TTableName }>, ...AnySQLiteColumn<{ tableName: TTableName }>[]],\n>(\n\tconfig: {\n\t\tname?: string;\n\t\tcolumns: TColumns;\n\t\tforeignColumns: ColumnsWithTable;\n\t},\n): ForeignKeyBuilder;\nexport function foreignKey(\n\tconfig: any,\n): ForeignKeyBuilder {\n\tfunction mappedConfig() {\n\t\tif (typeof config === 'function') {\n\t\t\tconst { name, columns, foreignColumns } = config();\n\t\t\treturn {\n\t\t\t\tname,\n\t\t\t\tcolumns,\n\t\t\t\tforeignColumns,\n\t\t\t};\n\t\t}\n\t\treturn config;\n\t}\n\n\treturn new ForeignKeyBuilder(mappedConfig);\n}\n", "import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { SQLiteColumn } from './columns/common.ts';\nimport type { SQLiteTable } from './table.ts';\n\nexport function uniqueKeyName(table: SQLiteTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: SQLiteColumn[];\n\n\tconstructor(\n\t\tcolumns: SQLiteColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: SQLiteTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [SQLiteColumn, ...SQLiteColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'SQLiteUniqueConstraint';\n\n\treadonly columns: SQLiteColumn[];\n\treadonly name?: string;\n\n\tconstructor(readonly table: SQLiteTable, columns: SQLiteColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n", "import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport { Column } from '~/column.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/sqlite-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/sqlite-core/foreign-keys.ts';\nimport type { AnySQLiteTable, SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport interface ReferenceConfig {\n\tref: () => SQLiteColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface SQLiteColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase {}\n\nexport interface SQLiteGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class SQLiteColumnBuilder<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = object,\n> extends ColumnBuilder\n\timplements SQLiteColumnBuilderBase\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tactions: ReferenceConfig['actions'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: SQLiteGeneratedColumnConfig): HasGenerated {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: SQLiteColumn, table: SQLiteTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteColumn>;\n}\n\n// To understand how to use `SQLiteColumn` and `AnySQLiteColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class SQLiteColumn<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends Column {\n\tstatic override readonly [entityKind]: string = 'SQLiteColumn';\n\n\tconstructor(\n\t\toverride readonly table: SQLiteTable,\n\t\tconfig: ColumnBuilderRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type AnySQLiteColumn> = {}> = SQLiteColumn<\n\tRequired, TPartial>>\n>;\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, textDecoder } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\ntype BlobMode = 'buffer' | 'json' | 'bigint';\n\nexport type SQLiteBigIntBuilderInitial = SQLiteBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'SQLiteBigInt';\n\tdata: bigint;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBigIntBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBigIntBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'SQLiteBigInt');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBigInt> {\n\t\treturn new SQLiteBigInt>(table, this.config as ColumnBuilderRuntimeConfig);\n\t}\n}\n\nexport class SQLiteBigInt> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteBigInt';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): bigint {\n\t\tif (typeof Buffer !== 'undefined' && Buffer.from) {\n\t\t\tconst buf = Buffer.isBuffer(value)\n\t\t\t\t? value\n\t\t\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\t\t\t: value instanceof ArrayBuffer\n\t\t\t\t? Buffer.from(value)\n\t\t\t\t: value.buffer\n\t\t\t\t? Buffer.from(value.buffer, value.byteOffset, value.byteLength)\n\t\t\t\t: Buffer.from(value);\n\t\t\treturn BigInt(buf.toString('utf8'));\n\t\t}\n\n\t\treturn BigInt(textDecoder!.decode(value));\n\t}\n\n\toverride mapToDriverValue(value: bigint): Buffer {\n\t\treturn Buffer.from(value.toString());\n\t}\n}\n\nexport type SQLiteBlobJsonBuilderInitial = SQLiteBlobJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteBlobJson';\n\tdata: unknown;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBlobJsonBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteBlobJson');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBlobJson> {\n\t\treturn new SQLiteBlobJson>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteBlobJson> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobJson';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): T['data'] {\n\t\tif (typeof Buffer !== 'undefined' && Buffer.from) {\n\t\t\tconst buf = Buffer.isBuffer(value)\n\t\t\t\t? value\n\t\t\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\t\t\t: value instanceof ArrayBuffer\n\t\t\t\t? Buffer.from(value)\n\t\t\t\t: value.buffer\n\t\t\t\t? Buffer.from(value.buffer, value.byteOffset, value.byteLength)\n\t\t\t\t: Buffer.from(value);\n\t\t\treturn JSON.parse(buf.toString('utf8'));\n\t\t}\n\n\t\treturn JSON.parse(textDecoder!.decode(value));\n\t}\n\n\toverride mapToDriverValue(value: T['data']): Buffer {\n\t\treturn Buffer.from(JSON.stringify(value));\n\t}\n}\n\nexport type SQLiteBlobBufferBuilderInitial = SQLiteBlobBufferBuilder<{\n\tname: TName;\n\tdataType: 'buffer';\n\tcolumnType: 'SQLiteBlobBuffer';\n\tdata: Buffer;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBlobBufferBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobBufferBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'buffer', 'SQLiteBlobBuffer');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBlobBuffer> {\n\t\treturn new SQLiteBlobBuffer>(table, this.config as ColumnBuilderRuntimeConfig);\n\t}\n}\n\nexport class SQLiteBlobBuffer> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobBuffer';\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): T['data'] {\n\t\tif (Buffer.isBuffer(value)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn Buffer.from(value as Uint8Array);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n}\n\nexport interface BlobConfig {\n\tmode: TMode;\n}\n\n/**\n * It's recommended to use `text('...', { mode: 'json' })` instead of `blob` in JSON mode, because it supports JSON functions:\n * >All JSON functions currently throw an error if any of their arguments are BLOBs because BLOBs are reserved for a future enhancement in which BLOBs will store the binary encoding for JSON.\n *\n * https://www.sqlite.org/json1.html\n */\nexport function blob(): SQLiteBlobJsonBuilderInitial<''>;\nexport function blob(\n\tconfig?: BlobConfig,\n): Equal extends true ? SQLiteBigIntBuilderInitial<''>\n\t: Equal extends true ? SQLiteBlobBufferBuilderInitial<''>\n\t: SQLiteBlobJsonBuilderInitial<''>;\nexport function blob(\n\tname: TName,\n\tconfig?: BlobConfig,\n): Equal extends true ? SQLiteBigIntBuilderInitial\n\t: Equal extends true ? SQLiteBlobBufferBuilderInitial\n\t: SQLiteBlobJsonBuilderInitial;\nexport function blob(a?: string | BlobConfig, b?: BlobConfig) {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tif (config?.mode === 'json') {\n\t\treturn new SQLiteBlobJsonBuilder(name);\n\t}\n\tif (config?.mode === 'bigint') {\n\t\treturn new SQLiteBigIntBuilder(name);\n\t}\n\treturn new SQLiteBlobBufferBuilder(name);\n}\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'SQLiteCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface SQLiteCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class SQLiteCustomColumnBuilder>\n\textends SQLiteColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams;\n\t\t},\n\t\t{\n\t\t\tsqliteColumnBuilderBrand: 'SQLiteCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams,\n\t) {\n\t\tsuper(name, 'custom', 'SQLiteCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\tbuild(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteCustomColumn> {\n\t\treturn new SQLiteCustomColumn>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteCustomColumn> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteCustomColumnBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n};\n\nexport interface CustomTypeParams {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, between user input and driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is responsible for data mapping from database to JS/TS code\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * },\n\t * ```\n\t */\n\tfromDriver?: (value: T['driverData']) => T['data'];\n}\n\n/**\n * Custom sqlite database data type generator\n */\nexport function customType(\n\tcustomTypeParams: CustomTypeParams,\n): Equal extends true ? {\n\t\t & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): SQLiteCustomColumnBuilder>;\n\t\t(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): SQLiteCustomColumnBuilder>;\n\t}\n\t: {\n\t\t(): SQLiteCustomColumnBuilder>;\n\t\t & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): SQLiteCustomColumnBuilder>;\n\t\t(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): SQLiteCustomColumnBuilder>;\n\t}\n{\n\treturn (\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): SQLiteCustomColumnBuilder> => {\n\t\tconst { name, config } = getColumnNameAndConfig(a, b);\n\t\treturn new SQLiteCustomColumnBuilder(\n\t\t\tname as ConvertCustomConfig['name'],\n\t\t\tconfig,\n\t\t\tcustomTypeParams,\n\t\t);\n\t};\n}\n", "import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tIsPrimaryKey,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { OnConflict } from '~/sqlite-core/utils.ts';\nimport { type Equal, getColumnNameAndConfig, type Or } from '~/utils.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport interface PrimaryKeyConfig {\n\tautoIncrement?: boolean;\n\tonConflict?: OnConflict;\n}\n\nexport abstract class SQLiteBaseIntegerBuilder<\n\tT extends ColumnBuilderBaseConfig,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumnBuilder<\n\tT,\n\tTRuntimeConfig & { autoIncrement: boolean },\n\t{},\n\t{ primaryKeyHasDefault: true }\n> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBaseIntegerBuilder';\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\toverride primaryKey(config?: PrimaryKeyConfig): IsPrimaryKey>> {\n\t\tif (config?.autoIncrement) {\n\t\t\tthis.config.autoIncrement = true;\n\t\t}\n\t\tthis.config.hasDefault = true;\n\t\treturn super.primaryKey() as IsPrimaryKey>>;\n\t}\n\n\t/** @internal */\n\tabstract override build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBaseInteger>;\n}\n\nexport abstract class SQLiteBaseInteger<\n\tT extends ColumnBaseConfig,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteBaseInteger';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n\n\tgetSQLType(): string {\n\t\treturn 'integer';\n\t}\n}\n\nexport type SQLiteIntegerBuilderInitial = SQLiteIntegerBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteInteger';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteIntegerBuilder>\n\textends SQLiteBaseIntegerBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteIntegerBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteInteger');\n\t}\n\n\tbuild(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteInteger> {\n\t\treturn new SQLiteInteger>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteInteger> extends SQLiteBaseInteger {\n\tstatic override readonly [entityKind]: string = 'SQLiteInteger';\n}\n\nexport type SQLiteTimestampBuilderInitial = SQLiteTimestampBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'SQLiteTimestamp';\n\tdata: Date;\n\tdriverParam: number;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteTimestampBuilder>\n\textends SQLiteBaseIntegerBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteTimestampBuilder';\n\n\tconstructor(name: T['name'], mode: 'timestamp' | 'timestamp_ms') {\n\t\tsuper(name, 'date', 'SQLiteTimestamp');\n\t\tthis.config.mode = mode;\n\t}\n\n\t/**\n\t * @deprecated Use `default()` with your own expression instead.\n\t *\n\t * Adds `DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer))` to the column, which is the current epoch timestamp in milliseconds.\n\t */\n\tdefaultNow(): HasDefault {\n\t\treturn this.default(sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`) as any;\n\t}\n\n\tbuild(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTimestamp> {\n\t\treturn new SQLiteTimestamp>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteTimestamp>\n\textends SQLiteBaseInteger\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteTimestamp';\n\n\treadonly mode: 'timestamp' | 'timestamp_ms' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): Date {\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn new Date(value * 1000);\n\t\t}\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): number {\n\t\tconst unix = value.getTime();\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn Math.floor(unix / 1000);\n\t\t}\n\t\treturn unix;\n\t}\n}\n\nexport type SQLiteBooleanBuilderInitial = SQLiteBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'SQLiteBoolean';\n\tdata: boolean;\n\tdriverParam: number;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBooleanBuilder>\n\textends SQLiteBaseIntegerBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBooleanBuilder';\n\n\tconstructor(name: T['name'], mode: 'boolean') {\n\t\tsuper(name, 'boolean', 'SQLiteBoolean');\n\t\tthis.config.mode = mode;\n\t}\n\n\tbuild(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBoolean> {\n\t\treturn new SQLiteBoolean>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteBoolean>\n\textends SQLiteBaseInteger\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBoolean';\n\n\treadonly mode: 'boolean' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): boolean {\n\t\treturn Number(value) === 1;\n\t}\n\n\toverride mapToDriverValue(value: boolean): number {\n\t\treturn value ? 1 : 0;\n\t}\n}\n\nexport interface IntegerConfig<\n\tTMode extends 'number' | 'timestamp' | 'timestamp_ms' | 'boolean' =\n\t\t| 'number'\n\t\t| 'timestamp'\n\t\t| 'timestamp_ms'\n\t\t| 'boolean',\n> {\n\tmode: TMode;\n}\n\nexport function integer(): SQLiteIntegerBuilderInitial<''>;\nexport function integer(\n\tconfig?: IntegerConfig,\n): Or, Equal> extends true ? SQLiteTimestampBuilderInitial<''>\n\t: Equal extends true ? SQLiteBooleanBuilderInitial<''>\n\t: SQLiteIntegerBuilderInitial<''>;\nexport function integer(\n\tname: TName,\n\tconfig?: IntegerConfig,\n): Or, Equal> extends true ? SQLiteTimestampBuilderInitial\n\t: Equal extends true ? SQLiteBooleanBuilderInitial\n\t: SQLiteIntegerBuilderInitial;\nexport function integer(a?: string | IntegerConfig, b?: IntegerConfig) {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tif (config?.mode === 'timestamp' || config?.mode === 'timestamp_ms') {\n\t\treturn new SQLiteTimestampBuilder(name, config.mode);\n\t}\n\tif (config?.mode === 'boolean') {\n\t\treturn new SQLiteBooleanBuilder(name, config.mode);\n\t}\n\treturn new SQLiteIntegerBuilder(name);\n}\n\nexport const int = integer;\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteNumericBuilderInitial = SQLiteNumericBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteNumeric';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteNumericBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'SQLiteNumeric');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumeric> {\n\t\treturn new SQLiteNumeric>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumeric> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteNumeric';\n\n\toverride mapFromDriverValue(value: unknown): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn String(value);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport type SQLiteNumericNumberBuilderInitial = SQLiteNumericNumberBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteNumericNumber';\n\tdata: number;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteNumericNumberBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericNumberBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteNumericNumber');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumericNumber> {\n\t\treturn new SQLiteNumericNumber>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumericNumber> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericNumber';\n\n\toverride mapFromDriverValue(value: unknown): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport type SQLiteNumericBigIntBuilderInitial = SQLiteNumericBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'SQLiteNumericBigInt';\n\tdata: bigint;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteNumericBigIntBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericBigIntBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'SQLiteNumericBigInt');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumericBigInt> {\n\t\treturn new SQLiteNumericBigInt>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumericBigInt> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericBigInt';\n\n\toverride mapFromDriverValue = BigInt;\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport type SQLiteNumericConfig = {\n\tmode: T;\n};\n\nexport function numeric(\n\tconfig?: SQLiteNumericConfig,\n): Equal extends true ? SQLiteNumericNumberBuilderInitial<''>\n\t: Equal extends true ? SQLiteNumericBigIntBuilderInitial<''>\n\t: SQLiteNumericBuilderInitial<''>;\nexport function numeric(\n\tname: TName,\n\tconfig?: SQLiteNumericConfig,\n): Equal extends true ? SQLiteNumericNumberBuilderInitial\n\t: Equal extends true ? SQLiteNumericBigIntBuilderInitial\n\t: SQLiteNumericBuilderInitial;\nexport function numeric(a?: string | SQLiteNumericConfig, b?: SQLiteNumericConfig) {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tconst mode = config?.mode;\n\treturn mode === 'number'\n\t\t? new SQLiteNumericNumberBuilder(name)\n\t\t: mode === 'bigint'\n\t\t? new SQLiteNumericBigIntBuilder(name)\n\t\t: new SQLiteNumericBuilder(name);\n}\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteRealBuilderInitial = SQLiteRealBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteReal';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteRealBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteRealBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteReal');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteReal> {\n\t\treturn new SQLiteReal>(table, this.config as ColumnBuilderRuntimeConfig);\n\t}\n}\n\nexport class SQLiteReal> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteReal';\n\n\tgetSQLType(): string {\n\t\treturn 'real';\n\t}\n}\n\nexport function real(): SQLiteRealBuilderInitial<''>;\nexport function real(name: TName): SQLiteRealBuilderInitial;\nexport function real(name?: string) {\n\treturn new SQLiteRealBuilder(name ?? '');\n}\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteTextBuilderInitial<\n\tTName extends string,\n\tTEnum extends [string, ...string[]],\n\tTLength extends number | undefined,\n> = SQLiteTextBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteText';\n\tdata: TEnum[number];\n\tdriverParam: string;\n\tenumValues: TEnum;\n\tlength: TLength;\n}>;\n\nexport class SQLiteTextBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'SQLiteText'> & { length?: number | undefined },\n> extends SQLiteColumnBuilder<\n\tT,\n\t{ length: T['length']; enumValues: T['enumValues'] },\n\t{ length: T['length'] }\n> {\n\tstatic override readonly [entityKind]: string = 'SQLiteTextBuilder';\n\n\tconstructor(name: T['name'], config: SQLiteTextConfig<'text', T['enumValues'], T['length']>) {\n\t\tsuper(name, 'string', 'SQLiteText');\n\t\tthis.config.enumValues = config.enum;\n\t\tthis.config.length = config.length;\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteText & { length: T['length'] }> {\n\t\treturn new SQLiteText & { length: T['length'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteText & { length?: number | undefined }>\n\textends SQLiteColumn\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteText';\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\treadonly length: T['length'] = this.config.length;\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteTextBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `text${this.config.length ? `(${this.config.length})` : ''}`;\n\t}\n}\n\nexport type SQLiteTextJsonBuilderInitial = SQLiteTextJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteTextJson';\n\tdata: unknown;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextJsonBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteTextJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteTextJson');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTextJson> {\n\t\treturn new SQLiteTextJson>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteTextJson>\n\textends SQLiteColumn\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteTextJson';\n\n\tgetSQLType(): string {\n\t\treturn 'text';\n\t}\n\n\toverride mapFromDriverValue(value: string): T['data'] {\n\t\treturn JSON.parse(value);\n\t}\n\n\toverride mapToDriverValue(value: T['data']): string {\n\t\treturn JSON.stringify(value);\n\t}\n}\n\nexport type SQLiteTextConfig<\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n\tTLength extends number | undefined = number | undefined,\n> = TMode extends 'text' ? {\n\t\tmode?: TMode;\n\t\tlength?: TLength;\n\t\tenum?: TEnum;\n\t}\n\t: {\n\t\tmode?: TMode;\n\t};\n\nexport function text(): SQLiteTextBuilderInitial<'', [string, ...string[]], undefined>;\nexport function text<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tL extends number | undefined,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tconfig?: SQLiteTextConfig, L>,\n): Equal extends true ? SQLiteTextJsonBuilderInitial<''>\n\t: SQLiteTextBuilderInitial<'', Writable, L>;\nexport function text<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tL extends number | undefined,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tname: TName,\n\tconfig?: SQLiteTextConfig, L>,\n): Equal extends true ? SQLiteTextJsonBuilderInitial\n\t: SQLiteTextBuilderInitial, L>;\nexport function text(a?: string | SQLiteTextConfig, b: SQLiteTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tif (config.mode === 'json') {\n\t\treturn new SQLiteTextJsonBuilder(name);\n\t}\n\treturn new SQLiteTextBuilder(name, config as any);\n}\n", "import { blob } from './blob.ts';\nimport { customType } from './custom.ts';\nimport { integer } from './integer.ts';\nimport { numeric } from './numeric.ts';\nimport { real } from './real.ts';\nimport { text } from './text.ts';\n\nexport function getSQLiteColumnBuilders() {\n\treturn {\n\t\tblob,\n\t\tcustomType,\n\t\tinteger,\n\t\tnumeric,\n\t\treal,\n\t\ttext,\n\t};\n}\n\nexport type SQLiteColumnBuilders = ReturnType;\n", "import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getSQLiteColumnBuilders, type SQLiteColumnBuilders } from './columns/all.ts';\nimport type { SQLiteColumn, SQLiteColumnBuilder, SQLiteColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type SQLiteTableExtraConfigValue =\n\t| IndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder;\n\nexport type SQLiteTableExtraConfig = Record<\n\tstring,\n\tSQLiteTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:SQLiteInlineForeignKeys');\n\nexport class SQLiteTable extends Table {\n\tstatic override readonly [entityKind]: string = 'SQLiteTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record) => SQLiteTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnySQLiteTable = {}> = SQLiteTable<\n\tUpdateTableConfig\n>;\n\nexport type SQLiteTableWithColumns =\n\t& SQLiteTable\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport interface SQLiteTableFn {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildColumns,\n\t\t) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>;\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>;\n}\n\nfunction sqliteTableBase<\n\tTTableName extends string,\n\tTColumnsMap extends Record,\n\tTSchema extends string | undefined,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: SQLiteColumnBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildColumns,\n\t\t) => SQLiteTableExtraConfig | SQLiteTableExtraConfigValue[])\n\t\t| undefined,\n\tschema?: TSchema,\n\tbaseName = name,\n): SQLiteTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchema;\n\tcolumns: BuildColumns;\n\tdialect: 'sqlite';\n}> {\n\tconst rawTable = new SQLiteTable<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSQLiteColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as SQLiteColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'sqlite'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig as (\n\t\t\tself: Record,\n\t\t) => SQLiteTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport const sqliteTable: SQLiteTableFn = (name, columns, extraConfig) => {\n\treturn sqliteTableBase(name, columns, extraConfig);\n};\n\nexport function sqliteTableCreator(customizeTableName: (name: string) => string): SQLiteTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn sqliteTableBase(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { SQLiteTable } from './table.ts';\n\nexport class CheckBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteCheckBuilder';\n\n\tprotected brand!: 'SQLiteConstraintBuilder';\n\n\tconstructor(public name: string, public value: SQL) {}\n\n\tbuild(table: SQLiteTable): Check {\n\t\treturn new Check(table, this);\n\t}\n}\n\nexport class Check {\n\tstatic readonly [entityKind]: string = 'SQLiteCheck';\n\n\tdeclare _: {\n\t\tbrand: 'SQLiteCheck';\n\t};\n\n\treadonly name: string;\n\treadonly value: SQL;\n\n\tconstructor(public table: SQLiteTable, builder: CheckBuilder) {\n\t\tthis.name = builder.name;\n\t\tthis.value = builder.value;\n\t}\n}\n\nexport function check(name: string, value: SQL): CheckBuilder {\n\treturn new CheckBuilder(name, value);\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { SQLiteColumn } from './columns/index.ts';\nimport type { SQLiteTable } from './table.ts';\n\nexport interface IndexConfig {\n\tname: string;\n\tcolumns: IndexColumn[];\n\tunique: boolean;\n\twhere: SQL | undefined;\n}\n\nexport type IndexColumn = SQLiteColumn | SQL;\n\nexport class IndexBuilderOn {\n\tstatic readonly [entityKind]: string = 'SQLiteIndexBuilderOn';\n\n\tconstructor(private name: string, private unique: boolean) {}\n\n\ton(...columns: [IndexColumn, ...IndexColumn[]]): IndexBuilder {\n\t\treturn new IndexBuilder(this.name, columns, this.unique);\n\t}\n}\n\nexport class IndexBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteIndexBuilder';\n\n\tdeclare _: {\n\t\tbrand: 'SQLiteIndexBuilder';\n\t};\n\n\t/** @internal */\n\tconfig: IndexConfig;\n\n\tconstructor(name: string, columns: IndexColumn[], unique: boolean) {\n\t\tthis.config = {\n\t\t\tname,\n\t\t\tcolumns,\n\t\t\tunique,\n\t\t\twhere: undefined,\n\t\t};\n\t}\n\n\t/**\n\t * Condition for partial index.\n\t */\n\twhere(condition: SQL): this {\n\t\tthis.config.where = condition;\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tbuild(table: SQLiteTable): Index {\n\t\treturn new Index(this.config, table);\n\t}\n}\n\nexport class Index {\n\tstatic readonly [entityKind]: string = 'SQLiteIndex';\n\n\tdeclare _: {\n\t\tbrand: 'SQLiteIndex';\n\t};\n\n\treadonly config: IndexConfig & { table: SQLiteTable };\n\n\tconstructor(config: IndexConfig, table: SQLiteTable) {\n\t\tthis.config = { ...config, table };\n\t}\n}\n\nexport function index(name: string): IndexBuilderOn {\n\treturn new IndexBuilderOn(name, false);\n}\n\nexport function uniqueIndex(name: string): IndexBuilderOn {\n\treturn new IndexBuilderOn(name, true);\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { AnySQLiteColumn, SQLiteColumn } from './columns/index.ts';\nimport { SQLiteTable } from './table.ts';\n\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumn extends AnySQLiteColumn<{ tableName: TTableName }>,\n\tTColumns extends AnySQLiteColumn<{ tableName: TTableName }>[],\n>(config: { name?: string; columns: [TColumn, ...TColumns] }): PrimaryKeyBuilder;\n/**\n * @deprecated: Please use primaryKey({ columns: [] }) instead of this function\n * @param columns\n */\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumns extends AnySQLiteColumn<{ tableName: TTableName }>[],\n>(...columns: TColumns): PrimaryKeyBuilder;\nexport function primaryKey(...config: any) {\n\tif (config[0].columns) {\n\t\treturn new PrimaryKeyBuilder(config[0].columns, config[0].name);\n\t}\n\treturn new PrimaryKeyBuilder(config);\n}\nexport class PrimaryKeyBuilder {\n\tstatic readonly [entityKind]: string = 'SQLitePrimaryKeyBuilder';\n\n\tdeclare _: {\n\t\tbrand: 'SQLitePrimaryKeyBuilder';\n\t};\n\n\t/** @internal */\n\tcolumns: SQLiteColumn[];\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tcolumns: SQLiteColumn[],\n\t\tname?: string,\n\t) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\t/** @internal */\n\tbuild(table: SQLiteTable): PrimaryKey {\n\t\treturn new PrimaryKey(table, this.columns, this.name);\n\t}\n}\n\nexport class PrimaryKey {\n\tstatic readonly [entityKind]: string = 'SQLitePrimaryKey';\n\n\treadonly columns: SQLiteColumn[];\n\treadonly name?: string;\n\n\tconstructor(readonly table: SQLiteTable, columns: SQLiteColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\tgetName(): string {\n\t\treturn this.name\n\t\t\t?? `${this.table[SQLiteTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;\n\t}\n}\n", "import { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport { SQLiteTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\nimport type { SQLiteView } from './view.ts';\n\nexport function getTableConfig(table: TTable) {\n\tconst columns = Object.values(table[SQLiteTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\n\tconst extraConfigBuilder = table[SQLiteTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[SQLiteTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t};\n}\n\nexport function extractUsedTable(table: SQLiteTable | Subquery | SQLiteViewBase | SQL): string[] {\n\tif (is(table, SQLiteTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport type OnConflict = 'rollback' | 'abort' | 'fail' | 'ignore' | 'replace';\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: SQLiteView) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t// ...view[SQLiteViewConfig],\n\t};\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { Placeholder, Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { type DrizzleTypeError, orderSelectedFields, type ValueOrArray } from '~/utils.ts';\nimport type { SQLiteColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\n\nexport type SQLiteDeleteWithout<\n\tT extends AnySQLiteDeleteBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tSQLiteDeleteBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['resultType'],\n\t\t\tT['_']['runResult'],\n\t\t\tT['_']['returning'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type SQLiteDelete<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTReturning extends Record | undefined = undefined,\n> = SQLiteDeleteBase;\n\nexport interface SQLiteDeleteConfig {\n\twhere?: SQL | undefined;\n\tlimit?: number | Placeholder;\n\torderBy?: (SQLiteColumn | SQL | SQL.Aliased)[];\n\ttable: SQLiteTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type SQLiteDeleteReturningAll<\n\tT extends AnySQLiteDeleteBase,\n\tTDynamic extends boolean,\n> = SQLiteDeleteWithout<\n\tSQLiteDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tT['_']['dynamic'],\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteDeleteReturning<\n\tT extends AnySQLiteDeleteBase,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = SQLiteDeleteWithout<\n\tSQLiteDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tSelectResultFields,\n\t\tT['_']['dynamic'],\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteDeleteExecute = T['_']['returning'] extends undefined\n\t? T['_']['runResult']\n\t: T['_']['returning'][];\n\nexport type SQLiteDeletePrepare = SQLitePreparedQuery<{\n\ttype: T['_']['resultType'];\n\trun: T['_']['runResult'];\n\tall: T['_']['returning'] extends undefined ? DrizzleTypeError<'.all() cannot be used without .returning()'>\n\t\t: T['_']['returning'][];\n\tget: T['_']['returning'] extends undefined ? DrizzleTypeError<'.get() cannot be used without .returning()'>\n\t\t: T['_']['returning'] | undefined;\n\tvalues: T['_']['returning'] extends undefined ? DrizzleTypeError<'.values() cannot be used without .returning()'>\n\t\t: any[][];\n\texecute: SQLiteDeleteExecute;\n}>;\n\nexport type SQLiteDeleteDynamic = SQLiteDelete<\n\tT['_']['table'],\n\tT['_']['resultType'],\n\tT['_']['runResult'],\n\tT['_']['returning']\n>;\n\nexport type AnySQLiteDeleteBase = SQLiteDeleteBase;\n\nexport interface SQLiteDeleteBase<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning extends Record | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise,\n\tRunnableQuery,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\tdialect: 'sqlite';\n\t\treadonly table: TTable;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? TRunResult : TReturning[];\n\t};\n}\n\nexport class SQLiteDeleteBase<\n\tTTable extends SQLiteTable,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning extends Record | undefined = undefined,\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise\n\timplements RunnableQuery, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteDelete';\n\n\t/** @internal */\n\tconfig: SQLiteDeleteConfig;\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: SQLiteSession,\n\t\tprivate dialect: SQLiteDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, withList };\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will delete only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be deleted.\n\t *\n\t * ```ts\n\t * // Delete all cars with green color\n\t * db.delete(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * db.delete(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Delete all BMW cars with a green color\n\t * db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Delete all cars with the green or blue color\n\t * db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): SQLiteDeleteWithout {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\torderBy(\n\t\tbuilder: (deleteTable: TTable) => ValueOrArray,\n\t): SQLiteDeleteWithout;\n\torderBy(...columns: (SQLiteColumn | SQL | SQL.Aliased)[]): SQLiteDeleteWithout;\n\torderBy(\n\t\t...columns:\n\t\t\t| [(deleteTable: TTable) => ValueOrArray]\n\t\t\t| (SQLiteColumn | SQL | SQL.Aliased)[]\n\t): SQLiteDeleteWithout {\n\t\tif (typeof columns[0] === 'function') {\n\t\t\tconst orderBy = columns[0](\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.table[Table.Symbol.Columns],\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' }),\n\t\t\t\t) as any,\n\t\t\t);\n\n\t\t\tconst orderByArray = Array.isArray(orderBy) ? orderBy : [orderBy];\n\t\t\tthis.config.orderBy = orderByArray;\n\t\t} else {\n\t\t\tconst orderByArray = columns as (SQLiteColumn | SQL | SQL.Aliased)[];\n\t\t\tthis.config.orderBy = orderByArray;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\tlimit(limit: number | Placeholder): SQLiteDeleteWithout {\n\t\tthis.config.limit = limit;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the deleted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete#delete-with-return}\n\t *\n\t * @example\n\t * ```ts\n\t * // Delete all cars with the green color and return all fields\n\t * const deletedCars: Car[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Delete all cars with the green color and return only their id and brand fields\n\t * const deletedCarsIdsAndBrands: { id: number, brand: string }[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): SQLiteDeleteReturningAll;\n\treturning(\n\t\tfields: TSelectedFields,\n\t): SQLiteDeleteReturning;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.table[SQLiteTable.Symbol.Columns],\n\t): SQLiteDeleteReturning {\n\t\tthis.config.returning = orderSelectedFields(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildDeleteQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(isOneTimeQuery = true): SQLiteDeletePrepare {\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t\tthis.config.returning ? 'all' : 'run',\n\t\t\ttrue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\ttype: 'delete',\n\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t},\n\t\t) as SQLiteDeletePrepare;\n\t}\n\n\tprepare(): SQLiteDeletePrepare {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\toverride async execute(placeholderValues?: Record): Promise> {\n\t\treturn this._prepare().execute(placeholderValues) as SQLiteDeleteExecute;\n\t}\n\n\t$dynamic(): SQLiteDeleteDynamic {\n\t\treturn this as any;\n\t}\n}\n", "import type { Column } from '~/column.ts';\nimport { entityKind } from './entity.ts';\nimport { Table } from './table.ts';\nimport type { Casing } from './utils.ts';\n\nexport function toSnakeCase(input: string) {\n\tconst words = input\n\t\t.replace(/['\\u2019]/g, '')\n\t\t.match(/[\\da-z]+|[A-Z]+(?![a-z])|[A-Z][\\da-z]+/g) ?? [];\n\n\treturn words.map((word) => word.toLowerCase()).join('_');\n}\n\nexport function toCamelCase(input: string) {\n\tconst words = input\n\t\t.replace(/['\\u2019]/g, '')\n\t\t.match(/[\\da-z]+|[A-Z]+(?![a-z])|[A-Z][\\da-z]+/g) ?? [];\n\n\treturn words.reduce((acc, word, i) => {\n\t\tconst formattedWord = i === 0 ? word.toLowerCase() : `${word[0]!.toUpperCase()}${word.slice(1)}`;\n\t\treturn acc + formattedWord;\n\t}, '');\n}\n\nfunction noopCase(input: string) {\n\treturn input;\n}\n\nexport class CasingCache {\n\tstatic readonly [entityKind]: string = 'CasingCache';\n\n\t/** @internal */\n\tcache: Record = {};\n\tprivate cachedTables: Record = {};\n\tprivate convert: (input: string) => string;\n\n\tconstructor(casing?: Casing) {\n\t\tthis.convert = casing === 'snake_case'\n\t\t\t? toSnakeCase\n\t\t\t: casing === 'camelCase'\n\t\t\t? toCamelCase\n\t\t\t: noopCase;\n\t}\n\n\tgetColumnCasing(column: Column): string {\n\t\tif (!column.keyAsName) return column.name;\n\n\t\tconst schema = column.table[Table.Symbol.Schema] ?? 'public';\n\t\tconst tableName = column.table[Table.Symbol.OriginalName];\n\t\tconst key = `${schema}.${tableName}.${column.name}`;\n\n\t\tif (!this.cache[key]) {\n\t\t\tthis.cacheTable(column.table);\n\t\t}\n\t\treturn this.cache[key]!;\n\t}\n\n\tprivate cacheTable(table: Table) {\n\t\tconst schema = table[Table.Symbol.Schema] ?? 'public';\n\t\tconst tableName = table[Table.Symbol.OriginalName];\n\t\tconst tableKey = `${schema}.${tableName}`;\n\n\t\tif (!this.cachedTables[tableKey]) {\n\t\t\tfor (const column of Object.values(table[Table.Symbol.Columns])) {\n\t\t\t\tconst columnKey = `${tableKey}.${column.name}`;\n\t\t\t\tthis.cache[columnKey] = this.convert(column.name);\n\t\t\t}\n\t\t\tthis.cachedTables[tableKey] = true;\n\t\t}\n\t}\n\n\tclearCache() {\n\t\tthis.cache = {};\n\t\tthis.cachedTables = {};\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\n\nexport class DrizzleError extends Error {\n\tstatic readonly [entityKind]: string = 'DrizzleError';\n\n\tconstructor({ message, cause }: { message?: string; cause?: unknown }) {\n\t\tsuper(message);\n\t\tthis.name = 'DrizzleError';\n\t\tthis.cause = cause;\n\t}\n}\n\nexport class DrizzleQueryError extends Error {\n\tconstructor(\n\t\tpublic query: string,\n\t\tpublic params: any[],\n\t\tpublic override cause?: Error,\n\t) {\n\t\tsuper(`Failed query: ${query}\\nparams: ${params}`);\n\t\tError.captureStackTrace(this, DrizzleQueryError);\n\n\t\t// ES2022+: preserves original error on `.cause`\n\t\tif (cause) (this as any).cause = cause;\n\t}\n}\n\nexport class TransactionRollbackError extends DrizzleError {\n\tstatic override readonly [entityKind]: string = 'TransactionRollbackError';\n\n\tconstructor() {\n\t\tsuper({ message: 'Rollback' });\n\t}\n}\n", "import { type AnyColumn, Column } from '~/column.ts';\nimport { is } from '~/entity.ts';\nimport { type SQL, sql, type SQLWrapper } from '../sql.ts';\n\n/**\n * Returns the number of values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Number employees with null values\n * db.select({ value: count() }).from(employees)\n * // Number of employees where `name` is not null\n * db.select({ value: count(employees.name) }).from(employees)\n * ```\n *\n * @see countDistinct to get the number of non-duplicate values in `expression`\n */\nexport function count(expression?: SQLWrapper): SQL {\n\treturn sql`count(${expression || sql.raw('*')})`.mapWith(Number);\n}\n\n/**\n * Returns the number of non-duplicate values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Number of employees where `name` is distinct\n * db.select({ value: countDistinct(employees.name) }).from(employees)\n * ```\n *\n * @see count to get the number of values in `expression`, including duplicates\n */\nexport function countDistinct(expression: SQLWrapper): SQL {\n\treturn sql`count(distinct ${expression})`.mapWith(Number);\n}\n\n/**\n * Returns the average (arithmetic mean) of all non-null values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Average salary of an employee\n * db.select({ value: avg(employees.salary) }).from(employees)\n * ```\n *\n * @see avgDistinct to get the average of all non-null and non-duplicate values in `expression`\n */\nexport function avg(expression: SQLWrapper): SQL {\n\treturn sql`avg(${expression})`.mapWith(String);\n}\n\n/**\n * Returns the average (arithmetic mean) of all non-null and non-duplicate values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Average salary of an employee where `salary` is distinct\n * db.select({ value: avgDistinct(employees.salary) }).from(employees)\n * ```\n *\n * @see avg to get the average of all non-null values in `expression`, including duplicates\n */\nexport function avgDistinct(expression: SQLWrapper): SQL {\n\treturn sql`avg(distinct ${expression})`.mapWith(String);\n}\n\n/**\n * Returns the sum of all non-null values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Sum of every employee's salary\n * db.select({ value: sum(employees.salary) }).from(employees)\n * ```\n *\n * @see sumDistinct to get the sum of all non-null and non-duplicate values in `expression`\n */\nexport function sum(expression: SQLWrapper): SQL {\n\treturn sql`sum(${expression})`.mapWith(String);\n}\n\n/**\n * Returns the sum of all non-null and non-duplicate values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Sum of every employee's salary where `salary` is distinct (no duplicates)\n * db.select({ value: sumDistinct(employees.salary) }).from(employees)\n * ```\n *\n * @see sum to get the sum of all non-null values in `expression`, including duplicates\n */\nexport function sumDistinct(expression: SQLWrapper): SQL {\n\treturn sql`sum(distinct ${expression})`.mapWith(String);\n}\n\n/**\n * Returns the maximum value in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // The employee with the highest salary\n * db.select({ value: max(employees.salary) }).from(employees)\n * ```\n */\nexport function max(expression: T): SQL<(T extends AnyColumn ? T['_']['data'] : string) | null> {\n\treturn sql`max(${expression})`.mapWith(is(expression, Column) ? expression : String) as any;\n}\n\n/**\n * Returns the minimum value in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // The employee with the lowest salary\n * db.select({ value: min(employees.salary) }).from(employees)\n * ```\n */\nexport function min(expression: T): SQL<(T extends AnyColumn ? T['_']['data'] : string) | null> {\n\treturn sql`min(${expression})`.mapWith(is(expression, Column) ? expression : String) as any;\n}\n", "import type { AnyColumn } from '~/column.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { type SQL, sql, type SQLWrapper } from '../sql.ts';\n\nfunction toSql(value: number[] | string[]): string {\n\treturn JSON.stringify(value);\n}\n\n/**\n * Used in sorting and in querying, if used in sorting,\n * this specifies that the given column or expression should be sorted in an order\n * that minimizes the L2 distance to the given value.\n * If used in querying, this specifies that it should return the L2 distance\n * between the given column or expression and the given value.\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(l2Distance(cars.embedding, embedding));\n * ```\n *\n * ```ts\n * // Select distance of cars and embedding\n * // to the given embedding\n * db.select({distance: l2Distance(cars.embedding, embedding)}).from(cars)\n * ```\n */\nexport function l2Distance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <-> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <-> ${value}`;\n}\n\n/**\n * L1 distance is one of the possible distance measures between two probability distribution vectors and it is\n * calculated as the sum of the absolute differences.\n * The smaller the distance between the observed probability vectors, the higher the accuracy of the synthetic data\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(l1Distance(cars.embedding, embedding));\n * ```\n *\n * ```ts\n * // Select distance of cars and embedding\n * // to the given embedding\n * db.select({distance: l1Distance(cars.embedding, embedding)}).from(cars)\n * ```\n */\nexport function l1Distance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <+> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <+> ${value}`;\n}\n\n/**\n * Used in sorting and in querying, if used in sorting,\n * this specifies that the given column or expression should be sorted in an order\n * that minimizes the inner product distance to the given value.\n * If used in querying, this specifies that it should return the inner product distance\n * between the given column or expression and the given value.\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(innerProduct(cars.embedding, embedding));\n * ```\n *\n * ```ts\n * // Select distance of cars and embedding\n * // to the given embedding\n * db.select({ distance: innerProduct(cars.embedding, embedding) }).from(cars)\n * ```\n */\nexport function innerProduct(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <#> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <#> ${value}`;\n}\n\n/**\n * Used in sorting and in querying, if used in sorting,\n * this specifies that the given column or expression should be sorted in an order\n * that minimizes the cosine distance to the given value.\n * If used in querying, this specifies that it should return the cosine distance\n * between the given column or expression and the given value.\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(cosineDistance(cars.embedding, embedding));\n * ```\n *\n * ```ts\n * // Select distance of cars and embedding\n * // to the given embedding\n * db.select({distance: cosineDistance(cars.embedding, embedding)}).from(cars)\n * ```\n */\nexport function cosineDistance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <=> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <=> ${value}`;\n}\n\n/**\n * Hamming distance between two strings or vectors of equal length is the number of positions at which the\n * corresponding symbols are different. In other words, it measures the minimum number of\n * substitutions required to change one string into the other, or equivalently,\n * the minimum number of errors that could have transformed one string into the other\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(hammingDistance(cars.embedding, embedding));\n * ```\n */\nexport function hammingDistance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <~> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <~> ${value}`;\n}\n\n/**\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(jaccardDistance(cars.embedding, embedding));\n * ```\n */\nexport function jaccardDistance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <%> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <%> ${value}`;\n}\n", "export * from './aggregate.ts';\nexport * from './vector.ts';\n", "export * from './expressions/index.ts';\nexport * from './functions/index.ts';\nexport * from './sql.ts';\n", "export * from './blob.ts';\nexport * from './common.ts';\nexport * from './custom.ts';\nexport * from './integer.ts';\nexport * from './numeric.ts';\nexport * from './real.ts';\nexport * from './text.ts';\n", "import { entityKind } from '~/entity.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { View } from '~/sql/sql.ts';\n\nexport abstract class SQLiteViewBase<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> extends View {\n\tstatic override readonly [entityKind]: string = 'SQLiteViewBase';\n\n\tdeclare _: View['_'] & {\n\t\tviewBrand: 'SQLiteView';\n\t};\n}\n", "import { aliasedTable, aliasedTableColumn, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias } from '~/alias.ts';\nimport { CasingCache } from '~/casing.ts';\nimport type { AnyColumn } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.ts';\nimport type { MigrationConfig, MigrationMeta } from '~/migrator.ts';\nimport {\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tgetOperators,\n\tgetOrderByOperators,\n\tMany,\n\tnormalizeRelation,\n\tOne,\n\ttype Relation,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { Name, Placeholder } from '~/sql/index.ts';\nimport { and, eq } from '~/sql/index.ts';\nimport { Param, type QueryWithTypings, SQL, sql, type SQLChunk } from '~/sql/sql.ts';\nimport { SQLiteColumn } from '~/sqlite-core/columns/index.ts';\nimport type {\n\tAnySQLiteSelectQueryBuilder,\n\tSQLiteDeleteConfig,\n\tSQLiteInsertConfig,\n\tSQLiteUpdateConfig,\n} from '~/sqlite-core/query-builders/index.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { getTableName, getTableUniqueName, Table } from '~/table.ts';\nimport { type Casing, orderSelectedFields, type UpdateSet } from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type {\n\tSelectedFieldsOrdered,\n\tSQLiteSelectConfig,\n\tSQLiteSelectJoinConfig,\n} from './query-builders/select.types.ts';\nimport type { SQLiteSession } from './session.ts';\nimport { SQLiteViewBase } from './view-base.ts';\n\nexport interface SQLiteDialectConfig {\n\tcasing?: Casing;\n}\n\nexport abstract class SQLiteDialect {\n\tstatic readonly [entityKind]: string = 'SQLiteDialect';\n\n\t/** @internal */\n\treadonly casing: CasingCache;\n\n\tconstructor(config?: SQLiteDialectConfig) {\n\t\tthis.casing = new CasingCache(config?.casing);\n\t}\n\n\tescapeName(name: string): string {\n\t\treturn `\"${name}\"`;\n\t}\n\n\tescapeParam(_num: number): string {\n\t\treturn '?';\n\t}\n\n\tescapeString(str: string): string {\n\t\treturn `'${str.replace(/'/g, \"''\")}'`;\n\t}\n\n\tprivate buildWithCTE(queries: Subquery[] | undefined): SQL | undefined {\n\t\tif (!queries?.length) return undefined;\n\n\t\tconst withSqlChunks = [sql`with `];\n\t\tfor (const [i, w] of queries.entries()) {\n\t\t\twithSqlChunks.push(sql`${sql.identifier(w._.alias)} as (${w._.sql})`);\n\t\t\tif (i < queries.length - 1) {\n\t\t\t\twithSqlChunks.push(sql`, `);\n\t\t\t}\n\t\t}\n\t\twithSqlChunks.push(sql` `);\n\t\treturn sql.join(withSqlChunks);\n\t}\n\n\tbuildDeleteQuery({ table, where, returning, withList, limit, orderBy }: SQLiteDeleteConfig): SQL {\n\t\tconst withSql = this.buildWithCTE(withList);\n\n\t\tconst returningSql = returning\n\t\t\t? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}`\n\t\t\t: undefined;\n\n\t\tconst whereSql = where ? sql` where ${where}` : undefined;\n\n\t\tconst orderBySql = this.buildOrderBy(orderBy);\n\n\t\tconst limitSql = this.buildLimit(limit);\n\n\t\treturn sql`${withSql}delete from ${table}${whereSql}${returningSql}${orderBySql}${limitSql}`;\n\t}\n\n\tbuildUpdateSet(table: SQLiteTable, set: UpdateSet): SQL {\n\t\tconst tableColumns = table[Table.Symbol.Columns];\n\n\t\tconst columnNames = Object.keys(tableColumns).filter((colName) =>\n\t\t\tset[colName] !== undefined || tableColumns[colName]?.onUpdateFn !== undefined\n\t\t);\n\n\t\tconst setSize = columnNames.length;\n\t\treturn sql.join(columnNames.flatMap((colName, i) => {\n\t\t\tconst col = tableColumns[colName]!;\n\n\t\t\tconst value = set[colName] ?? sql.param(col.onUpdateFn!(), col);\n\t\t\tconst res = sql`${sql.identifier(this.casing.getColumnCasing(col))} = ${value}`;\n\n\t\t\tif (i < setSize - 1) {\n\t\t\t\treturn [res, sql.raw(', ')];\n\t\t\t}\n\t\t\treturn [res];\n\t\t}));\n\t}\n\n\tbuildUpdateQuery({ table, set, where, returning, withList, joins, from, limit, orderBy }: SQLiteUpdateConfig): SQL {\n\t\tconst withSql = this.buildWithCTE(withList);\n\n\t\tconst setSql = this.buildUpdateSet(table, set);\n\n\t\tconst fromSql = from && sql.join([sql.raw(' from '), this.buildFromTable(from)]);\n\n\t\tconst joinsSql = this.buildJoins(joins);\n\n\t\tconst returningSql = returning\n\t\t\t? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}`\n\t\t\t: undefined;\n\n\t\tconst whereSql = where ? sql` where ${where}` : undefined;\n\n\t\tconst orderBySql = this.buildOrderBy(orderBy);\n\n\t\tconst limitSql = this.buildLimit(limit);\n\n\t\treturn sql`${withSql}update ${table} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;\n\t}\n\n\t/**\n\t * Builds selection SQL with provided fields/expressions\n\t *\n\t * Examples:\n\t *\n\t * `select from`\n\t *\n\t * `insert ... returning `\n\t *\n\t * If `isSingleTable` is true, then columns won't be prefixed with table name\n\t */\n\tprivate buildSelection(\n\t\tfields: SelectedFieldsOrdered,\n\t\t{ isSingleTable = false }: { isSingleTable?: boolean } = {},\n\t): SQL {\n\t\tconst columnsLen = fields.length;\n\n\t\tconst chunks = fields\n\t\t\t.flatMap(({ field }, i) => {\n\t\t\t\tconst chunk: SQLChunk[] = [];\n\n\t\t\t\tif (is(field, SQL.Aliased) && field.isSelectionField) {\n\t\t\t\t\tchunk.push(sql.identifier(field.fieldAlias));\n\t\t\t\t} else if (is(field, SQL.Aliased) || is(field, SQL)) {\n\t\t\t\t\tconst query = is(field, SQL.Aliased) ? field.sql : field;\n\n\t\t\t\t\tif (isSingleTable) {\n\t\t\t\t\t\tchunk.push(\n\t\t\t\t\t\t\tnew SQL(\n\t\t\t\t\t\t\t\tquery.queryChunks.map((c) => {\n\t\t\t\t\t\t\t\t\tif (is(c, Column)) {\n\t\t\t\t\t\t\t\t\t\treturn sql.identifier(this.casing.getColumnCasing(c));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn c;\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchunk.push(query);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (is(field, SQL.Aliased)) {\n\t\t\t\t\t\tchunk.push(sql` as ${sql.identifier(field.fieldAlias)}`);\n\t\t\t\t\t}\n\t\t\t\t} else if (is(field, Column)) {\n\t\t\t\t\tconst tableName = field.table[Table.Symbol.Name];\n\t\t\t\t\tif (field.columnType === 'SQLiteNumericBigInt') {\n\t\t\t\t\t\tif (isSingleTable) {\n\t\t\t\t\t\t\tchunk.push(sql`cast(${sql.identifier(this.casing.getColumnCasing(field))} as text)`);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchunk.push(\n\t\t\t\t\t\t\t\tsql`cast(${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))} as text)`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isSingleTable) {\n\t\t\t\t\t\t\tchunk.push(sql.identifier(this.casing.getColumnCasing(field)));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchunk.push(sql`${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (i < columnsLen - 1) {\n\t\t\t\t\tchunk.push(sql`, `);\n\t\t\t\t}\n\n\t\t\t\treturn chunk;\n\t\t\t});\n\n\t\treturn sql.join(chunks);\n\t}\n\n\tprivate buildJoins(joins: SQLiteSelectJoinConfig[] | undefined): SQL | undefined {\n\t\tif (!joins || joins.length === 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst joinsArray: SQL[] = [];\n\n\t\tif (joins) {\n\t\t\tfor (const [index, joinMeta] of joins.entries()) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\tjoinsArray.push(sql` `);\n\t\t\t\t}\n\t\t\t\tconst table = joinMeta.table;\n\t\t\t\tconst onSql = joinMeta.on ? sql` on ${joinMeta.on}` : undefined;\n\n\t\t\t\tif (is(table, SQLiteTable)) {\n\t\t\t\t\tconst tableName = table[SQLiteTable.Symbol.Name];\n\t\t\t\t\tconst tableSchema = table[SQLiteTable.Symbol.Schema];\n\t\t\t\t\tconst origTableName = table[SQLiteTable.Symbol.OriginalName];\n\t\t\t\t\tconst alias = tableName === origTableName ? undefined : joinMeta.alias;\n\t\t\t\t\tjoinsArray.push(\n\t\t\t\t\t\tsql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : undefined}${\n\t\t\t\t\t\t\tsql.identifier(origTableName)\n\t\t\t\t\t\t}${alias && sql` ${sql.identifier(alias)}`}${onSql}`,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tjoinsArray.push(\n\t\t\t\t\t\tsql`${sql.raw(joinMeta.joinType)} join ${table}${onSql}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (index < joins.length - 1) {\n\t\t\t\t\tjoinsArray.push(sql` `);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn sql.join(joinsArray);\n\t}\n\n\tprivate buildLimit(limit: number | Placeholder | undefined): SQL | undefined {\n\t\treturn typeof limit === 'object' || (typeof limit === 'number' && limit >= 0)\n\t\t\t? sql` limit ${limit}`\n\t\t\t: undefined;\n\t}\n\n\tprivate buildOrderBy(orderBy: (SQLiteColumn | SQL | SQL.Aliased)[] | undefined): SQL | undefined {\n\t\tconst orderByList: (SQLiteColumn | SQL | SQL.Aliased)[] = [];\n\n\t\tif (orderBy) {\n\t\t\tfor (const [index, orderByValue] of orderBy.entries()) {\n\t\t\t\torderByList.push(orderByValue);\n\n\t\t\t\tif (index < orderBy.length - 1) {\n\t\t\t\t\torderByList.push(sql`, `);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : undefined;\n\t}\n\n\tprivate buildFromTable(\n\t\ttable: SQL | Subquery | SQLiteViewBase | SQLiteTable | undefined,\n\t): SQL | Subquery | SQLiteViewBase | SQLiteTable | undefined {\n\t\tif (is(table, Table) && table[Table.Symbol.IsAlias]) {\n\t\t\treturn sql`${sql`${sql.identifier(table[Table.Symbol.Schema] ?? '')}.`.if(table[Table.Symbol.Schema])}${\n\t\t\t\tsql.identifier(table[Table.Symbol.OriginalName])\n\t\t\t} ${sql.identifier(table[Table.Symbol.Name])}`;\n\t\t}\n\n\t\treturn table;\n\t}\n\n\tbuildSelectQuery(\n\t\t{\n\t\t\twithList,\n\t\t\tfields,\n\t\t\tfieldsFlat,\n\t\t\twhere,\n\t\t\thaving,\n\t\t\ttable,\n\t\t\tjoins,\n\t\t\torderBy,\n\t\t\tgroupBy,\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tdistinct,\n\t\t\tsetOperators,\n\t\t}: SQLiteSelectConfig,\n\t): SQL {\n\t\tconst fieldsList = fieldsFlat ?? orderSelectedFields(fields);\n\t\tfor (const f of fieldsList) {\n\t\t\tif (\n\t\t\t\tis(f.field, Column)\n\t\t\t\t&& getTableName(f.field.table)\n\t\t\t\t\t!== (is(table, Subquery)\n\t\t\t\t\t\t? table._.alias\n\t\t\t\t\t\t: is(table, SQLiteViewBase)\n\t\t\t\t\t\t? table[ViewBaseConfig].name\n\t\t\t\t\t\t: is(table, SQL)\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: getTableName(table))\n\t\t\t\t&& !((table) =>\n\t\t\t\t\tjoins?.some(({ alias }) =>\n\t\t\t\t\t\talias === (table[Table.Symbol.IsAlias] ? getTableName(table) : table[Table.Symbol.BaseName])\n\t\t\t\t\t))(f.field.table)\n\t\t\t) {\n\t\t\t\tconst tableName = getTableName(f.field.table);\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Your \"${\n\t\t\t\t\t\tf.path.join('->')\n\t\t\t\t\t}\" field references a column \"${tableName}\".\"${f.field.name}\", but the table \"${tableName}\" is not part of the query! Did you forget to join it?`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst isSingleTable = !joins || joins.length === 0;\n\n\t\tconst withSql = this.buildWithCTE(withList);\n\n\t\tconst distinctSql = distinct ? sql` distinct` : undefined;\n\n\t\tconst selection = this.buildSelection(fieldsList, { isSingleTable });\n\n\t\tconst tableSql = this.buildFromTable(table);\n\n\t\tconst joinsSql = this.buildJoins(joins);\n\n\t\tconst whereSql = where ? sql` where ${where}` : undefined;\n\n\t\tconst havingSql = having ? sql` having ${having}` : undefined;\n\n\t\tconst groupByList: (SQL | AnyColumn | SQL.Aliased)[] = [];\n\t\tif (groupBy) {\n\t\t\tfor (const [index, groupByValue] of groupBy.entries()) {\n\t\t\t\tgroupByList.push(groupByValue);\n\n\t\t\t\tif (index < groupBy.length - 1) {\n\t\t\t\t\tgroupByList.push(sql`, `);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst groupBySql = groupByList.length > 0 ? sql` group by ${sql.join(groupByList)}` : undefined;\n\n\t\tconst orderBySql = this.buildOrderBy(orderBy);\n\n\t\tconst limitSql = this.buildLimit(limit);\n\n\t\tconst offsetSql = offset ? sql` offset ${offset}` : undefined;\n\n\t\tconst finalQuery =\n\t\t\tsql`${withSql}select${distinctSql} ${selection} from ${tableSql}${joinsSql}${whereSql}${groupBySql}${havingSql}${orderBySql}${limitSql}${offsetSql}`;\n\n\t\tif (setOperators.length > 0) {\n\t\t\treturn this.buildSetOperations(finalQuery, setOperators);\n\t\t}\n\n\t\treturn finalQuery;\n\t}\n\n\tbuildSetOperations(leftSelect: SQL, setOperators: SQLiteSelectConfig['setOperators']): SQL {\n\t\tconst [setOperator, ...rest] = setOperators;\n\n\t\tif (!setOperator) {\n\t\t\tthrow new Error('Cannot pass undefined values to any set operator');\n\t\t}\n\n\t\tif (rest.length === 0) {\n\t\t\treturn this.buildSetOperationQuery({ leftSelect, setOperator });\n\t\t}\n\n\t\t// Some recursive magic here\n\t\treturn this.buildSetOperations(\n\t\t\tthis.buildSetOperationQuery({ leftSelect, setOperator }),\n\t\t\trest,\n\t\t);\n\t}\n\n\tbuildSetOperationQuery({\n\t\tleftSelect,\n\t\tsetOperator: { type, isAll, rightSelect, limit, orderBy, offset },\n\t}: { leftSelect: SQL; setOperator: SQLiteSelectConfig['setOperators'][number] }): SQL {\n\t\t// SQLite doesn't support parenthesis in set operations\n\t\tconst leftChunk = sql`${leftSelect.getSQL()} `;\n\t\tconst rightChunk = sql`${rightSelect.getSQL()}`;\n\n\t\tlet orderBySql;\n\t\tif (orderBy && orderBy.length > 0) {\n\t\t\tconst orderByValues: (SQL | Name)[] = [];\n\n\t\t\t// The next bit is necessary because the sql operator replaces ${table.column} with `table`.`column`\n\t\t\t// which is invalid Sql syntax, Table from one of the SELECTs cannot be used in global ORDER clause\n\t\t\tfor (const singleOrderBy of orderBy) {\n\t\t\t\tif (is(singleOrderBy, SQLiteColumn)) {\n\t\t\t\t\torderByValues.push(sql.identifier(singleOrderBy.name));\n\t\t\t\t} else if (is(singleOrderBy, SQL)) {\n\t\t\t\t\tfor (let i = 0; i < singleOrderBy.queryChunks.length; i++) {\n\t\t\t\t\t\tconst chunk = singleOrderBy.queryChunks[i];\n\n\t\t\t\t\t\tif (is(chunk, SQLiteColumn)) {\n\t\t\t\t\t\t\tsingleOrderBy.queryChunks[i] = sql.identifier(this.casing.getColumnCasing(chunk));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\torderByValues.push(sql`${singleOrderBy}`);\n\t\t\t\t} else {\n\t\t\t\t\torderByValues.push(sql`${singleOrderBy}`);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\torderBySql = sql` order by ${sql.join(orderByValues, sql`, `)}`;\n\t\t}\n\n\t\tconst limitSql = typeof limit === 'object' || (typeof limit === 'number' && limit >= 0)\n\t\t\t? sql` limit ${limit}`\n\t\t\t: undefined;\n\n\t\tconst operatorChunk = sql.raw(`${type} ${isAll ? 'all ' : ''}`);\n\n\t\tconst offsetSql = offset ? sql` offset ${offset}` : undefined;\n\n\t\treturn sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;\n\t}\n\n\tbuildInsertQuery(\n\t\t{ table, values: valuesOrSelect, onConflict, returning, withList, select }: SQLiteInsertConfig,\n\t): SQL {\n\t\t// const isSingleValue = values.length === 1;\n\t\tconst valuesSqlList: ((SQLChunk | SQL)[] | SQL)[] = [];\n\t\tconst columns: Record = table[Table.Symbol.Columns];\n\n\t\tconst colEntries: [string, SQLiteColumn][] = Object.entries(columns).filter(([_, col]) =>\n\t\t\t!col.shouldDisableInsert()\n\t\t);\n\t\tconst insertOrder = colEntries.map(([, column]) => sql.identifier(this.casing.getColumnCasing(column)));\n\n\t\tif (select) {\n\t\t\tconst select = valuesOrSelect as AnySQLiteSelectQueryBuilder | SQL;\n\n\t\t\tif (is(select, SQL)) {\n\t\t\t\tvaluesSqlList.push(select);\n\t\t\t} else {\n\t\t\t\tvaluesSqlList.push(select.getSQL());\n\t\t\t}\n\t\t} else {\n\t\t\tconst values = valuesOrSelect as Record[];\n\t\t\tvaluesSqlList.push(sql.raw('values '));\n\n\t\t\tfor (const [valueIndex, value] of values.entries()) {\n\t\t\t\tconst valueList: (SQLChunk | SQL)[] = [];\n\t\t\t\tfor (const [fieldName, col] of colEntries) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tif (colValue === undefined || (is(colValue, Param) && colValue.value === undefined)) {\n\t\t\t\t\t\tlet defaultValue;\n\t\t\t\t\t\tif (col.default !== null && col.default !== undefined) {\n\t\t\t\t\t\t\tdefaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);\n\t\t\t\t\t\t\t// eslint-disable-next-line unicorn/no-negated-condition\n\t\t\t\t\t\t} else if (col.defaultFn !== undefined) {\n\t\t\t\t\t\t\tconst defaultFnResult = col.defaultFn();\n\t\t\t\t\t\t\tdefaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);\n\t\t\t\t\t\t\t// eslint-disable-next-line unicorn/no-negated-condition\n\t\t\t\t\t\t} else if (!col.default && col.onUpdateFn !== undefined) {\n\t\t\t\t\t\t\tconst onUpdateFnResult = col.onUpdateFn();\n\t\t\t\t\t\t\tdefaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdefaultValue = sql`null`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalueList.push(defaultValue);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalueList.push(colValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvaluesSqlList.push(valueList);\n\t\t\t\tif (valueIndex < values.length - 1) {\n\t\t\t\t\tvaluesSqlList.push(sql`, `);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst withSql = this.buildWithCTE(withList);\n\n\t\tconst valuesSql = sql.join(valuesSqlList);\n\n\t\tconst returningSql = returning\n\t\t\t? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}`\n\t\t\t: undefined;\n\n\t\tconst onConflictSql = onConflict?.length\n\t\t\t? sql.join(onConflict)\n\t\t\t: undefined;\n\n\t\t// if (isSingleValue && valuesSqlList.length === 0){\n\t\t// \treturn sql`insert into ${table} default values ${onConflictSql}${returningSql}`;\n\t\t// }\n\n\t\treturn sql`${withSql}insert into ${table} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;\n\t}\n\n\tsqlToQuery(sql: SQL, invokeSource?: 'indexes' | undefined): QueryWithTypings {\n\t\treturn sql.toQuery({\n\t\t\tcasing: this.casing,\n\t\t\tescapeName: this.escapeName,\n\t\t\tescapeParam: this.escapeParam,\n\t\t\tescapeString: this.escapeString,\n\t\t\tinvokeSource,\n\t\t});\n\t}\n\n\tbuildRelationalQuery({\n\t\tfullSchema,\n\t\tschema,\n\t\ttableNamesMap,\n\t\ttable,\n\t\ttableConfig,\n\t\tqueryConfig: config,\n\t\ttableAlias,\n\t\tnestedQueryRelation,\n\t\tjoinOn,\n\t}: {\n\t\tfullSchema: Record;\n\t\tschema: TablesRelationalConfig;\n\t\ttableNamesMap: Record;\n\t\ttable: SQLiteTable;\n\t\ttableConfig: TableRelationalConfig;\n\t\tqueryConfig: true | DBQueryConfig<'many', true>;\n\t\ttableAlias: string;\n\t\tnestedQueryRelation?: Relation;\n\t\tjoinOn?: SQL;\n\t}): BuildRelationalQueryResult {\n\t\tlet selection: BuildRelationalQueryResult['selection'] = [];\n\t\tlet limit, offset, orderBy: SQLiteSelectConfig['orderBy'] = [], where;\n\t\tconst joins: SQLiteSelectJoinConfig[] = [];\n\n\t\tif (config === true) {\n\t\t\tconst selectionEntries = Object.entries(tableConfig.columns);\n\t\t\tselection = selectionEntries.map((\n\t\t\t\t[key, value],\n\t\t\t) => ({\n\t\t\t\tdbKey: value.name,\n\t\t\t\ttsKey: key,\n\t\t\t\tfield: aliasedTableColumn(value as SQLiteColumn, tableAlias),\n\t\t\t\trelationTableTsKey: undefined,\n\t\t\t\tisJson: false,\n\t\t\t\tselection: [],\n\t\t\t}));\n\t\t} else {\n\t\t\tconst aliasedColumns = Object.fromEntries(\n\t\t\t\tObject.entries(tableConfig.columns).map(([key, value]) => [key, aliasedTableColumn(value, tableAlias)]),\n\t\t\t);\n\n\t\t\tif (config.where) {\n\t\t\t\tconst whereSql = typeof config.where === 'function'\n\t\t\t\t\t? config.where(aliasedColumns, getOperators())\n\t\t\t\t\t: config.where;\n\t\t\t\twhere = whereSql && mapColumnsInSQLToAlias(whereSql, tableAlias);\n\t\t\t}\n\n\t\t\tconst fieldsSelection: { tsKey: string; value: SQLiteColumn | SQL.Aliased }[] = [];\n\t\t\tlet selectedColumns: string[] = [];\n\n\t\t\t// Figure out which columns to select\n\t\t\tif (config.columns) {\n\t\t\t\tlet isIncludeMode = false;\n\n\t\t\t\tfor (const [field, value] of Object.entries(config.columns)) {\n\t\t\t\t\tif (value === undefined) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (field in tableConfig.columns) {\n\t\t\t\t\t\tif (!isIncludeMode && value === true) {\n\t\t\t\t\t\t\tisIncludeMode = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselectedColumns.push(field);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (selectedColumns.length > 0) {\n\t\t\t\t\tselectedColumns = isIncludeMode\n\t\t\t\t\t\t? selectedColumns.filter((c) => config.columns?.[c] === true)\n\t\t\t\t\t\t: Object.keys(tableConfig.columns).filter((key) => !selectedColumns.includes(key));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Select all columns if selection is not specified\n\t\t\t\tselectedColumns = Object.keys(tableConfig.columns);\n\t\t\t}\n\n\t\t\tfor (const field of selectedColumns) {\n\t\t\t\tconst column = tableConfig.columns[field]! as SQLiteColumn;\n\t\t\t\tfieldsSelection.push({ tsKey: field, value: column });\n\t\t\t}\n\n\t\t\tlet selectedRelations: {\n\t\t\t\ttsKey: string;\n\t\t\t\tqueryConfig: true | DBQueryConfig<'many', false>;\n\t\t\t\trelation: Relation;\n\t\t\t}[] = [];\n\n\t\t\t// Figure out which relations to select\n\t\t\tif (config.with) {\n\t\t\t\tselectedRelations = Object.entries(config.with)\n\t\t\t\t\t.filter((entry): entry is [typeof entry[0], NonNullable] => !!entry[1])\n\t\t\t\t\t.map(([tsKey, queryConfig]) => ({ tsKey, queryConfig, relation: tableConfig.relations[tsKey]! }));\n\t\t\t}\n\n\t\t\tlet extras;\n\n\t\t\t// Figure out which extras to select\n\t\t\tif (config.extras) {\n\t\t\t\textras = typeof config.extras === 'function'\n\t\t\t\t\t? config.extras(aliasedColumns, { sql })\n\t\t\t\t\t: config.extras;\n\t\t\t\tfor (const [tsKey, value] of Object.entries(extras)) {\n\t\t\t\t\tfieldsSelection.push({\n\t\t\t\t\t\ttsKey,\n\t\t\t\t\t\tvalue: mapColumnsInAliasedSQLToAlias(value, tableAlias),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Transform `fieldsSelection` into `selection`\n\t\t\t// `fieldsSelection` shouldn't be used after this point\n\t\t\tfor (const { tsKey, value } of fieldsSelection) {\n\t\t\t\tselection.push({\n\t\t\t\t\tdbKey: is(value, SQL.Aliased) ? value.fieldAlias : tableConfig.columns[tsKey]!.name,\n\t\t\t\t\ttsKey,\n\t\t\t\t\tfield: is(value, Column) ? aliasedTableColumn(value, tableAlias) : value,\n\t\t\t\t\trelationTableTsKey: undefined,\n\t\t\t\t\tisJson: false,\n\t\t\t\t\tselection: [],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet orderByOrig = typeof config.orderBy === 'function'\n\t\t\t\t? config.orderBy(aliasedColumns, getOrderByOperators())\n\t\t\t\t: config.orderBy ?? [];\n\t\t\tif (!Array.isArray(orderByOrig)) {\n\t\t\t\torderByOrig = [orderByOrig];\n\t\t\t}\n\t\t\torderBy = orderByOrig.map((orderByValue) => {\n\t\t\t\tif (is(orderByValue, Column)) {\n\t\t\t\t\treturn aliasedTableColumn(orderByValue, tableAlias) as SQLiteColumn;\n\t\t\t\t}\n\t\t\t\treturn mapColumnsInSQLToAlias(orderByValue, tableAlias);\n\t\t\t});\n\n\t\t\tlimit = config.limit;\n\t\t\toffset = config.offset;\n\n\t\t\t// Process all relations\n\t\t\tfor (\n\t\t\t\tconst {\n\t\t\t\t\ttsKey: selectedRelationTsKey,\n\t\t\t\t\tqueryConfig: selectedRelationConfigValue,\n\t\t\t\t\trelation,\n\t\t\t\t} of selectedRelations\n\t\t\t) {\n\t\t\t\tconst normalizedRelation = normalizeRelation(schema, tableNamesMap, relation);\n\t\t\t\tconst relationTableName = getTableUniqueName(relation.referencedTable);\n\t\t\t\tconst relationTableTsName = tableNamesMap[relationTableName]!;\n\t\t\t\tconst relationTableAlias = `${tableAlias}_${selectedRelationTsKey}`;\n\t\t\t\t// const relationTable = schema[relationTableTsName]!;\n\t\t\t\tconst joinOn = and(\n\t\t\t\t\t...normalizedRelation.fields.map((field, i) =>\n\t\t\t\t\t\teq(\n\t\t\t\t\t\t\taliasedTableColumn(normalizedRelation.references[i]!, relationTableAlias),\n\t\t\t\t\t\t\taliasedTableColumn(field, tableAlias),\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tconst builtRelation = this.buildRelationalQuery({\n\t\t\t\t\tfullSchema,\n\t\t\t\t\tschema,\n\t\t\t\t\ttableNamesMap,\n\t\t\t\t\ttable: fullSchema[relationTableTsName] as SQLiteTable,\n\t\t\t\t\ttableConfig: schema[relationTableTsName]!,\n\t\t\t\t\tqueryConfig: is(relation, One)\n\t\t\t\t\t\t? (selectedRelationConfigValue === true\n\t\t\t\t\t\t\t? { limit: 1 }\n\t\t\t\t\t\t\t: { ...selectedRelationConfigValue, limit: 1 })\n\t\t\t\t\t\t: selectedRelationConfigValue,\n\t\t\t\t\ttableAlias: relationTableAlias,\n\t\t\t\t\tjoinOn,\n\t\t\t\t\tnestedQueryRelation: relation,\n\t\t\t\t});\n\t\t\t\tconst field = (sql`(${builtRelation.sql})`).as(selectedRelationTsKey);\n\t\t\t\tselection.push({\n\t\t\t\t\tdbKey: selectedRelationTsKey,\n\t\t\t\t\ttsKey: selectedRelationTsKey,\n\t\t\t\t\tfield,\n\t\t\t\t\trelationTableTsKey: relationTableTsName,\n\t\t\t\t\tisJson: true,\n\t\t\t\t\tselection: builtRelation.selection,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (selection.length === 0) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t`No fields selected for table \"${tableConfig.tsName}\" (\"${tableAlias}\"). You need to have at least one item in \"columns\", \"with\" or \"extras\". If you need to select all columns, omit the \"columns\" key or set it to undefined.`,\n\t\t\t});\n\t\t}\n\n\t\tlet result;\n\n\t\twhere = and(joinOn, where);\n\n\t\tif (nestedQueryRelation) {\n\t\t\tlet field = sql`json_array(${\n\t\t\t\tsql.join(\n\t\t\t\t\tselection.map(({ field }) =>\n\t\t\t\t\t\tis(field, SQLiteColumn)\n\t\t\t\t\t\t\t? sql.identifier(this.casing.getColumnCasing(field))\n\t\t\t\t\t\t\t: is(field, SQL.Aliased)\n\t\t\t\t\t\t\t? field.sql\n\t\t\t\t\t\t\t: field\n\t\t\t\t\t),\n\t\t\t\t\tsql`, `,\n\t\t\t\t)\n\t\t\t})`;\n\t\t\tif (is(nestedQueryRelation, Many)) {\n\t\t\t\tfield = sql`coalesce(json_group_array(${field}), json_array())`;\n\t\t\t}\n\t\t\tconst nestedSelection = [{\n\t\t\t\tdbKey: 'data',\n\t\t\t\ttsKey: 'data',\n\t\t\t\tfield: field.as('data'),\n\t\t\t\tisJson: true,\n\t\t\t\trelationTableTsKey: tableConfig.tsName,\n\t\t\t\tselection,\n\t\t\t}];\n\n\t\t\tconst needsSubquery = limit !== undefined || offset !== undefined || orderBy.length > 0;\n\n\t\t\tif (needsSubquery) {\n\t\t\t\tresult = this.buildSelectQuery({\n\t\t\t\t\ttable: aliasedTable(table, tableAlias),\n\t\t\t\t\tfields: {},\n\t\t\t\t\tfieldsFlat: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: [],\n\t\t\t\t\t\t\tfield: sql.raw('*'),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\twhere,\n\t\t\t\t\tlimit,\n\t\t\t\t\toffset,\n\t\t\t\t\torderBy,\n\t\t\t\t\tsetOperators: [],\n\t\t\t\t});\n\n\t\t\t\twhere = undefined;\n\t\t\t\tlimit = undefined;\n\t\t\t\toffset = undefined;\n\t\t\t\torderBy = undefined;\n\t\t\t} else {\n\t\t\t\tresult = aliasedTable(table, tableAlias);\n\t\t\t}\n\n\t\t\tresult = this.buildSelectQuery({\n\t\t\t\ttable: is(result, SQLiteTable) ? result : new Subquery(result, {}, tableAlias),\n\t\t\t\tfields: {},\n\t\t\t\tfieldsFlat: nestedSelection.map(({ field }) => ({\n\t\t\t\t\tpath: [],\n\t\t\t\t\tfield: is(field, Column) ? aliasedTableColumn(field, tableAlias) : field,\n\t\t\t\t})),\n\t\t\t\tjoins,\n\t\t\t\twhere,\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t\torderBy,\n\t\t\t\tsetOperators: [],\n\t\t\t});\n\t\t} else {\n\t\t\tresult = this.buildSelectQuery({\n\t\t\t\ttable: aliasedTable(table, tableAlias),\n\t\t\t\tfields: {},\n\t\t\t\tfieldsFlat: selection.map(({ field }) => ({\n\t\t\t\t\tpath: [],\n\t\t\t\t\tfield: is(field, Column) ? aliasedTableColumn(field, tableAlias) : field,\n\t\t\t\t})),\n\t\t\t\tjoins,\n\t\t\t\twhere,\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t\torderBy,\n\t\t\t\tsetOperators: [],\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\ttableTsKey: tableConfig.tsName,\n\t\t\tsql: result,\n\t\t\tselection,\n\t\t};\n\t}\n}\n\nexport class SQLiteSyncDialect extends SQLiteDialect {\n\tstatic override readonly [entityKind]: string = 'SQLiteSyncDialect';\n\n\tmigrate(\n\t\tmigrations: MigrationMeta[],\n\t\tsession: SQLiteSession<'sync', unknown, Record, TablesRelationalConfig>,\n\t\tconfig?: string | MigrationConfig,\n\t): void {\n\t\tconst migrationsTable = config === undefined\n\t\t\t? '__drizzle_migrations'\n\t\t\t: typeof config === 'string'\n\t\t\t? '__drizzle_migrations'\n\t\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash text NOT NULL,\n\t\t\t\tcreated_at numeric\n\t\t\t)\n\t\t`;\n\t\tsession.run(migrationTableCreate);\n\n\t\tconst dbMigrations = session.values<[number, string, string]>(\n\t\t\tsql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`,\n\t\t);\n\n\t\tconst lastDbMigration = dbMigrations[0] ?? undefined;\n\t\tsession.run(sql`BEGIN`);\n\n\t\ttry {\n\t\t\tfor (const migration of migrations) {\n\t\t\t\tif (!lastDbMigration || Number(lastDbMigration[2])! < migration.folderMillis) {\n\t\t\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\t\t\tsession.run(sql.raw(stmt));\n\t\t\t\t\t}\n\t\t\t\t\tsession.run(\n\t\t\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t\t} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsession.run(sql`COMMIT`);\n\t\t} catch (e) {\n\t\t\tsession.run(sql`ROLLBACK`);\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport class SQLiteAsyncDialect extends SQLiteDialect {\n\tstatic override readonly [entityKind]: string = 'SQLiteAsyncDialect';\n\n\tasync migrate(\n\t\tmigrations: MigrationMeta[],\n\t\tsession: SQLiteSession<'async', any, any, any>,\n\t\tconfig?: string | MigrationConfig,\n\t): Promise {\n\t\tconst migrationsTable = config === undefined\n\t\t\t? '__drizzle_migrations'\n\t\t\t: typeof config === 'string'\n\t\t\t? '__drizzle_migrations'\n\t\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash text NOT NULL,\n\t\t\t\tcreated_at numeric\n\t\t\t)\n\t\t`;\n\t\tawait session.run(migrationTableCreate);\n\n\t\tconst dbMigrations = await session.values<[number, string, string]>(\n\t\t\tsql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`,\n\t\t);\n\n\t\tconst lastDbMigration = dbMigrations[0] ?? undefined;\n\n\t\tawait session.transaction(async (tx) => {\n\t\t\tfor (const migration of migrations) {\n\t\t\t\tif (!lastDbMigration || Number(lastDbMigration[2])! < migration.folderMillis) {\n\t\t\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\t\t\tawait tx.run(sql.raw(stmt));\n\t\t\t\t\t}\n\t\t\t\t\tawait tx.run(\n\t\t\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t\t} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { SQL, SQLWrapper } from '~/sql/index.ts';\n\nexport abstract class TypedQueryBuilder implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'TypedQueryBuilder';\n\n\tdeclare _: {\n\t\tselectedFields: TSelection;\n\t\tresult: TResult;\n\t\tconfig?: TConfig;\n\t};\n\n\t/** @internal */\n\tgetSelectedFields(): TSelection {\n\t\treturn this._.selectedFields;\n\t}\n\n\tabstract getSQL(): SQL;\n}\n", "import type { CacheConfig, WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type {\n\tBuildSubquerySelection,\n\tGetSelectTableName,\n\tGetSelectTableSelection,\n\tJoinNullability,\n\tJoinType,\n\tSelectMode,\n\tSelectResult,\n\tSetOperator,\n} from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport { SQL, View } from '~/sql/sql.ts';\nimport type { ColumnsSelection, Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteColumn } from '~/sqlite-core/columns/index.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { SQLiteSession } from '~/sqlite-core/session.ts';\nimport type { SubqueryWithSelection } from '~/sqlite-core/subquery.ts';\nimport type { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport {\n\tapplyMixins,\n\tgetTableColumns,\n\tgetTableLikeName,\n\thaveSameKeys,\n\torderSelectedFields,\n\ttype ValueOrArray,\n} from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { SQLiteViewBase } from '../view-base.ts';\nimport type {\n\tAnySQLiteSelect,\n\tCreateSQLiteSelectFromBuilderMode,\n\tGetSQLiteSetOperators,\n\tSelectedFields,\n\tSetOperatorRightSelect,\n\tSQLiteCreateSetOperatorFn,\n\tSQLiteSelectConfig,\n\tSQLiteSelectCrossJoinFn,\n\tSQLiteSelectDynamic,\n\tSQLiteSelectExecute,\n\tSQLiteSelectHKT,\n\tSQLiteSelectHKTBase,\n\tSQLiteSelectJoinFn,\n\tSQLiteSelectPrepare,\n\tSQLiteSelectWithout,\n\tSQLiteSetOperatorExcludedMethods,\n\tSQLiteSetOperatorWithResult,\n} from './select.types.ts';\n\nexport class SQLiteSelectBuilder<\n\tTSelection extends SelectedFields | undefined,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTBuilderMode extends 'db' | 'qb' = 'db',\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteSelectBuilder';\n\n\tprivate fields: TSelection;\n\tprivate session: SQLiteSession | undefined;\n\tprivate dialect: SQLiteDialect;\n\tprivate withList: Subquery[] | undefined;\n\tprivate distinct: boolean | undefined;\n\n\tconstructor(\n\t\tconfig: {\n\t\t\tfields: TSelection;\n\t\t\tsession: SQLiteSession | undefined;\n\t\t\tdialect: SQLiteDialect;\n\t\t\twithList?: Subquery[];\n\t\t\tdistinct?: boolean;\n\t\t},\n\t) {\n\t\tthis.fields = config.fields;\n\t\tthis.session = config.session;\n\t\tthis.dialect = config.dialect;\n\t\tthis.withList = config.withList;\n\t\tthis.distinct = config.distinct;\n\t}\n\n\tfrom(\n\t\tsource: TFrom,\n\t): CreateSQLiteSelectFromBuilderMode<\n\t\tTBuilderMode,\n\t\tGetSelectTableName,\n\t\tTResultType,\n\t\tTRunResult,\n\t\tTSelection extends undefined ? GetSelectTableSelection : TSelection,\n\t\tTSelection extends undefined ? 'single' : 'partial'\n\t> {\n\t\tconst isPartialSelect = !!this.fields;\n\n\t\tlet fields: SelectedFields;\n\t\tif (this.fields) {\n\t\t\tfields = this.fields;\n\t\t} else if (is(source, Subquery)) {\n\t\t\t// This is required to use the proxy handler to get the correct field values from the subquery\n\t\t\tfields = Object.fromEntries(\n\t\t\t\tObject.keys(source._.selectedFields).map((\n\t\t\t\t\tkey,\n\t\t\t\t) => [key, source[key as unknown as keyof typeof source] as unknown as SelectedFields[string]]),\n\t\t\t);\n\t\t} else if (is(source, SQLiteViewBase)) {\n\t\t\tfields = source[ViewBaseConfig].selectedFields as SelectedFields;\n\t\t} else if (is(source, SQL)) {\n\t\t\tfields = {};\n\t\t} else {\n\t\t\tfields = getTableColumns(source);\n\t\t}\n\n\t\treturn new SQLiteSelectBase({\n\t\t\ttable: source,\n\t\t\tfields,\n\t\t\tisPartialSelect,\n\t\t\tsession: this.session,\n\t\t\tdialect: this.dialect,\n\t\t\twithList: this.withList,\n\t\t\tdistinct: this.distinct,\n\t\t}) as any;\n\t}\n}\n\nexport abstract class SQLiteSelectQueryBuilderBase<\n\tTHKT extends SQLiteSelectHKTBase,\n\tTTableName extends string | undefined,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTSelection extends ColumnsSelection,\n\tTSelectMode extends SelectMode,\n\tTNullabilityMap extends Record = TTableName extends string ? Record\n\t\t: {},\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n\tTResult extends any[] = SelectResult[],\n\tTSelectedFields extends ColumnsSelection = BuildSubquerySelection,\n> extends TypedQueryBuilder {\n\tstatic override readonly [entityKind]: string = 'SQLiteSelectQueryBuilder';\n\n\toverride readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly hkt: THKT;\n\t\treadonly tableName: TTableName;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly selection: TSelection;\n\t\treadonly selectMode: TSelectMode;\n\t\treadonly nullabilityMap: TNullabilityMap;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TResult;\n\t\treadonly selectedFields: TSelectedFields;\n\t\treadonly config: SQLiteSelectConfig;\n\t};\n\n\t/** @internal */\n\tconfig: SQLiteSelectConfig;\n\tprotected joinsNotNullableMap: Record;\n\tprivate tableName: string | undefined;\n\tprivate isPartialSelect: boolean;\n\tprotected session: SQLiteSession | undefined;\n\tprotected dialect: SQLiteDialect;\n\tprotected cacheConfig?: WithCacheConfig = undefined;\n\tprotected usedTables: Set = new Set();\n\n\tconstructor(\n\t\t{ table, fields, isPartialSelect, session, dialect, withList, distinct }: {\n\t\t\ttable: SQLiteSelectConfig['table'];\n\t\t\tfields: SQLiteSelectConfig['fields'];\n\t\t\tisPartialSelect: boolean;\n\t\t\tsession: SQLiteSession | undefined;\n\t\t\tdialect: SQLiteDialect;\n\t\t\twithList: Subquery[] | undefined;\n\t\t\tdistinct: boolean | undefined;\n\t\t},\n\t) {\n\t\tsuper();\n\t\tthis.config = {\n\t\t\twithList,\n\t\t\ttable,\n\t\t\tfields: { ...fields },\n\t\t\tdistinct,\n\t\t\tsetOperators: [],\n\t\t};\n\t\tthis.isPartialSelect = isPartialSelect;\n\t\tthis.session = session;\n\t\tthis.dialect = dialect;\n\t\tthis._ = {\n\t\t\tselectedFields: fields as TSelectedFields,\n\t\t\tconfig: this.config,\n\t\t} as this['_'];\n\t\tthis.tableName = getTableLikeName(table);\n\t\tthis.joinsNotNullableMap = typeof this.tableName === 'string' ? { [this.tableName]: true } : {};\n\t\tfor (const item of extractUsedTable(table)) this.usedTables.add(item);\n\t}\n\n\t/** @internal */\n\tgetUsedTables() {\n\t\treturn [...this.usedTables];\n\t}\n\n\tprivate createJoin(\n\t\tjoinType: TJoinType,\n\t): 'cross' extends TJoinType ? SQLiteSelectCrossJoinFn\n\t\t: SQLiteSelectJoinFn\n\t{\n\t\treturn (\n\t\t\ttable: SQLiteTable | Subquery | SQLiteViewBase | SQL,\n\t\t\ton?: ((aliases: TSelection) => SQL | undefined) | SQL | undefined,\n\t\t) => {\n\t\t\tconst baseTableName = this.tableName;\n\t\t\tconst tableName = getTableLikeName(table);\n\n\t\t\t// store all tables used in a query\n\t\t\tfor (const item of extractUsedTable(table)) this.usedTables.add(item);\n\n\t\t\tif (typeof tableName === 'string' && this.config.joins?.some((join) => join.alias === tableName)) {\n\t\t\t\tthrow new Error(`Alias \"${tableName}\" is already used in this query`);\n\t\t\t}\n\n\t\t\tif (!this.isPartialSelect) {\n\t\t\t\t// If this is the first join and this is not a partial select and we're not selecting from raw SQL, \"move\" the fields from the main table to the nested object\n\t\t\t\tif (Object.keys(this.joinsNotNullableMap).length === 1 && typeof baseTableName === 'string') {\n\t\t\t\t\tthis.config.fields = {\n\t\t\t\t\t\t[baseTableName]: this.config.fields,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (typeof tableName === 'string' && !is(table, SQL)) {\n\t\t\t\t\tconst selection = is(table, Subquery)\n\t\t\t\t\t\t? table._.selectedFields\n\t\t\t\t\t\t: is(table, View)\n\t\t\t\t\t\t? table[ViewBaseConfig].selectedFields\n\t\t\t\t\t\t: table[Table.Symbol.Columns];\n\t\t\t\t\tthis.config.fields[tableName] = selection;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof on === 'function') {\n\t\t\t\ton = on(\n\t\t\t\t\tnew Proxy(\n\t\t\t\t\t\tthis.config.fields,\n\t\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t\t) as TSelection,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!this.config.joins) {\n\t\t\t\tthis.config.joins = [];\n\t\t\t}\n\t\t\tthis.config.joins.push({ on, table, joinType, alias: tableName });\n\n\t\t\tif (typeof tableName === 'string') {\n\t\t\t\tswitch (joinType) {\n\t\t\t\t\tcase 'left': {\n\t\t\t\t\t\tthis.joinsNotNullableMap[tableName] = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'right': {\n\t\t\t\t\t\tthis.joinsNotNullableMap = Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries(this.joinsNotNullableMap).map(([key]) => [key, false]),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.joinsNotNullableMap[tableName] = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'cross':\n\t\t\t\t\tcase 'inner': {\n\t\t\t\t\t\tthis.joinsNotNullableMap[tableName] = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'full': {\n\t\t\t\t\t\tthis.joinsNotNullableMap = Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries(this.joinsNotNullableMap).map(([key]) => [key, false]),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.joinsNotNullableMap[tableName] = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this as any;\n\t\t};\n\t}\n\n\t/**\n\t * Executes a `left join` operation by adding another table to the current query.\n\t *\n\t * Calling this method associates each row of the table with the corresponding row from the joined table, if a match is found. If no matching row exists, it sets all columns of the joined table to null.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#left-join}\n\t *\n\t * @param table the table to join.\n\t * @param on the `on` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users and their pets\n\t * const usersWithPets: { user: User; pets: Pet | null; }[] = await db.select()\n\t * .from(users)\n\t * .leftJoin(pets, eq(users.id, pets.ownerId))\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number; petId: number | null; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .leftJoin(pets, eq(users.id, pets.ownerId))\n\t * ```\n\t */\n\tleftJoin = this.createJoin('left');\n\n\t/**\n\t * Executes a `right join` operation by adding another table to the current query.\n\t *\n\t * Calling this method associates each row of the joined table with the corresponding row from the main table, if a match is found. If no matching row exists, it sets all columns of the main table to null.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#right-join}\n\t *\n\t * @param table the table to join.\n\t * @param on the `on` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users and their pets\n\t * const usersWithPets: { user: User | null; pets: Pet; }[] = await db.select()\n\t * .from(users)\n\t * .rightJoin(pets, eq(users.id, pets.ownerId))\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number | null; petId: number; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .rightJoin(pets, eq(users.id, pets.ownerId))\n\t * ```\n\t */\n\trightJoin = this.createJoin('right');\n\n\t/**\n\t * Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.\n\t *\n\t * Calling this method retrieves rows that have corresponding entries in both joined tables. Rows without matching entries in either table are excluded, resulting in a table that includes only matching pairs.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#inner-join}\n\t *\n\t * @param table the table to join.\n\t * @param on the `on` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users and their pets\n\t * const usersWithPets: { user: User; pets: Pet; }[] = await db.select()\n\t * .from(users)\n\t * .innerJoin(pets, eq(users.id, pets.ownerId))\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .innerJoin(pets, eq(users.id, pets.ownerId))\n\t * ```\n\t */\n\tinnerJoin = this.createJoin('inner');\n\n\t/**\n\t * Executes a `full join` operation by combining rows from two tables into a new table.\n\t *\n\t * Calling this method retrieves all rows from both main and joined tables, merging rows with matching values and filling in `null` for non-matching columns.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#full-join}\n\t *\n\t * @param table the table to join.\n\t * @param on the `on` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users and their pets\n\t * const usersWithPets: { user: User | null; pets: Pet | null; }[] = await db.select()\n\t * .from(users)\n\t * .fullJoin(pets, eq(users.id, pets.ownerId))\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number | null; petId: number | null; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .fullJoin(pets, eq(users.id, pets.ownerId))\n\t * ```\n\t */\n\tfullJoin = this.createJoin('full');\n\n\t/**\n\t * Executes a `cross join` operation by combining rows from two tables into a new table.\n\t *\n\t * Calling this method retrieves all rows from both main and joined tables, merging all rows from each table.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#cross-join}\n\t *\n\t * @param table the table to join.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users, each user with every pet\n\t * const usersWithPets: { user: User; pets: Pet; }[] = await db.select()\n\t * .from(users)\n\t * .crossJoin(pets)\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .crossJoin(pets)\n\t * ```\n\t */\n\tcrossJoin = this.createJoin('cross');\n\n\tprivate createSetOperator(\n\t\ttype: SetOperator,\n\t\tisAll: boolean,\n\t): >(\n\t\trightSelection:\n\t\t\t| ((setOperators: GetSQLiteSetOperators) => SetOperatorRightSelect)\n\t\t\t| SetOperatorRightSelect,\n\t) => SQLiteSelectWithout<\n\t\tthis,\n\t\tTDynamic,\n\t\tSQLiteSetOperatorExcludedMethods,\n\t\ttrue\n\t> {\n\t\treturn (rightSelection) => {\n\t\t\tconst rightSelect = (typeof rightSelection === 'function'\n\t\t\t\t? rightSelection(getSQLiteSetOperators())\n\t\t\t\t: rightSelection) as TypedQueryBuilder<\n\t\t\t\t\tany,\n\t\t\t\t\tTResult\n\t\t\t\t>;\n\n\t\t\tif (!haveSameKeys(this.getSelectedFields(), rightSelect.getSelectedFields())) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'Set operator error (union / intersect / except): selected fields are not the same or are in a different order',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.config.setOperators.push({ type, isAll, rightSelect });\n\t\t\treturn this as any;\n\t\t};\n\t}\n\n\t/**\n\t * Adds `union` set operator to the query.\n\t *\n\t * Calling this method will combine the result sets of the `select` statements and remove any duplicate rows that appear across them.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/set-operations#union}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all unique names from customers and users tables\n\t * await db.select({ name: users.name })\n\t * .from(users)\n\t * .union(\n\t * db.select({ name: customers.name }).from(customers)\n\t * );\n\t * // or\n\t * import { union } from 'drizzle-orm/sqlite-core'\n\t *\n\t * await union(\n\t * db.select({ name: users.name }).from(users),\n\t * db.select({ name: customers.name }).from(customers)\n\t * );\n\t * ```\n\t */\n\tunion = this.createSetOperator('union', false);\n\n\t/**\n\t * Adds `union all` set operator to the query.\n\t *\n\t * Calling this method will combine the result-set of the `select` statements and keep all duplicate rows that appear across them.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/set-operations#union-all}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all transaction ids from both online and in-store sales\n\t * await db.select({ transaction: onlineSales.transactionId })\n\t * .from(onlineSales)\n\t * .unionAll(\n\t * db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)\n\t * );\n\t * // or\n\t * import { unionAll } from 'drizzle-orm/sqlite-core'\n\t *\n\t * await unionAll(\n\t * db.select({ transaction: onlineSales.transactionId }).from(onlineSales),\n\t * db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)\n\t * );\n\t * ```\n\t */\n\tunionAll = this.createSetOperator('union', true);\n\n\t/**\n\t * Adds `intersect` set operator to the query.\n\t *\n\t * Calling this method will retain only the rows that are present in both result sets and eliminate duplicates.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/set-operations#intersect}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select course names that are offered in both departments A and B\n\t * await db.select({ courseName: depA.courseName })\n\t * .from(depA)\n\t * .intersect(\n\t * db.select({ courseName: depB.courseName }).from(depB)\n\t * );\n\t * // or\n\t * import { intersect } from 'drizzle-orm/sqlite-core'\n\t *\n\t * await intersect(\n\t * db.select({ courseName: depA.courseName }).from(depA),\n\t * db.select({ courseName: depB.courseName }).from(depB)\n\t * );\n\t * ```\n\t */\n\tintersect = this.createSetOperator('intersect', false);\n\n\t/**\n\t * Adds `except` set operator to the query.\n\t *\n\t * Calling this method will retrieve all unique rows from the left query, except for the rows that are present in the result set of the right query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/set-operations#except}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all courses offered in department A but not in department B\n\t * await db.select({ courseName: depA.courseName })\n\t * .from(depA)\n\t * .except(\n\t * db.select({ courseName: depB.courseName }).from(depB)\n\t * );\n\t * // or\n\t * import { except } from 'drizzle-orm/sqlite-core'\n\t *\n\t * await except(\n\t * db.select({ courseName: depA.courseName }).from(depA),\n\t * db.select({ courseName: depB.courseName }).from(depB)\n\t * );\n\t * ```\n\t */\n\texcept = this.createSetOperator('except', false);\n\n\t/** @internal */\n\taddSetOperators(setOperators: SQLiteSelectConfig['setOperators']): SQLiteSelectWithout<\n\t\tthis,\n\t\tTDynamic,\n\t\tSQLiteSetOperatorExcludedMethods,\n\t\ttrue\n\t> {\n\t\tthis.config.setOperators.push(...setOperators);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will select only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#filtering}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be selected.\n\t *\n\t * ```ts\n\t * // Select all cars with green color\n\t * await db.select().from(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.select().from(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Select all BMW cars with a green color\n\t * await db.select().from(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Select all cars with the green or blue color\n\t * await db.select().from(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(\n\t\twhere: ((aliases: TSelection) => SQL | undefined) | SQL | undefined,\n\t): SQLiteSelectWithout {\n\t\tif (typeof where === 'function') {\n\t\t\twhere = where(\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.fields,\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t) as TSelection,\n\t\t\t);\n\t\t}\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `having` clause to the query.\n\t *\n\t * Calling this method will select only those rows that fulfill a specified condition. It is typically used with aggregate functions to filter the aggregated data based on a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#aggregations}\n\t *\n\t * @param having the `having` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all brands with more than one car\n\t * await db.select({\n\t * \tbrand: cars.brand,\n\t * \tcount: sql`cast(count(${cars.id}) as int)`,\n\t * })\n\t * .from(cars)\n\t * .groupBy(cars.brand)\n\t * .having(({ count }) => gt(count, 1));\n\t * ```\n\t */\n\thaving(\n\t\thaving: ((aliases: this['_']['selection']) => SQL | undefined) | SQL | undefined,\n\t): SQLiteSelectWithout {\n\t\tif (typeof having === 'function') {\n\t\t\thaving = having(\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.fields,\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t) as TSelection,\n\t\t\t);\n\t\t}\n\t\tthis.config.having = having;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `group by` clause to the query.\n\t *\n\t * Calling this method will group rows that have the same values into summary rows, often used for aggregation purposes.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#aggregations}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Group and count people by their last names\n\t * await db.select({\n\t * lastName: people.lastName,\n\t * count: sql`cast(count(*) as int)`\n\t * })\n\t * .from(people)\n\t * .groupBy(people.lastName);\n\t * ```\n\t */\n\tgroupBy(\n\t\tbuilder: (aliases: this['_']['selection']) => ValueOrArray,\n\t): SQLiteSelectWithout;\n\tgroupBy(...columns: (SQLiteColumn | SQL)[]): SQLiteSelectWithout;\n\tgroupBy(\n\t\t...columns:\n\t\t\t| [(aliases: this['_']['selection']) => ValueOrArray]\n\t\t\t| (SQLiteColumn | SQL | SQL.Aliased)[]\n\t): SQLiteSelectWithout {\n\t\tif (typeof columns[0] === 'function') {\n\t\t\tconst groupBy = columns[0](\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.fields,\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' }),\n\t\t\t\t) as TSelection,\n\t\t\t);\n\t\t\tthis.config.groupBy = Array.isArray(groupBy) ? groupBy : [groupBy];\n\t\t} else {\n\t\t\tthis.config.groupBy = columns as (SQLiteColumn | SQL | SQL.Aliased)[];\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `order by` clause to the query.\n\t *\n\t * Calling this method will sort the result-set in ascending or descending order. By default, the sort order is ascending.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#order-by}\n\t *\n\t * @example\n\t *\n\t * ```\n\t * // Select cars ordered by year\n\t * await db.select().from(cars).orderBy(cars.year);\n\t * ```\n\t *\n\t * You can specify whether results are in ascending or descending order with the `asc()` and `desc()` operators.\n\t *\n\t * ```ts\n\t * // Select cars ordered by year in descending order\n\t * await db.select().from(cars).orderBy(desc(cars.year));\n\t *\n\t * // Select cars ordered by year and price\n\t * await db.select().from(cars).orderBy(asc(cars.year), desc(cars.price));\n\t * ```\n\t */\n\torderBy(\n\t\tbuilder: (aliases: this['_']['selection']) => ValueOrArray,\n\t): SQLiteSelectWithout;\n\torderBy(...columns: (SQLiteColumn | SQL)[]): SQLiteSelectWithout;\n\torderBy(\n\t\t...columns:\n\t\t\t| [(aliases: this['_']['selection']) => ValueOrArray]\n\t\t\t| (SQLiteColumn | SQL | SQL.Aliased)[]\n\t): SQLiteSelectWithout {\n\t\tif (typeof columns[0] === 'function') {\n\t\t\tconst orderBy = columns[0](\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.fields,\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' }),\n\t\t\t\t) as TSelection,\n\t\t\t);\n\n\t\t\tconst orderByArray = Array.isArray(orderBy) ? orderBy : [orderBy];\n\n\t\t\tif (this.config.setOperators.length > 0) {\n\t\t\t\tthis.config.setOperators.at(-1)!.orderBy = orderByArray;\n\t\t\t} else {\n\t\t\t\tthis.config.orderBy = orderByArray;\n\t\t\t}\n\t\t} else {\n\t\t\tconst orderByArray = columns as (SQLiteColumn | SQL | SQL.Aliased)[];\n\n\t\t\tif (this.config.setOperators.length > 0) {\n\t\t\t\tthis.config.setOperators.at(-1)!.orderBy = orderByArray;\n\t\t\t} else {\n\t\t\t\tthis.config.orderBy = orderByArray;\n\t\t\t}\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `limit` clause to the query.\n\t *\n\t * Calling this method will set the maximum number of rows that will be returned by this query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#limit--offset}\n\t *\n\t * @param limit the `limit` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Get the first 10 people from this query.\n\t * await db.select().from(people).limit(10);\n\t * ```\n\t */\n\tlimit(limit: number | Placeholder): SQLiteSelectWithout {\n\t\tif (this.config.setOperators.length > 0) {\n\t\t\tthis.config.setOperators.at(-1)!.limit = limit;\n\t\t} else {\n\t\t\tthis.config.limit = limit;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `offset` clause to the query.\n\t *\n\t * Calling this method will skip a number of rows when returning results from this query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#limit--offset}\n\t *\n\t * @param offset the `offset` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Get the 10th-20th people from this query.\n\t * await db.select().from(people).offset(10).limit(10);\n\t * ```\n\t */\n\toffset(offset: number | Placeholder): SQLiteSelectWithout {\n\t\tif (this.config.setOperators.length > 0) {\n\t\t\tthis.config.setOperators.at(-1)!.offset = offset;\n\t\t} else {\n\t\t\tthis.config.offset = offset;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildSelectQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\tas(\n\t\talias: TAlias,\n\t): SubqueryWithSelection {\n\t\tconst usedTables: string[] = [];\n\t\tusedTables.push(...extractUsedTable(this.config.table));\n\t\tif (this.config.joins) { for (const it of this.config.joins) usedTables.push(...extractUsedTable(it.table)); }\n\n\t\treturn new Proxy(\n\t\t\tnew Subquery(this.getSQL(), this.config.fields, alias, false, [...new Set(usedTables)]),\n\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t) as SubqueryWithSelection;\n\t}\n\n\t/** @internal */\n\toverride getSelectedFields(): this['_']['selectedFields'] {\n\t\treturn new Proxy(\n\t\t\tthis.config.fields,\n\t\t\tnew SelectionProxyHandler({ alias: this.tableName, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t) as this['_']['selectedFields'];\n\t}\n\n\t$dynamic(): SQLiteSelectDynamic {\n\t\treturn this;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SQLiteSelectBase<\n\tTTableName extends string | undefined,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTSelection extends ColumnsSelection,\n\tTSelectMode extends SelectMode = 'single',\n\tTNullabilityMap extends Record = TTableName extends string ? Record\n\t\t: {},\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n\tTResult extends any[] = SelectResult[],\n\tTSelectedFields extends ColumnsSelection = BuildSubquerySelection,\n> extends\n\tSQLiteSelectQueryBuilderBase<\n\t\tSQLiteSelectHKT,\n\t\tTTableName,\n\t\tTResultType,\n\t\tTRunResult,\n\t\tTSelection,\n\t\tTSelectMode,\n\t\tTNullabilityMap,\n\t\tTDynamic,\n\t\tTExcludedMethods,\n\t\tTResult,\n\t\tTSelectedFields\n\t>,\n\tQueryPromise\n{}\n\nexport class SQLiteSelectBase<\n\tTTableName extends string | undefined,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTSelection,\n\tTSelectMode extends SelectMode = 'single',\n\tTNullabilityMap extends Record = TTableName extends string ? Record\n\t\t: {},\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n\tTResult = SelectResult[],\n\tTSelectedFields extends ColumnsSelection = BuildSubquerySelection,\n> extends SQLiteSelectQueryBuilderBase<\n\tSQLiteSelectHKT,\n\tTTableName,\n\tTResultType,\n\tTRunResult,\n\tTSelection,\n\tTSelectMode,\n\tTNullabilityMap,\n\tTDynamic,\n\tTExcludedMethods,\n\tTResult,\n\tTSelectedFields\n> implements RunnableQuery, SQLWrapper {\n\tstatic override readonly [entityKind]: string = 'SQLiteSelect';\n\n\t/** @internal */\n\t_prepare(isOneTimeQuery = true): SQLiteSelectPrepare {\n\t\tif (!this.session) {\n\t\t\tthrow new Error('Cannot execute a query on a query builder. Please use a database instance instead.');\n\t\t}\n\t\tconst fieldsList = orderSelectedFields(this.config.fields);\n\t\tconst query = this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tfieldsList,\n\t\t\t'all',\n\t\t\ttrue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\ttype: 'select',\n\t\t\t\ttables: [...this.usedTables],\n\t\t\t},\n\t\t\tthis.cacheConfig,\n\t\t);\n\t\tquery.joinsNotNullableMap = this.joinsNotNullableMap;\n\t\treturn query as ReturnType;\n\t}\n\n\t$withCache(config?: { config?: CacheConfig; tag?: string; autoInvalidate?: boolean } | false) {\n\t\tthis.cacheConfig = config === undefined\n\t\t\t? { config: {}, enable: true, autoInvalidate: true }\n\t\t\t: config === false\n\t\t\t? { enable: false }\n\t\t\t: { enable: true, autoInvalidate: true, ...config };\n\t\treturn this;\n\t}\n\n\tprepare(): SQLiteSelectPrepare {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\tasync execute(): Promise> {\n\t\treturn this.all() as SQLiteSelectExecute;\n\t}\n}\n\napplyMixins(SQLiteSelectBase, [QueryPromise]);\n\nfunction createSetOperator(type: SetOperator, isAll: boolean): SQLiteCreateSetOperatorFn {\n\treturn (leftSelect, rightSelect, ...restSelects) => {\n\t\tconst setOperators = [rightSelect, ...restSelects].map((select) => ({\n\t\t\ttype,\n\t\t\tisAll,\n\t\t\trightSelect: select as AnySQLiteSelect,\n\t\t}));\n\n\t\tfor (const setOperator of setOperators) {\n\t\t\tif (!haveSameKeys((leftSelect as any).getSelectedFields(), setOperator.rightSelect.getSelectedFields())) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'Set operator error (union / intersect / except): selected fields are not the same or are in a different order',\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn (leftSelect as AnySQLiteSelect).addSetOperators(setOperators) as any;\n\t};\n}\n\nconst getSQLiteSetOperators = () => ({\n\tunion,\n\tunionAll,\n\tintersect,\n\texcept,\n});\n\n/**\n * Adds `union` set operator to the query.\n *\n * Calling this method will combine the result sets of the `select` statements and remove any duplicate rows that appear across them.\n *\n * See docs: {@link https://orm.drizzle.team/docs/set-operations#union}\n *\n * @example\n *\n * ```ts\n * // Select all unique names from customers and users tables\n * import { union } from 'drizzle-orm/sqlite-core'\n *\n * await union(\n * db.select({ name: users.name }).from(users),\n * db.select({ name: customers.name }).from(customers)\n * );\n * // or\n * await db.select({ name: users.name })\n * .from(users)\n * .union(\n * db.select({ name: customers.name }).from(customers)\n * );\n * ```\n */\nexport const union = createSetOperator('union', false);\n\n/**\n * Adds `union all` set operator to the query.\n *\n * Calling this method will combine the result-set of the `select` statements and keep all duplicate rows that appear across them.\n *\n * See docs: {@link https://orm.drizzle.team/docs/set-operations#union-all}\n *\n * @example\n *\n * ```ts\n * // Select all transaction ids from both online and in-store sales\n * import { unionAll } from 'drizzle-orm/sqlite-core'\n *\n * await unionAll(\n * db.select({ transaction: onlineSales.transactionId }).from(onlineSales),\n * db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)\n * );\n * // or\n * await db.select({ transaction: onlineSales.transactionId })\n * .from(onlineSales)\n * .unionAll(\n * db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)\n * );\n * ```\n */\nexport const unionAll = createSetOperator('union', true);\n\n/**\n * Adds `intersect` set operator to the query.\n *\n * Calling this method will retain only the rows that are present in both result sets and eliminate duplicates.\n *\n * See docs: {@link https://orm.drizzle.team/docs/set-operations#intersect}\n *\n * @example\n *\n * ```ts\n * // Select course names that are offered in both departments A and B\n * import { intersect } from 'drizzle-orm/sqlite-core'\n *\n * await intersect(\n * db.select({ courseName: depA.courseName }).from(depA),\n * db.select({ courseName: depB.courseName }).from(depB)\n * );\n * // or\n * await db.select({ courseName: depA.courseName })\n * .from(depA)\n * .intersect(\n * db.select({ courseName: depB.courseName }).from(depB)\n * );\n * ```\n */\nexport const intersect = createSetOperator('intersect', false);\n\n/**\n * Adds `except` set operator to the query.\n *\n * Calling this method will retrieve all unique rows from the left query, except for the rows that are present in the result set of the right query.\n *\n * See docs: {@link https://orm.drizzle.team/docs/set-operations#except}\n *\n * @example\n *\n * ```ts\n * // Select all courses offered in department A but not in department B\n * import { except } from 'drizzle-orm/sqlite-core'\n *\n * await except(\n * db.select({ courseName: depA.courseName }).from(depA),\n * db.select({ courseName: depB.courseName }).from(depB)\n * );\n * // or\n * await db.select({ courseName: depA.courseName })\n * .from(depA)\n * .except(\n * db.select({ courseName: depB.courseName }).from(depB)\n * );\n * ```\n */\nexport const except = createSetOperator('except', false);\n", "import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection, SQL } from '~/sql/sql.ts';\nimport type { SQLiteDialectConfig } from '~/sqlite-core/dialect.ts';\nimport { SQLiteDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { WithBuilder } from '~/sqlite-core/subquery.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { SQLiteSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteQueryBuilder';\n\n\tprivate dialect: SQLiteDialect | undefined;\n\tprivate dialectConfig: SQLiteDialectConfig | undefined;\n\n\tconstructor(dialect?: SQLiteDialect | SQLiteDialectConfig) {\n\t\tthis.dialect = is(dialect, SQLiteDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, SQLiteDialect) ? undefined : dialect;\n\t}\n\n\t$with: WithBuilder = (alias: string, selection?: ColumnsSelection) => {\n\t\tconst queryBuilder = this;\n\t\tconst as = (\n\t\t\tqb:\n\t\t\t\t| TypedQueryBuilder\n\t\t\t\t| SQL\n\t\t\t\t| ((qb: QueryBuilder) => TypedQueryBuilder | SQL),\n\t\t) => {\n\t\t\tif (typeof qb === 'function') {\n\t\t\t\tqb = qb(queryBuilder);\n\t\t\t}\n\n\t\t\treturn new Proxy(\n\t\t\t\tnew WithSubquery(\n\t\t\t\t\tqb.getSQL(),\n\t\t\t\t\tselection ?? ('getSelectedFields' in qb ? qb.getSelectedFields() ?? {} : {}) as SelectedFields,\n\t\t\t\t\talias,\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t) as any;\n\t\t};\n\t\treturn { as };\n\t};\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): SQLiteSelectBuilder;\n\t\tfunction select(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder;\n\t\tfunction select(\n\t\t\tfields?: TSelection,\n\t\t): SQLiteSelectBuilder {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): SQLiteSelectBuilder;\n\t\tfunction selectDistinct(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder;\n\t\tfunction selectDistinct(\n\t\t\tfields?: TSelection,\n\t\t): SQLiteSelectBuilder {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): SQLiteSelectBuilder;\n\tselect(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder;\n\tselect(\n\t\tfields?: TSelection,\n\t): SQLiteSelectBuilder {\n\t\treturn new SQLiteSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): SQLiteSelectBuilder;\n\tselectDistinct(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder;\n\tselectDistinct(\n\t\tfields?: TSelection,\n\t): SQLiteSelectBuilder {\n\t\treturn new SQLiteSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new SQLiteSyncDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n", "import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL, sql } from '~/sql/sql.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { IndexColumn } from '~/sqlite-core/indexes.ts';\nimport type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Columns, Table } from '~/table.ts';\nimport { type DrizzleTypeError, haveSameKeys, mapUpdateSet, orderSelectedFields, type Simplify } from '~/utils.ts';\nimport type { AnySQLiteColumn, SQLiteColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { SQLiteUpdateSetSource } from './update.ts';\n\nexport interface SQLiteInsertConfig {\n\ttable: TTable;\n\tvalues: Record[] | SQLiteInsertSelectQueryBuilder | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL[];\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n}\n\nexport type SQLiteInsertValue = Simplify<\n\t{\n\t\t[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;\n\t}\n>;\n\nexport type SQLiteInsertSelectQueryBuilder = TypedQueryBuilder<\n\t{ [K in keyof TTable['$inferInsert']]: AnySQLiteColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K] }\n>;\n\nexport class SQLiteInsertBuilder<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteInsertBuilder';\n\n\tconstructor(\n\t\tprotected table: TTable,\n\t\tprotected session: SQLiteSession,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tvalues(value: SQLiteInsertValue): SQLiteInsertBase;\n\tvalues(values: SQLiteInsertValue[]): SQLiteInsertBase;\n\tvalues(\n\t\tvalues: SQLiteInsertValue | SQLiteInsertValue[],\n\t): SQLiteInsertBase {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\t// if (mappedValues.length > 1 && mappedValues.some((t) => Object.keys(t).length === 0)) {\n\t\t// \tthrow new Error(\n\t\t// \t\t`One of the values you want to insert is empty. In SQLite you can insert only one empty object per statement. For this case Drizzle with use \"INSERT INTO ... DEFAULT VALUES\" syntax`,\n\t\t// \t);\n\t\t// }\n\n\t\treturn new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);\n\t}\n\n\tselect(\n\t\tselectQuery: (qb: QueryBuilder) => SQLiteInsertSelectQueryBuilder,\n\t): SQLiteInsertBase;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): SQLiteInsertBase;\n\tselect(selectQuery: SQL): SQLiteInsertBase;\n\tselect(selectQuery: SQLiteInsertSelectQueryBuilder): SQLiteInsertBase;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| SQLiteInsertSelectQueryBuilder\n\t\t\t| ((qb: QueryBuilder) => SQLiteInsertSelectQueryBuilder | SQL),\n\t): SQLiteInsertBase {\n\t\tconst select = typeof selectQuery === 'function' ? selectQuery(new QueryBuilder()) : selectQuery;\n\n\t\tif (\n\t\t\t!is(select, SQL)\n\t\t\t&& !haveSameKeys(this.table[Columns], select._.selectedFields)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t'Insert select error: selected fields are not the same or are in a different order compared to the table definition',\n\t\t\t);\n\t\t}\n\n\t\treturn new SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type SQLiteInsertWithout =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tSQLiteInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['resultType'],\n\t\t\t\tT['_']['runResult'],\n\t\t\t\tT['_']['returning'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type SQLiteInsertReturning<\n\tT extends AnySQLiteInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = SQLiteInsertWithout<\n\tSQLiteInsertBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tSelectResultFields,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteInsertReturningAll<\n\tT extends AnySQLiteInsert,\n\tTDynamic extends boolean,\n> = SQLiteInsertWithout<\n\tSQLiteInsertBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteInsertOnConflictDoUpdateConfig = {\n\ttarget: IndexColumn | IndexColumn[];\n\t/** @deprecated - use either `targetWhere` or `setWhere` */\n\twhere?: SQL;\n\t// TODO: add tests for targetWhere and setWhere\n\ttargetWhere?: SQL;\n\tsetWhere?: SQL;\n\tset: SQLiteUpdateSetSource;\n};\n\nexport type SQLiteInsertDynamic = SQLiteInsert<\n\tT['_']['table'],\n\tT['_']['resultType'],\n\tT['_']['runResult'],\n\tT['_']['returning']\n>;\n\nexport type SQLiteInsertExecute = T['_']['returning'] extends undefined ? T['_']['runResult']\n\t: T['_']['returning'][];\n\nexport type SQLiteInsertPrepare = SQLitePreparedQuery<\n\t{\n\t\ttype: T['_']['resultType'];\n\t\trun: T['_']['runResult'];\n\t\tall: T['_']['returning'] extends undefined ? DrizzleTypeError<'.all() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'][];\n\t\tget: T['_']['returning'] extends undefined ? DrizzleTypeError<'.get() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'];\n\t\tvalues: T['_']['returning'] extends undefined ? DrizzleTypeError<'.values() cannot be used without .returning()'>\n\t\t\t: any[][];\n\t\texecute: SQLiteInsertExecute;\n\t}\n>;\n\nexport type AnySQLiteInsert = SQLiteInsertBase;\n\nexport type SQLiteInsert<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTReturning = any,\n> = SQLiteInsertBase;\n\nexport interface SQLiteInsertBase<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tSQLWrapper,\n\tQueryPromise,\n\tRunnableQuery\n{\n\treadonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly table: TTable;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? TRunResult : TReturning[];\n\t};\n}\n\nexport class SQLiteInsertBase<\n\tTTable extends SQLiteTable,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise\n\timplements RunnableQuery, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteInsert';\n\n\t/** @internal */\n\tconfig: SQLiteInsertConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: SQLiteInsertConfig['values'],\n\t\tprivate session: SQLiteSession,\n\t\tprivate dialect: SQLiteDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select };\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the inserted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#insert-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and return all fields\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t *\n\t * // Insert one row and return only the id\n\t * const insertedCarId: { id: number }[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning({ id: cars.id });\n\t * ```\n\t */\n\treturning(): SQLiteInsertReturningAll;\n\treturning(\n\t\tfields: TSelectedFields,\n\t): SQLiteInsertReturning;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[SQLiteTable.Symbol.Columns],\n\t): SQLiteInsertWithout {\n\t\tthis.config.returning = orderSelectedFields(fields);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do nothing` clause to the query.\n\t *\n\t * Calling this method simply avoids inserting a row as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}\n\t *\n\t * @param config The `target` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and cancel the insert if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing();\n\t *\n\t * // Explicitly specify conflict target\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing({ target: cars.id });\n\t * ```\n\t */\n\tonConflictDoNothing(config: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {}): this {\n\t\tif (!this.config.onConflict) this.config.onConflict = [];\n\n\t\tif (config.target === undefined) {\n\t\t\tthis.config.onConflict.push(sql` on conflict do nothing`);\n\t\t} else {\n\t\t\tconst targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;\n\t\t\tconst whereSql = config.where ? sql` where ${config.where}` : sql``;\n\t\t\tthis.config.onConflict.push(sql` on conflict ${targetSql} do nothing${whereSql}`);\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds an `on conflict do update` clause to the query.\n\t *\n\t * Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}\n\t *\n\t * @param config The `target`, `set` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Update the row if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'Porsche' }\n\t * });\n\t *\n\t * // Upsert with 'where' clause\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'newBMW' },\n\t * where: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\tonConflictDoUpdate(config: SQLiteInsertOnConflictDoUpdateConfig): this {\n\t\tif (config.where && (config.targetWhere || config.setWhere)) {\n\t\t\tthrow new Error(\n\t\t\t\t'You cannot use both \"where\" and \"targetWhere\"/\"setWhere\" at the same time - \"where\" is deprecated, use \"targetWhere\" or \"setWhere\" instead.',\n\t\t\t);\n\t\t}\n\n\t\tif (!this.config.onConflict) this.config.onConflict = [];\n\n\t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t\tconst targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : undefined;\n\t\tconst setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : undefined;\n\t\tconst targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;\n\t\tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t\tthis.config.onConflict.push(\n\t\t\tsql` on conflict ${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`,\n\t\t);\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(isOneTimeQuery = true): SQLiteInsertPrepare {\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t\tthis.config.returning ? 'all' : 'run',\n\t\t\ttrue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\ttype: 'insert',\n\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t},\n\t\t) as SQLiteInsertPrepare;\n\t}\n\n\tprepare(): SQLiteInsertPrepare {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\toverride async execute(): Promise> {\n\t\treturn (this.config.returning ? this.all() : this.run()) as SQLiteInsertExecute;\n\t}\n\n\t$dynamic(): SQLiteInsertDynamic {\n\t\treturn this as any;\n\t}\n}\n", "//# sourceMappingURL=select.types.js.map", "import type { GetColumnData } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { JoinType, SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { Placeholder, Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport {\n\ttype DrizzleTypeError,\n\tgetTableLikeName,\n\tmapUpdateSet,\n\torderSelectedFields,\n\ttype UpdateSet,\n\ttype ValueOrArray,\n} from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { SQLiteColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { SQLiteViewBase } from '../view-base.ts';\nimport type { SelectedFields, SelectedFieldsOrdered, SQLiteSelectJoinConfig } from './select.types.ts';\n\nexport interface SQLiteUpdateConfig {\n\twhere?: SQL | undefined;\n\tlimit?: number | Placeholder;\n\torderBy?: (SQLiteColumn | SQL | SQL.Aliased)[];\n\tset: UpdateSet;\n\ttable: SQLiteTable;\n\tfrom?: SQLiteTable | Subquery | SQLiteViewBase | SQL;\n\tjoins: SQLiteSelectJoinConfig[];\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type SQLiteUpdateSetSource =\n\t& {\n\t\t[Key in keyof TTable['$inferInsert']]?:\n\t\t\t| GetColumnData\n\t\t\t| SQL\n\t\t\t| SQLiteColumn\n\t\t\t| undefined;\n\t}\n\t& {};\n\nexport class SQLiteUpdateBuilder<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteUpdateBuilder';\n\n\tdeclare readonly _: {\n\t\treadonly table: TTable;\n\t};\n\n\tconstructor(\n\t\tprotected table: TTable,\n\t\tprotected session: SQLiteSession,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tset(\n\t\tvalues: SQLiteUpdateSetSource,\n\t): SQLiteUpdateWithout<\n\t\tSQLiteUpdateBase,\n\t\tfalse,\n\t\t'leftJoin' | 'rightJoin' | 'innerJoin' | 'fullJoin'\n\t> {\n\t\treturn new SQLiteUpdateBase(\n\t\t\tthis.table,\n\t\t\tmapUpdateSet(this.table, values),\n\t\t\tthis.session,\n\t\t\tthis.dialect,\n\t\t\tthis.withList,\n\t\t) as any;\n\t}\n}\n\nexport type SQLiteUpdateWithout<\n\tT extends AnySQLiteUpdate,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T : Omit<\n\tSQLiteUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['from'],\n\t\tT['_']['returning'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods'] | K\n\t>,\n\tT['_']['excludedMethods'] | K\n>;\n\nexport type SQLiteUpdateWithJoins<\n\tT extends AnySQLiteUpdate,\n\tTDynamic extends boolean,\n\tTFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL,\n> = TDynamic extends true ? T : Omit<\n\tSQLiteUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tTFrom,\n\t\tT['_']['returning'],\n\t\tTDynamic,\n\t\tExclude\n\t>,\n\tExclude\n>;\n\nexport type SQLiteUpdateReturningAll = SQLiteUpdateWithout<\n\tSQLiteUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['from'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteUpdateReturning<\n\tT extends AnySQLiteUpdate,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFields,\n> = SQLiteUpdateWithout<\n\tSQLiteUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['from'],\n\t\tSelectResultFields,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteUpdateExecute = T['_']['returning'] extends undefined ? T['_']['runResult']\n\t: T['_']['returning'][];\n\nexport type SQLiteUpdatePrepare = SQLitePreparedQuery<\n\t{\n\t\ttype: T['_']['resultType'];\n\t\trun: T['_']['runResult'];\n\t\tall: T['_']['returning'] extends undefined ? DrizzleTypeError<'.all() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'][];\n\t\tget: T['_']['returning'] extends undefined ? DrizzleTypeError<'.get() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'];\n\t\tvalues: T['_']['returning'] extends undefined ? DrizzleTypeError<'.values() cannot be used without .returning()'>\n\t\t\t: any[][];\n\t\texecute: SQLiteUpdateExecute;\n\t}\n>;\n\nexport type SQLiteUpdateJoinFn<\n\tT extends AnySQLiteUpdate,\n> = <\n\tTJoinedTable extends SQLiteTable | Subquery | SQLiteViewBase | SQL,\n>(\n\ttable: TJoinedTable,\n\ton:\n\t\t| (\n\t\t\t(\n\t\t\t\tupdateTable: T['_']['table']['_']['columns'],\n\t\t\t\tfrom: T['_']['from'] extends SQLiteTable ? T['_']['from']['_']['columns']\n\t\t\t\t\t: T['_']['from'] extends Subquery | SQLiteViewBase ? T['_']['from']['_']['selectedFields']\n\t\t\t\t\t: never,\n\t\t\t) => SQL | undefined\n\t\t)\n\t\t| SQL\n\t\t| undefined,\n) => T;\n\nexport type SQLiteUpdateDynamic = SQLiteUpdate<\n\tT['_']['table'],\n\tT['_']['resultType'],\n\tT['_']['runResult'],\n\tT['_']['returning']\n>;\n\nexport type SQLiteUpdate<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = any,\n\tTFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined,\n\tTReturning extends Record | undefined = Record | undefined,\n> = SQLiteUpdateBase;\n\nexport type AnySQLiteUpdate = SQLiteUpdateBase;\n\nexport interface SQLiteUpdateBase<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined,\n\tTReturning = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends SQLWrapper, QueryPromise {\n\treadonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly table: TTable;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly from: TFrom;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? TRunResult : TReturning[];\n\t};\n}\n\nexport class SQLiteUpdateBase<\n\tTTable extends SQLiteTable = SQLiteTable,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined,\n\tTReturning = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise\n\timplements RunnableQuery, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteUpdate';\n\n\t/** @internal */\n\tconfig: SQLiteUpdateConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tset: UpdateSet,\n\t\tprivate session: SQLiteSession,\n\t\tprivate dialect: SQLiteDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { set, table, withList, joins: [] };\n\t}\n\n\tfrom(\n\t\tsource: TFrom,\n\t): SQLiteUpdateWithJoins {\n\t\tthis.config.from = source;\n\t\treturn this as any;\n\t}\n\n\tprivate createJoin(\n\t\tjoinType: TJoinType,\n\t): SQLiteUpdateJoinFn {\n\t\treturn ((\n\t\t\ttable: SQLiteTable | Subquery | SQLiteViewBase | SQL,\n\t\t\ton: ((updateTable: TTable, from: TFrom) => SQL | undefined) | SQL | undefined,\n\t\t) => {\n\t\t\tconst tableName = getTableLikeName(table);\n\n\t\t\tif (typeof tableName === 'string' && this.config.joins.some((join) => join.alias === tableName)) {\n\t\t\t\tthrow new Error(`Alias \"${tableName}\" is already used in this query`);\n\t\t\t}\n\n\t\t\tif (typeof on === 'function') {\n\t\t\t\tconst from = this.config.from\n\t\t\t\t\t? is(table, SQLiteTable)\n\t\t\t\t\t\t? table[Table.Symbol.Columns]\n\t\t\t\t\t\t: is(table, Subquery)\n\t\t\t\t\t\t? table._.selectedFields\n\t\t\t\t\t\t: is(table, SQLiteViewBase)\n\t\t\t\t\t\t? table[ViewBaseConfig].selectedFields\n\t\t\t\t\t\t: undefined\n\t\t\t\t\t: undefined;\n\t\t\t\ton = on(\n\t\t\t\t\tnew Proxy(\n\t\t\t\t\t\tthis.config.table[Table.Symbol.Columns],\n\t\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t\t) as any,\n\t\t\t\t\tfrom && new Proxy(\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t\t) as any,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.config.joins.push({ on, table, joinType, alias: tableName });\n\n\t\t\treturn this as any;\n\t\t}) as any;\n\t}\n\n\tleftJoin = this.createJoin('left');\n\n\trightJoin = this.createJoin('right');\n\n\tinnerJoin = this.createJoin('inner');\n\n\tfullJoin = this.createJoin('full');\n\n\t/**\n\t * Adds a 'where' clause to the query.\n\t *\n\t * Calling this method will update only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param where the 'where' clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be updated.\n\t *\n\t * ```ts\n\t * // Update all cars with green color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'));\n\t * // or\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Update all BMW cars with a green color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Update all cars with the green or blue color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): SQLiteUpdateWithout {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\torderBy(\n\t\tbuilder: (updateTable: TTable) => ValueOrArray,\n\t): SQLiteUpdateWithout;\n\torderBy(...columns: (SQLiteColumn | SQL | SQL.Aliased)[]): SQLiteUpdateWithout;\n\torderBy(\n\t\t...columns:\n\t\t\t| [(updateTable: TTable) => ValueOrArray]\n\t\t\t| (SQLiteColumn | SQL | SQL.Aliased)[]\n\t): SQLiteUpdateWithout {\n\t\tif (typeof columns[0] === 'function') {\n\t\t\tconst orderBy = columns[0](\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.table[Table.Symbol.Columns],\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' }),\n\t\t\t\t) as any,\n\t\t\t);\n\n\t\t\tconst orderByArray = Array.isArray(orderBy) ? orderBy : [orderBy];\n\t\t\tthis.config.orderBy = orderByArray;\n\t\t} else {\n\t\t\tconst orderByArray = columns as (SQLiteColumn | SQL | SQL.Aliased)[];\n\t\t\tthis.config.orderBy = orderByArray;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\tlimit(limit: number | Placeholder): SQLiteUpdateWithout {\n\t\tthis.config.limit = limit;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the updated rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update#update-with-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Update all cars with the green color and return all fields\n\t * const updatedCars: Car[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Update all cars with the green color and return only their id and brand fields\n\t * const updatedCarsIdsAndBrands: { id: number, brand: string }[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): SQLiteUpdateReturningAll;\n\treturning(\n\t\tfields: TSelectedFields,\n\t): SQLiteUpdateReturning;\n\treturning(\n\t\tfields: SelectedFields = this.config.table[SQLiteTable.Symbol.Columns],\n\t): SQLiteUpdateWithout {\n\t\tthis.config.returning = orderSelectedFields(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildUpdateQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(isOneTimeQuery = true): SQLiteUpdatePrepare {\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t\tthis.config.returning ? 'all' : 'run',\n\t\t\ttrue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\ttype: 'insert',\n\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t},\n\t\t) as SQLiteUpdatePrepare;\n\t}\n\n\tprepare(): SQLiteUpdatePrepare {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\toverride async execute(): Promise> {\n\t\treturn (this.config.returning ? this.all() : this.run()) as SQLiteUpdateExecute;\n\t}\n\n\t$dynamic(): SQLiteUpdateDynamic {\n\t\treturn this as any;\n\t}\n}\n", "export * from './delete.ts';\nexport * from './insert.ts';\nexport * from './query-builder.ts';\nexport * from './select.ts';\nexport * from './select.types.ts';\nexport * from './update.ts';\n", "import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteSession } from '../session.ts';\nimport type { SQLiteTable } from '../table.ts';\nimport type { SQLiteView } from '../view.ts';\n\nexport class SQLiteCountBuilder<\n\tTSession extends SQLiteSession,\n> extends SQL implements Promise, SQLWrapper {\n\tprivate sql: SQL;\n\n\tstatic override readonly [entityKind] = 'SQLiteCountBuilderAsync';\n\t[Symbol.toStringTag] = 'SQLiteCountBuilderAsync';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: SQLiteTable | SQLiteView | SQL | SQLWrapper,\n\t\tfilters?: SQL,\n\t): SQL {\n\t\treturn sql`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: SQLiteTable | SQLiteView | SQL | SQLWrapper,\n\t\tfilters?: SQL,\n\t): SQL {\n\t\treturn sql`select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters}`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: SQLiteTable | SQLiteView | SQL | SQLWrapper;\n\t\t\tfilters?: SQL;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(SQLiteCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = SQLiteCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\tthen(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined,\n\t): Promise {\n\t\treturn Promise.resolve(this.session.count(this.sql)).then(\n\t\t\tonfulfilled,\n\t\t\tonrejected,\n\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => never | PromiseLike) | null | undefined,\n\t): Promise {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmapRelationalRow,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { SQLiteDialect } from '../dialect.ts';\nimport type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from '../session.ts';\nimport type { SQLiteTable } from '../table.ts';\n\nexport type SQLiteRelationalQueryKind = TMode extends 'async'\n\t? SQLiteRelationalQuery\n\t: SQLiteSyncRelationalQuery;\n\nexport class RelationalQueryBuilder<\n\tTMode extends 'sync' | 'async',\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteAsyncRelationalQueryBuilder';\n\n\tconstructor(\n\t\tprotected mode: TMode,\n\t\tprotected fullSchema: Record,\n\t\tprotected schema: TSchema,\n\t\tprotected tableNamesMap: Record,\n\t\tprotected table: SQLiteTable,\n\t\tprotected tableConfig: TableRelationalConfig,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprotected session: SQLiteSession<'async', unknown, TFullSchema, TSchema>,\n\t) {}\n\n\tfindMany>(\n\t\tconfig?: KnownKeysOnly>,\n\t): SQLiteRelationalQueryKind[]> {\n\t\treturn (this.mode === 'sync'\n\t\t\t? new SQLiteSyncRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? (config as DBQueryConfig<'many', true>) : {},\n\t\t\t\t'many',\n\t\t\t)\n\t\t\t: new SQLiteRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? (config as DBQueryConfig<'many', true>) : {},\n\t\t\t\t'many',\n\t\t\t)) as SQLiteRelationalQueryKind[]>;\n\t}\n\n\tfindFirst, 'limit'>>(\n\t\tconfig?: KnownKeysOnly, 'limit'>>,\n\t): SQLiteRelationalQueryKind | undefined> {\n\t\treturn (this.mode === 'sync'\n\t\t\t? new SQLiteSyncRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? { ...(config as DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t\t'first',\n\t\t\t)\n\t\t\t: new SQLiteRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? { ...(config as DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t\t'first',\n\t\t\t)) as SQLiteRelationalQueryKind | undefined>;\n\t}\n}\n\nexport class SQLiteRelationalQuery extends QueryPromise\n\timplements RunnableQuery, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteAsyncRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly type: TType;\n\t\treadonly result: TResult;\n\t};\n\n\t/** @internal */\n\tmode: 'many' | 'first';\n\n\tconstructor(\n\t\tprivate fullSchema: Record,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record,\n\t\t/** @internal */\n\t\tpublic table: SQLiteTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: SQLiteDialect,\n\t\tprivate session: SQLiteSession<'sync' | 'async', unknown, Record, TablesRelationalConfig>,\n\t\tprivate config: DBQueryConfig<'many', true> | true,\n\t\tmode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t\tthis.mode = mode;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildRelationalQuery({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t}).sql as SQL;\n\t}\n\n\t/** @internal */\n\t_prepare(\n\t\tisOneTimeQuery = false,\n\t): SQLitePreparedQuery {\n\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tbuiltQuery,\n\t\t\tundefined,\n\t\t\tthis.mode === 'first' ? 'get' : 'all',\n\t\t\ttrue,\n\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\tconst rows = rawRows.map((row) =>\n\t\t\t\t\tmapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)\n\t\t\t\t);\n\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t}\n\t\t\t\treturn rows as TResult;\n\t\t\t},\n\t\t) as SQLitePreparedQuery;\n\t}\n\n\tprepare(): SQLitePreparedQuery {\n\t\treturn this._prepare(false);\n\t}\n\n\tprivate _toSQL(): { query: BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this.dialect.buildRelationalQuery({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t});\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql as SQL);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\t/** @internal */\n\texecuteRaw(): TResult {\n\t\tif (this.mode === 'first') {\n\t\t\treturn this._prepare(false).get() as TResult;\n\t\t}\n\t\treturn this._prepare(false).all() as TResult;\n\t}\n\n\toverride async execute(): Promise {\n\t\treturn this.executeRaw();\n\t}\n}\n\nexport class SQLiteSyncRelationalQuery extends SQLiteRelationalQuery<'sync', TResult> {\n\tstatic override readonly [entityKind]: string = 'SQLiteSyncRelationalQuery';\n\n\tsync(): TResult {\n\t\treturn this.executeRaw();\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '../dialect.ts';\n\ntype SQLiteRawAction = 'all' | 'get' | 'values' | 'run';\nexport interface SQLiteRawConfig {\n\taction: SQLiteRawAction;\n}\n\nexport interface SQLiteRaw extends QueryPromise, RunnableQuery, SQLWrapper {}\n\nexport class SQLiteRaw extends QueryPromise\n\timplements RunnableQuery, SQLWrapper, PreparedQuery\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteRaw';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly result: TResult;\n\t};\n\n\t/** @internal */\n\tconfig: SQLiteRawConfig;\n\n\tconstructor(\n\t\tpublic execute: () => Promise,\n\t\t/** @internal */\n\t\tpublic getSQL: () => SQL,\n\t\taction: SQLiteRawAction,\n\t\tprivate dialect: SQLiteAsyncDialect,\n\t\tprivate mapBatchResult: (result: unknown) => unknown,\n\t) {\n\t\tsuper();\n\t\tthis.config = { action };\n\t}\n\n\tgetQuery() {\n\t\treturn { ...this.dialect.sqlToQuery(this.getSQL()), method: this.config.action };\n\t}\n\n\tmapResult(result: unknown, isFromBatch?: boolean) {\n\t\treturn isFromBatch ? this.mapBatchResult(result) : result;\n\t}\n\n\t_prepare(): PreparedQuery {\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn false;\n\t}\n}\n", "import type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport { type ColumnsSelection, type SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport {\n\tQueryBuilder,\n\tSQLiteDeleteBase,\n\tSQLiteInsertBuilder,\n\tSQLiteSelectBuilder,\n\tSQLiteUpdateBuilder,\n} from '~/sqlite-core/query-builders/index.ts';\nimport type {\n\tDBResult,\n\tResult,\n\tSQLiteSession,\n\tSQLiteTransaction,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport type { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport type { DrizzleTypeError } from '~/utils.ts';\nimport { SQLiteCountBuilder } from './query-builders/count.ts';\nimport { RelationalQueryBuilder } from './query-builders/query.ts';\nimport { SQLiteRaw } from './query-builders/raw.ts';\nimport type { SelectedFields } from './query-builders/select.types.ts';\nimport type { WithBuilder } from './subquery.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\n\nexport class BaseSQLiteDatabase<\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record = Record,\n\tTSchema extends TablesRelationalConfig = ExtractTablesWithRelations,\n> {\n\tstatic readonly [entityKind]: string = 'BaseSQLiteDatabase';\n\n\tdeclare readonly _: {\n\t\treadonly schema: TSchema | undefined;\n\t\treadonly fullSchema: TFullSchema;\n\t\treadonly tableNamesMap: Record;\n\t};\n\n\tquery: TFullSchema extends Record\n\t\t? DrizzleTypeError<'Seems like the schema generic is missing - did you forget to add it to your DB type?'>\n\t\t: {\n\t\t\t[K in keyof TSchema]: RelationalQueryBuilder;\n\t\t};\n\n\tconstructor(\n\t\tprivate resultKind: TResultKind,\n\t\t/** @internal */\n\t\treadonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],\n\t\t/** @internal */\n\t\treadonly session: SQLiteSession,\n\t\tschema: RelationalSchemaConfig | undefined,\n\t) {\n\t\tthis._ = schema\n\t\t\t? {\n\t\t\t\tschema: schema.schema,\n\t\t\t\tfullSchema: schema.fullSchema as TFullSchema,\n\t\t\t\ttableNamesMap: schema.tableNamesMap,\n\t\t\t}\n\t\t\t: {\n\t\t\t\tschema: undefined,\n\t\t\t\tfullSchema: {} as TFullSchema,\n\t\t\t\ttableNamesMap: {},\n\t\t\t};\n\t\tthis.query = {} as typeof this['query'];\n\t\tconst query = this.query as {\n\t\t\t[K in keyof TSchema]: RelationalQueryBuilder;\n\t\t};\n\t\tif (this._.schema) {\n\t\t\tfor (const [tableName, columns] of Object.entries(this._.schema)) {\n\t\t\t\tquery[tableName as keyof TSchema] = new RelationalQueryBuilder(\n\t\t\t\t\tresultKind,\n\t\t\t\t\tschema!.fullSchema,\n\t\t\t\t\tthis._.schema,\n\t\t\t\t\tthis._.tableNamesMap,\n\t\t\t\t\tschema!.fullSchema[tableName] as SQLiteTable,\n\t\t\t\t\tcolumns,\n\t\t\t\t\tdialect,\n\t\t\t\t\tsession as SQLiteSession as any,\n\t\t\t\t) as typeof query[keyof TSchema];\n\t\t\t}\n\t\t}\n\t\tthis.$cache = { invalidate: async (_params: any) => {} };\n\t}\n\n\t/**\n\t * Creates a subquery that defines a temporary named result set as a CTE.\n\t *\n\t * It is useful for breaking down complex queries into simpler parts and for reusing the result set in subsequent parts of the query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}\n\t *\n\t * @param alias The alias for the subquery.\n\t *\n\t * Failure to provide an alias will result in a DrizzleTypeError, preventing the subquery from being referenced in other queries.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Create a subquery with alias 'sq' and use it in the select query\n\t * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));\n\t *\n\t * const result = await db.with(sq).select().from(sq);\n\t * ```\n\t *\n\t * To select arbitrary SQL values as fields in a CTE and reference them in other CTEs or in the main query, you need to add aliases to them:\n\t *\n\t * ```ts\n\t * // Select an arbitrary SQL value as a field in a CTE and reference it in the main query\n\t * const sq = db.$with('sq').as(db.select({\n\t * name: sql`upper(${users.name})`.as('name'),\n\t * })\n\t * .from(users));\n\t *\n\t * const result = await db.with(sq).select({ name: sq.name }).from(sq);\n\t * ```\n\t */\n\t$with: WithBuilder = (alias: string, selection?: ColumnsSelection) => {\n\t\tconst self = this;\n\t\tconst as = (\n\t\t\tqb:\n\t\t\t\t| TypedQueryBuilder\n\t\t\t\t| SQL\n\t\t\t\t| ((qb: QueryBuilder) => TypedQueryBuilder | SQL),\n\t\t) => {\n\t\t\tif (typeof qb === 'function') {\n\t\t\t\tqb = qb(new QueryBuilder(self.dialect));\n\t\t\t}\n\n\t\t\treturn new Proxy(\n\t\t\t\tnew WithSubquery(\n\t\t\t\t\tqb.getSQL(),\n\t\t\t\t\tselection ?? ('getSelectedFields' in qb ? qb.getSelectedFields() ?? {} : {}) as SelectedFields,\n\t\t\t\t\talias,\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t);\n\t\t};\n\t\treturn { as };\n\t};\n\n\t$count(\n\t\tsource: SQLiteTable | SQLiteViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL,\n\t) {\n\t\treturn new SQLiteCountBuilder({ source, filters, session: this.session });\n\t}\n\n\t/**\n\t * Incorporates a previously defined CTE (using `$with`) into the main query.\n\t *\n\t * This method allows the main query to reference a temporary named result set.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}\n\t *\n\t * @param queries The CTEs to incorporate into the main query.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Define a subquery 'sq' as a CTE using $with\n\t * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));\n\t *\n\t * // Incorporate the CTE 'sq' into the main query and select from it\n\t * const result = await db.with(sq).select().from(sq);\n\t * ```\n\t */\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\t/**\n\t\t * Creates a select query.\n\t\t *\n\t\t * Calling this method with no arguments will select all columns from the table. Pass a selection object to specify the columns you want to select.\n\t\t *\n\t\t * Use `.from()` method to specify which table to select from.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/select}\n\t\t *\n\t\t * @param fields The selection object.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Select all columns and all rows from the 'cars' table\n\t\t * const allCars: Car[] = await db.select().from(cars);\n\t\t *\n\t\t * // Select specific columns and all rows from the 'cars' table\n\t\t * const carsIdsAndBrands: { id: number; brand: string }[] = await db.select({\n\t\t * id: cars.id,\n\t\t * brand: cars.brand\n\t\t * })\n\t\t * .from(cars);\n\t\t * ```\n\t\t *\n\t\t * Like in SQL, you can use arbitrary expressions as selection fields, not just table columns:\n\t\t *\n\t\t * ```ts\n\t\t * // Select specific columns along with expression and all rows from the 'cars' table\n\t\t * const carsIdsAndLowerNames: { id: number; lowerBrand: string }[] = await db.select({\n\t\t * id: cars.id,\n\t\t * lowerBrand: sql`lower(${cars.brand})`,\n\t\t * })\n\t\t * .from(cars);\n\t\t * ```\n\t\t */\n\t\tfunction select(): SQLiteSelectBuilder;\n\t\tfunction select(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder;\n\t\tfunction select(\n\t\t\tfields?: SelectedFields,\n\t\t): SQLiteSelectBuilder {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: self.session,\n\t\t\t\tdialect: self.dialect,\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Adds `distinct` expression to the select query.\n\t\t *\n\t\t * Calling this method will return only unique values. When multiple columns are selected, it returns rows with unique combinations of values in these columns.\n\t\t *\n\t\t * Use `.from()` method to specify which table to select from.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/select#distinct}\n\t\t *\n\t\t * @param fields The selection object.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Select all unique rows from the 'cars' table\n\t\t * await db.selectDistinct()\n\t\t * .from(cars)\n\t\t * .orderBy(cars.id, cars.brand, cars.color);\n\t\t *\n\t\t * // Select all unique brands from the 'cars' table\n\t\t * await db.selectDistinct({ brand: cars.brand })\n\t\t * .from(cars)\n\t\t * .orderBy(cars.brand);\n\t\t * ```\n\t\t */\n\t\tfunction selectDistinct(): SQLiteSelectBuilder;\n\t\tfunction selectDistinct(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder;\n\t\tfunction selectDistinct(\n\t\t\tfields?: SelectedFields,\n\t\t): SQLiteSelectBuilder {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: self.session,\n\t\t\t\tdialect: self.dialect,\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Creates an update query.\n\t\t *\n\t\t * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.\n\t\t *\n\t\t * Use `.set()` method to specify which values to update.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t\t *\n\t\t * @param table The table to update.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Update all rows in the 'cars' table\n\t\t * await db.update(cars).set({ color: 'red' });\n\t\t *\n\t\t * // Update rows with filters and conditions\n\t\t * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));\n\t\t *\n\t\t * // Update with returning clause\n\t\t * const updatedCar: Car[] = await db.update(cars)\n\t\t * .set({ color: 'red' })\n\t\t * .where(eq(cars.id, 1))\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction update(table: TTable): SQLiteUpdateBuilder {\n\t\t\treturn new SQLiteUpdateBuilder(table, self.session, self.dialect, queries);\n\t\t}\n\n\t\t/**\n\t\t * Creates an insert query.\n\t\t *\n\t\t * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/insert}\n\t\t *\n\t\t * @param table The table to insert into.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Insert one row\n\t\t * await db.insert(cars).values({ brand: 'BMW' });\n\t\t *\n\t\t * // Insert multiple rows\n\t\t * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);\n\t\t *\n\t\t * // Insert with returning clause\n\t\t * const insertedCar: Car[] = await db.insert(cars)\n\t\t * .values({ brand: 'BMW' })\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction insert(into: TTable): SQLiteInsertBuilder {\n\t\t\treturn new SQLiteInsertBuilder(into, self.session, self.dialect, queries);\n\t\t}\n\n\t\t/**\n\t\t * Creates a delete query.\n\t\t *\n\t\t * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t\t *\n\t\t * @param table The table to delete from.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Delete all rows in the 'cars' table\n\t\t * await db.delete(cars);\n\t\t *\n\t\t * // Delete rows with filters and conditions\n\t\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t\t *\n\t\t * // Delete with returning clause\n\t\t * const deletedCar: Car[] = await db.delete(cars)\n\t\t * .where(eq(cars.id, 1))\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction delete_(from: TTable): SQLiteDeleteBase {\n\t\t\treturn new SQLiteDeleteBase(from, self.session, self.dialect, queries);\n\t\t}\n\n\t\treturn { select, selectDistinct, update, insert, delete: delete_ };\n\t}\n\n\t/**\n\t * Creates a select query.\n\t *\n\t * Calling this method with no arguments will select all columns from the table. Pass a selection object to specify the columns you want to select.\n\t *\n\t * Use `.from()` method to specify which table to select from.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select}\n\t *\n\t * @param fields The selection object.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all columns and all rows from the 'cars' table\n\t * const allCars: Car[] = await db.select().from(cars);\n\t *\n\t * // Select specific columns and all rows from the 'cars' table\n\t * const carsIdsAndBrands: { id: number; brand: string }[] = await db.select({\n\t * id: cars.id,\n\t * brand: cars.brand\n\t * })\n\t * .from(cars);\n\t * ```\n\t *\n\t * Like in SQL, you can use arbitrary expressions as selection fields, not just table columns:\n\t *\n\t * ```ts\n\t * // Select specific columns along with expression and all rows from the 'cars' table\n\t * const carsIdsAndLowerNames: { id: number; lowerBrand: string }[] = await db.select({\n\t * id: cars.id,\n\t * lowerBrand: sql`lower(${cars.brand})`,\n\t * })\n\t * .from(cars);\n\t * ```\n\t */\n\tselect(): SQLiteSelectBuilder;\n\tselect(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder;\n\tselect(fields?: SelectedFields): SQLiteSelectBuilder {\n\t\treturn new SQLiteSelectBuilder({ fields: fields ?? undefined, session: this.session, dialect: this.dialect });\n\t}\n\n\t/**\n\t * Adds `distinct` expression to the select query.\n\t *\n\t * Calling this method will return only unique values. When multiple columns are selected, it returns rows with unique combinations of values in these columns.\n\t *\n\t * Use `.from()` method to specify which table to select from.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#distinct}\n\t *\n\t * @param fields The selection object.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all unique rows from the 'cars' table\n\t * await db.selectDistinct()\n\t * .from(cars)\n\t * .orderBy(cars.id, cars.brand, cars.color);\n\t *\n\t * // Select all unique brands from the 'cars' table\n\t * await db.selectDistinct({ brand: cars.brand })\n\t * .from(cars)\n\t * .orderBy(cars.brand);\n\t * ```\n\t */\n\tselectDistinct(): SQLiteSelectBuilder;\n\tselectDistinct(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder;\n\tselectDistinct(\n\t\tfields?: SelectedFields,\n\t): SQLiteSelectBuilder {\n\t\treturn new SQLiteSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: this.session,\n\t\t\tdialect: this.dialect,\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t/**\n\t * Creates an update query.\n\t *\n\t * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.\n\t *\n\t * Use `.set()` method to specify which values to update.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param table The table to update.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Update all rows in the 'cars' table\n\t * await db.update(cars).set({ color: 'red' });\n\t *\n\t * // Update rows with filters and conditions\n\t * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));\n\t *\n\t * // Update with returning clause\n\t * const updatedCar: Car[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.id, 1))\n\t * .returning();\n\t * ```\n\t */\n\tupdate(table: TTable): SQLiteUpdateBuilder {\n\t\treturn new SQLiteUpdateBuilder(table, this.session, this.dialect);\n\t}\n\n\t$cache: { invalidate: Cache['onMutate'] };\n\n\t/**\n\t * Creates an insert query.\n\t *\n\t * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert}\n\t *\n\t * @param table The table to insert into.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Insert one row\n\t * await db.insert(cars).values({ brand: 'BMW' });\n\t *\n\t * // Insert multiple rows\n\t * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);\n\t *\n\t * // Insert with returning clause\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t * ```\n\t */\n\tinsert(into: TTable): SQLiteInsertBuilder {\n\t\treturn new SQLiteInsertBuilder(into, this.session, this.dialect);\n\t}\n\n\t/**\n\t * Creates a delete query.\n\t *\n\t * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param table The table to delete from.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Delete all rows in the 'cars' table\n\t * await db.delete(cars);\n\t *\n\t * // Delete rows with filters and conditions\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t *\n\t * // Delete with returning clause\n\t * const deletedCar: Car[] = await db.delete(cars)\n\t * .where(eq(cars.id, 1))\n\t * .returning();\n\t * ```\n\t */\n\tdelete(from: TTable): SQLiteDeleteBase {\n\t\treturn new SQLiteDeleteBase(from, this.session, this.dialect);\n\t}\n\n\trun(query: SQLWrapper | string): DBResult {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.run(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'run',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawRunValueFromBatchResult.bind(this.session),\n\t\t\t) as DBResult;\n\t\t}\n\t\treturn this.session.run(sequel) as DBResult;\n\t}\n\n\tall(query: SQLWrapper | string): DBResult {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.all(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'all',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawAllValueFromBatchResult.bind(this.session),\n\t\t\t) as any;\n\t\t}\n\t\treturn this.session.all(sequel) as DBResult;\n\t}\n\n\tget(query: SQLWrapper | string): DBResult {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.get(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'get',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawGetValueFromBatchResult.bind(this.session),\n\t\t\t) as DBResult;\n\t\t}\n\t\treturn this.session.get(sequel) as DBResult;\n\t}\n\n\tvalues(query: SQLWrapper | string): DBResult {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.values(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'values',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawValuesValueFromBatchResult.bind(this.session),\n\t\t\t) as any;\n\t\t}\n\t\treturn this.session.values(sequel) as DBResult;\n\t}\n\n\ttransaction(\n\t\ttransaction: (tx: SQLiteTransaction) => Result,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Result {\n\t\treturn this.session.transaction(transaction, config);\n\t}\n}\n\nexport type SQLiteWithReplicas = Q & { $primary: Q; $replicas: Q[] };\n\nexport const withReplicas = <\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n\tQ extends BaseSQLiteDatabase<\n\t\tTResultKind,\n\t\tTRunResult,\n\t\tTFullSchema,\n\t\tTSchema extends Record ? ExtractTablesWithRelations : TSchema\n\t>,\n>(\n\tprimary: Q,\n\treplicas: [Q, ...Q[]],\n\tgetReplica: (replicas: Q[]) => Q = () => replicas[Math.floor(Math.random() * replicas.length)]!,\n): SQLiteWithReplicas => {\n\tconst select: Q['select'] = (...args: []) => getReplica(replicas).select(...args);\n\tconst selectDistinct: Q['selectDistinct'] = (...args: []) => getReplica(replicas).selectDistinct(...args);\n\tconst $count: Q['$count'] = (...args: [any]) => getReplica(replicas).$count(...args);\n\tconst $with: Q['with'] = (...args: []) => getReplica(replicas).with(...args);\n\n\tconst update: Q['update'] = (...args: [any]) => primary.update(...args);\n\tconst insert: Q['insert'] = (...args: [any]) => primary.insert(...args);\n\tconst $delete: Q['delete'] = (...args: [any]) => primary.delete(...args);\n\tconst run: Q['run'] = (...args: [any]) => primary.run(...args);\n\tconst all: Q['all'] = (...args: [any]) => primary.all(...args);\n\tconst get: Q['get'] = (...args: [any]) => primary.get(...args);\n\tconst values: Q['values'] = (...args: [any]) => primary.values(...args);\n\tconst transaction: Q['transaction'] = (...args: [any]) => primary.transaction(...args);\n\n\treturn {\n\t\t...primary,\n\t\tupdate,\n\t\tinsert,\n\t\tdelete: $delete,\n\t\trun,\n\t\tall,\n\t\tget,\n\t\tvalues,\n\t\ttransaction,\n\t\t$primary: primary,\n\t\t$replicas: replicas,\n\t\tselect,\n\t\tselectDistinct,\n\t\t$count,\n\t\twith: $with,\n\t\tget query() {\n\t\t\treturn getReplica(replicas).query;\n\t\t},\n\t};\n};\n", "import { entityKind } from '~/entity.ts';\nimport type { Table } from '~/index.ts';\nimport type { CacheConfig } from './types.ts';\n\nexport abstract class Cache {\n\tstatic readonly [entityKind]: string = 'Cache';\n\n\tabstract strategy(): 'explicit' | 'all';\n\n\t/**\n\t * Invoked if we should check cache for cached response\n\t * @param sql\n\t * @param tables\n\t */\n\tabstract get(\n\t\tkey: string,\n\t\ttables: string[],\n\t\tisTag: boolean,\n\t\tisAutoInvalidate?: boolean,\n\t): Promise;\n\n\t/**\n\t * Invoked if new query should be inserted to cache\n\t * @param sql\n\t * @param tables\n\t */\n\tabstract put(\n\t\thashedQuery: string,\n\t\tresponse: any,\n\t\ttables: string[],\n\t\tisTag: boolean,\n\t\tconfig?: CacheConfig,\n\t): Promise;\n\n\t/**\n\t * Invoked if insert, update, delete was invoked\n\t * @param tables\n\t */\n\tabstract onMutate(\n\t\tparams: MutationOption,\n\t): Promise;\n}\n\nexport class NoopCache extends Cache {\n\toverride strategy() {\n\t\treturn 'all' as const;\n\t}\n\n\tstatic override readonly [entityKind]: string = 'NoopCache';\n\n\toverride async get(_key: string): Promise {\n\t\treturn undefined;\n\t}\n\toverride async put(\n\t\t_hashedQuery: string,\n\t\t_response: any,\n\t\t_tables: string[],\n\t\t_config?: any,\n\t): Promise {\n\t\t// noop\n\t}\n\toverride async onMutate(_params: MutationOption): Promise {\n\t\t// noop\n\t}\n}\n\nexport type MutationOption = { tags?: string | string[]; tables?: Table | Table[] | string | string[] };\n\nexport async function hashQuery(sql: string, params?: any[]) {\n\tconst dataToHash = `${sql}-${JSON.stringify(params)}`;\n\tconst encoder = new TextEncoder();\n\tconst data = encoder.encode(dataToHash);\n\tconst hashBuffer = await crypto.subtle.digest('SHA-256', data);\n\tconst hashArray = [...new Uint8Array(hashBuffer)];\n\tconst hashHex = hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');\n\n\treturn hashHex;\n}\n", "export * from './cache.ts';\n", "import { TableAliasProxyHandler } from '~/alias.ts';\nimport type { BuildAliasTable } from './query-builders/select.types.ts';\n\nimport type { SQLiteTable } from './table.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\n\nexport function alias(\n\ttable: TTable,\n\talias: TAlias,\n): BuildAliasTable {\n\treturn new Proxy(table, new TableAliasProxyHandler(alias, false)) as any;\n}\n", "import { type Cache, hashQuery, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { DrizzleError, DrizzleQueryError, TransactionRollbackError } from '~/errors.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { BaseSQLiteDatabase } from './db.ts';\nimport type { SQLiteRaw } from './query-builders/raw.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\ttype: 'sync' | 'async';\n\trun: unknown;\n\tall: unknown;\n\tget: unknown;\n\tvalues: unknown;\n\texecute: unknown;\n}\n\nexport class ExecuteResultSync extends QueryPromise {\n\tstatic override readonly [entityKind]: string = 'ExecuteResultSync';\n\n\tconstructor(private resultCb: () => T) {\n\t\tsuper();\n\t}\n\n\toverride async execute(): Promise {\n\t\treturn this.resultCb();\n\t}\n\n\tsync(): T {\n\t\treturn this.resultCb();\n\t}\n}\n\nexport type ExecuteResult = TType extends 'async' ? Promise\n\t: ExecuteResultSync;\n\nexport abstract class SQLitePreparedQuery implements PreparedQuery {\n\tstatic readonly [entityKind]: string = 'PreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record;\n\n\tconstructor(\n\t\tprivate mode: 'sync' | 'async',\n\t\tprivate executeMethod: SQLiteExecuteMethod,\n\t\tprotected query: Query,\n\t\tprivate cache?: Cache,\n\t\t// per query related metadata\n\t\tprivate queryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\t// config that was passed through $withCache\n\t\tprivate cacheConfig?: WithCacheConfig,\n\t) {\n\t\t// it means that no $withCache options were passed and it should be just enabled\n\t\tif (cache && cache.strategy() === 'all' && cacheConfig === undefined) {\n\t\t\tthis.cacheConfig = { enable: true, autoInvalidate: true };\n\t\t}\n\t\tif (!this.cacheConfig?.enable) {\n\t\t\tthis.cacheConfig = undefined;\n\t\t}\n\t}\n\n\t/** @internal */\n\tprotected async queryWithCache(\n\t\tqueryString: string,\n\t\tparams: any[],\n\t\tquery: () => Promise,\n\t): Promise {\n\t\tif (this.cache === undefined || is(this.cache, NoopCache) || this.queryMetadata === undefined) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any mutations, if globally is false\n\t\tif (this.cacheConfig && !this.cacheConfig.enable) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// For mutate queries, we should query the database, wait for a response, and then perform invalidation\n\t\tif (\n\t\t\t(\n\t\t\t\tthis.queryMetadata.type === 'insert' || this.queryMetadata.type === 'update'\n\t\t\t\t|| this.queryMetadata.type === 'delete'\n\t\t\t) && this.queryMetadata.tables.length > 0\n\t\t) {\n\t\t\ttry {\n\t\t\t\tconst [res] = await Promise.all([\n\t\t\t\t\tquery(),\n\t\t\t\t\tthis.cache.onMutate({ tables: this.queryMetadata.tables }),\n\t\t\t\t]);\n\t\t\t\treturn res;\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any reads if globally disabled\n\t\tif (!this.cacheConfig) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\tif (this.queryMetadata.type === 'select') {\n\t\t\tconst fromCache = await this.cache.get(\n\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\tthis.queryMetadata.tables,\n\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\tthis.cacheConfig.autoInvalidate,\n\t\t\t);\n\t\t\tif (fromCache === undefined) {\n\t\t\t\tlet result;\n\t\t\t\ttry {\n\t\t\t\t\tresult = await query();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t\t}\n\n\t\t\t\t// put actual key\n\t\t\t\tawait this.cache.put(\n\t\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\t\tresult,\n\t\t\t\t\t// make sure we send tables that were used in a query only if user wants to invalidate it on each write\n\t\t\t\t\tthis.cacheConfig.autoInvalidate ? this.queryMetadata.tables : [],\n\t\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\t\tthis.cacheConfig.config,\n\t\t\t\t);\n\t\t\t\t// put flag if we should invalidate or not\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\treturn fromCache as unknown as T;\n\t\t}\n\t\ttry {\n\t\t\treturn await query();\n\t\t} catch (e) {\n\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t}\n\t}\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tabstract run(placeholderValues?: Record): Result;\n\n\tmapRunResult(result: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn result;\n\t}\n\n\tabstract all(placeholderValues?: Record): Result;\n\n\tmapAllResult(_result: unknown, _isFromBatch?: boolean): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tabstract get(placeholderValues?: Record): Result;\n\n\tmapGetResult(_result: unknown, _isFromBatch?: boolean): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tabstract values(placeholderValues?: Record): Result;\n\n\texecute(placeholderValues?: Record): ExecuteResult {\n\t\tif (this.mode === 'async') {\n\t\t\treturn this[this.executeMethod](placeholderValues) as ExecuteResult;\n\t\t}\n\t\treturn new ExecuteResultSync(() => this[this.executeMethod](placeholderValues));\n\t}\n\n\tmapResult(response: unknown, isFromBatch?: boolean) {\n\t\tswitch (this.executeMethod) {\n\t\t\tcase 'run': {\n\t\t\t\treturn this.mapRunResult(response, isFromBatch);\n\t\t\t}\n\t\t\tcase 'all': {\n\t\t\t\treturn this.mapAllResult(response, isFromBatch);\n\t\t\t}\n\t\t\tcase 'get': {\n\t\t\t\treturn this.mapGetResult(response, isFromBatch);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport interface SQLiteTransactionConfig {\n\tbehavior?: 'deferred' | 'immediate' | 'exclusive';\n}\n\nexport type SQLiteExecuteMethod = 'run' | 'all' | 'get';\n\nexport abstract class SQLiteSession<\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteSession';\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],\n\t) {}\n\n\tabstract prepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): SQLitePreparedQuery;\n\n\tprepareOneTimeQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): SQLitePreparedQuery {\n\t\treturn this.prepareQuery(\n\t\t\tquery,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\tabstract transaction(\n\t\ttransaction: (tx: SQLiteTransaction) => Result,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Result;\n\n\trun(query: SQL): Result {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn this.prepareOneTimeQuery(staticQuery, undefined, 'run', false).run() as Result;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\t/** @internal */\n\textractRawRunValueFromBatchResult(result: unknown) {\n\t\treturn result;\n\t}\n\n\tall(query: SQL): Result {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).all() as Result<\n\t\t\tTResultKind,\n\t\t\tT[]\n\t\t>;\n\t}\n\n\t/** @internal */\n\textractRawAllValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tget(query: SQL): Result {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).get() as Result<\n\t\t\tTResultKind,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/** @internal */\n\textractRawGetValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tvalues(\n\t\tquery: SQL,\n\t): Result {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).values() as Result<\n\t\t\tTResultKind,\n\t\t\tT[]\n\t\t>;\n\t}\n\n\tasync count(sql: SQL) {\n\t\tconst result = await this.values(sql) as [[number]];\n\n\t\treturn result[0][0];\n\t}\n\n\t/** @internal */\n\textractRawValuesValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n}\n\nexport type Result = { sync: TResult; async: Promise }[TKind];\n\nexport type DBResult = { sync: TResult; async: SQLiteRaw }[TKind];\n\nexport abstract class SQLiteTransaction<\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n> extends BaseSQLiteDatabase {\n\tstatic override readonly [entityKind]: string = 'SQLiteTransaction';\n\n\tconstructor(\n\t\tresultType: TResultType,\n\t\tdialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultType],\n\t\tsession: SQLiteSession,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record;\n\t\t} | undefined,\n\t\tprotected readonly nestedIndex = 0,\n\t) {\n\t\tsuper(resultType, dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n}\n", "//# sourceMappingURL=subquery.js.map", "import type { BuildColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { AddAliasToSelection } from '~/query-builders/select.types.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection, SQL } from '~/sql/sql.ts';\nimport { getTableColumns } from '~/utils.ts';\nimport type { SQLiteColumn, SQLiteColumnBuilderBase } from './columns/common.ts';\nimport { QueryBuilder } from './query-builders/query-builder.ts';\nimport { sqliteTable } from './table.ts';\nimport { SQLiteViewBase } from './view-base.ts';\n\nexport interface ViewBuilderConfig {\n\talgorithm?: 'undefined' | 'merge' | 'temptable';\n\tdefiner?: string;\n\tsqlSecurity?: 'definer' | 'invoker';\n\twithCheckOption?: 'cascaded' | 'local';\n}\n\nexport class ViewBuilderCore<\n\tTConfig extends { name: string; columns?: unknown },\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteViewBuilderCore';\n\n\tdeclare readonly _: {\n\t\treadonly name: TConfig['name'];\n\t\treadonly columns: TConfig['columns'];\n\t};\n\n\tconstructor(\n\t\tprotected name: TConfig['name'],\n\t) {}\n\n\tprotected config: ViewBuilderConfig = {};\n}\n\nexport class ViewBuilder extends ViewBuilderCore<{ name: TName }> {\n\tstatic override readonly [entityKind]: string = 'SQLiteViewBuilder';\n\n\tas(\n\t\tqb: TypedQueryBuilder | ((qb: QueryBuilder) => TypedQueryBuilder),\n\t): SQLiteViewWithSelection> {\n\t\tif (typeof qb === 'function') {\n\t\t\tqb = qb(new QueryBuilder());\n\t\t}\n\t\tconst selectionProxy = new SelectionProxyHandler({\n\t\t\talias: this.name,\n\t\t\tsqlBehavior: 'error',\n\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\treplaceOriginalName: true,\n\t\t});\n\t\t// const aliasedSelectedFields = new Proxy(qb.getSelectedFields(), selectionProxy);\n\t\tconst aliasedSelectedFields = qb.getSelectedFields();\n\t\treturn new Proxy(\n\t\t\tnew SQLiteView({\n\t\t\t\t// sqliteConfig: this.config,\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: undefined,\n\t\t\t\t\tselectedFields: aliasedSelectedFields,\n\t\t\t\t\tquery: qb.getSQL().inlineParams(),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tselectionProxy as any,\n\t\t) as SQLiteViewWithSelection>;\n\t}\n}\n\nexport class ManualViewBuilder<\n\tTName extends string = string,\n\tTColumns extends Record = Record,\n> extends ViewBuilderCore<\n\t{ name: TName; columns: TColumns }\n> {\n\tstatic override readonly [entityKind]: string = 'SQLiteManualViewBuilder';\n\n\tprivate columns: Record;\n\n\tconstructor(\n\t\tname: TName,\n\t\tcolumns: TColumns,\n\t) {\n\t\tsuper(name);\n\t\tthis.columns = getTableColumns(sqliteTable(name, columns)) as BuildColumns;\n\t}\n\n\texisting(): SQLiteViewWithSelection> {\n\t\treturn new Proxy(\n\t\t\tnew SQLiteView({\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: undefined,\n\t\t\t\t\tselectedFields: this.columns,\n\t\t\t\t\tquery: undefined,\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew SelectionProxyHandler({\n\t\t\t\talias: this.name,\n\t\t\t\tsqlBehavior: 'error',\n\t\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\t\treplaceOriginalName: true,\n\t\t\t}),\n\t\t) as SQLiteViewWithSelection>;\n\t}\n\n\tas(query: SQL): SQLiteViewWithSelection> {\n\t\treturn new Proxy(\n\t\t\tnew SQLiteView({\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: undefined,\n\t\t\t\t\tselectedFields: this.columns,\n\t\t\t\t\tquery: query.inlineParams(),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew SelectionProxyHandler({\n\t\t\t\talias: this.name,\n\t\t\t\tsqlBehavior: 'error',\n\t\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\t\treplaceOriginalName: true,\n\t\t\t}),\n\t\t) as SQLiteViewWithSelection>;\n\t}\n}\n\nexport class SQLiteView<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> extends SQLiteViewBase {\n\tstatic override readonly [entityKind]: string = 'SQLiteView';\n\n\tconstructor({ config }: {\n\t\tconfig: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t};\n\t}) {\n\t\tsuper(config);\n\t}\n}\n\nexport type SQLiteViewWithSelection<\n\tTName extends string,\n\tTExisting extends boolean,\n\tTSelection extends ColumnsSelection,\n> = SQLiteView & TSelection;\n\nexport function sqliteView(name: TName): ViewBuilder;\nexport function sqliteView>(\n\tname: TName,\n\tcolumns: TColumns,\n): ManualViewBuilder;\nexport function sqliteView(\n\tname: string,\n\tselection?: Record,\n): ViewBuilder | ManualViewBuilder {\n\tif (selection) {\n\t\treturn new ManualViewBuilder(name, selection);\n\t}\n\treturn new ViewBuilder(name);\n}\n\nexport const view = sqliteView;\n", "export * from './alias.ts';\nexport * from './checks.ts';\nexport * from './columns/index.ts';\nexport * from './db.ts';\nexport * from './dialect.ts';\nexport * from './foreign-keys.ts';\nexport * from './indexes.ts';\nexport * from './primary-keys.ts';\nexport * from './query-builders/index.ts';\nexport * from './session.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './unique-constraint.ts';\nexport * from './utils.ts';\nexport * from './view.ts';\n", "/// \n\nimport type { BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: D1Database,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tasync batch[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction(\n\t\ttransaction: (tx: D1Transaction) => T | Promise,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.schema);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction(transaction: (tx: D1Transaction) => Promise): Promise {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery extends SQLitePreparedQuery<\n\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\n\t/** @internal */\n\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown;\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t\tthis.customResultMapper = customResultMapper;\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\tasync run(placeholderValues?: Record): Promise {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).run();\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record): Promise {\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper(rows as unknown[][]);\n\t\t}\n\n\t\treturn (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record): Promise {\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, rows[0], joinsNotNullableMap);\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tasync values(placeholderValues?: Record): Promise {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).raw();\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n", "/// \nimport type { D1Database as MiniflareD1Database } from '@miniflare/d1';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype ExtractTablesWithRelations,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig, IfNotImported } from '~/utils.ts';\nimport { SQLiteD1Session } from './session.ts';\n\nexport type AnyD1Database = IfNotImported<\n\tD1Database,\n\tMiniflareD1Database,\n\tD1Database | IfNotImported\n>;\n\nexport class DrizzleD1Database<\n\tTSchema extends Record = Record,\n> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Database';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteD1Session>;\n\n\tasync batch, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise> {\n\t\treturn this.session.batch(batch) as Promise>;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record = Record,\n\tTClient extends AnyD1Database = AnyD1Database,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig = {},\n): DrizzleD1Database & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteD1Session(client as D1Database, dialect, schema, { logger, cache: config.cache });\n\tconst db = new DrizzleD1Database('async', dialect, session, schema) as DrizzleD1Database;\n\t( db).$client = client;\n\t( db).$cache = config.cache;\n\tif (( db).$cache) {\n\t\t( db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n", "export * from './driver.ts';\nexport * from './session.ts';\n", "//# sourceMappingURL=operations.js.map", "export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './logger.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n", "export function coerceDate(value: unknown): Date | null {\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? null : value\n }\n\n if (value === null || value === undefined) {\n return null\n }\n\n const fromNumber = (raw: number): Date | null => {\n if (Number.isNaN(raw)) {\n return null\n }\n\n const ms = raw < 1e12 ? raw * 1000 : raw\n const date = new Date(ms)\n return Number.isNaN(date.getTime()) ? null : date\n }\n\n if (typeof value === 'number') {\n return fromNumber(value)\n }\n\n if (typeof value === 'bigint') {\n return fromNumber(Number(value))\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim()\n if (!trimmed) {\n return null\n }\n\n const numeric = Number(trimmed)\n if (!Number.isNaN(numeric)) {\n return fromNumber(numeric)\n }\n\n const parsed = Date.parse(trimmed)\n if (!Number.isNaN(parsed)) {\n return new Date(parsed)\n }\n }\n\n if (typeof value === 'object') {\n const record = value as { value?: unknown; valueOf?: () => unknown; toString?: () => string }\n if (record.value !== undefined) {\n return coerceDate(record.value)\n }\n\n if (record.valueOf) {\n const valueOf = record.valueOf()\n if (valueOf !== value) {\n return coerceDate(valueOf)\n }\n }\n\n if (record.toString) {\n const asString = record.toString()\n if (asString && asString !== '[object Object]') {\n return coerceDate(asString)\n }\n }\n }\n\n return null\n}\n", "import {\n sqliteTable,\n integer,\n text,\n real,\n uniqueIndex,\n primaryKey,\n check,\n customType,\n} from 'drizzle-orm/sqlite-core'\nimport { relations, sql } from 'drizzle-orm'\nimport { coerceDate } from '../lib/date'\n\nconst jsonText = (name: string) =>\n customType<{ data: T | null; driverData: string | null }>({\n dataType() {\n return 'text'\n },\n toDriver(value) {\n if (value === undefined || value === null) return null\n return JSON.stringify(value)\n },\n fromDriver(value) {\n if (value === null || value === undefined) return null\n try {\n return JSON.parse(String(value)) as T\n } catch {\n return null\n }\n },\n })(name)\n\nconst numericText = (name: string) =>\n customType<{ data: string | null; driverData: string | null }>({\n dataType() {\n return 'text'\n },\n toDriver(value) {\n if (value === undefined || value === null) return null\n return String(value)\n },\n fromDriver(value) {\n if (value === null || value === undefined) return null\n return String(value)\n },\n })(name)\n\nconst timestampText = (name: string) =>\n customType<{ data: Date | null; driverData: string | number | null }>({\n dataType() {\n return 'text'\n },\n toDriver(value) {\n if (value === undefined || value === null) return null\n if (value instanceof Date) return value.toISOString()\n return String(value)\n },\n fromDriver(value) {\n if (value === null || value === undefined) return null\n return coerceDate(value)\n },\n })(name)\n\nconst staffRoleValues = ['super_admin', 'admin', 'marketer', 'delivery_staff'] as const\nconst staffPermissionValues = ['crud_product', 'make_coupon', 'crud_staff_users'] as const\nconst uploadStatusValues = ['pending', 'claimed'] as const\nconst paymentStatusValues = ['pending', 'success', 'cod', 'failed'] as const\n\nexport const staffRoleEnum = (name: string) => text(name, { enum: staffRoleValues })\nexport const staffPermissionEnum = (name: string) => text(name, { enum: staffPermissionValues })\nexport const uploadStatusEnum = (name: string) => text(name, { enum: uploadStatusValues })\nexport const paymentStatusEnum = (name: string) => text(name, { enum: paymentStatusValues })\n\nexport const users = sqliteTable('users', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text(),\n email: text(),\n mobile: text(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_email: uniqueIndex('unique_email').on(t.email),\n}))\n\nexport const userDetails = sqliteTable('user_details', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id).unique(),\n bio: text('bio'),\n dateOfBirth: timestampText('date_of_birth'),\n gender: text('gender'),\n occupation: text('occupation'),\n profileImage: text('profile_image'),\n isSuspended: integer('is_suspended', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n updatedAt: timestampText('updated_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const userCreds = sqliteTable('user_creds', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n userPassword: text('user_password').notNull(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const addressZones = sqliteTable('address_zones', {\n id: integer().primaryKey({ autoIncrement: true }),\n zoneName: text('zone_name').notNull(),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const addressAreas = sqliteTable('address_areas', {\n id: integer().primaryKey({ autoIncrement: true }),\n placeName: text('place_name').notNull(),\n zoneId: integer('zone_id').references(() => addressZones.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const addresses = sqliteTable('addresses', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n name: text('name').notNull(),\n phone: text('phone').notNull(),\n addressLine1: text('address_line1').notNull(),\n addressLine2: text('address_line2'),\n city: text('city').notNull(),\n state: text('state').notNull(),\n pincode: text('pincode').notNull(),\n isDefault: integer('is_default', { mode: 'boolean' }).notNull().default(false),\n latitude: real('latitude'),\n longitude: real('longitude'),\n googleMapsUrl: text('google_maps_url'),\n adminLatitude: real('admin_latitude'),\n adminLongitude: real('admin_longitude'),\n zoneId: integer('zone_id').references(() => addressZones.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const staffRoles = sqliteTable('staff_roles', {\n id: integer().primaryKey({ autoIncrement: true }),\n roleName: staffRoleEnum('role_name').notNull(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_role_name: uniqueIndex('unique_role_name').on(t.roleName),\n}))\n\nexport const staffPermissions = sqliteTable('staff_permissions', {\n id: integer().primaryKey({ autoIncrement: true }),\n permissionName: staffPermissionEnum('permission_name').notNull(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_permission_name: uniqueIndex('unique_permission_name').on(t.permissionName),\n}))\n\nexport const staffRolePermissions = sqliteTable('staff_role_permissions', {\n id: integer().primaryKey({ autoIncrement: true }),\n staffRoleId: integer('staff_role_id').notNull().references(() => staffRoles.id),\n staffPermissionId: integer('staff_permission_id').notNull().references(() => staffPermissions.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_role_permission: uniqueIndex('unique_role_permission').on(t.staffRoleId, t.staffPermissionId),\n}))\n\nexport const staffUsers = sqliteTable('staff_users', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text().notNull(),\n password: text().notNull(),\n staffRoleId: integer('staff_role_id').references(() => staffRoles.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const storeInfo = sqliteTable('store_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text().notNull(),\n description: text(),\n imageUrl: text('image_url'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n owner: integer('owner').notNull().references(() => staffUsers.id),\n})\n\nexport const units = sqliteTable('units', {\n id: integer().primaryKey({ autoIncrement: true }),\n shortNotation: text('short_notation').notNull(),\n fullName: text('full_name').notNull(),\n}, (t) => ({\n unq_short_notation: uniqueIndex('unique_short_notation').on(t.shortNotation),\n}))\n\nexport const productInfo = sqliteTable('product_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text().notNull(),\n shortDescription: text('short_description'),\n longDescription: text('long_description'),\n unitId: integer('unit_id').notNull().references(() => units.id),\n price: numericText('price').notNull(),\n marketPrice: numericText('market_price'),\n images: jsonText('images'),\n isOutOfStock: integer('is_out_of_stock', { mode: 'boolean' }).notNull().default(false),\n isSuspended: integer('is_suspended', { mode: 'boolean' }).notNull().default(false),\n isFlashAvailable: integer('is_flash_available', { mode: 'boolean' }).notNull().default(false),\n flashPrice: numericText('flash_price'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n incrementStep: real('increment_step').notNull().default(1),\n productQuantity: real('product_quantity').notNull().default(1),\n storeId: integer('store_id').references(() => storeInfo.id),\n})\n\nexport const productGroupInfo = sqliteTable('product_group_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n groupName: text('group_name').notNull(),\n description: text(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productGroupMembership = sqliteTable('product_group_membership', {\n productId: integer('product_id').notNull().references(() => productInfo.id),\n groupId: integer('group_id').notNull().references(() => productGroupInfo.id),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n pk: primaryKey({ columns: [t.productId, t.groupId], name: 'product_group_membership_pk' }),\n}))\n\nexport const homeBanners = sqliteTable('home_banners', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n imageUrl: text('image_url').notNull(),\n description: text('description'),\n productIds: jsonText('product_ids'),\n redirectUrl: text('redirect_url'),\n serialNum: integer('serial_num'),\n isActive: integer('is_active', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n lastUpdated: timestampText('last_updated').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productReviews = sqliteTable('product_reviews', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n reviewBody: text('review_body').notNull(),\n imageUrls: jsonText('image_urls').$defaultFn(() => []),\n reviewTime: timestampText('review_time').notNull().default(sql`CURRENT_TIMESTAMP`),\n ratings: real('ratings').notNull(),\n adminResponse: text('admin_response'),\n adminResponseImages: jsonText('admin_response_images').$defaultFn(() => []),\n}, (t) => ({\n ratingCheck: check('rating_check', sql`${t.ratings} >= 1 AND ${t.ratings} <= 5`),\n}))\n\nexport const uploadUrlStatus = sqliteTable('upload_url_status', {\n id: integer().primaryKey({ autoIncrement: true }),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n key: text('key').notNull(),\n status: uploadStatusEnum('status').notNull().default('pending'),\n})\n\nexport const productTagInfo = sqliteTable('product_tag_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n tagName: text('tag_name').notNull().unique(),\n tagDescription: text('tag_description'),\n imageUrl: text('image_url'),\n isDashboardTag: integer('is_dashboard_tag', { mode: 'boolean' }).notNull().default(false),\n relatedStores: jsonText('related_stores').$defaultFn(() => []),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productTags = sqliteTable('product_tags', {\n id: integer().primaryKey({ autoIncrement: true }),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n tagId: integer('tag_id').notNull().references(() => productTagInfo.id),\n assignedAt: timestampText('assigned_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_product_tag: uniqueIndex('unique_product_tag').on(t.productId, t.tagId),\n}))\n\nexport const deliverySlotInfo = sqliteTable('delivery_slot_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n deliveryTime: timestampText('delivery_time').notNull(),\n freezeTime: timestampText('freeze_time').notNull(),\n isActive: integer('is_active', { mode: 'boolean' }).notNull().default(true),\n isFlash: integer('is_flash', { mode: 'boolean' }).notNull().default(false),\n isCapacityFull: integer('is_capacity_full', { mode: 'boolean' }).notNull().default(false),\n deliverySequence: jsonText>('delivery_sequence').$defaultFn(() => ({})),\n groupIds: jsonText('group_ids').$defaultFn(() => []),\n})\n\nexport const vendorSnippets = sqliteTable('vendor_snippets', {\n id: integer().primaryKey({ autoIncrement: true }),\n snippetCode: text('snippet_code').notNull().unique(),\n slotId: integer('slot_id').references(() => deliverySlotInfo.id),\n isPermanent: integer('is_permanent', { mode: 'boolean' }).notNull().default(false),\n productIds: jsonText('product_ids').notNull(),\n validTill: timestampText('valid_till'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productSlots = sqliteTable('product_slots', {\n productId: integer('product_id').notNull().references(() => productInfo.id),\n slotId: integer('slot_id').notNull().references(() => deliverySlotInfo.id),\n}, (t) => ({\n pk: primaryKey({ columns: [t.productId, t.slotId], name: 'product_slot_pk' }),\n}))\n\nexport const specialDeals = sqliteTable('special_deals', {\n id: integer().primaryKey({ autoIncrement: true }),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n quantity: numericText('quantity').notNull(),\n price: numericText('price').notNull(),\n validTill: timestampText('valid_till').notNull(),\n})\n\nexport const paymentInfoTable = sqliteTable('payment_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n status: text().notNull(),\n gateway: text().notNull(),\n orderId: text('order_id'),\n token: text('token'),\n merchantOrderId: text('merchant_order_id').notNull().unique(),\n payload: jsonText('payload'),\n})\n\nexport const orders = sqliteTable('orders', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n addressId: integer('address_id').notNull().references(() => addresses.id),\n slotId: integer('slot_id').references(() => deliverySlotInfo.id),\n isCod: integer('is_cod', { mode: 'boolean' }).notNull().default(false),\n isOnlinePayment: integer('is_online_payment', { mode: 'boolean' }).notNull().default(false),\n paymentInfoId: integer('payment_info_id').references(() => paymentInfoTable.id),\n totalAmount: numericText('total_amount').notNull(),\n deliveryCharge: numericText('delivery_charge').notNull().default('0'),\n readableId: integer('readable_id').notNull(),\n adminNotes: text('admin_notes'),\n userNotes: text('user_notes'),\n orderGroupId: text('order_group_id'),\n orderGroupProportion: numericText('order_group_proportion'),\n isFlashDelivery: integer('is_flash_delivery', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const orderItems = sqliteTable('order_items', {\n id: integer().primaryKey({ autoIncrement: true }),\n orderId: integer('order_id').notNull().references(() => orders.id),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n quantity: text('quantity').notNull(),\n price: numericText('price').notNull(),\n discountedPrice: numericText('discounted_price'),\n is_packaged: integer('is_packaged', { mode: 'boolean' }).notNull().default(false),\n is_package_verified: integer('is_package_verified', { mode: 'boolean' }).notNull().default(false),\n})\n\nexport const orderStatus = sqliteTable('order_status', {\n id: integer().primaryKey({ autoIncrement: true }),\n orderTime: timestampText('order_time').notNull().default(sql`CURRENT_TIMESTAMP`),\n userId: integer('user_id').notNull().references(() => users.id),\n orderId: integer('order_id').notNull().references(() => orders.id),\n isPackaged: integer('is_packaged', { mode: 'boolean' }).notNull().default(false),\n isDelivered: integer('is_delivered', { mode: 'boolean' }).notNull().default(false),\n isCancelled: integer('is_cancelled', { mode: 'boolean' }).notNull().default(false),\n cancelReason: text('cancel_reason'),\n isCancelledByAdmin: integer('is_cancelled_by_admin', { mode: 'boolean' }),\n paymentStatus: paymentStatusEnum('payment_state').notNull().default('pending'),\n cancellationUserNotes: text('cancellation_user_notes'),\n cancellationAdminNotes: text('cancellation_admin_notes'),\n cancellationReviewed: integer('cancellation_reviewed', { mode: 'boolean' }).notNull().default(false),\n cancellationReviewedAt: timestampText('cancellation_reviewed_at'),\n refundCouponId: integer('refund_coupon_id').references(() => coupons.id),\n})\n\nexport const payments = sqliteTable('payments', {\n id: integer().primaryKey({ autoIncrement: true }),\n status: text().notNull(),\n gateway: text().notNull(),\n orderId: integer('order_id').notNull().references(() => orders.id),\n token: text('token'),\n merchantOrderId: text('merchant_order_id').notNull().unique(),\n payload: jsonText('payload'),\n})\n\nexport const refunds = sqliteTable('refunds', {\n id: integer().primaryKey({ autoIncrement: true }),\n orderId: integer('order_id').notNull().references(() => orders.id),\n refundAmount: numericText('refund_amount'),\n refundStatus: text('refund_status').default('none'),\n merchantRefundId: text('merchant_refund_id'),\n refundProcessedAt: timestampText('refund_processed_at'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const keyValStore = sqliteTable('key_val_store', {\n key: text('key').primaryKey(),\n value: jsonText('value'),\n})\n\nexport const notifications = sqliteTable('notifications', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n title: text().notNull(),\n body: text().notNull(),\n type: text(),\n isRead: integer('is_read', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productCategories = sqliteTable('product_categories', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text().notNull(),\n description: text(),\n})\n\nexport const cartItems = sqliteTable('cart_items', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n quantity: numericText('quantity').notNull(),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_user_product: uniqueIndex('unique_user_product').on(t.userId, t.productId),\n}))\n\nexport const complaints = sqliteTable('complaints', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n orderId: integer('order_id').references(() => orders.id),\n complaintBody: text('complaint_body').notNull(),\n images: jsonText('images'),\n response: text('response'),\n isResolved: integer('is_resolved', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const coupons = sqliteTable('coupons', {\n id: integer().primaryKey({ autoIncrement: true }),\n couponCode: text('coupon_code').notNull().unique(),\n isUserBased: integer('is_user_based', { mode: 'boolean' }).notNull().default(false),\n discountPercent: numericText('discount_percent'),\n flatDiscount: numericText('flat_discount'),\n minOrder: numericText('min_order'),\n productIds: jsonText('product_ids'),\n createdBy: integer('created_by').notNull().references(() => staffUsers.id),\n maxValue: numericText('max_value'),\n isApplyForAll: integer('is_apply_for_all', { mode: 'boolean' }).notNull().default(false),\n validTill: timestampText('valid_till'),\n maxLimitForUser: integer('max_limit_for_user'),\n isInvalidated: integer('is_invalidated', { mode: 'boolean' }).notNull().default(false),\n exclusiveApply: integer('exclusive_apply', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const couponUsage = sqliteTable('coupon_usage', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n couponId: integer('coupon_id').notNull().references(() => coupons.id),\n orderId: integer('order_id').references(() => orders.id),\n orderItemId: integer('order_item_id').references(() => orderItems.id),\n usedAt: timestampText('used_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const couponApplicableUsers = sqliteTable('coupon_applicable_users', {\n id: integer().primaryKey({ autoIncrement: true }),\n couponId: integer('coupon_id').notNull().references(() => coupons.id),\n userId: integer('user_id').notNull().references(() => users.id),\n}, (t) => ({\n unq_coupon_user: uniqueIndex('unique_coupon_user').on(t.couponId, t.userId),\n}))\n\nexport const couponApplicableProducts = sqliteTable('coupon_applicable_products', {\n id: integer().primaryKey({ autoIncrement: true }),\n couponId: integer('coupon_id').notNull().references(() => coupons.id),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n}, (t) => ({\n unq_coupon_product: uniqueIndex('unique_coupon_product').on(t.couponId, t.productId),\n}))\n\nexport const userIncidents = sqliteTable('user_incidents', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n orderId: integer('order_id').references(() => orders.id),\n dateAdded: timestampText('date_added').notNull().default(sql`CURRENT_TIMESTAMP`),\n adminComment: text('admin_comment'),\n addedBy: integer('added_by').references(() => staffUsers.id),\n negativityScore: integer('negativity_score'),\n})\n\nexport const reservedCoupons = sqliteTable('reserved_coupons', {\n id: integer().primaryKey({ autoIncrement: true }),\n secretCode: text('secret_code').notNull().unique(),\n couponCode: text('coupon_code').notNull(),\n discountPercent: numericText('discount_percent'),\n flatDiscount: numericText('flat_discount'),\n minOrder: numericText('min_order'),\n productIds: jsonText('product_ids'),\n maxValue: numericText('max_value'),\n validTill: timestampText('valid_till'),\n maxLimitForUser: integer('max_limit_for_user'),\n exclusiveApply: integer('exclusive_apply', { mode: 'boolean' }).notNull().default(false),\n isRedeemed: integer('is_redeemed', { mode: 'boolean' }).notNull().default(false),\n redeemedBy: integer('redeemed_by').references(() => users.id),\n redeemedAt: timestampText('redeemed_at'),\n createdBy: integer('created_by').notNull().references(() => staffUsers.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const notifCreds = sqliteTable('notif_creds', {\n id: integer().primaryKey({ autoIncrement: true }),\n token: text().notNull().unique(),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n userId: integer('user_id').notNull().references(() => users.id),\n lastVerified: timestampText('last_verified'),\n})\n\nexport const unloggedUserTokens = sqliteTable('unlogged_user_tokens', {\n id: integer().primaryKey({ autoIncrement: true }),\n token: text().notNull().unique(),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n lastVerified: timestampText('last_verified'),\n})\n\nexport const userNotifications = sqliteTable('user_notifications', {\n id: integer().primaryKey({ autoIncrement: true }),\n title: text('title').notNull(),\n imageUrl: text('image_url'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n body: text('body').notNull(),\n applicableUsers: jsonText('applicable_users'),\n})\n\n// Relations\nexport const usersRelations = relations(users, ({ many, one }) => ({\n addresses: many(addresses),\n orders: many(orders),\n notifications: many(notifications),\n cartItems: many(cartItems),\n userCreds: one(userCreds),\n coupons: many(coupons),\n couponUsages: many(couponUsage),\n applicableCoupons: many(couponApplicableUsers),\n userDetails: one(userDetails),\n notifCreds: many(notifCreds),\n userIncidents: many(userIncidents),\n}))\n\nexport const userCredsRelations = relations(userCreds, ({ one }) => ({\n user: one(users, { fields: [userCreds.userId], references: [users.id] }),\n}))\n\nexport const staffUsersRelations = relations(staffUsers, ({ one, many }) => ({\n role: one(staffRoles, { fields: [staffUsers.staffRoleId], references: [staffRoles.id] }),\n coupons: many(coupons),\n stores: many(storeInfo),\n}))\n\nexport const addressesRelations = relations(addresses, ({ one, many }) => ({\n user: one(users, { fields: [addresses.userId], references: [users.id] }),\n orders: many(orders),\n zone: one(addressZones, { fields: [addresses.zoneId], references: [addressZones.id] }),\n}))\n\nexport const unitsRelations = relations(units, ({ many }) => ({\n products: many(productInfo),\n}))\n\nexport const productInfoRelations = relations(productInfo, ({ one, many }) => ({\n unit: one(units, { fields: [productInfo.unitId], references: [units.id] }),\n store: one(storeInfo, { fields: [productInfo.storeId], references: [storeInfo.id] }),\n productSlots: many(productSlots),\n specialDeals: many(specialDeals),\n orderItems: many(orderItems),\n cartItems: many(cartItems),\n tags: many(productTags),\n applicableCoupons: many(couponApplicableProducts),\n reviews: many(productReviews),\n groups: many(productGroupMembership),\n}))\n\nexport const productTagInfoRelations = relations(productTagInfo, ({ many }) => ({\n products: many(productTags),\n}))\n\nexport const productTagsRelations = relations(productTags, ({ one }) => ({\n product: one(productInfo, { fields: [productTags.productId], references: [productInfo.id] }),\n tag: one(productTagInfo, { fields: [productTags.tagId], references: [productTagInfo.id] }),\n}))\n\nexport const deliverySlotInfoRelations = relations(deliverySlotInfo, ({ many }) => ({\n productSlots: many(productSlots),\n orders: many(orders),\n vendorSnippets: many(vendorSnippets),\n}))\n\nexport const productSlotsRelations = relations(productSlots, ({ one }) => ({\n product: one(productInfo, { fields: [productSlots.productId], references: [productInfo.id] }),\n slot: one(deliverySlotInfo, { fields: [productSlots.slotId], references: [deliverySlotInfo.id] }),\n}))\n\nexport const specialDealsRelations = relations(specialDeals, ({ one }) => ({\n product: one(productInfo, { fields: [specialDeals.productId], references: [productInfo.id] }),\n}))\n\nexport const ordersRelations = relations(orders, ({ one, many }) => ({\n user: one(users, { fields: [orders.userId], references: [users.id] }),\n address: one(addresses, { fields: [orders.addressId], references: [addresses.id] }),\n slot: one(deliverySlotInfo, { fields: [orders.slotId], references: [deliverySlotInfo.id] }),\n orderItems: many(orderItems),\n payment: one(payments),\n paymentInfo: one(paymentInfoTable, { fields: [orders.paymentInfoId], references: [paymentInfoTable.id] }),\n orderStatus: many(orderStatus),\n refunds: many(refunds),\n couponUsages: many(couponUsage),\n userIncidents: many(userIncidents),\n}))\n\nexport const orderItemsRelations = relations(orderItems, ({ one }) => ({\n order: one(orders, { fields: [orderItems.orderId], references: [orders.id] }),\n product: one(productInfo, { fields: [orderItems.productId], references: [productInfo.id] }),\n}))\n\nexport const orderStatusRelations = relations(orderStatus, ({ one }) => ({\n order: one(orders, { fields: [orderStatus.orderId], references: [orders.id] }),\n user: one(users, { fields: [orderStatus.userId], references: [users.id] }),\n refundCoupon: one(coupons, { fields: [orderStatus.refundCouponId], references: [coupons.id] }),\n}))\n\nexport const paymentInfoRelations = relations(paymentInfoTable, ({ one }) => ({\n order: one(orders, { fields: [paymentInfoTable.id], references: [orders.paymentInfoId] }),\n}))\n\nexport const paymentsRelations = relations(payments, ({ one }) => ({\n order: one(orders, { fields: [payments.orderId], references: [orders.id] }),\n}))\n\nexport const refundsRelations = relations(refunds, ({ one }) => ({\n order: one(orders, { fields: [refunds.orderId], references: [orders.id] }),\n}))\n\nexport const notificationsRelations = relations(notifications, ({ one }) => ({\n user: one(users, { fields: [notifications.userId], references: [users.id] }),\n}))\n\nexport const productCategoriesRelations = relations(productCategories, ({}) => ({}))\n\nexport const cartItemsRelations = relations(cartItems, ({ one }) => ({\n user: one(users, { fields: [cartItems.userId], references: [users.id] }),\n product: one(productInfo, { fields: [cartItems.productId], references: [productInfo.id] }),\n}))\n\nexport const complaintsRelations = relations(complaints, ({ one }) => ({\n user: one(users, { fields: [complaints.userId], references: [users.id] }),\n order: one(orders, { fields: [complaints.orderId], references: [orders.id] }),\n}))\n\nexport const couponsRelations = relations(coupons, ({ one, many }) => ({\n creator: one(staffUsers, { fields: [coupons.createdBy], references: [staffUsers.id] }),\n usages: many(couponUsage),\n applicableUsers: many(couponApplicableUsers),\n applicableProducts: many(couponApplicableProducts),\n}))\n\nexport const couponUsageRelations = relations(couponUsage, ({ one }) => ({\n user: one(users, { fields: [couponUsage.userId], references: [users.id] }),\n coupon: one(coupons, { fields: [couponUsage.couponId], references: [coupons.id] }),\n order: one(orders, { fields: [couponUsage.orderId], references: [orders.id] }),\n orderItem: one(orderItems, { fields: [couponUsage.orderItemId], references: [orderItems.id] }),\n}))\n\nexport const userDetailsRelations = relations(userDetails, ({ one }) => ({\n user: one(users, { fields: [userDetails.userId], references: [users.id] }),\n}))\n\nexport const notifCredsRelations = relations(notifCreds, ({ one }) => ({\n user: one(users, { fields: [notifCreds.userId], references: [users.id] }),\n}))\n\nexport const userNotificationsRelations = relations(userNotifications, ({}) => ({\n // No relations needed for now\n}))\n\nexport const storeInfoRelations = relations(storeInfo, ({ one, many }) => ({\n owner: one(staffUsers, { fields: [storeInfo.owner], references: [staffUsers.id] }),\n products: many(productInfo),\n}))\n\nexport const couponApplicableUsersRelations = relations(couponApplicableUsers, ({ one }) => ({\n coupon: one(coupons, { fields: [couponApplicableUsers.couponId], references: [coupons.id] }),\n user: one(users, { fields: [couponApplicableUsers.userId], references: [users.id] }),\n}))\n\nexport const couponApplicableProductsRelations = relations(couponApplicableProducts, ({ one }) => ({\n coupon: one(coupons, { fields: [couponApplicableProducts.couponId], references: [coupons.id] }),\n product: one(productInfo, { fields: [couponApplicableProducts.productId], references: [productInfo.id] }),\n}))\n\nexport const reservedCouponsRelations = relations(reservedCoupons, ({ one }) => ({\n redeemedUser: one(users, { fields: [reservedCoupons.redeemedBy], references: [users.id] }),\n creator: one(staffUsers, { fields: [reservedCoupons.createdBy], references: [staffUsers.id] }),\n}))\n\nexport const productReviewsRelations = relations(productReviews, ({ one }) => ({\n user: one(users, { fields: [productReviews.userId], references: [users.id] }),\n product: one(productInfo, { fields: [productReviews.productId], references: [productInfo.id] }),\n}))\n\nexport const addressZonesRelations = relations(addressZones, ({ many }) => ({\n addresses: many(addresses),\n areas: many(addressAreas),\n}))\n\nexport const addressAreasRelations = relations(addressAreas, ({ one }) => ({\n zone: one(addressZones, { fields: [addressAreas.zoneId], references: [addressZones.id] }),\n}))\n\nexport const productGroupInfoRelations = relations(productGroupInfo, ({ many }) => ({\n memberships: many(productGroupMembership),\n}))\n\nexport const productGroupMembershipRelations = relations(productGroupMembership, ({ one }) => ({\n product: one(productInfo, { fields: [productGroupMembership.productId], references: [productInfo.id] }),\n group: one(productGroupInfo, { fields: [productGroupMembership.groupId], references: [productGroupInfo.id] }),\n}))\n\nexport const homeBannersRelations = relations(homeBanners, ({}) => ({\n // Relations for productIds array would be more complex, skipping for now\n}))\n\nexport const staffRolesRelations = relations(staffRoles, ({ many }) => ({\n staffUsers: many(staffUsers),\n rolePermissions: many(staffRolePermissions),\n}))\n\nexport const staffPermissionsRelations = relations(staffPermissions, ({ many }) => ({\n rolePermissions: many(staffRolePermissions),\n}))\n\nexport const staffRolePermissionsRelations = relations(staffRolePermissions, ({ one }) => ({\n role: one(staffRoles, { fields: [staffRolePermissions.staffRoleId], references: [staffRoles.id] }),\n permission: one(staffPermissions, { fields: [staffRolePermissions.staffPermissionId], references: [staffPermissions.id] }),\n}))\n\nexport const userIncidentsRelations = relations(userIncidents, ({ one }) => ({\n user: one(users, { fields: [userIncidents.userId], references: [users.id] }),\n order: one(orders, { fields: [userIncidents.orderId], references: [orders.id] }),\n addedBy: one(staffUsers, { fields: [userIncidents.addedBy], references: [staffUsers.id] }),\n}))\n\nexport const vendorSnippetsRelations = relations(vendorSnippets, ({ one }) => ({\n slot: one(deliverySlotInfo, { fields: [vendorSnippets.slotId], references: [deliverySlotInfo.id] }),\n}))\n", "import type { D1Database } from '@cloudflare/workers-types'\nimport { drizzle, type DrizzleD1Database } from 'drizzle-orm/d1'\nimport * as schema from './schema'\n\ntype DbClient = DrizzleD1Database\n\nlet dbInstance: DbClient | null = null\n\nexport function initDb(database: D1Database): void {\n const base = drizzle(database, { schema }) as DbClient\n dbInstance = Object.assign(base, {\n transaction: async (handler: (tx: DbClient) => Promise): Promise => {\n return handler(base)\n },\n })\n}\n\nexport const db = new Proxy({} as DbClient, {\n get(_target, prop: keyof DbClient) {\n if (!dbInstance) {\n throw new Error('D1 database not initialized. Call initDb(env.DB) before using db helpers.')\n }\n\n return dbInstance[prop]\n },\n})\n", "import { db } from '../db/db_index'\nimport { homeBanners, staffUsers } from '../db/schema'\nimport { eq, desc } from 'drizzle-orm'\n\n\nexport interface Banner {\n id: number\n name: string\n imageUrl: string\n description: string | null\n productIds: number[] | null\n redirectUrl: string | null\n serialNum: number | null\n isActive: boolean\n createdAt: Date\n lastUpdated: Date\n}\n\ntype BannerRow = typeof homeBanners.$inferSelect\n\nexport async function getBanners(): Promise {\n const banners = await db.query.homeBanners.findMany({\n orderBy: desc(homeBanners.createdAt),\n }) as BannerRow[]\n\n return banners.map((banner) => ({\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description,\n productIds: banner.productIds || [],\n redirectUrl: banner.redirectUrl,\n serialNum: banner.serialNum,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n }))\n}\n\nexport async function getBannerById(id: number): Promise {\n const banner = await db.query.homeBanners.findFirst({\n where: eq(homeBanners.id, id),\n })\n\n if (!banner) return null\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description,\n productIds: banner.productIds || [],\n redirectUrl: banner.redirectUrl,\n serialNum: banner.serialNum,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n }\n}\n\nexport type CreateBannerInput = Omit\n\nexport async function createBanner(input: CreateBannerInput): Promise {\n const [banner] = await db.insert(homeBanners).values({\n name: input.name,\n imageUrl: input.imageUrl,\n description: input.description,\n productIds: input.productIds || [],\n redirectUrl: input.redirectUrl,\n serialNum: input.serialNum,\n isActive: input.isActive,\n }).returning()\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description,\n productIds: banner.productIds || [],\n redirectUrl: banner.redirectUrl,\n serialNum: banner.serialNum,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n }\n}\n\nexport type UpdateBannerInput = Partial>\n\nexport async function updateBanner(id: number, input: UpdateBannerInput): Promise {\n const [banner] = await db.update(homeBanners)\n .set({\n ...input,\n lastUpdated: new Date(),\n })\n .where(eq(homeBanners.id, id))\n .returning()\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description,\n productIds: banner.productIds || [],\n redirectUrl: banner.redirectUrl,\n serialNum: banner.serialNum,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n }\n}\n\nexport async function deleteBanner(id: number): Promise {\n await db.delete(homeBanners).where(eq(homeBanners.id, id))\n}\n", "import { db } from '../db/db_index'\nimport { complaints, users } from '../db/schema'\nimport { eq, desc, lt } from 'drizzle-orm'\n\nexport interface Complaint {\n id: number\n complaintBody: string\n userId: number\n orderId: number | null\n isResolved: boolean\n response: string | null\n createdAt: Date\n images: string[] | null\n}\n\nexport interface ComplaintWithUser extends Complaint {\n userName: string | null\n userMobile: string | null\n}\n\nexport async function getComplaints(\n cursor?: number,\n limit: number = 20\n): Promise<{ complaints: ComplaintWithUser[]; hasMore: boolean }> {\n const whereCondition = cursor ? lt(complaints.id, cursor) : undefined\n\n const complaintsData = await db\n .select({\n id: complaints.id,\n complaintBody: complaints.complaintBody,\n userId: complaints.userId,\n orderId: complaints.orderId,\n isResolved: complaints.isResolved,\n response: complaints.response,\n createdAt: complaints.createdAt,\n images: complaints.images,\n userName: users.name,\n userMobile: users.mobile,\n })\n .from(complaints)\n .leftJoin(users, eq(complaints.userId, users.id))\n .where(whereCondition)\n .orderBy(desc(complaints.id))\n .limit(limit + 1)\n\n const hasMore = complaintsData.length > limit\n const complaintsToReturn = hasMore ? complaintsData.slice(0, limit) : complaintsData\n\n return {\n complaints: complaintsToReturn.map((c) => ({\n id: c.id,\n complaintBody: c.complaintBody,\n userId: c.userId,\n orderId: c.orderId,\n isResolved: c.isResolved,\n response: c.response,\n createdAt: c.createdAt,\n images: c.images as string[],\n userName: c.userName,\n userMobile: c.userMobile,\n })),\n hasMore,\n }\n}\n\nexport async function resolveComplaint(\n id: number,\n response?: string\n): Promise {\n await db\n .update(complaints)\n .set({ isResolved: true, response })\n .where(eq(complaints.id, id))\n}\n", "import { db } from '../db/db_index'\nimport { keyValStore } from '../db/schema'\nimport { eq } from 'drizzle-orm'\n\nexport interface Constant {\n key: string\n value: any\n}\n\nexport async function getAllConstants(): Promise {\n const constants = await db.select().from(keyValStore)\n\n return constants.map(c => ({\n key: c.key,\n value: c.value,\n }))\n}\n\nexport async function upsertConstants(constants: Constant[]): Promise {\n await db.transaction(async (tx) => {\n for (const { key, value } of constants) {\n await tx.insert(keyValStore)\n .values({ key, value })\n .onConflictDoUpdate({\n target: keyValStore.key,\n set: { value },\n })\n }\n })\n}\n\nconst CACHE_VERSION_KEY = 'cache_version'\n\nconst parseCacheVersion = (value: unknown) => {\n const parsed = Number(value)\n return Number.isFinite(parsed) ? parsed : 0\n}\n\nexport async function getCacheVersion(): Promise {\n const record = await db.query.keyValStore.findFirst({\n where: eq(keyValStore.key, CACHE_VERSION_KEY),\n columns: { value: true },\n })\n\n return record ? parseCacheVersion(record.value) : 0\n}\n\nexport async function incrementCacheVersion(): Promise {\n return db.transaction(async (tx) => {\n const existing = await tx.query.keyValStore.findFirst({\n where: eq(keyValStore.key, CACHE_VERSION_KEY),\n columns: { value: true },\n })\n\n const nextValue = parseCacheVersion(existing?.value) + 1\n\n if (existing) {\n await tx.update(keyValStore)\n .set({ value: nextValue })\n .where(eq(keyValStore.key, CACHE_VERSION_KEY))\n } else {\n await tx.insert(keyValStore)\n .values({ key: CACHE_VERSION_KEY, value: nextValue })\n }\n\n return nextValue\n })\n}\n", "import { db } from '../db/db_index'\nimport { coupons, reservedCoupons, users, orders, orderStatus, couponApplicableUsers, couponApplicableProducts } from '../db/schema'\nimport { eq, and, like, or, inArray, lt, desc, asc } from 'drizzle-orm'\n\nexport interface Coupon {\n id: number\n couponCode: string\n isUserBased: boolean\n discountPercent: string | null\n flatDiscount: string | null\n minOrder: string | null\n productIds: number[] | null\n maxValue: string | null\n isApplyForAll: boolean\n validTill: Date | null\n maxLimitForUser: number | null\n exclusiveApply: boolean\n isInvalidated: boolean\n createdAt: Date\n createdBy: number\n}\n\nexport async function getAllCoupons(\n cursor?: number,\n limit: number = 50,\n search?: string\n): Promise<{ coupons: any[]; hasMore: boolean }> {\n let whereCondition = undefined\n const conditions = []\n \n if (cursor) {\n conditions.push(lt(coupons.id, cursor))\n }\n \n if (search && search.trim()) {\n conditions.push(like(coupons.couponCode, `%${search}%`))\n }\n \n if (conditions.length > 0) {\n whereCondition = and(...conditions)\n }\n \n const result = await db.query.coupons.findMany({\n where: whereCondition,\n with: {\n creator: true,\n applicableUsers: {\n with: {\n user: true,\n },\n },\n applicableProducts: {\n with: {\n product: true,\n },\n },\n },\n orderBy: desc(coupons.createdAt),\n limit: limit + 1,\n })\n \n const hasMore = result.length > limit\n const couponsList = hasMore ? result.slice(0, limit) : result\n \n return { coupons: couponsList, hasMore }\n}\n\nexport async function getCouponById(id: number): Promise {\n return await db.query.coupons.findFirst({\n where: eq(coupons.id, id),\n with: {\n creator: true,\n applicableUsers: {\n with: {\n user: true,\n },\n },\n applicableProducts: {\n with: {\n product: true,\n },\n },\n },\n })\n}\n\nexport interface CreateCouponInput {\n couponCode: string\n isUserBased: boolean\n discountPercent?: string\n flatDiscount?: string\n minOrder?: string\n productIds?: number[] | null\n maxValue?: string\n isApplyForAll: boolean\n validTill?: Date\n maxLimitForUser?: number\n exclusiveApply: boolean\n createdBy: number\n}\n\nexport async function createCouponWithRelations(\n input: CreateCouponInput,\n applicableUsers?: number[],\n applicableProducts?: number[]\n): Promise {\n return await db.transaction(async (tx) => {\n const [coupon] = await tx.insert(coupons).values({\n couponCode: input.couponCode,\n isUserBased: input.isUserBased,\n discountPercent: input.discountPercent,\n flatDiscount: input.flatDiscount,\n minOrder: input.minOrder,\n productIds: input.productIds,\n createdBy: input.createdBy,\n maxValue: input.maxValue,\n isApplyForAll: input.isApplyForAll,\n validTill: input.validTill,\n maxLimitForUser: input.maxLimitForUser,\n exclusiveApply: input.exclusiveApply,\n }).returning()\n\n if (applicableUsers && applicableUsers.length > 0) {\n await tx.insert(couponApplicableUsers).values(\n applicableUsers.map(userId => ({\n couponId: coupon.id,\n userId,\n }))\n )\n }\n\n if (applicableProducts && applicableProducts.length > 0) {\n await tx.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: coupon.id,\n productId,\n }))\n )\n }\n\n return coupon as Coupon\n })\n}\n\nexport interface UpdateCouponInput {\n couponCode?: string\n isUserBased?: boolean\n discountPercent?: string\n flatDiscount?: string\n minOrder?: string\n productIds?: number[] | null\n maxValue?: string\n isApplyForAll?: boolean\n validTill?: Date | null\n maxLimitForUser?: number\n exclusiveApply?: boolean\n isInvalidated?: boolean\n}\n\nexport async function updateCouponWithRelations(\n id: number,\n input: UpdateCouponInput,\n applicableUsers?: number[],\n applicableProducts?: number[]\n): Promise {\n return await db.transaction(async (tx) => {\n const [coupon] = await tx.update(coupons)\n .set({\n ...input,\n })\n .where(eq(coupons.id, id))\n .returning()\n\n if (applicableUsers !== undefined) {\n await tx.delete(couponApplicableUsers).where(eq(couponApplicableUsers.couponId, id))\n if (applicableUsers.length > 0) {\n await tx.insert(couponApplicableUsers).values(\n applicableUsers.map(userId => ({\n couponId: id,\n userId,\n }))\n )\n }\n }\n\n if (applicableProducts !== undefined) {\n await tx.delete(couponApplicableProducts).where(eq(couponApplicableProducts.couponId, id))\n if (applicableProducts.length > 0) {\n await tx.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: id,\n productId,\n }))\n )\n }\n }\n\n return coupon as Coupon\n })\n}\n\nexport async function invalidateCoupon(id: number): Promise {\n const result = await db.update(coupons)\n .set({ isInvalidated: true })\n .where(eq(coupons.id, id))\n .returning()\n\n return result[0] as Coupon\n}\n\nexport interface CouponValidationResult {\n valid: boolean\n message?: string\n discountAmount?: number\n coupon?: Partial\n}\n\nexport async function validateCoupon(\n code: string,\n userId: number,\n orderAmount: number\n): Promise {\n const coupon = await db.query.coupons.findFirst({\n where: and(\n eq(coupons.couponCode, code.toUpperCase()),\n eq(coupons.isInvalidated, false)\n ),\n })\n\n if (!coupon) {\n return { valid: false, message: 'Coupon not found or invalidated' }\n }\n\n if (coupon.validTill && new Date(coupon.validTill) < new Date()) {\n return { valid: false, message: 'Coupon has expired' }\n }\n\n if (!coupon.isApplyForAll && !coupon.isUserBased) {\n return { valid: false, message: 'Coupon is not available for use' }\n }\n\n const minOrderValue = coupon.minOrder ? parseFloat(coupon.minOrder) : 0\n if (minOrderValue > 0 && orderAmount < minOrderValue) {\n return { valid: false, message: `Minimum order amount is ${minOrderValue}` }\n }\n\n let discountAmount = 0\n if (coupon.discountPercent) {\n const percent = parseFloat(coupon.discountPercent)\n discountAmount = (orderAmount * percent) / 100\n } else if (coupon.flatDiscount) {\n discountAmount = parseFloat(coupon.flatDiscount)\n }\n\n const maxValueLimit = coupon.maxValue ? parseFloat(coupon.maxValue) : 0\n if (maxValueLimit > 0 && discountAmount > maxValueLimit) {\n discountAmount = maxValueLimit\n }\n\n return {\n valid: true,\n discountAmount,\n coupon: {\n id: coupon.id,\n discountPercent: coupon.discountPercent,\n flatDiscount: coupon.flatDiscount,\n maxValue: coupon.maxValue,\n }\n }\n}\n\nexport async function getReservedCoupons(\n cursor?: number,\n limit: number = 50,\n search?: string\n): Promise<{ coupons: any[]; hasMore: boolean }> {\n let whereCondition = undefined\n const conditions = []\n \n if (cursor) {\n conditions.push(lt(reservedCoupons.id, cursor))\n }\n \n if (search && search.trim()) {\n conditions.push(or(\n like(reservedCoupons.secretCode, `%${search}%`),\n like(reservedCoupons.couponCode, `%${search}%`)\n ))\n }\n \n if (conditions.length > 0) {\n whereCondition = and(...conditions)\n }\n\n const result = await db.query.reservedCoupons.findMany({\n where: whereCondition,\n with: {\n redeemedUser: true,\n creator: true,\n },\n orderBy: desc(reservedCoupons.createdAt),\n limit: limit + 1,\n })\n\n const hasMore = result.length > limit\n const couponsList = hasMore ? result.slice(0, limit) : result\n\n return { coupons: couponsList, hasMore }\n}\n\nexport async function createReservedCouponWithProducts(\n input: any,\n applicableProducts?: number[]\n): Promise {\n return await db.transaction(async (tx) => {\n const [coupon] = await tx.insert(reservedCoupons).values({\n secretCode: input.secretCode,\n couponCode: input.couponCode,\n discountPercent: input.discountPercent,\n flatDiscount: input.flatDiscount,\n minOrder: input.minOrder,\n productIds: input.productIds,\n maxValue: input.maxValue,\n validTill: input.validTill,\n maxLimitForUser: input.maxLimitForUser,\n exclusiveApply: input.exclusiveApply,\n createdBy: input.createdBy,\n }).returning()\n\n if (applicableProducts && applicableProducts.length > 0) {\n await tx.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: coupon.id,\n productId,\n }))\n )\n }\n\n return coupon\n })\n}\n\nexport async function checkUsersExist(userIds: number[]): Promise {\n const existingUsers = await db.query.users.findMany({\n where: inArray(users.id, userIds),\n columns: { id: true },\n })\n return existingUsers.length === userIds.length\n}\n\nexport async function checkCouponExists(couponCode: string): Promise {\n const existing = await db.query.coupons.findFirst({\n where: eq(coupons.couponCode, couponCode),\n })\n return !!existing\n}\n\nexport async function checkReservedCouponExists(secretCode: string): Promise {\n const existing = await db.query.reservedCoupons.findFirst({\n where: eq(reservedCoupons.secretCode, secretCode),\n })\n return !!existing\n}\n\nexport async function generateCancellationCoupon(\n orderId: number,\n staffUserId: number,\n userId: number,\n orderAmount: number,\n couponCode: string\n): Promise {\n return await db.transaction(async (tx) => {\n const expiryDate = new Date()\n expiryDate.setDate(expiryDate.getDate() + 30)\n\n const [coupon] = await tx.insert(coupons).values({\n couponCode,\n isUserBased: true,\n flatDiscount: orderAmount.toString(),\n minOrder: orderAmount.toString(),\n maxValue: orderAmount.toString(),\n validTill: expiryDate,\n maxLimitForUser: 1,\n createdBy: staffUserId,\n isApplyForAll: false,\n }).returning()\n\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId,\n })\n\n await tx.update(orderStatus)\n .set({ refundCouponId: coupon.id })\n .where(eq(orderStatus.orderId, orderId))\n\n return coupon as Coupon\n })\n}\n\nexport async function getOrderWithUser(orderId: number): Promise {\n return await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n user: true,\n },\n })\n}\n\nexport async function createCouponForUser(\n mobile: string,\n couponCode: string,\n staffUserId: number\n): Promise<{ coupon: Coupon; user: { id: number; mobile: string; name: string | null } }> {\n return await db.transaction(async (tx) => {\n let user = await tx.query.users.findFirst({\n where: eq(users.mobile, mobile),\n })\n\n if (!user) {\n const [newUser] = await tx.insert(users).values({\n name: null,\n email: null,\n mobile,\n }).returning()\n user = newUser\n }\n\n const [coupon] = await tx.insert(coupons).values({\n couponCode,\n isUserBased: true,\n discountPercent: '20',\n minOrder: '1000',\n maxValue: '500',\n maxLimitForUser: 1,\n isApplyForAll: false,\n exclusiveApply: false,\n createdBy: staffUserId,\n validTill: new Date(Date.now() + 90 * 24 * 60 * 60 * 1000),\n }).returning()\n\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId: user.id,\n })\n\n return {\n coupon: coupon as Coupon,\n user: {\n id: user.id,\n mobile: user.mobile as string,\n name: user.name,\n },\n }\n })\n}\n\nexport interface UserMiniInfo {\n id: number\n name: string\n mobile: string | null\n}\n\nexport async function getUsersForCoupon(\n search?: string,\n limit: number = 20,\n offset: number = 0\n): Promise<{ users: UserMiniInfo[] }> {\n let whereCondition = undefined\n if (search && search.trim()) {\n whereCondition = or(\n like(users.name, `%${search}%`),\n like(users.mobile, `%${search}%`)\n )\n }\n\n const userList = await db.query.users.findMany({\n where: whereCondition,\n columns: {\n id: true,\n name: true,\n mobile: true,\n },\n limit: limit,\n offset: offset,\n orderBy: asc(users.name),\n })\n\n return {\n users: userList.map((user) => ({\n id: user.id,\n name: user.name || 'Unknown',\n mobile: user.mobile,\n }))\n }\n}\n", "import { db } from '../db/db_index'\nimport {\n addresses,\n complaints,\n couponUsage,\n orderItems,\n orders,\n orderStatus,\n payments,\n refunds,\n} from '../db/schema'\nimport { and, desc, eq, inArray, lt, SQL } from 'drizzle-orm'\nimport type {\n AdminOrderDetails,\n AdminOrderRow,\n AdminOrderStatusRecord,\n AdminOrderUpdateResult,\n AdminOrderItemPackagingResult,\n AdminOrderMessageResult,\n AdminOrderBasicResult,\n AdminGetSlotOrdersResult,\n AdminGetAllOrdersResultWithUserId,\n AdminRebalanceSlotsResult,\n AdminCancelOrderResult,\n AdminRefundRecord,\n RefundStatus,\n PaymentStatus,\n} from '@packages/shared'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport { coerceDate } from '../lib/date'\n\nconst isPaymentStatus = (value: string): value is PaymentStatus =>\n value === 'pending' || value === 'success' || value === 'cod' || value === 'failed'\n\nconst isRefundStatus = (value: string): value is RefundStatus =>\n value === 'success' || value === 'pending' || value === 'failed' || value === 'none' || value === 'na' || value === 'processed'\n\ntype OrderStatusRow = InferSelectModel\n\nconst mapOrderStatusRecord = (record: OrderStatusRow): AdminOrderStatusRecord => ({\n id: record.id,\n orderTime: record.orderTime,\n userId: record.userId,\n orderId: record.orderId,\n isPackaged: record.isPackaged,\n isDelivered: record.isDelivered,\n isCancelled: record.isCancelled,\n cancelReason: record.cancelReason ?? null,\n isCancelledByAdmin: record.isCancelledByAdmin ?? null,\n paymentStatus: isPaymentStatus(record.paymentStatus) ? record.paymentStatus : 'pending',\n cancellationUserNotes: record.cancellationUserNotes ?? null,\n cancellationAdminNotes: record.cancellationAdminNotes ?? null,\n cancellationReviewed: record.cancellationReviewed,\n cancellationReviewedAt: record.cancellationReviewedAt ?? null,\n refundCouponId: record.refundCouponId ?? null,\n})\n\nexport async function updateOrderNotes(orderId: number, adminNotes: string | null): Promise {\n const [result] = await db\n .update(orders)\n .set({ adminNotes })\n .where(eq(orders.id, orderId))\n .returning()\n return (result || null) as AdminOrderRow | null\n}\n\nexport async function updateOrderPackaged(orderId: string, isPackaged: boolean): Promise {\n const orderIdNumber = parseInt(orderId)\n\n await db\n .update(orderItems)\n .set({ is_packaged: isPackaged })\n .where(eq(orderItems.orderId, orderIdNumber))\n\n if (!isPackaged) {\n await db\n .update(orderStatus)\n .set({ isPackaged, isDelivered: false })\n .where(eq(orderStatus.orderId, orderIdNumber))\n } else {\n await db\n .update(orderStatus)\n .set({ isPackaged })\n .where(eq(orderStatus.orderId, orderIdNumber))\n }\n\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderIdNumber),\n })\n\n return { success: true, userId: order?.userId ?? null }\n}\n\nexport async function updateOrderDelivered(orderId: string, isDelivered: boolean): Promise {\n const orderIdNumber = parseInt(orderId)\n\n await db\n .update(orderStatus)\n .set({ isDelivered })\n .where(eq(orderStatus.orderId, orderIdNumber))\n\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderIdNumber),\n })\n\n return { success: true, userId: order?.userId ?? null }\n}\n\nexport async function getOrderDetails(orderId: number): Promise {\n // Single optimized query with all relations\n const orderData = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n payment: true,\n paymentInfo: true,\n orderStatus: true,\n refunds: true,\n },\n })\n\n if (!orderData) {\n return null\n }\n\n const couponUsageData = await db.query.couponUsage.findMany({\n where: eq(couponUsage.orderId, orderData.id),\n with: {\n coupon: true,\n },\n })\n\n let couponData = null\n if (couponUsageData.length > 0) {\n let totalDiscountAmount = 0\n const orderTotal = parseFloat((orderData.totalAmount ?? '0').toString())\n\n for (const usage of couponUsageData) {\n let discountAmount = 0\n\n if (usage.coupon.discountPercent) {\n discountAmount =\n (orderTotal * parseFloat(usage.coupon.discountPercent.toString())) /\n 100\n } else if (usage.coupon.flatDiscount) {\n discountAmount = parseFloat(usage.coupon.flatDiscount.toString())\n }\n\n if (\n usage.coupon.maxValue &&\n discountAmount > parseFloat(usage.coupon.maxValue.toString())\n ) {\n discountAmount = parseFloat(usage.coupon.maxValue.toString())\n }\n\n totalDiscountAmount += discountAmount\n }\n\n couponData = {\n couponCode: couponUsageData.map((u: any) => u.coupon.couponCode).join(', '),\n couponDescription: `${couponUsageData.length} coupons applied`,\n discountAmount: totalDiscountAmount,\n }\n }\n\n const statusRecord = orderData.orderStatus?.[0]\n const orderStatusRecord = statusRecord ? mapOrderStatusRecord(statusRecord) : null\n let status: 'pending' | 'delivered' | 'cancelled' = 'pending'\n if (orderStatusRecord?.isCancelled) {\n status = 'cancelled'\n } else if (orderStatusRecord?.isDelivered) {\n status = 'delivered'\n }\n\n const refund = orderData.refunds?.[0]\n const refundStatus = refund?.refundStatus && isRefundStatus(refund.refundStatus)\n ? refund.refundStatus\n : null\n const refundRecord: AdminRefundRecord | null = refund\n ? {\n id: refund.id,\n orderId: refund.orderId,\n refundAmount: refund.refundAmount,\n refundStatus,\n merchantRefundId: refund.merchantRefundId,\n refundProcessedAt: refund.refundProcessedAt,\n createdAt: refund.createdAt,\n }\n : null\n\n return {\n id: orderData.id,\n readableId: orderData.id,\n userId: orderData.user.id,\n customerName: `${orderData.user.name}`,\n customerEmail: orderData.user.email,\n customerMobile: orderData.user.mobile,\n address: {\n name: orderData.address.name,\n line1: orderData.address.addressLine1,\n line2: orderData.address.addressLine2,\n city: orderData.address.city,\n state: orderData.address.state,\n pincode: orderData.address.pincode,\n phone: orderData.address.phone,\n },\n slotInfo: orderData.slot\n ? {\n time: (coerceDate(orderData.slot.deliveryTime) ?? new Date(0)).toISOString(),\n sequence: orderData.slot.deliverySequence,\n }\n : null,\n isCod: orderData.isCod,\n isOnlinePayment: orderData.isOnlinePayment,\n totalAmount:\n parseFloat(orderData.totalAmount?.toString() || '0') -\n parseFloat(orderData.deliveryCharge?.toString() || '0'),\n deliveryCharge: parseFloat(orderData.deliveryCharge?.toString() || '0'),\n adminNotes: orderData.adminNotes,\n userNotes: orderData.userNotes,\n createdAt: orderData.createdAt,\n status,\n isPackaged: orderStatusRecord?.isPackaged || false,\n isDelivered: orderStatusRecord?.isDelivered || false,\n items: orderData.orderItems.map((item: any) => ({\n id: item.id,\n name: item.product.name,\n quantity: item.quantity,\n productSize: item.product.productQuantity,\n price: item.price,\n unit: item.product.unit?.shortNotation,\n amount: parseFloat(item.price.toString()) * parseFloat(item.quantity || '0'),\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n })),\n payment: orderData.payment\n ? {\n status: orderData.payment.status,\n gateway: orderData.payment.gateway,\n merchantOrderId: orderData.payment.merchantOrderId,\n }\n : null,\n paymentInfo: orderData.paymentInfo\n ? {\n status: orderData.paymentInfo.status,\n gateway: orderData.paymentInfo.gateway,\n merchantOrderId: orderData.paymentInfo.merchantOrderId,\n }\n : null,\n cancelReason: orderStatusRecord?.cancelReason || null,\n cancellationReviewed: orderStatusRecord?.cancellationReviewed || false,\n isRefundDone: refundStatus === 'processed' || false,\n refundStatus,\n refundAmount: refund?.refundAmount\n ? parseFloat(refund.refundAmount.toString())\n : null,\n couponData,\n couponCode: couponData?.couponCode || null,\n couponDescription: couponData?.couponDescription || null,\n discountAmount: couponData?.discountAmount || null,\n orderStatus: orderStatusRecord,\n refundRecord,\n isFlashDelivery: orderData.isFlashDelivery,\n }\n}\n\nexport async function updateOrderItemPackaging(\n orderItemId: number,\n isPackaged?: boolean,\n isPackageVerified?: boolean\n): Promise {\n const orderItem = await db.query.orderItems.findFirst({\n where: eq(orderItems.id, orderItemId),\n })\n\n if (!orderItem) {\n return { success: false, updated: false }\n }\n\n const updateData: Partial<{\n is_packaged: boolean\n is_package_verified: boolean\n }> = {}\n\n if (isPackaged !== undefined) {\n updateData.is_packaged = isPackaged\n }\n if (isPackageVerified !== undefined) {\n updateData.is_package_verified = isPackageVerified\n }\n\n await db\n .update(orderItems)\n .set(updateData)\n .where(eq(orderItems.id, orderItemId))\n\n return { success: true, updated: true }\n}\n\nexport async function removeDeliveryCharge(orderId: number): Promise {\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n })\n\n if (!order) {\n return null\n }\n\n const currentDeliveryCharge = parseFloat(order.deliveryCharge?.toString() || '0')\n const currentTotalAmount = parseFloat(order.totalAmount?.toString() || '0')\n const newTotalAmount = currentTotalAmount - currentDeliveryCharge\n\n await db\n .update(orders)\n .set({\n deliveryCharge: '0',\n totalAmount: newTotalAmount.toString(),\n })\n .where(eq(orders.id, orderId))\n\n return { success: true, message: 'Delivery charge removed' }\n}\n\nexport async function getSlotOrders(slotId: string): Promise {\n const slotOrders = await db.query.orders.findMany({\n where: eq(orders.slotId, parseInt(slotId)),\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n },\n })\n\n const filteredOrders = slotOrders.filter((order: any) => {\n const statusRecord = order.orderStatus[0]\n return order.isCod || (statusRecord && statusRecord.paymentStatus === 'success')\n })\n\n const formattedOrders = filteredOrders.map((order: any) => {\n const statusRecord = order.orderStatus[0]\n let status: 'pending' | 'delivered' | 'cancelled' = 'pending'\n if (statusRecord?.isCancelled) {\n status = 'cancelled'\n } else if (statusRecord?.isDelivered) {\n status = 'delivered'\n }\n\n const items = order.orderItems.map((item: any) => ({\n id: item.id,\n name: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n amount: parseFloat(item.quantity) * parseFloat(item.price.toString()),\n unit: item.product.unit?.shortNotation || '',\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n }))\n\n const paymentMode: 'COD' | 'Online' = order.isCod ? 'COD' : 'Online'\n\n return {\n id: order.id,\n readableId: order.id,\n customerName: order.user.name || order.user.mobile+'',\n address: `${order.address.addressLine1}${\n order.address.addressLine2 ? `, ${order.address.addressLine2}` : ''\n }, ${order.address.city}, ${order.address.state} - ${\n order.address.pincode\n }, Phone: ${order.address.phone}`,\n addressId: order.addressId,\n latitude: order.address.adminLatitude ?? order.address.latitude,\n longitude: order.address.adminLongitude ?? order.address.longitude,\n totalAmount: parseFloat(order.totalAmount),\n items,\n deliveryTime: coerceDate(order.slot?.deliveryTime)?.toISOString() || null,\n status,\n isPackaged: order.orderItems.every((item: any) => item.is_packaged) || false,\n isDelivered: statusRecord?.isDelivered || false,\n isCod: order.isCod,\n paymentMode,\n paymentStatus: isPaymentStatus(statusRecord?.paymentStatus || 'pending')\n ? statusRecord?.paymentStatus || 'pending'\n : 'pending',\n slotId: order.slotId,\n adminNotes: order.adminNotes,\n userNotes: order.userNotes,\n }\n })\n\n return { success: true, data: formattedOrders }\n}\n\nexport async function updateAddressCoords(\n addressId: number,\n latitude: number,\n longitude: number\n): Promise {\n const result = await db\n .update(addresses)\n .set({\n adminLatitude: latitude,\n adminLongitude: longitude,\n })\n .where(eq(addresses.id, addressId))\n .returning()\n\n return { success: result.length > 0 }\n}\n\ntype GetAllOrdersInput = {\n cursor?: number\n limit: number\n slotId?: number | null\n packagedFilter?: 'all' | 'packaged' | 'not_packaged'\n deliveredFilter?: 'all' | 'delivered' | 'not_delivered'\n cancellationFilter?: 'all' | 'cancelled' | 'not_cancelled'\n flashDeliveryFilter?: 'all' | 'flash' | 'regular'\n}\n\nexport async function getAllOrders(input: GetAllOrdersInput): Promise {\n const {\n cursor,\n limit,\n slotId,\n packagedFilter,\n deliveredFilter,\n cancellationFilter,\n flashDeliveryFilter,\n } = input\n\n let whereCondition: SQL | undefined = eq(orders.id, orders.id)\n if (cursor) {\n whereCondition = and(whereCondition, lt(orders.id, cursor))\n }\n if (slotId) {\n whereCondition = and(whereCondition, eq(orders.slotId, slotId))\n }\n if (packagedFilter === 'packaged') {\n whereCondition = and(whereCondition, eq(orderStatus.isPackaged, true))\n } else if (packagedFilter === 'not_packaged') {\n whereCondition = and(whereCondition, eq(orderStatus.isPackaged, false))\n }\n if (deliveredFilter === 'delivered') {\n whereCondition = and(whereCondition, eq(orderStatus.isDelivered, true))\n } else if (deliveredFilter === 'not_delivered') {\n whereCondition = and(whereCondition, eq(orderStatus.isDelivered, false))\n }\n if (cancellationFilter === 'cancelled') {\n whereCondition = and(whereCondition, eq(orderStatus.isCancelled, true))\n } else if (cancellationFilter === 'not_cancelled') {\n whereCondition = and(whereCondition, eq(orderStatus.isCancelled, false))\n }\n if (flashDeliveryFilter === 'flash') {\n whereCondition = and(whereCondition, eq(orders.isFlashDelivery, true))\n } else if (flashDeliveryFilter === 'regular') {\n whereCondition = and(whereCondition, eq(orders.isFlashDelivery, false))\n }\n\n const allOrders = await db.query.orders.findMany({\n where: whereCondition,\n orderBy: desc(orders.createdAt),\n limit: limit + 1,\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n },\n })\n\n const hasMore = allOrders.length > limit\n const ordersToReturn = hasMore ? allOrders.slice(0, limit) : allOrders\n\n const filteredOrders = ordersToReturn.filter((order: any) => {\n const statusRecord = order.orderStatus[0]\n return order.isCod || (statusRecord && statusRecord.paymentStatus === 'success')\n })\n\n const formattedOrders = filteredOrders.map((order: any) => {\n const statusRecord = order.orderStatus[0]\n let status: 'pending' | 'delivered' | 'cancelled' = 'pending'\n if (statusRecord?.isCancelled) {\n status = 'cancelled'\n } else if (statusRecord?.isDelivered) {\n status = 'delivered'\n }\n\n const items = order.orderItems\n .map((item: any) => ({\n id: item.id,\n name: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n amount: parseFloat(item.quantity) * parseFloat(item.price.toString()),\n unit: item.product.unit?.shortNotation || '',\n productSize: item.product.productQuantity,\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n }))\n .sort((first: any, second: any) => first.id - second.id)\n\n return {\n id: order.id,\n orderId: order.id.toString(),\n readableId: order.id,\n customerName: order.user.name || order.user.mobile + '',\n customerMobile: order.user.mobile,\n address: `${order.address.addressLine1}${\n order.address.addressLine2 ? `, ${order.address.addressLine2}` : ''\n }, ${order.address.city}, ${order.address.state} - ${\n order.address.pincode\n }, Phone: ${order.address.phone}`,\n addressId: order.addressId,\n latitude: order.address.adminLatitude ?? order.address.latitude,\n longitude: order.address.adminLongitude ?? order.address.longitude,\n totalAmount: parseFloat(order.totalAmount),\n deliveryCharge: parseFloat(order.deliveryCharge || '0'),\n items,\n createdAt: order.createdAt,\n deliveryTime: coerceDate(order.slot?.deliveryTime)?.toISOString() || null,\n status,\n isPackaged: order.orderItems.every((item: any) => item.is_packaged) || false,\n isDelivered: statusRecord?.isDelivered || false,\n isCod: order.isCod,\n isFlashDelivery: order.isFlashDelivery,\n userNotes: order.userNotes,\n adminNotes: order.adminNotes,\n userNegativityScore: 0,\n userId: order.userId,\n }\n })\n\n return {\n orders: formattedOrders,\n nextCursor: hasMore ? ordersToReturn[ordersToReturn.length - 1].id : undefined,\n }\n}\n\nexport async function rebalanceSlots(slotIds: number[]): Promise {\n const ordersList = await db.query.orders.findMany({\n where: inArray(orders.slotId, slotIds),\n with: {\n orderItems: {\n with: {\n product: true,\n },\n },\n couponUsages: {\n with: {\n coupon: true,\n },\n },\n },\n })\n\n const processedOrdersData = ordersList.map((order: any) => {\n let newTotal = order.orderItems.reduce((acc: number, item: any) => {\n const latestPrice = +item.product.price\n const amount = latestPrice * Number(item.quantity)\n return acc + amount\n }, 0)\n\n order.orderItems.forEach((item: any) => {\n item.price = item.product.price\n item.discountedPrice = item.product.price\n })\n\n const coupon = order.couponUsages[0]?.coupon\n\n let discount = 0\n if (coupon && !coupon.isInvalidated && (!coupon.validTill || new Date(coupon.validTill) > new Date())) {\n const proportion = Number(order.orderGroupProportion || 1)\n if (coupon.discountPercent) {\n const maxDiscount = Number(coupon.maxValue || Infinity) * proportion\n discount = Math.min((newTotal * parseFloat(coupon.discountPercent)) / 100, maxDiscount)\n } else {\n discount = Number(coupon.flatDiscount) * proportion\n }\n }\n newTotal -= discount\n\n const { couponUsages, orderItems: orderItemsRaw, ...rest } = order\n const updatedOrderItems = orderItemsRaw.map((item: any) => {\n const { product, ...rawOrderItem } = item\n return rawOrderItem\n })\n return { order: rest, updatedOrderItems, newTotal }\n })\n\n const updatedOrderIds: number[] = []\n await db.transaction(async (tx) => {\n for (const { order, updatedOrderItems, newTotal } of processedOrdersData) {\n await tx.update(orders).set({ totalAmount: newTotal.toString() }).where(eq(orders.id, order.id))\n updatedOrderIds.push(order.id)\n\n for (const item of updatedOrderItems) {\n await tx\n .update(orderItems)\n .set({\n price: item.price,\n discountedPrice: item.discountedPrice,\n })\n .where(eq(orderItems.id, item.id))\n }\n }\n })\n\n return {\n success: true,\n updatedOrders: updatedOrderIds,\n message: `Rebalanced ${updatedOrderIds.length} orders.`,\n }\n}\n\nexport async function cancelOrder(orderId: number, reason: string): Promise {\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n orderStatus: true,\n },\n })\n\n if (!order) {\n return { success: false, message: 'Order not found', error: 'order_not_found' }\n }\n\n const status = order.orderStatus[0]\n if (!status) {\n return { success: false, message: 'Order status not found', error: 'status_not_found' }\n }\n\n if (status.isCancelled) {\n return { success: false, message: 'Order is already cancelled', error: 'already_cancelled' }\n }\n\n if (status.isDelivered) {\n return { success: false, message: 'Cannot cancel delivered order', error: 'already_delivered' }\n }\n\n const result = await db.transaction(async (tx) => {\n await tx\n .update(orderStatus)\n .set({\n isCancelled: true,\n isCancelledByAdmin: true,\n cancelReason: reason,\n cancellationAdminNotes: reason,\n cancellationReviewed: true,\n cancellationReviewedAt: new Date(),\n })\n .where(eq(orderStatus.id, status.id))\n\n const refundStatus = order.isCod ? 'na' : 'pending'\n\n await tx.insert(refunds).values({\n orderId: order.id,\n refundStatus,\n })\n\n return { orderId: order.id, userId: order.userId }\n })\n\n return {\n success: true,\n message: 'Order cancelled successfully',\n orderId: result.orderId,\n userId: result.userId,\n }\n}\n\nexport async function deleteOrderById(orderId: number): Promise {\n await db.transaction(async (tx) => {\n await tx.delete(orderItems).where(eq(orderItems.orderId, orderId))\n await tx.delete(orderStatus).where(eq(orderStatus.orderId, orderId))\n await tx.delete(payments).where(eq(payments.orderId, orderId))\n await tx.delete(refunds).where(eq(refunds.orderId, orderId))\n await tx.delete(couponUsage).where(eq(couponUsage.orderId, orderId))\n await tx.delete(complaints).where(eq(complaints.orderId, orderId))\n await tx.delete(orders).where(eq(orders.id, orderId))\n })\n}\n", "import { db } from '../db/db_index'\nimport {\n productInfo,\n units,\n specialDeals,\n productSlots,\n productTags,\n productReviews,\n productGroupInfo,\n productGroupMembership,\n productTagInfo,\n users,\n storeInfo,\n} from '../db/schema'\nimport { and, desc, eq, inArray, sql } from 'drizzle-orm'\nimport type { InferInsertModel, InferSelectModel } from 'drizzle-orm'\nimport type {\n AdminProduct,\n AdminProductGroupInfo,\n AdminProductTagInfo,\n AdminProductTagWithProducts,\n AdminProductReview,\n AdminProductWithDetails,\n AdminProductWithRelations,\n AdminSpecialDeal,\n AdminUnit,\n AdminUpdateSlotProductsResult,\n Store,\n} from '@packages/shared'\n\ntype ProductRow = InferSelectModel\ntype UnitRow = InferSelectModel\ntype StoreRow = InferSelectModel\ntype SpecialDealRow = InferSelectModel\ntype ProductTagInfoRow = InferSelectModel\ntype ProductTagRow = InferSelectModel\ntype ProductGroupRow = InferSelectModel\ntype ProductGroupMembershipRow = InferSelectModel\ntype ProductReviewRow = InferSelectModel\n\nconst getStringArray = (value: unknown): string[] | null => {\n if (!Array.isArray(value)) return null\n return value.map((item) => String(item))\n}\n\nconst mapUnit = (unit: UnitRow): AdminUnit => ({\n id: unit.id,\n shortNotation: unit.shortNotation,\n fullName: unit.fullName,\n})\n\nconst mapStore = (store: StoreRow): Store => ({\n id: store.id,\n name: store.name,\n description: store.description,\n imageUrl: store.imageUrl,\n owner: store.owner,\n createdAt: store.createdAt,\n // updatedAt: store.createdAt,\n})\n\nconst mapProduct = (product: ProductRow): AdminProduct => ({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription ?? null,\n longDescription: product.longDescription ?? null,\n unitId: product.unitId,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n images: getStringArray(product.images),\n imageKeys: getStringArray(product.images),\n isOutOfStock: product.isOutOfStock,\n isSuspended: product.isSuspended,\n isFlashAvailable: product.isFlashAvailable,\n flashPrice: product.flashPrice ? String(product.flashPrice) : null,\n createdAt: product.createdAt,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n storeId: product.storeId,\n})\n\nconst mapSpecialDeal = (deal: SpecialDealRow): AdminSpecialDeal => ({\n id: deal.id,\n productId: deal.productId,\n quantity: String(deal.quantity ?? '0'),\n price: String(deal.price ?? '0'),\n validTill: deal.validTill,\n})\n\nconst mapTagInfo = (tag: ProductTagInfoRow): AdminProductTagInfo => ({\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription ?? null,\n imageUrl: tag.imageUrl ?? null,\n isDashboardTag: tag.isDashboardTag,\n relatedStores: tag.relatedStores,\n createdAt: tag.createdAt,\n})\n\nexport async function getAllProducts(): Promise {\n type ProductWithRelationsRow = ProductRow & { unit: UnitRow; store: StoreRow | null }\n const products = await db.query.productInfo.findMany({\n orderBy: productInfo.name,\n with: {\n unit: true,\n store: true,\n },\n }) as ProductWithRelationsRow[]\n\n return products.map((product) => ({\n ...mapProduct(product),\n unit: mapUnit(product.unit),\n store: product.store ? mapStore(product.store) : null,\n }))\n}\n\nexport async function getProductById(id: number): Promise {\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, id),\n with: {\n unit: true,\n },\n })\n\n if (!product) {\n return null\n }\n\n const deals = await db.query.specialDeals.findMany({\n where: eq(specialDeals.productId, id),\n orderBy: specialDeals.quantity,\n })\n\n const productTagsData = await db.query.productTags.findMany({\n where: eq(productTags.productId, id),\n with: {\n tag: true,\n },\n }) as Array\n\n return {\n ...mapProduct(product),\n unit: mapUnit(product.unit),\n deals: deals.map(mapSpecialDeal),\n tags: productTagsData.map((tag) => mapTagInfo(tag.tag)),\n }\n}\n\nexport async function deleteProduct(id: number): Promise {\n const [deletedProduct] = await db\n .delete(productInfo)\n .where(eq(productInfo.id, id))\n .returning()\n\n if (!deletedProduct) {\n return null\n }\n\n return mapProduct(deletedProduct)\n}\n\ntype ProductInfoInsert = InferInsertModel\ntype ProductInfoUpdate = Partial\n\nexport async function createProduct(input: ProductInfoInsert): Promise {\n const [product] = await db.insert(productInfo).values(input).returning()\n return mapProduct(product)\n}\n\nexport async function updateProduct(id: number, updates: ProductInfoUpdate): Promise {\n const [product] = await db.update(productInfo)\n .set(updates)\n .where(eq(productInfo.id, id))\n .returning()\n if (!product) {\n return null\n }\n\n return mapProduct(product)\n}\n\nexport async function toggleProductOutOfStock(id: number): Promise {\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, id),\n })\n\n if (!product) {\n return null\n }\n\n const [updatedProduct] = await db\n .update(productInfo)\n .set({\n isOutOfStock: !product.isOutOfStock,\n })\n .where(eq(productInfo.id, id))\n .returning()\n\n if (!updatedProduct) {\n return null\n }\n\n return mapProduct(updatedProduct)\n}\n\nexport async function updateSlotProducts(slotId: string, productIds: string[]): Promise {\n const currentAssociations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, parseInt(slotId)),\n columns: {\n productId: true,\n },\n }) as Array<{ productId: number }>\n\n const currentProductIds = currentAssociations.map((assoc: { productId: number }) => assoc.productId)\n const newProductIds = productIds.map((id: string) => parseInt(id))\n\n const productsToAdd = newProductIds.filter((id: number) => !currentProductIds.includes(id))\n const productsToRemove = currentProductIds.filter((id: number) => !newProductIds.includes(id))\n\n if (productsToRemove.length > 0) {\n await db.delete(productSlots).where(\n and(\n eq(productSlots.slotId, parseInt(slotId)),\n inArray(productSlots.productId, productsToRemove)\n )\n )\n }\n\n if (productsToAdd.length > 0) {\n const newAssociations = productsToAdd.map((productId) => ({\n productId,\n slotId: parseInt(slotId),\n }))\n\n await db.insert(productSlots).values(newAssociations)\n }\n\n return {\n message: 'Slot products updated successfully',\n added: productsToAdd.length,\n removed: productsToRemove.length,\n }\n}\n\nexport async function getSlotProductIds(slotId: string): Promise {\n const associations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, parseInt(slotId)),\n columns: {\n productId: true,\n },\n })\n\n return associations.map((assoc: { productId: number }) => assoc.productId)\n}\n\nexport async function getAllUnits(): Promise {\n const allUnits = await db.query.units.findMany({\n orderBy: units.shortNotation,\n })\n\n return allUnits.map(mapUnit)\n}\n\nexport async function getAllProductTags(): Promise {\n const tags = await db.query.productTagInfo.findMany({\n with: {\n products: {\n with: {\n product: true,\n },\n },\n },\n }) as Array }>\n\n return tags.map((tag: ProductTagInfoRow & { products: Array }) => ({\n ...mapTagInfo(tag),\n products: tag.products.map((assignment: ProductTagRow & { product: ProductRow }) => ({\n productId: assignment.productId,\n tagId: assignment.tagId,\n assignedAt: assignment.assignedAt,\n product: mapProduct(assignment.product),\n })),\n }))\n}\n\nexport async function getAllProductTagInfos(): Promise {\n const tags = await db.query.productTagInfo.findMany({\n orderBy: productTagInfo.tagName,\n })\n\n return tags.map(mapTagInfo)\n}\n\nexport async function getProductTagInfoById(tagId: number): Promise {\n const tag = await db.query.productTagInfo.findFirst({\n where: eq(productTagInfo.id, tagId),\n })\n\n if (!tag) {\n return null\n }\n\n return mapTagInfo(tag)\n}\n\nexport interface CreateProductTagInput {\n tagName: string\n tagDescription?: string | null\n imageUrl?: string | null\n isDashboardTag?: boolean\n relatedStores?: number[]\n}\n\nexport async function createProductTag(input: CreateProductTagInput): Promise {\n const [tag] = await db.insert(productTagInfo).values({\n tagName: input.tagName,\n tagDescription: input.tagDescription || null,\n imageUrl: input.imageUrl || null,\n isDashboardTag: input.isDashboardTag || false,\n relatedStores: input.relatedStores || [],\n }).returning()\n\n return {\n ...mapTagInfo(tag),\n products: [],\n }\n}\n\nexport async function getProductTagById(tagId: number): Promise {\n const tag = await db.query.productTagInfo.findFirst({\n where: eq(productTagInfo.id, tagId),\n with: {\n products: {\n with: {\n product: true,\n },\n },\n },\n })\n\n if (!tag) {\n return null\n }\n\n return {\n ...mapTagInfo(tag),\n products: tag.products.map((assignment: ProductTagRow & { product: ProductRow }) => ({\n productId: assignment.productId,\n tagId: assignment.tagId,\n assignedAt: assignment.assignedAt,\n product: mapProduct(assignment.product),\n })),\n }\n}\n\nexport interface UpdateProductTagInput {\n tagName?: string\n tagDescription?: string | null\n imageUrl?: string | null\n isDashboardTag?: boolean\n relatedStores?: number[]\n}\n\nexport async function updateProductTag(tagId: number, input: UpdateProductTagInput): Promise {\n const [tag] = await db.update(productTagInfo).set({\n ...(input.tagName !== undefined && { tagName: input.tagName }),\n ...(input.tagDescription !== undefined && { tagDescription: input.tagDescription }),\n ...(input.imageUrl !== undefined && { imageUrl: input.imageUrl }),\n ...(input.isDashboardTag !== undefined && { isDashboardTag: input.isDashboardTag }),\n ...(input.relatedStores !== undefined && { relatedStores: input.relatedStores }),\n }).where(eq(productTagInfo.id, tagId)).returning()\n\n const fullTag = await db.query.productTagInfo.findFirst({\n where: eq(productTagInfo.id, tagId),\n with: {\n products: {\n with: {\n product: true,\n },\n },\n },\n })\n\n return {\n ...mapTagInfo(tag),\n products: fullTag?.products.map((assignment: ProductTagRow & { product: ProductRow }) => ({\n productId: assignment.productId,\n tagId: assignment.tagId,\n assignedAt: assignment.assignedAt,\n product: mapProduct(assignment.product),\n })) || [],\n }\n}\n\nexport async function deleteProductTag(tagId: number): Promise {\n await db.delete(productTagInfo).where(eq(productTagInfo.id, tagId))\n}\n\nexport async function checkProductTagExistsByName(tagName: string): Promise {\n const tag = await db.query.productTagInfo.findFirst({\n where: eq(productTagInfo.tagName, tagName),\n })\n return !!tag\n}\n\nexport async function getSlotsProductIds(slotIds: number[]): Promise> {\n if (slotIds.length === 0) {\n return {}\n }\n\n const associations = await db.query.productSlots.findMany({\n where: inArray(productSlots.slotId, slotIds),\n columns: {\n slotId: true,\n productId: true,\n },\n }) as Array<{ slotId: number; productId: number }>\n\n const result: Record = {}\n for (const assoc of associations) {\n if (!result[assoc.slotId]) {\n result[assoc.slotId] = []\n }\n result[assoc.slotId].push(assoc.productId)\n }\n\n slotIds.forEach((slotId) => {\n if (!result[slotId]) {\n result[slotId] = []\n }\n })\n\n return result\n}\n\nexport async function getProductReviews(productId: number, limit: number, offset: number) {\n const reviews = await db\n .select({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n adminResponse: productReviews.adminResponse,\n adminResponseImages: productReviews.adminResponseImages,\n userName: users.name,\n })\n .from(productReviews)\n .innerJoin(users, eq(productReviews.userId, users.id))\n .where(eq(productReviews.productId, productId))\n .orderBy(desc(productReviews.reviewTime))\n .limit(limit)\n .offset(offset)\n\n const totalCountResult = await db\n .select({ count: sql`count(*)` })\n .from(productReviews)\n .where(eq(productReviews.productId, productId))\n\n const totalCount = Number(totalCountResult[0].count)\n\n const mappedReviews: AdminProductReview[] = reviews.map((review: any) => ({\n id: review.id,\n reviewBody: review.reviewBody,\n ratings: review.ratings,\n imageUrls: review.imageUrls,\n reviewTime: review.reviewTime,\n adminResponse: review.adminResponse ?? null,\n adminResponseImages: review.adminResponseImages,\n userName: review.userName ?? null,\n }))\n\n return {\n reviews: mappedReviews,\n totalCount,\n }\n}\n\nexport async function respondToReview(\n reviewId: number,\n adminResponse: string | undefined,\n adminResponseImages: string[]\n): Promise {\n const [updatedReview] = await db\n .update(productReviews)\n .set({\n adminResponse,\n adminResponseImages,\n })\n .where(eq(productReviews.id, reviewId))\n .returning()\n\n if (!updatedReview) {\n return null\n }\n\n return {\n id: updatedReview.id,\n reviewBody: updatedReview.reviewBody,\n ratings: updatedReview.ratings,\n imageUrls: updatedReview.imageUrls,\n reviewTime: updatedReview.reviewTime,\n adminResponse: updatedReview.adminResponse ?? null,\n adminResponseImages: updatedReview.adminResponseImages,\n userName: null,\n }\n}\n\nexport async function getAllProductGroups() {\n const groups = await db.query.productGroupInfo.findMany({\n with: {\n memberships: {\n with: {\n product: true,\n },\n },\n },\n orderBy: desc(productGroupInfo.createdAt),\n })\n\n return groups.map((group: any) => ({\n id: group.id,\n groupName: group.groupName,\n description: group.description ?? null,\n createdAt: group.createdAt,\n products: group.memberships.map((membership: any) => mapProduct(membership.product)),\n productCount: group.memberships.length,\n memberships: group.memberships\n }))\n}\n\nexport async function createProductGroup(\n groupName: string,\n description: string | undefined,\n productIds: number[]\n): Promise {\n const [newGroup] = await db\n .insert(productGroupInfo)\n .values({\n groupName,\n description,\n })\n .returning()\n\n if (productIds.length > 0) {\n const memberships = productIds.map((productId) => ({\n productId,\n groupId: newGroup.id,\n }))\n\n await db.insert(productGroupMembership).values(memberships)\n }\n\n return {\n id: newGroup.id,\n groupName: newGroup.groupName,\n description: newGroup.description ?? null,\n createdAt: newGroup.createdAt,\n }\n}\n\nexport async function updateProductGroup(\n id: number,\n groupName: string | undefined,\n description: string | undefined,\n productIds: number[] | undefined\n): Promise {\n const updateData: Partial<{\n groupName: string\n description: string | null\n }> = {}\n\n if (groupName !== undefined) updateData.groupName = groupName\n if (description !== undefined) updateData.description = description\n\n const [updatedGroup] = await db\n .update(productGroupInfo)\n .set(updateData)\n .where(eq(productGroupInfo.id, id))\n .returning()\n\n if (!updatedGroup) {\n return null\n }\n\n if (productIds !== undefined) {\n await db.delete(productGroupMembership).where(eq(productGroupMembership.groupId, id))\n\n if (productIds.length > 0) {\n const memberships = productIds.map((productId) => ({\n productId,\n groupId: id,\n }))\n\n await db.insert(productGroupMembership).values(memberships)\n }\n }\n\n return {\n id: updatedGroup.id,\n groupName: updatedGroup.groupName,\n description: updatedGroup.description ?? null,\n createdAt: updatedGroup.createdAt,\n }\n}\n\nexport async function deleteProductGroup(id: number): Promise {\n await db.delete(productGroupMembership).where(eq(productGroupMembership.groupId, id))\n\n const [deletedGroup] = await db\n .delete(productGroupInfo)\n .where(eq(productGroupInfo.id, id))\n .returning()\n\n if (!deletedGroup) {\n return null\n }\n\n return {\n id: deletedGroup.id,\n groupName: deletedGroup.groupName,\n description: deletedGroup.description ?? null,\n createdAt: deletedGroup.createdAt,\n }\n}\n\nexport async function addProductToGroup(groupId: number, productId: number): Promise {\n await db.insert(productGroupMembership).values({ groupId, productId })\n}\n\nexport async function removeProductFromGroup(groupId: number, productId: number): Promise {\n await db.delete(productGroupMembership)\n .where(and(\n eq(productGroupMembership.groupId, groupId),\n eq(productGroupMembership.productId, productId)\n ))\n}\n\nexport async function updateProductPrices(updates: Array<{\n productId: number\n price?: number\n marketPrice?: number | null\n flashPrice?: number | null\n isFlashAvailable?: boolean\n}>) {\n if (updates.length === 0) {\n return { updatedCount: 0, invalidIds: [] }\n }\n\n const productIds = updates.map((update) => update.productId)\n const existingProducts = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, productIds),\n columns: { id: true },\n }) as Array<{ id: number }>\n\n const existingIds = new Set(existingProducts.map((product: { id: number }) => product.id))\n const invalidIds = productIds.filter((id) => !existingIds.has(id))\n\n if (invalidIds.length > 0) {\n return { updatedCount: 0, invalidIds }\n }\n\n const updatePromises = updates.map((update) => {\n const { productId, price, marketPrice, flashPrice, isFlashAvailable } = update\n const updateData: Partial> = {}\n\n if (price !== undefined) updateData.price = price.toString()\n if (marketPrice !== undefined) updateData.marketPrice = marketPrice === null ? null : marketPrice.toString()\n if (flashPrice !== undefined) updateData.flashPrice = flashPrice === null ? null : flashPrice.toString()\n if (isFlashAvailable !== undefined) updateData.isFlashAvailable = isFlashAvailable\n\n return db\n .update(productInfo)\n .set(updateData)\n .where(eq(productInfo.id, productId))\n })\n\n await Promise.all(updatePromises)\n\n return { updatedCount: updates.length, invalidIds: [] }\n}\n\n\n// ==========================================================================\n// Product Helpers for Admin Controller\n// ==========================================================================\n\nexport async function checkProductExistsByName(name: string): Promise {\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.name, name),\n columns: { id: true },\n })\n\n return !!product\n}\n\nexport async function checkUnitExists(unitId: number): Promise {\n const unit = await db.query.units.findFirst({\n where: eq(units.id, unitId),\n columns: { id: true },\n })\n\n return !!unit\n}\n\nexport async function getProductImagesById(productId: number): Promise {\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n columns: { images: true },\n })\n\n if (!product) {\n return null\n }\n\n return getStringArray(product.images) || []\n}\n\nexport interface CreateSpecialDealInput {\n quantity: number\n price: number\n validTill: string | Date\n}\n\nexport async function createSpecialDealsForProduct(\n productId: number,\n deals: CreateSpecialDealInput[]\n): Promise {\n if (deals.length === 0) {\n return []\n }\n\n const dealInserts = deals.map((deal) => ({\n productId,\n quantity: deal.quantity.toString(),\n price: deal.price.toString(),\n validTill: new Date(deal.validTill),\n }))\n\n const createdDeals = await db\n .insert(specialDeals)\n .values(dealInserts)\n .returning()\n\n return createdDeals.map(mapSpecialDeal)\n}\n\nexport async function updateProductDeals(\n productId: number,\n deals: CreateSpecialDealInput[]\n): Promise {\n if (deals.length === 0) {\n await db.delete(specialDeals).where(eq(specialDeals.productId, productId))\n return\n }\n\n const existingDeals = await db.query.specialDeals.findMany({\n where: eq(specialDeals.productId, productId),\n })\n\n const existingDealsMap = new Map(\n existingDeals.map((deal: SpecialDealRow) => [`${deal.quantity}-${deal.price}`, deal])\n )\n const newDealsMap = new Map(\n deals.map((deal) => [`${deal.quantity}-${deal.price}`, deal])\n )\n\n const dealsToAdd = deals.filter((deal) => {\n const key = `${deal.quantity}-${deal.price}`\n return !existingDealsMap.has(key)\n })\n\n const dealsToRemove = existingDeals.filter((deal: SpecialDealRow) => {\n const key = `${deal.quantity}-${deal.price}`\n return !newDealsMap.has(key)\n })\n\n const dealsToUpdate = deals.filter((deal: CreateSpecialDealInput) => {\n const key = `${deal.quantity}-${deal.price}`\n const existing = existingDealsMap.get(key)\n const nextValidTill = deal.validTill instanceof Date\n ? deal.validTill.toISOString().split('T')[0]\n : String(deal.validTill)\n return existing && existing.validTill.toISOString().split('T')[0] !== nextValidTill\n })\n\n if (dealsToRemove.length > 0) {\n await db.delete(specialDeals).where(\n inArray(specialDeals.id, dealsToRemove.map((deal: SpecialDealRow) => deal.id))\n )\n }\n\n if (dealsToAdd.length > 0) {\n const dealInserts = dealsToAdd.map((deal) => ({\n productId,\n quantity: deal.quantity.toString(),\n price: deal.price.toString(),\n validTill: new Date(deal.validTill),\n }))\n await db.insert(specialDeals).values(dealInserts)\n }\n\n for (const deal of dealsToUpdate) {\n const key = `${deal.quantity}-${deal.price}`\n const existingDeal = existingDealsMap.get(key)\n if (existingDeal) {\n await db.update(specialDeals)\n .set({ validTill: new Date(deal.validTill) })\n .where(eq(specialDeals.id, existingDeal.id))\n }\n }\n}\n\nexport async function replaceProductTags(productId: number, tagIds: number[]): Promise {\n await db.delete(productTags).where(eq(productTags.productId, productId))\n\n if (tagIds.length === 0) {\n return\n }\n\n const tagAssociations = tagIds.map((tagId) => ({\n productId,\n tagId,\n }))\n\n await db.insert(productTags).values(tagAssociations)\n}\n", "import { db } from '../db/db_index'\nimport {\n deliverySlotInfo,\n productSlots,\n productInfo,\n vendorSnippets,\n productGroupInfo,\n} from '../db/schema'\nimport { and, asc, desc, eq, gt, inArray } from 'drizzle-orm'\nimport type {\n AdminDeliverySlot,\n AdminSlotWithProducts,\n AdminSlotWithProductsAndSnippetsBase,\n AdminSlotCreateResult,\n AdminSlotUpdateResult,\n AdminVendorSnippet,\n AdminSlotProductSummary,\n AdminUpdateSlotCapacityResult,\n} from '@packages/shared'\nimport { coerceDate } from '../lib/date'\n\ntype SlotSnippetInput = {\n name: string\n productIds: number[]\n validTill?: string\n}\n\nconst getStringArray = (value: unknown): string[] | null => {\n if (!Array.isArray(value)) return null\n return value.map((item) => String(item))\n}\n\nconst getNumberArray = (value: unknown): number[] => {\n if (!Array.isArray(value)) return []\n return value.map((item) => Number(item))\n}\n\nconst normalizeProductIds = (value: unknown): number[] => {\n if (!Array.isArray(value)) return []\n const ids = value\n .map((item) => Number(item))\n .filter((item) => Number.isFinite(item))\n\n return Array.from(new Set(ids))\n}\n\nconst chunkArray = (items: T[], size: number): T[][] => {\n if (size <= 0) return [items]\n const chunks: T[][] = []\n for (let i = 0; i < items.length; i += size) {\n chunks.push(items.slice(i, i + size))\n }\n return chunks\n}\n\nconst PRODUCT_ID_CHUNK_SIZE = 40\nconst PRODUCT_SLOT_CHUNK_SIZE = 40\n\nconst fetchExistingProductIds = async (tx: any, productIds: number[]) => {\n const existingIds = new Set()\n const chunks = chunkArray(productIds, PRODUCT_ID_CHUNK_SIZE)\n for (const chunk of chunks) {\n if (chunk.length === 0) continue\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, chunk),\n columns: { id: true },\n })\n products.forEach((product: { id: number }) => existingIds.add(product.id))\n }\n return existingIds\n}\n\nconst mapDeliverySlot = (slot: typeof deliverySlotInfo.$inferSelect): AdminDeliverySlot => ({\n id: slot.id,\n deliveryTime: coerceDate(slot.deliveryTime) ?? new Date(0),\n freezeTime: coerceDate(slot.freezeTime) ?? new Date(0),\n isActive: slot.isActive,\n isFlash: slot.isFlash,\n isCapacityFull: slot.isCapacityFull,\n deliverySequence: slot.deliverySequence,\n groupIds: slot.groupIds,\n})\n\nconst mapSlotProductSummary = (product: { id: number; name: string; images: unknown }): AdminSlotProductSummary => ({\n id: product.id,\n name: product.name,\n images: getStringArray(product.images),\n})\n\nconst mapVendorSnippet = (snippet: typeof vendorSnippets.$inferSelect): AdminVendorSnippet => ({\n id: snippet.id,\n snippetCode: snippet.snippetCode,\n slotId: snippet.slotId ?? null,\n productIds: snippet.productIds || [],\n isPermanent: snippet.isPermanent,\n validTill: coerceDate(snippet.validTill),\n createdAt: coerceDate(snippet.createdAt) ?? new Date(0),\n})\n\nexport async function getActiveSlotsWithProducts(): Promise {\n const slots = await db.query.deliverySlotInfo\n .findMany({\n where: eq(deliverySlotInfo.isActive, true),\n orderBy: desc(deliverySlotInfo.deliveryTime),\n with: {\n productSlots: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n },\n })\n\n return slots.map((slot: any) => ({\n ...mapDeliverySlot(slot),\n deliverySequence: getNumberArray(slot.deliverySequence),\n products: slot.productSlots.map((ps: any) => mapSlotProductSummary(ps.product)),\n }))\n}\n\nexport async function getActiveSlots(): Promise {\n const slots = await db.query.deliverySlotInfo.findMany({\n where: eq(deliverySlotInfo.isActive, true),\n })\n\n return slots.map(mapDeliverySlot)\n}\n\nexport async function getSlotsAfterDate(afterDate: Date): Promise {\n const slots = await db.query.deliverySlotInfo.findMany({\n where: and(\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, afterDate)\n ),\n orderBy: asc(deliverySlotInfo.deliveryTime),\n })\n\n return slots.map(mapDeliverySlot)\n}\n\nexport async function getSlotByIdWithRelations(id: number): Promise {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, id),\n with: {\n productSlots: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n vendorSnippets: true,\n },\n })\n\n if (!slot) {\n return null\n }\n\n return {\n ...mapDeliverySlot(slot),\n deliverySequence: getNumberArray(slot.deliverySequence),\n groupIds: getNumberArray(slot.groupIds),\n products: slot.productSlots.map((ps: any) => mapSlotProductSummary(ps.product)),\n vendorSnippets: slot.vendorSnippets.map(mapVendorSnippet),\n }\n}\n\nexport async function createSlotWithRelations(input: {\n deliveryTime: string\n freezeTime: string\n isActive?: boolean\n productIds?: number[]\n vendorSnippets?: SlotSnippetInput[]\n groupIds?: number[]\n}): Promise {\n const { deliveryTime, freezeTime, isActive, productIds, vendorSnippets: snippets, groupIds } = input\n\n const result = await db.transaction(async (tx) => {\n const [newSlot] = await tx\n .insert(deliverySlotInfo)\n .values({\n deliveryTime: new Date(deliveryTime),\n freezeTime: new Date(freezeTime),\n isActive: isActive !== undefined ? isActive : true,\n groupIds: groupIds !== undefined ? groupIds : [],\n })\n .returning()\n\n const normalizedProductIds = normalizeProductIds(productIds)\n if (productIds && normalizedProductIds.length > 0) {\n const existingIds = await fetchExistingProductIds(tx, normalizedProductIds)\n const missingIds = normalizedProductIds.filter((productId) => !existingIds.has(productId))\n if (missingIds.length > 0) {\n throw new Error(`Invalid product IDs: ${missingIds.join(', ')}`)\n }\n\n const associations = normalizedProductIds.map((productId) => ({\n productId,\n slotId: newSlot.id,\n }))\n const associationChunks = chunkArray(associations, PRODUCT_SLOT_CHUNK_SIZE)\n for (const chunk of associationChunks) {\n await tx.insert(productSlots).values(chunk)\n }\n }\n\n let createdSnippets: AdminVendorSnippet[] = []\n if (snippets && snippets.length > 0) {\n for (const snippet of snippets) {\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n })\n if (products.length !== snippet.productIds.length) {\n throw new Error(`One or more invalid product IDs in snippet \"${snippet.name}\"`)\n }\n\n const existingSnippet = await tx.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippet.name),\n })\n if (existingSnippet) {\n throw new Error(`Snippet name \"${snippet.name}\" already exists`)\n }\n\n const [createdSnippet] = await tx.insert(vendorSnippets).values({\n snippetCode: snippet.name,\n slotId: newSlot.id,\n productIds: snippet.productIds,\n validTill: snippet.validTill ? new Date(snippet.validTill) : undefined,\n }).returning()\n\n createdSnippets.push(mapVendorSnippet(createdSnippet))\n }\n }\n\n return {\n slot: mapDeliverySlot(newSlot),\n createdSnippets,\n message: 'Slot created successfully',\n }\n })\n\n return result\n}\n\nexport async function updateSlotWithRelations(input: {\n id: number\n deliveryTime: string\n freezeTime: string\n isActive?: boolean\n productIds?: number[]\n vendorSnippets?: SlotSnippetInput[]\n groupIds?: number[]\n}): Promise {\n const { id, deliveryTime, freezeTime, isActive, productIds, vendorSnippets: snippets, groupIds } = input\n\n let validGroupIds = groupIds\n if (groupIds && groupIds.length > 0) {\n const existingGroups = await db.query.productGroupInfo.findMany({\n where: inArray(productGroupInfo.id, groupIds),\n columns: { id: true },\n })\n validGroupIds = existingGroups.map((group: { id: number }) => group.id)\n }\n\n const result = await db.transaction(async (tx) => {\n const [updatedSlot] = await tx\n .update(deliverySlotInfo)\n .set({\n deliveryTime: new Date(deliveryTime),\n freezeTime: new Date(freezeTime),\n isActive: isActive !== undefined ? isActive : true,\n groupIds: validGroupIds !== undefined ? validGroupIds : [],\n })\n .where(eq(deliverySlotInfo.id, id))\n .returning()\n\n if (!updatedSlot) {\n return null\n }\n\n if (productIds !== undefined) {\n await tx.delete(productSlots).where(eq(productSlots.slotId, id))\n\n const normalizedProductIds = normalizeProductIds(productIds)\n if (productIds.length > 0 && normalizedProductIds.length > 0) {\n const existingIds = await fetchExistingProductIds(tx, normalizedProductIds)\n const missingIds = normalizedProductIds.filter((productId) => !existingIds.has(productId))\n if (missingIds.length > 0) {\n throw new Error(`Invalid product IDs: ${missingIds.join(', ')}`)\n }\n\n const associations = normalizedProductIds.map((productId) => ({\n productId,\n slotId: id,\n }))\n const associationChunks = chunkArray(associations, PRODUCT_SLOT_CHUNK_SIZE)\n for (const chunk of associationChunks) {\n await tx.insert(productSlots).values(chunk)\n }\n }\n }\n\n let createdSnippets: AdminVendorSnippet[] = []\n if (snippets && snippets.length > 0) {\n for (const snippet of snippets) {\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n })\n if (products.length !== snippet.productIds.length) {\n throw new Error(`One or more invalid product IDs in snippet \"${snippet.name}\"`)\n }\n\n const existingSnippet = await tx.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippet.name),\n })\n if (existingSnippet) {\n throw new Error(`Snippet name \"${snippet.name}\" already exists`)\n }\n\n const [createdSnippet] = await tx.insert(vendorSnippets).values({\n snippetCode: snippet.name,\n slotId: id,\n productIds: snippet.productIds,\n validTill: snippet.validTill ? new Date(snippet.validTill) : undefined,\n }).returning()\n\n createdSnippets.push(mapVendorSnippet(createdSnippet))\n }\n }\n\n return {\n slot: mapDeliverySlot(updatedSlot),\n createdSnippets,\n message: 'Slot updated successfully',\n }\n })\n\n return result\n}\n\nexport async function deleteSlotById(id: number): Promise {\n const [deletedSlot] = await db\n .update(deliverySlotInfo)\n .set({ isActive: false })\n .where(eq(deliverySlotInfo.id, id))\n .returning()\n\n if (!deletedSlot) {\n return null\n }\n\n return mapDeliverySlot(deletedSlot)\n}\n\nexport async function getSlotDeliverySequence(slotId: number): Promise {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n })\n\n if (!slot) {\n return null\n }\n\n return mapDeliverySlot(slot)\n}\n\nexport async function updateSlotDeliverySequence(slotId: number, sequence: unknown) {\n const [updatedSlot] = await db\n .update(deliverySlotInfo)\n .set({ deliverySequence: sequence as Record })\n .where(eq(deliverySlotInfo.id, slotId))\n .returning({\n id: deliverySlotInfo.id,\n deliverySequence: deliverySlotInfo.deliverySequence,\n })\n\n return updatedSlot || null\n}\n\nexport async function updateSlotCapacity(slotId: number, isCapacityFull: boolean): Promise {\n const [updatedSlot] = await db\n .update(deliverySlotInfo)\n .set({ isCapacityFull })\n .where(eq(deliverySlotInfo.id, slotId))\n .returning()\n\n if (!updatedSlot) {\n return null\n }\n\n return {\n success: true,\n slot: mapDeliverySlot(updatedSlot),\n message: `Slot ${isCapacityFull ? 'marked as full capacity' : 'capacity reset'}`,\n }\n}\n", "import { db } from '../db/db_index'\nimport { staffUsers, staffRoles, users, userDetails, orders } from '../db/schema'\nimport { eq, or, like, and, lt, desc } from 'drizzle-orm'\n\nexport interface StaffUser {\n id: number\n name: string\n password: string\n staffRoleId: number | null\n createdAt: Date\n}\n\nexport async function getStaffUserByName(name: string): Promise {\n const staff = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.name, name),\n })\n\n return staff || null\n}\n\nexport async function getStaffUserById(staffId: number): Promise {\n const staff = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.id, staffId),\n })\n\n return staff || null\n}\n\nexport async function getAllStaff(): Promise {\n const staff = await db.query.staffUsers.findMany({\n columns: {\n id: true,\n name: true,\n },\n with: {\n role: {\n with: {\n rolePermissions: {\n with: {\n permission: true,\n },\n },\n },\n },\n },\n })\n\n return staff\n}\n\nexport async function getAllUsers(\n cursor?: number,\n limit: number = 20,\n search?: string\n): Promise<{ users: any[]; hasMore: boolean }> {\n let whereCondition = undefined\n\n if (search) {\n whereCondition = or(\n like(users.name, `%${search}%`),\n like(users.email, `%${search}%`),\n like(users.mobile, `%${search}%`)\n )\n }\n\n if (cursor) {\n const cursorCondition = lt(users.id, cursor)\n whereCondition = whereCondition ? and(whereCondition, cursorCondition) : cursorCondition\n }\n\n const allUsers = await db.query.users.findMany({\n where: whereCondition,\n with: {\n userDetails: true,\n },\n orderBy: desc(users.id),\n limit: limit + 1,\n })\n\n const hasMore = allUsers.length > limit\n const usersToReturn = hasMore ? allUsers.slice(0, limit) : allUsers\n\n return { users: usersToReturn, hasMore }\n}\n\nexport async function getUserWithDetails(userId: number): Promise {\n const user = await db.query.users.findFirst({\n where: eq(users.id, userId),\n with: {\n userDetails: true,\n orders: {\n orderBy: desc(orders.createdAt),\n limit: 1,\n },\n },\n })\n\n return user || null\n}\n\nexport async function updateUserSuspensionStatus(userId: number, isSuspended: boolean): Promise {\n await db\n .insert(userDetails)\n .values({ userId, isSuspended })\n .onConflictDoUpdate({\n target: userDetails.userId,\n set: { isSuspended },\n })\n}\n\nexport async function checkStaffUserExists(name: string): Promise {\n const existingUser = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.name, name),\n })\n return !!existingUser\n}\n\nexport async function checkStaffRoleExists(roleId: number): Promise {\n const role = await db.query.staffRoles.findFirst({\n where: eq(staffRoles.id, roleId),\n })\n return !!role\n}\n\nexport async function createStaffUser(\n name: string,\n password: string,\n roleId: number\n): Promise {\n const [newUser] = await db.insert(staffUsers).values({\n name: name.trim(),\n password,\n staffRoleId: roleId,\n }).returning()\n\n return {\n id: newUser.id,\n name: newUser.name,\n password: newUser.password,\n staffRoleId: newUser.staffRoleId,\n createdAt: newUser.createdAt,\n }\n}\n\nexport async function getAllRoles(): Promise {\n const roles = await db.query.staffRoles.findMany({\n columns: {\n id: true,\n roleName: true,\n },\n })\n\n return roles\n}\n", "import { db } from '../db/db_index'\nimport { storeInfo, productInfo } from '../db/schema'\nimport { eq, inArray } from 'drizzle-orm'\n\nexport interface Store {\n id: number\n name: string\n description: string | null\n imageUrl: string | null\n owner: number\n createdAt: Date\n // updatedAt: Date\n}\n\nexport async function getAllStores(): Promise {\n const stores = await db.query.storeInfo.findMany({\n with: {\n owner: true,\n },\n })\n\n return stores\n}\n\nexport async function getStoreById(id: number): Promise {\n const store = await db.query.storeInfo.findFirst({\n where: eq(storeInfo.id, id),\n with: {\n owner: true,\n },\n })\n\n return store || null\n}\n\nexport interface CreateStoreInput {\n name: string\n description?: string\n imageUrl?: string\n owner: number\n}\n\nexport async function createStore(\n input: CreateStoreInput,\n products?: number[]\n): Promise {\n const [newStore] = await db\n .insert(storeInfo)\n .values({\n name: input.name,\n description: input.description,\n imageUrl: input.imageUrl,\n owner: input.owner,\n })\n .returning()\n\n if (products && products.length > 0) {\n await db\n .update(productInfo)\n .set({ storeId: newStore.id })\n .where(inArray(productInfo.id, products))\n }\n\n return {\n id: newStore.id,\n name: newStore.name,\n description: newStore.description,\n imageUrl: newStore.imageUrl,\n owner: newStore.owner,\n createdAt: newStore.createdAt,\n // updatedAt: newStore.updatedAt,\n }\n}\n\nexport interface UpdateStoreInput {\n name?: string\n description?: string\n imageUrl?: string\n owner?: number\n}\n\nexport async function updateStore(\n id: number,\n input: UpdateStoreInput,\n products?: number[]\n): Promise {\n const [updatedStore] = await db\n .update(storeInfo)\n .set({\n ...input,\n // updatedAt: new Date(),\n })\n .where(eq(storeInfo.id, id))\n .returning()\n\n if (!updatedStore) {\n throw new Error('Store not found')\n }\n\n if (products !== undefined) {\n await db\n .update(productInfo)\n .set({ storeId: null })\n .where(eq(productInfo.storeId, id))\n\n if (products.length > 0) {\n await db\n .update(productInfo)\n .set({ storeId: id })\n .where(inArray(productInfo.id, products))\n }\n }\n\n return {\n id: updatedStore.id,\n name: updatedStore.name,\n description: updatedStore.description,\n imageUrl: updatedStore.imageUrl,\n owner: updatedStore.owner,\n createdAt: updatedStore.createdAt,\n // updatedAt: updatedStore.updatedAt,\n }\n}\n\nexport async function deleteStore(id: number): Promise<{ message: string }> {\n return await db.transaction(async (tx) => {\n await tx\n .update(productInfo)\n .set({ storeId: null })\n .where(eq(productInfo.storeId, id))\n\n const [deletedStore] = await tx\n .delete(storeInfo)\n .where(eq(storeInfo.id, id))\n .returning()\n\n if (!deletedStore) {\n throw new Error('Store not found')\n }\n\n return {\n message: 'Store deleted successfully',\n }\n })\n}\n", "import { db } from '../db/db_index'\nimport { users, userDetails, orders, orderItems, complaints, notifCreds, unloggedUserTokens, userIncidents, orderStatus } from '../db/schema'\nimport { eq, sql, desc, asc, count, max, inArray } from 'drizzle-orm'\n\nexport async function createUserByMobile(mobile: string): Promise {\n const [newUser] = await db\n .insert(users)\n .values({\n name: null,\n email: null,\n mobile,\n })\n .returning()\n\n return newUser\n}\n\nexport async function getUserByMobile(mobile: string): Promise {\n const [existingUser] = await db\n .select()\n .from(users)\n .where(eq(users.mobile, mobile))\n .limit(1)\n\n return existingUser || null\n}\n\nexport async function getUnresolvedComplaintsCount(): Promise {\n const result = await db\n .select({ count: count(complaints.id) })\n .from(complaints)\n .where(eq(complaints.isResolved, false))\n \n return result[0]?.count || 0\n}\n\nexport async function getAllUsersWithFilters(\n limit: number,\n cursor?: number,\n search?: string\n): Promise<{ users: any[]; hasMore: boolean }> {\n const whereConditions = []\n \n if (search && search.trim()) {\n whereConditions.push(sql`${users.mobile} LIKE ${`%${search.trim()}%`}`)\n }\n \n if (cursor) {\n whereConditions.push(sql`${users.id} > ${cursor}`)\n }\n\n const usersList = await db\n .select({\n id: users.id,\n name: users.name,\n mobile: users.mobile,\n createdAt: users.createdAt,\n })\n .from(users)\n .where(whereConditions.length > 0 ? sql.join(whereConditions, sql` AND `) : undefined)\n .orderBy(asc(users.id))\n .limit(limit + 1)\n\n const hasMore = usersList.length > limit\n const usersToReturn = hasMore ? usersList.slice(0, limit) : usersList\n\n return { users: usersToReturn, hasMore }\n}\n\nexport async function getOrderCountsByUserIds(userIds: number[]): Promise<{ userId: number; totalOrders: number }[]> {\n if (userIds.length === 0) return []\n \n return await db\n .select({\n userId: orders.userId,\n totalOrders: count(orders.id),\n })\n .from(orders)\n .where(sql`${orders.userId} IN (${sql.join(userIds, sql`, `)})`)\n .groupBy(orders.userId)\n}\n\nexport async function getLastOrdersByUserIds(userIds: number[]): Promise<{ userId: number; lastOrderDate: Date | null }[]> {\n if (userIds.length === 0) return []\n \n return await db\n .select({\n userId: orders.userId,\n lastOrderDate: max(orders.createdAt),\n })\n .from(orders)\n .where(sql`${orders.userId} IN (${sql.join(userIds, sql`, `)})`)\n .groupBy(orders.userId)\n}\n\nexport async function getSuspensionStatusesByUserIds(userIds: number[]): Promise<{ userId: number; isSuspended: boolean }[]> {\n if (userIds.length === 0) return []\n \n return await db\n .select({\n userId: userDetails.userId,\n isSuspended: userDetails.isSuspended,\n })\n .from(userDetails)\n .where(sql`${userDetails.userId} IN (${sql.join(userIds, sql`, `)})`)\n}\n\nexport async function getUserBasicInfo(userId: number): Promise {\n const user = await db\n .select({\n id: users.id,\n name: users.name,\n mobile: users.mobile,\n createdAt: users.createdAt,\n })\n .from(users)\n .where(eq(users.id, userId))\n .limit(1)\n\n return user[0] || null\n}\n\nexport async function getUserSuspensionStatus(userId: number): Promise {\n const userDetail = await db\n .select({\n isSuspended: userDetails.isSuspended,\n })\n .from(userDetails)\n .where(eq(userDetails.userId, userId))\n .limit(1)\n\n return userDetail[0]?.isSuspended ?? false\n}\n\nexport async function getUserOrders(userId: number): Promise {\n return await db\n .select({\n id: orders.id,\n readableId: orders.readableId,\n totalAmount: orders.totalAmount,\n createdAt: orders.createdAt,\n isFlashDelivery: orders.isFlashDelivery,\n })\n .from(orders)\n .where(eq(orders.userId, userId))\n .orderBy(desc(orders.createdAt))\n}\n\nexport async function getOrderStatusesByOrderIds(orderIds: number[]): Promise<{ orderId: number; isDelivered: boolean; isCancelled: boolean }[]> {\n if (orderIds.length === 0) return []\n \n return await db\n .select({\n orderId: orderStatus.orderId,\n isDelivered: orderStatus.isDelivered,\n isCancelled: orderStatus.isCancelled,\n })\n .from(orderStatus)\n .where(sql`${orderStatus.orderId} IN (${sql.join(orderIds, sql`, `)})`)\n}\n\nexport async function getItemCountsByOrderIds(orderIds: number[]): Promise<{ orderId: number; itemCount: number }[]> {\n if (orderIds.length === 0) return []\n \n return await db\n .select({\n orderId: orderItems.orderId,\n itemCount: count(orderItems.id),\n })\n .from(orderItems)\n .where(sql`${orderItems.orderId} IN (${sql.join(orderIds, sql`, `)})`)\n .groupBy(orderItems.orderId)\n}\n\nexport async function upsertUserSuspension(userId: number, isSuspended: boolean): Promise {\n const existingDetail = await db\n .select({ id: userDetails.id })\n .from(userDetails)\n .where(eq(userDetails.userId, userId))\n .limit(1)\n\n if (existingDetail.length > 0) {\n await db\n .update(userDetails)\n .set({ isSuspended })\n .where(eq(userDetails.userId, userId))\n } else {\n await db\n .insert(userDetails)\n .values({\n userId,\n isSuspended,\n })\n }\n}\n\nexport async function searchUsers(search?: string): Promise {\n if (search && search.trim()) {\n return await db\n .select({\n id: users.id,\n name: users.name,\n mobile: users.mobile,\n })\n .from(users)\n .where(sql`${users.mobile} LIKE ${`%${search.trim()}%`} OR ${users.name} LIKE ${`%${search.trim()}%`}`)\n } else {\n return await db\n .select({\n id: users.id,\n name: users.name,\n mobile: users.mobile,\n })\n .from(users)\n }\n}\n\nexport async function getAllNotifCreds(): Promise<{ userId: number, token: string }[]> {\n return await db\n .select({ userId: notifCreds.userId, token: notifCreds.token })\n .from(notifCreds)\n}\n\nexport async function getAllUnloggedTokens(): Promise<{ token: string }[]> {\n return await db\n .select({ token: unloggedUserTokens.token })\n .from(unloggedUserTokens)\n}\n\nexport async function getNotifTokensByUserIds(userIds: number[]): Promise<{ token: string }[]> {\n return await db\n .select({ token: notifCreds.token })\n .from(notifCreds)\n .where(inArray(notifCreds.userId, userIds))\n}\n\nexport async function getUserIncidentsWithRelations(userId: number): Promise {\n return await db.query.userIncidents.findMany({\n where: eq(userIncidents.userId, userId),\n with: {\n order: {\n with: {\n orderStatus: true,\n },\n },\n addedBy: true,\n },\n orderBy: desc(userIncidents.dateAdded),\n })\n}\n\nexport async function createUserIncident(\n userId: number,\n orderId: number | undefined,\n adminComment: string | undefined,\n adminUserId: number,\n negativityScore: number | undefined\n): Promise {\n const [incident] = await db.insert(userIncidents)\n .values({\n userId,\n orderId,\n adminComment,\n addedBy: adminUserId,\n negativityScore,\n })\n .returning()\n\n return incident\n}\n", "import { db } from '../db/db_index'\nimport { vendorSnippets, deliverySlotInfo, productInfo, orders, orderItems, orderStatus } from '../db/schema'\nimport { desc, eq, inArray } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type {\n AdminDeliverySlot,\n AdminVendorSnippet,\n AdminVendorSnippetWithSlot,\n AdminVendorSnippetProduct,\n AdminVendorUpdatePackagingResult,\n} from '@packages/shared'\nimport { coerceDate } from '../lib/date'\n\ntype VendorSnippetRow = InferSelectModel\ntype DeliverySlotRow = InferSelectModel\ntype ProductRow = InferSelectModel\n\nconst mapVendorSnippet = (snippet: VendorSnippetRow): AdminVendorSnippet => ({\n id: snippet.id,\n snippetCode: snippet.snippetCode,\n slotId: snippet.slotId ?? null,\n productIds: snippet.productIds || [],\n isPermanent: snippet.isPermanent,\n validTill: coerceDate(snippet.validTill),\n createdAt: coerceDate(snippet.createdAt) ?? new Date(0),\n})\n\nconst mapDeliverySlot = (slot: DeliverySlotRow): AdminDeliverySlot => ({\n id: slot.id,\n deliveryTime: coerceDate(slot.deliveryTime) ?? new Date(0),\n freezeTime: coerceDate(slot.freezeTime) ?? new Date(0),\n isActive: slot.isActive,\n isFlash: slot.isFlash,\n isCapacityFull: slot.isCapacityFull,\n deliverySequence: slot.deliverySequence,\n groupIds: slot.groupIds,\n})\n\nconst mapProductSummary = (product: { id: number; name: string }): AdminVendorSnippetProduct => ({\n id: product.id,\n name: product.name,\n})\n\nexport async function checkVendorSnippetExists(snippetCode: string): Promise {\n const existingSnippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n })\n return !!existingSnippet\n}\n\nexport async function getVendorSnippetById(id: number): Promise {\n const snippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.id, id),\n with: {\n slot: true,\n },\n })\n\n if (!snippet) {\n return null\n }\n\n return {\n ...mapVendorSnippet(snippet),\n slot: snippet.slot ? mapDeliverySlot(snippet.slot) : null,\n }\n}\n\nexport async function getVendorSnippetByCode(snippetCode: string): Promise {\n const snippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n })\n\n return snippet ? mapVendorSnippet(snippet) : null\n}\n\nexport async function getAllVendorSnippets(): Promise {\n const snippets = await db.query.vendorSnippets.findMany({\n with: {\n slot: true,\n },\n orderBy: desc(vendorSnippets.createdAt),\n })\n\n return snippets.map((snippet: VendorSnippetRow & { slot: DeliverySlotRow | null }) => ({\n ...mapVendorSnippet(snippet),\n slot: snippet.slot ? mapDeliverySlot(snippet.slot) : null,\n }))\n}\n\nexport async function createVendorSnippet(input: {\n snippetCode: string\n slotId?: number\n productIds: number[]\n isPermanent: boolean\n validTill?: Date\n}): Promise {\n const [result] = await db.insert(vendorSnippets).values({\n snippetCode: input.snippetCode,\n slotId: input.slotId,\n productIds: input.productIds,\n isPermanent: input.isPermanent,\n validTill: input.validTill,\n }).returning()\n\n return mapVendorSnippet(result)\n}\n\nexport async function updateVendorSnippet(id: number, updates: {\n snippetCode?: string\n slotId?: number | null\n productIds?: number[]\n isPermanent?: boolean\n validTill?: Date | null\n}): Promise {\n const [result] = await db.update(vendorSnippets)\n .set(updates)\n .where(eq(vendorSnippets.id, id))\n .returning()\n\n return result ? mapVendorSnippet(result) : null\n}\n\nexport async function deleteVendorSnippet(id: number): Promise {\n const [result] = await db.delete(vendorSnippets)\n .where(eq(vendorSnippets.id, id))\n .returning()\n\n return result ? mapVendorSnippet(result) : null\n}\n\nexport async function getProductsByIds(productIds: number[]): Promise {\n const products = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, productIds),\n columns: { id: true, name: true },\n })\n\n const prods = products.map(mapProductSummary)\n return prods\n}\n\nexport async function getVendorSlotById(slotId: number): Promise {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n })\n\n return slot ? mapDeliverySlot(slot) : null\n}\n\nexport async function getVendorOrdersBySlotId(slotId: number) {\n return await db.query.orders.findMany({\n where: eq(orders.slotId, slotId),\n with: {\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n user: true,\n slot: true,\n },\n orderBy: desc(orders.createdAt),\n })\n}\n\nexport async function getVendorOrders() {\n return await db.query.orders.findMany({\n with: {\n user: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n },\n orderBy: desc(orders.createdAt),\n })\n}\n\nexport async function getOrderItemsByOrderIds(orderIds: number[]) {\n return await db.query.orderItems.findMany({\n where: inArray(orderItems.orderId, orderIds),\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n })\n}\n\nexport async function getOrderStatusByOrderIds(orderIds: number[]) {\n return await db.query.orderStatus.findMany({\n where: inArray(orderStatus.orderId, orderIds),\n })\n}\n\nexport async function updateVendorOrderItemPackaging(\n orderItemId: number,\n isPackaged: boolean\n): Promise {\n const orderItem = await db.query.orderItems.findFirst({\n where: eq(orderItems.id, orderItemId),\n with: {\n order: {\n with: {\n slot: true,\n },\n },\n },\n })\n\n if (!orderItem) {\n return { success: false, message: 'Order item not found' }\n }\n\n if (!orderItem.order.slotId) {\n return { success: false, message: 'Order item not associated with a vendor slot' }\n }\n\n const snippetExists = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.slotId, orderItem.order.slotId),\n })\n\n if (!snippetExists) {\n return { success: false, message: \"No vendor snippet found for this order's slot\" }\n }\n\n const [updatedItem] = await db.update(orderItems)\n .set({\n is_packaged: isPackaged,\n })\n .where(eq(orderItems.id, orderItemId))\n .returning({ id: orderItems.id })\n\n if (!updatedItem) {\n return { success: false, message: 'Failed to update packaging status' }\n }\n\n return { success: true, orderItemId, is_packaged: isPackaged }\n}\n", "import { db } from '../db/db_index'\nimport { addresses, deliverySlotInfo, orders, orderStatus } from '../db/schema'\nimport { and, eq, gte } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserAddress } from '@packages/shared'\n\ntype AddressRow = InferSelectModel\n\nconst mapUserAddress = (address: AddressRow): UserAddress => ({\n id: address.id,\n userId: address.userId,\n name: address.name,\n phone: address.phone,\n addressLine1: address.addressLine1,\n addressLine2: address.addressLine2 ?? null,\n city: address.city,\n state: address.state,\n pincode: address.pincode,\n isDefault: address.isDefault,\n latitude: address.latitude ?? null,\n longitude: address.longitude ?? null,\n googleMapsUrl: address.googleMapsUrl ?? null,\n adminLatitude: address.adminLatitude ?? null,\n adminLongitude: address.adminLongitude ?? null,\n zoneId: address.zoneId ?? null,\n createdAt: address.createdAt,\n})\n\nexport async function getDefaultAddress(userId: number): Promise {\n const [defaultAddress] = await db\n .select()\n .from(addresses)\n .where(and(eq(addresses.userId, userId), eq(addresses.isDefault, true)))\n .limit(1)\n\n return defaultAddress ? mapUserAddress(defaultAddress) : null\n}\n\nexport async function getUserAddresses(userId: number): Promise {\n const userAddresses = await db.select().from(addresses).where(eq(addresses.userId, userId))\n return userAddresses.map(mapUserAddress)\n}\n\nexport async function getUserAddressById(userId: number, addressId: number): Promise {\n const [address] = await db\n .select()\n .from(addresses)\n .where(and(eq(addresses.id, addressId), eq(addresses.userId, userId)))\n .limit(1)\n\n return address ? mapUserAddress(address) : null\n}\n\nexport async function clearDefaultAddress(userId: number): Promise {\n await db.update(addresses).set({ isDefault: false }).where(eq(addresses.userId, userId))\n}\n\nexport async function createUserAddress(input: {\n userId: number\n name: string\n phone: string\n addressLine1: string\n addressLine2?: string\n city: string\n state: string\n pincode: string\n isDefault: boolean\n latitude?: number\n longitude?: number\n googleMapsUrl?: string\n}): Promise {\n const [newAddress] = await db.insert(addresses).values({\n userId: input.userId,\n name: input.name,\n phone: input.phone,\n addressLine1: input.addressLine1,\n addressLine2: input.addressLine2,\n city: input.city,\n state: input.state,\n pincode: input.pincode,\n isDefault: input.isDefault,\n latitude: input.latitude,\n longitude: input.longitude,\n googleMapsUrl: input.googleMapsUrl,\n }).returning()\n\n return mapUserAddress(newAddress)\n}\n\nexport async function updateUserAddress(input: {\n userId: number\n addressId: number\n name: string\n phone: string\n addressLine1: string\n addressLine2?: string\n city: string\n state: string\n pincode: string\n isDefault: boolean\n latitude?: number\n longitude?: number\n googleMapsUrl?: string\n}): Promise {\n const [updatedAddress] = await db.update(addresses)\n .set({\n name: input.name,\n phone: input.phone,\n addressLine1: input.addressLine1,\n addressLine2: input.addressLine2,\n city: input.city,\n state: input.state,\n pincode: input.pincode,\n isDefault: input.isDefault,\n googleMapsUrl: input.googleMapsUrl,\n latitude: input.latitude,\n longitude: input.longitude,\n })\n .where(and(eq(addresses.id, input.addressId), eq(addresses.userId, input.userId)))\n .returning()\n\n return updatedAddress ? mapUserAddress(updatedAddress) : null\n}\n\nexport async function deleteUserAddress(userId: number, addressId: number): Promise {\n const [deleted] = await db.delete(addresses)\n .where(and(eq(addresses.id, addressId), eq(addresses.userId, userId)))\n .returning({ id: addresses.id })\n\n return !!deleted\n}\n\nexport async function hasOngoingOrdersForAddress(addressId: number): Promise {\n const ongoingOrders = await db.select({\n orderId: orders.id,\n })\n .from(orders)\n .innerJoin(orderStatus, eq(orders.id, orderStatus.orderId))\n .innerJoin(deliverySlotInfo, eq(orders.slotId, deliverySlotInfo.id))\n .where(and(\n eq(orders.addressId, addressId),\n eq(orderStatus.isCancelled, false),\n gte(deliverySlotInfo.deliveryTime, new Date())\n ))\n .limit(1)\n\n return ongoingOrders.length > 0\n}\n", "import { db } from '../db/db_index'\nimport { homeBanners } from '../db/schema'\nimport { asc, isNotNull } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserBanner } from '@packages/shared'\n\ntype BannerRow = InferSelectModel\n\nconst mapBanner = (banner: BannerRow): UserBanner => ({\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description ?? null,\n productIds: banner.productIds ?? null,\n redirectUrl: banner.redirectUrl ?? null,\n serialNum: banner.serialNum ?? null,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n})\n\nexport async function getActiveBanners(): Promise {\n const banners = await db.query.homeBanners.findMany({\n where: isNotNull(homeBanners.serialNum),\n orderBy: asc(homeBanners.serialNum),\n })\n\n return banners.map(mapBanner)\n}\n", "import { db } from '../db/db_index'\nimport { cartItems, productInfo, units } from '../db/schema'\nimport { and, eq, sql } from 'drizzle-orm'\nimport type { UserCartItem } from '@packages/shared'\n\nconst getStringArray = (value: unknown): string[] => {\n if (!Array.isArray(value)) return []\n return value.map((item) => String(item))\n}\n\nexport async function getCartItemsWithProducts(userId: number): Promise {\n const cartItemsWithProducts = await db\n .select({\n cartId: cartItems.id,\n productId: productInfo.id,\n productName: productInfo.name,\n productPrice: productInfo.price,\n productImages: productInfo.images,\n productQuantity: productInfo.productQuantity,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n quantity: cartItems.quantity,\n addedAt: cartItems.addedAt,\n })\n .from(cartItems)\n .innerJoin(productInfo, eq(cartItems.productId, productInfo.id))\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(eq(cartItems.userId, userId))\n\n return cartItemsWithProducts.map((item) => {\n const priceValue = item.productPrice ?? '0'\n const quantityValue = item.quantity ?? '0'\n return {\n id: item.cartId,\n productId: item.productId,\n quantity: parseFloat(quantityValue),\n addedAt: item.addedAt,\n product: {\n id: item.productId,\n name: item.productName,\n price: priceValue.toString(),\n productQuantity: item.productQuantity,\n unit: item.unitShortNotation,\n isOutOfStock: item.isOutOfStock,\n images: getStringArray(item.productImages),\n },\n subtotal: parseFloat(priceValue.toString()) * parseFloat(quantityValue),\n }\n })\n}\n\nexport async function getProductById(productId: number) {\n return db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n })\n}\n\nexport async function getCartItemByUserProduct(userId: number, productId: number) {\n return db.query.cartItems.findFirst({\n where: and(eq(cartItems.userId, userId), eq(cartItems.productId, productId)),\n })\n}\n\nexport async function incrementCartItemQuantity(itemId: number, quantity: number): Promise {\n await db.update(cartItems)\n .set({\n quantity: sql`${cartItems.quantity} + ${quantity}`,\n })\n .where(eq(cartItems.id, itemId))\n}\n\nexport async function insertCartItem(userId: number, productId: number, quantity: number): Promise {\n await db.insert(cartItems).values({\n userId,\n productId,\n quantity: quantity.toString(),\n })\n}\n\nexport async function updateCartItemQuantity(userId: number, itemId: number, quantity: number) {\n const [updatedItem] = await db.update(cartItems)\n .set({ quantity: quantity.toString() })\n .where(and(eq(cartItems.id, itemId), eq(cartItems.userId, userId)))\n .returning({ id: cartItems.id })\n\n return !!updatedItem\n}\n\nexport async function deleteCartItem(userId: number, itemId: number): Promise {\n const [deletedItem] = await db.delete(cartItems)\n .where(and(eq(cartItems.id, itemId), eq(cartItems.userId, userId)))\n .returning({ id: cartItems.id })\n\n return !!deletedItem\n}\n\nexport async function clearUserCart(userId: number): Promise {\n await db.delete(cartItems).where(eq(cartItems.userId, userId))\n}\n", "import { db } from '../db/db_index'\nimport { complaints } from '../db/schema'\nimport { asc, eq } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserComplaint } from '@packages/shared'\n\ntype ComplaintRow = InferSelectModel\n\nexport async function getUserComplaints(userId: number): Promise {\n const userComplaints = await db\n .select({\n id: complaints.id,\n complaintBody: complaints.complaintBody,\n response: complaints.response,\n isResolved: complaints.isResolved,\n createdAt: complaints.createdAt,\n orderId: complaints.orderId,\n })\n .from(complaints)\n .where(eq(complaints.userId, userId))\n .orderBy(asc(complaints.createdAt))\n\n return userComplaints.map((complaint) => ({\n id: complaint.id,\n complaintBody: complaint.complaintBody,\n response: complaint.response ?? null,\n isResolved: complaint.isResolved,\n createdAt: complaint.createdAt,\n orderId: complaint.orderId ?? null,\n }))\n}\n\nexport async function createComplaint(\n userId: number,\n orderId: number | null,\n complaintBody: string,\n images?: string[] | null\n): Promise {\n await db.insert(complaints).values({\n userId,\n orderId,\n complaintBody,\n images: images || null,\n })\n}\n", "import { db } from '../db/db_index'\nimport { productInfo, storeInfo, units } from '../db/schema'\nimport { and, eq, sql } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserStoreDetailData, UserStoreProductData, UserStoreSummaryData, StoreSummary } from '@packages/shared'\n\ntype StoreRow = InferSelectModel\ntype StoreProductRow = {\n id: number\n name: string\n shortDescription: string | null\n price: string | null\n marketPrice: string | null\n images: unknown\n isOutOfStock: boolean\n incrementStep: number\n unitShortNotation: string\n productQuantity: number\n}\n\nconst getStringArray = (value: unknown): string[] | null => {\n if (!Array.isArray(value)) return null\n return value.map((item) => String(item))\n}\n\nexport async function getStoreSummaries(): Promise {\n const storesData = await db\n .select({\n id: storeInfo.id,\n name: storeInfo.name,\n description: storeInfo.description,\n imageUrl: storeInfo.imageUrl,\n productCount: sql`count(${productInfo.id})`.as('productCount'),\n })\n .from(storeInfo)\n .leftJoin(\n productInfo,\n and(eq(productInfo.storeId, storeInfo.id), eq(productInfo.isSuspended, false))\n )\n .groupBy(storeInfo.id)\n\n const storesWithDetails = await Promise.all(\n storesData.map(async (store) => {\n const sampleProducts = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n images: productInfo.images,\n })\n .from(productInfo)\n .where(and(eq(productInfo.storeId, store.id), eq(productInfo.isSuspended, false)))\n .limit(3)\n\n return {\n id: store.id,\n name: store.name,\n description: store.description ?? null,\n imageUrl: store.imageUrl ?? null,\n productCount: store.productCount || 0,\n sampleProducts: sampleProducts.map((product) => ({\n id: product.id,\n name: product.name,\n images: getStringArray(product.images),\n })),\n }\n })\n )\n\n return storesWithDetails\n}\n\nexport async function getStoreDetail(storeId: number): Promise {\n const storeData = await db.query.storeInfo.findFirst({\n where: eq(storeInfo.id, storeId),\n columns: {\n id: true,\n name: true,\n description: true,\n imageUrl: true,\n },\n })\n\n if (!storeData) {\n return null\n }\n\n const productsData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n incrementStep: productInfo.incrementStep,\n unitShortNotation: units.shortNotation,\n productQuantity: productInfo.productQuantity,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(and(eq(productInfo.storeId, storeId), eq(productInfo.isSuspended, false)))\n\n const products = productsData.map((product: StoreProductRow): UserStoreProductData => ({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription ?? null,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n incrementStep: product.incrementStep,\n unit: product.unitShortNotation,\n unitNotation: product.unitShortNotation,\n images: getStringArray(product.images),\n isOutOfStock: product.isOutOfStock,\n productQuantity: product.productQuantity,\n }))\n\n return {\n store: {\n id: storeData.id,\n name: storeData.name,\n description: storeData.description ?? null,\n imageUrl: storeData.imageUrl ?? null,\n },\n products,\n }\n}\n\n/**\n * Get simple store summary (id, name, description only)\n * Used for common API endpoints\n */\nexport async function getStoresSummary(): Promise {\n return db.query.storeInfo.findMany({\n columns: {\n id: true,\n name: true,\n description: true,\n },\n })\n}\n", "import { db } from '../db/db_index'\nimport { deliverySlotInfo, productInfo, productReviews, productSlots, productTags, specialDeals, storeInfo, units, users } from '../db/schema'\nimport { and, desc, eq, gt, inArray, sql } from 'drizzle-orm'\nimport type { UserProductDetailData, UserProductReview } from '@packages/shared'\n\nconst getStringArray = (value: unknown): string[] | null => {\n if (!Array.isArray(value)) return null\n return value.map((item) => String(item))\n}\n\nexport async function getProductDetailById(productId: number): Promise {\n const productData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n longDescription: productInfo.longDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n storeId: productInfo.storeId,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n productQuantity: productInfo.productQuantity,\n isFlashAvailable: productInfo.isFlashAvailable,\n flashPrice: productInfo.flashPrice,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(eq(productInfo.id, productId))\n .limit(1)\n\n if (productData.length === 0) {\n return null\n }\n\n const product = productData[0]\n\n const storeData = product.storeId ? await db.query.storeInfo.findFirst({\n where: eq(storeInfo.id, product.storeId),\n columns: { id: true, name: true, description: true },\n }) : null\n\n const deliverySlotsData = await db\n .select({\n id: deliverySlotInfo.id,\n deliveryTime: deliverySlotInfo.deliveryTime,\n freezeTime: deliverySlotInfo.freezeTime,\n })\n .from(productSlots)\n .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n .where(\n and(\n eq(productSlots.productId, productId),\n eq(deliverySlotInfo.isActive, true),\n eq(deliverySlotInfo.isCapacityFull, false),\n gt(deliverySlotInfo.deliveryTime, sql`CURRENT_TIMESTAMP`),\n gt(deliverySlotInfo.freezeTime, sql`CURRENT_TIMESTAMP`)\n )\n )\n .orderBy(deliverySlotInfo.deliveryTime)\n\n const specialDealsData = await db\n .select({\n quantity: specialDeals.quantity,\n price: specialDeals.price,\n validTill: specialDeals.validTill,\n })\n .from(specialDeals)\n .where(\n and(\n eq(specialDeals.productId, productId),\n gt(specialDeals.validTill, sql`CURRENT_TIMESTAMP`)\n )\n )\n .orderBy(specialDeals.quantity)\n\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription ?? null,\n longDescription: product.longDescription ?? null,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n unitNotation: product.unitShortNotation,\n images: getStringArray(product.images),\n isOutOfStock: product.isOutOfStock,\n store: storeData ? {\n id: storeData.id,\n name: storeData.name,\n description: storeData.description ?? null,\n } : null,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n isFlashAvailable: product.isFlashAvailable,\n flashPrice: product.flashPrice?.toString() || null,\n deliverySlots: deliverySlotsData,\n specialDeals: specialDealsData.map((deal) => ({\n quantity: String(deal.quantity ?? '0'),\n price: String(deal.price ?? '0'),\n validTill: deal.validTill,\n })),\n }\n}\n\nexport async function getProductReviews(productId: number, limit: number, offset: number) {\n const reviews = await db\n .select({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n userName: users.name,\n })\n .from(productReviews)\n .innerJoin(users, eq(productReviews.userId, users.id))\n .where(eq(productReviews.productId, productId))\n .orderBy(desc(productReviews.reviewTime))\n .limit(limit)\n .offset(offset)\n\n const totalCountResult = await db\n .select({ count: sql`count(*)` })\n .from(productReviews)\n .where(eq(productReviews.productId, productId))\n\n const totalCount = Number(totalCountResult[0].count)\n\n const mappedReviews: UserProductReview[] = reviews.map((review) => ({\n id: review.id,\n reviewBody: review.reviewBody,\n ratings: review.ratings,\n imageUrls: getStringArray(review.imageUrls),\n reviewTime: review.reviewTime,\n userName: review.userName ?? null,\n }))\n\n return {\n reviews: mappedReviews,\n totalCount,\n }\n}\n\nexport async function getProductById(productId: number) {\n return db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n })\n}\n\nexport async function createProductReview(\n userId: number,\n productId: number,\n reviewBody: string,\n ratings: number,\n imageUrls: string[]\n): Promise {\n const [newReview] = await db.insert(productReviews).values({\n userId,\n productId,\n reviewBody,\n ratings,\n imageUrls,\n }).returning({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n })\n\n return {\n id: newReview.id,\n reviewBody: newReview.reviewBody,\n ratings: newReview.ratings,\n imageUrls: getStringArray(newReview.imageUrls),\n reviewTime: newReview.reviewTime,\n userName: null,\n }\n}\n\nexport interface ProductSummaryData {\n id: number\n name: string\n shortDescription: string | null\n price: string\n marketPrice: string | null\n images: unknown\n isOutOfStock: boolean\n unitShortNotation: string\n productQuantity: number\n}\n\nexport async function getAllProductsWithUnits(tagId?: number): Promise {\n let productIds: number[] | null = null\n\n // If tagId is provided, get products that have this tag\n if (tagId) {\n const taggedProducts = await db\n .select({ productId: productTags.productId })\n .from(productTags)\n .where(eq(productTags.tagId, tagId))\n\n productIds = taggedProducts.map(tp => tp.productId)\n }\n\n let whereCondition = undefined\n\n // Filter by product IDs if tag filtering is applied\n if (productIds && productIds.length > 0) {\n whereCondition = inArray(productInfo.id, productIds)\n }\n\n const results = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n productQuantity: productInfo.productQuantity,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(whereCondition)\n\n return results.map((product) => ({\n ...product,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n }))\n}\n\n/**\n * Get all suspended product IDs\n */\nexport async function getSuspendedProductIds(): Promise {\n const suspendedProducts = await db\n .select({ id: productInfo.id })\n .from(productInfo)\n .where(eq(productInfo.isSuspended, true))\n\n return suspendedProducts.map(sp => sp.id)\n}\n\n/**\n * Get next delivery date for a product (with capacity check)\n * This version filters by both isActive AND isCapacityFull\n */\nexport async function getNextDeliveryDateWithCapacity(productId: number): Promise {\n const result = await db\n .select({ deliveryTime: deliverySlotInfo.deliveryTime })\n .from(productSlots)\n .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n .where(\n and(\n eq(productSlots.productId, productId),\n eq(deliverySlotInfo.isActive, true),\n eq(deliverySlotInfo.isCapacityFull, false),\n gt(deliverySlotInfo.deliveryTime, sql`CURRENT_TIMESTAMP`)\n )\n )\n .orderBy(deliverySlotInfo.deliveryTime)\n .limit(1)\n\n return result[0]?.deliveryTime || null\n}\n", "import { db } from '../db/db_index'\nimport { deliverySlotInfo, productInfo } from '../db/schema'\nimport { asc, eq } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserDeliverySlot, UserSlotAvailability } from '@packages/shared'\n\ntype SlotRow = InferSelectModel\n\nconst mapSlot = (slot: SlotRow): UserDeliverySlot => ({\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isActive: slot.isActive,\n isFlash: slot.isFlash,\n isCapacityFull: slot.isCapacityFull,\n deliverySequence: slot.deliverySequence,\n groupIds: slot.groupIds,\n})\n\nexport async function getActiveSlotsList(): Promise {\n const slots = await db.query.deliverySlotInfo.findMany({\n where: eq(deliverySlotInfo.isActive, true),\n orderBy: asc(deliverySlotInfo.deliveryTime),\n })\n\n return slots.map(mapSlot)\n}\n\nexport async function getProductAvailability(): Promise {\n const products = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n isOutOfStock: productInfo.isOutOfStock,\n isFlashAvailable: productInfo.isFlashAvailable,\n })\n .from(productInfo)\n .where(eq(productInfo.isSuspended, false))\n\n return products.map((product) => ({\n id: product.id,\n name: product.name,\n isOutOfStock: product.isOutOfStock,\n isFlashAvailable: product.isFlashAvailable,\n }))\n}\n", "import { db } from '../db/db_index'\nimport { orders, payments, orderStatus } from '../db/schema'\nimport { eq } from 'drizzle-orm'\n\nexport async function getOrderById(orderId: number) {\n return db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n })\n}\n\nexport async function getPaymentByOrderId(orderId: number) {\n return db.query.payments.findFirst({\n where: eq(payments.orderId, orderId),\n })\n}\n\nexport async function getPaymentByMerchantOrderId(merchantOrderId: string) {\n return db.query.payments.findFirst({\n where: eq(payments.merchantOrderId, merchantOrderId),\n })\n}\n\nexport async function updatePaymentSuccess(merchantOrderId: string, payload: unknown) {\n const [updatedPayment] = await db\n .update(payments)\n .set({\n status: 'success',\n payload,\n })\n .where(eq(payments.merchantOrderId, merchantOrderId))\n .returning({\n id: payments.id,\n orderId: payments.orderId,\n })\n\n return updatedPayment || null\n}\n\nexport async function updateOrderPaymentStatus(orderId: number, status: 'pending' | 'success' | 'cod' | 'failed') {\n await db\n .update(orderStatus)\n .set({ paymentStatus: status })\n .where(eq(orderStatus.orderId, orderId))\n}\n\nexport async function markPaymentFailed(paymentId: number) {\n await db\n .update(payments)\n .set({ status: 'failed' })\n .where(eq(payments.id, paymentId))\n}\n", "import { db } from '../db/db_index'\nimport {\n users,\n userCreds,\n userDetails,\n addresses,\n cartItems,\n complaints,\n couponApplicableUsers,\n couponUsage,\n notifCreds,\n notifications,\n orderItems,\n orderStatus,\n orders,\n payments,\n refunds,\n productReviews,\n reservedCoupons,\n} from '../db/schema'\nimport { eq } from 'drizzle-orm'\n\nexport async function getUserByEmail(email: string) {\n const [user] = await db.select().from(users).where(eq(users.email, email)).limit(1)\n return user || null\n}\n\nexport async function getUserByMobile(mobile: string) {\n const [user] = await db.select().from(users).where(eq(users.mobile, mobile)).limit(1)\n return user || null\n}\n\nexport async function getUserById(userId: number) {\n const [user] = await db.select().from(users).where(eq(users.id, userId)).limit(1)\n return user || null\n}\n\nexport async function getUserCreds(userId: number) {\n const [creds] = await db.select().from(userCreds).where(eq(userCreds.userId, userId)).limit(1)\n return creds || null\n}\n\nexport async function getUserDetails(userId: number) {\n const [details] = await db.select().from(userDetails).where(eq(userDetails.userId, userId)).limit(1)\n return details || null\n}\n\nexport async function isUserSuspended(userId: number): Promise {\n const details = await getUserDetails(userId)\n return details?.isSuspended ?? false\n}\n\nexport async function createUserWithProfile(input: {\n name: string\n email: string\n mobile: string\n hashedPassword: string\n profileImage?: string | null\n}) {\n return db.transaction(async (tx) => {\n // Create user\n const [user] = await tx.insert(users).values({\n name: input.name,\n email: input.email,\n mobile: input.mobile,\n }).returning()\n\n // Create user credentials\n await tx.insert(userCreds).values({\n userId: user.id,\n userPassword: input.hashedPassword,\n })\n\n // Create user details with profile image\n await tx.insert(userDetails).values({\n userId: user.id,\n profileImage: input.profileImage || null,\n })\n\n return user\n })\n}\n\nexport async function getUserDetailsByUserId(userId: number) {\n const [details] = await db.select().from(userDetails).where(eq(userDetails.userId, userId)).limit(1)\n return details || null\n}\n\nexport async function updateUserProfile(userId: number, data: {\n name?: string\n email?: string\n mobile?: string\n hashedPassword?: string\n profileImage?: string\n bio?: string\n dateOfBirth?: Date | null\n gender?: string\n occupation?: string\n}) {\n return db.transaction(async (tx) => {\n // Update user table\n const userUpdate: any = {}\n if (data.name !== undefined) userUpdate.name = data.name\n if (data.email !== undefined) userUpdate.email = data.email\n if (data.mobile !== undefined) userUpdate.mobile = data.mobile\n\n if (Object.keys(userUpdate).length > 0) {\n await tx.update(users).set(userUpdate).where(eq(users.id, userId))\n }\n\n // Update password if provided\n if (data.hashedPassword) {\n await tx.update(userCreds).set({\n userPassword: data.hashedPassword,\n }).where(eq(userCreds.userId, userId))\n }\n\n // Update or insert user details\n const detailsUpdate: any = {}\n if (data.bio !== undefined) detailsUpdate.bio = data.bio\n if (data.dateOfBirth !== undefined) detailsUpdate.dateOfBirth = data.dateOfBirth\n if (data.gender !== undefined) detailsUpdate.gender = data.gender\n if (data.occupation !== undefined) detailsUpdate.occupation = data.occupation\n if (data.profileImage !== undefined) detailsUpdate.profileImage = data.profileImage\n detailsUpdate.updatedAt = new Date()\n\n const [existingDetails] = await tx.select().from(userDetails).where(eq(userDetails.userId, userId)).limit(1)\n\n if (existingDetails) {\n await tx.update(userDetails).set(detailsUpdate).where(eq(userDetails.userId, userId))\n } else {\n await tx.insert(userDetails).values({\n userId,\n ...detailsUpdate,\n createdAt: new Date(),\n })\n }\n\n // Return updated user\n const [user] = await tx.select().from(users).where(eq(users.id, userId)).limit(1)\n return user\n })\n}\n\nexport async function createUserWithCreds(input: {\n name: string\n email: string\n mobile: string\n hashedPassword: string\n}) {\n return db.transaction(async (tx) => {\n const [user] = await tx.insert(users).values({\n name: input.name,\n email: input.email,\n mobile: input.mobile,\n }).returning()\n\n await tx.insert(userCreds).values({\n userId: user.id,\n userPassword: input.hashedPassword,\n })\n\n return user\n })\n}\n\nexport async function createUserWithMobile(mobile: string) {\n const [user] = await db.insert(users).values({\n name: null,\n email: null,\n mobile,\n }).returning()\n\n return user\n}\n\nexport async function upsertUserPassword(userId: number, hashedPassword: string) {\n try {\n await db.insert(userCreds).values({\n userId,\n userPassword: hashedPassword,\n })\n return\n } catch (error: any) {\n if (error.code === '23505') {\n await db.update(userCreds).set({\n userPassword: hashedPassword,\n }).where(eq(userCreds.userId, userId))\n return\n }\n throw error\n }\n}\n\nexport async function deleteUserAccount(userId: number) {\n await db.transaction(async (tx) => {\n await tx.delete(notifCreds).where(eq(notifCreds.userId, userId))\n await tx.delete(couponApplicableUsers).where(eq(couponApplicableUsers.userId, userId))\n await tx.delete(couponUsage).where(eq(couponUsage.userId, userId))\n await tx.delete(complaints).where(eq(complaints.userId, userId))\n await tx.delete(cartItems).where(eq(cartItems.userId, userId))\n await tx.delete(notifications).where(eq(notifications.userId, userId))\n await tx.delete(productReviews).where(eq(productReviews.userId, userId))\n\n await tx.update(reservedCoupons)\n .set({ redeemedBy: null })\n .where(eq(reservedCoupons.redeemedBy, userId))\n\n const userOrders = await tx\n .select({ id: orders.id })\n .from(orders)\n .where(eq(orders.userId, userId))\n\n for (const order of userOrders) {\n await tx.delete(orderItems).where(eq(orderItems.orderId, order.id))\n await tx.delete(orderStatus).where(eq(orderStatus.orderId, order.id))\n await tx.delete(payments).where(eq(payments.orderId, order.id))\n await tx.delete(refunds).where(eq(refunds.orderId, order.id))\n await tx.delete(couponUsage).where(eq(couponUsage.orderId, order.id))\n await tx.delete(complaints).where(eq(complaints.orderId, order.id))\n }\n\n await tx.delete(orders).where(eq(orders.userId, userId))\n await tx.delete(addresses).where(eq(addresses.userId, userId))\n await tx.delete(userDetails).where(eq(userDetails.userId, userId))\n await tx.delete(userCreds).where(eq(userCreds.userId, userId))\n await tx.delete(users).where(eq(users.id, userId))\n })\n}\n", "import { db } from '../db/db_index'\nimport {\n couponApplicableProducts,\n couponApplicableUsers,\n couponUsage,\n coupons,\n reservedCoupons,\n} from '../db/schema'\nimport { and, eq, gt, isNull, or } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserCoupon, UserCouponApplicableProduct, UserCouponApplicableUser, UserCouponUsage, UserCouponWithRelations } from '@packages/shared'\n\ntype CouponRow = InferSelectModel\ntype CouponUsageRow = InferSelectModel\ntype CouponApplicableUserRow = InferSelectModel\ntype CouponApplicableProductRow = InferSelectModel\ntype ReservedCouponRow = InferSelectModel\n\nconst mapCoupon = (coupon: CouponRow): UserCoupon => ({\n id: coupon.id,\n couponCode: coupon.couponCode,\n isUserBased: coupon.isUserBased,\n discountPercent: coupon.discountPercent ? coupon.discountPercent.toString() : null,\n flatDiscount: coupon.flatDiscount ? coupon.flatDiscount.toString() : null,\n minOrder: coupon.minOrder ? coupon.minOrder.toString() : null,\n productIds: coupon.productIds,\n maxValue: coupon.maxValue ? coupon.maxValue.toString() : null,\n isApplyForAll: coupon.isApplyForAll,\n validTill: coupon.validTill ?? null,\n maxLimitForUser: coupon.maxLimitForUser ?? null,\n isInvalidated: coupon.isInvalidated,\n exclusiveApply: coupon.exclusiveApply,\n createdAt: coupon.createdAt,\n})\n\nconst mapUsage = (usage: CouponUsageRow): UserCouponUsage => ({\n id: usage.id,\n userId: usage.userId,\n couponId: usage.couponId,\n orderId: usage.orderId ?? null,\n orderItemId: usage.orderItemId ?? null,\n usedAt: usage.usedAt,\n})\n\nconst mapApplicableUser = (applicable: CouponApplicableUserRow): UserCouponApplicableUser => ({\n id: applicable.id,\n couponId: applicable.couponId,\n userId: applicable.userId,\n})\n\nconst mapApplicableProduct = (applicable: CouponApplicableProductRow): UserCouponApplicableProduct => ({\n id: applicable.id,\n couponId: applicable.couponId,\n productId: applicable.productId,\n})\n\nconst mapCouponWithRelations = (coupon: CouponRow & {\n usages: CouponUsageRow[]\n applicableUsers: CouponApplicableUserRow[]\n applicableProducts: CouponApplicableProductRow[]\n}): UserCouponWithRelations => ({\n ...mapCoupon(coupon),\n usages: coupon.usages.map(mapUsage),\n applicableUsers: coupon.applicableUsers.map(mapApplicableUser),\n applicableProducts: coupon.applicableProducts.map(mapApplicableProduct),\n})\n\nexport async function getActiveCouponsWithRelations(userId: number): Promise {\n const allCoupons = await db.query.coupons.findMany({\n where: and(\n eq(coupons.isInvalidated, false),\n or(\n isNull(coupons.validTill),\n gt(coupons.validTill, new Date())\n )\n ),\n with: {\n usages: {\n where: eq(couponUsage.userId, userId),\n },\n applicableUsers: true,\n applicableProducts: true,\n },\n })\n\n return allCoupons.map(mapCouponWithRelations)\n}\n\nexport async function getAllCouponsWithRelations(userId: number): Promise {\n const allCoupons = await db.query.coupons.findMany({\n with: {\n usages: {\n where: eq(couponUsage.userId, userId),\n },\n applicableUsers: true,\n applicableProducts: true,\n },\n })\n\n return allCoupons.map(mapCouponWithRelations)\n}\n\nexport async function getReservedCouponByCode(secretCode: string): Promise {\n const reserved = await db.query.reservedCoupons.findFirst({\n where: and(\n eq(reservedCoupons.secretCode, secretCode.toUpperCase()),\n eq(reservedCoupons.isRedeemed, false)\n ),\n })\n\n return reserved || null\n}\n\nexport async function redeemReservedCoupon(userId: number, reservedCoupon: ReservedCouponRow): Promise {\n const couponResult = await db.transaction(async (tx) => {\n const [coupon] = await tx.insert(coupons).values({\n couponCode: reservedCoupon.couponCode,\n isUserBased: true,\n discountPercent: reservedCoupon.discountPercent,\n flatDiscount: reservedCoupon.flatDiscount,\n minOrder: reservedCoupon.minOrder,\n productIds: reservedCoupon.productIds,\n maxValue: reservedCoupon.maxValue,\n isApplyForAll: false,\n validTill: reservedCoupon.validTill,\n maxLimitForUser: reservedCoupon.maxLimitForUser,\n exclusiveApply: reservedCoupon.exclusiveApply,\n createdBy: reservedCoupon.createdBy,\n }).returning()\n\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId,\n })\n\n await tx.update(reservedCoupons).set({\n isRedeemed: true,\n redeemedBy: userId,\n redeemedAt: new Date(),\n }).where(eq(reservedCoupons.id, reservedCoupon.id))\n\n return coupon\n })\n\n return mapCoupon(couponResult)\n}\n", "import { db } from '../db/db_index'\nimport { notifCreds, unloggedUserTokens, userCreds, userDetails, users } from '../db/schema'\nimport { and, eq } from 'drizzle-orm'\n\nexport async function getUserById(userId: number) {\n const [user] = await db.select().from(users).where(eq(users.id, userId)).limit(1)\n return user || null\n}\n\nexport async function getUserDetailByUserId(userId: number) {\n const [detail] = await db.select().from(userDetails).where(eq(userDetails.userId, userId)).limit(1)\n return detail || null\n}\n\nexport async function getUserWithCreds(userId: number) {\n const result = await db\n .select()\n .from(users)\n .leftJoin(userCreds, eq(users.id, userCreds.userId))\n .where(eq(users.id, userId))\n .limit(1)\n\n if (result.length === 0) return null\n return {\n user: result[0].users,\n creds: result[0].user_creds,\n }\n}\n\nexport async function getNotifCred(userId: number, token: string) {\n return db.query.notifCreds.findFirst({\n where: and(eq(notifCreds.userId, userId), eq(notifCreds.token, token)),\n })\n}\n\nexport async function upsertNotifCred(userId: number, token: string): Promise {\n const existing = await getNotifCred(userId, token)\n if (existing) {\n await db.update(notifCreds)\n .set({ lastVerified: new Date() })\n .where(eq(notifCreds.id, existing.id))\n return\n }\n\n await db.insert(notifCreds).values({\n userId,\n token,\n lastVerified: new Date(),\n })\n}\n\nexport async function deleteUnloggedToken(token: string): Promise {\n await db.delete(unloggedUserTokens).where(eq(unloggedUserTokens.token, token))\n}\n\nexport async function getUnloggedToken(token: string) {\n return db.query.unloggedUserTokens.findFirst({\n where: eq(unloggedUserTokens.token, token),\n })\n}\n\nexport async function upsertUnloggedToken(token: string): Promise {\n const existing = await getUnloggedToken(token)\n if (existing) {\n await db.update(unloggedUserTokens)\n .set({ lastVerified: new Date() })\n .where(eq(unloggedUserTokens.id, existing.id))\n return\n }\n\n await db.insert(unloggedUserTokens).values({\n token,\n lastVerified: new Date(),\n })\n}\n", "import { db } from '../db/db_index'\nimport {\n orders,\n orderItems,\n orderStatus,\n addresses,\n productInfo,\n paymentInfoTable,\n coupons,\n couponUsage,\n cartItems,\n refunds,\n units,\n userDetails,\n deliverySlotInfo,\n} from '../db/schema'\nimport { and, eq, inArray, desc, gte, sql } from 'drizzle-orm'\nimport type {\n UserOrderSummary,\n UserOrderDetail,\n UserRecentProduct,\n} from '@packages/shared'\nimport { coerceDate } from '../lib/date'\n\nexport interface OrderItemInput {\n productId: number\n quantity: number\n slotId: number | null\n}\n\nexport interface PlaceOrderInput {\n userId: number\n selectedItems: OrderItemInput[]\n addressId: number\n paymentMethod: 'online' | 'cod'\n couponId?: number\n userNotes?: string\n isFlash?: boolean\n}\n\nexport interface OrderGroupData {\n slotId: number | null\n items: Array<{\n productId: number\n quantity: number\n slotId: number | null\n product: typeof productInfo.$inferSelect\n }>\n}\n\nexport interface PlacedOrder {\n id: number\n userId: number\n addressId: number\n slotId: number | null\n totalAmount: string\n deliveryCharge: string\n isCod: boolean\n isOnlinePayment: boolean\n paymentInfoId: number | null\n readableId: number\n userNotes: string | null\n orderGroupId: string\n orderGroupProportion: string\n isFlashDelivery: boolean\n createdAt: Date\n}\n\nexport interface OrderWithRelations {\n id: number\n userId: number\n addressId: number\n slotId: number | null\n totalAmount: string\n deliveryCharge: string\n isCod: boolean\n isOnlinePayment: boolean\n isFlashDelivery: boolean\n userNotes: string | null\n createdAt: Date\n orderItems: Array<{\n id: number\n productId: number\n quantity: string\n price: string\n discountedPrice: string | null\n is_packaged: boolean\n product: {\n id: number\n name: string\n images: unknown\n }\n }>\n slot: {\n deliveryTime: Date\n } | null\n paymentInfo: {\n id: number\n status: string\n } | null\n orderStatus: Array<{\n id: number\n isCancelled: boolean\n isDelivered: boolean\n paymentStatus: string\n cancelReason: string | null\n }>\n refunds: Array<{\n refundStatus: string\n refundAmount: string | null\n }>\n}\n\nexport interface OrderDetailWithRelations {\n id: number\n userId: number\n addressId: number\n slotId: number | null\n totalAmount: string\n deliveryCharge: string\n isCod: boolean\n isOnlinePayment: boolean\n isFlashDelivery: boolean\n userNotes: string | null\n createdAt: Date\n orderItems: Array<{\n id: number\n productId: number\n quantity: string\n price: string\n discountedPrice: string | null\n is_packaged: boolean\n product: {\n id: number\n name: string\n images: unknown\n }\n }>\n slot: {\n deliveryTime: Date\n } | null\n paymentInfo: {\n id: number\n status: string\n } | null\n orderStatus: Array<{\n id: number\n isCancelled: boolean\n isDelivered: boolean\n paymentStatus: string\n cancelReason: string | null\n }>\n refunds: Array<{\n refundStatus: string\n refundAmount: string | null\n }>\n}\n\nexport interface CouponValidationResult {\n id: number\n couponCode: string\n isInvalidated: boolean\n validTill: Date | null\n maxLimitForUser: number | null\n minOrder: string | null\n discountPercent: string | null\n flatDiscount: string | null\n maxValue: string | null\n usages: Array<{\n id: number\n userId: number\n }>\n}\n\nexport interface CouponUsageWithCoupon {\n id: number\n couponId: number\n orderId: number | null\n coupon: {\n id: number\n couponCode: string\n discountPercent: string | null\n flatDiscount: string | null\n maxValue: string | null\n }\n}\n\nexport async function validateAndGetCoupon(\n couponId: number | undefined,\n userId: number,\n totalAmount: number\n): Promise {\n if (!couponId) return null\n\n const coupon = await db.query.coupons.findFirst({\n where: eq(coupons.id, couponId),\n with: {\n usages: { where: eq(couponUsage.userId, userId) },\n },\n })\n\n if (!coupon) throw new Error('Invalid coupon')\n if (coupon.isInvalidated) throw new Error('Coupon is no longer valid')\n if (coupon.validTill && new Date(coupon.validTill) < new Date())\n throw new Error('Coupon has expired')\n if (\n coupon.maxLimitForUser &&\n coupon.usages.length >= coupon.maxLimitForUser\n )\n throw new Error('Coupon usage limit exceeded')\n if (\n coupon.minOrder &&\n parseFloat(coupon.minOrder.toString()) > totalAmount\n )\n throw new Error('Order amount does not meet coupon minimum requirement')\n\n return coupon as CouponValidationResult\n}\n\nexport function applyDiscountToOrder(\n orderTotal: number,\n appliedCoupon: CouponValidationResult | null,\n proportion: number\n): { finalOrderTotal: number; orderGroupProportion: number } {\n let finalOrderTotal = orderTotal\n \n if (appliedCoupon) {\n if (appliedCoupon.discountPercent) {\n const discount = Math.min(\n (orderTotal *\n parseFloat(appliedCoupon.discountPercent.toString())) /\n 100,\n appliedCoupon.maxValue\n ? parseFloat(appliedCoupon.maxValue.toString()) * proportion\n : Infinity\n )\n finalOrderTotal -= discount\n } else if (appliedCoupon.flatDiscount) {\n const discount = Math.min(\n parseFloat(appliedCoupon.flatDiscount.toString()) * proportion,\n appliedCoupon.maxValue\n ? parseFloat(appliedCoupon.maxValue.toString()) * proportion\n : finalOrderTotal\n )\n finalOrderTotal -= discount\n }\n }\n\n return { finalOrderTotal, orderGroupProportion: proportion }\n}\n\nexport async function getAddressByIdAndUser(\n addressId: number,\n userId: number\n) {\n return db.query.addresses.findFirst({\n where: and(eq(addresses.userId, userId), eq(addresses.id, addressId)),\n })\n}\n\nexport async function getProductById(productId: number) {\n return db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n })\n}\n\nexport async function checkUserSuspended(userId: number): Promise {\n const userDetail = await db.query.userDetails.findFirst({\n where: eq(userDetails.userId, userId),\n })\n return userDetail?.isSuspended ?? false\n}\n\nexport async function getSlotCapacityStatus(slotId: number): Promise {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n columns: {\n isCapacityFull: true,\n },\n })\n return slot?.isCapacityFull ?? false\n}\n\nexport async function placeOrderTransaction(params: {\n userId: number\n ordersData: Array<{\n order: Omit\n orderItems: Omit[]\n orderStatus: Omit\n }>\n paymentMethod: 'online' | 'cod'\n totalWithDelivery: number\n}): Promise {\n const { userId, ordersData, paymentMethod } = params\n\n return db.transaction(async (tx) => {\n let sharedPaymentInfoId: number | null = null\n if (paymentMethod === 'online') {\n const [paymentInfo] = await tx\n .insert(paymentInfoTable)\n .values({\n status: 'pending',\n gateway: 'razorpay',\n merchantOrderId: `multi_order_${Date.now()}`,\n })\n .returning()\n sharedPaymentInfoId = paymentInfo.id\n }\n\n const ordersToInsert: Omit[] =\n ordersData.map((od) => ({\n ...od.order,\n paymentInfoId: sharedPaymentInfoId,\n }))\n\n const insertedOrders = await tx.insert(orders).values(ordersToInsert).returning()\n\n const allOrderItems: Omit[] = []\n const allOrderStatuses: Omit[] = []\n\n insertedOrders.forEach((order, index) => {\n const od = ordersData[index]\n od.orderItems.forEach((item) => {\n allOrderItems.push({ ...item, orderId: order.id })\n })\n allOrderStatuses.push({\n ...od.orderStatus,\n orderId: order.id,\n })\n })\n\n await tx.insert(orderItems).values(allOrderItems)\n await tx.insert(orderStatus).values(allOrderStatuses)\n\n return insertedOrders as PlacedOrder[]\n })\n}\n\nexport async function deleteCartItemsForOrder(\n userId: number,\n productIds: number[]\n): Promise {\n await db.delete(cartItems).where(\n and(\n eq(cartItems.userId, userId),\n inArray(cartItems.productId, productIds)\n )\n )\n}\n\nexport async function recordCouponUsage(\n userId: number,\n couponId: number,\n orderId: number\n): Promise {\n await db.insert(couponUsage).values({\n userId,\n couponId,\n orderId,\n orderItemId: null,\n usedAt: new Date(),\n })\n}\n\nexport async function getOrdersWithRelations(\n userId: number,\n offset: number,\n pageSize: number\n): Promise {\n const ordersWithRelations = await db.query.orders.findMany({\n where: eq(orders.userId, userId),\n with: {\n orderItems: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n slot: {\n columns: {\n deliveryTime: true,\n },\n },\n paymentInfo: {\n columns: {\n id: true,\n status: true,\n },\n },\n orderStatus: {\n columns: {\n id: true,\n isCancelled: true,\n isDelivered: true,\n paymentStatus: true,\n cancelReason: true,\n },\n },\n refunds: {\n columns: {\n refundStatus: true,\n refundAmount: true,\n },\n },\n },\n orderBy: [desc(orders.createdAt)],\n limit: pageSize,\n offset: offset,\n })\n\n return ordersWithRelations.map((order) => {\n const createdAt = coerceDate(order.createdAt) ?? new Date(0)\n const slot = order.slot\n ? {\n ...order.slot,\n deliveryTime: coerceDate(order.slot.deliveryTime) ?? new Date(0),\n }\n : null\n\n return {\n ...order,\n createdAt,\n slot,\n }\n }) as OrderWithRelations[]\n}\n\nexport async function getOrderCount(userId: number): Promise {\n const result = await db\n .select({ count: sql`count(*)` })\n .from(orders)\n .where(eq(orders.userId, userId))\n\n return Number(result[0]?.count ?? 0)\n}\n\nexport async function getOrderByIdWithRelations(\n orderId: number,\n userId: number\n): Promise {\n const order = await db.query.orders.findFirst({\n where: and(eq(orders.id, orderId), eq(orders.userId, userId)),\n with: {\n orderItems: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n slot: {\n columns: {\n deliveryTime: true,\n },\n },\n paymentInfo: {\n columns: {\n id: true,\n status: true,\n },\n },\n orderStatus: {\n columns: {\n id: true,\n isCancelled: true,\n isDelivered: true,\n paymentStatus: true,\n cancelReason: true,\n },\n with: {\n refundCoupon: {\n columns: {\n id: true,\n couponCode: true,\n },\n },\n },\n },\n refunds: {\n columns: {\n refundStatus: true,\n refundAmount: true,\n },\n },\n },\n })\n\n if (!order) {\n return null\n }\n\n const createdAt = coerceDate(order.createdAt) ?? new Date(0)\n const slot = order.slot\n ? {\n ...order.slot,\n deliveryTime: coerceDate(order.slot.deliveryTime) ?? new Date(0),\n }\n : null\n\n return {\n ...order,\n createdAt,\n slot,\n } as OrderDetailWithRelations\n}\n\nexport async function getCouponUsageForOrder(\n orderId: number\n): Promise {\n return db.query.couponUsage.findMany({\n where: eq(couponUsage.orderId, orderId),\n with: {\n coupon: {\n columns: {\n id: true,\n couponCode: true,\n discountPercent: true,\n flatDiscount: true,\n maxValue: true,\n },\n },\n },\n }) as Promise\n}\n\nexport async function getOrderBasic(orderId: number) {\n return db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n orderStatus: {\n columns: {\n id: true,\n isCancelled: true,\n isDelivered: true,\n },\n },\n },\n })\n}\n\nexport async function cancelOrderTransaction(\n orderId: number,\n statusId: number,\n reason: string,\n isCod: boolean\n): Promise {\n await db.transaction(async (tx) => {\n await tx\n .update(orderStatus)\n .set({\n isCancelled: true,\n cancelReason: reason,\n cancellationUserNotes: reason,\n cancellationReviewed: false,\n })\n .where(eq(orderStatus.id, statusId))\n\n const refundStatus = isCod ? 'na' : 'pending'\n\n await tx.insert(refunds).values({\n orderId,\n refundStatus,\n })\n })\n}\n\nexport async function updateOrderNotes(\n orderId: number,\n userNotes: string\n): Promise {\n await db\n .update(orders)\n .set({\n userNotes: userNotes || null,\n })\n .where(eq(orders.id, orderId))\n}\n\nexport async function getRecentlyDeliveredOrderIds(\n userId: number,\n limit: number,\n since: Date\n): Promise {\n const recentOrders = await db\n .select({ id: orders.id })\n .from(orders)\n .innerJoin(orderStatus, eq(orders.id, orderStatus.orderId))\n .where(\n and(\n eq(orders.userId, userId),\n eq(orderStatus.isDelivered, true),\n gte(orders.createdAt, since)\n )\n )\n .orderBy(desc(orders.createdAt))\n .limit(limit)\n\n return recentOrders.map((order) => order.id)\n}\n\nexport async function getProductIdsFromOrders(\n orderIds: number[]\n): Promise {\n const orderItemsResult = await db\n .select({ productId: orderItems.productId })\n .from(orderItems)\n .where(inArray(orderItems.orderId, orderIds))\n\n return [...new Set(orderItemsResult.map((item) => item.productId))]\n}\n\nexport interface RecentProductData {\n id: number\n name: string\n shortDescription: string | null\n price: string\n images: unknown\n isOutOfStock: boolean\n unitShortNotation: string\n incrementStep: number\n}\n\nexport async function getProductsForRecentOrders(\n productIds: number[],\n limit: number\n): Promise {\n const results = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(\n and(\n inArray(productInfo.id, productIds),\n eq(productInfo.isSuspended, false)\n )\n )\n .orderBy(desc(productInfo.createdAt))\n .limit(limit)\n\n return results.map((product) => ({\n ...product,\n price: String(product.price ?? '0'),\n }))\n}\n\n// ============================================================================\n// Post-Order Handler Helpers (for Telegram notifications)\n// ============================================================================\n\nexport interface OrderWithFullData {\n id: number\n totalAmount: string\n isFlashDelivery: boolean\n address: {\n name: string | null\n addressLine1: string | null\n addressLine2: string | null\n city: string | null\n state: string | null\n pincode: string | null\n phone: string | null\n } | null\n orderItems: Array<{\n quantity: string\n product: {\n name: string\n } | null\n }>\n slot: {\n deliveryTime: Date\n } | null\n}\n\nexport async function getOrdersByIdsWithFullData(\n orderIds: number[]\n): Promise {\n console.log('getting orders byid')\n\n const ordersResp = await db.query.orders.findMany({\n where: inArray(orders.id, orderIds),\n with: {\n address: {\n columns: {\n name: true,\n addressLine1: true,\n addressLine2: true,\n city: true,\n state: true,\n pincode: true,\n phone: true,\n },\n },\n orderItems: {\n with: {\n product: {\n columns: {\n name: true,\n },\n },\n },\n },\n slot: {\n columns: {\n deliveryTime: true,\n },\n },\n },\n }) \n // as Promise\n\n return ordersResp as OrderWithFullData[];\n}\n\nexport interface OrderWithCancellationData extends OrderWithFullData {\n refunds: Array<{\n refundStatus: string\n }>\n}\n\nexport async function getOrderByIdWithFullData(\n orderId: number\n): Promise {\n return db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n address: {\n columns: {\n name: true,\n addressLine1: true,\n addressLine2: true,\n city: true,\n state: true,\n pincode: true,\n phone: true,\n },\n },\n orderItems: {\n with: {\n product: {\n columns: {\n name: true,\n },\n },\n },\n },\n slot: {\n columns: {\n deliveryTime: true,\n },\n },\n refunds: {\n columns: {\n refundStatus: true,\n },\n },\n },\n }) as Promise\n}\n", "// Store Helpers - Database operations for cache initialization\n// These are used by stores in apps/backend/src/stores/\n\nimport { db } from '../db/db_index'\nimport {\n homeBanners,\n productInfo,\n units,\n productSlots,\n deliverySlotInfo,\n specialDeals,\n storeInfo,\n productTags,\n productTagInfo,\n userIncidents,\n} from '../db/schema'\nimport { eq, and, gt, sql, isNotNull, asc } from 'drizzle-orm'\n\n// ============================================================================\n// BANNER STORE HELPERS\n// ============================================================================\n\nexport interface BannerData {\n id: number\n name: string\n imageUrl: string | null\n serialNum: number | null\n productIds: number[] | null\n createdAt: Date\n}\n\nexport async function getAllBannersForCache(): Promise {\n return db.query.homeBanners.findMany({\n where: isNotNull(homeBanners.serialNum),\n orderBy: asc(homeBanners.serialNum),\n })\n}\n\n// ============================================================================\n// PRODUCT STORE HELPERS\n// ============================================================================\n\nexport interface ProductBasicData {\n id: number\n name: string\n shortDescription: string | null\n longDescription: string | null\n price: string\n marketPrice: string | null\n images: unknown\n isOutOfStock: boolean\n storeId: number | null\n unitShortNotation: string\n incrementStep: number\n productQuantity: number\n isFlashAvailable: boolean\n flashPrice: string | null\n}\n\nexport interface StoreBasicData {\n id: number\n name: string\n description: string | null\n}\n\nexport interface DeliverySlotData {\n productId: number\n id: number\n deliveryTime: Date\n freezeTime: Date\n isCapacityFull: boolean\n}\n\nexport interface SpecialDealData {\n productId: number\n quantity: string\n price: string\n validTill: Date\n}\n\nexport interface ProductTagData {\n productId: number\n tagName: string\n}\n\nexport async function getAllProductsForCache(): Promise {\n const results = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n longDescription: productInfo.longDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n storeId: productInfo.storeId,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n productQuantity: productInfo.productQuantity,\n isFlashAvailable: productInfo.isFlashAvailable,\n flashPrice: productInfo.flashPrice,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n\n return results.map((product) => ({\n ...product,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n flashPrice: product.flashPrice ? String(product.flashPrice) : null,\n }))\n}\n\nexport async function getAllStoresForCache(): Promise {\n return db.query.storeInfo.findMany({\n columns: { id: true, name: true, description: true },\n })\n}\n\nexport async function getAllDeliverySlotsForCache(): Promise {\n return db\n .select({\n productId: productSlots.productId,\n id: deliverySlotInfo.id,\n deliveryTime: deliverySlotInfo.deliveryTime,\n freezeTime: deliverySlotInfo.freezeTime,\n isCapacityFull: deliverySlotInfo.isCapacityFull,\n })\n .from(productSlots)\n .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n .where(\n and(\n eq(deliverySlotInfo.isActive, true),\n eq(deliverySlotInfo.isCapacityFull, false),\n gt(deliverySlotInfo.deliveryTime, sql`CURRENT_TIMESTAMP`)\n )\n )\n}\n\nexport async function getAllSpecialDealsForCache(): Promise {\n const results = await db\n .select({\n productId: specialDeals.productId,\n quantity: specialDeals.quantity,\n price: specialDeals.price,\n validTill: specialDeals.validTill,\n })\n .from(specialDeals)\n .where(gt(specialDeals.validTill, sql`CURRENT_TIMESTAMP`))\n\n return results.map((deal) => ({\n ...deal,\n quantity: String(deal.quantity ?? '0'),\n price: String(deal.price ?? '0'),\n }))\n}\n\nexport async function getAllProductTagsForCache(): Promise {\n return db\n .select({\n productId: productTags.productId,\n tagName: productTagInfo.tagName,\n })\n .from(productTags)\n .innerJoin(productTagInfo, eq(productTags.tagId, productTagInfo.id))\n}\n\n// ============================================================================\n// PRODUCT TAG STORE HELPERS\n// ============================================================================\n\nexport interface TagBasicData {\n id: number\n tagName: string\n tagDescription: string | null\n imageUrl: string | null\n isDashboardTag: boolean\n relatedStores: unknown\n}\n\nexport interface TagProductMapping {\n tagId: number\n productId: number\n}\n\nexport async function getAllTagsForCache(): Promise {\n return db\n .select({\n id: productTagInfo.id,\n tagName: productTagInfo.tagName,\n tagDescription: productTagInfo.tagDescription,\n imageUrl: productTagInfo.imageUrl,\n isDashboardTag: productTagInfo.isDashboardTag,\n relatedStores: productTagInfo.relatedStores,\n })\n .from(productTagInfo)\n}\n\nexport async function getAllTagProductMappings(): Promise {\n return db\n .select({\n tagId: productTags.tagId,\n productId: productTags.productId,\n })\n .from(productTags)\n}\n\n// ============================================================================\n// SLOT STORE HELPERS\n// ============================================================================\n\nexport interface SlotWithProductsData {\n id: number\n deliveryTime: Date\n freezeTime: Date\n isActive: boolean\n isCapacityFull: boolean\n productSlots: Array<{\n product: {\n id: number\n name: string\n productQuantity: number\n shortDescription: string | null\n price: string\n marketPrice: string | null\n unit: { shortNotation: string } | null\n store: { id: number; name: string; description: string | null } | null\n images: unknown\n isOutOfStock: boolean\n storeId: number | null\n }\n }>\n}\n\nexport async function getAllSlotsWithProductsForCache(): Promise {\n const now = new Date()\n \n return db.query.deliverySlotInfo.findMany({\n where: and(\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, now)\n ),\n with: {\n productSlots: {\n with: {\n product: {\n with: {\n unit: true,\n store: true,\n },\n },\n },\n },\n },\n orderBy: asc(deliverySlotInfo.deliveryTime),\n }) as Promise\n}\n\n// ============================================================================\n// USER NEGATIVITY STORE HELPERS\n// ============================================================================\n\nexport interface UserNegativityData {\n userId: number\n totalNegativityScore: number\n}\n\nexport async function getAllUserNegativityScores(): Promise {\n const results = await db\n .select({\n userId: userIncidents.userId,\n totalNegativityScore: sql`sum(${userIncidents.negativityScore})`,\n })\n .from(userIncidents)\n .groupBy(userIncidents.userId)\n\n return results.map((result) => ({\n userId: result.userId,\n totalNegativityScore: Number(result.totalNegativityScore ?? 0),\n }))\n}\n\nexport async function getUserNegativityScore(userId: number): Promise {\n const [result] = await db\n .select({\n totalNegativityScore: sql`sum(${userIncidents.negativityScore})`,\n })\n .from(userIncidents)\n .where(eq(userIncidents.userId, userId))\n .limit(1)\n\n return Number(result?.totalNegativityScore ?? 0)\n}\n", "import { db } from '../db/db_index'\nimport { productInfo, keyValStore } from '../db/schema'\nimport { inArray, eq } from 'drizzle-orm'\n\n/**\n * Toggle flash delivery availability for specific products\n * @param isAvailable - Whether flash delivery should be available\n * @param productIds - Array of product IDs to update\n */\nexport async function toggleFlashDeliveryForItems(\n isAvailable: boolean,\n productIds: number[]\n): Promise {\n await db\n .update(productInfo)\n .set({ isFlashAvailable: isAvailable })\n .where(inArray(productInfo.id, productIds))\n}\n\n/**\n * Update key-value store\n * @param key - The key to update\n * @param value - The boolean value to set\n */\nexport async function toggleKeyVal(\n key: string,\n value: boolean\n): Promise {\n await db\n .update(keyValStore)\n .set({ value })\n .where(eq(keyValStore.key, key))\n}\n\n/**\n * Get all key-value store constants\n * @returns Array of all key-value pairs\n */\nexport async function getAllKeyValStore(): Promise> {\n return db.select().from(keyValStore)\n}\n", "import { db } from '../db/db_index'\nimport { keyValStore, productInfo } from '../db/schema'\n\n/**\n * Health check - test database connectivity\n * Tries to select from keyValStore first, falls back to productInfo\n */\nexport async function healthCheck(): Promise<{ status: string }> {\n try {\n // Try keyValStore first (smaller table)\n await db.select({ key: keyValStore.key }).from(keyValStore).limit(1)\n return { status: 'ok' }\n } catch {\n // Fallback to productInfo\n await db.select({ name: productInfo.name }).from(productInfo).limit(1)\n return { status: 'ok' }\n }\n}\n", "import { db } from '../db/db_index'\nimport { orders, orderItems, orderStatus, payments, refunds, couponUsage, complaints } from '../db/schema'\nimport { inArray } from 'drizzle-orm'\n\n/**\n * Delete orders and all their related records\n * @param orderIds Array of order IDs to delete\n * @returns Promise\n * @throws Error if deletion fails\n */\nexport async function deleteOrdersWithRelations(orderIds: number[]): Promise {\n if (orderIds.length === 0) {\n return\n }\n\n // Delete child records first (in correct order to avoid FK constraint errors)\n\n // 1. Delete coupon usage records\n await db.delete(couponUsage).where(inArray(couponUsage.orderId, orderIds))\n\n // 2. Delete complaints related to these orders\n await db.delete(complaints).where(inArray(complaints.orderId, orderIds))\n\n // 3. Delete refunds\n await db.delete(refunds).where(inArray(refunds.orderId, orderIds))\n\n // 4. Delete payments\n await db.delete(payments).where(inArray(payments.orderId, orderIds))\n\n // 5. Delete order status records\n await db.delete(orderStatus).where(inArray(orderStatus.orderId, orderIds))\n\n // 6. Delete order items\n await db.delete(orderItems).where(inArray(orderItems.orderId, orderIds))\n\n // 7. Finally delete the orders themselves\n await db.delete(orders).where(inArray(orders.id, orderIds))\n}\n", "import { and, eq } from 'drizzle-orm'\nimport { db } from '../db/db_index'\nimport { uploadUrlStatus } from '../db/schema'\n\nexport async function createUploadUrlStatus(key: string): Promise {\n await db.insert(uploadUrlStatus).values({\n key,\n status: 'pending',\n })\n}\n\nexport async function claimUploadUrlStatus(key: string): Promise {\n const result = await db\n .update(uploadUrlStatus)\n .set({ status: 'claimed' })\n .where(and(eq(uploadUrlStatus.key, key), eq(uploadUrlStatus.status, 'pending')))\n .returning()\n\n return result.length > 0\n}\n", "import { db } from '../db/db_index'\nimport { eq, and } from 'drizzle-orm'\n\n// ============================================================================\n// Unit Seed Helper\n// ============================================================================\n\nexport interface UnitSeedData {\n shortNotation: string\n fullName: string\n}\n\nexport async function seedUnits(unitsToSeed: UnitSeedData[]): Promise {\n for (const unit of unitsToSeed) {\n const { units: unitsTable } = await import('../db/schema')\n const existingUnit = await db.query.units.findFirst({\n where: eq(unitsTable.shortNotation, unit.shortNotation),\n })\n if (!existingUnit) {\n await db.insert(unitsTable).values(unit)\n }\n }\n}\n\n// ============================================================================\n// Staff Role Seed Helper\n// ============================================================================\n\n// Type for staff role names based on the enum values in schema\nexport type StaffRoleName = 'super_admin' | 'admin' | 'marketer' | 'delivery_staff'\n\nexport async function seedStaffRoles(rolesToSeed: StaffRoleName[]): Promise {\n for (const roleName of rolesToSeed) {\n const { staffRoles } = await import('../db/schema')\n const existingRole = await db.query.staffRoles.findFirst({\n where: eq(staffRoles.roleName, roleName),\n })\n if (!existingRole) {\n await db.insert(staffRoles).values({ roleName })\n }\n }\n}\n\n// ============================================================================\n// Staff Permission Seed Helper\n// ============================================================================\n\n// Type for staff permission names based on the enum values in schema\nexport type StaffPermissionName = 'crud_product' | 'make_coupon' | 'crud_staff_users'\n\nexport async function seedStaffPermissions(permissionsToSeed: StaffPermissionName[]): Promise {\n for (const permissionName of permissionsToSeed) {\n const { staffPermissions } = await import('../db/schema')\n const existingPermission = await db.query.staffPermissions.findFirst({\n where: eq(staffPermissions.permissionName, permissionName),\n })\n if (!existingPermission) {\n await db.insert(staffPermissions).values({ permissionName })\n }\n }\n}\n\n// ============================================================================\n// Role-Permission Assignment Helper\n// ============================================================================\n\nexport interface RolePermissionAssignment {\n roleName: StaffRoleName\n permissionName: StaffPermissionName\n}\n\nexport async function seedRolePermissions(assignments: RolePermissionAssignment[]): Promise {\n await db.transaction(async (tx) => {\n const { staffRoles, staffPermissions, staffRolePermissions } = await import('../db/schema')\n\n for (const assignment of assignments) {\n // Get role ID\n const role = await tx.query.staffRoles.findFirst({\n where: eq(staffRoles.roleName, assignment.roleName),\n })\n\n // Get permission ID\n const permission = await tx.query.staffPermissions.findFirst({\n where: eq(staffPermissions.permissionName, assignment.permissionName),\n })\n\n if (role && permission) {\n const existing = await tx.query.staffRolePermissions.findFirst({\n where: and(\n eq(staffRolePermissions.staffRoleId, role.id),\n eq(staffRolePermissions.staffPermissionId, permission.id)\n ),\n })\n if (!existing) {\n await tx.insert(staffRolePermissions).values({\n staffRoleId: role.id,\n staffPermissionId: permission.id,\n })\n }\n }\n }\n })\n}\n\n// ============================================================================\n// Key-Value Store Seed Helper\n// ============================================================================\n\nexport interface KeyValSeedData {\n key: string\n value: any\n}\n\nexport async function seedKeyValStore(constantsToSeed: KeyValSeedData[]): Promise {\n for (const constant of constantsToSeed) {\n const { keyValStore } = await import('../db/schema')\n const existing = await db.query.keyValStore.findFirst({\n where: eq(keyValStore.key, constant.key),\n })\n if (!existing) {\n await db.insert(keyValStore).values({\n key: constant.key,\n value: constant.value,\n })\n }\n }\n}\n", "// Database Helper - SQLite (Cloudflare D1)\n// Main entry point for the package\n\n// Re-export database connection\nexport { db, initDb } from './src/db/db_index'\n// Re-export schema\nexport * from './src/db/schema'\n\n// Export enum types for type safety\nexport { staffRoleEnum, staffPermissionEnum } from './src/db/schema'\n\n// Admin API helpers - explicitly namespaced exports to avoid duplicates\nexport {\n // Banner\n getBanners,\n getBannerById,\n createBanner,\n updateBanner,\n deleteBanner,\n} from './src/admin-apis/banner'\n\nexport {\n // Complaint\n getComplaints,\n resolveComplaint,\n} from './src/admin-apis/complaint'\n\nexport {\n // Constants\n getAllConstants,\n upsertConstants,\n getCacheVersion,\n incrementCacheVersion,\n} from './src/admin-apis/const'\n\nexport {\n // Coupon\n getAllCoupons,\n getCouponById,\n invalidateCoupon,\n validateCoupon,\n getReservedCoupons,\n getUsersForCoupon,\n createCouponWithRelations,\n updateCouponWithRelations,\n generateCancellationCoupon,\n createReservedCouponWithProducts,\n createCouponForUser,\n checkUsersExist,\n checkCouponExists,\n checkReservedCouponExists,\n getOrderWithUser,\n} from './src/admin-apis/coupon'\n\nexport {\n // Order\n updateOrderNotes,\n getOrderDetails,\n updateOrderPackaged,\n updateOrderDelivered,\n updateOrderItemPackaging,\n removeDeliveryCharge,\n getSlotOrders,\n updateAddressCoords,\n getAllOrders,\n rebalanceSlots,\n cancelOrder,\n deleteOrderById,\n} from './src/admin-apis/order'\n\nexport {\n // Product\n getAllProducts,\n getProductById,\n deleteProduct,\n createProduct,\n updateProduct,\n checkProductExistsByName,\n checkUnitExists,\n getProductImagesById,\n createSpecialDealsForProduct,\n updateProductDeals,\n replaceProductTags,\n toggleProductOutOfStock,\n updateSlotProducts,\n getSlotProductIds,\n getSlotsProductIds,\n getAllUnits,\n getAllProductTags,\n getAllProductTagInfos,\n getProductTagInfoById,\n createProductTag,\n getProductTagById,\n updateProductTag,\n deleteProductTag,\n checkProductTagExistsByName,\n getProductReviews,\n respondToReview,\n getAllProductGroups,\n createProductGroup,\n updateProductGroup,\n deleteProductGroup,\n addProductToGroup,\n removeProductFromGroup,\n updateProductPrices,\n} from './src/admin-apis/product'\n\nexport {\n // Slots\n getActiveSlotsWithProducts,\n getActiveSlots,\n getSlotsAfterDate,\n getSlotByIdWithRelations,\n createSlotWithRelations,\n updateSlotWithRelations,\n deleteSlotById,\n updateSlotCapacity,\n getSlotDeliverySequence,\n updateSlotDeliverySequence,\n} from './src/admin-apis/slots'\n\nexport {\n // Staff User\n getStaffUserByName,\n getStaffUserById,\n getAllStaff,\n getAllUsers,\n getUserWithDetails,\n updateUserSuspensionStatus,\n checkStaffUserExists,\n checkStaffRoleExists,\n createStaffUser,\n getAllRoles,\n} from './src/admin-apis/staff-user'\n\nexport {\n // Store\n getAllStores,\n getStoreById,\n createStore,\n updateStore,\n deleteStore,\n} from './src/admin-apis/store'\n\nexport {\n // User\n createUserByMobile,\n getUserByMobile,\n getUnresolvedComplaintsCount,\n getAllUsersWithFilters,\n getOrderCountsByUserIds,\n getLastOrdersByUserIds,\n getSuspensionStatusesByUserIds,\n getUserBasicInfo,\n getUserSuspensionStatus,\n getUserOrders,\n getOrderStatusesByOrderIds,\n getItemCountsByOrderIds,\n upsertUserSuspension,\n searchUsers,\n getAllNotifCreds,\n getAllUnloggedTokens,\n getNotifTokensByUserIds,\n getUserIncidentsWithRelations,\n createUserIncident,\n} from './src/admin-apis/user'\n\nexport {\n // Vendor Snippets\n checkVendorSnippetExists,\n getVendorSnippetById,\n getVendorSnippetByCode,\n getAllVendorSnippets,\n createVendorSnippet,\n updateVendorSnippet,\n deleteVendorSnippet,\n getProductsByIds,\n getVendorSlotById,\n getVendorOrdersBySlotId,\n getOrderItemsByOrderIds,\n getOrderStatusByOrderIds,\n updateVendorOrderItemPackaging,\n getVendorOrders,\n} from './src/admin-apis/vendor-snippets'\n\nexport {\n // User Address\n getDefaultAddress as getUserDefaultAddress,\n getUserAddresses,\n getUserAddressById,\n clearDefaultAddress as clearUserDefaultAddress,\n createUserAddress,\n updateUserAddress,\n deleteUserAddress,\n hasOngoingOrdersForAddress,\n} from './src/user-apis/address'\n\nexport {\n // User Banners\n getActiveBanners as getUserActiveBanners,\n} from './src/user-apis/banners'\n\nexport {\n // User Cart\n getCartItemsWithProducts as getUserCartItemsWithProducts,\n getProductById as getUserProductById,\n getCartItemByUserProduct as getUserCartItemByUserProduct,\n incrementCartItemQuantity as incrementUserCartItemQuantity,\n insertCartItem as insertUserCartItem,\n updateCartItemQuantity as updateUserCartItemQuantity,\n deleteCartItem as deleteUserCartItem,\n clearUserCart,\n} from './src/user-apis/cart'\n\nexport {\n // User Complaint\n getUserComplaints as getUserComplaints,\n createComplaint as createUserComplaint,\n} from './src/user-apis/complaint'\n\nexport {\n // User Stores\n getStoreSummaries as getUserStoreSummaries,\n getStoreDetail as getUserStoreDetail,\n} from './src/user-apis/stores'\n\nexport {\n // User Product\n getProductDetailById as getUserProductDetailById,\n getProductReviews as getUserProductReviews,\n getProductById as getUserProductByIdBasic,\n createProductReview as createUserProductReview,\n getAllProductsWithUnits,\n type ProductSummaryData,\n} from './src/user-apis/product'\n\nexport {\n // User Slots\n getActiveSlotsList as getUserActiveSlotsList,\n getProductAvailability as getUserProductAvailability,\n} from './src/user-apis/slots'\n\nexport {\n // User Payments\n getOrderById as getUserPaymentOrderById,\n getPaymentByOrderId as getUserPaymentByOrderId,\n getPaymentByMerchantOrderId as getUserPaymentByMerchantOrderId,\n updatePaymentSuccess as updateUserPaymentSuccess,\n updateOrderPaymentStatus as updateUserOrderPaymentStatus,\n markPaymentFailed as markUserPaymentFailed,\n} from './src/user-apis/payments'\n\nexport {\n // User Auth\n getUserByEmail as getUserAuthByEmail,\n getUserByMobile as getUserAuthByMobile,\n getUserById as getUserAuthById,\n getUserCreds as getUserAuthCreds,\n getUserDetails as getUserAuthDetails,\n isUserSuspended,\n createUserWithCreds as createUserAuthWithCreds,\n createUserWithMobile as createUserAuthWithMobile,\n upsertUserPassword as upsertUserAuthPassword,\n deleteUserAccount as deleteUserAuthAccount,\n // UV API helpers\n createUserWithProfile,\n getUserDetailsByUserId,\n updateUserProfile,\n} from './src/user-apis/auth'\n\nexport {\n // User Coupon\n getActiveCouponsWithRelations as getUserActiveCouponsWithRelations,\n getAllCouponsWithRelations as getUserAllCouponsWithRelations,\n getReservedCouponByCode as getUserReservedCouponByCode,\n redeemReservedCoupon as redeemUserReservedCoupon,\n} from './src/user-apis/coupon'\n\nexport {\n // User Profile\n getUserById as getUserProfileById,\n getUserDetailByUserId as getUserProfileDetailById,\n getUserWithCreds as getUserWithCreds,\n getNotifCred as getUserNotifCred,\n upsertNotifCred as upsertUserNotifCred,\n deleteUnloggedToken as deleteUserUnloggedToken,\n getUnloggedToken as getUserUnloggedToken,\n upsertUnloggedToken as upsertUserUnloggedToken,\n} from './src/user-apis/user'\n\nexport {\n // User Order\n validateAndGetCoupon as validateAndGetUserCoupon,\n applyDiscountToOrder as applyDiscountToUserOrder,\n getAddressByIdAndUser as getUserAddressByIdAndUser,\n getProductById as getOrderProductById,\n checkUserSuspended,\n getSlotCapacityStatus as getUserSlotCapacityStatus,\n placeOrderTransaction as placeUserOrderTransaction,\n deleteCartItemsForOrder as deleteUserCartItemsForOrder,\n recordCouponUsage as recordUserCouponUsage,\n getOrdersWithRelations as getUserOrdersWithRelations,\n getOrderCount as getUserOrderCount,\n getOrderByIdWithRelations as getUserOrderByIdWithRelations,\n getCouponUsageForOrder as getUserCouponUsageForOrder,\n getOrderBasic as getUserOrderBasic,\n cancelOrderTransaction as cancelUserOrderTransaction,\n updateOrderNotes as updateUserOrderNotes,\n getRecentlyDeliveredOrderIds as getUserRecentlyDeliveredOrderIds,\n getProductIdsFromOrders as getUserProductIdsFromOrders,\n getProductsForRecentOrders as getUserProductsForRecentOrders,\n // Post-order handler helpers\n getOrdersByIdsWithFullData,\n getOrderByIdWithFullData,\n type OrderWithFullData,\n type OrderWithCancellationData,\n} from './src/user-apis/order'\n\n// Store Helpers (for cache initialization)\nexport {\n // Banner Store\n getAllBannersForCache,\n type BannerData,\n // Product Store\n getAllProductsForCache,\n getAllStoresForCache,\n getAllDeliverySlotsForCache,\n getAllSpecialDealsForCache,\n getAllProductTagsForCache,\n type ProductBasicData,\n type StoreBasicData,\n type DeliverySlotData,\n type SpecialDealData,\n type ProductTagData,\n // Product Tag Store\n getAllTagsForCache,\n getAllTagProductMappings,\n type TagBasicData,\n type TagProductMapping,\n // Slot Store\n getAllSlotsWithProductsForCache,\n type SlotWithProductsData,\n // User Negativity Store\n getAllUserNegativityScores,\n getUserNegativityScore,\n type UserNegativityData,\n} from './src/stores/store-helpers'\n\n// Automated Jobs Helpers\nexport {\n toggleFlashDeliveryForItems,\n toggleKeyVal,\n getAllKeyValStore,\n} from './src/lib/automated-jobs'\n\n// Health Check\nexport {\n healthCheck,\n} from './src/lib/health-check'\n\n// Common API Helpers\nexport {\n getSuspendedProductIds,\n getNextDeliveryDateWithCapacity,\n} from './src/user-apis/product'\n\nexport {\n getStoresSummary,\n} from './src/user-apis/stores'\n\n// Delete Orders Helper\nexport {\n deleteOrdersWithRelations,\n} from './src/lib/delete-orders'\n\n// Upload URL Helpers\nexport {\n createUploadUrlStatus,\n claimUploadUrlStatus,\n} from './src/helper_methods/upload-url'\n\n// Seed Helpers\nexport {\n seedUnits,\n seedStaffRoles,\n seedStaffPermissions,\n seedRolePermissions,\n seedKeyValStore,\n type UnitSeedData,\n type RolePermissionAssignment,\n type KeyValSeedData,\n type StaffRoleName,\n type StaffPermissionName,\n} from './src/lib/seed'\n", "// SQLite Importer - Intermediate layer to avoid direct db_helper_sqlite imports in dbService\n// This file re-exports everything from sqliteService\n\n// Re-export database connection\nexport { db, initDb } from 'sqliteService'\n\n// Re-export all schema exports\nexport * from 'sqliteService'\n\n// Re-export all helper methods from sqliteService\nexport {\n // Admin - Banner\n getBanners,\n getBannerById,\n createBanner,\n updateBanner,\n deleteBanner,\n // Admin - Complaint\n getComplaints,\n resolveComplaint,\n // Admin - Constants\n getAllConstants,\n upsertConstants,\n // Admin - Coupon\n getAllCoupons,\n getCouponById,\n invalidateCoupon,\n validateCoupon,\n getReservedCoupons,\n getUsersForCoupon,\n createCouponWithRelations,\n updateCouponWithRelations,\n generateCancellationCoupon,\n createReservedCouponWithProducts,\n createCouponForUser,\n checkUsersExist,\n checkCouponExists,\n checkReservedCouponExists,\n getOrderWithUser,\n // Admin - Order\n updateOrderNotes,\n getOrderDetails,\n updateOrderPackaged,\n updateOrderDelivered,\n updateOrderItemPackaging,\n removeDeliveryCharge,\n getSlotOrders,\n updateAddressCoords,\n getAllOrders,\n rebalanceSlots,\n cancelOrder,\n deleteOrderById,\n // Admin - Product\n getAllProducts,\n getProductById,\n deleteProduct,\n createProduct,\n updateProduct,\n checkProductExistsByName,\n checkUnitExists,\n getProductImagesById,\n createSpecialDealsForProduct,\n updateProductDeals,\n replaceProductTags,\n toggleProductOutOfStock,\n updateSlotProducts,\n getSlotProductIds,\n getSlotsProductIds,\n getAllUnits,\n getAllProductTags,\n getAllProductTagInfos,\n getProductTagInfoById,\n createProductTag,\n getProductTagById,\n updateProductTag,\n deleteProductTag,\n checkProductTagExistsByName,\n getProductReviews,\n respondToReview,\n getAllProductGroups,\n createProductGroup,\n updateProductGroup,\n deleteProductGroup,\n addProductToGroup,\n removeProductFromGroup,\n updateProductPrices,\n // Admin - Slots\n getActiveSlotsWithProducts,\n getActiveSlots,\n getSlotsAfterDate,\n getSlotByIdWithRelations,\n createSlotWithRelations,\n updateSlotWithRelations,\n deleteSlotById,\n updateSlotCapacity,\n getSlotDeliverySequence,\n updateSlotDeliverySequence,\n // Admin - Staff User\n getStaffUserByName,\n getStaffUserById,\n getAllStaff,\n getAllUsers,\n getUserWithDetails,\n updateUserSuspensionStatus,\n checkStaffUserExists,\n checkStaffRoleExists,\n createStaffUser,\n getAllRoles,\n // Admin - Store\n getAllStores,\n getStoreById,\n createStore,\n updateStore,\n deleteStore,\n // Admin - User\n createUserByMobile,\n getUserByMobile,\n getUnresolvedComplaintsCount,\n getAllUsersWithFilters,\n getOrderCountsByUserIds,\n getLastOrdersByUserIds,\n getSuspensionStatusesByUserIds,\n getUserBasicInfo,\n getUserSuspensionStatus,\n getUserOrders,\n getOrderStatusesByOrderIds,\n getItemCountsByOrderIds,\n upsertUserSuspension,\n searchUsers,\n getAllNotifCreds,\n getAllUnloggedTokens,\n getNotifTokensByUserIds,\n getUserIncidentsWithRelations,\n createUserIncident,\n // Admin - Vendor Snippets\n checkVendorSnippetExists,\n getVendorSnippetById,\n getVendorSnippetByCode,\n getAllVendorSnippets,\n createVendorSnippet,\n updateVendorSnippet,\n deleteVendorSnippet,\n getProductsByIds,\n getVendorSlotById,\n getVendorOrdersBySlotId,\n getOrderItemsByOrderIds,\n getOrderStatusByOrderIds,\n updateVendorOrderItemPackaging,\n getVendorOrders,\n // User - Address\n getUserDefaultAddress,\n getUserAddresses,\n getUserAddressById,\n clearUserDefaultAddress,\n createUserAddress,\n updateUserAddress,\n deleteUserAddress,\n hasOngoingOrdersForAddress,\n // User - Banners\n getUserActiveBanners,\n // User - Cart\n getUserCartItemsWithProducts,\n getUserProductById,\n getUserCartItemByUserProduct,\n incrementUserCartItemQuantity,\n insertUserCartItem,\n updateUserCartItemQuantity,\n deleteUserCartItem,\n clearUserCart,\n // User - Complaint\n getUserComplaints,\n createUserComplaint,\n // User - Stores\n getUserStoreSummaries,\n getUserStoreDetail,\n // User - Product\n getUserProductDetailById,\n getUserProductReviews,\n getUserProductByIdBasic,\n createUserProductReview,\n getAllProductsWithUnits,\n type ProductSummaryData,\n // User - Slots\n getUserActiveSlotsList,\n getUserProductAvailability,\n // User - Payments\n getUserPaymentOrderById,\n getUserPaymentByOrderId,\n getUserPaymentByMerchantOrderId,\n updateUserPaymentSuccess,\n updateUserOrderPaymentStatus,\n markUserPaymentFailed,\n // User - Auth\n getUserAuthByEmail,\n getUserAuthByMobile,\n getUserAuthById,\n getUserAuthCreds,\n getUserAuthDetails,\n isUserSuspended,\n createUserAuthWithCreds,\n createUserAuthWithMobile,\n upsertUserAuthPassword,\n deleteUserAuthAccount,\n // UV API helpers\n createUserWithProfile,\n getUserDetailsByUserId,\n updateUserProfile,\n // User - Coupon\n getUserActiveCouponsWithRelations,\n getUserAllCouponsWithRelations,\n getUserReservedCouponByCode,\n redeemUserReservedCoupon,\n // User - Profile\n getUserProfileById,\n getUserProfileDetailById,\n getUserWithCreds,\n getUserNotifCred,\n upsertUserNotifCred,\n deleteUserUnloggedToken,\n getUserUnloggedToken,\n upsertUserUnloggedToken,\n // User - Order\n validateAndGetUserCoupon,\n applyDiscountToUserOrder,\n getUserAddressByIdAndUser,\n getOrderProductById,\n checkUserSuspended,\n getUserSlotCapacityStatus,\n placeUserOrderTransaction,\n deleteUserCartItemsForOrder,\n recordUserCouponUsage,\n getUserOrdersWithRelations,\n getUserOrderCount,\n getUserOrderByIdWithRelations,\n getUserCouponUsageForOrder,\n getUserOrderBasic,\n cancelUserOrderTransaction,\n updateUserOrderNotes,\n getUserRecentlyDeliveredOrderIds,\n getUserProductIdsFromOrders,\n getUserProductsForRecentOrders,\n // Store Helpers\n getAllBannersForCache,\n getAllProductsForCache,\n getAllStoresForCache,\n getAllDeliverySlotsForCache,\n getAllSpecialDealsForCache,\n getAllProductTagsForCache,\n getAllTagsForCache,\n getAllTagProductMappings,\n getAllSlotsWithProductsForCache,\n getAllUserNegativityScores,\n getUserNegativityScore,\n type BannerData,\n type ProductBasicData,\n type StoreBasicData,\n type DeliverySlotData,\n type SpecialDealData,\n type ProductTagData,\n type TagBasicData,\n type TagProductMapping,\n type SlotWithProductsData,\n type UserNegativityData,\n // Automated Jobs\n toggleFlashDeliveryForItems,\n toggleKeyVal,\n getAllKeyValStore,\n // Post-order handler helpers\n getOrdersByIdsWithFullData,\n getOrderByIdWithFullData,\n type OrderWithFullData,\n type OrderWithCancellationData,\n // Common API helpers\n getSuspendedProductIds,\n getNextDeliveryDateWithCapacity,\n getStoresSummary,\n healthCheck,\n // Delete orders helper\n deleteOrdersWithRelations,\n // Seed helpers\n seedUnits,\n seedStaffRoles,\n seedStaffPermissions,\n seedRolePermissions,\n seedKeyValStore,\n type UnitSeedData,\n type RolePermissionAssignment,\n type KeyValSeedData,\n type StaffRoleName,\n type StaffPermissionName,\n // Upload URL Helpers\n createUploadUrlStatus,\n claimUploadUrlStatus,\n} from 'sqliteService'\n", "// Database Service - Central export for all database-related imports\n// This file re-exports everything from postgresImporter to provide a clean abstraction layer\n\nimport type { AdminOrderDetails } from '@packages/shared'\n// import { getOrderDetails } from '@/src/postgresImporter'\nimport { getOrderDetails, initDb } from '@/src/sqliteImporter'\n\n// Re-export everything from postgresImporter\n// export * from '@/src/postgresImporter'\n\nexport * from '@/src/sqliteImporter'\n\nexport { initDb }\n\n// Re-export getOrderDetails with the correct signature\nexport async function getOrderDetailsWrapper(orderId: number): Promise {\n return getOrderDetails(orderId)\n}\n\n// Re-export all types from shared package\nexport type {\n // Admin types\n Banner,\n Complaint,\n ComplaintWithUser,\n Constant,\n ConstantUpdateResult,\n Coupon,\n CouponValidationResult,\n UserMiniInfo,\n Store,\n StaffUser,\n StaffRole,\n AdminOrderRow,\n AdminOrderDetails,\n AdminOrderUpdateResult,\n AdminOrderItemPackagingResult,\n AdminOrderMessageResult,\n AdminOrderBasicResult,\n AdminGetSlotOrdersResult,\n AdminGetAllOrdersResult,\n AdminGetAllOrdersResultWithUserId,\n AdminRebalanceSlotsResult,\n AdminCancelOrderResult,\n AdminUnit,\n AdminProduct,\n AdminProductWithRelations,\n AdminProductWithDetails,\n AdminProductTagInfo,\n AdminProductTagWithProducts,\n AdminProductListResponse,\n AdminProductResponse,\n AdminDeleteProductResult,\n AdminToggleOutOfStockResult,\n AdminUpdateSlotProductsResult,\n AdminSlotProductIdsResult,\n AdminSlotsProductIdsResult,\n AdminProductReview,\n AdminProductReviewWithSignedUrls,\n AdminProductReviewsResult,\n AdminProductReviewResponse,\n AdminProductGroup,\n AdminProductGroupsResult,\n AdminProductGroupResponse,\n AdminProductGroupInfo,\n AdminUpdateProductPricesResult,\n AdminDeliverySlot,\n AdminSlotProductSummary,\n AdminSlotWithProducts,\n AdminSlotWithProductsAndSnippets,\n AdminSlotWithProductsAndSnippetsBase,\n AdminSlotsResult,\n AdminSlotsListResult,\n AdminSlotResult,\n AdminSlotCreateResult,\n AdminSlotUpdateResult,\n AdminSlotDeleteResult,\n AdminDeliverySequence,\n AdminDeliverySequenceResult,\n AdminUpdateDeliverySequenceResult,\n AdminUpdateSlotCapacityResult,\n AdminVendorSnippet,\n AdminVendorSnippetWithAccess,\n AdminVendorSnippetWithSlot,\n AdminVendorSnippetProduct,\n AdminVendorSnippetWithProducts,\n AdminVendorSnippetCreateInput,\n AdminVendorSnippetUpdateInput,\n AdminVendorSnippetDeleteResult,\n AdminVendorSnippetOrderProduct,\n AdminVendorSnippetOrderSummary,\n AdminVendorSnippetOrdersResult,\n AdminVendorSnippetOrdersWithSlotResult,\n AdminVendorOrderSummary,\n AdminUpcomingSlotsResult,\n AdminVendorUpdatePackagingResult,\n UserAddress,\n UserAddressResponse,\n UserAddressesResponse,\n UserAddressDeleteResponse,\n UserBanner,\n UserBannersResponse,\n UserCartProduct,\n UserCartItem,\n UserCartResponse,\n UserComplaint,\n UserComplaintsResponse,\n UserRaiseComplaintResponse,\n UserStoreSummary,\n UserStoreSummaryData,\n UserStoresResponse,\n UserStoreSampleProduct,\n UserStoreSampleProductData,\n UserStoreDetail,\n UserStoreDetailData,\n UserStoreProduct,\n UserStoreProductData,\n UserTagSummary,\n UserProductDetail,\n UserProductDetailData,\n UserProductReview,\n UserProductReviewWithSignedUrls,\n UserProductReviewsResponse,\n UserCreateReviewResponse,\n UserSlotProduct,\n UserSlotWithProducts,\n UserSlotData,\n UserSlotAvailability,\n UserDeliverySlot,\n UserSlotsResponse,\n UserSlotsWithProductsResponse,\n UserSlotsListResponse,\n UserPaymentOrderResponse,\n UserPaymentVerifyResponse,\n UserPaymentFailResponse,\n UserAuthProfile,\n UserAuthResponse,\n UserAuthResult,\n UserOtpVerifyResponse,\n UserPasswordUpdateResponse,\n UserProfileResponse,\n UserDeleteAccountResponse,\n UserCouponUsage,\n UserCouponApplicableUser,\n UserCouponApplicableProduct,\n UserCoupon,\n UserCouponWithRelations,\n UserEligibleCouponsResponse,\n UserCouponDisplay,\n UserMyCouponsResponse,\n UserRedeemCouponResponse,\n UserSelfDataResponse,\n UserProfileCompleteResponse,\n UserSavePushTokenResponse,\n UserOrderItemSummary,\n UserOrderSummary,\n UserOrdersResponse,\n UserOrderDetail,\n UserCancelOrderResponse,\n UserUpdateNotesResponse,\n UserRecentProduct,\n UserRecentProductsResponse,\n // Store types\n StoreSummary,\n StoresSummaryResponse,\n} from '@packages/shared';\n\nexport type {\n // User types\n User,\n UserDetails,\n Address,\n Product,\n CartItem,\n Order,\n OrderItem,\n Payment,\n} from '@packages/shared';\n", "export const CONST_KEYS = {\n minRegularOrderValue: 'minRegularOrderValue',\n freeDeliveryThreshold: 'freeDeliveryThreshold',\n deliveryCharge: 'deliveryCharge',\n flashFreeDeliveryThreshold: 'flashFreeDeliveryThreshold',\n flashDeliveryCharge: 'flashDeliveryCharge',\n platformFeePercent: 'platformFeePercent',\n taxRate: 'taxRate',\n tester: 'tester',\n minOrderAmountForCoupon: 'minOrderAmountForCoupon',\n maxCouponDiscount: 'maxCouponDiscount',\n flashDeliverySlotId: 'flashDeliverySlotId',\n readableOrderId: 'readableOrderId',\n versionNum: 'versionNum',\n playStoreUrl: 'playStoreUrl',\n appStoreUrl: 'appStoreUrl',\n popularItems: 'popularItems',\n allItemsOrder: 'allItemsOrder',\n isFlashDeliveryEnabled: 'isFlashDeliveryEnabled',\n supportMobile: 'supportMobile',\n supportEmail: 'supportEmail',\n} as const;\n\nexport const CONST_LABELS: Record = {\n minRegularOrderValue: 'Minimum Regular Order Value',\n freeDeliveryThreshold: 'Free Delivery Threshold',\n deliveryCharge: 'Delivery Charge',\n flashFreeDeliveryThreshold: 'Flash Free Delivery Threshold',\n flashDeliveryCharge: 'Flash Delivery Charge',\n platformFeePercent: 'Platform Fee Percent',\n taxRate: 'Tax Rate',\n tester: 'Tester',\n minOrderAmountForCoupon: 'Minimum Order Amount for Coupon',\n maxCouponDiscount: 'Maximum Coupon Discount',\n flashDeliverySlotId: 'Flash Delivery Slot ID',\n readableOrderId: 'Readable Order ID',\n versionNum: 'Version Number',\n playStoreUrl: 'Play Store URL',\n appStoreUrl: 'App Store URL',\n popularItems: 'Popular Items',\n allItemsOrder: 'All Items Order',\n isFlashDeliveryEnabled: 'Enable Flash Delivery',\n supportMobile: 'Support Mobile',\n supportEmail: 'Support Email',\n};\n\nexport type ConstKey = (typeof CONST_KEYS)[keyof typeof CONST_KEYS];\n\nexport const CONST_KEYS_ARRAY = Object.values(CONST_KEYS) as ConstKey[];\n", "import { getAllKeyValStore } from '@/src/dbService'\n// import redisClient from '@/src/lib/redis-client'\nimport { CONST_KEYS, CONST_KEYS_ARRAY, type ConstKey } from '@/src/lib/const-keys'\n\n// const CONST_REDIS_PREFIX = 'const:';\n\nexport const computeConstants = async (): Promise => {\n try {\n console.log('Computing constants from database...');\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { keyValStore } from '@/src/db/schema'\n\n const constants = await db.select().from(keyValStore);\n */\n\n const constants = await getAllKeyValStore();\n\n // for (const constant of constants) {\n // const redisKey = `${CONST_REDIS_PREFIX}${constant.key}`;\n // const value = JSON.stringify(constant.value);\n // await redisClient.set(redisKey, value);\n // }\n\n console.log(`Computed ${constants.length} constants from DB`);\n } catch (error) {\n console.error('Failed to compute constants:', error);\n throw error;\n }\n};\n\nexport const getConstant = async (key: string): Promise => {\n // const redisKey = `${CONST_REDIS_PREFIX}${key}`;\n // const value = await redisClient.get(redisKey);\n //\n // if (!value) {\n // return null;\n // }\n //\n // try {\n // return JSON.parse(value) as T;\n // } catch {\n // return value as unknown as T;\n // }\n\n const constants = await getAllKeyValStore();\n const entry = constants.find(c => c.key === key);\n\n if (!entry) {\n return null;\n }\n\n return entry.value as T;\n};\n\nexport const getConstants = async (keys: string[]): Promise> => {\n // const redisKeys = keys.map(key => `${CONST_REDIS_PREFIX}${key}`);\n // const values = await redisClient.MGET(redisKeys);\n //\n // const result: Record = {};\n // keys.forEach((key, index) => {\n // const value = values[index];\n // if (!value) {\n // result[key] = null;\n // } else {\n // try {\n // result[key] = JSON.parse(value) as T;\n // } catch {\n // result[key] = value as unknown as T;\n // }\n // }\n // });\n //\n // return result;\n\n const constants = await getAllKeyValStore();\n const constantsMap = new Map(constants.map(c => [c.key, c.value]));\n\n const result: Record = {};\n for (const key of keys) {\n const value = constantsMap.get(key);\n result[key] = (value !== undefined ? value : null) as T | null;\n }\n\n return result;\n};\n\nexport const getAllConstValues = async (): Promise> => {\n // const result: Record = {};\n //\n // for (const key of CONST_KEYS_ARRAY) {\n // result[key] = await getConstant(key);\n // }\n //\n // return result as Record;\n\n const constants = await getAllKeyValStore();\n const constantsMap = new Map(constants.map(c => [c.key, c.value]));\n\n const result: Record = {};\n for (const key of CONST_KEYS_ARRAY) {\n result[key] = constantsMap.get(key) ?? null;\n }\n\n return result as Record;\n};\n\nexport { CONST_KEYS, CONST_KEYS_ARRAY };\n", "export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n return {\n setHttpHandler(handler) {\n runtimeConfig.httpHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.httpHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.httpHandler.httpHandlerConfigs();\n },\n };\n};\nexport const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n", "export * from \"./httpExtensionConfiguration\";\n", "export {};\n", "export var HttpAuthLocation;\n(function (HttpAuthLocation) {\n HttpAuthLocation[\"HEADER\"] = \"header\";\n HttpAuthLocation[\"QUERY\"] = \"query\";\n})(HttpAuthLocation || (HttpAuthLocation = {}));\n", "export var HttpApiKeyAuthLocation;\n(function (HttpApiKeyAuthLocation) {\n HttpApiKeyAuthLocation[\"HEADER\"] = \"header\";\n HttpApiKeyAuthLocation[\"QUERY\"] = \"query\";\n})(HttpApiKeyAuthLocation || (HttpApiKeyAuthLocation = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./auth\";\nexport * from \"./HttpApiKeyAuth\";\nexport * from \"./HttpAuthScheme\";\nexport * from \"./HttpAuthSchemeProvider\";\nexport * from \"./HttpSigner\";\nexport * from \"./IdentityProviderConfig\";\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./config\";\nexport * from \"./manager\";\nexport * from \"./pool\";\n", "export {};\n", "export {};\n", "export var EndpointURLScheme;\n(function (EndpointURLScheme) {\n EndpointURLScheme[\"HTTP\"] = \"http\";\n EndpointURLScheme[\"HTTPS\"] = \"https\";\n})(EndpointURLScheme || (EndpointURLScheme = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./shared\";\nexport * from \"./TreeRuleObject\";\n", "export {};\n", "export var AlgorithmId;\n(function (AlgorithmId) {\n AlgorithmId[\"MD5\"] = \"md5\";\n AlgorithmId[\"CRC32\"] = \"crc32\";\n AlgorithmId[\"CRC32C\"] = \"crc32c\";\n AlgorithmId[\"SHA1\"] = \"sha1\";\n AlgorithmId[\"SHA256\"] = \"sha256\";\n})(AlgorithmId || (AlgorithmId = {}));\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n if (runtimeConfig.sha256 !== undefined) {\n checksumAlgorithms.push({\n algorithmId: () => AlgorithmId.SHA256,\n checksumConstructor: () => runtimeConfig.sha256,\n });\n }\n if (runtimeConfig.md5 != undefined) {\n checksumAlgorithms.push({\n algorithmId: () => AlgorithmId.MD5,\n checksumConstructor: () => runtimeConfig.md5,\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n", "import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nexport const getDefaultClientConfiguration = (runtimeConfig) => {\n return getChecksumConfiguration(runtimeConfig);\n};\nexport const resolveDefaultRuntimeConfig = (config) => {\n return resolveChecksumRuntimeConfig(config);\n};\n", "export {};\n", "export * from \"./defaultClientConfiguration\";\nexport * from \"./defaultExtensionConfiguration\";\nexport { AlgorithmId } from \"./checksum\";\n", "export {};\n", "export var FieldPosition;\n(function (FieldPosition) {\n FieldPosition[FieldPosition[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition[FieldPosition[\"TRAILER\"] = 1] = \"TRAILER\";\n})(FieldPosition || (FieldPosition = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./apiKeyIdentity\";\nexport * from \"./awsCredentialIdentity\";\nexport * from \"./identity\";\nexport * from \"./tokenIdentity\";\n", "export {};\n", "export const SMITHY_CONTEXT_KEY = \"__smithy_context\";\n", "export {};\n", "export var IniSectionType;\n(function (IniSectionType) {\n IniSectionType[\"PROFILE\"] = \"profile\";\n IniSectionType[\"SSO_SESSION\"] = \"sso-session\";\n IniSectionType[\"SERVICES\"] = \"services\";\n})(IniSectionType || (IniSectionType = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export var RequestHandlerProtocol;\n(function (RequestHandlerProtocol) {\n RequestHandlerProtocol[\"HTTP_0_9\"] = \"http/0.9\";\n RequestHandlerProtocol[\"HTTP_1_0\"] = \"http/1.0\";\n RequestHandlerProtocol[\"TDS_8_0\"] = \"tds/8.0\";\n})(RequestHandlerProtocol || (RequestHandlerProtocol = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./abort\";\nexport * from \"./auth\";\nexport * from \"./blob/blob-payload-input-types\";\nexport * from \"./checksum\";\nexport * from \"./client\";\nexport * from \"./command\";\nexport * from \"./connection\";\nexport * from \"./crypto\";\nexport * from \"./encode\";\nexport * from \"./endpoint\";\nexport * from \"./endpoints\";\nexport * from \"./eventStream\";\nexport * from \"./extensions\";\nexport * from \"./feature-ids\";\nexport * from \"./http\";\nexport * from \"./http/httpHandlerInitialization\";\nexport * from \"./identity\";\nexport * from \"./logger\";\nexport * from \"./middleware\";\nexport * from \"./pagination\";\nexport * from \"./profile\";\nexport * from \"./response\";\nexport * from \"./retry\";\nexport * from \"./schema/schema\";\nexport * from \"./schema/traits\";\nexport * from \"./schema/schema-deprecated\";\nexport * from \"./schema/sentinels\";\nexport * from \"./schema/static-schemas\";\nexport * from \"./serde\";\nexport * from \"./shapes\";\nexport * from \"./signature\";\nexport * from \"./stream\";\nexport * from \"./streaming-payload/streaming-blob-common-types\";\nexport * from \"./streaming-payload/streaming-blob-payload-input-types\";\nexport * from \"./streaming-payload/streaming-blob-payload-output-types\";\nexport * from \"./transfer\";\nexport * from \"./transform/client-payload-blob-type-narrow\";\nexport * from \"./transform/mutable\";\nexport * from \"./transform/no-undefined\";\nexport * from \"./transform/type-transform\";\nexport * from \"./uri\";\nexport * from \"./util\";\nexport * from \"./waiter\";\n", "import { FieldPosition } from \"@smithy/types\";\nexport class Field {\n name;\n kind;\n values;\n constructor({ name, kind = FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values.map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v)).join(\", \");\n }\n get() {\n return this.values;\n }\n}\n", "export class Fields {\n entries = {};\n encoding;\n constructor({ fields = [], encoding = \"utf-8\" }) {\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\n", "export {};\n", "export class HttpRequest {\n method;\n protocol;\n hostname;\n port;\n path;\n query;\n headers;\n username;\n password;\n fragment;\n body;\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.slice(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n this.username = options.username;\n this.password = options.password;\n this.fragment = options.fragment;\n }\n static clone(request) {\n const cloned = new HttpRequest({\n ...request,\n headers: { ...request.headers },\n });\n if (cloned.query) {\n cloned.query = cloneQuery(cloned.query);\n }\n return cloned;\n }\n static isInstance(request) {\n if (!request) {\n return false;\n }\n const req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n }\n clone() {\n return HttpRequest.clone(this);\n }\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n", "export class HttpResponse {\n statusCode;\n reason;\n headers;\n body;\n constructor(options) {\n this.statusCode = options.statusCode;\n this.reason = options.reason;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n", "export function isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n", "export {};\n", "export * from \"./extensions\";\nexport * from \"./Field\";\nexport * from \"./Fields\";\nexport * from \"./httpHandler\";\nexport * from \"./httpRequest\";\nexport * from \"./httpResponse\";\nexport * from \"./isValidHostname\";\nexport * from \"./types\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport function addExpectContinueMiddleware(options) {\n return (next) => async (args) => {\n const { request } = args;\n if (options.expectContinueHeader !== false &&\n HttpRequest.isInstance(request) &&\n request.body &&\n options.runtime === \"node\" &&\n options.requestHandler?.constructor?.name !== \"FetchHttpHandler\") {\n let sendHeader = true;\n if (typeof options.expectContinueHeader === \"number\") {\n try {\n const bodyLength = Number(request.headers?.[\"content-length\"]) ?? options.bodyLengthChecker?.(request.body) ?? Infinity;\n sendHeader = bodyLength >= options.expectContinueHeader;\n }\n catch (e) { }\n }\n else {\n sendHeader = !!options.expectContinueHeader;\n }\n if (sendHeader) {\n request.headers.Expect = \"100-continue\";\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const addExpectContinueMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_EXPECT_HEADER\", \"EXPECT_HEADER\"],\n name: \"addExpectContinueMiddleware\",\n override: true,\n};\nexport const getAddExpectContinuePlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(addExpectContinueMiddleware(options), addExpectContinueMiddlewareOptions);\n },\n});\n", "export const RequestChecksumCalculation = {\n WHEN_SUPPORTED: \"WHEN_SUPPORTED\",\n WHEN_REQUIRED: \"WHEN_REQUIRED\",\n};\nexport const DEFAULT_REQUEST_CHECKSUM_CALCULATION = RequestChecksumCalculation.WHEN_SUPPORTED;\nexport const ResponseChecksumValidation = {\n WHEN_SUPPORTED: \"WHEN_SUPPORTED\",\n WHEN_REQUIRED: \"WHEN_REQUIRED\",\n};\nexport const DEFAULT_RESPONSE_CHECKSUM_VALIDATION = RequestChecksumCalculation.WHEN_SUPPORTED;\nexport var ChecksumAlgorithm;\n(function (ChecksumAlgorithm) {\n ChecksumAlgorithm[\"MD5\"] = \"MD5\";\n ChecksumAlgorithm[\"CRC32\"] = \"CRC32\";\n ChecksumAlgorithm[\"CRC32C\"] = \"CRC32C\";\n ChecksumAlgorithm[\"CRC64NVME\"] = \"CRC64NVME\";\n ChecksumAlgorithm[\"SHA1\"] = \"SHA1\";\n ChecksumAlgorithm[\"SHA256\"] = \"SHA256\";\n})(ChecksumAlgorithm || (ChecksumAlgorithm = {}));\nexport var ChecksumLocation;\n(function (ChecksumLocation) {\n ChecksumLocation[\"HEADER\"] = \"header\";\n ChecksumLocation[\"TRAILER\"] = \"trailer\";\n})(ChecksumLocation || (ChecksumLocation = {}));\nexport const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;\n", "import { DEFAULT_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation } from \"./constants\";\nimport { SelectorType, stringUnionSelector } from \"./stringUnionSelector\";\nexport const ENV_REQUEST_CHECKSUM_CALCULATION = \"AWS_REQUEST_CHECKSUM_CALCULATION\";\nexport const CONFIG_REQUEST_CHECKSUM_CALCULATION = \"request_checksum_calculation\";\nexport const NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => stringUnionSelector(env, ENV_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType.ENV),\n configFileSelector: (profile) => stringUnionSelector(profile, CONFIG_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType.CONFIG),\n default: DEFAULT_REQUEST_CHECKSUM_CALCULATION,\n};\n", "import { DEFAULT_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation } from \"./constants\";\nimport { SelectorType, stringUnionSelector } from \"./stringUnionSelector\";\nexport const ENV_RESPONSE_CHECKSUM_VALIDATION = \"AWS_RESPONSE_CHECKSUM_VALIDATION\";\nexport const CONFIG_RESPONSE_CHECKSUM_VALIDATION = \"response_checksum_validation\";\nexport const NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => stringUnionSelector(env, ENV_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType.ENV),\n configFileSelector: (profile) => stringUnionSelector(profile, CONFIG_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType.CONFIG),\n default: DEFAULT_RESPONSE_CHECKSUM_VALIDATION,\n};\n", "export const state = {\n warningEmitted: false,\n};\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 20) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${version} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`);\n }\n};\n", "export function setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n", "export function setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n", "export function setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n", "export * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./setCredentialFeature\";\nexport * from \"./setFeature\";\nexport * from \"./setTokenFeature\";\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nexport const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\n", "export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n", "import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n", "import { isClockSkewed } from \"./isClockSkewed\";\nexport const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n", "export * from \"./getDateHeader\";\nexport * from \"./getSkewCorrectedDate\";\nexport * from \"./getUpdatedSystemClockOffset\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from \"../utils\";\nconst throwSigningPropertyError = (name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n};\nexport const validateSigningProperties = async (signingProperties) => {\n const context = throwSigningPropertyError(\"context\", signingProperties.context);\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\"signer\", config.signer);\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName,\n };\n};\nexport class AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: signingRegion,\n signingService: signingName,\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n}\nexport const AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSkewCorrectedDate } from \"../utils\";\nimport { AwsSdkSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ??\n signingRegionSet ?? [signingRegion]).join(\",\");\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName,\n });\n return signedRequest;\n }\n}\n", "export const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\\s-]/g, \"_\").toUpperCase()}`;\n", "import { getArrayForCommaSeparatedString } from \"../utils/getArrayForCommaSeparatedString\";\nimport { getBearerTokenEnvKey } from \"../utils/getBearerTokenEnvKey\";\nconst NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = \"AWS_AUTH_SCHEME_PREFERENCE\";\nconst NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = \"auth_scheme_preference\";\nexport const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {\n environmentVariableSelector: (env, options) => {\n if (options?.signingName) {\n const bearerTokenKey = getBearerTokenEnvKey(options.signingName);\n if (bearerTokenKey in env)\n return [\"httpBearerAuth\"];\n }\n if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))\n return undefined;\n return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);\n },\n configFileSelector: (profile) => {\n if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))\n return undefined;\n return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);\n },\n default: [],\n};\n", "import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n", "import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n", "export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n", "export * from \"./getSmithyContext\";\nexport * from \"./normalizeProvider\";\n", "export const resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {\n if (!authSchemePreference || authSchemePreference.length === 0) {\n return candidateAuthOptions;\n }\n const preferredAuthOptions = [];\n for (const preferredSchemeName of authSchemePreference) {\n for (const candidateAuthOption of candidateAuthOptions) {\n const candidateAuthSchemeName = candidateAuthOption.schemeId.split(\"#\")[1];\n if (candidateAuthSchemeName === preferredSchemeName) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n }\n for (const candidateAuthOption of candidateAuthOptions) {\n if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n return preferredAuthOptions;\n};\n", "import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { resolveAuthOptions } from \"./resolveAuthOptions\";\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\nexport const httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input));\n const authSchemePreference = config.authSchemePreference ? await config.authSchemePreference() : [];\n const resolvedOptions = resolveAuthOptions(options, authSchemePreference);\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of resolvedOptions) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer,\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n};\n", "import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n", "import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"serializerMiddleware\",\n};\nexport const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeMiddlewareOptions);\n },\n});\n", "export * from \"./httpAuthSchemeMiddleware\";\nexport * from \"./getHttpAuthSchemeEndpointRuleSetPlugin\";\nexport * from \"./getHttpAuthSchemePlugin\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n", "import { httpSigningMiddleware } from \"./httpSigningMiddleware\";\nexport const httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n", "export * from \"./httpSigningMiddleware\";\nexport * from \"./getHttpSigningMiddleware\";\n", "export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n", "const makePagedClientRequest = async (CommandCtor, client, input, withCommand = (_) => _, ...args) => {\n let command = new CommandCtor(input);\n command = withCommand(command) ?? command;\n return await client.send(command, ...args);\n};\nexport function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return async function* paginateOperation(config, input, ...additionalArguments) {\n const _input = input;\n let token = config.startingToken ?? _input[inputTokenName];\n let hasNext = true;\n let page;\n while (hasNext) {\n _input[inputTokenName] = token;\n if (pageSizeTokenName) {\n _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config.pageSize;\n }\n if (config.client instanceof ClientCtor) {\n page = await makePagedClientRequest(CommandCtor, config.client, input, config.withCommand, ...additionalArguments);\n }\n else {\n throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);\n }\n yield page;\n const prevToken = token;\n token = get(page, outputTokenName);\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n };\n}\nconst get = (fromObject, path) => {\n let cursor = fromObject;\n const pathComponents = path.split(\".\");\n for (const step of pathComponents) {\n if (!cursor || typeof cursor !== \"object\") {\n return undefined;\n }\n cursor = cursor[step];\n }\n return cursor;\n};\n", "const chars = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;\nexport const alphabetByEncoding = Object.entries(chars).reduce((acc, [i, c]) => {\n acc[c] = Number(i);\n return acc;\n}, {});\nexport const alphabetByValue = chars.split(\"\");\nexport const bitsPerLetter = 6;\nexport const bitsPerByte = 8;\nexport const maxLetterValue = 0b111111;\n", "import { alphabetByEncoding, bitsPerByte, bitsPerLetter } from \"./constants.browser\";\nexport const fromBase64 = (input) => {\n let totalByteLength = (input.length / 4) * 3;\n if (input.slice(-2) === \"==\") {\n totalByteLength -= 2;\n }\n else if (input.slice(-1) === \"=\") {\n totalByteLength--;\n }\n const out = new ArrayBuffer(totalByteLength);\n const dataView = new DataView(out);\n for (let i = 0; i < input.length; i += 4) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = i + 3; j <= limit; j++) {\n if (input[j] !== \"=\") {\n if (!(input[j] in alphabetByEncoding)) {\n throw new TypeError(`Invalid character ${input[j]} in base64 string.`);\n }\n bits |= alphabetByEncoding[input[j]] << ((limit - j) * bitsPerLetter);\n bitLength += bitsPerLetter;\n }\n else {\n bits >>= bitsPerLetter;\n }\n }\n const chunkOffset = (i / 4) * 3;\n bits >>= bitLength % bitsPerByte;\n const byteLength = Math.floor(bitLength / bitsPerByte);\n for (let k = 0; k < byteLength; k++) {\n const offset = (byteLength - k - 1) * bitsPerByte;\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\n }\n }\n return new Uint8Array(out);\n};\n", "export const fromUtf8 = (input) => new TextEncoder().encode(input);\n", "import { fromUtf8 } from \"./fromUtf8\";\nexport const toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\n", "export const toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return new TextDecoder(\"utf-8\").decode(input);\n};\n", "export * from \"./fromUtf8\";\nexport * from \"./toUint8Array\";\nexport * from \"./toUtf8\";\n", "import { fromUtf8 } from \"@smithy/util-utf8\";\nimport { alphabetByValue, bitsPerByte, bitsPerLetter, maxLetterValue } from \"./constants.browser\";\nexport function toBase64(_input) {\n let input;\n if (typeof _input === \"string\") {\n input = fromUtf8(_input);\n }\n else {\n input = _input;\n }\n const isArrayLike = typeof input === \"object\" && typeof input.length === \"number\";\n const isUint8Array = typeof input === \"object\" &&\n typeof input.byteOffset === \"number\" &&\n typeof input.byteLength === \"number\";\n if (!isArrayLike && !isUint8Array) {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n let str = \"\";\n for (let i = 0; i < input.length; i += 3) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\n bits |= input[j] << ((limit - j - 1) * bitsPerByte);\n bitLength += bitsPerByte;\n }\n const bitClusterCount = Math.ceil(bitLength / bitsPerLetter);\n bits <<= bitClusterCount * bitsPerLetter - bitLength;\n for (let k = 1; k <= bitClusterCount; k++) {\n const offset = (bitClusterCount - k) * bitsPerLetter;\n str += alphabetByValue[(bits & (maxLetterValue << offset)) >> offset];\n }\n str += \"==\".slice(0, 4 - bitClusterCount);\n }\n return str;\n}\n", "export * from \"./fromBase64\";\nexport * from \"./toBase64\";\n", "import { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nexport class Uint8ArrayBlobAdapter extends Uint8Array {\n static fromString(source, encoding = \"utf-8\") {\n if (typeof source === \"string\") {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(fromBase64(source));\n }\n return Uint8ArrayBlobAdapter.mutate(fromUtf8(source));\n }\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return toBase64(this);\n }\n return toUtf8(this);\n }\n}\n", "const ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nexport class ChecksumStream extends ReadableStreamRef {\n}\n", "export const isReadableStream = (stream) => typeof ReadableStream === \"function\" &&\n (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream);\nexport const isBlob = (blob) => {\n return typeof Blob === \"function\" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);\n};\n", "import { toBase64 } from \"@smithy/util-base64\";\nimport { isReadableStream } from \"../stream-type-check\";\nimport { ChecksumStream } from \"./ChecksumStream.browser\";\nexport const createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n if (!isReadableStream(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n const encoder = base64Encoder ?? toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream.prototype);\n return readable;\n};\n", "export class ByteArrayCollector {\n allocByteArray;\n byteLength = 0;\n byteArrays = [];\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\n", "import { ByteArrayCollector } from \"./ByteArrayCollector\";\nexport function createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexport const createBufferedReadable = createBufferedReadableStream;\nexport function merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nexport function flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nexport function sizeOf(chunk) {\n return chunk?.byteLength ?? chunk?.length ?? 0;\n}\nexport function modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n", "export const getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n bodyLengthChecker !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n const { value, done } = await reader.read();\n if (done) {\n controller.enqueue(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n controller.enqueue(`${checksumLocationName}:${checksum}\\r\\n`);\n controller.enqueue(`\\r\\n`);\n }\n controller.close();\n }\n else {\n controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\\r\\n${value}\\r\\n`);\n }\n },\n });\n};\n", "export async function headStream(stream, bytes) {\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += value?.byteLength ?? 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n", "export const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n", "import { escapeUri } from \"./escape-uri\";\nexport const escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n", "export * from \"./escape-uri\";\nexport * from \"./escape-uri-path\";\n", "import { escapeUri } from \"@smithy/util-uri-escape\";\nexport function buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n", "export function createRequest(url, requestOptions) {\n return new Request(url, requestOptions);\n}\n", "export function requestTimeout(timeoutInMs = 0) {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { createRequest } from \"./create-request\";\nimport { requestTimeout as requestTimeoutFn } from \"./request-timeout\";\nexport const keepAliveSupport = {\n supported: undefined,\n};\nexport class FetchHttpHandler {\n config;\n configProvider;\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new FetchHttpHandler(instanceOrOptions);\n }\n constructor(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then((opts) => opts || {});\n }\n else {\n this.config = options ?? {};\n this.configProvider = Promise.resolve(this.config);\n }\n if (keepAliveSupport.supported === undefined) {\n keepAliveSupport.supported = Boolean(typeof Request !== \"undefined\" && \"keepalive\" in createRequest(\"https://[::1]\"));\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout ?? this.config.requestTimeout;\n const keepAlive = this.config.keepAlive === true;\n const credentials = this.config.credentials;\n if (abortSignal?.aborted) {\n const abortError = buildAbortError(abortSignal);\n return Promise.reject(abortError);\n }\n let path = request.path;\n const queryString = buildQueryString(request.query || {});\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const { port, method } = request;\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n const body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n const requestOptions = {\n body,\n headers: new Headers(request.headers),\n method: method,\n credentials,\n };\n if (this.config?.cache) {\n requestOptions.cache = this.config.cache;\n }\n if (body) {\n requestOptions.duplex = \"half\";\n }\n if (typeof AbortController !== \"undefined\") {\n requestOptions.signal = abortSignal;\n }\n if (keepAliveSupport.supported) {\n requestOptions.keepalive = keepAlive;\n }\n if (typeof this.config.requestInit === \"function\") {\n Object.assign(requestOptions, this.config.requestInit(request));\n }\n let removeSignalEventListener = () => { };\n const fetchRequest = createRequest(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders = response.headers;\n const transformedHeaders = {};\n for (const pair of fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n const hasReadableStream = response.body != undefined;\n if (!hasReadableStream) {\n return response.blob().then((body) => ({\n response: new HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body,\n }),\n }));\n }\n return {\n response: new HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeoutFn(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise((resolve, reject) => {\n const onAbort = () => {\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n removeSignalEventListener = () => signal.removeEventListener(\"abort\", onAbort);\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }));\n }\n return Promise.race(raceOfPromises).finally(removeSignalEventListener);\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n config[key] = value;\n return config;\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\nfunction buildAbortError(abortSignal) {\n const reason = abortSignal && typeof abortSignal === \"object\" && \"reason\" in abortSignal\n ? abortSignal.reason\n : undefined;\n if (reason) {\n if (reason instanceof Error) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n abortError.cause = reason;\n return abortError;\n }\n const abortError = new Error(String(reason));\n abortError.name = \"AbortError\";\n return abortError;\n }\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return abortError;\n}\n", "import { fromBase64 } from \"@smithy/util-base64\";\nexport const streamCollector = async (stream) => {\n if ((typeof Blob === \"function\" && stream instanceof Blob) || stream.constructor?.name === \"Blob\") {\n if (Blob.prototype.arrayBuffer !== undefined) {\n return new Uint8Array(await stream.arrayBuffer());\n }\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = fromBase64(base64);\n return new Uint8Array(arrayBuffer);\n}\nasync function collectStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\nfunction readToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = (reader.result ?? \"\");\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n reader.readAsDataURL(blob);\n });\n}\n", "export * from \"./fetch-http-handler\";\nexport * from \"./stream-collector\";\n", "const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n", "import { streamCollector } from \"@smithy/fetch-http-handler\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { isReadableStream } from \"./stream-type-check\";\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nexport const sdkStreamMixin = (stream) => {\n if (!isBlobInstance(stream) && !isReadableStream(stream)) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await streamCollector(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return toBase64(buf);\n }\n else if (encoding === \"hex\") {\n return toHex(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return toUtf8(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if (isReadableStream(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n", "export async function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\n}\n", "export * from \"./blob/Uint8ArrayBlobAdapter\";\nexport * from \"./checksum/ChecksumStream\";\nexport * from \"./checksum/createChecksumStream\";\nexport * from \"./createBufferedReadable\";\nexport * from \"./getAwsChunkedEncodingStream\";\nexport * from \"./headStream\";\nexport * from \"./sdk-stream-mixin\";\nexport * from \"./splitStream\";\nexport { isReadableStream, isBlob } from \"./stream-type-check\";\n", "import { Uint8ArrayBlobAdapter } from \"@smithy/util-stream\";\nexport const collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n", "export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n", "export const deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n", "export const operation = (namespace, name, traits, input, output) => ({\n name,\n namespace,\n traits,\n input,\n output,\n});\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { operation } from \"../schemas/operation\";\nexport const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {\n const { response } = await next(args);\n const { operationSchema } = getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n try {\n const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), {\n ...config,\n ...context,\n }, response);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n enumerable: false,\n writable: false,\n configurable: false,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n", "export function parseQueryString(querystring) {\n const query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\n", "import { parseQueryString } from \"@smithy/querystring-parser\";\nexport const parseUrl = (url) => {\n if (typeof url === \"string\") {\n return parseUrl(new URL(url));\n }\n const { hostname, pathname, port, protocol, search } = url;\n let query;\n if (search) {\n query = parseQueryString(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\n", "import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n const v1Endpoint = parseUrl(endpoint.url);\n if (endpoint.headers) {\n v1Endpoint.headers = {};\n for (const [name, values] of Object.entries(endpoint.headers)) {\n v1Endpoint.headers[name.toLowerCase()] = values.join(\", \");\n }\n }\n return v1Endpoint;\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n", "export * from \"./toEndpointV1\";\n", "import { toEndpointV1 } from \"@smithy/core/endpoints\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { operation } from \"../schemas/operation\";\nexport const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {\n const { operationSchema } = getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n const endpoint = context.endpointV2\n ? async () => toEndpointV1(context.endpointV2)\n : config.endpoint;\n const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {\n ...config,\n ...context,\n endpoint,\n });\n return next({\n ...args,\n request,\n });\n};\n", "import { schemaDeserializationMiddleware } from \"./schemaDeserializationMiddleware\";\nimport { schemaSerializationMiddleware } from \"./schemaSerializationMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSchemaSerdePlugin(config) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);\n commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);\n config.protocol.setSerdeContext(config);\n },\n };\n}\n", "export class Schema {\n name;\n namespace;\n traits;\n static assign(instance, values) {\n const schema = Object.assign(instance, values);\n return schema;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === this.symbol;\n }\n return isPrototype;\n }\n getName() {\n return this.namespace + \"#\" + this.name;\n }\n}\n", "import { Schema } from \"./Schema\";\nexport class ListSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/lis\");\n name;\n traits;\n valueSchema;\n symbol = ListSchema.symbol;\n}\nexport const list = (namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), {\n name,\n namespace,\n traits,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class MapSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/map\");\n name;\n traits;\n keySchema;\n valueSchema;\n symbol = MapSchema.symbol;\n}\nexport const map = (namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), {\n name,\n namespace,\n traits,\n keySchema,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class OperationSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/ope\");\n name;\n traits;\n input;\n output;\n symbol = OperationSchema.symbol;\n}\nexport const op = (namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), {\n name,\n namespace,\n traits,\n input,\n output,\n});\n", "import { Schema } from \"./Schema\";\nexport class StructureSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/str\");\n name;\n traits;\n memberNames;\n memberList;\n symbol = StructureSchema.symbol;\n}\nexport const struct = (namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n});\n", "import { Schema } from \"./Schema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class ErrorSchema extends StructureSchema {\n static symbol = Symbol.for(\"@smithy/err\");\n ctor;\n symbol = ErrorSchema.symbol;\n}\nexport const error = (namespace, name, traits, memberNames, memberList, ctor) => Schema.assign(new ErrorSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n ctor: null,\n});\n", "export const traitsCache = [];\nexport function translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n if (traitsCache[indicator]) {\n return traitsCache[indicator];\n }\n const traits = {};\n let i = 0;\n for (const trait of [\n \"httpLabel\",\n \"idempotent\",\n \"idempotencyToken\",\n \"sensitive\",\n \"httpPayload\",\n \"httpResponseCode\",\n \"httpQueryParams\",\n ]) {\n if (((indicator >> i++) & 1) === 1) {\n traits[trait] = 1;\n }\n }\n return (traitsCache[indicator] = traits);\n}\n", "import { deref } from \"../deref\";\nimport { translateTraits } from \"./translateTraits\";\nconst anno = {\n it: Symbol.for(\"@smithy/nor-struct-it\"),\n ns: Symbol.for(\"@smithy/ns\"),\n};\nexport const simpleSchemaCacheN = [];\nexport const simpleSchemaCacheS = {};\nexport class NormalizedSchema {\n ref;\n memberName;\n static symbol = Symbol.for(\"@smithy/nor\");\n symbol = NormalizedSchema.symbol;\n name;\n schema;\n _isMemberSchema;\n traits;\n memberTraits;\n normalizedTraits;\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (isMemberSchema(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n const computedMemberTraits = this.memberTraits;\n Object.assign(this, schema);\n this.memberTraits = Object.assign({}, computedMemberTraits, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (isStaticSchema(this.schema)) {\n this.name = `${this.schema[1]}#${this.schema[2]}`;\n this.traits = this.schema[3];\n }\n else {\n this.name = this.memberName ?? String(schema);\n this.traits = 0;\n }\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const ns = lhs;\n return ns.symbol === this.symbol;\n }\n return isPrototype;\n }\n static of(ref) {\n const keyAble = typeof ref === \"function\" || (typeof ref === \"object\" && ref !== null);\n if (typeof ref === \"number\") {\n if (simpleSchemaCacheN[ref]) {\n return simpleSchemaCacheN[ref];\n }\n }\n else if (typeof ref === \"string\") {\n if (simpleSchemaCacheS[ref]) {\n return simpleSchemaCacheS[ref];\n }\n }\n else if (keyAble) {\n if (ref[anno.ns]) {\n return ref[anno.ns];\n }\n }\n const sc = deref(ref);\n if (sc instanceof NormalizedSchema) {\n return sc;\n }\n if (isMemberSchema(sc)) {\n const [ns, traits] = sc;\n if (ns instanceof NormalizedSchema) {\n Object.assign(ns.getMergedTraits(), translateTraits(traits));\n return ns;\n }\n throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);\n }\n const ns = new NormalizedSchema(sc);\n if (keyAble) {\n return (ref[anno.ns] = ns);\n }\n if (typeof sc === \"string\") {\n return (simpleSchemaCacheS[sc] = ns);\n }\n if (typeof sc === \"number\") {\n return (simpleSchemaCacheN[sc] = ns);\n }\n return ns;\n }\n getSchema() {\n const sc = this.schema;\n if (Array.isArray(sc) && sc[0] === 0) {\n return sc[4];\n }\n return sc;\n }\n getName(withNamespace = false) {\n const { name } = this;\n const short = !withNamespace && name && name.includes(\"#\");\n return short ? name.split(\"#\")[1] : name || undefined;\n }\n getMemberName() {\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isListSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 64 && sc < 128\n : sc[0] === 1;\n }\n isMapSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 128 && sc <= 0b1111_1111\n : sc[0] === 2;\n }\n isStructSchema() {\n const sc = this.getSchema();\n if (typeof sc !== \"object\") {\n return false;\n }\n const id = sc[0];\n return (id === 3 ||\n id === -3 ||\n id === 4);\n }\n isUnionSchema() {\n const sc = this.getSchema();\n if (typeof sc !== \"object\") {\n return false;\n }\n return sc[0] === 4;\n }\n isBlobSchema() {\n const sc = this.getSchema();\n return sc === 21 || sc === 42;\n }\n isTimestampSchema() {\n const sc = this.getSchema();\n return (typeof sc === \"number\" &&\n sc >= 4 &&\n sc <= 7);\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isDocumentSchema() {\n return this.getSchema() === 15;\n }\n isStringSchema() {\n return this.getSchema() === 0;\n }\n isBooleanSchema() {\n return this.getSchema() === 2;\n }\n isNumericSchema() {\n return this.getSchema() === 1;\n }\n isBigIntegerSchema() {\n return this.getSchema() === 17;\n }\n isBigDecimalSchema() {\n return this.getSchema() === 19;\n }\n isStreaming() {\n const { streaming } = this.getMergedTraits();\n return !!streaming || this.getSchema() === 42;\n }\n isIdempotencyToken() {\n return !!this.getMergedTraits().idempotencyToken;\n }\n getMergedTraits() {\n return (this.normalizedTraits ??\n (this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n }));\n }\n getMemberTraits() {\n return translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return translateTraits(this.traits);\n }\n getKeySchema() {\n const [isDoc, isMap] = [this.isDocumentSchema(), this.isMapSchema()];\n if (!isDoc && !isMap) {\n throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n const memberSchema = isDoc\n ? 15\n : schema[4] ?? 0;\n return member([memberSchema, 0], \"key\");\n }\n getValueSchema() {\n const sc = this.getSchema();\n const [isDoc, isMap, isList] = [this.isDocumentSchema(), this.isMapSchema(), this.isListSchema()];\n const memberSchema = typeof sc === \"number\"\n ? 0b0011_1111 & sc\n : sc && typeof sc === \"object\" && (isMap || isList)\n ? sc[3 + sc[0]]\n : isDoc\n ? 15\n : void 0;\n if (memberSchema != null) {\n return member([memberSchema, 0], isMap ? \"value\" : \"member\");\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);\n }\n getMemberSchema(memberName) {\n const struct = this.getSchema();\n if (this.isStructSchema() && struct[4].includes(memberName)) {\n const i = struct[4].indexOf(memberName);\n const memberSchema = struct[5][i];\n return member(isMemberSchema(memberSchema) ? memberSchema : [memberSchema, 0], memberName);\n }\n if (this.isDocumentSchema()) {\n return member([15, 0], memberName);\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${memberName}.`);\n }\n getMemberSchemas() {\n const buffer = {};\n try {\n for (const [k, v] of this.structIterator()) {\n buffer[k] = v;\n }\n }\n catch (ignored) { }\n return buffer;\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot iterate non-struct schema.\");\n }\n const struct = this.getSchema();\n const z = struct[4].length;\n let it = struct[anno.it];\n if (it && z === it.length) {\n yield* it;\n return;\n }\n it = Array(z);\n for (let i = 0; i < z; ++i) {\n const k = struct[4][i];\n const v = member([struct[5][i], 0], k);\n yield (it[i] = [k, v]);\n }\n struct[anno.it] = it;\n }\n}\nfunction member(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n return Object.assign(memberSchema, {\n memberName,\n _isMemberSchema: true,\n });\n }\n const internalCtorAccess = NormalizedSchema;\n return new internalCtorAccess(memberSchema, memberName);\n}\nconst isMemberSchema = (sc) => Array.isArray(sc) && sc.length === 2;\nexport const isStaticSchema = (sc) => Array.isArray(sc) && sc.length >= 5;\n", "import { Schema } from \"./Schema\";\nexport class SimpleSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/sim\");\n name;\n schemaRef;\n traits;\n symbol = SimpleSchema.symbol;\n}\nexport const sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\nexport const simAdapter = (namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\n", "export const SCHEMA = {\n BLOB: 0b0001_0101,\n STREAMING_BLOB: 0b0010_1010,\n BOOLEAN: 0b0000_0010,\n STRING: 0b0000_0000,\n NUMERIC: 0b0000_0001,\n BIG_INTEGER: 0b0001_0001,\n BIG_DECIMAL: 0b0001_0011,\n DOCUMENT: 0b0000_1111,\n TIMESTAMP_DEFAULT: 0b0000_0100,\n TIMESTAMP_DATE_TIME: 0b0000_0101,\n TIMESTAMP_HTTP_DATE: 0b0000_0110,\n TIMESTAMP_EPOCH_SECONDS: 0b0000_0111,\n LIST_MODIFIER: 0b0100_0000,\n MAP_MODIFIER: 0b1000_0000,\n};\n", "export class TypeRegistry {\n namespace;\n schemas;\n exceptions;\n static registries = new Map();\n constructor(namespace, schemas = new Map(), exceptions = new Map()) {\n this.namespace = namespace;\n this.schemas = schemas;\n this.exceptions = exceptions;\n }\n static for(namespace) {\n if (!TypeRegistry.registries.has(namespace)) {\n TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));\n }\n return TypeRegistry.registries.get(namespace);\n }\n copyFrom(other) {\n const { schemas, exceptions } = this;\n for (const [k, v] of other.schemas) {\n if (!schemas.has(k)) {\n schemas.set(k, v);\n }\n }\n for (const [k, v] of other.exceptions) {\n if (!exceptions.has(k)) {\n exceptions.set(k, v);\n }\n }\n }\n register(shapeId, schema) {\n const qualifiedName = this.normalizeShapeId(shapeId);\n for (const r of [this, TypeRegistry.for(qualifiedName.split(\"#\")[0])]) {\n r.schemas.set(qualifiedName, schema);\n }\n }\n getSchema(shapeId) {\n const id = this.normalizeShapeId(shapeId);\n if (!this.schemas.has(id)) {\n throw new Error(`@smithy/core/schema - schema not found for ${id}`);\n }\n return this.schemas.get(id);\n }\n registerError(es, ctor) {\n const $error = es;\n const ns = $error[1];\n for (const r of [this, TypeRegistry.for(ns)]) {\n r.schemas.set(ns + \"#\" + $error[2], $error);\n r.exceptions.set($error, ctor);\n }\n }\n getErrorCtor(es) {\n const $error = es;\n if (this.exceptions.has($error)) {\n return this.exceptions.get($error);\n }\n const registry = TypeRegistry.for($error[1]);\n return registry.exceptions.get($error);\n }\n getBaseException() {\n for (const exceptionKey of this.exceptions.keys()) {\n if (Array.isArray(exceptionKey)) {\n const [, ns, name] = exceptionKey;\n const id = ns + \"#\" + name;\n if (id.startsWith(\"smithy.ts.sdk.synthetic.\") && id.endsWith(\"ServiceException\")) {\n return exceptionKey;\n }\n }\n }\n return undefined;\n }\n find(predicate) {\n return [...this.schemas.values()].find(predicate);\n }\n clear() {\n this.schemas.clear();\n this.exceptions.clear();\n }\n normalizeShapeId(shapeId) {\n if (shapeId.includes(\"#\")) {\n return shapeId;\n }\n return this.namespace + \"#\" + shapeId;\n }\n}\n", "export * from \"./deref\";\nexport * from \"./middleware/getSchemaSerdePlugin\";\nexport * from \"./schemas/ListSchema\";\nexport * from \"./schemas/MapSchema\";\nexport * from \"./schemas/OperationSchema\";\nexport * from \"./schemas/operation\";\nexport * from \"./schemas/ErrorSchema\";\nexport * from \"./schemas/NormalizedSchema\";\nexport * from \"./schemas/Schema\";\nexport * from \"./schemas/SimpleSchema\";\nexport * from \"./schemas/StructureSchema\";\nexport * from \"./schemas/sentinels\";\nexport * from \"./schemas/translateTraits\";\nexport * from \"./TypeRegistry\";\n", "export const copyDocumentWithTransform = (source, schemaRef, transform = (_) => _) => source;\n", "export const parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexport const expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexport const expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nexport const expectFloat32 = (value) => {\n const expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexport const expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexport const expectInt = expectLong;\nexport const expectInt32 = (value) => expectSizedInt(value, 32);\nexport const expectShort = (value) => expectSizedInt(value, 16);\nexport const expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nexport const expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport const expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexport const expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexport const expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexport const strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport const strictParseFloat = strictParseDouble;\nexport const strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nexport const limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport const handleFloat = limitedParseDouble;\nexport const limitedParseFloat = limitedParseDouble;\nexport const limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nexport const strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport const strictParseInt = strictParseLong;\nexport const strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport const strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport const strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexport const logger = {\n warn: console.warn,\n};\n", "import { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from \"./parse-utils\";\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport function dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nexport const parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nexport const parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nexport const parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexport const parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n", "export const randomUUID = typeof crypto !== \"undefined\" && crypto.randomUUID && crypto.randomUUID.bind(crypto);\n", "import { randomUUID } from \"./randomUUID\";\nconst decimalToHex = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, \"0\"));\nexport const v4 = () => {\n if (randomUUID) {\n return randomUUID();\n }\n const rnds = new Uint8Array(16);\n crypto.getRandomValues(rnds);\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n return (decimalToHex[rnds[0]] +\n decimalToHex[rnds[1]] +\n decimalToHex[rnds[2]] +\n decimalToHex[rnds[3]] +\n \"-\" +\n decimalToHex[rnds[4]] +\n decimalToHex[rnds[5]] +\n \"-\" +\n decimalToHex[rnds[6]] +\n decimalToHex[rnds[7]] +\n \"-\" +\n decimalToHex[rnds[8]] +\n decimalToHex[rnds[9]] +\n \"-\" +\n decimalToHex[rnds[10]] +\n decimalToHex[rnds[11]] +\n decimalToHex[rnds[12]] +\n decimalToHex[rnds[13]] +\n decimalToHex[rnds[14]] +\n decimalToHex[rnds[15]]);\n};\n", "export * from \"./v4\";\n", "import { v4 as generateIdempotencyToken } from \"@smithy/uuid\";\nexport { generateIdempotencyToken };\n", "export const LazyJsonString = function LazyJsonString(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n },\n });\n return str;\n};\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n }\n else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n", "export function quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n", "const ddd = `(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;\nconst mmm = `(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;\nconst time = `(\\\\d?\\\\d):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))?`;\nconst date = `(\\\\d?\\\\d)`;\nconst year = `(\\\\d{4})`;\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d\\d)-(\\d\\d)[tT](\\d\\d):(\\d\\d):(\\d\\d)(\\.(\\d+))?(([-+]\\d\\d:\\d\\d)|[zZ])$/);\nconst IMF_FIXDATE = new RegExp(`^${ddd}, ${date} ${mmm} ${year} ${time} GMT$`);\nconst RFC_850_DATE = new RegExp(`^${ddd}, ${date}-${mmm}-(\\\\d\\\\d) ${time} GMT$`);\nconst ASC_TIME = new RegExp(`^${ddd} ${mmm} ( [1-9]|\\\\d\\\\d) ${time} ${year}$`);\nconst months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport const _parseEpochTimestamp = (value) => {\n if (value == null) {\n return void 0;\n }\n let num = NaN;\n if (typeof value === \"number\") {\n num = value;\n }\n else if (typeof value === \"string\") {\n if (!/^-?\\d*\\.?\\d+$/.test(value)) {\n throw new TypeError(`parseEpochTimestamp - numeric string invalid.`);\n }\n num = Number.parseFloat(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n num = value.value;\n }\n if (isNaN(num) || Math.abs(num) === Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid finite numbers.\");\n }\n return new Date(Math.round(num * 1000));\n};\nexport const _parseRfc3339DateTimeWithOffset = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC3339 timestamps must be strings\");\n }\n const matches = RFC3339_WITH_OFFSET.exec(value);\n if (!matches) {\n throw new TypeError(`Invalid RFC3339 timestamp format ${value}`);\n }\n const [, yearStr, monthStr, dayStr, hours, minutes, seconds, , ms, offsetStr] = matches;\n range(monthStr, 1, 12);\n range(dayStr, 1, 31);\n range(hours, 0, 23);\n range(minutes, 0, 59);\n range(seconds, 0, 60);\n const date = new Date(Date.UTC(Number(yearStr), Number(monthStr) - 1, Number(dayStr), Number(hours), Number(minutes), Number(seconds), Number(ms) ? Math.round(parseFloat(`0.${ms}`) * 1000) : 0));\n date.setUTCFullYear(Number(yearStr));\n if (offsetStr.toUpperCase() != \"Z\") {\n const [, sign, offsetH, offsetM] = /([+-])(\\d\\d):(\\d\\d)/.exec(offsetStr) || [void 0, \"+\", 0, 0];\n const scalar = sign === \"-\" ? 1 : -1;\n date.setTime(date.getTime() + scalar * (Number(offsetH) * 60 * 60 * 1000 + Number(offsetM) * 60 * 1000));\n }\n return date;\n};\nexport const _parseRfc7231DateTime = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC7231 timestamps must be strings.\");\n }\n let day;\n let month;\n let year;\n let hour;\n let minute;\n let second;\n let fraction;\n let matches;\n if ((matches = IMF_FIXDATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n }\n else if ((matches = RFC_850_DATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n year = (Number(year) + 1900).toString();\n }\n else if ((matches = ASC_TIME.exec(value))) {\n [, month, day, hour, minute, second, fraction, year] = matches;\n }\n if (year && second) {\n const timestamp = Date.UTC(Number(year), months.indexOf(month), Number(day), Number(hour), Number(minute), Number(second), fraction ? Math.round(parseFloat(`0.${fraction}`) * 1000) : 0);\n range(day, 1, 31);\n range(hour, 0, 23);\n range(minute, 0, 59);\n range(second, 0, 60);\n const date = new Date(timestamp);\n date.setUTCFullYear(Number(year));\n return date;\n }\n throw new TypeError(`Invalid RFC7231 date-time value ${value}.`);\n};\nfunction range(v, min, max) {\n const _v = Number(v);\n if (_v < min || _v > max) {\n throw new Error(`Value ${_v} out of range [${min}, ${max}]`);\n }\n}\n", "export function splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\n", "export const splitHeader = (value) => {\n const z = value.length;\n const values = [];\n let withinQuotes = false;\n let prevChar = undefined;\n let anchor = 0;\n for (let i = 0; i < z; ++i) {\n const char = value[i];\n switch (char) {\n case `\"`:\n if (prevChar !== \"\\\\\") {\n withinQuotes = !withinQuotes;\n }\n break;\n case \",\":\n if (!withinQuotes) {\n values.push(value.slice(anchor, i));\n anchor = i + 1;\n }\n break;\n default:\n }\n prevChar = char;\n }\n values.push(value.slice(anchor));\n return values.map((v) => {\n v = v.trim();\n const z = v.length;\n if (z < 2) {\n return v;\n }\n if (v[0] === `\"` && v[z - 1] === `\"`) {\n v = v.slice(1, z - 1);\n }\n return v.replace(/\\\\\"/g, '\"');\n });\n};\n", "const format = /^-?\\d*(\\.\\d+)?$/;\nexport class NumericValue {\n string;\n type;\n constructor(string, type) {\n this.string = string;\n this.type = type;\n if (!format.test(string)) {\n throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point \".\", and an optional negation prefix \"-\".`);\n }\n }\n toString() {\n return this.string;\n }\n static [Symbol.hasInstance](object) {\n if (!object || typeof object !== \"object\") {\n return false;\n }\n const _nv = object;\n return NumericValue.prototype.isPrototypeOf(object) || (_nv.type === \"bigDecimal\" && format.test(_nv.string));\n }\n}\nexport function nv(input) {\n return new NumericValue(String(input), \"bigDecimal\");\n}\n", "export * from \"./copyDocumentWithTransform\";\nexport * from \"./date-utils\";\nexport * from \"./generateIdempotencyToken\";\nexport * from \"./lazy-json\";\nexport * from \"./parse-utils\";\nexport * from \"./quote-header\";\nexport * from \"./schema-serde-lib/schema-date-utils\";\nexport * from \"./split-every\";\nexport * from \"./split-header\";\nexport * from \"./value/NumericValue\";\n", "export class SerdeContext {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n", "import { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nexport class EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const body = event[unionMember].body;\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n if (body.byteLength === 0) {\n return {\n [unionMember]: {},\n };\n }\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const [key, value] of Object.entries(firstEvent.value)) {\n initialResponseContainer[key] = value;\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else if (eventSchema.isUnitSchema()) {\n serializer.write(eventSchema, {});\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush() ?? new Uint8Array();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n", "export * from \"./EventStreamSerde\";\n", "import { NormalizedSchema, translateTraits, TypeRegistry } from \"@smithy/core/schema\";\nimport { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { SerdeContext } from \"./SerdeContext\";\nexport class HttpProtocol extends SerdeContext {\n options;\n compositeErrorRegistry;\n constructor(options) {\n super();\n this.options = options;\n this.compositeErrorRegistry = TypeRegistry.for(options.defaultNamespace);\n for (const etr of options.errorTypeRegistries ?? []) {\n this.compositeErrorRegistry.copyFrom(etr);\n }\n }\n getRequestType() {\n return HttpRequest;\n }\n getResponseType() {\n return HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n if (!request.query) {\n request.query = {};\n }\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n request.query[k] = v;\n }\n if (endpoint.headers) {\n for (const [name, values] of Object.entries(endpoint.headers)) {\n request.headers[name] = values.join(\", \");\n }\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n if (endpoint.headers) {\n for (const [name, value] of Object.entries(endpoint.headers)) {\n request.headers[name] = value;\n }\n }\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n if (this.serdeContext?.disableHostPrefix) {\n return;\n }\n const inputNs = NormalizedSchema.of(operationSchema.input);\n const opTraits = translateTraits(operationSchema.traits ?? {});\n if (opTraits.endpoint) {\n let hostPrefix = opTraits.endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n const hostLabelInputs = [...inputNs.structIterator()].filter(([, member]) => member.getMergedTraits().hostLabel);\n for (const [name] of hostLabelInputs) {\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import(\"@smithy/core/event-streams\");\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n void schema;\n void context;\n void response;\n void arg4;\n void arg5;\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n", "import { NormalizedSchema, translateTraits } from \"@smithy/core/schema\";\nimport { splitEvery, splitHeader } from \"@smithy/core/serde\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = {\n ...(_input ?? {}),\n };\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const payloadMemberNames = [];\n const payloadMemberSchemas = [];\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n Object.assign(query, Object.fromEntries(traitSearchParams));\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {\n if (memberTraits.httpLabel) {\n if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {\n throw new Error(`No value provided for input HTTP label: ${memberName}.`);\n }\n }\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n delete input[memberName];\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n delete input[memberName];\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const [key, val] of Object.entries(inputMemberValue)) {\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n delete input[memberName];\n }\n else {\n hasNonHttpBindingMember = true;\n payloadMemberNames.push(memberName);\n payloadMemberSchemas.push(memberNs);\n }\n }\n if (hasNonHttpBindingMember && input) {\n const [namespace, name] = (ns.getName(true) ?? \"#Unknown\").split(\"#\");\n const requiredMembers = ns.getSchema()[6];\n const payloadSchema = [\n 3,\n namespace,\n name,\n ns.getMergedTraits(),\n payloadMemberNames,\n payloadMemberSchemas,\n undefined,\n ];\n if (requiredMembers) {\n payloadSchema[6] = requiredMembers;\n }\n else {\n payloadSchema.pop();\n }\n serializer.write(payloadSchema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const [key, val] of Object.entries(data)) {\n if (!(key in query)) {\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n if (dataFromBody[member] != null) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n }\n else if (nonHttpBindingMembers.discardResponseBody) {\n await collectBody(response.body, context);\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n let discardResponseBody = true;\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(schema);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n discardResponseBody = false;\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === 4) {\n sections = splitEvery(value, \",\", 2);\n }\n else {\n sections = splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const [header, value] of Object.entries(response.headers)) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n nonHttpBindingMembers.discardResponseBody = discardResponseBody;\n return nonHttpBindingMembers;\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n const _input = {\n ...input,\n };\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (_input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && _input[memberName]) {\n serializer.write(memberSchema, _input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: _input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema, _input);\n payload = serializer.flush();\n }\n }\n request.headers = Object.assign(request.headers, headers);\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n", "import { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport const resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue == null || labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"./resolve-path\";\nexport function requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nexport class RequestBuilder {\n input;\n context;\n query = {};\n method = \"\";\n headers = {};\n path = \"\";\n body = null;\n hostname = \"\";\n resolvePathStack = [];\n constructor(input, context) {\n this.input = input;\n this.context = context;\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n", "export function determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === 5 ||\n ns.getSchema() === 6 ||\n ns.getSchema() === 7)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? 6\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? 5\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { _parseEpochTimestamp, _parseRfc3339DateTimeWithOffset, _parseRfc7231DateTime, LazyJsonString, NumericValue, splitHeader, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class FromStringShapeDeserializer extends SerdeContext {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n read(_schema, data) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return _parseRfc3339DateTimeWithOffset(data);\n case 6:\n return _parseRfc7231DateTime(data);\n case 7:\n return _parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n if (ns.isNumericSchema()) {\n return Number(data);\n }\n if (ns.isBigIntegerSchema()) {\n return BigInt(data);\n }\n if (ns.isBigDecimalSchema()) {\n return new NumericValue(data, \"bigDecimal\");\n }\n if (ns.isBooleanSchema()) {\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String));\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { FromStringShapeDeserializer } from \"./FromStringShapeDeserializer\";\nexport class HttpInterceptingShapeDeserializer extends SerdeContext {\n codecDeserializer;\n stringDeserializer;\n constructor(codecDeserializer, codecSettings) {\n super();\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema, data) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, quoteHeader } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class ToStringShapeSerializer extends SerdeContext {\n settings;\n stringBuffer = \"\";\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n this.stringBuffer = dateToUtcString(value);\n break;\n case 7:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n if (ns.isIdempotencyToken()) {\n this.stringBuffer = generateIdempotencyToken();\n }\n else {\n this.stringBuffer = String(value);\n }\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ToStringShapeSerializer } from \"./ToStringShapeSerializer\";\nexport class HttpInterceptingShapeSerializer {\n codecSerializer;\n stringSerializer;\n buffer;\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\n }\n}\n", "export * from \"./collect-stream-body\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./HttpBindingProtocol\";\nexport * from \"./HttpProtocol\";\nexport * from \"./RpcProtocol\";\nexport * from \"./requestBuilder\";\nexport * from \"./resolve-path\";\nexport * from \"./serde/FromStringShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeSerializer\";\nexport * from \"./serde/ToStringShapeSerializer\";\nexport * from \"./serde/determineTimestampFormat\";\nexport * from \"./SerdeContext\";\n", "export { requestBuilder } from \"@smithy/core/protocols\";\n", "export function setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {},\n };\n }\n else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n", "export class DefaultIdentityProviderConfig {\n authSchemes = new Map();\n constructor(config) {\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { HttpApiKeyAuthLocation } from \"@smithy/types\";\nexport class HttpApiKeyAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n if (!signingProperties) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` and `in` signer properties are missing\");\n }\n if (!signingProperties.name) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` signer property is missing\");\n }\n if (!signingProperties.in) {\n throw new Error(\"request could not be signed with `apiKey` since the `in` signer property is missing\");\n }\n if (!identity.apiKey) {\n throw new Error(\"request could not be signed with `apiKey` since the `apiKey` is not defined\");\n }\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (signingProperties.in === HttpApiKeyAuthLocation.QUERY) {\n clonedRequest.query[signingProperties.name] = identity.apiKey;\n }\n else if (signingProperties.in === HttpApiKeyAuthLocation.HEADER) {\n clonedRequest.headers[signingProperties.name] = signingProperties.scheme\n ? `${signingProperties.scheme} ${identity.apiKey}`\n : identity.apiKey;\n }\n else {\n throw new Error(\"request can only be signed with `apiKey` locations `query` or `header`, \" +\n \"but found: `\" +\n signingProperties.in +\n \"`\");\n }\n return clonedRequest;\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport class HttpBearerAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (!identity.token) {\n throw new Error(\"request could not be signed with `token` since the `token` is not defined\");\n }\n clonedRequest.headers[\"Authorization\"] = `Bearer ${identity.token}`;\n return clonedRequest;\n }\n}\n", "export class NoAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n return httpRequest;\n }\n}\n", "export * from \"./httpApiKeyAuth\";\nexport * from \"./httpBearerAuth\";\nexport * from \"./noAuth\";\n", "export const createIsIdentityExpiredFunction = (expirationMs) => function isIdentityExpired(identity) {\n return doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\n};\nexport const EXPIRATION_MS = 300_000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n", "export * from \"./DefaultIdentityProviderConfig\";\nexport * from \"./httpAuthSchemes\";\nexport * from \"./memoizeIdentityProvider\";\n", "export * from \"./getSmithyContext\";\nexport * from \"./middleware-http-auth-scheme\";\nexport * from \"./middleware-http-signing\";\nexport * from \"./normalizeProvider\";\nexport { createPaginator } from \"./pagination/createPaginator\";\nexport * from \"./request-builder/requestBuilder\";\nexport * from \"./setFeature\";\nexport * from \"./util-identity-and-auth\";\n", "export class ProviderError extends Error {\n name = \"ProviderError\";\n tryNextLink;\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = undefined;\n tryNextLink = options;\n }\n else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n}\n", "import { ProviderError } from \"./ProviderError\";\nexport class CredentialsProviderError extends ProviderError {\n name = \"CredentialsProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\n", "import { ProviderError } from \"./ProviderError\";\nexport class TokenProviderError extends ProviderError {\n name = \"TokenProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, TokenProviderError.prototype);\n }\n}\n", "import { ProviderError } from \"./ProviderError\";\nexport const chain = (...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n", "export const fromStatic = (staticValue) => () => Promise.resolve(staticValue);\n", "export const memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\n", "export * from \"./CredentialsProviderError\";\nexport * from \"./ProviderError\";\nexport * from \"./TokenProviderError\";\nexport * from \"./chain\";\nexport * from \"./fromStatic\";\nexport * from \"./memoize\";\n", "import { normalizeProvider } from \"@smithy/core\";\nimport { ProviderError } from \"@smithy/property-provider\";\nexport const resolveAwsSdkSigV4AConfig = (config) => {\n config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);\n return config;\n};\nexport const NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true,\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true,\n });\n },\n default: undefined,\n};\n", "export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport const REGION_SET_PARAM = \"X-Amz-Region-Set\";\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\nexport const ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\nexport const SEC_HEADER_PATTERN = /^sec-/;\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport const ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n", "import { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nconst signingKeyCache = {};\nconst cacheQueue = [];\nexport const createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nexport const getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nexport const clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(toUint8Array(data));\n return hash.digest();\n};\n", "import { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\nexport const getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\n", "export const isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n", "import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nexport const getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(toUint8Array(body));\n return toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n", "import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport class HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nexport class Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9_223_372_036_854_775_808) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n", "export const hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexport const getHeaderValue = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return headers[headerName];\n }\n }\n return undefined;\n};\nexport const deleteHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n delete headers[headerName];\n }\n }\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport const moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if ((lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) ||\n options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { GENERATED_HEADERS } from \"./constants\";\nexport const prepareRequest = (request) => {\n request = HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\n", "import { escapeUri } from \"@smithy/util-uri-escape\";\nimport { SIGNATURE_HEADER } from \"./constants\";\nexport const getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = escapeUri(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[encodedKey] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${encodedKey}=${escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .sort()\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n", "export const iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nexport const toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n", "import { toHex } from \"@smithy/util-hex-encoding\";\nimport { normalizeProvider } from \"@smithy/util-middleware\";\nimport { escapeUri } from \"@smithy/util-uri-escape\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { iso8601 } from \"./utilDate\";\nexport class SignatureV4Base {\n service;\n regionProvider;\n credentialProvider;\n sha256;\n uriEscapePath;\n applyChecksum;\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeProvider(region);\n this.credentialProvider = normalizeProvider(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update(toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${toHex(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n}\n", "import { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { HeaderFormatter } from \"./HeaderFormatter\";\nimport { hasHeader } from \"./headerUtil\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { SignatureV4Base } from \"./SignatureV4Base\";\nexport class SignatureV4 extends SignatureV4Base {\n headerFormatter = new HeaderFormatter();\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath,\n });\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else if (toSign.message) {\n return this.signMessage(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);\n const hash = new this.sha256(await keyPromise);\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n", "export const signatureV4aContainer = {\n SignatureV4a: null,\n};\n", "export * from \"./SignatureV4\";\nexport * from \"./constants\";\nexport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nexport { getCanonicalQuery } from \"./getCanonicalQuery\";\nexport { getPayloadHash } from \"./getPayloadHash\";\nexport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nexport { prepareRequest } from \"./prepareRequest\";\nexport * from \"./credentialDerivation\";\nexport { SignatureV4Base } from \"./SignatureV4Base\";\nexport { hasHeader } from \"./headerUtil\";\nexport * from \"./signature-v4a-container\";\n", "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = undefined;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider,\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n const isCredentialObject = typeof inputCredentials === \"object\" && inputCredentials !== null;\n resolvedCredentials = async (options) => {\n const creds = await boundProvider(options);\n const attributedCreds = creds;\n if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {\n return setCredentialFeature(attributedCreds, \"CREDENTIALS_CODE\", \"e\");\n }\n return attributedCreds;\n };\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n }\n else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true,\n });\n config.credentials = inputCredentials;\n const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;\n let signer;\n if (config.signer) {\n signer = normalizeProvider(config.signer);\n }\n else if (config.regionInfoProvider) {\n signer = () => normalizeProvider(config.region)()\n .then(async (region) => [\n (await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await normalizeProvider(config.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n };\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer,\n });\n return resolvedConfig;\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n else {\n credentialsProvider = credentials;\n }\n }\n else {\n if (credentialDefaultProvider) {\n credentialsProvider = normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n credentialsProvider = async () => {\n throw new Error(\"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\");\n };\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n", "export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport { AwsSdkSigV4ASigner } from \"./AwsSdkSigV4ASigner\";\nexport * from \"./NODE_AUTH_SCHEME_PREFERENCE_OPTIONS\";\nexport * from \"./resolveAwsSdkSigV4AConfig\";\nexport * from \"./resolveAwsSdkSigV4Config\";\n", "export * from \"./aws_sdk\";\nexport * from \"./utils/getBearerTokenEnvKey\";\n", "const TEXT_ENCODER = typeof TextEncoder == \"function\" ? new TextEncoder() : null;\nexport const calculateBodyLength = (body) => {\n if (typeof body === \"string\") {\n if (TEXT_ENCODER) {\n return TEXT_ENCODER.encode(body).byteLength;\n }\n let len = body.length;\n for (let i = len - 1; i >= 0; i--) {\n const code = body.charCodeAt(i);\n if (code > 0x7f && code <= 0x7ff)\n len++;\n else if (code > 0x7ff && code <= 0xffff)\n len += 2;\n if (code >= 0xdc00 && code <= 0xdfff)\n i--;\n }\n return len;\n }\n else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n return body.size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\n};\n", "export * from \"./calculateBodyLength\";\n", "const getAllAliases = (name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n};\nconst getMiddlewareNameWithAliases = (name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n};\nexport const constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ` +\n `${getMiddlewareNameWithAliases(entry.name, entry.aliases)} ` +\n `middleware ${entry.relation} ${entry.toMiddleware}`);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ` +\n `${toOverride.priority} priority in ${toOverride.step} step cannot ` +\n `be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ` +\n `${entry.priority} priority in ${entry.step} step.`);\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ` +\n `${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} ` +\n `\"${entry.toMiddleware}\" middleware.`);\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo(constructStack()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ??\n mw.relation +\n \" \" +\n mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n },\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\")\n identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n },\n };\n return stack;\n};\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n", "export * from \"./MiddlewareStack\";\n", "import { constructStack } from \"@smithy/middleware-stack\";\nexport class Client {\n config;\n middlewareStack = constructStack();\n initConfig;\n handlers;\n constructor(config) {\n this.config = config;\n const { protocol, protocolSettings } = config;\n if (protocolSettings) {\n if (typeof protocol === \"function\") {\n config.protocol = new protocol(protocolSettings);\n }\n }\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n }\n else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n }\n else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n}\n", "export { collectBody } from \"@smithy/core/protocols\";\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nconst SENSITIVE_STRING = \"***SensitiveInformation***\";\nexport function schemaLogFilter(schema, data) {\n if (data == null) {\n return data;\n }\n const ns = NormalizedSchema.of(schema);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n }\n else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n }\n else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n", "import { constructStack } from \"@smithy/middleware-stack\";\nimport { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nimport { schemaLogFilter } from \"./schemaLogFilter\";\nexport class Command {\n middlewareStack = constructStack();\n schema;\n static classBuilder() {\n return new ClassBuilder();\n }\n resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext,\n },\n ...additionalContext,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n}\nclass ClassBuilder {\n _init = () => { };\n _ep = {};\n _middlewareFn = () => [];\n _commandName = \"\";\n _clientName = \"\";\n _additionalContext = {};\n _smithyContext = {};\n _inputFilterSensitiveLog = undefined;\n _outputFilterSensitiveLog = undefined;\n _serializer = null;\n _deserializer = null;\n _operationSchema;\n init(cb) {\n this._init = cb;\n }\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext,\n };\n return this;\n }\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\n return this;\n }\n build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n input;\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.input = input ?? {};\n closure._init(this);\n this.schema = closure._operationSchema;\n }\n resolveMiddleware(stack, configuration, options) {\n const op = closure._operationSchema;\n const input = op?.[4] ?? op?.input;\n const output = op?.[5] ?? op?.output;\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n serialize = closure._serializer;\n deserialize = closure._deserializer;\n });\n }\n}\n", "export const SENSITIVE_STRING = \"***SensitiveInformation***\";\n", "export const createAggregatedClient = (commands, Client, options) => {\n for (const [command, CommandCtor] of Object.entries(commands)) {\n const methodImpl = async function (args, optionsOrCb, cb) {\n const command = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n };\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client.prototype[methodName] = methodImpl;\n }\n const { paginators = {}, waiters = {} } = options ?? {};\n for (const [paginatorName, paginatorFn] of Object.entries(paginators)) {\n if (Client.prototype[paginatorName] === void 0) {\n Client.prototype[paginatorName] = function (commandInput = {}, paginationConfiguration, ...rest) {\n return paginatorFn({\n ...paginationConfiguration,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n for (const [waiterName, waiterFn] of Object.entries(waiters)) {\n if (Client.prototype[waiterName] === void 0) {\n Client.prototype[waiterName] = async function (commandInput = {}, waiterConfiguration, ...rest) {\n let config = waiterConfiguration;\n if (typeof waiterConfiguration === \"number\") {\n config = {\n maxWaitTime: waiterConfiguration,\n };\n }\n return waiterFn({\n ...config,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n};\n", "export class ServiceException extends Error {\n $fault;\n $response;\n $retryable;\n $metadata;\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n static isInstance(value) {\n if (!value)\n return false;\n const candidate = value;\n return (ServiceException.prototype.isPrototypeOf(candidate) ||\n (Boolean(candidate.$fault) &&\n Boolean(candidate.$metadata) &&\n (candidate.$fault === \"client\" || candidate.$fault === \"server\")));\n }\n static [Symbol.hasInstance](instance) {\n if (!instance)\n return false;\n const candidate = instance;\n if (this === ServiceException) {\n return ServiceException.isInstance(instance);\n }\n if (ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n}\nexport const decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\n", "import { decorateServiceException } from \"./exceptions\";\nexport const throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw decorateServiceException(response, parsedBody);\n};\nexport const withBaseException = (ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n", "export const loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\n", "let warningEmitted = false;\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n};\n", "export { extendedEncodeURIComponent } from \"@smithy/core/protocols\";\n", "import { AlgorithmId } from \"@smithy/types\";\nexport { AlgorithmId };\nconst knownAlgorithms = Object.values(AlgorithmId);\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in AlgorithmId) {\n const algorithmId = AlgorithmId[id];\n if (runtimeConfig[algorithmId] === undefined) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId],\n });\n }\n for (const [id, ChecksumCtor] of Object.entries(runtimeConfig.checksumAlgorithms ?? {})) {\n checksumAlgorithms.push({\n algorithmId: () => id,\n checksumConstructor: () => ChecksumCtor,\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n runtimeConfig.checksumAlgorithms = runtimeConfig.checksumAlgorithms ?? {};\n const id = algo.algorithmId();\n const ctor = algo.checksumConstructor();\n if (knownAlgorithms.includes(id)) {\n runtimeConfig.checksumAlgorithms[id.toUpperCase()] = ctor;\n }\n else {\n runtimeConfig.checksumAlgorithms[id] = ctor;\n }\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n const id = checksumAlgorithm.algorithmId();\n if (knownAlgorithms.includes(id)) {\n runtimeConfig[id] = checksumAlgorithm.checksumConstructor();\n }\n });\n return runtimeConfig;\n};\n", "export const getRetryConfiguration = (runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n },\n };\n};\nexport const resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n", "import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nimport { getRetryConfiguration, resolveRetryRuntimeConfig } from \"./retry\";\nexport const getDefaultExtensionConfiguration = (runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n};\nexport const getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nexport const resolveDefaultRuntimeConfig = (config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n};\n", "export * from \"./defaultExtensionConfiguration\";\n", "export const getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n", "export const getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n", "export const isSerializableHeaderValue = (value) => {\n return value != null;\n};\n", "export class NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n", "export function map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\nexport const convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nexport const take = (source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n};\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\nconst applyInstruction = (target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if ((typeof filter === \"function\" && filter(source[sourceKey])) || (typeof filter !== \"function\" && !!filter)) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n }\n else if (customFilterPassed) {\n target[targetKey] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n};\nconst nonNullish = (_) => _ != null;\nconst pass = (_) => _;\n", "export { resolvedPath } from \"@smithy/core/protocols\";\n", "export const serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nexport const serializeDateTime = (date) => date.toISOString().replace(\".000Z\", \"Z\");\n", "export const _json = (obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n};\n", "export * from \"./client\";\nexport * from \"./collect-stream-body\";\nexport * from \"./command\";\nexport * from \"./constants\";\nexport * from \"./create-aggregated-client\";\nexport * from \"./default-error-handler\";\nexport * from \"./defaults-mode\";\nexport * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./exceptions\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./extensions\";\nexport * from \"./get-array-if-single-item\";\nexport * from \"./get-value-from-text-node\";\nexport * from \"./is-serializable-header-value\";\nexport * from \"./NoOpLogger\";\nexport * from \"./object-mapping\";\nexport * from \"./resolve-path\";\nexport * from \"./ser-utils\";\nexport * from \"./serde-json\";\nexport * from \"@smithy/core/serde\";\n", "import { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { decorateServiceException } from \"@smithy/smithy-client\";\nexport class ProtocolLib {\n queryCompat;\n constructor(queryCompat = false) {\n this.queryCompat = queryCompat;\n }\n resolveRestContentType(defaultContentType, inputSchema) {\n const members = inputSchema.getMemberSchemas();\n const httpPayloadMember = Object.values(members).find((m) => {\n return !!m.getMergedTraits().httpPayload;\n });\n if (httpPayloadMember) {\n const mediaType = httpPayloadMember.getMergedTraits().mediaType;\n if (mediaType) {\n return mediaType;\n }\n else if (httpPayloadMember.isStringSchema()) {\n return \"text/plain\";\n }\n else if (httpPayloadMember.isBlobSchema()) {\n return \"application/octet-stream\";\n }\n else {\n return defaultContentType;\n }\n }\n else if (!inputSchema.isUnitSchema()) {\n const hasBody = Object.values(members).find((m) => {\n const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();\n const noPrefixHeaders = httpPrefixHeaders === void 0;\n return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;\n });\n if (hasBody) {\n return defaultContentType;\n }\n }\n }\n async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {\n let namespace = defaultNamespace;\n let errorName = errorIdentifier;\n if (errorIdentifier.includes(\"#\")) {\n [namespace, errorName] = errorIdentifier.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode < 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n try {\n const errorSchema = getErrorSchema?.(registry, errorName) ?? registry.getSchema(errorIdentifier);\n return { errorSchema, errorMetadata };\n }\n catch (e) {\n dataObject.message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const synthetic = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace);\n const baseExceptionSchema = synthetic.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;\n throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);\n }\n throw this.decorateServiceException(Object.assign(new Error(errorName), errorMetadata), dataObject);\n }\n }\n decorateServiceException(exception, additions = {}) {\n if (this.queryCompat) {\n const msg = exception.Message ?? additions.Message;\n const error = decorateServiceException(exception, additions);\n if (msg) {\n error.message = msg;\n }\n error.Error = {\n ...error.Error,\n Type: error.Error?.Type,\n Code: error.Error?.Code,\n Message: error.Error?.message ?? error.Error?.Message ?? msg,\n };\n const reqId = error.$metadata.requestId;\n if (reqId) {\n error.RequestId = reqId;\n }\n return error;\n }\n return decorateServiceException(exception, additions);\n }\n setQueryCompatError(output, response) {\n const queryErrorHeader = response.headers?.[\"x-amzn-query-error\"];\n if (output !== undefined && queryErrorHeader != null) {\n const [Code, Type] = queryErrorHeader.split(\";\");\n const entries = Object.entries(output);\n const Error = {\n Code,\n Type,\n };\n Object.assign(output, Error);\n for (const [k, v] of entries) {\n Error[k === \"message\" ? \"Message\" : k] = v;\n }\n delete Error.__type;\n output.Error = Error;\n }\n }\n queryCompatOutput(queryCompatErrorData, errorData) {\n if (queryCompatErrorData.Error) {\n errorData.Error = queryCompatErrorData.Error;\n }\n if (queryCompatErrorData.Type) {\n errorData.Type = queryCompatErrorData.Type;\n }\n if (queryCompatErrorData.Code) {\n errorData.Code = queryCompatErrorData.Code;\n }\n }\n findQueryCompatibleError(registry, errorName) {\n try {\n return registry.getSchema(errorName);\n }\n catch (e) {\n return registry.find((schema) => NormalizedSchema.of(schema).getMergedTraits().awsQueryError?.[0] === errorName);\n }\n }\n}\n", "import { loadSmithyRpcV2CborErrorCode, SmithyRpcV2CborProtocol } from \"@smithy/core/cbor\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nexport class AwsSmithyRpcV2CborProtocol extends SmithyRpcV2CborProtocol {\n awsQueryCompatible;\n mixin;\n constructor({ defaultNamespace, awsQueryCompatible, }) {\n super({ defaultNamespace });\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorName = (() => {\n const compatHeader = response.headers[\"x-amzn-query-error\"];\n if (compatHeader && this.awsQueryCompatible) {\n return compatHeader.split(\";\")[0];\n }\n return loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n })();\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n", "export const _toStr = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\" || typeof val === \"bigint\") {\n const warning = new Error(`Received number ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n if (typeof val === \"boolean\") {\n const warning = new Error(`Received boolean ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n return val;\n};\nexport const _toBool = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\") {\n }\n if (typeof val === \"string\") {\n const lowercase = val.toLowerCase();\n if (val !== \"\" && lowercase !== \"false\" && lowercase !== \"true\") {\n const warning = new Error(`Received string \"${val}\" where a boolean was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n }\n return val !== \"\" && lowercase !== \"false\";\n }\n return val;\n};\nexport const _toNum = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"boolean\") {\n }\n if (typeof val === \"string\") {\n const num = Number(val);\n if (num.toString() !== val) {\n const warning = new Error(`Received string \"${val}\" where a number was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return val;\n }\n return num;\n }\n return val;\n};\n", "export class SerdeContextConfig {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n", "export class UnionSerde {\n from;\n to;\n keys;\n constructor(from, to) {\n this.from = from;\n this.to = to;\n this.keys = new Set(Object.keys(this.from).filter((k) => k !== \"__type\"));\n }\n mark(key) {\n this.keys.delete(key);\n }\n hasUnknown() {\n return this.keys.size === 1 && Object.keys(this.to).length === 0;\n }\n writeUnknown() {\n if (this.hasUnknown()) {\n const k = this.keys.values().next().value;\n const v = this.from[k];\n this.to.$unknown = [k, v];\n }\n }\n}\n", "import { collectBodyString } from \"../common\";\nexport const parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n }\n catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n }\n return {};\n});\nexport const parseJsonErrorBody = async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data && typeof data === \"object\") {\n const codeKey = findKey(data, \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n }\n};\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nimport { jsonReviver } from \"./jsonReviver\";\nimport { parseJsonBody } from \"./parseJsonBody\";\nexport class JsonShapeDeserializer extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n async read(schema, data) {\n return this._read(schema, typeof data === \"string\" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));\n }\n readObject(schema, data) {\n return this._read(schema, data);\n }\n _read(schema, value) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const union = ns.isUnionSchema();\n const out = {};\n let nameMap = void 0;\n const { jsonName } = this.settings;\n if (jsonName) {\n nameMap = {};\n }\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(record, out);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n let fromKey = memberName;\n if (jsonName) {\n fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;\n nameMap[fromKey] = memberName;\n }\n if (union) {\n unionSerde.mark(fromKey);\n }\n if (record[fromKey] != null) {\n out[memberName] = this._read(memberSchema, record[fromKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n else if (typeof record.__type === \"string\") {\n for (const [k, v] of Object.entries(record)) {\n const t = jsonName ? nameMap[k] ?? k : k;\n if (!(t in out)) {\n out[t] = v;\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n for (const item of value) {\n out.push(this._read(listMember, item));\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n for (const [_k, _v] of Object.entries(value)) {\n out[_k] = this._read(mapMember, _v);\n }\n return out;\n }\n }\n if (ns.isBlobSchema() && typeof value === \"string\") {\n return fromBase64(value);\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (ns.isStringSchema() && typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n return value;\n }\n if (ns.isTimestampSchema() && value != null) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return parseRfc3339DateTimeWithOffset(value);\n case 6:\n return parseRfc7231DateTime(value);\n case 7:\n return parseEpochTimestamp(value);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", value);\n return new Date(value);\n }\n }\n if (ns.isBigIntegerSchema() && (typeof value === \"number\" || typeof value === \"string\")) {\n return BigInt(value);\n }\n if (ns.isBigDecimalSchema() && value != undefined) {\n if (value instanceof NumericValue) {\n return value;\n }\n const untyped = value;\n if (untyped.type === \"bigDecimal\" && \"string\" in untyped) {\n return new NumericValue(untyped.string, untyped.type);\n }\n return new NumericValue(String(value), \"bigDecimal\");\n }\n if (ns.isNumericSchema() && typeof value === \"string\") {\n switch (value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"NaN\":\n return NaN;\n }\n return value;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._read(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, NumericValue } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonReplacer } from \"./jsonReplacer\";\nexport class JsonShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n useReplacer = false;\n rootSchema;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n this.rootSchema = NormalizedSchema.of(schema);\n this.buffer = this._write(this.rootSchema, value);\n }\n writeDiscriminatedDocument(schema, value) {\n this.write(schema, value);\n if (typeof this.buffer === \"object\") {\n this.buffer.__type = NormalizedSchema.of(schema).getName(true);\n }\n }\n flush() {\n const { rootSchema, useReplacer } = this;\n this.rootSchema = undefined;\n this.useReplacer = false;\n if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {\n if (!useReplacer) {\n return JSON.stringify(this.buffer);\n }\n const replacer = new JsonReplacer();\n return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));\n }\n return this.buffer;\n }\n _write(schema, value, container) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const out = {};\n const { jsonName } = this.settings;\n let nameMap = void 0;\n if (jsonName) {\n nameMap = {};\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const serializableValue = this._write(memberSchema, record[memberName], ns);\n if (serializableValue !== undefined) {\n let targetKey = memberName;\n if (jsonName) {\n targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;\n nameMap[memberName] = targetKey;\n }\n out[targetKey] = serializableValue;\n }\n }\n if (ns.isUnionSchema() && Object.keys(out).length === 0) {\n const { $unknown } = record;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n out[k] = this._write(15, v);\n }\n }\n else if (typeof record.__type === \"string\") {\n for (const [k, v] of Object.entries(record)) {\n const targetKey = jsonName ? nameMap[k] ?? k : k;\n if (!(targetKey in out)) {\n out[targetKey] = this._write(15, v);\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._write(listMember, item));\n }\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._write(mapMember, _v);\n }\n }\n return out;\n }\n if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return value.toISOString().replace(\".000Z\", \"Z\");\n case 6:\n return dateToUtcString(value);\n case 7:\n return value.getTime() / 1000;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n return value.getTime() / 1000;\n }\n }\n if (value instanceof NumericValue) {\n this.useReplacer = true;\n }\n }\n if (value === null && container?.isStructSchema()) {\n return void 0;\n }\n if (ns.isStringSchema()) {\n if (typeof value === \"undefined\" && ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (value != null && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n return value;\n }\n if (typeof value === \"number\" && ns.isNumericSchema()) {\n if (Math.abs(value) === Infinity || isNaN(value)) {\n return String(value);\n }\n return value;\n }\n if (typeof value === \"string\" && ns.isBlobSchema()) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (typeof value === \"bigint\") {\n this.useReplacer = true;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n this.useReplacer = true;\n out[k] = v;\n }\n else {\n out[k] = this._write(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonShapeDeserializer } from \"./JsonShapeDeserializer\";\nimport { JsonShapeSerializer } from \"./JsonShapeSerializer\";\nexport class JsonCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new JsonShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new JsonShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsJsonRpcProtocol extends RpcProtocol {\n serializer;\n deserializer;\n serviceTarget;\n codec;\n mixin;\n awsQueryCompatible;\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n });\n this.serviceTarget = serviceTarget;\n this.codec =\n jsonCodec ??\n new JsonCodec({\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n jsonName: false,\n });\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-amz-json-${this.getJsonRpcVersion()}`,\n \"x-amz-target\": `${this.serviceTarget}.${operationSchema.name}`,\n });\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"{}\";\n }\n return request;\n }\n getPayloadCodec() {\n return this.codec;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_0Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_0\";\n }\n getJsonRpcVersion() {\n return \"1.0\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.0\";\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_1Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_1\";\n }\n getJsonRpcVersion() {\n return \"1.1\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.1\";\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsRestJsonProtocol extends HttpBindingProtocol {\n serializer;\n deserializer;\n codec;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace }) {\n super({\n defaultNamespace,\n });\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n httpBindings: true,\n jsonName: true,\n };\n this.codec = new JsonCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getShapeId() {\n return \"aws.protocols#restJson1\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n setSerdeContext(serdeContext) {\n this.codec.setSerdeContext(serdeContext);\n super.setSerdeContext(serdeContext);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.body == null && request.headers[\"content-type\"] === this.getDefaultContentType()) {\n request.body = \"{}\";\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const output = await super.deserializeResponse(operationSchema, context, response);\n const outputSchema = NormalizedSchema.of(operationSchema.output);\n for (const [name, member] of outputSchema.structIterator()) {\n if (member.getMemberTraits().httpPayload && !(name in output)) {\n output[name] = null;\n }\n }\n return output;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/json\";\n }\n}\n", "import { expectUnion } from \"@smithy/smithy-client\";\nexport const awsExpectUnion = (value) => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === \"object\" && \"__type\" in value) {\n delete value.__type;\n }\n return expectUnion(value);\n};\n", "export function escapeAttribute(value) {\n return value.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\");\n}\n", "export function escapeElement(value) {\n return value\n .replace(/&/g, \"&\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\")\n .replace(//g, \">\")\n .replace(/\\r/g, \" \")\n .replace(/\\n/g, \" \")\n .replace(/\\u0085/g, \"…\")\n .replace(/\\u2028/, \"
\");\n}\n", "import { escapeElement } from \"./escape-element\";\nexport class XmlText {\n value;\n constructor(value) {\n this.value = value;\n }\n toString() {\n return escapeElement(\"\" + this.value);\n }\n}\n", "import { escapeAttribute } from \"./escape-attribute\";\nimport { XmlText } from \"./XmlText\";\nexport class XmlNode {\n name;\n children;\n attributes = {};\n static of(name, childText, withName) {\n const node = new XmlNode(name);\n if (childText !== undefined) {\n node.addChildNode(new XmlText(childText));\n }\n if (withName !== undefined) {\n node.withName(withName);\n }\n return node;\n }\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n n(name) {\n this.name = name;\n return this;\n }\n c(child) {\n this.children.push(child);\n return this;\n }\n a(name, value) {\n if (value != null) {\n this.attributes[name] = value;\n }\n return this;\n }\n cc(input, field, withName = field) {\n if (input[field] != null) {\n const node = XmlNode.of(field, input[field]).withName(withName);\n this.c(node);\n }\n }\n l(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n nodes.map((node) => {\n node.withName(memberName);\n this.c(node);\n });\n }\n }\n lc(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n const containerNode = new XmlNode(memberName);\n nodes.map((node) => {\n containerNode.c(node);\n });\n this.c(containerNode);\n }\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (attribute != null) {\n xmlText += ` ${attributeName}=\"${escapeAttribute(\"\" + attribute)}\"`;\n }\n }\n return (xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}`);\n }\n}\n", "let parser;\nexport function parseXML(xmlString) {\n if (!parser) {\n parser = new DOMParser();\n }\n const xmlDocument = parser.parseFromString(xmlString, \"application/xml\");\n if (xmlDocument.getElementsByTagName(\"parsererror\").length > 0) {\n throw new Error(\"DOMParser XML parsing error.\");\n }\n const xmlToObj = (node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n if (node.textContent?.trim()) {\n return node.textContent;\n }\n }\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node;\n if (element.attributes.length === 0 && element.childNodes.length === 0) {\n return \"\";\n }\n const obj = {};\n const attributes = Array.from(element.attributes);\n for (const attr of attributes) {\n obj[`${attr.name}`] = attr.value;\n }\n const childNodes = Array.from(element.childNodes);\n for (const child of childNodes) {\n const childResult = xmlToObj(child);\n if (childResult != null) {\n const childName = child.nodeName;\n if (childNodes.length === 1 && attributes.length === 0 && childName === \"#text\") {\n return childResult;\n }\n if (obj[childName]) {\n if (Array.isArray(obj[childName])) {\n obj[childName].push(childResult);\n }\n else {\n obj[childName] = [obj[childName], childResult];\n }\n }\n else {\n obj[childName] = childResult;\n }\n }\n else if (childNodes.length === 1 && attributes.length === 0) {\n return element.textContent;\n }\n }\n return obj;\n }\n return null;\n };\n return {\n [xmlDocument.documentElement.nodeName]: xmlToObj(xmlDocument.documentElement),\n };\n}\n", "export * from \"./XmlNode\";\nexport * from \"./XmlText\";\nexport { parseXML } from \"./xml-parser\";\n", "import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { FromStringShapeDeserializer } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nexport class XmlShapeDeserializer extends SerdeContextConfig {\n settings;\n stringDeserializer;\n constructor(settings) {\n super();\n this.settings = settings;\n this.stringDeserializer = new FromStringShapeDeserializer(settings);\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.stringDeserializer.setSerdeContext(serdeContext);\n }\n read(schema, bytes, key) {\n const ns = NormalizedSchema.of(schema);\n const memberSchemas = ns.getMemberSchemas();\n const isEventPayload = ns.isStructSchema() &&\n ns.isMemberSchema() &&\n !!Object.values(memberSchemas).find((memberNs) => {\n return !!memberNs.getMemberTraits().eventPayload;\n });\n if (isEventPayload) {\n const output = {};\n const memberName = Object.keys(memberSchemas)[0];\n const eventMemberSchema = memberSchemas[memberName];\n if (eventMemberSchema.isBlobSchema()) {\n output[memberName] = bytes;\n }\n else {\n output[memberName] = this.read(memberSchemas[memberName], bytes);\n }\n return output;\n }\n const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes);\n const parsedObject = this.parseXml(xmlString);\n return this.readSchema(schema, key ? parsedObject[key] : parsedObject);\n }\n readSchema(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isUnitSchema()) {\n return;\n }\n const traits = ns.getMergedTraits();\n if (ns.isListSchema() && !Array.isArray(value)) {\n return this.readSchema(ns, [value]);\n }\n if (value == null) {\n return value;\n }\n if (typeof value === \"object\") {\n const flat = !!traits.xmlFlattened;\n if (ns.isListSchema()) {\n const listValue = ns.getValueSchema();\n const buffer = [];\n const sourceKey = listValue.getMergedTraits().xmlName ?? \"member\";\n const source = flat ? value : (value[0] ?? value)[sourceKey];\n if (source == null) {\n return buffer;\n }\n const sourceArray = Array.isArray(source) ? source : [source];\n for (const v of sourceArray) {\n buffer.push(this.readSchema(listValue, v));\n }\n return buffer;\n }\n const buffer = {};\n if (ns.isMapSchema()) {\n const keyNs = ns.getKeySchema();\n const memberNs = ns.getValueSchema();\n let entries;\n if (flat) {\n entries = Array.isArray(value) ? value : [value];\n }\n else {\n entries = Array.isArray(value.entry) ? value.entry : [value.entry];\n }\n const keyProperty = keyNs.getMergedTraits().xmlName ?? \"key\";\n const valueProperty = memberNs.getMergedTraits().xmlName ?? \"value\";\n for (const entry of entries) {\n const key = entry[keyProperty];\n const value = entry[valueProperty];\n buffer[key] = this.readSchema(memberNs, value);\n }\n return buffer;\n }\n if (ns.isStructSchema()) {\n const union = ns.isUnionSchema();\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(value, buffer);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMergedTraits();\n const xmlObjectKey = !memberTraits.httpPayload\n ? memberSchema.getMemberTraits().xmlName ?? memberName\n : memberTraits.xmlName ?? memberSchema.getName();\n if (union) {\n unionSerde.mark(xmlObjectKey);\n }\n if (value[xmlObjectKey] != null) {\n buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n return buffer;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);\n }\n if (ns.isListSchema()) {\n return [];\n }\n if (ns.isMapSchema() || ns.isStructSchema()) {\n return {};\n }\n return this.stringDeserializer.read(ns, value);\n }\n parseXml(xml) {\n if (xml.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(xml);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: xml,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n }\n}\n", "import { determineTimestampFormat, extendedEncodeURIComponent } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class QueryShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value, prefix = \"\") {\n if (this.buffer === undefined) {\n this.buffer = \"\";\n }\n const ns = NormalizedSchema.of(schema);\n if (prefix && !prefix.endsWith(\".\")) {\n prefix += \".\";\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\" || value instanceof Uint8Array) {\n this.writeKey(prefix);\n this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value));\n }\n }\n else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n else if (ns.isIdempotencyToken()) {\n this.writeKey(prefix);\n this.writeValue(generateIdempotencyToken());\n }\n }\n else if (ns.isBigIntegerSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isBigDecimalSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(value instanceof NumericValue ? value.string : String(value));\n }\n }\n else if (ns.isTimestampSchema()) {\n if (value instanceof Date) {\n this.writeKey(prefix);\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.writeValue(value.toISOString().replace(\".000Z\", \"Z\"));\n break;\n case 6:\n this.writeValue(dateToUtcString(value));\n break;\n case 7:\n this.writeValue(String(value.getTime() / 1000));\n break;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n if (Array.isArray(value)) {\n this.write(64 | 15, value, prefix);\n }\n else if (value instanceof Date) {\n this.write(4, value, prefix);\n }\n else if (value instanceof Uint8Array) {\n this.write(21, value, prefix);\n }\n else if (value && typeof value === \"object\") {\n this.write(128 | 15, value, prefix);\n }\n else {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isListSchema()) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n if (this.settings.serializeEmptyLists) {\n this.writeKey(prefix);\n this.writeValue(\"\");\n }\n }\n else {\n const member = ns.getValueSchema();\n const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const item of value) {\n if (item == null) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(\"member\", traits.xmlName, traits.ec2QueryName);\n const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;\n this.write(member, item, key);\n ++i;\n }\n }\n }\n }\n else if (ns.isMapSchema()) {\n if (value && typeof value === \"object\") {\n const keySchema = ns.getKeySchema();\n const memberSchema = ns.getValueSchema();\n const flat = ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const [k, v] of Object.entries(value)) {\n if (v == null) {\n continue;\n }\n const keyTraits = keySchema.getMergedTraits();\n const keySuffix = this.getKey(\"key\", keyTraits.xmlName, keyTraits.ec2QueryName);\n const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;\n const valTraits = memberSchema.getMergedTraits();\n const valueSuffix = this.getKey(\"value\", valTraits.xmlName, valTraits.ec2QueryName);\n const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;\n this.write(keySchema, k, key);\n this.write(memberSchema, v, valueKey);\n ++i;\n }\n }\n }\n else if (ns.isStructSchema()) {\n if (value && typeof value === \"object\") {\n let didWriteMember = false;\n for (const [memberName, member] of ns.structIterator()) {\n if (value[memberName] == null && !member.isIdempotencyToken()) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, \"struct\");\n const key = `${prefix}${suffix}`;\n this.write(member, value[memberName], key);\n didWriteMember = true;\n }\n if (!didWriteMember && ns.isUnionSchema()) {\n const { $unknown } = value;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n const key = `${prefix}${k}`;\n this.write(15, v, key);\n }\n }\n }\n }\n else if (ns.isUnitSchema()) {\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);\n }\n }\n flush() {\n if (this.buffer === undefined) {\n throw new Error(\"@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.\");\n }\n const str = this.buffer;\n delete this.buffer;\n return str;\n }\n getKey(memberName, xmlName, ec2QueryName, keySource) {\n const { ec2, capitalizeKeys } = this.settings;\n if (ec2 && ec2QueryName) {\n return ec2QueryName;\n }\n const key = xmlName ?? memberName;\n if (capitalizeKeys && keySource === \"struct\") {\n return key[0].toUpperCase() + key.slice(1);\n }\n return key;\n }\n writeKey(key) {\n if (key.endsWith(\".\")) {\n key = key.slice(0, key.length - 1);\n }\n this.buffer += `&${extendedEncodeURIComponent(key)}=`;\n }\n writeValue(value) {\n this.buffer += extendedEncodeURIComponent(value);\n }\n}\n", "import { collectBody, RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { XmlShapeDeserializer } from \"../xml/XmlShapeDeserializer\";\nimport { QueryShapeSerializer } from \"./QueryShapeSerializer\";\nexport class AwsQueryProtocol extends RpcProtocol {\n options;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super({\n defaultNamespace: options.defaultNamespace,\n });\n this.options = options;\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: false,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n serializeEmptyLists: true,\n };\n this.serializer = new QueryShapeSerializer(settings);\n this.deserializer = new XmlShapeDeserializer(settings);\n }\n getShapeId() {\n return \"aws.protocols#awsQuery\";\n }\n setSerdeContext(serdeContext) {\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n }\n getPayloadCodec() {\n throw new Error(\"AWSQuery protocol has no payload codec.\");\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-www-form-urlencoded`,\n });\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"\";\n }\n const action = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n request.body = `Action=${action}&Version=${this.options.version}` + request.body;\n if (request.body.endsWith(\"&\")) {\n request.body = request.body.slice(-1);\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const shortName = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + \"Result\" : undefined;\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));\n }\n const output = {\n $metadata: this.deserializeMetadata(response),\n ...dataObject,\n };\n return output;\n }\n useNestedResult() {\n return true;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? \"Unknown\";\n const errorData = this.loadQueryError(dataObject) ?? {};\n const message = this.loadQueryErrorMessage(dataObject);\n errorData.message = message;\n errorData.Error = {\n Type: errorData.Type,\n Code: errorData.Code,\n Message: message,\n };\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);\n const ns = NormalizedSchema.of(errorSchema);\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {\n Type: errorData.Error.Type,\n Code: errorData.Error.Code,\n Error: errorData.Error,\n };\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = errorData[target] ?? dataObject[target];\n output[name] = this.deserializer.readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n loadQueryErrorCode(output, data) {\n const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;\n if (code !== undefined) {\n return code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n }\n loadQueryError(data) {\n return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;\n }\n loadQueryErrorMessage(data) {\n const errorData = this.loadQueryError(data);\n return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? \"Unknown\";\n }\n getDefaultContentType() {\n return \"application/x-www-form-urlencoded\";\n }\n}\n", "import { AwsQueryProtocol } from \"./AwsQueryProtocol\";\nexport class AwsEc2QueryProtocol extends AwsQueryProtocol {\n options;\n constructor(options) {\n super(options);\n this.options = options;\n const ec2Settings = {\n capitalizeKeys: true,\n flattenLists: true,\n serializeEmptyLists: false,\n ec2: true,\n };\n Object.assign(this.serializer.settings, ec2Settings);\n }\n getShapeId() {\n return \"aws.protocols#ec2Query\";\n }\n useNestedResult() {\n return false;\n }\n}\n", "export {};\n", "import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { collectBodyString } from \"../common\";\nexport const parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(encoded);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n});\nexport const parseXmlErrorBody = async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nexport const loadRestXmlErrorCode = (output, data) => {\n if (data?.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n", "import { XmlNode, XmlText } from \"@aws-sdk/xml-builder\";\nimport { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class XmlShapeSerializer extends SerdeContextConfig {\n settings;\n stringBuffer;\n byteBuffer;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n if (ns.isStringSchema() && typeof value === \"string\") {\n this.stringBuffer = value;\n }\n else if (ns.isBlobSchema()) {\n this.byteBuffer =\n \"byteLength\" in value\n ? value\n : (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n else {\n this.buffer = this.writeStruct(ns, value, undefined);\n const traits = ns.getMergedTraits();\n if (traits.httpPayload && !traits.xmlName) {\n this.buffer.withName(ns.getName());\n }\n }\n }\n flush() {\n if (this.byteBuffer !== undefined) {\n const bytes = this.byteBuffer;\n delete this.byteBuffer;\n return bytes;\n }\n if (this.stringBuffer !== undefined) {\n const str = this.stringBuffer;\n delete this.stringBuffer;\n return str;\n }\n const buffer = this.buffer;\n if (this.settings.xmlNamespace) {\n if (!buffer?.attributes?.[\"xmlns\"]) {\n buffer.addAttribute(\"xmlns\", this.settings.xmlNamespace);\n }\n }\n delete this.buffer;\n return buffer.toString();\n }\n writeStruct(ns, value, parentXmlns) {\n const traits = ns.getMergedTraits();\n const name = ns.isMemberSchema() && !traits.httpPayload\n ? ns.getMemberTraits().xmlName ?? ns.getMemberName()\n : traits.xmlName ?? ns.getName();\n if (!name || !ns.isStructSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);\n }\n const structXmlNode = XmlNode.of(name);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const val = value[memberName];\n if (val != null || memberSchema.isIdempotencyToken()) {\n if (memberSchema.getMergedTraits().xmlAttribute) {\n structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));\n continue;\n }\n if (memberSchema.isListSchema()) {\n this.writeList(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isMapSchema()) {\n this.writeMap(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isStructSchema()) {\n structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));\n }\n else {\n const memberNode = XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());\n this.writeSimpleInto(memberSchema, val, memberNode, xmlns);\n structXmlNode.addChildNode(memberNode);\n }\n }\n }\n const { $unknown } = value;\n if ($unknown && ns.isUnionSchema() && Array.isArray($unknown) && Object.keys(value).length === 1) {\n const [k, v] = $unknown;\n const node = XmlNode.of(k);\n if (typeof v !== \"string\") {\n if (value instanceof XmlNode || value instanceof XmlText) {\n structXmlNode.addChildNode(value);\n }\n else {\n throw new Error(`@aws-sdk - $unknown union member in XML requires ` +\n `value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);\n }\n }\n this.writeSimpleInto(0, v, node, xmlns);\n structXmlNode.addChildNode(node);\n }\n if (xmlns) {\n structXmlNode.addAttribute(xmlnsAttr, xmlns);\n }\n return structXmlNode;\n }\n writeList(listMember, array, container, parentXmlns) {\n if (!listMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);\n }\n const listTraits = listMember.getMergedTraits();\n const listValueSchema = listMember.getValueSchema();\n const listValueTraits = listValueSchema.getMergedTraits();\n const sparse = !!listValueTraits.sparse;\n const flat = !!listTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);\n const writeItem = (container, value) => {\n if (listValueSchema.isListSchema()) {\n this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container, xmlns);\n }\n else if (listValueSchema.isMapSchema()) {\n this.writeMap(listValueSchema, value, container, xmlns);\n }\n else if (listValueSchema.isStructSchema()) {\n const struct = this.writeStruct(listValueSchema, value, xmlns);\n container.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\"));\n }\n else {\n const listItemNode = XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\");\n this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);\n container.addChildNode(listItemNode);\n }\n };\n if (flat) {\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(container, value);\n }\n }\n }\n else {\n const listNode = XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());\n if (xmlns) {\n listNode.addAttribute(xmlnsAttr, xmlns);\n }\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(listNode, value);\n }\n }\n container.addChildNode(listNode);\n }\n }\n writeMap(mapMember, map, container, parentXmlns, containerIsMap = false) {\n if (!mapMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);\n }\n const mapTraits = mapMember.getMergedTraits();\n const mapKeySchema = mapMember.getKeySchema();\n const mapKeyTraits = mapKeySchema.getMergedTraits();\n const keyTag = mapKeyTraits.xmlName ?? \"key\";\n const mapValueSchema = mapMember.getValueSchema();\n const mapValueTraits = mapValueSchema.getMergedTraits();\n const valueTag = mapValueTraits.xmlName ?? \"value\";\n const sparse = !!mapValueTraits.sparse;\n const flat = !!mapTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);\n const addKeyValue = (entry, key, val) => {\n const keyNode = XmlNode.of(keyTag, key);\n const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);\n if (keyXmlns) {\n keyNode.addAttribute(keyXmlnsAttr, keyXmlns);\n }\n entry.addChildNode(keyNode);\n let valueNode = XmlNode.of(valueTag);\n if (mapValueSchema.isListSchema()) {\n this.writeList(mapValueSchema, val, valueNode, xmlns);\n }\n else if (mapValueSchema.isMapSchema()) {\n this.writeMap(mapValueSchema, val, valueNode, xmlns, true);\n }\n else if (mapValueSchema.isStructSchema()) {\n valueNode = this.writeStruct(mapValueSchema, val, xmlns);\n }\n else {\n this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);\n }\n entry.addChildNode(valueNode);\n };\n if (flat) {\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n addKeyValue(entry, key, val);\n container.addChildNode(entry);\n }\n }\n }\n else {\n let mapNode;\n if (!containerIsMap) {\n mapNode = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n if (xmlns) {\n mapNode.addAttribute(xmlnsAttr, xmlns);\n }\n container.addChildNode(mapNode);\n }\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(\"entry\");\n addKeyValue(entry, key, val);\n (containerIsMap ? container : mapNode).addChildNode(entry);\n }\n }\n }\n }\n writeSimple(_schema, value) {\n if (null === value) {\n throw new Error(\"@aws-sdk/core/protocols - (XML serializer) cannot write null value.\");\n }\n const ns = NormalizedSchema.of(_schema);\n let nodeContents = null;\n if (value && typeof value === \"object\") {\n if (ns.isBlobSchema()) {\n nodeContents = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n else if (ns.isTimestampSchema() && value instanceof Date) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n nodeContents = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n nodeContents = dateToUtcString(value);\n break;\n case 7:\n nodeContents = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using http date\", value);\n nodeContents = dateToUtcString(value);\n break;\n }\n }\n else if (ns.isBigDecimalSchema() && value) {\n if (value instanceof NumericValue) {\n return value.string;\n }\n return String(value);\n }\n else if (ns.isMapSchema() || ns.isListSchema()) {\n throw new Error(\"@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.\");\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);\n }\n }\n if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {\n nodeContents = String(value);\n }\n if (ns.isStringSchema()) {\n if (value === undefined && ns.isIdempotencyToken()) {\n nodeContents = generateIdempotencyToken();\n }\n else {\n nodeContents = String(value);\n }\n }\n if (nodeContents === null) {\n throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);\n }\n return nodeContents;\n }\n writeSimpleInto(_schema, value, into, parentXmlns) {\n const nodeContents = this.writeSimple(_schema, value);\n const ns = NormalizedSchema.of(_schema);\n const content = new XmlText(nodeContents);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n if (xmlns) {\n into.addAttribute(xmlnsAttr, xmlns);\n }\n into.addChildNode(content);\n }\n getXmlnsAttribute(ns, parentXmlns) {\n const traits = ns.getMergedTraits();\n const [prefix, xmlns] = traits.xmlNamespace ?? [];\n if (xmlns && xmlns !== parentXmlns) {\n return [prefix ? `xmlns:${prefix}` : \"xmlns\", xmlns];\n }\n return [void 0, void 0];\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { XmlShapeDeserializer } from \"./XmlShapeDeserializer\";\nimport { XmlShapeSerializer } from \"./XmlShapeSerializer\";\nexport class XmlCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new XmlShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new XmlShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { loadRestXmlErrorCode } from \"./parseXmlBody\";\nimport { XmlCodec } from \"./XmlCodec\";\nexport class AwsRestXmlProtocol extends HttpBindingProtocol {\n codec;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super(options);\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: true,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n };\n this.codec = new XmlCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getPayloadCodec() {\n return this.codec;\n }\n getShapeId() {\n return \"aws.protocols#restXml\";\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (typeof request.body === \"string\" &&\n request.headers[\"content-type\"] === this.getDefaultContentType() &&\n !request.body.startsWith(\"' + request.body;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? \"Unknown\";\n if (dataObject.Error && typeof dataObject.Error === \"object\") {\n for (const key of Object.keys(dataObject.Error)) {\n dataObject[key] = dataObject.Error[key];\n if (key.toLowerCase() === \"message\") {\n dataObject.message = dataObject.Error[key];\n }\n }\n }\n if (dataObject.RequestId && !metadata.requestId) {\n metadata.requestId = dataObject.RequestId;\n }\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = dataObject.Error?.[target] ?? dataObject[target];\n output[name] = this.codec.createDeserializer().readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/xml\";\n }\n hasUnstructuredPayloadBinding(ns) {\n for (const [, member] of ns.structIterator()) {\n if (member.getMergedTraits().httpPayload) {\n return !(member.isStructSchema() || member.isMapSchema() || member.isListSchema());\n }\n }\n return false;\n }\n}\n", "export * from \"./cbor/AwsSmithyRpcV2CborProtocol\";\nexport * from \"./coercing-serializers\";\nexport * from \"./json/AwsJson1_0Protocol\";\nexport * from \"./json/AwsJson1_1Protocol\";\nexport * from \"./json/AwsJsonRpcProtocol\";\nexport * from \"./json/AwsRestJsonProtocol\";\nexport * from \"./json/JsonCodec\";\nexport * from \"./json/JsonShapeDeserializer\";\nexport * from \"./json/JsonShapeSerializer\";\nexport * from \"./json/awsExpectUnion\";\nexport * from \"./json/parseJsonBody\";\nexport * from \"./query/AwsEc2QueryProtocol\";\nexport * from \"./query/AwsQueryProtocol\";\nexport * from \"./query/QuerySerializerSettings\";\nexport * from \"./query/QueryShapeSerializer\";\nexport * from \"./xml/AwsRestXmlProtocol\";\nexport * from \"./xml/XmlCodec\";\nexport * from \"./xml/XmlShapeDeserializer\";\nexport * from \"./xml/XmlShapeSerializer\";\nexport * from \"./xml/parseXmlBody\";\n", "export * from \"./submodules/client/index\";\nexport * from \"./submodules/httpAuthSchemes/index\";\nexport * from \"./submodules/protocols/index\";\n", "import { DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from \"./constants\";\nexport const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember, requestChecksumCalculation }) => {\n if (!requestAlgorithmMember) {\n return requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired\n ? DEFAULT_CHECKSUM_ALGORITHM\n : undefined;\n }\n if (!input[requestAlgorithmMember]) {\n return undefined;\n }\n const checksumAlgorithm = input[requestAlgorithmMember];\n return checksumAlgorithm;\n};\n", "import { ChecksumAlgorithm } from \"./constants\";\nexport const getChecksumLocationName = (algorithm) => algorithm === ChecksumAlgorithm.MD5 ? \"content-md5\" : `x-amz-checksum-${algorithm.toLowerCase()}`;\n", "export const hasHeader = (header, headers) => {\n const soughtHeader = header.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\n", "export const hasHeaderWithPrefix = (headerPrefix, headers) => {\n const soughtHeaderPrefix = headerPrefix.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase().startsWith(soughtHeaderPrefix)) {\n return true;\n }\n }\n return false;\n};\n", "import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nexport const isStreaming = (body) => body !== undefined && typeof body !== \"string\" && !ArrayBuffer.isView(body) && !isArrayBuffer(body);\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "export const fromUtf8 = (input) => new TextEncoder().encode(input);\n", "import { fromUtf8 } from \"./fromUtf8\";\nexport const toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\n", "export const toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return new TextDecoder(\"utf-8\").decode(input);\n};\n", "export * from \"./fromUtf8\";\nexport * from \"./toUint8Array\";\nexport * from \"./toUtf8\";\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n\n// Quick polyfill\nconst fromUtf8 =\n typeof Buffer !== \"undefined\" && Buffer.from\n ? (input: string) => Buffer.from(input, \"utf8\")\n : fromUtf8Browser;\n\nexport function convertToBuffer(data: SourceData): Uint8Array {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array) return data;\n\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function numToUint8(num: number) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable: Array): Uint32Array {\n if (!Uint32Array.from) {\n const return_array = new Uint32Array(a_lookUpTable.length)\n let a_index = 0\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index]\n a_index += 1\n }\n return return_array\n }\n return Uint32Array.from(a_lookUpTable)\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { convertToBuffer } from \"./convertToBuffer\";\nexport { isEmptyData } from \"./isEmptyData\";\nexport { numToUint8 } from \"./numToUint8\";\nexport {uint32ArrayFrom} from './uint32ArrayFrom';\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32c } from \"./index\";\n\nexport class AwsCrc32c implements Checksum {\n private crc32c = new Crc32c();\n\n update(toHash: SourceData) {\n if (isEmptyData(toHash)) return;\n\n this.crc32c.update(convertToBuffer(toHash));\n }\n\n async digest(): Promise {\n return numToUint8(this.crc32c.digest());\n }\n\n reset(): void {\n this.crc32c = new Crc32c();\n }\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {uint32ArrayFrom} from \"@aws-crypto/util\";\n\nexport function crc32c(data: Uint8Array): number {\n return new Crc32c().update(data).digest();\n}\n\nexport class Crc32c {\n private checksum = 0xffffffff;\n\n update(data: Uint8Array): this {\n for (const byte of data) {\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n\n return this;\n }\n\n digest(): number {\n return (this.checksum ^ 0xffffffff) >>> 0;\n }\n}\n\n// prettier-ignore\nconst a_lookupTable = [\n 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,\n 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,\n 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,\n 0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,\n 0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,\n 0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,\n 0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,\n 0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,\n 0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,\n 0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,\n 0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,\n 0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,\n 0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,\n 0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,\n 0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,\n 0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,\n 0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,\n 0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,\n 0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,\n 0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,\n 0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,\n 0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,\n 0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,\n 0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,\n 0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,\n 0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,\n 0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,\n 0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,\n 0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,\n 0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,\n 0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,\n 0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,\n];\n\nconst lookupTable: Uint32Array = uint32ArrayFrom(a_lookupTable)\nexport { AwsCrc32c } from \"./aws_crc32c\";\n", "const generateCRC64NVMETable = () => {\n const sliceLength = 8;\n const tables = new Array(sliceLength);\n for (let slice = 0; slice < sliceLength; slice++) {\n const table = new Array(512);\n for (let i = 0; i < 256; i++) {\n let crc = BigInt(i);\n for (let j = 0; j < 8 * (slice + 1); j++) {\n if (crc & 1n) {\n crc = (crc >> 1n) ^ 0x9a6c9329ac4bc9b5n;\n }\n else {\n crc = crc >> 1n;\n }\n }\n table[i * 2] = Number((crc >> 32n) & 0xffffffffn);\n table[i * 2 + 1] = Number(crc & 0xffffffffn);\n }\n tables[slice] = new Uint32Array(table);\n }\n return tables;\n};\nlet CRC64_NVME_REVERSED_TABLE;\nlet t0, t1, t2, t3;\nlet t4, t5, t6, t7;\nconst ensureTablesInitialized = () => {\n if (!CRC64_NVME_REVERSED_TABLE) {\n CRC64_NVME_REVERSED_TABLE = generateCRC64NVMETable();\n [t0, t1, t2, t3, t4, t5, t6, t7] = CRC64_NVME_REVERSED_TABLE;\n }\n};\nexport class Crc64Nvme {\n c1 = 0;\n c2 = 0;\n constructor() {\n ensureTablesInitialized();\n this.reset();\n }\n update(data) {\n const len = data.length;\n let i = 0;\n let crc1 = this.c1;\n let crc2 = this.c2;\n while (i + 8 <= len) {\n const idx0 = ((crc2 ^ data[i++]) & 255) << 1;\n const idx1 = (((crc2 >>> 8) ^ data[i++]) & 255) << 1;\n const idx2 = (((crc2 >>> 16) ^ data[i++]) & 255) << 1;\n const idx3 = (((crc2 >>> 24) ^ data[i++]) & 255) << 1;\n const idx4 = ((crc1 ^ data[i++]) & 255) << 1;\n const idx5 = (((crc1 >>> 8) ^ data[i++]) & 255) << 1;\n const idx6 = (((crc1 >>> 16) ^ data[i++]) & 255) << 1;\n const idx7 = (((crc1 >>> 24) ^ data[i++]) & 255) << 1;\n crc1 = t7[idx0] ^ t6[idx1] ^ t5[idx2] ^ t4[idx3] ^ t3[idx4] ^ t2[idx5] ^ t1[idx6] ^ t0[idx7];\n crc2 =\n t7[idx0 + 1] ^\n t6[idx1 + 1] ^\n t5[idx2 + 1] ^\n t4[idx3 + 1] ^\n t3[idx4 + 1] ^\n t2[idx5 + 1] ^\n t1[idx6 + 1] ^\n t0[idx7 + 1];\n }\n while (i < len) {\n const idx = ((crc2 ^ data[i]) & 255) << 1;\n crc2 = ((crc2 >>> 8) | ((crc1 & 255) << 24)) >>> 0;\n crc1 = (crc1 >>> 8) ^ t0[idx];\n crc2 ^= t0[idx + 1];\n i++;\n }\n this.c1 = crc1;\n this.c2 = crc2;\n }\n async digest() {\n const c1 = this.c1 ^ 4294967295;\n const c2 = this.c2 ^ 4294967295;\n return new Uint8Array([\n c1 >>> 24,\n (c1 >>> 16) & 255,\n (c1 >>> 8) & 255,\n c1 & 255,\n c2 >>> 24,\n (c2 >>> 16) & 255,\n (c2 >>> 8) & 255,\n c2 & 255,\n ]);\n }\n reset() {\n this.c1 = 4294967295;\n this.c2 = 4294967295;\n }\n}\n", "export const crc64NvmeCrtContainer = {\n CrtCrc64Nvme: null,\n};\n", "export * from \"./Crc64Nvme\";\nexport * from \"./crc64-nvme-crt-container\";\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData, Checksum } from \"@aws-sdk/types\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32 } from \"./index\";\n\nexport class AwsCrc32 implements Checksum {\n private crc32 = new Crc32();\n\n update(toHash: SourceData) {\n if (isEmptyData(toHash)) return;\n\n this.crc32.update(convertToBuffer(toHash));\n }\n\n async digest(): Promise {\n return numToUint8(this.crc32.digest());\n }\n\n reset(): void {\n this.crc32 = new Crc32();\n }\n}\n", "import {uint32ArrayFrom} from \"@aws-crypto/util\";\n\nexport function crc32(data: Uint8Array): number {\n return new Crc32().update(data).digest();\n}\n\nexport class Crc32 {\n private checksum = 0xffffffff;\n\n update(data: Uint8Array): this {\n for (const byte of data) {\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n\n return this;\n }\n\n digest(): number {\n return (this.checksum ^ 0xffffffff) >>> 0;\n }\n}\n\n// prettier-ignore\nconst a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nconst lookupTable: Uint32Array = uint32ArrayFrom(a_lookUpTable)\nexport { AwsCrc32 } from \"./aws_crc32\";\n", "import { AwsCrc32 } from \"@aws-crypto/crc32\";\nexport const getCrc32ChecksumAlgorithmFunction = () => AwsCrc32;\n", "import { ChecksumAlgorithm } from \"./constants\";\nexport const CLIENT_SUPPORTED_ALGORITHMS = [\n ChecksumAlgorithm.CRC32,\n ChecksumAlgorithm.CRC32C,\n ChecksumAlgorithm.CRC64NVME,\n ChecksumAlgorithm.SHA1,\n ChecksumAlgorithm.SHA256,\n];\nexport const PRIORITY_ORDER_ALGORITHMS = [\n ChecksumAlgorithm.SHA256,\n ChecksumAlgorithm.SHA1,\n ChecksumAlgorithm.CRC32,\n ChecksumAlgorithm.CRC32C,\n ChecksumAlgorithm.CRC64NVME,\n];\n", "import { AwsCrc32c } from \"@aws-crypto/crc32c\";\nimport { Crc64Nvme, crc64NvmeCrtContainer } from \"@aws-sdk/crc64-nvme\";\nimport { ChecksumAlgorithm } from \"./constants\";\nimport { getCrc32ChecksumAlgorithmFunction } from \"./getCrc32ChecksumAlgorithmFunction\";\nimport { CLIENT_SUPPORTED_ALGORITHMS } from \"./types\";\nexport const selectChecksumAlgorithmFunction = (checksumAlgorithm, config) => {\n const { checksumAlgorithms = {} } = config;\n switch (checksumAlgorithm) {\n case ChecksumAlgorithm.MD5:\n return checksumAlgorithms?.MD5 ?? config.md5;\n case ChecksumAlgorithm.CRC32:\n return checksumAlgorithms?.CRC32 ?? getCrc32ChecksumAlgorithmFunction();\n case ChecksumAlgorithm.CRC32C:\n return checksumAlgorithms?.CRC32C ?? AwsCrc32c;\n case ChecksumAlgorithm.CRC64NVME:\n if (typeof crc64NvmeCrtContainer.CrtCrc64Nvme !== \"function\") {\n return checksumAlgorithms?.CRC64NVME ?? Crc64Nvme;\n }\n return checksumAlgorithms?.CRC64NVME ?? crc64NvmeCrtContainer.CrtCrc64Nvme;\n case ChecksumAlgorithm.SHA1:\n return checksumAlgorithms?.SHA1 ?? config.sha1;\n case ChecksumAlgorithm.SHA256:\n return checksumAlgorithms?.SHA256 ?? config.sha256;\n default:\n if (checksumAlgorithms?.[checksumAlgorithm]) {\n return checksumAlgorithms[checksumAlgorithm];\n }\n throw new Error(`The checksum algorithm \"${checksumAlgorithm}\" is not supported by the client.` +\n ` Select one of ${CLIENT_SUPPORTED_ALGORITHMS}, or provide an implementation to ` +\n ` the client constructor checksums field.`);\n }\n};\n", "import { toUint8Array } from \"@smithy/util-utf8\";\nexport const stringHasher = (checksumAlgorithmFn, body) => {\n const hash = new checksumAlgorithmFn();\n hash.update(toUint8Array(body || \"\"));\n return hash.digest();\n};\n", "import { setFeature } from \"@aws-sdk/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { createBufferedReadable } from \"@smithy/util-stream\";\nimport { ChecksumAlgorithm, DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from \"./constants\";\nimport { getChecksumAlgorithmForRequest } from \"./getChecksumAlgorithmForRequest\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { hasHeader } from \"./hasHeader\";\nimport { hasHeaderWithPrefix } from \"./hasHeaderWithPrefix\";\nimport { isStreaming } from \"./isStreaming\";\nimport { selectChecksumAlgorithmFunction } from \"./selectChecksumAlgorithmFunction\";\nimport { stringHasher } from \"./stringHasher\";\nexport const flexibleChecksumsMiddlewareOptions = {\n name: \"flexibleChecksumsMiddleware\",\n step: \"build\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n if (hasHeaderWithPrefix(\"x-amz-checksum-\", args.request.headers)) {\n return next(args);\n }\n const { request, input } = args;\n const { body: requestBody, headers } = request;\n const { base64Encoder, streamHasher } = config;\n const { requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;\n const requestChecksumCalculation = await config.requestChecksumCalculation();\n const requestAlgorithmMemberName = requestAlgorithmMember?.name;\n const requestAlgorithmMemberHttpHeader = requestAlgorithmMember?.httpHeader;\n if (requestAlgorithmMemberName && !input[requestAlgorithmMemberName]) {\n if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired) {\n input[requestAlgorithmMemberName] = DEFAULT_CHECKSUM_ALGORITHM;\n if (requestAlgorithmMemberHttpHeader) {\n headers[requestAlgorithmMemberHttpHeader] = DEFAULT_CHECKSUM_ALGORITHM;\n }\n }\n }\n const checksumAlgorithm = getChecksumAlgorithmForRequest(input, {\n requestChecksumRequired,\n requestAlgorithmMember: requestAlgorithmMember?.name,\n requestChecksumCalculation,\n });\n let updatedBody = requestBody;\n let updatedHeaders = headers;\n if (checksumAlgorithm) {\n switch (checksumAlgorithm) {\n case ChecksumAlgorithm.CRC32:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC32\", \"U\");\n break;\n case ChecksumAlgorithm.CRC32C:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC32C\", \"V\");\n break;\n case ChecksumAlgorithm.CRC64NVME:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC64\", \"W\");\n break;\n case ChecksumAlgorithm.SHA1:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_SHA1\", \"X\");\n break;\n case ChecksumAlgorithm.SHA256:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_SHA256\", \"Y\");\n break;\n }\n const checksumLocationName = getChecksumLocationName(checksumAlgorithm);\n const checksumAlgorithmFn = selectChecksumAlgorithmFunction(checksumAlgorithm, config);\n if (isStreaming(requestBody)) {\n const { getAwsChunkedEncodingStream, bodyLengthChecker } = config;\n updatedBody = getAwsChunkedEncodingStream(typeof config.requestStreamBufferSize === \"number\" && config.requestStreamBufferSize >= 8 * 1024\n ? createBufferedReadable(requestBody, config.requestStreamBufferSize, context.logger)\n : requestBody, {\n base64Encoder,\n bodyLengthChecker,\n checksumLocationName,\n checksumAlgorithmFn,\n streamHasher,\n });\n updatedHeaders = {\n ...headers,\n \"content-encoding\": headers[\"content-encoding\"]\n ? `${headers[\"content-encoding\"]},aws-chunked`\n : \"aws-chunked\",\n \"transfer-encoding\": \"chunked\",\n \"x-amz-decoded-content-length\": headers[\"content-length\"],\n \"x-amz-content-sha256\": \"STREAMING-UNSIGNED-PAYLOAD-TRAILER\",\n \"x-amz-trailer\": checksumLocationName,\n };\n delete updatedHeaders[\"content-length\"];\n }\n else if (!hasHeader(checksumLocationName, headers)) {\n const rawChecksum = await stringHasher(checksumAlgorithmFn, requestBody);\n updatedHeaders = {\n ...headers,\n [checksumLocationName]: base64Encoder(rawChecksum),\n };\n }\n }\n try {\n const result = await next({\n ...args,\n request: {\n ...request,\n headers: updatedHeaders,\n body: updatedBody,\n },\n });\n return result;\n }\n catch (e) {\n if (e instanceof Error && e.name === \"InvalidChunkSizeError\") {\n try {\n if (!e.message.endsWith(\".\")) {\n e.message += \".\";\n }\n e.message +=\n \" Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream.\";\n }\n catch (ignored) {\n }\n }\n throw e;\n }\n};\n", "import { setFeature } from \"@aws-sdk/core\";\nimport { RequestChecksumCalculation, ResponseChecksumValidation } from \"./constants\";\nexport const flexibleChecksumsInputMiddlewareOptions = {\n name: \"flexibleChecksumsInputMiddleware\",\n toMiddleware: \"serializerMiddleware\",\n relation: \"before\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsInputMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n const input = args.input;\n const { requestValidationModeMember } = middlewareConfig;\n const requestChecksumCalculation = await config.requestChecksumCalculation();\n const responseChecksumValidation = await config.responseChecksumValidation();\n switch (requestChecksumCalculation) {\n case RequestChecksumCalculation.WHEN_REQUIRED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED\", \"a\");\n break;\n case RequestChecksumCalculation.WHEN_SUPPORTED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED\", \"Z\");\n break;\n }\n switch (responseChecksumValidation) {\n case ResponseChecksumValidation.WHEN_REQUIRED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED\", \"c\");\n break;\n case ResponseChecksumValidation.WHEN_SUPPORTED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED\", \"b\");\n break;\n }\n if (requestValidationModeMember && !input[requestValidationModeMember]) {\n if (responseChecksumValidation === ResponseChecksumValidation.WHEN_SUPPORTED) {\n input[requestValidationModeMember] = \"ENABLED\";\n }\n }\n return next(args);\n};\n", "import { CLIENT_SUPPORTED_ALGORITHMS, PRIORITY_ORDER_ALGORITHMS } from \"./types\";\nexport const getChecksumAlgorithmListForResponse = (responseAlgorithms = []) => {\n const validChecksumAlgorithms = [];\n for (const algorithm of PRIORITY_ORDER_ALGORITHMS) {\n if (!responseAlgorithms.includes(algorithm) || !CLIENT_SUPPORTED_ALGORITHMS.includes(algorithm)) {\n continue;\n }\n validChecksumAlgorithms.push(algorithm);\n }\n return validChecksumAlgorithms;\n};\n", "export const isChecksumWithPartNumber = (checksum) => {\n const lastHyphenIndex = checksum.lastIndexOf(\"-\");\n if (lastHyphenIndex !== -1) {\n const numberPart = checksum.slice(lastHyphenIndex + 1);\n if (!numberPart.startsWith(\"0\")) {\n const number = parseInt(numberPart, 10);\n if (!isNaN(number) && number >= 1 && number <= 10000) {\n return true;\n }\n }\n }\n return false;\n};\n", "import { stringHasher } from \"./stringHasher\";\nexport const getChecksum = async (body, { checksumAlgorithmFn, base64Encoder }) => base64Encoder(await stringHasher(checksumAlgorithmFn, body));\n", "import { createChecksumStream } from \"@smithy/util-stream\";\nimport { ChecksumAlgorithm } from \"./constants\";\nimport { getChecksum } from \"./getChecksum\";\nimport { getChecksumAlgorithmListForResponse } from \"./getChecksumAlgorithmListForResponse\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { isStreaming } from \"./isStreaming\";\nimport { selectChecksumAlgorithmFunction } from \"./selectChecksumAlgorithmFunction\";\nexport const validateChecksumFromResponse = async (response, { config, responseAlgorithms, logger }) => {\n const checksumAlgorithms = getChecksumAlgorithmListForResponse(responseAlgorithms);\n const { body: responseBody, headers: responseHeaders } = response;\n for (const algorithm of checksumAlgorithms) {\n const responseHeader = getChecksumLocationName(algorithm);\n const checksumFromResponse = responseHeaders[responseHeader];\n if (checksumFromResponse) {\n let checksumAlgorithmFn;\n try {\n checksumAlgorithmFn = selectChecksumAlgorithmFunction(algorithm, config);\n }\n catch (error) {\n if (algorithm === ChecksumAlgorithm.CRC64NVME) {\n logger?.warn(`Skipping ${ChecksumAlgorithm.CRC64NVME} checksum validation: ${error.message}`);\n continue;\n }\n throw error;\n }\n const { base64Encoder } = config;\n if (isStreaming(responseBody)) {\n response.body = createChecksumStream({\n expectedChecksum: checksumFromResponse,\n checksumSourceLocation: responseHeader,\n checksum: new checksumAlgorithmFn(),\n source: responseBody,\n base64Encoder,\n });\n return;\n }\n const checksum = await getChecksum(responseBody, { checksumAlgorithmFn, base64Encoder });\n if (checksum === checksumFromResponse) {\n break;\n }\n throw new Error(`Checksum mismatch: expected \"${checksum}\" but received \"${checksumFromResponse}\"` +\n ` in response header \"${responseHeader}\".`);\n }\n }\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getChecksumAlgorithmListForResponse } from \"./getChecksumAlgorithmListForResponse\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { isChecksumWithPartNumber } from \"./isChecksumWithPartNumber\";\nimport { validateChecksumFromResponse } from \"./validateChecksumFromResponse\";\nexport const flexibleChecksumsResponseMiddlewareOptions = {\n name: \"flexibleChecksumsResponseMiddleware\",\n toMiddleware: \"deserializerMiddleware\",\n relation: \"after\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsResponseMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const input = args.input;\n const result = await next(args);\n const response = result.response;\n const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;\n if (requestValidationModeMember && input[requestValidationModeMember] === \"ENABLED\") {\n const { clientName, commandName } = context;\n const isS3WholeObjectMultipartGetResponseChecksum = clientName === \"S3Client\" &&\n commandName === \"GetObjectCommand\" &&\n getChecksumAlgorithmListForResponse(responseAlgorithms).every((algorithm) => {\n const responseHeader = getChecksumLocationName(algorithm);\n const checksumFromResponse = response.headers[responseHeader];\n return !checksumFromResponse || isChecksumWithPartNumber(checksumFromResponse);\n });\n if (isS3WholeObjectMultipartGetResponseChecksum) {\n return result;\n }\n await validateChecksumFromResponse(response, {\n config,\n responseAlgorithms,\n logger: context.logger,\n });\n }\n return result;\n};\n", "import { flexibleChecksumsInputMiddleware, flexibleChecksumsInputMiddlewareOptions, } from \"./flexibleChecksumsInputMiddleware\";\nimport { flexibleChecksumsMiddleware, flexibleChecksumsMiddlewareOptions } from \"./flexibleChecksumsMiddleware\";\nimport { flexibleChecksumsResponseMiddleware, flexibleChecksumsResponseMiddlewareOptions, } from \"./flexibleChecksumsResponseMiddleware\";\nexport const getFlexibleChecksumsPlugin = (config, middlewareConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.add(flexibleChecksumsMiddleware(config, middlewareConfig), flexibleChecksumsMiddlewareOptions);\n clientStack.addRelativeTo(flexibleChecksumsInputMiddleware(config, middlewareConfig), flexibleChecksumsInputMiddlewareOptions);\n clientStack.addRelativeTo(flexibleChecksumsResponseMiddleware(config, middlewareConfig), flexibleChecksumsResponseMiddlewareOptions);\n },\n});\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { DEFAULT_REQUEST_CHECKSUM_CALCULATION, DEFAULT_RESPONSE_CHECKSUM_VALIDATION } from \"./constants\";\nexport const resolveFlexibleChecksumsConfig = (input) => {\n const { requestChecksumCalculation, responseChecksumValidation, requestStreamBufferSize } = input;\n return Object.assign(input, {\n requestChecksumCalculation: normalizeProvider(requestChecksumCalculation ?? DEFAULT_REQUEST_CHECKSUM_CALCULATION),\n responseChecksumValidation: normalizeProvider(responseChecksumValidation ?? DEFAULT_RESPONSE_CHECKSUM_VALIDATION),\n requestStreamBufferSize: Number(requestStreamBufferSize ?? 0),\n checksumAlgorithms: input.checksumAlgorithms ?? {},\n });\n};\n", "export * from \"./NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS\";\nexport * from \"./NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS\";\nexport * from \"./constants\";\nexport * from \"./flexibleChecksumsMiddleware\";\nexport * from \"./getFlexibleChecksumsPlugin\";\nexport * from \"./resolveFlexibleChecksumsConfig\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport function resolveHostHeaderConfig(input) {\n return input;\n}\nexport const hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!HttpRequest.isInstance(args.request))\n return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = request.hostname + (request.port ? \":\" + request.port : \"\");\n }\n else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null)\n host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n};\nexport const hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nexport const getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n", "export const loggerMiddleware = () => (next, context) => async (args) => {\n try {\n const response = await next(args);\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger?.info?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n return response;\n }\n catch (error) {\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n logger?.error?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n error,\n metadata: error.$metadata,\n });\n throw error;\n }\n};\nexport const loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nexport const getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n", "export * from \"./loggerMiddleware\";\n", "export const recursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\n", "export const recursionDetectionMiddleware = () => (next) => async (args) => next(args);\n", "import { recursionDetectionMiddlewareOptions } from \"./configuration\";\nimport { recursionDetectionMiddleware } from \"./recursionDetectionMiddleware\";\nexport const getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(recursionDetectionMiddleware(), recursionDetectionMiddlewareOptions);\n },\n});\n", "export * from \"./getRecursionDetectionPlugin\";\nexport * from \"./recursionDetectionMiddleware\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nconst DECODED_CONTENT_LENGTH_HEADER = \"x-amz-decoded-content-length\";\nexport function checkContentLengthHeader() {\n return (next, context) => async (args) => {\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n if (!(CONTENT_LENGTH_HEADER in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) {\n const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;\n if (typeof context?.logger?.warn === \"function\" && !(context.logger instanceof NoOpLogger)) {\n context.logger.warn(message);\n }\n else {\n console.warn(message);\n }\n }\n }\n return next({ ...args });\n };\n}\nexport const checkContentLengthHeaderMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"CHECK_CONTENT_LENGTH_HEADER\"],\n name: \"getCheckContentLengthHeaderPlugin\",\n override: true,\n};\nexport const getCheckContentLengthHeaderPlugin = (unused) => ({\n applyToStack: (clientStack) => {\n clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions);\n },\n});\n", "export const regionRedirectEndpointMiddleware = (config) => {\n return (next, context) => async (args) => {\n const originalRegion = await config.region();\n const regionProviderRef = config.region;\n let unlock = () => { };\n if (context.__s3RegionRedirect) {\n Object.defineProperty(config, \"region\", {\n writable: false,\n value: async () => {\n return context.__s3RegionRedirect;\n },\n });\n unlock = () => Object.defineProperty(config, \"region\", {\n writable: true,\n value: regionProviderRef,\n });\n }\n try {\n const result = await next(args);\n if (context.__s3RegionRedirect) {\n unlock();\n const region = await config.region();\n if (originalRegion !== region) {\n throw new Error(\"Region was not restored following S3 region redirect.\");\n }\n }\n return result;\n }\n catch (e) {\n unlock();\n throw e;\n }\n };\n};\nexport const regionRedirectEndpointMiddlewareOptions = {\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectEndpointMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\n", "import { regionRedirectEndpointMiddleware, regionRedirectEndpointMiddlewareOptions, } from \"./region-redirect-endpoint-middleware\";\nexport function regionRedirectMiddleware(clientConfig) {\n return (next, context) => async (args) => {\n try {\n return await next(args);\n }\n catch (err) {\n if (clientConfig.followRegionRedirects) {\n const statusCode = err?.$metadata?.httpStatusCode;\n const isHeadBucket = context.commandName === \"HeadBucketCommand\";\n const bucketRegionHeader = err?.$response?.headers?.[\"x-amz-bucket-region\"];\n if (bucketRegionHeader) {\n if (statusCode === 301 ||\n (statusCode === 400 && (err?.name === \"IllegalLocationConstraintException\" || isHeadBucket))) {\n try {\n const actualRegion = bucketRegionHeader;\n context.logger?.debug(`Redirecting from ${await clientConfig.region()} to ${actualRegion}`);\n context.__s3RegionRedirect = actualRegion;\n }\n catch (e) {\n throw new Error(\"Region redirect failed: \" + e);\n }\n return next(args);\n }\n }\n }\n throw err;\n }\n };\n}\nexport const regionRedirectMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectMiddleware\",\n override: true,\n};\nexport const getRegionRedirectMiddlewarePlugin = (clientConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.add(regionRedirectMiddleware(clientConfig), regionRedirectMiddlewareOptions);\n clientStack.addRelativeTo(regionRedirectEndpointMiddleware(clientConfig), regionRedirectEndpointMiddlewareOptions);\n },\n});\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { parseRfc7231DateTime } from \"@smithy/smithy-client\";\nexport const s3ExpiresMiddleware = (config) => {\n return (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (HttpResponse.isInstance(response)) {\n if (response.headers.expires) {\n response.headers.expiresstring = response.headers.expires;\n try {\n parseRfc7231DateTime(response.headers.expires);\n }\n catch (e) {\n context.logger?.warn(`AWS SDK Warning for ${context.clientName}::${context.commandName} response parsing (${response.headers.expires}): ${e}`);\n delete response.headers.expires;\n }\n }\n }\n return result;\n };\n};\nexport const s3ExpiresMiddlewareOptions = {\n tags: [\"S3\"],\n name: \"s3ExpiresMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n};\nexport const getS3ExpiresMiddlewarePlugin = (clientConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(s3ExpiresMiddleware(clientConfig), s3ExpiresMiddlewareOptions);\n },\n});\n", "export class S3ExpressIdentityCache {\n data;\n lastPurgeTime = Date.now();\n static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS = 30_000;\n constructor(data = {}) {\n this.data = data;\n }\n get(key) {\n const entry = this.data[key];\n if (!entry) {\n return;\n }\n return entry;\n }\n set(key, entry) {\n this.data[key] = entry;\n return entry;\n }\n delete(key) {\n delete this.data[key];\n }\n async purgeExpired() {\n const now = Date.now();\n if (this.lastPurgeTime + S3ExpressIdentityCache.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS > now) {\n return;\n }\n for (const key in this.data) {\n const entry = this.data[key];\n if (!entry.isRefreshing) {\n const credential = await entry.identity;\n if (credential.expiration) {\n if (credential.expiration.getTime() < now) {\n delete this.data[key];\n }\n }\n }\n }\n }\n}\n", "export class S3ExpressIdentityCacheEntry {\n _identity;\n isRefreshing;\n accessed;\n constructor(_identity, isRefreshing = false, accessed = Date.now()) {\n this._identity = _identity;\n this.isRefreshing = isRefreshing;\n this.accessed = accessed;\n }\n get identity() {\n this.accessed = Date.now();\n return this._identity;\n }\n}\n", "import { S3ExpressIdentityCache } from \"./S3ExpressIdentityCache\";\nimport { S3ExpressIdentityCacheEntry } from \"./S3ExpressIdentityCacheEntry\";\nexport class S3ExpressIdentityProviderImpl {\n createSessionFn;\n cache;\n static REFRESH_WINDOW_MS = 60_000;\n constructor(createSessionFn, cache = new S3ExpressIdentityCache()) {\n this.createSessionFn = createSessionFn;\n this.cache = cache;\n }\n async getS3ExpressIdentity(awsIdentity, identityProperties) {\n const key = identityProperties.Bucket;\n const { cache } = this;\n const entry = cache.get(key);\n if (entry) {\n return entry.identity.then((identity) => {\n const isExpired = (identity.expiration?.getTime() ?? 0) < Date.now();\n if (isExpired) {\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n const isExpiringSoon = (identity.expiration?.getTime() ?? 0) < Date.now() + S3ExpressIdentityProviderImpl.REFRESH_WINDOW_MS;\n if (isExpiringSoon && !entry.isRefreshing) {\n entry.isRefreshing = true;\n this.getIdentity(key).then((id) => {\n cache.set(key, new S3ExpressIdentityCacheEntry(Promise.resolve(id)));\n });\n }\n return identity;\n });\n }\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n async getIdentity(key) {\n await this.cache.purgeExpired().catch((error) => {\n console.warn(\"Error while clearing expired entries in S3ExpressIdentityCache: \\n\" + error);\n });\n const session = await this.createSessionFn(key);\n if (!session.Credentials?.AccessKeyId || !session.Credentials?.SecretAccessKey) {\n throw new Error(\"s3#createSession response credential missing AccessKeyId or SecretAccessKey.\");\n }\n const identity = {\n accessKeyId: session.Credentials.AccessKeyId,\n secretAccessKey: session.Credentials.SecretAccessKey,\n sessionToken: session.Credentials.SessionToken,\n expiration: session.Credentials.Expiration ? new Date(session.Credentials.Expiration) : undefined,\n };\n return identity;\n }\n}\n", "import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const S3_EXPRESS_BUCKET_TYPE = \"Directory\";\nexport const S3_EXPRESS_BACKEND = \"S3Express\";\nexport const S3_EXPRESS_AUTH_SCHEME = \"sigv4-s3express\";\nexport const SESSION_TOKEN_QUERY_PARAM = \"X-Amz-S3session-Token\";\nexport const SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase();\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME = \"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH\";\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME = \"s3_disable_express_session_auth\";\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, SelectorType.CONFIG),\n default: false,\n};\n", "import { SignatureV4 } from \"@smithy/signature-v4\";\nimport { SESSION_TOKEN_HEADER, SESSION_TOKEN_QUERY_PARAM } from \"../constants\";\nexport class SignatureV4S3Express extends SignatureV4 {\n async signWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n requestToSign.headers[SESSION_TOKEN_HEADER] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return privateAccess.signRequest(requestToSign, options ?? {});\n }\n async presignWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n delete requestToSign.headers[SESSION_TOKEN_HEADER];\n requestToSign.headers[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n requestToSign.query = requestToSign.query ?? {};\n requestToSign.query[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return this.presign(requestToSign, options);\n }\n}\nfunction getCredentialsWithoutSessionToken(credentials) {\n const credentialsWithoutSessionToken = {\n accessKeyId: credentials.accessKeyId,\n secretAccessKey: credentials.secretAccessKey,\n expiration: credentials.expiration,\n };\n return credentialsWithoutSessionToken;\n}\nfunction setSingleOverride(privateAccess, credentialsWithoutSessionToken) {\n const id = setTimeout(() => {\n throw new Error(\"SignatureV4S3Express credential override was created but not called.\");\n }, 10);\n const currentCredentialProvider = privateAccess.credentialProvider;\n const overrideCredentialsProviderOnce = () => {\n clearTimeout(id);\n privateAccess.credentialProvider = currentCredentialProvider;\n return Promise.resolve(credentialsWithoutSessionToken);\n };\n privateAccess.credentialProvider = overrideCredentialsProviderOnce;\n}\n", "import { setFeature } from \"@aws-sdk/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { S3_EXPRESS_AUTH_SCHEME, S3_EXPRESS_BACKEND, S3_EXPRESS_BUCKET_TYPE, SESSION_TOKEN_HEADER } from \"../constants\";\nexport const s3ExpressMiddleware = (options) => {\n return (next, context) => async (args) => {\n if (context.endpointV2) {\n const endpoint = context.endpointV2;\n const isS3ExpressAuth = endpoint.properties?.authSchemes?.[0]?.name === S3_EXPRESS_AUTH_SCHEME;\n const isS3ExpressBucket = endpoint.properties?.backend === S3_EXPRESS_BACKEND ||\n endpoint.properties?.bucketType === S3_EXPRESS_BUCKET_TYPE;\n if (isS3ExpressBucket) {\n setFeature(context, \"S3_EXPRESS_BUCKET\", \"J\");\n context.isS3ExpressBucket = true;\n }\n if (isS3ExpressAuth) {\n const requestBucket = args.input.Bucket;\n if (requestBucket) {\n const s3ExpressIdentity = await options.s3ExpressIdentityProvider.getS3ExpressIdentity(await options.credentials(), {\n Bucket: requestBucket,\n });\n context.s3ExpressIdentity = s3ExpressIdentity;\n if (HttpRequest.isInstance(args.request) && s3ExpressIdentity.sessionToken) {\n args.request.headers[SESSION_TOKEN_HEADER] = s3ExpressIdentity.sessionToken;\n }\n }\n }\n }\n return next(args);\n };\n};\nexport const s3ExpressMiddlewareOptions = {\n name: \"s3ExpressMiddleware\",\n step: \"build\",\n tags: [\"S3\", \"S3_EXPRESS\"],\n override: true,\n};\nexport const getS3ExpressPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(s3ExpressMiddleware(options), s3ExpressMiddlewareOptions);\n },\n});\n", "export const signS3Express = async (s3ExpressIdentity, signingOptions, request, sigV4MultiRegionSigner) => {\n const signedRequest = await sigV4MultiRegionSigner.signWithCredentials(request, s3ExpressIdentity, {});\n if (signedRequest.headers[\"X-Amz-Security-Token\"] || signedRequest.headers[\"x-amz-security-token\"]) {\n throw new Error(\"X-Amz-Security-Token must not be set for s3-express requests.\");\n }\n return signedRequest;\n};\n", "import { httpSigningMiddlewareOptions } from \"@smithy/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { signS3Express } from \"./signS3Express\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const s3ExpressHttpSigningMiddlewareOptions = httpSigningMiddlewareOptions;\nexport const s3ExpressHttpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n let request;\n if (context.s3ExpressIdentity) {\n request = await signS3Express(context.s3ExpressIdentity, signingProperties, args.request, await config.signer());\n }\n else {\n request = await signer.sign(args.request, identity, signingProperties);\n }\n const output = await next({\n ...args,\n request,\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\nexport const getS3ExpressHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(s3ExpressHttpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n", "export { S3ExpressIdentityCache } from \"./classes/S3ExpressIdentityCache\";\nexport { S3ExpressIdentityCacheEntry } from \"./classes/S3ExpressIdentityCacheEntry\";\nexport { S3ExpressIdentityProviderImpl } from \"./classes/S3ExpressIdentityProviderImpl\";\nexport { SignatureV4S3Express } from \"./classes/SignatureV4S3Express\";\nexport { NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS } from \"./constants\";\nexport { getS3ExpressPlugin, s3ExpressMiddleware, s3ExpressMiddlewareOptions } from \"./functions/s3ExpressMiddleware\";\nexport { getS3ExpressHttpSigningPlugin, s3ExpressHttpSigningMiddleware, s3ExpressHttpSigningMiddlewareOptions, } from \"./functions/s3ExpressHttpSigningMiddleware\";\n", "import { S3ExpressIdentityProviderImpl } from \"./s3-express\";\nexport const resolveS3Config = (input, { session, }) => {\n const [s3ClientProvider, CreateSessionCommandCtor] = session;\n const { forcePathStyle, useAccelerateEndpoint, disableMultiregionAccessPoints, followRegionRedirects, s3ExpressIdentityProvider, bucketEndpoint, expectContinueHeader, } = input;\n return Object.assign(input, {\n forcePathStyle: forcePathStyle ?? false,\n useAccelerateEndpoint: useAccelerateEndpoint ?? false,\n disableMultiregionAccessPoints: disableMultiregionAccessPoints ?? false,\n followRegionRedirects: followRegionRedirects ?? false,\n s3ExpressIdentityProvider: s3ExpressIdentityProvider ??\n new S3ExpressIdentityProviderImpl(async (key) => s3ClientProvider().send(new CreateSessionCommandCtor({\n Bucket: key,\n }))),\n bucketEndpoint: bucketEndpoint ?? false,\n expectContinueHeader: expectContinueHeader ?? 2_097_152,\n });\n};\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { headStream, splitStream } from \"@smithy/util-stream\";\nconst THROW_IF_EMPTY_BODY = {\n CopyObjectCommand: true,\n UploadPartCopyCommand: true,\n CompleteMultipartUploadCommand: true,\n};\nconst MAX_BYTES_TO_INSPECT = 3000;\nexport const throw200ExceptionsMiddleware = (config) => (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (!HttpResponse.isInstance(response)) {\n return result;\n }\n const { statusCode, body: sourceBody } = response;\n if (statusCode < 200 || statusCode >= 300) {\n return result;\n }\n const isSplittableStream = typeof sourceBody?.stream === \"function\" ||\n typeof sourceBody?.pipe === \"function\" ||\n typeof sourceBody?.tee === \"function\";\n if (!isSplittableStream) {\n return result;\n }\n let bodyCopy = sourceBody;\n let body = sourceBody;\n if (sourceBody && typeof sourceBody === \"object\" && !(sourceBody instanceof Uint8Array)) {\n [bodyCopy, body] = await splitStream(sourceBody);\n }\n response.body = body;\n const bodyBytes = await collectBody(bodyCopy, {\n streamCollector: async (stream) => {\n return headStream(stream, MAX_BYTES_TO_INSPECT);\n },\n });\n if (typeof bodyCopy?.destroy === \"function\") {\n bodyCopy.destroy();\n }\n const bodyStringTail = config.utf8Encoder(bodyBytes.subarray(bodyBytes.length - 16));\n if (bodyBytes.length === 0 && THROW_IF_EMPTY_BODY[context.commandName]) {\n const err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyStringTail && bodyStringTail.endsWith(\"\")) {\n response.statusCode = 400;\n }\n return result;\n};\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nexport const throw200ExceptionsMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true,\n};\nexport const getThrow200ExceptionsPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(throw200ExceptionsMiddleware(config), throw200ExceptionsMiddlewareOptions);\n },\n});\n", "export const validate = (str) => typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6;\nexport const parse = (arn) => {\n const segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\")\n throw new Error(\"Malformed ARN\");\n const [, partition, service, region, accountId, ...resource] = segments;\n return {\n partition,\n service,\n region,\n accountId,\n resource: resource.join(\":\"),\n };\n};\nexport const build = (arnObject) => {\n const { partition = \"aws\", service, region, accountId, resource } = arnObject;\n if ([service, region, accountId, resource].some((segment) => typeof segment !== \"string\")) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return `arn:${partition}:${service}:${region}:${accountId}:${resource}`;\n};\n", "export function bucketEndpointMiddleware(options) {\n return (next, context) => async (args) => {\n if (options.bucketEndpoint) {\n const endpoint = context.endpointV2;\n if (endpoint) {\n const bucket = args.input.Bucket;\n if (typeof bucket === \"string\") {\n try {\n const bucketEndpointUrl = new URL(bucket);\n context.endpointV2 = {\n ...endpoint,\n url: bucketEndpointUrl,\n };\n }\n catch (e) {\n const warning = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;\n if (context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(warning);\n }\n else {\n context.logger?.warn?.(warning);\n }\n throw e;\n }\n }\n }\n }\n return next(args);\n };\n}\nexport const bucketEndpointMiddlewareOptions = {\n name: \"bucketEndpointMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"endpointV2Middleware\",\n};\n", "import { validate as validateArn } from \"@aws-sdk/util-arn-parser\";\nimport { bucketEndpointMiddleware, bucketEndpointMiddlewareOptions } from \"./bucket-endpoint-middleware\";\nexport function validateBucketNameMiddleware({ bucketEndpoint }) {\n return (next) => async (args) => {\n const { input: { Bucket }, } = args;\n if (!bucketEndpoint && typeof Bucket === \"string\" && !validateArn(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return next({ ...args });\n };\n}\nexport const validateBucketNameMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true,\n};\nexport const getValidateBucketNamePlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);\n clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);\n },\n});\n", "export * from \"./check-content-length-header\";\nexport * from \"./region-redirect-endpoint-middleware\";\nexport * from \"./region-redirect-middleware\";\nexport * from \"./s3-expires-middleware\";\nexport * from \"./s3-express/index\";\nexport * from \"./s3Configuration\";\nexport * from \"./throw-200-exceptions\";\nexport * from \"./validate-bucket-name\";\n", "import { normalizeProvider } from \"@smithy/core\";\nexport const DEFAULT_UA_APP_ID = undefined;\nfunction isValidUserAgentAppId(appId) {\n if (appId === undefined) {\n return true;\n }\n return typeof appId === \"string\" && appId.length <= 50;\n}\nexport function resolveUserAgentConfig(input) {\n const normalizedAppIdProvider = normalizeProvider(input.userAgentAppId ?? DEFAULT_UA_APP_ID);\n const { customUserAgent } = input;\n return Object.assign(input, {\n customUserAgent: typeof customUserAgent === \"string\" ? [[customUserAgent]] : customUserAgent,\n userAgentAppId: async () => {\n const appId = await normalizedAppIdProvider();\n if (!isValidUserAgentAppId(appId)) {\n const logger = input.logger?.constructor?.name === \"NoOpLogger\" || !input.logger ? console : input.logger;\n if (typeof appId !== \"string\") {\n logger?.warn(\"userAgentAppId must be a string or undefined.\");\n }\n else if (appId.length > 50) {\n logger?.warn(\"The provided userAgentAppId exceeds the maximum length of 50 characters.\");\n }\n }\n return appId;\n },\n });\n}\n", "export class EndpointCache {\n capacity;\n data = new Map();\n parameters = [];\n constructor({ size, params }) {\n this.capacity = size ?? 50;\n if (params) {\n this.parameters = params;\n }\n }\n get(endpointParams, resolver) {\n const key = this.hash(endpointParams);\n if (key === false) {\n return resolver();\n }\n if (!this.data.has(key)) {\n if (this.data.size > this.capacity + 10) {\n const keys = this.data.keys();\n let i = 0;\n while (true) {\n const { value, done } = keys.next();\n this.data.delete(value);\n if (done || ++i > 10) {\n break;\n }\n }\n }\n this.data.set(key, resolver());\n }\n return this.data.get(key);\n }\n size() {\n return this.data.size;\n }\n hash(endpointParams) {\n let buffer = \"\";\n const { parameters } = this;\n if (parameters.length === 0) {\n return false;\n }\n for (const param of parameters) {\n const val = String(endpointParams[param] ?? \"\");\n if (val.includes(\"|;\")) {\n return false;\n }\n buffer += val + \"|;\";\n }\n return buffer;\n }\n}\n", "const IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`);\nexport const isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\n", "const VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nexport const isValidHostLabel = (value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!isValidHostLabel(label)) {\n return false;\n }\n }\n return true;\n};\n", "export const customEndpointFunctions = {};\n", "export const debugId = \"endpoints\";\n", "export function toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\n", "export * from \"./debugId\";\nexport * from \"./toDebugString\";\n", "export class EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./EndpointError\";\nexport * from \"./EndpointFunctions\";\nexport * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./TreeRuleObject\";\nexport * from \"./shared\";\n", "export const booleanEquals = (value1, value2) => value1 === value2;\n", "import { EndpointError } from \"../types\";\nexport const getAttrPathList = (path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n }\n else {\n pathList.push(part);\n }\n }\n return pathList;\n};\n", "import { EndpointError } from \"../types\";\nimport { getAttrPathList } from \"./getAttrPathList\";\nexport const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n }\n else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value);\n", "export const isSet = (value) => value != null;\n", "export const not = (value) => !value;\n", "import { EndpointURLScheme } from \"@smithy/types\";\nimport { isIpAddress } from \"./isIpAddress\";\nconst DEFAULT_PORTS = {\n [EndpointURLScheme.HTTP]: 80,\n [EndpointURLScheme.HTTPS]: 443,\n};\nexport const parseURL = (value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname, port, protocol = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query)\n .map(([k, v]) => `${k}=${v}`)\n .join(\"&\");\n return url;\n }\n return new URL(value);\n }\n catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = isIpAddress(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\n (typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp,\n };\n};\n", "export const stringEquals = (value1, value2) => value1 === value2;\n", "export const substring = (input, start, stop, reverse) => {\n if (start >= stop || input.length < stop || /[^\\u0000-\\u007f]/.test(input)) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n};\n", "export const uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\n", "export * from \"./booleanEquals\";\nexport * from \"./getAttr\";\nexport * from \"./isSet\";\nexport * from \"./isValidHostLabel\";\nexport * from \"./not\";\nexport * from \"./parseURL\";\nexport * from \"./stringEquals\";\nexport * from \"./substring\";\nexport * from \"./uriEncode\";\n", "import { booleanEquals, getAttr, isSet, isValidHostLabel, not, parseURL, stringEquals, substring, uriEncode, } from \"../lib\";\nexport const endpointFunctions = {\n booleanEquals,\n getAttr,\n isSet,\n isValidHostLabel,\n not,\n parseURL,\n stringEquals,\n substring,\n uriEncode,\n};\n", "import { getAttr } from \"../lib\";\nexport const evaluateTemplate = (template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));\n }\n else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n};\n", "export const getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\n", "import { EndpointError } from \"../types\";\nimport { customEndpointFunctions } from \"./customEndpointFunctions\";\nimport { endpointFunctions } from \"./endpointFunctions\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nimport { getReferenceValue } from \"./getReferenceValue\";\nexport const evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return evaluateTemplate(obj, options);\n }\n else if (obj[\"fn\"]) {\n return group.callFunction(obj, options);\n }\n else if (obj[\"ref\"]) {\n return getReferenceValue(obj, options);\n }\n throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n};\nexport const callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : group.evaluateExpression(arg, \"arg\", options));\n const fnSegments = fn.split(\".\");\n if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {\n return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);\n }\n return endpointFunctions[fn](...evaluatedArgs);\n};\nexport const group = {\n evaluateExpression,\n callFunction,\n};\n", "export { callFunction } from \"./evaluateExpression\";\n", "import { debugId, toDebugString } from \"../debug\";\nimport { EndpointError } from \"../types\";\nimport { callFunction } from \"./callFunction\";\nexport const evaluateCondition = ({ assign, ...fnArgs }, options) => {\n if (assign && assign in options.referenceRecord) {\n throw new EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = callFunction(fnArgs, options);\n options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...(assign != null && { toAssign: { name: assign, value } }),\n };\n};\n", "import { debugId, toDebugString } from \"../debug\";\nimport { evaluateCondition } from \"./evaluateCondition\";\nexport const evaluateConditions = (conditions = [], options) => {\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = evaluateCondition(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord,\n },\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n};\n", "import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = evaluateExpression(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n }),\n}), {});\n", "import { EndpointError } from \"../types\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nexport const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: group.getEndpointProperty(propertyVal, options),\n}), {});\nexport const getEndpointProperty = (property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return evaluateTemplate(property, options);\n case \"object\":\n if (property === null) {\n throw new EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return group.getEndpointProperties(property, options);\n case \"boolean\":\n return property;\n default:\n throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\nexport const group = {\n getEndpointProperty,\n getEndpointProperties,\n};\n", "import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointUrl = (endpointUrl, options) => {\n const expression = evaluateExpression(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n }\n catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n};\n", "import { debugId, toDebugString } from \"../debug\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { getEndpointHeaders } from \"./getEndpointHeaders\";\nimport { getEndpointProperties } from \"./getEndpointProperties\";\nimport { getEndpointUrl } from \"./getEndpointUrl\";\nexport const evaluateEndpointRule = (endpointRule, options) => {\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n };\n const { url, properties, headers } = endpoint;\n options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);\n return {\n ...(headers != undefined && {\n headers: getEndpointHeaders(headers, endpointRuleOptions),\n }),\n ...(properties != undefined && {\n properties: getEndpointProperties(properties, endpointRuleOptions),\n }),\n url: getEndpointUrl(url, endpointRuleOptions),\n };\n};\n", "import { EndpointError } from \"../types\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const evaluateErrorRule = (errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n throw new EndpointError(evaluateExpression(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n }));\n};\n", "import { EndpointError } from \"../types\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateEndpointRule } from \"./evaluateEndpointRule\";\nimport { evaluateErrorRule } from \"./evaluateErrorRule\";\nexport const evaluateRules = (rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = evaluateEndpointRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else if (rule.type === \"error\") {\n evaluateErrorRule(rule, options);\n }\n else if (rule.type === \"tree\") {\n const endpointOrUndefined = group.evaluateTreeRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else {\n throw new EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new EndpointError(`Rules evaluation failed`);\n};\nexport const evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n return group.evaluateRules(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\nexport const group = {\n evaluateRules,\n evaluateTreeRule,\n};\n", "export * from \"./customEndpointFunctions\";\nexport * from \"./evaluateRules\";\n", "import { debugId, toDebugString } from \"./debug\";\nimport { EndpointError } from \"./types\";\nimport { evaluateRules } from \"./utils\";\nexport const resolveEndpoint = (ruleSetObject, options) => {\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters)\n .filter(([, v]) => v.default != null)\n .map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters)\n .filter(([, v]) => v.required)\n .map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });\n options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);\n return endpoint;\n};\n", "export * from \"./cache/EndpointCache\";\nexport * from \"./lib/isIpAddress\";\nexport * from \"./lib/isValidHostLabel\";\nexport * from \"./utils/customEndpointFunctions\";\nexport * from \"./resolveEndpoint\";\nexport * from \"./types\";\n", "export { isIpAddress } from \"@smithy/util-endpoints\";\n", "import { isValidHostLabel } from \"@smithy/util-endpoints\";\nimport { isIpAddress } from \"../isIpAddress\";\nexport const isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!isVirtualHostableS3Bucket(label)) {\n return false;\n }\n }\n return true;\n }\n if (!isValidHostLabel(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if (isIpAddress(value)) {\n return false;\n }\n return true;\n};\n", "const ARN_DELIMITER = \":\";\nconst RESOURCE_DELIMITER = \"/\";\nexport const parseArn = (value) => {\n const segments = value.split(ARN_DELIMITER);\n if (segments.length < 6)\n return null;\n const [arn, partition, service, region, accountId, ...resourcePath] = segments;\n if (arn !== \"arn\" || partition === \"\" || service === \"\" || resourcePath.join(ARN_DELIMITER) === \"\")\n return null;\n const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat();\n return {\n partition,\n service,\n region,\n accountId,\n resourceId,\n };\n};\n", "{\n \"partitions\": [{\n \"id\": \"aws\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com\",\n \"dualStackDnsSuffix\": \"api.aws\",\n \"implicitGlobalRegion\": \"us-east-1\",\n \"name\": \"aws\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"af-south-1\": {\n \"description\": \"Africa (Cape Town)\"\n },\n \"ap-east-1\": {\n \"description\": \"Asia Pacific (Hong Kong)\"\n },\n \"ap-east-2\": {\n \"description\": \"Asia Pacific (Taipei)\"\n },\n \"ap-northeast-1\": {\n \"description\": \"Asia Pacific (Tokyo)\"\n },\n \"ap-northeast-2\": {\n \"description\": \"Asia Pacific (Seoul)\"\n },\n \"ap-northeast-3\": {\n \"description\": \"Asia Pacific (Osaka)\"\n },\n \"ap-south-1\": {\n \"description\": \"Asia Pacific (Mumbai)\"\n },\n \"ap-south-2\": {\n \"description\": \"Asia Pacific (Hyderabad)\"\n },\n \"ap-southeast-1\": {\n \"description\": \"Asia Pacific (Singapore)\"\n },\n \"ap-southeast-2\": {\n \"description\": \"Asia Pacific (Sydney)\"\n },\n \"ap-southeast-3\": {\n \"description\": \"Asia Pacific (Jakarta)\"\n },\n \"ap-southeast-4\": {\n \"description\": \"Asia Pacific (Melbourne)\"\n },\n \"ap-southeast-5\": {\n \"description\": \"Asia Pacific (Malaysia)\"\n },\n \"ap-southeast-6\": {\n \"description\": \"Asia Pacific (New Zealand)\"\n },\n \"ap-southeast-7\": {\n \"description\": \"Asia Pacific (Thailand)\"\n },\n \"aws-global\": {\n \"description\": \"aws global region\"\n },\n \"ca-central-1\": {\n \"description\": \"Canada (Central)\"\n },\n \"ca-west-1\": {\n \"description\": \"Canada West (Calgary)\"\n },\n \"eu-central-1\": {\n \"description\": \"Europe (Frankfurt)\"\n },\n \"eu-central-2\": {\n \"description\": \"Europe (Zurich)\"\n },\n \"eu-north-1\": {\n \"description\": \"Europe (Stockholm)\"\n },\n \"eu-south-1\": {\n \"description\": \"Europe (Milan)\"\n },\n \"eu-south-2\": {\n \"description\": \"Europe (Spain)\"\n },\n \"eu-west-1\": {\n \"description\": \"Europe (Ireland)\"\n },\n \"eu-west-2\": {\n \"description\": \"Europe (London)\"\n },\n \"eu-west-3\": {\n \"description\": \"Europe (Paris)\"\n },\n \"il-central-1\": {\n \"description\": \"Israel (Tel Aviv)\"\n },\n \"me-central-1\": {\n \"description\": \"Middle East (UAE)\"\n },\n \"me-south-1\": {\n \"description\": \"Middle East (Bahrain)\"\n },\n \"mx-central-1\": {\n \"description\": \"Mexico (Central)\"\n },\n \"sa-east-1\": {\n \"description\": \"South America (Sao Paulo)\"\n },\n \"us-east-1\": {\n \"description\": \"US East (N. Virginia)\"\n },\n \"us-east-2\": {\n \"description\": \"US East (Ohio)\"\n },\n \"us-west-1\": {\n \"description\": \"US West (N. California)\"\n },\n \"us-west-2\": {\n \"description\": \"US West (Oregon)\"\n }\n }\n }, {\n \"id\": \"aws-cn\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com.cn\",\n \"dualStackDnsSuffix\": \"api.amazonwebservices.com.cn\",\n \"implicitGlobalRegion\": \"cn-northwest-1\",\n \"name\": \"aws-cn\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^cn\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-cn-global\": {\n \"description\": \"aws-cn global region\"\n },\n \"cn-north-1\": {\n \"description\": \"China (Beijing)\"\n },\n \"cn-northwest-1\": {\n \"description\": \"China (Ningxia)\"\n }\n }\n }, {\n \"id\": \"aws-eusc\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.eu\",\n \"dualStackDnsSuffix\": \"api.amazonwebservices.eu\",\n \"implicitGlobalRegion\": \"eusc-de-east-1\",\n \"name\": \"aws-eusc\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"eusc-de-east-1\": {\n \"description\": \"AWS European Sovereign Cloud (Germany)\"\n }\n }\n }, {\n \"id\": \"aws-iso\",\n \"outputs\": {\n \"dnsSuffix\": \"c2s.ic.gov\",\n \"dualStackDnsSuffix\": \"api.aws.ic.gov\",\n \"implicitGlobalRegion\": \"us-iso-east-1\",\n \"name\": \"aws-iso\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-global\": {\n \"description\": \"aws-iso global region\"\n },\n \"us-iso-east-1\": {\n \"description\": \"US ISO East\"\n },\n \"us-iso-west-1\": {\n \"description\": \"US ISO WEST\"\n }\n }\n }, {\n \"id\": \"aws-iso-b\",\n \"outputs\": {\n \"dnsSuffix\": \"sc2s.sgov.gov\",\n \"dualStackDnsSuffix\": \"api.aws.scloud\",\n \"implicitGlobalRegion\": \"us-isob-east-1\",\n \"name\": \"aws-iso-b\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-b-global\": {\n \"description\": \"aws-iso-b global region\"\n },\n \"us-isob-east-1\": {\n \"description\": \"US ISOB East (Ohio)\"\n },\n \"us-isob-west-1\": {\n \"description\": \"US ISOB West\"\n }\n }\n }, {\n \"id\": \"aws-iso-e\",\n \"outputs\": {\n \"dnsSuffix\": \"cloud.adc-e.uk\",\n \"dualStackDnsSuffix\": \"api.cloud-aws.adc-e.uk\",\n \"implicitGlobalRegion\": \"eu-isoe-west-1\",\n \"name\": \"aws-iso-e\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-e-global\": {\n \"description\": \"aws-iso-e global region\"\n },\n \"eu-isoe-west-1\": {\n \"description\": \"EU ISOE West\"\n }\n }\n }, {\n \"id\": \"aws-iso-f\",\n \"outputs\": {\n \"dnsSuffix\": \"csp.hci.ic.gov\",\n \"dualStackDnsSuffix\": \"api.aws.hci.ic.gov\",\n \"implicitGlobalRegion\": \"us-isof-south-1\",\n \"name\": \"aws-iso-f\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-f-global\": {\n \"description\": \"aws-iso-f global region\"\n },\n \"us-isof-east-1\": {\n \"description\": \"US ISOF EAST\"\n },\n \"us-isof-south-1\": {\n \"description\": \"US ISOF SOUTH\"\n }\n }\n }, {\n \"id\": \"aws-us-gov\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com\",\n \"dualStackDnsSuffix\": \"api.aws\",\n \"implicitGlobalRegion\": \"us-gov-west-1\",\n \"name\": \"aws-us-gov\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-us-gov-global\": {\n \"description\": \"aws-us-gov global region\"\n },\n \"us-gov-east-1\": {\n \"description\": \"AWS GovCloud (US-East)\"\n },\n \"us-gov-west-1\": {\n \"description\": \"AWS GovCloud (US-West)\"\n }\n }\n }],\n \"version\": \"1.1\"\n}\n", "import partitionsInfo from \"./partitions.json\";\nlet selectedPartitionsInfo = partitionsInfo;\nlet selectedUserAgentPrefix = \"\";\nexport const partition = (value) => {\n const { partitions } = selectedPartitionsInfo;\n for (const partition of partitions) {\n const { regions, outputs } = partition;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData,\n };\n }\n }\n }\n for (const partition of partitions) {\n const { regionRegex, outputs } = partition;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs,\n };\n }\n }\n const DEFAULT_PARTITION = partitions.find((partition) => partition.id === \"aws\");\n if (!DEFAULT_PARTITION) {\n throw new Error(\"Provided region was not found in the partition array or regex,\" +\n \" and default partition with id 'aws' doesn't exist.\");\n }\n return {\n ...DEFAULT_PARTITION.outputs,\n };\n};\nexport const setPartitionInfo = (partitionsInfo, userAgentPrefix = \"\") => {\n selectedPartitionsInfo = partitionsInfo;\n selectedUserAgentPrefix = userAgentPrefix;\n};\nexport const useDefaultPartitionInfo = () => {\n setPartitionInfo(partitionsInfo, \"\");\n};\nexport const getUserAgentPrefix = () => selectedUserAgentPrefix;\n", "import { customEndpointFunctions } from \"@smithy/util-endpoints\";\nimport { isVirtualHostableS3Bucket } from \"./lib/aws/isVirtualHostableS3Bucket\";\nimport { parseArn } from \"./lib/aws/parseArn\";\nimport { partition } from \"./lib/aws/partition\";\nexport const awsEndpointFunctions = {\n isVirtualHostableS3Bucket: isVirtualHostableS3Bucket,\n parseArn: parseArn,\n partition: partition,\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n", "import { parseUrl } from \"@smithy/url-parser\";\nexport const resolveDefaultAwsRegionalEndpointsConfig = (input) => {\n if (typeof input.endpointProvider !== \"function\") {\n throw new Error(\"@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client.\");\n }\n const { endpoint } = input;\n if (endpoint === undefined) {\n input.endpoint = async () => {\n return toEndpointV1(input.endpointProvider({\n Region: typeof input.region === \"function\" ? await input.region() : input.region,\n UseDualStack: typeof input.useDualstackEndpoint === \"function\"\n ? await input.useDualstackEndpoint()\n : input.useDualstackEndpoint,\n UseFIPS: typeof input.useFipsEndpoint === \"function\" ? await input.useFipsEndpoint() : input.useFipsEndpoint,\n Endpoint: undefined,\n }, { logger: input.logger }));\n };\n }\n return input;\n};\nexport const toEndpointV1 = (endpoint) => parseUrl(endpoint.url);\n", "export { resolveEndpoint } from \"@smithy/util-endpoints\";\n", "export { EndpointError } from \"@smithy/util-endpoints\";\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./EndpointError\";\nexport * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./TreeRuleObject\";\nexport * from \"./shared\";\n", "export * from \"./aws\";\nexport * from \"./lib/aws/partition\";\nexport * from \"./lib/isIpAddress\";\nexport * from \"./resolveDefaultAwsRegionalEndpointsConfig\";\nexport * from \"./resolveEndpoint\";\nexport * from \"./types\";\n", "export var RETRY_MODES;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(RETRY_MODES || (RETRY_MODES = {}));\nexport const DEFAULT_MAX_ATTEMPTS = 3;\nexport const DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD;\n", "export const CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nexport const THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nexport const TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexport const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexport const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\nexport const NODEJS_NETWORK_ERROR_CODES = [\"EHOSTUNREACH\", \"ENETUNREACH\", \"ENOTFOUND\"];\n", "import { CLOCK_SKEW_ERROR_CODES, NODEJS_NETWORK_ERROR_CODES, NODEJS_TIMEOUT_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from \"./constants\";\nexport const isRetryableByTrait = (error) => error?.$retryable !== undefined;\nexport const isClockSkewError = (error) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\nexport const isClockSkewCorrectedError = (error) => error.$metadata?.clockSkewCorrected;\nexport const isBrowserNetworkError = (error) => {\n const errorMessages = new Set([\n \"Failed to fetch\",\n \"NetworkError when attempting to fetch resource\",\n \"The Internet connection appears to be offline\",\n \"Load failed\",\n \"Network request failed\",\n ]);\n const isValid = error && error instanceof TypeError;\n if (!isValid) {\n return false;\n }\n return errorMessages.has(error.message);\n};\nexport const isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\nexport const isTransientError = (error, depth = 0) => isRetryableByTrait(error) ||\n isClockSkewCorrectedError(error) ||\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") ||\n NODEJS_NETWORK_ERROR_CODES.includes(error?.code || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) ||\n isBrowserNetworkError(error) ||\n (error.cause !== undefined && depth <= 10 && isTransientError(error.cause, depth + 1));\nexport const isServerError = (error) => {\n if (error.$metadata?.httpStatusCode !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\n", "import { isThrottlingError } from \"@smithy/service-error-classification\";\nexport class DefaultRateLimiter {\n static setTimeoutFn = setTimeout;\n beta;\n minCapacity;\n minFillRate;\n scaleConstant;\n smooth;\n currentCapacity = 0;\n enabled = false;\n lastMaxRate = 0;\n measuredTxRate = 0;\n requestCount = 0;\n fillRate;\n lastThrottleTime;\n lastTimestamp = 0;\n lastTxRateBucket;\n maxCapacity;\n timeWindow = 0;\n constructor(options) {\n this.beta = options?.beta ?? 0.7;\n this.minCapacity = options?.minCapacity ?? 1;\n this.minFillRate = options?.minFillRate ?? 0.5;\n this.scaleConstant = options?.scaleConstant ?? 0.4;\n this.smooth = options?.smooth ?? 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1000;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n await new Promise((resolve) => DefaultRateLimiter.setTimeoutFn(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if (isThrottlingError(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n}\n", "export const DEFAULT_RETRY_DELAY_BASE = 100;\nexport const MAXIMUM_RETRY_DELAY = 20 * 1000;\nexport const THROTTLING_RETRY_DELAY_BASE = 500;\nexport const INITIAL_RETRY_TOKENS = 500;\nexport const RETRY_COST = 5;\nexport const TIMEOUT_RETRY_COST = 10;\nexport const NO_RETRY_INCREMENT = 1;\nexport const INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nexport const REQUEST_HEADER = \"amz-sdk-request\";\n", "import { DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const getDefaultRetryBackoffStrategy = () => {\n let delayBase = DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = (attempts) => {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n };\n const setDelayBase = (delay) => {\n delayBase = delay;\n };\n return {\n computeNextBackoffDelay,\n setDelayBase,\n };\n};\n", "import { MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const createDefaultRetryToken = ({ retryDelay, retryCount, retryCost, }) => {\n const getRetryCount = () => retryCount;\n const getRetryDelay = () => Math.min(MAXIMUM_RETRY_DELAY, retryDelay);\n const getRetryCost = () => retryCost;\n return {\n getRetryCount,\n getRetryDelay,\n getRetryCost,\n };\n};\n", "import { DEFAULT_MAX_ATTEMPTS, RETRY_MODES } from \"./config\";\nimport { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, NO_RETRY_INCREMENT, RETRY_COST, THROTTLING_RETRY_DELAY_BASE, TIMEOUT_RETRY_COST, } from \"./constants\";\nimport { getDefaultRetryBackoffStrategy } from \"./defaultRetryBackoffStrategy\";\nimport { createDefaultRetryToken } from \"./defaultRetryToken\";\nexport class StandardRetryStrategy {\n maxAttempts;\n mode = RETRY_MODES.STANDARD;\n capacity = INITIAL_RETRY_TOKENS;\n retryBackoffStrategy = getDefaultRetryBackoffStrategy();\n maxAttemptsProvider;\n constructor(maxAttempts) {\n this.maxAttempts = maxAttempts;\n this.maxAttemptsProvider = typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts;\n }\n async acquireInitialRetryToken(retryTokenScope) {\n return createDefaultRetryToken({\n retryDelay: DEFAULT_RETRY_DELAY_BASE,\n retryCount: 0,\n });\n }\n async refreshRetryTokenForRetry(token, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(token, errorInfo, maxAttempts)) {\n const errorType = errorInfo.errorType;\n this.retryBackoffStrategy.setDelayBase(errorType === \"THROTTLING\" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE);\n const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());\n const retryDelay = errorInfo.retryAfterHint\n ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType)\n : delayFromErrorType;\n const capacityCost = this.getCapacityCost(errorType);\n this.capacity -= capacityCost;\n return createDefaultRetryToken({\n retryDelay,\n retryCount: token.getRetryCount() + 1,\n retryCost: capacityCost,\n });\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));\n }\n getCapacity() {\n return this.capacity;\n }\n async getMaxAttempts() {\n try {\n return await this.maxAttemptsProvider();\n }\n catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);\n return DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount() + 1;\n return (attempts < maxAttempts &&\n this.capacity >= this.getCapacityCost(errorInfo.errorType) &&\n this.isRetryableError(errorInfo.errorType));\n }\n getCapacityCost(errorType) {\n return errorType === \"TRANSIENT\" ? TIMEOUT_RETRY_COST : RETRY_COST;\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n}\n", "import { RETRY_MODES } from \"./config\";\nimport { DefaultRateLimiter } from \"./DefaultRateLimiter\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class AdaptiveRetryStrategy {\n maxAttemptsProvider;\n rateLimiter;\n standardRetryStrategy;\n mode = RETRY_MODES.ADAPTIVE;\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n const { rateLimiter } = options ?? {};\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider);\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n}\n", "import { DEFAULT_RETRY_DELAY_BASE } from \"./constants\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class ConfiguredRetryStrategy extends StandardRetryStrategy {\n computeNextBackoffDelay;\n constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) {\n super(typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts);\n if (typeof computeNextBackoffDelay === \"number\") {\n this.computeNextBackoffDelay = () => computeNextBackoffDelay;\n }\n else {\n this.computeNextBackoffDelay = computeNextBackoffDelay;\n }\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());\n return token;\n }\n}\n", "export {};\n", "export * from \"./AdaptiveRetryStrategy\";\nexport * from \"./ConfiguredRetryStrategy\";\nexport * from \"./DefaultRateLimiter\";\nexport * from \"./StandardRetryStrategy\";\nexport * from \"./config\";\nexport * from \"./constants\";\nexport * from \"./types\";\n", "import { setFeature } from \"@aws-sdk/core\";\nimport { RETRY_MODES } from \"@smithy/util-retry\";\nconst ACCOUNT_ID_ENDPOINT_REGEX = /\\d{12}\\.ddb/;\nexport async function checkFeatures(context, config, args) {\n const request = args.request;\n if (request?.headers?.[\"smithy-protocol\"] === \"rpc-v2-cbor\") {\n setFeature(context, \"PROTOCOL_RPC_V2_CBOR\", \"M\");\n }\n if (typeof config.retryStrategy === \"function\") {\n const retryStrategy = await config.retryStrategy();\n if (typeof retryStrategy.mode === \"string\") {\n switch (retryStrategy.mode) {\n case RETRY_MODES.ADAPTIVE:\n setFeature(context, \"RETRY_MODE_ADAPTIVE\", \"F\");\n break;\n case RETRY_MODES.STANDARD:\n setFeature(context, \"RETRY_MODE_STANDARD\", \"E\");\n break;\n }\n }\n }\n if (typeof config.accountIdEndpointMode === \"function\") {\n const endpointV2 = context.endpointV2;\n if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) {\n setFeature(context, \"ACCOUNT_ID_ENDPOINT\", \"O\");\n }\n switch (await config.accountIdEndpointMode?.()) {\n case \"disabled\":\n setFeature(context, \"ACCOUNT_ID_MODE_DISABLED\", \"Q\");\n break;\n case \"preferred\":\n setFeature(context, \"ACCOUNT_ID_MODE_PREFERRED\", \"P\");\n break;\n case \"required\":\n setFeature(context, \"ACCOUNT_ID_MODE_REQUIRED\", \"R\");\n break;\n }\n }\n const identity = context.__smithy_context?.selectedHttpAuthScheme?.identity;\n if (identity?.$source) {\n const credentials = identity;\n if (credentials.accountId) {\n setFeature(context, \"RESOLVED_ACCOUNT_ID\", \"T\");\n }\n for (const [key, value] of Object.entries(credentials.$source ?? {})) {\n setFeature(context, key, value);\n }\n }\n}\n", "export const USER_AGENT = \"user-agent\";\nexport const X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexport const SPACE = \" \";\nexport const UA_NAME_SEPARATOR = \"/\";\nexport const UA_NAME_ESCAPE_REGEX = /[^!$%&'*+\\-.^_`|~\\w]/g;\nexport const UA_VALUE_ESCAPE_REGEX = /[^!$%&'*+\\-.^_`|~\\w#]/g;\nexport const UA_ESCAPE_CHAR = \"-\";\n", "const BYTE_LIMIT = 1024;\nexport function encodeFeatures(features) {\n let buffer = \"\";\n for (const key in features) {\n const val = features[key];\n if (buffer.length + val.length + 1 <= BYTE_LIMIT) {\n if (buffer.length) {\n buffer += \",\" + val;\n }\n else {\n buffer += val;\n }\n continue;\n }\n break;\n }\n return buffer;\n}\n", "import { getUserAgentPrefix } from \"@aws-sdk/util-endpoints\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { checkFeatures } from \"./check-features\";\nimport { SPACE, UA_ESCAPE_CHAR, UA_NAME_ESCAPE_REGEX, UA_NAME_SEPARATOR, UA_VALUE_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT, } from \"./constants\";\nimport { encodeFeatures } from \"./encode-features\";\nexport const userAgentMiddleware = (options) => (next, context) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request)) {\n return next(args);\n }\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n await checkFeatures(context, options, args);\n const awsContext = context;\n defaultUserAgent.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`);\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n const appId = await options.userAgentAppId();\n if (appId) {\n defaultUserAgent.push(escapeUserAgent([`app`, `${appId}`]));\n }\n const prefix = getUserAgentPrefix();\n const sdkUserAgentValue = (prefix ? [prefix] : [])\n .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])\n .join(SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]\n ? `${headers[USER_AGENT]} ${normalUAValue}`\n : normalUAValue;\n }\n headers[USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request,\n });\n};\nconst escapeUserAgent = (userAgentPair) => {\n const name = userAgentPair[0]\n .split(UA_NAME_SEPARATOR)\n .map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR))\n .join(UA_NAME_SEPARATOR);\n const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);\n const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .reduce((acc, item, index) => {\n switch (index) {\n case 0:\n return item;\n case 1:\n return `${acc}/${item}`;\n default:\n return `${acc}#${item}`;\n }\n }, \"\");\n};\nexport const getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nexport const getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n});\n", "export * from \"./configurations\";\nexport * from \"./user-agent-middleware\";\n", "import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexport const CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexport const DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexport const NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n", "import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexport const CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexport const DEFAULT_USE_FIPS_ENDPOINT = false;\nexport const NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nexport const resolveCustomEndpointsConfig = (input) => {\n const { tls, endpoint, urlParser, useDualstackEndpoint } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),\n });\n};\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { getEndpointFromRegion } from \"./utils/getEndpointFromRegion\";\nexport const resolveEndpointsConfig = (input) => {\n const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false);\n const { endpoint, useFipsEndpoint, urlParser, tls } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: endpoint\n ? normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint,\n });\n};\n", "export * from \"./NodeUseDualstackEndpointConfigOptions\";\nexport * from \"./NodeUseFipsEndpointConfigOptions\";\nexport * from \"./resolveCustomEndpointsConfig\";\nexport * from \"./resolveEndpointsConfig\";\n", "export const REGION_ENV_NAME = \"AWS_REGION\";\nexport const REGION_INI_NAME = \"region\";\nexport const NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\nexport const NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n", "import { isValidHostLabel } from \"@smithy/util-endpoints\";\nconst validRegions = new Set();\nexport const checkRegion = (region, check = isValidHostLabel) => {\n if (!validRegions.has(region) && !check(region)) {\n if (region === \"*\") {\n console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of \"*\". See \"sigv4a\" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);\n }\n else {\n throw new Error(`Region not accepted: region=\"${region}\" is not a valid hostname component.`);\n }\n }\n else {\n validRegions.add(region);\n }\n};\n", "export const isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n", "import { isFipsRegion } from \"./isFipsRegion\";\nexport const getRealRegion = (region) => isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n", "import { checkRegion } from \"./checkRegion\";\nimport { getRealRegion } from \"./getRealRegion\";\nimport { isFipsRegion } from \"./isFipsRegion\";\nexport const resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return Object.assign(input, {\n region: async () => {\n const providedRegion = typeof region === \"function\" ? await region() : region;\n const realRegion = getRealRegion(providedRegion);\n checkRegion(realRegion);\n return realRegion;\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n });\n};\n", "export * from \"./config\";\nexport * from \"./resolveRegionConfig\";\n", "export {};\n", "export {};\n", "import { getHostnameFromVariants } from \"./getHostnameFromVariants\";\nimport { getResolvedHostname } from \"./getResolvedHostname\";\nimport { getResolvedPartition } from \"./getResolvedPartition\";\nimport { getResolvedSigningRegion } from \"./getResolvedSigningRegion\";\nexport const getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {\n const partition = getResolvedPartition(region, { partitionHash });\n const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\n const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);\n const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions);\n const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });\n if (hostname === undefined) {\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\n }\n const signingRegion = getResolvedSigningRegion(hostname, {\n signingRegion: regionHash[resolvedRegion]?.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint,\n });\n return {\n partition,\n signingService,\n hostname,\n ...(signingRegion && { signingRegion }),\n ...(regionHash[resolvedRegion]?.signingService && {\n signingService: regionHash[resolvedRegion].signingService,\n }),\n };\n};\n", "export * from \"./PartitionHash\";\nexport * from \"./RegionHash\";\nexport * from \"./getRegionInfo\";\n", "export * from \"./endpointsConfig\";\nexport * from \"./regionConfig\";\nexport * from \"./regionInfo\";\n", "export const resolveEventStreamSerdeConfig = (input) => Object.assign(input, {\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n", "export * from \"./EventStreamSerdeConfig\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nexport function contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nexport const getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n", "export const resolveParamsForS3 = async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n }\n else if (!isDnsCompatibleBucketName(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n};\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexport const DOT_PATTERN = /\\./;\nexport const S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nexport const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexport const isArnBucketName = (bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n};\n", "export * from \"./s3\";\n", "export const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config, isClientContextParam = false) => {\n const configProvider = async () => {\n let configValue;\n if (isClientContextParam) {\n const clientContextParams = config.clientContextParams;\n const nestedValue = clientContextParams?.[configKey];\n configValue = nestedValue ?? config[configKey] ?? config[canonicalEndpointParamKey];\n }\n else {\n configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n }\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n if (config.isCustomEndpoint === false) {\n return undefined;\n }\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\n", "export const getEndpointFromConfig = async (serviceId) => undefined;\n", "import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n const v1Endpoint = parseUrl(endpoint.url);\n if (endpoint.headers) {\n v1Endpoint.headers = {};\n for (const [name, values] of Object.entries(endpoint.headers)) {\n v1Endpoint.headers[name.toLowerCase()] = values.join(\", \");\n }\n }\n return v1Endpoint;\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n", "import { resolveParamsForS3 } from \"../service-customizations\";\nimport { createConfigValueProvider } from \"./createConfigValueProvider\";\nimport { getEndpointFromConfig } from \"./getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./toEndpointV1\";\nexport const getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.isCustomEndpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n }\n else {\n endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n clientConfig.isCustomEndpoint = true;\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n if (clientConfig.isCustomEndpoint && clientConfig.endpoint) {\n const customEndpoint = await clientConfig.endpoint();\n if (customEndpoint?.headers) {\n endpoint.headers ??= {};\n for (const [name, value] of Object.entries(customEndpoint.headers)) {\n endpoint.headers[name] = Array.isArray(value) ? value : [value];\n }\n }\n }\n return endpoint;\n};\nexport const resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig, instruction.type !== \"builtInParams\")();\n break;\n case \"operationContextParams\":\n endpointParams[name] = instruction.get(commandInput);\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await resolveParamsForS3(endpointParams);\n }\n return endpointParams;\n};\n", "export * from \"./getEndpointFromInstructions\";\nexport * from \"./toEndpointV1\";\n", "import { setFeature } from \"@smithy/core\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { getEndpointFromInstructions } from \"./adaptors/getEndpointFromInstructions\";\nexport const endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n if (config.isCustomEndpoint) {\n setFeature(context, \"ENDPOINT_OVERRIDE\", \"N\");\n }\n const endpoint = await getEndpointFromInstructions(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = getSmithyContext(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet,\n }, authScheme.properties);\n }\n }\n return next({\n ...args,\n });\n };\n};\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nexport const deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n enumerable: false,\n writable: false,\n configurable: false,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n", "import { toEndpointV1 } from \"@smithy/core/endpoints\";\nexport const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpointConfig = options;\n const endpoint = context.endpointV2\n ? async () => toEndpointV1(context.endpointV2)\n : endpointConfig.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\n", "import { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n", "export * from \"./deserializerMiddleware\";\nexport * from \"./serdePlugin\";\nexport * from \"./serializerMiddleware\";\n", "import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { endpointMiddleware } from \"./endpointMiddleware\";\nexport const endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(endpointMiddleware({\n config,\n instructions,\n }), endpointMiddlewareOptions);\n },\n});\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { getEndpointFromConfig } from \"./adaptors/getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./adaptors/toEndpointV1\";\nexport const resolveEndpointConfig = (input) => {\n const tls = input.tls ?? true;\n const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = Object.assign(input, {\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),\n useFipsEndpoint: normalizeProvider(useFipsEndpoint ?? false),\n });\n let configuredEndpointPromise = undefined;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = getEndpointFromConfig(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n};\n", "export const resolveEndpointRequiredConfig = (input) => {\n const { endpoint } = input;\n if (endpoint === undefined) {\n input.endpoint = async () => {\n throw new Error(\"@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.\");\n };\n }\n return input;\n};\n", "export {};\n", "export * from \"./adaptors\";\nexport * from \"./endpointMiddleware\";\nexport * from \"./getEndpointPlugin\";\nexport * from \"./resolveEndpointConfig\";\nexport * from \"./resolveEndpointRequiredConfig\";\nexport * from \"./types\";\n", "import { MAXIMUM_RETRY_DELAY } from \"@smithy/util-retry\";\nexport const defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n", "import { isClockSkewError, isRetryableByTrait, isThrottlingError, isTransientError, } from \"@smithy/service-error-classification\";\nexport const defaultRetryDecider = (error) => {\n if (!error) {\n return false;\n }\n return isRetryableByTrait(error) || isClockSkewError(error) || isThrottlingError(error) || isTransientError(error);\n};\n", "export const asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\n", "import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isThrottlingError } from \"@smithy/service-error-classification\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, INVOCATION_ID_HEADER, REQUEST_HEADER, RETRY_MODES, THROTTLING_RETRY_DELAY_BASE, } from \"@smithy/util-retry\";\nimport { v4 } from \"@smithy/uuid\";\nimport { getDefaultRetryQuota } from \"./defaultRetryQuota\";\nimport { defaultDelayDecider } from \"./delayDecider\";\nimport { defaultRetryDecider } from \"./retryDecider\";\nimport { asSdkError } from \"./util\";\nexport class StandardRetryStrategy {\n maxAttemptsProvider;\n retryDecider;\n delayDecider;\n retryQuota;\n mode = RETRY_MODES.STANDARD;\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.retryDecider = options?.retryDecider ?? defaultRetryDecider;\n this.delayDecider = options?.delayDecider ?? defaultDelayDecider;\n this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(INITIAL_RETRY_TOKENS);\n }\n shouldRetry(error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n }\n catch (error) {\n maxAttempts = DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n async retry(next, args, options) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n const maxAttempts = await this.getMaxAttempts();\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (HttpRequest.isInstance(request)) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n if (options?.beforeRequest) {\n await options.beforeRequest();\n }\n const { response, output } = await next(args);\n if (options?.afterRequest) {\n options.afterRequest(response);\n }\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return { response, output };\n }\n catch (e) {\n const err = asSdkError(e);\n attempts++;\n if (this.shouldRetry(err, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delayFromDecider = this.delayDecider(isThrottlingError(err) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE, attempts);\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\nconst getDelayFromRetryAfterHeader = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return retryAfterSeconds * 1000;\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n};\n", "import { DefaultRateLimiter, RETRY_MODES } from \"@smithy/util-retry\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class AdaptiveRetryStrategy extends StandardRetryStrategy {\n rateLimiter;\n constructor(maxAttemptsProvider, options) {\n const { rateLimiter, ...superOptions } = options ?? {};\n super(maxAttemptsProvider, superOptions);\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.mode = RETRY_MODES.ADAPTIVE;\n }\n async retry(next, args) {\n return super.retry(next, args, {\n beforeRequest: async () => {\n return this.rateLimiter.getSendToken();\n },\n afterRequest: (response) => {\n this.rateLimiter.updateClientSendingRate(response);\n },\n });\n }\n}\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { AdaptiveRetryStrategy, DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, RETRY_MODES, StandardRetryStrategy, } from \"@smithy/util-retry\";\nexport const ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport const CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexport const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport const resolveRetryConfig = (input) => {\n const { retryStrategy, retryMode } = input;\n const maxAttempts = normalizeProvider(input.maxAttempts ?? DEFAULT_MAX_ATTEMPTS);\n let controller = retryStrategy\n ? Promise.resolve(retryStrategy)\n : undefined;\n const getDefault = async () => (await normalizeProvider(retryMode)()) === RETRY_MODES.ADAPTIVE\n ? new AdaptiveRetryStrategy(maxAttempts)\n : new StandardRetryStrategy(maxAttempts);\n return Object.assign(input, {\n maxAttempts,\n retryStrategy: () => (controller ??= getDefault()),\n });\n};\nexport const ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport const CONFIG_RETRY_MODE = \"retry_mode\";\nexport const NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: DEFAULT_RETRY_MODE,\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nexport const omitRetryHeadersMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n delete request.headers[INVOCATION_ID_HEADER];\n delete request.headers[REQUEST_HEADER];\n }\n return next(args);\n};\nexport const omitRetryHeadersMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n};\nexport const getOmitRetryHeadersPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);\n },\n});\n", "export const isStreamingPayload = (request) => request?.body instanceof ReadableStream;\n", "import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isServerError, isThrottlingError, isTransientError } from \"@smithy/service-error-classification\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nimport { v4 } from \"@smithy/uuid\";\nimport { isStreamingPayload } from \"./isStreamingPayload/isStreamingPayload\";\nimport { asSdkError } from \"./util\";\nexport const retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n const isRequest = HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetryErrorInfo(e);\n lastError = asSdkError(e);\n if (isRequest && isStreamingPayload(request)) {\n (context.logger instanceof NoOpLogger ? console : context.logger)?.warn(\"An error was encountered in a non-retryable streaming request.\");\n throw lastError;\n }\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetryErrorInfo = (error) => {\n const errorInfo = {\n error,\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = getRetryAfterHint(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if (isThrottlingError(error))\n return \"THROTTLING\";\n if (isTransientError(error))\n return \"TRANSIENT\";\n if (isServerError(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nexport const retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nexport const getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\nexport const getRetryAfterHint = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\n", "export * from \"./AdaptiveRetryStrategy\";\nexport * from \"./StandardRetryStrategy\";\nexport * from \"./configurations\";\nexport * from \"./delayDecider\";\nexport * from \"./omitRetryHeadersMiddleware\";\nexport * from \"./retryDecider\";\nexport * from \"./retryMiddleware\";\n", "export const signatureV4CrtContainer = {\n CrtSignerV4: null,\n};\n", "import { SignatureV4S3Express } from \"@aws-sdk/middleware-sdk-s3\";\nimport { signatureV4aContainer } from \"@smithy/signature-v4\";\nimport { signatureV4CrtContainer } from \"./signature-v4-crt-container\";\nexport class SignatureV4MultiRegion {\n sigv4aSigner;\n sigv4Signer;\n signerOptions;\n static sigv4aDependency() {\n if (typeof signatureV4CrtContainer.CrtSignerV4 === \"function\") {\n return \"crt\";\n }\n else if (typeof signatureV4aContainer.SignatureV4a === \"function\") {\n return \"js\";\n }\n return \"none\";\n }\n constructor(options) {\n this.sigv4Signer = new SignatureV4S3Express(options);\n this.signerOptions = options;\n }\n async sign(requestToSign, options = {}) {\n if (options.signingRegion === \"*\") {\n return this.getSigv4aSigner().sign(requestToSign, options);\n }\n return this.sigv4Signer.sign(requestToSign, options);\n }\n async signWithCredentials(requestToSign, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.signWithCredentials(requestToSign, credentials, options);\n }\n else {\n throw new Error(`signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. ` +\n `Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. ` +\n `You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] ` +\n `or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. ` +\n `For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);\n }\n }\n return this.sigv4Signer.signWithCredentials(requestToSign, credentials, options);\n }\n async presign(originalRequest, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.presign(originalRequest, options);\n }\n else {\n throw new Error(`presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. ` +\n `Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. ` +\n `You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] ` +\n `or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. ` +\n `For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);\n }\n }\n return this.sigv4Signer.presign(originalRequest, options);\n }\n async presignWithCredentials(originalRequest, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n throw new Error(\"Method presignWithCredentials is not supported for [signingRegion=*].\");\n }\n return this.sigv4Signer.presignWithCredentials(originalRequest, credentials, options);\n }\n getSigv4aSigner() {\n if (!this.sigv4aSigner) {\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n const JsSigV4aSigner = signatureV4aContainer.SignatureV4a;\n if (this.signerOptions.runtime === \"node\") {\n if (!CrtSignerV4 && !JsSigV4aSigner) {\n throw new Error(\"Neither CRT nor JS SigV4a implementation is available. \" +\n \"Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. \" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\");\n }\n if (CrtSignerV4 && typeof CrtSignerV4 === \"function\") {\n this.sigv4aSigner = new CrtSignerV4({\n ...this.signerOptions,\n signingAlgorithm: 1,\n });\n }\n else if (JsSigV4aSigner && typeof JsSigV4aSigner === \"function\") {\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions,\n });\n }\n else {\n throw new Error(\"Available SigV4a implementation is not a valid constructor. \" +\n \"Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.\" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\");\n }\n }\n else {\n if (!JsSigV4aSigner || typeof JsSigV4aSigner !== \"function\") {\n throw new Error(\"JS SigV4a implementation is not available or not a valid constructor. \" +\n \"Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. \" +\n \"You must also register the package by calling [require('@aws-sdk/signature-v4a');] \" +\n \"or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. \" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a\");\n }\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions,\n });\n }\n }\n return this.sigv4aSigner;\n }\n}\n", "export * from \"./SignatureV4MultiRegion\";\nexport * from \"./signature-v4-crt-container\";\n", "const cs = \"required\", ct = \"type\", cu = \"rules\", cv = \"conditions\", cw = \"fn\", cx = \"argv\", cy = \"ref\", cz = \"assign\", cA = \"url\", cB = \"properties\", cC = \"backend\", cD = \"authSchemes\", cE = \"disableDoubleEncoding\", cF = \"signingName\", cG = \"signingRegion\", cH = \"headers\", cI = \"signingRegionSet\";\nconst a = 6, b = false, c = true, d = \"isSet\", e = \"booleanEquals\", f = \"error\", g = \"aws.partition\", h = \"stringEquals\", i = \"getAttr\", j = \"name\", k = \"substring\", l = \"bucketSuffix\", m = \"parseURL\", n = \"endpoint\", o = \"tree\", p = \"aws.isVirtualHostableS3Bucket\", q = \"{url#scheme}://{Bucket}.{url#authority}{url#path}\", r = \"not\", s = \"accessPointSuffix\", t = \"{url#scheme}://{url#authority}{url#path}\", u = \"hardwareType\", v = \"regionPrefix\", w = \"bucketAliasSuffix\", x = \"outpostId\", y = \"isValidHostLabel\", z = \"sigv4a\", A = \"s3-outposts\", B = \"s3\", C = \"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}\", D = \"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}\", E = \"https://{Bucket}.s3.{partitionResult#dnsSuffix}\", F = \"aws.parseArn\", G = \"bucketArn\", H = \"arnType\", I = \"\", J = \"s3-object-lambda\", K = \"accesspoint\", L = \"accessPointName\", M = \"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}\", N = \"mrapPartition\", O = \"outpostType\", P = \"arnPrefix\", Q = \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", R = \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", S = \"https://s3.{partitionResult#dnsSuffix}\", T = { [cs]: false, [ct]: \"string\" }, U = { [cs]: true, \"default\": false, [ct]: \"boolean\" }, V = { [cs]: false, [ct]: \"boolean\" }, W = { [cw]: e, [cx]: [{ [cy]: \"Accelerate\" }, true] }, X = { [cw]: e, [cx]: [{ [cy]: \"UseFIPS\" }, true] }, Y = { [cw]: e, [cx]: [{ [cy]: \"UseDualStack\" }, true] }, Z = { [cw]: d, [cx]: [{ [cy]: \"Endpoint\" }] }, aa = { [cw]: g, [cx]: [{ [cy]: \"Region\" }], [cz]: \"partitionResult\" }, ab = { [cw]: h, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"partitionResult\" }, j] }, \"aws-cn\"] }, ac = { [cw]: d, [cx]: [{ [cy]: \"Bucket\" }] }, ad = { [cy]: \"Bucket\" }, ae = { [cv]: [W], [f]: \"S3Express does not support S3 Accelerate.\", [ct]: f }, af = { [cv]: [Z, { [cw]: m, [cx]: [{ [cy]: \"Endpoint\" }], [cz]: \"url\" }], [cu]: [{ [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }, true] }], [cu]: [{ [cv]: [{ [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }], [cu]: [{ [cv]: [{ [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }], [cu]: [{ [n]: { [cA]: \"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: p, [cx]: [ad, false] }], [cu]: [{ [n]: { [cA]: q, [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }, { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }], [ct]: o }, { [cv]: [{ [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }], [cu]: [{ [cv]: [{ [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }], [cu]: [{ [n]: { [cA]: \"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: p, [cx]: [ad, false] }], [cu]: [{ [n]: { [cA]: q, [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }, { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }], [ct]: o }, ag = { [cw]: m, [cx]: [{ [cy]: \"Endpoint\" }], [cz]: \"url\" }, ah = { [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }, ai = { [cy]: \"url\" }, aj = { [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }, ak = { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, al = {}, am = { [cw]: p, [cx]: [ad, false] }, an = { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }, ao = { [cw]: d, [cx]: [{ [cy]: \"UseS3ExpressControlEndpoint\" }] }, ap = { [cw]: e, [cx]: [{ [cy]: \"UseS3ExpressControlEndpoint\" }, true] }, aq = { [cw]: r, [cx]: [Z] }, ar = { [cw]: e, [cx]: [{ [cy]: \"UseDualStack\" }, false] }, as = { [cw]: e, [cx]: [{ [cy]: \"UseFIPS\" }, false] }, at = { [f]: \"Unrecognized S3Express bucket name format.\", [ct]: f }, au = { [cw]: r, [cx]: [ac] }, av = { [cy]: u }, aw = { [cv]: [aq], [f]: \"Expected a endpoint to be specified but no endpoint was found\", [ct]: f }, ax = { [cD]: [{ [cE]: true, [j]: z, [cF]: A, [cI]: [\"*\"] }, { [cE]: true, [j]: \"sigv4\", [cF]: A, [cG]: \"{Region}\" }] }, ay = { [cw]: e, [cx]: [{ [cy]: \"ForcePathStyle\" }, false] }, az = { [cy]: \"ForcePathStyle\" }, aA = { [cw]: e, [cx]: [{ [cy]: \"Accelerate\" }, false] }, aB = { [cw]: h, [cx]: [{ [cy]: \"Region\" }, \"aws-global\"] }, aC = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"us-east-1\" }] }, aD = { [cw]: r, [cx]: [aB] }, aE = { [cw]: e, [cx]: [{ [cy]: \"UseGlobalEndpoint\" }, true] }, aF = { [cA]: \"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{Region}\" }] }, [cH]: {} }, aG = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{Region}\" }] }, aH = { [cw]: e, [cx]: [{ [cy]: \"UseGlobalEndpoint\" }, false] }, aI = { [cA]: \"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aJ = { [cA]: \"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aK = { [cA]: \"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aL = { [cw]: e, [cx]: [{ [cw]: i, [cx]: [ai, \"isIp\"] }, false] }, aM = { [cA]: C, [cB]: aG, [cH]: {} }, aN = { [cA]: q, [cB]: aG, [cH]: {} }, aO = { [n]: aN, [ct]: n }, aP = { [cA]: D, [cB]: aG, [cH]: {} }, aQ = { [cA]: \"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aR = { [f]: \"Invalid region: region was not a valid DNS name.\", [ct]: f }, aS = { [cy]: G }, aT = { [cy]: H }, aU = { [cw]: i, [cx]: [aS, \"service\"] }, aV = { [cy]: L }, aW = { [cv]: [Y], [f]: \"S3 Object Lambda does not support Dual-stack\", [ct]: f }, aX = { [cv]: [W], [f]: \"S3 Object Lambda does not support S3 Accelerate\", [ct]: f }, aY = { [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"DisableAccessPoints\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableAccessPoints\" }, true] }], [f]: \"Access points are not supported for this operation\", [ct]: f }, aZ = { [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"UseArnRegion\" }] }, { [cw]: e, [cx]: [{ [cy]: \"UseArnRegion\" }, false] }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, \"{Region}\"] }] }], [f]: \"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`\", [ct]: f }, ba = { [cw]: i, [cx]: [{ [cy]: \"bucketPartition\" }, j] }, bb = { [cw]: i, [cx]: [aS, \"accountId\"] }, bc = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: J, [cG]: \"{bucketArn#region}\" }] }, bd = { [f]: \"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`\", [ct]: f }, be = { [f]: \"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`\", [ct]: f }, bf = { [f]: \"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)\", [ct]: f }, bg = { [f]: \"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`\", [ct]: f }, bh = { [f]: \"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.\", [ct]: f }, bi = { [f]: \"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided\", [ct]: f }, bj = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{bucketArn#region}\" }] }, bk = { [cD]: [{ [cE]: true, [j]: z, [cF]: A, [cI]: [\"*\"] }, { [cE]: true, [j]: \"sigv4\", [cF]: A, [cG]: \"{bucketArn#region}\" }] }, bl = { [cw]: F, [cx]: [ad] }, bm = { [cA]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bn = { [cA]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bo = { [cA]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bp = { [cA]: Q, [cB]: aG, [cH]: {} }, bq = { [cA]: \"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, br = { [cy]: \"UseObjectLambdaEndpoint\" }, bs = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: J, [cG]: \"{Region}\" }] }, bt = { [cA]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bu = { [cA]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bv = { [cA]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bw = { [cA]: t, [cB]: aG, [cH]: {} }, bx = { [cA]: \"https://s3.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, by = [{ [cy]: \"Region\" }], bz = [{ [cy]: \"Endpoint\" }], bA = [ad], bB = [W], bC = [Z, ag], bD = [{ [cw]: d, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }, true] }], bE = [aj], bF = [am], bG = [aa], bH = [X, Y], bI = [X, ar], bJ = [as, Y], bK = [as, ar], bL = [{ [cw]: k, [cx]: [ad, 6, 14, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 14, 16, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bM = [{ [cv]: [X, Y], [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bI, [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bJ, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bK, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }], bN = [{ [cw]: k, [cx]: [ad, 6, 15, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 15, 17, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bO = [{ [cw]: k, [cx]: [ad, 6, 19, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 19, 21, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bP = [{ [cw]: k, [cx]: [ad, 6, 20, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 20, 22, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bQ = [{ [cw]: k, [cx]: [ad, 6, 26, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 26, 28, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bR = [{ [cv]: [X, Y], [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bI, [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bJ, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bK, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], bS = [ad, 0, 7, true], bT = [{ [cw]: k, [cx]: [ad, 7, 15, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 15, 17, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bU = [{ [cw]: k, [cx]: [ad, 7, 16, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 16, 18, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bV = [{ [cw]: k, [cx]: [ad, 7, 20, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 20, 22, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bW = [{ [cw]: k, [cx]: [ad, 7, 21, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 21, 23, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bX = [{ [cw]: k, [cx]: [ad, 7, 27, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 27, 29, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bY = [ac], bZ = [{ [cw]: y, [cx]: [{ [cy]: x }, false] }], ca = [{ [cw]: h, [cx]: [{ [cy]: v }, \"beta\"] }], cb = [\"*\"], cc = [{ [cw]: y, [cx]: [{ [cy]: \"Region\" }, false] }], cd = [{ [cw]: h, [cx]: [{ [cy]: \"Region\" }, \"us-east-1\"] }], ce = [{ [cw]: h, [cx]: [aT, K] }], cf = [{ [cw]: i, [cx]: [aS, \"resourceId[1]\"], [cz]: L }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [aV, I] }] }], cg = [aS, \"resourceId[1]\"], ch = [Y], ci = [{ [cw]: r, [cx]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, I] }] }], cj = [{ [cw]: r, [cx]: [{ [cw]: d, [cx]: [{ [cw]: i, [cx]: [aS, \"resourceId[2]\"] }] }] }], ck = [aS, \"resourceId[2]\"], cl = [{ [cw]: g, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }], [cz]: \"bucketPartition\" }], cm = [{ [cw]: h, [cx]: [ba, { [cw]: i, [cx]: [{ [cy]: \"partitionResult\" }, j] }] }], cn = [{ [cw]: y, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, true] }], co = [{ [cw]: y, [cx]: [bb, false] }], cp = [{ [cw]: y, [cx]: [aV, false] }], cq = [X], cr = [{ [cw]: y, [cx]: [{ [cy]: \"Region\" }, true] }];\nconst _data = { version: \"1.0\", parameters: { Bucket: T, Region: T, UseFIPS: U, UseDualStack: U, Endpoint: T, ForcePathStyle: U, Accelerate: U, UseGlobalEndpoint: U, UseObjectLambdaEndpoint: V, Key: T, Prefix: T, CopySource: T, DisableAccessPoints: V, DisableMultiRegionAccessPoints: U, UseArnRegion: V, UseS3ExpressControlEndpoint: V, DisableS3ExpressSessionAuth: V }, [cu]: [{ [cv]: [{ [cw]: d, [cx]: by }], [cu]: [{ [cv]: [W, X], error: \"Accelerate cannot be used with FIPS\", [ct]: f }, { [cv]: [Y, Z], error: \"Cannot set dual-stack in combination with a custom endpoint.\", [ct]: f }, { [cv]: [Z, X], error: \"A custom endpoint cannot be combined with FIPS\", [ct]: f }, { [cv]: [Z, W], error: \"A custom endpoint cannot be combined with S3 Accelerate\", [ct]: f }, { [cv]: [X, aa, ab], error: \"Partition does not support FIPS\", [ct]: f }, { [cv]: [ac, { [cw]: k, [cx]: [ad, 0, a, c], [cz]: l }, { [cw]: h, [cx]: [{ [cy]: l }, \"--x-s3\"] }], [cu]: [ae, af, { [cv]: [ao, ap], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [aj, aq], [cu]: [{ [cv]: bH, endpoint: { [cA]: \"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: bF, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bD, [cu]: [{ [cv]: bL, [cu]: bM, [ct]: o }, { [cv]: bN, [cu]: bM, [ct]: o }, { [cv]: bO, [cu]: bM, [ct]: o }, { [cv]: bP, [cu]: bM, [ct]: o }, { [cv]: bQ, [cu]: bM, [ct]: o }, at], [ct]: o }, { [cv]: bL, [cu]: bR, [ct]: o }, { [cv]: bN, [cu]: bR, [ct]: o }, { [cv]: bO, [cu]: bR, [ct]: o }, { [cv]: bP, [cu]: bR, [ct]: o }, { [cv]: bQ, [cu]: bR, [ct]: o }, at], [ct]: o }], [ct]: o }, an], [ct]: o }, { [cv]: [ac, { [cw]: k, [cx]: bS, [cz]: s }, { [cw]: h, [cx]: [{ [cy]: s }, \"--xa-s3\"] }], [cu]: [ae, af, { [cv]: bF, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bD, [cu]: [{ [cv]: bT, [cu]: bM, [ct]: o }, { [cv]: bU, [cu]: bM, [ct]: o }, { [cv]: bV, [cu]: bM, [ct]: o }, { [cv]: bW, [cu]: bM, [ct]: o }, { [cv]: bX, [cu]: bM, [ct]: o }, at], [ct]: o }, { [cv]: bT, [cu]: bR, [ct]: o }, { [cv]: bU, [cu]: bR, [ct]: o }, { [cv]: bV, [cu]: bR, [ct]: o }, { [cv]: bW, [cu]: bR, [ct]: o }, { [cv]: bX, [cu]: bR, [ct]: o }, at], [ct]: o }], [ct]: o }, an], [ct]: o }, { [cv]: [au, ao, ap], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bC, endpoint: { [cA]: t, [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bH, endpoint: { [cA]: \"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://s3express-control.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [ac, { [cw]: k, [cx]: [ad, 49, 50, c], [cz]: u }, { [cw]: k, [cx]: [ad, 8, 12, c], [cz]: v }, { [cw]: k, [cx]: bS, [cz]: w }, { [cw]: k, [cx]: [ad, 32, 49, c], [cz]: x }, { [cw]: g, [cx]: by, [cz]: \"regionPartition\" }, { [cw]: h, [cx]: [{ [cy]: w }, \"--op-s3\"] }], [cu]: [{ [cv]: bZ, [cu]: [{ [cv]: bF, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [av, \"e\"] }], [cu]: [{ [cv]: ca, [cu]: [aw, { [cv]: bC, endpoint: { [cA]: \"https://{Bucket}.ec2.{url#authority}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { endpoint: { [cA]: \"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { [cv]: [{ [cw]: h, [cx]: [av, \"o\"] }], [cu]: [{ [cv]: ca, [cu]: [aw, { [cv]: bC, endpoint: { [cA]: \"https://{Bucket}.op-{outpostId}.{url#authority}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { endpoint: { [cA]: \"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Unrecognized hardware type: \\\"Expected hardware type o or e but got {hardwareType}\\\"\", [ct]: f }], [ct]: o }, { error: \"Invalid Outposts Bucket alias - it must be a valid bucket name.\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.\", [ct]: f }], [ct]: o }, { [cv]: bY, [cu]: [{ [cv]: [Z, { [cw]: r, [cx]: [{ [cw]: d, [cx]: [{ [cw]: m, [cx]: bz }] }] }], error: \"Custom endpoint `{Endpoint}` was not a valid URI\", [ct]: f }, { [cv]: [ay, am], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cc, [cu]: [{ [cv]: [W, ab], error: \"S3 Accelerate cannot be used in this region\", [ct]: f }, { [cv]: [Y, X, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, X, aA, aq, aD, aE], [cu]: [{ endpoint: aF, [ct]: n }], [ct]: o }, { [cv]: [Y, X, aA, aq, aD, aH], endpoint: aF, [ct]: n }, { [cv]: [ar, X, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, X, aA, aq, aD, aE], [cu]: [{ endpoint: aI, [ct]: n }], [ct]: o }, { [cv]: [ar, X, aA, aq, aD, aH], endpoint: aI, [ct]: n }, { [cv]: [Y, as, W, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, as, W, aq, aD, aE], [cu]: [{ endpoint: aJ, [ct]: n }], [ct]: o }, { [cv]: [Y, as, W, aq, aD, aH], endpoint: aJ, [ct]: n }, { [cv]: [Y, as, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, as, aA, aq, aD, aE], [cu]: [{ endpoint: aK, [ct]: n }], [ct]: o }, { [cv]: [Y, as, aA, aq, aD, aH], endpoint: aK, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, ah, aB], endpoint: { [cA]: C, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, aL, aB], endpoint: { [cA]: q, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, ah, aD, aE], [cu]: [{ [cv]: cd, endpoint: aM, [ct]: n }, { endpoint: aM, [ct]: n }], [ct]: o }, { [cv]: [ar, as, aA, Z, ag, aL, aD, aE], [cu]: [{ [cv]: cd, endpoint: aN, [ct]: n }, aO], [ct]: o }, { [cv]: [ar, as, aA, Z, ag, ah, aD, aH], endpoint: aM, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, aL, aD, aH], endpoint: aN, [ct]: n }, { [cv]: [ar, as, W, aq, aB], endpoint: { [cA]: D, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, W, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: aP, [ct]: n }, { endpoint: aP, [ct]: n }], [ct]: o }, { [cv]: [ar, as, W, aq, aD, aH], endpoint: aP, [ct]: n }, { [cv]: [ar, as, aA, aq, aB], endpoint: { [cA]: E, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: E, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: aQ, [ct]: n }], [ct]: o }, { [cv]: [ar, as, aA, aq, aD, aH], endpoint: aQ, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [Z, ag, { [cw]: h, [cx]: [{ [cw]: i, [cx]: [ai, \"scheme\"] }, \"http\"] }, { [cw]: p, [cx]: [ad, c] }, ay, as, ar, aA], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cc, [cu]: [aO], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [ay, { [cw]: F, [cx]: bA, [cz]: G }], [cu]: [{ [cv]: [{ [cw]: i, [cx]: [aS, \"resourceId[0]\"], [cz]: H }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [aT, I] }] }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [aU, J] }], [cu]: [{ [cv]: ce, [cu]: [{ [cv]: cf, [cu]: [aW, aX, { [cv]: ci, [cu]: [aY, { [cv]: cj, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cm, [cu]: [{ [cv]: cn, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [bb, I] }], error: \"Invalid ARN: Missing account id\", [ct]: f }, { [cv]: co, [cu]: [{ [cv]: cp, [cu]: [{ [cv]: bC, endpoint: { [cA]: M, [cB]: bc, [cH]: al }, [ct]: n }, { [cv]: cq, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bc, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bc, [cH]: al }, [ct]: n }], [ct]: o }, bd], [ct]: o }, be], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, bh], [ct]: o }, { error: \"Invalid ARN: bucket ARN is missing a region\", [ct]: f }], [ct]: o }, bi], [ct]: o }, { error: \"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`\", [ct]: f }], [ct]: o }, { [cv]: ce, [cu]: [{ [cv]: cf, [cu]: [{ [cv]: ci, [cu]: [{ [cv]: ce, [cu]: [{ [cv]: ci, [cu]: [aY, { [cv]: cj, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [ba, \"{partitionResult#name}\"] }], [cu]: [{ [cv]: cn, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [aU, B] }], [cu]: [{ [cv]: co, [cu]: [{ [cv]: cp, [cu]: [{ [cv]: bB, error: \"Access Points do not support S3 Accelerate\", [ct]: f }, { [cv]: bH, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: [as, ar, Z, ag], endpoint: { [cA]: M, [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }], [ct]: o }, bd], [ct]: o }, be], [ct]: o }, { error: \"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}\", [ct]: f }], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, bh], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: y, [cx]: [aV, c] }], [cu]: [{ [cv]: ch, error: \"S3 MRAP does not support dual-stack\", [ct]: f }, { [cv]: cq, error: \"S3 MRAP does not support FIPS\", [ct]: f }, { [cv]: bB, error: \"S3 MRAP does not support S3 Accelerate\", [ct]: f }, { [cv]: [{ [cw]: e, [cx]: [{ [cy]: \"DisableMultiRegionAccessPoints\" }, c] }], error: \"Invalid configuration: Multi-Region Access Point ARNs are disabled.\", [ct]: f }, { [cv]: [{ [cw]: g, [cx]: by, [cz]: N }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [{ [cy]: N }, j] }, { [cw]: i, [cx]: [aS, \"partition\"] }] }], [cu]: [{ endpoint: { [cA]: \"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}\", [cB]: { [cD]: [{ [cE]: c, name: z, [cF]: B, [cI]: cb }] }, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`\", [ct]: f }], [ct]: o }], [ct]: o }, { error: \"Invalid Access Point Name\", [ct]: f }], [ct]: o }, bi], [ct]: o }, { [cv]: [{ [cw]: h, [cx]: [aU, A] }], [cu]: [{ [cv]: ch, error: \"S3 Outposts does not support Dual-stack\", [ct]: f }, { [cv]: cq, error: \"S3 Outposts does not support FIPS\", [ct]: f }, { [cv]: bB, error: \"S3 Outposts does not support S3 Accelerate\", [ct]: f }, { [cv]: [{ [cw]: d, [cx]: [{ [cw]: i, [cx]: [aS, \"resourceId[4]\"] }] }], error: \"Invalid Arn: Outpost Access Point ARN contains sub resources\", [ct]: f }, { [cv]: [{ [cw]: i, [cx]: cg, [cz]: x }], [cu]: [{ [cv]: bZ, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cm, [cu]: [{ [cv]: cn, [cu]: [{ [cv]: co, [cu]: [{ [cv]: [{ [cw]: i, [cx]: ck, [cz]: O }], [cu]: [{ [cv]: [{ [cw]: i, [cx]: [aS, \"resourceId[3]\"], [cz]: L }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [{ [cy]: O }, K] }], [cu]: [{ [cv]: bC, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}\", [cB]: bk, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bk, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Expected an outpost type `accesspoint`, found {outpostType}\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: expected an access point name\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: Expected a 4-component resource\", [ct]: f }], [ct]: o }, be], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, { error: \"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: The Outpost Id was not set\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: No ARN type specified\", [ct]: f }], [ct]: o }, { [cv]: [{ [cw]: k, [cx]: [ad, 0, 4, b], [cz]: P }, { [cw]: h, [cx]: [{ [cy]: P }, \"arn:\"] }, { [cw]: r, [cx]: [{ [cw]: d, [cx]: [bl] }] }], error: \"Invalid ARN: `{Bucket}` was not a valid ARN\", [ct]: f }, { [cv]: [{ [cw]: e, [cx]: [az, c] }, bl], error: \"Path-style addressing cannot be used with ARN buckets\", [ct]: f }, { [cv]: bE, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [aA], [cu]: [{ [cv]: [Y, aq, X, aB], endpoint: { [cA]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, aq, X, aD, aE], [cu]: [{ endpoint: bm, [ct]: n }], [ct]: o }, { [cv]: [Y, aq, X, aD, aH], endpoint: bm, [ct]: n }, { [cv]: [ar, aq, X, aB], endpoint: { [cA]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, aq, X, aD, aE], [cu]: [{ endpoint: bn, [ct]: n }], [ct]: o }, { [cv]: [ar, aq, X, aD, aH], endpoint: bn, [ct]: n }, { [cv]: [Y, aq, as, aB], endpoint: { [cA]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, aq, as, aD, aE], [cu]: [{ endpoint: bo, [ct]: n }], [ct]: o }, { [cv]: [Y, aq, as, aD, aH], endpoint: bo, [ct]: n }, { [cv]: [ar, Z, ag, as, aB], endpoint: { [cA]: Q, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, Z, ag, as, aD, aE], [cu]: [{ [cv]: cd, endpoint: bp, [ct]: n }, { endpoint: bp, [ct]: n }], [ct]: o }, { [cv]: [ar, Z, ag, as, aD, aH], endpoint: bp, [ct]: n }, { [cv]: [ar, aq, as, aB], endpoint: { [cA]: R, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, aq, as, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: R, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: bq, [ct]: n }], [ct]: o }, { [cv]: [ar, aq, as, aD, aH], endpoint: bq, [ct]: n }], [ct]: o }, { error: \"Path-style addressing cannot be used with S3 Accelerate\", [ct]: f }], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: d, [cx]: [br] }, { [cw]: e, [cx]: [br, c] }], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cr, [cu]: [aW, aX, { [cv]: bC, endpoint: { [cA]: t, [cB]: bs, [cH]: al }, [ct]: n }, { [cv]: cq, endpoint: { [cA]: \"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: bs, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}\", [cB]: bs, [cH]: al }, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [au], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cr, [cu]: [{ [cv]: [X, Y, aq, aB], endpoint: { [cA]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [X, Y, aq, aD, aE], [cu]: [{ endpoint: bt, [ct]: n }], [ct]: o }, { [cv]: [X, Y, aq, aD, aH], endpoint: bt, [ct]: n }, { [cv]: [X, ar, aq, aB], endpoint: { [cA]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [X, ar, aq, aD, aE], [cu]: [{ endpoint: bu, [ct]: n }], [ct]: o }, { [cv]: [X, ar, aq, aD, aH], endpoint: bu, [ct]: n }, { [cv]: [as, Y, aq, aB], endpoint: { [cA]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, Y, aq, aD, aE], [cu]: [{ endpoint: bv, [ct]: n }], [ct]: o }, { [cv]: [as, Y, aq, aD, aH], endpoint: bv, [ct]: n }, { [cv]: [as, ar, Z, ag, aB], endpoint: { [cA]: t, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, ar, Z, ag, aD, aE], [cu]: [{ [cv]: cd, endpoint: bw, [ct]: n }, { endpoint: bw, [ct]: n }], [ct]: o }, { [cv]: [as, ar, Z, ag, aD, aH], endpoint: bw, [ct]: n }, { [cv]: [as, ar, aq, aB], endpoint: { [cA]: S, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, ar, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: S, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: bx, [ct]: n }], [ct]: o }, { [cv]: [as, ar, aq, aD, aH], endpoint: bx, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }], [ct]: o }, { error: \"A region must be set when sending requests to S3.\", [ct]: f }] };\nexport const ruleSet = _data;\n", "import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, EndpointCache, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nconst cache = new EndpointCache({\n size: 50,\n params: [\n \"Accelerate\",\n \"Bucket\",\n \"DisableAccessPoints\",\n \"DisableMultiRegionAccessPoints\",\n \"DisableS3ExpressSessionAuth\",\n \"Endpoint\",\n \"ForcePathStyle\",\n \"Region\",\n \"UseArnRegion\",\n \"UseDualStack\",\n \"UseFIPS\",\n \"UseGlobalEndpoint\",\n \"UseObjectLambdaEndpoint\",\n \"UseS3ExpressControlEndpoint\",\n ],\n});\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n", "import { resolveAwsSdkSigV4AConfig, resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { SignatureV4MultiRegion } from \"@aws-sdk/signature-v4-multi-region\";\nimport { resolveParams } from \"@smithy/middleware-endpoint\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nimport { defaultEndpointResolver } from \"../endpoint/endpointResolver\";\nconst createEndpointRuleSetHttpAuthSchemeParametersProvider = (defaultHttpAuthSchemeParametersProvider) => async (config, context, input) => {\n if (!input) {\n throw new Error(\"Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`\");\n }\n const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config, context, input);\n const instructionsFn = getSmithyContext(context)?.commandInstance?.constructor\n ?.getEndpointParameterInstructions;\n if (!instructionsFn) {\n throw new Error(`getEndpointParameterInstructions() is not defined on '${context.commandName}'`);\n }\n const endpointParameters = await resolveParams(input, { getEndpointParameterInstructions: instructionsFn }, config);\n return Object.assign(defaultParameters, endpointParameters);\n};\nconst _defaultS3HttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: await normalizeProvider(config.region)() || (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nexport const defaultS3HttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider(_defaultS3HttpAuthSchemeParametersProvider);\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"s3\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createAwsAuthSigv4aHttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4a\",\n signingProperties: {\n name: \"s3\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nconst createEndpointRuleSetHttpAuthSchemeProvider = (defaultEndpointResolver, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => {\n const endpointRuleSetHttpAuthSchemeProvider = (authParameters) => {\n const endpoint = defaultEndpointResolver(authParameters);\n const authSchemes = endpoint.properties?.authSchemes;\n if (!authSchemes) {\n return defaultHttpAuthSchemeResolver(authParameters);\n }\n const options = [];\n for (const scheme of authSchemes) {\n const { name: resolvedName, properties = {}, ...rest } = scheme;\n const name = resolvedName.toLowerCase();\n if (resolvedName !== name) {\n console.warn(`HttpAuthScheme has been normalized with lowercasing: '${resolvedName}' to '${name}'`);\n }\n let schemeId;\n if (name === \"sigv4a\") {\n schemeId = \"aws.auth#sigv4a\";\n const sigv4Present = authSchemes.find((s) => {\n const name = s.name.toLowerCase();\n return name !== \"sigv4a\" && name.startsWith(\"sigv4\");\n });\n if (SignatureV4MultiRegion.sigv4aDependency() === \"none\" && sigv4Present) {\n continue;\n }\n }\n else if (name.startsWith(\"sigv4\")) {\n schemeId = \"aws.auth#sigv4\";\n }\n else {\n throw new Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${name}'`);\n }\n const createOption = createHttpAuthOptionFunctions[schemeId];\n if (!createOption) {\n throw new Error(`Could not find HttpAuthOption create function for '${schemeId}'`);\n }\n const option = createOption(authParameters);\n option.schemeId = schemeId;\n option.signingProperties = { ...(option.signingProperties || {}), ...rest, ...properties };\n options.push(option);\n }\n return options;\n };\n return endpointRuleSetHttpAuthSchemeProvider;\n};\nconst _defaultS3HttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const defaultS3HttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider(defaultEndpointResolver, _defaultS3HttpAuthSchemeProvider, {\n \"aws.auth#sigv4\": createAwsAuthSigv4HttpAuthOption,\n \"aws.auth#sigv4a\": createAwsAuthSigv4aHttpAuthOption,\n});\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveAwsSdkSigV4Config(config);\n const config_1 = resolveAwsSdkSigV4AConfig(config_0);\n return Object.assign(config_1, {\n authSchemePreference: normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n", "const clientContextParamDefaults = {};\nexport const resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n forcePathStyle: options.forcePathStyle ?? false,\n useAccelerateEndpoint: options.useAccelerateEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n disableMultiregionAccessPoints: options.disableMultiregionAccessPoints ?? false,\n defaultSigningName: \"s3\",\n clientContextParams: options.clientContextParams ?? {},\n });\n};\nexport const commonParams = {\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n DisableS3ExpressSessionAuth: { type: \"clientContextParams\", name: \"disableS3ExpressSessionAuth\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n", "import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class S3ServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, S3ServiceException.prototype);\n }\n}\n", "import { S3ServiceException as __BaseException } from \"./S3ServiceException\";\nexport class NoSuchUpload extends __BaseException {\n name = \"NoSuchUpload\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchUpload\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchUpload.prototype);\n }\n}\nexport class AccessDenied extends __BaseException {\n name = \"AccessDenied\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"AccessDenied\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDenied.prototype);\n }\n}\nexport class ObjectNotInActiveTierError extends __BaseException {\n name = \"ObjectNotInActiveTierError\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ObjectNotInActiveTierError.prototype);\n }\n}\nexport class BucketAlreadyExists extends __BaseException {\n name = \"BucketAlreadyExists\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, BucketAlreadyExists.prototype);\n }\n}\nexport class BucketAlreadyOwnedByYou extends __BaseException {\n name = \"BucketAlreadyOwnedByYou\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, BucketAlreadyOwnedByYou.prototype);\n }\n}\nexport class NoSuchBucket extends __BaseException {\n name = \"NoSuchBucket\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchBucket\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchBucket.prototype);\n }\n}\nexport class InvalidObjectState extends __BaseException {\n name = \"InvalidObjectState\";\n $fault = \"client\";\n StorageClass;\n AccessTier;\n constructor(opts) {\n super({\n name: \"InvalidObjectState\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidObjectState.prototype);\n this.StorageClass = opts.StorageClass;\n this.AccessTier = opts.AccessTier;\n }\n}\nexport class NoSuchKey extends __BaseException {\n name = \"NoSuchKey\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchKey\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchKey.prototype);\n }\n}\nexport class NotFound extends __BaseException {\n name = \"NotFound\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NotFound\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NotFound.prototype);\n }\n}\nexport class EncryptionTypeMismatch extends __BaseException {\n name = \"EncryptionTypeMismatch\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"EncryptionTypeMismatch\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, EncryptionTypeMismatch.prototype);\n }\n}\nexport class InvalidRequest extends __BaseException {\n name = \"InvalidRequest\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidRequest\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequest.prototype);\n }\n}\nexport class InvalidWriteOffset extends __BaseException {\n name = \"InvalidWriteOffset\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidWriteOffset\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidWriteOffset.prototype);\n }\n}\nexport class TooManyParts extends __BaseException {\n name = \"TooManyParts\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"TooManyParts\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyParts.prototype);\n }\n}\nexport class IdempotencyParameterMismatch extends __BaseException {\n name = \"IdempotencyParameterMismatch\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"IdempotencyParameterMismatch\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, IdempotencyParameterMismatch.prototype);\n }\n}\nexport class ObjectAlreadyInActiveTierError extends __BaseException {\n name = \"ObjectAlreadyInActiveTierError\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ObjectAlreadyInActiveTierError.prototype);\n }\n}\n", "const _A = \"Account\";\nconst _AAO = \"AnalyticsAndOperator\";\nconst _AC = \"AccelerateConfiguration\";\nconst _ACL = \"AccessControlList\";\nconst _ACL_ = \"ACL\";\nconst _ACLn = \"AnalyticsConfigurationList\";\nconst _ACP = \"AccessControlPolicy\";\nconst _ACT = \"AccessControlTranslation\";\nconst _ACn = \"AnalyticsConfiguration\";\nconst _AD = \"AccessDenied\";\nconst _ADb = \"AbortDate\";\nconst _AED = \"AnalyticsExportDestination\";\nconst _AF = \"AnalyticsFilter\";\nconst _AH = \"AllowedHeaders\";\nconst _AHl = \"AllowedHeader\";\nconst _AI = \"AccountId\";\nconst _AIMU = \"AbortIncompleteMultipartUpload\";\nconst _AKI = \"AccessKeyId\";\nconst _AM = \"AllowedMethods\";\nconst _AMU = \"AbortMultipartUpload\";\nconst _AMUO = \"AbortMultipartUploadOutput\";\nconst _AMUR = \"AbortMultipartUploadRequest\";\nconst _AMl = \"AllowedMethod\";\nconst _AO = \"AllowedOrigins\";\nconst _AOl = \"AllowedOrigin\";\nconst _APA = \"AccessPointAlias\";\nconst _APAc = \"AccessPointArn\";\nconst _AQRD = \"AllowQuotedRecordDelimiter\";\nconst _AR = \"AcceptRanges\";\nconst _ARI = \"AbortRuleId\";\nconst _AS = \"AbacStatus\";\nconst _ASBD = \"AnalyticsS3BucketDestination\";\nconst _ASSEBD = \"ApplyServerSideEncryptionByDefault\";\nconst _ASr = \"ArchiveStatus\";\nconst _AT = \"AccessTier\";\nconst _An = \"And\";\nconst _B = \"Bucket\";\nconst _BA = \"BucketArn\";\nconst _BAE = \"BucketAlreadyExists\";\nconst _BAI = \"BucketAccountId\";\nconst _BAOBY = \"BucketAlreadyOwnedByYou\";\nconst _BET = \"BlockedEncryptionTypes\";\nconst _BGR = \"BypassGovernanceRetention\";\nconst _BI = \"BucketInfo\";\nconst _BKE = \"BucketKeyEnabled\";\nconst _BLC = \"BucketLifecycleConfiguration\";\nconst _BLN = \"BucketLocationName\";\nconst _BLS = \"BucketLoggingStatus\";\nconst _BLT = \"BucketLocationType\";\nconst _BN = \"BucketNamespace\";\nconst _BNu = \"BucketName\";\nconst _BP = \"BytesProcessed\";\nconst _BPA = \"BlockPublicAcls\";\nconst _BPP = \"BlockPublicPolicy\";\nconst _BR = \"BucketRegion\";\nconst _BRy = \"BytesReturned\";\nconst _BS = \"BytesScanned\";\nconst _Bo = \"Body\";\nconst _Bu = \"Buckets\";\nconst _C = \"Checksum\";\nconst _CA = \"ChecksumAlgorithm\";\nconst _CACL = \"CannedACL\";\nconst _CB = \"CreateBucket\";\nconst _CBC = \"CreateBucketConfiguration\";\nconst _CBMC = \"CreateBucketMetadataConfiguration\";\nconst _CBMCR = \"CreateBucketMetadataConfigurationRequest\";\nconst _CBMTC = \"CreateBucketMetadataTableConfiguration\";\nconst _CBMTCR = \"CreateBucketMetadataTableConfigurationRequest\";\nconst _CBO = \"CreateBucketOutput\";\nconst _CBR = \"CreateBucketRequest\";\nconst _CC = \"CacheControl\";\nconst _CCRC = \"ChecksumCRC32\";\nconst _CCRCC = \"ChecksumCRC32C\";\nconst _CCRCNVME = \"ChecksumCRC64NVME\";\nconst _CC_ = \"Cache-Control\";\nconst _CD = \"CreationDate\";\nconst _CD_ = \"Content-Disposition\";\nconst _CDo = \"ContentDisposition\";\nconst _CE = \"ContinuationEvent\";\nconst _CE_ = \"Content-Encoding\";\nconst _CEo = \"ContentEncoding\";\nconst _CF = \"CloudFunction\";\nconst _CFC = \"CloudFunctionConfiguration\";\nconst _CL = \"ContentLanguage\";\nconst _CL_ = \"Content-Language\";\nconst _CL__ = \"Content-Length\";\nconst _CLo = \"ContentLength\";\nconst _CM = \"Content-MD5\";\nconst _CMD = \"ContentMD5\";\nconst _CMU = \"CompletedMultipartUpload\";\nconst _CMUO = \"CompleteMultipartUploadOutput\";\nconst _CMUOr = \"CreateMultipartUploadOutput\";\nconst _CMUR = \"CompleteMultipartUploadResult\";\nconst _CMURo = \"CompleteMultipartUploadRequest\";\nconst _CMURr = \"CreateMultipartUploadRequest\";\nconst _CMUo = \"CompleteMultipartUpload\";\nconst _CMUr = \"CreateMultipartUpload\";\nconst _CMh = \"ChecksumMode\";\nconst _CO = \"CopyObject\";\nconst _COO = \"CopyObjectOutput\";\nconst _COR = \"CopyObjectResult\";\nconst _CORSC = \"CORSConfiguration\";\nconst _CORSR = \"CORSRules\";\nconst _CORSRu = \"CORSRule\";\nconst _CORo = \"CopyObjectRequest\";\nconst _CP = \"CommonPrefix\";\nconst _CPL = \"CommonPrefixList\";\nconst _CPLo = \"CompletedPartList\";\nconst _CPR = \"CopyPartResult\";\nconst _CPo = \"CompletedPart\";\nconst _CPom = \"CommonPrefixes\";\nconst _CR = \"ContentRange\";\nconst _CRSBA = \"ConfirmRemoveSelfBucketAccess\";\nconst _CR_ = \"Content-Range\";\nconst _CS = \"CopySource\";\nconst _CSHA = \"ChecksumSHA1\";\nconst _CSHAh = \"ChecksumSHA256\";\nconst _CSIM = \"CopySourceIfMatch\";\nconst _CSIMS = \"CopySourceIfModifiedSince\";\nconst _CSINM = \"CopySourceIfNoneMatch\";\nconst _CSIUS = \"CopySourceIfUnmodifiedSince\";\nconst _CSO = \"CreateSessionOutput\";\nconst _CSR = \"CreateSessionResult\";\nconst _CSRo = \"CopySourceRange\";\nconst _CSRr = \"CreateSessionRequest\";\nconst _CSSSECA = \"CopySourceSSECustomerAlgorithm\";\nconst _CSSSECK = \"CopySourceSSECustomerKey\";\nconst _CSSSECKMD = \"CopySourceSSECustomerKeyMD5\";\nconst _CSV = \"CSV\";\nconst _CSVI = \"CopySourceVersionId\";\nconst _CSVIn = \"CSVInput\";\nconst _CSVO = \"CSVOutput\";\nconst _CSo = \"ConfigurationState\";\nconst _CSr = \"CreateSession\";\nconst _CT = \"ChecksumType\";\nconst _CT_ = \"Content-Type\";\nconst _CTl = \"ClientToken\";\nconst _CTo = \"ContentType\";\nconst _CTom = \"CompressionType\";\nconst _CTon = \"ContinuationToken\";\nconst _Co = \"Condition\";\nconst _Cod = \"Code\";\nconst _Com = \"Comments\";\nconst _Con = \"Contents\";\nconst _Cont = \"Cont\";\nconst _Cr = \"Credentials\";\nconst _D = \"Days\";\nconst _DAI = \"DaysAfterInitiation\";\nconst _DB = \"DeleteBucket\";\nconst _DBAC = \"DeleteBucketAnalyticsConfiguration\";\nconst _DBACR = \"DeleteBucketAnalyticsConfigurationRequest\";\nconst _DBC = \"DeleteBucketCors\";\nconst _DBCR = \"DeleteBucketCorsRequest\";\nconst _DBE = \"DeleteBucketEncryption\";\nconst _DBER = \"DeleteBucketEncryptionRequest\";\nconst _DBIC = \"DeleteBucketInventoryConfiguration\";\nconst _DBICR = \"DeleteBucketInventoryConfigurationRequest\";\nconst _DBITC = \"DeleteBucketIntelligentTieringConfiguration\";\nconst _DBITCR = \"DeleteBucketIntelligentTieringConfigurationRequest\";\nconst _DBL = \"DeleteBucketLifecycle\";\nconst _DBLR = \"DeleteBucketLifecycleRequest\";\nconst _DBMC = \"DeleteBucketMetadataConfiguration\";\nconst _DBMCR = \"DeleteBucketMetadataConfigurationRequest\";\nconst _DBMCRe = \"DeleteBucketMetricsConfigurationRequest\";\nconst _DBMCe = \"DeleteBucketMetricsConfiguration\";\nconst _DBMTC = \"DeleteBucketMetadataTableConfiguration\";\nconst _DBMTCR = \"DeleteBucketMetadataTableConfigurationRequest\";\nconst _DBOC = \"DeleteBucketOwnershipControls\";\nconst _DBOCR = \"DeleteBucketOwnershipControlsRequest\";\nconst _DBP = \"DeleteBucketPolicy\";\nconst _DBPR = \"DeleteBucketPolicyRequest\";\nconst _DBR = \"DeleteBucketRequest\";\nconst _DBRR = \"DeleteBucketReplicationRequest\";\nconst _DBRe = \"DeleteBucketReplication\";\nconst _DBT = \"DeleteBucketTagging\";\nconst _DBTR = \"DeleteBucketTaggingRequest\";\nconst _DBW = \"DeleteBucketWebsite\";\nconst _DBWR = \"DeleteBucketWebsiteRequest\";\nconst _DE = \"DataExport\";\nconst _DIM = \"DestinationIfMatch\";\nconst _DIMS = \"DestinationIfModifiedSince\";\nconst _DINM = \"DestinationIfNoneMatch\";\nconst _DIUS = \"DestinationIfUnmodifiedSince\";\nconst _DM = \"DeleteMarker\";\nconst _DME = \"DeleteMarkerEntry\";\nconst _DMR = \"DeleteMarkerReplication\";\nconst _DMVI = \"DeleteMarkerVersionId\";\nconst _DMe = \"DeleteMarkers\";\nconst _DN = \"DisplayName\";\nconst _DO = \"DeletedObject\";\nconst _DOO = \"DeleteObjectOutput\";\nconst _DOOe = \"DeleteObjectsOutput\";\nconst _DOR = \"DeleteObjectRequest\";\nconst _DORe = \"DeleteObjectsRequest\";\nconst _DOT = \"DeleteObjectTagging\";\nconst _DOTO = \"DeleteObjectTaggingOutput\";\nconst _DOTR = \"DeleteObjectTaggingRequest\";\nconst _DOe = \"DeletedObjects\";\nconst _DOel = \"DeleteObject\";\nconst _DOele = \"DeleteObjects\";\nconst _DPAB = \"DeletePublicAccessBlock\";\nconst _DPABR = \"DeletePublicAccessBlockRequest\";\nconst _DR = \"DataRedundancy\";\nconst _DRe = \"DefaultRetention\";\nconst _DRel = \"DeleteResult\";\nconst _DRes = \"DestinationResult\";\nconst _Da = \"Date\";\nconst _De = \"Delete\";\nconst _Del = \"Deleted\";\nconst _Deli = \"Delimiter\";\nconst _Des = \"Destination\";\nconst _Desc = \"Description\";\nconst _Det = \"Details\";\nconst _E = \"Expiration\";\nconst _EA = \"EmailAddress\";\nconst _EBC = \"EventBridgeConfiguration\";\nconst _EBO = \"ExpectedBucketOwner\";\nconst _EC = \"EncryptionConfiguration\";\nconst _ECr = \"ErrorCode\";\nconst _ED = \"ErrorDetails\";\nconst _EDr = \"ErrorDocument\";\nconst _EE = \"EndEvent\";\nconst _EH = \"ExposeHeaders\";\nconst _EHx = \"ExposeHeader\";\nconst _EM = \"ErrorMessage\";\nconst _EODM = \"ExpiredObjectDeleteMarker\";\nconst _EOR = \"ExistingObjectReplication\";\nconst _ES = \"ExpiresString\";\nconst _ESBO = \"ExpectedSourceBucketOwner\";\nconst _ET = \"EncryptionType\";\nconst _ETL = \"EncryptionTypeList\";\nconst _ETM = \"EncryptionTypeMismatch\";\nconst _ETa = \"ETag\";\nconst _ETn = \"EncodingType\";\nconst _ETv = \"EventThreshold\";\nconst _ETx = \"ExpressionType\";\nconst _En = \"Encryption\";\nconst _Ena = \"Enabled\";\nconst _End = \"End\";\nconst _Er = \"Errors\";\nconst _Err = \"Error\";\nconst _Ev = \"Events\";\nconst _Eve = \"Event\";\nconst _Ex = \"Expires\";\nconst _Exp = \"Expression\";\nconst _F = \"Filter\";\nconst _FD = \"FieldDelimiter\";\nconst _FHI = \"FileHeaderInfo\";\nconst _FO = \"FetchOwner\";\nconst _FR = \"FilterRule\";\nconst _FRL = \"FilterRuleList\";\nconst _FRi = \"FilterRules\";\nconst _Fi = \"Field\";\nconst _Fo = \"Format\";\nconst _Fr = \"Frequency\";\nconst _G = \"Grants\";\nconst _GBA = \"GetBucketAbac\";\nconst _GBAC = \"GetBucketAccelerateConfiguration\";\nconst _GBACO = \"GetBucketAccelerateConfigurationOutput\";\nconst _GBACOe = \"GetBucketAnalyticsConfigurationOutput\";\nconst _GBACR = \"GetBucketAccelerateConfigurationRequest\";\nconst _GBACRe = \"GetBucketAnalyticsConfigurationRequest\";\nconst _GBACe = \"GetBucketAnalyticsConfiguration\";\nconst _GBAO = \"GetBucketAbacOutput\";\nconst _GBAOe = \"GetBucketAclOutput\";\nconst _GBAR = \"GetBucketAbacRequest\";\nconst _GBARe = \"GetBucketAclRequest\";\nconst _GBAe = \"GetBucketAcl\";\nconst _GBC = \"GetBucketCors\";\nconst _GBCO = \"GetBucketCorsOutput\";\nconst _GBCR = \"GetBucketCorsRequest\";\nconst _GBE = \"GetBucketEncryption\";\nconst _GBEO = \"GetBucketEncryptionOutput\";\nconst _GBER = \"GetBucketEncryptionRequest\";\nconst _GBIC = \"GetBucketInventoryConfiguration\";\nconst _GBICO = \"GetBucketInventoryConfigurationOutput\";\nconst _GBICR = \"GetBucketInventoryConfigurationRequest\";\nconst _GBITC = \"GetBucketIntelligentTieringConfiguration\";\nconst _GBITCO = \"GetBucketIntelligentTieringConfigurationOutput\";\nconst _GBITCR = \"GetBucketIntelligentTieringConfigurationRequest\";\nconst _GBL = \"GetBucketLocation\";\nconst _GBLC = \"GetBucketLifecycleConfiguration\";\nconst _GBLCO = \"GetBucketLifecycleConfigurationOutput\";\nconst _GBLCR = \"GetBucketLifecycleConfigurationRequest\";\nconst _GBLO = \"GetBucketLocationOutput\";\nconst _GBLOe = \"GetBucketLoggingOutput\";\nconst _GBLR = \"GetBucketLocationRequest\";\nconst _GBLRe = \"GetBucketLoggingRequest\";\nconst _GBLe = \"GetBucketLogging\";\nconst _GBMC = \"GetBucketMetadataConfiguration\";\nconst _GBMCO = \"GetBucketMetadataConfigurationOutput\";\nconst _GBMCOe = \"GetBucketMetricsConfigurationOutput\";\nconst _GBMCR = \"GetBucketMetadataConfigurationResult\";\nconst _GBMCRe = \"GetBucketMetadataConfigurationRequest\";\nconst _GBMCRet = \"GetBucketMetricsConfigurationRequest\";\nconst _GBMCe = \"GetBucketMetricsConfiguration\";\nconst _GBMTC = \"GetBucketMetadataTableConfiguration\";\nconst _GBMTCO = \"GetBucketMetadataTableConfigurationOutput\";\nconst _GBMTCR = \"GetBucketMetadataTableConfigurationResult\";\nconst _GBMTCRe = \"GetBucketMetadataTableConfigurationRequest\";\nconst _GBNC = \"GetBucketNotificationConfiguration\";\nconst _GBNCR = \"GetBucketNotificationConfigurationRequest\";\nconst _GBOC = \"GetBucketOwnershipControls\";\nconst _GBOCO = \"GetBucketOwnershipControlsOutput\";\nconst _GBOCR = \"GetBucketOwnershipControlsRequest\";\nconst _GBP = \"GetBucketPolicy\";\nconst _GBPO = \"GetBucketPolicyOutput\";\nconst _GBPR = \"GetBucketPolicyRequest\";\nconst _GBPS = \"GetBucketPolicyStatus\";\nconst _GBPSO = \"GetBucketPolicyStatusOutput\";\nconst _GBPSR = \"GetBucketPolicyStatusRequest\";\nconst _GBR = \"GetBucketReplication\";\nconst _GBRO = \"GetBucketReplicationOutput\";\nconst _GBRP = \"GetBucketRequestPayment\";\nconst _GBRPO = \"GetBucketRequestPaymentOutput\";\nconst _GBRPR = \"GetBucketRequestPaymentRequest\";\nconst _GBRR = \"GetBucketReplicationRequest\";\nconst _GBT = \"GetBucketTagging\";\nconst _GBTO = \"GetBucketTaggingOutput\";\nconst _GBTR = \"GetBucketTaggingRequest\";\nconst _GBV = \"GetBucketVersioning\";\nconst _GBVO = \"GetBucketVersioningOutput\";\nconst _GBVR = \"GetBucketVersioningRequest\";\nconst _GBW = \"GetBucketWebsite\";\nconst _GBWO = \"GetBucketWebsiteOutput\";\nconst _GBWR = \"GetBucketWebsiteRequest\";\nconst _GFC = \"GrantFullControl\";\nconst _GJP = \"GlacierJobParameters\";\nconst _GO = \"GetObject\";\nconst _GOA = \"GetObjectAcl\";\nconst _GOAO = \"GetObjectAclOutput\";\nconst _GOAOe = \"GetObjectAttributesOutput\";\nconst _GOAP = \"GetObjectAttributesParts\";\nconst _GOAR = \"GetObjectAclRequest\";\nconst _GOARe = \"GetObjectAttributesResponse\";\nconst _GOARet = \"GetObjectAttributesRequest\";\nconst _GOAe = \"GetObjectAttributes\";\nconst _GOLC = \"GetObjectLockConfiguration\";\nconst _GOLCO = \"GetObjectLockConfigurationOutput\";\nconst _GOLCR = \"GetObjectLockConfigurationRequest\";\nconst _GOLH = \"GetObjectLegalHold\";\nconst _GOLHO = \"GetObjectLegalHoldOutput\";\nconst _GOLHR = \"GetObjectLegalHoldRequest\";\nconst _GOO = \"GetObjectOutput\";\nconst _GOR = \"GetObjectRequest\";\nconst _GORO = \"GetObjectRetentionOutput\";\nconst _GORR = \"GetObjectRetentionRequest\";\nconst _GORe = \"GetObjectRetention\";\nconst _GOT = \"GetObjectTagging\";\nconst _GOTO = \"GetObjectTaggingOutput\";\nconst _GOTOe = \"GetObjectTorrentOutput\";\nconst _GOTR = \"GetObjectTaggingRequest\";\nconst _GOTRe = \"GetObjectTorrentRequest\";\nconst _GOTe = \"GetObjectTorrent\";\nconst _GPAB = \"GetPublicAccessBlock\";\nconst _GPABO = \"GetPublicAccessBlockOutput\";\nconst _GPABR = \"GetPublicAccessBlockRequest\";\nconst _GR = \"GrantRead\";\nconst _GRACP = \"GrantReadACP\";\nconst _GW = \"GrantWrite\";\nconst _GWACP = \"GrantWriteACP\";\nconst _Gr = \"Grant\";\nconst _Gra = \"Grantee\";\nconst _HB = \"HeadBucket\";\nconst _HBO = \"HeadBucketOutput\";\nconst _HBR = \"HeadBucketRequest\";\nconst _HECRE = \"HttpErrorCodeReturnedEquals\";\nconst _HN = \"HostName\";\nconst _HO = \"HeadObject\";\nconst _HOO = \"HeadObjectOutput\";\nconst _HOR = \"HeadObjectRequest\";\nconst _HRC = \"HttpRedirectCode\";\nconst _I = \"Id\";\nconst _IC = \"InventoryConfiguration\";\nconst _ICL = \"InventoryConfigurationList\";\nconst _ID = \"ID\";\nconst _IDn = \"IndexDocument\";\nconst _IDnv = \"InventoryDestination\";\nconst _IE = \"IsEnabled\";\nconst _IEn = \"InventoryEncryption\";\nconst _IF = \"InventoryFilter\";\nconst _IL = \"IsLatest\";\nconst _IM = \"IfMatch\";\nconst _IMIT = \"IfMatchInitiatedTime\";\nconst _IMLMT = \"IfMatchLastModifiedTime\";\nconst _IMS = \"IfMatchSize\";\nconst _IMS_ = \"If-Modified-Since\";\nconst _IMSf = \"IfModifiedSince\";\nconst _IMUR = \"InitiateMultipartUploadResult\";\nconst _IM_ = \"If-Match\";\nconst _INM = \"IfNoneMatch\";\nconst _INM_ = \"If-None-Match\";\nconst _IOF = \"InventoryOptionalFields\";\nconst _IOS = \"InvalidObjectState\";\nconst _IOV = \"IncludedObjectVersions\";\nconst _IP = \"IsPublic\";\nconst _IPA = \"IgnorePublicAcls\";\nconst _IPM = \"IdempotencyParameterMismatch\";\nconst _IR = \"InvalidRequest\";\nconst _IRIP = \"IsRestoreInProgress\";\nconst _IS = \"InputSerialization\";\nconst _ISBD = \"InventoryS3BucketDestination\";\nconst _ISn = \"InventorySchedule\";\nconst _IT = \"IsTruncated\";\nconst _ITAO = \"IntelligentTieringAndOperator\";\nconst _ITC = \"IntelligentTieringConfiguration\";\nconst _ITCL = \"IntelligentTieringConfigurationList\";\nconst _ITCR = \"InventoryTableConfigurationResult\";\nconst _ITCU = \"InventoryTableConfigurationUpdates\";\nconst _ITCn = \"InventoryTableConfiguration\";\nconst _ITF = \"IntelligentTieringFilter\";\nconst _IUS = \"IfUnmodifiedSince\";\nconst _IUS_ = \"If-Unmodified-Since\";\nconst _IWO = \"InvalidWriteOffset\";\nconst _In = \"Initiator\";\nconst _Ini = \"Initiated\";\nconst _JSON = \"JSON\";\nconst _JSONI = \"JSONInput\";\nconst _JSONO = \"JSONOutput\";\nconst _JTC = \"JournalTableConfiguration\";\nconst _JTCR = \"JournalTableConfigurationResult\";\nconst _JTCU = \"JournalTableConfigurationUpdates\";\nconst _K = \"Key\";\nconst _KC = \"KeyCount\";\nconst _KI = \"KeyId\";\nconst _KKA = \"KmsKeyArn\";\nconst _KM = \"KeyMarker\";\nconst _KMSC = \"KMSContext\";\nconst _KMSKA = \"KMSKeyArn\";\nconst _KMSKI = \"KMSKeyId\";\nconst _KMSMKID = \"KMSMasterKeyID\";\nconst _KPE = \"KeyPrefixEquals\";\nconst _L = \"Location\";\nconst _LAMBR = \"ListAllMyBucketsResult\";\nconst _LAMDBR = \"ListAllMyDirectoryBucketsResult\";\nconst _LB = \"ListBuckets\";\nconst _LBAC = \"ListBucketAnalyticsConfigurations\";\nconst _LBACO = \"ListBucketAnalyticsConfigurationsOutput\";\nconst _LBACR = \"ListBucketAnalyticsConfigurationResult\";\nconst _LBACRi = \"ListBucketAnalyticsConfigurationsRequest\";\nconst _LBIC = \"ListBucketInventoryConfigurations\";\nconst _LBICO = \"ListBucketInventoryConfigurationsOutput\";\nconst _LBICR = \"ListBucketInventoryConfigurationsRequest\";\nconst _LBITC = \"ListBucketIntelligentTieringConfigurations\";\nconst _LBITCO = \"ListBucketIntelligentTieringConfigurationsOutput\";\nconst _LBITCR = \"ListBucketIntelligentTieringConfigurationsRequest\";\nconst _LBMC = \"ListBucketMetricsConfigurations\";\nconst _LBMCO = \"ListBucketMetricsConfigurationsOutput\";\nconst _LBMCR = \"ListBucketMetricsConfigurationsRequest\";\nconst _LBO = \"ListBucketsOutput\";\nconst _LBR = \"ListBucketsRequest\";\nconst _LBRi = \"ListBucketResult\";\nconst _LC = \"LocationConstraint\";\nconst _LCi = \"LifecycleConfiguration\";\nconst _LDB = \"ListDirectoryBuckets\";\nconst _LDBO = \"ListDirectoryBucketsOutput\";\nconst _LDBR = \"ListDirectoryBucketsRequest\";\nconst _LE = \"LoggingEnabled\";\nconst _LEi = \"LifecycleExpiration\";\nconst _LFA = \"LambdaFunctionArn\";\nconst _LFC = \"LambdaFunctionConfiguration\";\nconst _LFCL = \"LambdaFunctionConfigurationList\";\nconst _LFCa = \"LambdaFunctionConfigurations\";\nconst _LH = \"LegalHold\";\nconst _LI = \"LocationInfo\";\nconst _LICR = \"ListInventoryConfigurationsResult\";\nconst _LM = \"LastModified\";\nconst _LMCR = \"ListMetricsConfigurationsResult\";\nconst _LMT = \"LastModifiedTime\";\nconst _LMU = \"ListMultipartUploads\";\nconst _LMUO = \"ListMultipartUploadsOutput\";\nconst _LMUR = \"ListMultipartUploadsResult\";\nconst _LMURi = \"ListMultipartUploadsRequest\";\nconst _LM_ = \"Last-Modified\";\nconst _LO = \"ListObjects\";\nconst _LOO = \"ListObjectsOutput\";\nconst _LOR = \"ListObjectsRequest\";\nconst _LOV = \"ListObjectsV2\";\nconst _LOVO = \"ListObjectsV2Output\";\nconst _LOVOi = \"ListObjectVersionsOutput\";\nconst _LOVR = \"ListObjectsV2Request\";\nconst _LOVRi = \"ListObjectVersionsRequest\";\nconst _LOVi = \"ListObjectVersions\";\nconst _LP = \"ListParts\";\nconst _LPO = \"ListPartsOutput\";\nconst _LPR = \"ListPartsResult\";\nconst _LPRi = \"ListPartsRequest\";\nconst _LR = \"LifecycleRule\";\nconst _LRAO = \"LifecycleRuleAndOperator\";\nconst _LRF = \"LifecycleRuleFilter\";\nconst _LRi = \"LifecycleRules\";\nconst _LVR = \"ListVersionsResult\";\nconst _M = \"Metadata\";\nconst _MAO = \"MetricsAndOperator\";\nconst _MAS = \"MaxAgeSeconds\";\nconst _MB = \"MaxBuckets\";\nconst _MC = \"MetadataConfiguration\";\nconst _MCL = \"MetricsConfigurationList\";\nconst _MCR = \"MetadataConfigurationResult\";\nconst _MCe = \"MetricsConfiguration\";\nconst _MD = \"MetadataDirective\";\nconst _MDB = \"MaxDirectoryBuckets\";\nconst _MDf = \"MfaDelete\";\nconst _ME = \"MetadataEntry\";\nconst _MF = \"MetricsFilter\";\nconst _MFA = \"MFA\";\nconst _MFAD = \"MFADelete\";\nconst _MK = \"MaxKeys\";\nconst _MM = \"MissingMeta\";\nconst _MOS = \"MpuObjectSize\";\nconst _MP = \"MaxParts\";\nconst _MTC = \"MetadataTableConfiguration\";\nconst _MTCR = \"MetadataTableConfigurationResult\";\nconst _MTEC = \"MetadataTableEncryptionConfiguration\";\nconst _MU = \"MultipartUpload\";\nconst _MUL = \"MultipartUploadList\";\nconst _MUa = \"MaxUploads\";\nconst _Ma = \"Marker\";\nconst _Me = \"Metrics\";\nconst _Mes = \"Message\";\nconst _Mi = \"Minutes\";\nconst _Mo = \"Mode\";\nconst _N = \"Name\";\nconst _NC = \"NotificationConfiguration\";\nconst _NCF = \"NotificationConfigurationFilter\";\nconst _NCT = \"NextContinuationToken\";\nconst _ND = \"NoncurrentDays\";\nconst _NEKKAS = \"NonEmptyKmsKeyArnString\";\nconst _NF = \"NotFound\";\nconst _NKM = \"NextKeyMarker\";\nconst _NM = \"NextMarker\";\nconst _NNV = \"NewerNoncurrentVersions\";\nconst _NPNM = \"NextPartNumberMarker\";\nconst _NSB = \"NoSuchBucket\";\nconst _NSK = \"NoSuchKey\";\nconst _NSU = \"NoSuchUpload\";\nconst _NUIM = \"NextUploadIdMarker\";\nconst _NVE = \"NoncurrentVersionExpiration\";\nconst _NVIM = \"NextVersionIdMarker\";\nconst _NVT = \"NoncurrentVersionTransitions\";\nconst _NVTL = \"NoncurrentVersionTransitionList\";\nconst _NVTo = \"NoncurrentVersionTransition\";\nconst _O = \"Owner\";\nconst _OA = \"ObjectAttributes\";\nconst _OAIATE = \"ObjectAlreadyInActiveTierError\";\nconst _OC = \"OwnershipControls\";\nconst _OCR = \"OwnershipControlsRule\";\nconst _OCRw = \"OwnershipControlsRules\";\nconst _OE = \"ObjectEncryption\";\nconst _OF = \"OptionalFields\";\nconst _OI = \"ObjectIdentifier\";\nconst _OIL = \"ObjectIdentifierList\";\nconst _OL = \"OutputLocation\";\nconst _OLC = \"ObjectLockConfiguration\";\nconst _OLE = \"ObjectLockEnabled\";\nconst _OLEFB = \"ObjectLockEnabledForBucket\";\nconst _OLLH = \"ObjectLockLegalHold\";\nconst _OLLHS = \"ObjectLockLegalHoldStatus\";\nconst _OLM = \"ObjectLockMode\";\nconst _OLR = \"ObjectLockRetention\";\nconst _OLRUD = \"ObjectLockRetainUntilDate\";\nconst _OLRb = \"ObjectLockRule\";\nconst _OLb = \"ObjectList\";\nconst _ONIATE = \"ObjectNotInActiveTierError\";\nconst _OO = \"ObjectOwnership\";\nconst _OOA = \"OptionalObjectAttributes\";\nconst _OP = \"ObjectParts\";\nconst _OPb = \"ObjectPart\";\nconst _OS = \"ObjectSize\";\nconst _OSGT = \"ObjectSizeGreaterThan\";\nconst _OSLT = \"ObjectSizeLessThan\";\nconst _OSV = \"OutputSchemaVersion\";\nconst _OSu = \"OutputSerialization\";\nconst _OV = \"ObjectVersion\";\nconst _OVL = \"ObjectVersionList\";\nconst _Ob = \"Objects\";\nconst _Obj = \"Object\";\nconst _P = \"Prefix\";\nconst _PABC = \"PublicAccessBlockConfiguration\";\nconst _PBA = \"PutBucketAbac\";\nconst _PBAC = \"PutBucketAccelerateConfiguration\";\nconst _PBACR = \"PutBucketAccelerateConfigurationRequest\";\nconst _PBACRu = \"PutBucketAnalyticsConfigurationRequest\";\nconst _PBACu = \"PutBucketAnalyticsConfiguration\";\nconst _PBAR = \"PutBucketAbacRequest\";\nconst _PBARu = \"PutBucketAclRequest\";\nconst _PBAu = \"PutBucketAcl\";\nconst _PBC = \"PutBucketCors\";\nconst _PBCR = \"PutBucketCorsRequest\";\nconst _PBE = \"PutBucketEncryption\";\nconst _PBER = \"PutBucketEncryptionRequest\";\nconst _PBIC = \"PutBucketInventoryConfiguration\";\nconst _PBICR = \"PutBucketInventoryConfigurationRequest\";\nconst _PBITC = \"PutBucketIntelligentTieringConfiguration\";\nconst _PBITCR = \"PutBucketIntelligentTieringConfigurationRequest\";\nconst _PBL = \"PutBucketLogging\";\nconst _PBLC = \"PutBucketLifecycleConfiguration\";\nconst _PBLCO = \"PutBucketLifecycleConfigurationOutput\";\nconst _PBLCR = \"PutBucketLifecycleConfigurationRequest\";\nconst _PBLR = \"PutBucketLoggingRequest\";\nconst _PBMC = \"PutBucketMetricsConfiguration\";\nconst _PBMCR = \"PutBucketMetricsConfigurationRequest\";\nconst _PBNC = \"PutBucketNotificationConfiguration\";\nconst _PBNCR = \"PutBucketNotificationConfigurationRequest\";\nconst _PBOC = \"PutBucketOwnershipControls\";\nconst _PBOCR = \"PutBucketOwnershipControlsRequest\";\nconst _PBP = \"PutBucketPolicy\";\nconst _PBPR = \"PutBucketPolicyRequest\";\nconst _PBR = \"PutBucketReplication\";\nconst _PBRP = \"PutBucketRequestPayment\";\nconst _PBRPR = \"PutBucketRequestPaymentRequest\";\nconst _PBRR = \"PutBucketReplicationRequest\";\nconst _PBT = \"PutBucketTagging\";\nconst _PBTR = \"PutBucketTaggingRequest\";\nconst _PBV = \"PutBucketVersioning\";\nconst _PBVR = \"PutBucketVersioningRequest\";\nconst _PBW = \"PutBucketWebsite\";\nconst _PBWR = \"PutBucketWebsiteRequest\";\nconst _PC = \"PartsCount\";\nconst _PDS = \"PartitionDateSource\";\nconst _PE = \"ProgressEvent\";\nconst _PI = \"ParquetInput\";\nconst _PL = \"PartsList\";\nconst _PN = \"PartNumber\";\nconst _PNM = \"PartNumberMarker\";\nconst _PO = \"PutObject\";\nconst _POA = \"PutObjectAcl\";\nconst _POAO = \"PutObjectAclOutput\";\nconst _POAR = \"PutObjectAclRequest\";\nconst _POLC = \"PutObjectLockConfiguration\";\nconst _POLCO = \"PutObjectLockConfigurationOutput\";\nconst _POLCR = \"PutObjectLockConfigurationRequest\";\nconst _POLH = \"PutObjectLegalHold\";\nconst _POLHO = \"PutObjectLegalHoldOutput\";\nconst _POLHR = \"PutObjectLegalHoldRequest\";\nconst _POO = \"PutObjectOutput\";\nconst _POR = \"PutObjectRequest\";\nconst _PORO = \"PutObjectRetentionOutput\";\nconst _PORR = \"PutObjectRetentionRequest\";\nconst _PORu = \"PutObjectRetention\";\nconst _POT = \"PutObjectTagging\";\nconst _POTO = \"PutObjectTaggingOutput\";\nconst _POTR = \"PutObjectTaggingRequest\";\nconst _PP = \"PartitionedPrefix\";\nconst _PPAB = \"PutPublicAccessBlock\";\nconst _PPABR = \"PutPublicAccessBlockRequest\";\nconst _PS = \"PolicyStatus\";\nconst _Pa = \"Parts\";\nconst _Par = \"Part\";\nconst _Parq = \"Parquet\";\nconst _Pay = \"Payer\";\nconst _Payl = \"Payload\";\nconst _Pe = \"Permission\";\nconst _Po = \"Policy\";\nconst _Pr = \"Progress\";\nconst _Pri = \"Priority\";\nconst _Pro = \"Protocol\";\nconst _Q = \"Quiet\";\nconst _QA = \"QueueArn\";\nconst _QC = \"QuoteCharacter\";\nconst _QCL = \"QueueConfigurationList\";\nconst _QCu = \"QueueConfigurations\";\nconst _QCue = \"QueueConfiguration\";\nconst _QEC = \"QuoteEscapeCharacter\";\nconst _QF = \"QuoteFields\";\nconst _Qu = \"Queue\";\nconst _R = \"Rules\";\nconst _RART = \"RedirectAllRequestsTo\";\nconst _RC = \"RequestCharged\";\nconst _RCC = \"ResponseCacheControl\";\nconst _RCD = \"ResponseContentDisposition\";\nconst _RCE = \"ResponseContentEncoding\";\nconst _RCL = \"ResponseContentLanguage\";\nconst _RCT = \"ResponseContentType\";\nconst _RCe = \"ReplicationConfiguration\";\nconst _RD = \"RecordDelimiter\";\nconst _RE = \"ResponseExpires\";\nconst _RED = \"RestoreExpiryDate\";\nconst _REe = \"RecordExpiration\";\nconst _REec = \"RecordsEvent\";\nconst _RKKID = \"ReplicaKmsKeyID\";\nconst _RKPW = \"ReplaceKeyPrefixWith\";\nconst _RKW = \"ReplaceKeyWith\";\nconst _RM = \"ReplicaModifications\";\nconst _RO = \"RenameObject\";\nconst _ROO = \"RenameObjectOutput\";\nconst _ROOe = \"RestoreObjectOutput\";\nconst _ROP = \"RestoreOutputPath\";\nconst _ROR = \"RenameObjectRequest\";\nconst _RORe = \"RestoreObjectRequest\";\nconst _ROe = \"RestoreObject\";\nconst _RP = \"RequestPayer\";\nconst _RPB = \"RestrictPublicBuckets\";\nconst _RPC = \"RequestPaymentConfiguration\";\nconst _RPe = \"RequestProgress\";\nconst _RR = \"RoutingRules\";\nconst _RRAO = \"ReplicationRuleAndOperator\";\nconst _RRF = \"ReplicationRuleFilter\";\nconst _RRe = \"ReplicationRule\";\nconst _RRep = \"ReplicationRules\";\nconst _RReq = \"RequestRoute\";\nconst _RRes = \"RestoreRequest\";\nconst _RRo = \"RoutingRule\";\nconst _RS = \"ReplicationStatus\";\nconst _RSe = \"RestoreStatus\";\nconst _RSen = \"RenameSource\";\nconst _RT = \"ReplicationTime\";\nconst _RTV = \"ReplicationTimeValue\";\nconst _RTe = \"RequestToken\";\nconst _RUD = \"RetainUntilDate\";\nconst _Ra = \"Range\";\nconst _Re = \"Restore\";\nconst _Rec = \"Records\";\nconst _Red = \"Redirect\";\nconst _Ret = \"Retention\";\nconst _Ro = \"Role\";\nconst _Ru = \"Rule\";\nconst _S = \"Status\";\nconst _SA = \"StartAfter\";\nconst _SAK = \"SecretAccessKey\";\nconst _SAs = \"SseAlgorithm\";\nconst _SB = \"StreamingBlob\";\nconst _SBD = \"S3BucketDestination\";\nconst _SC = \"StorageClass\";\nconst _SCA = \"StorageClassAnalysis\";\nconst _SCADE = \"StorageClassAnalysisDataExport\";\nconst _SCV = \"SessionCredentialValue\";\nconst _SCe = \"SessionCredentials\";\nconst _SCt = \"StatusCode\";\nconst _SDV = \"SkipDestinationValidation\";\nconst _SE = \"StatsEvent\";\nconst _SIM = \"SourceIfMatch\";\nconst _SIMS = \"SourceIfModifiedSince\";\nconst _SINM = \"SourceIfNoneMatch\";\nconst _SIUS = \"SourceIfUnmodifiedSince\";\nconst _SK = \"SSE-KMS\";\nconst _SKEO = \"SseKmsEncryptedObjects\";\nconst _SKF = \"S3KeyFilter\";\nconst _SKe = \"S3Key\";\nconst _SL = \"S3Location\";\nconst _SM = \"SessionMode\";\nconst _SOC = \"SelectObjectContent\";\nconst _SOCES = \"SelectObjectContentEventStream\";\nconst _SOCO = \"SelectObjectContentOutput\";\nconst _SOCR = \"SelectObjectContentRequest\";\nconst _SP = \"SelectParameters\";\nconst _SPi = \"SimplePrefix\";\nconst _SR = \"ScanRange\";\nconst _SS = \"SSE-S3\";\nconst _SSC = \"SourceSelectionCriteria\";\nconst _SSE = \"ServerSideEncryption\";\nconst _SSEA = \"SSEAlgorithm\";\nconst _SSEBD = \"ServerSideEncryptionByDefault\";\nconst _SSEC = \"ServerSideEncryptionConfiguration\";\nconst _SSECA = \"SSECustomerAlgorithm\";\nconst _SSECK = \"SSECustomerKey\";\nconst _SSECKMD = \"SSECustomerKeyMD5\";\nconst _SSEKMS = \"SSEKMS\";\nconst _SSEKMSE = \"SSEKMSEncryption\";\nconst _SSEKMSEC = \"SSEKMSEncryptionContext\";\nconst _SSEKMSKI = \"SSEKMSKeyId\";\nconst _SSER = \"ServerSideEncryptionRule\";\nconst _SSERe = \"ServerSideEncryptionRules\";\nconst _SSES = \"SSES3\";\nconst _ST = \"SessionToken\";\nconst _STD = \"S3TablesDestination\";\nconst _STDR = \"S3TablesDestinationResult\";\nconst _S_ = \"S3\";\nconst _Sc = \"Schedule\";\nconst _Si = \"Size\";\nconst _St = \"Start\";\nconst _Sta = \"Stats\";\nconst _Su = \"Suffix\";\nconst _T = \"Tags\";\nconst _TA = \"TableArn\";\nconst _TAo = \"TopicArn\";\nconst _TB = \"TargetBucket\";\nconst _TBA = \"TableBucketArn\";\nconst _TBT = \"TableBucketType\";\nconst _TC = \"TagCount\";\nconst _TCL = \"TopicConfigurationList\";\nconst _TCo = \"TopicConfigurations\";\nconst _TCop = \"TopicConfiguration\";\nconst _TD = \"TaggingDirective\";\nconst _TDMOS = \"TransitionDefaultMinimumObjectSize\";\nconst _TG = \"TargetGrants\";\nconst _TGa = \"TargetGrant\";\nconst _TL = \"TieringList\";\nconst _TLr = \"TransitionList\";\nconst _TMP = \"TooManyParts\";\nconst _TN = \"TableNamespace\";\nconst _TNa = \"TableName\";\nconst _TOKF = \"TargetObjectKeyFormat\";\nconst _TP = \"TargetPrefix\";\nconst _TPC = \"TotalPartsCount\";\nconst _TS = \"TagSet\";\nconst _TSa = \"TableStatus\";\nconst _Ta = \"Tag\";\nconst _Tag = \"Tagging\";\nconst _Ti = \"Tier\";\nconst _Tie = \"Tierings\";\nconst _Tier = \"Tiering\";\nconst _Tim = \"Time\";\nconst _To = \"Token\";\nconst _Top = \"Topic\";\nconst _Tr = \"Transitions\";\nconst _Tra = \"Transition\";\nconst _Ty = \"Type\";\nconst _U = \"Uploads\";\nconst _UBMITC = \"UpdateBucketMetadataInventoryTableConfiguration\";\nconst _UBMITCR = \"UpdateBucketMetadataInventoryTableConfigurationRequest\";\nconst _UBMJTC = \"UpdateBucketMetadataJournalTableConfiguration\";\nconst _UBMJTCR = \"UpdateBucketMetadataJournalTableConfigurationRequest\";\nconst _UI = \"UploadId\";\nconst _UIM = \"UploadIdMarker\";\nconst _UM = \"UserMetadata\";\nconst _UOE = \"UpdateObjectEncryption\";\nconst _UOER = \"UpdateObjectEncryptionRequest\";\nconst _UOERp = \"UpdateObjectEncryptionResponse\";\nconst _UP = \"UploadPart\";\nconst _UPC = \"UploadPartCopy\";\nconst _UPCO = \"UploadPartCopyOutput\";\nconst _UPCR = \"UploadPartCopyRequest\";\nconst _UPO = \"UploadPartOutput\";\nconst _UPR = \"UploadPartRequest\";\nconst _URI = \"URI\";\nconst _Up = \"Upload\";\nconst _V = \"Value\";\nconst _VC = \"VersioningConfiguration\";\nconst _VI = \"VersionId\";\nconst _VIM = \"VersionIdMarker\";\nconst _Ve = \"Versions\";\nconst _Ver = \"Version\";\nconst _WC = \"WebsiteConfiguration\";\nconst _WGOR = \"WriteGetObjectResponse\";\nconst _WGORR = \"WriteGetObjectResponseRequest\";\nconst _WOB = \"WriteOffsetBytes\";\nconst _WRL = \"WebsiteRedirectLocation\";\nconst _Y = \"Years\";\nconst _ar = \"accept-ranges\";\nconst _br = \"bucket-region\";\nconst _c = \"client\";\nconst _ct = \"continuation-token\";\nconst _d = \"delimiter\";\nconst _e = \"error\";\nconst _eP = \"eventPayload\";\nconst _en = \"endpoint\";\nconst _et = \"encoding-type\";\nconst _fo = \"fetch-owner\";\nconst _h = \"http\";\nconst _hC = \"httpChecksum\";\nconst _hE = \"httpError\";\nconst _hH = \"httpHeader\";\nconst _hL = \"hostLabel\";\nconst _hP = \"httpPayload\";\nconst _hPH = \"httpPrefixHeaders\";\nconst _hQ = \"httpQuery\";\nconst _hi = \"http://www.w3.org/2001/XMLSchema-instance\";\nconst _i = \"id\";\nconst _iT = \"idempotencyToken\";\nconst _km = \"key-marker\";\nconst _m = \"marker\";\nconst _mb = \"max-buckets\";\nconst _mdb = \"max-directory-buckets\";\nconst _mk = \"max-keys\";\nconst _mp = \"max-parts\";\nconst _mu = \"max-uploads\";\nconst _p = \"prefix\";\nconst _pN = \"partNumber\";\nconst _pnm = \"part-number-marker\";\nconst _rcc = \"response-cache-control\";\nconst _rcd = \"response-content-disposition\";\nconst _rce = \"response-content-encoding\";\nconst _rcl = \"response-content-language\";\nconst _rct = \"response-content-type\";\nconst _re = \"response-expires\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.s3\";\nconst _sa = \"start-after\";\nconst _st = \"streaming\";\nconst _uI = \"uploadId\";\nconst _uim = \"upload-id-marker\";\nconst _vI = \"versionId\";\nconst _vim = \"version-id-marker\";\nconst _x = \"xsi\";\nconst _xA = \"xmlAttribute\";\nconst _xF = \"xmlFlattened\";\nconst _xN = \"xmlName\";\nconst _xNm = \"xmlNamespace\";\nconst _xaa = \"x-amz-acl\";\nconst _xaad = \"x-amz-abort-date\";\nconst _xaapa = \"x-amz-access-point-alias\";\nconst _xaari = \"x-amz-abort-rule-id\";\nconst _xaas = \"x-amz-archive-status\";\nconst _xaba = \"x-amz-bucket-arn\";\nconst _xabgr = \"x-amz-bypass-governance-retention\";\nconst _xabln = \"x-amz-bucket-location-name\";\nconst _xablt = \"x-amz-bucket-location-type\";\nconst _xabn = \"x-amz-bucket-namespace\";\nconst _xabole = \"x-amz-bucket-object-lock-enabled\";\nconst _xabolt = \"x-amz-bucket-object-lock-token\";\nconst _xabr = \"x-amz-bucket-region\";\nconst _xaca = \"x-amz-checksum-algorithm\";\nconst _xacc = \"x-amz-checksum-crc32\";\nconst _xacc_ = \"x-amz-checksum-crc32c\";\nconst _xacc__ = \"x-amz-checksum-crc64nvme\";\nconst _xacm = \"x-amz-checksum-mode\";\nconst _xacrsba = \"x-amz-confirm-remove-self-bucket-access\";\nconst _xacs = \"x-amz-checksum-sha1\";\nconst _xacs_ = \"x-amz-checksum-sha256\";\nconst _xacs__ = \"x-amz-copy-source\";\nconst _xacsim = \"x-amz-copy-source-if-match\";\nconst _xacsims = \"x-amz-copy-source-if-modified-since\";\nconst _xacsinm = \"x-amz-copy-source-if-none-match\";\nconst _xacsius = \"x-amz-copy-source-if-unmodified-since\";\nconst _xacsm = \"x-amz-create-session-mode\";\nconst _xacsr = \"x-amz-copy-source-range\";\nconst _xacssseca = \"x-amz-copy-source-server-side-encryption-customer-algorithm\";\nconst _xacssseck = \"x-amz-copy-source-server-side-encryption-customer-key\";\nconst _xacssseckM = \"x-amz-copy-source-server-side-encryption-customer-key-MD5\";\nconst _xacsvi = \"x-amz-copy-source-version-id\";\nconst _xact = \"x-amz-checksum-type\";\nconst _xact_ = \"x-amz-client-token\";\nconst _xadm = \"x-amz-delete-marker\";\nconst _xae = \"x-amz-expiration\";\nconst _xaebo = \"x-amz-expected-bucket-owner\";\nconst _xafec = \"x-amz-fwd-error-code\";\nconst _xafem = \"x-amz-fwd-error-message\";\nconst _xafhCC = \"x-amz-fwd-header-Cache-Control\";\nconst _xafhCD = \"x-amz-fwd-header-Content-Disposition\";\nconst _xafhCE = \"x-amz-fwd-header-Content-Encoding\";\nconst _xafhCL = \"x-amz-fwd-header-Content-Language\";\nconst _xafhCR = \"x-amz-fwd-header-Content-Range\";\nconst _xafhCT = \"x-amz-fwd-header-Content-Type\";\nconst _xafhE = \"x-amz-fwd-header-ETag\";\nconst _xafhE_ = \"x-amz-fwd-header-Expires\";\nconst _xafhLM = \"x-amz-fwd-header-Last-Modified\";\nconst _xafhar = \"x-amz-fwd-header-accept-ranges\";\nconst _xafhxacc = \"x-amz-fwd-header-x-amz-checksum-crc32\";\nconst _xafhxacc_ = \"x-amz-fwd-header-x-amz-checksum-crc32c\";\nconst _xafhxacc__ = \"x-amz-fwd-header-x-amz-checksum-crc64nvme\";\nconst _xafhxacs = \"x-amz-fwd-header-x-amz-checksum-sha1\";\nconst _xafhxacs_ = \"x-amz-fwd-header-x-amz-checksum-sha256\";\nconst _xafhxadm = \"x-amz-fwd-header-x-amz-delete-marker\";\nconst _xafhxae = \"x-amz-fwd-header-x-amz-expiration\";\nconst _xafhxamm = \"x-amz-fwd-header-x-amz-missing-meta\";\nconst _xafhxampc = \"x-amz-fwd-header-x-amz-mp-parts-count\";\nconst _xafhxaollh = \"x-amz-fwd-header-x-amz-object-lock-legal-hold\";\nconst _xafhxaolm = \"x-amz-fwd-header-x-amz-object-lock-mode\";\nconst _xafhxaolrud = \"x-amz-fwd-header-x-amz-object-lock-retain-until-date\";\nconst _xafhxar = \"x-amz-fwd-header-x-amz-restore\";\nconst _xafhxarc = \"x-amz-fwd-header-x-amz-request-charged\";\nconst _xafhxars = \"x-amz-fwd-header-x-amz-replication-status\";\nconst _xafhxasc = \"x-amz-fwd-header-x-amz-storage-class\";\nconst _xafhxasse = \"x-amz-fwd-header-x-amz-server-side-encryption\";\nconst _xafhxasseakki = \"x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id\";\nconst _xafhxassebke = \"x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled\";\nconst _xafhxasseca = \"x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm\";\nconst _xafhxasseckM = \"x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5\";\nconst _xafhxatc = \"x-amz-fwd-header-x-amz-tagging-count\";\nconst _xafhxavi = \"x-amz-fwd-header-x-amz-version-id\";\nconst _xafs = \"x-amz-fwd-status\";\nconst _xagfc = \"x-amz-grant-full-control\";\nconst _xagr = \"x-amz-grant-read\";\nconst _xagra = \"x-amz-grant-read-acp\";\nconst _xagw = \"x-amz-grant-write\";\nconst _xagwa = \"x-amz-grant-write-acp\";\nconst _xaimit = \"x-amz-if-match-initiated-time\";\nconst _xaimlmt = \"x-amz-if-match-last-modified-time\";\nconst _xaims = \"x-amz-if-match-size\";\nconst _xam = \"x-amz-meta-\";\nconst _xam_ = \"x-amz-mfa\";\nconst _xamd = \"x-amz-metadata-directive\";\nconst _xamm = \"x-amz-missing-meta\";\nconst _xamos = \"x-amz-mp-object-size\";\nconst _xamp = \"x-amz-max-parts\";\nconst _xampc = \"x-amz-mp-parts-count\";\nconst _xaoa = \"x-amz-object-attributes\";\nconst _xaollh = \"x-amz-object-lock-legal-hold\";\nconst _xaolm = \"x-amz-object-lock-mode\";\nconst _xaolrud = \"x-amz-object-lock-retain-until-date\";\nconst _xaoo = \"x-amz-object-ownership\";\nconst _xaooa = \"x-amz-optional-object-attributes\";\nconst _xaos = \"x-amz-object-size\";\nconst _xapnm = \"x-amz-part-number-marker\";\nconst _xar = \"x-amz-restore\";\nconst _xarc = \"x-amz-request-charged\";\nconst _xarop = \"x-amz-restore-output-path\";\nconst _xarp = \"x-amz-request-payer\";\nconst _xarr = \"x-amz-request-route\";\nconst _xars = \"x-amz-replication-status\";\nconst _xars_ = \"x-amz-rename-source\";\nconst _xarsim = \"x-amz-rename-source-if-match\";\nconst _xarsims = \"x-amz-rename-source-if-modified-since\";\nconst _xarsinm = \"x-amz-rename-source-if-none-match\";\nconst _xarsius = \"x-amz-rename-source-if-unmodified-since\";\nconst _xart = \"x-amz-request-token\";\nconst _xasc = \"x-amz-storage-class\";\nconst _xasca = \"x-amz-sdk-checksum-algorithm\";\nconst _xasdv = \"x-amz-skip-destination-validation\";\nconst _xasebo = \"x-amz-source-expected-bucket-owner\";\nconst _xasse = \"x-amz-server-side-encryption\";\nconst _xasseakki = \"x-amz-server-side-encryption-aws-kms-key-id\";\nconst _xassebke = \"x-amz-server-side-encryption-bucket-key-enabled\";\nconst _xassec = \"x-amz-server-side-encryption-context\";\nconst _xasseca = \"x-amz-server-side-encryption-customer-algorithm\";\nconst _xasseck = \"x-amz-server-side-encryption-customer-key\";\nconst _xasseckM = \"x-amz-server-side-encryption-customer-key-MD5\";\nconst _xat = \"x-amz-tagging\";\nconst _xatc = \"x-amz-tagging-count\";\nconst _xatd = \"x-amz-tagging-directive\";\nconst _xatdmos = \"x-amz-transition-default-minimum-object-size\";\nconst _xavi = \"x-amz-version-id\";\nconst _xawob = \"x-amz-write-offset-bytes\";\nconst _xawrl = \"x-amz-website-redirect-location\";\nconst _xs = \"xsi:type\";\nconst n0 = \"com.amazonaws.s3\";\nimport { TypeRegistry } from \"@smithy/core/schema\";\nimport { AccessDenied, BucketAlreadyExists, BucketAlreadyOwnedByYou, EncryptionTypeMismatch, IdempotencyParameterMismatch, InvalidObjectState, InvalidRequest, InvalidWriteOffset, NoSuchBucket, NoSuchKey, NoSuchUpload, NotFound, ObjectAlreadyInActiveTierError, ObjectNotInActiveTierError, TooManyParts, } from \"../models/errors\";\nimport { S3ServiceException } from \"../models/S3ServiceException\";\nconst _s_registry = TypeRegistry.for(_s);\nexport var S3ServiceException$ = [-3, _s, \"S3ServiceException\", 0, [], []];\n_s_registry.registerError(S3ServiceException$, S3ServiceException);\nconst n0_registry = TypeRegistry.for(n0);\nexport var AccessDenied$ = [-3, n0, _AD,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(AccessDenied$, AccessDenied);\nexport var BucketAlreadyExists$ = [-3, n0, _BAE,\n { [_e]: _c, [_hE]: 409 },\n [],\n []\n];\nn0_registry.registerError(BucketAlreadyExists$, BucketAlreadyExists);\nexport var BucketAlreadyOwnedByYou$ = [-3, n0, _BAOBY,\n { [_e]: _c, [_hE]: 409 },\n [],\n []\n];\nn0_registry.registerError(BucketAlreadyOwnedByYou$, BucketAlreadyOwnedByYou);\nexport var EncryptionTypeMismatch$ = [-3, n0, _ETM,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(EncryptionTypeMismatch$, EncryptionTypeMismatch);\nexport var IdempotencyParameterMismatch$ = [-3, n0, _IPM,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(IdempotencyParameterMismatch$, IdempotencyParameterMismatch);\nexport var InvalidObjectState$ = [-3, n0, _IOS,\n { [_e]: _c, [_hE]: 403 },\n [_SC, _AT],\n [0, 0]\n];\nn0_registry.registerError(InvalidObjectState$, InvalidObjectState);\nexport var InvalidRequest$ = [-3, n0, _IR,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(InvalidRequest$, InvalidRequest);\nexport var InvalidWriteOffset$ = [-3, n0, _IWO,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(InvalidWriteOffset$, InvalidWriteOffset);\nexport var NoSuchBucket$ = [-3, n0, _NSB,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchBucket$, NoSuchBucket);\nexport var NoSuchKey$ = [-3, n0, _NSK,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchKey$, NoSuchKey);\nexport var NoSuchUpload$ = [-3, n0, _NSU,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchUpload$, NoSuchUpload);\nexport var NotFound$ = [-3, n0, _NF,\n { [_e]: _c },\n [],\n []\n];\nn0_registry.registerError(NotFound$, NotFound);\nexport var ObjectAlreadyInActiveTierError$ = [-3, n0, _OAIATE,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(ObjectAlreadyInActiveTierError$, ObjectAlreadyInActiveTierError);\nexport var ObjectNotInActiveTierError$ = [-3, n0, _ONIATE,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(ObjectNotInActiveTierError$, ObjectNotInActiveTierError);\nexport var TooManyParts$ = [-3, n0, _TMP,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(TooManyParts$, TooManyParts);\nexport const errorTypeRegistries = [\n _s_registry,\n n0_registry,\n];\nvar CopySourceSSECustomerKey = [0, n0, _CSSSECK, 8, 0];\nvar NonEmptyKmsKeyArnString = [0, n0, _NEKKAS, 8, 0];\nvar SessionCredentialValue = [0, n0, _SCV, 8, 0];\nvar SSECustomerKey = [0, n0, _SSECK, 8, 0];\nvar SSEKMSEncryptionContext = [0, n0, _SSEKMSEC, 8, 0];\nvar SSEKMSKeyId = [0, n0, _SSEKMSKI, 8, 0];\nvar StreamingBlob = [0, n0, _SB, { [_st]: 1 }, 42];\nexport var AbacStatus$ = [3, n0, _AS,\n 0,\n [_S],\n [0]\n];\nexport var AbortIncompleteMultipartUpload$ = [3, n0, _AIMU,\n 0,\n [_DAI],\n [1]\n];\nexport var AbortMultipartUploadOutput$ = [3, n0, _AMUO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var AbortMultipartUploadRequest$ = [3, n0, _AMUR,\n 0,\n [_B, _K, _UI, _RP, _EBO, _IMIT],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [6, { [_hH]: _xaimit }]], 3\n];\nexport var AccelerateConfiguration$ = [3, n0, _AC,\n 0,\n [_S],\n [0]\n];\nexport var AccessControlPolicy$ = [3, n0, _ACP,\n 0,\n [_G, _O],\n [[() => Grants, { [_xN]: _ACL }], () => Owner$]\n];\nexport var AccessControlTranslation$ = [3, n0, _ACT,\n 0,\n [_O],\n [0], 1\n];\nexport var AnalyticsAndOperator$ = [3, n0, _AAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var AnalyticsConfiguration$ = [3, n0, _ACn,\n 0,\n [_I, _SCA, _F],\n [0, () => StorageClassAnalysis$, [() => AnalyticsFilter$, 0]], 2\n];\nexport var AnalyticsExportDestination$ = [3, n0, _AED,\n 0,\n [_SBD],\n [() => AnalyticsS3BucketDestination$], 1\n];\nexport var AnalyticsS3BucketDestination$ = [3, n0, _ASBD,\n 0,\n [_Fo, _B, _BAI, _P],\n [0, 0, 0, 0], 2\n];\nexport var BlockedEncryptionTypes$ = [3, n0, _BET,\n 0,\n [_ET],\n [[() => EncryptionTypeList, { [_xF]: 1 }]]\n];\nexport var Bucket$ = [3, n0, _B,\n 0,\n [_N, _CD, _BR, _BA],\n [0, 4, 0, 0]\n];\nexport var BucketInfo$ = [3, n0, _BI,\n 0,\n [_DR, _Ty],\n [0, 0]\n];\nexport var BucketLifecycleConfiguration$ = [3, n0, _BLC,\n 0,\n [_R],\n [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var BucketLoggingStatus$ = [3, n0, _BLS,\n 0,\n [_LE],\n [[() => LoggingEnabled$, 0]]\n];\nexport var Checksum$ = [3, n0, _C,\n 0,\n [_CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT],\n [0, 0, 0, 0, 0, 0]\n];\nexport var CommonPrefix$ = [3, n0, _CP,\n 0,\n [_P],\n [0]\n];\nexport var CompletedMultipartUpload$ = [3, n0, _CMU,\n 0,\n [_Pa],\n [[() => CompletedPartList, { [_xF]: 1, [_xN]: _Par }]]\n];\nexport var CompletedPart$ = [3, n0, _CPo,\n 0,\n [_ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _PN],\n [0, 0, 0, 0, 0, 0, 1]\n];\nexport var CompleteMultipartUploadOutput$ = [3, n0, _CMUO,\n { [_xN]: _CMUR },\n [_L, _B, _K, _E, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _SSE, _VI, _SSEKMSKI, _BKE, _RC],\n [0, 0, 0, [0, { [_hH]: _xae }], 0, 0, 0, 0, 0, 0, 0, [0, { [_hH]: _xasse }], [0, { [_hH]: _xavi }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var CompleteMultipartUploadRequest$ = [3, n0, _CMURo,\n 0,\n [_B, _K, _UI, _MU, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _MOS, _RP, _EBO, _IM, _INM, _SSECA, _SSECK, _SSECKMD],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [() => CompletedMultipartUpload$, { [_hP]: 1, [_xN]: _CMUo }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [1, { [_hH]: _xamos }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }]], 3\n];\nexport var Condition$ = [3, n0, _Co,\n 0,\n [_HECRE, _KPE],\n [0, 0]\n];\nexport var ContinuationEvent$ = [3, n0, _CE,\n 0,\n [],\n []\n];\nexport var CopyObjectOutput$ = [3, n0, _COO,\n 0,\n [_COR, _E, _CSVI, _VI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC],\n [[() => CopyObjectResult$, 16], [0, { [_hH]: _xae }], [0, { [_hH]: _xacsvi }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var CopyObjectRequest$ = [3, n0, _CORo,\n 0,\n [_B, _CS, _K, _ACL_, _CC, _CA, _CDo, _CEo, _CL, _CTo, _CSIM, _CSIMS, _CSINM, _CSIUS, _Ex, _GFC, _GR, _GRACP, _GWACP, _IM, _INM, _M, _MD, _TD, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO, _ESBO],\n [[0, 1], [0, { [_hH]: _xacs__ }], [0, 1], [0, { [_hH]: _xaa }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _xaca }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _xacsim }], [4, { [_hH]: _xacsims }], [0, { [_hH]: _xacsinm }], [4, { [_hH]: _xacsius }], [4, { [_hH]: _Ex }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xamd }], [0, { [_hH]: _xatd }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH]: _xacssseck }], [0, { [_hH]: _xacssseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasebo }]], 3\n];\nexport var CopyObjectResult$ = [3, n0, _COR,\n 0,\n [_ETa, _LM, _CT, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [0, 4, 0, 0, 0, 0, 0, 0]\n];\nexport var CopyPartResult$ = [3, n0, _CPR,\n 0,\n [_ETa, _LM, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [0, 4, 0, 0, 0, 0, 0]\n];\nexport var CORSConfiguration$ = [3, n0, _CORSC,\n 0,\n [_CORSR],\n [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]], 1\n];\nexport var CORSRule$ = [3, n0, _CORSRu,\n 0,\n [_AM, _AO, _ID, _AH, _EH, _MAS],\n [[64 | 0, { [_xF]: 1, [_xN]: _AMl }], [64 | 0, { [_xF]: 1, [_xN]: _AOl }], 0, [64 | 0, { [_xF]: 1, [_xN]: _AHl }], [64 | 0, { [_xF]: 1, [_xN]: _EHx }], 1], 2\n];\nexport var CreateBucketConfiguration$ = [3, n0, _CBC,\n 0,\n [_LC, _L, _B, _T],\n [0, () => LocationInfo$, () => BucketInfo$, [() => TagSet, 0]]\n];\nexport var CreateBucketMetadataConfigurationRequest$ = [3, n0, _CBMCR,\n 0,\n [_B, _MC, _CMD, _CA, _EBO],\n [[0, 1], [() => MetadataConfiguration$, { [_hP]: 1, [_xN]: _MC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var CreateBucketMetadataTableConfigurationRequest$ = [3, n0, _CBMTCR,\n 0,\n [_B, _MTC, _CMD, _CA, _EBO],\n [[0, 1], [() => MetadataTableConfiguration$, { [_hP]: 1, [_xN]: _MTC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var CreateBucketOutput$ = [3, n0, _CBO,\n 0,\n [_L, _BA],\n [[0, { [_hH]: _L }], [0, { [_hH]: _xaba }]]\n];\nexport var CreateBucketRequest$ = [3, n0, _CBR,\n 0,\n [_B, _ACL_, _CBC, _GFC, _GR, _GRACP, _GW, _GWACP, _OLEFB, _OO, _BN],\n [[0, 1], [0, { [_hH]: _xaa }], [() => CreateBucketConfiguration$, { [_hP]: 1, [_xN]: _CBC }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [2, { [_hH]: _xabole }], [0, { [_hH]: _xaoo }], [0, { [_hH]: _xabn }]], 1\n];\nexport var CreateMultipartUploadOutput$ = [3, n0, _CMUOr,\n { [_xN]: _IMUR },\n [_ADb, _ARI, _B, _K, _UI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC, _CA, _CT],\n [[4, { [_hH]: _xaad }], [0, { [_hH]: _xaari }], [0, { [_xN]: _B }], 0, 0, [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xaca }], [0, { [_hH]: _xact }]]\n];\nexport var CreateMultipartUploadRequest$ = [3, n0, _CMURr,\n 0,\n [_B, _K, _ACL_, _CC, _CDo, _CEo, _CL, _CTo, _Ex, _GFC, _GR, _GRACP, _GWACP, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO, _CA, _CT],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xaca }], [0, { [_hH]: _xact }]], 2\n];\nexport var CreateSessionOutput$ = [3, n0, _CSO,\n { [_xN]: _CSR },\n [_Cr, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE],\n [[() => SessionCredentials$, { [_xN]: _Cr }], [0, { [_hH]: _xasse }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }]], 1\n];\nexport var CreateSessionRequest$ = [3, n0, _CSRr,\n 0,\n [_B, _SM, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE],\n [[0, 1], [0, { [_hH]: _xacsm }], [0, { [_hH]: _xasse }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }]], 1\n];\nexport var CSVInput$ = [3, n0, _CSVIn,\n 0,\n [_FHI, _Com, _QEC, _RD, _FD, _QC, _AQRD],\n [0, 0, 0, 0, 0, 0, 2]\n];\nexport var CSVOutput$ = [3, n0, _CSVO,\n 0,\n [_QF, _QEC, _RD, _FD, _QC],\n [0, 0, 0, 0, 0]\n];\nexport var DefaultRetention$ = [3, n0, _DRe,\n 0,\n [_Mo, _D, _Y],\n [0, 1, 1]\n];\nexport var Delete$ = [3, n0, _De,\n 0,\n [_Ob, _Q],\n [[() => ObjectIdentifierList, { [_xF]: 1, [_xN]: _Obj }], 2], 1\n];\nexport var DeleteBucketAnalyticsConfigurationRequest$ = [3, n0, _DBACR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketCorsRequest$ = [3, n0, _DBCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketEncryptionRequest$ = [3, n0, _DBER,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketIntelligentTieringConfigurationRequest$ = [3, n0, _DBITCR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketInventoryConfigurationRequest$ = [3, n0, _DBICR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketLifecycleRequest$ = [3, n0, _DBLR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetadataConfigurationRequest$ = [3, n0, _DBMCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetadataTableConfigurationRequest$ = [3, n0, _DBMTCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetricsConfigurationRequest$ = [3, n0, _DBMCRe,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketOwnershipControlsRequest$ = [3, n0, _DBOCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketPolicyRequest$ = [3, n0, _DBPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketReplicationRequest$ = [3, n0, _DBRR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketRequest$ = [3, n0, _DBR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketTaggingRequest$ = [3, n0, _DBTR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketWebsiteRequest$ = [3, n0, _DBWR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeletedObject$ = [3, n0, _DO,\n 0,\n [_K, _VI, _DM, _DMVI],\n [0, 0, 2, 0]\n];\nexport var DeleteMarkerEntry$ = [3, n0, _DME,\n 0,\n [_O, _K, _VI, _IL, _LM],\n [() => Owner$, 0, 0, 2, 4]\n];\nexport var DeleteMarkerReplication$ = [3, n0, _DMR,\n 0,\n [_S],\n [0]\n];\nexport var DeleteObjectOutput$ = [3, n0, _DOO,\n 0,\n [_DM, _VI, _RC],\n [[2, { [_hH]: _xadm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xarc }]]\n];\nexport var DeleteObjectRequest$ = [3, n0, _DOR,\n 0,\n [_B, _K, _MFA, _VI, _RP, _BGR, _EBO, _IM, _IMLMT, _IMS],\n [[0, 1], [0, 1], [0, { [_hH]: _xam_ }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _IM_ }], [6, { [_hH]: _xaimlmt }], [1, { [_hH]: _xaims }]], 2\n];\nexport var DeleteObjectsOutput$ = [3, n0, _DOOe,\n { [_xN]: _DRel },\n [_Del, _RC, _Er],\n [[() => DeletedObjects, { [_xF]: 1 }], [0, { [_hH]: _xarc }], [() => Errors, { [_xF]: 1, [_xN]: _Err }]]\n];\nexport var DeleteObjectsRequest$ = [3, n0, _DORe,\n 0,\n [_B, _De, _MFA, _RP, _BGR, _EBO, _CA],\n [[0, 1], [() => Delete$, { [_hP]: 1, [_xN]: _De }], [0, { [_hH]: _xam_ }], [0, { [_hH]: _xarp }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var DeleteObjectTaggingOutput$ = [3, n0, _DOTO,\n 0,\n [_VI],\n [[0, { [_hH]: _xavi }]]\n];\nexport var DeleteObjectTaggingRequest$ = [3, n0, _DOTR,\n 0,\n [_B, _K, _VI, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeletePublicAccessBlockRequest$ = [3, n0, _DPABR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var Destination$ = [3, n0, _Des,\n 0,\n [_B, _A, _SC, _ACT, _EC, _RT, _Me],\n [0, 0, 0, () => AccessControlTranslation$, () => EncryptionConfiguration$, () => ReplicationTime$, () => Metrics$], 1\n];\nexport var DestinationResult$ = [3, n0, _DRes,\n 0,\n [_TBT, _TBA, _TN],\n [0, 0, 0]\n];\nexport var Encryption$ = [3, n0, _En,\n 0,\n [_ET, _KMSKI, _KMSC],\n [0, [() => SSEKMSKeyId, 0], 0], 1\n];\nexport var EncryptionConfiguration$ = [3, n0, _EC,\n 0,\n [_RKKID],\n [0]\n];\nexport var EndEvent$ = [3, n0, _EE,\n 0,\n [],\n []\n];\nexport var _Error$ = [3, n0, _Err,\n 0,\n [_K, _VI, _Cod, _Mes],\n [0, 0, 0, 0]\n];\nexport var ErrorDetails$ = [3, n0, _ED,\n 0,\n [_ECr, _EM],\n [0, 0]\n];\nexport var ErrorDocument$ = [3, n0, _EDr,\n 0,\n [_K],\n [0], 1\n];\nexport var EventBridgeConfiguration$ = [3, n0, _EBC,\n 0,\n [],\n []\n];\nexport var ExistingObjectReplication$ = [3, n0, _EOR,\n 0,\n [_S],\n [0], 1\n];\nexport var FilterRule$ = [3, n0, _FR,\n 0,\n [_N, _V],\n [0, 0]\n];\nexport var GetBucketAbacOutput$ = [3, n0, _GBAO,\n 0,\n [_AS],\n [[() => AbacStatus$, 16]]\n];\nexport var GetBucketAbacRequest$ = [3, n0, _GBAR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketAccelerateConfigurationOutput$ = [3, n0, _GBACO,\n { [_xN]: _AC },\n [_S, _RC],\n [0, [0, { [_hH]: _xarc }]]\n];\nexport var GetBucketAccelerateConfigurationRequest$ = [3, n0, _GBACR,\n 0,\n [_B, _EBO, _RP],\n [[0, 1], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 1\n];\nexport var GetBucketAclOutput$ = [3, n0, _GBAOe,\n { [_xN]: _ACP },\n [_O, _G],\n [() => Owner$, [() => Grants, { [_xN]: _ACL }]]\n];\nexport var GetBucketAclRequest$ = [3, n0, _GBARe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketAnalyticsConfigurationOutput$ = [3, n0, _GBACOe,\n 0,\n [_ACn],\n [[() => AnalyticsConfiguration$, 16]]\n];\nexport var GetBucketAnalyticsConfigurationRequest$ = [3, n0, _GBACRe,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketCorsOutput$ = [3, n0, _GBCO,\n { [_xN]: _CORSC },\n [_CORSR],\n [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]]\n];\nexport var GetBucketCorsRequest$ = [3, n0, _GBCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketEncryptionOutput$ = [3, n0, _GBEO,\n 0,\n [_SSEC],\n [[() => ServerSideEncryptionConfiguration$, 16]]\n];\nexport var GetBucketEncryptionRequest$ = [3, n0, _GBER,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketIntelligentTieringConfigurationOutput$ = [3, n0, _GBITCO,\n 0,\n [_ITC],\n [[() => IntelligentTieringConfiguration$, 16]]\n];\nexport var GetBucketIntelligentTieringConfigurationRequest$ = [3, n0, _GBITCR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketInventoryConfigurationOutput$ = [3, n0, _GBICO,\n 0,\n [_IC],\n [[() => InventoryConfiguration$, 16]]\n];\nexport var GetBucketInventoryConfigurationRequest$ = [3, n0, _GBICR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketLifecycleConfigurationOutput$ = [3, n0, _GBLCO,\n { [_xN]: _LCi },\n [_R, _TDMOS],\n [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Ru }], [0, { [_hH]: _xatdmos }]]\n];\nexport var GetBucketLifecycleConfigurationRequest$ = [3, n0, _GBLCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketLocationOutput$ = [3, n0, _GBLO,\n { [_xN]: _LC },\n [_LC],\n [0]\n];\nexport var GetBucketLocationRequest$ = [3, n0, _GBLR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketLoggingOutput$ = [3, n0, _GBLOe,\n { [_xN]: _BLS },\n [_LE],\n [[() => LoggingEnabled$, 0]]\n];\nexport var GetBucketLoggingRequest$ = [3, n0, _GBLRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataConfigurationOutput$ = [3, n0, _GBMCO,\n 0,\n [_GBMCR],\n [[() => GetBucketMetadataConfigurationResult$, 16]]\n];\nexport var GetBucketMetadataConfigurationRequest$ = [3, n0, _GBMCRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataConfigurationResult$ = [3, n0, _GBMCR,\n 0,\n [_MCR],\n [() => MetadataConfigurationResult$], 1\n];\nexport var GetBucketMetadataTableConfigurationOutput$ = [3, n0, _GBMTCO,\n 0,\n [_GBMTCR],\n [[() => GetBucketMetadataTableConfigurationResult$, 16]]\n];\nexport var GetBucketMetadataTableConfigurationRequest$ = [3, n0, _GBMTCRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataTableConfigurationResult$ = [3, n0, _GBMTCR,\n 0,\n [_MTCR, _S, _Err],\n [() => MetadataTableConfigurationResult$, 0, () => ErrorDetails$], 2\n];\nexport var GetBucketMetricsConfigurationOutput$ = [3, n0, _GBMCOe,\n 0,\n [_MCe],\n [[() => MetricsConfiguration$, 16]]\n];\nexport var GetBucketMetricsConfigurationRequest$ = [3, n0, _GBMCRet,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketNotificationConfigurationRequest$ = [3, n0, _GBNCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketOwnershipControlsOutput$ = [3, n0, _GBOCO,\n 0,\n [_OC],\n [[() => OwnershipControls$, 16]]\n];\nexport var GetBucketOwnershipControlsRequest$ = [3, n0, _GBOCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketPolicyOutput$ = [3, n0, _GBPO,\n 0,\n [_Po],\n [[0, 16]]\n];\nexport var GetBucketPolicyRequest$ = [3, n0, _GBPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketPolicyStatusOutput$ = [3, n0, _GBPSO,\n 0,\n [_PS],\n [[() => PolicyStatus$, 16]]\n];\nexport var GetBucketPolicyStatusRequest$ = [3, n0, _GBPSR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketReplicationOutput$ = [3, n0, _GBRO,\n 0,\n [_RCe],\n [[() => ReplicationConfiguration$, 16]]\n];\nexport var GetBucketReplicationRequest$ = [3, n0, _GBRR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketRequestPaymentOutput$ = [3, n0, _GBRPO,\n { [_xN]: _RPC },\n [_Pay],\n [0]\n];\nexport var GetBucketRequestPaymentRequest$ = [3, n0, _GBRPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketTaggingOutput$ = [3, n0, _GBTO,\n { [_xN]: _Tag },\n [_TS],\n [[() => TagSet, 0]], 1\n];\nexport var GetBucketTaggingRequest$ = [3, n0, _GBTR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketVersioningOutput$ = [3, n0, _GBVO,\n { [_xN]: _VC },\n [_S, _MFAD],\n [0, [0, { [_xN]: _MDf }]]\n];\nexport var GetBucketVersioningRequest$ = [3, n0, _GBVR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketWebsiteOutput$ = [3, n0, _GBWO,\n { [_xN]: _WC },\n [_RART, _IDn, _EDr, _RR],\n [() => RedirectAllRequestsTo$, () => IndexDocument$, () => ErrorDocument$, [() => RoutingRules, 0]]\n];\nexport var GetBucketWebsiteRequest$ = [3, n0, _GBWR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetObjectAclOutput$ = [3, n0, _GOAO,\n { [_xN]: _ACP },\n [_O, _G, _RC],\n [() => Owner$, [() => Grants, { [_xN]: _ACL }], [0, { [_hH]: _xarc }]]\n];\nexport var GetObjectAclRequest$ = [3, n0, _GOAR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectAttributesOutput$ = [3, n0, _GOAOe,\n { [_xN]: _GOARe },\n [_DM, _LM, _VI, _RC, _ETa, _C, _OP, _SC, _OS],\n [[2, { [_hH]: _xadm }], [4, { [_hH]: _LM_ }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xarc }], 0, () => Checksum$, [() => GetObjectAttributesParts$, 0], 0, 1]\n];\nexport var GetObjectAttributesParts$ = [3, n0, _GOAP,\n 0,\n [_TPC, _PNM, _NPNM, _MP, _IT, _Pa],\n [[1, { [_xN]: _PC }], 0, 0, 1, 2, [() => PartsList, { [_xF]: 1, [_xN]: _Par }]]\n];\nexport var GetObjectAttributesRequest$ = [3, n0, _GOARet,\n 0,\n [_B, _K, _OA, _VI, _MP, _PNM, _SSECA, _SSECK, _SSECKMD, _RP, _EBO],\n [[0, 1], [0, 1], [64 | 0, { [_hH]: _xaoa }], [0, { [_hQ]: _vI }], [1, { [_hH]: _xamp }], [0, { [_hH]: _xapnm }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var GetObjectLegalHoldOutput$ = [3, n0, _GOLHO,\n 0,\n [_LH],\n [[() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }]]\n];\nexport var GetObjectLegalHoldRequest$ = [3, n0, _GOLHR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectLockConfigurationOutput$ = [3, n0, _GOLCO,\n 0,\n [_OLC],\n [[() => ObjectLockConfiguration$, 16]]\n];\nexport var GetObjectLockConfigurationRequest$ = [3, n0, _GOLCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetObjectOutput$ = [3, n0, _GOO,\n 0,\n [_Bo, _DM, _AR, _E, _Re, _LM, _CLo, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _MM, _VI, _CC, _CDo, _CEo, _CL, _CR, _CTo, _Ex, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC, _RS, _PC, _TC, _OLM, _OLRUD, _OLLHS],\n [[() => StreamingBlob, 16], [2, { [_hH]: _xadm }], [0, { [_hH]: _ar }], [0, { [_hH]: _xae }], [0, { [_hH]: _xar }], [4, { [_hH]: _LM_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [1, { [_hH]: _xamm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CR_ }], [0, { [_hH]: _CT_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _ES }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xars }], [1, { [_hH]: _xampc }], [1, { [_hH]: _xatc }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }]]\n];\nexport var GetObjectRequest$ = [3, n0, _GOR,\n 0,\n [_B, _K, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh],\n [[0, 1], [0, 1], [0, { [_hH]: _IM_ }], [4, { [_hH]: _IMS_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _Ra }], [0, { [_hQ]: _rcc }], [0, { [_hQ]: _rcd }], [0, { [_hQ]: _rce }], [0, { [_hQ]: _rcl }], [0, { [_hQ]: _rct }], [6, { [_hQ]: _re }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [1, { [_hQ]: _pN }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xacm }]], 2\n];\nexport var GetObjectRetentionOutput$ = [3, n0, _GORO,\n 0,\n [_Ret],\n [[() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }]]\n];\nexport var GetObjectRetentionRequest$ = [3, n0, _GORR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectTaggingOutput$ = [3, n0, _GOTO,\n { [_xN]: _Tag },\n [_TS, _VI],\n [[() => TagSet, 0], [0, { [_hH]: _xavi }]], 1\n];\nexport var GetObjectTaggingRequest$ = [3, n0, _GOTR,\n 0,\n [_B, _K, _VI, _EBO, _RP],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 2\n];\nexport var GetObjectTorrentOutput$ = [3, n0, _GOTOe,\n 0,\n [_Bo, _RC],\n [[() => StreamingBlob, 16], [0, { [_hH]: _xarc }]]\n];\nexport var GetObjectTorrentRequest$ = [3, n0, _GOTRe,\n 0,\n [_B, _K, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetPublicAccessBlockOutput$ = [3, n0, _GPABO,\n 0,\n [_PABC],\n [[() => PublicAccessBlockConfiguration$, 16]]\n];\nexport var GetPublicAccessBlockRequest$ = [3, n0, _GPABR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GlacierJobParameters$ = [3, n0, _GJP,\n 0,\n [_Ti],\n [0], 1\n];\nexport var Grant$ = [3, n0, _Gr,\n 0,\n [_Gra, _Pe],\n [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0]\n];\nexport var Grantee$ = [3, n0, _Gra,\n 0,\n [_Ty, _DN, _EA, _ID, _URI],\n [[0, { [_xA]: 1, [_xN]: _xs }], 0, 0, 0, 0], 1\n];\nexport var HeadBucketOutput$ = [3, n0, _HBO,\n 0,\n [_BA, _BLT, _BLN, _BR, _APA],\n [[0, { [_hH]: _xaba }], [0, { [_hH]: _xablt }], [0, { [_hH]: _xabln }], [0, { [_hH]: _xabr }], [2, { [_hH]: _xaapa }]]\n];\nexport var HeadBucketRequest$ = [3, n0, _HBR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var HeadObjectOutput$ = [3, n0, _HOO,\n 0,\n [_DM, _AR, _E, _Re, _ASr, _LM, _CLo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _ETa, _MM, _VI, _CC, _CDo, _CEo, _CL, _CTo, _CR, _Ex, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC, _RS, _PC, _TC, _OLM, _OLRUD, _OLLHS],\n [[2, { [_hH]: _xadm }], [0, { [_hH]: _ar }], [0, { [_hH]: _xae }], [0, { [_hH]: _xar }], [0, { [_hH]: _xaas }], [4, { [_hH]: _LM_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [0, { [_hH]: _ETa }], [1, { [_hH]: _xamm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _CR_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _ES }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xars }], [1, { [_hH]: _xampc }], [1, { [_hH]: _xatc }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }]]\n];\nexport var HeadObjectRequest$ = [3, n0, _HOR,\n 0,\n [_B, _K, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh],\n [[0, 1], [0, 1], [0, { [_hH]: _IM_ }], [4, { [_hH]: _IMS_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _Ra }], [0, { [_hQ]: _rcc }], [0, { [_hQ]: _rcd }], [0, { [_hQ]: _rce }], [0, { [_hQ]: _rcl }], [0, { [_hQ]: _rct }], [6, { [_hQ]: _re }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [1, { [_hQ]: _pN }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xacm }]], 2\n];\nexport var IndexDocument$ = [3, n0, _IDn,\n 0,\n [_Su],\n [0], 1\n];\nexport var Initiator$ = [3, n0, _In,\n 0,\n [_ID, _DN],\n [0, 0]\n];\nexport var InputSerialization$ = [3, n0, _IS,\n 0,\n [_CSV, _CTom, _JSON, _Parq],\n [() => CSVInput$, 0, () => JSONInput$, () => ParquetInput$]\n];\nexport var IntelligentTieringAndOperator$ = [3, n0, _ITAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var IntelligentTieringConfiguration$ = [3, n0, _ITC,\n 0,\n [_I, _S, _Tie, _F],\n [0, 0, [() => TieringList, { [_xF]: 1, [_xN]: _Tier }], [() => IntelligentTieringFilter$, 0]], 3\n];\nexport var IntelligentTieringFilter$ = [3, n0, _ITF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => IntelligentTieringAndOperator$, 0]]\n];\nexport var InventoryConfiguration$ = [3, n0, _IC,\n 0,\n [_Des, _IE, _I, _IOV, _Sc, _F, _OF],\n [[() => InventoryDestination$, 0], 2, 0, 0, () => InventorySchedule$, () => InventoryFilter$, [() => InventoryOptionalFields, 0]], 5\n];\nexport var InventoryDestination$ = [3, n0, _IDnv,\n 0,\n [_SBD],\n [[() => InventoryS3BucketDestination$, 0]], 1\n];\nexport var InventoryEncryption$ = [3, n0, _IEn,\n 0,\n [_SSES, _SSEKMS],\n [[() => SSES3$, { [_xN]: _SS }], [() => SSEKMS$, { [_xN]: _SK }]]\n];\nexport var InventoryFilter$ = [3, n0, _IF,\n 0,\n [_P],\n [0], 1\n];\nexport var InventoryS3BucketDestination$ = [3, n0, _ISBD,\n 0,\n [_B, _Fo, _AI, _P, _En],\n [0, 0, 0, 0, [() => InventoryEncryption$, 0]], 2\n];\nexport var InventorySchedule$ = [3, n0, _ISn,\n 0,\n [_Fr],\n [0], 1\n];\nexport var InventoryTableConfiguration$ = [3, n0, _ITCn,\n 0,\n [_CSo, _EC],\n [0, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var InventoryTableConfigurationResult$ = [3, n0, _ITCR,\n 0,\n [_CSo, _TSa, _Err, _TNa, _TA],\n [0, 0, () => ErrorDetails$, 0, 0], 1\n];\nexport var InventoryTableConfigurationUpdates$ = [3, n0, _ITCU,\n 0,\n [_CSo, _EC],\n [0, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var JournalTableConfiguration$ = [3, n0, _JTC,\n 0,\n [_REe, _EC],\n [() => RecordExpiration$, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var JournalTableConfigurationResult$ = [3, n0, _JTCR,\n 0,\n [_TSa, _TNa, _REe, _Err, _TA],\n [0, 0, () => RecordExpiration$, () => ErrorDetails$, 0], 3\n];\nexport var JournalTableConfigurationUpdates$ = [3, n0, _JTCU,\n 0,\n [_REe],\n [() => RecordExpiration$], 1\n];\nexport var JSONInput$ = [3, n0, _JSONI,\n 0,\n [_Ty],\n [0]\n];\nexport var JSONOutput$ = [3, n0, _JSONO,\n 0,\n [_RD],\n [0]\n];\nexport var LambdaFunctionConfiguration$ = [3, n0, _LFC,\n 0,\n [_LFA, _Ev, _I, _F],\n [[0, { [_xN]: _CF }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var LifecycleExpiration$ = [3, n0, _LEi,\n 0,\n [_Da, _D, _EODM],\n [5, 1, 2]\n];\nexport var LifecycleRule$ = [3, n0, _LR,\n 0,\n [_S, _E, _ID, _P, _F, _Tr, _NVT, _NVE, _AIMU],\n [0, () => LifecycleExpiration$, 0, 0, [() => LifecycleRuleFilter$, 0], [() => TransitionList, { [_xF]: 1, [_xN]: _Tra }], [() => NoncurrentVersionTransitionList, { [_xF]: 1, [_xN]: _NVTo }], () => NoncurrentVersionExpiration$, () => AbortIncompleteMultipartUpload$], 1\n];\nexport var LifecycleRuleAndOperator$ = [3, n0, _LRAO,\n 0,\n [_P, _T, _OSGT, _OSLT],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }], 1, 1]\n];\nexport var LifecycleRuleFilter$ = [3, n0, _LRF,\n 0,\n [_P, _Ta, _OSGT, _OSLT, _An],\n [0, () => Tag$, 1, 1, [() => LifecycleRuleAndOperator$, 0]]\n];\nexport var ListBucketAnalyticsConfigurationsOutput$ = [3, n0, _LBACO,\n { [_xN]: _LBACR },\n [_IT, _CTon, _NCT, _ACLn],\n [2, 0, 0, [() => AnalyticsConfigurationList, { [_xF]: 1, [_xN]: _ACn }]]\n];\nexport var ListBucketAnalyticsConfigurationsRequest$ = [3, n0, _LBACRi,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketIntelligentTieringConfigurationsOutput$ = [3, n0, _LBITCO,\n 0,\n [_IT, _CTon, _NCT, _ITCL],\n [2, 0, 0, [() => IntelligentTieringConfigurationList, { [_xF]: 1, [_xN]: _ITC }]]\n];\nexport var ListBucketIntelligentTieringConfigurationsRequest$ = [3, n0, _LBITCR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketInventoryConfigurationsOutput$ = [3, n0, _LBICO,\n { [_xN]: _LICR },\n [_CTon, _ICL, _IT, _NCT],\n [0, [() => InventoryConfigurationList, { [_xF]: 1, [_xN]: _IC }], 2, 0]\n];\nexport var ListBucketInventoryConfigurationsRequest$ = [3, n0, _LBICR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketMetricsConfigurationsOutput$ = [3, n0, _LBMCO,\n { [_xN]: _LMCR },\n [_IT, _CTon, _NCT, _MCL],\n [2, 0, 0, [() => MetricsConfigurationList, { [_xF]: 1, [_xN]: _MCe }]]\n];\nexport var ListBucketMetricsConfigurationsRequest$ = [3, n0, _LBMCR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketsOutput$ = [3, n0, _LBO,\n { [_xN]: _LAMBR },\n [_Bu, _O, _CTon, _P],\n [[() => Buckets, 0], () => Owner$, 0, 0]\n];\nexport var ListBucketsRequest$ = [3, n0, _LBR,\n 0,\n [_MB, _CTon, _P, _BR],\n [[1, { [_hQ]: _mb }], [0, { [_hQ]: _ct }], [0, { [_hQ]: _p }], [0, { [_hQ]: _br }]]\n];\nexport var ListDirectoryBucketsOutput$ = [3, n0, _LDBO,\n { [_xN]: _LAMDBR },\n [_Bu, _CTon],\n [[() => Buckets, 0], 0]\n];\nexport var ListDirectoryBucketsRequest$ = [3, n0, _LDBR,\n 0,\n [_CTon, _MDB],\n [[0, { [_hQ]: _ct }], [1, { [_hQ]: _mdb }]]\n];\nexport var ListMultipartUploadsOutput$ = [3, n0, _LMUO,\n { [_xN]: _LMUR },\n [_B, _KM, _UIM, _NKM, _P, _Deli, _NUIM, _MUa, _IT, _U, _CPom, _ETn, _RC],\n [0, 0, 0, 0, 0, 0, 0, 1, 2, [() => MultipartUploadList, { [_xF]: 1, [_xN]: _Up }], [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListMultipartUploadsRequest$ = [3, n0, _LMURi,\n 0,\n [_B, _Deli, _ETn, _KM, _MUa, _P, _UIM, _EBO, _RP],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _km }], [1, { [_hQ]: _mu }], [0, { [_hQ]: _p }], [0, { [_hQ]: _uim }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 1\n];\nexport var ListObjectsOutput$ = [3, n0, _LOO,\n { [_xN]: _LBRi },\n [_IT, _Ma, _NM, _Con, _N, _P, _Deli, _MK, _CPom, _ETn, _RC],\n [2, 0, 0, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectsRequest$ = [3, n0, _LOR,\n 0,\n [_B, _Deli, _ETn, _Ma, _MK, _P, _RP, _EBO, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _m }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListObjectsV2Output$ = [3, n0, _LOVO,\n { [_xN]: _LBRi },\n [_IT, _Con, _N, _P, _Deli, _MK, _CPom, _ETn, _KC, _CTon, _NCT, _SA, _RC],\n [2, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, 1, 0, 0, 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectsV2Request$ = [3, n0, _LOVR,\n 0,\n [_B, _Deli, _ETn, _MK, _P, _CTon, _FO, _SA, _RP, _EBO, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hQ]: _ct }], [2, { [_hQ]: _fo }], [0, { [_hQ]: _sa }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListObjectVersionsOutput$ = [3, n0, _LOVOi,\n { [_xN]: _LVR },\n [_IT, _KM, _VIM, _NKM, _NVIM, _Ve, _DMe, _N, _P, _Deli, _MK, _CPom, _ETn, _RC],\n [2, 0, 0, 0, 0, [() => ObjectVersionList, { [_xF]: 1, [_xN]: _Ver }], [() => DeleteMarkers, { [_xF]: 1, [_xN]: _DM }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectVersionsRequest$ = [3, n0, _LOVRi,\n 0,\n [_B, _Deli, _ETn, _KM, _MK, _P, _VIM, _EBO, _RP, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _km }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hQ]: _vim }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListPartsOutput$ = [3, n0, _LPO,\n { [_xN]: _LPR },\n [_ADb, _ARI, _B, _K, _UI, _PNM, _NPNM, _MP, _IT, _Pa, _In, _O, _SC, _RC, _CA, _CT],\n [[4, { [_hH]: _xaad }], [0, { [_hH]: _xaari }], 0, 0, 0, 0, 0, 1, 2, [() => Parts, { [_xF]: 1, [_xN]: _Par }], () => Initiator$, () => Owner$, 0, [0, { [_hH]: _xarc }], 0, 0]\n];\nexport var ListPartsRequest$ = [3, n0, _LPRi,\n 0,\n [_B, _K, _UI, _MP, _PNM, _RP, _EBO, _SSECA, _SSECK, _SSECKMD],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [1, { [_hQ]: _mp }], [0, { [_hQ]: _pnm }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }]], 3\n];\nexport var LocationInfo$ = [3, n0, _LI,\n 0,\n [_Ty, _N],\n [0, 0]\n];\nexport var LoggingEnabled$ = [3, n0, _LE,\n 0,\n [_TB, _TP, _TG, _TOKF],\n [0, 0, [() => TargetGrants, 0], [() => TargetObjectKeyFormat$, 0]], 2\n];\nexport var MetadataConfiguration$ = [3, n0, _MC,\n 0,\n [_JTC, _ITCn],\n [() => JournalTableConfiguration$, () => InventoryTableConfiguration$], 1\n];\nexport var MetadataConfigurationResult$ = [3, n0, _MCR,\n 0,\n [_DRes, _JTCR, _ITCR],\n [() => DestinationResult$, () => JournalTableConfigurationResult$, () => InventoryTableConfigurationResult$], 1\n];\nexport var MetadataEntry$ = [3, n0, _ME,\n 0,\n [_N, _V],\n [0, 0]\n];\nexport var MetadataTableConfiguration$ = [3, n0, _MTC,\n 0,\n [_STD],\n [() => S3TablesDestination$], 1\n];\nexport var MetadataTableConfigurationResult$ = [3, n0, _MTCR,\n 0,\n [_STDR],\n [() => S3TablesDestinationResult$], 1\n];\nexport var MetadataTableEncryptionConfiguration$ = [3, n0, _MTEC,\n 0,\n [_SAs, _KKA],\n [0, 0], 1\n];\nexport var Metrics$ = [3, n0, _Me,\n 0,\n [_S, _ETv],\n [0, () => ReplicationTimeValue$], 1\n];\nexport var MetricsAndOperator$ = [3, n0, _MAO,\n 0,\n [_P, _T, _APAc],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }], 0]\n];\nexport var MetricsConfiguration$ = [3, n0, _MCe,\n 0,\n [_I, _F],\n [0, [() => MetricsFilter$, 0]], 1\n];\nexport var MultipartUpload$ = [3, n0, _MU,\n 0,\n [_UI, _K, _Ini, _SC, _O, _In, _CA, _CT],\n [0, 0, 4, 0, () => Owner$, () => Initiator$, 0, 0]\n];\nexport var NoncurrentVersionExpiration$ = [3, n0, _NVE,\n 0,\n [_ND, _NNV],\n [1, 1]\n];\nexport var NoncurrentVersionTransition$ = [3, n0, _NVTo,\n 0,\n [_ND, _SC, _NNV],\n [1, 0, 1]\n];\nexport var NotificationConfiguration$ = [3, n0, _NC,\n 0,\n [_TCo, _QCu, _LFCa, _EBC],\n [[() => TopicConfigurationList, { [_xF]: 1, [_xN]: _TCop }], [() => QueueConfigurationList, { [_xF]: 1, [_xN]: _QCue }], [() => LambdaFunctionConfigurationList, { [_xF]: 1, [_xN]: _CFC }], () => EventBridgeConfiguration$]\n];\nexport var NotificationConfigurationFilter$ = [3, n0, _NCF,\n 0,\n [_K],\n [[() => S3KeyFilter$, { [_xN]: _SKe }]]\n];\nexport var _Object$ = [3, n0, _Obj,\n 0,\n [_K, _LM, _ETa, _CA, _CT, _Si, _SC, _O, _RSe],\n [0, 4, 0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, () => Owner$, () => RestoreStatus$]\n];\nexport var ObjectIdentifier$ = [3, n0, _OI,\n 0,\n [_K, _VI, _ETa, _LMT, _Si],\n [0, 0, 0, 6, 1], 1\n];\nexport var ObjectLockConfiguration$ = [3, n0, _OLC,\n 0,\n [_OLE, _Ru],\n [0, () => ObjectLockRule$]\n];\nexport var ObjectLockLegalHold$ = [3, n0, _OLLH,\n 0,\n [_S],\n [0]\n];\nexport var ObjectLockRetention$ = [3, n0, _OLR,\n 0,\n [_Mo, _RUD],\n [0, 5]\n];\nexport var ObjectLockRule$ = [3, n0, _OLRb,\n 0,\n [_DRe],\n [() => DefaultRetention$]\n];\nexport var ObjectPart$ = [3, n0, _OPb,\n 0,\n [_PN, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [1, 1, 0, 0, 0, 0, 0]\n];\nexport var ObjectVersion$ = [3, n0, _OV,\n 0,\n [_ETa, _CA, _CT, _Si, _SC, _K, _VI, _IL, _LM, _O, _RSe],\n [0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, 0, 0, 2, 4, () => Owner$, () => RestoreStatus$]\n];\nexport var OutputLocation$ = [3, n0, _OL,\n 0,\n [_S_],\n [[() => S3Location$, 0]]\n];\nexport var OutputSerialization$ = [3, n0, _OSu,\n 0,\n [_CSV, _JSON],\n [() => CSVOutput$, () => JSONOutput$]\n];\nexport var Owner$ = [3, n0, _O,\n 0,\n [_DN, _ID],\n [0, 0]\n];\nexport var OwnershipControls$ = [3, n0, _OC,\n 0,\n [_R],\n [[() => OwnershipControlsRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var OwnershipControlsRule$ = [3, n0, _OCR,\n 0,\n [_OO],\n [0], 1\n];\nexport var ParquetInput$ = [3, n0, _PI,\n 0,\n [],\n []\n];\nexport var Part$ = [3, n0, _Par,\n 0,\n [_PN, _LM, _ETa, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [1, 4, 0, 1, 0, 0, 0, 0, 0]\n];\nexport var PartitionedPrefix$ = [3, n0, _PP,\n { [_xN]: _PP },\n [_PDS],\n [0]\n];\nexport var PolicyStatus$ = [3, n0, _PS,\n 0,\n [_IP],\n [[2, { [_xN]: _IP }]]\n];\nexport var Progress$ = [3, n0, _Pr,\n 0,\n [_BS, _BP, _BRy],\n [1, 1, 1]\n];\nexport var ProgressEvent$ = [3, n0, _PE,\n 0,\n [_Det],\n [[() => Progress$, { [_eP]: 1 }]]\n];\nexport var PublicAccessBlockConfiguration$ = [3, n0, _PABC,\n 0,\n [_BPA, _IPA, _BPP, _RPB],\n [[2, { [_xN]: _BPA }], [2, { [_xN]: _IPA }], [2, { [_xN]: _BPP }], [2, { [_xN]: _RPB }]]\n];\nexport var PutBucketAbacRequest$ = [3, n0, _PBAR,\n 0,\n [_B, _AS, _CMD, _CA, _EBO],\n [[0, 1], [() => AbacStatus$, { [_hP]: 1, [_xN]: _AS }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketAccelerateConfigurationRequest$ = [3, n0, _PBACR,\n 0,\n [_B, _AC, _EBO, _CA],\n [[0, 1], [() => AccelerateConfiguration$, { [_hP]: 1, [_xN]: _AC }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var PutBucketAclRequest$ = [3, n0, _PBARu,\n 0,\n [_B, _ACL_, _ACP, _CMD, _CA, _GFC, _GR, _GRACP, _GW, _GWACP, _EBO],\n [[0, 1], [0, { [_hH]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var PutBucketAnalyticsConfigurationRequest$ = [3, n0, _PBACRu,\n 0,\n [_B, _I, _ACn, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => AnalyticsConfiguration$, { [_hP]: 1, [_xN]: _ACn }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketCorsRequest$ = [3, n0, _PBCR,\n 0,\n [_B, _CORSC, _CMD, _CA, _EBO],\n [[0, 1], [() => CORSConfiguration$, { [_hP]: 1, [_xN]: _CORSC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketEncryptionRequest$ = [3, n0, _PBER,\n 0,\n [_B, _SSEC, _CMD, _CA, _EBO],\n [[0, 1], [() => ServerSideEncryptionConfiguration$, { [_hP]: 1, [_xN]: _SSEC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketIntelligentTieringConfigurationRequest$ = [3, n0, _PBITCR,\n 0,\n [_B, _I, _ITC, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => IntelligentTieringConfiguration$, { [_hP]: 1, [_xN]: _ITC }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketInventoryConfigurationRequest$ = [3, n0, _PBICR,\n 0,\n [_B, _I, _IC, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => InventoryConfiguration$, { [_hP]: 1, [_xN]: _IC }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketLifecycleConfigurationOutput$ = [3, n0, _PBLCO,\n 0,\n [_TDMOS],\n [[0, { [_hH]: _xatdmos }]]\n];\nexport var PutBucketLifecycleConfigurationRequest$ = [3, n0, _PBLCR,\n 0,\n [_B, _CA, _LCi, _EBO, _TDMOS],\n [[0, 1], [0, { [_hH]: _xasca }], [() => BucketLifecycleConfiguration$, { [_hP]: 1, [_xN]: _LCi }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xatdmos }]], 1\n];\nexport var PutBucketLoggingRequest$ = [3, n0, _PBLR,\n 0,\n [_B, _BLS, _CMD, _CA, _EBO],\n [[0, 1], [() => BucketLoggingStatus$, { [_hP]: 1, [_xN]: _BLS }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketMetricsConfigurationRequest$ = [3, n0, _PBMCR,\n 0,\n [_B, _I, _MCe, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => MetricsConfiguration$, { [_hP]: 1, [_xN]: _MCe }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketNotificationConfigurationRequest$ = [3, n0, _PBNCR,\n 0,\n [_B, _NC, _EBO, _SDV],\n [[0, 1], [() => NotificationConfiguration$, { [_hP]: 1, [_xN]: _NC }], [0, { [_hH]: _xaebo }], [2, { [_hH]: _xasdv }]], 2\n];\nexport var PutBucketOwnershipControlsRequest$ = [3, n0, _PBOCR,\n 0,\n [_B, _OC, _CMD, _EBO, _CA],\n [[0, 1], [() => OwnershipControls$, { [_hP]: 1, [_xN]: _OC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var PutBucketPolicyRequest$ = [3, n0, _PBPR,\n 0,\n [_B, _Po, _CMD, _CA, _CRSBA, _EBO],\n [[0, 1], [0, 16], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [2, { [_hH]: _xacrsba }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketReplicationRequest$ = [3, n0, _PBRR,\n 0,\n [_B, _RCe, _CMD, _CA, _To, _EBO],\n [[0, 1], [() => ReplicationConfiguration$, { [_hP]: 1, [_xN]: _RCe }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xabolt }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketRequestPaymentRequest$ = [3, n0, _PBRPR,\n 0,\n [_B, _RPC, _CMD, _CA, _EBO],\n [[0, 1], [() => RequestPaymentConfiguration$, { [_hP]: 1, [_xN]: _RPC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketTaggingRequest$ = [3, n0, _PBTR,\n 0,\n [_B, _Tag, _CMD, _CA, _EBO],\n [[0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketVersioningRequest$ = [3, n0, _PBVR,\n 0,\n [_B, _VC, _CMD, _CA, _MFA, _EBO],\n [[0, 1], [() => VersioningConfiguration$, { [_hP]: 1, [_xN]: _VC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xam_ }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketWebsiteRequest$ = [3, n0, _PBWR,\n 0,\n [_B, _WC, _CMD, _CA, _EBO],\n [[0, 1], [() => WebsiteConfiguration$, { [_hP]: 1, [_xN]: _WC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectAclOutput$ = [3, n0, _POAO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectAclRequest$ = [3, n0, _POAR,\n 0,\n [_B, _K, _ACL_, _ACP, _CMD, _CA, _GFC, _GR, _GRACP, _GW, _GWACP, _RP, _VI, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectLegalHoldOutput$ = [3, n0, _POLHO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectLegalHoldRequest$ = [3, n0, _POLHR,\n 0,\n [_B, _K, _LH, _RP, _VI, _CMD, _CA, _EBO],\n [[0, 1], [0, 1], [() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectLockConfigurationOutput$ = [3, n0, _POLCO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectLockConfigurationRequest$ = [3, n0, _POLCR,\n 0,\n [_B, _OLC, _RP, _To, _CMD, _CA, _EBO],\n [[0, 1], [() => ObjectLockConfiguration$, { [_hP]: 1, [_xN]: _OLC }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xabolt }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var PutObjectOutput$ = [3, n0, _POO,\n 0,\n [_E, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _SSE, _VI, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _Si, _RC],\n [[0, { [_hH]: _xae }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [1, { [_hH]: _xaos }], [0, { [_hH]: _xarc }]]\n];\nexport var PutObjectRequest$ = [3, n0, _POR,\n 0,\n [_B, _K, _ACL_, _Bo, _CC, _CDo, _CEo, _CL, _CLo, _CMD, _CTo, _CA, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _Ex, _IM, _INM, _GFC, _GR, _GRACP, _GWACP, _WOB, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [() => StreamingBlob, 16], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _CM }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [1, { [_hH]: _xawob }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectRetentionOutput$ = [3, n0, _PORO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectRetentionRequest$ = [3, n0, _PORR,\n 0,\n [_B, _K, _Ret, _RP, _VI, _BGR, _CMD, _CA, _EBO],\n [[0, 1], [0, 1], [() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectTaggingOutput$ = [3, n0, _POTO,\n 0,\n [_VI],\n [[0, { [_hH]: _xavi }]]\n];\nexport var PutObjectTaggingRequest$ = [3, n0, _POTR,\n 0,\n [_B, _K, _Tag, _VI, _CMD, _CA, _EBO, _RP],\n [[0, 1], [0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hQ]: _vI }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 3\n];\nexport var PutPublicAccessBlockRequest$ = [3, n0, _PPABR,\n 0,\n [_B, _PABC, _CMD, _CA, _EBO],\n [[0, 1], [() => PublicAccessBlockConfiguration$, { [_hP]: 1, [_xN]: _PABC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var QueueConfiguration$ = [3, n0, _QCue,\n 0,\n [_QA, _Ev, _I, _F],\n [[0, { [_xN]: _Qu }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var RecordExpiration$ = [3, n0, _REe,\n 0,\n [_E, _D],\n [0, 1], 1\n];\nexport var RecordsEvent$ = [3, n0, _REec,\n 0,\n [_Payl],\n [[21, { [_eP]: 1 }]]\n];\nexport var Redirect$ = [3, n0, _Red,\n 0,\n [_HN, _HRC, _Pro, _RKPW, _RKW],\n [0, 0, 0, 0, 0]\n];\nexport var RedirectAllRequestsTo$ = [3, n0, _RART,\n 0,\n [_HN, _Pro],\n [0, 0], 1\n];\nexport var RenameObjectOutput$ = [3, n0, _ROO,\n 0,\n [],\n []\n];\nexport var RenameObjectRequest$ = [3, n0, _ROR,\n 0,\n [_B, _K, _RSen, _DIM, _DINM, _DIMS, _DIUS, _SIM, _SINM, _SIMS, _SIUS, _CTl],\n [[0, 1], [0, 1], [0, { [_hH]: _xars_ }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IMS_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _xarsim }], [0, { [_hH]: _xarsinm }], [6, { [_hH]: _xarsims }], [6, { [_hH]: _xarsius }], [0, { [_hH]: _xact_, [_iT]: 1 }]], 3\n];\nexport var ReplicaModifications$ = [3, n0, _RM,\n 0,\n [_S],\n [0], 1\n];\nexport var ReplicationConfiguration$ = [3, n0, _RCe,\n 0,\n [_Ro, _R],\n [0, [() => ReplicationRules, { [_xF]: 1, [_xN]: _Ru }]], 2\n];\nexport var ReplicationRule$ = [3, n0, _RRe,\n 0,\n [_S, _Des, _ID, _Pri, _P, _F, _SSC, _EOR, _DMR],\n [0, () => Destination$, 0, 1, 0, [() => ReplicationRuleFilter$, 0], () => SourceSelectionCriteria$, () => ExistingObjectReplication$, () => DeleteMarkerReplication$], 2\n];\nexport var ReplicationRuleAndOperator$ = [3, n0, _RRAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var ReplicationRuleFilter$ = [3, n0, _RRF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => ReplicationRuleAndOperator$, 0]]\n];\nexport var ReplicationTime$ = [3, n0, _RT,\n 0,\n [_S, _Tim],\n [0, () => ReplicationTimeValue$], 2\n];\nexport var ReplicationTimeValue$ = [3, n0, _RTV,\n 0,\n [_Mi],\n [1]\n];\nexport var RequestPaymentConfiguration$ = [3, n0, _RPC,\n 0,\n [_Pay],\n [0], 1\n];\nexport var RequestProgress$ = [3, n0, _RPe,\n 0,\n [_Ena],\n [2]\n];\nexport var RestoreObjectOutput$ = [3, n0, _ROOe,\n 0,\n [_RC, _ROP],\n [[0, { [_hH]: _xarc }], [0, { [_hH]: _xarop }]]\n];\nexport var RestoreObjectRequest$ = [3, n0, _RORe,\n 0,\n [_B, _K, _VI, _RRes, _RP, _CA, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [() => RestoreRequest$, { [_hP]: 1, [_xN]: _RRes }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var RestoreRequest$ = [3, n0, _RRes,\n 0,\n [_D, _GJP, _Ty, _Ti, _Desc, _SP, _OL],\n [1, () => GlacierJobParameters$, 0, 0, 0, () => SelectParameters$, [() => OutputLocation$, 0]]\n];\nexport var RestoreStatus$ = [3, n0, _RSe,\n 0,\n [_IRIP, _RED],\n [2, 4]\n];\nexport var RoutingRule$ = [3, n0, _RRo,\n 0,\n [_Red, _Co],\n [() => Redirect$, () => Condition$], 1\n];\nexport var S3KeyFilter$ = [3, n0, _SKF,\n 0,\n [_FRi],\n [[() => FilterRuleList, { [_xF]: 1, [_xN]: _FR }]]\n];\nexport var S3Location$ = [3, n0, _SL,\n 0,\n [_BNu, _P, _En, _CACL, _ACL, _Tag, _UM, _SC],\n [0, 0, [() => Encryption$, 0], 0, [() => Grants, 0], [() => Tagging$, 0], [() => UserMetadata, 0], 0], 2\n];\nexport var S3TablesDestination$ = [3, n0, _STD,\n 0,\n [_TBA, _TNa],\n [0, 0], 2\n];\nexport var S3TablesDestinationResult$ = [3, n0, _STDR,\n 0,\n [_TBA, _TNa, _TA, _TN],\n [0, 0, 0, 0], 4\n];\nexport var ScanRange$ = [3, n0, _SR,\n 0,\n [_St, _End],\n [1, 1]\n];\nexport var SelectObjectContentOutput$ = [3, n0, _SOCO,\n 0,\n [_Payl],\n [[() => SelectObjectContentEventStream$, 16]]\n];\nexport var SelectObjectContentRequest$ = [3, n0, _SOCR,\n 0,\n [_B, _K, _Exp, _ETx, _IS, _OSu, _SSECA, _SSECK, _SSECKMD, _RPe, _SR, _EBO],\n [[0, 1], [0, 1], 0, 0, () => InputSerialization$, () => OutputSerialization$, [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], () => RequestProgress$, () => ScanRange$, [0, { [_hH]: _xaebo }]], 6\n];\nexport var SelectParameters$ = [3, n0, _SP,\n 0,\n [_IS, _ETx, _Exp, _OSu],\n [() => InputSerialization$, 0, 0, () => OutputSerialization$], 4\n];\nexport var ServerSideEncryptionByDefault$ = [3, n0, _SSEBD,\n 0,\n [_SSEA, _KMSMKID],\n [0, [() => SSEKMSKeyId, 0]], 1\n];\nexport var ServerSideEncryptionConfiguration$ = [3, n0, _SSEC,\n 0,\n [_R],\n [[() => ServerSideEncryptionRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var ServerSideEncryptionRule$ = [3, n0, _SSER,\n 0,\n [_ASSEBD, _BKE, _BET],\n [[() => ServerSideEncryptionByDefault$, 0], 2, [() => BlockedEncryptionTypes$, 0]]\n];\nexport var SessionCredentials$ = [3, n0, _SCe,\n 0,\n [_AKI, _SAK, _ST, _E],\n [[0, { [_xN]: _AKI }], [() => SessionCredentialValue, { [_xN]: _SAK }], [() => SessionCredentialValue, { [_xN]: _ST }], [4, { [_xN]: _E }]], 4\n];\nexport var SimplePrefix$ = [3, n0, _SPi,\n { [_xN]: _SPi },\n [],\n []\n];\nexport var SourceSelectionCriteria$ = [3, n0, _SSC,\n 0,\n [_SKEO, _RM],\n [() => SseKmsEncryptedObjects$, () => ReplicaModifications$]\n];\nexport var SSEKMS$ = [3, n0, _SSEKMS,\n { [_xN]: _SK },\n [_KI],\n [[() => SSEKMSKeyId, 0]], 1\n];\nexport var SseKmsEncryptedObjects$ = [3, n0, _SKEO,\n 0,\n [_S],\n [0], 1\n];\nexport var SSEKMSEncryption$ = [3, n0, _SSEKMSE,\n { [_xN]: _SK },\n [_KMSKA, _BKE],\n [[() => NonEmptyKmsKeyArnString, 0], 2], 1\n];\nexport var SSES3$ = [3, n0, _SSES,\n { [_xN]: _SS },\n [],\n []\n];\nexport var Stats$ = [3, n0, _Sta,\n 0,\n [_BS, _BP, _BRy],\n [1, 1, 1]\n];\nexport var StatsEvent$ = [3, n0, _SE,\n 0,\n [_Det],\n [[() => Stats$, { [_eP]: 1 }]]\n];\nexport var StorageClassAnalysis$ = [3, n0, _SCA,\n 0,\n [_DE],\n [() => StorageClassAnalysisDataExport$]\n];\nexport var StorageClassAnalysisDataExport$ = [3, n0, _SCADE,\n 0,\n [_OSV, _Des],\n [0, () => AnalyticsExportDestination$], 2\n];\nexport var Tag$ = [3, n0, _Ta,\n 0,\n [_K, _V],\n [0, 0], 2\n];\nexport var Tagging$ = [3, n0, _Tag,\n 0,\n [_TS],\n [[() => TagSet, 0]], 1\n];\nexport var TargetGrant$ = [3, n0, _TGa,\n 0,\n [_Gra, _Pe],\n [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0]\n];\nexport var TargetObjectKeyFormat$ = [3, n0, _TOKF,\n 0,\n [_SPi, _PP],\n [[() => SimplePrefix$, { [_xN]: _SPi }], [() => PartitionedPrefix$, { [_xN]: _PP }]]\n];\nexport var Tiering$ = [3, n0, _Tier,\n 0,\n [_D, _AT],\n [1, 0], 2\n];\nexport var TopicConfiguration$ = [3, n0, _TCop,\n 0,\n [_TAo, _Ev, _I, _F],\n [[0, { [_xN]: _Top }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var Transition$ = [3, n0, _Tra,\n 0,\n [_Da, _D, _SC],\n [5, 1, 0]\n];\nexport var UpdateBucketMetadataInventoryTableConfigurationRequest$ = [3, n0, _UBMITCR,\n 0,\n [_B, _ITCn, _CMD, _CA, _EBO],\n [[0, 1], [() => InventoryTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _ITCn }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var UpdateBucketMetadataJournalTableConfigurationRequest$ = [3, n0, _UBMJTCR,\n 0,\n [_B, _JTC, _CMD, _CA, _EBO],\n [[0, 1], [() => JournalTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _JTC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var UpdateObjectEncryptionRequest$ = [3, n0, _UOER,\n 0,\n [_B, _K, _OE, _VI, _RP, _EBO, _CMD, _CA],\n [[0, 1], [0, 1], [() => ObjectEncryption$, 16], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }]], 3\n];\nexport var UpdateObjectEncryptionResponse$ = [3, n0, _UOERp,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var UploadPartCopyOutput$ = [3, n0, _UPCO,\n 0,\n [_CSVI, _CPR, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC],\n [[0, { [_hH]: _xacsvi }], [() => CopyPartResult$, 16], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var UploadPartCopyRequest$ = [3, n0, _UPCR,\n 0,\n [_B, _CS, _K, _PN, _UI, _CSIM, _CSIMS, _CSINM, _CSIUS, _CSRo, _SSECA, _SSECK, _SSECKMD, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _EBO, _ESBO],\n [[0, 1], [0, { [_hH]: _xacs__ }], [0, 1], [1, { [_hQ]: _pN }], [0, { [_hQ]: _uI }], [0, { [_hH]: _xacsim }], [4, { [_hH]: _xacsims }], [0, { [_hH]: _xacsinm }], [4, { [_hH]: _xacsius }], [0, { [_hH]: _xacsr }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH]: _xacssseck }], [0, { [_hH]: _xacssseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasebo }]], 5\n];\nexport var UploadPartOutput$ = [3, n0, _UPO,\n 0,\n [_SSE, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC],\n [[0, { [_hH]: _xasse }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var UploadPartRequest$ = [3, n0, _UPR,\n 0,\n [_B, _K, _PN, _UI, _Bo, _CLo, _CMD, _CA, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _SSECA, _SSECK, _SSECKMD, _RP, _EBO],\n [[0, 1], [0, 1], [1, { [_hQ]: _pN }], [0, { [_hQ]: _uI }], [() => StreamingBlob, 16], [1, { [_hH]: _CL__ }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 4\n];\nexport var VersioningConfiguration$ = [3, n0, _VC,\n 0,\n [_MFAD, _S],\n [[0, { [_xN]: _MDf }], 0]\n];\nexport var WebsiteConfiguration$ = [3, n0, _WC,\n 0,\n [_EDr, _IDn, _RART, _RR],\n [() => ErrorDocument$, () => IndexDocument$, () => RedirectAllRequestsTo$, [() => RoutingRules, 0]]\n];\nexport var WriteGetObjectResponseRequest$ = [3, n0, _WGORR,\n 0,\n [_RReq, _RTe, _Bo, _SCt, _ECr, _EM, _AR, _CC, _CDo, _CEo, _CL, _CLo, _CR, _CTo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _DM, _ETa, _Ex, _E, _LM, _MM, _M, _OLM, _OLLHS, _OLRUD, _PC, _RS, _RC, _Re, _SSE, _SSECA, _SSEKMSKI, _SSECKMD, _SC, _TC, _VI, _BKE],\n [[0, { [_hL]: 1, [_hH]: _xarr }], [0, { [_hH]: _xart }], [() => StreamingBlob, 16], [1, { [_hH]: _xafs }], [0, { [_hH]: _xafec }], [0, { [_hH]: _xafem }], [0, { [_hH]: _xafhar }], [0, { [_hH]: _xafhCC }], [0, { [_hH]: _xafhCD }], [0, { [_hH]: _xafhCE }], [0, { [_hH]: _xafhCL }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _xafhCR }], [0, { [_hH]: _xafhCT }], [0, { [_hH]: _xafhxacc }], [0, { [_hH]: _xafhxacc_ }], [0, { [_hH]: _xafhxacc__ }], [0, { [_hH]: _xafhxacs }], [0, { [_hH]: _xafhxacs_ }], [2, { [_hH]: _xafhxadm }], [0, { [_hH]: _xafhE }], [4, { [_hH]: _xafhE_ }], [0, { [_hH]: _xafhxae }], [4, { [_hH]: _xafhLM }], [1, { [_hH]: _xafhxamm }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xafhxaolm }], [0, { [_hH]: _xafhxaollh }], [5, { [_hH]: _xafhxaolrud }], [1, { [_hH]: _xafhxampc }], [0, { [_hH]: _xafhxars }], [0, { [_hH]: _xafhxarc }], [0, { [_hH]: _xafhxar }], [0, { [_hH]: _xafhxasse }], [0, { [_hH]: _xafhxasseca }], [() => SSEKMSKeyId, { [_hH]: _xafhxasseakki }], [0, { [_hH]: _xafhxasseckM }], [0, { [_hH]: _xafhxasc }], [1, { [_hH]: _xafhxatc }], [0, { [_hH]: _xafhxavi }], [2, { [_hH]: _xafhxassebke }]], 2\n];\nvar __Unit = \"unit\";\nvar AllowedHeaders = 64 | 0;\nvar AllowedMethods = 64 | 0;\nvar AllowedOrigins = 64 | 0;\nvar AnalyticsConfigurationList = [1, n0, _ACLn,\n 0, [() => AnalyticsConfiguration$,\n 0]\n];\nvar Buckets = [1, n0, _Bu,\n 0, [() => Bucket$,\n { [_xN]: _B }]\n];\nvar ChecksumAlgorithmList = 64 | 0;\nvar CommonPrefixList = [1, n0, _CPL,\n 0, () => CommonPrefix$\n];\nvar CompletedPartList = [1, n0, _CPLo,\n 0, () => CompletedPart$\n];\nvar CORSRules = [1, n0, _CORSR,\n 0, [() => CORSRule$,\n 0]\n];\nvar DeletedObjects = [1, n0, _DOe,\n 0, () => DeletedObject$\n];\nvar DeleteMarkers = [1, n0, _DMe,\n 0, () => DeleteMarkerEntry$\n];\nvar EncryptionTypeList = [1, n0, _ETL,\n 0, [0,\n { [_xN]: _ET }]\n];\nvar Errors = [1, n0, _Er,\n 0, () => _Error$\n];\nvar EventList = 64 | 0;\nvar ExposeHeaders = 64 | 0;\nvar FilterRuleList = [1, n0, _FRL,\n 0, () => FilterRule$\n];\nvar Grants = [1, n0, _G,\n 0, [() => Grant$,\n { [_xN]: _Gr }]\n];\nvar IntelligentTieringConfigurationList = [1, n0, _ITCL,\n 0, [() => IntelligentTieringConfiguration$,\n 0]\n];\nvar InventoryConfigurationList = [1, n0, _ICL,\n 0, [() => InventoryConfiguration$,\n 0]\n];\nvar InventoryOptionalFields = [1, n0, _IOF,\n 0, [0,\n { [_xN]: _Fi }]\n];\nvar LambdaFunctionConfigurationList = [1, n0, _LFCL,\n 0, [() => LambdaFunctionConfiguration$,\n 0]\n];\nvar LifecycleRules = [1, n0, _LRi,\n 0, [() => LifecycleRule$,\n 0]\n];\nvar MetricsConfigurationList = [1, n0, _MCL,\n 0, [() => MetricsConfiguration$,\n 0]\n];\nvar MultipartUploadList = [1, n0, _MUL,\n 0, () => MultipartUpload$\n];\nvar NoncurrentVersionTransitionList = [1, n0, _NVTL,\n 0, () => NoncurrentVersionTransition$\n];\nvar ObjectAttributesList = 64 | 0;\nvar ObjectIdentifierList = [1, n0, _OIL,\n 0, () => ObjectIdentifier$\n];\nvar ObjectList = [1, n0, _OLb,\n 0, [() => _Object$,\n 0]\n];\nvar ObjectVersionList = [1, n0, _OVL,\n 0, [() => ObjectVersion$,\n 0]\n];\nvar OptionalObjectAttributesList = 64 | 0;\nvar OwnershipControlsRules = [1, n0, _OCRw,\n 0, () => OwnershipControlsRule$\n];\nvar Parts = [1, n0, _Pa,\n 0, () => Part$\n];\nvar PartsList = [1, n0, _PL,\n 0, () => ObjectPart$\n];\nvar QueueConfigurationList = [1, n0, _QCL,\n 0, [() => QueueConfiguration$,\n 0]\n];\nvar ReplicationRules = [1, n0, _RRep,\n 0, [() => ReplicationRule$,\n 0]\n];\nvar RoutingRules = [1, n0, _RR,\n 0, [() => RoutingRule$,\n { [_xN]: _RRo }]\n];\nvar ServerSideEncryptionRules = [1, n0, _SSERe,\n 0, [() => ServerSideEncryptionRule$,\n 0]\n];\nvar TagSet = [1, n0, _TS,\n 0, [() => Tag$,\n { [_xN]: _Ta }]\n];\nvar TargetGrants = [1, n0, _TG,\n 0, [() => TargetGrant$,\n { [_xN]: _Gr }]\n];\nvar TieringList = [1, n0, _TL,\n 0, () => Tiering$\n];\nvar TopicConfigurationList = [1, n0, _TCL,\n 0, [() => TopicConfiguration$,\n 0]\n];\nvar TransitionList = [1, n0, _TLr,\n 0, () => Transition$\n];\nvar UserMetadata = [1, n0, _UM,\n 0, [() => MetadataEntry$,\n { [_xN]: _ME }]\n];\nvar Metadata = 128 | 0;\nexport var AnalyticsFilter$ = [4, n0, _AF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => AnalyticsAndOperator$, 0]]\n];\nexport var MetricsFilter$ = [4, n0, _MF,\n 0,\n [_P, _Ta, _APAc, _An],\n [0, () => Tag$, 0, [() => MetricsAndOperator$, 0]]\n];\nexport var ObjectEncryption$ = [4, n0, _OE,\n 0,\n [_SSEKMS],\n [[() => SSEKMSEncryption$, { [_xN]: _SK }]]\n];\nexport var SelectObjectContentEventStream$ = [4, n0, _SOCES,\n { [_st]: 1 },\n [_Rec, _Sta, _Pr, _Cont, _End],\n [[() => RecordsEvent$, 0], [() => StatsEvent$, 0], [() => ProgressEvent$, 0], () => ContinuationEvent$, () => EndEvent$]\n];\nexport var AbortMultipartUpload$ = [9, n0, _AMU,\n { [_h]: [\"DELETE\", \"/{Key+}?x-id=AbortMultipartUpload\", 204] }, () => AbortMultipartUploadRequest$, () => AbortMultipartUploadOutput$\n];\nexport var CompleteMultipartUpload$ = [9, n0, _CMUo,\n { [_h]: [\"POST\", \"/{Key+}\", 200] }, () => CompleteMultipartUploadRequest$, () => CompleteMultipartUploadOutput$\n];\nexport var CopyObject$ = [9, n0, _CO,\n { [_h]: [\"PUT\", \"/{Key+}?x-id=CopyObject\", 200] }, () => CopyObjectRequest$, () => CopyObjectOutput$\n];\nexport var CreateBucket$ = [9, n0, _CB,\n { [_h]: [\"PUT\", \"/\", 200] }, () => CreateBucketRequest$, () => CreateBucketOutput$\n];\nexport var CreateBucketMetadataConfiguration$ = [9, n0, _CBMC,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?metadataConfiguration\", 200] }, () => CreateBucketMetadataConfigurationRequest$, () => __Unit\n];\nexport var CreateBucketMetadataTableConfiguration$ = [9, n0, _CBMTC,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?metadataTable\", 200] }, () => CreateBucketMetadataTableConfigurationRequest$, () => __Unit\n];\nexport var CreateMultipartUpload$ = [9, n0, _CMUr,\n { [_h]: [\"POST\", \"/{Key+}?uploads\", 200] }, () => CreateMultipartUploadRequest$, () => CreateMultipartUploadOutput$\n];\nexport var CreateSession$ = [9, n0, _CSr,\n { [_h]: [\"GET\", \"/?session\", 200] }, () => CreateSessionRequest$, () => CreateSessionOutput$\n];\nexport var DeleteBucket$ = [9, n0, _DB,\n { [_h]: [\"DELETE\", \"/\", 204] }, () => DeleteBucketRequest$, () => __Unit\n];\nexport var DeleteBucketAnalyticsConfiguration$ = [9, n0, _DBAC,\n { [_h]: [\"DELETE\", \"/?analytics\", 204] }, () => DeleteBucketAnalyticsConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketCors$ = [9, n0, _DBC,\n { [_h]: [\"DELETE\", \"/?cors\", 204] }, () => DeleteBucketCorsRequest$, () => __Unit\n];\nexport var DeleteBucketEncryption$ = [9, n0, _DBE,\n { [_h]: [\"DELETE\", \"/?encryption\", 204] }, () => DeleteBucketEncryptionRequest$, () => __Unit\n];\nexport var DeleteBucketIntelligentTieringConfiguration$ = [9, n0, _DBITC,\n { [_h]: [\"DELETE\", \"/?intelligent-tiering\", 204] }, () => DeleteBucketIntelligentTieringConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketInventoryConfiguration$ = [9, n0, _DBIC,\n { [_h]: [\"DELETE\", \"/?inventory\", 204] }, () => DeleteBucketInventoryConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketLifecycle$ = [9, n0, _DBL,\n { [_h]: [\"DELETE\", \"/?lifecycle\", 204] }, () => DeleteBucketLifecycleRequest$, () => __Unit\n];\nexport var DeleteBucketMetadataConfiguration$ = [9, n0, _DBMC,\n { [_h]: [\"DELETE\", \"/?metadataConfiguration\", 204] }, () => DeleteBucketMetadataConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketMetadataTableConfiguration$ = [9, n0, _DBMTC,\n { [_h]: [\"DELETE\", \"/?metadataTable\", 204] }, () => DeleteBucketMetadataTableConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketMetricsConfiguration$ = [9, n0, _DBMCe,\n { [_h]: [\"DELETE\", \"/?metrics\", 204] }, () => DeleteBucketMetricsConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketOwnershipControls$ = [9, n0, _DBOC,\n { [_h]: [\"DELETE\", \"/?ownershipControls\", 204] }, () => DeleteBucketOwnershipControlsRequest$, () => __Unit\n];\nexport var DeleteBucketPolicy$ = [9, n0, _DBP,\n { [_h]: [\"DELETE\", \"/?policy\", 204] }, () => DeleteBucketPolicyRequest$, () => __Unit\n];\nexport var DeleteBucketReplication$ = [9, n0, _DBRe,\n { [_h]: [\"DELETE\", \"/?replication\", 204] }, () => DeleteBucketReplicationRequest$, () => __Unit\n];\nexport var DeleteBucketTagging$ = [9, n0, _DBT,\n { [_h]: [\"DELETE\", \"/?tagging\", 204] }, () => DeleteBucketTaggingRequest$, () => __Unit\n];\nexport var DeleteBucketWebsite$ = [9, n0, _DBW,\n { [_h]: [\"DELETE\", \"/?website\", 204] }, () => DeleteBucketWebsiteRequest$, () => __Unit\n];\nexport var DeleteObject$ = [9, n0, _DOel,\n { [_h]: [\"DELETE\", \"/{Key+}?x-id=DeleteObject\", 204] }, () => DeleteObjectRequest$, () => DeleteObjectOutput$\n];\nexport var DeleteObjects$ = [9, n0, _DOele,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?delete\", 200] }, () => DeleteObjectsRequest$, () => DeleteObjectsOutput$\n];\nexport var DeleteObjectTagging$ = [9, n0, _DOT,\n { [_h]: [\"DELETE\", \"/{Key+}?tagging\", 204] }, () => DeleteObjectTaggingRequest$, () => DeleteObjectTaggingOutput$\n];\nexport var DeletePublicAccessBlock$ = [9, n0, _DPAB,\n { [_h]: [\"DELETE\", \"/?publicAccessBlock\", 204] }, () => DeletePublicAccessBlockRequest$, () => __Unit\n];\nexport var GetBucketAbac$ = [9, n0, _GBA,\n { [_h]: [\"GET\", \"/?abac\", 200] }, () => GetBucketAbacRequest$, () => GetBucketAbacOutput$\n];\nexport var GetBucketAccelerateConfiguration$ = [9, n0, _GBAC,\n { [_h]: [\"GET\", \"/?accelerate\", 200] }, () => GetBucketAccelerateConfigurationRequest$, () => GetBucketAccelerateConfigurationOutput$\n];\nexport var GetBucketAcl$ = [9, n0, _GBAe,\n { [_h]: [\"GET\", \"/?acl\", 200] }, () => GetBucketAclRequest$, () => GetBucketAclOutput$\n];\nexport var GetBucketAnalyticsConfiguration$ = [9, n0, _GBACe,\n { [_h]: [\"GET\", \"/?analytics&x-id=GetBucketAnalyticsConfiguration\", 200] }, () => GetBucketAnalyticsConfigurationRequest$, () => GetBucketAnalyticsConfigurationOutput$\n];\nexport var GetBucketCors$ = [9, n0, _GBC,\n { [_h]: [\"GET\", \"/?cors\", 200] }, () => GetBucketCorsRequest$, () => GetBucketCorsOutput$\n];\nexport var GetBucketEncryption$ = [9, n0, _GBE,\n { [_h]: [\"GET\", \"/?encryption\", 200] }, () => GetBucketEncryptionRequest$, () => GetBucketEncryptionOutput$\n];\nexport var GetBucketIntelligentTieringConfiguration$ = [9, n0, _GBITC,\n { [_h]: [\"GET\", \"/?intelligent-tiering&x-id=GetBucketIntelligentTieringConfiguration\", 200] }, () => GetBucketIntelligentTieringConfigurationRequest$, () => GetBucketIntelligentTieringConfigurationOutput$\n];\nexport var GetBucketInventoryConfiguration$ = [9, n0, _GBIC,\n { [_h]: [\"GET\", \"/?inventory&x-id=GetBucketInventoryConfiguration\", 200] }, () => GetBucketInventoryConfigurationRequest$, () => GetBucketInventoryConfigurationOutput$\n];\nexport var GetBucketLifecycleConfiguration$ = [9, n0, _GBLC,\n { [_h]: [\"GET\", \"/?lifecycle\", 200] }, () => GetBucketLifecycleConfigurationRequest$, () => GetBucketLifecycleConfigurationOutput$\n];\nexport var GetBucketLocation$ = [9, n0, _GBL,\n { [_h]: [\"GET\", \"/?location\", 200] }, () => GetBucketLocationRequest$, () => GetBucketLocationOutput$\n];\nexport var GetBucketLogging$ = [9, n0, _GBLe,\n { [_h]: [\"GET\", \"/?logging\", 200] }, () => GetBucketLoggingRequest$, () => GetBucketLoggingOutput$\n];\nexport var GetBucketMetadataConfiguration$ = [9, n0, _GBMC,\n { [_h]: [\"GET\", \"/?metadataConfiguration\", 200] }, () => GetBucketMetadataConfigurationRequest$, () => GetBucketMetadataConfigurationOutput$\n];\nexport var GetBucketMetadataTableConfiguration$ = [9, n0, _GBMTC,\n { [_h]: [\"GET\", \"/?metadataTable\", 200] }, () => GetBucketMetadataTableConfigurationRequest$, () => GetBucketMetadataTableConfigurationOutput$\n];\nexport var GetBucketMetricsConfiguration$ = [9, n0, _GBMCe,\n { [_h]: [\"GET\", \"/?metrics&x-id=GetBucketMetricsConfiguration\", 200] }, () => GetBucketMetricsConfigurationRequest$, () => GetBucketMetricsConfigurationOutput$\n];\nexport var GetBucketNotificationConfiguration$ = [9, n0, _GBNC,\n { [_h]: [\"GET\", \"/?notification\", 200] }, () => GetBucketNotificationConfigurationRequest$, () => NotificationConfiguration$\n];\nexport var GetBucketOwnershipControls$ = [9, n0, _GBOC,\n { [_h]: [\"GET\", \"/?ownershipControls\", 200] }, () => GetBucketOwnershipControlsRequest$, () => GetBucketOwnershipControlsOutput$\n];\nexport var GetBucketPolicy$ = [9, n0, _GBP,\n { [_h]: [\"GET\", \"/?policy\", 200] }, () => GetBucketPolicyRequest$, () => GetBucketPolicyOutput$\n];\nexport var GetBucketPolicyStatus$ = [9, n0, _GBPS,\n { [_h]: [\"GET\", \"/?policyStatus\", 200] }, () => GetBucketPolicyStatusRequest$, () => GetBucketPolicyStatusOutput$\n];\nexport var GetBucketReplication$ = [9, n0, _GBR,\n { [_h]: [\"GET\", \"/?replication\", 200] }, () => GetBucketReplicationRequest$, () => GetBucketReplicationOutput$\n];\nexport var GetBucketRequestPayment$ = [9, n0, _GBRP,\n { [_h]: [\"GET\", \"/?requestPayment\", 200] }, () => GetBucketRequestPaymentRequest$, () => GetBucketRequestPaymentOutput$\n];\nexport var GetBucketTagging$ = [9, n0, _GBT,\n { [_h]: [\"GET\", \"/?tagging\", 200] }, () => GetBucketTaggingRequest$, () => GetBucketTaggingOutput$\n];\nexport var GetBucketVersioning$ = [9, n0, _GBV,\n { [_h]: [\"GET\", \"/?versioning\", 200] }, () => GetBucketVersioningRequest$, () => GetBucketVersioningOutput$\n];\nexport var GetBucketWebsite$ = [9, n0, _GBW,\n { [_h]: [\"GET\", \"/?website\", 200] }, () => GetBucketWebsiteRequest$, () => GetBucketWebsiteOutput$\n];\nexport var GetObject$ = [9, n0, _GO,\n { [_hC]: \"-\", [_h]: [\"GET\", \"/{Key+}?x-id=GetObject\", 200] }, () => GetObjectRequest$, () => GetObjectOutput$\n];\nexport var GetObjectAcl$ = [9, n0, _GOA,\n { [_h]: [\"GET\", \"/{Key+}?acl\", 200] }, () => GetObjectAclRequest$, () => GetObjectAclOutput$\n];\nexport var GetObjectAttributes$ = [9, n0, _GOAe,\n { [_h]: [\"GET\", \"/{Key+}?attributes\", 200] }, () => GetObjectAttributesRequest$, () => GetObjectAttributesOutput$\n];\nexport var GetObjectLegalHold$ = [9, n0, _GOLH,\n { [_h]: [\"GET\", \"/{Key+}?legal-hold\", 200] }, () => GetObjectLegalHoldRequest$, () => GetObjectLegalHoldOutput$\n];\nexport var GetObjectLockConfiguration$ = [9, n0, _GOLC,\n { [_h]: [\"GET\", \"/?object-lock\", 200] }, () => GetObjectLockConfigurationRequest$, () => GetObjectLockConfigurationOutput$\n];\nexport var GetObjectRetention$ = [9, n0, _GORe,\n { [_h]: [\"GET\", \"/{Key+}?retention\", 200] }, () => GetObjectRetentionRequest$, () => GetObjectRetentionOutput$\n];\nexport var GetObjectTagging$ = [9, n0, _GOT,\n { [_h]: [\"GET\", \"/{Key+}?tagging\", 200] }, () => GetObjectTaggingRequest$, () => GetObjectTaggingOutput$\n];\nexport var GetObjectTorrent$ = [9, n0, _GOTe,\n { [_h]: [\"GET\", \"/{Key+}?torrent\", 200] }, () => GetObjectTorrentRequest$, () => GetObjectTorrentOutput$\n];\nexport var GetPublicAccessBlock$ = [9, n0, _GPAB,\n { [_h]: [\"GET\", \"/?publicAccessBlock\", 200] }, () => GetPublicAccessBlockRequest$, () => GetPublicAccessBlockOutput$\n];\nexport var HeadBucket$ = [9, n0, _HB,\n { [_h]: [\"HEAD\", \"/\", 200] }, () => HeadBucketRequest$, () => HeadBucketOutput$\n];\nexport var HeadObject$ = [9, n0, _HO,\n { [_h]: [\"HEAD\", \"/{Key+}\", 200] }, () => HeadObjectRequest$, () => HeadObjectOutput$\n];\nexport var ListBucketAnalyticsConfigurations$ = [9, n0, _LBAC,\n { [_h]: [\"GET\", \"/?analytics&x-id=ListBucketAnalyticsConfigurations\", 200] }, () => ListBucketAnalyticsConfigurationsRequest$, () => ListBucketAnalyticsConfigurationsOutput$\n];\nexport var ListBucketIntelligentTieringConfigurations$ = [9, n0, _LBITC,\n { [_h]: [\"GET\", \"/?intelligent-tiering&x-id=ListBucketIntelligentTieringConfigurations\", 200] }, () => ListBucketIntelligentTieringConfigurationsRequest$, () => ListBucketIntelligentTieringConfigurationsOutput$\n];\nexport var ListBucketInventoryConfigurations$ = [9, n0, _LBIC,\n { [_h]: [\"GET\", \"/?inventory&x-id=ListBucketInventoryConfigurations\", 200] }, () => ListBucketInventoryConfigurationsRequest$, () => ListBucketInventoryConfigurationsOutput$\n];\nexport var ListBucketMetricsConfigurations$ = [9, n0, _LBMC,\n { [_h]: [\"GET\", \"/?metrics&x-id=ListBucketMetricsConfigurations\", 200] }, () => ListBucketMetricsConfigurationsRequest$, () => ListBucketMetricsConfigurationsOutput$\n];\nexport var ListBuckets$ = [9, n0, _LB,\n { [_h]: [\"GET\", \"/?x-id=ListBuckets\", 200] }, () => ListBucketsRequest$, () => ListBucketsOutput$\n];\nexport var ListDirectoryBuckets$ = [9, n0, _LDB,\n { [_h]: [\"GET\", \"/?x-id=ListDirectoryBuckets\", 200] }, () => ListDirectoryBucketsRequest$, () => ListDirectoryBucketsOutput$\n];\nexport var ListMultipartUploads$ = [9, n0, _LMU,\n { [_h]: [\"GET\", \"/?uploads\", 200] }, () => ListMultipartUploadsRequest$, () => ListMultipartUploadsOutput$\n];\nexport var ListObjects$ = [9, n0, _LO,\n { [_h]: [\"GET\", \"/\", 200] }, () => ListObjectsRequest$, () => ListObjectsOutput$\n];\nexport var ListObjectsV2$ = [9, n0, _LOV,\n { [_h]: [\"GET\", \"/?list-type=2\", 200] }, () => ListObjectsV2Request$, () => ListObjectsV2Output$\n];\nexport var ListObjectVersions$ = [9, n0, _LOVi,\n { [_h]: [\"GET\", \"/?versions\", 200] }, () => ListObjectVersionsRequest$, () => ListObjectVersionsOutput$\n];\nexport var ListParts$ = [9, n0, _LP,\n { [_h]: [\"GET\", \"/{Key+}?x-id=ListParts\", 200] }, () => ListPartsRequest$, () => ListPartsOutput$\n];\nexport var PutBucketAbac$ = [9, n0, _PBA,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?abac\", 200] }, () => PutBucketAbacRequest$, () => __Unit\n];\nexport var PutBucketAccelerateConfiguration$ = [9, n0, _PBAC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?accelerate\", 200] }, () => PutBucketAccelerateConfigurationRequest$, () => __Unit\n];\nexport var PutBucketAcl$ = [9, n0, _PBAu,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?acl\", 200] }, () => PutBucketAclRequest$, () => __Unit\n];\nexport var PutBucketAnalyticsConfiguration$ = [9, n0, _PBACu,\n { [_h]: [\"PUT\", \"/?analytics\", 200] }, () => PutBucketAnalyticsConfigurationRequest$, () => __Unit\n];\nexport var PutBucketCors$ = [9, n0, _PBC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?cors\", 200] }, () => PutBucketCorsRequest$, () => __Unit\n];\nexport var PutBucketEncryption$ = [9, n0, _PBE,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?encryption\", 200] }, () => PutBucketEncryptionRequest$, () => __Unit\n];\nexport var PutBucketIntelligentTieringConfiguration$ = [9, n0, _PBITC,\n { [_h]: [\"PUT\", \"/?intelligent-tiering\", 200] }, () => PutBucketIntelligentTieringConfigurationRequest$, () => __Unit\n];\nexport var PutBucketInventoryConfiguration$ = [9, n0, _PBIC,\n { [_h]: [\"PUT\", \"/?inventory\", 200] }, () => PutBucketInventoryConfigurationRequest$, () => __Unit\n];\nexport var PutBucketLifecycleConfiguration$ = [9, n0, _PBLC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?lifecycle\", 200] }, () => PutBucketLifecycleConfigurationRequest$, () => PutBucketLifecycleConfigurationOutput$\n];\nexport var PutBucketLogging$ = [9, n0, _PBL,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?logging\", 200] }, () => PutBucketLoggingRequest$, () => __Unit\n];\nexport var PutBucketMetricsConfiguration$ = [9, n0, _PBMC,\n { [_h]: [\"PUT\", \"/?metrics\", 200] }, () => PutBucketMetricsConfigurationRequest$, () => __Unit\n];\nexport var PutBucketNotificationConfiguration$ = [9, n0, _PBNC,\n { [_h]: [\"PUT\", \"/?notification\", 200] }, () => PutBucketNotificationConfigurationRequest$, () => __Unit\n];\nexport var PutBucketOwnershipControls$ = [9, n0, _PBOC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?ownershipControls\", 200] }, () => PutBucketOwnershipControlsRequest$, () => __Unit\n];\nexport var PutBucketPolicy$ = [9, n0, _PBP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?policy\", 200] }, () => PutBucketPolicyRequest$, () => __Unit\n];\nexport var PutBucketReplication$ = [9, n0, _PBR,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?replication\", 200] }, () => PutBucketReplicationRequest$, () => __Unit\n];\nexport var PutBucketRequestPayment$ = [9, n0, _PBRP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?requestPayment\", 200] }, () => PutBucketRequestPaymentRequest$, () => __Unit\n];\nexport var PutBucketTagging$ = [9, n0, _PBT,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?tagging\", 200] }, () => PutBucketTaggingRequest$, () => __Unit\n];\nexport var PutBucketVersioning$ = [9, n0, _PBV,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?versioning\", 200] }, () => PutBucketVersioningRequest$, () => __Unit\n];\nexport var PutBucketWebsite$ = [9, n0, _PBW,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?website\", 200] }, () => PutBucketWebsiteRequest$, () => __Unit\n];\nexport var PutObject$ = [9, n0, _PO,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?x-id=PutObject\", 200] }, () => PutObjectRequest$, () => PutObjectOutput$\n];\nexport var PutObjectAcl$ = [9, n0, _POA,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?acl\", 200] }, () => PutObjectAclRequest$, () => PutObjectAclOutput$\n];\nexport var PutObjectLegalHold$ = [9, n0, _POLH,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?legal-hold\", 200] }, () => PutObjectLegalHoldRequest$, () => PutObjectLegalHoldOutput$\n];\nexport var PutObjectLockConfiguration$ = [9, n0, _POLC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?object-lock\", 200] }, () => PutObjectLockConfigurationRequest$, () => PutObjectLockConfigurationOutput$\n];\nexport var PutObjectRetention$ = [9, n0, _PORu,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?retention\", 200] }, () => PutObjectRetentionRequest$, () => PutObjectRetentionOutput$\n];\nexport var PutObjectTagging$ = [9, n0, _POT,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?tagging\", 200] }, () => PutObjectTaggingRequest$, () => PutObjectTaggingOutput$\n];\nexport var PutPublicAccessBlock$ = [9, n0, _PPAB,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?publicAccessBlock\", 200] }, () => PutPublicAccessBlockRequest$, () => __Unit\n];\nexport var RenameObject$ = [9, n0, _RO,\n { [_h]: [\"PUT\", \"/{Key+}?renameObject\", 200] }, () => RenameObjectRequest$, () => RenameObjectOutput$\n];\nexport var RestoreObject$ = [9, n0, _ROe,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/{Key+}?restore\", 200] }, () => RestoreObjectRequest$, () => RestoreObjectOutput$\n];\nexport var SelectObjectContent$ = [9, n0, _SOC,\n { [_h]: [\"POST\", \"/{Key+}?select&select-type=2\", 200] }, () => SelectObjectContentRequest$, () => SelectObjectContentOutput$\n];\nexport var UpdateBucketMetadataInventoryTableConfiguration$ = [9, n0, _UBMITC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?metadataInventoryTable\", 200] }, () => UpdateBucketMetadataInventoryTableConfigurationRequest$, () => __Unit\n];\nexport var UpdateBucketMetadataJournalTableConfiguration$ = [9, n0, _UBMJTC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?metadataJournalTable\", 200] }, () => UpdateBucketMetadataJournalTableConfigurationRequest$, () => __Unit\n];\nexport var UpdateObjectEncryption$ = [9, n0, _UOE,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?encryption\", 200] }, () => UpdateObjectEncryptionRequest$, () => UpdateObjectEncryptionResponse$\n];\nexport var UploadPart$ = [9, n0, _UP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?x-id=UploadPart\", 200] }, () => UploadPartRequest$, () => UploadPartOutput$\n];\nexport var UploadPartCopy$ = [9, n0, _UPC,\n { [_h]: [\"PUT\", \"/{Key+}?x-id=UploadPartCopy\", 200] }, () => UploadPartCopyRequest$, () => UploadPartCopyOutput$\n];\nexport var WriteGetObjectResponse$ = [9, n0, _WGOR,\n { [_en]: [\"{RequestRoute}.\"], [_h]: [\"POST\", \"/WriteGetObjectResponse\", 200] }, () => WriteGetObjectResponseRequest$, () => __Unit\n];\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateSession$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateSessionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n DisableS3ExpressSessionAuth: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CreateSession\", {})\n .n(\"S3Client\", \"CreateSessionCommand\")\n .sc(CreateSession$)\n .build() {\n}\n", "{\n \"name\": \"@aws-sdk/client-s3\",\n \"description\": \"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native\",\n \"version\": \"3.1009.0\",\n \"scripts\": {\n \"build\": \"concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs\",\n \"build:cjs\": \"node ../../scripts/compilation/inline client-s3\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"yarn g:turbo run build -F=\\\"$npm_package_name\\\"\",\n \"build:types\": \"tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo\",\n \"extract:docs\": \"api-extractor run --local\",\n \"generate:client\": \"node ../../scripts/generate-clients/single-service --solo s3\",\n \"test\": \"yarn g:vitest run\",\n \"test:browser\": \"node ./test/browser-build/esbuild && yarn g:vitest run -c vitest.config.browser.mts\",\n \"test:browser:watch\": \"node ./test/browser-build/esbuild && yarn g:vitest watch -c vitest.config.browser.mts\",\n \"test:e2e\": \"yarn g:vitest run -c vitest.config.e2e.mts && yarn test:browser\",\n \"test:e2e:watch\": \"yarn g:vitest watch -c vitest.config.e2e.mts\",\n \"test:index\": \"tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs\",\n \"test:integration\": \"yarn g:vitest run -c vitest.config.integ.mts\",\n \"test:integration:watch\": \"yarn g:vitest watch -c vitest.config.integ.mts\",\n \"test:watch\": \"yarn g:vitest watch\"\n },\n \"main\": \"./dist-cjs/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"module\": \"./dist-es/index.js\",\n \"sideEffects\": false,\n \"dependencies\": {\n \"@aws-crypto/sha1-browser\": \"5.2.0\",\n \"@aws-crypto/sha256-browser\": \"5.2.0\",\n \"@aws-crypto/sha256-js\": \"5.2.0\",\n \"@aws-sdk/core\": \"^3.973.20\",\n \"@aws-sdk/credential-provider-node\": \"^3.972.21\",\n \"@aws-sdk/middleware-bucket-endpoint\": \"^3.972.8\",\n \"@aws-sdk/middleware-expect-continue\": \"^3.972.8\",\n \"@aws-sdk/middleware-flexible-checksums\": \"^3.973.6\",\n \"@aws-sdk/middleware-host-header\": \"^3.972.8\",\n \"@aws-sdk/middleware-location-constraint\": \"^3.972.8\",\n \"@aws-sdk/middleware-logger\": \"^3.972.8\",\n \"@aws-sdk/middleware-recursion-detection\": \"^3.972.8\",\n \"@aws-sdk/middleware-sdk-s3\": \"^3.972.20\",\n \"@aws-sdk/middleware-ssec\": \"^3.972.8\",\n \"@aws-sdk/middleware-user-agent\": \"^3.972.21\",\n \"@aws-sdk/region-config-resolver\": \"^3.972.8\",\n \"@aws-sdk/signature-v4-multi-region\": \"^3.996.8\",\n \"@aws-sdk/types\": \"^3.973.6\",\n \"@aws-sdk/util-endpoints\": \"^3.996.5\",\n \"@aws-sdk/util-user-agent-browser\": \"^3.972.8\",\n \"@aws-sdk/util-user-agent-node\": \"^3.973.7\",\n \"@smithy/config-resolver\": \"^4.4.11\",\n \"@smithy/core\": \"^3.23.11\",\n \"@smithy/eventstream-serde-browser\": \"^4.2.12\",\n \"@smithy/eventstream-serde-config-resolver\": \"^4.3.12\",\n \"@smithy/eventstream-serde-node\": \"^4.2.12\",\n \"@smithy/fetch-http-handler\": \"^5.3.15\",\n \"@smithy/hash-blob-browser\": \"^4.2.13\",\n \"@smithy/hash-node\": \"^4.2.12\",\n \"@smithy/hash-stream-node\": \"^4.2.12\",\n \"@smithy/invalid-dependency\": \"^4.2.12\",\n \"@smithy/md5-js\": \"^4.2.12\",\n \"@smithy/middleware-content-length\": \"^4.2.12\",\n \"@smithy/middleware-endpoint\": \"^4.4.25\",\n \"@smithy/middleware-retry\": \"^4.4.42\",\n \"@smithy/middleware-serde\": \"^4.2.14\",\n \"@smithy/middleware-stack\": \"^4.2.12\",\n \"@smithy/node-config-provider\": \"^4.3.12\",\n \"@smithy/node-http-handler\": \"^4.4.16\",\n \"@smithy/protocol-http\": \"^5.3.12\",\n \"@smithy/smithy-client\": \"^4.12.5\",\n \"@smithy/types\": \"^4.13.1\",\n \"@smithy/url-parser\": \"^4.2.12\",\n \"@smithy/util-base64\": \"^4.3.2\",\n \"@smithy/util-body-length-browser\": \"^4.2.2\",\n \"@smithy/util-body-length-node\": \"^4.2.3\",\n \"@smithy/util-defaults-mode-browser\": \"^4.3.41\",\n \"@smithy/util-defaults-mode-node\": \"^4.2.44\",\n \"@smithy/util-endpoints\": \"^3.3.3\",\n \"@smithy/util-middleware\": \"^4.2.12\",\n \"@smithy/util-retry\": \"^4.2.12\",\n \"@smithy/util-stream\": \"^4.5.19\",\n \"@smithy/util-utf8\": \"^4.2.2\",\n \"@smithy/util-waiter\": \"^4.2.13\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"@aws-sdk/signature-v4-crt\": \"3.1009.0\",\n \"@smithy/snapshot-testing\": \"^2.0.2\",\n \"@tsconfig/node20\": \"20.1.8\",\n \"@types/node\": \"^20.14.8\",\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"premove\": \"4.0.0\",\n \"typescript\": \"~5.8.3\",\n \"vitest\": \"^4.0.17\"\n },\n \"engines\": {\n \"node\": \">=20.0.0\"\n },\n \"typesVersions\": {\n \"<4.5\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"dist-*/**\"\n ],\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"browser\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.browser\"\n },\n \"react-native\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.native\"\n },\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"clients/client-s3\"\n }\n}\n", "export const fromUtf8 = (input) => new TextEncoder().encode(input);\n", "import { fromUtf8 } from \"./fromUtf8\";\nexport const toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\n", "export const toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return new TextDecoder(\"utf-8\").decode(input);\n};\n", "export * from \"./fromUtf8\";\nexport * from \"./toUint8Array\";\nexport * from \"./toUtf8\";\n", "import { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n", "export const SHA_1_HASH: { name: \"SHA-1\" } = { name: \"SHA-1\" };\n\nexport const SHA_1_HMAC_ALGO: { name: \"HMAC\"; hash: { name: \"SHA-1\" } } = {\n name: \"HMAC\",\n hash: SHA_1_HASH,\n};\n\nexport const EMPTY_DATA_SHA_1 = new Uint8Array([\n 218,\n 57,\n 163,\n 238,\n 94,\n 107,\n 75,\n 13,\n 50,\n 85,\n 191,\n 239,\n 149,\n 96,\n 24,\n 144,\n 175,\n 216,\n 7,\n 9,\n]);\n", "const fallbackWindow = {};\nexport function locateWindow() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n else if (typeof self !== \"undefined\") {\n return self;\n }\n return fallbackWindow;\n}\n", "import { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nimport { isEmptyData } from \"./isEmptyData\";\nimport { EMPTY_DATA_SHA_1, SHA_1_HASH, SHA_1_HMAC_ALGO } from \"./constants\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha1 implements Checksum {\n private readonly key: Promise | undefined;\n private toHash: Uint8Array = new Uint8Array(0);\n\n constructor(secret?: SourceData) {\n if (secret !== void 0) {\n this.key = new Promise((resolve, reject) => {\n locateWindow()\n .crypto.subtle.importKey(\n \"raw\",\n convertToBuffer(secret),\n SHA_1_HMAC_ALGO,\n false,\n [\"sign\"]\n )\n .then(resolve, reject);\n });\n this.key.catch(() => {});\n }\n }\n\n update(data: SourceData): void {\n if (isEmptyData(data)) {\n return;\n }\n\n const update = convertToBuffer(data);\n const typedArray = new Uint8Array(\n this.toHash.byteLength + update.byteLength\n );\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n }\n\n digest(): Promise {\n if (this.key) {\n return this.key.then((key) =>\n locateWindow()\n .crypto.subtle.sign(SHA_1_HMAC_ALGO, key, this.toHash)\n .then((data) => new Uint8Array(data))\n );\n }\n\n if (isEmptyData(this.toHash)) {\n return Promise.resolve(EMPTY_DATA_SHA_1);\n }\n\n return Promise.resolve()\n .then(() => locateWindow().crypto.subtle.digest(SHA_1_HASH, this.toHash))\n .then((data) => Promise.resolve(new Uint8Array(data)));\n }\n\n reset(): void {\n this.toHash = new Uint8Array(0);\n }\n}\n\nfunction convertToBuffer(data: SourceData): Uint8Array {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n", "type SubtleCryptoMethod =\n | \"decrypt\"\n | \"digest\"\n | \"encrypt\"\n | \"exportKey\"\n | \"generateKey\"\n | \"importKey\"\n | \"sign\"\n | \"verify\";\n\nconst subtleCryptoMethods: Array = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\n\nexport function supportsWebCrypto(window: Window): boolean {\n if (\n supportsSecureRandom(window) &&\n typeof window.crypto.subtle === \"object\"\n ) {\n const { subtle } = window.crypto;\n\n return supportsSubtleCrypto(subtle);\n }\n\n return false;\n}\n\nexport function supportsSecureRandom(window: Window): boolean {\n if (typeof window === \"object\" && typeof window.crypto === \"object\") {\n const { getRandomValues } = window.crypto;\n\n return typeof getRandomValues === \"function\";\n }\n\n return false;\n}\n\nexport function supportsSubtleCrypto(subtle: SubtleCrypto) {\n return (\n subtle &&\n subtleCryptoMethods.every(\n methodName => typeof subtle[methodName] === \"function\"\n )\n );\n}\n\nexport async function supportsZeroByteGCM(subtle: SubtleCrypto) {\n if (!supportsSubtleCrypto(subtle)) return false;\n try {\n const key = await subtle.generateKey(\n { name: \"AES-GCM\", length: 128 },\n false,\n [\"encrypt\"]\n );\n const zeroByteAuthTag = await subtle.encrypt(\n {\n name: \"AES-GCM\",\n iv: new Uint8Array(Array(12)),\n additionalData: new Uint8Array(Array(16)),\n tagLength: 128\n },\n key,\n new Uint8Array(0)\n );\n return zeroByteAuthTag.byteLength === 16;\n } catch {\n return false;\n }\n}\n", "export * from \"./supportsWebCrypto\";\n", "import { Sha1 as WebCryptoSha1 } from \"./webCryptoSha1\";\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { supportsWebCrypto } from \"@aws-crypto/supports-web-crypto\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\nimport { convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha1 implements Checksum {\n private hash: Checksum;\n\n constructor(secret?: SourceData) {\n if (supportsWebCrypto(locateWindow())) {\n this.hash = new WebCryptoSha1(secret);\n } else {\n throw new Error(\"SHA1 not supported\");\n }\n }\n\n update(data: SourceData, encoding?: \"utf8\" | \"ascii\" | \"latin1\"): void {\n this.hash.update(convertToBuffer(data));\n }\n\n digest(): Promise {\n return this.hash.digest();\n }\n\n reset(): void {\n this.hash.reset();\n }\n}\n", "export * from \"./crossPlatformSha1\";\nexport { Sha1 as WebCryptoSha1 } from \"./webCryptoSha1\";\n", "export const SHA_256_HASH: { name: \"SHA-256\" } = { name: \"SHA-256\" };\n\nexport const SHA_256_HMAC_ALGO: { name: \"HMAC\"; hash: { name: \"SHA-256\" } } = {\n name: \"HMAC\",\n hash: SHA_256_HASH\n};\n\nexport const EMPTY_DATA_SHA_256 = new Uint8Array([\n 227,\n 176,\n 196,\n 66,\n 152,\n 252,\n 28,\n 20,\n 154,\n 251,\n 244,\n 200,\n 153,\n 111,\n 185,\n 36,\n 39,\n 174,\n 65,\n 228,\n 100,\n 155,\n 147,\n 76,\n 164,\n 149,\n 153,\n 27,\n 120,\n 82,\n 184,\n 85\n]);\n", "import { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\nimport {\n EMPTY_DATA_SHA_256,\n SHA_256_HASH,\n SHA_256_HMAC_ALGO,\n} from \"./constants\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha256 implements Checksum {\n private readonly secret?: SourceData;\n private key: Promise | undefined;\n private toHash: Uint8Array = new Uint8Array(0);\n\n constructor(secret?: SourceData) {\n this.secret = secret;\n this.reset();\n }\n\n update(data: SourceData): void {\n if (isEmptyData(data)) {\n return;\n }\n\n const update = convertToBuffer(data);\n const typedArray = new Uint8Array(\n this.toHash.byteLength + update.byteLength\n );\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n }\n\n digest(): Promise {\n if (this.key) {\n return this.key.then((key) =>\n locateWindow()\n .crypto.subtle.sign(SHA_256_HMAC_ALGO, key, this.toHash)\n .then((data) => new Uint8Array(data))\n );\n }\n\n if (isEmptyData(this.toHash)) {\n return Promise.resolve(EMPTY_DATA_SHA_256);\n }\n\n return Promise.resolve()\n .then(() =>\n locateWindow().crypto.subtle.digest(SHA_256_HASH, this.toHash)\n )\n .then((data) => Promise.resolve(new Uint8Array(data)));\n }\n\n reset(): void {\n this.toHash = new Uint8Array(0);\n if (this.secret && this.secret !== void 0) {\n this.key = new Promise((resolve, reject) => {\n locateWindow()\n .crypto.subtle.importKey(\n \"raw\",\n convertToBuffer(this.secret as SourceData),\n SHA_256_HMAC_ALGO,\n false,\n [\"sign\"]\n )\n .then(resolve, reject);\n });\n this.key.catch(() => {});\n }\n }\n}\n", "/**\n * @internal\n */\nexport const BLOCK_SIZE: number = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH: number = 32;\n\n/**\n * @internal\n */\nexport const KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n\n/**\n * @internal\n */\nexport const INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n\n/**\n * @internal\n */\nexport const MAX_HASHABLE_LENGTH = 2 ** 53 - 1;\n", "import {\n BLOCK_SIZE,\n DIGEST_LENGTH,\n INIT,\n KEY,\n MAX_HASHABLE_LENGTH\n} from \"./constants\";\n\n/**\n * @internal\n */\nexport class RawSha256 {\n private state: Int32Array = Int32Array.from(INIT);\n private temp: Int32Array = new Int32Array(64);\n private buffer: Uint8Array = new Uint8Array(64);\n private bufferLength: number = 0;\n private bytesHashed: number = 0;\n\n /**\n * @internal\n */\n finished: boolean = false;\n\n update(data: Uint8Array): void {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n digest(): Uint8Array {\n if (!this.finished) {\n const bitsHashed = this.bytesHashed * 8;\n const bufferView = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength\n );\n\n const undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(\n BLOCK_SIZE - 8,\n Math.floor(bitsHashed / 0x100000000),\n true\n );\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n const out = new Uint8Array(DIGEST_LENGTH);\n for (let i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n\n return out;\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let state0 = state[0],\n state1 = state[1],\n state2 = state[2],\n state3 = state[3],\n state4 = state[4],\n state5 = state[5],\n state6 = state[6],\n state7 = state[7];\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n } else {\n let u = this.temp[i - 2];\n const t1 =\n ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n\n u = this.temp[i - 15];\n const t2 =\n ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n\n this.temp[i] =\n ((t1 + this.temp[i - 7]) | 0) + ((t2 + this.temp[i - 16]) | 0);\n }\n\n const t1 =\n ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n\n const t2 =\n ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n }\n}\n", "import { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Checksum {\n private readonly secret?: SourceData;\n private hash: RawSha256;\n private outer?: RawSha256;\n private error: any;\n\n constructor(secret?: SourceData) {\n this.secret = secret;\n this.hash = new RawSha256();\n this.reset();\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n\n try {\n this.hash.update(convertToBuffer(toHash));\n } catch (e) {\n this.error = e;\n }\n }\n\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n digestSync(): Uint8Array {\n if (this.error) {\n throw this.error;\n }\n\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n\n return this.outer.digest();\n }\n\n return this.hash.digest();\n }\n\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n async digest(): Promise {\n return this.digestSync();\n }\n\n reset(): void {\n this.hash = new RawSha256();\n if (this.secret) {\n this.outer = new RawSha256();\n const inner = bufferFromSecret(this.secret);\n const outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n\n this.hash.update(inner);\n this.outer.update(outer);\n\n // overwrite the copied key in memory\n for (let i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n}\n\nfunction bufferFromSecret(secret: SourceData): Uint8Array {\n let input = convertToBuffer(secret);\n\n if (input.byteLength > BLOCK_SIZE) {\n const bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n\n const buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n", "export * from \"./jsSha256\";\n", "import { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\nimport { Sha256 as JsSha256 } from \"@aws-crypto/sha256-js\";\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { supportsWebCrypto } from \"@aws-crypto/supports-web-crypto\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\nimport { convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Checksum {\n private hash: Checksum;\n\n constructor(secret?: SourceData) {\n if (supportsWebCrypto(locateWindow())) {\n this.hash = new WebCryptoSha256(secret);\n } else {\n this.hash = new JsSha256(secret);\n }\n }\n\n update(data: SourceData, encoding?: \"utf8\" | \"ascii\" | \"latin1\"): void {\n this.hash.update(convertToBuffer(data));\n }\n\n digest(): Promise {\n return this.hash.digest();\n }\n\n reset(): void {\n this.hash.reset();\n }\n}\n", "export * from \"./crossPlatformSha256\";\nexport { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\n", "export { createUserAgentStringParsingProvider } from \"./createUserAgentStringParsingProvider\";\nexport const createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => async (config) => {\n const navigator = typeof window !== \"undefined\" ? window.navigator : undefined;\n const uaString = navigator?.userAgent ?? \"\";\n const osName = navigator?.userAgentData?.platform ?? fallback.os(uaString) ?? \"other\";\n const osVersion = undefined;\n const brands = navigator?.userAgentData?.brands ?? [];\n const brand = brands[brands.length - 1];\n const browserName = brand?.brand ?? fallback.browser(uaString) ?? \"unknown\";\n const browserVersion = brand?.version ?? \"unknown\";\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [\"ua\", \"2.1\"],\n [`os/${osName}`, osVersion],\n [\"lang/js\"],\n [\"md/browser\", `${browserName}_${browserVersion}`],\n ];\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n const appId = await config?.userAgentAppId?.();\n if (appId) {\n sections.push([`app/${appId}`]);\n }\n return sections;\n};\nexport const fallback = {\n os(ua) {\n if (/iPhone|iPad|iPod/.test(ua))\n return \"iOS\";\n if (/Macintosh|Mac OS X/.test(ua))\n return \"macOS\";\n if (/Windows NT/.test(ua))\n return \"Windows\";\n if (/Android/.test(ua))\n return \"Android\";\n if (/Linux/.test(ua))\n return \"Linux\";\n return undefined;\n },\n browser(ua) {\n if (/EdgiOS|EdgA|Edg\\//.test(ua))\n return \"Microsoft Edge\";\n if (/Firefox\\//.test(ua))\n return \"Firefox\";\n if (/Chrome\\//.test(ua))\n return \"Chrome\";\n if (/Safari\\//.test(ua))\n return \"Safari\";\n return undefined;\n },\n};\nexport const defaultUserAgent = createDefaultUserAgentProvider;\n", "import { toHex } from \"@smithy/util-hex-encoding\";\nexport class Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9_223_372_036_854_775_808) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n", "import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { Int64 } from \"./Int64\";\nexport class HeaderMarshaller {\n toUtf8;\n fromUtf8;\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n", "import { Crc32 } from \"@aws-crypto/crc32\";\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nexport function splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n", "import { Crc32 } from \"@aws-crypto/crc32\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\nexport class EventStreamCodec {\n headerMarshaller;\n messageBuffer;\n isEndOfStream;\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n", "export {};\n", "export class MessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n", "export class MessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n", "export class SmithyMessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n", "export class SmithyMessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n", "export * from \"./EventStreamCodec\";\nexport * from \"./HeaderMarshaller\";\nexport * from \"./Int64\";\nexport * from \"./Message\";\nexport * from \"./MessageDecoderStream\";\nexport * from \"./MessageEncoderStream\";\nexport * from \"./SmithyMessageDecoderStream\";\nexport * from \"./SmithyMessageEncoderStream\";\n", "export function getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n", "export function getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nexport function getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n", "import { EventStreamCodec, MessageDecoderStream, MessageEncoderStream, SmithyMessageDecoderStream, SmithyMessageEncoderStream, } from \"@smithy/eventstream-codec\";\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getMessageUnmarshaller } from \"./getUnmarshalledStream\";\nexport class EventStreamMarshaller {\n eventStreamCodec;\n utfEncoder;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n}\n", "import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n", "export * from \"./EventStreamMarshaller\";\nexport * from \"./provider\";\n", "export const readableStreamtoIterable = (readableStream) => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n },\n});\nexport const iterableToReadableStream = (asyncIterable) => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n", "import { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"@smithy/eventstream-serde-universal\";\nimport { iterableToReadableStream, readableStreamtoIterable } from \"./utils\";\nexport class EventStreamMarshaller {\n universalMarshaller;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n const serialziedIterable = this.universalMarshaller.serialize(input, serializer);\n return typeof ReadableStream === \"function\" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;\n }\n}\nconst isReadableStream = (body) => typeof ReadableStream === \"function\" && body instanceof ReadableStream;\n", "import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n", "export * from \"./EventStreamMarshaller\";\nexport * from \"./provider\";\nexport * from \"./utils\";\n", "export async function blobReader(blob, onChunk, chunkSize = 1024 * 1024) {\n const size = blob.size;\n let totalBytesRead = 0;\n while (totalBytesRead < size) {\n const slice = blob.slice(totalBytesRead, Math.min(size, totalBytesRead + chunkSize));\n onChunk(new Uint8Array(await slice.arrayBuffer()));\n totalBytesRead += slice.size;\n }\n}\n", "import { blobReader } from \"@smithy/chunked-blob-reader\";\nexport const blobHasher = async function blobHasher(hashCtor, blob) {\n const hash = new hashCtor();\n await blobReader(blob, (chunk) => {\n hash.update(chunk);\n });\n return hash.digest();\n};\n", "export const invalidFunction = (message) => () => {\n throw new Error(message);\n};\n", "export const invalidProvider = (message) => () => Promise.reject(message);\n", "export * from \"./invalidFunction\";\nexport * from \"./invalidProvider\";\n", "export const BLOCK_SIZE = 64;\nexport const DIGEST_LENGTH = 16;\nexport const INIT = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476];\n", "import { fromUtf8 } from \"@smithy/util-utf8\";\nimport { BLOCK_SIZE, DIGEST_LENGTH, INIT } from \"./constants\";\nexport class Md5 {\n state;\n buffer;\n bufferLength;\n bytesHashed;\n finished;\n constructor() {\n this.reset();\n }\n update(sourceData) {\n if (isEmptyData(sourceData)) {\n return;\n }\n else if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n const data = convertToBuffer(sourceData);\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n while (byteLength > 0) {\n this.buffer.setUint8(this.bufferLength++, data[position++]);\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n async digest() {\n if (!this.finished) {\n const { buffer, bufferLength: undecoratedLength, bytesHashed } = this;\n const bitsHashed = bytesHashed * 8;\n buffer.setUint8(this.bufferLength++, 0b10000000);\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n buffer.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n buffer.setUint8(i, 0);\n }\n buffer.setUint32(BLOCK_SIZE - 8, bitsHashed >>> 0, true);\n buffer.setUint32(BLOCK_SIZE - 4, Math.floor(bitsHashed / 0x100000000), true);\n this.hashBuffer();\n this.finished = true;\n }\n const out = new DataView(new ArrayBuffer(DIGEST_LENGTH));\n for (let i = 0; i < 4; i++) {\n out.setUint32(i * 4, this.state[i], true);\n }\n return new Uint8Array(out.buffer, out.byteOffset, out.byteLength);\n }\n hashBuffer() {\n const { buffer, state } = this;\n let a = state[0], b = state[1], c = state[2], d = state[3];\n a = ff(a, b, c, d, buffer.getUint32(0, true), 7, 0xd76aa478);\n d = ff(d, a, b, c, buffer.getUint32(4, true), 12, 0xe8c7b756);\n c = ff(c, d, a, b, buffer.getUint32(8, true), 17, 0x242070db);\n b = ff(b, c, d, a, buffer.getUint32(12, true), 22, 0xc1bdceee);\n a = ff(a, b, c, d, buffer.getUint32(16, true), 7, 0xf57c0faf);\n d = ff(d, a, b, c, buffer.getUint32(20, true), 12, 0x4787c62a);\n c = ff(c, d, a, b, buffer.getUint32(24, true), 17, 0xa8304613);\n b = ff(b, c, d, a, buffer.getUint32(28, true), 22, 0xfd469501);\n a = ff(a, b, c, d, buffer.getUint32(32, true), 7, 0x698098d8);\n d = ff(d, a, b, c, buffer.getUint32(36, true), 12, 0x8b44f7af);\n c = ff(c, d, a, b, buffer.getUint32(40, true), 17, 0xffff5bb1);\n b = ff(b, c, d, a, buffer.getUint32(44, true), 22, 0x895cd7be);\n a = ff(a, b, c, d, buffer.getUint32(48, true), 7, 0x6b901122);\n d = ff(d, a, b, c, buffer.getUint32(52, true), 12, 0xfd987193);\n c = ff(c, d, a, b, buffer.getUint32(56, true), 17, 0xa679438e);\n b = ff(b, c, d, a, buffer.getUint32(60, true), 22, 0x49b40821);\n a = gg(a, b, c, d, buffer.getUint32(4, true), 5, 0xf61e2562);\n d = gg(d, a, b, c, buffer.getUint32(24, true), 9, 0xc040b340);\n c = gg(c, d, a, b, buffer.getUint32(44, true), 14, 0x265e5a51);\n b = gg(b, c, d, a, buffer.getUint32(0, true), 20, 0xe9b6c7aa);\n a = gg(a, b, c, d, buffer.getUint32(20, true), 5, 0xd62f105d);\n d = gg(d, a, b, c, buffer.getUint32(40, true), 9, 0x02441453);\n c = gg(c, d, a, b, buffer.getUint32(60, true), 14, 0xd8a1e681);\n b = gg(b, c, d, a, buffer.getUint32(16, true), 20, 0xe7d3fbc8);\n a = gg(a, b, c, d, buffer.getUint32(36, true), 5, 0x21e1cde6);\n d = gg(d, a, b, c, buffer.getUint32(56, true), 9, 0xc33707d6);\n c = gg(c, d, a, b, buffer.getUint32(12, true), 14, 0xf4d50d87);\n b = gg(b, c, d, a, buffer.getUint32(32, true), 20, 0x455a14ed);\n a = gg(a, b, c, d, buffer.getUint32(52, true), 5, 0xa9e3e905);\n d = gg(d, a, b, c, buffer.getUint32(8, true), 9, 0xfcefa3f8);\n c = gg(c, d, a, b, buffer.getUint32(28, true), 14, 0x676f02d9);\n b = gg(b, c, d, a, buffer.getUint32(48, true), 20, 0x8d2a4c8a);\n a = hh(a, b, c, d, buffer.getUint32(20, true), 4, 0xfffa3942);\n d = hh(d, a, b, c, buffer.getUint32(32, true), 11, 0x8771f681);\n c = hh(c, d, a, b, buffer.getUint32(44, true), 16, 0x6d9d6122);\n b = hh(b, c, d, a, buffer.getUint32(56, true), 23, 0xfde5380c);\n a = hh(a, b, c, d, buffer.getUint32(4, true), 4, 0xa4beea44);\n d = hh(d, a, b, c, buffer.getUint32(16, true), 11, 0x4bdecfa9);\n c = hh(c, d, a, b, buffer.getUint32(28, true), 16, 0xf6bb4b60);\n b = hh(b, c, d, a, buffer.getUint32(40, true), 23, 0xbebfbc70);\n a = hh(a, b, c, d, buffer.getUint32(52, true), 4, 0x289b7ec6);\n d = hh(d, a, b, c, buffer.getUint32(0, true), 11, 0xeaa127fa);\n c = hh(c, d, a, b, buffer.getUint32(12, true), 16, 0xd4ef3085);\n b = hh(b, c, d, a, buffer.getUint32(24, true), 23, 0x04881d05);\n a = hh(a, b, c, d, buffer.getUint32(36, true), 4, 0xd9d4d039);\n d = hh(d, a, b, c, buffer.getUint32(48, true), 11, 0xe6db99e5);\n c = hh(c, d, a, b, buffer.getUint32(60, true), 16, 0x1fa27cf8);\n b = hh(b, c, d, a, buffer.getUint32(8, true), 23, 0xc4ac5665);\n a = ii(a, b, c, d, buffer.getUint32(0, true), 6, 0xf4292244);\n d = ii(d, a, b, c, buffer.getUint32(28, true), 10, 0x432aff97);\n c = ii(c, d, a, b, buffer.getUint32(56, true), 15, 0xab9423a7);\n b = ii(b, c, d, a, buffer.getUint32(20, true), 21, 0xfc93a039);\n a = ii(a, b, c, d, buffer.getUint32(48, true), 6, 0x655b59c3);\n d = ii(d, a, b, c, buffer.getUint32(12, true), 10, 0x8f0ccc92);\n c = ii(c, d, a, b, buffer.getUint32(40, true), 15, 0xffeff47d);\n b = ii(b, c, d, a, buffer.getUint32(4, true), 21, 0x85845dd1);\n a = ii(a, b, c, d, buffer.getUint32(32, true), 6, 0x6fa87e4f);\n d = ii(d, a, b, c, buffer.getUint32(60, true), 10, 0xfe2ce6e0);\n c = ii(c, d, a, b, buffer.getUint32(24, true), 15, 0xa3014314);\n b = ii(b, c, d, a, buffer.getUint32(52, true), 21, 0x4e0811a1);\n a = ii(a, b, c, d, buffer.getUint32(16, true), 6, 0xf7537e82);\n d = ii(d, a, b, c, buffer.getUint32(44, true), 10, 0xbd3af235);\n c = ii(c, d, a, b, buffer.getUint32(8, true), 15, 0x2ad7d2bb);\n b = ii(b, c, d, a, buffer.getUint32(36, true), 21, 0xeb86d391);\n state[0] = (a + state[0]) & 0xffffffff;\n state[1] = (b + state[1]) & 0xffffffff;\n state[2] = (c + state[2]) & 0xffffffff;\n state[3] = (d + state[3]) & 0xffffffff;\n }\n reset() {\n this.state = Uint32Array.from(INIT);\n this.buffer = new DataView(new ArrayBuffer(BLOCK_SIZE));\n this.bufferLength = 0;\n this.bytesHashed = 0;\n this.finished = false;\n }\n}\nfunction cmn(q, a, b, x, s, t) {\n a = (((a + q) & 0xffffffff) + ((x + t) & 0xffffffff)) & 0xffffffff;\n return (((a << s) | (a >>> (32 - s))) + b) & 0xffffffff;\n}\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nfunction convertToBuffer(data) {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n", "export const DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\n", "import { memoize } from \"@smithy/property-provider\";\nimport { DEFAULTS_MODE_OPTIONS } from \"./constants\";\nexport const resolveDefaultsModeConfig = ({ defaultsMode, } = {}) => memoize(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode?.toLowerCase()) {\n case \"auto\":\n return Promise.resolve(useMobileConfiguration() ? \"mobile\" : \"standard\");\n case \"mobile\":\n case \"in-region\":\n case \"cross-region\":\n case \"standard\":\n case \"legacy\":\n return Promise.resolve(mode?.toLocaleLowerCase());\n case undefined:\n return Promise.resolve(\"legacy\");\n default:\n throw new Error(`Invalid parameter for \"defaultsMode\", expect ${DEFAULTS_MODE_OPTIONS.join(\", \")}, got ${mode}`);\n }\n});\nconst useMobileConfiguration = () => {\n const navigator = window?.navigator;\n if (navigator?.connection) {\n const { effectiveType, rtt, downlink } = navigator?.connection;\n const slow = (typeof effectiveType === \"string\" && effectiveType !== \"4g\") || Number(rtt) > 100 || Number(downlink) < 10;\n if (slow) {\n return true;\n }\n }\n return (navigator?.userAgentData?.mobile || (typeof navigator?.maxTouchPoints === \"number\" && navigator?.maxTouchPoints > 1));\n};\n", "export * from \"./resolveDefaultsModeConfig\";\n", "import { AwsSdkSigV4ASigner, AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { AwsRestXmlProtocol } from \"@aws-sdk/core/protocols\";\nimport { SignatureV4MultiRegion } from \"@aws-sdk/signature-v4-multi-region\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { getAwsChunkedEncodingStream, sdkStreamMixin } from \"@smithy/util-stream\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultS3HttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nimport { errorTypeRegistries } from \"./schemas/schemas_0\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2006-03-01\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n getAwsChunkedEncodingStream: config?.getAwsChunkedEncodingStream ?? getAwsChunkedEncodingStream,\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultS3HttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"aws.auth#sigv4a\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4a\"),\n signer: new AwsSdkSigV4ASigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n protocol: config?.protocol ?? AwsRestXmlProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.s3\",\n errorTypeRegistries,\n xmlNamespace: \"http://s3.amazonaws.com/doc/2006-03-01/\",\n version: \"2006-03-01\",\n serviceTarget: \"AmazonS3\",\n },\n sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,\n serviceId: config?.serviceId ?? \"S3\",\n signerConstructor: config?.signerConstructor ?? SignatureV4MultiRegion,\n signingEscapePath: config?.signingEscapePath ?? false,\n urlParser: config?.urlParser ?? parseUrl,\n useArnRegion: config?.useArnRegion ?? undefined,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n", "import packageInfo from \"../package.json\";\nimport { Sha1 } from \"@aws-crypto/sha1-browser\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { createDefaultUserAgentProvider } from \"@aws-sdk/util-user-agent-browser\";\nimport { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from \"@smithy/config-resolver\";\nimport { eventStreamSerdeProvider } from \"@smithy/eventstream-serde-browser\";\nimport { FetchHttpHandler as RequestHandler, streamCollector } from \"@smithy/fetch-http-handler\";\nimport { blobHasher as streamHasher } from \"@smithy/hash-blob-browser\";\nimport { invalidProvider } from \"@smithy/invalid-dependency\";\nimport { Md5 } from \"@smithy/md5-js\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-browser\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nexport const getRuntimeConfig = (config) => {\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"browser\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? ((_) => () => Promise.reject(new Error(\"Credential is missing\"))),\n defaultUserAgentProvider: config?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventStreamSerdeProvider,\n maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,\n md5: config?.md5 ?? Md5,\n region: config?.region ?? invalidProvider(\"Region is missing\"),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),\n sha1: config?.sha1 ?? Sha1,\n sha256: config?.sha256 ?? Sha256,\n streamCollector: config?.streamCollector ?? streamCollector,\n streamHasher: config?.streamHasher ?? streamHasher,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),\n useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)),\n };\n};\n", "export const getAwsRegionExtensionConfiguration = (runtimeConfig) => {\n return {\n setRegion(region) {\n runtimeConfig.region = region;\n },\n region() {\n return runtimeConfig.region;\n },\n };\n};\nexport const resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => {\n return {\n region: awsRegionExtensionConfiguration.region(),\n };\n};\n", "export { REGION_ENV_NAME, REGION_INI_NAME, NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS, } from \"@smithy/config-resolver\";\nexport { resolveRegionConfig } from \"@smithy/config-resolver\";\n", "export function stsRegionDefaultResolver() {\n return async () => \"us-east-1\";\n}\n", "export * from \"./extensions\";\nexport * from \"./regionConfig/awsRegionConfig\";\nexport * from \"./regionConfig/stsRegionDefaultResolver\";\n", "export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n", "import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n", "import { getAddExpectContinuePlugin } from \"@aws-sdk/middleware-expect-continue\";\nimport { resolveFlexibleChecksumsConfig, } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getRegionRedirectMiddlewarePlugin, getS3ExpressHttpSigningPlugin, getS3ExpressPlugin, getValidateBucketNamePlugin, resolveS3Config, } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getSchemaSerdePlugin } from \"@smithy/core/schema\";\nimport { resolveEventStreamSerdeConfig, } from \"@smithy/eventstream-serde-config-resolver\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig, } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig, } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultS3HttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { CreateSessionCommand, } from \"./commands/CreateSessionCommand\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class S3Client extends __Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveUserAgentConfig(_config_1);\n const _config_3 = resolveFlexibleChecksumsConfig(_config_2);\n const _config_4 = resolveRetryConfig(_config_3);\n const _config_5 = resolveRegionConfig(_config_4);\n const _config_6 = resolveHostHeaderConfig(_config_5);\n const _config_7 = resolveEndpointConfig(_config_6);\n const _config_8 = resolveEventStreamSerdeConfig(_config_7);\n const _config_9 = resolveHttpAuthSchemeConfig(_config_8);\n const _config_10 = resolveS3Config(_config_9, { session: [() => this, CreateSessionCommand] });\n const _config_11 = resolveRuntimeExtensions(_config_10, configuration?.extensions || []);\n this.config = _config_11;\n this.middlewareStack.use(getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultS3HttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n \"aws.auth#sigv4a\": config.credentials,\n }),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n this.middlewareStack.use(getValidateBucketNamePlugin(this.config));\n this.middlewareStack.use(getAddExpectContinuePlugin(this.config));\n this.middlewareStack.use(getRegionRedirectMiddlewarePlugin(this.config));\n this.middlewareStack.use(getS3ExpressPlugin(this.config));\n this.middlewareStack.use(getS3ExpressHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AbortMultipartUpload$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class AbortMultipartUploadCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"AbortMultipartUpload\", {})\n .n(\"S3Client\", \"AbortMultipartUploadCommand\")\n .sc(AbortMultipartUpload$)\n .build() {\n}\n", "export function ssecMiddleware(options) {\n return (next) => async (args) => {\n const input = { ...args.input };\n const properties = [\n {\n target: \"SSECustomerKey\",\n hash: \"SSECustomerKeyMD5\",\n },\n {\n target: \"CopySourceSSECustomerKey\",\n hash: \"CopySourceSSECustomerKeyMD5\",\n },\n ];\n for (const prop of properties) {\n const value = input[prop.target];\n if (value) {\n let valueForHash;\n if (typeof value === \"string\") {\n if (isValidBase64EncodedSSECustomerKey(value, options)) {\n valueForHash = options.base64Decoder(value);\n }\n else {\n valueForHash = options.utf8Decoder(value);\n input[prop.target] = options.base64Encoder(valueForHash);\n }\n }\n else {\n valueForHash = ArrayBuffer.isView(value)\n ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength)\n : new Uint8Array(value);\n input[prop.target] = options.base64Encoder(valueForHash);\n }\n const hash = new options.md5();\n hash.update(valueForHash);\n input[prop.hash] = options.base64Encoder(await hash.digest());\n }\n }\n return next({\n ...args,\n input,\n });\n };\n}\nexport const ssecMiddlewareOptions = {\n name: \"ssecMiddleware\",\n step: \"initialize\",\n tags: [\"SSE\"],\n override: true,\n};\nexport const getSsecPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(ssecMiddleware(config), ssecMiddlewareOptions);\n },\n});\nexport function isValidBase64EncodedSSECustomerKey(str, options) {\n const base64Regex = /^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;\n if (!base64Regex.test(str))\n return false;\n try {\n const decodedBytes = options.base64Decoder(str);\n return decodedBytes.length === 32;\n }\n catch {\n return false;\n }\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CompleteMultipartUpload$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CompleteMultipartUploadCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CompleteMultipartUpload\", {})\n .n(\"S3Client\", \"CompleteMultipartUploadCommand\")\n .sc(CompleteMultipartUpload$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CopyObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CopyObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n DisableS3ExpressSessionAuth: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n CopySource: { type: \"contextParams\", name: \"CopySource\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CopyObject\", {})\n .n(\"S3Client\", \"CopyObjectCommand\")\n .sc(CopyObject$)\n .build() {\n}\n", "export function locationConstraintMiddleware(options) {\n return (next) => async (args) => {\n const { CreateBucketConfiguration } = args.input;\n const region = await options.region();\n if (!CreateBucketConfiguration?.LocationConstraint && !CreateBucketConfiguration?.Location) {\n if (region !== \"us-east-1\") {\n args.input.CreateBucketConfiguration = args.input.CreateBucketConfiguration ?? {};\n args.input.CreateBucketConfiguration.LocationConstraint = region;\n }\n }\n return next(args);\n };\n}\nexport const locationConstraintMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"LOCATION_CONSTRAINT\", \"CREATE_BUCKET_CONFIGURATION\"],\n name: \"locationConstraintMiddleware\",\n override: true,\n};\nexport const getLocationConstraintPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(locationConstraintMiddleware(config), locationConstraintMiddlewareOptions);\n },\n});\n", "import { getLocationConstraintPlugin } from \"@aws-sdk/middleware-location-constraint\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateBucket$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateBucketCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n DisableAccessPoints: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getLocationConstraintPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CreateBucket\", {})\n .n(\"S3Client\", \"CreateBucketCommand\")\n .sc(CreateBucket$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateBucketMetadataConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateBucketMetadataConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"CreateBucketMetadataConfiguration\", {})\n .n(\"S3Client\", \"CreateBucketMetadataConfigurationCommand\")\n .sc(CreateBucketMetadataConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateBucketMetadataTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateBucketMetadataTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"CreateBucketMetadataTableConfiguration\", {})\n .n(\"S3Client\", \"CreateBucketMetadataTableConfigurationCommand\")\n .sc(CreateBucketMetadataTableConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateMultipartUpload$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateMultipartUploadCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CreateMultipartUpload\", {})\n .n(\"S3Client\", \"CreateMultipartUploadCommand\")\n .sc(CreateMultipartUpload$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketAnalyticsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketAnalyticsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketAnalyticsConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketAnalyticsConfigurationCommand\")\n .sc(DeleteBucketAnalyticsConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucket$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucket\", {})\n .n(\"S3Client\", \"DeleteBucketCommand\")\n .sc(DeleteBucket$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketCors$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketCorsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketCors\", {})\n .n(\"S3Client\", \"DeleteBucketCorsCommand\")\n .sc(DeleteBucketCors$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketEncryption$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketEncryptionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketEncryption\", {})\n .n(\"S3Client\", \"DeleteBucketEncryptionCommand\")\n .sc(DeleteBucketEncryption$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketIntelligentTieringConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketIntelligentTieringConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketIntelligentTieringConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketIntelligentTieringConfigurationCommand\")\n .sc(DeleteBucketIntelligentTieringConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketInventoryConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketInventoryConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketInventoryConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketInventoryConfigurationCommand\")\n .sc(DeleteBucketInventoryConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketLifecycle$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketLifecycleCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketLifecycle\", {})\n .n(\"S3Client\", \"DeleteBucketLifecycleCommand\")\n .sc(DeleteBucketLifecycle$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketMetadataConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketMetadataConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketMetadataConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketMetadataConfigurationCommand\")\n .sc(DeleteBucketMetadataConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketMetadataTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketMetadataTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketMetadataTableConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketMetadataTableConfigurationCommand\")\n .sc(DeleteBucketMetadataTableConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketMetricsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketMetricsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketMetricsConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketMetricsConfigurationCommand\")\n .sc(DeleteBucketMetricsConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketOwnershipControls$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketOwnershipControlsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketOwnershipControls\", {})\n .n(\"S3Client\", \"DeleteBucketOwnershipControlsCommand\")\n .sc(DeleteBucketOwnershipControls$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketPolicy$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketPolicyCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketPolicy\", {})\n .n(\"S3Client\", \"DeleteBucketPolicyCommand\")\n .sc(DeleteBucketPolicy$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketReplication$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketReplicationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketReplication\", {})\n .n(\"S3Client\", \"DeleteBucketReplicationCommand\")\n .sc(DeleteBucketReplication$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketTagging\", {})\n .n(\"S3Client\", \"DeleteBucketTaggingCommand\")\n .sc(DeleteBucketTagging$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketWebsite$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketWebsiteCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketWebsite\", {})\n .n(\"S3Client\", \"DeleteBucketWebsiteCommand\")\n .sc(DeleteBucketWebsite$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"DeleteObject\", {})\n .n(\"S3Client\", \"DeleteObjectCommand\")\n .sc(DeleteObject$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteObjects$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteObjectsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"DeleteObjects\", {})\n .n(\"S3Client\", \"DeleteObjectsCommand\")\n .sc(DeleteObjects$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteObjectTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteObjectTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"DeleteObjectTagging\", {})\n .n(\"S3Client\", \"DeleteObjectTaggingCommand\")\n .sc(DeleteObjectTagging$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeletePublicAccessBlock$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeletePublicAccessBlockCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeletePublicAccessBlock\", {})\n .n(\"S3Client\", \"DeletePublicAccessBlockCommand\")\n .sc(DeletePublicAccessBlock$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketAbac$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketAbacCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketAbac\", {})\n .n(\"S3Client\", \"GetBucketAbacCommand\")\n .sc(GetBucketAbac$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketAccelerateConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketAccelerateConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketAccelerateConfiguration\", {})\n .n(\"S3Client\", \"GetBucketAccelerateConfigurationCommand\")\n .sc(GetBucketAccelerateConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketAcl$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketAclCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketAcl\", {})\n .n(\"S3Client\", \"GetBucketAclCommand\")\n .sc(GetBucketAcl$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketAnalyticsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketAnalyticsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketAnalyticsConfiguration\", {})\n .n(\"S3Client\", \"GetBucketAnalyticsConfigurationCommand\")\n .sc(GetBucketAnalyticsConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketCors$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketCorsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketCors\", {})\n .n(\"S3Client\", \"GetBucketCorsCommand\")\n .sc(GetBucketCors$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketEncryption$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketEncryptionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketEncryption\", {})\n .n(\"S3Client\", \"GetBucketEncryptionCommand\")\n .sc(GetBucketEncryption$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketIntelligentTieringConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketIntelligentTieringConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketIntelligentTieringConfiguration\", {})\n .n(\"S3Client\", \"GetBucketIntelligentTieringConfigurationCommand\")\n .sc(GetBucketIntelligentTieringConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketInventoryConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketInventoryConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketInventoryConfiguration\", {})\n .n(\"S3Client\", \"GetBucketInventoryConfigurationCommand\")\n .sc(GetBucketInventoryConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketLifecycleConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketLifecycleConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketLifecycleConfiguration\", {})\n .n(\"S3Client\", \"GetBucketLifecycleConfigurationCommand\")\n .sc(GetBucketLifecycleConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketLocation$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketLocationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketLocation\", {})\n .n(\"S3Client\", \"GetBucketLocationCommand\")\n .sc(GetBucketLocation$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketLogging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketLoggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketLogging\", {})\n .n(\"S3Client\", \"GetBucketLoggingCommand\")\n .sc(GetBucketLogging$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketMetadataConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketMetadataConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketMetadataConfiguration\", {})\n .n(\"S3Client\", \"GetBucketMetadataConfigurationCommand\")\n .sc(GetBucketMetadataConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketMetadataTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketMetadataTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketMetadataTableConfiguration\", {})\n .n(\"S3Client\", \"GetBucketMetadataTableConfigurationCommand\")\n .sc(GetBucketMetadataTableConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketMetricsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketMetricsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketMetricsConfiguration\", {})\n .n(\"S3Client\", \"GetBucketMetricsConfigurationCommand\")\n .sc(GetBucketMetricsConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketNotificationConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketNotificationConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketNotificationConfiguration\", {})\n .n(\"S3Client\", \"GetBucketNotificationConfigurationCommand\")\n .sc(GetBucketNotificationConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketOwnershipControls$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketOwnershipControlsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketOwnershipControls\", {})\n .n(\"S3Client\", \"GetBucketOwnershipControlsCommand\")\n .sc(GetBucketOwnershipControls$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketPolicy$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketPolicyCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketPolicy\", {})\n .n(\"S3Client\", \"GetBucketPolicyCommand\")\n .sc(GetBucketPolicy$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketPolicyStatus$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketPolicyStatusCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketPolicyStatus\", {})\n .n(\"S3Client\", \"GetBucketPolicyStatusCommand\")\n .sc(GetBucketPolicyStatus$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketReplication$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketReplicationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketReplication\", {})\n .n(\"S3Client\", \"GetBucketReplicationCommand\")\n .sc(GetBucketReplication$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketRequestPayment$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketRequestPaymentCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketRequestPayment\", {})\n .n(\"S3Client\", \"GetBucketRequestPaymentCommand\")\n .sc(GetBucketRequestPayment$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketTagging\", {})\n .n(\"S3Client\", \"GetBucketTaggingCommand\")\n .sc(GetBucketTagging$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketVersioning$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketVersioningCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketVersioning\", {})\n .n(\"S3Client\", \"GetBucketVersioningCommand\")\n .sc(GetBucketVersioning$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketWebsite$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketWebsiteCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketWebsite\", {})\n .n(\"S3Client\", \"GetBucketWebsiteCommand\")\n .sc(GetBucketWebsite$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectAcl$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectAclCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectAcl\", {})\n .n(\"S3Client\", \"GetObjectAclCommand\")\n .sc(GetObjectAcl$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectAttributes$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectAttributesCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectAttributes\", {})\n .n(\"S3Client\", \"GetObjectAttributesCommand\")\n .sc(GetObjectAttributes$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getS3ExpiresMiddlewarePlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestChecksumRequired: false,\n requestValidationModeMember: 'ChecksumMode',\n 'responseAlgorithms': ['CRC64NVME', 'CRC32', 'CRC32C', 'SHA256', 'SHA1'],\n }),\n getSsecPlugin(config),\n getS3ExpiresMiddlewarePlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObject\", {})\n .n(\"S3Client\", \"GetObjectCommand\")\n .sc(GetObject$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectLegalHold$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectLegalHoldCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectLegalHold\", {})\n .n(\"S3Client\", \"GetObjectLegalHoldCommand\")\n .sc(GetObjectLegalHold$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectLockConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectLockConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectLockConfiguration\", {})\n .n(\"S3Client\", \"GetObjectLockConfigurationCommand\")\n .sc(GetObjectLockConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectRetention$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectRetentionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectRetention\", {})\n .n(\"S3Client\", \"GetObjectRetentionCommand\")\n .sc(GetObjectRetention$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectTagging\", {})\n .n(\"S3Client\", \"GetObjectTaggingCommand\")\n .sc(GetObjectTagging$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectTorrent$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectTorrentCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"GetObjectTorrent\", {})\n .n(\"S3Client\", \"GetObjectTorrentCommand\")\n .sc(GetObjectTorrent$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetPublicAccessBlock$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetPublicAccessBlockCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetPublicAccessBlock\", {})\n .n(\"S3Client\", \"GetPublicAccessBlockCommand\")\n .sc(GetPublicAccessBlock$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { HeadBucket$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class HeadBucketCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"HeadBucket\", {})\n .n(\"S3Client\", \"HeadBucketCommand\")\n .sc(HeadBucket$)\n .build() {\n}\n", "import { getS3ExpiresMiddlewarePlugin, getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { HeadObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class HeadObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n getS3ExpiresMiddlewarePlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"HeadObject\", {})\n .n(\"S3Client\", \"HeadObjectCommand\")\n .sc(HeadObject$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBucketAnalyticsConfigurations$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketAnalyticsConfigurationsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBucketAnalyticsConfigurations\", {})\n .n(\"S3Client\", \"ListBucketAnalyticsConfigurationsCommand\")\n .sc(ListBucketAnalyticsConfigurations$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBucketIntelligentTieringConfigurations$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketIntelligentTieringConfigurationsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBucketIntelligentTieringConfigurations\", {})\n .n(\"S3Client\", \"ListBucketIntelligentTieringConfigurationsCommand\")\n .sc(ListBucketIntelligentTieringConfigurations$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBucketInventoryConfigurations$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketInventoryConfigurationsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBucketInventoryConfigurations\", {})\n .n(\"S3Client\", \"ListBucketInventoryConfigurationsCommand\")\n .sc(ListBucketInventoryConfigurations$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBucketMetricsConfigurations$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketMetricsConfigurationsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBucketMetricsConfigurations\", {})\n .n(\"S3Client\", \"ListBucketMetricsConfigurationsCommand\")\n .sc(ListBucketMetricsConfigurations$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBuckets$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketsCommand extends $Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBuckets\", {})\n .n(\"S3Client\", \"ListBucketsCommand\")\n .sc(ListBuckets$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListDirectoryBuckets$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListDirectoryBucketsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListDirectoryBuckets\", {})\n .n(\"S3Client\", \"ListDirectoryBucketsCommand\")\n .sc(ListDirectoryBuckets$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListMultipartUploads$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListMultipartUploadsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListMultipartUploads\", {})\n .n(\"S3Client\", \"ListMultipartUploadsCommand\")\n .sc(ListMultipartUploads$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListObjects$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListObjectsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListObjects\", {})\n .n(\"S3Client\", \"ListObjectsCommand\")\n .sc(ListObjects$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListObjectsV2$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListObjectsV2Command extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListObjectsV2\", {})\n .n(\"S3Client\", \"ListObjectsV2Command\")\n .sc(ListObjectsV2$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListObjectVersions$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListObjectVersionsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListObjectVersions\", {})\n .n(\"S3Client\", \"ListObjectVersionsCommand\")\n .sc(ListObjectVersions$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListParts$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListPartsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListParts\", {})\n .n(\"S3Client\", \"ListPartsCommand\")\n .sc(ListParts$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketAbac$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketAbacCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketAbac\", {})\n .n(\"S3Client\", \"PutBucketAbacCommand\")\n .sc(PutBucketAbac$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketAccelerateConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketAccelerateConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketAccelerateConfiguration\", {})\n .n(\"S3Client\", \"PutBucketAccelerateConfigurationCommand\")\n .sc(PutBucketAccelerateConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketAcl$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketAclCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketAcl\", {})\n .n(\"S3Client\", \"PutBucketAclCommand\")\n .sc(PutBucketAcl$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketAnalyticsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketAnalyticsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketAnalyticsConfiguration\", {})\n .n(\"S3Client\", \"PutBucketAnalyticsConfigurationCommand\")\n .sc(PutBucketAnalyticsConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketCors$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketCorsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketCors\", {})\n .n(\"S3Client\", \"PutBucketCorsCommand\")\n .sc(PutBucketCors$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketEncryption$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketEncryptionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketEncryption\", {})\n .n(\"S3Client\", \"PutBucketEncryptionCommand\")\n .sc(PutBucketEncryption$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketIntelligentTieringConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketIntelligentTieringConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketIntelligentTieringConfiguration\", {})\n .n(\"S3Client\", \"PutBucketIntelligentTieringConfigurationCommand\")\n .sc(PutBucketIntelligentTieringConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketInventoryConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketInventoryConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketInventoryConfiguration\", {})\n .n(\"S3Client\", \"PutBucketInventoryConfigurationCommand\")\n .sc(PutBucketInventoryConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketLifecycleConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketLifecycleConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketLifecycleConfiguration\", {})\n .n(\"S3Client\", \"PutBucketLifecycleConfigurationCommand\")\n .sc(PutBucketLifecycleConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketLogging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketLoggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketLogging\", {})\n .n(\"S3Client\", \"PutBucketLoggingCommand\")\n .sc(PutBucketLogging$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketMetricsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketMetricsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketMetricsConfiguration\", {})\n .n(\"S3Client\", \"PutBucketMetricsConfigurationCommand\")\n .sc(PutBucketMetricsConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketNotificationConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketNotificationConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketNotificationConfiguration\", {})\n .n(\"S3Client\", \"PutBucketNotificationConfigurationCommand\")\n .sc(PutBucketNotificationConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketOwnershipControls$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketOwnershipControlsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketOwnershipControls\", {})\n .n(\"S3Client\", \"PutBucketOwnershipControlsCommand\")\n .sc(PutBucketOwnershipControls$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketPolicy$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketPolicyCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketPolicy\", {})\n .n(\"S3Client\", \"PutBucketPolicyCommand\")\n .sc(PutBucketPolicy$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketReplication$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketReplicationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketReplication\", {})\n .n(\"S3Client\", \"PutBucketReplicationCommand\")\n .sc(PutBucketReplication$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketRequestPayment$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketRequestPaymentCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketRequestPayment\", {})\n .n(\"S3Client\", \"PutBucketRequestPaymentCommand\")\n .sc(PutBucketRequestPayment$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketTagging\", {})\n .n(\"S3Client\", \"PutBucketTaggingCommand\")\n .sc(PutBucketTagging$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketVersioning$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketVersioningCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketVersioning\", {})\n .n(\"S3Client\", \"PutBucketVersioningCommand\")\n .sc(PutBucketVersioning$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketWebsite$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketWebsiteCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketWebsite\", {})\n .n(\"S3Client\", \"PutBucketWebsiteCommand\")\n .sc(PutBucketWebsite$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectAcl$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectAclCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectAcl\", {})\n .n(\"S3Client\", \"PutObjectAclCommand\")\n .sc(PutObjectAcl$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getCheckContentLengthHeaderPlugin, getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n getCheckContentLengthHeaderPlugin(config),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObject\", {})\n .n(\"S3Client\", \"PutObjectCommand\")\n .sc(PutObject$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectLegalHold$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectLegalHoldCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectLegalHold\", {})\n .n(\"S3Client\", \"PutObjectLegalHoldCommand\")\n .sc(PutObjectLegalHold$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectLockConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectLockConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectLockConfiguration\", {})\n .n(\"S3Client\", \"PutObjectLockConfigurationCommand\")\n .sc(PutObjectLockConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectRetention$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectRetentionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectRetention\", {})\n .n(\"S3Client\", \"PutObjectRetentionCommand\")\n .sc(PutObjectRetention$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectTagging\", {})\n .n(\"S3Client\", \"PutObjectTaggingCommand\")\n .sc(PutObjectTagging$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutPublicAccessBlock$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutPublicAccessBlockCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutPublicAccessBlock\", {})\n .n(\"S3Client\", \"PutPublicAccessBlockCommand\")\n .sc(PutPublicAccessBlock$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { RenameObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class RenameObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"RenameObject\", {})\n .n(\"S3Client\", \"RenameObjectCommand\")\n .sc(RenameObject$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { RestoreObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class RestoreObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"RestoreObject\", {})\n .n(\"S3Client\", \"RestoreObjectCommand\")\n .sc(RestoreObject$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { SelectObjectContent$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class SelectObjectContentCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"SelectObjectContent\", {\n eventStream: {\n output: true,\n },\n})\n .n(\"S3Client\", \"SelectObjectContentCommand\")\n .sc(SelectObjectContent$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UpdateBucketMetadataInventoryTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UpdateBucketMetadataInventoryTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"UpdateBucketMetadataInventoryTableConfiguration\", {})\n .n(\"S3Client\", \"UpdateBucketMetadataInventoryTableConfigurationCommand\")\n .sc(UpdateBucketMetadataInventoryTableConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UpdateBucketMetadataJournalTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UpdateBucketMetadataJournalTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"UpdateBucketMetadataJournalTableConfiguration\", {})\n .n(\"S3Client\", \"UpdateBucketMetadataJournalTableConfigurationCommand\")\n .sc(UpdateBucketMetadataJournalTableConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UpdateObjectEncryption$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UpdateObjectEncryptionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"UpdateObjectEncryption\", {})\n .n(\"S3Client\", \"UpdateObjectEncryptionCommand\")\n .sc(UpdateObjectEncryption$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UploadPart$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UploadPartCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"UploadPart\", {})\n .n(\"S3Client\", \"UploadPartCommand\")\n .sc(UploadPart$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UploadPartCopy$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UploadPartCopyCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n DisableS3ExpressSessionAuth: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"UploadPartCopy\", {})\n .n(\"S3Client\", \"UploadPartCopyCommand\")\n .sc(UploadPartCopy$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { WriteGetObjectResponse$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class WriteGetObjectResponseCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseObjectLambdaEndpoint: { type: \"staticContextParams\", value: true },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"WriteGetObjectResponse\", {})\n .n(\"S3Client\", \"WriteGetObjectResponseCommand\")\n .sc(WriteGetObjectResponse$)\n .build() {\n}\n", "import { createPaginator } from \"@smithy/core\";\nimport { ListBucketsCommand } from \"../commands/ListBucketsCommand\";\nimport { S3Client } from \"../S3Client\";\nexport const paginateListBuckets = createPaginator(S3Client, ListBucketsCommand, \"ContinuationToken\", \"ContinuationToken\", \"MaxBuckets\");\n", "import { createPaginator } from \"@smithy/core\";\nimport { ListDirectoryBucketsCommand, } from \"../commands/ListDirectoryBucketsCommand\";\nimport { S3Client } from \"../S3Client\";\nexport const paginateListDirectoryBuckets = createPaginator(S3Client, ListDirectoryBucketsCommand, \"ContinuationToken\", \"ContinuationToken\", \"MaxDirectoryBuckets\");\n", "import { createPaginator } from \"@smithy/core\";\nimport { ListObjectsV2Command, } from \"../commands/ListObjectsV2Command\";\nimport { S3Client } from \"../S3Client\";\nexport const paginateListObjectsV2 = createPaginator(S3Client, ListObjectsV2Command, \"ContinuationToken\", \"NextContinuationToken\", \"MaxKeys\");\n", "import { createPaginator } from \"@smithy/core\";\nimport { ListPartsCommand } from \"../commands/ListPartsCommand\";\nimport { S3Client } from \"../S3Client\";\nexport const paginateListParts = createPaginator(S3Client, ListPartsCommand, \"PartNumberMarker\", \"NextPartNumberMarker\", \"MaxParts\");\n", "export const getCircularReplacer = () => {\n const seen = new WeakSet();\n return (key, value) => {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) {\n return \"[Circular]\";\n }\n seen.add(value);\n }\n return value;\n };\n};\n", "export const sleep = (seconds) => {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n};\n", "import { getCircularReplacer } from \"./circularReplacer\";\nexport const waiterServiceDefaults = {\n minDelay: 2,\n maxDelay: 120,\n};\nexport var WaiterState;\n(function (WaiterState) {\n WaiterState[\"ABORTED\"] = \"ABORTED\";\n WaiterState[\"FAILURE\"] = \"FAILURE\";\n WaiterState[\"SUCCESS\"] = \"SUCCESS\";\n WaiterState[\"RETRY\"] = \"RETRY\";\n WaiterState[\"TIMEOUT\"] = \"TIMEOUT\";\n})(WaiterState || (WaiterState = {}));\nexport const checkExceptions = (result) => {\n if (result.state === WaiterState.ABORTED) {\n const abortError = new Error(`${JSON.stringify({\n ...result,\n reason: \"Request was aborted\",\n }, getCircularReplacer())}`);\n abortError.name = \"AbortError\";\n throw abortError;\n }\n else if (result.state === WaiterState.TIMEOUT) {\n const timeoutError = new Error(`${JSON.stringify({\n ...result,\n reason: \"Waiter has timed out\",\n }, getCircularReplacer())}`);\n timeoutError.name = \"TimeoutError\";\n throw timeoutError;\n }\n else if (result.state !== WaiterState.SUCCESS) {\n throw new Error(`${JSON.stringify(result, getCircularReplacer())}`);\n }\n return result;\n};\n", "import { getCircularReplacer } from \"./circularReplacer\";\nimport { sleep } from \"./utils/sleep\";\nimport { WaiterState } from \"./waiter\";\nconst exponentialBackoffWithJitter = (minDelay, maxDelay, attemptCeiling, attempt) => {\n if (attempt > attemptCeiling)\n return maxDelay;\n const delay = minDelay * 2 ** (attempt - 1);\n return randomInRange(minDelay, delay);\n};\nconst randomInRange = (min, max) => min + Math.random() * (max - min);\nexport const runPolling = async ({ minDelay, maxDelay, maxWaitTime, abortController, client, abortSignal }, input, acceptorChecks) => {\n const observedResponses = {};\n const { state, reason } = await acceptorChecks(client, input);\n if (reason) {\n const message = createMessageFromResponse(reason);\n observedResponses[message] |= 0;\n observedResponses[message] += 1;\n }\n if (state !== WaiterState.RETRY) {\n return { state, reason, observedResponses };\n }\n let currentAttempt = 1;\n const waitUntil = Date.now() + maxWaitTime * 1000;\n const attemptCeiling = Math.log(maxDelay / minDelay) / Math.log(2) + 1;\n while (true) {\n if (abortController?.signal?.aborted || abortSignal?.aborted) {\n const message = \"AbortController signal aborted.\";\n observedResponses[message] |= 0;\n observedResponses[message] += 1;\n return { state: WaiterState.ABORTED, observedResponses };\n }\n const delay = exponentialBackoffWithJitter(minDelay, maxDelay, attemptCeiling, currentAttempt);\n if (Date.now() + delay * 1000 > waitUntil) {\n return { state: WaiterState.TIMEOUT, observedResponses };\n }\n await sleep(delay);\n const { state, reason } = await acceptorChecks(client, input);\n if (reason) {\n const message = createMessageFromResponse(reason);\n observedResponses[message] |= 0;\n observedResponses[message] += 1;\n }\n if (state !== WaiterState.RETRY) {\n return { state, reason, observedResponses };\n }\n currentAttempt += 1;\n }\n};\nconst createMessageFromResponse = (reason) => {\n if (reason?.$responseBodyText) {\n return `Deserialization error for body: ${reason.$responseBodyText}`;\n }\n if (reason?.$metadata?.httpStatusCode) {\n if (reason.$response || reason.message) {\n return `${reason.$response?.statusCode ?? reason.$metadata.httpStatusCode ?? \"Unknown\"}: ${reason.message}`;\n }\n return `${reason.$metadata.httpStatusCode}: OK`;\n }\n return String(reason?.message ?? JSON.stringify(reason, getCircularReplacer()) ?? \"Unknown\");\n};\n", "export const validateWaiterOptions = (options) => {\n if (options.maxWaitTime <= 0) {\n throw new Error(`WaiterConfiguration.maxWaitTime must be greater than 0`);\n }\n else if (options.minDelay <= 0) {\n throw new Error(`WaiterConfiguration.minDelay must be greater than 0`);\n }\n else if (options.maxDelay <= 0) {\n throw new Error(`WaiterConfiguration.maxDelay must be greater than 0`);\n }\n else if (options.maxWaitTime <= options.minDelay) {\n throw new Error(`WaiterConfiguration.maxWaitTime [${options.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);\n }\n else if (options.maxDelay < options.minDelay) {\n throw new Error(`WaiterConfiguration.maxDelay [${options.maxDelay}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);\n }\n};\n", "export * from \"./sleep\";\nexport * from \"./validate\";\n", "import { runPolling } from \"./poller\";\nimport { validateWaiterOptions } from \"./utils\";\nimport { waiterServiceDefaults, WaiterState } from \"./waiter\";\nconst abortTimeout = (abortSignal) => {\n let onAbort;\n const promise = new Promise((resolve) => {\n onAbort = () => resolve({ state: WaiterState.ABORTED });\n if (typeof abortSignal.addEventListener === \"function\") {\n abortSignal.addEventListener(\"abort\", onAbort);\n }\n else {\n abortSignal.onabort = onAbort;\n }\n });\n return {\n clearListener() {\n if (typeof abortSignal.removeEventListener === \"function\") {\n abortSignal.removeEventListener(\"abort\", onAbort);\n }\n },\n aborted: promise,\n };\n};\nexport const createWaiter = async (options, input, acceptorChecks) => {\n const params = {\n ...waiterServiceDefaults,\n ...options,\n };\n validateWaiterOptions(params);\n const exitConditions = [runPolling(params, input, acceptorChecks)];\n const finalize = [];\n if (options.abortSignal) {\n const { aborted, clearListener } = abortTimeout(options.abortSignal);\n finalize.push(clearListener);\n exitConditions.push(aborted);\n }\n if (options.abortController?.signal) {\n const { aborted, clearListener } = abortTimeout(options.abortController.signal);\n finalize.push(clearListener);\n exitConditions.push(aborted);\n }\n return Promise.race(exitConditions).then((result) => {\n for (const fn of finalize) {\n fn();\n }\n return result;\n });\n};\n", "export * from \"./createWaiter\";\nexport * from \"./waiter\";\n", "import { checkExceptions, createWaiter, WaiterState } from \"@smithy/util-waiter\";\nimport { HeadBucketCommand } from \"../commands/HeadBucketCommand\";\nconst checkState = async (client, input) => {\n let reason;\n try {\n let result = await client.send(new HeadBucketCommand(input));\n reason = result;\n return { state: WaiterState.SUCCESS, reason };\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: WaiterState.RETRY, reason };\n }\n }\n return { state: WaiterState.RETRY, reason };\n};\nexport const waitForBucketExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n};\nexport const waitUntilBucketExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n return checkExceptions(result);\n};\n", "import { checkExceptions, createWaiter, WaiterState } from \"@smithy/util-waiter\";\nimport { HeadBucketCommand } from \"../commands/HeadBucketCommand\";\nconst checkState = async (client, input) => {\n let reason;\n try {\n let result = await client.send(new HeadBucketCommand(input));\n reason = result;\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: WaiterState.SUCCESS, reason };\n }\n }\n return { state: WaiterState.RETRY, reason };\n};\nexport const waitForBucketNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n};\nexport const waitUntilBucketNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n return checkExceptions(result);\n};\n", "import { checkExceptions, createWaiter, WaiterState } from \"@smithy/util-waiter\";\nimport { HeadObjectCommand } from \"../commands/HeadObjectCommand\";\nconst checkState = async (client, input) => {\n let reason;\n try {\n let result = await client.send(new HeadObjectCommand(input));\n reason = result;\n return { state: WaiterState.SUCCESS, reason };\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: WaiterState.RETRY, reason };\n }\n }\n return { state: WaiterState.RETRY, reason };\n};\nexport const waitForObjectExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n};\nexport const waitUntilObjectExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n return checkExceptions(result);\n};\n", "import { checkExceptions, createWaiter, WaiterState } from \"@smithy/util-waiter\";\nimport { HeadObjectCommand } from \"../commands/HeadObjectCommand\";\nconst checkState = async (client, input) => {\n let reason;\n try {\n let result = await client.send(new HeadObjectCommand(input));\n reason = result;\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: WaiterState.SUCCESS, reason };\n }\n }\n return { state: WaiterState.RETRY, reason };\n};\nexport const waitForObjectNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n};\nexport const waitUntilObjectNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n return checkExceptions(result);\n};\n", "import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { AbortMultipartUploadCommand, } from \"./commands/AbortMultipartUploadCommand\";\nimport { CompleteMultipartUploadCommand, } from \"./commands/CompleteMultipartUploadCommand\";\nimport { CopyObjectCommand } from \"./commands/CopyObjectCommand\";\nimport { CreateBucketCommand, } from \"./commands/CreateBucketCommand\";\nimport { CreateBucketMetadataConfigurationCommand, } from \"./commands/CreateBucketMetadataConfigurationCommand\";\nimport { CreateBucketMetadataTableConfigurationCommand, } from \"./commands/CreateBucketMetadataTableConfigurationCommand\";\nimport { CreateMultipartUploadCommand, } from \"./commands/CreateMultipartUploadCommand\";\nimport { CreateSessionCommand, } from \"./commands/CreateSessionCommand\";\nimport { DeleteBucketAnalyticsConfigurationCommand, } from \"./commands/DeleteBucketAnalyticsConfigurationCommand\";\nimport { DeleteBucketCommand, } from \"./commands/DeleteBucketCommand\";\nimport { DeleteBucketCorsCommand, } from \"./commands/DeleteBucketCorsCommand\";\nimport { DeleteBucketEncryptionCommand, } from \"./commands/DeleteBucketEncryptionCommand\";\nimport { DeleteBucketIntelligentTieringConfigurationCommand, } from \"./commands/DeleteBucketIntelligentTieringConfigurationCommand\";\nimport { DeleteBucketInventoryConfigurationCommand, } from \"./commands/DeleteBucketInventoryConfigurationCommand\";\nimport { DeleteBucketLifecycleCommand, } from \"./commands/DeleteBucketLifecycleCommand\";\nimport { DeleteBucketMetadataConfigurationCommand, } from \"./commands/DeleteBucketMetadataConfigurationCommand\";\nimport { DeleteBucketMetadataTableConfigurationCommand, } from \"./commands/DeleteBucketMetadataTableConfigurationCommand\";\nimport { DeleteBucketMetricsConfigurationCommand, } from \"./commands/DeleteBucketMetricsConfigurationCommand\";\nimport { DeleteBucketOwnershipControlsCommand, } from \"./commands/DeleteBucketOwnershipControlsCommand\";\nimport { DeleteBucketPolicyCommand, } from \"./commands/DeleteBucketPolicyCommand\";\nimport { DeleteBucketReplicationCommand, } from \"./commands/DeleteBucketReplicationCommand\";\nimport { DeleteBucketTaggingCommand, } from \"./commands/DeleteBucketTaggingCommand\";\nimport { DeleteBucketWebsiteCommand, } from \"./commands/DeleteBucketWebsiteCommand\";\nimport { DeleteObjectCommand, } from \"./commands/DeleteObjectCommand\";\nimport { DeleteObjectsCommand, } from \"./commands/DeleteObjectsCommand\";\nimport { DeleteObjectTaggingCommand, } from \"./commands/DeleteObjectTaggingCommand\";\nimport { DeletePublicAccessBlockCommand, } from \"./commands/DeletePublicAccessBlockCommand\";\nimport { GetBucketAbacCommand, } from \"./commands/GetBucketAbacCommand\";\nimport { GetBucketAccelerateConfigurationCommand, } from \"./commands/GetBucketAccelerateConfigurationCommand\";\nimport { GetBucketAclCommand, } from \"./commands/GetBucketAclCommand\";\nimport { GetBucketAnalyticsConfigurationCommand, } from \"./commands/GetBucketAnalyticsConfigurationCommand\";\nimport { GetBucketCorsCommand, } from \"./commands/GetBucketCorsCommand\";\nimport { GetBucketEncryptionCommand, } from \"./commands/GetBucketEncryptionCommand\";\nimport { GetBucketIntelligentTieringConfigurationCommand, } from \"./commands/GetBucketIntelligentTieringConfigurationCommand\";\nimport { GetBucketInventoryConfigurationCommand, } from \"./commands/GetBucketInventoryConfigurationCommand\";\nimport { GetBucketLifecycleConfigurationCommand, } from \"./commands/GetBucketLifecycleConfigurationCommand\";\nimport { GetBucketLocationCommand, } from \"./commands/GetBucketLocationCommand\";\nimport { GetBucketLoggingCommand, } from \"./commands/GetBucketLoggingCommand\";\nimport { GetBucketMetadataConfigurationCommand, } from \"./commands/GetBucketMetadataConfigurationCommand\";\nimport { GetBucketMetadataTableConfigurationCommand, } from \"./commands/GetBucketMetadataTableConfigurationCommand\";\nimport { GetBucketMetricsConfigurationCommand, } from \"./commands/GetBucketMetricsConfigurationCommand\";\nimport { GetBucketNotificationConfigurationCommand, } from \"./commands/GetBucketNotificationConfigurationCommand\";\nimport { GetBucketOwnershipControlsCommand, } from \"./commands/GetBucketOwnershipControlsCommand\";\nimport { GetBucketPolicyCommand, } from \"./commands/GetBucketPolicyCommand\";\nimport { GetBucketPolicyStatusCommand, } from \"./commands/GetBucketPolicyStatusCommand\";\nimport { GetBucketReplicationCommand, } from \"./commands/GetBucketReplicationCommand\";\nimport { GetBucketRequestPaymentCommand, } from \"./commands/GetBucketRequestPaymentCommand\";\nimport { GetBucketTaggingCommand, } from \"./commands/GetBucketTaggingCommand\";\nimport { GetBucketVersioningCommand, } from \"./commands/GetBucketVersioningCommand\";\nimport { GetBucketWebsiteCommand, } from \"./commands/GetBucketWebsiteCommand\";\nimport { GetObjectAclCommand, } from \"./commands/GetObjectAclCommand\";\nimport { GetObjectAttributesCommand, } from \"./commands/GetObjectAttributesCommand\";\nimport { GetObjectCommand } from \"./commands/GetObjectCommand\";\nimport { GetObjectLegalHoldCommand, } from \"./commands/GetObjectLegalHoldCommand\";\nimport { GetObjectLockConfigurationCommand, } from \"./commands/GetObjectLockConfigurationCommand\";\nimport { GetObjectRetentionCommand, } from \"./commands/GetObjectRetentionCommand\";\nimport { GetObjectTaggingCommand, } from \"./commands/GetObjectTaggingCommand\";\nimport { GetObjectTorrentCommand, } from \"./commands/GetObjectTorrentCommand\";\nimport { GetPublicAccessBlockCommand, } from \"./commands/GetPublicAccessBlockCommand\";\nimport { HeadBucketCommand } from \"./commands/HeadBucketCommand\";\nimport { HeadObjectCommand } from \"./commands/HeadObjectCommand\";\nimport { ListBucketAnalyticsConfigurationsCommand, } from \"./commands/ListBucketAnalyticsConfigurationsCommand\";\nimport { ListBucketIntelligentTieringConfigurationsCommand, } from \"./commands/ListBucketIntelligentTieringConfigurationsCommand\";\nimport { ListBucketInventoryConfigurationsCommand, } from \"./commands/ListBucketInventoryConfigurationsCommand\";\nimport { ListBucketMetricsConfigurationsCommand, } from \"./commands/ListBucketMetricsConfigurationsCommand\";\nimport { ListBucketsCommand } from \"./commands/ListBucketsCommand\";\nimport { ListDirectoryBucketsCommand, } from \"./commands/ListDirectoryBucketsCommand\";\nimport { ListMultipartUploadsCommand, } from \"./commands/ListMultipartUploadsCommand\";\nimport { ListObjectsCommand } from \"./commands/ListObjectsCommand\";\nimport { ListObjectsV2Command, } from \"./commands/ListObjectsV2Command\";\nimport { ListObjectVersionsCommand, } from \"./commands/ListObjectVersionsCommand\";\nimport { ListPartsCommand } from \"./commands/ListPartsCommand\";\nimport { PutBucketAbacCommand, } from \"./commands/PutBucketAbacCommand\";\nimport { PutBucketAccelerateConfigurationCommand, } from \"./commands/PutBucketAccelerateConfigurationCommand\";\nimport { PutBucketAclCommand, } from \"./commands/PutBucketAclCommand\";\nimport { PutBucketAnalyticsConfigurationCommand, } from \"./commands/PutBucketAnalyticsConfigurationCommand\";\nimport { PutBucketCorsCommand, } from \"./commands/PutBucketCorsCommand\";\nimport { PutBucketEncryptionCommand, } from \"./commands/PutBucketEncryptionCommand\";\nimport { PutBucketIntelligentTieringConfigurationCommand, } from \"./commands/PutBucketIntelligentTieringConfigurationCommand\";\nimport { PutBucketInventoryConfigurationCommand, } from \"./commands/PutBucketInventoryConfigurationCommand\";\nimport { PutBucketLifecycleConfigurationCommand, } from \"./commands/PutBucketLifecycleConfigurationCommand\";\nimport { PutBucketLoggingCommand, } from \"./commands/PutBucketLoggingCommand\";\nimport { PutBucketMetricsConfigurationCommand, } from \"./commands/PutBucketMetricsConfigurationCommand\";\nimport { PutBucketNotificationConfigurationCommand, } from \"./commands/PutBucketNotificationConfigurationCommand\";\nimport { PutBucketOwnershipControlsCommand, } from \"./commands/PutBucketOwnershipControlsCommand\";\nimport { PutBucketPolicyCommand, } from \"./commands/PutBucketPolicyCommand\";\nimport { PutBucketReplicationCommand, } from \"./commands/PutBucketReplicationCommand\";\nimport { PutBucketRequestPaymentCommand, } from \"./commands/PutBucketRequestPaymentCommand\";\nimport { PutBucketTaggingCommand, } from \"./commands/PutBucketTaggingCommand\";\nimport { PutBucketVersioningCommand, } from \"./commands/PutBucketVersioningCommand\";\nimport { PutBucketWebsiteCommand, } from \"./commands/PutBucketWebsiteCommand\";\nimport { PutObjectAclCommand, } from \"./commands/PutObjectAclCommand\";\nimport { PutObjectCommand } from \"./commands/PutObjectCommand\";\nimport { PutObjectLegalHoldCommand, } from \"./commands/PutObjectLegalHoldCommand\";\nimport { PutObjectLockConfigurationCommand, } from \"./commands/PutObjectLockConfigurationCommand\";\nimport { PutObjectRetentionCommand, } from \"./commands/PutObjectRetentionCommand\";\nimport { PutObjectTaggingCommand, } from \"./commands/PutObjectTaggingCommand\";\nimport { PutPublicAccessBlockCommand, } from \"./commands/PutPublicAccessBlockCommand\";\nimport { RenameObjectCommand, } from \"./commands/RenameObjectCommand\";\nimport { RestoreObjectCommand, } from \"./commands/RestoreObjectCommand\";\nimport { SelectObjectContentCommand, } from \"./commands/SelectObjectContentCommand\";\nimport { UpdateBucketMetadataInventoryTableConfigurationCommand, } from \"./commands/UpdateBucketMetadataInventoryTableConfigurationCommand\";\nimport { UpdateBucketMetadataJournalTableConfigurationCommand, } from \"./commands/UpdateBucketMetadataJournalTableConfigurationCommand\";\nimport { UpdateObjectEncryptionCommand, } from \"./commands/UpdateObjectEncryptionCommand\";\nimport { UploadPartCommand } from \"./commands/UploadPartCommand\";\nimport { UploadPartCopyCommand, } from \"./commands/UploadPartCopyCommand\";\nimport { WriteGetObjectResponseCommand, } from \"./commands/WriteGetObjectResponseCommand\";\nimport { paginateListBuckets } from \"./pagination/ListBucketsPaginator\";\nimport { paginateListDirectoryBuckets } from \"./pagination/ListDirectoryBucketsPaginator\";\nimport { paginateListObjectsV2 } from \"./pagination/ListObjectsV2Paginator\";\nimport { paginateListParts } from \"./pagination/ListPartsPaginator\";\nimport { S3Client } from \"./S3Client\";\nimport { waitUntilBucketExists } from \"./waiters/waitForBucketExists\";\nimport { waitUntilBucketNotExists } from \"./waiters/waitForBucketNotExists\";\nimport { waitUntilObjectExists } from \"./waiters/waitForObjectExists\";\nimport { waitUntilObjectNotExists } from \"./waiters/waitForObjectNotExists\";\nconst commands = {\n AbortMultipartUploadCommand,\n CompleteMultipartUploadCommand,\n CopyObjectCommand,\n CreateBucketCommand,\n CreateBucketMetadataConfigurationCommand,\n CreateBucketMetadataTableConfigurationCommand,\n CreateMultipartUploadCommand,\n CreateSessionCommand,\n DeleteBucketCommand,\n DeleteBucketAnalyticsConfigurationCommand,\n DeleteBucketCorsCommand,\n DeleteBucketEncryptionCommand,\n DeleteBucketIntelligentTieringConfigurationCommand,\n DeleteBucketInventoryConfigurationCommand,\n DeleteBucketLifecycleCommand,\n DeleteBucketMetadataConfigurationCommand,\n DeleteBucketMetadataTableConfigurationCommand,\n DeleteBucketMetricsConfigurationCommand,\n DeleteBucketOwnershipControlsCommand,\n DeleteBucketPolicyCommand,\n DeleteBucketReplicationCommand,\n DeleteBucketTaggingCommand,\n DeleteBucketWebsiteCommand,\n DeleteObjectCommand,\n DeleteObjectsCommand,\n DeleteObjectTaggingCommand,\n DeletePublicAccessBlockCommand,\n GetBucketAbacCommand,\n GetBucketAccelerateConfigurationCommand,\n GetBucketAclCommand,\n GetBucketAnalyticsConfigurationCommand,\n GetBucketCorsCommand,\n GetBucketEncryptionCommand,\n GetBucketIntelligentTieringConfigurationCommand,\n GetBucketInventoryConfigurationCommand,\n GetBucketLifecycleConfigurationCommand,\n GetBucketLocationCommand,\n GetBucketLoggingCommand,\n GetBucketMetadataConfigurationCommand,\n GetBucketMetadataTableConfigurationCommand,\n GetBucketMetricsConfigurationCommand,\n GetBucketNotificationConfigurationCommand,\n GetBucketOwnershipControlsCommand,\n GetBucketPolicyCommand,\n GetBucketPolicyStatusCommand,\n GetBucketReplicationCommand,\n GetBucketRequestPaymentCommand,\n GetBucketTaggingCommand,\n GetBucketVersioningCommand,\n GetBucketWebsiteCommand,\n GetObjectCommand,\n GetObjectAclCommand,\n GetObjectAttributesCommand,\n GetObjectLegalHoldCommand,\n GetObjectLockConfigurationCommand,\n GetObjectRetentionCommand,\n GetObjectTaggingCommand,\n GetObjectTorrentCommand,\n GetPublicAccessBlockCommand,\n HeadBucketCommand,\n HeadObjectCommand,\n ListBucketAnalyticsConfigurationsCommand,\n ListBucketIntelligentTieringConfigurationsCommand,\n ListBucketInventoryConfigurationsCommand,\n ListBucketMetricsConfigurationsCommand,\n ListBucketsCommand,\n ListDirectoryBucketsCommand,\n ListMultipartUploadsCommand,\n ListObjectsCommand,\n ListObjectsV2Command,\n ListObjectVersionsCommand,\n ListPartsCommand,\n PutBucketAbacCommand,\n PutBucketAccelerateConfigurationCommand,\n PutBucketAclCommand,\n PutBucketAnalyticsConfigurationCommand,\n PutBucketCorsCommand,\n PutBucketEncryptionCommand,\n PutBucketIntelligentTieringConfigurationCommand,\n PutBucketInventoryConfigurationCommand,\n PutBucketLifecycleConfigurationCommand,\n PutBucketLoggingCommand,\n PutBucketMetricsConfigurationCommand,\n PutBucketNotificationConfigurationCommand,\n PutBucketOwnershipControlsCommand,\n PutBucketPolicyCommand,\n PutBucketReplicationCommand,\n PutBucketRequestPaymentCommand,\n PutBucketTaggingCommand,\n PutBucketVersioningCommand,\n PutBucketWebsiteCommand,\n PutObjectCommand,\n PutObjectAclCommand,\n PutObjectLegalHoldCommand,\n PutObjectLockConfigurationCommand,\n PutObjectRetentionCommand,\n PutObjectTaggingCommand,\n PutPublicAccessBlockCommand,\n RenameObjectCommand,\n RestoreObjectCommand,\n SelectObjectContentCommand,\n UpdateBucketMetadataInventoryTableConfigurationCommand,\n UpdateBucketMetadataJournalTableConfigurationCommand,\n UpdateObjectEncryptionCommand,\n UploadPartCommand,\n UploadPartCopyCommand,\n WriteGetObjectResponseCommand,\n};\nconst paginators = {\n paginateListBuckets,\n paginateListDirectoryBuckets,\n paginateListObjectsV2,\n paginateListParts,\n};\nconst waiters = {\n waitUntilBucketExists,\n waitUntilBucketNotExists,\n waitUntilObjectExists,\n waitUntilObjectNotExists,\n};\nexport class S3 extends S3Client {\n}\ncreateAggregatedClient(commands, S3, { paginators, waiters });\n", "export * from \"./AbortMultipartUploadCommand\";\nexport * from \"./CompleteMultipartUploadCommand\";\nexport * from \"./CopyObjectCommand\";\nexport * from \"./CreateBucketCommand\";\nexport * from \"./CreateBucketMetadataConfigurationCommand\";\nexport * from \"./CreateBucketMetadataTableConfigurationCommand\";\nexport * from \"./CreateMultipartUploadCommand\";\nexport * from \"./CreateSessionCommand\";\nexport * from \"./DeleteBucketAnalyticsConfigurationCommand\";\nexport * from \"./DeleteBucketCommand\";\nexport * from \"./DeleteBucketCorsCommand\";\nexport * from \"./DeleteBucketEncryptionCommand\";\nexport * from \"./DeleteBucketIntelligentTieringConfigurationCommand\";\nexport * from \"./DeleteBucketInventoryConfigurationCommand\";\nexport * from \"./DeleteBucketLifecycleCommand\";\nexport * from \"./DeleteBucketMetadataConfigurationCommand\";\nexport * from \"./DeleteBucketMetadataTableConfigurationCommand\";\nexport * from \"./DeleteBucketMetricsConfigurationCommand\";\nexport * from \"./DeleteBucketOwnershipControlsCommand\";\nexport * from \"./DeleteBucketPolicyCommand\";\nexport * from \"./DeleteBucketReplicationCommand\";\nexport * from \"./DeleteBucketTaggingCommand\";\nexport * from \"./DeleteBucketWebsiteCommand\";\nexport * from \"./DeleteObjectCommand\";\nexport * from \"./DeleteObjectTaggingCommand\";\nexport * from \"./DeleteObjectsCommand\";\nexport * from \"./DeletePublicAccessBlockCommand\";\nexport * from \"./GetBucketAbacCommand\";\nexport * from \"./GetBucketAccelerateConfigurationCommand\";\nexport * from \"./GetBucketAclCommand\";\nexport * from \"./GetBucketAnalyticsConfigurationCommand\";\nexport * from \"./GetBucketCorsCommand\";\nexport * from \"./GetBucketEncryptionCommand\";\nexport * from \"./GetBucketIntelligentTieringConfigurationCommand\";\nexport * from \"./GetBucketInventoryConfigurationCommand\";\nexport * from \"./GetBucketLifecycleConfigurationCommand\";\nexport * from \"./GetBucketLocationCommand\";\nexport * from \"./GetBucketLoggingCommand\";\nexport * from \"./GetBucketMetadataConfigurationCommand\";\nexport * from \"./GetBucketMetadataTableConfigurationCommand\";\nexport * from \"./GetBucketMetricsConfigurationCommand\";\nexport * from \"./GetBucketNotificationConfigurationCommand\";\nexport * from \"./GetBucketOwnershipControlsCommand\";\nexport * from \"./GetBucketPolicyCommand\";\nexport * from \"./GetBucketPolicyStatusCommand\";\nexport * from \"./GetBucketReplicationCommand\";\nexport * from \"./GetBucketRequestPaymentCommand\";\nexport * from \"./GetBucketTaggingCommand\";\nexport * from \"./GetBucketVersioningCommand\";\nexport * from \"./GetBucketWebsiteCommand\";\nexport * from \"./GetObjectAclCommand\";\nexport * from \"./GetObjectAttributesCommand\";\nexport * from \"./GetObjectCommand\";\nexport * from \"./GetObjectLegalHoldCommand\";\nexport * from \"./GetObjectLockConfigurationCommand\";\nexport * from \"./GetObjectRetentionCommand\";\nexport * from \"./GetObjectTaggingCommand\";\nexport * from \"./GetObjectTorrentCommand\";\nexport * from \"./GetPublicAccessBlockCommand\";\nexport * from \"./HeadBucketCommand\";\nexport * from \"./HeadObjectCommand\";\nexport * from \"./ListBucketAnalyticsConfigurationsCommand\";\nexport * from \"./ListBucketIntelligentTieringConfigurationsCommand\";\nexport * from \"./ListBucketInventoryConfigurationsCommand\";\nexport * from \"./ListBucketMetricsConfigurationsCommand\";\nexport * from \"./ListBucketsCommand\";\nexport * from \"./ListDirectoryBucketsCommand\";\nexport * from \"./ListMultipartUploadsCommand\";\nexport * from \"./ListObjectVersionsCommand\";\nexport * from \"./ListObjectsCommand\";\nexport * from \"./ListObjectsV2Command\";\nexport * from \"./ListPartsCommand\";\nexport * from \"./PutBucketAbacCommand\";\nexport * from \"./PutBucketAccelerateConfigurationCommand\";\nexport * from \"./PutBucketAclCommand\";\nexport * from \"./PutBucketAnalyticsConfigurationCommand\";\nexport * from \"./PutBucketCorsCommand\";\nexport * from \"./PutBucketEncryptionCommand\";\nexport * from \"./PutBucketIntelligentTieringConfigurationCommand\";\nexport * from \"./PutBucketInventoryConfigurationCommand\";\nexport * from \"./PutBucketLifecycleConfigurationCommand\";\nexport * from \"./PutBucketLoggingCommand\";\nexport * from \"./PutBucketMetricsConfigurationCommand\";\nexport * from \"./PutBucketNotificationConfigurationCommand\";\nexport * from \"./PutBucketOwnershipControlsCommand\";\nexport * from \"./PutBucketPolicyCommand\";\nexport * from \"./PutBucketReplicationCommand\";\nexport * from \"./PutBucketRequestPaymentCommand\";\nexport * from \"./PutBucketTaggingCommand\";\nexport * from \"./PutBucketVersioningCommand\";\nexport * from \"./PutBucketWebsiteCommand\";\nexport * from \"./PutObjectAclCommand\";\nexport * from \"./PutObjectCommand\";\nexport * from \"./PutObjectLegalHoldCommand\";\nexport * from \"./PutObjectLockConfigurationCommand\";\nexport * from \"./PutObjectRetentionCommand\";\nexport * from \"./PutObjectTaggingCommand\";\nexport * from \"./PutPublicAccessBlockCommand\";\nexport * from \"./RenameObjectCommand\";\nexport * from \"./RestoreObjectCommand\";\nexport * from \"./SelectObjectContentCommand\";\nexport * from \"./UpdateBucketMetadataInventoryTableConfigurationCommand\";\nexport * from \"./UpdateBucketMetadataJournalTableConfigurationCommand\";\nexport * from \"./UpdateObjectEncryptionCommand\";\nexport * from \"./UploadPartCommand\";\nexport * from \"./UploadPartCopyCommand\";\nexport * from \"./WriteGetObjectResponseCommand\";\n", "export {};\n", "export * from \"./Interfaces\";\nexport * from \"./ListBucketsPaginator\";\nexport * from \"./ListDirectoryBucketsPaginator\";\nexport * from \"./ListObjectsV2Paginator\";\nexport * from \"./ListPartsPaginator\";\n", "export * from \"./waitForBucketExists\";\nexport * from \"./waitForBucketNotExists\";\nexport * from \"./waitForObjectExists\";\nexport * from \"./waitForObjectNotExists\";\n", "export const BucketAbacStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const RequestCharged = {\n requester: \"requester\",\n};\nexport const RequestPayer = {\n requester: \"requester\",\n};\nexport const BucketAccelerateStatus = {\n Enabled: \"Enabled\",\n Suspended: \"Suspended\",\n};\nexport const Type = {\n AmazonCustomerByEmail: \"AmazonCustomerByEmail\",\n CanonicalUser: \"CanonicalUser\",\n Group: \"Group\",\n};\nexport const Permission = {\n FULL_CONTROL: \"FULL_CONTROL\",\n READ: \"READ\",\n READ_ACP: \"READ_ACP\",\n WRITE: \"WRITE\",\n WRITE_ACP: \"WRITE_ACP\",\n};\nexport const OwnerOverride = {\n Destination: \"Destination\",\n};\nexport const ChecksumType = {\n COMPOSITE: \"COMPOSITE\",\n FULL_OBJECT: \"FULL_OBJECT\",\n};\nexport const ServerSideEncryption = {\n AES256: \"AES256\",\n aws_fsx: \"aws:fsx\",\n aws_kms: \"aws:kms\",\n aws_kms_dsse: \"aws:kms:dsse\",\n};\nexport const ObjectCannedACL = {\n authenticated_read: \"authenticated-read\",\n aws_exec_read: \"aws-exec-read\",\n bucket_owner_full_control: \"bucket-owner-full-control\",\n bucket_owner_read: \"bucket-owner-read\",\n private: \"private\",\n public_read: \"public-read\",\n public_read_write: \"public-read-write\",\n};\nexport const ChecksumAlgorithm = {\n CRC32: \"CRC32\",\n CRC32C: \"CRC32C\",\n CRC64NVME: \"CRC64NVME\",\n SHA1: \"SHA1\",\n SHA256: \"SHA256\",\n};\nexport const MetadataDirective = {\n COPY: \"COPY\",\n REPLACE: \"REPLACE\",\n};\nexport const ObjectLockLegalHoldStatus = {\n OFF: \"OFF\",\n ON: \"ON\",\n};\nexport const ObjectLockMode = {\n COMPLIANCE: \"COMPLIANCE\",\n GOVERNANCE: \"GOVERNANCE\",\n};\nexport const StorageClass = {\n DEEP_ARCHIVE: \"DEEP_ARCHIVE\",\n EXPRESS_ONEZONE: \"EXPRESS_ONEZONE\",\n FSX_ONTAP: \"FSX_ONTAP\",\n FSX_OPENZFS: \"FSX_OPENZFS\",\n GLACIER: \"GLACIER\",\n GLACIER_IR: \"GLACIER_IR\",\n INTELLIGENT_TIERING: \"INTELLIGENT_TIERING\",\n ONEZONE_IA: \"ONEZONE_IA\",\n OUTPOSTS: \"OUTPOSTS\",\n REDUCED_REDUNDANCY: \"REDUCED_REDUNDANCY\",\n SNOW: \"SNOW\",\n STANDARD: \"STANDARD\",\n STANDARD_IA: \"STANDARD_IA\",\n};\nexport const TaggingDirective = {\n COPY: \"COPY\",\n REPLACE: \"REPLACE\",\n};\nexport const BucketCannedACL = {\n authenticated_read: \"authenticated-read\",\n private: \"private\",\n public_read: \"public-read\",\n public_read_write: \"public-read-write\",\n};\nexport const BucketNamespace = {\n ACCOUNT_REGIONAL: \"account-regional\",\n GLOBAL: \"global\",\n};\nexport const DataRedundancy = {\n SingleAvailabilityZone: \"SingleAvailabilityZone\",\n SingleLocalZone: \"SingleLocalZone\",\n};\nexport const BucketType = {\n Directory: \"Directory\",\n};\nexport const LocationType = {\n AvailabilityZone: \"AvailabilityZone\",\n LocalZone: \"LocalZone\",\n};\nexport const BucketLocationConstraint = {\n EU: \"EU\",\n af_south_1: \"af-south-1\",\n ap_east_1: \"ap-east-1\",\n ap_northeast_1: \"ap-northeast-1\",\n ap_northeast_2: \"ap-northeast-2\",\n ap_northeast_3: \"ap-northeast-3\",\n ap_south_1: \"ap-south-1\",\n ap_south_2: \"ap-south-2\",\n ap_southeast_1: \"ap-southeast-1\",\n ap_southeast_2: \"ap-southeast-2\",\n ap_southeast_3: \"ap-southeast-3\",\n ap_southeast_4: \"ap-southeast-4\",\n ap_southeast_5: \"ap-southeast-5\",\n ca_central_1: \"ca-central-1\",\n cn_north_1: \"cn-north-1\",\n cn_northwest_1: \"cn-northwest-1\",\n eu_central_1: \"eu-central-1\",\n eu_central_2: \"eu-central-2\",\n eu_north_1: \"eu-north-1\",\n eu_south_1: \"eu-south-1\",\n eu_south_2: \"eu-south-2\",\n eu_west_1: \"eu-west-1\",\n eu_west_2: \"eu-west-2\",\n eu_west_3: \"eu-west-3\",\n il_central_1: \"il-central-1\",\n me_central_1: \"me-central-1\",\n me_south_1: \"me-south-1\",\n sa_east_1: \"sa-east-1\",\n us_east_2: \"us-east-2\",\n us_gov_east_1: \"us-gov-east-1\",\n us_gov_west_1: \"us-gov-west-1\",\n us_west_1: \"us-west-1\",\n us_west_2: \"us-west-2\",\n};\nexport const ObjectOwnership = {\n BucketOwnerEnforced: \"BucketOwnerEnforced\",\n BucketOwnerPreferred: \"BucketOwnerPreferred\",\n ObjectWriter: \"ObjectWriter\",\n};\nexport const InventoryConfigurationState = {\n DISABLED: \"DISABLED\",\n ENABLED: \"ENABLED\",\n};\nexport const TableSseAlgorithm = {\n AES256: \"AES256\",\n aws_kms: \"aws:kms\",\n};\nexport const ExpirationState = {\n DISABLED: \"DISABLED\",\n ENABLED: \"ENABLED\",\n};\nexport const SessionMode = {\n ReadOnly: \"ReadOnly\",\n ReadWrite: \"ReadWrite\",\n};\nexport const AnalyticsS3ExportFileFormat = {\n CSV: \"CSV\",\n};\nexport const StorageClassAnalysisSchemaVersion = {\n V_1: \"V_1\",\n};\nexport const EncryptionType = {\n NONE: \"NONE\",\n SSE_C: \"SSE-C\",\n};\nexport const IntelligentTieringStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const IntelligentTieringAccessTier = {\n ARCHIVE_ACCESS: \"ARCHIVE_ACCESS\",\n DEEP_ARCHIVE_ACCESS: \"DEEP_ARCHIVE_ACCESS\",\n};\nexport const InventoryFormat = {\n CSV: \"CSV\",\n ORC: \"ORC\",\n Parquet: \"Parquet\",\n};\nexport const InventoryIncludedObjectVersions = {\n All: \"All\",\n Current: \"Current\",\n};\nexport const InventoryOptionalField = {\n BucketKeyStatus: \"BucketKeyStatus\",\n ChecksumAlgorithm: \"ChecksumAlgorithm\",\n ETag: \"ETag\",\n EncryptionStatus: \"EncryptionStatus\",\n IntelligentTieringAccessTier: \"IntelligentTieringAccessTier\",\n IsMultipartUploaded: \"IsMultipartUploaded\",\n LastModifiedDate: \"LastModifiedDate\",\n LifecycleExpirationDate: \"LifecycleExpirationDate\",\n ObjectAccessControlList: \"ObjectAccessControlList\",\n ObjectLockLegalHoldStatus: \"ObjectLockLegalHoldStatus\",\n ObjectLockMode: \"ObjectLockMode\",\n ObjectLockRetainUntilDate: \"ObjectLockRetainUntilDate\",\n ObjectOwner: \"ObjectOwner\",\n ReplicationStatus: \"ReplicationStatus\",\n Size: \"Size\",\n StorageClass: \"StorageClass\",\n};\nexport const InventoryFrequency = {\n Daily: \"Daily\",\n Weekly: \"Weekly\",\n};\nexport const TransitionStorageClass = {\n DEEP_ARCHIVE: \"DEEP_ARCHIVE\",\n GLACIER: \"GLACIER\",\n GLACIER_IR: \"GLACIER_IR\",\n INTELLIGENT_TIERING: \"INTELLIGENT_TIERING\",\n ONEZONE_IA: \"ONEZONE_IA\",\n STANDARD_IA: \"STANDARD_IA\",\n};\nexport const ExpirationStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const TransitionDefaultMinimumObjectSize = {\n all_storage_classes_128K: \"all_storage_classes_128K\",\n varies_by_storage_class: \"varies_by_storage_class\",\n};\nexport const BucketLogsPermission = {\n FULL_CONTROL: \"FULL_CONTROL\",\n READ: \"READ\",\n WRITE: \"WRITE\",\n};\nexport const PartitionDateSource = {\n DeliveryTime: \"DeliveryTime\",\n EventTime: \"EventTime\",\n};\nexport const S3TablesBucketType = {\n aws: \"aws\",\n customer: \"customer\",\n};\nexport const Event = {\n s3_IntelligentTiering: \"s3:IntelligentTiering\",\n s3_LifecycleExpiration_: \"s3:LifecycleExpiration:*\",\n s3_LifecycleExpiration_Delete: \"s3:LifecycleExpiration:Delete\",\n s3_LifecycleExpiration_DeleteMarkerCreated: \"s3:LifecycleExpiration:DeleteMarkerCreated\",\n s3_LifecycleTransition: \"s3:LifecycleTransition\",\n s3_ObjectAcl_Put: \"s3:ObjectAcl:Put\",\n s3_ObjectCreated_: \"s3:ObjectCreated:*\",\n s3_ObjectCreated_CompleteMultipartUpload: \"s3:ObjectCreated:CompleteMultipartUpload\",\n s3_ObjectCreated_Copy: \"s3:ObjectCreated:Copy\",\n s3_ObjectCreated_Post: \"s3:ObjectCreated:Post\",\n s3_ObjectCreated_Put: \"s3:ObjectCreated:Put\",\n s3_ObjectRemoved_: \"s3:ObjectRemoved:*\",\n s3_ObjectRemoved_Delete: \"s3:ObjectRemoved:Delete\",\n s3_ObjectRemoved_DeleteMarkerCreated: \"s3:ObjectRemoved:DeleteMarkerCreated\",\n s3_ObjectRestore_: \"s3:ObjectRestore:*\",\n s3_ObjectRestore_Completed: \"s3:ObjectRestore:Completed\",\n s3_ObjectRestore_Delete: \"s3:ObjectRestore:Delete\",\n s3_ObjectRestore_Post: \"s3:ObjectRestore:Post\",\n s3_ObjectTagging_: \"s3:ObjectTagging:*\",\n s3_ObjectTagging_Delete: \"s3:ObjectTagging:Delete\",\n s3_ObjectTagging_Put: \"s3:ObjectTagging:Put\",\n s3_ReducedRedundancyLostObject: \"s3:ReducedRedundancyLostObject\",\n s3_Replication_: \"s3:Replication:*\",\n s3_Replication_OperationFailedReplication: \"s3:Replication:OperationFailedReplication\",\n s3_Replication_OperationMissedThreshold: \"s3:Replication:OperationMissedThreshold\",\n s3_Replication_OperationNotTracked: \"s3:Replication:OperationNotTracked\",\n s3_Replication_OperationReplicatedAfterThreshold: \"s3:Replication:OperationReplicatedAfterThreshold\",\n};\nexport const FilterRuleName = {\n prefix: \"prefix\",\n suffix: \"suffix\",\n};\nexport const DeleteMarkerReplicationStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const MetricsStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const ReplicationTimeStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const ExistingObjectReplicationStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const ReplicaModificationsStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const SseKmsEncryptedObjectsStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const ReplicationRuleStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const Payer = {\n BucketOwner: \"BucketOwner\",\n Requester: \"Requester\",\n};\nexport const MFADeleteStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const BucketVersioningStatus = {\n Enabled: \"Enabled\",\n Suspended: \"Suspended\",\n};\nexport const Protocol = {\n http: \"http\",\n https: \"https\",\n};\nexport const ReplicationStatus = {\n COMPLETE: \"COMPLETE\",\n COMPLETED: \"COMPLETED\",\n FAILED: \"FAILED\",\n PENDING: \"PENDING\",\n REPLICA: \"REPLICA\",\n};\nexport const ChecksumMode = {\n ENABLED: \"ENABLED\",\n};\nexport const ObjectAttributes = {\n CHECKSUM: \"Checksum\",\n ETAG: \"ETag\",\n OBJECT_PARTS: \"ObjectParts\",\n OBJECT_SIZE: \"ObjectSize\",\n STORAGE_CLASS: \"StorageClass\",\n};\nexport const ObjectLockEnabled = {\n Enabled: \"Enabled\",\n};\nexport const ObjectLockRetentionMode = {\n COMPLIANCE: \"COMPLIANCE\",\n GOVERNANCE: \"GOVERNANCE\",\n};\nexport const ArchiveStatus = {\n ARCHIVE_ACCESS: \"ARCHIVE_ACCESS\",\n DEEP_ARCHIVE_ACCESS: \"DEEP_ARCHIVE_ACCESS\",\n};\nexport const EncodingType = {\n url: \"url\",\n};\nexport const ObjectStorageClass = {\n DEEP_ARCHIVE: \"DEEP_ARCHIVE\",\n EXPRESS_ONEZONE: \"EXPRESS_ONEZONE\",\n FSX_ONTAP: \"FSX_ONTAP\",\n FSX_OPENZFS: \"FSX_OPENZFS\",\n GLACIER: \"GLACIER\",\n GLACIER_IR: \"GLACIER_IR\",\n INTELLIGENT_TIERING: \"INTELLIGENT_TIERING\",\n ONEZONE_IA: \"ONEZONE_IA\",\n OUTPOSTS: \"OUTPOSTS\",\n REDUCED_REDUNDANCY: \"REDUCED_REDUNDANCY\",\n SNOW: \"SNOW\",\n STANDARD: \"STANDARD\",\n STANDARD_IA: \"STANDARD_IA\",\n};\nexport const OptionalObjectAttributes = {\n RESTORE_STATUS: \"RestoreStatus\",\n};\nexport const ObjectVersionStorageClass = {\n STANDARD: \"STANDARD\",\n};\nexport const MFADelete = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const Tier = {\n Bulk: \"Bulk\",\n Expedited: \"Expedited\",\n Standard: \"Standard\",\n};\nexport const ExpressionType = {\n SQL: \"SQL\",\n};\nexport const CompressionType = {\n BZIP2: \"BZIP2\",\n GZIP: \"GZIP\",\n NONE: \"NONE\",\n};\nexport const FileHeaderInfo = {\n IGNORE: \"IGNORE\",\n NONE: \"NONE\",\n USE: \"USE\",\n};\nexport const JSONType = {\n DOCUMENT: \"DOCUMENT\",\n LINES: \"LINES\",\n};\nexport const QuoteFields = {\n ALWAYS: \"ALWAYS\",\n ASNEEDED: \"ASNEEDED\",\n};\nexport const RestoreRequestType = {\n SELECT: \"SELECT\",\n};\n", "export {};\n", "export {};\n", "export * from \"./S3Client\";\nexport * from \"./S3\";\nexport * from \"./commands\";\nexport * from \"./schemas/schemas_0\";\nexport * from \"./pagination\";\nexport * from \"./waiters\";\nexport * from \"./models/enums\";\nexport * from \"./models/errors\";\nexport * from \"./models/models_0\";\nexport * from \"./models/models_1\";\nexport { S3ServiceException } from \"./models/S3ServiceException\";\n", "import { buildQueryString } from \"@smithy/querystring-builder\";\nexport function formatUrl(request) {\n const { port, query } = request;\n let { protocol, path, hostname } = request;\n if (protocol && protocol.slice(-1) !== \":\") {\n protocol += \":\";\n }\n if (port) {\n hostname += `:${port}`;\n }\n if (path && path.charAt(0) !== \"/\") {\n path = `/${path}`;\n }\n let queryString = query ? buildQueryString(query) : \"\";\n if (queryString && queryString[0] !== \"?\") {\n queryString = `?${queryString}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n let fragment = \"\";\n if (request.fragment) {\n fragment = `#${request.fragment}`;\n }\n return `${protocol}//${auth}${hostname}${path}${queryString}${fragment}`;\n}\n", "export const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const SHA256_HEADER = \"X-Amz-Content-Sha256\";\nexport const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const HOST_HEADER = \"host\";\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\n", "import { SignatureV4MultiRegion } from \"@aws-sdk/signature-v4-multi-region\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nexport class S3RequestPresigner {\n signer;\n constructor(options) {\n const resolvedOptions = {\n service: options.signingName || options.service || \"s3\",\n uriEscapePath: options.uriEscapePath || false,\n applyChecksum: options.applyChecksum || false,\n ...options,\n };\n this.signer = new SignatureV4MultiRegion(resolvedOptions);\n }\n presign(requestToSign, { unsignableHeaders = new Set(), hoistableHeaders = new Set(), unhoistableHeaders = new Set(), ...options } = {}) {\n this.prepareRequest(requestToSign, {\n unsignableHeaders,\n unhoistableHeaders,\n hoistableHeaders,\n });\n return this.signer.presign(requestToSign, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options,\n });\n }\n presignWithCredentials(requestToSign, credentials, { unsignableHeaders = new Set(), hoistableHeaders = new Set(), unhoistableHeaders = new Set(), ...options } = {}) {\n this.prepareRequest(requestToSign, {\n unsignableHeaders,\n unhoistableHeaders,\n hoistableHeaders,\n });\n return this.signer.presignWithCredentials(requestToSign, credentials, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options,\n });\n }\n prepareRequest(requestToSign, { unsignableHeaders = new Set(), unhoistableHeaders = new Set(), hoistableHeaders = new Set(), } = {}) {\n unsignableHeaders.add(\"content-type\");\n Object.keys(requestToSign.headers)\n .map((header) => header.toLowerCase())\n .filter((header) => header.startsWith(\"x-amz-server-side-encryption\"))\n .forEach((header) => {\n if (!hoistableHeaders.has(header)) {\n unhoistableHeaders.add(header);\n }\n });\n requestToSign.headers[SHA256_HEADER] = UNSIGNED_PAYLOAD;\n const currentHostHeader = requestToSign.headers.host;\n const port = requestToSign.port;\n const expectedHostHeader = `${requestToSign.hostname}${requestToSign.port != null ? \":\" + port : \"\"}`;\n if (!currentHostHeader || (currentHostHeader === requestToSign.hostname && requestToSign.port != null)) {\n requestToSign.headers.host = expectedHostHeader;\n }\n }\n}\n", "import { formatUrl } from \"@aws-sdk/util-format-url\";\nimport { getEndpointFromInstructions } from \"@smithy/middleware-endpoint\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { S3RequestPresigner } from \"./presigner\";\nexport const getSignedUrl = async (client, command, options = {}) => {\n let s3Presigner;\n let region;\n if (typeof client.config.endpointProvider === \"function\") {\n const endpointV2 = await getEndpointFromInstructions(command.input, command.constructor, client.config);\n const authScheme = endpointV2.properties?.authSchemes?.[0];\n if (authScheme?.name === \"sigv4a\") {\n region = authScheme?.signingRegionSet?.join(\",\");\n }\n else {\n region = authScheme?.signingRegion;\n }\n s3Presigner = new S3RequestPresigner({\n ...client.config,\n signingName: authScheme?.signingName,\n region: async () => region,\n });\n }\n else {\n s3Presigner = new S3RequestPresigner(client.config);\n }\n const presignInterceptMiddleware = (next, context) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request)) {\n throw new Error(\"Request to be presigned is not an valid HTTP request.\");\n }\n delete request.headers[\"amz-sdk-invocation-id\"];\n delete request.headers[\"amz-sdk-request\"];\n delete request.headers[\"x-amz-user-agent\"];\n let presigned;\n const presignerOptions = {\n ...options,\n signingRegion: options.signingRegion ?? context[\"signing_region\"] ?? region,\n signingService: options.signingService ?? context[\"signing_service\"],\n };\n if (context.s3ExpressIdentity) {\n presigned = await s3Presigner.presignWithCredentials(request, context.s3ExpressIdentity, presignerOptions);\n }\n else {\n presigned = await s3Presigner.presign(request, presignerOptions);\n }\n return {\n response: {},\n output: {\n $metadata: { httpStatusCode: 200 },\n presigned,\n },\n };\n };\n const middlewareName = \"presignInterceptMiddleware\";\n const clientStack = client.middlewareStack.clone();\n clientStack.addRelativeTo(presignInterceptMiddleware, {\n name: middlewareName,\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n });\n const handler = command.resolveMiddleware(clientStack, client.config, {});\n const { output } = await handler({ input: command.input });\n const { presigned } = output;\n return formatUrl(presigned);\n};\n", "export * from \"./getSignedUrl\";\nexport * from \"./presigner\";\n", "\n// Old env loading (Node only)\n// export const appUrl = process.env.APP_URL as string;\n//\n// export const jwtSecret: string = process.env.JWT_SECRET as string\n//\n// export const defaultRoleName = 'gen_user';\n//\n// export const encodedJwtSecret = new TextEncoder().encode(jwtSecret)\n//\n// export const s3AccessKeyId = process.env.S3_ACCESS_KEY_ID as string\n//\n// export const s3SecretAccessKey = process.env.S3_SECRET_ACCESS_KEY as string\n//\n// export const s3BucketName = process.env.S3_BUCKET_NAME as string\n//\n// export const s3Region = process.env.S3_REGION as string\n//\n// export const assetsDomain = process.env.ASSETS_DOMAIN as string;\n//\n// export const apiCacheKey = process.env.API_CACHE_KEY as string;\n//\n// export const cloudflareApiToken = process.env.CLOUDFLARE_API_TOKEN as string;\n//\n// export const cloudflareZoneId = process.env.CLOUDFLARE_ZONE_ID as string;\n//\n// export const s3Url = process.env.S3_URL as string\n//\n// export const redisUrl = process.env.REDIS_URL as string\n//\n//\n// export const expoAccessToken = process.env.EXPO_ACCESS_TOKEN as string;\n//\n// export const phonePeBaseUrl = process.env.PHONE_PE_BASE_URL as string;\n//\n// export const phonePeClientId = process.env.PHONE_PE_CLIENT_ID as string;\n//\n// export const phonePeClientVersion = Number(process.env.PHONE_PE_CLIENT_VERSION as string);\n//\n// export const phonePeClientSecret = process.env.PHONE_PE_CLIENT_SECRET as string;\n//\n// export const phonePeMerchantId = process.env.PHONE_PE_MERCHANT_ID as string;\n//\n// export const razorpayId = process.env.RAZORPAY_KEY as string;\n//\n// export const razorpaySecret = process.env.RAZORPAY_SECRET as string;\n//\n// export const otpSenderAuthToken = process.env.OTP_SENDER_AUTH_TOKEN as string;\n//\n// export const minOrderValue = Number(process.env.MIN_ORDER_VALUE as string);\n//\n// export const deliveryCharge = Number(process.env.DELIVERY_CHARGE as string);\n//\n// export const telegramBotToken = process.env.TELEGRAM_BOT_TOKEN as string;\n//\n// export const telegramChatIds = (process.env.TELEGRAM_CHAT_IDS as string)?.split(',').map(id => id.trim()) || [];\n//\n// export const isDevMode = (process.env.ENV_MODE as string) === 'dev';\n\nconst getRuntimeEnv = () => (globalThis as any).ENV || (globalThis as any).process?.env || {}\n\nexport const getAppUrl = () => getRuntimeEnv().APP_URL as string\n\nexport const getJwtSecret = () => getRuntimeEnv().JWT_SECRET as string\n\nexport const defaultRoleName = 'gen_user';\n\nexport const getEncodedJwtSecret = () => {\n const env = getRuntimeEnv()\n const secret = (env.JWT_SECRET as string) || ''\n return new TextEncoder().encode(secret)\n}\n\nexport const getS3AccessKeyId = () => getRuntimeEnv().S3_ACCESS_KEY_ID as string\n\nexport const getS3SecretAccessKey = () => getRuntimeEnv().S3_SECRET_ACCESS_KEY as string\n\nexport const getS3BucketName = () => getRuntimeEnv().S3_BUCKET_NAME as string\n\nexport const getS3Region = () => getRuntimeEnv().S3_REGION as string\n\nexport const getAssetsDomain = () => getRuntimeEnv().ASSETS_DOMAIN as string\n\nexport const getApiCacheKey = () => getRuntimeEnv().API_CACHE_KEY as string\n\nexport const getCloudflareApiToken = () => getRuntimeEnv().CLOUDFLARE_API_TOKEN as string\n\nexport const getCloudflareZoneId = () => getRuntimeEnv().CLOUDFLARE_ZONE_ID as string\n\nexport const getS3Url = () => getRuntimeEnv().S3_URL as string\n\nexport const getRedisUrl = () => getRuntimeEnv().REDIS_URL as string\n\nexport const getExpoAccessToken = () => getRuntimeEnv().EXPO_ACCESS_TOKEN as string\n\nexport const getPhonePeBaseUrl = () => getRuntimeEnv().PHONE_PE_BASE_URL as string\n\nexport const getPhonePeClientId = () => getRuntimeEnv().PHONE_PE_CLIENT_ID as string\n\nexport const getPhonePeClientVersion = () => Number(getRuntimeEnv().PHONE_PE_CLIENT_VERSION as string)\n\nexport const getPhonePeClientSecret = () => getRuntimeEnv().PHONE_PE_CLIENT_SECRET as string\n\nexport const getPhonePeMerchantId = () => getRuntimeEnv().PHONE_PE_MERCHANT_ID as string\n\nexport const getRazorpayId = () => getRuntimeEnv().RAZORPAY_KEY as string\n\nexport const getRazorpaySecret = () => getRuntimeEnv().RAZORPAY_SECRET as string\n\nexport const getOtpSenderAuthToken = () => getRuntimeEnv().OTP_SENDER_AUTH_TOKEN as string\n\nexport const getMinOrderValue = () => Number(getRuntimeEnv().MIN_ORDER_VALUE as string)\n\nexport const getDeliveryCharge = () => Number(getRuntimeEnv().DELIVERY_CHARGE as string)\n\nexport const getTelegramBotToken = () => getRuntimeEnv().TELEGRAM_BOT_TOKEN as string\n\nexport const getTelegramChatIds = () => (getRuntimeEnv().TELEGRAM_CHAT_IDS as string)?.split(',').map(id => id.trim()) || []\n\nexport const getIsDevMode = () => (getRuntimeEnv().ENV_MODE as string) === 'dev'\n", "// import { s3A, awsBucketName, awsRegion, awsSecretAccessKey } from \"@/src/lib/env-exporter\"\nimport type { Buffer } from 'buffer'\nimport { DeleteObjectCommand, DeleteObjectsCommand, PutObjectCommand, S3Client, GetObjectCommand } from \"@aws-sdk/client-s3\"\nimport { getSignedUrl } from \"@aws-sdk/s3-request-presigner\"\n// import signedUrlCache from \"@/src/lib/signed-url-cache\" // Disabled for Workers compatibility\nimport { claimUploadUrlStatus, createUploadUrlStatus } from '@/src/dbService'\nimport {\n getS3AccessKeyId,\n getS3Region,\n getS3Url,\n getS3SecretAccessKey,\n getS3BucketName,\n getAssetsDomain,\n} from \"@/src/lib/env-exporter\"\n\nlet s3Client: S3Client | null = null\nlet s3ClientKey = ''\n\nconst getS3Client = () => {\n const region = getS3Region()\n const endpoint = getS3Url()\n const accessKeyId = getS3AccessKeyId()\n const secretAccessKey = getS3SecretAccessKey()\n const nextKey = `${region}|${endpoint}|${accessKeyId}|${secretAccessKey}`\n\n if (!s3Client || nextKey !== s3ClientKey) {\n s3ClientKey = nextKey\n s3Client = new S3Client({\n region,\n endpoint,\n forcePathStyle: true,\n credentials: {\n accessKeyId,\n secretAccessKey,\n },\n })\n }\n\n return s3Client\n}\n\nexport const imageUploadS3 = async(body: Buffer, type: string, key:string) => {\n // const key = `${category}/${Date.now()}`\n const s3BucketName = getS3BucketName()\n const s3Client = getS3Client()\n const command = new PutObjectCommand({\n Bucket: s3BucketName,\n Key: key,\n Body: body,\n ContentType: type,\n })\n const resp = await s3Client.send(command)\n \n const imageUrl = `${key}`\n return imageUrl;\n}\n\n\n// export async function deleteImageUtil(...keys:string[]):Promise;\n\nexport async function deleteImageUtil({bucket = getS3BucketName(), keys}:{bucket?:string, keys: string[]}) {\n \n if (keys.length === 0) {\n return true;\n }\n try {\n const deleteParams = {\n Bucket: bucket,\n Delete: {\n Objects: keys.map((key) => ({ Key: key })),\n Quiet: false,\n }\n }\n \n const deleteCommand = new DeleteObjectsCommand(deleteParams)\n await getS3Client().send(deleteCommand)\n return true\n }\n catch (error) {\n console.error(\"Error deleting image:\", error)\n throw new Error(\"Failed to delete image\")\n return false;\n }\n}\n\nexport function scaffoldAssetUrl(input: string | null): string\nexport function scaffoldAssetUrl(input: (string | null)[]): string[]\nexport function scaffoldAssetUrl(input: string | null | (string | null)[]): string | string[] {\n const assetsDomain = getAssetsDomain()\n if (Array.isArray(input)) {\n return input.map(key => scaffoldAssetUrl(key) as string);\n }\n if (!input) {\n return '';\n }\n const normalizedKey = input.replace(/^\\/+/, '');\n const domain = assetsDomain.endsWith('/')\n ? assetsDomain.slice(0, -1)\n : assetsDomain;\n return `${domain}/${normalizedKey}`;\n}\n\n\n/**\n * Generate a signed URL from an S3 URL\n * @param s3Url The full S3 URL (e.g., https://bucket-name.s3.region.amazonaws.com/path/to/object)\n * @param expiresIn Expiration time in seconds (default: 259200 seconds = 3 days)\n * @returns A pre-signed URL that provides temporary access to the object\n */\nexport async function generateSignedUrlFromS3Url(s3UrlRaw: string|null, expiresIn: number = 259200): Promise {\n if (!s3UrlRaw) {\n return '';\n }\n\n const s3Url = s3UrlRaw\n \n try {\n // Cache disabled for Workers compatibility\n // const cachedUrl = signedUrlCache.get(s3Url);\n // if (cachedUrl) {\n // return cachedUrl;\n // }\n \n // Create the command to get the object\n const command = new GetObjectCommand({\n Bucket: getS3BucketName(),\n Key: s3Url,\n });\n \n // Generate the signed URL\n const signedUrl = await getSignedUrl(getS3Client(), command, { expiresIn });\n \n // Cache disabled for Workers compatibility\n // signedUrlCache.set(s3Url, signedUrl, (expiresIn * 1000) - 60000);\n \n return signedUrl;\n } catch (error) {\n console.error(\"Error generating signed URL:\", error);\n throw new Error(\"Failed to generate signed URL\");\n }\n}\n\n/**\n * Get the original S3 URL from a signed URL\n * @param signedUrl The signed URL \n * @returns The original S3 URL if found in cache, otherwise null\n */\nexport function getOriginalUrlFromSignedUrl(signedUrl: string|null): string|null {\n // Cache disabled for Workers compatibility - cannot retrieve original URL without cache\n // To re-enable, migrate signed-url-cache to object storage (R2/S3)\n return null;\n}\n\n/**\n * Generate signed URLs for multiple S3 URLs\n * @param s3Urls Array of S3 URLs or null values\n * @param expiresIn Expiration time in seconds (default: 259200 seconds = 3 days)\n * @returns Array of signed URLs (empty strings for null/invalid inputs)\n */\nexport async function generateSignedUrlsFromS3Urls(s3Urls: (string|null)[], expiresIn: number = 259200): Promise {\n if (!s3Urls || !s3Urls.length) {\n return [];\n }\n\n try {\n // Process URLs in parallel for better performance\n const signedUrls = await Promise.all(\n s3Urls.map(url => generateSignedUrlFromS3Url(url, expiresIn).catch(() => ''))\n );\n \n return signedUrls;\n } catch (error) {\n console.error(\"Error generating multiple signed URLs:\", error);\n // Return an array of empty strings with the same length as input\n return s3Urls.map(() => '');\n }\n}\n\nexport async function generateUploadUrl(key: string, mimeType: string, expiresIn: number = 180): Promise {\n try {\n // Insert record into upload_url_status\n await createUploadUrlStatus(key)\n\n // Generate signed upload URL\n const command = new PutObjectCommand({\n Bucket: getS3BucketName(),\n Key: key,\n ContentType: mimeType,\n });\n\n const signedUrl = await getSignedUrl(getS3Client(), command, { expiresIn });\n return signedUrl;\n } catch (error) {\n console.error('Error generating upload URL:', error);\n throw new Error('Failed to generate upload URL');\n }\n}\n\n\n// export function extractKeyFromPresignedUrl(url:string) {\n// const u = new URL(url);\n// const rawKey = u.pathname.replace(/^\\/+/, \"\"); // remove leading slash\n// return decodeURIComponent(rawKey);\n// }\n\n// New function (excludes bucket name)\nexport function extractKeyFromPresignedUrl(url: string): string {\n const u = new URL(url);\n const rawKey = u.pathname.replace(/^\\/+/, \"\"); // remove leading slash\n const decodedKey = decodeURIComponent(rawKey);\n // Remove bucket prefix\n const parts = decodedKey.split('/');\n parts.shift(); // Remove bucket name\n return parts.join('/');\n}\n\nexport async function claimUploadUrl(url: string): Promise {\n try {\n const semiKey = extractKeyFromPresignedUrl(url);\n\n // Update status to 'claimed' if currently 'pending'\n const updated = await claimUploadUrlStatus(semiKey)\n \n if (!updated) {\n throw new Error('Upload URL not found or already claimed');\n }\n } catch (error) {\n console.error('Error claiming upload URL:', error);\n throw new Error('Failed to claim upload URL');\n }\n}\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllProductsForCache,\n getAllStoresForCache,\n getAllDeliverySlotsForCache,\n getAllSpecialDealsForCache,\n getAllProductTagsForCache,\n getProductById as getProductByIdFromDb,\n type ProductBasicData,\n type StoreBasicData,\n type DeliverySlotData,\n type SpecialDealData,\n type ProductTagData,\n} from '@/src/dbService'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\n\n// Uniform Product Type (matches getProductDetails return)\ninterface Product {\n id: number\n name: string\n shortDescription: string | null\n longDescription: string | null\n price: string\n marketPrice: string | null\n unitNotation: string\n images: string[]\n isOutOfStock: boolean\n store: { id: number; name: string; description: string | null } | null\n incrementStep: number\n productQuantity: number\n isFlashAvailable: boolean\n flashPrice: string | null\n deliverySlots: Array<{ id: number; deliveryTime: Date; freezeTime: Date; isCapacityFull: boolean }>\n specialDeals: Array<{ quantity: string; price: string; validTill: Date }>\n productTags: string[]\n}\n\nexport async function initializeProducts(): Promise {\n try {\n console.log('Initializing product store in Redis...')\n\n // Fetch all products with full details (similar to productMega logic)\n const productsData = await getAllProductsForCache()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { productInfo, units } from '@/src/db/schema'\n\n const productsData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n longDescription: productInfo.longDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n storeId: productInfo.storeId,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n productQuantity: productInfo.productQuantity,\n isFlashAvailable: productInfo.isFlashAvailable,\n flashPrice: productInfo.flashPrice,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id));\n */\n\n // Fetch all stores\n const allStores = await getAllStoresForCache()\n const storeMap = new Map(allStores.map((s) => [s.id, s]))\n\n // Fetch all delivery slots (excluding full capacity slots)\n const allDeliverySlots = await getAllDeliverySlotsForCache()\n const deliverySlotsMap = new Map()\n for (const slot of allDeliverySlots) {\n if (!deliverySlotsMap.has(slot.productId))\n deliverySlotsMap.set(slot.productId, [])\n deliverySlotsMap.get(slot.productId)!.push(slot)\n }\n\n // Fetch all special deals\n const allSpecialDeals = await getAllSpecialDealsForCache()\n const specialDealsMap = new Map()\n for (const deal of allSpecialDeals) {\n if (!specialDealsMap.has(deal.productId))\n specialDealsMap.set(deal.productId, [])\n specialDealsMap.get(deal.productId)!.push(deal)\n }\n\n // Fetch all product tags\n const allProductTags = await getAllProductTagsForCache()\n const productTagsMap = new Map()\n for (const tag of allProductTags) {\n if (!productTagsMap.has(tag.productId))\n productTagsMap.set(tag.productId, [])\n productTagsMap.get(tag.productId)!.push(tag.tagName)\n }\n\n // Store each product in Redis\n // for (const product of productsData) {\n // const signedImages = scaffoldAssetUrl(\n // (product.images as string[]) || []\n // )\n // const store = product.storeId\n // ? storeMap.get(product.storeId) || null\n // : null\n // const deliverySlots = deliverySlotsMap.get(product.id) || []\n // const specialDeals = specialDealsMap.get(product.id) || []\n // const productTags = productTagsMap.get(product.id) || []\n //\n // const productObj: Product = {\n // id: product.id,\n // name: product.name,\n // shortDescription: product.shortDescription,\n // longDescription: product.longDescription,\n // price: product.price.toString(),\n // marketPrice: product.marketPrice?.toString() || null,\n // unitNotation: product.unitShortNotation,\n // images: signedImages,\n // isOutOfStock: product.isOutOfStock,\n // store: store\n // ? { id: store.id, name: store.name, description: store.description }\n // : null,\n // incrementStep: product.incrementStep,\n // productQuantity: product.productQuantity,\n // isFlashAvailable: product.isFlashAvailable,\n // flashPrice: product.flashPrice?.toString() || null,\n // deliverySlots: deliverySlots.map((s) => ({\n // id: s.id,\n // deliveryTime: s.deliveryTime,\n // freezeTime: s.freezeTime,\n // isCapacityFull: s.isCapacityFull,\n // })),\n // specialDeals: specialDeals.map((d) => ({\n // quantity: d.quantity.toString(),\n // price: d.price.toString(),\n // validTill: d.validTill,\n // })),\n // productTags: productTags,\n // }\n //\n // await redisClient.set(`product:${product.id}`, JSON.stringify(productObj))\n // }\n\n console.log('Product store initialized successfully')\n } catch (error) {\n console.error('Error initializing product store:', error)\n }\n}\n\nexport async function getProductById(id: number): Promise {\n try {\n // const key = `product:${id}`\n // const data = await redisClient.get(key)\n // if (!data) return null\n // return JSON.parse(data) as Product\n\n const product = await getProductByIdFromDb(id)\n if (!product) return null\n\n const signedImages = scaffoldAssetUrl(\n (product.images as string[]) || []\n )\n\n // Fetch store info\n const allStores = await getAllStoresForCache()\n const store = product.storeId\n ? allStores.find(s => s.id === product.storeId) || null\n : null\n\n // Fetch delivery slots for this product\n const allDeliverySlots = await getAllDeliverySlotsForCache()\n const productSlots = allDeliverySlots.filter(s => s.productId === id)\n\n // Fetch special deals for this product\n const allSpecialDeals = await getAllSpecialDealsForCache()\n const productDeals = allSpecialDeals.filter(d => d.productId === id)\n\n // Fetch product tags for this product\n const allProductTags = await getAllProductTagsForCache()\n const productTagNames = allProductTags\n .filter(t => t.productId === id)\n .map(t => t.tagName)\n\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n longDescription: product.longDescription,\n price: product.price.toString(),\n marketPrice: product.marketPrice?.toString() || null,\n unitNotation: product.unit.shortNotation,\n images: signedImages,\n isOutOfStock: product.isOutOfStock,\n store: store\n ? { id: store.id, name: store.name, description: store.description }\n : null,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n isFlashAvailable: product.isFlashAvailable,\n flashPrice: product.flashPrice?.toString() || null,\n deliverySlots: productSlots.map((s) => ({\n id: s.id,\n deliveryTime: s.deliveryTime,\n freezeTime: s.freezeTime,\n isCapacityFull: s.isCapacityFull,\n })),\n specialDeals: productDeals.map((d) => ({\n quantity: d.quantity.toString(),\n price: d.price.toString(),\n validTill: d.validTill,\n })),\n productTags: productTagNames,\n }\n } catch (error) {\n console.error(`Error getting product ${id}:`, error)\n return null\n }\n}\n\nexport async function getAllProducts(): Promise {\n try {\n // Get all keys matching the pattern \"product:*\"\n // const keys = await redisClient.KEYS('product:*')\n //\n // if (keys.length === 0) {\n // return []\n // }\n //\n // // Get all products using MGET for better performance\n // const productsData = await redisClient.MGET(keys)\n //\n // const products: Product[] = []\n // for (const productData of productsData) {\n // if (productData) {\n // products.push(JSON.parse(productData) as Product)\n // }\n // }\n //\n // return products\n\n const productsData = await getAllProductsForCache()\n\n const allStores = await getAllStoresForCache()\n const storeMap = new Map(allStores.map((s) => [s.id, s]))\n\n const allDeliverySlots = await getAllDeliverySlotsForCache()\n const deliverySlotsMap = new Map()\n for (const slot of allDeliverySlots) {\n if (!deliverySlotsMap.has(slot.productId))\n deliverySlotsMap.set(slot.productId, [])\n deliverySlotsMap.get(slot.productId)!.push(slot)\n }\n\n const allSpecialDeals = await getAllSpecialDealsForCache()\n const specialDealsMap = new Map()\n for (const deal of allSpecialDeals) {\n if (!specialDealsMap.has(deal.productId))\n specialDealsMap.set(deal.productId, [])\n specialDealsMap.get(deal.productId)!.push(deal)\n }\n\n const allProductTags = await getAllProductTagsForCache()\n const productTagsMap = new Map()\n for (const tag of allProductTags) {\n if (!productTagsMap.has(tag.productId))\n productTagsMap.set(tag.productId, [])\n productTagsMap.get(tag.productId)!.push(tag.tagName)\n }\n\n const products: Product[] = []\n for (const product of productsData) {\n const signedImages = scaffoldAssetUrl(\n (product.images as string[]) || []\n )\n const store = product.storeId\n ? storeMap.get(product.storeId) || null\n : null\n const deliverySlots = deliverySlotsMap.get(product.id) || []\n const specialDeals = specialDealsMap.get(product.id) || []\n const productTags = productTagsMap.get(product.id) || []\n\n products.push({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n longDescription: product.longDescription,\n price: product.price.toString(),\n marketPrice: product.marketPrice?.toString() || null,\n unitNotation: product.unitShortNotation,\n images: signedImages,\n isOutOfStock: product.isOutOfStock,\n store: store\n ? { id: store.id, name: store.name, description: store.description }\n : null,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n isFlashAvailable: product.isFlashAvailable,\n flashPrice: product.flashPrice?.toString() || null,\n deliverySlots: deliverySlots.map((s) => ({\n id: s.id,\n deliveryTime: s.deliveryTime,\n freezeTime: s.freezeTime,\n isCapacityFull: s.isCapacityFull,\n })),\n specialDeals: specialDeals.map((d) => ({\n quantity: d.quantity.toString(),\n price: d.price.toString(),\n validTill: d.validTill,\n })),\n productTags: productTags,\n })\n }\n\n return products\n } catch (error) {\n console.error('Error getting all products:', error)\n return []\n }\n}\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllTagsForCache,\n getAllTagProductMappings,\n getAllProductTags,\n getProductTagById as getProductTagByIdFromDb,\n type TagBasicData,\n type TagProductMapping,\n} from '@/src/dbService'\nimport { generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\n\n// Tag Type (matches getDashboardTags return)\ninterface Tag {\n id: number\n tagName: string\n tagDescription: string | null\n imageUrl: string | null\n isDashboardTag: boolean\n relatedStores: number[]\n productIds: number[]\n}\n\nasync function transformTagToStoreTag(tag: {\n id: number\n tagName: string\n tagDescription: string | null\n imageUrl: string | null\n isDashboardTag: boolean\n relatedStores: unknown\n products?: Array<{ productId: number }>\n}): Promise {\n const signedImageUrl = tag.imageUrl\n ? await generateSignedUrlFromS3Url(tag.imageUrl)\n : null\n\n return {\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription,\n imageUrl: signedImageUrl,\n isDashboardTag: tag.isDashboardTag,\n relatedStores: (tag.relatedStores as number[]) || [],\n productIds: tag.products ? tag.products.map(p => p.productId) : [],\n }\n}\n\nexport async function initializeProductTagStore(): Promise {\n try {\n console.log('Initializing product tag store in Redis...')\n\n // Fetch all tags\n const tagsData = await getAllTagsForCache()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { productTagInfo } from '@/src/db/schema'\n\n const tagsData = await db\n .select({\n id: productTagInfo.id,\n tagName: productTagInfo.tagName,\n tagDescription: productTagInfo.tagDescription,\n imageUrl: productTagInfo.imageUrl,\n isDashboardTag: productTagInfo.isDashboardTag,\n relatedStores: productTagInfo.relatedStores,\n })\n .from(productTagInfo);\n */\n\n // Fetch product IDs for each tag\n const productTagsData = await getAllTagProductMappings()\n\n /*\n // Old implementation - direct DB queries:\n import { productTags } from '@/src/db/schema'\n import { inArray } from 'drizzle-orm'\n\n const tagIds = tagsData.map(t => t.id);\n const productTagsData = await db\n .select({\n tagId: productTags.tagId,\n productId: productTags.productId,\n })\n .from(productTags)\n .where(inArray(productTags.tagId, tagIds));\n */\n\n // Group product IDs by tag\n const productIdsByTag = new Map()\n for (const pt of productTagsData) {\n if (!productIdsByTag.has(pt.tagId)) {\n productIdsByTag.set(pt.tagId, [])\n }\n productIdsByTag.get(pt.tagId)!.push(pt.productId)\n }\n\n // Store each tag in Redis\n // for (const tag of tagsData) {\n // const signedImageUrl = tag.imageUrl\n // ? await generateSignedUrlFromS3Url(tag.imageUrl)\n // : null\n //\n // const tagObj: Tag = {\n // id: tag.id,\n // tagName: tag.tagName,\n // tagDescription: tag.tagDescription,\n // imageUrl: signedImageUrl,\n // isDashboardTag: tag.isDashboardTag,\n // relatedStores: (tag.relatedStores as number[]) || [],\n // productIds: productIdsByTag.get(tag.id) || [],\n // }\n //\n // await redisClient.set(`tag:${tag.id}`, JSON.stringify(tagObj))\n // }\n\n console.log('Product tag store initialized successfully')\n } catch (error) {\n console.error('Error initializing product tag store:', error)\n }\n}\n\nexport async function getTagById(id: number): Promise {\n try {\n // const key = `tag:${id}`\n // const data = await redisClient.get(key)\n // if (!data) return null\n // return JSON.parse(data) as Tag\n\n const tag = await getProductTagByIdFromDb(id)\n if (!tag) return null\n\n return transformTagToStoreTag(tag)\n } catch (error) {\n console.error(`Error getting tag ${id}:`, error)\n return null\n }\n}\n\nexport async function getAllTags(): Promise {\n try {\n // Get all keys matching the pattern \"tag:*\"\n // const keys = await redisClient.KEYS('tag:*')\n //\n // if (keys.length === 0) {\n // return []\n // }\n //\n // // Get all tags using MGET for better performance\n // const tagsData = await redisClient.MGET(keys)\n //\n // const tags: Tag[] = []\n // for (const tagData of tagsData) {\n // if (tagData) {\n // tags.push(JSON.parse(tagData) as Tag)\n // }\n // }\n //\n // return tags\n\n const tags = await getAllProductTags()\n\n const result: Tag[] = []\n for (const tag of tags) {\n result.push(await transformTagToStoreTag(tag))\n }\n return result\n } catch (error) {\n console.error('Error getting all tags:', error)\n return []\n }\n}\n\nexport async function getDashboardTags(): Promise {\n try {\n // Get all keys matching the pattern \"tag:*\"\n // const keys = await redisClient.KEYS('tag:*')\n //\n // if (keys.length === 0) {\n // return []\n // }\n //\n // // Get all tags using MGET for better performance\n // const tagsData = await redisClient.MGET(keys)\n //\n // const dashboardTags: Tag[] = []\n // for (const tagData of tagsData) {\n // if (tagData) {\n // const tag = JSON.parse(tagData) as Tag\n // if (tag.isDashboardTag) {\n // dashboardTags.push(tag)\n // }\n // }\n // }\n //\n // return dashboardTags\n\n const tags = await getAllProductTags()\n\n const result: Tag[] = []\n for (const tag of tags) {\n if (tag.isDashboardTag) {\n result.push(await transformTagToStoreTag(tag))\n }\n }\n return result\n } catch (error) {\n console.error('Error getting dashboard tags:', error)\n return []\n }\n}\n\nexport async function getTagsByStoreId(storeId: number): Promise {\n try {\n // Get all keys matching the pattern \"tag:*\"\n // const keys = await redisClient.KEYS('tag:*')\n //\n // if (keys.length === 0) {\n // return []\n // }\n //\n // // Get all tags using MGET for better performance\n // const tagsData = await redisClient.MGET(keys)\n //\n // const storeTags: Tag[] = []\n // for (const tagData of tagsData) {\n // if (tagData) {\n // const tag = JSON.parse(tagData) as Tag\n // if (tag.relatedStores.includes(storeId)) {\n // storeTags.push(tag)\n // }\n // }\n // }\n //\n // return storeTags\n\n const tags = await getAllProductTags()\n\n const result: Tag[] = []\n for (const tag of tags) {\n const relatedStores = (tag.relatedStores as number[]) || []\n if (relatedStores.includes(storeId)) {\n result.push(await transformTagToStoreTag(tag))\n }\n }\n return result\n } catch (error) {\n console.error(`Error getting tags for store ${storeId}:`, error)\n return []\n }\n}\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllSlotsWithProductsForCache,\n type SlotWithProductsData,\n} from '@/src/dbService'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport dayjs from 'dayjs'\n\n// Define the structure for slot with products\ninterface SlotWithProducts {\n id: number\n deliveryTime: Date\n freezeTime: Date\n isActive: boolean\n isCapacityFull: boolean\n products: Array<{\n id: number\n name: string\n shortDescription: string | null\n productQuantity: number\n price: string\n marketPrice: string | null\n unit: string | null\n images: string[]\n isOutOfStock: boolean\n storeId: number | null\n nextDeliveryDate: Date\n }>\n}\n\ninterface SlotInfo {\n id: number\n deliveryTime: Date\n freezeTime: Date\n isCapacityFull: boolean\n}\n\nasync function transformSlotToStoreSlot(slot: SlotWithProductsData): Promise {\n return {\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isActive: slot.isActive,\n isCapacityFull: slot.isCapacityFull,\n products: slot.productSlots.map((productSlot) => ({\n id: productSlot.product.id,\n name: productSlot.product.name,\n productQuantity: productSlot.product.productQuantity,\n shortDescription: productSlot.product.shortDescription,\n price: productSlot.product.price.toString(),\n marketPrice: productSlot.product.marketPrice?.toString() || null,\n unit: productSlot.product.unit?.shortNotation || null,\n images: scaffoldAssetUrl(\n (productSlot.product.images as string[]) || []\n ),\n isOutOfStock: productSlot.product.isOutOfStock,\n storeId: productSlot.product.storeId,\n nextDeliveryDate: slot.deliveryTime,\n })),\n }\n}\n\nfunction extractSlotInfo(slot: SlotWithProductsData): SlotInfo {\n return {\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isCapacityFull: slot.isCapacityFull,\n }\n}\n\nasync function fetchAllTransformedSlots(): Promise {\n const slots = await getAllSlotsWithProductsForCache()\n return Promise.all(slots.map(transformSlotToStoreSlot))\n}\n\nexport async function initializeSlotStore(): Promise {\n try {\n console.log('Initializing slot store in Redis...')\n\n // Fetch active delivery slots with future delivery times\n const slots = await getAllSlotsWithProductsForCache()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { deliverySlotInfo } from '@/src/db/schema'\n import { eq, gt, and, asc } from 'drizzle-orm'\n\n const now = new Date();\n const slots = await db.query.deliverySlotInfo.findMany({\n where: and(\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, now),\n ),\n with: {\n productSlots: {\n with: {\n product: {\n with: {\n unit: true,\n store: true,\n },\n },\n },\n },\n },\n orderBy: asc(deliverySlotInfo.deliveryTime),\n });\n */\n\n // Transform data for storage\n const slotsWithProducts = await Promise.all(\n slots.map(async (slot) => ({\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isActive: slot.isActive,\n isCapacityFull: slot.isCapacityFull,\n products: await Promise.all(\n slot.productSlots.map(async (productSlot) => ({\n id: productSlot.product.id,\n name: productSlot.product.name,\n productQuantity: productSlot.product.productQuantity,\n shortDescription: productSlot.product.shortDescription,\n price: productSlot.product.price.toString(),\n marketPrice: productSlot.product.marketPrice?.toString() || null,\n unit: productSlot.product.unit?.shortNotation || null,\n images: scaffoldAssetUrl(\n (productSlot.product.images as string[]) || []\n ),\n isOutOfStock: productSlot.product.isOutOfStock,\n storeId: productSlot.product.storeId,\n nextDeliveryDate: slot.deliveryTime,\n }))\n ),\n }))\n )\n\n // Store each slot in Redis with key pattern \"slot:{id}\"\n // for (const slot of slotsWithProducts) {\n // await redisClient.set(`slot:${slot.id}`, JSON.stringify(slot))\n // }\n\n // Build and store product-slots map\n // Group slots by productId\n const productSlotsMap: Record = {}\n\n for (const slot of slotsWithProducts) {\n for (const product of slot.products) {\n if (!productSlotsMap[product.id]) {\n productSlotsMap[product.id] = []\n }\n productSlotsMap[product.id].push({\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isCapacityFull: slot.isCapacityFull,\n })\n }\n }\n\n // Store each product's slots in Redis with key pattern \"product:{id}:slots\"\n // for (const [productId, slotInfos] of Object.entries(productSlotsMap)) {\n // await redisClient.set(\n // `product:${productId}:slots`,\n // JSON.stringify(slotInfos)\n // )\n // }\n\n console.log('Slot store initialized successfully')\n } catch (error) {\n console.error('Error initializing slot store:', error)\n }\n}\n\nexport async function getSlotById(slotId: number): Promise {\n try {\n // const key = `slot:${slotId}`\n // const data = await redisClient.get(key)\n // if (!data) return null\n // return JSON.parse(data) as SlotWithProducts\n\n const slots = await getAllSlotsWithProductsForCache()\n const slot = slots.find(s => s.id === slotId)\n if (!slot) return null\n\n return transformSlotToStoreSlot(slot)\n } catch (error) {\n console.error(`Error getting slot ${slotId}:`, error)\n return null\n }\n}\n\nexport async function getAllSlots(): Promise {\n try {\n // Get all keys matching the pattern \"slot:*\"\n // const keys = await redisClient.KEYS('slot:*')\n //\n // if (keys.length === 0) return []\n //\n // // Get all slots using MGET for better performance\n // const slotsData = await redisClient.MGET(keys)\n //\n // const slots: SlotWithProducts[] = []\n // for (const slotData of slotsData) {\n // if (slotData) {\n // slots.push(JSON.parse(slotData) as SlotWithProducts)\n // }\n // }\n //\n // return slots\n\n return fetchAllTransformedSlots()\n } catch (error) {\n console.error('Error getting all slots:', error)\n return []\n }\n}\n\nexport async function getProductSlots(productId: number): Promise {\n try {\n // const key = `product:${productId}:slots`\n // const data = await redisClient.get(key)\n // if (!data) return []\n // return JSON.parse(data) as SlotInfo[]\n\n const slots = await getAllSlotsWithProductsForCache()\n const productSlots: SlotInfo[] = []\n\n for (const slot of slots) {\n const hasProduct = slot.productSlots.some(ps => ps.product.id === productId)\n if (hasProduct) {\n productSlots.push(extractSlotInfo(slot))\n }\n }\n\n return productSlots\n } catch (error) {\n console.error(`Error getting slots for product ${productId}:`, error)\n return []\n }\n}\n\nexport async function getAllProductsSlots(): Promise> {\n try {\n // Get all keys matching the pattern \"product:*:slots\"\n // const keys = await redisClient.KEYS('product:*:slots')\n //\n // if (keys.length === 0) return {}\n //\n // // Get all product slots using MGET for better performance\n // const productsData = await redisClient.MGET(keys)\n //\n // const result: Record = {}\n // for (const key of keys) {\n // // Extract productId from key \"product:{id}:slots\"\n // const match = key.match(/product:(\\d+):slots/)\n // if (match) {\n // const productId = parseInt(match[1], 10)\n // const dataIndex = keys.indexOf(key)\n // if (productsData[dataIndex]) {\n // result[productId] = JSON.parse(productsData[dataIndex]) as SlotInfo[]\n // }\n // }\n // }\n //\n // return result\n\n const slots = await getAllSlotsWithProductsForCache()\n const result: Record = {}\n\n for (const slot of slots) {\n const slotInfo = extractSlotInfo(slot)\n for (const productSlot of slot.productSlots) {\n const productId = productSlot.product.id\n if (!result[productId]) {\n result[productId] = []\n }\n result[productId].push(slotInfo)\n }\n }\n\n return result\n } catch (error) {\n console.error('Error getting all products slots:', error)\n return {}\n }\n}\n\nexport async function getMultipleProductsSlots(\n productIds: number[]\n): Promise> {\n try {\n if (productIds.length === 0) return {}\n\n // Build keys for all productIds\n // const keys = productIds.map((id) => `product:${id}:slots`)\n //\n // // Use MGET for batch retrieval\n // const productsData = await redisClient.MGET(keys)\n //\n // const result: Record = {}\n // for (let i = 0; i < productIds.length; i++) {\n // const data = productsData[i]\n // if (data) {\n // const slots = JSON.parse(data) as SlotInfo[]\n // // Filter out slots that are at full capacity\n // result[productIds[i]] = slots.filter((slot) => !slot.isCapacityFull)\n // }\n // }\n //\n // return result\n\n const slots = await getAllSlotsWithProductsForCache()\n const productIdSet = new Set(productIds)\n const result: Record = {}\n\n for (const productId of productIds) {\n result[productId] = []\n }\n\n for (const slot of slots) {\n const slotInfo = extractSlotInfo(slot)\n for (const productSlot of slot.productSlots) {\n const pid = productSlot.product.id\n if (productIdSet.has(pid) && !slot.isCapacityFull) {\n result[pid].push(slotInfo)\n }\n }\n }\n\n return result\n } catch (error) {\n console.error('Error getting products slots:', error)\n return {}\n }\n}\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllBannersForCache,\n getBanners,\n getBannerById as getBannerByIdFromDb,\n type BannerData,\n} from '@/src/dbService'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\n\n// Banner Type (matches getBanners return)\ninterface Banner {\n id: number\n name: string\n imageUrl: string | null\n serialNum: number | null\n productIds: number[] | null\n createdAt: Date\n}\n\nexport async function initializeBannerStore(): Promise {\n try {\n console.log('Initializing banner store in Redis...')\n\n const banners = await getAllBannersForCache()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { homeBanners } from '@/src/db/schema'\n import { isNotNull, asc } from 'drizzle-orm'\n\n const banners = await db.query.homeBanners.findMany({\n where: isNotNull(homeBanners.serialNum),\n orderBy: asc(homeBanners.serialNum),\n });\n */\n\n // Store each banner in Redis\n // for (const banner of banners) {\n // const signedImageUrl = banner.imageUrl\n // ? scaffoldAssetUrl(banner.imageUrl)\n // : banner.imageUrl\n //\n // const bannerObj: Banner = {\n // id: banner.id,\n // name: banner.name,\n // imageUrl: signedImageUrl,\n // serialNum: banner.serialNum,\n // productIds: banner.productIds,\n // createdAt: banner.createdAt,\n // }\n //\n // await redisClient.set(`banner:${banner.id}`, JSON.stringify(bannerObj))\n // }\n\n console.log('Banner store initialized successfully')\n } catch (error) {\n console.error('Error initializing banner store:', error)\n }\n}\n\nexport async function getBannerById(id: number): Promise {\n try {\n // const key = `banner:${id}`\n // const data = await redisClient.get(key)\n // if (!data) return null\n // return JSON.parse(data) as Banner\n\n const banner = await getBannerByIdFromDb(id)\n if (!banner) return null\n\n const signedImageUrl = banner.imageUrl\n ? scaffoldAssetUrl(banner.imageUrl)\n : banner.imageUrl\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: signedImageUrl,\n serialNum: banner.serialNum,\n productIds: banner.productIds,\n createdAt: banner.createdAt,\n }\n } catch (error) {\n console.error(`Error getting banner ${id}:`, error)\n return null\n }\n}\n\nexport async function getAllBanners(): Promise {\n try {\n // Get all keys matching the pattern \"banner:*\"\n // const keys = await redisClient.KEYS('banner:*')\n //\n // if (keys.length === 0) return []\n //\n // // Get all banners using MGET for better performance\n // const bannersData = await redisClient.MGET(keys)\n //\n // const banners: Banner[] = []\n // for (const bannerData of bannersData) {\n // if (bannerData) {\n // banners.push(JSON.parse(bannerData) as Banner)\n // }\n // }\n //\n // // Sort by serialNum to maintain the same order as the original query\n // banners.sort((a, b) => (a.serialNum || 0) - (b.serialNum || 0))\n //\n // return banners\n\n const banners = await getBanners()\n\n return banners.map((banner) => {\n const signedImageUrl = banner.imageUrl\n ? scaffoldAssetUrl(banner.imageUrl)\n : banner.imageUrl\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: signedImageUrl,\n serialNum: banner.serialNum,\n productIds: banner.productIds,\n createdAt: banner.createdAt,\n }\n })\n } catch (error) {\n console.error('Error getting all banners:', error)\n return []\n }\n}\n", "'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n", "'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n * \n * @param {*} value The value to test\n * \n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n}\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n * \n * @param {*} formData The formData to test\n * \n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (FormDataCtor && thing instanceof FormDataCtor) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n", "'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n \n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true\n });\n \n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n", "// eslint-disable-next-line strict\nexport default null;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n", "'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n", "'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n", "'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n", "'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n", "'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n", "import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n", "const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n", "import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !this.responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n", "'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n", "'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n", "'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n", "'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\n", "'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return (match && match[1]) || '';\n}\n", "'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n", "/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n", "import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n", "import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n", "import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n", "'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n", "import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa(\n (auth.username || '') +\n ':' +\n (auth.password ? unescape(encodeURIComponent(auth.password)) : '')\n )\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n", "import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.indexOf('file:') === 0)\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n", "import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n", "export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n", "import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst globalFetchAPI = (({ Request, Response }) => ({\n Request,\n Response,\n}))(utils.global);\n\nconst { ReadableStream, TextEncoder } = utils.global;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n globalFetchAPI,\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n", "import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n", "'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(config, config.transformResponse, response);\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n", "export const VERSION = \"1.13.6\";", "'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n", "'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n", "const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n", "'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n", "import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig,\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig,\n};\n", "/** @internal */\nexport type UnsetMarker = 'unsetMarker' & {\n __brand: 'unsetMarker';\n};\n\n/**\n * Ensures there are no duplicate keys when building a procedure.\n * @internal\n */\nexport function mergeWithoutOverrides>(\n obj1: TType,\n ...objs: Partial[]\n): TType {\n const newObj: TType = Object.assign(emptyObject(), obj1);\n\n for (const overrides of objs) {\n for (const key in overrides) {\n if (key in newObj && newObj[key] !== overrides[key]) {\n throw new Error(`Duplicate key ${key}`);\n }\n newObj[key as keyof TType] = overrides[key] as TType[keyof TType];\n }\n }\n return newObj;\n}\n\n/**\n * Check that value is object\n * @internal\n */\nexport function isObject(value: unknown): value is Record {\n return !!value && !Array.isArray(value) && typeof value === 'object';\n}\n\ntype AnyFn = ((...args: any[]) => unknown) & Record;\nexport function isFunction(fn: unknown): fn is AnyFn {\n return typeof fn === 'function';\n}\n\n/**\n * Create an object without inheriting anything from `Object.prototype`\n * @internal\n */\nexport function emptyObject>(): TObj {\n return Object.create(null);\n}\n\nconst asyncIteratorsSupported =\n typeof Symbol === 'function' && !!Symbol.asyncIterator;\n\nexport function isAsyncIterable(\n value: unknown,\n): value is AsyncIterable {\n return (\n asyncIteratorsSupported && isObject(value) && Symbol.asyncIterator in value\n );\n}\n\n/**\n * Run an IIFE\n */\nexport const run = (fn: () => TValue): TValue => fn();\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop(): void {}\n\nexport function identity(it: T): T {\n return it;\n}\n\n/**\n * Generic runtime assertion function. Throws, if the condition is not `true`.\n *\n * Can be used as a slightly less dangerous variant of type assertions. Code\n * mistakes would be revealed at runtime then (hopefully during testing).\n */\nexport function assert(\n condition: boolean,\n msg = 'no additional info',\n): asserts condition {\n if (!condition) {\n throw new Error(`AssertionError: ${msg}`);\n }\n}\n\nexport function sleep(ms = 0): Promise {\n return new Promise((res) => setTimeout(res, ms));\n}\n\n/**\n * Ponyfill for\n * [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n */\nexport function abortSignalsAnyPonyfill(signals: AbortSignal[]): AbortSignal {\n if (typeof AbortSignal.any === 'function') {\n return AbortSignal.any(signals);\n }\n\n const ac = new AbortController();\n\n for (const signal of signals) {\n if (signal.aborted) {\n trigger();\n break;\n }\n signal.addEventListener('abort', trigger, { once: true });\n }\n\n return ac.signal;\n\n function trigger() {\n ac.abort();\n for (const signal of signals) {\n signal.removeEventListener('abort', trigger);\n }\n }\n}\n", "import type { InvertKeyValue, ValueOf } from '../types';\n\n// reference: https://www.jsonrpc.org/specification\n\n/**\n * JSON-RPC 2.0 Error codes\n *\n * `-32000` to `-32099` are reserved for implementation-defined server-errors.\n * For tRPC we're copying the last digits of HTTP 4XX errors.\n */\nexport const TRPC_ERROR_CODES_BY_KEY = {\n /**\n * Invalid JSON was received by the server.\n * An error occurred on the server while parsing the JSON text.\n */\n PARSE_ERROR: -32700,\n /**\n * The JSON sent is not a valid Request object.\n */\n BAD_REQUEST: -32600, // 400\n\n // Internal JSON-RPC error\n INTERNAL_SERVER_ERROR: -32603, // 500\n NOT_IMPLEMENTED: -32603, // 501\n BAD_GATEWAY: -32603, // 502\n SERVICE_UNAVAILABLE: -32603, // 503\n GATEWAY_TIMEOUT: -32603, // 504\n\n // Implementation specific errors\n UNAUTHORIZED: -32001, // 401\n PAYMENT_REQUIRED: -32002, // 402\n FORBIDDEN: -32003, // 403\n NOT_FOUND: -32004, // 404\n METHOD_NOT_SUPPORTED: -32005, // 405\n TIMEOUT: -32008, // 408\n CONFLICT: -32009, // 409\n PRECONDITION_FAILED: -32012, // 412\n PAYLOAD_TOO_LARGE: -32013, // 413\n UNSUPPORTED_MEDIA_TYPE: -32015, // 415\n UNPROCESSABLE_CONTENT: -32022, // 422\n PRECONDITION_REQUIRED: -32028, // 428\n TOO_MANY_REQUESTS: -32029, // 429\n CLIENT_CLOSED_REQUEST: -32099, // 499\n} as const;\n\n// pure\nexport const TRPC_ERROR_CODES_BY_NUMBER: InvertKeyValue<\n typeof TRPC_ERROR_CODES_BY_KEY\n> = {\n [-32700]: 'PARSE_ERROR',\n [-32600]: 'BAD_REQUEST',\n [-32603]: 'INTERNAL_SERVER_ERROR',\n [-32001]: 'UNAUTHORIZED',\n [-32002]: 'PAYMENT_REQUIRED',\n [-32003]: 'FORBIDDEN',\n [-32004]: 'NOT_FOUND',\n [-32005]: 'METHOD_NOT_SUPPORTED',\n [-32008]: 'TIMEOUT',\n [-32009]: 'CONFLICT',\n [-32012]: 'PRECONDITION_FAILED',\n [-32013]: 'PAYLOAD_TOO_LARGE',\n [-32015]: 'UNSUPPORTED_MEDIA_TYPE',\n [-32022]: 'UNPROCESSABLE_CONTENT',\n [-32028]: 'PRECONDITION_REQUIRED',\n [-32029]: 'TOO_MANY_REQUESTS',\n [-32099]: 'CLIENT_CLOSED_REQUEST',\n};\n\nexport type TRPC_ERROR_CODE_NUMBER = ValueOf;\nexport type TRPC_ERROR_CODE_KEY = keyof typeof TRPC_ERROR_CODES_BY_KEY;\n\n/**\n * tRPC error codes that are considered retryable\n * With out of the box SSE, the client will reconnect when these errors are encountered\n */\nexport const retryableRpcCodes: TRPC_ERROR_CODE_NUMBER[] = [\n TRPC_ERROR_CODES_BY_KEY.BAD_GATEWAY,\n TRPC_ERROR_CODES_BY_KEY.SERVICE_UNAVAILABLE,\n TRPC_ERROR_CODES_BY_KEY.GATEWAY_TIMEOUT,\n TRPC_ERROR_CODES_BY_KEY.INTERNAL_SERVER_ERROR,\n];\n", "import { emptyObject } from './utils';\n\ninterface ProxyCallbackOptions {\n path: readonly string[];\n args: readonly unknown[];\n}\ntype ProxyCallback = (opts: ProxyCallbackOptions) => unknown;\n\nconst noop = () => {\n // noop\n};\n\nconst freezeIfAvailable = (obj: object) => {\n if (Object.freeze) {\n Object.freeze(obj);\n }\n};\n\nfunction createInnerProxy(\n callback: ProxyCallback,\n path: readonly string[],\n memo: Record,\n) {\n const cacheKey = path.join('.');\n\n memo[cacheKey] ??= new Proxy(noop, {\n get(_obj, key) {\n if (typeof key !== 'string' || key === 'then') {\n // special case for if the proxy is accidentally treated\n // like a PromiseLike (like in `Promise.resolve(proxy)`)\n return undefined;\n }\n return createInnerProxy(callback, [...path, key], memo);\n },\n apply(_1, _2, args) {\n const lastOfPath = path[path.length - 1];\n\n let opts = { args, path };\n // special handling for e.g. `trpc.hello.call(this, 'there')` and `trpc.hello.apply(this, ['there'])\n if (lastOfPath === 'call') {\n opts = {\n args: args.length >= 2 ? [args[1]] : [],\n path: path.slice(0, -1),\n };\n } else if (lastOfPath === 'apply') {\n opts = {\n args: args.length >= 2 ? args[1] : [],\n path: path.slice(0, -1),\n };\n }\n freezeIfAvailable(opts.args);\n freezeIfAvailable(opts.path);\n return callback(opts);\n },\n });\n\n return memo[cacheKey];\n}\n\n/**\n * Creates a proxy that calls the callback with the path and arguments\n *\n * @internal\n */\nexport const createRecursiveProxy = (\n callback: ProxyCallback,\n): TFaux => createInnerProxy(callback, [], emptyObject()) as TFaux;\n\n/**\n * Used in place of `new Proxy` where each handler will map 1 level deep to another value.\n *\n * @internal\n */\nexport const createFlatProxy = (\n callback: (path: keyof TFaux) => any,\n): TFaux => {\n return new Proxy(noop, {\n get(_obj, name) {\n if (name === 'then') {\n // special case for if the proxy is accidentally treated\n // like a PromiseLike (like in `Promise.resolve(proxy)`)\n return undefined;\n }\n return callback(name as any);\n },\n }) as TFaux;\n};\n", "import type { TRPCError } from '../error/TRPCError';\nimport type { TRPC_ERROR_CODES_BY_KEY, TRPCResponse } from '../rpc';\nimport { TRPC_ERROR_CODES_BY_NUMBER } from '../rpc';\nimport type { InvertKeyValue, ValueOf } from '../types';\nimport { isObject } from '../utils';\n\nexport const JSONRPC2_TO_HTTP_CODE: Record<\n keyof typeof TRPC_ERROR_CODES_BY_KEY,\n number\n> = {\n PARSE_ERROR: 400,\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n PAYMENT_REQUIRED: 402,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n METHOD_NOT_SUPPORTED: 405,\n TIMEOUT: 408,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n PRECONDITION_REQUIRED: 428,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500,\n NOT_IMPLEMENTED: 501,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n};\n\nexport const HTTP_CODE_TO_JSONRPC2: InvertKeyValue<\n typeof JSONRPC2_TO_HTTP_CODE\n> = {\n 400: 'BAD_REQUEST',\n 401: 'UNAUTHORIZED',\n 402: 'PAYMENT_REQUIRED',\n 403: 'FORBIDDEN',\n 404: 'NOT_FOUND',\n 405: 'METHOD_NOT_SUPPORTED',\n 408: 'TIMEOUT',\n 409: 'CONFLICT',\n 412: 'PRECONDITION_FAILED',\n 413: 'PAYLOAD_TOO_LARGE',\n 415: 'UNSUPPORTED_MEDIA_TYPE',\n 422: 'UNPROCESSABLE_CONTENT',\n 428: 'PRECONDITION_REQUIRED',\n 429: 'TOO_MANY_REQUESTS',\n 499: 'CLIENT_CLOSED_REQUEST',\n 500: 'INTERNAL_SERVER_ERROR',\n 501: 'NOT_IMPLEMENTED',\n 502: 'BAD_GATEWAY',\n 503: 'SERVICE_UNAVAILABLE',\n 504: 'GATEWAY_TIMEOUT',\n} as const;\n\nexport function getStatusCodeFromKey(\n code: keyof typeof TRPC_ERROR_CODES_BY_KEY,\n) {\n return JSONRPC2_TO_HTTP_CODE[code] ?? 500;\n}\n\nexport function getStatusKeyFromCode(\n code: keyof typeof HTTP_CODE_TO_JSONRPC2,\n): ValueOf {\n return HTTP_CODE_TO_JSONRPC2[code] ?? 'INTERNAL_SERVER_ERROR';\n}\n\nexport function getHTTPStatusCode(json: TRPCResponse | TRPCResponse[]) {\n const arr = Array.isArray(json) ? json : [json];\n const httpStatuses = new Set(\n arr.map((res) => {\n if ('error' in res && isObject(res.error.data)) {\n if (typeof res.error.data?.['httpStatus'] === 'number') {\n return res.error.data['httpStatus'];\n }\n const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];\n return getStatusCodeFromKey(code);\n }\n return 200;\n }),\n );\n\n if (httpStatuses.size !== 1) {\n return 207;\n }\n\n const httpStatus = httpStatuses.values().next().value;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return httpStatus!;\n}\n\nexport function getHTTPStatusCodeFromError(error: TRPCError) {\n return getStatusCodeFromKey(error.code);\n}\n", "function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode';\nimport type { ProcedureType } from '../procedure';\nimport type { AnyRootTypes, RootConfig } from '../rootConfig';\nimport { TRPC_ERROR_CODES_BY_KEY } from '../rpc';\nimport type { DefaultErrorShape } from './formatter';\nimport type { TRPCError } from './TRPCError';\n\n/**\n * @internal\n */\nexport function getErrorShape(opts: {\n config: RootConfig;\n error: TRPCError;\n type: ProcedureType | 'unknown';\n path: string | undefined;\n input: unknown;\n ctx: TRoot['ctx'] | undefined;\n}): TRoot['errorShape'] {\n const { path, error, config } = opts;\n const { code } = opts.error;\n const shape: DefaultErrorShape = {\n message: error.message,\n code: TRPC_ERROR_CODES_BY_KEY[code],\n data: {\n code,\n httpStatus: getHTTPStatusCodeFromError(error),\n },\n };\n if (config.isDev && typeof opts.error.stack === 'string') {\n shape.data.stack = opts.error.stack;\n }\n if (typeof path === 'string') {\n shape.data.path = path;\n }\n return config.errorFormatter({ ...opts, shape });\n}\n", "import type { ProcedureType } from '../procedure';\nimport type {\n TRPC_ERROR_CODE_KEY,\n TRPC_ERROR_CODE_NUMBER,\n TRPCErrorShape,\n} from '../rpc';\nimport type { TRPCError } from './TRPCError';\n\n/**\n * @internal\n */\nexport type ErrorFormatter = (opts: {\n error: TRPCError;\n type: ProcedureType | 'unknown';\n path: string | undefined;\n input: unknown;\n ctx: TContext | undefined;\n shape: DefaultErrorShape;\n}) => TShape;\n\n/**\n * @internal\n */\nexport type DefaultErrorData = {\n code: TRPC_ERROR_CODE_KEY;\n httpStatus: number;\n /**\n * Path to the procedure that threw the error\n */\n path?: string;\n /**\n * Stack trace of the error (only in development)\n */\n stack?: string;\n};\n\n/**\n * @internal\n */\nexport interface DefaultErrorShape extends TRPCErrorShape {\n message: string;\n code: TRPC_ERROR_CODE_NUMBER;\n}\n\nexport const defaultFormatter: ErrorFormatter = ({ shape }) => {\n return shape;\n};\n", "import type { TRPC_ERROR_CODE_KEY } from '../rpc/codes';\nimport { isObject } from '../utils';\n\nclass UnknownCauseError extends Error {\n [key: string]: unknown;\n}\nexport function getCauseFromUnknown(cause: unknown): Error | undefined {\n if (cause instanceof Error) {\n return cause;\n }\n\n const type = typeof cause;\n if (type === 'undefined' || type === 'function' || cause === null) {\n return undefined;\n }\n\n // Primitive types just get wrapped in an error\n if (type !== 'object') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return new Error(String(cause));\n }\n\n // If it's an object, we'll create a synthetic error\n if (isObject(cause)) {\n return Object.assign(new UnknownCauseError(), cause);\n }\n\n return undefined;\n}\n\nexport function getTRPCErrorFromUnknown(cause: unknown): TRPCError {\n if (cause instanceof TRPCError) {\n return cause;\n }\n if (cause instanceof Error && cause.name === 'TRPCError') {\n // https://github.com/trpc/trpc/pull/4848\n return cause as TRPCError;\n }\n\n const trpcError = new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n cause,\n });\n\n // Inherit stack from error\n if (cause instanceof Error && cause.stack) {\n trpcError.stack = cause.stack;\n }\n\n return trpcError;\n}\n\nexport class TRPCError extends Error {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore override doesn't work in all environments due to \"This member cannot have an 'override' modifier because it is not declared in the base class 'Error'\"\n public override readonly cause?: Error;\n public readonly code;\n\n constructor(opts: {\n message?: string;\n code: TRPC_ERROR_CODE_KEY;\n cause?: unknown;\n }) {\n const cause = getCauseFromUnknown(opts.cause);\n const message = opts.message ?? cause?.message ?? opts.code;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore https://github.com/tc39/proposal-error-cause\n super(message, { cause });\n\n this.code = opts.code;\n this.name = 'TRPCError';\n this.cause ??= cause;\n }\n}\n", "import type { AnyRootTypes, RootConfig } from './rootConfig';\nimport type { AnyRouter, inferRouterError } from './router';\nimport type {\n TRPCResponse,\n TRPCResponseMessage,\n TRPCResultMessage,\n} from './rpc';\nimport { isObject } from './utils';\n\n/**\n * @public\n */\nexport interface DataTransformer {\n serialize(object: any): any;\n deserialize(object: any): any;\n}\n\ninterface InputDataTransformer extends DataTransformer {\n /**\n * This function runs **on the client** before sending the data to the server.\n */\n serialize(object: any): any;\n /**\n * This function runs **on the server** to transform the data before it is passed to the resolver\n */\n deserialize(object: any): any;\n}\n\ninterface OutputDataTransformer extends DataTransformer {\n /**\n * This function runs **on the server** before sending the data to the client.\n */\n serialize(object: any): any;\n /**\n * This function runs **only on the client** to transform the data sent from the server.\n */\n deserialize(object: any): any;\n}\n\n/**\n * @public\n */\nexport interface CombinedDataTransformer {\n /**\n * Specify how the data sent from the client to the server should be transformed.\n */\n input: InputDataTransformer;\n /**\n * Specify how the data sent from the server to the client should be transformed.\n */\n output: OutputDataTransformer;\n}\n\n/**\n * @public\n */\nexport type CombinedDataTransformerClient = {\n input: Pick;\n output: Pick;\n};\n\n/**\n * @public\n */\nexport type DataTransformerOptions = CombinedDataTransformer | DataTransformer;\n\n/**\n * @internal\n */\nexport function getDataTransformer(\n transformer: DataTransformerOptions,\n): CombinedDataTransformer {\n if ('input' in transformer) {\n return transformer;\n }\n return { input: transformer, output: transformer };\n}\n\n/**\n * @internal\n */\nexport const defaultTransformer: CombinedDataTransformer = {\n input: { serialize: (obj) => obj, deserialize: (obj) => obj },\n output: { serialize: (obj) => obj, deserialize: (obj) => obj },\n};\n\nfunction transformTRPCResponseItem<\n TResponseItem extends TRPCResponse | TRPCResponseMessage,\n>(config: RootConfig, item: TResponseItem): TResponseItem {\n if ('error' in item) {\n return {\n ...item,\n error: config.transformer.output.serialize(item.error),\n };\n }\n\n if ('data' in item.result) {\n return {\n ...item,\n result: {\n ...item.result,\n data: config.transformer.output.serialize(item.result.data),\n },\n };\n }\n\n return item;\n}\n\n/**\n * Takes a unserialized `TRPCResponse` and serializes it with the router's transformers\n **/\nexport function transformTRPCResponse<\n TResponse extends\n | TRPCResponse\n | TRPCResponse[]\n | TRPCResponseMessage\n | TRPCResponseMessage[],\n>(config: RootConfig, itemOrItems: TResponse) {\n return Array.isArray(itemOrItems)\n ? itemOrItems.map((item) => transformTRPCResponseItem(config, item))\n : transformTRPCResponseItem(config, itemOrItems);\n}\n\n// FIXME:\n// - the generics here are probably unnecessary\n// - the RPC-spec could probably be simplified to combine HTTP + WS\n/** @internal */\nfunction transformResultInner(\n response:\n | TRPCResponse>\n | TRPCResponseMessage>,\n transformer: DataTransformer,\n) {\n if ('error' in response) {\n const error = transformer.deserialize(\n response.error,\n ) as inferRouterError;\n return {\n ok: false,\n error: {\n ...response,\n error,\n },\n } as const;\n }\n\n const result = {\n ...response.result,\n ...((!response.result.type || response.result.type === 'data') && {\n type: 'data',\n data: transformer.deserialize(response.result.data),\n }),\n } as TRPCResultMessage['result'];\n return { ok: true, result } as const;\n}\n\nclass TransformResultError extends Error {\n constructor() {\n super('Unable to transform response from server');\n }\n}\n\n/**\n * Transforms and validates that the result is a valid TRPCResponse\n * @internal\n */\nexport function transformResult(\n response:\n | TRPCResponse>\n | TRPCResponseMessage>,\n transformer: DataTransformer,\n): ReturnType {\n let result: ReturnType;\n try {\n // Use the data transformers on the JSON-response\n result = transformResultInner(response, transformer);\n } catch {\n throw new TransformResultError();\n }\n\n // check that output of the transformers is a valid TRPCResponse\n if (\n !result.ok &&\n (!isObject(result.error.error) ||\n typeof result.error.error['code'] !== 'number')\n ) {\n throw new TransformResultError();\n }\n if (result.ok && !isObject(result.result)) {\n throw new TransformResultError();\n }\n return result;\n}\n", "import type { Observable } from '../observable';\nimport { createRecursiveProxy } from './createProxy';\nimport { defaultFormatter } from './error/formatter';\nimport { getTRPCErrorFromUnknown, TRPCError } from './error/TRPCError';\nimport type {\n AnyProcedure,\n ErrorHandlerOptions,\n inferProcedureInput,\n inferProcedureOutput,\n LegacyObservableSubscriptionProcedure,\n} from './procedure';\nimport type { ProcedureCallOptions } from './procedureBuilder';\nimport type { AnyRootTypes, RootConfig } from './rootConfig';\nimport { defaultTransformer } from './transformer';\nimport type { MaybePromise, ValueOf } from './types';\nimport {\n emptyObject,\n isFunction,\n isObject,\n mergeWithoutOverrides,\n} from './utils';\n\nexport interface RouterRecord {\n [key: string]: AnyProcedure | RouterRecord;\n}\n\ntype DecorateProcedure = (\n input: inferProcedureInput,\n) => Promise<\n TProcedure['_def']['type'] extends 'subscription'\n ? TProcedure extends LegacyObservableSubscriptionProcedure\n ? Observable, TRPCError>\n : inferProcedureOutput\n : inferProcedureOutput\n>;\n\n/**\n * @internal\n */\nexport type DecorateRouterRecord = {\n [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value\n ? $Value extends AnyProcedure\n ? DecorateProcedure<$Value>\n : $Value extends RouterRecord\n ? DecorateRouterRecord<$Value>\n : never\n : never;\n};\n\n/**\n * @internal\n */\n\nexport type RouterCallerErrorHandler = (\n opts: ErrorHandlerOptions,\n) => void;\n\n/**\n * @internal\n */\nexport type RouterCaller<\n TRoot extends AnyRootTypes,\n TRecord extends RouterRecord,\n> = (\n /**\n * @note\n * If passing a function, we recommend it's a cached function\n * e.g. wrapped in `React.cache` to avoid unnecessary computations\n */\n ctx: TRoot['ctx'] | (() => MaybePromise),\n options?: {\n onError?: RouterCallerErrorHandler;\n signal?: AbortSignal;\n },\n) => DecorateRouterRecord;\n\n/**\n * @internal\n */\nconst lazyMarker = 'lazyMarker' as 'lazyMarker' & {\n __brand: 'lazyMarker';\n};\nexport type Lazy = (() => Promise) & { [lazyMarker]: true };\n\ntype LazyLoader = {\n load: () => Promise;\n ref: Lazy;\n};\n\nfunction once(fn: () => T): () => T {\n const uncalled = Symbol();\n let result: T | typeof uncalled = uncalled;\n return (): T => {\n if (result === uncalled) {\n result = fn();\n }\n return result;\n };\n}\n\n/**\n * Lazy load a router\n * @see https://trpc.io/docs/server/merging-routers#lazy-load\n */\nexport function lazy(\n importRouter: () => Promise<\n | TRouter\n | {\n [key: string]: TRouter;\n }\n >,\n): Lazy> {\n async function resolve(): Promise {\n const mod = await importRouter();\n\n // if the module is a router, return it\n if (isRouter(mod)) {\n return mod;\n }\n\n const routers = Object.values(mod);\n\n if (routers.length !== 1 || !isRouter(routers[0])) {\n throw new Error(\n \"Invalid router module - either define exactly 1 export or return the router directly.\\nExample: `lazy(() => import('./slow.js').then((m) => m.slowRouter))`\",\n );\n }\n\n return routers[0];\n }\n\n (resolve as Lazy>)[lazyMarker] = true as const;\n\n return resolve as Lazy>;\n}\n\nfunction isLazy(input: unknown): input is Lazy {\n return typeof input === 'function' && lazyMarker in input;\n}\n\n/**\n * @internal\n */\nexport interface RouterDef<\n TRoot extends AnyRootTypes,\n TRecord extends RouterRecord,\n> {\n _config: RootConfig;\n router: true;\n procedure?: never;\n procedures: TRecord;\n record: TRecord;\n lazy: Record>;\n}\n\nexport interface Router<\n TRoot extends AnyRootTypes,\n TRecord extends RouterRecord,\n> {\n _def: RouterDef;\n /**\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */\n createCaller: RouterCaller;\n}\n\nexport type BuiltRouter<\n TRoot extends AnyRootTypes,\n TRecord extends RouterRecord,\n> = Router & TRecord;\n\nexport interface RouterBuilder {\n (\n _: TIn,\n ): BuiltRouter>;\n}\n\nexport type AnyRouter = Router;\n\nexport type inferRouterRootTypes =\n TRouter['_def']['_config']['$types'];\n\nexport type inferRouterContext =\n inferRouterRootTypes['ctx'];\nexport type inferRouterError =\n inferRouterRootTypes['errorShape'];\nexport type inferRouterMeta =\n inferRouterRootTypes['meta'];\n\nfunction isRouter(value: unknown): value is AnyRouter {\n return (\n isObject(value) && isObject(value['_def']) && 'router' in value['_def']\n );\n}\n\nconst emptyRouter = {\n _ctx: null as any,\n _errorShape: null as any,\n _meta: null as any,\n queries: {},\n mutations: {},\n subscriptions: {},\n errorFormatter: defaultFormatter,\n transformer: defaultTransformer,\n};\n\n/**\n * Reserved words that can't be used as router or procedure names\n */\nconst reservedWords = [\n /**\n * Then is a reserved word because otherwise we can't return a promise that returns a Proxy\n * since JS will think that `.then` is something that exists\n */\n 'then',\n /**\n * `fn.call()` and `fn.apply()` are reserved words because otherwise we can't call a function using `.call` or `.apply`\n */\n 'call',\n 'apply',\n];\n\n/** @internal */\nexport type CreateRouterOptions = {\n [key: string]:\n | AnyProcedure\n | AnyRouter\n | CreateRouterOptions\n | Lazy;\n};\n\n/** @internal */\nexport type DecorateCreateRouterOptions<\n TRouterOptions extends CreateRouterOptions,\n> = {\n [K in keyof TRouterOptions]: TRouterOptions[K] extends infer $Value\n ? $Value extends AnyProcedure\n ? $Value\n : $Value extends Router\n ? TRecord\n : $Value extends Lazy>\n ? TRecord\n : $Value extends CreateRouterOptions\n ? DecorateCreateRouterOptions<$Value>\n : never\n : never;\n};\n\n/**\n * @internal\n */\nexport function createRouterFactory(\n config: RootConfig,\n) {\n function createRouterInner(\n input: TInput,\n ): BuiltRouter> {\n const reservedWordsUsed = new Set(\n Object.keys(input).filter((v) => reservedWords.includes(v)),\n );\n if (reservedWordsUsed.size > 0) {\n throw new Error(\n 'Reserved words used in `router({})` call: ' +\n Array.from(reservedWordsUsed).join(', '),\n );\n }\n\n const procedures: Record = emptyObject();\n const lazy: Record> = emptyObject();\n\n function createLazyLoader(opts: {\n ref: Lazy;\n path: readonly string[];\n key: string;\n aggregate: RouterRecord;\n }): LazyLoader {\n return {\n ref: opts.ref,\n load: once(async () => {\n const router = await opts.ref();\n const lazyPath = [...opts.path, opts.key];\n const lazyKey = lazyPath.join('.');\n\n opts.aggregate[opts.key] = step(router._def.record, lazyPath);\n\n delete lazy[lazyKey];\n\n // add lazy loaders for nested routers\n for (const [nestedKey, nestedItem] of Object.entries(\n router._def.lazy,\n )) {\n const nestedRouterKey = [...lazyPath, nestedKey].join('.');\n\n // console.log('adding lazy', nestedRouterKey);\n lazy[nestedRouterKey] = createLazyLoader({\n ref: nestedItem.ref,\n path: lazyPath,\n key: nestedKey,\n aggregate: opts.aggregate[opts.key] as RouterRecord,\n });\n }\n }),\n };\n }\n\n function step(from: CreateRouterOptions, path: readonly string[] = []) {\n const aggregate: RouterRecord = emptyObject();\n for (const [key, item] of Object.entries(from ?? {})) {\n if (isLazy(item)) {\n lazy[[...path, key].join('.')] = createLazyLoader({\n path,\n ref: item,\n key,\n aggregate,\n });\n continue;\n }\n if (isRouter(item)) {\n aggregate[key] = step(item._def.record, [...path, key]);\n continue;\n }\n if (!isProcedure(item)) {\n // RouterRecord\n aggregate[key] = step(item, [...path, key]);\n continue;\n }\n\n const newPath = [...path, key].join('.');\n\n if (procedures[newPath]) {\n throw new Error(`Duplicate key: ${newPath}`);\n }\n\n procedures[newPath] = item;\n aggregate[key] = item;\n }\n\n return aggregate;\n }\n const record = step(input);\n\n const _def: AnyRouter['_def'] = {\n _config: config,\n router: true,\n procedures,\n lazy,\n ...emptyRouter,\n record,\n };\n\n const router: BuiltRouter = {\n ...(record as {}),\n _def,\n createCaller: createCallerFactory()({\n _def,\n }),\n };\n return router as BuiltRouter>;\n }\n\n return createRouterInner;\n}\n\nfunction isProcedure(\n procedureOrRouter: ValueOf,\n): procedureOrRouter is AnyProcedure {\n return typeof procedureOrRouter === 'function';\n}\n\n/**\n * @internal\n */\nexport async function getProcedureAtPath(\n router: Pick, '_def'>,\n path: string,\n): Promise {\n const { _def } = router;\n let procedure = _def.procedures[path];\n\n while (!procedure) {\n const key = Object.keys(_def.lazy).find((key) => path.startsWith(key));\n // console.log(`found lazy: ${key ?? 'NOPE'} (fullPath: ${fullPath})`);\n\n if (!key) {\n return null;\n }\n // console.log('loading', key, '.......');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const lazyRouter = _def.lazy[key]!;\n await lazyRouter.load();\n\n procedure = _def.procedures[path];\n }\n\n return procedure;\n}\n\n/**\n * @internal\n */\nexport async function callProcedure(\n opts: ProcedureCallOptions & {\n router: AnyRouter;\n allowMethodOverride?: boolean;\n },\n) {\n const { type, path } = opts;\n const proc = await getProcedureAtPath(opts.router, path);\n if (\n !proc ||\n !isProcedure(proc) ||\n (proc._def.type !== type && !opts.allowMethodOverride)\n ) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No \"${type}\"-procedure on path \"${path}\"`,\n });\n }\n\n /* istanbul ignore if -- @preserve */\n if (\n proc._def.type !== type &&\n opts.allowMethodOverride &&\n proc._def.type === 'subscription'\n ) {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message: `Method override is not supported for subscriptions`,\n });\n }\n\n return proc(opts);\n}\n\nexport interface RouterCallerFactory {\n (\n router: Pick, '_def'>,\n ): RouterCaller;\n}\n\nexport function createCallerFactory<\n TRoot extends AnyRootTypes,\n>(): RouterCallerFactory {\n return function createCallerInner(\n router: Pick, '_def'>,\n ): RouterCaller {\n const { _def } = router;\n type Context = TRoot['ctx'];\n\n return function createCaller(ctxOrCallback, opts) {\n return createRecursiveProxy>>(\n async (innerOpts) => {\n const { path, args } = innerOpts;\n const fullPath = path.join('.');\n\n if (path.length === 1 && path[0] === '_def') {\n return _def;\n }\n\n const procedure = await getProcedureAtPath(router, fullPath);\n\n let ctx: Context | undefined = undefined;\n try {\n if (!procedure) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No procedure found on path \"${path}\"`,\n });\n }\n ctx = isFunction(ctxOrCallback)\n ? await Promise.resolve(ctxOrCallback())\n : ctxOrCallback;\n\n return await procedure({\n path: fullPath,\n getRawInput: async () => args[0],\n ctx,\n type: procedure._def.type,\n signal: opts?.signal,\n batchIndex: 0,\n });\n } catch (cause) {\n opts?.onError?.({\n ctx,\n error: getTRPCErrorFromUnknown(cause),\n input: args[0],\n path: fullPath,\n type: procedure?._def.type ?? 'unknown',\n });\n throw cause;\n }\n },\n );\n };\n };\n}\n\n/** @internal */\nexport type MergeRouters<\n TRouters extends AnyRouter[],\n TRoot extends AnyRootTypes = TRouters[0]['_def']['_config']['$types'],\n TRecord extends RouterRecord = {},\n> = TRouters extends [\n infer Head extends AnyRouter,\n ...infer Tail extends AnyRouter[],\n]\n ? MergeRouters\n : BuiltRouter;\n\nexport function mergeRouters(\n ...routerList: [...TRouters]\n): MergeRouters {\n const record = mergeWithoutOverrides(\n {},\n ...routerList.map((r) => r._def.record),\n );\n const errorFormatter = routerList.reduce(\n (currentErrorFormatter, nextRouter) => {\n if (\n nextRouter._def._config.errorFormatter &&\n nextRouter._def._config.errorFormatter !== defaultFormatter\n ) {\n if (\n currentErrorFormatter !== defaultFormatter &&\n currentErrorFormatter !== nextRouter._def._config.errorFormatter\n ) {\n throw new Error('You seem to have several error formatters');\n }\n return nextRouter._def._config.errorFormatter;\n }\n return currentErrorFormatter;\n },\n defaultFormatter,\n );\n\n const transformer = routerList.reduce((prev, current) => {\n if (\n current._def._config.transformer &&\n current._def._config.transformer !== defaultTransformer\n ) {\n if (\n prev !== defaultTransformer &&\n prev !== current._def._config.transformer\n ) {\n throw new Error('You seem to have several transformers');\n }\n return current._def._config.transformer;\n }\n return prev;\n }, defaultTransformer);\n\n const router = createRouterFactory({\n errorFormatter,\n transformer,\n isDev: routerList.every((r) => r._def._config.isDev),\n allowOutsideOfServer: routerList.every(\n (r) => r._def._config.allowOutsideOfServer,\n ),\n isServer: routerList.every((r) => r._def._config.isServer),\n $types: routerList[0]?._def._config.$types,\n sse: routerList[0]?._def._config.sse,\n })(record);\n\n return router as MergeRouters;\n}\n", "const trackedSymbol = Symbol();\n\ntype TrackedId = string & {\n __brand: 'TrackedId';\n};\nexport type TrackedEnvelope = [TrackedId, TData, typeof trackedSymbol];\n\nexport interface TrackedData {\n /**\n * The id of the message to keep track of in case the connection gets lost\n */\n id: string;\n /**\n * The data field of the message\n */\n data: TData;\n}\n/**\n * Produce a typed server-sent event message\n * @deprecated use `tracked(id, data)` instead\n */\nexport function sse(event: { id: string; data: TData }) {\n return tracked(event.id, event.data);\n}\n\nexport function isTrackedEnvelope(\n value: unknown,\n): value is TrackedEnvelope {\n return Array.isArray(value) && value[2] === trackedSymbol;\n}\n\n/**\n * Automatically track an event so that it can be resumed from a given id if the connection is lost\n */\nexport function tracked(\n id: string,\n data: TData,\n): TrackedEnvelope {\n if (id === '') {\n // This limitation could be removed by using different SSE event names / channels for tracked event and non-tracked event\n throw new Error(\n '`id` must not be an empty string as empty string is the same as not setting the id at all',\n );\n }\n return [id as TrackedId, data, trackedSymbol];\n}\n\nexport type inferTrackedOutput =\n TData extends TrackedEnvelope ? TrackedData<$Data> : TData;\n", "import { TRPCError } from './error/TRPCError';\nimport type { ParseFn } from './parser';\nimport type { ProcedureType } from './procedure';\nimport type { GetRawInputFn, Overwrite, Simplify } from './types';\nimport { isObject } from './utils';\n\n/** @internal */\nexport const middlewareMarker = 'middlewareMarker' as 'middlewareMarker' & {\n __brand: 'middlewareMarker';\n};\ntype MiddlewareMarker = typeof middlewareMarker;\n\ninterface MiddlewareResultBase {\n /**\n * All middlewares should pass through their `next()`'s output.\n * Requiring this marker makes sure that can't be forgotten at compile-time.\n */\n readonly marker: MiddlewareMarker;\n}\n\ninterface MiddlewareOKResult<_TContextOverride> extends MiddlewareResultBase {\n ok: true;\n data: unknown;\n // this could be extended with `input`/`rawInput` later\n}\n\ninterface MiddlewareErrorResult<_TContextOverride>\n extends MiddlewareResultBase {\n ok: false;\n error: TRPCError;\n}\n\n/**\n * @internal\n */\nexport type MiddlewareResult<_TContextOverride> =\n | MiddlewareErrorResult<_TContextOverride>\n | MiddlewareOKResult<_TContextOverride>;\n\n/**\n * @internal\n */\nexport interface MiddlewareBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n> {\n /**\n * Create a new builder based on the current middleware builder\n */\n unstable_pipe<$ContextOverridesOut>(\n fn:\n | MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n $ContextOverridesOut,\n TInputOut\n >\n | MiddlewareBuilder<\n Overwrite,\n TMeta,\n $ContextOverridesOut,\n TInputOut\n >,\n ): MiddlewareBuilder<\n TContext,\n TMeta,\n Overwrite,\n TInputOut\n >;\n\n /**\n * List of middlewares within this middleware builder\n */\n _middlewares: MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n object,\n TInputOut\n >[];\n}\n\n/**\n * @internal\n */\nexport type MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverridesIn,\n $ContextOverridesOut,\n TInputOut,\n> = {\n (opts: {\n ctx: Simplify>;\n type: ProcedureType;\n path: string;\n input: TInputOut;\n getRawInput: GetRawInputFn;\n meta: TMeta | undefined;\n signal: AbortSignal | undefined;\n /**\n * The index of this call in a batch request.\n */\n batchIndex: number;\n next: {\n (): Promise>;\n <$ContextOverride>(opts: {\n ctx?: $ContextOverride;\n input?: unknown;\n }): Promise>;\n (opts: {\n getRawInput: GetRawInputFn;\n }): Promise>;\n };\n }): Promise>;\n _type?: string | undefined;\n};\n\nexport type AnyMiddlewareFunction = MiddlewareFunction;\nexport type AnyMiddlewareBuilder = MiddlewareBuilder;\n/**\n * @internal\n */\nexport function createMiddlewareFactory<\n TContext,\n TMeta,\n TInputOut = unknown,\n>() {\n function createMiddlewareInner(\n middlewares: AnyMiddlewareFunction[],\n ): AnyMiddlewareBuilder {\n return {\n _middlewares: middlewares,\n unstable_pipe(middlewareBuilderOrFn) {\n const pipedMiddleware =\n '_middlewares' in middlewareBuilderOrFn\n ? middlewareBuilderOrFn._middlewares\n : [middlewareBuilderOrFn];\n\n return createMiddlewareInner([...middlewares, ...pipedMiddleware]);\n },\n };\n }\n\n function createMiddleware<$ContextOverrides>(\n fn: MiddlewareFunction<\n TContext,\n TMeta,\n object,\n $ContextOverrides,\n TInputOut\n >,\n ): MiddlewareBuilder {\n return createMiddlewareInner([fn]);\n }\n\n return createMiddleware;\n}\n\n/**\n * Create a standalone middleware\n * @see https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares\n * @deprecated use `.concat()` instead\n */\nexport const experimental_standaloneMiddleware = <\n TCtx extends {\n ctx?: object;\n meta?: object;\n input?: unknown;\n },\n>() => ({\n create: createMiddlewareFactory<\n TCtx extends { ctx: infer T extends object } ? T : any,\n TCtx extends { meta: infer T extends object } ? T : object,\n TCtx extends { input: infer T } ? T : unknown\n >(),\n});\n\n/**\n * @internal\n * Please note, `trpc-openapi` uses this function.\n */\nexport function createInputMiddleware(parse: ParseFn) {\n const inputMiddleware: AnyMiddlewareFunction =\n async function inputValidatorMiddleware(opts) {\n let parsedInput: ReturnType;\n\n const rawInput = await opts.getRawInput();\n try {\n parsedInput = await parse(rawInput);\n } catch (cause) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n cause,\n });\n }\n\n // Multiple input parsers\n const combinedInput =\n isObject(opts.input) && isObject(parsedInput)\n ? {\n ...opts.input,\n ...parsedInput,\n }\n : parsedInput;\n\n return opts.next({ input: combinedInput });\n };\n inputMiddleware._type = 'input';\n return inputMiddleware;\n}\n\n/**\n * @internal\n */\nexport function createOutputMiddleware(parse: ParseFn) {\n const outputMiddleware: AnyMiddlewareFunction =\n async function outputValidatorMiddleware({ next }) {\n const result = await next();\n if (!result.ok) {\n // pass through failures without validating\n return result;\n }\n try {\n const data = await parse(result.data);\n return {\n ...result,\n data,\n };\n } catch (cause) {\n throw new TRPCError({\n message: 'Output validation failed',\n code: 'INTERNAL_SERVER_ERROR',\n cause,\n });\n }\n };\n outputMiddleware._type = 'output';\n return outputMiddleware;\n}\n", "import type { StandardSchemaV1 } from \"./spec\";\n\n/** A schema error with useful information. */\n\nexport class StandardSchemaV1Error extends Error {\n /** The schema issues. */\n public readonly issues: ReadonlyArray;\n\n /**\n * Creates a schema error with useful information.\n *\n * @param issues The schema issues.\n */\n constructor(issues: ReadonlyArray) {\n super(issues[0]?.message);\n this.name = 'SchemaError';\n this.issues = issues;\n }\n}\n", "import { StandardSchemaV1Error } from '../vendor/standard-schema-v1/error';\nimport { type StandardSchemaV1 } from '../vendor/standard-schema-v1/spec';\n\n// zod / typeschema\nexport type ParserZodEsque = {\n _input: TInput;\n _output: TParsedInput;\n};\n\nexport type ParserValibotEsque = {\n schema: {\n _types?: {\n input: TInput;\n output: TParsedInput;\n };\n };\n};\n\nexport type ParserArkTypeEsque = {\n inferIn: TInput;\n infer: TParsedInput;\n};\n\nexport type ParserStandardSchemaEsque = StandardSchemaV1<\n TInput,\n TParsedInput\n>;\n\nexport type ParserMyZodEsque = {\n parse: (input: any) => TInput;\n};\n\nexport type ParserSuperstructEsque = {\n create: (input: unknown) => TInput;\n};\n\nexport type ParserCustomValidatorEsque = (\n input: unknown,\n) => Promise | TInput;\n\nexport type ParserYupEsque = {\n validateSync: (input: unknown) => TInput;\n};\n\nexport type ParserScaleEsque = {\n assert(value: unknown): asserts value is TInput;\n};\n\nexport type ParserWithoutInput =\n | ParserCustomValidatorEsque\n | ParserMyZodEsque\n | ParserScaleEsque\n | ParserSuperstructEsque\n | ParserYupEsque;\n\nexport type ParserWithInputOutput =\n | ParserZodEsque\n | ParserValibotEsque\n | ParserArkTypeEsque\n | ParserStandardSchemaEsque;\n\nexport type Parser = ParserWithInputOutput | ParserWithoutInput;\n\nexport type inferParser =\n TParser extends ParserStandardSchemaEsque\n ? {\n in: $TIn;\n out: $TOut;\n }\n : TParser extends ParserWithInputOutput\n ? {\n in: $TIn;\n out: $TOut;\n }\n : TParser extends ParserWithoutInput\n ? {\n in: $InOut;\n out: $InOut;\n }\n : never;\n\nexport type ParseFn = (value: unknown) => Promise | TType;\n\nexport function getParseFn(procedureParser: Parser): ParseFn {\n const parser = procedureParser as any;\n const isStandardSchema = '~standard' in parser;\n\n if (typeof parser === 'function' && typeof parser.assert === 'function') {\n // ParserArkTypeEsque - arktype schemas shouldn't be called as a function because they return a union type instead of throwing\n return parser.assert.bind(parser);\n }\n\n if (typeof parser === 'function' && !isStandardSchema) {\n // ParserValibotEsque (>= v0.31.0)\n // ParserCustomValidatorEsque - note the check for standard-schema conformance - some libraries like `effect` use function schemas which are *not* a \"parse\" function.\n return parser;\n }\n\n if (typeof parser.parseAsync === 'function') {\n // ParserZodEsque\n return parser.parseAsync.bind(parser);\n }\n\n if (typeof parser.parse === 'function') {\n // ParserZodEsque\n // ParserValibotEsque (< v0.13.0)\n return parser.parse.bind(parser);\n }\n\n if (typeof parser.validateSync === 'function') {\n // ParserYupEsque\n return parser.validateSync.bind(parser);\n }\n\n if (typeof parser.create === 'function') {\n // ParserSuperstructEsque\n return parser.create.bind(parser);\n }\n\n if (typeof parser.assert === 'function') {\n // ParserScaleEsque\n return (value) => {\n parser.assert(value);\n return value as TType;\n };\n }\n\n if (isStandardSchema) {\n // StandardSchemaEsque\n return async (value) => {\n const result = await parser['~standard'].validate(value);\n if (result.issues) {\n throw new StandardSchemaV1Error(result.issues);\n }\n return result.value;\n };\n }\n\n throw new Error('Could not find a validator fn');\n}\n", "function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import type { inferObservableValue, Observable } from '../observable';\nimport { getTRPCErrorFromUnknown, TRPCError } from './error/TRPCError';\nimport type {\n AnyMiddlewareFunction,\n MiddlewareBuilder,\n MiddlewareFunction,\n MiddlewareResult,\n} from './middleware';\nimport {\n createInputMiddleware,\n createOutputMiddleware,\n middlewareMarker,\n} from './middleware';\nimport type { inferParser, Parser } from './parser';\nimport { getParseFn } from './parser';\nimport type {\n AnyMutationProcedure,\n AnyProcedure,\n AnyQueryProcedure,\n LegacyObservableSubscriptionProcedure,\n MutationProcedure,\n ProcedureType,\n QueryProcedure,\n SubscriptionProcedure,\n} from './procedure';\nimport type { inferTrackedOutput } from './stream/tracked';\nimport type {\n GetRawInputFn,\n MaybePromise,\n Overwrite,\n Simplify,\n TypeError,\n} from './types';\nimport type { UnsetMarker } from './utils';\nimport { mergeWithoutOverrides } from './utils';\n\ntype IntersectIfDefined = TType extends UnsetMarker\n ? TWith\n : TWith extends UnsetMarker\n ? TType\n : Simplify;\n\ntype DefaultValue = TValue extends UnsetMarker\n ? TFallback\n : TValue;\n\ntype inferAsyncIterable =\n TOutput extends AsyncIterable\n ? {\n yield: $Yield;\n return: $Return;\n next: $Next;\n }\n : never;\ntype inferSubscriptionOutput =\n TOutput extends AsyncIterable\n ? AsyncIterable<\n inferTrackedOutput['yield']>,\n inferAsyncIterable['return'],\n inferAsyncIterable['next']\n >\n : TypeError<'Subscription output could not be inferred'>;\n\nexport type CallerOverride = (opts: {\n args: unknown[];\n invoke: (opts: ProcedureCallOptions) => Promise;\n _def: AnyProcedure['_def'];\n}) => Promise;\ntype ProcedureBuilderDef = {\n procedure: true;\n inputs: Parser[];\n output?: Parser;\n meta?: TMeta;\n resolver?: ProcedureBuilderResolver;\n middlewares: AnyMiddlewareFunction[];\n /**\n * @deprecated use `type` instead\n */\n mutation?: boolean;\n /**\n * @deprecated use `type` instead\n */\n query?: boolean;\n /**\n * @deprecated use `type` instead\n */\n subscription?: boolean;\n type?: ProcedureType;\n caller?: CallerOverride;\n};\n\ntype AnyProcedureBuilderDef = ProcedureBuilderDef;\n\n/**\n * Procedure resolver options (what the `.query()`, `.mutation()`, and `.subscription()` functions receive)\n * @internal\n */\nexport interface ProcedureResolverOptions<\n TContext,\n _TMeta,\n TContextOverridesIn,\n TInputOut,\n> {\n ctx: Simplify>;\n input: TInputOut extends UnsetMarker ? undefined : TInputOut;\n /**\n * The AbortSignal of the request\n */\n signal: AbortSignal | undefined;\n /**\n * The path of the procedure\n */\n path: string;\n /**\n * The index of this call in a batch request.\n * Will be set when the procedure is called as part of a batch.\n */\n batchIndex?: number;\n}\n\n/**\n * A procedure resolver\n */\ntype ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputParserIn,\n $Output,\n> = (\n opts: ProcedureResolverOptions,\n) => MaybePromise<\n // If an output parser is defined, we need to return what the parser expects, otherwise we return the inferred type\n DefaultValue\n>;\n\ntype AnyResolver = ProcedureResolver;\nexport type AnyProcedureBuilder = ProcedureBuilder<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>;\n\n/**\n * Infer the context type from a procedure builder\n * Useful to create common helper functions for different procedures\n */\nexport type inferProcedureBuilderResolverOptions<\n TProcedureBuilder extends AnyProcedureBuilder,\n> =\n TProcedureBuilder extends ProcedureBuilder<\n infer TContext,\n infer TMeta,\n infer TContextOverrides,\n infer _TInputIn,\n infer TInputOut,\n infer _TOutputIn,\n infer _TOutputOut,\n infer _TCaller\n >\n ? ProcedureResolverOptions<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut extends UnsetMarker\n ? // if input is not set, we don't want to infer it as `undefined` since a procedure further down the chain might have set an input\n unknown\n : TInputOut extends object\n ? Simplify<\n TInputOut & {\n /**\n * Extra input params might have been added by a `.input()` further down the chain\n */\n [keyAddedByInputCallFurtherDown: string]: unknown;\n }\n >\n : TInputOut\n >\n : never;\n\nexport interface ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller extends boolean,\n> {\n /**\n * Add an input parser to the procedure.\n * @see https://trpc.io/docs/v11/server/validators\n */\n input<$Parser extends Parser>(\n schema: TInputOut extends UnsetMarker\n ? $Parser\n : inferParser<$Parser>['out'] extends Record | undefined\n ? TInputOut extends Record | undefined\n ? undefined extends inferParser<$Parser>['out'] // if current is optional the previous must be too\n ? undefined extends TInputOut\n ? $Parser\n : TypeError<'Cannot chain an optional parser to a required parser'>\n : $Parser\n : TypeError<'All input parsers did not resolve to an object'>\n : TypeError<'All input parsers did not resolve to an object'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n IntersectIfDefined['in']>,\n IntersectIfDefined['out']>,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n /**\n * Add an output parser to the procedure.\n * @see https://trpc.io/docs/v11/server/validators\n */\n output<$Parser extends Parser>(\n schema: $Parser,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n IntersectIfDefined['in']>,\n IntersectIfDefined['out']>,\n TCaller\n >;\n /**\n * Add a meta data to the procedure.\n * @see https://trpc.io/docs/v11/server/metadata\n */\n meta(\n meta: TMeta,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n /**\n * Add a middleware to the procedure.\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n use<$ContextOverridesOut>(\n fn:\n | MiddlewareBuilder<\n Overwrite,\n TMeta,\n $ContextOverridesOut,\n TInputOut\n >\n | MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n $ContextOverridesOut,\n TInputOut\n >,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n\n /**\n * @deprecated use {@link concat} instead\n */\n unstable_concat<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n >(\n builder: Overwrite extends $Context\n ? TMeta extends $Meta\n ? ProcedureBuilder<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n TCaller\n >\n : TypeError<'Meta mismatch'>\n : TypeError<'Context mismatch'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite,\n IntersectIfDefined,\n IntersectIfDefined,\n IntersectIfDefined,\n IntersectIfDefined,\n TCaller\n >;\n\n /**\n * Combine two procedure builders\n */\n concat<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n >(\n builder: Overwrite extends $Context\n ? TMeta extends $Meta\n ? ProcedureBuilder<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n TCaller\n >\n : TypeError<'Meta mismatch'>\n : TypeError<'Context mismatch'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite,\n IntersectIfDefined,\n IntersectIfDefined,\n IntersectIfDefined,\n IntersectIfDefined,\n TCaller\n >;\n /**\n * Query procedure\n * @see https://trpc.io/docs/v11/concepts#vocabulary\n */\n query<$Output>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? (\n input: DefaultValue,\n ) => Promise>\n : QueryProcedure<{\n input: DefaultValue;\n output: DefaultValue;\n meta: TMeta;\n }>;\n\n /**\n * Mutation procedure\n * @see https://trpc.io/docs/v11/concepts#vocabulary\n */\n mutation<$Output>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? (\n input: DefaultValue,\n ) => Promise>\n : MutationProcedure<{\n input: DefaultValue;\n output: DefaultValue;\n meta: TMeta;\n }>;\n\n /**\n * Subscription procedure\n * @see https://trpc.io/docs/v11/server/subscriptions\n */\n subscription<$Output extends AsyncIterable>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? TypeError<'Not implemented'>\n : SubscriptionProcedure<{\n input: DefaultValue;\n output: inferSubscriptionOutput>;\n meta: TMeta;\n }>;\n /**\n * @deprecated Using subscriptions with an observable is deprecated. Use an async generator instead.\n * This feature will be removed in v12 of tRPC.\n * @see https://trpc.io/docs/v11/server/subscriptions\n */\n subscription<$Output extends Observable>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? TypeError<'Not implemented'>\n : LegacyObservableSubscriptionProcedure<{\n input: DefaultValue;\n output: inferObservableValue>;\n meta: TMeta;\n }>;\n /**\n * Overrides the way a procedure is invoked\n * Do not use this unless you know what you're doing - this is an experimental API\n */\n experimental_caller(\n caller: CallerOverride,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n true\n >;\n /**\n * @internal\n */\n _def: ProcedureBuilderDef;\n}\n\ntype ProcedureBuilderResolver = (\n opts: ProcedureResolverOptions,\n) => Promise;\n\nfunction createNewBuilder(\n def1: AnyProcedureBuilderDef,\n def2: Partial,\n): AnyProcedureBuilder {\n const { middlewares = [], inputs, meta, ...rest } = def2;\n\n // TODO: maybe have a fn here to warn about calls\n return createBuilder({\n ...mergeWithoutOverrides(def1, rest),\n inputs: [...def1.inputs, ...(inputs ?? [])],\n middlewares: [...def1.middlewares, ...middlewares],\n meta: def1.meta && meta ? { ...def1.meta, ...meta } : (meta ?? def1.meta),\n });\n}\n\nexport function createBuilder(\n initDef: Partial = {},\n): ProcedureBuilder<\n TContext,\n TMeta,\n object,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n false\n> {\n const _def: AnyProcedureBuilderDef = {\n procedure: true,\n inputs: [],\n middlewares: [],\n ...initDef,\n };\n\n const builder: AnyProcedureBuilder = {\n _def,\n input(input) {\n const parser = getParseFn(input as Parser);\n return createNewBuilder(_def, {\n inputs: [input as Parser],\n middlewares: [createInputMiddleware(parser)],\n });\n },\n output(output: Parser) {\n const parser = getParseFn(output);\n return createNewBuilder(_def, {\n output,\n middlewares: [createOutputMiddleware(parser)],\n });\n },\n meta(meta) {\n return createNewBuilder(_def, {\n meta,\n });\n },\n use(middlewareBuilderOrFn) {\n // Distinguish between a middleware builder and a middleware function\n const middlewares =\n '_middlewares' in middlewareBuilderOrFn\n ? middlewareBuilderOrFn._middlewares\n : [middlewareBuilderOrFn];\n\n return createNewBuilder(_def, {\n middlewares: middlewares,\n });\n },\n unstable_concat(builder) {\n return createNewBuilder(_def, (builder as AnyProcedureBuilder)._def);\n },\n concat(builder) {\n return createNewBuilder(_def, (builder as AnyProcedureBuilder)._def);\n },\n query(resolver) {\n return createResolver(\n { ..._def, type: 'query' },\n resolver,\n ) as AnyQueryProcedure;\n },\n mutation(resolver) {\n return createResolver(\n { ..._def, type: 'mutation' },\n resolver,\n ) as AnyMutationProcedure;\n },\n subscription(resolver: ProcedureResolver) {\n return createResolver({ ..._def, type: 'subscription' }, resolver) as any;\n },\n experimental_caller(caller) {\n return createNewBuilder(_def, {\n caller,\n }) as any;\n },\n };\n\n return builder;\n}\n\nfunction createResolver(\n _defIn: AnyProcedureBuilderDef & { type: ProcedureType },\n resolver: AnyResolver,\n) {\n const finalBuilder = createNewBuilder(_defIn, {\n resolver,\n middlewares: [\n async function resolveMiddleware(opts) {\n const data = await resolver(opts);\n return {\n marker: middlewareMarker,\n ok: true,\n data,\n ctx: opts.ctx,\n } as const;\n },\n ],\n });\n const _def: AnyProcedure['_def'] = {\n ...finalBuilder._def,\n type: _defIn.type,\n experimental_caller: Boolean(finalBuilder._def.caller),\n meta: finalBuilder._def.meta,\n $types: null as any,\n };\n\n const invoke = createProcedureCaller(finalBuilder._def);\n const callerOverride = finalBuilder._def.caller;\n if (!callerOverride) {\n return invoke;\n }\n const callerWrapper = async (...args: unknown[]) => {\n return await callerOverride({\n args,\n invoke,\n _def: _def,\n });\n };\n\n callerWrapper._def = _def;\n\n return callerWrapper;\n}\n\n/**\n * @internal\n */\nexport interface ProcedureCallOptions {\n ctx: TContext;\n getRawInput: GetRawInputFn;\n input?: unknown;\n path: string;\n type: ProcedureType;\n signal: AbortSignal | undefined;\n /**\n * The index of this call in a batch request.\n */\n batchIndex: number;\n}\n\nconst codeblock = `\nThis is a client-only function.\nIf you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls\n`.trim();\n\n// run the middlewares recursively with the resolver as the last one\nasync function callRecursive(\n index: number,\n _def: AnyProcedureBuilderDef,\n opts: ProcedureCallOptions,\n): Promise> {\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const middleware = _def.middlewares[index]!;\n const result = await middleware({\n ...opts,\n meta: _def.meta,\n input: opts.input,\n next(_nextOpts?: any) {\n const nextOpts = _nextOpts as\n | {\n ctx?: Record;\n input?: unknown;\n getRawInput?: GetRawInputFn;\n }\n | undefined;\n\n return callRecursive(index + 1, _def, {\n ...opts,\n ctx: nextOpts?.ctx ? { ...opts.ctx, ...nextOpts.ctx } : opts.ctx,\n input: nextOpts && 'input' in nextOpts ? nextOpts.input : opts.input,\n getRawInput: nextOpts?.getRawInput ?? opts.getRawInput,\n });\n },\n });\n\n return result;\n } catch (cause) {\n return {\n ok: false,\n error: getTRPCErrorFromUnknown(cause),\n marker: middlewareMarker,\n };\n }\n}\n\nfunction createProcedureCaller(_def: AnyProcedureBuilderDef): AnyProcedure {\n async function procedure(opts: ProcedureCallOptions) {\n // is direct server-side call\n if (!opts || !('getRawInput' in opts)) {\n throw new Error(codeblock);\n }\n\n // there's always at least one \"next\" since we wrap this.resolver in a middleware\n const result = await callRecursive(0, _def, opts);\n\n if (!result) {\n throw new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n message:\n 'No result from middlewares - did you forget to `return next()`?',\n });\n }\n if (!result.ok) {\n // re-throw original error\n throw result.error;\n }\n return result.data;\n }\n\n procedure._def = _def;\n procedure.procedure = true;\n procedure.meta = _def.meta;\n\n // FIXME typecast shouldn't be needed - fixittt\n return procedure as unknown as AnyProcedure;\n}\n", "import type { CombinedDataTransformer } from '../unstable-core-do-not-import';\nimport type { DefaultErrorShape, ErrorFormatter } from './error/formatter';\nimport type { JSONLProducerOptions } from './stream/jsonl';\nimport type { SSEStreamProducerOptions } from './stream/sse';\n\n/**\n * The initial generics that are used in the init function\n * @internal\n */\nexport interface RootTypes {\n ctx: object;\n meta: object;\n errorShape: DefaultErrorShape;\n transformer: boolean;\n}\n\n/**\n * The default check to see if we're in a server\n */\nexport const isServerDefault: boolean =\n typeof window === 'undefined' ||\n 'Deno' in window ||\n // eslint-disable-next-line @typescript-eslint/dot-notation\n globalThis.process?.env?.['NODE_ENV'] === 'test' ||\n !!globalThis.process?.env?.['JEST_WORKER_ID'] ||\n !!globalThis.process?.env?.['VITEST_WORKER_ID'];\n\n/**\n * The tRPC root config\n * @internal\n */\nexport interface RootConfig {\n /**\n * The types that are used in the config\n * @internal\n */\n $types: TTypes;\n /**\n * Use a data transformer\n * @see https://trpc.io/docs/v11/data-transformers\n */\n transformer: CombinedDataTransformer;\n /**\n * Use custom error formatting\n * @see https://trpc.io/docs/v11/error-formatting\n */\n errorFormatter: ErrorFormatter;\n /**\n * Allow `@trpc/server` to run in non-server environments\n * @warning **Use with caution**, this should likely mainly be used within testing.\n * @default false\n */\n allowOutsideOfServer: boolean;\n /**\n * Is this a server environment?\n * @warning **Use with caution**, this should likely mainly be used within testing.\n * @default typeof window === 'undefined' || 'Deno' in window || process.env.NODE_ENV === 'test'\n */\n isServer: boolean;\n /**\n * Is this development?\n * Will be used to decide if the API should return stack traces\n * @default process.env.NODE_ENV !== 'production'\n */\n isDev: boolean;\n\n defaultMeta?: TTypes['meta'] extends object ? TTypes['meta'] : never;\n\n /**\n * Options for server-sent events (SSE) subscriptions\n * @see https://trpc.io/docs/client/links/httpSubscriptionLink\n */\n sse?: {\n /**\n * Enable server-sent events (SSE) subscriptions\n * @default true\n */\n enabled?: boolean;\n } & Pick<\n SSEStreamProducerOptions,\n 'ping' | 'emitAndEndImmediately' | 'maxDurationMs' | 'client'\n >;\n\n /**\n * Options for batch stream\n * @see https://trpc.io/docs/client/links/httpBatchStreamLink\n */\n jsonl?: Pick;\n experimental?: {};\n}\n\n/**\n * @internal\n */\nexport type CreateRootTypes = TGenerics;\n\nexport type AnyRootTypes = CreateRootTypes<{\n ctx: any;\n meta: any;\n errorShape: any;\n transformer: any;\n}>;\n\ntype PartialIf = TCondition extends true\n ? Partial\n : TType;\n\n/**\n * Adds a `createContext` option with a given callback function\n * If context is the default value, then the `createContext` option is optional\n */\nexport type CreateContextCallback<\n TContext,\n TFunction extends (...args: any[]) => any,\n> = PartialIf<\n object extends TContext ? true : false,\n {\n /**\n * @see https://trpc.io/docs/v11/context\n **/\n createContext: TFunction;\n }\n>;\n", "import {\n defaultFormatter,\n type DefaultErrorShape,\n type ErrorFormatter,\n} from './error/formatter';\nimport type { MiddlewareBuilder, MiddlewareFunction } from './middleware';\nimport { createMiddlewareFactory } from './middleware';\nimport type { ProcedureBuilder } from './procedureBuilder';\nimport { createBuilder } from './procedureBuilder';\nimport type { AnyRootTypes, CreateRootTypes } from './rootConfig';\nimport { isServerDefault, type RootConfig } from './rootConfig';\nimport type {\n AnyRouter,\n MergeRouters,\n RouterBuilder,\n RouterCallerFactory,\n} from './router';\nimport {\n createCallerFactory,\n createRouterFactory,\n mergeRouters,\n} from './router';\nimport type { DataTransformerOptions } from './transformer';\nimport { defaultTransformer, getDataTransformer } from './transformer';\nimport type { Unwrap, ValidateShape } from './types';\nimport type { UnsetMarker } from './utils';\n\ntype inferErrorFormatterShape =\n TType extends ErrorFormatter ? TShape : DefaultErrorShape;\n/** @internal */\nexport interface RuntimeConfigOptions<\n TContext extends object,\n TMeta extends object,\n> extends Partial<\n Omit<\n RootConfig<{\n ctx: TContext;\n meta: TMeta;\n errorShape: any;\n transformer: any;\n }>,\n '$types' | 'transformer'\n >\n > {\n /**\n * Use a data transformer\n * @see https://trpc.io/docs/v11/data-transformers\n */\n transformer?: DataTransformerOptions;\n}\n\ntype ContextCallback = (...args: any[]) => object | Promise;\n\nexport interface TRPCRootObject<\n TContext extends object,\n TMeta extends object,\n TOptions extends RuntimeConfigOptions,\n $Root extends AnyRootTypes = {\n ctx: TContext;\n meta: TMeta;\n errorShape: undefined extends TOptions['errorFormatter']\n ? DefaultErrorShape\n : inferErrorFormatterShape;\n transformer: undefined extends TOptions['transformer'] ? false : true;\n },\n> {\n /**\n * Your router config\n * @internal\n */\n _config: RootConfig<$Root>;\n\n /**\n * Builder object for creating procedures\n * @see https://trpc.io/docs/v11/server/procedures\n */\n procedure: ProcedureBuilder<\n TContext,\n TMeta,\n object,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n false\n >;\n\n /**\n * Create reusable middlewares\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n middleware: <$ContextOverrides>(\n fn: MiddlewareFunction,\n ) => MiddlewareBuilder;\n\n /**\n * Create a router\n * @see https://trpc.io/docs/v11/server/routers\n */\n router: RouterBuilder<$Root>;\n\n /**\n * Merge Routers\n * @see https://trpc.io/docs/v11/server/merging-routers\n */\n mergeRouters: (\n ...routerList: [...TRouters]\n ) => MergeRouters;\n\n /**\n * Create a server-side caller for a router\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */\n createCallerFactory: RouterCallerFactory<$Root>;\n}\n\nclass TRPCBuilder {\n /**\n * Add a context shape as a generic to the root object\n * @see https://trpc.io/docs/v11/server/context\n */\n context() {\n return new TRPCBuilder<\n TNewContext extends ContextCallback ? Unwrap : TNewContext,\n TMeta\n >();\n }\n\n /**\n * Add a meta shape as a generic to the root object\n * @see https://trpc.io/docs/v11/quickstart\n */\n meta() {\n return new TRPCBuilder();\n }\n\n /**\n * Create the root object\n * @see https://trpc.io/docs/v11/server/routers#initialize-trpc\n */\n create>(\n opts?: ValidateShape>,\n ): TRPCRootObject {\n type $Root = CreateRootTypes<{\n ctx: TContext;\n meta: TMeta;\n errorShape: undefined extends TOptions['errorFormatter']\n ? DefaultErrorShape\n : inferErrorFormatterShape;\n transformer: undefined extends TOptions['transformer'] ? false : true;\n }>;\n\n const config: RootConfig<$Root> = {\n ...opts,\n transformer: getDataTransformer(opts?.transformer ?? defaultTransformer),\n isDev:\n opts?.isDev ??\n // eslint-disable-next-line @typescript-eslint/dot-notation\n globalThis.process?.env['NODE_ENV'] !== 'production',\n allowOutsideOfServer: opts?.allowOutsideOfServer ?? false,\n errorFormatter: opts?.errorFormatter ?? defaultFormatter,\n isServer: opts?.isServer ?? isServerDefault,\n /**\n * These are just types, they can't be used at runtime\n * @internal\n */\n $types: null as any,\n };\n\n {\n // Server check\n const isServer: boolean = opts?.isServer ?? isServerDefault;\n\n if (!isServer && opts?.allowOutsideOfServer !== true) {\n throw new Error(\n `You're trying to use @trpc/server in a non-server environment. This is not supported by default.`,\n );\n }\n }\n return {\n /**\n * Your router config\n * @internal\n */\n _config: config,\n /**\n * Builder object for creating procedures\n * @see https://trpc.io/docs/v11/server/procedures\n */\n procedure: createBuilder<$Root['ctx'], $Root['meta']>({\n meta: opts?.defaultMeta,\n }),\n /**\n * Create reusable middlewares\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n middleware: createMiddlewareFactory<$Root['ctx'], $Root['meta']>(),\n /**\n * Create a router\n * @see https://trpc.io/docs/v11/server/routers\n */\n router: createRouterFactory<$Root>(config),\n /**\n * Merge Routers\n * @see https://trpc.io/docs/v11/server/merging-routers\n */\n mergeRouters,\n /**\n * Create a server-side caller for a router\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */\n createCallerFactory: createCallerFactory<$Root>(),\n };\n }\n}\n\n/**\n * Builder to initialize the tRPC root object - use this exactly once per backend\n * @see https://trpc.io/docs/v11/quickstart\n */\nexport const initTRPC = new TRPCBuilder();\nexport type { TRPCBuilder };\n", "import { createFlatProxy, createRecursiveProxy, getErrorShape } from \"./getErrorShape-vC8mUXJD.mjs\";\nimport \"./codes-DagpWZLc.mjs\";\nimport { TRPCError, callProcedure, getTRPCErrorFromUnknown, isTrackedEnvelope, lazy, sse, tracked, transformTRPCResponse } from \"./tracked-Bjtgv3wJ.mjs\";\nimport { StandardSchemaV1Error, experimental_standaloneMiddleware, initTRPC } from \"./initTRPC-RoZMIBeA.mjs\";\n\nexport { StandardSchemaV1Error, TRPCError, callProcedure as callTRPCProcedure, createFlatProxy as createTRPCFlatProxy, createRecursiveProxy as createTRPCRecursiveProxy, lazy as experimental_lazy, experimental_standaloneMiddleware, experimental_standaloneMiddleware as experimental_trpcMiddleware, getErrorShape, getTRPCErrorFromUnknown, getErrorShape as getTRPCErrorShape, initTRPC, isTrackedEnvelope, lazy, sse, tracked, transformTRPCResponse };", "import { initTRPC, TRPCError } from '@trpc/server';\nimport type { Context as HonoContext } from 'hono';\n\nexport interface Context {\n req: HonoContext['req'];\n user?: any;\n staffUser?: {\n id: number;\n name: string;\n } | null;\n}\n\nconst t = initTRPC.context().create();\n\nexport const middleware = t.middleware;\nexport const router = t.router;\nexport { TRPCError };\n\n// Global error logger middleware\nconst errorLoggerMiddleware = middleware(async ({ path, type, next, ctx }) => {\n const start = Date.now();\n\n try {\n const result = await next();\n const duration = Date.now() - start;\n\n // Log successful operations in development\n if (process.env.NODE_ENV === 'development') {\n console.log(`\u2705 ${type} ${path} - ${duration}ms`);\n }\n\n return result;\n } catch (error) {\n const duration = Date.now() - start;\n const err = error as any; // Type assertion for error object\n\n // Comprehensive error logging\n console.error('\uD83D\uDEA8 tRPC Error:', {\n timestamp: new Date().toISOString(),\n path,\n type,\n duration: `${duration}ms`,\n userId: ctx?.user?.userId || ctx?.staffUser?.id || 'anonymous',\n error: {\n name: err.name,\n message: err.message,\n code: err.code,\n stack: err.stack,\n },\n // Add SQL-specific details if available\n ...(err.code && { sqlCode: err.code }),\n ...(err.meta && { sqlMeta: err.meta }),\n ...(err.sql && { sql: err.sql }),\n });\n\n throw error; // Re-throw to maintain error flow\n }\n});\n\nexport const publicProcedure = t.procedure.use(errorLoggerMiddleware);\nexport const protectedProcedure = t.procedure.use(errorLoggerMiddleware).use(\n middleware(async ({ ctx, next }) => {\n\n if ((!ctx.user && !ctx.staffUser)) {\n throw new TRPCError({ code: 'UNAUTHORIZED' });\n }\n return next();\n })\n);\n\nexport const createCallerFactory = t.createCallerFactory;\nexport const createTRPCRouter = t.router;\n", "import { router, publicProcedure } from '@/src/trpc/trpc-index'\nimport {\n getSuspendedProductIds,\n getNextDeliveryDateWithCapacity,\n getStoresSummary,\n} from '@/src/dbService'\nimport { generateSignedUrlsFromS3Urls, generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\nimport { getAllProducts as getAllProductsFromCache } from '@/src/stores/product-store'\nimport { getDashboardTags as getDashboardTagsFromCache } from '@/src/stores/product-tag-store'\n\n// Re-export with original name for backwards compatibility\nexport const getNextDeliveryDate = getNextDeliveryDateWithCapacity\n\nexport async function scaffoldProducts() {\n // Get all products from cache\n let products = await getAllProductsFromCache();\n products = products.filter(item => Boolean(item.id))\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { productInfo } from '@/src/db/schema'\n import { eq } from 'drizzle-orm';\n\n // Get suspended product IDs to filter them out\n const suspendedProducts = await db\n .select({ id: productInfo.id })\n .from(productInfo)\n .where(eq(productInfo.isSuspended, true));\n */\n\n const suspendedProductIds = new Set(await getSuspendedProductIds());\n\n // Filter out suspended products\n products = products.filter(product => !suspendedProductIds.has(product.id));\n\n // Format products to match the expected response structure\n const formattedProducts = await Promise.all(\n products.map(async (product) => {\n const nextDeliveryDate = await getNextDeliveryDateWithCapacity(product.id);\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: parseFloat(product.price),\n marketPrice: product.marketPrice ? parseFloat(product.marketPrice) : null,\n unit: product.unitNotation,\n unitNotation: product.unitNotation,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n storeId: product.store?.id || null,\n isOutOfStock: product.isOutOfStock,\n isFlashAvailable: product.isFlashAvailable,\n nextDeliveryDate: nextDeliveryDate ? nextDeliveryDate.toISOString() : null,\n images: product.images,\n flashPrice: product.flashPrice\n };\n })\n );\n\n return {\n products: formattedProducts,\n count: formattedProducts.length,\n };\n}\n\nexport const commonRouter = router({\n getDashboardTags: publicProcedure\n .query(async () => {\n // Get dashboard tags from cache\n const tags = await getDashboardTagsFromCache();\n\n return {\n tags: tags,\n };\n }),\n\n getAllProductsSummary: publicProcedure\n .query(async () => {\n const response = await scaffoldProducts();\n return response;\n }),\n\n /*\n // Old implementation - moved to common-trpc-index.ts:\n getStoresSummary: publicProcedure\n .query(async () => {\n const stores = await getStoresSummary();\n return { stores };\n }),\n\n healthCheck: publicProcedure\n .query(async () => {\n const result = await healthCheck();\n return result;\n }),\n */\n});\n", "import {\n BBox,\n Feature,\n FeatureCollection,\n Geometry,\n GeometryCollection,\n GeometryObject,\n LineString,\n MultiLineString,\n MultiPoint,\n MultiPolygon,\n Point,\n Polygon,\n Position,\n GeoJsonProperties,\n} from \"geojson\";\n\nimport { Id } from \"./lib/geojson.js\";\nexport * from \"./lib/geojson.js\";\n\n/**\n * @module helpers\n */\n\n// TurfJS Combined Types\nexport type Coord = Feature | Point | Position;\n\n/**\n * Linear measurement units.\n *\n * ⚠️ Warning. Be aware of the implications of using radian or degree units to\n * measure distance. The distance represented by a degree of longitude *varies*\n * depending on latitude.\n *\n * See https://www.thoughtco.com/degree-of-latitude-and-longitude-distance-4070616\n * for an illustration of this behaviour.\n *\n * @typedef\n */\nexport type Units =\n | \"meters\"\n | \"metres\"\n | \"millimeters\"\n | \"millimetres\"\n | \"centimeters\"\n | \"centimetres\"\n | \"kilometers\"\n | \"kilometres\"\n | \"miles\"\n | \"nauticalmiles\"\n | \"inches\"\n | \"yards\"\n | \"feet\"\n | \"radians\"\n | \"degrees\";\n\n/**\n * Area measurement units.\n *\n * @typedef\n */\nexport type AreaUnits =\n | Exclude\n | \"acres\"\n | \"hectares\";\n\n/**\n * Grid types.\n *\n * @typedef\n */\nexport type Grid = \"point\" | \"square\" | \"hex\" | \"triangle\";\n\n/**\n * Shorthand corner identifiers.\n *\n * @typedef\n */\nexport type Corners = \"sw\" | \"se\" | \"nw\" | \"ne\" | \"center\" | \"centroid\";\n\n/**\n * Geometries made up of lines i.e. lines and polygons.\n *\n * @typedef\n */\nexport type Lines = LineString | MultiLineString | Polygon | MultiPolygon;\n\n/**\n * Convenience type for all possible GeoJSON.\n *\n * @typedef\n */\nexport type AllGeoJSON =\n | Feature\n | FeatureCollection\n | Geometry\n | GeometryCollection;\n\n/**\n * The Earth radius in meters. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.\n *\n * @constant\n */\nexport const earthRadius = 6371008.8;\n\n/**\n * Unit of measurement factors based on earthRadius.\n *\n * Keys are the name of the unit, values are the number of that unit in a single radian\n *\n * @constant\n */\nexport const factors: Record = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1000,\n kilometres: earthRadius / 1000,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1000,\n millimetres: earthRadius * 1000,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936,\n};\n\n/**\n\n * Area of measurement factors based on 1 square meter.\n *\n * @constant\n */\nexport const areaFactors: Record = {\n acres: 0.000247105,\n centimeters: 10000,\n centimetres: 10000,\n feet: 10.763910417,\n hectares: 0.0001,\n inches: 1550.003100006,\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n miles: 3.86e-7,\n nauticalmiles: 2.9155334959812285e-7,\n millimeters: 1000000,\n millimetres: 1000000,\n yards: 1.195990046,\n};\n\n/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @function\n * @param {GeometryObject} geometry input geometry\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nexport function feature<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geom: G | null,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n const feat: any = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @function\n * @param {(\"Point\" | \"LineString\" | \"Polygon\" | \"MultiPoint\" | \"MultiLineString\" | \"MultiPolygon\")} type Geometry Type\n * @param {Array} coordinates Coordinates\n * @param {Object} [options={}] Optional Parameters\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = \"Point\";\n * var coordinates = [110, 50];\n * var geometry = turf.geometry(type, coordinates);\n * // => geometry\n */\nexport function geometry<\n T extends\n | \"Point\"\n | \"LineString\"\n | \"Polygon\"\n | \"MultiPoint\"\n | \"MultiLineString\"\n | \"MultiPolygon\",\n>(\n type: T,\n coordinates: any[],\n _options: Record = {}\n): Extract {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry as Extract;\n case \"LineString\":\n return lineString(coordinates).geometry as Extract;\n case \"Polygon\":\n return polygon(coordinates).geometry as Extract;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry as Extract;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry as Extract<\n Geometry,\n { type: T }\n >;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry as Extract<\n Geometry,\n { type: T }\n >;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\n\n/**\n * Creates a {@link Point} {@link Feature} from a Position.\n *\n * @function\n * @param {Position} coordinates longitude, latitude position (each in decimal degrees)\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nexport function point

(\n coordinates: Position,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n\n const geom: Point = {\n type: \"Point\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.\n *\n * @function\n * @param {Position[]} coordinates an array of Points\n * @param {GeoJsonProperties} [properties={}] Translate these properties to each Feature\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} Point Feature\n * @example\n * var points = turf.points([\n * [-75, 39],\n * [-80, 45],\n * [-78, 50]\n * ]);\n *\n * //=points\n */\nexport function points

(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} Polygon Feature\n * @example\n * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });\n *\n * //=polygon\n */\nexport function polygon

(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom: Polygon = {\n type: \"Polygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygon coordinates\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} Polygon FeatureCollection\n * @example\n * var polygons = turf.polygons([\n * [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],\n * [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],\n * ]);\n *\n * //=polygons\n */\nexport function polygons

(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link LineString} {@link Feature} from an Array of Positions.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} LineString Feature\n * @example\n * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});\n * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});\n *\n * //=linestring1\n * //=linestring2\n */\nexport function lineString

(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom: LineString = {\n type: \"LineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} LineString FeatureCollection\n * @example\n * var linestrings = turf.lineStrings([\n * [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],\n * [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]\n * ]);\n *\n * //=linestrings\n */\nexport function lineStrings

(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @function\n * @param {Array>} features input features\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {FeatureCollection} FeatureCollection of Features\n * @example\n * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});\n * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});\n * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});\n *\n * var collection = turf.featureCollection([\n * locationA,\n * locationB,\n * locationC\n * ]);\n *\n * //=collection\n */\nexport function featureCollection<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n features: Array>,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection {\n const fc: any = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiLineString}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][]} coordinates an array of LineStrings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nexport function multiLineString<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n const geom: MultiLineString = {\n type: \"MultiLineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPoint}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nexport function multiPoint

(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n const geom: MultiPoint = {\n type: \"MultiPoint\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPolygon}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygons\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nexport function multiPolygon

(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n const geom: MultiPolygon = {\n type: \"MultiPolygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a Feature based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Array} geometries an array of GeoJSON Geometries\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = turf.geometry(\"Point\", [100, 0]);\n * var line = turf.geometry(\"LineString\", [[101, 0], [102, 1]]);\n * var collection = turf.geometryCollection([pt, line]);\n *\n * // => collection\n */\nexport function geometryCollection<\n G extends\n | Point\n | LineString\n | Polygon\n | MultiPoint\n | MultiLineString\n | MultiPolygon,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geometries: Array,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature, P> {\n const geom: GeometryCollection = {\n type: \"GeometryCollection\",\n geometries,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Round number to precision\n *\n * @function\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nexport function round(num: number, precision = 0): number {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} radians in radians across the sphere\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} distance\n */\nexport function radiansToLength(\n radians: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} radians\n */\nexport function lengthToRadians(\n distance: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nexport function lengthToDegrees(distance: number, units?: Units): number {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nexport function bearingToAzimuth(bearing: number): number {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\n\n/**\n * Converts any azimuth angle from the north line direction (positive clockwise)\n * and returns an angle between -180 and +180 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} angle between 0 and 360 degrees\n * @returns {number} bearing between -180 and +180 degrees\n */\nexport function azimuthToBearing(angle: number): number {\n // Ignore full revolutions (multiples of 360)\n angle = angle % 360;\n\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @function\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nexport function radiansToDegrees(radians: number): number {\n // % (2 * Math.PI) radians in case someone passes value > 2π\n const normalisedRadians = radians % (2 * Math.PI);\n return (normalisedRadians * 180) / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @function\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nexport function degreesToRadians(degrees: number): number {\n // % 360 degrees in case someone passes value > 360\n const normalisedDegrees = degrees % 360;\n return (normalisedDegrees * Math.PI) / 180;\n}\n\n/**\n * Converts a length from one unit to another.\n *\n * @function\n * @param {number} length Length to be converted\n * @param {Units} [originalUnit=\"kilometers\"] Input length unit\n * @param {Units} [finalUnit=\"kilometers\"] Returned length unit\n * @returns {number} The converted length\n */\nexport function convertLength(\n length: number,\n originalUnit: Units = \"kilometers\",\n finalUnit: Units = \"kilometers\"\n): number {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\n\n/**\n * Converts an area from one unit to another.\n *\n * @function\n * @param {number} area Area to be converted\n * @param {AreaUnits} [originalUnit=\"meters\"] Input area unit\n * @param {AreaUnits} [finalUnit=\"kilometers\"] Returned area unit\n * @returns {number} The converted length\n */\nexport function convertArea(\n area: number,\n originalUnit: AreaUnits = \"meters\",\n finalUnit: AreaUnits = \"kilometers\"\n): number {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @function\n * @param {any} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nexport function isNumber(num: any): boolean {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\n/**\n * isObject\n *\n * @function\n * @param {any} input variable to validate\n * @returns {boolean} true/false, including false for Arrays and Functions\n * @example\n * turf.isObject({elevation: 10})\n * //=true\n * turf.isObject('foo')\n * //=false\n */\nexport function isObject(input: any): boolean {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\n\n/**\n * Validate BBox\n *\n * @private\n * @param {any} bbox BBox to validate\n * @returns {void}\n * @throws {Error} if BBox is not valid\n * @example\n * validateBBox([-180, -40, 110, 50])\n * //=OK\n * validateBBox([-180, -40])\n * //=Error\n * validateBBox('Foo')\n * //=Error\n * validateBBox(5)\n * //=Error\n * validateBBox(null)\n * //=Error\n * validateBBox(undefined)\n * //=Error\n */\nexport function validateBBox(bbox: any): void {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\n\n/**\n * Validate Id\n *\n * @private\n * @param {any} id Id to validate\n * @returns {void}\n * @throws {Error} if Id is not valid\n * @example\n * validateId([-180, -40, 110, 50])\n * //=Error\n * validateId([-180, -40])\n * //=Error\n * validateId('Foo')\n * //=OK\n * validateId(5)\n * //=OK\n * validateId(null)\n * //=Error\n * validateId(undefined)\n * //=Error\n */\nexport function validateId(id: any): void {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\n", "import {\n Feature,\n FeatureCollection,\n Geometry,\n LineString,\n MultiPoint,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport { isNumber } from \"@turf/helpers\";\n\n/**\n * Unwrap a coordinate from a Point Feature, Geometry or a single coordinate.\n *\n * @function\n * @param {Array|Geometry|Feature} coord GeoJSON Point or an Array of numbers\n * @returns {Array} coordinates\n * @example\n * var pt = turf.point([10, 10]);\n *\n * var coord = turf.getCoord(pt);\n * //= [10, 10]\n */\nfunction getCoord(coord: Feature | Point | number[]): number[] {\n if (!coord) {\n throw new Error(\"coord is required\");\n }\n\n if (!Array.isArray(coord)) {\n if (\n coord.type === \"Feature\" &&\n coord.geometry !== null &&\n coord.geometry.type === \"Point\"\n ) {\n return [...coord.geometry.coordinates];\n }\n if (coord.type === \"Point\") {\n return [...coord.coordinates];\n }\n }\n if (\n Array.isArray(coord) &&\n coord.length >= 2 &&\n !Array.isArray(coord[0]) &&\n !Array.isArray(coord[1])\n ) {\n return [...coord];\n }\n\n throw new Error(\"coord must be GeoJSON Point or an Array of numbers\");\n}\n\n/**\n * Unwrap coordinates from a Feature, Geometry Object or an Array\n *\n * @function\n * @param {Array|Geometry|Feature} coords Feature, Geometry Object or an Array\n * @returns {Array} coordinates\n * @example\n * var poly = turf.polygon([[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]);\n *\n * var coords = turf.getCoords(poly);\n * //= [[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]\n */\nfunction getCoords<\n G extends\n | Point\n | LineString\n | Polygon\n | MultiPoint\n | MultiLineString\n | MultiPolygon,\n>(coords: any[] | Feature | G): any[] {\n if (Array.isArray(coords)) {\n return coords;\n }\n\n // Feature\n if (coords.type === \"Feature\") {\n if (coords.geometry !== null) {\n return coords.geometry.coordinates;\n }\n } else {\n // Geometry\n if (coords.coordinates) {\n return coords.coordinates;\n }\n }\n\n throw new Error(\n \"coords must be GeoJSON Feature, Geometry Object or an Array\"\n );\n}\n\n/**\n * Checks if coordinates contains a number\n *\n * @function\n * @param {Array} coordinates GeoJSON Coordinates\n * @returns {boolean} true if Array contains a number\n */\nfunction containsNumber(coordinates: any[]): boolean {\n if (\n coordinates.length > 1 &&\n isNumber(coordinates[0]) &&\n isNumber(coordinates[1])\n ) {\n return true;\n }\n\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error(\"coordinates must only contain numbers\");\n}\n\n/**\n * Enforce expectations about types of GeoJSON objects for Turf.\n *\n * @function\n * @param {GeoJSON} value any GeoJSON object\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction geojsonType(value: any, type: string, name: string): void {\n if (!type || !name) {\n throw new Error(\"type and name required\");\n }\n\n if (!value || value.type !== type) {\n throw new Error(\n \"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n value.type\n );\n }\n}\n\n/**\n * Enforce expectations about types of {@link Feature} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @function\n * @param {Feature} feature a feature with an expected geometry type\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} error if value is not the expected type.\n */\nfunction featureOf(feature: Feature, type: string, name: string): void {\n if (!feature) {\n throw new Error(\"No feature passed\");\n }\n if (!name) {\n throw new Error(\".featureOf() requires a name\");\n }\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n feature.geometry.type\n );\n }\n}\n\n/**\n * Enforce expectations about types of {@link FeatureCollection} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @function\n * @param {FeatureCollection} featureCollection a FeatureCollection for which features will be judged\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction collectionOf(\n featureCollection: FeatureCollection,\n type: string,\n name: string\n) {\n if (!featureCollection) {\n throw new Error(\"No featureCollection passed\");\n }\n if (!name) {\n throw new Error(\".collectionOf() requires a name\");\n }\n if (!featureCollection || featureCollection.type !== \"FeatureCollection\") {\n throw new Error(\n \"Invalid input to \" + name + \", FeatureCollection required\"\n );\n }\n for (const feature of featureCollection.features) {\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n feature.geometry.type\n );\n }\n }\n}\n\n/**\n * Get Geometry from Feature or Geometry Object\n *\n * @param {Feature|Geometry} geojson GeoJSON Feature or Geometry Object\n * @returns {Geometry|null} GeoJSON Geometry Object\n * @throws {Error} if geojson is not a Feature or Geometry Object\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getGeom(point)\n * //={\"type\": \"Point\", \"coordinates\": [110, 40]}\n */\nfunction getGeom(geojson: Feature | G): G {\n if (geojson.type === \"Feature\") {\n return geojson.geometry;\n }\n return geojson;\n}\n\n/**\n * Get GeoJSON object's type, Geometry type is prioritize.\n *\n * @param {GeoJSON} geojson GeoJSON object\n * @param {string} [name=\"geojson\"] name of the variable to display in error message (unused)\n * @returns {string} GeoJSON type\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getType(point)\n * //=\"Point\"\n */\nfunction getType(\n geojson: Feature | FeatureCollection | Geometry,\n _name?: string\n): string {\n if (geojson.type === \"FeatureCollection\") {\n return \"FeatureCollection\";\n }\n if (geojson.type === \"GeometryCollection\") {\n return \"GeometryCollection\";\n }\n if (geojson.type === \"Feature\" && geojson.geometry !== null) {\n return geojson.geometry.type;\n }\n return geojson.type;\n}\n\nexport {\n getCoord,\n getCoords,\n containsNumber,\n geojsonType,\n featureOf,\n collectionOf,\n getGeom,\n getType,\n};\n// No default export!\n", "export const epsilon = 1.1102230246251565e-16;\nexport const splitter = 134217729;\nexport const resulterrbound = (3 + 8 * epsilon) * epsilon;\n\n// fast_expansion_sum_zeroelim routine from oritinal code\nexport function sum(elen, e, flen, f, h) {\n let Q, Qnew, hh, bvirt;\n let enow = e[0];\n let fnow = f[0];\n let eindex = 0;\n let findex = 0;\n if ((fnow > enow) === (fnow > -enow)) {\n Q = enow;\n enow = e[++eindex];\n } else {\n Q = fnow;\n fnow = f[++findex];\n }\n let hindex = 0;\n if (eindex < elen && findex < flen) {\n if ((fnow > enow) === (fnow > -enow)) {\n Qnew = enow + Q;\n hh = Q - (Qnew - enow);\n enow = e[++eindex];\n } else {\n Qnew = fnow + Q;\n hh = Q - (Qnew - fnow);\n fnow = f[++findex];\n }\n Q = Qnew;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n while (eindex < elen && findex < flen) {\n if ((fnow > enow) === (fnow > -enow)) {\n Qnew = Q + enow;\n bvirt = Qnew - Q;\n hh = Q - (Qnew - bvirt) + (enow - bvirt);\n enow = e[++eindex];\n } else {\n Qnew = Q + fnow;\n bvirt = Qnew - Q;\n hh = Q - (Qnew - bvirt) + (fnow - bvirt);\n fnow = f[++findex];\n }\n Q = Qnew;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n }\n }\n while (eindex < elen) {\n Qnew = Q + enow;\n bvirt = Qnew - Q;\n hh = Q - (Qnew - bvirt) + (enow - bvirt);\n enow = e[++eindex];\n Q = Qnew;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n }\n while (findex < flen) {\n Qnew = Q + fnow;\n bvirt = Qnew - Q;\n hh = Q - (Qnew - bvirt) + (fnow - bvirt);\n fnow = f[++findex];\n Q = Qnew;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n }\n if (Q !== 0 || hindex === 0) {\n h[hindex++] = Q;\n }\n return hindex;\n}\n\nexport function sum_three(alen, a, blen, b, clen, c, tmp, out) {\n return sum(sum(alen, a, blen, b, tmp), tmp, clen, c, out);\n}\n\n// scale_expansion_zeroelim routine from oritinal code\nexport function scale(elen, e, b, h) {\n let Q, sum, hh, product1, product0;\n let bvirt, c, ahi, alo, bhi, blo;\n\n c = splitter * b;\n bhi = c - (c - b);\n blo = b - bhi;\n let enow = e[0];\n Q = enow * b;\n c = splitter * enow;\n ahi = c - (c - enow);\n alo = enow - ahi;\n hh = alo * blo - (Q - ahi * bhi - alo * bhi - ahi * blo);\n let hindex = 0;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n for (let i = 1; i < elen; i++) {\n enow = e[i];\n product1 = enow * b;\n c = splitter * enow;\n ahi = c - (c - enow);\n alo = enow - ahi;\n product0 = alo * blo - (product1 - ahi * bhi - alo * bhi - ahi * blo);\n sum = Q + product0;\n bvirt = sum - Q;\n hh = Q - (sum - bvirt) + (product0 - bvirt);\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n Q = product1 + sum;\n hh = sum - (Q - product1);\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n }\n if (Q !== 0 || hindex === 0) {\n h[hindex++] = Q;\n }\n return hindex;\n}\n\nexport function negate(elen, e) {\n for (let i = 0; i < elen; i++) e[i] = -e[i];\n return elen;\n}\n\nexport function estimate(elen, e) {\n let Q = e[0];\n for (let i = 1; i < elen; i++) Q += e[i];\n return Q;\n}\n\nexport function vec(n) {\n return new Float64Array(n);\n}\n", "import {epsilon, splitter, resulterrbound, estimate, vec, sum} from './util.js';\n\nconst ccwerrboundA = (3 + 16 * epsilon) * epsilon;\nconst ccwerrboundB = (2 + 12 * epsilon) * epsilon;\nconst ccwerrboundC = (9 + 64 * epsilon) * epsilon * epsilon;\n\nconst B = vec(4);\nconst C1 = vec(8);\nconst C2 = vec(12);\nconst D = vec(16);\nconst u = vec(4);\n\nfunction orient2dadapt(ax, ay, bx, by, cx, cy, detsum) {\n let acxtail, acytail, bcxtail, bcytail;\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;\n\n const acx = ax - cx;\n const bcx = bx - cx;\n const acy = ay - cy;\n const bcy = by - cy;\n\n s1 = acx * bcy;\n c = splitter * acx;\n ahi = c - (c - acx);\n alo = acx - ahi;\n c = splitter * bcy;\n bhi = c - (c - bcy);\n blo = bcy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = acy * bcx;\n c = splitter * acy;\n ahi = c - (c - acy);\n alo = acy - ahi;\n c = splitter * bcx;\n bhi = c - (c - bcx);\n blo = bcx - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n B[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n B[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n B[2] = _j - (u3 - bvirt) + (_i - bvirt);\n B[3] = u3;\n\n let det = estimate(4, B);\n let errbound = ccwerrboundB * detsum;\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n bvirt = ax - acx;\n acxtail = ax - (acx + bvirt) + (bvirt - cx);\n bvirt = bx - bcx;\n bcxtail = bx - (bcx + bvirt) + (bvirt - cx);\n bvirt = ay - acy;\n acytail = ay - (acy + bvirt) + (bvirt - cy);\n bvirt = by - bcy;\n bcytail = by - (bcy + bvirt) + (bvirt - cy);\n\n if (acxtail === 0 && acytail === 0 && bcxtail === 0 && bcytail === 0) {\n return det;\n }\n\n errbound = ccwerrboundC * detsum + resulterrbound * Math.abs(det);\n det += (acx * bcytail + bcy * acxtail) - (acy * bcxtail + bcx * acytail);\n if (det >= errbound || -det >= errbound) return det;\n\n s1 = acxtail * bcy;\n c = splitter * acxtail;\n ahi = c - (c - acxtail);\n alo = acxtail - ahi;\n c = splitter * bcy;\n bhi = c - (c - bcy);\n blo = bcy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = acytail * bcx;\n c = splitter * acytail;\n ahi = c - (c - acytail);\n alo = acytail - ahi;\n c = splitter * bcx;\n bhi = c - (c - bcx);\n blo = bcx - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n u[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n u[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n const C1len = sum(4, B, 4, u, C1);\n\n s1 = acx * bcytail;\n c = splitter * acx;\n ahi = c - (c - acx);\n alo = acx - ahi;\n c = splitter * bcytail;\n bhi = c - (c - bcytail);\n blo = bcytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = acy * bcxtail;\n c = splitter * acy;\n ahi = c - (c - acy);\n alo = acy - ahi;\n c = splitter * bcxtail;\n bhi = c - (c - bcxtail);\n blo = bcxtail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n u[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n u[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n const C2len = sum(C1len, C1, 4, u, C2);\n\n s1 = acxtail * bcytail;\n c = splitter * acxtail;\n ahi = c - (c - acxtail);\n alo = acxtail - ahi;\n c = splitter * bcytail;\n bhi = c - (c - bcytail);\n blo = bcytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = acytail * bcxtail;\n c = splitter * acytail;\n ahi = c - (c - acytail);\n alo = acytail - ahi;\n c = splitter * bcxtail;\n bhi = c - (c - bcxtail);\n blo = bcxtail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n u[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n u[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n const Dlen = sum(C2len, C2, 4, u, D);\n\n return D[Dlen - 1];\n}\n\nexport function orient2d(ax, ay, bx, by, cx, cy) {\n const detleft = (ay - cy) * (bx - cx);\n const detright = (ax - cx) * (by - cy);\n const det = detleft - detright;\n\n const detsum = Math.abs(detleft + detright);\n if (Math.abs(det) >= ccwerrboundA * detsum) return det;\n\n return -orient2dadapt(ax, ay, bx, by, cx, cy, detsum);\n}\n\nexport function orient2dfast(ax, ay, bx, by, cx, cy) {\n return (ay - cy) * (bx - cx) - (ax - cx) * (by - cy);\n}\n", "import {epsilon, splitter, resulterrbound, estimate, vec, sum, scale} from './util.js';\n\nconst o3derrboundA = (7 + 56 * epsilon) * epsilon;\nconst o3derrboundB = (3 + 28 * epsilon) * epsilon;\nconst o3derrboundC = (26 + 288 * epsilon) * epsilon * epsilon;\n\nconst bc = vec(4);\nconst ca = vec(4);\nconst ab = vec(4);\nconst at_b = vec(4);\nconst at_c = vec(4);\nconst bt_c = vec(4);\nconst bt_a = vec(4);\nconst ct_a = vec(4);\nconst ct_b = vec(4);\nconst bct = vec(8);\nconst cat = vec(8);\nconst abt = vec(8);\nconst u = vec(4);\n\nconst _8 = vec(8);\nconst _8b = vec(8);\nconst _16 = vec(8);\nconst _12 = vec(12);\n\nlet fin = vec(192);\nlet fin2 = vec(192);\n\nfunction finadd(finlen, alen, a) {\n finlen = sum(finlen, fin, alen, a, fin2);\n const tmp = fin; fin = fin2; fin2 = tmp;\n return finlen;\n}\n\nfunction tailinit(xtail, ytail, ax, ay, bx, by, a, b) {\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, t1, t0, u3, negate;\n if (xtail === 0) {\n if (ytail === 0) {\n a[0] = 0;\n b[0] = 0;\n return 1;\n } else {\n negate = -ytail;\n s1 = negate * ax;\n c = splitter * negate;\n ahi = c - (c - negate);\n alo = negate - ahi;\n c = splitter * ax;\n bhi = c - (c - ax);\n blo = ax - bhi;\n a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n a[1] = s1;\n s1 = ytail * bx;\n c = splitter * ytail;\n ahi = c - (c - ytail);\n alo = ytail - ahi;\n c = splitter * bx;\n bhi = c - (c - bx);\n blo = bx - bhi;\n b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n b[1] = s1;\n return 2;\n }\n } else {\n if (ytail === 0) {\n s1 = xtail * ay;\n c = splitter * xtail;\n ahi = c - (c - xtail);\n alo = xtail - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n a[1] = s1;\n negate = -xtail;\n s1 = negate * by;\n c = splitter * negate;\n ahi = c - (c - negate);\n alo = negate - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n b[1] = s1;\n return 2;\n } else {\n s1 = xtail * ay;\n c = splitter * xtail;\n ahi = c - (c - xtail);\n alo = xtail - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ytail * ax;\n c = splitter * ytail;\n ahi = c - (c - ytail);\n alo = ytail - ahi;\n c = splitter * ax;\n bhi = c - (c - ax);\n blo = ax - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n a[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n a[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n a[2] = _j - (u3 - bvirt) + (_i - bvirt);\n a[3] = u3;\n s1 = ytail * bx;\n c = splitter * ytail;\n ahi = c - (c - ytail);\n alo = ytail - ahi;\n c = splitter * bx;\n bhi = c - (c - bx);\n blo = bx - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = xtail * by;\n c = splitter * xtail;\n ahi = c - (c - xtail);\n alo = xtail - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n b[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n b[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n b[2] = _j - (u3 - bvirt) + (_i - bvirt);\n b[3] = u3;\n return 4;\n }\n }\n}\n\nfunction tailadd(finlen, a, b, k, z) {\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, u3;\n s1 = a * b;\n c = splitter * a;\n ahi = c - (c - a);\n alo = a - ahi;\n c = splitter * b;\n bhi = c - (c - b);\n blo = b - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n c = splitter * k;\n bhi = c - (c - k);\n blo = k - bhi;\n _i = s0 * k;\n c = splitter * s0;\n ahi = c - (c - s0);\n alo = s0 - ahi;\n u[0] = alo * blo - (_i - ahi * bhi - alo * bhi - ahi * blo);\n _j = s1 * k;\n c = splitter * s1;\n ahi = c - (c - s1);\n alo = s1 - ahi;\n _0 = alo * blo - (_j - ahi * bhi - alo * bhi - ahi * blo);\n _k = _i + _0;\n bvirt = _k - _i;\n u[1] = _i - (_k - bvirt) + (_0 - bvirt);\n u3 = _j + _k;\n u[2] = _k - (u3 - _j);\n u[3] = u3;\n finlen = finadd(finlen, 4, u);\n if (z !== 0) {\n c = splitter * z;\n bhi = c - (c - z);\n blo = z - bhi;\n _i = s0 * z;\n c = splitter * s0;\n ahi = c - (c - s0);\n alo = s0 - ahi;\n u[0] = alo * blo - (_i - ahi * bhi - alo * bhi - ahi * blo);\n _j = s1 * z;\n c = splitter * s1;\n ahi = c - (c - s1);\n alo = s1 - ahi;\n _0 = alo * blo - (_j - ahi * bhi - alo * bhi - ahi * blo);\n _k = _i + _0;\n bvirt = _k - _i;\n u[1] = _i - (_k - bvirt) + (_0 - bvirt);\n u3 = _j + _k;\n u[2] = _k - (u3 - _j);\n u[3] = u3;\n finlen = finadd(finlen, 4, u);\n }\n return finlen;\n}\n\nfunction orient3dadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, permanent) {\n let finlen;\n let adxtail, bdxtail, cdxtail;\n let adytail, bdytail, cdytail;\n let adztail, bdztail, cdztail;\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, t1, t0, u3;\n\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n const adz = az - dz;\n const bdz = bz - dz;\n const cdz = cz - dz;\n\n s1 = bdx * cdy;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdx * bdy;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bc[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bc[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bc[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bc[3] = u3;\n s1 = cdx * ady;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adx * cdy;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ca[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ca[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ca[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ca[3] = u3;\n s1 = adx * bdy;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdx * ady;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ab[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ab[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ab[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ab[3] = u3;\n\n finlen = sum(\n sum(\n scale(4, bc, adz, _8), _8,\n scale(4, ca, bdz, _8b), _8b, _16), _16,\n scale(4, ab, cdz, _8), _8, fin);\n\n let det = estimate(finlen, fin);\n let errbound = o3derrboundB * permanent;\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n bvirt = ax - adx;\n adxtail = ax - (adx + bvirt) + (bvirt - dx);\n bvirt = bx - bdx;\n bdxtail = bx - (bdx + bvirt) + (bvirt - dx);\n bvirt = cx - cdx;\n cdxtail = cx - (cdx + bvirt) + (bvirt - dx);\n bvirt = ay - ady;\n adytail = ay - (ady + bvirt) + (bvirt - dy);\n bvirt = by - bdy;\n bdytail = by - (bdy + bvirt) + (bvirt - dy);\n bvirt = cy - cdy;\n cdytail = cy - (cdy + bvirt) + (bvirt - dy);\n bvirt = az - adz;\n adztail = az - (adz + bvirt) + (bvirt - dz);\n bvirt = bz - bdz;\n bdztail = bz - (bdz + bvirt) + (bvirt - dz);\n bvirt = cz - cdz;\n cdztail = cz - (cdz + bvirt) + (bvirt - dz);\n\n if (adxtail === 0 && bdxtail === 0 && cdxtail === 0 &&\n adytail === 0 && bdytail === 0 && cdytail === 0 &&\n adztail === 0 && bdztail === 0 && cdztail === 0) {\n return det;\n }\n\n errbound = o3derrboundC * permanent + resulterrbound * Math.abs(det);\n det +=\n adz * (bdx * cdytail + cdy * bdxtail - (bdy * cdxtail + cdx * bdytail)) + adztail * (bdx * cdy - bdy * cdx) +\n bdz * (cdx * adytail + ady * cdxtail - (cdy * adxtail + adx * cdytail)) + bdztail * (cdx * ady - cdy * adx) +\n cdz * (adx * bdytail + bdy * adxtail - (ady * bdxtail + bdx * adytail)) + cdztail * (adx * bdy - ady * bdx);\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n const at_len = tailinit(adxtail, adytail, bdx, bdy, cdx, cdy, at_b, at_c);\n const bt_len = tailinit(bdxtail, bdytail, cdx, cdy, adx, ady, bt_c, bt_a);\n const ct_len = tailinit(cdxtail, cdytail, adx, ady, bdx, bdy, ct_a, ct_b);\n\n const bctlen = sum(bt_len, bt_c, ct_len, ct_b, bct);\n finlen = finadd(finlen, scale(bctlen, bct, adz, _16), _16);\n\n const catlen = sum(ct_len, ct_a, at_len, at_c, cat);\n finlen = finadd(finlen, scale(catlen, cat, bdz, _16), _16);\n\n const abtlen = sum(at_len, at_b, bt_len, bt_a, abt);\n finlen = finadd(finlen, scale(abtlen, abt, cdz, _16), _16);\n\n if (adztail !== 0) {\n finlen = finadd(finlen, scale(4, bc, adztail, _12), _12);\n finlen = finadd(finlen, scale(bctlen, bct, adztail, _16), _16);\n }\n if (bdztail !== 0) {\n finlen = finadd(finlen, scale(4, ca, bdztail, _12), _12);\n finlen = finadd(finlen, scale(catlen, cat, bdztail, _16), _16);\n }\n if (cdztail !== 0) {\n finlen = finadd(finlen, scale(4, ab, cdztail, _12), _12);\n finlen = finadd(finlen, scale(abtlen, abt, cdztail, _16), _16);\n }\n\n if (adxtail !== 0) {\n if (bdytail !== 0) {\n finlen = tailadd(finlen, adxtail, bdytail, cdz, cdztail);\n }\n if (cdytail !== 0) {\n finlen = tailadd(finlen, -adxtail, cdytail, bdz, bdztail);\n }\n }\n if (bdxtail !== 0) {\n if (cdytail !== 0) {\n finlen = tailadd(finlen, bdxtail, cdytail, adz, adztail);\n }\n if (adytail !== 0) {\n finlen = tailadd(finlen, -bdxtail, adytail, cdz, cdztail);\n }\n }\n if (cdxtail !== 0) {\n if (adytail !== 0) {\n finlen = tailadd(finlen, cdxtail, adytail, bdz, bdztail);\n }\n if (bdytail !== 0) {\n finlen = tailadd(finlen, -cdxtail, bdytail, adz, adztail);\n }\n }\n\n return fin[finlen - 1];\n}\n\nexport function orient3d(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz) {\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n const adz = az - dz;\n const bdz = bz - dz;\n const cdz = cz - dz;\n\n const bdxcdy = bdx * cdy;\n const cdxbdy = cdx * bdy;\n\n const cdxady = cdx * ady;\n const adxcdy = adx * cdy;\n\n const adxbdy = adx * bdy;\n const bdxady = bdx * ady;\n\n const det =\n adz * (bdxcdy - cdxbdy) +\n bdz * (cdxady - adxcdy) +\n cdz * (adxbdy - bdxady);\n\n const permanent =\n (Math.abs(bdxcdy) + Math.abs(cdxbdy)) * Math.abs(adz) +\n (Math.abs(cdxady) + Math.abs(adxcdy)) * Math.abs(bdz) +\n (Math.abs(adxbdy) + Math.abs(bdxady)) * Math.abs(cdz);\n\n const errbound = o3derrboundA * permanent;\n if (det > errbound || -det > errbound) {\n return det;\n }\n\n return orient3dadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, permanent);\n}\n\nexport function orient3dfast(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz) {\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n const adz = az - dz;\n const bdz = bz - dz;\n const cdz = cz - dz;\n\n return adx * (bdy * cdz - bdz * cdy) +\n bdx * (cdy * adz - cdz * ady) +\n cdx * (ady * bdz - adz * bdy);\n}\n", "import {epsilon, splitter, resulterrbound, estimate, vec, sum, sum_three, scale} from './util.js';\n\nconst iccerrboundA = (10 + 96 * epsilon) * epsilon;\nconst iccerrboundB = (4 + 48 * epsilon) * epsilon;\nconst iccerrboundC = (44 + 576 * epsilon) * epsilon * epsilon;\n\nconst bc = vec(4);\nconst ca = vec(4);\nconst ab = vec(4);\nconst aa = vec(4);\nconst bb = vec(4);\nconst cc = vec(4);\nconst u = vec(4);\nconst v = vec(4);\nconst axtbc = vec(8);\nconst aytbc = vec(8);\nconst bxtca = vec(8);\nconst bytca = vec(8);\nconst cxtab = vec(8);\nconst cytab = vec(8);\nconst abt = vec(8);\nconst bct = vec(8);\nconst cat = vec(8);\nconst abtt = vec(4);\nconst bctt = vec(4);\nconst catt = vec(4);\n\nconst _8 = vec(8);\nconst _16 = vec(16);\nconst _16b = vec(16);\nconst _16c = vec(16);\nconst _32 = vec(32);\nconst _32b = vec(32);\nconst _48 = vec(48);\nconst _64 = vec(64);\n\nlet fin = vec(1152);\nlet fin2 = vec(1152);\n\nfunction finadd(finlen, a, alen) {\n finlen = sum(finlen, fin, a, alen, fin2);\n const tmp = fin; fin = fin2; fin2 = tmp;\n return finlen;\n}\n\nfunction incircleadapt(ax, ay, bx, by, cx, cy, dx, dy, permanent) {\n let finlen;\n let adxtail, bdxtail, cdxtail, adytail, bdytail, cdytail;\n let axtbclen, aytbclen, bxtcalen, bytcalen, cxtablen, cytablen;\n let abtlen, bctlen, catlen;\n let abttlen, bcttlen, cattlen;\n let n1, n0;\n\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;\n\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n\n s1 = bdx * cdy;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdx * bdy;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bc[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bc[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bc[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bc[3] = u3;\n s1 = cdx * ady;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adx * cdy;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ca[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ca[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ca[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ca[3] = u3;\n s1 = adx * bdy;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdx * ady;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ab[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ab[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ab[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ab[3] = u3;\n\n finlen = sum(\n sum(\n sum(\n scale(scale(4, bc, adx, _8), _8, adx, _16), _16,\n scale(scale(4, bc, ady, _8), _8, ady, _16b), _16b, _32), _32,\n sum(\n scale(scale(4, ca, bdx, _8), _8, bdx, _16), _16,\n scale(scale(4, ca, bdy, _8), _8, bdy, _16b), _16b, _32b), _32b, _64), _64,\n sum(\n scale(scale(4, ab, cdx, _8), _8, cdx, _16), _16,\n scale(scale(4, ab, cdy, _8), _8, cdy, _16b), _16b, _32), _32, fin);\n\n let det = estimate(finlen, fin);\n let errbound = iccerrboundB * permanent;\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n bvirt = ax - adx;\n adxtail = ax - (adx + bvirt) + (bvirt - dx);\n bvirt = ay - ady;\n adytail = ay - (ady + bvirt) + (bvirt - dy);\n bvirt = bx - bdx;\n bdxtail = bx - (bdx + bvirt) + (bvirt - dx);\n bvirt = by - bdy;\n bdytail = by - (bdy + bvirt) + (bvirt - dy);\n bvirt = cx - cdx;\n cdxtail = cx - (cdx + bvirt) + (bvirt - dx);\n bvirt = cy - cdy;\n cdytail = cy - (cdy + bvirt) + (bvirt - dy);\n if (adxtail === 0 && bdxtail === 0 && cdxtail === 0 && adytail === 0 && bdytail === 0 && cdytail === 0) {\n return det;\n }\n\n errbound = iccerrboundC * permanent + resulterrbound * Math.abs(det);\n det += ((adx * adx + ady * ady) * ((bdx * cdytail + cdy * bdxtail) - (bdy * cdxtail + cdx * bdytail)) +\n 2 * (adx * adxtail + ady * adytail) * (bdx * cdy - bdy * cdx)) +\n ((bdx * bdx + bdy * bdy) * ((cdx * adytail + ady * cdxtail) - (cdy * adxtail + adx * cdytail)) +\n 2 * (bdx * bdxtail + bdy * bdytail) * (cdx * ady - cdy * adx)) +\n ((cdx * cdx + cdy * cdy) * ((adx * bdytail + bdy * adxtail) - (ady * bdxtail + bdx * adytail)) +\n 2 * (cdx * cdxtail + cdy * cdytail) * (adx * bdy - ady * bdx));\n\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n if (bdxtail !== 0 || bdytail !== 0 || cdxtail !== 0 || cdytail !== 0) {\n s1 = adx * adx;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);\n t1 = ady * ady;\n c = splitter * ady;\n ahi = c - (c - ady);\n alo = ady - ahi;\n t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);\n _i = s0 + t0;\n bvirt = _i - s0;\n aa[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n aa[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n aa[2] = _j - (u3 - bvirt) + (_i - bvirt);\n aa[3] = u3;\n }\n if (cdxtail !== 0 || cdytail !== 0 || adxtail !== 0 || adytail !== 0) {\n s1 = bdx * bdx;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);\n t1 = bdy * bdy;\n c = splitter * bdy;\n ahi = c - (c - bdy);\n alo = bdy - ahi;\n t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);\n _i = s0 + t0;\n bvirt = _i - s0;\n bb[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n bb[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bb[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bb[3] = u3;\n }\n if (adxtail !== 0 || adytail !== 0 || bdxtail !== 0 || bdytail !== 0) {\n s1 = cdx * cdx;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);\n t1 = cdy * cdy;\n c = splitter * cdy;\n ahi = c - (c - cdy);\n alo = cdy - ahi;\n t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);\n _i = s0 + t0;\n bvirt = _i - s0;\n cc[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n cc[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n cc[2] = _j - (u3 - bvirt) + (_i - bvirt);\n cc[3] = u3;\n }\n\n if (adxtail !== 0) {\n axtbclen = scale(4, bc, adxtail, axtbc);\n finlen = finadd(finlen, sum_three(\n scale(axtbclen, axtbc, 2 * adx, _16), _16,\n scale(scale(4, cc, adxtail, _8), _8, bdy, _16b), _16b,\n scale(scale(4, bb, adxtail, _8), _8, -cdy, _16c), _16c, _32, _48), _48);\n }\n if (adytail !== 0) {\n aytbclen = scale(4, bc, adytail, aytbc);\n finlen = finadd(finlen, sum_three(\n scale(aytbclen, aytbc, 2 * ady, _16), _16,\n scale(scale(4, bb, adytail, _8), _8, cdx, _16b), _16b,\n scale(scale(4, cc, adytail, _8), _8, -bdx, _16c), _16c, _32, _48), _48);\n }\n if (bdxtail !== 0) {\n bxtcalen = scale(4, ca, bdxtail, bxtca);\n finlen = finadd(finlen, sum_three(\n scale(bxtcalen, bxtca, 2 * bdx, _16), _16,\n scale(scale(4, aa, bdxtail, _8), _8, cdy, _16b), _16b,\n scale(scale(4, cc, bdxtail, _8), _8, -ady, _16c), _16c, _32, _48), _48);\n }\n if (bdytail !== 0) {\n bytcalen = scale(4, ca, bdytail, bytca);\n finlen = finadd(finlen, sum_three(\n scale(bytcalen, bytca, 2 * bdy, _16), _16,\n scale(scale(4, cc, bdytail, _8), _8, adx, _16b), _16b,\n scale(scale(4, aa, bdytail, _8), _8, -cdx, _16c), _16c, _32, _48), _48);\n }\n if (cdxtail !== 0) {\n cxtablen = scale(4, ab, cdxtail, cxtab);\n finlen = finadd(finlen, sum_three(\n scale(cxtablen, cxtab, 2 * cdx, _16), _16,\n scale(scale(4, bb, cdxtail, _8), _8, ady, _16b), _16b,\n scale(scale(4, aa, cdxtail, _8), _8, -bdy, _16c), _16c, _32, _48), _48);\n }\n if (cdytail !== 0) {\n cytablen = scale(4, ab, cdytail, cytab);\n finlen = finadd(finlen, sum_three(\n scale(cytablen, cytab, 2 * cdy, _16), _16,\n scale(scale(4, aa, cdytail, _8), _8, bdx, _16b), _16b,\n scale(scale(4, bb, cdytail, _8), _8, -adx, _16c), _16c, _32, _48), _48);\n }\n\n if (adxtail !== 0 || adytail !== 0) {\n if (bdxtail !== 0 || bdytail !== 0 || cdxtail !== 0 || cdytail !== 0) {\n s1 = bdxtail * cdy;\n c = splitter * bdxtail;\n ahi = c - (c - bdxtail);\n alo = bdxtail - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdx * cdytail;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * cdytail;\n bhi = c - (c - cdytail);\n blo = cdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n u[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n u[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n s1 = cdxtail * -bdy;\n c = splitter * cdxtail;\n ahi = c - (c - cdxtail);\n alo = cdxtail - ahi;\n c = splitter * -bdy;\n bhi = c - (c - -bdy);\n blo = -bdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdx * -bdytail;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * -bdytail;\n bhi = c - (c - -bdytail);\n blo = -bdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n v[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n v[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n v[2] = _j - (u3 - bvirt) + (_i - bvirt);\n v[3] = u3;\n bctlen = sum(4, u, 4, v, bct);\n s1 = bdxtail * cdytail;\n c = splitter * bdxtail;\n ahi = c - (c - bdxtail);\n alo = bdxtail - ahi;\n c = splitter * cdytail;\n bhi = c - (c - cdytail);\n blo = cdytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdxtail * bdytail;\n c = splitter * cdxtail;\n ahi = c - (c - cdxtail);\n alo = cdxtail - ahi;\n c = splitter * bdytail;\n bhi = c - (c - bdytail);\n blo = bdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bctt[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bctt[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bctt[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bctt[3] = u3;\n bcttlen = 4;\n } else {\n bct[0] = 0;\n bctlen = 1;\n bctt[0] = 0;\n bcttlen = 1;\n }\n if (adxtail !== 0) {\n const len = scale(bctlen, bct, adxtail, _16c);\n finlen = finadd(finlen, sum(\n scale(axtbclen, axtbc, adxtail, _16), _16,\n scale(len, _16c, 2 * adx, _32), _32, _48), _48);\n\n const len2 = scale(bcttlen, bctt, adxtail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * adx, _16), _16,\n scale(len2, _8, adxtail, _16b), _16b,\n scale(len, _16c, adxtail, _32), _32, _32b, _64), _64);\n\n if (bdytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, cc, adxtail, _8), _8, bdytail, _16), _16);\n }\n if (cdytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, bb, -adxtail, _8), _8, cdytail, _16), _16);\n }\n }\n if (adytail !== 0) {\n const len = scale(bctlen, bct, adytail, _16c);\n finlen = finadd(finlen, sum(\n scale(aytbclen, aytbc, adytail, _16), _16,\n scale(len, _16c, 2 * ady, _32), _32, _48), _48);\n\n const len2 = scale(bcttlen, bctt, adytail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * ady, _16), _16,\n scale(len2, _8, adytail, _16b), _16b,\n scale(len, _16c, adytail, _32), _32, _32b, _64), _64);\n }\n }\n if (bdxtail !== 0 || bdytail !== 0) {\n if (cdxtail !== 0 || cdytail !== 0 || adxtail !== 0 || adytail !== 0) {\n s1 = cdxtail * ady;\n c = splitter * cdxtail;\n ahi = c - (c - cdxtail);\n alo = cdxtail - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdx * adytail;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * adytail;\n bhi = c - (c - adytail);\n blo = adytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n u[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n u[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n n1 = -cdy;\n n0 = -cdytail;\n s1 = adxtail * n1;\n c = splitter * adxtail;\n ahi = c - (c - adxtail);\n alo = adxtail - ahi;\n c = splitter * n1;\n bhi = c - (c - n1);\n blo = n1 - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adx * n0;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * n0;\n bhi = c - (c - n0);\n blo = n0 - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n v[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n v[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n v[2] = _j - (u3 - bvirt) + (_i - bvirt);\n v[3] = u3;\n catlen = sum(4, u, 4, v, cat);\n s1 = cdxtail * adytail;\n c = splitter * cdxtail;\n ahi = c - (c - cdxtail);\n alo = cdxtail - ahi;\n c = splitter * adytail;\n bhi = c - (c - adytail);\n blo = adytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adxtail * cdytail;\n c = splitter * adxtail;\n ahi = c - (c - adxtail);\n alo = adxtail - ahi;\n c = splitter * cdytail;\n bhi = c - (c - cdytail);\n blo = cdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n catt[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n catt[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n catt[2] = _j - (u3 - bvirt) + (_i - bvirt);\n catt[3] = u3;\n cattlen = 4;\n } else {\n cat[0] = 0;\n catlen = 1;\n catt[0] = 0;\n cattlen = 1;\n }\n if (bdxtail !== 0) {\n const len = scale(catlen, cat, bdxtail, _16c);\n finlen = finadd(finlen, sum(\n scale(bxtcalen, bxtca, bdxtail, _16), _16,\n scale(len, _16c, 2 * bdx, _32), _32, _48), _48);\n\n const len2 = scale(cattlen, catt, bdxtail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * bdx, _16), _16,\n scale(len2, _8, bdxtail, _16b), _16b,\n scale(len, _16c, bdxtail, _32), _32, _32b, _64), _64);\n\n if (cdytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, aa, bdxtail, _8), _8, cdytail, _16), _16);\n }\n if (adytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, cc, -bdxtail, _8), _8, adytail, _16), _16);\n }\n }\n if (bdytail !== 0) {\n const len = scale(catlen, cat, bdytail, _16c);\n finlen = finadd(finlen, sum(\n scale(bytcalen, bytca, bdytail, _16), _16,\n scale(len, _16c, 2 * bdy, _32), _32, _48), _48);\n\n const len2 = scale(cattlen, catt, bdytail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * bdy, _16), _16,\n scale(len2, _8, bdytail, _16b), _16b,\n scale(len, _16c, bdytail, _32), _32, _32b, _64), _64);\n }\n }\n if (cdxtail !== 0 || cdytail !== 0) {\n if (adxtail !== 0 || adytail !== 0 || bdxtail !== 0 || bdytail !== 0) {\n s1 = adxtail * bdy;\n c = splitter * adxtail;\n ahi = c - (c - adxtail);\n alo = adxtail - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adx * bdytail;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * bdytail;\n bhi = c - (c - bdytail);\n blo = bdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n u[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n u[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n n1 = -ady;\n n0 = -adytail;\n s1 = bdxtail * n1;\n c = splitter * bdxtail;\n ahi = c - (c - bdxtail);\n alo = bdxtail - ahi;\n c = splitter * n1;\n bhi = c - (c - n1);\n blo = n1 - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdx * n0;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * n0;\n bhi = c - (c - n0);\n blo = n0 - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n v[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n v[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n v[2] = _j - (u3 - bvirt) + (_i - bvirt);\n v[3] = u3;\n abtlen = sum(4, u, 4, v, abt);\n s1 = adxtail * bdytail;\n c = splitter * adxtail;\n ahi = c - (c - adxtail);\n alo = adxtail - ahi;\n c = splitter * bdytail;\n bhi = c - (c - bdytail);\n blo = bdytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdxtail * adytail;\n c = splitter * bdxtail;\n ahi = c - (c - bdxtail);\n alo = bdxtail - ahi;\n c = splitter * adytail;\n bhi = c - (c - adytail);\n blo = adytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n abtt[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n abtt[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n abtt[2] = _j - (u3 - bvirt) + (_i - bvirt);\n abtt[3] = u3;\n abttlen = 4;\n } else {\n abt[0] = 0;\n abtlen = 1;\n abtt[0] = 0;\n abttlen = 1;\n }\n if (cdxtail !== 0) {\n const len = scale(abtlen, abt, cdxtail, _16c);\n finlen = finadd(finlen, sum(\n scale(cxtablen, cxtab, cdxtail, _16), _16,\n scale(len, _16c, 2 * cdx, _32), _32, _48), _48);\n\n const len2 = scale(abttlen, abtt, cdxtail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * cdx, _16), _16,\n scale(len2, _8, cdxtail, _16b), _16b,\n scale(len, _16c, cdxtail, _32), _32, _32b, _64), _64);\n\n if (adytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, bb, cdxtail, _8), _8, adytail, _16), _16);\n }\n if (bdytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, aa, -cdxtail, _8), _8, bdytail, _16), _16);\n }\n }\n if (cdytail !== 0) {\n const len = scale(abtlen, abt, cdytail, _16c);\n finlen = finadd(finlen, sum(\n scale(cytablen, cytab, cdytail, _16), _16,\n scale(len, _16c, 2 * cdy, _32), _32, _48), _48);\n\n const len2 = scale(abttlen, abtt, cdytail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * cdy, _16), _16,\n scale(len2, _8, cdytail, _16b), _16b,\n scale(len, _16c, cdytail, _32), _32, _32b, _64), _64);\n }\n }\n\n return fin[finlen - 1];\n}\n\nexport function incircle(ax, ay, bx, by, cx, cy, dx, dy) {\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n\n const bdxcdy = bdx * cdy;\n const cdxbdy = cdx * bdy;\n const alift = adx * adx + ady * ady;\n\n const cdxady = cdx * ady;\n const adxcdy = adx * cdy;\n const blift = bdx * bdx + bdy * bdy;\n\n const adxbdy = adx * bdy;\n const bdxady = bdx * ady;\n const clift = cdx * cdx + cdy * cdy;\n\n const det =\n alift * (bdxcdy - cdxbdy) +\n blift * (cdxady - adxcdy) +\n clift * (adxbdy - bdxady);\n\n const permanent =\n (Math.abs(bdxcdy) + Math.abs(cdxbdy)) * alift +\n (Math.abs(cdxady) + Math.abs(adxcdy)) * blift +\n (Math.abs(adxbdy) + Math.abs(bdxady)) * clift;\n\n const errbound = iccerrboundA * permanent;\n\n if (det > errbound || -det > errbound) {\n return det;\n }\n return incircleadapt(ax, ay, bx, by, cx, cy, dx, dy, permanent);\n}\n\nexport function incirclefast(ax, ay, bx, by, cx, cy, dx, dy) {\n const adx = ax - dx;\n const ady = ay - dy;\n const bdx = bx - dx;\n const bdy = by - dy;\n const cdx = cx - dx;\n const cdy = cy - dy;\n\n const abdet = adx * bdy - bdx * ady;\n const bcdet = bdx * cdy - cdx * bdy;\n const cadet = cdx * ady - adx * cdy;\n const alift = adx * adx + ady * ady;\n const blift = bdx * bdx + bdy * bdy;\n const clift = cdx * cdx + cdy * cdy;\n\n return alift * bcdet + blift * cadet + clift * abdet;\n}\n", "import {epsilon, splitter, resulterrbound, estimate, vec, sum, sum_three, scale, negate} from './util.js';\n\nconst isperrboundA = (16 + 224 * epsilon) * epsilon;\nconst isperrboundB = (5 + 72 * epsilon) * epsilon;\nconst isperrboundC = (71 + 1408 * epsilon) * epsilon * epsilon;\n\nconst ab = vec(4);\nconst bc = vec(4);\nconst cd = vec(4);\nconst de = vec(4);\nconst ea = vec(4);\nconst ac = vec(4);\nconst bd = vec(4);\nconst ce = vec(4);\nconst da = vec(4);\nconst eb = vec(4);\n\nconst abc = vec(24);\nconst bcd = vec(24);\nconst cde = vec(24);\nconst dea = vec(24);\nconst eab = vec(24);\nconst abd = vec(24);\nconst bce = vec(24);\nconst cda = vec(24);\nconst deb = vec(24);\nconst eac = vec(24);\n\nconst adet = vec(1152);\nconst bdet = vec(1152);\nconst cdet = vec(1152);\nconst ddet = vec(1152);\nconst edet = vec(1152);\nconst abdet = vec(2304);\nconst cddet = vec(2304);\nconst cdedet = vec(3456);\nconst deter = vec(5760);\n\nconst _8 = vec(8);\nconst _8b = vec(8);\nconst _8c = vec(8);\nconst _16 = vec(16);\nconst _24 = vec(24);\nconst _48 = vec(48);\nconst _48b = vec(48);\nconst _96 = vec(96);\nconst _192 = vec(192);\nconst _384x = vec(384);\nconst _384y = vec(384);\nconst _384z = vec(384);\nconst _768 = vec(768);\n\nfunction sum_three_scale(a, b, c, az, bz, cz, out) {\n return sum_three(\n scale(4, a, az, _8), _8,\n scale(4, b, bz, _8b), _8b,\n scale(4, c, cz, _8c), _8c, _16, out);\n}\n\nfunction liftexact(alen, a, blen, b, clen, c, dlen, d, x, y, z, out) {\n const len = sum(\n sum(alen, a, blen, b, _48), _48,\n negate(sum(clen, c, dlen, d, _48b), _48b), _48b, _96);\n\n return sum_three(\n scale(scale(len, _96, x, _192), _192, x, _384x), _384x,\n scale(scale(len, _96, y, _192), _192, y, _384y), _384y,\n scale(scale(len, _96, z, _192), _192, z, _384z), _384z, _768, out);\n}\n\nfunction insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;\n\n s1 = ax * by;\n c = splitter * ax;\n ahi = c - (c - ax);\n alo = ax - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bx * ay;\n c = splitter * bx;\n ahi = c - (c - bx);\n alo = bx - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ab[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ab[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ab[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ab[3] = u3;\n s1 = bx * cy;\n c = splitter * bx;\n ahi = c - (c - bx);\n alo = bx - ahi;\n c = splitter * cy;\n bhi = c - (c - cy);\n blo = cy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cx * by;\n c = splitter * cx;\n ahi = c - (c - cx);\n alo = cx - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bc[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bc[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bc[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bc[3] = u3;\n s1 = cx * dy;\n c = splitter * cx;\n ahi = c - (c - cx);\n alo = cx - ahi;\n c = splitter * dy;\n bhi = c - (c - dy);\n blo = dy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = dx * cy;\n c = splitter * dx;\n ahi = c - (c - dx);\n alo = dx - ahi;\n c = splitter * cy;\n bhi = c - (c - cy);\n blo = cy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n cd[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n cd[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n cd[2] = _j - (u3 - bvirt) + (_i - bvirt);\n cd[3] = u3;\n s1 = dx * ey;\n c = splitter * dx;\n ahi = c - (c - dx);\n alo = dx - ahi;\n c = splitter * ey;\n bhi = c - (c - ey);\n blo = ey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ex * dy;\n c = splitter * ex;\n ahi = c - (c - ex);\n alo = ex - ahi;\n c = splitter * dy;\n bhi = c - (c - dy);\n blo = dy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n de[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n de[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n de[2] = _j - (u3 - bvirt) + (_i - bvirt);\n de[3] = u3;\n s1 = ex * ay;\n c = splitter * ex;\n ahi = c - (c - ex);\n alo = ex - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ax * ey;\n c = splitter * ax;\n ahi = c - (c - ax);\n alo = ax - ahi;\n c = splitter * ey;\n bhi = c - (c - ey);\n blo = ey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ea[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ea[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ea[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ea[3] = u3;\n s1 = ax * cy;\n c = splitter * ax;\n ahi = c - (c - ax);\n alo = ax - ahi;\n c = splitter * cy;\n bhi = c - (c - cy);\n blo = cy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cx * ay;\n c = splitter * cx;\n ahi = c - (c - cx);\n alo = cx - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ac[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ac[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ac[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ac[3] = u3;\n s1 = bx * dy;\n c = splitter * bx;\n ahi = c - (c - bx);\n alo = bx - ahi;\n c = splitter * dy;\n bhi = c - (c - dy);\n blo = dy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = dx * by;\n c = splitter * dx;\n ahi = c - (c - dx);\n alo = dx - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bd[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bd[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bd[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bd[3] = u3;\n s1 = cx * ey;\n c = splitter * cx;\n ahi = c - (c - cx);\n alo = cx - ahi;\n c = splitter * ey;\n bhi = c - (c - ey);\n blo = ey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ex * cy;\n c = splitter * ex;\n ahi = c - (c - ex);\n alo = ex - ahi;\n c = splitter * cy;\n bhi = c - (c - cy);\n blo = cy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ce[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ce[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ce[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ce[3] = u3;\n s1 = dx * ay;\n c = splitter * dx;\n ahi = c - (c - dx);\n alo = dx - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ax * dy;\n c = splitter * ax;\n ahi = c - (c - ax);\n alo = ax - ahi;\n c = splitter * dy;\n bhi = c - (c - dy);\n blo = dy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n da[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n da[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n da[2] = _j - (u3 - bvirt) + (_i - bvirt);\n da[3] = u3;\n s1 = ex * by;\n c = splitter * ex;\n ahi = c - (c - ex);\n alo = ex - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bx * ey;\n c = splitter * bx;\n ahi = c - (c - bx);\n alo = bx - ahi;\n c = splitter * ey;\n bhi = c - (c - ey);\n blo = ey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n eb[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n eb[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n eb[2] = _j - (u3 - bvirt) + (_i - bvirt);\n eb[3] = u3;\n\n const abclen = sum_three_scale(ab, bc, ac, cz, az, -bz, abc);\n const bcdlen = sum_three_scale(bc, cd, bd, dz, bz, -cz, bcd);\n const cdelen = sum_three_scale(cd, de, ce, ez, cz, -dz, cde);\n const dealen = sum_three_scale(de, ea, da, az, dz, -ez, dea);\n const eablen = sum_three_scale(ea, ab, eb, bz, ez, -az, eab);\n const abdlen = sum_three_scale(ab, bd, da, dz, az, bz, abd);\n const bcelen = sum_three_scale(bc, ce, eb, ez, bz, cz, bce);\n const cdalen = sum_three_scale(cd, da, ac, az, cz, dz, cda);\n const deblen = sum_three_scale(de, eb, bd, bz, dz, ez, deb);\n const eaclen = sum_three_scale(ea, ac, ce, cz, ez, az, eac);\n\n const deterlen = sum_three(\n liftexact(cdelen, cde, bcelen, bce, deblen, deb, bcdlen, bcd, ax, ay, az, adet), adet,\n liftexact(dealen, dea, cdalen, cda, eaclen, eac, cdelen, cde, bx, by, bz, bdet), bdet,\n sum_three(\n liftexact(eablen, eab, deblen, deb, abdlen, abd, dealen, dea, cx, cy, cz, cdet), cdet,\n liftexact(abclen, abc, eaclen, eac, bcelen, bce, eablen, eab, dx, dy, dz, ddet), ddet,\n liftexact(bcdlen, bcd, abdlen, abd, cdalen, cda, abclen, abc, ex, ey, ez, edet), edet, cddet, cdedet), cdedet, abdet, deter);\n\n return deter[deterlen - 1];\n}\n\nconst xdet = vec(96);\nconst ydet = vec(96);\nconst zdet = vec(96);\nconst fin = vec(1152);\n\nfunction liftadapt(a, b, c, az, bz, cz, x, y, z, out) {\n const len = sum_three_scale(a, b, c, az, bz, cz, _24);\n return sum_three(\n scale(scale(len, _24, x, _48), _48, x, xdet), xdet,\n scale(scale(len, _24, y, _48), _48, y, ydet), ydet,\n scale(scale(len, _24, z, _48), _48, z, zdet), zdet, _192, out);\n}\n\nfunction insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent) {\n let ab3, bc3, cd3, da3, ac3, bd3;\n\n let aextail, bextail, cextail, dextail;\n let aeytail, beytail, ceytail, deytail;\n let aeztail, beztail, ceztail, deztail;\n\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0;\n\n const aex = ax - ex;\n const bex = bx - ex;\n const cex = cx - ex;\n const dex = dx - ex;\n const aey = ay - ey;\n const bey = by - ey;\n const cey = cy - ey;\n const dey = dy - ey;\n const aez = az - ez;\n const bez = bz - ez;\n const cez = cz - ez;\n const dez = dz - ez;\n\n s1 = aex * bey;\n c = splitter * aex;\n ahi = c - (c - aex);\n alo = aex - ahi;\n c = splitter * bey;\n bhi = c - (c - bey);\n blo = bey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bex * aey;\n c = splitter * bex;\n ahi = c - (c - bex);\n alo = bex - ahi;\n c = splitter * aey;\n bhi = c - (c - aey);\n blo = aey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ab[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ab[1] = _0 - (_i + bvirt) + (bvirt - t1);\n ab3 = _j + _i;\n bvirt = ab3 - _j;\n ab[2] = _j - (ab3 - bvirt) + (_i - bvirt);\n ab[3] = ab3;\n s1 = bex * cey;\n c = splitter * bex;\n ahi = c - (c - bex);\n alo = bex - ahi;\n c = splitter * cey;\n bhi = c - (c - cey);\n blo = cey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cex * bey;\n c = splitter * cex;\n ahi = c - (c - cex);\n alo = cex - ahi;\n c = splitter * bey;\n bhi = c - (c - bey);\n blo = bey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bc[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bc[1] = _0 - (_i + bvirt) + (bvirt - t1);\n bc3 = _j + _i;\n bvirt = bc3 - _j;\n bc[2] = _j - (bc3 - bvirt) + (_i - bvirt);\n bc[3] = bc3;\n s1 = cex * dey;\n c = splitter * cex;\n ahi = c - (c - cex);\n alo = cex - ahi;\n c = splitter * dey;\n bhi = c - (c - dey);\n blo = dey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = dex * cey;\n c = splitter * dex;\n ahi = c - (c - dex);\n alo = dex - ahi;\n c = splitter * cey;\n bhi = c - (c - cey);\n blo = cey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n cd[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n cd[1] = _0 - (_i + bvirt) + (bvirt - t1);\n cd3 = _j + _i;\n bvirt = cd3 - _j;\n cd[2] = _j - (cd3 - bvirt) + (_i - bvirt);\n cd[3] = cd3;\n s1 = dex * aey;\n c = splitter * dex;\n ahi = c - (c - dex);\n alo = dex - ahi;\n c = splitter * aey;\n bhi = c - (c - aey);\n blo = aey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = aex * dey;\n c = splitter * aex;\n ahi = c - (c - aex);\n alo = aex - ahi;\n c = splitter * dey;\n bhi = c - (c - dey);\n blo = dey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n da[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n da[1] = _0 - (_i + bvirt) + (bvirt - t1);\n da3 = _j + _i;\n bvirt = da3 - _j;\n da[2] = _j - (da3 - bvirt) + (_i - bvirt);\n da[3] = da3;\n s1 = aex * cey;\n c = splitter * aex;\n ahi = c - (c - aex);\n alo = aex - ahi;\n c = splitter * cey;\n bhi = c - (c - cey);\n blo = cey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cex * aey;\n c = splitter * cex;\n ahi = c - (c - cex);\n alo = cex - ahi;\n c = splitter * aey;\n bhi = c - (c - aey);\n blo = aey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ac[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ac[1] = _0 - (_i + bvirt) + (bvirt - t1);\n ac3 = _j + _i;\n bvirt = ac3 - _j;\n ac[2] = _j - (ac3 - bvirt) + (_i - bvirt);\n ac[3] = ac3;\n s1 = bex * dey;\n c = splitter * bex;\n ahi = c - (c - bex);\n alo = bex - ahi;\n c = splitter * dey;\n bhi = c - (c - dey);\n blo = dey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = dex * bey;\n c = splitter * dex;\n ahi = c - (c - dex);\n alo = dex - ahi;\n c = splitter * bey;\n bhi = c - (c - bey);\n blo = bey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bd[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bd[1] = _0 - (_i + bvirt) + (bvirt - t1);\n bd3 = _j + _i;\n bvirt = bd3 - _j;\n bd[2] = _j - (bd3 - bvirt) + (_i - bvirt);\n bd[3] = bd3;\n\n const finlen = sum(\n sum(\n negate(liftadapt(bc, cd, bd, dez, bez, -cez, aex, aey, aez, adet), adet), adet,\n liftadapt(cd, da, ac, aez, cez, dez, bex, bey, bez, bdet), bdet, abdet), abdet,\n sum(\n negate(liftadapt(da, ab, bd, bez, dez, aez, cex, cey, cez, cdet), cdet), cdet,\n liftadapt(ab, bc, ac, cez, aez, -bez, dex, dey, dez, ddet), ddet, cddet), cddet, fin);\n\n let det = estimate(finlen, fin);\n let errbound = isperrboundB * permanent;\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n bvirt = ax - aex;\n aextail = ax - (aex + bvirt) + (bvirt - ex);\n bvirt = ay - aey;\n aeytail = ay - (aey + bvirt) + (bvirt - ey);\n bvirt = az - aez;\n aeztail = az - (aez + bvirt) + (bvirt - ez);\n bvirt = bx - bex;\n bextail = bx - (bex + bvirt) + (bvirt - ex);\n bvirt = by - bey;\n beytail = by - (bey + bvirt) + (bvirt - ey);\n bvirt = bz - bez;\n beztail = bz - (bez + bvirt) + (bvirt - ez);\n bvirt = cx - cex;\n cextail = cx - (cex + bvirt) + (bvirt - ex);\n bvirt = cy - cey;\n ceytail = cy - (cey + bvirt) + (bvirt - ey);\n bvirt = cz - cez;\n ceztail = cz - (cez + bvirt) + (bvirt - ez);\n bvirt = dx - dex;\n dextail = dx - (dex + bvirt) + (bvirt - ex);\n bvirt = dy - dey;\n deytail = dy - (dey + bvirt) + (bvirt - ey);\n bvirt = dz - dez;\n deztail = dz - (dez + bvirt) + (bvirt - ez);\n if (aextail === 0 && aeytail === 0 && aeztail === 0 &&\n bextail === 0 && beytail === 0 && beztail === 0 &&\n cextail === 0 && ceytail === 0 && ceztail === 0 &&\n dextail === 0 && deytail === 0 && deztail === 0) {\n return det;\n }\n\n errbound = isperrboundC * permanent + resulterrbound * Math.abs(det);\n\n const abeps = (aex * beytail + bey * aextail) - (aey * bextail + bex * aeytail);\n const bceps = (bex * ceytail + cey * bextail) - (bey * cextail + cex * beytail);\n const cdeps = (cex * deytail + dey * cextail) - (cey * dextail + dex * ceytail);\n const daeps = (dex * aeytail + aey * dextail) - (dey * aextail + aex * deytail);\n const aceps = (aex * ceytail + cey * aextail) - (aey * cextail + cex * aeytail);\n const bdeps = (bex * deytail + dey * bextail) - (bey * dextail + dex * beytail);\n det +=\n (((bex * bex + bey * bey + bez * bez) * ((cez * daeps + dez * aceps + aez * cdeps) +\n (ceztail * da3 + deztail * ac3 + aeztail * cd3)) + (dex * dex + dey * dey + dez * dez) *\n ((aez * bceps - bez * aceps + cez * abeps) + (aeztail * bc3 - beztail * ac3 + ceztail * ab3))) -\n ((aex * aex + aey * aey + aez * aez) * ((bez * cdeps - cez * bdeps + dez * bceps) +\n (beztail * cd3 - ceztail * bd3 + deztail * bc3)) + (cex * cex + cey * cey + cez * cez) *\n ((dez * abeps + aez * bdeps + bez * daeps) + (deztail * ab3 + aeztail * bd3 + beztail * da3)))) +\n 2 * (((bex * bextail + bey * beytail + bez * beztail) * (cez * da3 + dez * ac3 + aez * cd3) +\n (dex * dextail + dey * deytail + dez * deztail) * (aez * bc3 - bez * ac3 + cez * ab3)) -\n ((aex * aextail + aey * aeytail + aez * aeztail) * (bez * cd3 - cez * bd3 + dez * bc3) +\n (cex * cextail + cey * ceytail + cez * ceztail) * (dez * ab3 + aez * bd3 + bez * da3)));\n\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n return insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez);\n}\n\nexport function insphere(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {\n const aex = ax - ex;\n const bex = bx - ex;\n const cex = cx - ex;\n const dex = dx - ex;\n const aey = ay - ey;\n const bey = by - ey;\n const cey = cy - ey;\n const dey = dy - ey;\n const aez = az - ez;\n const bez = bz - ez;\n const cez = cz - ez;\n const dez = dz - ez;\n\n const aexbey = aex * bey;\n const bexaey = bex * aey;\n const ab = aexbey - bexaey;\n const bexcey = bex * cey;\n const cexbey = cex * bey;\n const bc = bexcey - cexbey;\n const cexdey = cex * dey;\n const dexcey = dex * cey;\n const cd = cexdey - dexcey;\n const dexaey = dex * aey;\n const aexdey = aex * dey;\n const da = dexaey - aexdey;\n const aexcey = aex * cey;\n const cexaey = cex * aey;\n const ac = aexcey - cexaey;\n const bexdey = bex * dey;\n const dexbey = dex * bey;\n const bd = bexdey - dexbey;\n\n const alift = aex * aex + aey * aey + aez * aez;\n const blift = bex * bex + bey * bey + bez * bez;\n const clift = cex * cex + cey * cey + cez * cez;\n const dlift = dex * dex + dey * dey + dez * dez;\n\n const det =\n (clift * (dez * ab + aez * bd + bez * da) - dlift * (aez * bc - bez * ac + cez * ab)) +\n (alift * (bez * cd - cez * bd + dez * bc) - blift * (cez * da + dez * ac + aez * cd));\n\n const aezplus = Math.abs(aez);\n const bezplus = Math.abs(bez);\n const cezplus = Math.abs(cez);\n const dezplus = Math.abs(dez);\n const aexbeyplus = Math.abs(aexbey) + Math.abs(bexaey);\n const bexceyplus = Math.abs(bexcey) + Math.abs(cexbey);\n const cexdeyplus = Math.abs(cexdey) + Math.abs(dexcey);\n const dexaeyplus = Math.abs(dexaey) + Math.abs(aexdey);\n const aexceyplus = Math.abs(aexcey) + Math.abs(cexaey);\n const bexdeyplus = Math.abs(bexdey) + Math.abs(dexbey);\n const permanent =\n (cexdeyplus * bezplus + bexdeyplus * cezplus + bexceyplus * dezplus) * alift +\n (dexaeyplus * cezplus + aexceyplus * dezplus + cexdeyplus * aezplus) * blift +\n (aexbeyplus * dezplus + bexdeyplus * aezplus + dexaeyplus * bezplus) * clift +\n (bexceyplus * aezplus + aexceyplus * bezplus + aexbeyplus * cezplus) * dlift;\n\n const errbound = isperrboundA * permanent;\n if (det > errbound || -det > errbound) {\n return det;\n }\n return -insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent);\n}\n\nexport function inspherefast(pax, pay, paz, pbx, pby, pbz, pcx, pcy, pcz, pdx, pdy, pdz, pex, pey, pez) {\n const aex = pax - pex;\n const bex = pbx - pex;\n const cex = pcx - pex;\n const dex = pdx - pex;\n const aey = pay - pey;\n const bey = pby - pey;\n const cey = pcy - pey;\n const dey = pdy - pey;\n const aez = paz - pez;\n const bez = pbz - pez;\n const cez = pcz - pez;\n const dez = pdz - pez;\n\n const ab = aex * bey - bex * aey;\n const bc = bex * cey - cex * bey;\n const cd = cex * dey - dex * cey;\n const da = dex * aey - aex * dey;\n const ac = aex * cey - cex * aey;\n const bd = bex * dey - dex * bey;\n\n const abc = aez * bc - bez * ac + cez * ab;\n const bcd = bez * cd - cez * bd + dez * bc;\n const cda = cez * da + dez * ac + aez * cd;\n const dab = dez * ab + aez * bd + bez * da;\n\n const alift = aex * aex + aey * aey + aez * aez;\n const blift = bex * bex + bey * bey + bez * bez;\n const clift = cex * cex + cey * cey + cez * cez;\n const dlift = dex * dex + dey * dey + dez * dez;\n\n return (clift * dab - dlift * abc) + (alift * bcd - blift * cda);\n}\n", "\nexport {orient2d, orient2dfast} from './esm/orient2d.js';\nexport {orient3d, orient3dfast} from './esm/orient3d.js';\nexport {incircle, incirclefast} from './esm/incircle.js';\nexport {insphere, inspherefast} from './esm/insphere.js';\n", "import { orient2d } from 'robust-predicates';\n\nfunction pointInPolygon(p, polygon) {\n var i;\n var ii;\n var k = 0;\n var f;\n var u1;\n var v1;\n var u2;\n var v2;\n var currentP;\n var nextP;\n\n var x = p[0];\n var y = p[1];\n\n var numContours = polygon.length;\n for (i = 0; i < numContours; i++) {\n ii = 0;\n var contour = polygon[i];\n var contourLen = contour.length - 1;\n\n currentP = contour[0];\n if (currentP[0] !== contour[contourLen][0] &&\n currentP[1] !== contour[contourLen][1]) {\n throw new Error('First and last coordinates in a ring must be the same')\n }\n\n u1 = currentP[0] - x;\n v1 = currentP[1] - y;\n\n for (ii; ii < contourLen; ii++) {\n nextP = contour[ii + 1];\n\n u2 = nextP[0] - x;\n v2 = nextP[1] - y;\n\n if (v1 === 0 && v2 === 0) {\n if ((u2 <= 0 && u1 >= 0) || (u1 <= 0 && u2 >= 0)) { return 0 }\n } else if ((v2 >= 0 && v1 <= 0) || (v2 <= 0 && v1 >= 0)) {\n f = orient2d(u1, u2, v1, v2, 0, 0);\n if (f === 0) { return 0 }\n if ((f > 0 && v2 > 0 && v1 <= 0) || (f < 0 && v2 <= 0 && v1 > 0)) { k++; }\n }\n currentP = nextP;\n v1 = v2;\n u1 = u2;\n }\n }\n\n if (k % 2 === 0) { return false }\n return true\n}\n\nexport { pointInPolygon as default };\n", "import pip from \"point-in-polygon-hao\";\nimport {\n BBox,\n Feature,\n MultiPolygon,\n Polygon,\n GeoJsonProperties,\n} from \"geojson\";\nimport { Coord } from \"@turf/helpers\";\nimport { getCoord, getGeom } from \"@turf/invariant\";\n\n// http://en.wikipedia.org/wiki/Even%E2%80%93odd_rule\n// modified from: https://github.com/substack/point-in-polygon/blob/master/index.js\n// which was modified from http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html\n/**\n * Takes a {@link Point} and a {@link Polygon} or {@link MultiPolygon} and determines if the point\n * resides inside the polygon. The polygon can be convex or concave. The function accounts for holes.\n *\n * @function\n * @param {Coord} point input point\n * @param {Feature} polygon input polygon or multipolygon\n * @param {Object} [options={}] Optional parameters\n * @param {boolean} [options.ignoreBoundary=false] True if polygon boundary should be ignored when determining if\n * the point is inside the polygon otherwise false.\n * @returns {boolean} `true` if the Point is inside the Polygon; `false` if the Point is not inside the Polygon\n * @example\n * var pt = turf.point([-77, 44]);\n * var poly = turf.polygon([[\n * [-81, 41],\n * [-81, 47],\n * [-72, 47],\n * [-72, 41],\n * [-81, 41]\n * ]]);\n *\n * turf.booleanPointInPolygon(pt, poly);\n * //= true\n */\nfunction booleanPointInPolygon<\n G extends Polygon | MultiPolygon,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n point: Coord,\n polygon: Feature | G,\n options: {\n ignoreBoundary?: boolean;\n } = {}\n) {\n // validation\n if (!point) {\n throw new Error(\"point is required\");\n }\n if (!polygon) {\n throw new Error(\"polygon is required\");\n }\n\n const pt = getCoord(point);\n const geom = getGeom(polygon);\n const type = geom.type;\n const bbox = polygon.bbox;\n let polys: any[] = geom.coordinates;\n\n // Quick elimination if point is not inside bbox\n if (bbox && inBBox(pt, bbox) === false) {\n return false;\n }\n\n if (type === \"Polygon\") {\n polys = [polys];\n }\n let result = false;\n for (var i = 0; i < polys.length; ++i) {\n const polyResult = pip(pt, polys[i]);\n if (polyResult === 0) return options.ignoreBoundary ? false : true;\n else if (polyResult) result = true;\n }\n\n return result;\n}\n\n/**\n * inBBox\n *\n * @private\n * @param {Position} pt point [x,y]\n * @param {BBox} bbox BBox [west, south, east, north]\n * @returns {boolean} true/false if point is inside BBox\n */\nfunction inBBox(pt: number[], bbox: BBox) {\n return (\n bbox[0] <= pt[0] && bbox[1] <= pt[1] && bbox[2] >= pt[0] && bbox[3] >= pt[1]\n );\n}\n\nexport { booleanPointInPolygon };\nexport default booleanPointInPolygon;\n", "/**\n * Turf is a modular geospatial analysis engine written in JavaScript. It performs geospatial\n * processing tasks with GeoJSON data and can be run on a server or in a browser.\n *\n * @module turf\n * @summary Geospatial analysis for JavaScript\n */\nexport { along } from \"@turf/along\";\nexport { angle } from \"@turf/angle\";\nexport { area } from \"@turf/area\";\nexport { bbox } from \"@turf/bbox\";\nexport { bboxClip } from \"@turf/bbox-clip\";\nexport { bboxPolygon } from \"@turf/bbox-polygon\";\nexport { bearing } from \"@turf/bearing\";\nexport { bezierSpline } from \"@turf/bezier-spline\";\nexport { booleanClockwise } from \"@turf/boolean-clockwise\";\nexport { booleanConcave } from \"@turf/boolean-concave\";\nexport { booleanContains } from \"@turf/boolean-contains\";\nexport { booleanCrosses } from \"@turf/boolean-crosses\";\nexport { booleanDisjoint } from \"@turf/boolean-disjoint\";\nexport { booleanEqual } from \"@turf/boolean-equal\";\nexport { booleanIntersects } from \"@turf/boolean-intersects\";\nexport { booleanOverlap } from \"@turf/boolean-overlap\";\nexport { booleanParallel } from \"@turf/boolean-parallel\";\nexport { booleanPointInPolygon } from \"@turf/boolean-point-in-polygon\";\nexport { booleanPointOnLine } from \"@turf/boolean-point-on-line\";\nexport { booleanTouches } from \"@turf/boolean-touches\";\nexport { booleanValid } from \"@turf/boolean-valid\";\nexport { booleanWithin } from \"@turf/boolean-within\";\nexport { buffer } from \"@turf/buffer\"; // JSTS Module\nexport { center } from \"@turf/center\";\nexport { centerMean } from \"@turf/center-mean\";\nexport { centerMedian } from \"@turf/center-median\";\nexport { centerOfMass } from \"@turf/center-of-mass\";\nexport { centroid } from \"@turf/centroid\";\nexport { circle } from \"@turf/circle\";\nexport { cleanCoords } from \"@turf/clean-coords\";\nexport * from \"@turf/clone\";\nexport * from \"@turf/clusters\";\nexport * as clusters from \"@turf/clusters\";\nexport { clustersDbscan } from \"@turf/clusters-dbscan\";\nexport { clustersKmeans } from \"@turf/clusters-kmeans\";\nexport { collect } from \"@turf/collect\";\nexport { combine } from \"@turf/combine\";\nexport { concave } from \"@turf/concave\";\nexport { convex } from \"@turf/convex\";\nexport { destination } from \"@turf/destination\";\nexport { difference } from \"@turf/difference\"; // JSTS Module\nexport { dissolve } from \"@turf/dissolve\"; // JSTS Sub-Model\nexport { distance } from \"@turf/distance\";\nexport { distanceWeight } from \"@turf/distance-weight\";\nexport { ellipse } from \"@turf/ellipse\";\nexport { envelope } from \"@turf/envelope\";\nexport { explode } from \"@turf/explode\";\nexport { flatten } from \"@turf/flatten\";\nexport { flip } from \"@turf/flip\";\nexport { geojsonRbush } from \"@turf/geojson-rbush\";\nexport { greatCircle } from \"@turf/great-circle\";\nexport * from \"@turf/helpers\";\nexport * as helpers from \"@turf/helpers\";\nexport { hexGrid } from \"@turf/hex-grid\"; // JSTS Sub-Model\nexport { interpolate } from \"@turf/interpolate\"; // JSTS Sub-Model\nexport { intersect } from \"@turf/intersect\"; // JSTS Module\nexport * from \"@turf/invariant\";\nexport * as invariant from \"@turf/invariant\";\nexport { isobands } from \"@turf/isobands\";\nexport { isolines } from \"@turf/isolines\";\nexport { kinks } from \"@turf/kinks\";\nexport { length } from \"@turf/length\";\nexport { lineArc } from \"@turf/line-arc\";\nexport { lineChunk } from \"@turf/line-chunk\";\nexport { lineIntersect } from \"@turf/line-intersect\";\nexport { lineOffset } from \"@turf/line-offset\";\nexport { lineOverlap } from \"@turf/line-overlap\";\nexport { lineSegment } from \"@turf/line-segment\";\nexport { lineSlice } from \"@turf/line-slice\";\nexport { lineSliceAlong } from \"@turf/line-slice-along\";\nexport { lineSplit } from \"@turf/line-split\";\nexport { lineToPolygon } from \"@turf/line-to-polygon\";\nexport { mask } from \"@turf/mask\"; // JSTS Sub-Model\nexport * from \"@turf/meta\";\nexport * as meta from \"@turf/meta\";\nexport { midpoint } from \"@turf/midpoint\";\nexport { moranIndex } from \"@turf/moran-index\";\nexport * from \"@turf/nearest-neighbor-analysis\";\nexport { nearestPoint } from \"@turf/nearest-point\";\nexport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nexport { nearestPointToLine } from \"@turf/nearest-point-to-line\";\nexport { planepoint } from \"@turf/planepoint\";\nexport { pointGrid } from \"@turf/point-grid\";\nexport { pointOnFeature } from \"@turf/point-on-feature\";\nexport { pointsWithinPolygon } from \"@turf/points-within-polygon\";\nexport { pointToLineDistance } from \"@turf/point-to-line-distance\";\nexport { pointToPolygonDistance } from \"@turf/point-to-polygon-distance\";\nexport { polygonize } from \"@turf/polygonize\";\nexport { polygonSmooth } from \"@turf/polygon-smooth\";\nexport { polygonTangents } from \"@turf/polygon-tangents\";\nexport { polygonToLine } from \"@turf/polygon-to-line\";\nexport * from \"@turf/projection\";\nexport * as projection from \"@turf/projection\";\nexport * from \"@turf/quadrat-analysis\";\nexport * from \"@turf/random\";\nexport * as random from \"@turf/random\";\nexport { rectangleGrid } from \"@turf/rectangle-grid\"; // JSTS Sub-Model\nexport { rewind } from \"@turf/rewind\";\nexport { rhumbBearing } from \"@turf/rhumb-bearing\";\nexport { rhumbDestination } from \"@turf/rhumb-destination\";\nexport { rhumbDistance } from \"@turf/rhumb-distance\";\nexport { sample } from \"@turf/sample\";\nexport { sector } from \"@turf/sector\";\nexport { shortestPath } from \"@turf/shortest-path\";\nexport { simplify } from \"@turf/simplify\";\nexport { square } from \"@turf/square\";\nexport { squareGrid } from \"@turf/square-grid\"; // JSTS Sub-Model\nexport { standardDeviationalEllipse } from \"@turf/standard-deviational-ellipse\";\nexport { tag } from \"@turf/tag\";\nexport { tesselate } from \"@turf/tesselate\";\nexport { tin } from \"@turf/tin\";\nexport { transformRotate } from \"@turf/transform-rotate\";\nexport { transformScale } from \"@turf/transform-scale\";\nexport { transformTranslate } from \"@turf/transform-translate\";\nexport { triangleGrid } from \"@turf/triangle-grid\"; // JSTS Sub-Model\nexport { truncate } from \"@turf/truncate\";\nexport { union } from \"@turf/union\"; // JSTS Module\nexport { unkinkPolygon } from \"@turf/unkink-polygon\";\nexport { voronoi } from \"@turf/voronoi\";\n", "/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n if (!inst._zod) {\n Object.defineProperty(inst, \"_zod\", {\n value: {\n def,\n constr: _,\n traits: new Set(),\n },\n enumerable: false,\n });\n }\n if (inst._zod.traits.has(name)) {\n return;\n }\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n const proto = _.prototype;\n const keys = Object.keys(proto);\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n if (!(k in inst)) {\n inst[k] = proto[k].bind(inst);\n }\n }\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport class $ZodEncodeError extends Error {\n constructor(name) {\n super(`Encountered unidirectional transform during encode: ${name}`);\n this.name = \"ZodEncodeError\";\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n", "// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error(\"Unexpected value in exhaustive check\");\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepString = step.toString();\n let stepDecCount = (stepString.split(\".\")[1] || \"\").length;\n if (stepDecCount === 0 && /\\d?e-\\d?/.test(stepString)) {\n const match = stepString.match(/\\d?e-(\\d?)/);\n if (match?.[1]) {\n stepDecCount = Number.parseInt(match[1]);\n }\n }\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nconst EVALUATING = Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function objectClone(obj) {\n return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport function slugify(input) {\n return input\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\s-]/g, \"\")\n .replace(/[\\s_-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n if (typeof ctor !== \"function\")\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function shallowClone(o) {\n if (isPlainObject(o))\n return { ...o };\n if (Array.isArray(o))\n return [...o];\n return o;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".pick() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".omit() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const checks = schema._zod.def.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n // Only throw if new shape overlaps with existing shape\n // Use getOwnPropertyDescriptor to check key existence without accessing values\n const existingShape = schema._zod.def.shape;\n for (const key in shape) {\n if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {\n throw new Error(\"Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.\");\n }\n }\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function merge(a, b) {\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: [], // delete existing checks\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".partial() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function parsedType(data) {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"nan\" : \"number\";\n }\n case \"object\": {\n if (data === null) {\n return \"null\";\n }\n if (Array.isArray(data)) {\n return \"array\";\n }\n const obj = data;\n if (obj && Object.getPrototypeOf(obj) !== Object.prototype && \"constructor\" in obj && obj.constructor) {\n return obj.constructor.name;\n }\n }\n }\n return t;\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// Codec utility functions\nexport function base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\nexport function uint8ArrayToBase64(bytes) {\n let binaryString = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binaryString += String.fromCharCode(bytes[i]);\n }\n return btoa(binaryString);\n}\nexport function base64urlToUint8Array(base64url) {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = \"=\".repeat((4 - (base64.length % 4)) % 4);\n return base64ToUint8Array(base64 + padding);\n}\nexport function uint8ArrayToBase64url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nexport function hexToUint8Array(hex) {\n const cleanHex = hex.replace(/^0x/, \"\");\n if (cleanHex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string length\");\n }\n const bytes = new Uint8Array(cleanHex.length / 2);\n for (let i = 0; i < cleanHex.length; i += 2) {\n bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexport function uint8ArrayToHex(bytes) {\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n", "import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, mapper = (issue) => issue.message) {\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, mapper = (issue) => issue.message) {\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * \u2716 Expected number, received string at \"username\n * favoriteNumbers[0]\n * \u2716 Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`\u2716 ${issue.message}`);\n if (issue.path?.length)\n lines.push(` \u2192 at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n", "import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\nexport const _encode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parse(_Err)(schema, value, ctx);\n};\nexport const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);\nexport const _decode = (_Err) => (schema, value, _ctx) => {\n return _parse(_Err)(schema, value, _ctx);\n};\nexport const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);\nexport const _encodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parseAsync(_Err)(schema, value, ctx);\n};\nexport const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);\nexport const _decodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _parseAsync(_Err)(schema, value, _ctx);\n};\nexport const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);\nexport const _safeEncode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParse(_Err)(schema, value, ctx);\n};\nexport const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);\nexport const _safeDecode = (_Err) => (schema, value, _ctx) => {\n return _safeParse(_Err)(schema, value, _ctx);\n};\nexport const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);\nexport const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParseAsync(_Err)(schema, value, ctx);\n};\nexport const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);\nexport const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _safeParseAsync(_Err)(schema, value, _ctx);\n};\nexport const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);\n", "import * as util from \"./util.js\";\nexport const cuid = /^[cC][^\\s-]{8,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = unicodeEmail;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;\nexport const mac = (delimiter) => {\n const escapedDelim = util.escapeRegex(delimiter ?? \":\");\n return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);\n};\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\n// E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15\nexport const e164 = /^\\+[1-9]\\d{6,14}$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^-?\\d+n?$/;\nexport const integer = /^-?\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?$/;\nexport const boolean = /^(?:true|false)$/i;\nconst _null = /^null$/i;\nexport { _null as null };\nconst _undefined = /^undefined$/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n// regex for hexadecimal strings (any length)\nexport const hex = /^[0-9a-fA-F]*$/;\n// Hash regexes for different algorithms and encodings\n// Helper function to create base64 regex with exact length and padding\nfunction fixedBase64(bodyLength, padding) {\n return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);\n}\n// Helper function to create base64url regex with exact length (no padding)\nfunction fixedBase64url(length) {\n return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);\n}\n// MD5 (16 bytes): base64 = 24 chars total (22 + \"==\")\nexport const md5_hex = /^[0-9a-fA-F]{32}$/;\nexport const md5_base64 = /*@__PURE__*/ fixedBase64(22, \"==\");\nexport const md5_base64url = /*@__PURE__*/ fixedBase64url(22);\n// SHA1 (20 bytes): base64 = 28 chars total (27 + \"=\")\nexport const sha1_hex = /^[0-9a-fA-F]{40}$/;\nexport const sha1_base64 = /*@__PURE__*/ fixedBase64(27, \"=\");\nexport const sha1_base64url = /*@__PURE__*/ fixedBase64url(27);\n// SHA256 (32 bytes): base64 = 44 chars total (43 + \"=\")\nexport const sha256_hex = /^[0-9a-fA-F]{64}$/;\nexport const sha256_base64 = /*@__PURE__*/ fixedBase64(43, \"=\");\nexport const sha256_base64url = /*@__PURE__*/ fixedBase64url(43);\n// SHA384 (48 bytes): base64 = 64 chars total (no padding)\nexport const sha384_hex = /^[0-9a-fA-F]{96}$/;\nexport const sha384_base64 = /*@__PURE__*/ fixedBase64(64, \"\");\nexport const sha384_base64url = /*@__PURE__*/ fixedBase64url(64);\n// SHA512 (64 bytes): base64 = 88 chars total (86 + \"==\")\nexport const sha512_hex = /^[0-9a-fA-F]{128}$/;\nexport const sha512_base64 = /*@__PURE__*/ fixedBase64(86, \"==\");\nexport const sha512_base64url = /*@__PURE__*/ fixedBase64url(86);\n", "// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n", "export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n", "export const version = {\n major: 4,\n minor: 3,\n patch: 6,\n};\n", "import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { parse, parseAsync, safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n const handleCanaryResult = (canary, payload, ctx) => {\n // abort if the canary is aborted\n if (util.aborted(canary)) {\n canary.aborted = true;\n return canary;\n }\n // run checks first, then\n const checkResult = runChecks(payload, checks, ctx);\n if (checkResult instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));\n }\n return inst._zod.parse(checkResult, ctx);\n };\n inst._zod.run = (payload, ctx) => {\n if (ctx.skipChecks) {\n return inst._zod.parse(payload, ctx);\n }\n if (ctx.direction === \"backward\") {\n // run canary\n // initial pass (no checks)\n const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });\n if (canary instanceof Promise) {\n return canary.then((canary) => {\n return handleCanaryResult(canary, payload, ctx);\n });\n }\n return handleCanaryResult(canary, payload, ctx);\n }\n // forward\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n // Lazy initialize ~standard to avoid creating objects for every schema\n util.defineLazy(inst, \"~standard\", () => ({\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n }));\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n // @ts-ignore\n const url = new URL(trimmed);\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: def.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // Set the output value based on normalize flag\n if (def.normalize) {\n // Use normalized URL\n payload.value = url.href;\n }\n else {\n // Preserve the original input (trimmed)\n payload.value = trimmed;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv4`;\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv6`;\n inst._zod.check = (payload) => {\n try {\n // @ts-ignore\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodMAC = /*@__PURE__*/ core.$constructor(\"$ZodMAC\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.mac(def.delimiter));\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `mac`;\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const parts = payload.value.split(\"/\");\n try {\n if (parts.length !== 2)\n throw new Error();\n const [address, prefix] = parts;\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n // @ts-ignore\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64\";\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64url\";\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumberFormat\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checks\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigIntFormat\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input, isOptionalOut) {\n if (result.issues.length) {\n // For optional-out schemas, ignore errors on absent keys\n if (isOptionalOut && !(key in input)) {\n return;\n }\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (result.value === undefined) {\n if (key in input) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\nfunction normalizeDef(def) {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!def.shape?.[k]?._zod?.traits?.has(\"$ZodType\")) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n ...def,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n}\nfunction handleCatchall(proms, input, payload, ctx, def, inst) {\n const unrecognized = [];\n // iterate over input keys\n const keySet = def.keySet;\n const _catchall = def.catchall._zod;\n const t = _catchall.def.type;\n const isOptionalOut = _catchall.optout === \"optional\";\n for (const key in input) {\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalOut)));\n }\n else {\n handlePropertyResult(r, payload, key, input, isOptionalOut);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n // const sh = def.shape;\n const desc = Object.getOwnPropertyDescriptor(def, \"shape\");\n if (!desc?.get) {\n const sh = def.shape;\n Object.defineProperty(def, \"shape\", {\n get: () => {\n const newSh = { ...sh };\n Object.defineProperty(def, \"shape\", {\n value: newSh,\n });\n return newSh;\n },\n });\n }\n const _normalized = util.cached(() => normalizeDef(def));\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const isObject = util.isObject;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = {};\n const proms = [];\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n const isOptionalOut = el._zod.optout === \"optional\";\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalOut)));\n }\n else {\n handlePropertyResult(r, payload, key, input, isOptionalOut);\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);\n };\n});\nexport const $ZodObjectJIT = /*@__PURE__*/ core.$constructor(\"$ZodObjectJIT\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodObject.init(inst, def);\n const superParse = inst._zod.parse;\n const _normalized = util.cached(() => normalizeDef(def));\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {};`);\n for (const key of normalized.keys) {\n const id = ids[key];\n const k = util.esc(key);\n const schema = shape[key];\n const isOptionalOut = schema?._zod?.optout === \"optional\";\n doc.write(`const ${id} = ${parseStr(key)};`);\n if (isOptionalOut) {\n // For optional-out schemas, ignore errors on absent keys\n doc.write(`\n if (${id}.issues.length) {\n if (${k} in input) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n else {\n doc.write(`\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n if (!catchall)\n return payload;\n return handleCatchall([], input, payload, ctx, value, inst);\n }\n return superParse(payload, ctx);\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const single = def.options.length === 1;\n const first = def.options[0]._zod.run;\n inst._zod.parse = (payload, ctx) => {\n if (single) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nfunction handleExclusiveUnionResults(results, final, inst, ctx) {\n const successes = results.filter((r) => r.issues.length === 0);\n if (successes.length === 1) {\n final.value = successes[0].value;\n return final;\n }\n if (successes.length === 0) {\n // No matches - same as regular union\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n }\n else {\n // Multiple matches - exclusive union failure\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: [],\n inclusive: false,\n });\n }\n return final;\n}\nexport const $ZodXor = /*@__PURE__*/ core.$constructor(\"$ZodXor\", (inst, def) => {\n $ZodUnion.init(inst, def);\n def.inclusive = false;\n const single = def.options.length === 1;\n const first = def.options[0]._zod.run;\n inst._zod.parse = (payload, ctx) => {\n if (single) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n results.push(result);\n }\n }\n if (!async)\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n def.inclusive = false;\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n if (def.unionFallback) {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n // Track which side(s) report each key as unrecognized\n const unrecKeys = new Map();\n let unrecIssue;\n for (const iss of left.issues) {\n if (iss.code === \"unrecognized_keys\") {\n unrecIssue ?? (unrecIssue = iss);\n for (const k of iss.keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k).l = true;\n }\n }\n else {\n result.issues.push(iss);\n }\n }\n for (const iss of right.issues) {\n if (iss.code === \"unrecognized_keys\") {\n for (const k of iss.keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k).r = true;\n }\n }\n else {\n result.issues.push(iss);\n }\n }\n // Report only keys unrecognized by BOTH sides\n const bothKeys = [...unrecKeys].filter(([, f]) => f.l && f.r).map(([k]) => k);\n if (bothKeys.length && unrecIssue) {\n result.issues.push({ ...unrecIssue, keys: bothKeys });\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== \"optional\");\n const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;\n if (!def.rest) {\n const tooBig = input.length > items.length;\n const tooSmall = input.length < optStart - 1;\n if (tooBig || tooSmall) {\n payload.issues.push({\n ...(tooBig\n ? { code: \"too_big\", maximum: items.length, inclusive: true }\n : { code: \"too_small\", minimum: items.length }),\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n }\n let i = -1;\n for (const item of items) {\n i++;\n if (i >= input.length)\n if (i >= optStart)\n continue;\n const result = item._zod.run({\n value: input[i],\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n if (def.rest) {\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({\n value: el,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n const values = def.keyType._zod.values;\n if (values) {\n payload.value = {};\n const recordKeys = new Set();\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n recordKeys.add(typeof key === \"number\" ? key.toString() : key);\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!recordKeys.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n // Numeric string fallback: if key is a numeric string and failed, retry with Number(key)\n // This handles z.number(), z.literal([1, 2, 3]), and unions containing numeric literals\n const checkNumericKey = typeof key === \"string\" && regexes.number.test(key) && keyResult.issues.length;\n if (checkNumericKey) {\n const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);\n if (retryResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (retryResult.issues.length === 0) {\n keyResult = retryResult;\n }\n }\n if (keyResult.issues.length) {\n if (def.mode === \"loose\") {\n // Pass through unchanged\n payload.value[key] = input[key];\n }\n else {\n // Default \"strict\" behavior: error on invalid key\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n }\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n if (def.values.length === 0) {\n throw new Error(\"Cannot create literal schema with no valid values\");\n }\n const values = new Set(def.values);\n inst._zod.values = values;\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n const _out = def.transform(payload.value, payload);\n if (ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n return payload;\n };\n});\nfunction handleOptionalResult(result, input) {\n if (result.issues.length && input === undefined) {\n return { issues: [], value: undefined };\n }\n return result;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise)\n return result.then((r) => handleOptionalResult(r, payload.value));\n return handleOptionalResult(result, payload.value);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodExactOptional = /*@__PURE__*/ core.$constructor(\"$ZodExactOptional\", (inst, def) => {\n // Call parent init - inherits optin/optout = \"optional\"\n $ZodOptional.init(inst, def);\n // Override values/pattern to NOT add undefined\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"pattern\", () => def.innerType._zod.pattern);\n // Override parse to just delegate (no undefined handling)\n inst._zod.parse = (payload, ctx) => {\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n // Forward direction (decode): allow null to pass through\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply defaults for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault returns the default value immediately in forward direction.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n // Forward direction: continue with default handling\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply prefault for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(\"ZodSuccess\");\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply catch logic\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handlePipeResult(right, def.in, ctx));\n }\n return handlePipeResult(right, def.in, ctx);\n }\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def.out, ctx));\n }\n return handlePipeResult(left, def.out, ctx);\n };\n});\nfunction handlePipeResult(left, next, ctx) {\n if (left.issues.length) {\n // prevent further checks\n left.aborted = true;\n return left;\n }\n return next._zod.run({ value: left.value, issues: left.issues }, ctx);\n}\nexport const $ZodCodec = /*@__PURE__*/ core.$constructor(\"$ZodCodec\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handleCodecAResult(left, def, ctx));\n }\n return handleCodecAResult(left, def, ctx);\n }\n else {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handleCodecAResult(right, def, ctx));\n }\n return handleCodecAResult(right, def, ctx);\n }\n };\n});\nfunction handleCodecAResult(result, def, ctx) {\n if (result.issues.length) {\n // prevent further checks\n result.aborted = true;\n return result;\n }\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const transformed = def.transform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));\n }\n return handleCodecTxResult(result, transformed, def.out, ctx);\n }\n else {\n const transformed = def.reverseTransform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));\n }\n return handleCodecTxResult(result, transformed, def.in, ctx);\n }\n}\nfunction handleCodecTxResult(left, value, nextSchema, ctx) {\n // Check if transform added any issues\n if (left.issues.length) {\n left.aborted = true;\n return left;\n }\n return nextSchema._zod.run({ value, issues: left.issues }, ctx);\n}\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType?._zod?.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType?._zod?.optout);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (typeof part === \"object\" && part !== null) {\n // is Zod schema\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"string\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodFunction = /*@__PURE__*/ core.$constructor(\"$ZodFunction\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._def = def;\n inst._zod.def = def;\n inst.implement = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implement() must be called with a function\");\n }\n return function (...args) {\n const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args;\n const result = Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return parse(inst._def.output, result);\n }\n return result;\n };\n };\n inst.implementAsync = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implementAsync() must be called with a function\");\n }\n return async function (...args) {\n const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;\n const result = await Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return await parseAsync(inst._def.output, result);\n }\n return result;\n };\n };\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"function\") {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"function\",\n input: payload.value,\n inst,\n });\n return payload;\n }\n // Check if output is a promise type to determine if we should use async implementation\n const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === \"promise\";\n if (hasPromiseOutput) {\n payload.value = inst.implementAsync(payload.value);\n }\n else {\n payload.value = inst.implement(payload.value);\n }\n return payload;\n };\n inst.input = (...args) => {\n const F = inst.constructor;\n if (Array.isArray(args[0])) {\n return new F({\n type: \"function\",\n input: new $ZodTuple({\n type: \"tuple\",\n items: args[0],\n rest: args[1],\n }),\n output: inst._def.output,\n });\n }\n return new F({\n type: \"function\",\n input: args[0],\n output: inst._def.output,\n });\n };\n inst.output = (output) => {\n const F = inst.constructor;\n return new F({\n type: \"function\",\n input: inst._def.input,\n output,\n });\n };\n return inst;\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // let _innerType!: any;\n // util.defineLazy(def, \"getter\", () => {\n // if (!_innerType) {\n // _innerType = def.getter();\n // }\n // return () => _innerType;\n // });\n util.defineLazy(inst._zod, \"innerType\", () => def.getter());\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType?._zod?.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType?._zod?.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType?._zod?.optin ?? undefined);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType?._zod?.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062D\u0631\u0641\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n file: { unit: \"\u0628\u0627\u064A\u062A\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n array: { unit: \"\u0639\u0646\u0635\u0631\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n set: { unit: \"\u0639\u0646\u0635\u0631\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0645\u062F\u062E\u0644\",\n email: \"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A\",\n url: \"\u0631\u0627\u0628\u0637\",\n emoji: \"\u0625\u064A\u0645\u0648\u062C\u064A\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n date: \"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n time: \"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n duration: \"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n ipv4: \"\u0639\u0646\u0648\u0627\u0646 IPv4\",\n ipv6: \"\u0639\u0646\u0648\u0627\u0646 IPv6\",\n cidrv4: \"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4\",\n cidrv6: \"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6\",\n base64: \"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded\",\n base64url: \"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded\",\n json_string: \"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON\",\n e164: \"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0645\u062F\u062E\u0644\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${issue.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`;\n }\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return ` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue.origin ?? \"\u0627\u0644\u0642\u064A\u0645\u0629\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\"}`;\n return `\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue.origin ?? \"\u0627\u0644\u0642\u064A\u0645\u0629\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 \"${issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`;\n }\n case \"not_multiple_of\":\n return `\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u0645\u0639\u0631\u0641${issue.keys.length > 1 ? \"\u0627\u062A\" : \"\"} \u063A\u0631\u064A\u0628${issue.keys.length > 1 ? \"\u0629\" : \"\"}: ${util.joinValues(issue.keys, \"\u060C \")}`;\n case \"invalid_key\":\n return `\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\";\n case \"invalid_element\":\n return `\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue.origin}`;\n default:\n return \"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"simvol\", verb: \"olmal\u0131d\u0131r\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131d\u0131r\" },\n array: { unit: \"element\", verb: \"olmal\u0131d\u0131r\" },\n set: { unit: \"element\", verb: \"olmal\u0131d\u0131r\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"email address\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datetime\",\n date: \"ISO date\",\n time: \"ISO time\",\n duration: \"ISO duration\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded string\",\n base64url: \"base64url-encoded string\",\n json_string: \"JSON string\",\n e164: \"E.164 number\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n instanceof ${issue.expected}, daxil olan ${received}`;\n }\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n ${expected}, daxil olan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n ${util.stringifyPrimitive(issue.values[0])}`;\n return `Yanl\u0131\u015F se\u00E7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ox b\u00F6y\u00FCk: g\u00F6zl\u0259nil\u0259n ${issue.origin ?? \"d\u0259y\u0259r\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n return `\u00C7ox b\u00F6y\u00FCk: g\u00F6zl\u0259nil\u0259n ${issue.origin ?? \"d\u0259y\u0259r\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ox ki\u00E7ik: g\u00F6zl\u0259nil\u0259n ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `\u00C7ox ki\u00E7ik: g\u00F6zl\u0259nil\u0259n ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.prefix}\" il\u0259 ba\u015Flamal\u0131d\u0131r`;\n if (_issue.format === \"ends_with\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.suffix}\" il\u0259 bitm\u0259lidir`;\n if (_issue.format === \"includes\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.includes}\" daxil olmal\u0131d\u0131r`;\n if (_issue.format === \"regex\")\n return `Yanl\u0131\u015F m\u0259tn: ${_issue.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;\n return `Yanl\u0131\u015F ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Yanl\u0131\u015F \u0259d\u0259d: ${issue.divisor} il\u0259 b\u00F6l\u00FCn\u0259 bil\u0259n olmal\u0131d\u0131r`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan a\u00E7ar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} daxilind\u0259 yanl\u0131\u015F a\u00E7ar`;\n case \"invalid_union\":\n return \"Yanl\u0131\u015F d\u0259y\u0259r\";\n case \"invalid_element\":\n return `${issue.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;\n default:\n return `Yanl\u0131\u015F d\u0259y\u0259r`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getBelarusianPlural(count, one, few, many) {\n const absCount = Math.abs(count);\n const lastDigit = absCount % 10;\n const lastTwoDigits = absCount % 100;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {\n return many;\n }\n if (lastDigit === 1) {\n return one;\n }\n if (lastDigit >= 2 && lastDigit <= 4) {\n return few;\n }\n return many;\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0441\u0456\u043C\u0432\u0430\u043B\",\n few: \"\u0441\u0456\u043C\u0432\u0430\u043B\u044B\",\n many: \"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n array: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n set: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n file: {\n unit: {\n one: \"\u0431\u0430\u0439\u0442\",\n few: \"\u0431\u0430\u0439\u0442\u044B\",\n many: \"\u0431\u0430\u0439\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0443\u0432\u043E\u0434\",\n email: \"email \u0430\u0434\u0440\u0430\u0441\",\n url: \"URL\",\n emoji: \"\u044D\u043C\u043E\u0434\u0437\u0456\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0447\u0430\u0441\",\n duration: \"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0430\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0430\u0441\",\n cidrv4: \"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D\",\n base64: \"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64\",\n base64url: \"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url\",\n json_string: \"JSON \u0440\u0430\u0434\u043E\u043A\",\n e164: \"\u043D\u0443\u043C\u0430\u0440 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0443\u0432\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u043B\u0456\u043A\",\n array: \"\u043C\u0430\u0441\u0456\u045E\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${issue.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`;\n }\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435\"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435\"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${issue.keys.length > 1 ? \"\u043A\u043B\u044E\u0447\u044B\" : \"\u043A\u043B\u044E\u0447\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434\";\n case \"invalid_element\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${issue.origin}`;\n default:\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n file: { unit: \"\u0431\u0430\u0439\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n array: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n set: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0445\u043E\u0434\",\n email: \"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u0434\u0436\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n duration: \"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\",\n cidrv4: \"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n base64: \"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437\",\n base64url: \"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437\",\n json_string: \"JSON \u043D\u0438\u0437\",\n e164: \"E.164 \u043D\u043E\u043C\u0435\u0440\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0445\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${issue.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`;\n }\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin ?? \"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\"}`;\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin ?? \"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${_issue.pattern}`;\n let invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D\";\n if (_issue.format === \"emoji\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"datetime\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"date\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430\";\n if (_issue.format === \"time\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"duration\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430\";\n return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${issue.keys.length > 1 ? \"\u0438\" : \"\"} \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u043E\u0432\u0435\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434\";\n case \"invalid_element\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${issue.origin}`;\n default:\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"car\u00E0cters\", verb: \"contenir\" },\n file: { unit: \"bytes\", verb: \"contenir\" },\n array: { unit: \"elements\", verb: \"contenir\" },\n set: { unit: \"elements\", verb: \"contenir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entrada\",\n email: \"adre\u00E7a electr\u00F2nica\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data i hora ISO\",\n date: \"data ISO\",\n time: \"hora ISO\",\n duration: \"durada ISO\",\n ipv4: \"adre\u00E7a IPv4\",\n ipv6: \"adre\u00E7a IPv6\",\n cidrv4: \"rang IPv4\",\n cidrv6: \"rang IPv6\",\n base64: \"cadena codificada en base64\",\n base64url: \"cadena codificada en base64url\",\n json_string: \"cadena JSON\",\n e164: \"n\u00FAmero E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Tipus inv\u00E0lid: s'esperava instanceof ${issue.expected}, s'ha rebut ${received}`;\n }\n return `Tipus inv\u00E0lid: s'esperava ${expected}, s'ha rebut ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Valor inv\u00E0lid: s'esperava ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opci\u00F3 inv\u00E0lida: s'esperava una de ${util.joinValues(issue.values, \" o \")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"com a m\u00E0xim\" : \"menys de\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Massa gran: s'esperava que ${issue.origin ?? \"el valor\"} contingu\u00E9s ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elements\"}`;\n return `Massa gran: s'esperava que ${issue.origin ?? \"el valor\"} fos ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"com a m\u00EDnim\" : \"m\u00E9s de\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Massa petit: s'esperava que ${issue.origin} contingu\u00E9s ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Massa petit: s'esperava que ${issue.origin} fos ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Format inv\u00E0lid: ha de comen\u00E7ar amb \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Format inv\u00E0lid: ha d'acabar amb \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Format inv\u00E0lid: ha d'incloure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Format inv\u00E0lid: ha de coincidir amb el patr\u00F3 ${_issue.pattern}`;\n return `Format inv\u00E0lid per a ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E0lid: ha de ser m\u00FAltiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Clau${issue.keys.length > 1 ? \"s\" : \"\"} no reconeguda${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Clau inv\u00E0lida a ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inv\u00E0lida\"; // Could also be \"Tipus d'uni\u00F3 inv\u00E0lid\" but \"Entrada inv\u00E0lida\" is more general\n case \"invalid_element\":\n return `Element inv\u00E0lid a ${issue.origin}`;\n default:\n return `Entrada inv\u00E0lida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znak\u016F\", verb: \"m\u00EDt\" },\n file: { unit: \"bajt\u016F\", verb: \"m\u00EDt\" },\n array: { unit: \"prvk\u016F\", verb: \"m\u00EDt\" },\n set: { unit: \"prvk\u016F\", verb: \"m\u00EDt\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"regul\u00E1rn\u00ED v\u00FDraz\",\n email: \"e-mailov\u00E1 adresa\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"datum a \u010Das ve form\u00E1tu ISO\",\n date: \"datum ve form\u00E1tu ISO\",\n time: \"\u010Das ve form\u00E1tu ISO\",\n duration: \"doba trv\u00E1n\u00ED ISO\",\n ipv4: \"IPv4 adresa\",\n ipv6: \"IPv6 adresa\",\n cidrv4: \"rozsah IPv4\",\n cidrv6: \"rozsah IPv6\",\n base64: \"\u0159et\u011Bzec zak\u00F3dovan\u00FD ve form\u00E1tu base64\",\n base64url: \"\u0159et\u011Bzec zak\u00F3dovan\u00FD ve form\u00E1tu base64url\",\n json_string: \"\u0159et\u011Bzec ve form\u00E1tu JSON\",\n e164: \"\u010D\u00EDslo E.164\",\n jwt: \"JWT\",\n template_literal: \"vstup\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u010D\u00EDslo\",\n string: \"\u0159et\u011Bzec\",\n function: \"funkce\",\n array: \"pole\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no instanceof ${issue.expected}, obdr\u017Eeno ${received}`;\n }\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no ${expected}, obdr\u017Eeno ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neplatn\u00E1 mo\u017Enost: o\u010Dek\u00E1v\u00E1na jedna z hodnot ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je p\u0159\u00EDli\u0161 velk\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED m\u00EDt ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"prvk\u016F\"}`;\n }\n return `Hodnota je p\u0159\u00EDli\u0161 velk\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED b\u00FDt ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je p\u0159\u00EDli\u0161 mal\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED m\u00EDt ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"prvk\u016F\"}`;\n }\n return `Hodnota je p\u0159\u00EDli\u0161 mal\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED b\u00FDt ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED za\u010D\u00EDnat na \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED kon\u010Dit na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED obsahovat \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED odpov\u00EDdat vzoru ${_issue.pattern}`;\n return `Neplatn\u00FD form\u00E1t ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neplatn\u00E9 \u010D\u00EDslo: mus\u00ED b\u00FDt n\u00E1sobkem ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nezn\u00E1m\u00E9 kl\u00ED\u010De: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neplatn\u00FD kl\u00ED\u010D v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neplatn\u00FD vstup\";\n case \"invalid_element\":\n return `Neplatn\u00E1 hodnota v ${issue.origin}`;\n default:\n return `Neplatn\u00FD vstup`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tegn\", verb: \"havde\" },\n file: { unit: \"bytes\", verb: \"havde\" },\n array: { unit: \"elementer\", verb: \"indeholdt\" },\n set: { unit: \"elementer\", verb: \"indeholdt\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"e-mailadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkesl\u00E6t\",\n date: \"ISO-dato\",\n time: \"ISO-klokkesl\u00E6t\",\n duration: \"ISO-varighed\",\n ipv4: \"IPv4-omr\u00E5de\",\n ipv6: \"IPv6-omr\u00E5de\",\n cidrv4: \"IPv4-spektrum\",\n cidrv6: \"IPv6-spektrum\",\n base64: \"base64-kodet streng\",\n base64url: \"base64url-kodet streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"streng\",\n number: \"tal\",\n boolean: \"boolean\",\n array: \"liste\",\n object: \"objekt\",\n set: \"s\u00E6t\",\n file: \"fil\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ugyldigt input: forventede instanceof ${issue.expected}, fik ${received}`;\n }\n return `Ugyldigt input: forventede ${expected}, fik ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig v\u00E6rdi: forventede ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldigt valg: forventede en af f\u00F8lgende ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing)\n return `For stor: forventede ${origin ?? \"value\"} ${sizing.verb} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elementer\"}`;\n return `For stor: forventede ${origin ?? \"value\"} havde ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing) {\n return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lille: forventede ${origin} havde ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: skal starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: skal ende med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: skal indeholde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: skal matche m\u00F8nsteret ${_issue.pattern}`;\n return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldigt tal: skal v\u00E6re deleligt med ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukendte n\u00F8gler\" : \"Ukendt n\u00F8gle\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig n\u00F8gle i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldigt input: matcher ingen af de tilladte typer\";\n case \"invalid_element\":\n return `Ugyldig v\u00E6rdi i ${issue.origin}`;\n default:\n return `Ugyldigt input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"Zeichen\", verb: \"zu haben\" },\n file: { unit: \"Bytes\", verb: \"zu haben\" },\n array: { unit: \"Elemente\", verb: \"zu haben\" },\n set: { unit: \"Elemente\", verb: \"zu haben\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"Eingabe\",\n email: \"E-Mail-Adresse\",\n url: \"URL\",\n emoji: \"Emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-Datum und -Uhrzeit\",\n date: \"ISO-Datum\",\n time: \"ISO-Uhrzeit\",\n duration: \"ISO-Dauer\",\n ipv4: \"IPv4-Adresse\",\n ipv6: \"IPv6-Adresse\",\n cidrv4: \"IPv4-Bereich\",\n cidrv6: \"IPv6-Bereich\",\n base64: \"Base64-codierter String\",\n base64url: \"Base64-URL-codierter String\",\n json_string: \"JSON-String\",\n e164: \"E.164-Nummer\",\n jwt: \"JWT\",\n template_literal: \"Eingabe\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"Zahl\",\n array: \"Array\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ung\u00FCltige Eingabe: erwartet instanceof ${issue.expected}, erhalten ${received}`;\n }\n return `Ung\u00FCltige Eingabe: erwartet ${expected}, erhalten ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ung\u00FCltige Eingabe: erwartet ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ung\u00FCltige Option: erwartet eine von ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Zu gro\u00DF: erwartet, dass ${issue.origin ?? \"Wert\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"Elemente\"} hat`;\n return `Zu gro\u00DF: erwartet, dass ${issue.origin ?? \"Wert\"} ${adj}${issue.maximum.toString()} ist`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} hat`;\n }\n return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ist`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ung\u00FCltiger String: muss mit \"${_issue.prefix}\" beginnen`;\n if (_issue.format === \"ends_with\")\n return `Ung\u00FCltiger String: muss mit \"${_issue.suffix}\" enden`;\n if (_issue.format === \"includes\")\n return `Ung\u00FCltiger String: muss \"${_issue.includes}\" enthalten`;\n if (_issue.format === \"regex\")\n return `Ung\u00FCltiger String: muss dem Muster ${_issue.pattern} entsprechen`;\n return `Ung\u00FCltig: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ung\u00FCltige Zahl: muss ein Vielfaches von ${issue.divisor} sein`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Unbekannte Schl\u00FCssel\" : \"Unbekannter Schl\u00FCssel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ung\u00FCltiger Schl\u00FCssel in ${issue.origin}`;\n case \"invalid_union\":\n return \"Ung\u00FCltige Eingabe\";\n case \"invalid_element\":\n return `Ung\u00FCltiger Wert in ${issue.origin}`;\n default:\n return `Ung\u00FCltige Eingabe`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"characters\", verb: \"to have\" },\n file: { unit: \"bytes\", verb: \"to have\" },\n array: { unit: \"items\", verb: \"to have\" },\n set: { unit: \"items\", verb: \"to have\" },\n map: { unit: \"entries\", verb: \"to have\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"email address\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datetime\",\n date: \"ISO date\",\n time: \"ISO time\",\n duration: \"ISO duration\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n mac: \"MAC address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded string\",\n base64url: \"base64url-encoded string\",\n json_string: \"JSON string\",\n e164: \"E.164 number\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n // type names: missing keys = do not translate (use raw value via ?? fallback)\n const TypeDictionary = {\n // Compatibility: \"nan\" -> \"NaN\" for display\n nan: \"NaN\",\n // All other type names omitted - they fall back to raw values via ?? operator\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `Invalid input: expected ${expected}, received ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Invalid input: expected ${util.stringifyPrimitive(issue.values[0])}`;\n return `Invalid option: expected one of ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Too big: expected ${issue.origin ?? \"value\"} to have ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elements\"}`;\n return `Too big: expected ${issue.origin ?? \"value\"} to be ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Too small: expected ${issue.origin} to have ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Too small: expected ${issue.origin} to be ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Invalid string: must start with \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Invalid string: must end with \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Invalid string: must include \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Invalid string: must match pattern ${_issue.pattern}`;\n return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Invalid number: must be a multiple of ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Unrecognized key${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Invalid key in ${issue.origin}`;\n case \"invalid_union\":\n return \"Invalid input\";\n case \"invalid_element\":\n return `Invalid value in ${issue.origin}`;\n default:\n return `Invalid input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karaktrojn\", verb: \"havi\" },\n file: { unit: \"bajtojn\", verb: \"havi\" },\n array: { unit: \"elementojn\", verb: \"havi\" },\n set: { unit: \"elementojn\", verb: \"havi\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"enigo\",\n email: \"retadreso\",\n url: \"URL\",\n emoji: \"emo\u011Dio\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-datotempo\",\n date: \"ISO-dato\",\n time: \"ISO-tempo\",\n duration: \"ISO-da\u016Dro\",\n ipv4: \"IPv4-adreso\",\n ipv6: \"IPv6-adreso\",\n cidrv4: \"IPv4-rango\",\n cidrv6: \"IPv6-rango\",\n base64: \"64-ume kodita karaktraro\",\n base64url: \"URL-64-ume kodita karaktraro\",\n json_string: \"JSON-karaktraro\",\n e164: \"E.164-nombro\",\n jwt: \"JWT\",\n template_literal: \"enigo\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"nombro\",\n array: \"tabelo\",\n null: \"senvalora\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Nevalida enigo: atendi\u011Dis instanceof ${issue.expected}, ricevi\u011Dis ${received}`;\n }\n return `Nevalida enigo: atendi\u011Dis ${expected}, ricevi\u011Dis ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Nevalida enigo: atendi\u011Dis ${util.stringifyPrimitive(issue.values[0])}`;\n return `Nevalida opcio: atendi\u011Dis unu el ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Tro granda: atendi\u011Dis ke ${issue.origin ?? \"valoro\"} havu ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementojn\"}`;\n return `Tro granda: atendi\u011Dis ke ${issue.origin ?? \"valoro\"} havu ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Tro malgranda: atendi\u011Dis ke ${issue.origin} havu ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Tro malgranda: atendi\u011Dis ke ${issue.origin} estu ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Nevalida karaktraro: devas komenci\u011Di per \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Nevalida karaktraro: devas fini\u011Di per \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Nevalida karaktraro: devas inkluzivi \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;\n return `Nevalida ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nevalida nombro: devas esti oblo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nekonata${issue.keys.length > 1 ? \"j\" : \"\"} \u015Dlosilo${issue.keys.length > 1 ? \"j\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Nevalida \u015Dlosilo en ${issue.origin}`;\n case \"invalid_union\":\n return \"Nevalida enigo\";\n case \"invalid_element\":\n return `Nevalida valoro en ${issue.origin}`;\n default:\n return `Nevalida enigo`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\", verb: \"tener\" },\n file: { unit: \"bytes\", verb: \"tener\" },\n array: { unit: \"elementos\", verb: \"tener\" },\n set: { unit: \"elementos\", verb: \"tener\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entrada\",\n email: \"direcci\u00F3n de correo electr\u00F3nico\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"fecha y hora ISO\",\n date: \"fecha ISO\",\n time: \"hora ISO\",\n duration: \"duraci\u00F3n ISO\",\n ipv4: \"direcci\u00F3n IPv4\",\n ipv6: \"direcci\u00F3n IPv6\",\n cidrv4: \"rango IPv4\",\n cidrv6: \"rango IPv6\",\n base64: \"cadena codificada en base64\",\n base64url: \"URL codificada en base64\",\n json_string: \"cadena JSON\",\n e164: \"n\u00FAmero E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"texto\",\n number: \"n\u00FAmero\",\n boolean: \"booleano\",\n array: \"arreglo\",\n object: \"objeto\",\n set: \"conjunto\",\n file: \"archivo\",\n date: \"fecha\",\n bigint: \"n\u00FAmero grande\",\n symbol: \"s\u00EDmbolo\",\n undefined: \"indefinido\",\n null: \"nulo\",\n function: \"funci\u00F3n\",\n map: \"mapa\",\n record: \"registro\",\n tuple: \"tupla\",\n enum: \"enumeraci\u00F3n\",\n union: \"uni\u00F3n\",\n literal: \"literal\",\n promise: \"promesa\",\n void: \"vac\u00EDo\",\n never: \"nunca\",\n unknown: \"desconocido\",\n any: \"cualquiera\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entrada inv\u00E1lida: se esperaba instanceof ${issue.expected}, recibido ${received}`;\n }\n return `Entrada inv\u00E1lida: se esperaba ${expected}, recibido ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inv\u00E1lida: se esperaba ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opci\u00F3n inv\u00E1lida: se esperaba una de ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing)\n return `Demasiado grande: se esperaba que ${origin ?? \"valor\"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Demasiado grande: se esperaba que ${origin ?? \"valor\"} fuera ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing) {\n return `Demasiado peque\u00F1o: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Demasiado peque\u00F1o: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Cadena inv\u00E1lida: debe comenzar con \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Cadena inv\u00E1lida: debe terminar en \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cadena inv\u00E1lida: debe incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cadena inv\u00E1lida: debe coincidir con el patr\u00F3n ${_issue.pattern}`;\n return `Inv\u00E1lido ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E1lido: debe ser m\u00FAltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Llave${issue.keys.length > 1 ? \"s\" : \"\"} desconocida${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Llave inv\u00E1lida en ${TypeDictionary[issue.origin] ?? issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inv\u00E1lida\";\n case \"invalid_element\":\n return `Valor inv\u00E1lido en ${TypeDictionary[issue.origin] ?? issue.origin}`;\n default:\n return `Entrada inv\u00E1lida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n file: { unit: \"\u0628\u0627\u06CC\u062A\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n array: { unit: \"\u0622\u06CC\u062A\u0645\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n set: { unit: \"\u0622\u06CC\u062A\u0645\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0648\u0631\u0648\u062F\u06CC\",\n email: \"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644\",\n url: \"URL\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u06CC\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n date: \"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648\",\n time: \"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n duration: \"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n ipv4: \"IPv4 \u0622\u062F\u0631\u0633\",\n ipv6: \"IPv6 \u0622\u062F\u0631\u0633\",\n cidrv4: \"IPv4 \u062F\u0627\u0645\u0646\u0647\",\n cidrv6: \"IPv6 \u062F\u0627\u0645\u0646\u0647\",\n base64: \"base64-encoded \u0631\u0634\u062A\u0647\",\n base64url: \"base64url-encoded \u0631\u0634\u062A\u0647\",\n json_string: \"JSON \u0631\u0634\u062A\u0647\",\n e164: \"E.164 \u0639\u062F\u062F\",\n jwt: \"JWT\",\n template_literal: \"\u0648\u0631\u0648\u062F\u06CC\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0639\u062F\u062F\",\n array: \"\u0622\u0631\u0627\u06CC\u0647\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${issue.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;\n }\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1) {\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${util.stringifyPrimitive(issue.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;\n }\n return `\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${util.joinValues(issue.values, \"|\")} \u0645\u06CC\u200C\u0628\u0648\u062F`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue.origin ?? \"\u0645\u0642\u062F\u0627\u0631\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\"} \u0628\u0627\u0634\u062F`;\n }\n return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue.origin ?? \"\u0645\u0642\u062F\u0627\u0631\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} \u0628\u0627\u0634\u062F`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} ${sizing.unit} \u0628\u0627\u0634\u062F`;\n }\n return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} \u0628\u0627\u0634\u062F`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \"${_issue.prefix}\" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;\n }\n if (_issue.format === \"ends_with\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \"${_issue.suffix}\" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;\n }\n if (_issue.format === \"includes\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 \"${_issue.includes}\" \u0628\u0627\u0634\u062F`;\n }\n if (_issue.format === \"regex\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${_issue.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;\n }\n return `${FormatDictionary[_issue.format] ?? issue.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n }\n case \"not_multiple_of\":\n return `\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${issue.divisor} \u0628\u0627\u0634\u062F`;\n case \"unrecognized_keys\":\n return `\u06A9\u0644\u06CC\u062F${issue.keys.length > 1 ? \"\u0647\u0627\u06CC\" : \"\"} \u0646\u0627\u0634\u0646\u0627\u0633: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${issue.origin}`;\n case \"invalid_union\":\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n case \"invalid_element\":\n return `\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${issue.origin}`;\n default:\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"merkki\u00E4\", subject: \"merkkijonon\" },\n file: { unit: \"tavua\", subject: \"tiedoston\" },\n array: { unit: \"alkiota\", subject: \"listan\" },\n set: { unit: \"alkiota\", subject: \"joukon\" },\n number: { unit: \"\", subject: \"luvun\" },\n bigint: { unit: \"\", subject: \"suuren kokonaisluvun\" },\n int: { unit: \"\", subject: \"kokonaisluvun\" },\n date: { unit: \"\", subject: \"p\u00E4iv\u00E4m\u00E4\u00E4r\u00E4n\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"s\u00E4\u00E4nn\u00F6llinen lauseke\",\n email: \"s\u00E4hk\u00F6postiosoite\",\n url: \"URL-osoite\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-aikaleima\",\n date: \"ISO-p\u00E4iv\u00E4m\u00E4\u00E4r\u00E4\",\n time: \"ISO-aika\",\n duration: \"ISO-kesto\",\n ipv4: \"IPv4-osoite\",\n ipv6: \"IPv6-osoite\",\n cidrv4: \"IPv4-alue\",\n cidrv6: \"IPv6-alue\",\n base64: \"base64-koodattu merkkijono\",\n base64url: \"base64url-koodattu merkkijono\",\n json_string: \"JSON-merkkijono\",\n e164: \"E.164-luku\",\n jwt: \"JWT\",\n template_literal: \"templaattimerkkijono\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Virheellinen tyyppi: odotettiin instanceof ${issue.expected}, oli ${received}`;\n }\n return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Virheellinen sy\u00F6te: t\u00E4ytyy olla ${util.stringifyPrimitive(issue.values[0])}`;\n return `Virheellinen valinta: t\u00E4ytyy olla yksi seuraavista: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Liian suuri: ${sizing.subject} t\u00E4ytyy olla ${adj}${issue.maximum.toString()} ${sizing.unit}`.trim();\n }\n return `Liian suuri: arvon t\u00E4ytyy olla ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Liian pieni: ${sizing.subject} t\u00E4ytyy olla ${adj}${issue.minimum.toString()} ${sizing.unit}`.trim();\n }\n return `Liian pieni: arvon t\u00E4ytyy olla ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy alkaa \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy loppua \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy sis\u00E4lt\u00E4\u00E4 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\") {\n return `Virheellinen sy\u00F6te: t\u00E4ytyy vastata s\u00E4\u00E4nn\u00F6llist\u00E4 lauseketta ${_issue.pattern}`;\n }\n return `Virheellinen ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Virheellinen luku: t\u00E4ytyy olla luvun ${issue.divisor} monikerta`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Tuntemattomat avaimet\" : \"Tuntematon avain\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return \"Virheellinen avain tietueessa\";\n case \"invalid_union\":\n return \"Virheellinen unioni\";\n case \"invalid_element\":\n return \"Virheellinen arvo joukossa\";\n default:\n return `Virheellinen sy\u00F6te`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caract\u00E8res\", verb: \"avoir\" },\n file: { unit: \"octets\", verb: \"avoir\" },\n array: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n set: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entr\u00E9e\",\n email: \"adresse e-mail\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"date et heure ISO\",\n date: \"date ISO\",\n time: \"heure ISO\",\n duration: \"dur\u00E9e ISO\",\n ipv4: \"adresse IPv4\",\n ipv6: \"adresse IPv6\",\n cidrv4: \"plage IPv4\",\n cidrv6: \"plage IPv6\",\n base64: \"cha\u00EEne encod\u00E9e en base64\",\n base64url: \"cha\u00EEne encod\u00E9e en base64url\",\n json_string: \"cha\u00EEne JSON\",\n e164: \"num\u00E9ro E.164\",\n jwt: \"JWT\",\n template_literal: \"entr\u00E9e\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"nombre\",\n array: \"tableau\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entr\u00E9e invalide : instanceof ${issue.expected} attendu, ${received} re\u00E7u`;\n }\n return `Entr\u00E9e invalide : ${expected} attendu, ${received} re\u00E7u`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entr\u00E9e invalide : ${util.stringifyPrimitive(issue.values[0])} attendu`;\n return `Option invalide : une valeur parmi ${util.joinValues(issue.values, \"|\")} attendue`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop grand : ${issue.origin ?? \"valeur\"} doit ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u00E9l\u00E9ment(s)\"}`;\n return `Trop grand : ${issue.origin ?? \"valeur\"} doit \u00EAtre ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Trop petit : ${issue.origin} doit ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Trop petit : ${issue.origin} doit \u00EAtre ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Cha\u00EEne invalide : doit commencer par \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Cha\u00EEne invalide : doit se terminer par \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cha\u00EEne invalide : doit inclure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cha\u00EEne invalide : doit correspondre au mod\u00E8le ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;\n }\n case \"not_multiple_of\":\n return `Nombre invalide : doit \u00EAtre un multiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Cl\u00E9${issue.keys.length > 1 ? \"s\" : \"\"} non reconnue${issue.keys.length > 1 ? \"s\" : \"\"} : ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Cl\u00E9 invalide dans ${issue.origin}`;\n case \"invalid_union\":\n return \"Entr\u00E9e invalide\";\n case \"invalid_element\":\n return `Valeur invalide dans ${issue.origin}`;\n default:\n return `Entr\u00E9e invalide`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caract\u00E8res\", verb: \"avoir\" },\n file: { unit: \"octets\", verb: \"avoir\" },\n array: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n set: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entr\u00E9e\",\n email: \"adresse courriel\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"date-heure ISO\",\n date: \"date ISO\",\n time: \"heure ISO\",\n duration: \"dur\u00E9e ISO\",\n ipv4: \"adresse IPv4\",\n ipv6: \"adresse IPv6\",\n cidrv4: \"plage IPv4\",\n cidrv6: \"plage IPv6\",\n base64: \"cha\u00EEne encod\u00E9e en base64\",\n base64url: \"cha\u00EEne encod\u00E9e en base64url\",\n json_string: \"cha\u00EEne JSON\",\n e164: \"num\u00E9ro E.164\",\n jwt: \"JWT\",\n template_literal: \"entr\u00E9e\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entr\u00E9e invalide : attendu instanceof ${issue.expected}, re\u00E7u ${received}`;\n }\n return `Entr\u00E9e invalide : attendu ${expected}, re\u00E7u ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entr\u00E9e invalide : attendu ${util.stringifyPrimitive(issue.values[0])}`;\n return `Option invalide : attendu l'une des valeurs suivantes ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u2264\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop grand : attendu que ${issue.origin ?? \"la valeur\"} ait ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n return `Trop grand : attendu que ${issue.origin ?? \"la valeur\"} soit ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u2265\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Trop petit : attendu que ${issue.origin} ait ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Trop petit : attendu que ${issue.origin} soit ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Cha\u00EEne invalide : doit commencer par \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Cha\u00EEne invalide : doit se terminer par \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cha\u00EEne invalide : doit inclure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cha\u00EEne invalide : doit correspondre au motif ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;\n }\n case \"not_multiple_of\":\n return `Nombre invalide : doit \u00EAtre un multiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Cl\u00E9${issue.keys.length > 1 ? \"s\" : \"\"} non reconnue${issue.keys.length > 1 ? \"s\" : \"\"} : ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Cl\u00E9 invalide dans ${issue.origin}`;\n case \"invalid_union\":\n return \"Entr\u00E9e invalide\";\n case \"invalid_element\":\n return `Valeur invalide dans ${issue.origin}`;\n default:\n return `Entr\u00E9e invalide`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n // Hebrew labels + grammatical gender\n const TypeNames = {\n string: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA\", gender: \"f\" },\n number: { label: \"\u05DE\u05E1\u05E4\u05E8\", gender: \"m\" },\n boolean: { label: \"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9\", gender: \"m\" },\n bigint: { label: \"BigInt\", gender: \"m\" },\n date: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA\", gender: \"m\" },\n array: { label: \"\u05DE\u05E2\u05E8\u05DA\", gender: \"m\" },\n object: { label: \"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8\", gender: \"m\" },\n null: { label: \"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)\", gender: \"m\" },\n undefined: { label: \"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)\", gender: \"m\" },\n symbol: { label: \"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)\", gender: \"m\" },\n function: { label: \"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4\", gender: \"f\" },\n map: { label: \"\u05DE\u05E4\u05D4 (Map)\", gender: \"f\" },\n set: { label: \"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)\", gender: \"f\" },\n file: { label: \"\u05E7\u05D5\u05D1\u05E5\", gender: \"m\" },\n promise: { label: \"Promise\", gender: \"m\" },\n NaN: { label: \"NaN\", gender: \"m\" },\n unknown: { label: \"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2\", gender: \"m\" },\n value: { label: \"\u05E2\u05E8\u05DA\", gender: \"m\" },\n };\n // Sizing units for size-related messages + localized origin labels\n const Sizable = {\n string: { unit: \"\u05EA\u05D5\u05D5\u05D9\u05DD\", shortLabel: \"\u05E7\u05E6\u05E8\", longLabel: \"\u05D0\u05E8\u05D5\u05DA\" },\n file: { unit: \"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n array: { unit: \"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n set: { unit: \"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n number: { unit: \"\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" }, // no unit\n };\n // Helpers \u2014 labels, articles, and verbs\n const typeEntry = (t) => (t ? TypeNames[t] : undefined);\n const typeLabel = (t) => {\n const e = typeEntry(t);\n if (e)\n return e.label;\n // fallback: show raw string if unknown\n return t ?? TypeNames.unknown.label;\n };\n const withDefinite = (t) => `\u05D4${typeLabel(t)}`;\n const verbFor = (t) => {\n const e = typeEntry(t);\n const gender = e?.gender ?? \"m\";\n return gender === \"f\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA\" : \"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA\";\n };\n const getSizing = (origin) => {\n if (!origin)\n return null;\n return Sizable[origin] ?? null;\n };\n const FormatDictionary = {\n regex: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n email: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC\", gender: \"f\" },\n url: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA\", gender: \"f\" },\n emoji: { label: \"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9\", gender: \"m\" },\n uuid: { label: \"UUID\", gender: \"m\" },\n nanoid: { label: \"nanoid\", gender: \"m\" },\n guid: { label: \"GUID\", gender: \"m\" },\n cuid: { label: \"cuid\", gender: \"m\" },\n cuid2: { label: \"cuid2\", gender: \"m\" },\n ulid: { label: \"ULID\", gender: \"m\" },\n xid: { label: \"XID\", gender: \"m\" },\n ksuid: { label: \"KSUID\", gender: \"m\" },\n datetime: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n date: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA ISO\", gender: \"m\" },\n time: { label: \"\u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n duration: { label: \"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n ipv4: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4\", gender: \"f\" },\n ipv6: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6\", gender: \"f\" },\n cidrv4: { label: \"\u05D8\u05D5\u05D5\u05D7 IPv4\", gender: \"m\" },\n cidrv6: { label: \"\u05D8\u05D5\u05D5\u05D7 IPv6\", gender: \"m\" },\n base64: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64\", gender: \"f\" },\n base64url: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA\", gender: \"f\" },\n json_string: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON\", gender: \"f\" },\n e164: { label: \"\u05DE\u05E1\u05E4\u05E8 E.164\", gender: \"m\" },\n jwt: { label: \"JWT\", gender: \"m\" },\n ends_with: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n includes: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n lowercase: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n starts_with: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n uppercase: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n // Expected type: show without definite article for clearer Hebrew\n const expectedKey = issue.expected;\n const expected = TypeDictionary[expectedKey ?? \"\"] ?? typeLabel(expectedKey);\n // Received: show localized label if known, otherwise constructor/raw\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${issue.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`;\n }\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`;\n }\n case \"invalid_value\": {\n if (issue.values.length === 1) {\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${util.stringifyPrimitive(issue.values[0])}`;\n }\n // Join values with proper Hebrew formatting\n const stringified = issue.values.map((v) => util.stringifyPrimitive(v));\n if (issue.values.length === 2) {\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${stringified[0]} \u05D0\u05D5 ${stringified[1]}`;\n }\n // For 3+ values: \"a\", \"b\" \u05D0\u05D5 \"c\"\n const lastValue = stringified[stringified.length - 1];\n const restValues = stringified.slice(0, -1).join(\", \");\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${restValues} \u05D0\u05D5 ${lastValue}`;\n }\n case \"too_big\": {\n const sizing = getSizing(issue.origin);\n const subject = withDefinite(issue.origin ?? \"value\");\n if (issue.origin === \"string\") {\n // Special handling for strings - more natural Hebrew\n return `${sizing?.longLabel ?? \"\u05D0\u05E8\u05D5\u05DA\"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue.maximum.toString()} ${sizing?.unit ?? \"\"} ${issue.inclusive ? \"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA\" : \"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8\"}`.trim();\n }\n if (issue.origin === \"number\") {\n // Natural Hebrew for numbers\n const comparison = issue.inclusive ? `\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue.maximum}` : `\u05E7\u05D8\u05DF \u05DE-${issue.maximum}`;\n return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`;\n }\n if (issue.origin === \"array\" || issue.origin === \"set\") {\n // Natural Hebrew for arrays and sets\n const verb = issue.origin === \"set\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4\" : \"\u05E6\u05E8\u05D9\u05DA\";\n const comparison = issue.inclusive\n ? `${issue.maximum} ${sizing?.unit ?? \"\"} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`\n : `\u05E4\u05D7\u05D5\u05EA \u05DE-${issue.maximum} ${sizing?.unit ?? \"\"}`;\n return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim();\n }\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const be = verbFor(issue.origin ?? \"value\");\n if (sizing?.unit) {\n return `${sizing.longLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n }\n return `${sizing?.longLabel ?? \"\u05D2\u05D3\u05D5\u05DC\"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const sizing = getSizing(issue.origin);\n const subject = withDefinite(issue.origin ?? \"value\");\n if (issue.origin === \"string\") {\n // Special handling for strings - more natural Hebrew\n return `${sizing?.shortLabel ?? \"\u05E7\u05E6\u05E8\"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue.minimum.toString()} ${sizing?.unit ?? \"\"} ${issue.inclusive ? \"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8\" : \"\u05DC\u05E4\u05D7\u05D5\u05EA\"}`.trim();\n }\n if (issue.origin === \"number\") {\n // Natural Hebrew for numbers\n const comparison = issue.inclusive ? `\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue.minimum}` : `\u05D2\u05D3\u05D5\u05DC \u05DE-${issue.minimum}`;\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`;\n }\n if (issue.origin === \"array\" || issue.origin === \"set\") {\n // Natural Hebrew for arrays and sets\n const verb = issue.origin === \"set\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4\" : \"\u05E6\u05E8\u05D9\u05DA\";\n // Special case for singular (minimum === 1)\n if (issue.minimum === 1 && issue.inclusive) {\n const singularPhrase = issue.origin === \"set\" ? \"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3\" : \"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3\";\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${singularPhrase}`;\n }\n const comparison = issue.inclusive\n ? `${issue.minimum} ${sizing?.unit ?? \"\"} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`\n : `\u05D9\u05D5\u05EA\u05E8 \u05DE-${issue.minimum} ${sizing?.unit ?? \"\"}`;\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim();\n }\n const adj = issue.inclusive ? \">=\" : \">\";\n const be = verbFor(issue.origin ?? \"value\");\n if (sizing?.unit) {\n return `${sizing.shortLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `${sizing?.shortLabel ?? \"\u05E7\u05D8\u05DF\"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n // These apply to strings \u2014 use feminine grammar + \u05D4\u05F3 \u05D4\u05D9\u05D3\u05D9\u05E2\u05D4\n if (_issue.format === \"starts_with\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${_issue.pattern}`;\n // Handle gender agreement for formats\n const nounEntry = FormatDictionary[_issue.format];\n const noun = nounEntry?.label ?? _issue.format;\n const gender = nounEntry?.gender ?? \"m\";\n const adjective = gender === \"f\" ? \"\u05EA\u05E7\u05D9\u05E0\u05D4\" : \"\u05EA\u05E7\u05D9\u05DF\";\n return `${noun} \u05DC\u05D0 ${adjective}`;\n }\n case \"not_multiple_of\":\n return `\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u05DE\u05E4\u05EA\u05D7${issue.keys.length > 1 ? \"\u05D5\u05EA\" : \"\"} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${issue.keys.length > 1 ? \"\u05D9\u05DD\" : \"\u05D4\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\": {\n return `\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8`;\n }\n case \"invalid_union\":\n return \"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF\";\n case \"invalid_element\": {\n const place = withDefinite(issue.origin ?? \"array\");\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${place}`;\n }\n default:\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"legyen\" },\n file: { unit: \"byte\", verb: \"legyen\" },\n array: { unit: \"elem\", verb: \"legyen\" },\n set: { unit: \"elem\", verb: \"legyen\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"bemenet\",\n email: \"email c\u00EDm\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO id\u0151b\u00E9lyeg\",\n date: \"ISO d\u00E1tum\",\n time: \"ISO id\u0151\",\n duration: \"ISO id\u0151intervallum\",\n ipv4: \"IPv4 c\u00EDm\",\n ipv6: \"IPv6 c\u00EDm\",\n cidrv4: \"IPv4 tartom\u00E1ny\",\n cidrv6: \"IPv6 tartom\u00E1ny\",\n base64: \"base64-k\u00F3dolt string\",\n base64url: \"base64url-k\u00F3dolt string\",\n json_string: \"JSON string\",\n e164: \"E.164 sz\u00E1m\",\n jwt: \"JWT\",\n template_literal: \"bemenet\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"sz\u00E1m\",\n array: \"t\u00F6mb\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k instanceof ${issue.expected}, a kapott \u00E9rt\u00E9k ${received}`;\n }\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k ${expected}, a kapott \u00E9rt\u00E9k ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00C9rv\u00E9nytelen opci\u00F3: valamelyik \u00E9rt\u00E9k v\u00E1rt ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `T\u00FAl nagy: ${issue.origin ?? \"\u00E9rt\u00E9k\"} m\u00E9rete t\u00FAl nagy ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elem\"}`;\n return `T\u00FAl nagy: a bemeneti \u00E9rt\u00E9k ${issue.origin ?? \"\u00E9rt\u00E9k\"} t\u00FAl nagy: ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `T\u00FAl kicsi: a bemeneti \u00E9rt\u00E9k ${issue.origin} m\u00E9rete t\u00FAl kicsi ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `T\u00FAl kicsi: a bemeneti \u00E9rt\u00E9k ${issue.origin} t\u00FAl kicsi ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.prefix}\" \u00E9rt\u00E9kkel kell kezd\u0151dnie`;\n if (_issue.format === \"ends_with\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.suffix}\" \u00E9rt\u00E9kkel kell v\u00E9gz\u0151dnie`;\n if (_issue.format === \"includes\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.includes}\" \u00E9rt\u00E9ket kell tartalmaznia`;\n if (_issue.format === \"regex\")\n return `\u00C9rv\u00E9nytelen string: ${_issue.pattern} mint\u00E1nak kell megfelelnie`;\n return `\u00C9rv\u00E9nytelen ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u00C9rv\u00E9nytelen sz\u00E1m: ${issue.divisor} t\u00F6bbsz\u00F6r\u00F6s\u00E9nek kell lennie`;\n case \"unrecognized_keys\":\n return `Ismeretlen kulcs${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u00C9rv\u00E9nytelen kulcs ${issue.origin}`;\n case \"invalid_union\":\n return \"\u00C9rv\u00E9nytelen bemenet\";\n case \"invalid_element\":\n return `\u00C9rv\u00E9nytelen \u00E9rt\u00E9k: ${issue.origin}`;\n default:\n return `\u00C9rv\u00E9nytelen bemenet`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getArmenianPlural(count, one, many) {\n return Math.abs(count) === 1 ? one : many;\n}\nfunction withDefiniteArticle(word) {\n if (!word)\n return \"\";\n const vowels = [\"\u0561\", \"\u0565\", \"\u0568\", \"\u056B\", \"\u0578\", \"\u0578\u0582\", \"\u0585\"];\n const lastChar = word[word.length - 1];\n return word + (vowels.includes(lastChar) ? \"\u0576\" : \"\u0568\");\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0576\u0577\u0561\u0576\",\n many: \"\u0576\u0577\u0561\u0576\u0576\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n file: {\n unit: {\n one: \"\u0562\u0561\u0575\u0569\",\n many: \"\u0562\u0561\u0575\u0569\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n array: {\n unit: {\n one: \"\u057F\u0561\u0580\u0580\",\n many: \"\u057F\u0561\u0580\u0580\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n set: {\n unit: {\n one: \"\u057F\u0561\u0580\u0580\",\n many: \"\u057F\u0561\u0580\u0580\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0574\u0578\u0582\u057F\u0584\",\n email: \"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565\",\n url: \"URL\",\n emoji: \"\u0567\u0574\u0578\u057B\u056B\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574\",\n date: \"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E\",\n time: \"ISO \u056A\u0561\u0574\",\n duration: \"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576\",\n ipv4: \"IPv4 \u0570\u0561\u057D\u0581\u0565\",\n ipv6: \"IPv6 \u0570\u0561\u057D\u0581\u0565\",\n cidrv4: \"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584\",\n cidrv6: \"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584\",\n base64: \"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572\",\n base64url: \"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572\",\n json_string: \"JSON \u057F\u0578\u0572\",\n e164: \"E.164 \u0570\u0561\u0574\u0561\u0580\",\n jwt: \"JWT\",\n template_literal: \"\u0574\u0578\u0582\u057F\u0584\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0569\u056B\u057E\",\n array: \"\u0566\u0561\u0576\u0563\u057E\u0561\u056E\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${issue.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`;\n }\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${util.stringifyPrimitive(issue.values[1])}`;\n return `\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many);\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin ?? \"\u0561\u0580\u056A\u0565\u0584\")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin ?? \"\u0561\u0580\u056A\u0565\u0584\")} \u056C\u056B\u0576\u056B ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many);\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin)} \u056C\u056B\u0576\u056B ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B \"${_issue.prefix}\"-\u0578\u057E`;\n if (_issue.format === \"ends_with\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B \"${_issue.suffix}\"-\u0578\u057E`;\n if (_issue.format === \"includes\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${_issue.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;\n return `\u054D\u056D\u0561\u056C ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${issue.divisor}-\u056B`;\n case \"unrecognized_keys\":\n return `\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${issue.keys.length > 1 ? \"\u0576\u0565\u0580\" : \"\"}. ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${withDefiniteArticle(issue.origin)}-\u0578\u0582\u0574`;\n case \"invalid_union\":\n return \"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\";\n case \"invalid_element\":\n return `\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${withDefiniteArticle(issue.origin)}-\u0578\u0582\u0574`;\n default:\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"memiliki\" },\n file: { unit: \"byte\", verb: \"memiliki\" },\n array: { unit: \"item\", verb: \"memiliki\" },\n set: { unit: \"item\", verb: \"memiliki\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"alamat email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"tanggal dan waktu format ISO\",\n date: \"tanggal format ISO\",\n time: \"jam format ISO\",\n duration: \"durasi format ISO\",\n ipv4: \"alamat IPv4\",\n ipv6: \"alamat IPv6\",\n cidrv4: \"rentang alamat IPv4\",\n cidrv6: \"rentang alamat IPv6\",\n base64: \"string dengan enkode base64\",\n base64url: \"string dengan enkode base64url\",\n json_string: \"string JSON\",\n e164: \"angka E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input tidak valid: diharapkan instanceof ${issue.expected}, diterima ${received}`;\n }\n return `Input tidak valid: diharapkan ${expected}, diterima ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input tidak valid: diharapkan ${util.stringifyPrimitive(issue.values[0])}`;\n return `Pilihan tidak valid: diharapkan salah satu dari ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Terlalu besar: diharapkan ${issue.origin ?? \"value\"} memiliki ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemen\"}`;\n return `Terlalu besar: diharapkan ${issue.origin ?? \"value\"} menjadi ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Terlalu kecil: diharapkan ${issue.origin} memiliki ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Terlalu kecil: diharapkan ${issue.origin} menjadi ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `String tidak valid: harus dimulai dengan \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `String tidak valid: harus berakhir dengan \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `String tidak valid: harus menyertakan \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `String tidak valid: harus sesuai pola ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} tidak valid`;\n }\n case \"not_multiple_of\":\n return `Angka tidak valid: harus kelipatan dari ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kunci tidak dikenali ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kunci tidak valid di ${issue.origin}`;\n case \"invalid_union\":\n return \"Input tidak valid\";\n case \"invalid_element\":\n return `Nilai tidak valid di ${issue.origin}`;\n default:\n return `Input tidak valid`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"stafi\", verb: \"a\u00F0 hafa\" },\n file: { unit: \"b\u00E6ti\", verb: \"a\u00F0 hafa\" },\n array: { unit: \"hluti\", verb: \"a\u00F0 hafa\" },\n set: { unit: \"hluti\", verb: \"a\u00F0 hafa\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"gildi\",\n email: \"netfang\",\n url: \"vefsl\u00F3\u00F0\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dagsetning og t\u00EDmi\",\n date: \"ISO dagsetning\",\n time: \"ISO t\u00EDmi\",\n duration: \"ISO t\u00EDmalengd\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded strengur\",\n base64url: \"base64url-encoded strengur\",\n json_string: \"JSON strengur\",\n e164: \"E.164 t\u00F6lugildi\",\n jwt: \"JWT\",\n template_literal: \"gildi\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"n\u00FAmer\",\n array: \"fylki\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Rangt gildi: \u00DE\u00FA sl\u00F3st inn ${received} \u00FEar sem \u00E1 a\u00F0 vera instanceof ${issue.expected}`;\n }\n return `Rangt gildi: \u00DE\u00FA sl\u00F3st inn ${received} \u00FEar sem \u00E1 a\u00F0 vera ${expected}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Rangt gildi: gert r\u00E1\u00F0 fyrir ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00D3gilt val: m\u00E1 vera eitt af eftirfarandi ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Of st\u00F3rt: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin ?? \"gildi\"} hafi ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"hluti\"}`;\n return `Of st\u00F3rt: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin ?? \"gildi\"} s\u00E9 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Of l\u00EDti\u00F0: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin} hafi ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Of l\u00EDti\u00F0: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin} s\u00E9 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 byrja \u00E1 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 enda \u00E1 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 innihalda \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 fylgja mynstri ${_issue.pattern}`;\n return `Rangt ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `R\u00F6ng tala: ver\u00F0ur a\u00F0 vera margfeldi af ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u00D3\u00FEekkt ${issue.keys.length > 1 ? \"ir lyklar\" : \"ur lykill\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Rangur lykill \u00ED ${issue.origin}`;\n case \"invalid_union\":\n return \"Rangt gildi\";\n case \"invalid_element\":\n return `Rangt gildi \u00ED ${issue.origin}`;\n default:\n return `Rangt gildi`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caratteri\", verb: \"avere\" },\n file: { unit: \"byte\", verb: \"avere\" },\n array: { unit: \"elementi\", verb: \"avere\" },\n set: { unit: \"elementi\", verb: \"avere\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"indirizzo email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data e ora ISO\",\n date: \"data ISO\",\n time: \"ora ISO\",\n duration: \"durata ISO\",\n ipv4: \"indirizzo IPv4\",\n ipv6: \"indirizzo IPv6\",\n cidrv4: \"intervallo IPv4\",\n cidrv6: \"intervallo IPv6\",\n base64: \"stringa codificata in base64\",\n base64url: \"URL codificata in base64\",\n json_string: \"stringa JSON\",\n e164: \"numero E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"numero\",\n array: \"vettore\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input non valido: atteso instanceof ${issue.expected}, ricevuto ${received}`;\n }\n return `Input non valido: atteso ${expected}, ricevuto ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input non valido: atteso ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opzione non valida: atteso uno tra ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Troppo grande: ${issue.origin ?? \"valore\"} deve avere ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementi\"}`;\n return `Troppo grande: ${issue.origin ?? \"valore\"} deve essere ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Troppo piccolo: ${issue.origin} deve avere ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Troppo piccolo: ${issue.origin} deve essere ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Stringa non valida: deve iniziare con \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Stringa non valida: deve terminare con \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Stringa non valida: deve includere \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;\n return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Numero non valido: deve essere un multiplo di ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Chiav${issue.keys.length > 1 ? \"i\" : \"e\"} non riconosciut${issue.keys.length > 1 ? \"e\" : \"a\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Chiave non valida in ${issue.origin}`;\n case \"invalid_union\":\n return \"Input non valido\";\n case \"invalid_element\":\n return `Valore non valido in ${issue.origin}`;\n default:\n return `Input non valido`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u6587\u5B57\", verb: \"\u3067\u3042\u308B\" },\n file: { unit: \"\u30D0\u30A4\u30C8\", verb: \"\u3067\u3042\u308B\" },\n array: { unit: \"\u8981\u7D20\", verb: \"\u3067\u3042\u308B\" },\n set: { unit: \"\u8981\u7D20\", verb: \"\u3067\u3042\u308B\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u5165\u529B\u5024\",\n email: \"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\",\n url: \"URL\",\n emoji: \"\u7D75\u6587\u5B57\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO\u65E5\u6642\",\n date: \"ISO\u65E5\u4ED8\",\n time: \"ISO\u6642\u523B\",\n duration: \"ISO\u671F\u9593\",\n ipv4: \"IPv4\u30A2\u30C9\u30EC\u30B9\",\n ipv6: \"IPv6\u30A2\u30C9\u30EC\u30B9\",\n cidrv4: \"IPv4\u7BC4\u56F2\",\n cidrv6: \"IPv6\u7BC4\u56F2\",\n base64: \"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217\",\n base64url: \"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217\",\n json_string: \"JSON\u6587\u5B57\u5217\",\n e164: \"E.164\u756A\u53F7\",\n jwt: \"JWT\",\n template_literal: \"\u5165\u529B\u5024\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u6570\u5024\",\n array: \"\u914D\u5217\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u7121\u52B9\u306A\u5165\u529B: instanceof ${issue.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;\n }\n return `\u7121\u52B9\u306A\u5165\u529B: ${expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u7121\u52B9\u306A\u5165\u529B: ${util.stringifyPrimitive(issue.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;\n return `\u7121\u52B9\u306A\u9078\u629E: ${util.joinValues(issue.values, \"\u3001\")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u4EE5\u4E0B\u3067\u3042\u308B\" : \"\u3088\u308A\u5C0F\u3055\u3044\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue.origin ?? \"\u5024\"}\u306F${issue.maximum.toString()}${sizing.unit ?? \"\u8981\u7D20\"}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue.origin ?? \"\u5024\"}\u306F${issue.maximum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u4EE5\u4E0A\u3067\u3042\u308B\" : \"\u3088\u308A\u5927\u304D\u3044\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue.origin}\u306F${issue.minimum.toString()}${sizing.unit}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue.origin}\u306F${issue.minimum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.prefix}\"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"ends_with\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.suffix}\"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"includes\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.includes}\"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"regex\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${_issue.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u7121\u52B9\u306A${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u7121\u52B9\u306A\u6570\u5024: ${issue.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n case \"unrecognized_keys\":\n return `\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${issue.keys.length > 1 ? \"\u7FA4\" : \"\"}: ${util.joinValues(issue.keys, \"\u3001\")}`;\n case \"invalid_key\":\n return `${issue.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;\n case \"invalid_union\":\n return \"\u7121\u52B9\u306A\u5165\u529B\";\n case \"invalid_element\":\n return `${issue.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;\n default:\n return `\u7121\u52B9\u306A\u5165\u529B`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n file: { unit: \"\u10D1\u10D0\u10D8\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n array: { unit: \"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n set: { unit: \"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\",\n email: \"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n url: \"URL\",\n emoji: \"\u10D4\u10DB\u10DD\u10EF\u10D8\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD\",\n date: \"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8\",\n time: \"\u10D3\u10E0\u10DD\",\n duration: \"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0\",\n ipv4: \"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n ipv6: \"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n cidrv4: \"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8\",\n cidrv6: \"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8\",\n base64: \"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8\",\n base64url: \"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8\",\n json_string: \"JSON \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8\",\n e164: \"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8\",\n jwt: \"JWT\",\n template_literal: \"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8\",\n string: \"\u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8\",\n boolean: \"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8\",\n function: \"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0\",\n array: \"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${issue.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`;\n }\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${util.joinValues(issue.values, \"|\")}-\u10D3\u10D0\u10DC`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin ?? \"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin ?? \"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0\"} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \"${_issue.prefix}\"-\u10D8\u10D7`;\n }\n if (_issue.format === \"ends_with\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \"${_issue.suffix}\"-\u10D8\u10D7`;\n if (_issue.format === \"includes\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 \"${_issue.includes}\"-\u10E1`;\n if (_issue.format === \"regex\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_issue.pattern}`;\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${issue.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;\n case \"unrecognized_keys\":\n return `\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${issue.keys.length > 1 ? \"\u10D4\u10D1\u10D8\" : \"\u10D8\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${issue.origin}-\u10E8\u10D8`;\n case \"invalid_union\":\n return \"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\";\n case \"invalid_element\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${issue.origin}-\u10E8\u10D8`;\n default:\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n file: { unit: \"\u1794\u17C3\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n array: { unit: \"\u1792\u17B6\u178F\u17BB\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n set: { unit: \"\u1792\u17B6\u178F\u17BB\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\",\n email: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B\",\n url: \"URL\",\n emoji: \"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO\",\n date: \"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO\",\n time: \"\u1798\u17C9\u17C4\u1784 ISO\",\n duration: \"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO\",\n ipv4: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4\",\n ipv6: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6\",\n cidrv4: \"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4\",\n cidrv6: \"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6\",\n base64: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64\",\n base64url: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url\",\n json_string: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON\",\n e164: \"\u179B\u17C1\u1781 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u179B\u17C1\u1781\",\n array: \"\u17A2\u17B6\u179A\u17C1 (Array)\",\n null: \"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${issue.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`;\n }\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin ?? \"\u178F\u1798\u17D2\u179B\u17C3\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u1792\u17B6\u178F\u17BB\"}`;\n return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin ?? \"\u178F\u1798\u17D2\u179B\u17C3\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin} ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${_issue.pattern}`;\n return `\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue.origin}`;\n case \"invalid_union\":\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`;\n case \"invalid_element\":\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue.origin}`;\n default:\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import km from \"./km.js\";\n/** @deprecated Use `km` instead. */\nexport default function () {\n return km();\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\uBB38\uC790\", verb: \"to have\" },\n file: { unit: \"\uBC14\uC774\uD2B8\", verb: \"to have\" },\n array: { unit: \"\uAC1C\", verb: \"to have\" },\n set: { unit: \"\uAC1C\", verb: \"to have\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\uC785\uB825\",\n email: \"\uC774\uBA54\uC77C \uC8FC\uC18C\",\n url: \"URL\",\n emoji: \"\uC774\uBAA8\uC9C0\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \uB0A0\uC9DC\uC2DC\uAC04\",\n date: \"ISO \uB0A0\uC9DC\",\n time: \"ISO \uC2DC\uAC04\",\n duration: \"ISO \uAE30\uAC04\",\n ipv4: \"IPv4 \uC8FC\uC18C\",\n ipv6: \"IPv6 \uC8FC\uC18C\",\n cidrv4: \"IPv4 \uBC94\uC704\",\n cidrv6: \"IPv6 \uBC94\uC704\",\n base64: \"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4\",\n base64url: \"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4\",\n json_string: \"JSON \uBB38\uC790\uC5F4\",\n e164: \"E.164 \uBC88\uD638\",\n jwt: \"JWT\",\n template_literal: \"\uC785\uB825\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${issue.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`;\n }\n return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${util.stringifyPrimitive(issue.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;\n return `\uC798\uBABB\uB41C \uC635\uC158: ${util.joinValues(issue.values, \"\uB610\uB294 \")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\uC774\uD558\" : \"\uBBF8\uB9CC\";\n const suffix = adj === \"\uBBF8\uB9CC\" ? \"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4\" : \"\uC5EC\uC57C \uD569\uB2C8\uB2E4\";\n const sizing = getSizing(issue.origin);\n const unit = sizing?.unit ?? \"\uC694\uC18C\";\n if (sizing)\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue.maximum.toString()}${unit} ${adj}${suffix}`;\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue.maximum.toString()} ${adj}${suffix}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\uC774\uC0C1\" : \"\uCD08\uACFC\";\n const suffix = adj === \"\uC774\uC0C1\" ? \"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4\" : \"\uC5EC\uC57C \uD569\uB2C8\uB2E4\";\n const sizing = getSizing(issue.origin);\n const unit = sizing?.unit ?? \"\uC694\uC18C\";\n if (sizing) {\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue.minimum.toString()}${unit} ${adj}${suffix}`;\n }\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue.minimum.toString()} ${adj}${suffix}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.prefix}\"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;\n }\n if (_issue.format === \"ends_with\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.suffix}\"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;\n if (_issue.format === \"includes\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.includes}\"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;\n if (_issue.format === \"regex\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${_issue.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;\n return `\uC798\uBABB\uB41C ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\uC798\uBABB\uB41C \uC22B\uC790: ${issue.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;\n case \"unrecognized_keys\":\n return `\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\uC798\uBABB\uB41C \uD0A4: ${issue.origin}`;\n case \"invalid_union\":\n return `\uC798\uBABB\uB41C \uC785\uB825`;\n case \"invalid_element\":\n return `\uC798\uBABB\uB41C \uAC12: ${issue.origin}`;\n default:\n return `\uC798\uBABB\uB41C \uC785\uB825`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst capitalizeFirstCharacter = (text) => {\n return text.charAt(0).toUpperCase() + text.slice(1);\n};\nfunction getUnitTypeFromNumber(number) {\n const abs = Math.abs(number);\n const last = abs % 10;\n const last2 = abs % 100;\n if ((last2 >= 11 && last2 <= 19) || last === 0)\n return \"many\";\n if (last === 1)\n return \"one\";\n return \"few\";\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"simbolis\",\n few: \"simboliai\",\n many: \"simboli\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi b\u016Bti ne ilgesn\u0117 kaip\",\n notInclusive: \"turi b\u016Bti trumpesn\u0117 kaip\",\n },\n bigger: {\n inclusive: \"turi b\u016Bti ne trumpesn\u0117 kaip\",\n notInclusive: \"turi b\u016Bti ilgesn\u0117 kaip\",\n },\n },\n },\n file: {\n unit: {\n one: \"baitas\",\n few: \"baitai\",\n many: \"bait\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi b\u016Bti ne didesnis kaip\",\n notInclusive: \"turi b\u016Bti ma\u017Eesnis kaip\",\n },\n bigger: {\n inclusive: \"turi b\u016Bti ne ma\u017Eesnis kaip\",\n notInclusive: \"turi b\u016Bti didesnis kaip\",\n },\n },\n },\n array: {\n unit: {\n one: \"element\u0105\",\n few: \"elementus\",\n many: \"element\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi tur\u0117ti ne daugiau kaip\",\n notInclusive: \"turi tur\u0117ti ma\u017Eiau kaip\",\n },\n bigger: {\n inclusive: \"turi tur\u0117ti ne ma\u017Eiau kaip\",\n notInclusive: \"turi tur\u0117ti daugiau kaip\",\n },\n },\n },\n set: {\n unit: {\n one: \"element\u0105\",\n few: \"elementus\",\n many: \"element\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi tur\u0117ti ne daugiau kaip\",\n notInclusive: \"turi tur\u0117ti ma\u017Eiau kaip\",\n },\n bigger: {\n inclusive: \"turi tur\u0117ti ne ma\u017Eiau kaip\",\n notInclusive: \"turi tur\u0117ti daugiau kaip\",\n },\n },\n },\n };\n function getSizing(origin, unitType, inclusive, targetShouldBe) {\n const result = Sizable[origin] ?? null;\n if (result === null)\n return result;\n return {\n unit: result.unit[unitType],\n verb: result.verb[targetShouldBe][inclusive ? \"inclusive\" : \"notInclusive\"],\n };\n }\n const FormatDictionary = {\n regex: \"\u012Fvestis\",\n email: \"el. pa\u0161to adresas\",\n url: \"URL\",\n emoji: \"jaustukas\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO data ir laikas\",\n date: \"ISO data\",\n time: \"ISO laikas\",\n duration: \"ISO trukm\u0117\",\n ipv4: \"IPv4 adresas\",\n ipv6: \"IPv6 adresas\",\n cidrv4: \"IPv4 tinklo prefiksas (CIDR)\",\n cidrv6: \"IPv6 tinklo prefiksas (CIDR)\",\n base64: \"base64 u\u017Ekoduota eilut\u0117\",\n base64url: \"base64url u\u017Ekoduota eilut\u0117\",\n json_string: \"JSON eilut\u0117\",\n e164: \"E.164 numeris\",\n jwt: \"JWT\",\n template_literal: \"\u012Fvestis\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"skai\u010Dius\",\n bigint: \"sveikasis skai\u010Dius\",\n string: \"eilut\u0117\",\n boolean: \"login\u0117 reik\u0161m\u0117\",\n undefined: \"neapibr\u0117\u017Eta reik\u0161m\u0117\",\n function: \"funkcija\",\n symbol: \"simbolis\",\n array: \"masyvas\",\n object: \"objektas\",\n null: \"nulin\u0117 reik\u0161m\u0117\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Gautas tipas ${received}, o tik\u0117tasi - instanceof ${issue.expected}`;\n }\n return `Gautas tipas ${received}, o tik\u0117tasi - ${expected}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Privalo b\u016Bti ${util.stringifyPrimitive(issue.values[0])}`;\n return `Privalo b\u016Bti vienas i\u0161 ${util.joinValues(issue.values, \"|\")} pasirinkim\u0173`;\n case \"too_big\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, \"smaller\");\n if (sizing?.verb)\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? \"element\u0173\"}`;\n const adj = issue.inclusive ? \"ne didesnis kaip\" : \"ma\u017Eesnis kaip\";\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi b\u016Bti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;\n }\n case \"too_small\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, \"bigger\");\n if (sizing?.verb)\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? \"element\u0173\"}`;\n const adj = issue.inclusive ? \"ne ma\u017Eesnis kaip\" : \"didesnis kaip\";\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi b\u016Bti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Eilut\u0117 privalo prasid\u0117ti \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Eilut\u0117 privalo pasibaigti \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Eilut\u0117 privalo \u012Ftraukti \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Eilut\u0117 privalo atitikti ${_issue.pattern}`;\n return `Neteisingas ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Skai\u010Dius privalo b\u016Bti ${issue.divisor} kartotinis.`;\n case \"unrecognized_keys\":\n return `Neatpa\u017Eint${issue.keys.length > 1 ? \"i\" : \"as\"} rakt${issue.keys.length > 1 ? \"ai\" : \"as\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return \"Rastas klaidingas raktas\";\n case \"invalid_union\":\n return \"Klaidinga \u012Fvestis\";\n case \"invalid_element\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi klaiding\u0105 \u012Fvest\u012F`;\n }\n default:\n return \"Klaidinga \u012Fvestis\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0437\u043D\u0430\u0446\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n file: { unit: \"\u0431\u0430\u0458\u0442\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n array: { unit: \"\u0441\u0442\u0430\u0432\u043A\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n set: { unit: \"\u0441\u0442\u0430\u0432\u043A\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u043D\u0435\u0441\",\n email: \"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u045F\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435\",\n date: \"ISO \u0434\u0430\u0442\u0443\u043C\",\n time: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n duration: \"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430\",\n cidrv4: \"IPv4 \u043E\u043F\u0441\u0435\u0433\",\n cidrv6: \"IPv6 \u043E\u043F\u0441\u0435\u0433\",\n base64: \"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430\",\n base64url: \"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430\",\n json_string: \"JSON \u043D\u0438\u0437\u0430\",\n e164: \"E.164 \u0431\u0440\u043E\u0458\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u043D\u0435\u0441\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0431\u0440\u043E\u0458\",\n array: \"\u043D\u0438\u0437\u0430\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${issue.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`;\n }\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Invalid input: expected ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin ?? \"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430\"} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\"}`;\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin ?? \"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430\"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${_issue.pattern}`;\n return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438\" : \"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441\";\n case \"invalid_element\":\n return `\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${issue.origin}`;\n default:\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"aksara\", verb: \"mempunyai\" },\n file: { unit: \"bait\", verb: \"mempunyai\" },\n array: { unit: \"elemen\", verb: \"mempunyai\" },\n set: { unit: \"elemen\", verb: \"mempunyai\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"alamat e-mel\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"tarikh masa ISO\",\n date: \"tarikh ISO\",\n time: \"masa ISO\",\n duration: \"tempoh ISO\",\n ipv4: \"alamat IPv4\",\n ipv6: \"alamat IPv6\",\n cidrv4: \"julat IPv4\",\n cidrv6: \"julat IPv6\",\n base64: \"string dikodkan base64\",\n base64url: \"string dikodkan base64url\",\n json_string: \"string JSON\",\n e164: \"nombor E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"nombor\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input tidak sah: dijangka instanceof ${issue.expected}, diterima ${received}`;\n }\n return `Input tidak sah: dijangka ${expected}, diterima ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input tidak sah: dijangka ${util.stringifyPrimitive(issue.values[0])}`;\n return `Pilihan tidak sah: dijangka salah satu daripada ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Terlalu besar: dijangka ${issue.origin ?? \"nilai\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemen\"}`;\n return `Terlalu besar: dijangka ${issue.origin ?? \"nilai\"} adalah ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Terlalu kecil: dijangka ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Terlalu kecil: dijangka ${issue.origin} adalah ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `String tidak sah: mesti bermula dengan \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `String tidak sah: mesti berakhir dengan \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `String tidak sah: mesti mengandungi \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} tidak sah`;\n }\n case \"not_multiple_of\":\n return `Nombor tidak sah: perlu gandaan ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kunci tidak dikenali: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kunci tidak sah dalam ${issue.origin}`;\n case \"invalid_union\":\n return \"Input tidak sah\";\n case \"invalid_element\":\n return `Nilai tidak sah dalam ${issue.origin}`;\n default:\n return `Input tidak sah`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tekens\", verb: \"heeft\" },\n file: { unit: \"bytes\", verb: \"heeft\" },\n array: { unit: \"elementen\", verb: \"heeft\" },\n set: { unit: \"elementen\", verb: \"heeft\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"invoer\",\n email: \"emailadres\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum en tijd\",\n date: \"ISO datum\",\n time: \"ISO tijd\",\n duration: \"ISO duur\",\n ipv4: \"IPv4-adres\",\n ipv6: \"IPv6-adres\",\n cidrv4: \"IPv4-bereik\",\n cidrv6: \"IPv6-bereik\",\n base64: \"base64-gecodeerde tekst\",\n base64url: \"base64 URL-gecodeerde tekst\",\n json_string: \"JSON string\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"invoer\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"getal\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ongeldige invoer: verwacht instanceof ${issue.expected}, ontving ${received}`;\n }\n return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ongeldige invoer: verwacht ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ongeldige optie: verwacht \u00E9\u00E9n van ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const longName = issue.origin === \"date\" ? \"laat\" : issue.origin === \"string\" ? \"lang\" : \"groot\";\n if (sizing)\n return `Te ${longName}: verwacht dat ${issue.origin ?? \"waarde\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementen\"} ${sizing.verb}`;\n return `Te ${longName}: verwacht dat ${issue.origin ?? \"waarde\"} ${adj}${issue.maximum.toString()} is`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const shortName = issue.origin === \"date\" ? \"vroeg\" : issue.origin === \"string\" ? \"kort\" : \"klein\";\n if (sizing) {\n return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n }\n return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ongeldige tekst: moet met \"${_issue.prefix}\" beginnen`;\n }\n if (_issue.format === \"ends_with\")\n return `Ongeldige tekst: moet op \"${_issue.suffix}\" eindigen`;\n if (_issue.format === \"includes\")\n return `Ongeldige tekst: moet \"${_issue.includes}\" bevatten`;\n if (_issue.format === \"regex\")\n return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;\n return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ongeldig getal: moet een veelvoud van ${issue.divisor} zijn`;\n case \"unrecognized_keys\":\n return `Onbekende key${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ongeldige key in ${issue.origin}`;\n case \"invalid_union\":\n return \"Ongeldige invoer\";\n case \"invalid_element\":\n return `Ongeldige waarde in ${issue.origin}`;\n default:\n return `Ongeldige invoer`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tegn\", verb: \"\u00E5 ha\" },\n file: { unit: \"bytes\", verb: \"\u00E5 ha\" },\n array: { unit: \"elementer\", verb: \"\u00E5 inneholde\" },\n set: { unit: \"elementer\", verb: \"\u00E5 inneholde\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"e-postadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkeslett\",\n date: \"ISO-dato\",\n time: \"ISO-klokkeslett\",\n duration: \"ISO-varighet\",\n ipv4: \"IPv4-omr\u00E5de\",\n ipv6: \"IPv6-omr\u00E5de\",\n cidrv4: \"IPv4-spekter\",\n cidrv6: \"IPv6-spekter\",\n base64: \"base64-enkodet streng\",\n base64url: \"base64url-enkodet streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"tall\",\n array: \"liste\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ugyldig input: forventet instanceof ${issue.expected}, fikk ${received}`;\n }\n return `Ugyldig input: forventet ${expected}, fikk ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig verdi: forventet ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldig valg: forventet en av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `For stor(t): forventet ${issue.origin ?? \"value\"} til \u00E5 ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementer\"}`;\n return `For stor(t): forventet ${issue.origin ?? \"value\"} til \u00E5 ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `For lite(n): forventet ${issue.origin} til \u00E5 ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lite(n): forventet ${issue.origin} til \u00E5 ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: m\u00E5 starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: m\u00E5 ende med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: m\u00E5 inneholde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: m\u00E5 matche m\u00F8nsteret ${_issue.pattern}`;\n return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldig tall: m\u00E5 v\u00E6re et multiplum av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukjente n\u00F8kler\" : \"Ukjent n\u00F8kkel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig n\u00F8kkel i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldig input\";\n case \"invalid_element\":\n return `Ugyldig verdi i ${issue.origin}`;\n default:\n return `Ugyldig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"harf\", verb: \"olmal\u0131d\u0131r\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131d\u0131r\" },\n array: { unit: \"unsur\", verb: \"olmal\u0131d\u0131r\" },\n set: { unit: \"unsur\", verb: \"olmal\u0131d\u0131r\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"giren\",\n email: \"epostag\u00E2h\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO heng\u00E2m\u0131\",\n date: \"ISO tarihi\",\n time: \"ISO zaman\u0131\",\n duration: \"ISO m\u00FCddeti\",\n ipv4: \"IPv4 ni\u015F\u00E2n\u0131\",\n ipv6: \"IPv6 ni\u015F\u00E2n\u0131\",\n cidrv4: \"IPv4 menzili\",\n cidrv6: \"IPv6 menzili\",\n base64: \"base64-\u015Fifreli metin\",\n base64url: \"base64url-\u015Fifreli metin\",\n json_string: \"JSON metin\",\n e164: \"E.164 say\u0131s\u0131\",\n jwt: \"JWT\",\n template_literal: \"giren\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"numara\",\n array: \"saf\",\n null: \"gayb\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `F\u00E2sit giren: umulan instanceof ${issue.expected}, al\u0131nan ${received}`;\n }\n return `F\u00E2sit giren: umulan ${expected}, al\u0131nan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `F\u00E2sit giren: umulan ${util.stringifyPrimitive(issue.values[0])}`;\n return `F\u00E2sit tercih: m\u00FBteberler ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Fazla b\u00FCy\u00FCk: ${issue.origin ?? \"value\"}, ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elements\"} sahip olmal\u0131yd\u0131.`;\n return `Fazla b\u00FCy\u00FCk: ${issue.origin ?? \"value\"}, ${adj}${issue.maximum.toString()} olmal\u0131yd\u0131.`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Fazla k\u00FC\u00E7\u00FCk: ${issue.origin}, ${adj}${issue.minimum.toString()} ${sizing.unit} sahip olmal\u0131yd\u0131.`;\n }\n return `Fazla k\u00FC\u00E7\u00FCk: ${issue.origin}, ${adj}${issue.minimum.toString()} olmal\u0131yd\u0131.`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `F\u00E2sit metin: \"${_issue.prefix}\" ile ba\u015Flamal\u0131.`;\n if (_issue.format === \"ends_with\")\n return `F\u00E2sit metin: \"${_issue.suffix}\" ile bitmeli.`;\n if (_issue.format === \"includes\")\n return `F\u00E2sit metin: \"${_issue.includes}\" ihtiv\u00E2 etmeli.`;\n if (_issue.format === \"regex\")\n return `F\u00E2sit metin: ${_issue.pattern} nak\u015F\u0131na uymal\u0131.`;\n return `F\u00E2sit ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `F\u00E2sit say\u0131: ${issue.divisor} kat\u0131 olmal\u0131yd\u0131.`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan anahtar ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} i\u00E7in tan\u0131nmayan anahtar var.`;\n case \"invalid_union\":\n return \"Giren tan\u0131namad\u0131.\";\n case \"invalid_element\":\n return `${issue.origin} i\u00E7in tan\u0131nmayan k\u0131ymet var.`;\n default:\n return `K\u0131ymet tan\u0131namad\u0131.`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n file: { unit: \"\u0628\u0627\u06CC\u067C\u0633\", verb: \"\u0648\u0644\u0631\u064A\" },\n array: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n set: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0648\u0631\u0648\u062F\u064A\",\n email: \"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9\",\n url: \"\u06CC\u0648 \u0622\u0631 \u0627\u0644\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u064A\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A\",\n date: \"\u0646\u06D0\u067C\u0647\",\n time: \"\u0648\u062E\u062A\",\n duration: \"\u0645\u0648\u062F\u0647\",\n ipv4: \"\u062F IPv4 \u067E\u062A\u0647\",\n ipv6: \"\u062F IPv6 \u067E\u062A\u0647\",\n cidrv4: \"\u062F IPv4 \u0633\u0627\u062D\u0647\",\n cidrv6: \"\u062F IPv6 \u0633\u0627\u062D\u0647\",\n base64: \"base64-encoded \u0645\u062A\u0646\",\n base64url: \"base64url-encoded \u0645\u062A\u0646\",\n json_string: \"JSON \u0645\u062A\u0646\",\n e164: \"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647\",\n jwt: \"JWT\",\n template_literal: \"\u0648\u0631\u0648\u062F\u064A\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0639\u062F\u062F\",\n array: \"\u0627\u0631\u06D0\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${issue.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;\n }\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1) {\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${util.stringifyPrimitive(issue.values[0])} \u0648\u0627\u06CC`;\n }\n return `\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${util.joinValues(issue.values, \"|\")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue.origin ?? \"\u0627\u0631\u0632\u069A\u062A\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\u0648\u0646\u0647\"} \u0648\u0644\u0631\u064A`;\n }\n return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue.origin ?? \"\u0627\u0631\u0632\u069A\u062A\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} \u0648\u064A`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} ${sizing.unit} \u0648\u0644\u0631\u064A`;\n }\n return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} \u0648\u064A`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F \"${_issue.prefix}\" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;\n }\n if (_issue.format === \"ends_with\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F \"${_issue.suffix}\" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;\n }\n if (_issue.format === \"includes\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \"${_issue.includes}\" \u0648\u0644\u0631\u064A`;\n }\n if (_issue.format === \"regex\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${_issue.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;\n }\n return `${FormatDictionary[_issue.format] ?? issue.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`;\n }\n case \"not_multiple_of\":\n return `\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${issue.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;\n case \"unrecognized_keys\":\n return `\u0646\u0627\u0633\u0645 ${issue.keys.length > 1 ? \"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647\" : \"\u06A9\u0644\u06CC\u0689\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${issue.origin} \u06A9\u06D0`;\n case \"invalid_union\":\n return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`;\n case \"invalid_element\":\n return `\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${issue.origin} \u06A9\u06D0`;\n default:\n return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znak\u00F3w\", verb: \"mie\u0107\" },\n file: { unit: \"bajt\u00F3w\", verb: \"mie\u0107\" },\n array: { unit: \"element\u00F3w\", verb: \"mie\u0107\" },\n set: { unit: \"element\u00F3w\", verb: \"mie\u0107\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"wyra\u017Cenie\",\n email: \"adres email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data i godzina w formacie ISO\",\n date: \"data w formacie ISO\",\n time: \"godzina w formacie ISO\",\n duration: \"czas trwania ISO\",\n ipv4: \"adres IPv4\",\n ipv6: \"adres IPv6\",\n cidrv4: \"zakres IPv4\",\n cidrv6: \"zakres IPv6\",\n base64: \"ci\u0105g znak\u00F3w zakodowany w formacie base64\",\n base64url: \"ci\u0105g znak\u00F3w zakodowany w formacie base64url\",\n json_string: \"ci\u0105g znak\u00F3w w formacie JSON\",\n e164: \"liczba E.164\",\n jwt: \"JWT\",\n template_literal: \"wej\u015Bcie\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"liczba\",\n array: \"tablica\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${issue.expected}, otrzymano ${received}`;\n }\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${expected}, otrzymano ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie mie\u0107 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\u00F3w\"}`;\n }\n return `Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie wynosi\u0107 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie mie\u0107 ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"element\u00F3w\"}`;\n }\n return `Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie wynosi\u0107 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi zaczyna\u0107 si\u0119 od \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi ko\u0144czy\u0107 si\u0119 na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi zawiera\u0107 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi odpowiada\u0107 wzorcowi ${_issue.pattern}`;\n return `Nieprawid\u0142ow(y/a/e) ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nierozpoznane klucze${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Nieprawid\u0142owy klucz w ${issue.origin}`;\n case \"invalid_union\":\n return \"Nieprawid\u0142owe dane wej\u015Bciowe\";\n case \"invalid_element\":\n return `Nieprawid\u0142owa warto\u015B\u0107 w ${issue.origin}`;\n default:\n return `Nieprawid\u0142owe dane wej\u015Bciowe`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\", verb: \"ter\" },\n file: { unit: \"bytes\", verb: \"ter\" },\n array: { unit: \"itens\", verb: \"ter\" },\n set: { unit: \"itens\", verb: \"ter\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"padr\u00E3o\",\n email: \"endere\u00E7o de e-mail\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data e hora ISO\",\n date: \"data ISO\",\n time: \"hora ISO\",\n duration: \"dura\u00E7\u00E3o ISO\",\n ipv4: \"endere\u00E7o IPv4\",\n ipv6: \"endere\u00E7o IPv6\",\n cidrv4: \"faixa de IPv4\",\n cidrv6: \"faixa de IPv6\",\n base64: \"texto codificado em base64\",\n base64url: \"URL codificada em base64\",\n json_string: \"texto JSON\",\n e164: \"n\u00FAmero E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"n\u00FAmero\",\n null: \"nulo\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Tipo inv\u00E1lido: esperado instanceof ${issue.expected}, recebido ${received}`;\n }\n return `Tipo inv\u00E1lido: esperado ${expected}, recebido ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inv\u00E1lida: esperado ${util.stringifyPrimitive(issue.values[0])}`;\n return `Op\u00E7\u00E3o inv\u00E1lida: esperada uma das ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Muito grande: esperado que ${issue.origin ?? \"valor\"} tivesse ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Muito grande: esperado que ${issue.origin ?? \"valor\"} fosse ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Muito pequeno: esperado que ${issue.origin} tivesse ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Muito pequeno: esperado que ${issue.origin} fosse ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Texto inv\u00E1lido: deve come\u00E7ar com \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Texto inv\u00E1lido: deve terminar com \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Texto inv\u00E1lido: deve incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Texto inv\u00E1lido: deve corresponder ao padr\u00E3o ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} inv\u00E1lido`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E1lido: deve ser m\u00FAltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Chave${issue.keys.length > 1 ? \"s\" : \"\"} desconhecida${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Chave inv\u00E1lida em ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inv\u00E1lida\";\n case \"invalid_element\":\n return `Valor inv\u00E1lido em ${issue.origin}`;\n default:\n return `Campo inv\u00E1lido`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getRussianPlural(count, one, few, many) {\n const absCount = Math.abs(count);\n const lastDigit = absCount % 10;\n const lastTwoDigits = absCount % 100;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {\n return many;\n }\n if (lastDigit === 1) {\n return one;\n }\n if (lastDigit >= 2 && lastDigit <= 4) {\n return few;\n }\n return many;\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0441\u0438\u043C\u0432\u043E\u043B\",\n few: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0430\",\n many: \"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n file: {\n unit: {\n one: \"\u0431\u0430\u0439\u0442\",\n few: \"\u0431\u0430\u0439\u0442\u0430\",\n many: \"\u0431\u0430\u0439\u0442\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n array: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n set: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0432\u043E\u0434\",\n email: \"email \u0430\u0434\u0440\u0435\u0441\",\n url: \"URL\",\n emoji: \"\u044D\u043C\u043E\u0434\u0437\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0432\u0440\u0435\u043C\u044F\",\n duration: \"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\",\n cidrv4: \"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n base64: \"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64\",\n base64url: \"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url\",\n json_string: \"JSON \u0441\u0442\u0440\u043E\u043A\u0430\",\n e164: \"\u043D\u043E\u043C\u0435\u0440 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0432\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${issue.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`;\n }\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\"} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${issue.keys.length > 1 ? \"\u044B\u0435\" : \"\u044B\u0439\"} \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u0438\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\";\n case \"invalid_element\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${issue.origin}`;\n default:\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znakov\", verb: \"imeti\" },\n file: { unit: \"bajtov\", verb: \"imeti\" },\n array: { unit: \"elementov\", verb: \"imeti\" },\n set: { unit: \"elementov\", verb: \"imeti\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"vnos\",\n email: \"e-po\u0161tni naslov\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum in \u010Das\",\n date: \"ISO datum\",\n time: \"ISO \u010Das\",\n duration: \"ISO trajanje\",\n ipv4: \"IPv4 naslov\",\n ipv6: \"IPv6 naslov\",\n cidrv4: \"obseg IPv4\",\n cidrv6: \"obseg IPv6\",\n base64: \"base64 kodiran niz\",\n base64url: \"base64url kodiran niz\",\n json_string: \"JSON niz\",\n e164: \"E.164 \u0161tevilka\",\n jwt: \"JWT\",\n template_literal: \"vnos\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0161tevilo\",\n array: \"tabela\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Neveljaven vnos: pri\u010Dakovano instanceof ${issue.expected}, prejeto ${received}`;\n }\n return `Neveljaven vnos: pri\u010Dakovano ${expected}, prejeto ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neveljaven vnos: pri\u010Dakovano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Preveliko: pri\u010Dakovano, da bo ${issue.origin ?? \"vrednost\"} imelo ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementov\"}`;\n return `Preveliko: pri\u010Dakovano, da bo ${issue.origin ?? \"vrednost\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Premajhno: pri\u010Dakovano, da bo ${issue.origin} imelo ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Premajhno: pri\u010Dakovano, da bo ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Neveljaven niz: mora se za\u010Deti z \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Neveljaven niz: mora se kon\u010Dati z \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neveljaven niz: mora vsebovati \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;\n return `Neveljaven ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Neprepoznan${issue.keys.length > 1 ? \"i klju\u010Di\" : \" klju\u010D\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neveljaven klju\u010D v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neveljaven vnos\";\n case \"invalid_element\":\n return `Neveljavna vrednost v ${issue.origin}`;\n default:\n return \"Neveljaven vnos\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tecken\", verb: \"att ha\" },\n file: { unit: \"bytes\", verb: \"att ha\" },\n array: { unit: \"objekt\", verb: \"att inneh\u00E5lla\" },\n set: { unit: \"objekt\", verb: \"att inneh\u00E5lla\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"regulj\u00E4rt uttryck\",\n email: \"e-postadress\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-datum och tid\",\n date: \"ISO-datum\",\n time: \"ISO-tid\",\n duration: \"ISO-varaktighet\",\n ipv4: \"IPv4-intervall\",\n ipv6: \"IPv6-intervall\",\n cidrv4: \"IPv4-spektrum\",\n cidrv6: \"IPv6-spektrum\",\n base64: \"base64-kodad str\u00E4ng\",\n base64url: \"base64url-kodad str\u00E4ng\",\n json_string: \"JSON-str\u00E4ng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"mall-literal\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"antal\",\n array: \"lista\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat instanceof ${issue.expected}, fick ${received}`;\n }\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat ${expected}, fick ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ogiltigt val: f\u00F6rv\u00E4ntade en av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `F\u00F6r stor(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n }\n return `F\u00F6r stor(t): f\u00F6rv\u00E4ntat ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `F\u00F6r lite(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `F\u00F6r lite(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ogiltig str\u00E4ng: m\u00E5ste b\u00F6rja med \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Ogiltig str\u00E4ng: m\u00E5ste sluta med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ogiltig str\u00E4ng: m\u00E5ste inneh\u00E5lla \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ogiltig str\u00E4ng: m\u00E5ste matcha m\u00F6nstret \"${_issue.pattern}\"`;\n return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ogiltigt tal: m\u00E5ste vara en multipel av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ok\u00E4nda nycklar\" : \"Ok\u00E4nd nyckel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ogiltig nyckel i ${issue.origin ?? \"v\u00E4rdet\"}`;\n case \"invalid_union\":\n return \"Ogiltig input\";\n case \"invalid_element\":\n return `Ogiltigt v\u00E4rde i ${issue.origin ?? \"v\u00E4rdet\"}`;\n default:\n return `Ogiltig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n file: { unit: \"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n array: { unit: \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n set: { unit: \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1\",\n email: \"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD\",\n date: \"ISO \u0BA4\u0BC7\u0BA4\u0BBF\",\n time: \"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD\",\n duration: \"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1\",\n ipv4: \"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n ipv6: \"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n cidrv4: \"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1\",\n cidrv6: \"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1\",\n base64: \"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD\",\n base64url: \"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD\",\n json_string: \"JSON \u0B9A\u0BB0\u0BAE\u0BCD\",\n e164: \"E.164 \u0B8E\u0BA3\u0BCD\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0B8E\u0BA3\u0BCD\",\n array: \"\u0B85\u0BA3\u0BBF\",\n null: \"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${issue.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`;\n }\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${util.joinValues(issue.values, \"|\")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin ?? \"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin ?? \"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\"} ${adj}${issue.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; //\n }\n return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin} ${adj}${issue.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.prefix}\" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"ends_with\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.suffix}\" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"includes\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.includes}\" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"regex\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${_issue.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${issue.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n case \"unrecognized_keys\":\n return `\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${issue.keys.length > 1 ? \"\u0B95\u0BB3\u0BCD\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;\n case \"invalid_union\":\n return \"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1\";\n case \"invalid_element\":\n return `${issue.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;\n default:\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n file: { unit: \"\u0E44\u0E1A\u0E15\u0E4C\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n array: { unit: \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n set: { unit: \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19\",\n email: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25\",\n url: \"URL\",\n emoji: \"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n date: \"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO\",\n time: \"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n duration: \"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n ipv4: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4\",\n ipv6: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6\",\n cidrv4: \"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4\",\n cidrv6: \"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6\",\n base64: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64\",\n base64url: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL\",\n json_string: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON\",\n e164: \"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)\",\n jwt: \"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT\",\n template_literal: \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\",\n array: \"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)\",\n null: \"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${issue.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`;\n }\n return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19\" : \"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin ?? \"\u0E04\u0E48\u0E32\"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\"}`;\n return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin ?? \"\u0E04\u0E48\u0E32\"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22\" : \"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 \"${_issue.includes}\" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;\n if (_issue.format === \"regex\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${_issue.pattern}`;\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${issue.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;\n case \"unrecognized_keys\":\n return `\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49\";\n case \"invalid_element\":\n return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue.origin}`;\n default:\n return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"olmal\u0131\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131\" },\n array: { unit: \"\u00F6\u011Fe\", verb: \"olmal\u0131\" },\n set: { unit: \"\u00F6\u011Fe\", verb: \"olmal\u0131\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"girdi\",\n email: \"e-posta adresi\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO tarih ve saat\",\n date: \"ISO tarih\",\n time: \"ISO saat\",\n duration: \"ISO s\u00FCre\",\n ipv4: \"IPv4 adresi\",\n ipv6: \"IPv6 adresi\",\n cidrv4: \"IPv4 aral\u0131\u011F\u0131\",\n cidrv6: \"IPv6 aral\u0131\u011F\u0131\",\n base64: \"base64 ile \u015Fifrelenmi\u015F metin\",\n base64url: \"base64url ile \u015Fifrelenmi\u015F metin\",\n json_string: \"JSON dizesi\",\n e164: \"E.164 say\u0131s\u0131\",\n jwt: \"JWT\",\n template_literal: \"\u015Eablon dizesi\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ge\u00E7ersiz de\u011Fer: beklenen instanceof ${issue.expected}, al\u0131nan ${received}`;\n }\n return `Ge\u00E7ersiz de\u011Fer: beklenen ${expected}, al\u0131nan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ge\u00E7ersiz de\u011Fer: beklenen ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ge\u00E7ersiz se\u00E7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ok b\u00FCy\u00FCk: beklenen ${issue.origin ?? \"de\u011Fer\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u00F6\u011Fe\"}`;\n return `\u00C7ok b\u00FCy\u00FCk: beklenen ${issue.origin ?? \"de\u011Fer\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ok k\u00FC\u00E7\u00FCk: beklenen ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `\u00C7ok k\u00FC\u00E7\u00FCk: beklenen ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ge\u00E7ersiz metin: \"${_issue.prefix}\" ile ba\u015Flamal\u0131`;\n if (_issue.format === \"ends_with\")\n return `Ge\u00E7ersiz metin: \"${_issue.suffix}\" ile bitmeli`;\n if (_issue.format === \"includes\")\n return `Ge\u00E7ersiz metin: \"${_issue.includes}\" i\u00E7ermeli`;\n if (_issue.format === \"regex\")\n return `Ge\u00E7ersiz metin: ${_issue.pattern} desenine uymal\u0131`;\n return `Ge\u00E7ersiz ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ge\u00E7ersiz say\u0131: ${issue.divisor} ile tam b\u00F6l\u00FCnebilmeli`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan anahtar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} i\u00E7inde ge\u00E7ersiz anahtar`;\n case \"invalid_union\":\n return \"Ge\u00E7ersiz de\u011Fer\";\n case \"invalid_element\":\n return `${issue.origin} i\u00E7inde ge\u00E7ersiz de\u011Fer`;\n default:\n return `Ge\u00E7ersiz de\u011Fer`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n file: { unit: \"\u0431\u0430\u0439\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n array: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n set: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\",\n email: \"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u0434\u0437\u0456\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO\",\n date: \"\u0434\u0430\u0442\u0430 ISO\",\n time: \"\u0447\u0430\u0441 ISO\",\n duration: \"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO\",\n ipv4: \"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4\",\n ipv6: \"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6\",\n cidrv4: \"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4\",\n cidrv6: \"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6\",\n base64: \"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64\",\n base64url: \"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url\",\n json_string: \"\u0440\u044F\u0434\u043E\u043A JSON\",\n e164: \"\u043D\u043E\u043C\u0435\u0440 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${issue.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`;\n }\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\"}`;\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\"} \u0431\u0443\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin} \u0431\u0443\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u0456\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\";\n case \"invalid_element\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${issue.origin}`;\n default:\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import uk from \"./uk.js\";\n/** @deprecated Use `uk` instead. */\nexport default function () {\n return uk();\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062D\u0631\u0648\u0641\", verb: \"\u06C1\u0648\u0646\u0627\" },\n file: { unit: \"\u0628\u0627\u0626\u0679\u0633\", verb: \"\u06C1\u0648\u0646\u0627\" },\n array: { unit: \"\u0622\u0626\u0679\u0645\u0632\", verb: \"\u06C1\u0648\u0646\u0627\" },\n set: { unit: \"\u0622\u0626\u0679\u0645\u0632\", verb: \"\u06C1\u0648\u0646\u0627\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0627\u0646 \u067E\u0679\",\n email: \"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n url: \"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u06CC\",\n uuid: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n uuidv4: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4\",\n uuidv6: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6\",\n nanoid: \"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n guid: \"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n cuid: \"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n cuid2: \"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2\",\n ulid: \"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC\",\n xid: \"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC\",\n ksuid: \"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n datetime: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645\",\n date: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E\",\n time: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A\",\n duration: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A\",\n ipv4: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n ipv6: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n cidrv4: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C\",\n cidrv6: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C\",\n base64: \"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF\",\n base64url: \"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF\",\n json_string: \"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF\",\n e164: \"\u0627\u06CC 164 \u0646\u0645\u0628\u0631\",\n jwt: \"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC\",\n template_literal: \"\u0627\u0646 \u067E\u0679\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0646\u0645\u0628\u0631\",\n array: \"\u0622\u0631\u06D2\",\n null: \"\u0646\u0644\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${issue.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;\n }\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${util.stringifyPrimitive(issue.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n return `\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${util.joinValues(issue.values, \"|\")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue.origin ?? \"\u0648\u06CC\u0644\u06CC\u0648\"} \u06A9\u06D2 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0627\u0635\u0631\"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;\n return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue.origin ?? \"\u0648\u06CC\u0644\u06CC\u0648\"} \u06A9\u0627 ${adj}${issue.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue.origin} \u06A9\u06D2 ${adj}${issue.minimum.toString()} ${sizing.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;\n }\n return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue.origin} \u06A9\u0627 ${adj}${issue.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.prefix}\" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n }\n if (_issue.format === \"ends_with\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.suffix}\" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n if (_issue.format === \"includes\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.includes}\" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n if (_issue.format === \"regex\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${_issue.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n return `\u063A\u0644\u0637 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${issue.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n case \"unrecognized_keys\":\n return `\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${issue.keys.length > 1 ? \"\u0632\" : \"\"}: ${util.joinValues(issue.keys, \"\u060C \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;\n case \"invalid_union\":\n return \"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679\";\n case \"invalid_element\":\n return `${issue.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;\n default:\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"belgi\", verb: \"bo\u2018lishi kerak\" },\n file: { unit: \"bayt\", verb: \"bo\u2018lishi kerak\" },\n array: { unit: \"element\", verb: \"bo\u2018lishi kerak\" },\n set: { unit: \"element\", verb: \"bo\u2018lishi kerak\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"kirish\",\n email: \"elektron pochta manzili\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO sana va vaqti\",\n date: \"ISO sana\",\n time: \"ISO vaqt\",\n duration: \"ISO davomiylik\",\n ipv4: \"IPv4 manzil\",\n ipv6: \"IPv6 manzil\",\n mac: \"MAC manzil\",\n cidrv4: \"IPv4 diapazon\",\n cidrv6: \"IPv6 diapazon\",\n base64: \"base64 kodlangan satr\",\n base64url: \"base64url kodlangan satr\",\n json_string: \"JSON satr\",\n e164: \"E.164 raqam\",\n jwt: \"JWT\",\n template_literal: \"kirish\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"raqam\",\n array: \"massiv\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Noto\u2018g\u2018ri kirish: kutilgan instanceof ${issue.expected}, qabul qilingan ${received}`;\n }\n return `Noto\u2018g\u2018ri kirish: kutilgan ${expected}, qabul qilingan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Noto\u2018g\u2018ri kirish: kutilgan ${util.stringifyPrimitive(issue.values[0])}`;\n return `Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Juda katta: kutilgan ${issue.origin ?? \"qiymat\"} ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `Juda katta: kutilgan ${issue.origin ?? \"qiymat\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n }\n return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.prefix}\" bilan boshlanishi kerak`;\n if (_issue.format === \"ends_with\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.suffix}\" bilan tugashi kerak`;\n if (_issue.format === \"includes\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.includes}\" ni o\u2018z ichiga olishi kerak`;\n if (_issue.format === \"regex\")\n return `Noto\u2018g\u2018ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;\n return `Noto\u2018g\u2018ri ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Noto\u2018g\u2018ri raqam: ${issue.divisor} ning karralisi bo\u2018lishi kerak`;\n case \"unrecognized_keys\":\n return `Noma\u2019lum kalit${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} dagi kalit noto\u2018g\u2018ri`;\n case \"invalid_union\":\n return \"Noto\u2018g\u2018ri kirish\";\n case \"invalid_element\":\n return `${issue.origin} da noto\u2018g\u2018ri qiymat`;\n default:\n return `Noto\u2018g\u2018ri kirish`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"k\u00FD t\u1EF1\", verb: \"c\u00F3\" },\n file: { unit: \"byte\", verb: \"c\u00F3\" },\n array: { unit: \"ph\u1EA7n t\u1EED\", verb: \"c\u00F3\" },\n set: { unit: \"ph\u1EA7n t\u1EED\", verb: \"c\u00F3\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0111\u1EA7u v\u00E0o\",\n email: \"\u0111\u1ECBa ch\u1EC9 email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ng\u00E0y gi\u1EDD ISO\",\n date: \"ng\u00E0y ISO\",\n time: \"gi\u1EDD ISO\",\n duration: \"kho\u1EA3ng th\u1EDDi gian ISO\",\n ipv4: \"\u0111\u1ECBa ch\u1EC9 IPv4\",\n ipv6: \"\u0111\u1ECBa ch\u1EC9 IPv6\",\n cidrv4: \"d\u1EA3i IPv4\",\n cidrv6: \"d\u1EA3i IPv6\",\n base64: \"chu\u1ED7i m\u00E3 h\u00F3a base64\",\n base64url: \"chu\u1ED7i m\u00E3 h\u00F3a base64url\",\n json_string: \"chu\u1ED7i JSON\",\n e164: \"s\u1ED1 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0111\u1EA7u v\u00E0o\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"s\u1ED1\",\n array: \"m\u1EA3ng\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${issue.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`;\n }\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${util.stringifyPrimitive(issue.values[0])}`;\n return `T\u00F9y ch\u1ECDn kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\u00E1c gi\u00E1 tr\u1ECB ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Qu\u00E1 l\u1EDBn: mong \u0111\u1EE3i ${issue.origin ?? \"gi\u00E1 tr\u1ECB\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"ph\u1EA7n t\u1EED\"}`;\n return `Qu\u00E1 l\u1EDBn: mong \u0111\u1EE3i ${issue.origin ?? \"gi\u00E1 tr\u1ECB\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Qu\u00E1 nh\u1ECF: mong \u0111\u1EE3i ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Qu\u00E1 nh\u1ECF: mong \u0111\u1EE3i ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\u00FAc b\u1EB1ng \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} kh\u00F4ng h\u1EE3p l\u1EC7`;\n }\n case \"not_multiple_of\":\n return `S\u1ED1 kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\u00E0 b\u1ED9i s\u1ED1 c\u1EE7a ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kh\u00F3a kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kh\u00F3a kh\u00F4ng h\u1EE3p l\u1EC7 trong ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7\";\n case \"invalid_element\":\n return `Gi\u00E1 tr\u1ECB kh\u00F4ng h\u1EE3p l\u1EC7 trong ${issue.origin}`;\n default:\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u5B57\u7B26\", verb: \"\u5305\u542B\" },\n file: { unit: \"\u5B57\u8282\", verb: \"\u5305\u542B\" },\n array: { unit: \"\u9879\", verb: \"\u5305\u542B\" },\n set: { unit: \"\u9879\", verb: \"\u5305\u542B\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u8F93\u5165\",\n email: \"\u7535\u5B50\u90AE\u4EF6\",\n url: \"URL\",\n emoji: \"\u8868\u60C5\u7B26\u53F7\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO\u65E5\u671F\u65F6\u95F4\",\n date: \"ISO\u65E5\u671F\",\n time: \"ISO\u65F6\u95F4\",\n duration: \"ISO\u65F6\u957F\",\n ipv4: \"IPv4\u5730\u5740\",\n ipv6: \"IPv6\u5730\u5740\",\n cidrv4: \"IPv4\u7F51\u6BB5\",\n cidrv6: \"IPv6\u7F51\u6BB5\",\n base64: \"base64\u7F16\u7801\u5B57\u7B26\u4E32\",\n base64url: \"base64url\u7F16\u7801\u5B57\u7B26\u4E32\",\n json_string: \"JSON\u5B57\u7B26\u4E32\",\n e164: \"E.164\u53F7\u7801\",\n jwt: \"JWT\",\n template_literal: \"\u8F93\u5165\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u6570\u5B57\",\n array: \"\u6570\u7EC4\",\n null: \"\u7A7A\u503C(null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${issue.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`;\n }\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue.origin ?? \"\u503C\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u4E2A\u5143\u7D20\"}`;\n return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue.origin ?? \"\u503C\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 \"${_issue.prefix}\" \u5F00\u5934`;\n if (_issue.format === \"ends_with\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 \"${_issue.suffix}\" \u7ED3\u5C3E`;\n if (_issue.format === \"includes\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${_issue.pattern}`;\n return `\u65E0\u6548${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${issue.divisor} \u7684\u500D\u6570`;\n case \"unrecognized_keys\":\n return `\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;\n case \"invalid_union\":\n return \"\u65E0\u6548\u8F93\u5165\";\n case \"invalid_element\":\n return `${issue.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;\n default:\n return `\u65E0\u6548\u8F93\u5165`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u5B57\u5143\", verb: \"\u64C1\u6709\" },\n file: { unit: \"\u4F4D\u5143\u7D44\", verb: \"\u64C1\u6709\" },\n array: { unit: \"\u9805\u76EE\", verb: \"\u64C1\u6709\" },\n set: { unit: \"\u9805\u76EE\", verb: \"\u64C1\u6709\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u8F38\u5165\",\n email: \"\u90F5\u4EF6\u5730\u5740\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u65E5\u671F\u6642\u9593\",\n date: \"ISO \u65E5\u671F\",\n time: \"ISO \u6642\u9593\",\n duration: \"ISO \u671F\u9593\",\n ipv4: \"IPv4 \u4F4D\u5740\",\n ipv6: \"IPv6 \u4F4D\u5740\",\n cidrv4: \"IPv4 \u7BC4\u570D\",\n cidrv6: \"IPv6 \u7BC4\u570D\",\n base64: \"base64 \u7DE8\u78BC\u5B57\u4E32\",\n base64url: \"base64url \u7DE8\u78BC\u5B57\u4E32\",\n json_string: \"JSON \u5B57\u4E32\",\n e164: \"E.164 \u6578\u503C\",\n jwt: \"JWT\",\n template_literal: \"\u8F38\u5165\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${issue.expected}\uFF0C\u4F46\u6536\u5230 ${received}`;\n }\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${expected}\uFF0C\u4F46\u6536\u5230 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue.origin ?? \"\u503C\"} \u61C9\u70BA ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u500B\u5143\u7D20\"}`;\n return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue.origin ?? \"\u503C\"} \u61C9\u70BA ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue.origin} \u61C9\u70BA ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue.origin} \u61C9\u70BA ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 \"${_issue.prefix}\" \u958B\u982D`;\n }\n if (_issue.format === \"ends_with\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 \"${_issue.suffix}\" \u7D50\u5C3E`;\n if (_issue.format === \"includes\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${_issue.pattern}`;\n return `\u7121\u6548\u7684 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${issue.divisor} \u7684\u500D\u6578`;\n case \"unrecognized_keys\":\n return `\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${issue.keys.length > 1 ? \"\u5011\" : \"\"}\uFF1A${util.joinValues(issue.keys, \"\u3001\")}`;\n case \"invalid_key\":\n return `${issue.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;\n case \"invalid_union\":\n return \"\u7121\u6548\u7684\u8F38\u5165\u503C\";\n case \"invalid_element\":\n return `${issue.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;\n default:\n return `\u7121\u6548\u7684\u8F38\u5165\u503C`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u00E0mi\", verb: \"n\u00ED\" },\n file: { unit: \"bytes\", verb: \"n\u00ED\" },\n array: { unit: \"nkan\", verb: \"n\u00ED\" },\n set: { unit: \"nkan\", verb: \"n\u00ED\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u1EB9\u0300r\u1ECD \u00ECb\u00E1w\u1ECDl\u00E9\",\n email: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC \u00ECm\u1EB9\u0301l\u00EC\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u00E0k\u00F3k\u00F2 ISO\",\n date: \"\u1ECDj\u1ECD\u0301 ISO\",\n time: \"\u00E0k\u00F3k\u00F2 ISO\",\n duration: \"\u00E0k\u00F3k\u00F2 t\u00F3 p\u00E9 ISO\",\n ipv4: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC IPv4\",\n ipv6: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC IPv6\",\n cidrv4: \"\u00E0gb\u00E8gb\u00E8 IPv4\",\n cidrv6: \"\u00E0gb\u00E8gb\u00E8 IPv6\",\n base64: \"\u1ECD\u0300r\u1ECD\u0300 t\u00ED a k\u1ECD\u0301 n\u00ED base64\",\n base64url: \"\u1ECD\u0300r\u1ECD\u0300 base64url\",\n json_string: \"\u1ECD\u0300r\u1ECD\u0300 JSON\",\n e164: \"n\u1ECD\u0301mb\u00E0 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u1EB9\u0300r\u1ECD \u00ECb\u00E1w\u1ECDl\u00E9\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"n\u1ECD\u0301mb\u00E0\",\n array: \"akop\u1ECD\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi instanceof ${issue.expected}, \u00E0m\u1ECD\u0300 a r\u00ED ${received}`;\n }\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi ${expected}, \u00E0m\u1ECD\u0300 a r\u00ED ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00C0\u1E63\u00E0y\u00E0n a\u1E63\u00EC\u1E63e: yan \u1ECD\u0300kan l\u00E1ra ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `T\u00F3 p\u1ECD\u0300 j\u00F9: a n\u00ED l\u00E1ti j\u1EB9\u0301 p\u00E9 ${issue.origin ?? \"iye\"} ${sizing.verb} ${adj}${issue.maximum} ${sizing.unit}`;\n return `T\u00F3 p\u1ECD\u0300 j\u00F9: a n\u00ED l\u00E1ti j\u1EB9\u0301 ${adj}${issue.maximum}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `K\u00E9r\u00E9 ju: a n\u00ED l\u00E1ti j\u1EB9\u0301 p\u00E9 ${issue.origin} ${sizing.verb} ${adj}${issue.minimum} ${sizing.unit}`;\n return `K\u00E9r\u00E9 ju: a n\u00ED l\u00E1ti j\u1EB9\u0301 ${adj}${issue.minimum}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\u00FA \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\u00ED p\u1EB9\u0300l\u00FA \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\u00ED \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u00E1 \u00E0p\u1EB9\u1EB9r\u1EB9 mu ${_issue.pattern}`;\n return `A\u1E63\u00EC\u1E63e: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u1ECD\u0301mb\u00E0 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \u00E8y\u00E0 p\u00EDp\u00EDn ti ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `B\u1ECDt\u00ECn\u00EC \u00E0\u00ECm\u1ECD\u0300: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `B\u1ECDt\u00ECn\u00EC a\u1E63\u00EC\u1E63e n\u00EDn\u00FA ${issue.origin}`;\n case \"invalid_union\":\n return \"\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e\";\n case \"invalid_element\":\n return `Iye a\u1E63\u00EC\u1E63e n\u00EDn\u00FA ${issue.origin}`;\n default:\n return \"\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "export { default as ar } from \"./ar.js\";\nexport { default as az } from \"./az.js\";\nexport { default as be } from \"./be.js\";\nexport { default as bg } from \"./bg.js\";\nexport { default as ca } from \"./ca.js\";\nexport { default as cs } from \"./cs.js\";\nexport { default as da } from \"./da.js\";\nexport { default as de } from \"./de.js\";\nexport { default as en } from \"./en.js\";\nexport { default as eo } from \"./eo.js\";\nexport { default as es } from \"./es.js\";\nexport { default as fa } from \"./fa.js\";\nexport { default as fi } from \"./fi.js\";\nexport { default as fr } from \"./fr.js\";\nexport { default as frCA } from \"./fr-CA.js\";\nexport { default as he } from \"./he.js\";\nexport { default as hu } from \"./hu.js\";\nexport { default as hy } from \"./hy.js\";\nexport { default as id } from \"./id.js\";\nexport { default as is } from \"./is.js\";\nexport { default as it } from \"./it.js\";\nexport { default as ja } from \"./ja.js\";\nexport { default as ka } from \"./ka.js\";\nexport { default as kh } from \"./kh.js\";\nexport { default as km } from \"./km.js\";\nexport { default as ko } from \"./ko.js\";\nexport { default as lt } from \"./lt.js\";\nexport { default as mk } from \"./mk.js\";\nexport { default as ms } from \"./ms.js\";\nexport { default as nl } from \"./nl.js\";\nexport { default as no } from \"./no.js\";\nexport { default as ota } from \"./ota.js\";\nexport { default as ps } from \"./ps.js\";\nexport { default as pl } from \"./pl.js\";\nexport { default as pt } from \"./pt.js\";\nexport { default as ru } from \"./ru.js\";\nexport { default as sl } from \"./sl.js\";\nexport { default as sv } from \"./sv.js\";\nexport { default as ta } from \"./ta.js\";\nexport { default as th } from \"./th.js\";\nexport { default as tr } from \"./tr.js\";\nexport { default as ua } from \"./ua.js\";\nexport { default as uk } from \"./uk.js\";\nexport { default as ur } from \"./ur.js\";\nexport { default as uz } from \"./uz.js\";\nexport { default as vi } from \"./vi.js\";\nexport { default as zhCN } from \"./zh-CN.js\";\nexport { default as zhTW } from \"./zh-TW.js\";\nexport { default as yo } from \"./yo.js\";\n", "var _a;\nexport const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new WeakMap();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new WeakMap();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\n(_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());\nexport const globalRegistry = globalThis.__zod_globalRegistry;\n", "import * as checks from \"./checks.js\";\nimport * as registries from \"./registries.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\n// @__NO_SIDE_EFFECTS__\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mac(Class, params) {\n return new Class({\n type: \"string\",\n format: \"mac\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\n// @__NO_SIDE_EFFECTS__\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\n// @__NO_SIDE_EFFECTS__\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\n// @__NO_SIDE_EFFECTS__\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\n// @__NO_SIDE_EFFECTS__\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\n// @__NO_SIDE_EFFECTS__\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\n// @__NO_SIDE_EFFECTS__\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\n// @__NO_SIDE_EFFECTS__\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\n// @__NO_SIDE_EFFECTS__\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\n// @__NO_SIDE_EFFECTS__\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\n// @__NO_SIDE_EFFECTS__\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\n// @__NO_SIDE_EFFECTS__\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\n// slugify\n// @__NO_SIDE_EFFECTS__\nexport function _slugify() {\n return _overwrite((input) => util.slugify(input));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _xor(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\n// @__NO_SIDE_EFFECTS__\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\n// @__NO_SIDE_EFFECTS__\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _superRefine(fn) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n });\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function describe(description) {\n const ch = new checks.$ZodCheck({ check: \"describe\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, description });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function meta(metadata) {\n const ch = new checks.$ZodCheck({ check: \"meta\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, ...metadata });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Codec = Classes.Codec ?? schemas.$ZodCodec;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const stringSchema = new _String({ type: \"string\", error: params.error });\n const booleanSchema = new _Boolean({ type: \"boolean\", error: params.error });\n const codec = new _Codec({\n type: \"pipe\",\n in: stringSchema,\n out: booleanSchema,\n transform: ((input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: codec,\n continue: false,\n });\n return {};\n }\n }),\n reverseTransform: ((input, _payload) => {\n if (input === true) {\n return truthyArray[0] || \"true\";\n }\n else {\n return falsyArray[0] || \"false\";\n }\n }),\n error: params.error,\n });\n return codec;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n", "import { globalRegistry } from \"./registries.js\";\n// function initializeContext(inputs: JSONSchemaGeneratorParams): ToJSONSchemaContext {\n// return {\n// processor: inputs.processor,\n// metadataRegistry: inputs.metadata ?? globalRegistry,\n// target: inputs.target ?? \"draft-2020-12\",\n// unrepresentable: inputs.unrepresentable ?? \"throw\",\n// };\n// }\nexport function initializeContext(params) {\n // Normalize target: convert old non-hyphenated versions to hyphenated versions\n let target = params?.target ?? \"draft-2020-12\";\n if (target === \"draft-4\")\n target = \"draft-04\";\n if (target === \"draft-7\")\n target = \"draft-07\";\n return {\n processors: params.processors ?? {},\n metadataRegistry: params?.metadata ?? globalRegistry,\n target,\n unrepresentable: params?.unrepresentable ?? \"throw\",\n override: params?.override ?? (() => { }),\n io: params?.io ?? \"output\",\n counter: 0,\n seen: new Map(),\n cycles: params?.cycles ?? \"ref\",\n reused: params?.reused ?? \"inline\",\n external: params?.external ?? undefined,\n };\n}\nexport function process(schema, ctx, _params = { path: [], schemaPath: [] }) {\n var _a;\n const def = schema._zod.def;\n // check for schema in seens\n const seen = ctx.seen.get(schema);\n if (seen) {\n seen.count++;\n // check if cycle\n const isCycle = _params.schemaPath.includes(schema);\n if (isCycle) {\n seen.cycle = _params.path;\n }\n return seen.schema;\n }\n // initialize\n const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };\n ctx.seen.set(schema, result);\n // custom method overrides default behavior\n const overrideSchema = schema._zod.toJSONSchema?.();\n if (overrideSchema) {\n result.schema = overrideSchema;\n }\n else {\n const params = {\n ..._params,\n schemaPath: [..._params.schemaPath, schema],\n path: _params.path,\n };\n if (schema._zod.processJSONSchema) {\n schema._zod.processJSONSchema(ctx, result.schema, params);\n }\n else {\n const _json = result.schema;\n const processor = ctx.processors[def.type];\n if (!processor) {\n throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);\n }\n processor(schema, ctx, _json, params);\n }\n const parent = schema._zod.parent;\n if (parent) {\n // Also set ref if processor didn't (for inheritance)\n if (!result.ref)\n result.ref = parent;\n process(parent, ctx, params);\n ctx.seen.get(parent).isParent = true;\n }\n }\n // metadata\n const meta = ctx.metadataRegistry.get(schema);\n if (meta)\n Object.assign(result.schema, meta);\n if (ctx.io === \"input\" && isTransforming(schema)) {\n // examples/defaults only apply to output type of pipe\n delete result.schema.examples;\n delete result.schema.default;\n }\n // set prefault as default\n if (ctx.io === \"input\" && result.schema._prefault)\n (_a = result.schema).default ?? (_a.default = result.schema._prefault);\n delete result.schema._prefault;\n // pulling fresh from ctx.seen in case it was overwritten\n const _result = ctx.seen.get(schema);\n return _result.schema;\n}\nexport function extractDefs(ctx, schema\n// params: EmitParams\n) {\n // iterate over seen map;\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // Track ids to detect duplicates across different schemas\n const idToSchema = new Map();\n for (const entry of ctx.seen.entries()) {\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n const existing = idToSchema.get(id);\n if (existing && existing !== entry[0]) {\n throw new Error(`Duplicate schema id \"${id}\" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);\n }\n idToSchema.set(id, entry[0]);\n }\n }\n // returns a ref to the schema\n // defId will be empty if the ref points to an external schema (or #)\n const makeURI = (entry) => {\n // comparing the seen objects because sometimes\n // multiple schemas map to the same seen object.\n // e.g. lazy\n // external is configured\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (ctx.external) {\n const externalId = ctx.external.registry.get(entry[0])?.id; // ?? \"__shared\";// `__schema${ctx.counter++}`;\n // check if schema is in the external registry\n const uriGenerator = ctx.external.uri ?? ((id) => id);\n if (externalId) {\n return { ref: uriGenerator(externalId) };\n }\n // otherwise, add to __shared\n const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;\n entry[1].defId = id; // set defId so it will be reused if needed\n return { defId: id, ref: `${uriGenerator(\"__shared\")}#/${defsSegment}/${id}` };\n }\n if (entry[1] === root) {\n return { ref: \"#\" };\n }\n // self-contained schema\n const uriPrefix = `#`;\n const defUriPrefix = `${uriPrefix}/${defsSegment}/`;\n const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;\n return { defId, ref: defUriPrefix + defId };\n };\n // stored cached version in `def` property\n // remove all properties, set $ref\n const extractToDef = (entry) => {\n // if the schema is already a reference, do not extract it\n if (entry[1].schema.$ref) {\n return;\n }\n const seen = entry[1];\n const { ref, defId } = makeURI(entry);\n seen.def = { ...seen.schema };\n // defId won't be set if the schema is a reference to an external schema\n // or if the schema is the root schema\n if (defId)\n seen.defId = defId;\n // wipe away all properties except $ref\n const schema = seen.schema;\n for (const key in schema) {\n delete schema[key];\n }\n schema.$ref = ref;\n };\n // throw on cycles\n // break cycles\n if (ctx.cycles === \"throw\") {\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.cycle) {\n throw new Error(\"Cycle detected: \" +\n `#/${seen.cycle?.join(\"/\")}/` +\n '\\n\\nSet the `cycles` parameter to `\"ref\"` to resolve cyclical schemas with defs.');\n }\n }\n }\n // extract schemas into $defs\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n // convert root schema to # $ref\n if (schema === entry[0]) {\n extractToDef(entry); // this has special handling for the root schema\n continue;\n }\n // extract schemas that are in the external registry\n if (ctx.external) {\n const ext = ctx.external.registry.get(entry[0])?.id;\n if (schema !== entry[0] && ext) {\n extractToDef(entry);\n continue;\n }\n }\n // extract schemas with `id` meta\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n extractToDef(entry);\n continue;\n }\n // break cycles\n if (seen.cycle) {\n // any\n extractToDef(entry);\n continue;\n }\n // extract reused schemas\n if (seen.count > 1) {\n if (ctx.reused === \"ref\") {\n extractToDef(entry);\n // biome-ignore lint:\n continue;\n }\n }\n }\n}\nexport function finalize(ctx, schema) {\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // flatten refs - inherit properties from parent schemas\n const flattenRef = (zodSchema) => {\n const seen = ctx.seen.get(zodSchema);\n // already processed\n if (seen.ref === null)\n return;\n const schema = seen.def ?? seen.schema;\n const _cached = { ...schema };\n const ref = seen.ref;\n seen.ref = null; // prevent infinite recursion\n if (ref) {\n flattenRef(ref);\n const refSeen = ctx.seen.get(ref);\n const refSchema = refSeen.schema;\n // merge referenced schema into current\n if (refSchema.$ref && (ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\")) {\n // older drafts can't combine $ref with other properties\n schema.allOf = schema.allOf ?? [];\n schema.allOf.push(refSchema);\n }\n else {\n Object.assign(schema, refSchema);\n }\n // restore child's own properties (child wins)\n Object.assign(schema, _cached);\n const isParentRef = zodSchema._zod.parent === ref;\n // For parent chain, child is a refinement - remove parent-only properties\n if (isParentRef) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (!(key in _cached)) {\n delete schema[key];\n }\n }\n }\n // When ref was extracted to $defs, remove properties that match the definition\n if (refSchema.$ref && refSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in refSeen.def && JSON.stringify(schema[key]) === JSON.stringify(refSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n // If parent was extracted (has $ref), propagate $ref to this schema\n // This handles cases like: readonly().meta({id}).describe()\n // where processor sets ref to innerType but parent should be referenced\n const parent = zodSchema._zod.parent;\n if (parent && parent !== ref) {\n // Ensure parent is processed first so its def has inherited properties\n flattenRef(parent);\n const parentSeen = ctx.seen.get(parent);\n if (parentSeen?.schema.$ref) {\n schema.$ref = parentSeen.schema.$ref;\n // De-duplicate with parent's definition\n if (parentSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in parentSeen.def && JSON.stringify(schema[key]) === JSON.stringify(parentSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n }\n // execute overrides\n ctx.override({\n zodSchema: zodSchema,\n jsonSchema: schema,\n path: seen.path ?? [],\n });\n };\n for (const entry of [...ctx.seen.entries()].reverse()) {\n flattenRef(entry[0]);\n }\n const result = {};\n if (ctx.target === \"draft-2020-12\") {\n result.$schema = \"https://json-schema.org/draft/2020-12/schema\";\n }\n else if (ctx.target === \"draft-07\") {\n result.$schema = \"http://json-schema.org/draft-07/schema#\";\n }\n else if (ctx.target === \"draft-04\") {\n result.$schema = \"http://json-schema.org/draft-04/schema#\";\n }\n else if (ctx.target === \"openapi-3.0\") {\n // OpenAPI 3.0 schema objects should not include a $schema property\n }\n else {\n // Arbitrary string values are allowed but won't have a $schema property set\n }\n if (ctx.external?.uri) {\n const id = ctx.external.registry.get(schema)?.id;\n if (!id)\n throw new Error(\"Schema is missing an `id` property\");\n result.$id = ctx.external.uri(id);\n }\n Object.assign(result, root.def ?? root.schema);\n // build defs object\n const defs = ctx.external?.defs ?? {};\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.def && seen.defId) {\n defs[seen.defId] = seen.def;\n }\n }\n // set definitions in result\n if (ctx.external) {\n }\n else {\n if (Object.keys(defs).length > 0) {\n if (ctx.target === \"draft-2020-12\") {\n result.$defs = defs;\n }\n else {\n result.definitions = defs;\n }\n }\n }\n try {\n // this \"finalizes\" this schema and ensures all cycles are removed\n // each call to finalize() is functionally independent\n // though the seen map is shared\n const finalized = JSON.parse(JSON.stringify(result));\n Object.defineProperty(finalized, \"~standard\", {\n value: {\n ...schema[\"~standard\"],\n jsonSchema: {\n input: createStandardJSONSchemaMethod(schema, \"input\", ctx.processors),\n output: createStandardJSONSchemaMethod(schema, \"output\", ctx.processors),\n },\n },\n enumerable: false,\n writable: false,\n });\n return finalized;\n }\n catch (_err) {\n throw new Error(\"Error converting schema to JSON.\");\n }\n}\nfunction isTransforming(_schema, _ctx) {\n const ctx = _ctx ?? { seen: new Set() };\n if (ctx.seen.has(_schema))\n return false;\n ctx.seen.add(_schema);\n const def = _schema._zod.def;\n if (def.type === \"transform\")\n return true;\n if (def.type === \"array\")\n return isTransforming(def.element, ctx);\n if (def.type === \"set\")\n return isTransforming(def.valueType, ctx);\n if (def.type === \"lazy\")\n return isTransforming(def.getter(), ctx);\n if (def.type === \"promise\" ||\n def.type === \"optional\" ||\n def.type === \"nonoptional\" ||\n def.type === \"nullable\" ||\n def.type === \"readonly\" ||\n def.type === \"default\" ||\n def.type === \"prefault\") {\n return isTransforming(def.innerType, ctx);\n }\n if (def.type === \"intersection\") {\n return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);\n }\n if (def.type === \"record\" || def.type === \"map\") {\n return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);\n }\n if (def.type === \"pipe\") {\n return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);\n }\n if (def.type === \"object\") {\n for (const key in def.shape) {\n if (isTransforming(def.shape[key], ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"union\") {\n for (const option of def.options) {\n if (isTransforming(option, ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"tuple\") {\n for (const item of def.items) {\n if (isTransforming(item, ctx))\n return true;\n }\n if (def.rest && isTransforming(def.rest, ctx))\n return true;\n return false;\n }\n return false;\n}\n/**\n * Creates a toJSONSchema method for a schema instance.\n * This encapsulates the logic of initializing context, processing, extracting defs, and finalizing.\n */\nexport const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {\n const ctx = initializeContext({ ...params, processors });\n process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\nexport const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => {\n const { libraryOptions, target } = params ?? {};\n const ctx = initializeContext({ ...(libraryOptions ?? {}), target, io, processors });\n process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\n", "import { extractDefs, finalize, initializeContext, process, } from \"./to-json-schema.js\";\nimport { getEnumValues } from \"./util.js\";\nconst formatMap = {\n guid: \"uuid\",\n url: \"uri\",\n datetime: \"date-time\",\n json_string: \"json-string\",\n regex: \"\", // do not set\n};\n// ==================== SIMPLE TYPE PROCESSORS ====================\nexport const stringProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n json.type = \"string\";\n const { minimum, maximum, format, patterns, contentEncoding } = schema._zod\n .bag;\n if (typeof minimum === \"number\")\n json.minLength = minimum;\n if (typeof maximum === \"number\")\n json.maxLength = maximum;\n // custom pattern overrides format\n if (format) {\n json.format = formatMap[format] ?? format;\n if (json.format === \"\")\n delete json.format; // empty format is not valid\n // JSON Schema format: \"time\" requires a full time with offset or Z\n // z.iso.time() does not include timezone information, so format: \"time\" should never be used\n if (format === \"time\") {\n delete json.format;\n }\n }\n if (contentEncoding)\n json.contentEncoding = contentEncoding;\n if (patterns && patterns.size > 0) {\n const regexes = [...patterns];\n if (regexes.length === 1)\n json.pattern = regexes[0].source;\n else if (regexes.length > 1) {\n json.allOf = [\n ...regexes.map((regex) => ({\n ...(ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\"\n ? { type: \"string\" }\n : {}),\n pattern: regex.source,\n })),\n ];\n }\n }\n};\nexport const numberProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;\n if (typeof format === \"string\" && format.includes(\"int\"))\n json.type = \"integer\";\n else\n json.type = \"number\";\n if (typeof exclusiveMinimum === \"number\") {\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.minimum = exclusiveMinimum;\n json.exclusiveMinimum = true;\n }\n else {\n json.exclusiveMinimum = exclusiveMinimum;\n }\n }\n if (typeof minimum === \"number\") {\n json.minimum = minimum;\n if (typeof exclusiveMinimum === \"number\" && ctx.target !== \"draft-04\") {\n if (exclusiveMinimum >= minimum)\n delete json.minimum;\n else\n delete json.exclusiveMinimum;\n }\n }\n if (typeof exclusiveMaximum === \"number\") {\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.maximum = exclusiveMaximum;\n json.exclusiveMaximum = true;\n }\n else {\n json.exclusiveMaximum = exclusiveMaximum;\n }\n }\n if (typeof maximum === \"number\") {\n json.maximum = maximum;\n if (typeof exclusiveMaximum === \"number\" && ctx.target !== \"draft-04\") {\n if (exclusiveMaximum <= maximum)\n delete json.maximum;\n else\n delete json.exclusiveMaximum;\n }\n }\n if (typeof multipleOf === \"number\")\n json.multipleOf = multipleOf;\n};\nexport const booleanProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const bigintProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"BigInt cannot be represented in JSON Schema\");\n }\n};\nexport const symbolProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Symbols cannot be represented in JSON Schema\");\n }\n};\nexport const nullProcessor = (_schema, ctx, json, _params) => {\n if (ctx.target === \"openapi-3.0\") {\n json.type = \"string\";\n json.nullable = true;\n json.enum = [null];\n }\n else {\n json.type = \"null\";\n }\n};\nexport const undefinedProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Undefined cannot be represented in JSON Schema\");\n }\n};\nexport const voidProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Void cannot be represented in JSON Schema\");\n }\n};\nexport const neverProcessor = (_schema, _ctx, json, _params) => {\n json.not = {};\n};\nexport const anyProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const unknownProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const dateProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Date cannot be represented in JSON Schema\");\n }\n};\nexport const enumProcessor = (schema, _ctx, json, _params) => {\n const def = schema._zod.def;\n const values = getEnumValues(def.entries);\n // Number enums can have both string and number values\n if (values.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (values.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n json.enum = values;\n};\nexport const literalProcessor = (schema, ctx, json, _params) => {\n const def = schema._zod.def;\n const vals = [];\n for (const val of def.values) {\n if (val === undefined) {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Literal `undefined` cannot be represented in JSON Schema\");\n }\n else {\n // do not add to vals\n }\n }\n else if (typeof val === \"bigint\") {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"BigInt literals cannot be represented in JSON Schema\");\n }\n else {\n vals.push(Number(val));\n }\n }\n else {\n vals.push(val);\n }\n }\n if (vals.length === 0) {\n // do nothing (an undefined literal was stripped)\n }\n else if (vals.length === 1) {\n const val = vals[0];\n json.type = val === null ? \"null\" : typeof val;\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.enum = [val];\n }\n else {\n json.const = val;\n }\n }\n else {\n if (vals.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (vals.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n if (vals.every((v) => typeof v === \"boolean\"))\n json.type = \"boolean\";\n if (vals.every((v) => v === null))\n json.type = \"null\";\n json.enum = vals;\n }\n};\nexport const nanProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"NaN cannot be represented in JSON Schema\");\n }\n};\nexport const templateLiteralProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const pattern = schema._zod.pattern;\n if (!pattern)\n throw new Error(\"Pattern not found in template literal\");\n _json.type = \"string\";\n _json.pattern = pattern.source;\n};\nexport const fileProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const file = {\n type: \"string\",\n format: \"binary\",\n contentEncoding: \"binary\",\n };\n const { minimum, maximum, mime } = schema._zod.bag;\n if (minimum !== undefined)\n file.minLength = minimum;\n if (maximum !== undefined)\n file.maxLength = maximum;\n if (mime) {\n if (mime.length === 1) {\n file.contentMediaType = mime[0];\n Object.assign(_json, file);\n }\n else {\n Object.assign(_json, file); // shared props at root\n _json.anyOf = mime.map((m) => ({ contentMediaType: m })); // only contentMediaType differs\n }\n }\n else {\n Object.assign(_json, file);\n }\n};\nexport const successProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const customProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Custom types cannot be represented in JSON Schema\");\n }\n};\nexport const functionProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Function types cannot be represented in JSON Schema\");\n }\n};\nexport const transformProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Transforms cannot be represented in JSON Schema\");\n }\n};\nexport const mapProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Map cannot be represented in JSON Schema\");\n }\n};\nexport const setProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Set cannot be represented in JSON Schema\");\n }\n};\n// ==================== COMPOSITE TYPE PROCESSORS ====================\nexport const arrayProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n json.type = \"array\";\n json.items = process(def.element, ctx, { ...params, path: [...params.path, \"items\"] });\n};\nexport const objectProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n json.properties = {};\n const shape = def.shape;\n for (const key in shape) {\n json.properties[key] = process(shape[key], ctx, {\n ...params,\n path: [...params.path, \"properties\", key],\n });\n }\n // required keys\n const allKeys = new Set(Object.keys(shape));\n const requiredKeys = new Set([...allKeys].filter((key) => {\n const v = def.shape[key]._zod;\n if (ctx.io === \"input\") {\n return v.optin === undefined;\n }\n else {\n return v.optout === undefined;\n }\n }));\n if (requiredKeys.size > 0) {\n json.required = Array.from(requiredKeys);\n }\n // catchall\n if (def.catchall?._zod.def.type === \"never\") {\n // strict\n json.additionalProperties = false;\n }\n else if (!def.catchall) {\n // regular\n if (ctx.io === \"output\")\n json.additionalProperties = false;\n }\n else if (def.catchall) {\n json.additionalProperties = process(def.catchall, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n};\nexport const unionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches)\n // This includes both z.xor() and discriminated unions\n const isExclusive = def.inclusive === false;\n const options = def.options.map((x, i) => process(x, ctx, {\n ...params,\n path: [...params.path, isExclusive ? \"oneOf\" : \"anyOf\", i],\n }));\n if (isExclusive) {\n json.oneOf = options;\n }\n else {\n json.anyOf = options;\n }\n};\nexport const intersectionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const a = process(def.left, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 0],\n });\n const b = process(def.right, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 1],\n });\n const isSimpleIntersection = (val) => \"allOf\" in val && Object.keys(val).length === 1;\n const allOf = [\n ...(isSimpleIntersection(a) ? a.allOf : [a]),\n ...(isSimpleIntersection(b) ? b.allOf : [b]),\n ];\n json.allOf = allOf;\n};\nexport const tupleProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"array\";\n const prefixPath = ctx.target === \"draft-2020-12\" ? \"prefixItems\" : \"items\";\n const restPath = ctx.target === \"draft-2020-12\" ? \"items\" : ctx.target === \"openapi-3.0\" ? \"items\" : \"additionalItems\";\n const prefixItems = def.items.map((x, i) => process(x, ctx, {\n ...params,\n path: [...params.path, prefixPath, i],\n }));\n const rest = def.rest\n ? process(def.rest, ctx, {\n ...params,\n path: [...params.path, restPath, ...(ctx.target === \"openapi-3.0\" ? [def.items.length] : [])],\n })\n : null;\n if (ctx.target === \"draft-2020-12\") {\n json.prefixItems = prefixItems;\n if (rest) {\n json.items = rest;\n }\n }\n else if (ctx.target === \"openapi-3.0\") {\n json.items = {\n anyOf: prefixItems,\n };\n if (rest) {\n json.items.anyOf.push(rest);\n }\n json.minItems = prefixItems.length;\n if (!rest) {\n json.maxItems = prefixItems.length;\n }\n }\n else {\n json.items = prefixItems;\n if (rest) {\n json.additionalItems = rest;\n }\n }\n // length\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n};\nexport const recordProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n // For looseRecord with regex patterns, use patternProperties\n // This correctly represents \"only validate keys matching the pattern\" semantics\n // and composes well with allOf (intersections)\n const keyType = def.keyType;\n const keyBag = keyType._zod.bag;\n const patterns = keyBag?.patterns;\n if (def.mode === \"loose\" && patterns && patterns.size > 0) {\n // Use patternProperties for looseRecord with regex patterns\n const valueSchema = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"patternProperties\", \"*\"],\n });\n json.patternProperties = {};\n for (const pattern of patterns) {\n json.patternProperties[pattern.source] = valueSchema;\n }\n }\n else {\n // Default behavior: use propertyNames + additionalProperties\n if (ctx.target === \"draft-07\" || ctx.target === \"draft-2020-12\") {\n json.propertyNames = process(def.keyType, ctx, {\n ...params,\n path: [...params.path, \"propertyNames\"],\n });\n }\n json.additionalProperties = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n // Add required for keys with discrete values (enum, literal, etc.)\n const keyValues = keyType._zod.values;\n if (keyValues) {\n const validKeyValues = [...keyValues].filter((v) => typeof v === \"string\" || typeof v === \"number\");\n if (validKeyValues.length > 0) {\n json.required = validKeyValues;\n }\n }\n};\nexport const nullableProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const inner = process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n if (ctx.target === \"openapi-3.0\") {\n seen.ref = def.innerType;\n json.nullable = true;\n }\n else {\n json.anyOf = [inner, { type: \"null\" }];\n }\n};\nexport const nonoptionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const defaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.default = JSON.parse(JSON.stringify(def.defaultValue));\n};\nexport const prefaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n if (ctx.io === \"input\")\n json._prefault = JSON.parse(JSON.stringify(def.defaultValue));\n};\nexport const catchProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n let catchValue;\n try {\n catchValue = def.catchValue(undefined);\n }\n catch {\n throw new Error(\"Dynamic catch values are not supported in JSON Schema\");\n }\n json.default = catchValue;\n};\nexport const pipeProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n const innerType = ctx.io === \"input\" ? (def.in._zod.def.type === \"transform\" ? def.out : def.in) : def.out;\n process(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\nexport const readonlyProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.readOnly = true;\n};\nexport const promiseProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const optionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const lazyProcessor = (schema, ctx, _json, params) => {\n const innerType = schema._zod.innerType;\n process(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\n// ==================== ALL PROCESSORS ====================\nexport const allProcessors = {\n string: stringProcessor,\n number: numberProcessor,\n boolean: booleanProcessor,\n bigint: bigintProcessor,\n symbol: symbolProcessor,\n null: nullProcessor,\n undefined: undefinedProcessor,\n void: voidProcessor,\n never: neverProcessor,\n any: anyProcessor,\n unknown: unknownProcessor,\n date: dateProcessor,\n enum: enumProcessor,\n literal: literalProcessor,\n nan: nanProcessor,\n template_literal: templateLiteralProcessor,\n file: fileProcessor,\n success: successProcessor,\n custom: customProcessor,\n function: functionProcessor,\n transform: transformProcessor,\n map: mapProcessor,\n set: setProcessor,\n array: arrayProcessor,\n object: objectProcessor,\n union: unionProcessor,\n intersection: intersectionProcessor,\n tuple: tupleProcessor,\n record: recordProcessor,\n nullable: nullableProcessor,\n nonoptional: nonoptionalProcessor,\n default: defaultProcessor,\n prefault: prefaultProcessor,\n catch: catchProcessor,\n pipe: pipeProcessor,\n readonly: readonlyProcessor,\n promise: promiseProcessor,\n optional: optionalProcessor,\n lazy: lazyProcessor,\n};\nexport function toJSONSchema(input, params) {\n if (\"_idmap\" in input) {\n // Registry case\n const registry = input;\n const ctx = initializeContext({ ...params, processors: allProcessors });\n const defs = {};\n // First pass: process all schemas to build the seen map\n for (const entry of registry._idmap.entries()) {\n const [_, schema] = entry;\n process(schema, ctx);\n }\n const schemas = {};\n const external = {\n registry,\n uri: params?.uri,\n defs,\n };\n // Update the context with external configuration\n ctx.external = external;\n // Second pass: emit each schema\n for (const entry of registry._idmap.entries()) {\n const [key, schema] = entry;\n extractDefs(ctx, schema);\n schemas[key] = finalize(ctx, schema);\n }\n if (Object.keys(defs).length > 0) {\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n schemas.__shared = {\n [defsSegment]: defs,\n };\n }\n return { schemas };\n }\n // Single schema case\n const ctx = initializeContext({ ...params, processors: allProcessors });\n process(input, ctx);\n extractDefs(ctx, input);\n return finalize(ctx, input);\n}\n", "import { allProcessors } from \"./json-schema-processors.js\";\nimport { extractDefs, finalize, initializeContext, process, } from \"./to-json-schema.js\";\n/**\n * Legacy class-based interface for JSON Schema generation.\n * This class wraps the new functional implementation to provide backward compatibility.\n *\n * @deprecated Use the `toJSONSchema` function instead for new code.\n *\n * @example\n * ```typescript\n * // Legacy usage (still supported)\n * const gen = new JSONSchemaGenerator({ target: \"draft-07\" });\n * gen.process(schema);\n * const result = gen.emit(schema);\n *\n * // Preferred modern usage\n * const result = toJSONSchema(schema, { target: \"draft-07\" });\n * ```\n */\nexport class JSONSchemaGenerator {\n /** @deprecated Access via ctx instead */\n get metadataRegistry() {\n return this.ctx.metadataRegistry;\n }\n /** @deprecated Access via ctx instead */\n get target() {\n return this.ctx.target;\n }\n /** @deprecated Access via ctx instead */\n get unrepresentable() {\n return this.ctx.unrepresentable;\n }\n /** @deprecated Access via ctx instead */\n get override() {\n return this.ctx.override;\n }\n /** @deprecated Access via ctx instead */\n get io() {\n return this.ctx.io;\n }\n /** @deprecated Access via ctx instead */\n get counter() {\n return this.ctx.counter;\n }\n set counter(value) {\n this.ctx.counter = value;\n }\n /** @deprecated Access via ctx instead */\n get seen() {\n return this.ctx.seen;\n }\n constructor(params) {\n // Normalize target for internal context\n let normalizedTarget = params?.target ?? \"draft-2020-12\";\n if (normalizedTarget === \"draft-4\")\n normalizedTarget = \"draft-04\";\n if (normalizedTarget === \"draft-7\")\n normalizedTarget = \"draft-07\";\n this.ctx = initializeContext({\n processors: allProcessors,\n target: normalizedTarget,\n ...(params?.metadata && { metadata: params.metadata }),\n ...(params?.unrepresentable && { unrepresentable: params.unrepresentable }),\n ...(params?.override && { override: params.override }),\n ...(params?.io && { io: params.io }),\n });\n }\n /**\n * Process a schema to prepare it for JSON Schema generation.\n * This must be called before emit().\n */\n process(schema, _params = { path: [], schemaPath: [] }) {\n return process(schema, this.ctx, _params);\n }\n /**\n * Emit the final JSON Schema after processing.\n * Must call process() first.\n */\n emit(schema, _params) {\n // Apply emit params to the context\n if (_params) {\n if (_params.cycles)\n this.ctx.cycles = _params.cycles;\n if (_params.reused)\n this.ctx.reused = _params.reused;\n if (_params.external)\n this.ctx.external = _params.external;\n }\n extractDefs(this.ctx, schema);\n const result = finalize(this.ctx, schema);\n // Strip ~standard property to match old implementation's return type\n const { \"~standard\": _, ...plainResult } = result;\n return plainResult;\n }\n}\n", "export {};\n", "export * from \"./core.js\";\nexport * from \"./parse.js\";\nexport * from \"./errors.js\";\nexport * from \"./schemas.js\";\nexport * from \"./checks.js\";\nexport * from \"./versions.js\";\nexport * as util from \"./util.js\";\nexport * as regexes from \"./regexes.js\";\nexport * as locales from \"../locales/index.js\";\nexport * from \"./registries.js\";\nexport * from \"./doc.js\";\nexport * from \"./api.js\";\nexport * from \"./to-json-schema.js\";\nexport { toJSONSchema } from \"./json-schema-processors.js\";\nexport { JSONSchemaGenerator } from \"./json-schema-generator.js\";\nexport * as JSONSchema from \"./json-schema.js\";\n", "export { _lt as lt, _lte as lte, _gt as gt, _gte as gte, _positive as positive, _negative as negative, _nonpositive as nonpositive, _nonnegative as nonnegative, _multipleOf as multipleOf, _maxSize as maxSize, _minSize as minSize, _size as size, _maxLength as maxLength, _minLength as minLength, _length as length, _regex as regex, _lowercase as lowercase, _uppercase as uppercase, _includes as includes, _startsWith as startsWith, _endsWith as endsWith, _property as property, _mime as mime, _overwrite as overwrite, _normalize as normalize, _trim as trim, _toLowerCase as toLowerCase, _toUpperCase as toUpperCase, _slugify as slugify, } from \"../core/index.js\";\n", "import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n", "import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n", "import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n// Codec functions\nexport const encode = /* @__PURE__ */ core._encode(ZodRealError);\nexport const decode = /* @__PURE__ */ core._decode(ZodRealError);\nexport const encodeAsync = /* @__PURE__ */ core._encodeAsync(ZodRealError);\nexport const decodeAsync = /* @__PURE__ */ core._decodeAsync(ZodRealError);\nexport const safeEncode = /* @__PURE__ */ core._safeEncode(ZodRealError);\nexport const safeDecode = /* @__PURE__ */ core._safeDecode(ZodRealError);\nexport const safeEncodeAsync = /* @__PURE__ */ core._safeEncodeAsync(ZodRealError);\nexport const safeDecodeAsync = /* @__PURE__ */ core._safeDecodeAsync(ZodRealError);\n", "import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as processors from \"../core/json-schema-processors.js\";\nimport { createStandardJSONSchemaMethod, createToJSONSchemaMethod } from \"../core/to-json-schema.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n Object.assign(inst[\"~standard\"], {\n jsonSchema: {\n input: createStandardJSONSchemaMethod(inst, \"input\"),\n output: createStandardJSONSchemaMethod(inst, \"output\"),\n },\n });\n inst.toJSONSchema = createToJSONSchemaMethod(inst, {});\n inst.def = def;\n inst.type = def.type;\n Object.defineProperty(inst, \"_def\", { value: def });\n // base methods\n inst.check = (...checks) => {\n return inst.clone(util.mergeDefs(def, {\n checks: [\n ...(def.checks ?? []),\n ...checks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }), {\n parent: true,\n });\n };\n inst.with = inst.check;\n inst.clone = (def, params) => core.clone(inst, def, params);\n inst.brand = () => inst;\n inst.register = ((reg, meta) => {\n reg.add(inst, meta);\n return inst;\n });\n // parsing\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n // encoding/decoding\n inst.encode = (data, params) => parse.encode(inst, data, params);\n inst.decode = (data, params) => parse.decode(inst, data, params);\n inst.encodeAsync = async (data, params) => parse.encodeAsync(inst, data, params);\n inst.decodeAsync = async (data, params) => parse.decodeAsync(inst, data, params);\n inst.safeEncode = (data, params) => parse.safeEncode(inst, data, params);\n inst.safeDecode = (data, params) => parse.safeDecode(inst, data, params);\n inst.safeEncodeAsync = async (data, params) => parse.safeEncodeAsync(inst, data, params);\n inst.safeDecodeAsync = async (data, params) => parse.safeDecodeAsync(inst, data, params);\n // refinements\n inst.refine = (check, params) => inst.check(refine(check, params));\n inst.superRefine = (refinement) => inst.check(superRefine(refinement));\n inst.overwrite = (fn) => inst.check(checks.overwrite(fn));\n // wrappers\n inst.optional = () => optional(inst);\n inst.exactOptional = () => exactOptional(inst);\n inst.nullable = () => nullable(inst);\n inst.nullish = () => optional(nullable(inst));\n inst.nonoptional = (params) => nonoptional(inst, params);\n inst.array = () => array(inst);\n inst.or = (arg) => union([inst, arg]);\n inst.and = (arg) => intersection(inst, arg);\n inst.transform = (tx) => pipe(inst, transform(tx));\n inst.default = (def) => _default(inst, def);\n inst.prefault = (def) => prefault(inst, def);\n // inst.coalesce = (def, params) => coalesce(inst, def, params);\n inst.catch = (params) => _catch(inst, params);\n inst.pipe = (target) => pipe(inst, target);\n inst.readonly = () => readonly(inst);\n // meta\n inst.describe = (description) => {\n const cl = inst.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n };\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n inst.meta = (...args) => {\n if (args.length === 0) {\n return core.globalRegistry.get(inst);\n }\n const cl = inst.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n };\n // helpers\n inst.isOptional = () => inst.safeParse(undefined).success;\n inst.isNullable = () => inst.safeParse(null).success;\n inst.apply = (fn) => fn(inst);\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.stringProcessor(inst, ctx, json, params);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n // validations\n inst.regex = (...args) => inst.check(checks.regex(...args));\n inst.includes = (...args) => inst.check(checks.includes(...args));\n inst.startsWith = (...args) => inst.check(checks.startsWith(...args));\n inst.endsWith = (...args) => inst.check(checks.endsWith(...args));\n inst.min = (...args) => inst.check(checks.minLength(...args));\n inst.max = (...args) => inst.check(checks.maxLength(...args));\n inst.length = (...args) => inst.check(checks.length(...args));\n inst.nonempty = (...args) => inst.check(checks.minLength(1, ...args));\n inst.lowercase = (params) => inst.check(checks.lowercase(params));\n inst.uppercase = (params) => inst.check(checks.uppercase(params));\n // transforms\n inst.trim = () => inst.check(checks.trim());\n inst.normalize = (...args) => inst.check(checks.normalize(...args));\n inst.toLowerCase = () => inst.check(checks.toLowerCase());\n inst.toUpperCase = () => inst.check(checks.toUpperCase());\n inst.slugify = () => inst.check(checks.slugify());\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport function httpUrl(params) {\n return core._url(ZodURL, {\n protocol: /^https?$/,\n hostname: core.regexes.domain,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodMAC = /*@__PURE__*/ core.$constructor(\"ZodMAC\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodMAC.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function mac(params) {\n return core._mac(ZodMAC, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport function hex(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hex\", core.regexes.hex, _params);\n}\nexport function hash(alg, params) {\n const enc = params?.enc ?? \"hex\";\n const format = `${alg}_${enc}`;\n const regex = core.regexes[format];\n if (!regex)\n throw new Error(`Unrecognized hash format: ${format}`);\n return core._stringFormat(ZodCustomStringFormat, format, regex, params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.numberProcessor(inst, ctx, json, params);\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.int = (params) => inst.check(int(params));\n inst.safe = (params) => inst.check(int(params));\n inst.positive = (params) => inst.check(checks.gt(0, params));\n inst.nonnegative = (params) => inst.check(checks.gte(0, params));\n inst.negative = (params) => inst.check(checks.lt(0, params));\n inst.nonpositive = (params) => inst.check(checks.lte(0, params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n inst.step = (value, params) => inst.check(checks.multipleOf(value, params));\n // inst.finite = (params) => inst.check(core.finite(params));\n inst.finite = () => inst;\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.booleanProcessor(inst, ctx, json, params);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.bigintProcessor(inst, ctx, json, params);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.symbolProcessor(inst, ctx, json, params);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.undefinedProcessor(inst, ctx, json, params);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullProcessor(inst, ctx, json, params);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.anyProcessor(inst, ctx, json, params);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unknownProcessor(inst, ctx, json, params);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.neverProcessor(inst, ctx, json, params);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.voidProcessor(inst, ctx, json, params);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.dateProcessor(inst, ctx, json, params);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.arrayProcessor(inst, ctx, json, params);\n inst.element = def.element;\n inst.min = (minLength, params) => inst.check(checks.minLength(minLength, params));\n inst.nonempty = (params) => inst.check(checks.minLength(1, params));\n inst.max = (maxLength, params) => inst.check(checks.maxLength(maxLength, params));\n inst.length = (len, params) => inst.check(checks.length(len, params));\n inst.unwrap = () => inst.element;\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return _enum(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObjectJIT.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.objectProcessor(inst, ctx, json, params);\n util.defineLazy(inst, \"shape\", () => {\n return def.shape;\n });\n inst.keyof = () => _enum(Object.keys(inst._zod.def.shape));\n inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });\n inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });\n inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });\n inst.extend = (incoming) => {\n return util.extend(inst, incoming);\n };\n inst.safeExtend = (incoming) => {\n return util.safeExtend(inst, incoming);\n };\n inst.merge = (other) => util.merge(inst, other);\n inst.pick = (mask) => util.pick(inst, mask);\n inst.omit = (mask) => util.omit(inst, mask);\n inst.partial = (...args) => util.partial(ZodOptional, inst, args[0]);\n inst.required = (...args) => util.required(ZodNonOptional, inst, args[0]);\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n shape: shape ?? {},\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodXor = /*@__PURE__*/ core.$constructor(\"ZodXor\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodXor.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\n/** Creates an exclusive union (XOR) where exactly one option must match.\n * Unlike regular unions that succeed when any option matches, xor fails if\n * zero or more than one option matches the input. */\nexport function xor(options, params) {\n return new ZodXor({\n type: \"union\",\n options: options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.intersectionProcessor(inst, ctx, json, params);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.tupleProcessor(inst, ctx, json, params);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.recordProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output;\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function looseRecord(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n mode: \"loose\",\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.mapProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.setProcessor(inst, ctx, json, params);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.enumProcessor(inst, ctx, json, params);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.literalProcessor(inst, ctx, json, params);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.fileProcessor(inst, ctx, json, params);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.transformProcessor(inst, ctx, json, params);\n inst._zod.parse = (payload, _ctx) => {\n if (_ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n payload.value = output;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodExactOptional = /*@__PURE__*/ core.$constructor(\"ZodExactOptional\", (inst, def) => {\n core.$ZodExactOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function exactOptional(innerType) {\n return new ZodExactOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullableProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.defaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.prefaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nonoptionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.successProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.catchProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nanProcessor(inst, ctx, json, params);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.pipeProcessor(inst, ctx, json, params);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodCodec = /*@__PURE__*/ core.$constructor(\"ZodCodec\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodCodec.init(inst, def);\n});\nexport function codec(in_, out, params) {\n return new ZodCodec({\n type: \"pipe\",\n in: in_,\n out: out,\n transform: params.decode,\n reverseTransform: params.encode,\n });\n}\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.readonlyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.templateLiteralProcessor(inst, ctx, json, params);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.lazyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.promiseProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodFunction = /*@__PURE__*/ core.$constructor(\"ZodFunction\", (inst, def) => {\n core.$ZodFunction.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.functionProcessor(inst, ctx, json, params);\n});\nexport function _function(params) {\n return new ZodFunction({\n type: \"function\",\n input: Array.isArray(params?.input) ? tuple(params?.input) : (params?.input ?? array(unknown())),\n output: params?.output ?? unknown(),\n });\n}\nexport { _function as function };\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.customProcessor(inst, ctx, json, params);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn) {\n return core._superRefine(fn);\n}\n// Re-export describe and meta from core\nexport const describe = core.describe;\nexport const meta = core.meta;\nfunction _instanceof(cls, params = {}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n // Override check to emit invalid_type instead of custom\n inst._zod.check = (payload) => {\n if (!(payload.value instanceof cls)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: cls.name,\n input: payload.value,\n inst,\n path: [...(inst._zod.def.path ?? [])],\n });\n }\n };\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Codec: ZodCodec,\n Boolean: ZodBoolean,\n String: ZodString,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\n// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */\nexport function preprocess(fn, schema) {\n return pipe(transform(fn), schema);\n}\n", "// Zod 3 compat layer\nimport * as core from \"../core/index.js\";\n/** @deprecated Use the raw string literal codes instead, e.g. \"invalid_type\". */\nexport const ZodIssueCode = {\n invalid_type: \"invalid_type\",\n too_big: \"too_big\",\n too_small: \"too_small\",\n invalid_format: \"invalid_format\",\n not_multiple_of: \"not_multiple_of\",\n unrecognized_keys: \"unrecognized_keys\",\n invalid_union: \"invalid_union\",\n invalid_key: \"invalid_key\",\n invalid_element: \"invalid_element\",\n invalid_value: \"invalid_value\",\n custom: \"custom\",\n};\nexport { $brand, config } from \"../core/index.js\";\n/** @deprecated Use `z.config(params)` instead. */\nexport function setErrorMap(map) {\n core.config({\n customError: map,\n });\n}\n/** @deprecated Use `z.config()` instead. */\nexport function getErrorMap() {\n return core.config().customError;\n}\n/** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n", "import { globalRegistry } from \"../core/registries.js\";\nimport * as _checks from \"./checks.js\";\nimport * as _iso from \"./iso.js\";\nimport * as _schemas from \"./schemas.js\";\n// Local z object to avoid circular dependency with ../index.js\nconst z = {\n ..._schemas,\n ..._checks,\n iso: _iso,\n};\n// Keys that are recognized and handled by the conversion logic\nconst RECOGNIZED_KEYS = new Set([\n // Schema identification\n \"$schema\",\n \"$ref\",\n \"$defs\",\n \"definitions\",\n // Core schema keywords\n \"$id\",\n \"id\",\n \"$comment\",\n \"$anchor\",\n \"$vocabulary\",\n \"$dynamicRef\",\n \"$dynamicAnchor\",\n // Type\n \"type\",\n \"enum\",\n \"const\",\n // Composition\n \"anyOf\",\n \"oneOf\",\n \"allOf\",\n \"not\",\n // Object\n \"properties\",\n \"required\",\n \"additionalProperties\",\n \"patternProperties\",\n \"propertyNames\",\n \"minProperties\",\n \"maxProperties\",\n // Array\n \"items\",\n \"prefixItems\",\n \"additionalItems\",\n \"minItems\",\n \"maxItems\",\n \"uniqueItems\",\n \"contains\",\n \"minContains\",\n \"maxContains\",\n // String\n \"minLength\",\n \"maxLength\",\n \"pattern\",\n \"format\",\n // Number\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\",\n \"multipleOf\",\n // Already handled metadata\n \"description\",\n \"default\",\n // Content\n \"contentEncoding\",\n \"contentMediaType\",\n \"contentSchema\",\n // Unsupported (error-throwing)\n \"unevaluatedItems\",\n \"unevaluatedProperties\",\n \"if\",\n \"then\",\n \"else\",\n \"dependentSchemas\",\n \"dependentRequired\",\n // OpenAPI\n \"nullable\",\n \"readOnly\",\n]);\nfunction detectVersion(schema, defaultTarget) {\n const $schema = schema.$schema;\n if ($schema === \"https://json-schema.org/draft/2020-12/schema\") {\n return \"draft-2020-12\";\n }\n if ($schema === \"http://json-schema.org/draft-07/schema#\") {\n return \"draft-7\";\n }\n if ($schema === \"http://json-schema.org/draft-04/schema#\") {\n return \"draft-4\";\n }\n // Use defaultTarget if provided, otherwise default to draft-2020-12\n return defaultTarget ?? \"draft-2020-12\";\n}\nfunction resolveRef(ref, ctx) {\n if (!ref.startsWith(\"#\")) {\n throw new Error(\"External $ref is not supported, only local refs (#/...) are allowed\");\n }\n const path = ref.slice(1).split(\"/\").filter(Boolean);\n // Handle root reference \"#\"\n if (path.length === 0) {\n return ctx.rootSchema;\n }\n const defsKey = ctx.version === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (path[0] === defsKey) {\n const key = path[1];\n if (!key || !ctx.defs[key]) {\n throw new Error(`Reference not found: ${ref}`);\n }\n return ctx.defs[key];\n }\n throw new Error(`Reference not found: ${ref}`);\n}\nfunction convertBaseSchema(schema, ctx) {\n // Handle unsupported features\n if (schema.not !== undefined) {\n // Special case: { not: {} } represents never\n if (typeof schema.not === \"object\" && Object.keys(schema.not).length === 0) {\n return z.never();\n }\n throw new Error(\"not is not supported in Zod (except { not: {} } for never)\");\n }\n if (schema.unevaluatedItems !== undefined) {\n throw new Error(\"unevaluatedItems is not supported\");\n }\n if (schema.unevaluatedProperties !== undefined) {\n throw new Error(\"unevaluatedProperties is not supported\");\n }\n if (schema.if !== undefined || schema.then !== undefined || schema.else !== undefined) {\n throw new Error(\"Conditional schemas (if/then/else) are not supported\");\n }\n if (schema.dependentSchemas !== undefined || schema.dependentRequired !== undefined) {\n throw new Error(\"dependentSchemas and dependentRequired are not supported\");\n }\n // Handle $ref\n if (schema.$ref) {\n const refPath = schema.$ref;\n if (ctx.refs.has(refPath)) {\n return ctx.refs.get(refPath);\n }\n if (ctx.processing.has(refPath)) {\n // Circular reference - use lazy\n return z.lazy(() => {\n if (!ctx.refs.has(refPath)) {\n throw new Error(`Circular reference not resolved: ${refPath}`);\n }\n return ctx.refs.get(refPath);\n });\n }\n ctx.processing.add(refPath);\n const resolved = resolveRef(refPath, ctx);\n const zodSchema = convertSchema(resolved, ctx);\n ctx.refs.set(refPath, zodSchema);\n ctx.processing.delete(refPath);\n return zodSchema;\n }\n // Handle enum\n if (schema.enum !== undefined) {\n const enumValues = schema.enum;\n // Special case: OpenAPI 3.0 null representation { type: \"string\", nullable: true, enum: [null] }\n if (ctx.version === \"openapi-3.0\" &&\n schema.nullable === true &&\n enumValues.length === 1 &&\n enumValues[0] === null) {\n return z.null();\n }\n if (enumValues.length === 0) {\n return z.never();\n }\n if (enumValues.length === 1) {\n return z.literal(enumValues[0]);\n }\n // Check if all values are strings\n if (enumValues.every((v) => typeof v === \"string\")) {\n return z.enum(enumValues);\n }\n // Mixed types - use union of literals\n const literalSchemas = enumValues.map((v) => z.literal(v));\n if (literalSchemas.length < 2) {\n return literalSchemas[0];\n }\n return z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]);\n }\n // Handle const\n if (schema.const !== undefined) {\n return z.literal(schema.const);\n }\n // Handle type\n const type = schema.type;\n if (Array.isArray(type)) {\n // Expand type array into anyOf union\n const typeSchemas = type.map((t) => {\n const typeSchema = { ...schema, type: t };\n return convertBaseSchema(typeSchema, ctx);\n });\n if (typeSchemas.length === 0) {\n return z.never();\n }\n if (typeSchemas.length === 1) {\n return typeSchemas[0];\n }\n return z.union(typeSchemas);\n }\n if (!type) {\n // No type specified - empty schema (any)\n return z.any();\n }\n let zodSchema;\n switch (type) {\n case \"string\": {\n let stringSchema = z.string();\n // Apply format using .check() with Zod format functions\n if (schema.format) {\n const format = schema.format;\n // Map common formats to Zod check functions\n if (format === \"email\") {\n stringSchema = stringSchema.check(z.email());\n }\n else if (format === \"uri\" || format === \"uri-reference\") {\n stringSchema = stringSchema.check(z.url());\n }\n else if (format === \"uuid\" || format === \"guid\") {\n stringSchema = stringSchema.check(z.uuid());\n }\n else if (format === \"date-time\") {\n stringSchema = stringSchema.check(z.iso.datetime());\n }\n else if (format === \"date\") {\n stringSchema = stringSchema.check(z.iso.date());\n }\n else if (format === \"time\") {\n stringSchema = stringSchema.check(z.iso.time());\n }\n else if (format === \"duration\") {\n stringSchema = stringSchema.check(z.iso.duration());\n }\n else if (format === \"ipv4\") {\n stringSchema = stringSchema.check(z.ipv4());\n }\n else if (format === \"ipv6\") {\n stringSchema = stringSchema.check(z.ipv6());\n }\n else if (format === \"mac\") {\n stringSchema = stringSchema.check(z.mac());\n }\n else if (format === \"cidr\") {\n stringSchema = stringSchema.check(z.cidrv4());\n }\n else if (format === \"cidr-v6\") {\n stringSchema = stringSchema.check(z.cidrv6());\n }\n else if (format === \"base64\") {\n stringSchema = stringSchema.check(z.base64());\n }\n else if (format === \"base64url\") {\n stringSchema = stringSchema.check(z.base64url());\n }\n else if (format === \"e164\") {\n stringSchema = stringSchema.check(z.e164());\n }\n else if (format === \"jwt\") {\n stringSchema = stringSchema.check(z.jwt());\n }\n else if (format === \"emoji\") {\n stringSchema = stringSchema.check(z.emoji());\n }\n else if (format === \"nanoid\") {\n stringSchema = stringSchema.check(z.nanoid());\n }\n else if (format === \"cuid\") {\n stringSchema = stringSchema.check(z.cuid());\n }\n else if (format === \"cuid2\") {\n stringSchema = stringSchema.check(z.cuid2());\n }\n else if (format === \"ulid\") {\n stringSchema = stringSchema.check(z.ulid());\n }\n else if (format === \"xid\") {\n stringSchema = stringSchema.check(z.xid());\n }\n else if (format === \"ksuid\") {\n stringSchema = stringSchema.check(z.ksuid());\n }\n // Note: json-string format is not currently supported by Zod\n // Custom formats are ignored - keep as plain string\n }\n // Apply constraints\n if (typeof schema.minLength === \"number\") {\n stringSchema = stringSchema.min(schema.minLength);\n }\n if (typeof schema.maxLength === \"number\") {\n stringSchema = stringSchema.max(schema.maxLength);\n }\n if (schema.pattern) {\n // JSON Schema patterns are not implicitly anchored (match anywhere in string)\n stringSchema = stringSchema.regex(new RegExp(schema.pattern));\n }\n zodSchema = stringSchema;\n break;\n }\n case \"number\":\n case \"integer\": {\n let numberSchema = type === \"integer\" ? z.number().int() : z.number();\n // Apply constraints\n if (typeof schema.minimum === \"number\") {\n numberSchema = numberSchema.min(schema.minimum);\n }\n if (typeof schema.maximum === \"number\") {\n numberSchema = numberSchema.max(schema.maximum);\n }\n if (typeof schema.exclusiveMinimum === \"number\") {\n numberSchema = numberSchema.gt(schema.exclusiveMinimum);\n }\n else if (schema.exclusiveMinimum === true && typeof schema.minimum === \"number\") {\n numberSchema = numberSchema.gt(schema.minimum);\n }\n if (typeof schema.exclusiveMaximum === \"number\") {\n numberSchema = numberSchema.lt(schema.exclusiveMaximum);\n }\n else if (schema.exclusiveMaximum === true && typeof schema.maximum === \"number\") {\n numberSchema = numberSchema.lt(schema.maximum);\n }\n if (typeof schema.multipleOf === \"number\") {\n numberSchema = numberSchema.multipleOf(schema.multipleOf);\n }\n zodSchema = numberSchema;\n break;\n }\n case \"boolean\": {\n zodSchema = z.boolean();\n break;\n }\n case \"null\": {\n zodSchema = z.null();\n break;\n }\n case \"object\": {\n const shape = {};\n const properties = schema.properties || {};\n const requiredSet = new Set(schema.required || []);\n // Convert properties - mark optional ones\n for (const [key, propSchema] of Object.entries(properties)) {\n const propZodSchema = convertSchema(propSchema, ctx);\n // If not in required array, make it optional\n shape[key] = requiredSet.has(key) ? propZodSchema : propZodSchema.optional();\n }\n // Handle propertyNames\n if (schema.propertyNames) {\n const keySchema = convertSchema(schema.propertyNames, ctx);\n const valueSchema = schema.additionalProperties && typeof schema.additionalProperties === \"object\"\n ? convertSchema(schema.additionalProperties, ctx)\n : z.any();\n // Case A: No properties (pure record)\n if (Object.keys(shape).length === 0) {\n zodSchema = z.record(keySchema, valueSchema);\n break;\n }\n // Case B: With properties (intersection of object and looseRecord)\n const objectSchema = z.object(shape).passthrough();\n const recordSchema = z.looseRecord(keySchema, valueSchema);\n zodSchema = z.intersection(objectSchema, recordSchema);\n break;\n }\n // Handle patternProperties\n if (schema.patternProperties) {\n // patternProperties: keys matching pattern must satisfy corresponding schema\n // Use loose records so non-matching keys pass through\n const patternProps = schema.patternProperties;\n const patternKeys = Object.keys(patternProps);\n const looseRecords = [];\n for (const pattern of patternKeys) {\n const patternValue = convertSchema(patternProps[pattern], ctx);\n const keySchema = z.string().regex(new RegExp(pattern));\n looseRecords.push(z.looseRecord(keySchema, patternValue));\n }\n // Build intersection: object schema + all pattern property records\n const schemasToIntersect = [];\n if (Object.keys(shape).length > 0) {\n // Use passthrough so patternProperties can validate additional keys\n schemasToIntersect.push(z.object(shape).passthrough());\n }\n schemasToIntersect.push(...looseRecords);\n if (schemasToIntersect.length === 0) {\n zodSchema = z.object({}).passthrough();\n }\n else if (schemasToIntersect.length === 1) {\n zodSchema = schemasToIntersect[0];\n }\n else {\n // Chain intersections: (A & B) & C & D ...\n let result = z.intersection(schemasToIntersect[0], schemasToIntersect[1]);\n for (let i = 2; i < schemasToIntersect.length; i++) {\n result = z.intersection(result, schemasToIntersect[i]);\n }\n zodSchema = result;\n }\n break;\n }\n // Handle additionalProperties\n // In JSON Schema, additionalProperties defaults to true (allow any extra properties)\n // In Zod, objects strip unknown keys by default, so we need to handle this explicitly\n const objectSchema = z.object(shape);\n if (schema.additionalProperties === false) {\n // Strict mode - no extra properties allowed\n zodSchema = objectSchema.strict();\n }\n else if (typeof schema.additionalProperties === \"object\") {\n // Extra properties must match the specified schema\n zodSchema = objectSchema.catchall(convertSchema(schema.additionalProperties, ctx));\n }\n else {\n // additionalProperties is true or undefined - allow any extra properties (passthrough)\n zodSchema = objectSchema.passthrough();\n }\n break;\n }\n case \"array\": {\n // TODO: uniqueItems is not supported\n // TODO: contains/minContains/maxContains are not supported\n // Check if this is a tuple (prefixItems or items as array)\n const prefixItems = schema.prefixItems;\n const items = schema.items;\n if (prefixItems && Array.isArray(prefixItems)) {\n // Tuple with prefixItems (draft-2020-12)\n const tupleItems = prefixItems.map((item) => convertSchema(item, ctx));\n const rest = items && typeof items === \"object\" && !Array.isArray(items)\n ? convertSchema(items, ctx)\n : undefined;\n if (rest) {\n zodSchema = z.tuple(tupleItems).rest(rest);\n }\n else {\n zodSchema = z.tuple(tupleItems);\n }\n // Apply minItems/maxItems constraints to tuples\n if (typeof schema.minItems === \"number\") {\n zodSchema = zodSchema.check(z.minLength(schema.minItems));\n }\n if (typeof schema.maxItems === \"number\") {\n zodSchema = zodSchema.check(z.maxLength(schema.maxItems));\n }\n }\n else if (Array.isArray(items)) {\n // Tuple with items array (draft-7)\n const tupleItems = items.map((item) => convertSchema(item, ctx));\n const rest = schema.additionalItems && typeof schema.additionalItems === \"object\"\n ? convertSchema(schema.additionalItems, ctx)\n : undefined; // additionalItems: false means no rest, handled by default tuple behavior\n if (rest) {\n zodSchema = z.tuple(tupleItems).rest(rest);\n }\n else {\n zodSchema = z.tuple(tupleItems);\n }\n // Apply minItems/maxItems constraints to tuples\n if (typeof schema.minItems === \"number\") {\n zodSchema = zodSchema.check(z.minLength(schema.minItems));\n }\n if (typeof schema.maxItems === \"number\") {\n zodSchema = zodSchema.check(z.maxLength(schema.maxItems));\n }\n }\n else if (items !== undefined) {\n // Regular array\n const element = convertSchema(items, ctx);\n let arraySchema = z.array(element);\n // Apply constraints\n if (typeof schema.minItems === \"number\") {\n arraySchema = arraySchema.min(schema.minItems);\n }\n if (typeof schema.maxItems === \"number\") {\n arraySchema = arraySchema.max(schema.maxItems);\n }\n zodSchema = arraySchema;\n }\n else {\n // No items specified - array of any\n zodSchema = z.array(z.any());\n }\n break;\n }\n default:\n throw new Error(`Unsupported type: ${type}`);\n }\n // Apply metadata\n if (schema.description) {\n zodSchema = zodSchema.describe(schema.description);\n }\n if (schema.default !== undefined) {\n zodSchema = zodSchema.default(schema.default);\n }\n return zodSchema;\n}\nfunction convertSchema(schema, ctx) {\n if (typeof schema === \"boolean\") {\n return schema ? z.any() : z.never();\n }\n // Convert base schema first (ignoring composition keywords)\n let baseSchema = convertBaseSchema(schema, ctx);\n const hasExplicitType = schema.type || schema.enum !== undefined || schema.const !== undefined;\n // Process composition keywords LAST (they can appear together)\n // Handle anyOf - wrap base schema with union\n if (schema.anyOf && Array.isArray(schema.anyOf)) {\n const options = schema.anyOf.map((s) => convertSchema(s, ctx));\n const anyOfUnion = z.union(options);\n baseSchema = hasExplicitType ? z.intersection(baseSchema, anyOfUnion) : anyOfUnion;\n }\n // Handle oneOf - exclusive union (exactly one must match)\n if (schema.oneOf && Array.isArray(schema.oneOf)) {\n const options = schema.oneOf.map((s) => convertSchema(s, ctx));\n const oneOfUnion = z.xor(options);\n baseSchema = hasExplicitType ? z.intersection(baseSchema, oneOfUnion) : oneOfUnion;\n }\n // Handle allOf - wrap base schema with intersection\n if (schema.allOf && Array.isArray(schema.allOf)) {\n if (schema.allOf.length === 0) {\n baseSchema = hasExplicitType ? baseSchema : z.any();\n }\n else {\n let result = hasExplicitType ? baseSchema : convertSchema(schema.allOf[0], ctx);\n const startIdx = hasExplicitType ? 0 : 1;\n for (let i = startIdx; i < schema.allOf.length; i++) {\n result = z.intersection(result, convertSchema(schema.allOf[i], ctx));\n }\n baseSchema = result;\n }\n }\n // Handle nullable (OpenAPI 3.0)\n if (schema.nullable === true && ctx.version === \"openapi-3.0\") {\n baseSchema = z.nullable(baseSchema);\n }\n // Handle readOnly\n if (schema.readOnly === true) {\n baseSchema = z.readonly(baseSchema);\n }\n // Collect metadata: core schema keywords and unrecognized keys\n const extraMeta = {};\n // Core schema keywords that should be captured as metadata\n const coreMetadataKeys = [\"$id\", \"id\", \"$comment\", \"$anchor\", \"$vocabulary\", \"$dynamicRef\", \"$dynamicAnchor\"];\n for (const key of coreMetadataKeys) {\n if (key in schema) {\n extraMeta[key] = schema[key];\n }\n }\n // Content keywords - store as metadata\n const contentMetadataKeys = [\"contentEncoding\", \"contentMediaType\", \"contentSchema\"];\n for (const key of contentMetadataKeys) {\n if (key in schema) {\n extraMeta[key] = schema[key];\n }\n }\n // Unrecognized keys (custom metadata)\n for (const key of Object.keys(schema)) {\n if (!RECOGNIZED_KEYS.has(key)) {\n extraMeta[key] = schema[key];\n }\n }\n if (Object.keys(extraMeta).length > 0) {\n ctx.registry.add(baseSchema, extraMeta);\n }\n return baseSchema;\n}\n/**\n * Converts a JSON Schema to a Zod schema. This function should be considered semi-experimental. It's behavior is liable to change. */\nexport function fromJSONSchema(schema, params) {\n // Handle boolean schemas\n if (typeof schema === \"boolean\") {\n return schema ? z.any() : z.never();\n }\n const version = detectVersion(schema, params?.defaultTarget);\n const defs = (schema.$defs || schema.definitions || {});\n const ctx = {\n version,\n defs,\n refs: new Map(),\n processing: new Set(),\n rootSchema: schema,\n registry: params?.registry ?? globalRegistry,\n };\n return convertSchema(schema, ctx);\n}\n", "import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport function string(params) {\n return core._coercedString(schemas.ZodString, params);\n}\nexport function number(params) {\n return core._coercedNumber(schemas.ZodNumber, params);\n}\nexport function boolean(params) {\n return core._coercedBoolean(schemas.ZodBoolean, params);\n}\nexport function bigint(params) {\n return core._coercedBigint(schemas.ZodBigInt, params);\n}\nexport function date(params) {\n return core._coercedDate(schemas.ZodDate, params);\n}\n", "export * as core from \"../core/index.js\";\nexport * from \"./schemas.js\";\nexport * from \"./checks.js\";\nexport * from \"./errors.js\";\nexport * from \"./parse.js\";\nexport * from \"./compat.js\";\n// zod-specified\nimport { config } from \"../core/index.js\";\nimport en from \"../locales/en.js\";\nconfig(en());\nexport { globalRegistry, registry, config, $output, $input, $brand, clone, regexes, treeifyError, prettifyError, formatError, flattenError, TimePrecision, util, NEVER, } from \"../core/index.js\";\nexport { toJSONSchema } from \"../core/json-schema-processors.js\";\nexport { fromJSONSchema } from \"./from-json-schema.js\";\nexport * as locales from \"../locales/index.js\";\n// iso\n// must be exported from top-level\n// https://github.com/colinhacks/zod/issues/4491\nexport { ZodISODateTime, ZodISODate, ZodISOTime, ZodISODuration } from \"./iso.js\";\nexport * as iso from \"./iso.js\";\nexport * as coerce from \"./coerce.js\";\n", "import * as z from \"./v4/classic/external.js\";\nexport * from \"./v4/classic/external.js\";\nexport { z };\nexport default z;\n", "export const mbnrGeoJson = {\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": {},\n \"geometry\": {\n \"coordinates\": [\n [\n [\n 78.0540565157155,\n 16.750355644371382\n ],\n [\n 78.02147549424018,\n 16.72066473405593\n ],\n [\n 78.03026125246384,\n 16.71696749930787\n ],\n [\n 78.0438058450269,\n 16.72191442229257\n ],\n [\n 78.01378723066603,\n 16.729427120762438\n ],\n [\n 78.01192390645633,\n 16.767270033080678\n ],\n [\n 77.98897480599248,\n 16.78383139678816\n ],\n [\n 77.98650506846502,\n 16.779477610410623\n ],\n [\n 77.99211289459566,\n 16.764294442899583\n ],\n [\n 77.9917733766166,\n 16.760247911187193\n ],\n [\n 77.9871626670851,\n 16.762487176781022\n ],\n [\n 77.98216269568468,\n 16.762520539253813\n ],\n [\n 77.9728079653313,\n 16.75895746646411\n ],\n [\n 77.97076993211158,\n 16.749241850772236\n ],\n [\n 77.97290869571145,\n 16.714289841456335\n ],\n [\n 77.98673742913684,\n 16.716189282573396\n ],\n [\n 78.00286970994557,\n 16.718191131206893\n ],\n [\n 78.02757966423519,\n 16.720603921728966\n ],\n [\n 78.01653780770818,\n 16.73184590223127\n ],\n [\n 78.0064695230268,\n 16.760236966033375\n ],\n [\n 78.0148831108591,\n 16.760801801995825\n ],\n [\n 78.01488756695255,\n 16.75827980335133\n ],\n [\n 78.0244311364159,\n 16.744778942163208\n ],\n [\n 78.03342267256608,\n 16.760773251410058\n ],\n [\n 78.05078586709863,\n 16.763902127913653\n ],\n [\n 78.0540565157155,\n 16.750355644371382\n ]\n ]\n ],\n \"type\": \"Polygon\"\n }\n }\n ]\n};", "export class ApiError extends Error {\n public statusCode: number;\n public details?: any;\n\n constructor(message: string, statusCode: number = 500, details?: any) {\n console.log(message)\n \n super(message);\n this.name = 'ApiError';\n this.statusCode = statusCode;\n this.details = details;\n // Error.captureStackTrace?.(this, ApiError);\n }\n}\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { commonRouter } from '@/src/trpc/apis/common-apis/common'\nimport {\n getStoresSummary,\n healthCheck,\n getCacheVersion,\n} from '@/src/dbService'\nimport type { StoresSummaryResponse } from '@packages/shared'\nimport * as turf from '@turf/turf';\nimport { z } from 'zod';\nimport { mbnrGeoJson } from '@/src/lib/mbnr-geojson'\nimport { generateUploadUrl } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getAllConstValues } from '@/src/lib/const-store'\nimport { CONST_KEYS } from '@/src/lib/const-keys'\nimport { getAssetsDomain, getApiCacheKey } from '@/src/lib/env-exporter'\n\nconst polygon = turf.polygon(mbnrGeoJson.features[0].geometry.coordinates);\n\nexport async function scaffoldEssentialConsts() {\n const consts = await getAllConstValues();\n const cacheVersion = await getCacheVersion()\n\n return {\n freeDeliveryThreshold: consts[CONST_KEYS.freeDeliveryThreshold] ?? 200,\n deliveryCharge: consts[CONST_KEYS.deliveryCharge] ?? 0,\n flashFreeDeliveryThreshold: consts[CONST_KEYS.flashFreeDeliveryThreshold] ?? 500,\n flashDeliveryCharge: consts[CONST_KEYS.flashDeliveryCharge] ?? 69,\n popularItems: consts[CONST_KEYS.popularItems] ?? '5,3,2,4,1',\n versionNum: consts[CONST_KEYS.versionNum] ?? '1.1.0',\n playStoreUrl: consts[CONST_KEYS.playStoreUrl] ?? 'https://play.google.com/store/apps/details?id=in.freshyo.app',\n appStoreUrl: consts[CONST_KEYS.appStoreUrl] ?? 'https://apps.apple.com/in/app/freshyo/id6756889077',\n webViewHtml: null,\n isWebviewClosable: true,\n isFlashDeliveryEnabled: consts[CONST_KEYS.isFlashDeliveryEnabled] ?? true,\n supportMobile: consts[CONST_KEYS.supportMobile] ?? '',\n supportEmail: consts[CONST_KEYS.supportEmail] ?? '',\n assetsDomain: getAssetsDomain(),\n apiCacheKey: getApiCacheKey(),\n cacheVersion,\n };\n}\n\nexport const commonApiRouter = router({\n product: commonRouter,\n\n getStoresSummary: publicProcedure\n .query(async (): Promise => {\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { storeInfo } from '@/src/db/schema'\n\n const stores = await db.query.storeInfo.findMany({\n columns: {\n id: true,\n name: true,\n description: true,\n },\n });\n */\n\n const stores = await getStoresSummary();\n\n return {\n stores,\n };\n }),\n\n checkLocationInPolygon: publicProcedure\n .input(z.object({\n lat: z.number().min(-90).max(90),\n lng: z.number().min(-180).max(180),\n }))\n .query(({ input }) => {\n try {\n const { lat, lng } = input;\n const point = turf.point([lng, lat]); // GeoJSON: [longitude, latitude]\n const isInside = turf.booleanPointInPolygon(point, polygon);\n return { isInside };\n } catch (error) {\n throw new Error('Invalid coordinates or polygon data');\n }\n }),\n\n generateUploadUrls: protectedProcedure\n .input(z.object({\n contextString: z.enum(['review', 'review_response', 'product_info', 'notification', 'store', 'complaint', 'profile', 'tags']),\n mimeTypes: z.array(z.string()),\n }))\n .mutation(async ({ input }): Promise<{ uploadUrls: string[] }> => {\n const { contextString, mimeTypes } = input;\n\n const uploadUrls: string[] = [];\n const keys: string[] = [];\n\n for (const mimeType of mimeTypes) {\n // Generate key based on context and mime type\n let folder: string;\n if (contextString === 'review') {\n folder = 'review-images';\n } else if (contextString === 'product_info') {\n folder = 'product-images';\n } else if (contextString === 'store') {\n folder = 'store-images';\n } else if (contextString === 'review_response') {\n folder = 'review-response-images';\n } else if (contextString === 'complaint') {\n folder = 'complaint-images';\n } else if (contextString === 'profile') {\n folder = 'profile-images';\n } else if (contextString === 'tags') {\n folder = 'tags';\n } else {\n folder = '';\n }\n\n const extension = mimeType === 'image/jpeg' ? '.jpg' :\n mimeType === 'image/png' ? '.png' :\n mimeType === 'image/gif' ? '.gif' : '.jpg';\n const key = `${folder}/${Date.now()}${extension}`;\n\n try {\n const uploadUrl = await generateUploadUrl(key, mimeType);\n uploadUrls.push(uploadUrl);\n keys.push(key);\n\n } catch (error) {\n console.error('Error generating upload URL:', error);\n throw new ApiError('Failed to generate upload URL', 500);\n }\n }\n return { uploadUrls };\n }),\n\n healthCheck: publicProcedure\n .query(async () => {\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { keyValStore, productInfo } from '@/src/db/schema'\n\n // Test DB connection by selecting product names\n // await db.select({ name: productInfo.name }).from(productInfo).limit(1);\n await db.select({ key: keyValStore.key }).from(keyValStore).limit(1);\n */\n\n const result = await healthCheck();\n return result;\n }),\n\n essentialConsts: publicProcedure\n .query(async () => {\n const response = await scaffoldEssentialConsts();\n return response;\n }),\n});\n\nexport type CommonApiRouter = typeof commonApiRouter;\n", "import { router, publicProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getTagsByStoreId } from '@/src/stores/product-tag-store'\nimport {\n getUserStoreSummaries as getUserStoreSummariesInDb,\n getUserStoreDetail as getUserStoreDetailInDb,\n} from '@/src/dbService'\nimport type {\n UserStoresResponse,\n UserStoreDetail,\n UserStoreSummary,\n} from '@packages/shared'\n\nexport async function scaffoldStores(): Promise {\n const storesData = await getUserStoreSummariesInDb()\n\n /*\n // Old implementation - direct DB queries:\n const storesData = await db\n .select({\n id: storeInfo.id,\n name: storeInfo.name,\n description: storeInfo.description,\n imageUrl: storeInfo.imageUrl,\n productCount: sql`count(${productInfo.id})`.as('productCount'),\n })\n .from(storeInfo)\n .leftJoin(\n productInfo,\n and(eq(productInfo.storeId, storeInfo.id), eq(productInfo.isSuspended, false))\n )\n .groupBy(storeInfo.id);\n */\n\n const storesWithDetails: UserStoreSummary[] = storesData.map((store) => {\n const signedImageUrl = store.imageUrl ? scaffoldAssetUrl(store.imageUrl) : null\n const sampleProducts = store.sampleProducts.map((product) => ({\n id: product.id,\n name: product.name,\n signedImageUrl: product.images && product.images.length > 0\n ? scaffoldAssetUrl(product.images[0])\n : null,\n }))\n\n return {\n id: store.id,\n name: store.name,\n description: store.description,\n signedImageUrl,\n productCount: store.productCount,\n sampleProducts,\n }\n })\n\n return {\n stores: storesWithDetails,\n }\n}\n\nexport async function scaffoldStoreWithProducts(storeId: number): Promise {\n const storeDetail = await getUserStoreDetailInDb(storeId)\n\n /*\n // Old implementation - direct DB queries:\n const storeData = await db.query.storeInfo.findFirst({\n where: eq(storeInfo.id, storeId),\n columns: {\n id: true,\n name: true,\n description: true,\n imageUrl: true,\n },\n });\n\n if (!storeData) {\n throw new ApiError('Store not found', 404);\n }\n\n const signedImageUrl = storeData.imageUrl ? scaffoldAssetUrl(storeData.imageUrl) : null;\n\n const productsData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n incrementStep: productInfo.incrementStep,\n unitShortNotation: units.shortNotation,\n unitNotation: units.shortNotation,\n productQuantity: productInfo.productQuantity,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(and(eq(productInfo.storeId, storeId), eq(productInfo.isSuspended, false)));\n\n const productsWithSignedUrls = await Promise.all(\n productsData.map(async (product) => ({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n marketPrice: product.marketPrice,\n incrementStep: product.incrementStep,\n unit: product.unitShortNotation,\n unitNotation: product.unitNotation,\n images: scaffoldAssetUrl((product.images as string[]) || []),\n isOutOfStock: product.isOutOfStock,\n productQuantity: product.productQuantity\n }))\n );\n\n const tags = await getTagsByStoreId(storeId);\n\n return {\n store: {\n id: storeData.id,\n name: storeData.name,\n description: storeData.description,\n signedImageUrl,\n },\n products: productsWithSignedUrls,\n tags: tags.map(tag => ({\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription,\n imageUrl: tag.imageUrl,\n productIds: tag.productIds,\n })),\n };\n */\n\n if (!storeDetail) {\n throw new ApiError('Store not found', 404)\n }\n\n const signedImageUrl = storeDetail.store.imageUrl\n ? scaffoldAssetUrl(storeDetail.store.imageUrl)\n : null\n\n const productsWithSignedUrls = storeDetail.products.map((product) => ({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n marketPrice: product.marketPrice,\n incrementStep: product.incrementStep,\n unit: product.unit,\n unitNotation: product.unitNotation,\n images: scaffoldAssetUrl(product.images || []),\n isOutOfStock: product.isOutOfStock,\n productQuantity: product.productQuantity,\n }))\n\n const tags = await getTagsByStoreId(storeId)\n\n return {\n store: {\n id: storeDetail.store.id,\n name: storeDetail.store.name,\n description: storeDetail.store.description,\n signedImageUrl,\n },\n products: productsWithSignedUrls,\n tags: tags.map(tag => ({\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription,\n imageUrl: tag.imageUrl,\n productIds: tag.productIds,\n })),\n }\n}\n\nexport const storesRouter = router({\n getStores: publicProcedure\n .query(async (): Promise => {\n const response = await scaffoldStores();\n return response;\n }),\n\n getStoreWithProducts: publicProcedure\n .input(z.object({\n storeId: z.number(),\n }))\n .query(async ({ input }): Promise => {\n const { storeId } = input;\n const response = await scaffoldStoreWithProducts(storeId);\n return response;\n }),\n});\n", "import { router, publicProcedure } from \"@/src/trpc/trpc-index\"\nimport { z } from \"zod\"\nimport { getAllSlots as getAllSlotsFromCache, getSlotById as getSlotByIdFromCache } from \"@/src/stores/slot-store\"\nimport dayjs from 'dayjs'\nimport { getUserActiveSlotsList as getUserActiveSlotsListInDb, getUserProductAvailability as getUserProductAvailabilityInDb } from '@/src/dbService'\nimport type { UserSlotData, UserSlotsListResponse, UserSlotsWithProductsResponse } from '@packages/shared'\n\n// Helper method to get formatted slot data by ID\nasync function getSlotData(slotId: number) {\n const slot = await getSlotByIdFromCache(slotId);\n\n if (!slot) {\n return null;\n }\n\n const currentTime = new Date();\n if (dayjs(slot.freezeTime).isBefore(currentTime)) {\n return null;\n }\n\n return {\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n slotId: slot.id,\n products: slot.products.filter((product) => !product.isOutOfStock),\n };\n}\n\nexport async function scaffoldSlotsWithProducts(): Promise {\n const allSlots = await getAllSlotsFromCache();\n const currentTime = new Date();\n const validSlots = allSlots\n .filter((slot) => {\n return dayjs(slot.freezeTime).isAfter(currentTime) &&\n dayjs(slot.deliveryTime).isAfter(currentTime) &&\n !slot.isCapacityFull;\n })\n .sort((a, b) => dayjs(a.deliveryTime).valueOf() - dayjs(b.deliveryTime).valueOf());\n\n const productAvailability = await getUserProductAvailabilityInDb()\n\n /*\n // Old implementation - direct DB query:\n const allProducts = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n isOutOfStock: productInfo.isOutOfStock,\n isFlashAvailable: productInfo.isFlashAvailable,\n })\n .from(productInfo)\n .where(eq(productInfo.isSuspended, false));\n\n const productAvailability = allProducts.map(product => ({\n id: product.id,\n name: product.name,\n isOutOfStock: product.isOutOfStock,\n isFlashAvailable: product.isFlashAvailable,\n }));\n */\n\n return {\n slots: validSlots,\n productAvailability,\n count: validSlots.length,\n };\n}\n\nexport const slotsRouter = router({\n getSlots: publicProcedure.query(async (): Promise => {\n const slots = await getUserActiveSlotsListInDb()\n\n /*\n // Old implementation - direct DB query:\n const slots = await db.query.deliverySlotInfo.findMany({\n where: eq(deliverySlotInfo.isActive, true),\n });\n */\n\n return {\n slots,\n count: slots.length,\n }\n }),\n\n getSlotsWithProducts: publicProcedure.query(async (): Promise => {\n const response = await scaffoldSlotsWithProducts();\n return response;\n }),\n\n getSlotById: publicProcedure\n .input(z.object({ slotId: z.number() }))\n .query(async ({ input }): Promise => {\n return await getSlotData(input.slotId);\n }),\n});\n", "import { publicProcedure, router } from '@/src/trpc/trpc-index'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { getUserActiveBanners as getUserActiveBannersInDb } from '@/src/dbService'\nimport type { UserBannersResponse } from '@packages/shared'\n\nexport async function scaffoldBanners(): Promise {\n const banners = await getUserActiveBannersInDb()\n\n /*\n // Old implementation - direct DB queries:\n const banners = await db.query.homeBanners.findMany({\n where: isNotNull(homeBanners.serialNum), // Only show assigned banners\n orderBy: asc(homeBanners.serialNum), // Order by slot number 1-4\n });\n */\n\n const bannersWithSignedUrls = banners.map((banner) => ({\n ...banner,\n imageUrl: banner.imageUrl ? scaffoldAssetUrl(banner.imageUrl) : banner.imageUrl,\n }))\n\n return {\n banners: bannersWithSignedUrls,\n }\n}\n\nexport const bannerRouter = router({\n getBanners: publicProcedure\n .query(async () => {\n const response = await scaffoldBanners();\n return response;\n }),\n});\n", "// Central types export file\n// Re-export all types from the types folder\n\nexport type * from './admin';\nexport type * from './user';\nexport type * from './store.types';\n", "export const CACHE_FILENAMES = {\n products: 'products.json',\n stores: 'stores.json',\n slots: 'slots.json',\n essentialConsts: 'essential-consts.json',\n banners: 'banners.json',\n} as const\n\nexport type CacheFilename = typeof CACHE_FILENAMES[keyof typeof CACHE_FILENAMES]\n\n// Re-export all types from the types folder\nexport * from './types'\n", "export async function retryWithExponentialBackoff(\n fn: () => Promise,\n maxRetries: number = 3,\n delayMs: number = 1000\n): Promise {\n let lastError: Error | undefined\n \n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n try {\n return await fn()\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error))\n \n if (attempt < maxRetries) {\n console.log(`Attempt ${attempt} failed, retrying in ${delayMs}ms...`)\n await new Promise(resolve => setTimeout(resolve, delayMs))\n delayMs *= 2\n }\n }\n }\n \n throw lastError\n}", "import { Buffer } from 'buffer'\nimport axios from 'axios'\nimport { scaffoldProducts } from '@/src/trpc/apis/common-apis/common'\nimport { scaffoldEssentialConsts } from '@/src/trpc/apis/common-apis/common-trpc-index'\nimport { scaffoldStores } from '@/src/trpc/apis/user-apis/apis/stores'\nimport { scaffoldSlotsWithProducts } from '@/src/trpc/apis/user-apis/apis/slots'\nimport { scaffoldBanners } from '@/src/trpc/apis/user-apis/apis/banners'\nimport { scaffoldStoreWithProducts } from '@/src/trpc/apis/user-apis/apis/stores'\nimport { getStoresSummary, incrementCacheVersion } from '@/src/dbService'\nimport { imageUploadS3 } from '@/src/lib/s3-client'\nimport { getApiCacheKey, getCloudflareApiToken, getCloudflareZoneId, getAssetsDomain } from '@/src/lib/env-exporter'\nimport { CACHE_FILENAMES } from '@packages/shared'\nimport { retryWithExponentialBackoff } from '@/src/lib/retry'\n\nconst buildCachePath = (path: string, version: number) => `v-${version}/${path}`\n\nfunction constructCacheUrl(path: string, version: number): string {\n return `${getAssetsDomain()}${getApiCacheKey()}/${buildCachePath(path, version)}`\n}\n\nexport interface CreateAllCacheFilesResult {\n cacheVersion: number\n products: string\n essentialConsts: string\n stores: string\n slots: string\n banners: string\n individualStores: string[]\n}\n\nexport async function createAllCacheFiles(): Promise {\n console.log('Starting creation of all cache files...')\n\n const cacheVersion = await incrementCacheVersion()\n\n // Create all global cache files in parallel\n const [\n productsKey,\n essentialConstsKey,\n storesKey,\n slotsKey,\n bannersKey,\n individualStoreKeys,\n ] = await Promise.all([\n createProductsFileInternal(cacheVersion),\n createEssentialConstsFileInternal(cacheVersion),\n createStoresFileInternal(cacheVersion),\n createSlotsFileInternal(cacheVersion),\n createBannersFileInternal(cacheVersion),\n createAllStoresFilesInternal(cacheVersion),\n ])\n\n const stores = await getStoresSummary()\n\n // Collect all URLs for batch cache purge\n const urls = [\n constructCacheUrl(CACHE_FILENAMES.products, cacheVersion),\n constructCacheUrl(CACHE_FILENAMES.essentialConsts, cacheVersion),\n constructCacheUrl(CACHE_FILENAMES.stores, cacheVersion),\n constructCacheUrl(CACHE_FILENAMES.slots, cacheVersion),\n constructCacheUrl(CACHE_FILENAMES.banners, cacheVersion),\n ...stores.map((store) => constructCacheUrl(`stores/${store.id}.json`, cacheVersion)),\n ]\n\n // Purge all caches in one batch with retry\n try {\n await retryWithExponentialBackoff(() => clearUrlCache(urls))\n console.log(`Cache purged for all ${urls.length} files`)\n } catch (error) {\n console.error(`Failed to purge cache for all files after 3 retries`, error)\n }\n\n console.log('All cache files created successfully')\n\n return {\n cacheVersion,\n products: productsKey,\n essentialConsts: essentialConstsKey,\n stores: storesKey,\n slots: slotsKey,\n banners: bannersKey,\n individualStores: individualStoreKeys,\n }\n}\n\n// Internal versions that skip cache purging (for batch operations)\nasync function createProductsFileInternal(version: number): Promise {\n const productsData = await scaffoldProducts()\n const jsonContent = JSON.stringify(productsData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.products, version)}`\n )\n}\n\nasync function createEssentialConstsFileInternal(version: number): Promise {\n const essentialConstsData = await scaffoldEssentialConsts()\n const jsonContent = JSON.stringify(essentialConstsData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.essentialConsts, version)}`\n )\n}\n\nasync function createStoresFileInternal(version: number): Promise {\n const storesData = await scaffoldStores()\n const jsonContent = JSON.stringify(storesData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.stores, version)}`\n )\n}\n\nasync function createSlotsFileInternal(version: number): Promise {\n const slotsData = await scaffoldSlotsWithProducts()\n const jsonContent = JSON.stringify(slotsData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.slots, version)}`\n )\n}\n\nasync function createBannersFileInternal(version: number): Promise {\n const bannersData = await scaffoldBanners()\n const jsonContent = JSON.stringify(bannersData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.banners, version)}`\n )\n}\n\nasync function createAllStoresFilesInternal(version: number): Promise {\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { storeInfo } from '@/src/db/schema'\n\n const stores = await db.select({ id: storeInfo.id }).from(storeInfo)\n */\n\n const stores = await getStoresSummary()\n const results: string[] = []\n\n for (const store of stores) {\n const storeData = await scaffoldStoreWithProducts(store.id)\n const jsonContent = JSON.stringify(storeData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n const s3Key = await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(`stores/${store.id}.json`, version)}`\n )\n results.push(s3Key)\n }\n\n console.log(`Created ${results.length} store cache files`)\n return results\n}\n\nexport async function clearUrlCache(urls: string[]): Promise<{ success: boolean; errors?: string[] }> {\n const cloudflareApiToken = getCloudflareApiToken()\n const cloudflareZoneId = getCloudflareZoneId()\n if (!cloudflareApiToken || !cloudflareZoneId) {\n console.warn('Cloudflare credentials not configured, skipping cache clear')\n return { success: false, errors: ['Cloudflare credentials not configured'] }\n }\n\n try {\n const response = await axios.post(\n `https://api.cloudflare.com/client/v4/zones/${cloudflareZoneId}/purge_cache`,\n { files: urls },\n {\n headers: {\n 'Authorization': `Bearer ${cloudflareApiToken}`,\n 'Content-Type': 'application/json',\n },\n }\n )\n\n const result = response.data as { success: boolean; errors?: { message: string }[] }\n\n if (!result.success) {\n const errorMessages = result.errors?.map(e => e.message) || ['Unknown error']\n console.error(`Cloudflare cache purge failed for URLs: ${urls.join(', ')}`, errorMessages)\n return { success: false, errors: errorMessages }\n }\n\n console.log(`Successfully purged ${urls.length} URLs from Cloudflare cache: ${urls.join(', ')}`)\n return { success: true }\n } catch (error) {\n console.log(error)\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n console.error(`Error clearing Cloudflare cache for URLs: ${urls.join(', ')}`, errorMessage)\n return { success: false, errors: [errorMessage] }\n }\n}\n\nexport async function clearAllCache(): Promise<{ success: boolean; errors?: string[] }> {\n const cloudflareApiToken = getCloudflareApiToken()\n const cloudflareZoneId = getCloudflareZoneId()\n if (!cloudflareApiToken || !cloudflareZoneId) {\n console.warn('Cloudflare credentials not configured, skipping cache clear')\n return { success: false, errors: ['Cloudflare credentials not configured'] }\n }\n\n try {\n const response = await axios.post(\n `https://api.cloudflare.com/client/v4/zones/${cloudflareZoneId}/purge_cache`,\n { purge_everything: true },\n {\n headers: {\n 'Authorization': `Bearer ${cloudflareApiToken}`,\n 'Content-Type': 'application/json',\n },\n }\n )\n\n const result = response.data as { success: boolean; errors?: { message: string }[] }\n\n if (!result.success) {\n const errorMessages = result.errors?.map(e => e.message) || ['Unknown error']\n console.error('Cloudflare cache purge failed:', errorMessages)\n return { success: false, errors: errorMessages }\n }\n\n console.log('Successfully purged all cache from Cloudflare')\n return { success: true }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n console.error('Error clearing Cloudflare cache:', errorMessage)\n return { success: false, errors: [errorMessage] }\n }\n}\n", "import roleManager from '@/src/lib/roles-manager'\nimport { computeConstants } from '@/src/lib/const-store'\nimport { initializeProducts } from '@/src/stores/product-store'\nimport { initializeProductTagStore } from '@/src/stores/product-tag-store'\nimport { initializeSlotStore } from '@/src/stores/slot-store'\nimport { initializeBannerStore } from '@/src/stores/banner-store'\nimport { createAllCacheFiles } from '@/src/lib/cloud_cache'\nimport type { DurableObjectNamespace } from '@cloudflare/workers-types'\n\n/**\n * Initialize all application stores\n * This function handles initialization of:\n * - Role Manager (fetches and caches all roles)\n * - Const Store (syncs constants from DB to Redis)\n * - Product Store (caches all products in Redis)\n * - Product Tag Store (caches all product tags in Redis)\n * - Slot Store (caches all delivery slots with products in Redis)\n * - Banner Store (caches all banners in Redis)\n */\nexport const initializeAllStores = async (): Promise => {\n try {\n console.log('Starting application stores initialization...');\n\n await Promise.all([\n roleManager.fetchRoles(),\n computeConstants(),\n initializeProducts(),\n initializeProductTagStore(),\n initializeSlotStore(),\n initializeBannerStore(),\n ]);\n\n console.log('All application stores initialized successfully');\n\n // Regenerate all cache files (fire-and-forget)\n createAllCacheFiles().catch(error => {\n console.error('Failed to regenerate cache files during store initialization:', error)\n })\n } catch (error) {\n console.error('Application stores initialization failed:', error);\n throw error;\n }\n};\n\nexport const scheduleStoreInitialization = (): void => {\n const env = (globalThis as { ENV?: { CACHE_CREATOR?: DurableObjectNamespace } }).ENV\n if (!env?.CACHE_CREATOR) {\n console.warn('CACHE_CREATOR durable object binding not available for store initialization')\n return\n }\n\n const id = env.CACHE_CREATOR.idFromName('store-init')\n const stub = env.CACHE_CREATOR.get(id)\n void stub.fetch('https://cache-creator/schedule', { method: 'POST' })\n}\n", "export const fetch = (...args) => globalThis.fetch(...args);\nexport const Headers = globalThis.Headers;\nexport const Request = globalThis.Request;\nexport const Response = globalThis.Response;\nexport const AbortController = globalThis.AbortController;\nexport const FetchError = Error;\nexport const AbortError = Error;\nconst redirectStatus = new Set([\n\t301,\n\t302,\n\t303,\n\t307,\n\t308\n]);\nexport const isRedirect = (code) => redirectStatus.has(code);\nfetch.Promise = globalThis.Promise;\nfetch.isRedirect = isRedirect;\nexport default fetch;\n", "import * as esm from 'node-fetch';\nmodule.exports = Object.entries(esm)\n\t\t\t.filter(([k,]) => k !== 'default')\n\t\t\t.reduce((cjs, [k, value]) =>\n\t\t\t\tObject.defineProperty(cjs, k, { value, enumerable: true }),\n\t\t\t\t\"default\" in esm ? esm.default : {}\n\t\t\t);", "import libDefault from 'node:assert';\nmodule.exports = libDefault;", "import libDefault from 'node:zlib';\nmodule.exports = libDefault;", "function limiter (count) {\n var outstanding = 0\n var jobs = []\n\n function remove () {\n outstanding--\n\n if (outstanding < count) {\n dequeue()\n }\n }\n\n function dequeue () {\n var job = jobs.shift()\n semaphore.queue = jobs.length\n\n if (job) {\n run(job.fn).then(job.resolve).catch(job.reject)\n }\n }\n\n function queue (fn) {\n return new Promise(function (resolve, reject) {\n jobs.push({fn: fn, resolve: resolve, reject: reject})\n semaphore.queue = jobs.length\n })\n }\n\n function run (fn) {\n outstanding++\n try {\n return Promise.resolve(fn()).then(function (result) {\n remove()\n return result\n }, function (error) {\n remove()\n throw error\n })\n } catch (err) {\n remove()\n return Promise.reject(err)\n }\n }\n\n var semaphore = function (fn) {\n if (outstanding >= count) {\n return queue(fn)\n } else {\n return run(fn)\n }\n }\n\n return semaphore\n}\n\nfunction map (items, mapper) {\n var failed = false\n\n var limit = this\n\n return Promise.all(items.map(function () {\n var args = arguments\n return limit(function () {\n if (!failed) {\n return mapper.apply(undefined, args).catch(function (e) {\n failed = true\n throw e\n })\n }\n })\n }))\n}\n\nfunction addExtras (fn) {\n fn.queue = 0\n fn.map = map\n return fn\n}\n\nmodule.exports = function (count) {\n if (count) {\n return addExtras(limiter(count))\n } else {\n return addExtras(function (fn) {\n return fn()\n })\n }\n}\n", "'use strict';\n\nfunction assign(obj, props) {\n for (const key in props) {\n Object.defineProperty(obj, key, {\n value: props[key],\n enumerable: true,\n configurable: true,\n });\n }\n\n return obj;\n}\n\nfunction createError(err, code, props) {\n if (!err || typeof err === 'string') {\n throw new TypeError('Please pass an Error to err-code');\n }\n\n if (!props) {\n props = {};\n }\n\n if (typeof code === 'object') {\n props = code;\n code = undefined;\n }\n\n if (code != null) {\n props.code = code;\n }\n\n try {\n return assign(err, props);\n } catch (_) {\n props.message = err.message;\n props.stack = err.stack;\n\n const ErrClass = function () {};\n\n ErrClass.prototype = Object.create(Object.getPrototypeOf(err));\n\n return assign(new ErrClass(), props);\n }\n}\n\nmodule.exports = createError;\n", "function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts;\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(this._errors.length - 1, this._errors.length);\n this._timeouts = this._cachedTimeouts.slice(0);\n timeout = this._timeouts.shift();\n } else {\n return false;\n }\n }\n\n var self = this;\n var timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n", "var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && options.forever,\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n", "module.exports = require('./lib/retry');", "'use strict';\n\nvar errcode = require('err-code');\nvar retry = require('retry');\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\nfunction isRetryError(err) {\n return err && err.code === 'EPROMISERETRY' && hasOwn.call(err, 'retried');\n}\n\nfunction promiseRetry(fn, options) {\n var temp;\n var operation;\n\n if (typeof fn === 'object' && typeof options === 'function') {\n // Swap options and fn when using alternate signature (options, fn)\n temp = options;\n options = fn;\n fn = temp;\n }\n\n operation = retry.operation(options);\n\n return new Promise(function (resolve, reject) {\n operation.attempt(function (number) {\n Promise.resolve()\n .then(function () {\n return fn(function (err) {\n if (isRetryError(err)) {\n err = err.retried;\n }\n\n throw errcode(new Error('Retrying'), 'EPROMISERETRY', { retried: err });\n }, number);\n })\n .then(resolve, function (err) {\n if (isRetryError(err)) {\n err = err.retried;\n\n if (operation.retry(err || new Error())) {\n return;\n }\n }\n\n reject(err);\n });\n });\n });\n}\n\nmodule.exports = promiseRetry;\n", null, "{\n \"name\": \"expo-server-sdk\",\n \"version\": \"4.0.0\",\n \"description\": \"Server-side library for working with Expo using Node.js\",\n \"main\": \"build/ExpoClient.js\",\n \"types\": \"build/ExpoClient.d.ts\",\n \"files\": [\n \"build\"\n ],\n \"engines\": {\n \"node\": \">=20\"\n },\n \"scripts\": {\n \"build\": \"yarn prepack\",\n \"lint\": \"eslint\",\n \"prepack\": \"tsc --project tsconfig.build.json\",\n \"test\": \"jest\",\n \"tsc\": \"tsc\",\n \"watch\": \"tsc --watch\"\n },\n \"jest\": {\n \"coverageDirectory\": \"/../coverage\",\n \"coverageThreshold\": {\n \"global\": {\n \"branches\": 100,\n \"functions\": 100,\n \"lines\": 100,\n \"statements\": 0\n }\n },\n \"preset\": \"ts-jest\",\n \"rootDir\": \"src\",\n \"testEnvironment\": \"node\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/expo/expo-server-sdk-node.git\"\n },\n \"keywords\": [\n \"expo\",\n \"push-notifications\"\n ],\n \"author\": \"support@expo.dev\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/expo/expo-server-sdk-node/issues\"\n },\n \"homepage\": \"https://github.com/expo/expo-server-sdk-node#readme\",\n \"dependencies\": {\n \"node-fetch\": \"^2.6.0\",\n \"promise-limit\": \"^2.7.0\",\n \"promise-retry\": \"^2.0.1\"\n },\n \"devDependencies\": {\n \"@tsconfig/node20\": \"20.1.6\",\n \"@tsconfig/strictest\": \"2.0.5\",\n \"@types/node\": \"22.17.2\",\n \"@types/node-fetch\": \"2.6.12\",\n \"@types/promise-retry\": \"1.1.6\",\n \"eslint\": \"9.33.0\",\n \"eslint-config-universe\": \"15.0.3\",\n \"jest\": \"29.7.0\",\n \"jiti\": \"2.4.2\",\n \"msw\": \"2.10.5\",\n \"prettier\": \"3.6.2\",\n \"ts-jest\": \"29.4.1\",\n \"typescript\": \"5.9.2\"\n },\n \"packageManager\": \"yarn@4.9.2\"\n}\n", null, "type QueueSender = { send: (message: unknown) => Promise }\n\nexport class QueueDataPusher {\n private getEnv() {\n return (globalThis as {\n ENV?: {\n NOTIF_QUEUE?: QueueSender\n ORDER_PLACED_QUEUE?: QueueSender\n ORDER_CANCELLED_QUEUE?: QueueSender\n }\n }).ENV\n }\n\n async pushNotifQueue(message: unknown): Promise {\n const env = this.getEnv()\n if (!env?.NOTIF_QUEUE) {\n console.warn('NOTIF_QUEUE binding not available, skipping enqueue')\n return false\n }\n await env.NOTIF_QUEUE.send(message)\n return true\n }\n\n async pushOrderPlacedQueue(message: { name: 'order-placed'; orderIds: number[] }): Promise {\n const env = this.getEnv()\n if (!env?.ORDER_PLACED_QUEUE) {\n console.warn('ORDER_PLACED_QUEUE binding not available, skipping publish')\n return false\n }\n await env.ORDER_PLACED_QUEUE.send(message)\n return true\n }\n\n async pushOrderCancelledQueue(message: {\n name: 'order-cancelled'\n orderId: number\n cancelledBy: 'user' | 'admin'\n reason: string\n cancelledAt: string\n }): Promise {\n const env = this.getEnv()\n if (!env?.ORDER_CANCELLED_QUEUE) {\n console.warn('ORDER_CANCELLED_QUEUE binding not available, skipping publish')\n return false\n }\n await env.ORDER_CANCELLED_QUEUE.send(message)\n return true\n }\n}\n\nexport const queueDataPusher = new QueueDataPusher()\n", "/**\n * This file contains constants that are used throughout the application\n * to avoid hardcoding strings in multiple places\n */\n\n// User role and designation constants\nexport const READABLE_ORDER_ID_KEY = 'readableOrderId';\n\n// Queue constants\nexport const NOTIFS_QUEUE = 'notifications';\nexport const OTP_COMMENT_NAME='otp-comment'\n\n// Notification message constants\nexport const ORDER_PLACED_MESSAGE = 'Your order has been placed successfully!';\nexport const PAYMENT_FAILED_MESSAGE = 'Payment failed. Please try again.';\nexport const ORDER_PACKAGED_MESSAGE = 'Your order has been packaged and is ready for delivery.';\nexport const ORDER_OUT_FOR_DELIVERY_MESSAGE = 'Your order is out for delivery.';\nexport const ORDER_DELIVERED_MESSAGE = 'Your order has been delivered.';\nexport const ORDER_CANCELLED_MESSAGE = 'Your order has been cancelled.';\nexport const REFUND_INITIATED_MESSAGE = 'Refund has been initiated for your order.';\nexport const WELCOME_MESSAGE = 'Welcome to Farm2Door! Thank you for joining us.';\n\nexport const REFUND_STATUS = {\n PENDING: 'none',\n NOT_APPLICABLE: 'na',\n PROCESSING: 'initiated',\n SUCCESS: 'success',\n};", "// import { Queue, Worker } from 'bullmq';\nimport { Expo } from 'expo-server-sdk';\n// import { db } from '@/src/db/db_index'\nimport { generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\nimport { queueDataPusher } from '@/src/lib/queue-data-pusher'\nimport {\n NOTIFS_QUEUE,\n ORDER_PLACED_MESSAGE,\n PAYMENT_FAILED_MESSAGE,\n ORDER_PACKAGED_MESSAGE,\n ORDER_OUT_FOR_DELIVERY_MESSAGE,\n ORDER_DELIVERED_MESSAGE,\n ORDER_CANCELLED_MESSAGE,\n REFUND_INITIATED_MESSAGE\n} from '@/src/lib/const-strings';\n\n\nexport const notificationQueue:any = {};\n\n// export const notificationQueue = new Queue(NOTIFS_QUEUE, {\n// connection: { url: redisUrl },\n// defaultJobOptions: {\n// removeOnComplete: true,\n// removeOnFail: 10,\n// attempts: 3,\n// },\n// });\n\nexport const notificationWorker:any = {};\n// export const notificationWorker = new Worker(NOTIFS_QUEUE, async (job) => {\n// if (!job) return;\n//\n// const { name, data } = job;\n// console.log(`Processing notification job ${job.id} - ${name}`);\n//\n// if (name === 'send-admin-notification') {\n// await sendAdminNotification(data);\n// } else if (name === 'send-notification') {\n// // Handle legacy notification type\n// console.log('Legacy notification job - not implemented yet');\n// }\n// }, {\n// connection: { url: redisUrl },\n// concurrency: 5,\n// });\n\nexport async function sendAdminNotification(data: {\n token: string;\n title: string;\n body: string;\n imageUrl: string | null;\n}) {\n const { token, title, body, imageUrl } = data;\n \n // Validate Expo push token\n if (!Expo.isExpoPushToken(token)) {\n console.error(`Invalid Expo push token: ${token}`);\n return;\n }\n \n // Generate signed URL for image if provided\n const signedImageUrl = imageUrl ? await generateSignedUrlFromS3Url(imageUrl) : null;\n \n // Send notification\n const expo = new Expo();\n const message = {\n to: token,\n sound: 'default',\n title,\n body,\n data: { imageUrl },\n ...(signedImageUrl ? {\n attachments: [\n {\n url: signedImageUrl,\n contentType: 'image/jpeg',\n }\n ]\n } : {}),\n };\n \n try {\n const [ticket] = await expo.sendPushNotificationsAsync([message]);\n console.log(`Notification sent:`, ticket);\n } catch (error) {\n console.error(`Failed to send notification:`, error);\n throw error;\n }\n}\n\n// notificationWorker.on('completed', (job) => {\n// if (job) console.log(`Notification job ${job.id} completed`);\n// });\n// notificationWorker.on('failed', (job, err) => {\n// if (job) console.error(`Notification job ${job.id} failed:`, err);\n// });\n\nexport async function scheduleNotification(userId: number, payload: any, options?: { delay?: number; priority?: number }) {\n const jobData = { userId, ...payload };\n await queueDataPusher.pushNotifQueue({ name: 'send-notification', jobData, options })\n}\n\n// Utility methods for specific notification events\nexport async function sendOrderPlacedNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Order Placed',\n body: ORDER_PLACED_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendPaymentFailedNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Payment Failed',\n body: PAYMENT_FAILED_MESSAGE,\n type: 'payment',\n orderId\n });\n}\n\nexport async function sendOrderPackagedNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Order Packaged',\n body: ORDER_PACKAGED_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendOrderOutForDeliveryNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Out for Delivery',\n body: ORDER_OUT_FOR_DELIVERY_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendOrderDeliveredNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Order Delivered',\n body: ORDER_DELIVERED_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendOrderCancelledNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Order Cancelled',\n body: ORDER_CANCELLED_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendRefundInitiatedNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Refund Initiated',\n body: REFUND_INITIATED_MESSAGE,\n type: 'refund',\n orderId\n });\n}\n//\n// process.on('SIGTERM', async () => {\n// await notificationQueue.close();\n// await notificationWorker.close();\n// });\n", "import axios from 'axios';\nimport { getIsDevMode, getTelegramBotToken, getTelegramChatIds } from '@/src/lib/env-exporter'\n\n/**\n * Send a message to Telegram bot\n * @param message The message text to send\n * @returns Promise indicating success, failure, or null if dev mode\n */\nexport const sendTelegramMessage = async (message: string): Promise => {\n console.log('from send telegram message')\n if (getIsDevMode()) {\n return null;\n }\n const botToken = getTelegramBotToken()\n const chatIds = getTelegramChatIds()\n if (!botToken || chatIds.length === 0) {\n console.warn('Telegram credentials not configured, skipping notification')\n return null\n }\n const telegramApiUrl = `https://api.telegram.org/bot${botToken}`\n console.log(botToken, chatIds, telegramApiUrl)\n try {\n const results = await Promise.all(\n chatIds.map(async (chatId) => {\n try {\n const response = await axios.post(`${telegramApiUrl}/sendMessage`, {\n chat_id: chatId,\n text: message,\n parse_mode: 'HTML',\n });\n\n if (response.data && response.data.ok) {\n console.log(`Telegram message sent successfully to ${chatId}`);\n return true;\n } else {\n console.error(`Telegram API error for ${chatId}:`, response.data);\n return false;\n }\n } catch (error) {\n console.error(`Failed to send Telegram message to ${chatId}:`, error);\n return false;\n }\n })\n ); \n\n console.log('sent telegram message successfully')\n \n\n // Return true if at least one message was sent successfully\n return results.some((result) => result);\n } catch (error) {\n console.error('Failed to send Telegram message:', error);\n return false;\n }\n};\n", "import {\n getOrdersByIdsWithFullData,\n getOrderByIdWithFullData,\n} from '@/src/dbService'\nimport { sendTelegramMessage } from '@/src/lib/telegram-service'\nimport { queueDataPusher } from '@/src/lib/queue-data-pusher'\n\ninterface OrderIdMessage {\n orderIds: number[];\n}\n\ninterface CancellationMessage {\n orderId: number;\n cancelledBy: 'user' | 'admin';\n reason: string;\n cancelledAt: string;\n}\n\nconst formatDateTime = (dateStr: string | null | undefined): string => {\n if (!dateStr) return 'N/A';\n return new Date(dateStr).toLocaleString('en-IN', {\n dateStyle: 'medium',\n timeStyle: 'short',\n timeZone: 'Asia/Kolkata',\n });\n};\n\nconst formatOrderMessageWithFullData = (ordersData: any[]): string => {\n console.log('formatting the msg')\n let message = '\uD83D\uDED2 New Order Placed\\n\\n';\n\n ordersData.forEach((order, index) => {\n message += `Order ${order.id}\\n`;\n\n message += '\uD83D\uDCE6 Items:\\n';\n order.orderItems?.forEach((item: any) => {\n message += ` \u2022 ${item.product?.name || 'Unknown'} x${item.quantity}\\n`;\n });\n\n message += `\\n\uD83D\uDCB0 Total: \u20B9${order.totalAmount}\\n`;\n\n message += `\uD83D\uDE9A Delivery: ${\n order.isFlashDelivery ? 'Flash Delivery' : formatDateTime(order.slot?.deliveryTime)\n }\\n`;\n\n message += `\\n\uD83D\uDCCD Address:\\n`;\n message += ` ${order.address?.name || 'N/A'}\\n`;\n message += ` ${order.address?.addressLine1 || ''}\\n`;\n if (order.address?.addressLine2) {\n message += ` ${order.address.addressLine2}\\n`;\n }\n message += ` ${order.address?.city || ''}, ${order.address?.state || ''} - ${order.address?.pincode || ''}\\n`;\n if (order.address?.phone) {\n message += ` \uD83D\uDCDE ${order.address.phone}\\n`;\n }\n\n if (index < ordersData.length - 1) {\n message += '\\n---\\n\\n';\n }\n });\n\n return message;\n};\n\nconst formatCancellationMessage = (orderData: any, cancellationData: CancellationMessage): string => {\n const message = `\u274C Order Cancelled\n\nOrder #${orderData.id}\n\n\uD83D\uDC64 Name: ${orderData.address?.name || 'N/A'}\n\uD83D\uDCDE Phone: ${orderData.address?.phone || 'N/A'}\n\n\uD83D\uDCE6 Items:\n${orderData.orderItems?.map((item: any) => ` \u2022 ${item.product?.name || 'Unknown'} x${item.quantity}`).join('\\n') || ' N/A'}\n\n\uD83D\uDCB0 Total: \u20B9${orderData.totalAmount}\n\uD83D\uDCB3 Refund: ${orderData.refundStatus === 'na' ? 'N/A (COD)' : orderData.refundStatus || 'Pending'}\n\n\u2753 Reason: ${cancellationData.reason}\n\uD83D\uDC64 Cancelled by: ${cancellationData.cancelledBy === 'admin' ? 'Admin' : 'User'}\n\u23F0 Time: ${formatDateTime(cancellationData.cancelledAt)}\n`;\n\n return message;\n};\n\nexport const handleOrderPlaced = async (orderIds: number[], rawMessage?: string): Promise => {\n try {\n const ordersData = await getOrdersByIdsWithFullData(orderIds)\n console.log({ordersData});\n const telegramMessage = formatOrderMessageWithFullData(ordersData)\n await sendTelegramMessage(telegramMessage)\n } catch (error) {\n console.error('Failed to process order message:', error)\n const fallback = rawMessage ? `\u26A0\uFE0F Error parsing order: ${rawMessage}` : '\u26A0\uFE0F Error parsing order'\n await sendTelegramMessage(fallback)\n }\n}\n\nexport const handleOrderCancelled = async (\n cancellationData: CancellationMessage,\n rawMessage?: string\n): Promise => {\n try {\n console.log('Order cancellation received, sending to Telegram...')\n const orderData = await getOrderByIdWithFullData(cancellationData.orderId)\n\n if (!orderData) {\n console.error('Order not found for cancellation:', cancellationData.orderId)\n await sendTelegramMessage(`\u26A0\uFE0F Order ${cancellationData.orderId} was cancelled but could not be found in database`)\n return\n }\n\n const refundStatus = orderData.refunds?.[0]?.refundStatus || 'pending'\n\n const telegramMessage = formatCancellationMessage({ ...orderData, refundStatus }, cancellationData)\n await sendTelegramMessage(telegramMessage)\n } catch (error) {\n console.error('Failed to process cancellation message:', error)\n const fallback = rawMessage ? `\u26A0\uFE0F Error processing cancellation: ${rawMessage}` : '\u26A0\uFE0F Error processing cancellation'\n await sendTelegramMessage(fallback)\n }\n}\n\n/**\n * Start the post order handler\n * Subscribes to the orders:placed channel and sends to Telegram\n */\nexport const publishOrder = async (orderDetails: OrderIdMessage): Promise => {\n console.log('publishing order')\n try {\n await queueDataPusher.pushOrderPlacedQueue({\n name: 'order-placed',\n orderIds: orderDetails.orderIds,\n })\n return true;\n } catch (error) {\n console.error('Failed to publish order:', error);\n return false;\n }\n};\n\nexport const publishFormattedOrder = async (\n createdOrders: any[],\n ordersBySlot: Map\n): Promise => {\n try {\n const orderIds = createdOrders.map(order => order.id);\n return await publishOrder({ orderIds });\n } catch (error) {\n console.error('Failed to format and publish order:', error);\n return false;\n }\n};\n\nexport const publishCancellation = async (\n orderId: number,\n cancelledBy: 'user' | 'admin',\n reason: string\n): Promise => {\n try {\n const message: CancellationMessage = {\n orderId,\n cancelledBy,\n reason,\n cancelledAt: new Date().toISOString(),\n };\n await queueDataPusher.pushOrderCancelledQueue({\n name: 'order-cancelled',\n ...message,\n })\n console.log('Cancellation published to queue:', orderId);\n return true;\n } catch (error) {\n console.error('Failed to publish cancellation:', error);\n return false;\n }\n};\n", "// src/compose.ts\nvar compose = (middleware, onError, onNotFound) => {\n return (context, next) => {\n let index = -1;\n return dispatch(0);\n async function dispatch(i) {\n if (i <= index) {\n throw new Error(\"next() called multiple times\");\n }\n index = i;\n let res;\n let isError = false;\n let handler;\n if (middleware[i]) {\n handler = middleware[i][0][0];\n context.req.routeIndex = i;\n } else {\n handler = i === middleware.length && next || void 0;\n }\n if (handler) {\n try {\n res = await handler(context, () => dispatch(i + 1));\n } catch (err) {\n if (err instanceof Error && onError) {\n context.error = err;\n res = await onError(err, context);\n isError = true;\n } else {\n throw err;\n }\n }\n } else {\n if (context.finalized === false && onNotFound) {\n res = await onNotFound(context);\n }\n }\n if (res && (context.finalized === false || isError)) {\n context.res = res;\n }\n return context;\n }\n };\n};\nexport {\n compose\n};\n", "// src/http-exception.ts\nvar HTTPException = class extends Error {\n res;\n status;\n /**\n * Creates an instance of `HTTPException`.\n * @param status - HTTP status code for the exception. Defaults to 500.\n * @param options - Additional options for the exception.\n */\n constructor(status = 500, options) {\n super(options?.message, { cause: options?.cause });\n this.res = options?.res;\n this.status = status;\n }\n /**\n * Returns the response object associated with the exception.\n * If a response object is not provided, a new response is created with the error message and status code.\n * @returns The response object.\n */\n getResponse() {\n if (this.res) {\n const newResponse = new Response(this.res.body, {\n status: this.status,\n headers: this.res.headers\n });\n return newResponse;\n }\n return new Response(this.message, {\n status: this.status\n });\n }\n};\nexport {\n HTTPException\n};\n", "// src/request/constants.ts\nvar GET_MATCH_RESULT = /* @__PURE__ */ Symbol();\nexport {\n GET_MATCH_RESULT\n};\n", "// src/utils/body.ts\nimport { HonoRequest } from \"../request.js\";\nvar parseBody = async (request, options = /* @__PURE__ */ Object.create(null)) => {\n const { all = false, dot = false } = options;\n const headers = request instanceof HonoRequest ? request.raw.headers : request.headers;\n const contentType = headers.get(\"Content-Type\");\n if (contentType?.startsWith(\"multipart/form-data\") || contentType?.startsWith(\"application/x-www-form-urlencoded\")) {\n return parseFormData(request, { all, dot });\n }\n return {};\n};\nasync function parseFormData(request, options) {\n const formData = await request.formData();\n if (formData) {\n return convertFormDataToBodyData(formData, options);\n }\n return {};\n}\nfunction convertFormDataToBodyData(formData, options) {\n const form = /* @__PURE__ */ Object.create(null);\n formData.forEach((value, key) => {\n const shouldParseAllValues = options.all || key.endsWith(\"[]\");\n if (!shouldParseAllValues) {\n form[key] = value;\n } else {\n handleParsingAllValues(form, key, value);\n }\n });\n if (options.dot) {\n Object.entries(form).forEach(([key, value]) => {\n const shouldParseDotValues = key.includes(\".\");\n if (shouldParseDotValues) {\n handleParsingNestedValues(form, key, value);\n delete form[key];\n }\n });\n }\n return form;\n}\nvar handleParsingAllValues = (form, key, value) => {\n if (form[key] !== void 0) {\n if (Array.isArray(form[key])) {\n ;\n form[key].push(value);\n } else {\n form[key] = [form[key], value];\n }\n } else {\n if (!key.endsWith(\"[]\")) {\n form[key] = value;\n } else {\n form[key] = [value];\n }\n }\n};\nvar handleParsingNestedValues = (form, key, value) => {\n if (/(?:^|\\.)__proto__\\./.test(key)) {\n return;\n }\n let nestedForm = form;\n const keys = key.split(\".\");\n keys.forEach((key2, index) => {\n if (index === keys.length - 1) {\n nestedForm[key2] = value;\n } else {\n if (!nestedForm[key2] || typeof nestedForm[key2] !== \"object\" || Array.isArray(nestedForm[key2]) || nestedForm[key2] instanceof File) {\n nestedForm[key2] = /* @__PURE__ */ Object.create(null);\n }\n nestedForm = nestedForm[key2];\n }\n });\n};\nexport {\n parseBody\n};\n", "// src/utils/url.ts\nvar splitPath = (path) => {\n const paths = path.split(\"/\");\n if (paths[0] === \"\") {\n paths.shift();\n }\n return paths;\n};\nvar splitRoutingPath = (routePath) => {\n const { groups, path } = extractGroupsFromPath(routePath);\n const paths = splitPath(path);\n return replaceGroupMarks(paths, groups);\n};\nvar extractGroupsFromPath = (path) => {\n const groups = [];\n path = path.replace(/\\{[^}]+\\}/g, (match, index) => {\n const mark = `@${index}`;\n groups.push([mark, match]);\n return mark;\n });\n return { groups, path };\n};\nvar replaceGroupMarks = (paths, groups) => {\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = paths.length - 1; j >= 0; j--) {\n if (paths[j].includes(mark)) {\n paths[j] = paths[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n return paths;\n};\nvar patternCache = {};\nvar getPattern = (label, next) => {\n if (label === \"*\") {\n return \"*\";\n }\n const match = label.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n if (match) {\n const cacheKey = `${label}#${next}`;\n if (!patternCache[cacheKey]) {\n if (match[2]) {\n patternCache[cacheKey] = next && next[0] !== \":\" && next[0] !== \"*\" ? [cacheKey, match[1], new RegExp(`^${match[2]}(?=/${next})`)] : [label, match[1], new RegExp(`^${match[2]}$`)];\n } else {\n patternCache[cacheKey] = [label, match[1], true];\n }\n }\n return patternCache[cacheKey];\n }\n return null;\n};\nvar tryDecode = (str, decoder) => {\n try {\n return decoder(str);\n } catch {\n return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {\n try {\n return decoder(match);\n } catch {\n return match;\n }\n });\n }\n};\nvar tryDecodeURI = (str) => tryDecode(str, decodeURI);\nvar getPath = (request) => {\n const url = request.url;\n const start = url.indexOf(\"/\", url.indexOf(\":\") + 4);\n let i = start;\n for (; i < url.length; i++) {\n const charCode = url.charCodeAt(i);\n if (charCode === 37) {\n const queryIndex = url.indexOf(\"?\", i);\n const hashIndex = url.indexOf(\"#\", i);\n const end = queryIndex === -1 ? hashIndex === -1 ? void 0 : hashIndex : hashIndex === -1 ? queryIndex : Math.min(queryIndex, hashIndex);\n const path = url.slice(start, end);\n return tryDecodeURI(path.includes(\"%25\") ? path.replace(/%25/g, \"%2525\") : path);\n } else if (charCode === 63 || charCode === 35) {\n break;\n }\n }\n return url.slice(start, i);\n};\nvar getQueryStrings = (url) => {\n const queryIndex = url.indexOf(\"?\", 8);\n return queryIndex === -1 ? \"\" : \"?\" + url.slice(queryIndex + 1);\n};\nvar getPathNoStrict = (request) => {\n const result = getPath(request);\n return result.length > 1 && result.at(-1) === \"/\" ? result.slice(0, -1) : result;\n};\nvar mergePath = (base, sub, ...rest) => {\n if (rest.length) {\n sub = mergePath(sub, ...rest);\n }\n return `${base?.[0] === \"/\" ? \"\" : \"/\"}${base}${sub === \"/\" ? \"\" : `${base?.at(-1) === \"/\" ? \"\" : \"/\"}${sub?.[0] === \"/\" ? sub.slice(1) : sub}`}`;\n};\nvar checkOptionalParameter = (path) => {\n if (path.charCodeAt(path.length - 1) !== 63 || !path.includes(\":\")) {\n return null;\n }\n const segments = path.split(\"/\");\n const results = [];\n let basePath = \"\";\n segments.forEach((segment) => {\n if (segment !== \"\" && !/\\:/.test(segment)) {\n basePath += \"/\" + segment;\n } else if (/\\:/.test(segment)) {\n if (/\\?/.test(segment)) {\n if (results.length === 0 && basePath === \"\") {\n results.push(\"/\");\n } else {\n results.push(basePath);\n }\n const optionalSegment = segment.replace(\"?\", \"\");\n basePath += \"/\" + optionalSegment;\n results.push(basePath);\n } else {\n basePath += \"/\" + segment;\n }\n }\n });\n return results.filter((v, i, a) => a.indexOf(v) === i);\n};\nvar _decodeURI = (value) => {\n if (!/[%+]/.test(value)) {\n return value;\n }\n if (value.indexOf(\"+\") !== -1) {\n value = value.replace(/\\+/g, \" \");\n }\n return value.indexOf(\"%\") !== -1 ? tryDecode(value, decodeURIComponent_) : value;\n};\nvar _getQueryParam = (url, key, multiple) => {\n let encoded;\n if (!multiple && key && !/[%+]/.test(key)) {\n let keyIndex2 = url.indexOf(\"?\", 8);\n if (keyIndex2 === -1) {\n return void 0;\n }\n if (!url.startsWith(key, keyIndex2 + 1)) {\n keyIndex2 = url.indexOf(`&${key}`, keyIndex2 + 1);\n }\n while (keyIndex2 !== -1) {\n const trailingKeyCode = url.charCodeAt(keyIndex2 + key.length + 1);\n if (trailingKeyCode === 61) {\n const valueIndex = keyIndex2 + key.length + 2;\n const endIndex = url.indexOf(\"&\", valueIndex);\n return _decodeURI(url.slice(valueIndex, endIndex === -1 ? void 0 : endIndex));\n } else if (trailingKeyCode == 38 || isNaN(trailingKeyCode)) {\n return \"\";\n }\n keyIndex2 = url.indexOf(`&${key}`, keyIndex2 + 1);\n }\n encoded = /[%+]/.test(url);\n if (!encoded) {\n return void 0;\n }\n }\n const results = {};\n encoded ??= /[%+]/.test(url);\n let keyIndex = url.indexOf(\"?\", 8);\n while (keyIndex !== -1) {\n const nextKeyIndex = url.indexOf(\"&\", keyIndex + 1);\n let valueIndex = url.indexOf(\"=\", keyIndex);\n if (valueIndex > nextKeyIndex && nextKeyIndex !== -1) {\n valueIndex = -1;\n }\n let name = url.slice(\n keyIndex + 1,\n valueIndex === -1 ? nextKeyIndex === -1 ? void 0 : nextKeyIndex : valueIndex\n );\n if (encoded) {\n name = _decodeURI(name);\n }\n keyIndex = nextKeyIndex;\n if (name === \"\") {\n continue;\n }\n let value;\n if (valueIndex === -1) {\n value = \"\";\n } else {\n value = url.slice(valueIndex + 1, nextKeyIndex === -1 ? void 0 : nextKeyIndex);\n if (encoded) {\n value = _decodeURI(value);\n }\n }\n if (multiple) {\n if (!(results[name] && Array.isArray(results[name]))) {\n results[name] = [];\n }\n ;\n results[name].push(value);\n } else {\n results[name] ??= value;\n }\n }\n return key ? results[key] : results;\n};\nvar getQueryParam = _getQueryParam;\nvar getQueryParams = (url, key) => {\n return _getQueryParam(url, key, true);\n};\nvar decodeURIComponent_ = decodeURIComponent;\nexport {\n checkOptionalParameter,\n decodeURIComponent_,\n getPath,\n getPathNoStrict,\n getPattern,\n getQueryParam,\n getQueryParams,\n getQueryStrings,\n mergePath,\n splitPath,\n splitRoutingPath,\n tryDecode,\n tryDecodeURI\n};\n", "// src/request.ts\nimport { HTTPException } from \"./http-exception.js\";\nimport { GET_MATCH_RESULT } from \"./request/constants.js\";\nimport { parseBody } from \"./utils/body.js\";\nimport { decodeURIComponent_, getQueryParam, getQueryParams, tryDecode } from \"./utils/url.js\";\nvar tryDecodeURIComponent = (str) => tryDecode(str, decodeURIComponent_);\nvar HonoRequest = class {\n /**\n * `.raw` can get the raw Request object.\n *\n * @see {@link https://hono.dev/docs/api/request#raw}\n *\n * @example\n * ```ts\n * // For Cloudflare Workers\n * app.post('/', async (c) => {\n * const metadata = c.req.raw.cf?.hostMetadata?\n * ...\n * })\n * ```\n */\n raw;\n #validatedData;\n // Short name of validatedData\n #matchResult;\n routeIndex = 0;\n /**\n * `.path` can get the pathname of the request.\n *\n * @see {@link https://hono.dev/docs/api/request#path}\n *\n * @example\n * ```ts\n * app.get('/about/me', (c) => {\n * const pathname = c.req.path // `/about/me`\n * })\n * ```\n */\n path;\n bodyCache = {};\n constructor(request, path = \"/\", matchResult = [[]]) {\n this.raw = request;\n this.path = path;\n this.#matchResult = matchResult;\n this.#validatedData = {};\n }\n param(key) {\n return key ? this.#getDecodedParam(key) : this.#getAllDecodedParams();\n }\n #getDecodedParam(key) {\n const paramKey = this.#matchResult[0][this.routeIndex][1][key];\n const param = this.#getParamValue(paramKey);\n return param && /\\%/.test(param) ? tryDecodeURIComponent(param) : param;\n }\n #getAllDecodedParams() {\n const decoded = {};\n const keys = Object.keys(this.#matchResult[0][this.routeIndex][1]);\n for (const key of keys) {\n const value = this.#getParamValue(this.#matchResult[0][this.routeIndex][1][key]);\n if (value !== void 0) {\n decoded[key] = /\\%/.test(value) ? tryDecodeURIComponent(value) : value;\n }\n }\n return decoded;\n }\n #getParamValue(paramKey) {\n return this.#matchResult[1] ? this.#matchResult[1][paramKey] : paramKey;\n }\n query(key) {\n return getQueryParam(this.url, key);\n }\n queries(key) {\n return getQueryParams(this.url, key);\n }\n header(name) {\n if (name) {\n return this.raw.headers.get(name) ?? void 0;\n }\n const headerData = {};\n this.raw.headers.forEach((value, key) => {\n headerData[key] = value;\n });\n return headerData;\n }\n async parseBody(options) {\n return parseBody(this, options);\n }\n #cachedBody = (key) => {\n const { bodyCache, raw } = this;\n const cachedBody = bodyCache[key];\n if (cachedBody) {\n return cachedBody;\n }\n const anyCachedKey = Object.keys(bodyCache)[0];\n if (anyCachedKey) {\n return bodyCache[anyCachedKey].then((body) => {\n if (anyCachedKey === \"json\") {\n body = JSON.stringify(body);\n }\n return new Response(body)[key]();\n });\n }\n return bodyCache[key] = raw[key]();\n };\n /**\n * `.json()` can parse Request body of type `application/json`\n *\n * @see {@link https://hono.dev/docs/api/request#json}\n *\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.json()\n * })\n * ```\n */\n json() {\n return this.#cachedBody(\"text\").then((text) => JSON.parse(text));\n }\n /**\n * `.text()` can parse Request body of type `text/plain`\n *\n * @see {@link https://hono.dev/docs/api/request#text}\n *\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.text()\n * })\n * ```\n */\n text() {\n return this.#cachedBody(\"text\");\n }\n /**\n * `.arrayBuffer()` parse Request body as an `ArrayBuffer`\n *\n * @see {@link https://hono.dev/docs/api/request#arraybuffer}\n *\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.arrayBuffer()\n * })\n * ```\n */\n arrayBuffer() {\n return this.#cachedBody(\"arrayBuffer\");\n }\n /**\n * Parses the request body as a `Blob`.\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.blob();\n * });\n * ```\n * @see https://hono.dev/docs/api/request#blob\n */\n blob() {\n return this.#cachedBody(\"blob\");\n }\n /**\n * Parses the request body as `FormData`.\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.formData();\n * });\n * ```\n * @see https://hono.dev/docs/api/request#formdata\n */\n formData() {\n return this.#cachedBody(\"formData\");\n }\n /**\n * Adds validated data to the request.\n *\n * @param target - The target of the validation.\n * @param data - The validated data to add.\n */\n addValidatedData(target, data) {\n this.#validatedData[target] = data;\n }\n valid(target) {\n return this.#validatedData[target];\n }\n /**\n * `.url()` can get the request url strings.\n *\n * @see {@link https://hono.dev/docs/api/request#url}\n *\n * @example\n * ```ts\n * app.get('/about/me', (c) => {\n * const url = c.req.url // `http://localhost:8787/about/me`\n * ...\n * })\n * ```\n */\n get url() {\n return this.raw.url;\n }\n /**\n * `.method()` can get the method name of the request.\n *\n * @see {@link https://hono.dev/docs/api/request#method}\n *\n * @example\n * ```ts\n * app.get('/about/me', (c) => {\n * const method = c.req.method // `GET`\n * })\n * ```\n */\n get method() {\n return this.raw.method;\n }\n get [GET_MATCH_RESULT]() {\n return this.#matchResult;\n }\n /**\n * `.matchedRoutes()` can return a matched route in the handler\n *\n * @deprecated\n *\n * Use matchedRoutes helper defined in \"hono/route\" instead.\n *\n * @see {@link https://hono.dev/docs/api/request#matchedroutes}\n *\n * @example\n * ```ts\n * app.use('*', async function logger(c, next) {\n * await next()\n * c.req.matchedRoutes.forEach(({ handler, method, path }, i) => {\n * const name = handler.name || (handler.length < 2 ? '[handler]' : '[middleware]')\n * console.log(\n * method,\n * ' ',\n * path,\n * ' '.repeat(Math.max(10 - path.length, 0)),\n * name,\n * i === c.req.routeIndex ? '<- respond from here' : ''\n * )\n * })\n * })\n * ```\n */\n get matchedRoutes() {\n return this.#matchResult[0].map(([[, route]]) => route);\n }\n /**\n * `routePath()` can retrieve the path registered within the handler\n *\n * @deprecated\n *\n * Use routePath helper defined in \"hono/route\" instead.\n *\n * @see {@link https://hono.dev/docs/api/request#routepath}\n *\n * @example\n * ```ts\n * app.get('/posts/:id', (c) => {\n * return c.json({ path: c.req.routePath })\n * })\n * ```\n */\n get routePath() {\n return this.#matchResult[0].map(([[, route]]) => route)[this.routeIndex].path;\n }\n};\nvar cloneRawRequest = async (req) => {\n if (!req.raw.bodyUsed) {\n return req.raw.clone();\n }\n const cacheKey = Object.keys(req.bodyCache)[0];\n if (!cacheKey) {\n throw new HTTPException(500, {\n message: \"Cannot clone request: body was already consumed and not cached. Please use HonoRequest methods (e.g., req.json(), req.text()) instead of consuming req.raw directly.\"\n });\n }\n const requestInit = {\n body: await req[cacheKey](),\n cache: req.raw.cache,\n credentials: req.raw.credentials,\n headers: req.header(),\n integrity: req.raw.integrity,\n keepalive: req.raw.keepalive,\n method: req.method,\n mode: req.raw.mode,\n redirect: req.raw.redirect,\n referrer: req.raw.referrer,\n referrerPolicy: req.raw.referrerPolicy,\n signal: req.raw.signal\n };\n return new Request(req.url, requestInit);\n};\nexport {\n HonoRequest,\n cloneRawRequest\n};\n", "// src/utils/html.ts\nvar HtmlEscapedCallbackPhase = {\n Stringify: 1,\n BeforeStream: 2,\n Stream: 3\n};\nvar raw = (value, callbacks) => {\n const escapedString = new String(value);\n escapedString.isEscaped = true;\n escapedString.callbacks = callbacks;\n return escapedString;\n};\nvar escapeRe = /[&<>'\"]/;\nvar stringBufferToString = async (buffer, callbacks) => {\n let str = \"\";\n callbacks ||= [];\n const resolvedBuffer = await Promise.all(buffer);\n for (let i = resolvedBuffer.length - 1; ; i--) {\n str += resolvedBuffer[i];\n i--;\n if (i < 0) {\n break;\n }\n let r = resolvedBuffer[i];\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n const isEscaped = r.isEscaped;\n r = await (typeof r === \"object\" ? r.toString() : r);\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n if (r.isEscaped ?? isEscaped) {\n str += r;\n } else {\n const buf = [str];\n escapeToBuffer(r, buf);\n str = buf[0];\n }\n }\n return raw(str, callbacks);\n};\nvar escapeToBuffer = (str, buffer) => {\n const match = str.search(escapeRe);\n if (match === -1) {\n buffer[0] += str;\n return;\n }\n let escape;\n let index;\n let lastIndex = 0;\n for (index = match; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escape = \""\";\n break;\n case 39:\n escape = \"'\";\n break;\n case 38:\n escape = \"&\";\n break;\n case 60:\n escape = \"<\";\n break;\n case 62:\n escape = \">\";\n break;\n default:\n continue;\n }\n buffer[0] += str.substring(lastIndex, index) + escape;\n lastIndex = index + 1;\n }\n buffer[0] += str.substring(lastIndex, index);\n};\nvar resolveCallbackSync = (str) => {\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return str;\n }\n const buffer = [str];\n const context = {};\n callbacks.forEach((c) => c({ phase: HtmlEscapedCallbackPhase.Stringify, buffer, context }));\n return buffer[0];\n};\nvar resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => {\n if (typeof str === \"object\" && !(str instanceof String)) {\n if (!(str instanceof Promise)) {\n str = str.toString();\n }\n if (str instanceof Promise) {\n str = await str;\n }\n }\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return Promise.resolve(str);\n }\n if (buffer) {\n buffer[0] += str;\n } else {\n buffer = [str];\n }\n const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then(\n (res) => Promise.all(\n res.filter(Boolean).map((str2) => resolveCallback(str2, phase, false, context, buffer))\n ).then(() => buffer[0])\n );\n if (preserveCallbacks) {\n return raw(await resStr, callbacks);\n } else {\n return resStr;\n }\n};\nexport {\n HtmlEscapedCallbackPhase,\n escapeToBuffer,\n raw,\n resolveCallback,\n resolveCallbackSync,\n stringBufferToString\n};\n", "// src/context.ts\nimport { HonoRequest } from \"./request.js\";\nimport { HtmlEscapedCallbackPhase, resolveCallback } from \"./utils/html.js\";\nvar TEXT_PLAIN = \"text/plain; charset=UTF-8\";\nvar setDefaultContentType = (contentType, headers) => {\n return {\n \"Content-Type\": contentType,\n ...headers\n };\n};\nvar createResponseInstance = (body, init) => new Response(body, init);\nvar Context = class {\n #rawRequest;\n #req;\n /**\n * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.\n *\n * @see {@link https://hono.dev/docs/api/context#env}\n *\n * @example\n * ```ts\n * // Environment object for Cloudflare Workers\n * app.get('*', async c => {\n * const counter = c.env.COUNTER\n * })\n * ```\n */\n env = {};\n #var;\n finalized = false;\n /**\n * `.error` can get the error object from the middleware if the Handler throws an error.\n *\n * @see {@link https://hono.dev/docs/api/context#error}\n *\n * @example\n * ```ts\n * app.use('*', async (c, next) => {\n * await next()\n * if (c.error) {\n * // do something...\n * }\n * })\n * ```\n */\n error;\n #status;\n #executionCtx;\n #res;\n #layout;\n #renderer;\n #notFoundHandler;\n #preparedHeaders;\n #matchResult;\n #path;\n /**\n * Creates an instance of the Context class.\n *\n * @param req - The Request object.\n * @param options - Optional configuration options for the context.\n */\n constructor(req, options) {\n this.#rawRequest = req;\n if (options) {\n this.#executionCtx = options.executionCtx;\n this.env = options.env;\n this.#notFoundHandler = options.notFoundHandler;\n this.#path = options.path;\n this.#matchResult = options.matchResult;\n }\n }\n /**\n * `.req` is the instance of {@link HonoRequest}.\n */\n get req() {\n this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);\n return this.#req;\n }\n /**\n * @see {@link https://hono.dev/docs/api/context#event}\n * The FetchEvent associated with the current request.\n *\n * @throws Will throw an error if the context does not have a FetchEvent.\n */\n get event() {\n if (this.#executionCtx && \"respondWith\" in this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no FetchEvent\");\n }\n }\n /**\n * @see {@link https://hono.dev/docs/api/context#executionctx}\n * The ExecutionContext associated with the current request.\n *\n * @throws Will throw an error if the context does not have an ExecutionContext.\n */\n get executionCtx() {\n if (this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no ExecutionContext\");\n }\n }\n /**\n * @see {@link https://hono.dev/docs/api/context#res}\n * The Response object for the current request.\n */\n get res() {\n return this.#res ||= createResponseInstance(null, {\n headers: this.#preparedHeaders ??= new Headers()\n });\n }\n /**\n * Sets the Response object for the current request.\n *\n * @param _res - The Response object to set.\n */\n set res(_res) {\n if (this.#res && _res) {\n _res = createResponseInstance(_res.body, _res);\n for (const [k, v] of this.#res.headers.entries()) {\n if (k === \"content-type\") {\n continue;\n }\n if (k === \"set-cookie\") {\n const cookies = this.#res.headers.getSetCookie();\n _res.headers.delete(\"set-cookie\");\n for (const cookie of cookies) {\n _res.headers.append(\"set-cookie\", cookie);\n }\n } else {\n _res.headers.set(k, v);\n }\n }\n }\n this.#res = _res;\n this.finalized = true;\n }\n /**\n * `.render()` can create a response within a layout.\n *\n * @see {@link https://hono.dev/docs/api/context#render-setrenderer}\n *\n * @example\n * ```ts\n * app.get('/', (c) => {\n * return c.render('Hello!')\n * })\n * ```\n */\n render = (...args) => {\n this.#renderer ??= (content) => this.html(content);\n return this.#renderer(...args);\n };\n /**\n * Sets the layout for the response.\n *\n * @param layout - The layout to set.\n * @returns The layout function.\n */\n setLayout = (layout) => this.#layout = layout;\n /**\n * Gets the current layout for the response.\n *\n * @returns The current layout function.\n */\n getLayout = () => this.#layout;\n /**\n * `.setRenderer()` can set the layout in the custom middleware.\n *\n * @see {@link https://hono.dev/docs/api/context#render-setrenderer}\n *\n * @example\n * ```tsx\n * app.use('*', async (c, next) => {\n * c.setRenderer((content) => {\n * return c.html(\n * \n * \n *

{content}

\n * \n * \n * )\n * })\n * await next()\n * })\n * ```\n */\n setRenderer = (renderer) => {\n this.#renderer = renderer;\n };\n /**\n * `.header()` can set headers.\n *\n * @see {@link https://hono.dev/docs/api/context#header}\n *\n * @example\n * ```ts\n * app.get('/welcome', (c) => {\n * // Set headers\n * c.header('X-Message', 'Hello!')\n * c.header('Content-Type', 'text/plain')\n *\n * return c.body('Thank you for coming')\n * })\n * ```\n */\n header = (name, value, options) => {\n if (this.finalized) {\n this.#res = createResponseInstance(this.#res.body, this.#res);\n }\n const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();\n if (value === void 0) {\n headers.delete(name);\n } else if (options?.append) {\n headers.append(name, value);\n } else {\n headers.set(name, value);\n }\n };\n status = (status) => {\n this.#status = status;\n };\n /**\n * `.set()` can set the value specified by the key.\n *\n * @see {@link https://hono.dev/docs/api/context#set-get}\n *\n * @example\n * ```ts\n * app.use('*', async (c, next) => {\n * c.set('message', 'Hono is hot!!')\n * await next()\n * })\n * ```\n */\n set = (key, value) => {\n this.#var ??= /* @__PURE__ */ new Map();\n this.#var.set(key, value);\n };\n /**\n * `.get()` can use the value specified by the key.\n *\n * @see {@link https://hono.dev/docs/api/context#set-get}\n *\n * @example\n * ```ts\n * app.get('/', (c) => {\n * const message = c.get('message')\n * return c.text(`The message is \"${message}\"`)\n * })\n * ```\n */\n get = (key) => {\n return this.#var ? this.#var.get(key) : void 0;\n };\n /**\n * `.var` can access the value of a variable.\n *\n * @see {@link https://hono.dev/docs/api/context#var}\n *\n * @example\n * ```ts\n * const result = c.var.client.oneMethod()\n * ```\n */\n // c.var.propName is a read-only\n get var() {\n if (!this.#var) {\n return {};\n }\n return Object.fromEntries(this.#var);\n }\n #newResponse(data, arg, headers) {\n const responseHeaders = this.#res ? new Headers(this.#res.headers) : this.#preparedHeaders ?? new Headers();\n if (typeof arg === \"object\" && \"headers\" in arg) {\n const argHeaders = arg.headers instanceof Headers ? arg.headers : new Headers(arg.headers);\n for (const [key, value] of argHeaders) {\n if (key.toLowerCase() === \"set-cookie\") {\n responseHeaders.append(key, value);\n } else {\n responseHeaders.set(key, value);\n }\n }\n }\n if (headers) {\n for (const [k, v] of Object.entries(headers)) {\n if (typeof v === \"string\") {\n responseHeaders.set(k, v);\n } else {\n responseHeaders.delete(k);\n for (const v2 of v) {\n responseHeaders.append(k, v2);\n }\n }\n }\n }\n const status = typeof arg === \"number\" ? arg : arg?.status ?? this.#status;\n return createResponseInstance(data, { status, headers: responseHeaders });\n }\n newResponse = (...args) => this.#newResponse(...args);\n /**\n * `.body()` can return the HTTP response.\n * You can set headers with `.header()` and set HTTP status code with `.status`.\n * This can also be set in `.text()`, `.json()` and so on.\n *\n * @see {@link https://hono.dev/docs/api/context#body}\n *\n * @example\n * ```ts\n * app.get('/welcome', (c) => {\n * // Set headers\n * c.header('X-Message', 'Hello!')\n * c.header('Content-Type', 'text/plain')\n * // Set HTTP status code\n * c.status(201)\n *\n * // Return the response body\n * return c.body('Thank you for coming')\n * })\n * ```\n */\n body = (data, arg, headers) => this.#newResponse(data, arg, headers);\n /**\n * `.text()` can render text as `Content-Type:text/plain`.\n *\n * @see {@link https://hono.dev/docs/api/context#text}\n *\n * @example\n * ```ts\n * app.get('/say', (c) => {\n * return c.text('Hello!')\n * })\n * ```\n */\n text = (text, arg, headers) => {\n return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(\n text,\n arg,\n setDefaultContentType(TEXT_PLAIN, headers)\n );\n };\n /**\n * `.json()` can render JSON as `Content-Type:application/json`.\n *\n * @see {@link https://hono.dev/docs/api/context#json}\n *\n * @example\n * ```ts\n * app.get('/api', (c) => {\n * return c.json({ message: 'Hello!' })\n * })\n * ```\n */\n json = (object, arg, headers) => {\n return this.#newResponse(\n JSON.stringify(object),\n arg,\n setDefaultContentType(\"application/json\", headers)\n );\n };\n html = (html, arg, headers) => {\n const res = (html2) => this.#newResponse(html2, arg, setDefaultContentType(\"text/html; charset=UTF-8\", headers));\n return typeof html === \"object\" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);\n };\n /**\n * `.redirect()` can Redirect, default status code is 302.\n *\n * @see {@link https://hono.dev/docs/api/context#redirect}\n *\n * @example\n * ```ts\n * app.get('/redirect', (c) => {\n * return c.redirect('/')\n * })\n * app.get('/redirect-permanently', (c) => {\n * return c.redirect('/', 301)\n * })\n * ```\n */\n redirect = (location, status) => {\n const locationString = String(location);\n this.header(\n \"Location\",\n // Multibyes should be encoded\n // eslint-disable-next-line no-control-regex\n !/[^\\x00-\\xFF]/.test(locationString) ? locationString : encodeURI(locationString)\n );\n return this.newResponse(null, status ?? 302);\n };\n /**\n * `.notFound()` can return the Not Found Response.\n *\n * @see {@link https://hono.dev/docs/api/context#notfound}\n *\n * @example\n * ```ts\n * app.get('/notfound', (c) => {\n * return c.notFound()\n * })\n * ```\n */\n notFound = () => {\n this.#notFoundHandler ??= () => createResponseInstance();\n return this.#notFoundHandler(this);\n };\n};\nexport {\n Context,\n TEXT_PLAIN\n};\n", "// src/router.ts\nvar METHOD_NAME_ALL = \"ALL\";\nvar METHOD_NAME_ALL_LOWERCASE = \"all\";\nvar METHODS = [\"get\", \"post\", \"put\", \"delete\", \"options\", \"patch\"];\nvar MESSAGE_MATCHER_IS_ALREADY_BUILT = \"Can not add a route since the matcher is already built.\";\nvar UnsupportedPathError = class extends Error {\n};\nexport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHODS,\n METHOD_NAME_ALL,\n METHOD_NAME_ALL_LOWERCASE,\n UnsupportedPathError\n};\n", "// src/utils/constants.ts\nvar COMPOSED_HANDLER = \"__COMPOSED_HANDLER\";\nexport {\n COMPOSED_HANDLER\n};\n", "// src/hono-base.ts\nimport { compose } from \"./compose.js\";\nimport { Context } from \"./context.js\";\nimport { METHODS, METHOD_NAME_ALL, METHOD_NAME_ALL_LOWERCASE } from \"./router.js\";\nimport { COMPOSED_HANDLER } from \"./utils/constants.js\";\nimport { getPath, getPathNoStrict, mergePath } from \"./utils/url.js\";\nvar notFoundHandler = (c) => {\n return c.text(\"404 Not Found\", 404);\n};\nvar errorHandler = (err, c) => {\n if (\"getResponse\" in err) {\n const res = err.getResponse();\n return c.newResponse(res.body, res);\n }\n console.error(err);\n return c.text(\"Internal Server Error\", 500);\n};\nvar Hono = class _Hono {\n get;\n post;\n put;\n delete;\n options;\n patch;\n all;\n on;\n use;\n /*\n This class is like an abstract class and does not have a router.\n To use it, inherit the class and implement router in the constructor.\n */\n router;\n getPath;\n // Cannot use `#` because it requires visibility at JavaScript runtime.\n _basePath = \"/\";\n #path = \"/\";\n routes = [];\n constructor(options = {}) {\n const allMethods = [...METHODS, METHOD_NAME_ALL_LOWERCASE];\n allMethods.forEach((method) => {\n this[method] = (args1, ...args) => {\n if (typeof args1 === \"string\") {\n this.#path = args1;\n } else {\n this.#addRoute(method, this.#path, args1);\n }\n args.forEach((handler) => {\n this.#addRoute(method, this.#path, handler);\n });\n return this;\n };\n });\n this.on = (method, path, ...handlers) => {\n for (const p of [path].flat()) {\n this.#path = p;\n for (const m of [method].flat()) {\n handlers.map((handler) => {\n this.#addRoute(m.toUpperCase(), this.#path, handler);\n });\n }\n }\n return this;\n };\n this.use = (arg1, ...handlers) => {\n if (typeof arg1 === \"string\") {\n this.#path = arg1;\n } else {\n this.#path = \"*\";\n handlers.unshift(arg1);\n }\n handlers.forEach((handler) => {\n this.#addRoute(METHOD_NAME_ALL, this.#path, handler);\n });\n return this;\n };\n const { strict, ...optionsWithoutStrict } = options;\n Object.assign(this, optionsWithoutStrict);\n this.getPath = strict ?? true ? options.getPath ?? getPath : getPathNoStrict;\n }\n #clone() {\n const clone = new _Hono({\n router: this.router,\n getPath: this.getPath\n });\n clone.errorHandler = this.errorHandler;\n clone.#notFoundHandler = this.#notFoundHandler;\n clone.routes = this.routes;\n return clone;\n }\n #notFoundHandler = notFoundHandler;\n // Cannot use `#` because it requires visibility at JavaScript runtime.\n errorHandler = errorHandler;\n /**\n * `.route()` allows grouping other Hono instance in routes.\n *\n * @see {@link https://hono.dev/docs/api/routing#grouping}\n *\n * @param {string} path - base Path\n * @param {Hono} app - other Hono instance\n * @returns {Hono} routed Hono instance\n *\n * @example\n * ```ts\n * const app = new Hono()\n * const app2 = new Hono()\n *\n * app2.get(\"/user\", (c) => c.text(\"user\"))\n * app.route(\"/api\", app2) // GET /api/user\n * ```\n */\n route(path, app) {\n const subApp = this.basePath(path);\n app.routes.map((r) => {\n let handler;\n if (app.errorHandler === errorHandler) {\n handler = r.handler;\n } else {\n handler = async (c, next) => (await compose([], app.errorHandler)(c, () => r.handler(c, next))).res;\n handler[COMPOSED_HANDLER] = r.handler;\n }\n subApp.#addRoute(r.method, r.path, handler);\n });\n return this;\n }\n /**\n * `.basePath()` allows base paths to be specified.\n *\n * @see {@link https://hono.dev/docs/api/routing#base-path}\n *\n * @param {string} path - base Path\n * @returns {Hono} changed Hono instance\n *\n * @example\n * ```ts\n * const api = new Hono().basePath('/api')\n * ```\n */\n basePath(path) {\n const subApp = this.#clone();\n subApp._basePath = mergePath(this._basePath, path);\n return subApp;\n }\n /**\n * `.onError()` handles an error and returns a customized Response.\n *\n * @see {@link https://hono.dev/docs/api/hono#error-handling}\n *\n * @param {ErrorHandler} handler - request Handler for error\n * @returns {Hono} changed Hono instance\n *\n * @example\n * ```ts\n * app.onError((err, c) => {\n * console.error(`${err}`)\n * return c.text('Custom Error Message', 500)\n * })\n * ```\n */\n onError = (handler) => {\n this.errorHandler = handler;\n return this;\n };\n /**\n * `.notFound()` allows you to customize a Not Found Response.\n *\n * @see {@link https://hono.dev/docs/api/hono#not-found}\n *\n * @param {NotFoundHandler} handler - request handler for not-found\n * @returns {Hono} changed Hono instance\n *\n * @example\n * ```ts\n * app.notFound((c) => {\n * return c.text('Custom 404 Message', 404)\n * })\n * ```\n */\n notFound = (handler) => {\n this.#notFoundHandler = handler;\n return this;\n };\n /**\n * `.mount()` allows you to mount applications built with other frameworks into your Hono application.\n *\n * @see {@link https://hono.dev/docs/api/hono#mount}\n *\n * @param {string} path - base Path\n * @param {Function} applicationHandler - other Request Handler\n * @param {MountOptions} [options] - options of `.mount()`\n * @returns {Hono} mounted Hono instance\n *\n * @example\n * ```ts\n * import { Router as IttyRouter } from 'itty-router'\n * import { Hono } from 'hono'\n * // Create itty-router application\n * const ittyRouter = IttyRouter()\n * // GET /itty-router/hello\n * ittyRouter.get('/hello', () => new Response('Hello from itty-router'))\n *\n * const app = new Hono()\n * app.mount('/itty-router', ittyRouter.handle)\n * ```\n *\n * @example\n * ```ts\n * const app = new Hono()\n * // Send the request to another application without modification.\n * app.mount('/app', anotherApp, {\n * replaceRequest: (req) => req,\n * })\n * ```\n */\n mount(path, applicationHandler, options) {\n let replaceRequest;\n let optionHandler;\n if (options) {\n if (typeof options === \"function\") {\n optionHandler = options;\n } else {\n optionHandler = options.optionHandler;\n if (options.replaceRequest === false) {\n replaceRequest = (request) => request;\n } else {\n replaceRequest = options.replaceRequest;\n }\n }\n }\n const getOptions = optionHandler ? (c) => {\n const options2 = optionHandler(c);\n return Array.isArray(options2) ? options2 : [options2];\n } : (c) => {\n let executionContext = void 0;\n try {\n executionContext = c.executionCtx;\n } catch {\n }\n return [c.env, executionContext];\n };\n replaceRequest ||= (() => {\n const mergedPath = mergePath(this._basePath, path);\n const pathPrefixLength = mergedPath === \"/\" ? 0 : mergedPath.length;\n return (request) => {\n const url = new URL(request.url);\n url.pathname = url.pathname.slice(pathPrefixLength) || \"/\";\n return new Request(url, request);\n };\n })();\n const handler = async (c, next) => {\n const res = await applicationHandler(replaceRequest(c.req.raw), ...getOptions(c));\n if (res) {\n return res;\n }\n await next();\n };\n this.#addRoute(METHOD_NAME_ALL, mergePath(path, \"*\"), handler);\n return this;\n }\n #addRoute(method, path, handler) {\n method = method.toUpperCase();\n path = mergePath(this._basePath, path);\n const r = { basePath: this._basePath, path, method, handler };\n this.router.add(method, path, [handler, r]);\n this.routes.push(r);\n }\n #handleError(err, c) {\n if (err instanceof Error) {\n return this.errorHandler(err, c);\n }\n throw err;\n }\n #dispatch(request, executionCtx, env, method) {\n if (method === \"HEAD\") {\n return (async () => new Response(null, await this.#dispatch(request, executionCtx, env, \"GET\")))();\n }\n const path = this.getPath(request, { env });\n const matchResult = this.router.match(method, path);\n const c = new Context(request, {\n path,\n matchResult,\n env,\n executionCtx,\n notFoundHandler: this.#notFoundHandler\n });\n if (matchResult[0].length === 1) {\n let res;\n try {\n res = matchResult[0][0][0][0](c, async () => {\n c.res = await this.#notFoundHandler(c);\n });\n } catch (err) {\n return this.#handleError(err, c);\n }\n return res instanceof Promise ? res.then(\n (resolved) => resolved || (c.finalized ? c.res : this.#notFoundHandler(c))\n ).catch((err) => this.#handleError(err, c)) : res ?? this.#notFoundHandler(c);\n }\n const composed = compose(matchResult[0], this.errorHandler, this.#notFoundHandler);\n return (async () => {\n try {\n const context = await composed(c);\n if (!context.finalized) {\n throw new Error(\n \"Context is not finalized. Did you forget to return a Response object or `await next()`?\"\n );\n }\n return context.res;\n } catch (err) {\n return this.#handleError(err, c);\n }\n })();\n }\n /**\n * `.fetch()` will be entry point of your app.\n *\n * @see {@link https://hono.dev/docs/api/hono#fetch}\n *\n * @param {Request} request - request Object of request\n * @param {Env} Env - env Object\n * @param {ExecutionContext} - context of execution\n * @returns {Response | Promise} response of request\n *\n */\n fetch = (request, ...rest) => {\n return this.#dispatch(request, rest[1], rest[0], request.method);\n };\n /**\n * `.request()` is a useful method for testing.\n * You can pass a URL or pathname to send a GET request.\n * app will return a Response object.\n * ```ts\n * test('GET /hello is ok', async () => {\n * const res = await app.request('/hello')\n * expect(res.status).toBe(200)\n * })\n * ```\n * @see https://hono.dev/docs/api/hono#request\n */\n request = (input, requestInit, Env, executionCtx) => {\n if (input instanceof Request) {\n return this.fetch(requestInit ? new Request(input, requestInit) : input, Env, executionCtx);\n }\n input = input.toString();\n return this.fetch(\n new Request(\n /^https?:\\/\\//.test(input) ? input : `http://localhost${mergePath(\"/\", input)}`,\n requestInit\n ),\n Env,\n executionCtx\n );\n };\n /**\n * `.fire()` automatically adds a global fetch event listener.\n * This can be useful for environments that adhere to the Service Worker API, such as non-ES module Cloudflare Workers.\n * @deprecated\n * Use `fire` from `hono/service-worker` instead.\n * ```ts\n * import { Hono } from 'hono'\n * import { fire } from 'hono/service-worker'\n *\n * const app = new Hono()\n * // ...\n * fire(app)\n * ```\n * @see https://hono.dev/docs/api/hono#fire\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API\n * @see https://developers.cloudflare.com/workers/reference/migrate-to-module-workers/\n */\n fire = () => {\n addEventListener(\"fetch\", (event) => {\n event.respondWith(this.#dispatch(event.request, event, void 0, event.request.method));\n });\n };\n};\nexport {\n Hono as HonoBase\n};\n", "// src/router/reg-exp-router/matcher.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nvar emptyParam = [];\nfunction match(method, path) {\n const matchers = this.buildAllMatchers();\n const match2 = ((method2, path2) => {\n const matcher = matchers[method2] || matchers[METHOD_NAME_ALL];\n const staticMatch = matcher[2][path2];\n if (staticMatch) {\n return staticMatch;\n }\n const match3 = path2.match(matcher[0]);\n if (!match3) {\n return [[], emptyParam];\n }\n const index = match3.indexOf(\"\", 1);\n return [matcher[1][index], match3];\n });\n this.match = match2;\n return match2(method, path);\n}\nexport {\n emptyParam,\n match\n};\n", "// src/router/reg-exp-router/node.ts\nvar LABEL_REG_EXP_STR = \"[^/]+\";\nvar ONLY_WILDCARD_REG_EXP_STR = \".*\";\nvar TAIL_WILDCARD_REG_EXP_STR = \"(?:|/.*)\";\nvar PATH_ERROR = /* @__PURE__ */ Symbol();\nvar regExpMetaChars = new Set(\".\\\\+*[^]$()\");\nfunction compareKey(a, b) {\n if (a.length === 1) {\n return b.length === 1 ? a < b ? -1 : 1 : -1;\n }\n if (b.length === 1) {\n return 1;\n }\n if (a === ONLY_WILDCARD_REG_EXP_STR || a === TAIL_WILDCARD_REG_EXP_STR) {\n return 1;\n } else if (b === ONLY_WILDCARD_REG_EXP_STR || b === TAIL_WILDCARD_REG_EXP_STR) {\n return -1;\n }\n if (a === LABEL_REG_EXP_STR) {\n return 1;\n } else if (b === LABEL_REG_EXP_STR) {\n return -1;\n }\n return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length;\n}\nvar Node = class _Node {\n #index;\n #varIndex;\n #children = /* @__PURE__ */ Object.create(null);\n insert(tokens, index, paramMap, context, pathErrorCheckOnly) {\n if (tokens.length === 0) {\n if (this.#index !== void 0) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n this.#index = index;\n return;\n }\n const [token, ...restTokens] = tokens;\n const pattern = token === \"*\" ? restTokens.length === 0 ? [\"\", \"\", ONLY_WILDCARD_REG_EXP_STR] : [\"\", \"\", LABEL_REG_EXP_STR] : token === \"/*\" ? [\"\", \"\", TAIL_WILDCARD_REG_EXP_STR] : token.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n let node;\n if (pattern) {\n const name = pattern[1];\n let regexpStr = pattern[2] || LABEL_REG_EXP_STR;\n if (name && pattern[2]) {\n if (regexpStr === \".*\") {\n throw PATH_ERROR;\n }\n regexpStr = regexpStr.replace(/^\\((?!\\?:)(?=[^)]+\\)$)/, \"(?:\");\n if (/\\((?!\\?:)/.test(regexpStr)) {\n throw PATH_ERROR;\n }\n }\n node = this.#children[regexpStr];\n if (!node) {\n if (Object.keys(this.#children).some(\n (k) => k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.#children[regexpStr] = new _Node();\n if (name !== \"\") {\n node.#varIndex = context.varIndex++;\n }\n }\n if (!pathErrorCheckOnly && name !== \"\") {\n paramMap.push([name, node.#varIndex]);\n }\n } else {\n node = this.#children[token];\n if (!node) {\n if (Object.keys(this.#children).some(\n (k) => k.length > 1 && k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.#children[token] = new _Node();\n }\n }\n node.insert(restTokens, index, paramMap, context, pathErrorCheckOnly);\n }\n buildRegExpStr() {\n const childKeys = Object.keys(this.#children).sort(compareKey);\n const strList = childKeys.map((k) => {\n const c = this.#children[k];\n return (typeof c.#varIndex === \"number\" ? `(${k})@${c.#varIndex}` : regExpMetaChars.has(k) ? `\\\\${k}` : k) + c.buildRegExpStr();\n });\n if (typeof this.#index === \"number\") {\n strList.unshift(`#${this.#index}`);\n }\n if (strList.length === 0) {\n return \"\";\n }\n if (strList.length === 1) {\n return strList[0];\n }\n return \"(?:\" + strList.join(\"|\") + \")\";\n }\n};\nexport {\n Node,\n PATH_ERROR\n};\n", "// src/router/reg-exp-router/trie.ts\nimport { Node } from \"./node.js\";\nvar Trie = class {\n #context = { varIndex: 0 };\n #root = new Node();\n insert(path, index, pathErrorCheckOnly) {\n const paramAssoc = [];\n const groups = [];\n for (let i = 0; ; ) {\n let replaced = false;\n path = path.replace(/\\{[^}]+\\}/g, (m) => {\n const mark = `@\\\\${i}`;\n groups[i] = [mark, m];\n i++;\n replaced = true;\n return mark;\n });\n if (!replaced) {\n break;\n }\n }\n const tokens = path.match(/(?::[^\\/]+)|(?:\\/\\*$)|./g) || [];\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = tokens.length - 1; j >= 0; j--) {\n if (tokens[j].indexOf(mark) !== -1) {\n tokens[j] = tokens[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n this.#root.insert(tokens, index, paramAssoc, this.#context, pathErrorCheckOnly);\n return paramAssoc;\n }\n buildRegExp() {\n let regexp = this.#root.buildRegExpStr();\n if (regexp === \"\") {\n return [/^$/, [], []];\n }\n let captureIndex = 0;\n const indexReplacementMap = [];\n const paramReplacementMap = [];\n regexp = regexp.replace(/#(\\d+)|@(\\d+)|\\.\\*\\$/g, (_, handlerIndex, paramIndex) => {\n if (handlerIndex !== void 0) {\n indexReplacementMap[++captureIndex] = Number(handlerIndex);\n return \"$()\";\n }\n if (paramIndex !== void 0) {\n paramReplacementMap[Number(paramIndex)] = ++captureIndex;\n return \"\";\n }\n return \"\";\n });\n return [new RegExp(`^${regexp}`), indexReplacementMap, paramReplacementMap];\n }\n};\nexport {\n Trie\n};\n", "// src/router/reg-exp-router/router.ts\nimport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHOD_NAME_ALL,\n UnsupportedPathError\n} from \"../../router.js\";\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { match, emptyParam } from \"./matcher.js\";\nimport { PATH_ERROR } from \"./node.js\";\nimport { Trie } from \"./trie.js\";\nvar nullMatcher = [/^$/, [], /* @__PURE__ */ Object.create(null)];\nvar wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\nfunction buildWildcardRegExp(path) {\n return wildcardRegExpCache[path] ??= new RegExp(\n path === \"*\" ? \"\" : `^${path.replace(\n /\\/\\*$|([.\\\\+*[^\\]$()])/g,\n (_, metaChar) => metaChar ? `\\\\${metaChar}` : \"(?:|/.*)\"\n )}$`\n );\n}\nfunction clearWildcardRegExpCache() {\n wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\n}\nfunction buildMatcherFromPreprocessedRoutes(routes) {\n const trie = new Trie();\n const handlerData = [];\n if (routes.length === 0) {\n return nullMatcher;\n }\n const routesWithStaticPathFlag = routes.map(\n (route) => [!/\\*|\\/:/.test(route[0]), ...route]\n ).sort(\n ([isStaticA, pathA], [isStaticB, pathB]) => isStaticA ? 1 : isStaticB ? -1 : pathA.length - pathB.length\n );\n const staticMap = /* @__PURE__ */ Object.create(null);\n for (let i = 0, j = -1, len = routesWithStaticPathFlag.length; i < len; i++) {\n const [pathErrorCheckOnly, path, handlers] = routesWithStaticPathFlag[i];\n if (pathErrorCheckOnly) {\n staticMap[path] = [handlers.map(([h]) => [h, /* @__PURE__ */ Object.create(null)]), emptyParam];\n } else {\n j++;\n }\n let paramAssoc;\n try {\n paramAssoc = trie.insert(path, j, pathErrorCheckOnly);\n } catch (e) {\n throw e === PATH_ERROR ? new UnsupportedPathError(path) : e;\n }\n if (pathErrorCheckOnly) {\n continue;\n }\n handlerData[j] = handlers.map(([h, paramCount]) => {\n const paramIndexMap = /* @__PURE__ */ Object.create(null);\n paramCount -= 1;\n for (; paramCount >= 0; paramCount--) {\n const [key, value] = paramAssoc[paramCount];\n paramIndexMap[key] = value;\n }\n return [h, paramIndexMap];\n });\n }\n const [regexp, indexReplacementMap, paramReplacementMap] = trie.buildRegExp();\n for (let i = 0, len = handlerData.length; i < len; i++) {\n for (let j = 0, len2 = handlerData[i].length; j < len2; j++) {\n const map = handlerData[i][j]?.[1];\n if (!map) {\n continue;\n }\n const keys = Object.keys(map);\n for (let k = 0, len3 = keys.length; k < len3; k++) {\n map[keys[k]] = paramReplacementMap[map[keys[k]]];\n }\n }\n }\n const handlerMap = [];\n for (const i in indexReplacementMap) {\n handlerMap[i] = handlerData[indexReplacementMap[i]];\n }\n return [regexp, handlerMap, staticMap];\n}\nfunction findMiddleware(middleware, path) {\n if (!middleware) {\n return void 0;\n }\n for (const k of Object.keys(middleware).sort((a, b) => b.length - a.length)) {\n if (buildWildcardRegExp(k).test(path)) {\n return [...middleware[k]];\n }\n }\n return void 0;\n}\nvar RegExpRouter = class {\n name = \"RegExpRouter\";\n #middleware;\n #routes;\n constructor() {\n this.#middleware = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n this.#routes = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n }\n add(method, path, handler) {\n const middleware = this.#middleware;\n const routes = this.#routes;\n if (!middleware || !routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n if (!middleware[method]) {\n ;\n [middleware, routes].forEach((handlerMap) => {\n handlerMap[method] = /* @__PURE__ */ Object.create(null);\n Object.keys(handlerMap[METHOD_NAME_ALL]).forEach((p) => {\n handlerMap[method][p] = [...handlerMap[METHOD_NAME_ALL][p]];\n });\n });\n }\n if (path === \"/*\") {\n path = \"*\";\n }\n const paramCount = (path.match(/\\/:/g) || []).length;\n if (/\\*$/.test(path)) {\n const re = buildWildcardRegExp(path);\n if (method === METHOD_NAME_ALL) {\n Object.keys(middleware).forEach((m) => {\n middleware[m][path] ||= findMiddleware(middleware[m], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n });\n } else {\n middleware[method][path] ||= findMiddleware(middleware[method], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n }\n Object.keys(middleware).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(middleware[m]).forEach((p) => {\n re.test(p) && middleware[m][p].push([handler, paramCount]);\n });\n }\n });\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(routes[m]).forEach(\n (p) => re.test(p) && routes[m][p].push([handler, paramCount])\n );\n }\n });\n return;\n }\n const paths = checkOptionalParameter(path) || [path];\n for (let i = 0, len = paths.length; i < len; i++) {\n const path2 = paths[i];\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n routes[m][path2] ||= [\n ...findMiddleware(middleware[m], path2) || findMiddleware(middleware[METHOD_NAME_ALL], path2) || []\n ];\n routes[m][path2].push([handler, paramCount - len + i + 1]);\n }\n });\n }\n }\n match = match;\n buildAllMatchers() {\n const matchers = /* @__PURE__ */ Object.create(null);\n Object.keys(this.#routes).concat(Object.keys(this.#middleware)).forEach((method) => {\n matchers[method] ||= this.#buildMatcher(method);\n });\n this.#middleware = this.#routes = void 0;\n clearWildcardRegExpCache();\n return matchers;\n }\n #buildMatcher(method) {\n const routes = [];\n let hasOwnRoute = method === METHOD_NAME_ALL;\n [this.#middleware, this.#routes].forEach((r) => {\n const ownRoute = r[method] ? Object.keys(r[method]).map((path) => [path, r[method][path]]) : [];\n if (ownRoute.length !== 0) {\n hasOwnRoute ||= true;\n routes.push(...ownRoute);\n } else if (method !== METHOD_NAME_ALL) {\n routes.push(\n ...Object.keys(r[METHOD_NAME_ALL]).map((path) => [path, r[METHOD_NAME_ALL][path]])\n );\n }\n });\n if (!hasOwnRoute) {\n return null;\n } else {\n return buildMatcherFromPreprocessedRoutes(routes);\n }\n }\n};\nexport {\n RegExpRouter\n};\n", "// src/router/reg-exp-router/prepared-router.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nimport { match, emptyParam } from \"./matcher.js\";\nimport { RegExpRouter } from \"./router.js\";\nvar PreparedRegExpRouter = class {\n name = \"PreparedRegExpRouter\";\n #matchers;\n #relocateMap;\n constructor(matchers, relocateMap) {\n this.#matchers = matchers;\n this.#relocateMap = relocateMap;\n }\n #addWildcard(method, handlerData) {\n const matcher = this.#matchers[method];\n matcher[1].forEach((list) => list && list.push(handlerData));\n Object.values(matcher[2]).forEach((list) => list[0].push(handlerData));\n }\n #addPath(method, path, handler, indexes, map) {\n const matcher = this.#matchers[method];\n if (!map) {\n matcher[2][path][0].push([handler, {}]);\n } else {\n indexes.forEach((index) => {\n if (typeof index === \"number\") {\n matcher[1][index].push([handler, map]);\n } else {\n ;\n matcher[2][index || path][0].push([handler, map]);\n }\n });\n }\n }\n add(method, path, handler) {\n if (!this.#matchers[method]) {\n const all = this.#matchers[METHOD_NAME_ALL];\n const staticMap = {};\n for (const key in all[2]) {\n staticMap[key] = [all[2][key][0].slice(), emptyParam];\n }\n this.#matchers[method] = [\n all[0],\n all[1].map((list) => Array.isArray(list) ? list.slice() : 0),\n staticMap\n ];\n }\n if (path === \"/*\" || path === \"*\") {\n const handlerData = [handler, {}];\n if (method === METHOD_NAME_ALL) {\n for (const m in this.#matchers) {\n this.#addWildcard(m, handlerData);\n }\n } else {\n this.#addWildcard(method, handlerData);\n }\n return;\n }\n const data = this.#relocateMap[path];\n if (!data) {\n throw new Error(`Path ${path} is not registered`);\n }\n for (const [indexes, map] of data) {\n if (method === METHOD_NAME_ALL) {\n for (const m in this.#matchers) {\n this.#addPath(m, path, handler, indexes, map);\n }\n } else {\n this.#addPath(method, path, handler, indexes, map);\n }\n }\n }\n buildAllMatchers() {\n return this.#matchers;\n }\n match = match;\n};\nvar buildInitParams = ({ paths }) => {\n const RegExpRouterWithMatcherExport = class extends RegExpRouter {\n buildAndExportAllMatchers() {\n return this.buildAllMatchers();\n }\n };\n const router = new RegExpRouterWithMatcherExport();\n for (const path of paths) {\n router.add(METHOD_NAME_ALL, path, path);\n }\n const matchers = router.buildAndExportAllMatchers();\n const all = matchers[METHOD_NAME_ALL];\n const relocateMap = {};\n for (const path of paths) {\n if (path === \"/*\" || path === \"*\") {\n continue;\n }\n all[1].forEach((list, i) => {\n list.forEach(([p, map]) => {\n if (p === path) {\n if (relocateMap[path]) {\n relocateMap[path][0][1] = {\n ...relocateMap[path][0][1],\n ...map\n };\n } else {\n relocateMap[path] = [[[], map]];\n }\n if (relocateMap[path][0][0].findIndex((j) => j === i) === -1) {\n relocateMap[path][0][0].push(i);\n }\n }\n });\n });\n for (const path2 in all[2]) {\n all[2][path2][0].forEach(([p]) => {\n if (p === path) {\n relocateMap[path] ||= [[[]]];\n const value = path2 === path ? \"\" : path2;\n if (relocateMap[path][0][0].findIndex((v) => v === value) === -1) {\n relocateMap[path][0][0].push(value);\n }\n }\n });\n }\n }\n for (let i = 0, len = all[1].length; i < len; i++) {\n all[1][i] = all[1][i] ? [] : 0;\n }\n for (const path in all[2]) {\n all[2][path][0] = [];\n }\n return [matchers, relocateMap];\n};\nvar serializeInitParams = ([matchers, relocateMap]) => {\n const matchersStr = JSON.stringify(\n matchers,\n (_, value) => value instanceof RegExp ? `##${value.toString()}##` : value\n ).replace(/\"##(.+?)##\"/g, (_, str) => str.replace(/\\\\\\\\/g, \"\\\\\"));\n const relocateMapStr = JSON.stringify(relocateMap);\n return `[${matchersStr},${relocateMapStr}]`;\n};\nexport {\n PreparedRegExpRouter,\n buildInitParams,\n serializeInitParams\n};\n", "// src/router/reg-exp-router/index.ts\nimport { RegExpRouter } from \"./router.js\";\nimport { PreparedRegExpRouter, buildInitParams, serializeInitParams } from \"./prepared-router.js\";\nexport {\n PreparedRegExpRouter,\n RegExpRouter,\n buildInitParams,\n serializeInitParams\n};\n", "// src/router/smart-router/router.ts\nimport { MESSAGE_MATCHER_IS_ALREADY_BUILT, UnsupportedPathError } from \"../../router.js\";\nvar SmartRouter = class {\n name = \"SmartRouter\";\n #routers = [];\n #routes = [];\n constructor(init) {\n this.#routers = init.routers;\n }\n add(method, path, handler) {\n if (!this.#routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n this.#routes.push([method, path, handler]);\n }\n match(method, path) {\n if (!this.#routes) {\n throw new Error(\"Fatal error\");\n }\n const routers = this.#routers;\n const routes = this.#routes;\n const len = routers.length;\n let i = 0;\n let res;\n for (; i < len; i++) {\n const router = routers[i];\n try {\n for (let i2 = 0, len2 = routes.length; i2 < len2; i2++) {\n router.add(...routes[i2]);\n }\n res = router.match(method, path);\n } catch (e) {\n if (e instanceof UnsupportedPathError) {\n continue;\n }\n throw e;\n }\n this.match = router.match.bind(router);\n this.#routers = [router];\n this.#routes = void 0;\n break;\n }\n if (i === len) {\n throw new Error(\"Fatal error\");\n }\n this.name = `SmartRouter + ${this.activeRouter.name}`;\n return res;\n }\n get activeRouter() {\n if (this.#routes || this.#routers.length !== 1) {\n throw new Error(\"No active router has been determined yet.\");\n }\n return this.#routers[0];\n }\n};\nexport {\n SmartRouter\n};\n", "// src/router/smart-router/index.ts\nimport { SmartRouter } from \"./router.js\";\nexport {\n SmartRouter\n};\n", "// src/router/trie-router/node.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nimport { getPattern, splitPath, splitRoutingPath } from \"../../utils/url.js\";\nvar emptyParams = /* @__PURE__ */ Object.create(null);\nvar hasChildren = (children) => {\n for (const _ in children) {\n return true;\n }\n return false;\n};\nvar Node = class _Node {\n #methods;\n #children;\n #patterns;\n #order = 0;\n #params = emptyParams;\n constructor(method, handler, children) {\n this.#children = children || /* @__PURE__ */ Object.create(null);\n this.#methods = [];\n if (method && handler) {\n const m = /* @__PURE__ */ Object.create(null);\n m[method] = { handler, possibleKeys: [], score: 0 };\n this.#methods = [m];\n }\n this.#patterns = [];\n }\n insert(method, path, handler) {\n this.#order = ++this.#order;\n let curNode = this;\n const parts = splitRoutingPath(path);\n const possibleKeys = [];\n for (let i = 0, len = parts.length; i < len; i++) {\n const p = parts[i];\n const nextP = parts[i + 1];\n const pattern = getPattern(p, nextP);\n const key = Array.isArray(pattern) ? pattern[0] : p;\n if (key in curNode.#children) {\n curNode = curNode.#children[key];\n if (pattern) {\n possibleKeys.push(pattern[1]);\n }\n continue;\n }\n curNode.#children[key] = new _Node();\n if (pattern) {\n curNode.#patterns.push(pattern);\n possibleKeys.push(pattern[1]);\n }\n curNode = curNode.#children[key];\n }\n curNode.#methods.push({\n [method]: {\n handler,\n possibleKeys: possibleKeys.filter((v, i, a) => a.indexOf(v) === i),\n score: this.#order\n }\n });\n return curNode;\n }\n #pushHandlerSets(handlerSets, node, method, nodeParams, params) {\n for (let i = 0, len = node.#methods.length; i < len; i++) {\n const m = node.#methods[i];\n const handlerSet = m[method] || m[METHOD_NAME_ALL];\n const processedSet = {};\n if (handlerSet !== void 0) {\n handlerSet.params = /* @__PURE__ */ Object.create(null);\n handlerSets.push(handlerSet);\n if (nodeParams !== emptyParams || params && params !== emptyParams) {\n for (let i2 = 0, len2 = handlerSet.possibleKeys.length; i2 < len2; i2++) {\n const key = handlerSet.possibleKeys[i2];\n const processed = processedSet[handlerSet.score];\n handlerSet.params[key] = params?.[key] && !processed ? params[key] : nodeParams[key] ?? params?.[key];\n processedSet[handlerSet.score] = true;\n }\n }\n }\n }\n }\n search(method, path) {\n const handlerSets = [];\n this.#params = emptyParams;\n const curNode = this;\n let curNodes = [curNode];\n const parts = splitPath(path);\n const curNodesQueue = [];\n const len = parts.length;\n let partOffsets = null;\n for (let i = 0; i < len; i++) {\n const part = parts[i];\n const isLast = i === len - 1;\n const tempNodes = [];\n for (let j = 0, len2 = curNodes.length; j < len2; j++) {\n const node = curNodes[j];\n const nextNode = node.#children[part];\n if (nextNode) {\n nextNode.#params = node.#params;\n if (isLast) {\n if (nextNode.#children[\"*\"]) {\n this.#pushHandlerSets(handlerSets, nextNode.#children[\"*\"], method, node.#params);\n }\n this.#pushHandlerSets(handlerSets, nextNode, method, node.#params);\n } else {\n tempNodes.push(nextNode);\n }\n }\n for (let k = 0, len3 = node.#patterns.length; k < len3; k++) {\n const pattern = node.#patterns[k];\n const params = node.#params === emptyParams ? {} : { ...node.#params };\n if (pattern === \"*\") {\n const astNode = node.#children[\"*\"];\n if (astNode) {\n this.#pushHandlerSets(handlerSets, astNode, method, node.#params);\n astNode.#params = params;\n tempNodes.push(astNode);\n }\n continue;\n }\n const [key, name, matcher] = pattern;\n if (!part && !(matcher instanceof RegExp)) {\n continue;\n }\n const child = node.#children[key];\n if (matcher instanceof RegExp) {\n if (partOffsets === null) {\n partOffsets = new Array(len);\n let offset = path[0] === \"/\" ? 1 : 0;\n for (let p = 0; p < len; p++) {\n partOffsets[p] = offset;\n offset += parts[p].length + 1;\n }\n }\n const restPathString = path.substring(partOffsets[i]);\n const m = matcher.exec(restPathString);\n if (m) {\n params[name] = m[0];\n this.#pushHandlerSets(handlerSets, child, method, node.#params, params);\n if (hasChildren(child.#children)) {\n child.#params = params;\n const componentCount = m[0].match(/\\//)?.length ?? 0;\n const targetCurNodes = curNodesQueue[componentCount] ||= [];\n targetCurNodes.push(child);\n }\n continue;\n }\n }\n if (matcher === true || matcher.test(part)) {\n params[name] = part;\n if (isLast) {\n this.#pushHandlerSets(handlerSets, child, method, params, node.#params);\n if (child.#children[\"*\"]) {\n this.#pushHandlerSets(\n handlerSets,\n child.#children[\"*\"],\n method,\n params,\n node.#params\n );\n }\n } else {\n child.#params = params;\n tempNodes.push(child);\n }\n }\n }\n }\n const shifted = curNodesQueue.shift();\n curNodes = shifted ? tempNodes.concat(shifted) : tempNodes;\n }\n if (handlerSets.length > 1) {\n handlerSets.sort((a, b) => {\n return a.score - b.score;\n });\n }\n return [handlerSets.map(({ handler, params }) => [handler, params])];\n }\n};\nexport {\n Node\n};\n", "// src/router/trie-router/router.ts\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { Node } from \"./node.js\";\nvar TrieRouter = class {\n name = \"TrieRouter\";\n #node;\n constructor() {\n this.#node = new Node();\n }\n add(method, path, handler) {\n const results = checkOptionalParameter(path);\n if (results) {\n for (let i = 0, len = results.length; i < len; i++) {\n this.#node.insert(method, results[i], handler);\n }\n return;\n }\n this.#node.insert(method, path, handler);\n }\n match(method, path) {\n return this.#node.search(method, path);\n }\n};\nexport {\n TrieRouter\n};\n", "// src/router/trie-router/index.ts\nimport { TrieRouter } from \"./router.js\";\nexport {\n TrieRouter\n};\n", "// src/hono.ts\nimport { HonoBase } from \"./hono-base.js\";\nimport { RegExpRouter } from \"./router/reg-exp-router/index.js\";\nimport { SmartRouter } from \"./router/smart-router/index.js\";\nimport { TrieRouter } from \"./router/trie-router/index.js\";\nvar Hono = class extends HonoBase {\n /**\n * Creates an instance of the Hono class.\n *\n * @param options - Optional configuration options for the Hono instance.\n */\n constructor(options = {}) {\n super(options);\n this.router = options.router ?? new SmartRouter({\n routers: [new RegExpRouter(), new TrieRouter()]\n });\n }\n};\nexport {\n Hono\n};\n", "// src/index.ts\nimport { Hono } from \"./hono.js\";\nexport {\n Hono\n};\n", "// src/middleware/cors/index.ts\nvar cors = (options) => {\n const defaults = {\n origin: \"*\",\n allowMethods: [\"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\", \"PATCH\"],\n allowHeaders: [],\n exposeHeaders: []\n };\n const opts = {\n ...defaults,\n ...options\n };\n const findAllowOrigin = ((optsOrigin) => {\n if (typeof optsOrigin === \"string\") {\n if (optsOrigin === \"*\") {\n if (opts.credentials) {\n return (origin) => origin || null;\n }\n return () => optsOrigin;\n } else {\n return (origin) => optsOrigin === origin ? origin : null;\n }\n } else if (typeof optsOrigin === \"function\") {\n return optsOrigin;\n } else {\n return (origin) => optsOrigin.includes(origin) ? origin : null;\n }\n })(opts.origin);\n const findAllowMethods = ((optsAllowMethods) => {\n if (typeof optsAllowMethods === \"function\") {\n return optsAllowMethods;\n } else if (Array.isArray(optsAllowMethods)) {\n return () => optsAllowMethods;\n } else {\n return () => [];\n }\n })(opts.allowMethods);\n return async function cors2(c, next) {\n function set(key, value) {\n c.res.headers.set(key, value);\n }\n const allowOrigin = await findAllowOrigin(c.req.header(\"origin\") || \"\", c);\n if (allowOrigin) {\n set(\"Access-Control-Allow-Origin\", allowOrigin);\n }\n if (opts.credentials) {\n set(\"Access-Control-Allow-Credentials\", \"true\");\n }\n if (opts.exposeHeaders?.length) {\n set(\"Access-Control-Expose-Headers\", opts.exposeHeaders.join(\",\"));\n }\n if (c.req.method === \"OPTIONS\") {\n if (opts.origin !== \"*\" || opts.credentials) {\n set(\"Vary\", \"Origin\");\n }\n if (opts.maxAge != null) {\n set(\"Access-Control-Max-Age\", opts.maxAge.toString());\n }\n const allowMethods = await findAllowMethods(c.req.header(\"origin\") || \"\", c);\n if (allowMethods.length) {\n set(\"Access-Control-Allow-Methods\", allowMethods.join(\",\"));\n }\n let headers = opts.allowHeaders;\n if (!headers?.length) {\n const requestHeaders = c.req.header(\"Access-Control-Request-Headers\");\n if (requestHeaders) {\n headers = requestHeaders.split(/\\s*,\\s*/);\n }\n }\n if (headers?.length) {\n set(\"Access-Control-Allow-Headers\", headers.join(\",\"));\n c.res.headers.append(\"Vary\", \"Access-Control-Request-Headers\");\n }\n c.res.headers.delete(\"Content-Length\");\n c.res.headers.delete(\"Content-Type\");\n return new Response(null, {\n headers: c.res.headers,\n status: 204,\n statusText: \"No Content\"\n });\n }\n await next();\n if (opts.origin !== \"*\" || opts.credentials) {\n c.header(\"Vary\", \"Origin\", { append: true });\n }\n };\n};\nexport {\n cors\n};\n", "// src/utils/color.ts\nfunction getColorEnabled() {\n const { process, Deno } = globalThis;\n const isNoColor = typeof Deno?.noColor === \"boolean\" ? Deno.noColor : process !== void 0 ? (\n // eslint-disable-next-line no-unsafe-optional-chaining\n \"NO_COLOR\" in process?.env\n ) : false;\n return !isNoColor;\n}\nasync function getColorEnabledAsync() {\n const { navigator } = globalThis;\n const cfWorkers = \"cloudflare:workers\";\n const isNoColor = navigator !== void 0 && navigator.userAgent === \"Cloudflare-Workers\" ? await (async () => {\n try {\n return \"NO_COLOR\" in ((await import(cfWorkers)).env ?? {});\n } catch {\n return false;\n }\n })() : !getColorEnabled();\n return !isNoColor;\n}\nexport {\n getColorEnabled,\n getColorEnabledAsync\n};\n", "// src/middleware/logger/index.ts\nimport { getColorEnabledAsync } from \"../../utils/color.js\";\nvar humanize = (times) => {\n const [delimiter, separator] = [\",\", \".\"];\n const orderTimes = times.map((v) => v.replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1\" + delimiter));\n return orderTimes.join(separator);\n};\nvar time = (start) => {\n const delta = Date.now() - start;\n return humanize([delta < 1e3 ? delta + \"ms\" : Math.round(delta / 1e3) + \"s\"]);\n};\nvar colorStatus = async (status) => {\n const colorEnabled = await getColorEnabledAsync();\n if (colorEnabled) {\n switch (status / 100 | 0) {\n case 5:\n return `\\x1B[31m${status}\\x1B[0m`;\n case 4:\n return `\\x1B[33m${status}\\x1B[0m`;\n case 3:\n return `\\x1B[36m${status}\\x1B[0m`;\n case 2:\n return `\\x1B[32m${status}\\x1B[0m`;\n }\n }\n return `${status}`;\n};\nasync function log(fn, prefix, method, path, status = 0, elapsed) {\n const out = prefix === \"<--\" /* Incoming */ ? `${prefix} ${method} ${path}` : `${prefix} ${method} ${path} ${await colorStatus(status)} ${elapsed}`;\n fn(out);\n}\nvar logger = (fn = console.log) => {\n return async function logger2(c, next) {\n const { method, url } = c.req;\n const path = url.slice(url.indexOf(\"/\", 8));\n await log(fn, \"<--\" /* Incoming */, method, path);\n const start = Date.now();\n await next();\n await log(fn, \"-->\" /* Outgoing */, method, path, c.res.status, time(start));\n };\n};\nexport {\n logger\n};\n", "import type { Result } from '../unstable-core-do-not-import';\nimport type {\n Observable,\n Observer,\n OperatorFunction,\n TeardownLogic,\n UnaryFunction,\n Unsubscribable,\n} from './types';\n\n/** @public */\nexport type inferObservableValue =\n TObservable extends Observable ? TValue : never;\n\n/** @public */\nexport function isObservable(x: unknown): x is Observable {\n return typeof x === 'object' && x !== null && 'subscribe' in x;\n}\n\n/** @public */\nexport function observable(\n subscribe: (observer: Observer) => TeardownLogic,\n): Observable {\n const self: Observable = {\n subscribe(observer) {\n let teardownRef: TeardownLogic | null = null;\n let isDone = false;\n let unsubscribed = false;\n let teardownImmediately = false;\n function unsubscribe() {\n if (teardownRef === null) {\n teardownImmediately = true;\n return;\n }\n if (unsubscribed) {\n return;\n }\n unsubscribed = true;\n\n if (typeof teardownRef === 'function') {\n teardownRef();\n } else if (teardownRef) {\n teardownRef.unsubscribe();\n }\n }\n teardownRef = subscribe({\n next(value) {\n if (isDone) {\n return;\n }\n observer.next?.(value);\n },\n error(err) {\n if (isDone) {\n return;\n }\n isDone = true;\n observer.error?.(err);\n unsubscribe();\n },\n complete() {\n if (isDone) {\n return;\n }\n isDone = true;\n observer.complete?.();\n unsubscribe();\n },\n });\n if (teardownImmediately) {\n unsubscribe();\n }\n return {\n unsubscribe,\n };\n },\n pipe(\n ...operations: OperatorFunction[]\n ): Observable {\n return operations.reduce(pipeReducer, self);\n },\n };\n return self;\n}\n\nfunction pipeReducer(prev: any, fn: UnaryFunction) {\n return fn(prev);\n}\n\n/** @internal */\nexport function observableToPromise(\n observable: Observable,\n) {\n const ac = new AbortController();\n const promise = new Promise((resolve, reject) => {\n let isDone = false;\n function onDone() {\n if (isDone) {\n return;\n }\n isDone = true;\n obs$.unsubscribe();\n }\n ac.signal.addEventListener('abort', () => {\n reject(ac.signal.reason);\n });\n const obs$ = observable.subscribe({\n next(data) {\n isDone = true;\n resolve(data);\n onDone();\n },\n error(data) {\n reject(data);\n },\n complete() {\n ac.abort();\n onDone();\n },\n });\n });\n return promise;\n}\n\n/**\n * @internal\n */\nfunction observableToReadableStream(\n observable: Observable,\n signal: AbortSignal,\n): ReadableStream> {\n let unsub: Unsubscribable | null = null;\n\n const onAbort = () => {\n unsub?.unsubscribe();\n unsub = null;\n signal.removeEventListener('abort', onAbort);\n };\n\n return new ReadableStream>({\n start(controller) {\n unsub = observable.subscribe({\n next(data) {\n controller.enqueue({ ok: true, value: data });\n },\n error(error) {\n controller.enqueue({ ok: false, error });\n controller.close();\n },\n complete() {\n controller.close();\n },\n });\n\n if (signal.aborted) {\n onAbort();\n } else {\n signal.addEventListener('abort', onAbort, { once: true });\n }\n },\n cancel() {\n onAbort();\n },\n });\n}\n\n/** @internal */\nexport function observableToAsyncIterable(\n observable: Observable,\n signal: AbortSignal,\n): AsyncIterable {\n const stream = observableToReadableStream(observable, signal);\n\n const reader = stream.getReader();\n const iterator: AsyncIterator = {\n async next() {\n const value = await reader.read();\n if (value.done) {\n return {\n value: undefined,\n done: true,\n };\n }\n const { value: result } = value;\n if (!result.ok) {\n throw result.error;\n }\n return {\n value: result.value,\n done: false,\n };\n },\n async return() {\n await reader.cancel();\n return {\n value: undefined,\n done: true,\n };\n },\n };\n return {\n [Symbol.asyncIterator]() {\n return iterator;\n },\n };\n}\n", "import { TRPCError } from '../error/TRPCError';\nimport { isObject } from '../utils';\nimport type { TRPCRequestInfo } from './types';\n\nexport function parseConnectionParamsFromUnknown(\n parsed: unknown,\n): TRPCRequestInfo['connectionParams'] {\n try {\n if (parsed === null) {\n return null;\n }\n if (!isObject(parsed)) {\n throw new Error('Expected object');\n }\n const nonStringValues = Object.entries(parsed).filter(\n ([_key, value]) => typeof value !== 'string',\n );\n\n if (nonStringValues.length > 0) {\n throw new Error(\n `Expected connectionParams to be string values. Got ${nonStringValues\n .map(([key, value]) => `${key}: ${typeof value}`)\n .join(', ')}`,\n );\n }\n return parsed as Record;\n } catch (cause) {\n throw new TRPCError({\n code: 'PARSE_ERROR',\n message: 'Invalid connection params shape',\n cause,\n });\n }\n}\nexport function parseConnectionParamsFromString(\n str: string,\n): TRPCRequestInfo['connectionParams'] {\n let parsed: unknown;\n try {\n parsed = JSON.parse(str);\n } catch (cause) {\n throw new TRPCError({\n code: 'PARSE_ERROR',\n message: 'Not JSON-parsable query params',\n cause,\n });\n }\n return parseConnectionParamsFromUnknown(parsed);\n}\n", "import { TRPCError } from '../error/TRPCError';\nimport type { ProcedureType } from '../procedure';\nimport { getProcedureAtPath, type AnyRouter } from '../router';\nimport { emptyObject, isObject } from '../utils';\nimport { parseConnectionParamsFromString } from './parseConnectionParams';\nimport type { TRPCAcceptHeader, TRPCRequestInfo } from './types';\n\nexport function getAcceptHeader(headers: Headers): TRPCAcceptHeader | null {\n return (\n (headers.get('trpc-accept') as TRPCAcceptHeader | null) ??\n (headers\n .get('accept')\n ?.split(',')\n .some((t) => t.trim() === 'application/jsonl')\n ? ('application/jsonl' as TRPCAcceptHeader)\n : null)\n );\n}\n\ntype GetRequestInfoOptions = {\n path: string;\n req: Request;\n url: URL | null;\n searchParams: URLSearchParams;\n headers: Headers;\n router: AnyRouter;\n};\n\ntype ContentTypeHandler = {\n isMatch: (opts: Request) => boolean;\n parse: (opts: GetRequestInfoOptions) => Promise;\n};\n\n/**\n * Memoize a function that takes no arguments\n * @internal\n */\nfunction memo(fn: () => Promise) {\n let promise: Promise | null = null;\n const sym = Symbol.for('@trpc/server/http/memo');\n let value: TReturn | typeof sym = sym;\n return {\n /**\n * Lazily read the value\n */\n read: async (): Promise => {\n if (value !== sym) {\n return value;\n }\n\n // dedupes promises and catches errors\n promise ??= fn().catch((cause) => {\n if (cause instanceof TRPCError) {\n throw cause;\n }\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: cause instanceof Error ? cause.message : 'Invalid input',\n cause,\n });\n });\n\n value = await promise;\n promise = null;\n\n return value;\n },\n /**\n * Get an already stored result\n */\n result: (): TReturn | undefined => {\n return value !== sym ? value : undefined;\n },\n };\n}\n\nconst jsonContentTypeHandler: ContentTypeHandler = {\n isMatch(req) {\n return !!req.headers.get('content-type')?.startsWith('application/json');\n },\n async parse(opts) {\n const { req } = opts;\n const isBatchCall = opts.searchParams.get('batch') === '1';\n const paths = isBatchCall ? opts.path.split(',') : [opts.path];\n\n type InputRecord = Record;\n const getInputs = memo(async (): Promise => {\n let inputs: unknown = undefined;\n if (req.method === 'GET') {\n const queryInput = opts.searchParams.get('input');\n if (queryInput) {\n inputs = JSON.parse(queryInput);\n }\n } else {\n inputs = await req.json();\n }\n if (inputs === undefined) {\n return emptyObject();\n }\n\n if (!isBatchCall) {\n const result: InputRecord = emptyObject();\n result[0] =\n opts.router._def._config.transformer.input.deserialize(inputs);\n return result;\n }\n\n if (!isObject(inputs)) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: '\"input\" needs to be an object when doing a batch call',\n });\n }\n const acc: InputRecord = emptyObject();\n for (const index of paths.keys()) {\n const input = inputs[index];\n if (input !== undefined) {\n acc[index] =\n opts.router._def._config.transformer.input.deserialize(input);\n }\n }\n\n return acc;\n });\n\n const calls = await Promise.all(\n paths.map(\n async (path, index): Promise => {\n const procedure = await getProcedureAtPath(opts.router, path);\n return {\n batchIndex: index,\n path,\n procedure,\n getRawInput: async () => {\n const inputs = await getInputs.read();\n let input = inputs[index];\n\n if (procedure?._def.type === 'subscription') {\n const lastEventId =\n opts.headers.get('last-event-id') ??\n opts.searchParams.get('lastEventId') ??\n opts.searchParams.get('Last-Event-Id');\n\n if (lastEventId) {\n if (isObject(input)) {\n input = {\n ...input,\n lastEventId: lastEventId,\n };\n } else {\n input ??= {\n lastEventId: lastEventId,\n };\n }\n }\n }\n return input;\n },\n result: () => {\n return getInputs.result()?.[index];\n },\n };\n },\n ),\n );\n\n const types = new Set(\n calls.map((call) => call.procedure?._def.type).filter(Boolean),\n );\n\n /* istanbul ignore if -- @preserve */\n if (types.size > 1) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: `Cannot mix procedure types in call: ${Array.from(types).join(\n ', ',\n )}`,\n });\n }\n const type: ProcedureType | 'unknown' =\n types.values().next().value ?? 'unknown';\n\n const connectionParamsStr = opts.searchParams.get('connectionParams');\n\n const info: TRPCRequestInfo = {\n isBatchCall,\n accept: getAcceptHeader(req.headers),\n calls,\n type,\n connectionParams:\n connectionParamsStr === null\n ? null\n : parseConnectionParamsFromString(connectionParamsStr),\n signal: req.signal,\n url: opts.url,\n };\n return info;\n },\n};\n\nconst formDataContentTypeHandler: ContentTypeHandler = {\n isMatch(req) {\n return !!req.headers.get('content-type')?.startsWith('multipart/form-data');\n },\n async parse(opts) {\n const { req } = opts;\n if (req.method !== 'POST') {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message:\n 'Only POST requests are supported for multipart/form-data requests',\n });\n }\n const getInputs = memo(async () => {\n const fd = await req.formData();\n return fd;\n });\n const procedure = await getProcedureAtPath(opts.router, opts.path);\n return {\n accept: null,\n calls: [\n {\n batchIndex: 0,\n path: opts.path,\n getRawInput: getInputs.read,\n result: getInputs.result,\n procedure,\n },\n ],\n isBatchCall: false,\n type: 'mutation',\n connectionParams: null,\n signal: req.signal,\n url: opts.url,\n };\n },\n};\n\nconst octetStreamContentTypeHandler: ContentTypeHandler = {\n isMatch(req) {\n return !!req.headers\n .get('content-type')\n ?.startsWith('application/octet-stream');\n },\n async parse(opts) {\n const { req } = opts;\n if (req.method !== 'POST') {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message:\n 'Only POST requests are supported for application/octet-stream requests',\n });\n }\n const getInputs = memo(async () => {\n return req.body;\n });\n return {\n calls: [\n {\n batchIndex: 0,\n path: opts.path,\n getRawInput: getInputs.read,\n result: getInputs.result,\n procedure: await getProcedureAtPath(opts.router, opts.path),\n },\n ],\n isBatchCall: false,\n accept: null,\n type: 'mutation',\n connectionParams: null,\n signal: req.signal,\n url: opts.url,\n };\n },\n};\n\nconst handlers = [\n jsonContentTypeHandler,\n formDataContentTypeHandler,\n octetStreamContentTypeHandler,\n];\n\nfunction getContentTypeHandler(req: Request): ContentTypeHandler {\n const handler = handlers.find((handler) => handler.isMatch(req));\n if (handler) {\n return handler;\n }\n\n if (!handler && req.method === 'GET') {\n // fallback to JSON for get requests so GET-requests can be opened in browser easily\n return jsonContentTypeHandler;\n }\n\n throw new TRPCError({\n code: 'UNSUPPORTED_MEDIA_TYPE',\n message: req.headers.has('content-type')\n ? `Unsupported content-type \"${req.headers.get('content-type')}`\n : 'Missing content-type header',\n });\n}\n\nexport async function getRequestInfo(\n opts: GetRequestInfoOptions,\n): Promise {\n const handler = getContentTypeHandler(opts.req);\n return await handler.parse(opts);\n}\n", "import { isObject } from '../utils';\n\nexport function isAbortError(\n error: unknown,\n): error is DOMException | Error | { name: 'AbortError' } {\n return isObject(error) && error['name'] === 'AbortError';\n}\n\nexport function throwAbortError(message = 'AbortError'): never {\n throw new DOMException(message, 'AbortError');\n}\n", "/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o: unknown): o is Record {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n \nexport function isPlainObject(o: unknown): o is Record {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n", "/* eslint-disable @typescript-eslint/unbound-method */\n \n \n\nimport type {\n PromiseExecutor,\n PromiseWithResolvers,\n ProxyPromise,\n SubscribedPromise,\n} from \"./types\";\n\n/** Memory safe (weakmapped) cache of the ProxyPromise for each Promise,\n * which is retained for the lifetime of the original Promise.\n */\nconst subscribableCache = new WeakMap<\n PromiseLike,\n ProxyPromise\n>();\n\n/** A NOOP function allowing a consistent interface for settled\n * SubscribedPromises (settled promises are not subscribed - they resolve\n * immediately). */\nconst NOOP = () => {\n // noop\n};\n\n/**\n * Every `Promise` can be shadowed by a single `ProxyPromise`. It is\n * created once, cached and reused throughout the lifetime of the Promise. Get a\n * Promise's ProxyPromise using `Unpromise.proxy(promise)`.\n *\n * The `ProxyPromise` attaches handlers to the original `Promise`\n * `.then()` and `.catch()` just once. Promises derived from it use a\n * subscription- (and unsubscription-) based mechanism that monitors these\n * handlers.\n *\n * Every time you call `.subscribe()`, `.then()` `.catch()` or `.finally()` on a\n * `ProxyPromise` it returns a `SubscribedPromise` having an additional\n * `unsubscribe()` method. Calling `unsubscribe()` detaches reference chains\n * from the original, potentially long-lived Promise, eliminating memory leaks.\n *\n * This approach can eliminate the memory leaks that otherwise come about from\n * repeated `race()` or `any()` calls invoking `.then()` and `.catch()` multiple\n * times on the same long-lived native Promise (subscriptions which can never be\n * cleaned up).\n *\n * `Unpromise.race(promises)` is a reference implementation of `Promise.race`\n * avoiding memory leaks when using long-lived unsettled Promises.\n *\n * `Unpromise.any(promises)` is a reference implementation of `Promise.any`\n * avoiding memory leaks when using long-lived unsettled Promises.\n *\n * `Unpromise.resolve(promise)` returns an ephemeral `SubscribedPromise` for\n * any given `Promise` facilitating arbitrary async/await patterns. Behind\n * the scenes, `resolve` is implemented simply as\n * `Unpromise.proxy(promise).subscribe()`. Don't forget to call `.unsubscribe()`\n * to tidy up!\n *\n */\nexport class Unpromise implements ProxyPromise {\n /** INSTANCE IMPLEMENTATION */\n\n /** The promise shadowed by this Unpromise */\n protected readonly promise: Promise | PromiseLike;\n\n /** Promises expecting eventual settlement (unless unsubscribed first). This list is deleted\n * after the original promise settles - no further notifications will be issued. */\n protected subscribers: ReadonlyArray> | null = [];\n\n /** The Promise's settlement (recorded when it fulfils or rejects). This is consulted when\n * calling .subscribe() .then() .catch() .finally() to see if an immediately-resolving Promise\n * can be returned, and therefore subscription can be bypassed. */\n protected settlement: PromiseSettledResult | null = null;\n\n /** Constructor accepts a normal Promise executor function like `new\n * Unpromise((resolve, reject) => {...})` or accepts a pre-existing Promise\n * like `new Unpromise(existingPromise)`. Adds `.then()` and `.catch()`\n * handlers to the Promise. These handlers pass fulfilment and rejection\n * notifications to downstream subscribers and maintains records of value\n * or error if the Promise ever settles. */\n protected constructor(promise: Promise);\n protected constructor(promise: PromiseLike);\n protected constructor(executor: PromiseExecutor);\n protected constructor(arg: Promise | PromiseLike | PromiseExecutor) {\n // handle either a Promise or a Promise executor function\n if (typeof arg === \"function\") {\n this.promise = new Promise(arg);\n } else {\n this.promise = arg;\n }\n\n // subscribe for eventual fulfilment and rejection\n\n // handle PromiseLike objects (that at least have .then)\n const thenReturn = this.promise.then((value) => {\n // atomically record fulfilment and detach subscriber list\n const { subscribers } = this;\n this.subscribers = null;\n this.settlement = {\n status: \"fulfilled\",\n value,\n };\n // notify fulfilment to subscriber list\n subscribers?.forEach(({ resolve }) => {\n resolve(value);\n });\n });\n\n // handle Promise (that also have a .catch behaviour)\n if (\"catch\" in thenReturn) {\n thenReturn.catch((reason) => {\n // atomically record rejection and detach subscriber list\n const { subscribers } = this;\n this.subscribers = null;\n this.settlement = {\n status: \"rejected\",\n reason,\n };\n // notify rejection to subscriber list\n subscribers?.forEach(({ reject }) => {\n reject(reason);\n });\n });\n }\n }\n\n /** Create a promise that mitigates uncontrolled subscription to a long-lived\n * Promise via .then() and .catch() - otherwise a source of memory leaks.\n *\n * The returned promise has an `unsubscribe()` method which can be called when\n * the Promise is no longer being tracked by application logic, and which\n * ensures that there is no reference chain from the original promise to the\n * new one, and therefore no memory leak.\n *\n * If original promise has not yet settled, this adds a new unique promise\n * that listens to then/catch events, along with an `unsubscribe()` method to\n * detach it.\n *\n * If original promise has settled, then creates a new Promise.resolve() or\n * Promise.reject() and provided unsubscribe is a noop.\n *\n * If you call `unsubscribe()` before the returned Promise has settled, it\n * will never settle.\n */\n subscribe(): SubscribedPromise {\n // in all cases we will combine some promise with its unsubscribe function\n let promise: Promise;\n let unsubscribe: () => void;\n\n const { settlement } = this;\n if (settlement === null) {\n // not yet settled - subscribe new promise. Expect eventual settlement\n if (this.subscribers === null) {\n // invariant - it is not settled, so it must have subscribers\n throw new Error(\"Unpromise settled but still has subscribers\");\n }\n const subscriber = withResolvers();\n this.subscribers = listWithMember(this.subscribers, subscriber);\n promise = subscriber.promise;\n unsubscribe = () => {\n if (this.subscribers !== null) {\n this.subscribers = listWithoutMember(this.subscribers, subscriber);\n }\n };\n } else {\n // settled - don't create subscribed promise. Just resolve or reject\n const { status } = settlement;\n if (status === \"fulfilled\") {\n promise = Promise.resolve(settlement.value);\n } else {\n promise = Promise.reject(settlement.reason);\n }\n unsubscribe = NOOP;\n }\n\n // extend promise signature with the extra method\n return Object.assign(promise, { unsubscribe });\n }\n\n /** STANDARD PROMISE METHODS (but returning a SubscribedPromise) */\n\n then(\n onfulfilled?:\n | ((value: T) => TResult1 | PromiseLike)\n | null\n ,\n onrejected?:\n | ((reason: any) => TResult2 | PromiseLike)\n | null\n \n ): SubscribedPromise {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.then(onfulfilled, onrejected), {\n unsubscribe,\n });\n }\n\n catch(\n onrejected?:\n | ((reason: any) => TResult | PromiseLike)\n | null\n \n ): SubscribedPromise {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.catch(onrejected), {\n unsubscribe,\n });\n }\n\n finally(onfinally?: (() => void) | null ): SubscribedPromise {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.finally(onfinally), {\n unsubscribe,\n });\n }\n\n /** TOSTRING SUPPORT */\n\n readonly [Symbol.toStringTag] = \"Unpromise\";\n\n /** Unpromise STATIC METHODS */\n\n /** Create or Retrieve the proxy Unpromise (a re-used Unpromise for the VM lifetime\n * of the provided Promise reference) */\n static proxy(promise: PromiseLike): ProxyPromise {\n const cached = Unpromise.getSubscribablePromise(promise);\n return typeof cached !== \"undefined\"\n ? cached\n : Unpromise.createSubscribablePromise(promise);\n }\n\n /** Create and store an Unpromise keyed by an original Promise. */\n protected static createSubscribablePromise(promise: PromiseLike) {\n const created = new Unpromise(promise);\n subscribableCache.set(promise, created as Unpromise); // resolve promise to unpromise\n subscribableCache.set(created, created as Unpromise); // resolve the unpromise to itself\n return created;\n }\n\n /** Retrieve a previously-created Unpromise keyed by an original Promise. */\n protected static getSubscribablePromise(promise: PromiseLike) {\n return subscribableCache.get(promise) as ProxyPromise | undefined;\n }\n\n /** Promise STATIC METHODS */\n\n /** Lookup the Unpromise for this promise, and derive a SubscribedPromise from\n * it (that can be later unsubscribed to eliminate Memory leaks) */\n static resolve(value: T | PromiseLike) {\n const promise: PromiseLike =\n typeof value === \"object\" &&\n value !== null &&\n \"then\" in value &&\n typeof value.then === \"function\"\n ? value\n : Promise.resolve(value);\n return Unpromise.proxy(promise).subscribe() as SubscribedPromise<\n Awaited\n >;\n }\n\n /** Perform Promise.any() via SubscribedPromises, then unsubscribe them.\n * Equivalent to Promise.any but eliminates memory leaks from long-lived\n * promises accumulating .then() and .catch() subscribers. */\n static async any(\n values: T\n ): Promise>;\n static async any(\n values: Iterable>\n ): Promise> {\n const valuesArray = Array.isArray(values) ? values : [...values];\n const subscribedPromises = valuesArray.map(Unpromise.resolve);\n try {\n return await Promise.any(subscribedPromises);\n } finally {\n subscribedPromises.forEach(({ unsubscribe }) => {\n unsubscribe();\n });\n }\n }\n\n /** Perform Promise.race via SubscribedPromises, then unsubscribe them.\n * Equivalent to Promise.race but eliminates memory leaks from long-lived\n * promises accumulating .then() and .catch() subscribers. */\n static async race(\n values: T\n ): Promise>;\n static async race(\n values: Iterable>\n ): Promise> {\n const valuesArray = Array.isArray(values) ? values : [...values];\n const subscribedPromises = valuesArray.map(Unpromise.resolve);\n try {\n return await Promise.race(subscribedPromises);\n } finally {\n subscribedPromises.forEach(({ unsubscribe }) => {\n unsubscribe();\n });\n }\n }\n\n /** Create a race of SubscribedPromises that will fulfil to a single winning\n * Promise (in a 1-Tuple). Eliminates memory leaks from long-lived promises\n * accumulating .then() and .catch() subscribers. Allows simple logic to\n * consume the result, like...\n * ```ts\n * const [ winner ] = await Unpromise.race([ promiseA, promiseB ]);\n * if(winner === promiseB){\n * const result = await promiseB;\n * // do the thing\n * }\n * ```\n * */\n static async raceReferences>(\n promises: readonly TPromise[]\n ) {\n // map each promise to an eventual 1-tuple containing itself\n const selfPromises = promises.map(resolveSelfTuple);\n\n // now race them. They will fulfil to a readonly [P] or reject.\n try {\n return await Promise.race(selfPromises);\n } finally {\n for (const promise of selfPromises) {\n // unsubscribe proxy promises when the race is over to mitigate memory leaks\n promise.unsubscribe();\n }\n }\n }\n}\n\n/** Promises a 1-tuple containing the original promise when it resolves. Allows\n * awaiting the eventual Promise ***reference*** (easy to destructure and\n * exactly compare with ===). Avoids resolving to the Promise ***value*** (which\n * may be ambiguous and therefore hard to identify as the winner of a race).\n * You can call unsubscribe on the Promise to mitigate memory leaks.\n * */\nexport function resolveSelfTuple>(\n promise: TPromise\n): SubscribedPromise {\n return Unpromise.proxy(promise).then(() => [promise] as const);\n}\n\n/** VENDORED (Future) PROMISE UTILITIES */\n\n/** Reference implementation of https://github.com/tc39/proposal-promise-with-resolvers */\nfunction withResolvers(): PromiseWithResolvers {\n let resolve!: PromiseWithResolvers[\"resolve\"];\n let reject!: PromiseWithResolvers[\"reject\"];\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject,\n };\n}\n\n/** IMMUTABLE LIST OPERATIONS */\n\nfunction listWithMember(arr: readonly T[], member: T): readonly T[] {\n return [...arr, member];\n}\n\nfunction listWithoutIndex(arr: readonly T[], index: number) {\n return [...arr.slice(0, index), ...arr.slice(index + 1)];\n}\n\nfunction listWithoutMember(arr: readonly T[], member: unknown) {\n const index = arr.indexOf(member as T);\n if (index !== -1) {\n return listWithoutIndex(arr, index);\n }\n return arr;\n}\n", "// @ts-expect-error - polyfilling symbol\n// eslint-disable-next-line no-restricted-syntax\nSymbol.dispose ??= Symbol();\n\n// @ts-expect-error - polyfilling symbol\n// eslint-disable-next-line no-restricted-syntax\nSymbol.asyncDispose ??= Symbol();\n\n/**\n * Takes a value and a dispose function and returns a new object that implements the Disposable interface.\n * The returned object is the original value augmented with a Symbol.dispose method.\n * @param thing The value to make disposable\n * @param dispose Function to call when disposing the resource\n * @returns The original value with Symbol.dispose method added\n */\nexport function makeResource(thing: T, dispose: () => void): T & Disposable {\n const it = thing as T & Partial;\n\n // eslint-disable-next-line no-restricted-syntax\n const existing = it[Symbol.dispose];\n\n // eslint-disable-next-line no-restricted-syntax\n it[Symbol.dispose] = () => {\n dispose();\n existing?.();\n };\n\n return it as T & Disposable;\n}\n\n/**\n * Takes a value and an async dispose function and returns a new object that implements the AsyncDisposable interface.\n * The returned object is the original value augmented with a Symbol.asyncDispose method.\n * @param thing The value to make async disposable\n * @param dispose Async function to call when disposing the resource\n * @returns The original value with Symbol.asyncDispose method added\n */\nexport function makeAsyncResource(\n thing: T,\n dispose: () => Promise,\n): T & AsyncDisposable {\n const it = thing as T & Partial;\n\n // eslint-disable-next-line no-restricted-syntax\n const existing = it[Symbol.asyncDispose];\n\n // eslint-disable-next-line no-restricted-syntax\n it[Symbol.asyncDispose] = async () => {\n await dispose();\n await existing?.();\n };\n\n return it as T & AsyncDisposable;\n}\n", "import { makeResource } from './disposable';\n\nexport const disposablePromiseTimerResult = Symbol();\n\nexport function timerResource(ms: number) {\n let timer: ReturnType | null = null;\n\n return makeResource(\n {\n start() {\n if (timer) {\n throw new Error('Timer already started');\n }\n\n const promise = new Promise(\n (resolve) => {\n timer = setTimeout(() => resolve(disposablePromiseTimerResult), ms);\n },\n );\n return promise;\n },\n },\n () => {\n if (timer) {\n clearTimeout(timer);\n }\n },\n );\n}\n", "function _usingCtx() {\n var r = \"function\" == typeof SuppressedError ? SuppressedError : function (r, e) {\n var n = Error();\n return n.name = \"SuppressedError\", n.error = r, n.suppressed = e, n;\n },\n e = {},\n n = [];\n function using(r, e) {\n if (null != e) {\n if (Object(e) !== e) throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");\n if (r) var o = e[Symbol.asyncDispose || Symbol[\"for\"](\"Symbol.asyncDispose\")];\n if (void 0 === o && (o = e[Symbol.dispose || Symbol[\"for\"](\"Symbol.dispose\")], r)) var t = o;\n if (\"function\" != typeof o) throw new TypeError(\"Object is not disposable.\");\n t && (o = function o() {\n try {\n t.call(e);\n } catch (r) {\n return Promise.reject(r);\n }\n }), n.push({\n v: e,\n d: o,\n a: r\n });\n } else r && n.push({\n d: e,\n a: r\n });\n return e;\n }\n return {\n e: e,\n u: using.bind(null, !1),\n a: using.bind(null, !0),\n d: function d() {\n var o,\n t = this.e,\n s = 0;\n function next() {\n for (; o = n.pop();) try {\n if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);\n if (o.d) {\n var r = o.d.call(o.v);\n if (o.a) return s |= 2, Promise.resolve(r).then(next, err);\n } else s |= 1;\n } catch (r) {\n return err(r);\n }\n if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();\n if (t !== e) throw t;\n }\n function err(n) {\n return t = t !== e ? new r(n, t) : n, next();\n }\n return next();\n }\n };\n}\nmodule.exports = _usingCtx, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var OverloadYield = require(\"./OverloadYield.js\");\nfunction _awaitAsyncGenerator(e) {\n return new OverloadYield(e, 0);\n}\nmodule.exports = _awaitAsyncGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var OverloadYield = require(\"./OverloadYield.js\");\nfunction _wrapAsyncGenerator(e) {\n return function () {\n return new AsyncGenerator(e.apply(this, arguments));\n };\n}\nfunction AsyncGenerator(e) {\n var r, t;\n function resume(r, t) {\n try {\n var n = e[r](t),\n o = n.value,\n u = o instanceof OverloadYield;\n Promise.resolve(u ? o.v : o).then(function (t) {\n if (u) {\n var i = \"return\" === r ? \"return\" : \"next\";\n if (!o.k || t.done) return resume(i, t);\n t = e[i](t).value;\n }\n settle(n.done ? \"return\" : \"normal\", t);\n }, function (e) {\n resume(\"throw\", e);\n });\n } catch (e) {\n settle(\"throw\", e);\n }\n }\n function settle(e, n) {\n switch (e) {\n case \"return\":\n r.resolve({\n value: n,\n done: !0\n });\n break;\n case \"throw\":\n r.reject(n);\n break;\n default:\n r.resolve({\n value: n,\n done: !1\n });\n }\n (r = r.next) ? resume(r.key, r.arg) : t = null;\n }\n this._invoke = function (e, n) {\n return new Promise(function (o, u) {\n var i = {\n key: e,\n arg: n,\n resolve: o,\n reject: u,\n next: null\n };\n t ? t = t.next = i : (r = t = i, resume(e, n));\n });\n }, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, AsyncGenerator.prototype.next = function (e) {\n return this._invoke(\"next\", e);\n}, AsyncGenerator.prototype[\"throw\"] = function (e) {\n return this._invoke(\"throw\", e);\n}, AsyncGenerator.prototype[\"return\"] = function (e) {\n return this._invoke(\"return\", e);\n};\nmodule.exports = _wrapAsyncGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import { Unpromise } from '../../../vendor/unpromise';\nimport { throwAbortError } from '../../http/abortError';\nimport { makeAsyncResource } from './disposable';\nimport { disposablePromiseTimerResult, timerResource } from './timerResource';\n\nexport function iteratorResource(\n iterable: AsyncIterable,\n): AsyncIterator & AsyncDisposable {\n const iterator = iterable[Symbol.asyncIterator]();\n\n // @ts-expect-error - this is added in node 24 which we don't officially support yet\n // eslint-disable-next-line no-restricted-syntax\n if (iterator[Symbol.asyncDispose]) {\n return iterator as AsyncIterator & AsyncDisposable;\n }\n\n return makeAsyncResource(iterator, async () => {\n await iterator.return?.();\n });\n}\n\n/**\n * Derives a new {@link AsyncGenerator} based of {@link iterable}, that yields its first\n * {@link count} values. Then, a grace period of {@link gracePeriodMs} is started in which further\n * values may still come through. After this period, the generator aborts.\n */\nexport async function* takeWithGrace(\n iterable: AsyncIterable,\n opts: {\n count: number;\n gracePeriodMs: number;\n },\n): AsyncGenerator {\n await using iterator = iteratorResource(iterable);\n\n // declaration outside the loop for garbage collection reasons\n let result: null | IteratorResult | typeof disposablePromiseTimerResult;\n\n using timer = timerResource(opts.gracePeriodMs);\n\n let count = opts.count;\n\n let timerPromise = new Promise(() => {\n // never resolves\n });\n\n while (true) {\n result = await Unpromise.race([iterator.next(), timerPromise]);\n if (result === disposablePromiseTimerResult) {\n throwAbortError();\n }\n if (result.done) {\n return result.value;\n }\n yield result.value;\n if (--count === 0) {\n timerPromise = timer.start();\n }\n // free up reference for garbage collection\n result = null;\n }\n}\n", "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nexport function createDeferred() {\n let resolve: (value: TValue) => void;\n let reject: (error: unknown) => void;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return { promise, resolve: resolve!, reject: reject! };\n}\nexport type Deferred = ReturnType>;\n", "import { createDeferred } from './createDeferred';\nimport { makeAsyncResource } from './disposable';\n\ntype ManagedIteratorResult =\n | { status: 'yield'; value: TYield }\n | { status: 'return'; value: TReturn }\n | { status: 'error'; error: unknown };\nfunction createManagedIterator(\n iterable: AsyncIterable,\n onResult: (result: ManagedIteratorResult) => void,\n) {\n const iterator = iterable[Symbol.asyncIterator]();\n let state: 'idle' | 'pending' | 'done' = 'idle';\n\n function cleanup() {\n state = 'done';\n onResult = () => {\n // noop\n };\n }\n\n function pull() {\n if (state !== 'idle') {\n return;\n }\n state = 'pending';\n\n const next = iterator.next();\n next\n .then((result) => {\n if (result.done) {\n state = 'done';\n onResult({ status: 'return', value: result.value });\n cleanup();\n return;\n }\n state = 'idle';\n onResult({ status: 'yield', value: result.value });\n })\n .catch((cause) => {\n onResult({ status: 'error', error: cause });\n cleanup();\n });\n }\n\n return {\n pull,\n destroy: async () => {\n cleanup();\n await iterator.return?.();\n },\n };\n}\ntype ManagedIterator = ReturnType<\n typeof createManagedIterator\n>;\n\ninterface MergedAsyncIterables\n extends AsyncIterable {\n add(iterable: AsyncIterable): void;\n}\n\n/**\n * Creates a new async iterable that merges multiple async iterables into a single stream.\n * Values from the input iterables are yielded in the order they resolve, similar to Promise.race().\n *\n * New iterables can be added dynamically using the returned {@link MergedAsyncIterables.add} method, even after iteration has started.\n *\n * If any of the input iterables throws an error, that error will be propagated through the merged stream.\n * Other iterables will not continue to be processed.\n *\n * @template TYield The type of values yielded by the input iterables\n */\nexport function mergeAsyncIterables(): MergedAsyncIterables {\n let state: 'idle' | 'pending' | 'done' = 'idle';\n let flushSignal = createDeferred();\n\n /**\n * used while {@link state} is `idle`\n */\n const iterables: AsyncIterable[] = [];\n /**\n * used while {@link state} is `pending`\n */\n const iterators = new Set>();\n\n const buffer: Array<\n [\n iterator: ManagedIterator,\n result: Exclude<\n ManagedIteratorResult,\n { status: 'return' }\n >,\n ]\n > = [];\n\n function initIterable(iterable: AsyncIterable) {\n if (state !== 'pending') {\n // shouldn't happen\n return;\n }\n const iterator = createManagedIterator(iterable, (result) => {\n if (state !== 'pending') {\n // shouldn't happen\n return;\n }\n switch (result.status) {\n case 'yield':\n buffer.push([iterator, result]);\n break;\n case 'return':\n iterators.delete(iterator);\n break;\n case 'error':\n buffer.push([iterator, result]);\n iterators.delete(iterator);\n break;\n }\n flushSignal.resolve();\n });\n iterators.add(iterator);\n iterator.pull();\n }\n\n return {\n add(iterable: AsyncIterable) {\n switch (state) {\n case 'idle':\n iterables.push(iterable);\n break;\n case 'pending':\n initIterable(iterable);\n break;\n case 'done': {\n // shouldn't happen\n break;\n }\n }\n },\n async *[Symbol.asyncIterator]() {\n if (state !== 'idle') {\n throw new Error('Cannot iterate twice');\n }\n state = 'pending';\n\n await using _finally = makeAsyncResource({}, async () => {\n state = 'done';\n\n const errors: unknown[] = [];\n await Promise.all(\n Array.from(iterators.values()).map(async (it) => {\n try {\n await it.destroy();\n } catch (cause) {\n errors.push(cause);\n }\n }),\n );\n buffer.length = 0;\n iterators.clear();\n flushSignal.resolve();\n\n if (errors.length > 0) {\n throw new AggregateError(errors);\n }\n });\n\n while (iterables.length > 0) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n initIterable(iterables.shift()!);\n }\n\n while (iterators.size > 0) {\n await flushSignal.promise;\n\n while (buffer.length > 0) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const [iterator, result] = buffer.shift()!;\n\n switch (result.status) {\n case 'yield':\n yield result.value;\n iterator.pull();\n break;\n case 'error':\n throw result.error;\n }\n }\n flushSignal = createDeferred();\n }\n },\n };\n}\n", "/**\n * Creates a ReadableStream from an AsyncIterable.\n *\n * @param iterable - The source AsyncIterable to stream from\n * @returns A ReadableStream that yields values from the AsyncIterable\n */\nexport function readableStreamFrom(\n iterable: AsyncIterable,\n): ReadableStream {\n const iterator = iterable[Symbol.asyncIterator]();\n\n return new ReadableStream({\n async cancel() {\n await iterator.return?.();\n },\n\n async pull(controller) {\n const result = await iterator.next();\n\n if (result.done) {\n controller.close();\n return;\n }\n\n controller.enqueue(result.value);\n },\n });\n}\n", "import { Unpromise } from '../../../vendor/unpromise';\nimport { iteratorResource } from './asyncIterable';\nimport { disposablePromiseTimerResult, timerResource } from './timerResource';\n\nexport const PING_SYM = Symbol('ping');\n\n/**\n * Derives a new {@link AsyncGenerator} based of {@link iterable}, that yields {@link PING_SYM}\n * whenever no value has been yielded for {@link pingIntervalMs}.\n */\nexport async function* withPing(\n iterable: AsyncIterable,\n pingIntervalMs: number,\n): AsyncGenerator {\n await using iterator = iteratorResource(iterable);\n\n // declaration outside the loop for garbage collection reasons\n let result:\n | null\n | IteratorResult\n | typeof disposablePromiseTimerResult;\n\n let nextPromise = iterator.next();\n\n while (true) {\n using pingPromise = timerResource(pingIntervalMs);\n\n result = await Unpromise.race([nextPromise, pingPromise.start()]);\n\n if (result === disposablePromiseTimerResult) {\n // cancelled\n\n yield PING_SYM;\n continue;\n }\n\n if (result.done) {\n return result.value;\n }\n\n nextPromise = iterator.next();\n yield result.value;\n\n // free up reference for garbage collection\n result = null;\n }\n}\n", "function _asyncIterator(r) {\n var n,\n t,\n o,\n e = 2;\n for (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n if (t && null != (n = r[t])) return n.call(r);\n if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n t = \"@@asyncIterator\", o = \"@@iterator\";\n }\n throw new TypeError(\"Object is not async iterable\");\n}\nfunction AsyncFromSyncIterator(r) {\n function AsyncFromSyncIteratorContinuation(r) {\n if (Object(r) !== r) return Promise.reject(new TypeError(r + \" is not an object.\"));\n var n = r.done;\n return Promise.resolve(r.value).then(function (r) {\n return {\n value: r,\n done: n\n };\n });\n }\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {\n this.s = r, this.n = r.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.resolve({\n value: r,\n done: !0\n }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n },\n \"throw\": function _throw(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(r);\n}\nmodule.exports = _asyncIterator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import { isPlainObject } from '@trpc/server/vendor/is-plain-object';\nimport {\n emptyObject,\n isAsyncIterable,\n isFunction,\n isObject,\n run,\n} from '../utils';\nimport { iteratorResource } from './utils/asyncIterable';\nimport type { Deferred } from './utils/createDeferred';\nimport { createDeferred } from './utils/createDeferred';\nimport { makeResource } from './utils/disposable';\nimport { mergeAsyncIterables } from './utils/mergeAsyncIterables';\nimport { readableStreamFrom } from './utils/readableStreamFrom';\nimport { PING_SYM, withPing } from './utils/withPing';\n\n/**\n * A subset of the standard ReadableStream properties needed by tRPC internally.\n * @see ReadableStream from lib.dom.d.ts\n */\nexport type WebReadableStreamEsque = {\n getReader: () => ReadableStreamDefaultReader;\n};\n\nexport type NodeJSReadableStreamEsque = {\n on(\n eventName: string | symbol,\n listener: (...args: any[]) => void,\n ): NodeJSReadableStreamEsque;\n};\n\n// ---------- types\nconst CHUNK_VALUE_TYPE_PROMISE = 0;\ntype CHUNK_VALUE_TYPE_PROMISE = typeof CHUNK_VALUE_TYPE_PROMISE;\nconst CHUNK_VALUE_TYPE_ASYNC_ITERABLE = 1;\ntype CHUNK_VALUE_TYPE_ASYNC_ITERABLE = typeof CHUNK_VALUE_TYPE_ASYNC_ITERABLE;\n\nconst PROMISE_STATUS_FULFILLED = 0;\ntype PROMISE_STATUS_FULFILLED = typeof PROMISE_STATUS_FULFILLED;\nconst PROMISE_STATUS_REJECTED = 1;\ntype PROMISE_STATUS_REJECTED = typeof PROMISE_STATUS_REJECTED;\n\nconst ASYNC_ITERABLE_STATUS_RETURN = 0;\ntype ASYNC_ITERABLE_STATUS_RETURN = typeof ASYNC_ITERABLE_STATUS_RETURN;\nconst ASYNC_ITERABLE_STATUS_YIELD = 1;\ntype ASYNC_ITERABLE_STATUS_YIELD = typeof ASYNC_ITERABLE_STATUS_YIELD;\nconst ASYNC_ITERABLE_STATUS_ERROR = 2;\ntype ASYNC_ITERABLE_STATUS_ERROR = typeof ASYNC_ITERABLE_STATUS_ERROR;\n\ntype ChunkDefinitionKey =\n // root should be replaced\n | null\n // at array path\n | number\n // at key path\n | string;\n\ntype ChunkIndex = number & { __chunkIndex: true };\ntype ChunkValueType =\n | CHUNK_VALUE_TYPE_PROMISE\n | CHUNK_VALUE_TYPE_ASYNC_ITERABLE;\ntype ChunkDefinition = [\n key: ChunkDefinitionKey,\n type: ChunkValueType,\n chunkId: ChunkIndex,\n];\ntype EncodedValue = [\n // data\n [unknown] | [],\n // chunk descriptions\n ...ChunkDefinition[],\n];\n\ntype Head = Record;\ntype PromiseChunk =\n | [\n chunkIndex: ChunkIndex,\n status: PROMISE_STATUS_FULFILLED,\n value: EncodedValue,\n ]\n | [chunkIndex: ChunkIndex, status: PROMISE_STATUS_REJECTED, error: unknown];\ntype IterableChunk =\n | [\n chunkIndex: ChunkIndex,\n status: ASYNC_ITERABLE_STATUS_RETURN,\n value: EncodedValue,\n ]\n | [\n chunkIndex: ChunkIndex,\n status: ASYNC_ITERABLE_STATUS_YIELD,\n value: EncodedValue,\n ]\n | [\n chunkIndex: ChunkIndex,\n status: ASYNC_ITERABLE_STATUS_ERROR,\n error: unknown,\n ];\ntype ChunkData = PromiseChunk | IterableChunk;\ntype PlaceholderValue = 0 & { __placeholder: true };\nexport function isPromise(value: unknown): value is Promise {\n return (\n (isObject(value) || isFunction(value)) &&\n typeof value?.['then'] === 'function' &&\n typeof value?.['catch'] === 'function'\n );\n}\n\ntype Serialize = (value: any) => any;\ntype Deserialize = (value: any) => any;\n\ntype PathArray = readonly (string | number)[];\nexport type ProducerOnError = (opts: {\n error: unknown;\n path: PathArray;\n}) => void;\nexport interface JSONLProducerOptions {\n serialize?: Serialize;\n data: Record | unknown[];\n onError?: ProducerOnError;\n formatError?: (opts: { error: unknown; path: PathArray }) => unknown;\n maxDepth?: number;\n /**\n * Interval in milliseconds to send a ping to the client to keep the connection alive\n * This will be sent as a whitespace character\n * @default undefined\n */\n pingMs?: number;\n}\n\nclass MaxDepthError extends Error {\n constructor(public path: (string | number)[]) {\n super('Max depth reached at path: ' + path.join('.'));\n }\n}\n\nasync function* createBatchStreamProducer(\n opts: JSONLProducerOptions,\n): AsyncIterable {\n const { data } = opts;\n let counter = 0 as ChunkIndex;\n const placeholder = 0 as PlaceholderValue;\n\n const mergedIterables = mergeAsyncIterables();\n function registerAsync(\n callback: (idx: ChunkIndex) => AsyncIterable,\n ) {\n const idx = counter++ as ChunkIndex;\n\n const iterable = callback(idx);\n mergedIterables.add(iterable);\n\n return idx;\n }\n\n function encodePromise(promise: Promise, path: (string | number)[]) {\n return registerAsync(async function* (idx) {\n const error = checkMaxDepth(path);\n if (error) {\n // Catch any errors from the original promise to ensure they're reported\n promise.catch((cause) => {\n opts.onError?.({ error: cause, path });\n });\n // Replace the promise with a rejected one containing the max depth error\n promise = Promise.reject(error);\n }\n try {\n const next = await promise;\n yield [idx, PROMISE_STATUS_FULFILLED, encode(next, path)];\n } catch (cause) {\n opts.onError?.({ error: cause, path });\n yield [\n idx,\n PROMISE_STATUS_REJECTED,\n opts.formatError?.({ error: cause, path }),\n ];\n }\n });\n }\n function encodeAsyncIterable(\n iterable: AsyncIterable,\n path: (string | number)[],\n ) {\n return registerAsync(async function* (idx) {\n const error = checkMaxDepth(path);\n if (error) {\n throw error;\n }\n await using iterator = iteratorResource(iterable);\n\n try {\n while (true) {\n const next = await iterator.next();\n if (next.done) {\n yield [idx, ASYNC_ITERABLE_STATUS_RETURN, encode(next.value, path)];\n break;\n }\n yield [idx, ASYNC_ITERABLE_STATUS_YIELD, encode(next.value, path)];\n }\n } catch (cause) {\n opts.onError?.({ error: cause, path });\n\n yield [\n idx,\n ASYNC_ITERABLE_STATUS_ERROR,\n opts.formatError?.({ error: cause, path }),\n ];\n }\n });\n }\n function checkMaxDepth(path: (string | number)[]) {\n if (opts.maxDepth && path.length > opts.maxDepth) {\n return new MaxDepthError(path);\n }\n return null;\n }\n function encodeAsync(\n value: unknown,\n path: (string | number)[],\n ): null | [type: ChunkValueType, chunkId: ChunkIndex] {\n if (isPromise(value)) {\n return [CHUNK_VALUE_TYPE_PROMISE, encodePromise(value, path)];\n }\n if (isAsyncIterable(value)) {\n if (opts.maxDepth && path.length >= opts.maxDepth) {\n throw new Error('Max depth reached');\n }\n return [\n CHUNK_VALUE_TYPE_ASYNC_ITERABLE,\n encodeAsyncIterable(value, path),\n ];\n }\n return null;\n }\n function encode(value: unknown, path: (string | number)[]): EncodedValue {\n if (value === undefined) {\n return [[]];\n }\n const reg = encodeAsync(value, path);\n if (reg) {\n return [[placeholder], [null, ...reg]];\n }\n\n if (!isPlainObject(value)) {\n return [[value]];\n }\n\n const newObj: Record = emptyObject();\n const asyncValues: ChunkDefinition[] = [];\n for (const [key, item] of Object.entries(value)) {\n const transformed = encodeAsync(item, [...path, key]);\n if (!transformed) {\n newObj[key] = item;\n continue;\n }\n newObj[key] = placeholder;\n asyncValues.push([key, ...transformed]);\n }\n return [[newObj], ...asyncValues];\n }\n\n const newHead: Head = emptyObject();\n for (const [key, item] of Object.entries(data)) {\n newHead[key] = encode(item, [key]);\n }\n\n yield newHead;\n\n let iterable: AsyncIterable =\n mergedIterables;\n if (opts.pingMs) {\n iterable = withPing(mergedIterables, opts.pingMs);\n }\n\n for await (const value of iterable) {\n yield value;\n }\n}\n/**\n * JSON Lines stream producer\n * @see https://jsonlines.org/\n */\nexport function jsonlStreamProducer(opts: JSONLProducerOptions) {\n let stream = readableStreamFrom(createBatchStreamProducer(opts));\n\n const { serialize } = opts;\n if (serialize) {\n stream = stream.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n if (chunk === PING_SYM) {\n controller.enqueue(PING_SYM);\n } else {\n controller.enqueue(serialize(chunk));\n }\n },\n }),\n );\n }\n\n return stream\n .pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n if (chunk === PING_SYM) {\n controller.enqueue(' ');\n } else {\n controller.enqueue(JSON.stringify(chunk) + '\\n');\n }\n },\n }),\n )\n .pipeThrough(new TextEncoderStream());\n}\n\nclass AsyncError extends Error {\n constructor(public readonly data: unknown) {\n super('Received error from server');\n }\n}\nexport type ConsumerOnError = (opts: { error: unknown }) => void;\n\nconst nodeJsStreamToReaderEsque = (source: NodeJSReadableStreamEsque) => {\n return {\n getReader() {\n const stream = new ReadableStream({\n start(controller) {\n source.on('data', (chunk) => {\n controller.enqueue(chunk);\n });\n source.on('end', () => {\n controller.close();\n });\n source.on('error', (error) => {\n controller.error(error);\n });\n },\n });\n return stream.getReader();\n },\n };\n};\n\nfunction createLineAccumulator(\n from: NodeJSReadableStreamEsque | WebReadableStreamEsque,\n) {\n const reader =\n 'getReader' in from\n ? from.getReader()\n : nodeJsStreamToReaderEsque(from).getReader();\n\n let lineAggregate = '';\n\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await reader.read();\n\n if (done) {\n controller.close();\n } else {\n controller.enqueue(value);\n }\n },\n cancel() {\n return reader.cancel();\n },\n })\n .pipeThrough(new TextDecoderStream())\n .pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n lineAggregate += chunk;\n const parts = lineAggregate.split('\\n');\n lineAggregate = parts.pop() ?? '';\n for (const part of parts) {\n controller.enqueue(part);\n }\n },\n }),\n );\n}\nfunction createConsumerStream(\n from: NodeJSReadableStreamEsque | WebReadableStreamEsque,\n) {\n const stream = createLineAccumulator(from);\n\n let sentHead = false;\n return stream.pipeThrough(\n new TransformStream({\n transform(line, controller) {\n if (!sentHead) {\n const head = JSON.parse(line);\n controller.enqueue(head as THead);\n sentHead = true;\n } else {\n const chunk: ChunkData = JSON.parse(line);\n controller.enqueue(chunk);\n }\n },\n }),\n );\n}\n\n/**\n * Creates a handler for managing stream controllers and their lifecycle\n */\nfunction createStreamsManager(abortController: AbortController) {\n const controllerMap = new Map<\n ChunkIndex,\n ReturnType\n >();\n\n /**\n * Checks if there are no pending controllers or deferred promises\n */\n function isEmpty() {\n return Array.from(controllerMap.values()).every((c) => c.closed);\n }\n\n /**\n * Creates a stream controller\n */\n function createStreamController() {\n let originalController: ReadableStreamDefaultController;\n const stream = new ReadableStream({\n start(controller) {\n originalController = controller;\n },\n });\n\n const streamController = {\n enqueue: (v: ChunkData) => originalController.enqueue(v),\n close: () => {\n originalController.close();\n\n clear();\n\n if (isEmpty()) {\n abortController.abort();\n }\n },\n closed: false,\n getReaderResource: () => {\n const reader = stream.getReader();\n\n return makeResource(reader, () => {\n streamController.close();\n reader.releaseLock();\n });\n },\n error: (reason: unknown) => {\n originalController.error(reason);\n\n clear();\n },\n };\n function clear() {\n Object.assign(streamController, {\n closed: true,\n close: () => {\n // noop\n },\n enqueue: () => {\n // noop\n },\n getReaderResource: null,\n error: () => {\n // noop\n },\n });\n }\n\n return streamController;\n }\n\n /**\n * Gets or creates a stream controller\n */\n function getOrCreate(chunkId: ChunkIndex) {\n let c = controllerMap.get(chunkId);\n if (!c) {\n c = createStreamController();\n controllerMap.set(chunkId, c);\n }\n return c;\n }\n\n /**\n * Cancels all pending controllers and rejects deferred promises\n */\n function cancelAll(reason: unknown) {\n for (const controller of controllerMap.values()) {\n controller.error(reason);\n }\n }\n\n return {\n getOrCreate,\n cancelAll,\n };\n}\n\n/**\n * JSON Lines stream consumer\n * @see https://jsonlines.org/\n */\nexport async function jsonlStreamConsumer(opts: {\n from: NodeJSReadableStreamEsque | WebReadableStreamEsque;\n deserialize?: Deserialize;\n onError?: ConsumerOnError;\n formatError?: (opts: { error: unknown }) => Error;\n /**\n * This `AbortController` will be triggered when there are no more listeners to the stream.\n */\n abortController: AbortController;\n}) {\n const { deserialize = (v) => v } = opts;\n\n let source = createConsumerStream(opts.from);\n if (deserialize) {\n source = source.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n controller.enqueue(deserialize(chunk));\n },\n }),\n );\n }\n let headDeferred: null | Deferred = createDeferred();\n\n const streamManager = createStreamsManager(opts.abortController);\n\n function decodeChunkDefinition(value: ChunkDefinition) {\n const [_path, type, chunkId] = value;\n\n const controller = streamManager.getOrCreate(chunkId);\n\n switch (type) {\n case CHUNK_VALUE_TYPE_PROMISE: {\n return run(async () => {\n using reader = controller.getReaderResource();\n\n const { value } = await reader.read();\n const [_chunkId, status, data] = value as PromiseChunk;\n switch (status) {\n case PROMISE_STATUS_FULFILLED:\n return decode(data);\n case PROMISE_STATUS_REJECTED:\n throw opts.formatError?.({ error: data }) ?? new AsyncError(data);\n }\n });\n }\n case CHUNK_VALUE_TYPE_ASYNC_ITERABLE: {\n return run(async function* () {\n using reader = controller.getReaderResource();\n\n while (true) {\n const { value } = await reader.read();\n\n const [_chunkId, status, data] = value as IterableChunk;\n\n switch (status) {\n case ASYNC_ITERABLE_STATUS_YIELD:\n yield decode(data);\n break;\n case ASYNC_ITERABLE_STATUS_RETURN:\n return decode(data);\n case ASYNC_ITERABLE_STATUS_ERROR:\n throw (\n opts.formatError?.({ error: data }) ?? new AsyncError(data)\n );\n }\n }\n });\n }\n }\n }\n\n function decode(value: EncodedValue): unknown {\n const [[data], ...asyncProps] = value;\n\n for (const value of asyncProps) {\n const [key] = value;\n const decoded = decodeChunkDefinition(value);\n\n if (key === null) {\n return decoded;\n }\n\n (data as any)[key] = decoded;\n }\n return data;\n }\n\n const closeOrAbort = (reason?: unknown) => {\n headDeferred?.reject(reason);\n streamManager.cancelAll(reason);\n };\n\n source\n .pipeTo(\n new WritableStream({\n write(chunkOrHead) {\n if (headDeferred) {\n const head = chunkOrHead as Record;\n\n for (const [key, value] of Object.entries(chunkOrHead)) {\n const parsed = decode(value as any);\n head[key] = parsed;\n }\n headDeferred.resolve(head as THead);\n headDeferred = null;\n\n return;\n }\n const chunk = chunkOrHead as ChunkData;\n const [idx] = chunk;\n\n const controller = streamManager.getOrCreate(idx);\n controller.enqueue(chunk);\n },\n close: closeOrAbort,\n abort: closeOrAbort,\n }),\n )\n .catch((error) => {\n opts.onError?.({ error });\n closeOrAbort(error);\n });\n\n return [await headDeferred.promise] as const;\n}\n", "var OverloadYield = require(\"./OverloadYield.js\");\nfunction _asyncGeneratorDelegate(t) {\n var e = {},\n n = !1;\n function pump(e, r) {\n return n = !0, r = new Promise(function (n) {\n n(t[e](r));\n }), {\n done: !1,\n value: new OverloadYield(r, 1)\n };\n }\n return e[\"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\"] = function () {\n return this;\n }, e.next = function (t) {\n return n ? (n = !1, t) : pump(\"next\", t);\n }, \"function\" == typeof t[\"throw\"] && (e[\"throw\"] = function (t) {\n if (n) throw n = !1, t;\n return pump(\"throw\", t);\n }), \"function\" == typeof t[\"return\"] && (e[\"return\"] = function (t) {\n return n ? (n = !1, t) : pump(\"return\", t);\n }), e;\n}\nmodule.exports = _asyncGeneratorDelegate, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import { Unpromise } from '../../vendor/unpromise';\nimport { getTRPCErrorFromUnknown } from '../error/TRPCError';\nimport { isAbortError } from '../http/abortError';\nimport type { MaybePromise } from '../types';\nimport { emptyObject, identity, run } from '../utils';\nimport type { EventSourceLike } from './sse.types';\nimport type { inferTrackedOutput } from './tracked';\nimport { isTrackedEnvelope } from './tracked';\nimport { takeWithGrace } from './utils/asyncIterable';\nimport { makeAsyncResource } from './utils/disposable';\nimport { readableStreamFrom } from './utils/readableStreamFrom';\nimport {\n disposablePromiseTimerResult,\n timerResource,\n} from './utils/timerResource';\nimport { PING_SYM, withPing } from './utils/withPing';\n\ntype Serialize = (value: any) => any;\ntype Deserialize = (value: any) => any;\n\n/**\n * @internal\n */\nexport interface SSEPingOptions {\n /**\n * Enable ping comments sent from the server\n * @default false\n */\n enabled: boolean;\n /**\n * Interval in milliseconds\n * @default 1000\n */\n intervalMs?: number;\n}\n\nexport interface SSEClientOptions {\n /**\n * Timeout and reconnect after inactivity in milliseconds\n * @default undefined\n */\n reconnectAfterInactivityMs?: number;\n}\n\nexport interface SSEStreamProducerOptions {\n serialize?: Serialize;\n data: AsyncIterable;\n\n maxDepth?: number;\n ping?: SSEPingOptions;\n /**\n * Maximum duration in milliseconds for the request before ending the stream\n * @default undefined\n */\n maxDurationMs?: number;\n /**\n * End the request immediately after data is sent\n * Only useful for serverless runtimes that do not support streaming responses\n * @default false\n */\n emitAndEndImmediately?: boolean;\n formatError?: (opts: { error: unknown }) => unknown;\n /**\n * Client-specific options - these will be sent to the client as part of the first message\n * @default {}\n */\n client?: SSEClientOptions;\n}\n\nconst PING_EVENT = 'ping';\nconst SERIALIZED_ERROR_EVENT = 'serialized-error';\nconst CONNECTED_EVENT = 'connected';\nconst RETURN_EVENT = 'return';\n\ninterface SSEvent {\n id?: string;\n data: unknown;\n comment?: string;\n event?: string;\n}\n/**\n *\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html\n */\nexport function sseStreamProducer(\n opts: SSEStreamProducerOptions,\n) {\n const { serialize = identity } = opts;\n\n const ping: Required = {\n enabled: opts.ping?.enabled ?? false,\n intervalMs: opts.ping?.intervalMs ?? 1000,\n };\n const client: SSEClientOptions = opts.client ?? {};\n\n if (\n ping.enabled &&\n client.reconnectAfterInactivityMs &&\n ping.intervalMs > client.reconnectAfterInactivityMs\n ) {\n throw new Error(\n `Ping interval must be less than client reconnect interval to prevent unnecessary reconnection - ping.intervalMs: ${ping.intervalMs} client.reconnectAfterInactivityMs: ${client.reconnectAfterInactivityMs}`,\n );\n }\n\n async function* generator(): AsyncIterable {\n yield {\n event: CONNECTED_EVENT,\n data: JSON.stringify(client),\n };\n\n type TIteratorValue = Awaited | typeof PING_SYM;\n\n let iterable: AsyncIterable = opts.data;\n\n if (opts.emitAndEndImmediately) {\n iterable = takeWithGrace(iterable, {\n count: 1,\n gracePeriodMs: 1,\n });\n }\n\n if (ping.enabled && ping.intervalMs !== Infinity && ping.intervalMs > 0) {\n iterable = withPing(iterable, ping.intervalMs);\n }\n\n // We need those declarations outside the loop for garbage collection reasons. If they were\n // declared inside, they would not be freed until the next value is present.\n let value: null | TIteratorValue;\n let chunk: null | SSEvent;\n\n for await (value of iterable) {\n if (value === PING_SYM) {\n yield { event: PING_EVENT, data: '' };\n continue;\n }\n\n chunk = isTrackedEnvelope(value)\n ? { id: value[0], data: value[1] }\n : { data: value };\n\n chunk.data = JSON.stringify(serialize(chunk.data));\n\n yield chunk;\n\n // free up references for garbage collection\n value = null;\n chunk = null;\n }\n }\n\n async function* generatorWithErrorHandling(): AsyncIterable {\n try {\n yield* generator();\n\n yield {\n event: RETURN_EVENT,\n data: '',\n };\n } catch (cause) {\n if (isAbortError(cause)) {\n // ignore abort errors, send any other errors\n return;\n }\n // `err` must be caused by `opts.data`, `JSON.stringify` or `serialize`.\n // So, a user error in any case.\n const error = getTRPCErrorFromUnknown(cause);\n const data = opts.formatError?.({ error }) ?? null;\n yield {\n event: SERIALIZED_ERROR_EVENT,\n data: JSON.stringify(serialize(data)),\n };\n }\n }\n\n const stream = readableStreamFrom(generatorWithErrorHandling());\n\n return stream\n .pipeThrough(\n new TransformStream({\n transform(chunk, controller: TransformStreamDefaultController) {\n if ('event' in chunk) {\n controller.enqueue(`event: ${chunk.event}\\n`);\n }\n if ('data' in chunk) {\n controller.enqueue(`data: ${chunk.data}\\n`);\n }\n if ('id' in chunk) {\n controller.enqueue(`id: ${chunk.id}\\n`);\n }\n if ('comment' in chunk) {\n controller.enqueue(`: ${chunk.comment}\\n`);\n }\n controller.enqueue('\\n\\n');\n },\n }),\n )\n .pipeThrough(new TextEncoderStream());\n}\n\ninterface ConsumerStreamResultBase {\n eventSource: InstanceType | null;\n}\n\ninterface ConsumerStreamResultData\n extends ConsumerStreamResultBase {\n type: 'data';\n data: inferTrackedOutput;\n}\n\ninterface ConsumerStreamResultError\n extends ConsumerStreamResultBase {\n type: 'serialized-error';\n error: TConfig['error'];\n}\n\ninterface ConsumerStreamResultConnecting\n extends ConsumerStreamResultBase {\n type: 'connecting';\n event: EventSourceLike.EventOf | null;\n}\ninterface ConsumerStreamResultTimeout\n extends ConsumerStreamResultBase {\n type: 'timeout';\n ms: number;\n}\ninterface ConsumerStreamResultPing\n extends ConsumerStreamResultBase {\n type: 'ping';\n}\n\ninterface ConsumerStreamResultConnected\n extends ConsumerStreamResultBase {\n type: 'connected';\n options: SSEClientOptions;\n}\n\ntype ConsumerStreamResult =\n | ConsumerStreamResultData\n | ConsumerStreamResultError\n | ConsumerStreamResultConnecting\n | ConsumerStreamResultTimeout\n | ConsumerStreamResultPing\n | ConsumerStreamResultConnected;\n\nexport interface SSEStreamConsumerOptions {\n url: () => MaybePromise;\n init: () =>\n | MaybePromise>\n | undefined;\n signal: AbortSignal;\n deserialize?: Deserialize;\n EventSource: TConfig['EventSource'];\n}\n\ninterface ConsumerConfig {\n data: unknown;\n error: unknown;\n EventSource: EventSourceLike.AnyConstructor;\n}\n\nasync function withTimeout(opts: {\n promise: Promise;\n timeoutMs: number;\n onTimeout: () => Promise>;\n}): Promise {\n using timeoutPromise = timerResource(opts.timeoutMs);\n const res = await Unpromise.race([opts.promise, timeoutPromise.start()]);\n\n if (res === disposablePromiseTimerResult) {\n return await opts.onTimeout();\n }\n return res;\n}\n\n/**\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html\n */\nexport function sseStreamConsumer(\n opts: SSEStreamConsumerOptions,\n): AsyncIterable> {\n const { deserialize = (v) => v } = opts;\n\n let clientOptions: SSEClientOptions = emptyObject();\n\n const signal = opts.signal;\n\n let _es: InstanceType | null = null;\n\n const createStream = () =>\n new ReadableStream>({\n async start(controller) {\n const [url, init] = await Promise.all([opts.url(), opts.init()]);\n const eventSource = (_es = new opts.EventSource(\n url,\n init,\n ) as InstanceType);\n\n controller.enqueue({\n type: 'connecting',\n eventSource: _es,\n event: null,\n });\n\n eventSource.addEventListener(CONNECTED_EVENT, (_msg) => {\n const msg = _msg as EventSourceLike.MessageEvent;\n\n const options: SSEClientOptions = JSON.parse(msg.data);\n\n clientOptions = options;\n controller.enqueue({\n type: 'connected',\n options,\n eventSource,\n });\n });\n\n eventSource.addEventListener(SERIALIZED_ERROR_EVENT, (_msg) => {\n const msg = _msg as EventSourceLike.MessageEvent;\n\n controller.enqueue({\n type: 'serialized-error',\n error: deserialize(JSON.parse(msg.data)),\n eventSource,\n });\n });\n eventSource.addEventListener(PING_EVENT, () => {\n controller.enqueue({\n type: 'ping',\n eventSource,\n });\n });\n eventSource.addEventListener(RETURN_EVENT, () => {\n eventSource.close();\n controller.close();\n _es = null;\n });\n eventSource.addEventListener('error', (event) => {\n if (eventSource.readyState === eventSource.CLOSED) {\n controller.error(event);\n } else {\n controller.enqueue({\n type: 'connecting',\n eventSource,\n event,\n });\n }\n });\n eventSource.addEventListener('message', (_msg) => {\n const msg = _msg as EventSourceLike.MessageEvent;\n\n const chunk = deserialize(JSON.parse(msg.data));\n\n const def: SSEvent = {\n data: chunk,\n };\n if (msg.lastEventId) {\n def.id = msg.lastEventId;\n }\n controller.enqueue({\n type: 'data',\n data: def as inferTrackedOutput,\n eventSource,\n });\n });\n\n const onAbort = () => {\n try {\n eventSource.close();\n controller.close();\n } catch {\n // ignore errors in case the controller is already closed\n }\n };\n if (signal.aborted) {\n onAbort();\n } else {\n signal.addEventListener('abort', onAbort);\n }\n },\n cancel() {\n _es?.close();\n },\n });\n\n const getStreamResource = () => {\n let stream = createStream();\n let reader = stream.getReader();\n\n async function dispose() {\n await reader.cancel();\n _es = null;\n }\n\n return makeAsyncResource(\n {\n read() {\n return reader.read();\n },\n async recreate() {\n await dispose();\n\n stream = createStream();\n reader = stream.getReader();\n },\n },\n dispose,\n );\n };\n\n return run(async function* () {\n await using stream = getStreamResource();\n\n while (true) {\n let promise = stream.read();\n\n const timeoutMs = clientOptions.reconnectAfterInactivityMs;\n if (timeoutMs) {\n promise = withTimeout({\n promise,\n timeoutMs,\n onTimeout: async () => {\n const res: Awaited = {\n value: {\n type: 'timeout',\n ms: timeoutMs,\n eventSource: _es,\n },\n done: false,\n };\n // Close and release old reader\n await stream.recreate();\n\n return res;\n },\n });\n }\n\n const result = await promise;\n\n if (result.done) {\n return result.value;\n }\n yield result.value;\n }\n });\n}\n\nexport const sseHeaders = {\n 'Content-Type': 'text/event-stream',\n 'Cache-Control': 'no-cache, no-transform',\n 'X-Accel-Buffering': 'no',\n Connection: 'keep-alive',\n} as const;\n", "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n isObservable,\n observableToAsyncIterable,\n} from '../../observable/observable';\nimport { getErrorShape } from '../error/getErrorShape';\nimport { getTRPCErrorFromUnknown, TRPCError } from '../error/TRPCError';\nimport type { ProcedureType } from '../procedure';\nimport {\n type AnyRouter,\n type inferRouterContext,\n type inferRouterError,\n} from '../router';\nimport type { TRPCResponse } from '../rpc';\nimport { isPromise, jsonlStreamProducer } from '../stream/jsonl';\nimport { sseHeaders, sseStreamProducer } from '../stream/sse';\nimport { transformTRPCResponse } from '../transformer';\nimport {\n abortSignalsAnyPonyfill,\n isAsyncIterable,\n isObject,\n run,\n} from '../utils';\nimport { getAcceptHeader, getRequestInfo } from './contentType';\nimport { getHTTPStatusCode } from './getHTTPStatusCode';\nimport type {\n HTTPBaseHandlerOptions,\n ResolveHTTPRequestOptionsContextFn,\n TRPCRequestInfo,\n} from './types';\n\nfunction errorToAsyncIterable(err: TRPCError): AsyncIterable {\n return run(async function* () {\n throw err;\n });\n}\ntype HTTPMethods =\n | 'GET'\n | 'POST'\n | 'HEAD'\n | 'OPTIONS'\n | 'PUT'\n | 'DELETE'\n | 'PATCH';\n\nfunction combinedAbortController(signal: AbortSignal) {\n const controller = new AbortController();\n const combinedSignal = abortSignalsAnyPonyfill([signal, controller.signal]);\n return {\n signal: combinedSignal,\n controller,\n };\n}\n\nconst TYPE_ACCEPTED_METHOD_MAP: Record = {\n mutation: ['POST'],\n query: ['GET'],\n subscription: ['GET'],\n};\nconst TYPE_ACCEPTED_METHOD_MAP_WITH_METHOD_OVERRIDE: Record<\n ProcedureType,\n HTTPMethods[]\n> = {\n // never allow GET to do a mutation\n mutation: ['POST'],\n query: ['GET', 'POST'],\n subscription: ['GET', 'POST'],\n};\n\ninterface ResolveHTTPRequestOptions\n extends HTTPBaseHandlerOptions {\n createContext: ResolveHTTPRequestOptionsContextFn;\n req: Request;\n path: string;\n /**\n * If the request had an issue before reaching the handler\n */\n error: TRPCError | null;\n}\n\nfunction initResponse(initOpts: {\n ctx: inferRouterContext | undefined;\n info: TRPCRequestInfo | undefined;\n responseMeta?: HTTPBaseHandlerOptions['responseMeta'];\n untransformedJSON:\n | TRPCResponse>\n | TRPCResponse>[]\n | null;\n errors: TRPCError[];\n headers: Headers;\n}) {\n const {\n ctx,\n info,\n responseMeta,\n untransformedJSON,\n errors = [],\n headers,\n } = initOpts;\n\n let status = untransformedJSON ? getHTTPStatusCode(untransformedJSON) : 200;\n\n const eagerGeneration = !untransformedJSON;\n const data = eagerGeneration\n ? []\n : Array.isArray(untransformedJSON)\n ? untransformedJSON\n : [untransformedJSON];\n\n const meta =\n responseMeta?.({\n ctx,\n info,\n paths: info?.calls.map((call) => call.path),\n data,\n errors,\n eagerGeneration,\n type:\n info?.calls.find((call) => call.procedure?._def.type)?.procedure?._def\n .type ?? 'unknown',\n }) ?? {};\n\n if (meta.headers) {\n if (meta.headers instanceof Headers) {\n for (const [key, value] of meta.headers.entries()) {\n headers.append(key, value);\n }\n } else {\n /**\n * @deprecated, delete in v12\n */\n for (const [key, value] of Object.entries(meta.headers)) {\n if (Array.isArray(value)) {\n for (const v of value) {\n headers.append(key, v);\n }\n } else if (typeof value === 'string') {\n headers.set(key, value);\n }\n }\n }\n }\n if (meta.status) {\n status = meta.status;\n }\n\n return {\n status,\n };\n}\n\nfunction caughtErrorToData(\n cause: unknown,\n errorOpts: {\n opts: Pick<\n ResolveHTTPRequestOptions,\n 'onError' | 'req' | 'router'\n >;\n ctx: inferRouterContext | undefined;\n type: ProcedureType | 'unknown';\n path?: string;\n input?: unknown;\n },\n) {\n const { router, req, onError } = errorOpts.opts;\n const error = getTRPCErrorFromUnknown(cause);\n onError?.({\n error,\n path: errorOpts.path,\n input: errorOpts.input,\n ctx: errorOpts.ctx,\n type: errorOpts.type,\n req,\n });\n const untransformedJSON = {\n error: getErrorShape({\n config: router._def._config,\n error,\n type: errorOpts.type,\n path: errorOpts.path,\n input: errorOpts.input,\n ctx: errorOpts.ctx,\n }),\n };\n const transformedJSON = transformTRPCResponse(\n router._def._config,\n untransformedJSON,\n );\n const body = JSON.stringify(transformedJSON);\n return {\n error,\n untransformedJSON,\n body,\n };\n}\n\n/**\n * Check if a value is a stream-like object\n * - if it's an async iterable\n * - if it's an object with async iterables or promises\n */\nfunction isDataStream(v: unknown) {\n if (!isObject(v)) {\n return false;\n }\n\n if (isAsyncIterable(v)) {\n return true;\n }\n\n return (\n Object.values(v).some(isPromise) || Object.values(v).some(isAsyncIterable)\n );\n}\n\ntype ResultTuple = [undefined, T] | [TRPCError, undefined];\n\nexport async function resolveResponse(\n opts: ResolveHTTPRequestOptions,\n): Promise {\n const { router, req } = opts;\n const headers = new Headers([['vary', 'trpc-accept, accept']]);\n const config = router._def._config;\n\n const url = new URL(req.url);\n\n if (req.method === 'HEAD') {\n // can be used for lambda warmup\n return new Response(null, {\n status: 204,\n });\n }\n\n const allowBatching = opts.allowBatching ?? opts.batching?.enabled ?? true;\n const allowMethodOverride =\n (opts.allowMethodOverride ?? false) && req.method === 'POST';\n\n type $Context = inferRouterContext;\n\n const infoTuple: ResultTuple = await run(async () => {\n try {\n return [\n undefined,\n await getRequestInfo({\n req,\n path: decodeURIComponent(opts.path),\n router,\n searchParams: url.searchParams,\n headers: opts.req.headers,\n url,\n }),\n ];\n } catch (cause) {\n return [getTRPCErrorFromUnknown(cause), undefined];\n }\n });\n\n interface ContextManager {\n valueOrUndefined: () => $Context | undefined;\n value: () => $Context;\n create: (info: TRPCRequestInfo) => Promise;\n }\n const ctxManager: ContextManager = run(() => {\n let result: ResultTuple<$Context> | undefined = undefined;\n return {\n valueOrUndefined: () => {\n if (!result) {\n return undefined;\n }\n return result[1];\n },\n value: () => {\n const [err, ctx] = result!;\n if (err) {\n throw err;\n }\n return ctx;\n },\n create: async (info) => {\n if (result) {\n throw new Error(\n 'This should only be called once - report a bug in tRPC',\n );\n }\n try {\n const ctx = await opts.createContext({\n info,\n });\n result = [undefined, ctx];\n } catch (cause) {\n result = [getTRPCErrorFromUnknown(cause), undefined];\n }\n },\n };\n });\n\n const methodMapper = allowMethodOverride\n ? TYPE_ACCEPTED_METHOD_MAP_WITH_METHOD_OVERRIDE\n : TYPE_ACCEPTED_METHOD_MAP;\n\n /**\n * @deprecated\n */\n const isStreamCall = getAcceptHeader(req.headers) === 'application/jsonl';\n\n const experimentalSSE = config.sse?.enabled ?? true;\n try {\n const [infoError, info] = infoTuple;\n if (infoError) {\n throw infoError;\n }\n if (info.isBatchCall && !allowBatching) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: `Batching is not enabled on the server`,\n });\n }\n /* istanbul ignore if -- @preserve */\n if (isStreamCall && !info.isBatchCall) {\n throw new TRPCError({\n message: `Streaming requests must be batched (you can do a batch of 1)`,\n code: 'BAD_REQUEST',\n });\n }\n await ctxManager.create(info);\n\n interface RPCResultOk {\n data: unknown;\n signal?: AbortSignal;\n }\n type RPCResult = ResultTuple;\n const rpcCalls = info.calls.map(async (call): Promise => {\n const proc = call.procedure;\n const combinedAbort = combinedAbortController(opts.req.signal);\n try {\n if (opts.error) {\n throw opts.error;\n }\n\n if (!proc) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No procedure found on path \"${call.path}\"`,\n });\n }\n\n if (!methodMapper[proc._def.type].includes(req.method as HTTPMethods)) {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message: `Unsupported ${req.method}-request to ${proc._def.type} procedure at path \"${call.path}\"`,\n });\n }\n\n if (proc._def.type === 'subscription') {\n /* istanbul ignore if -- @preserve */\n if (info.isBatchCall) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: `Cannot batch subscription calls`,\n });\n }\n\n if (config.sse?.maxDurationMs) {\n function cleanup() {\n clearTimeout(timer);\n combinedAbort.signal.removeEventListener('abort', cleanup);\n\n combinedAbort.controller.abort();\n }\n const timer = setTimeout(cleanup, config.sse.maxDurationMs);\n combinedAbort.signal.addEventListener('abort', cleanup);\n }\n }\n const data: unknown = await proc({\n path: call.path,\n getRawInput: call.getRawInput,\n ctx: ctxManager.value(),\n type: proc._def.type,\n signal: combinedAbort.signal,\n batchIndex: call.batchIndex,\n });\n return [\n undefined,\n {\n data,\n signal:\n proc._def.type === 'subscription'\n ? combinedAbort.signal\n : undefined,\n },\n ];\n } catch (cause) {\n const error = getTRPCErrorFromUnknown(cause);\n const input = call.result();\n\n opts.onError?.({\n error,\n path: call.path,\n input,\n ctx: ctxManager.valueOrUndefined(),\n type: call.procedure?._def.type ?? 'unknown',\n req: opts.req,\n });\n\n return [error, undefined];\n }\n });\n\n // ----------- response handlers -----------\n if (!info.isBatchCall) {\n const [call] = info.calls;\n const [error, result] = await rpcCalls[0]!;\n\n switch (info.type) {\n case 'unknown':\n case 'mutation':\n case 'query': {\n // httpLink\n headers.set('content-type', 'application/json');\n\n if (isDataStream(result?.data)) {\n throw new TRPCError({\n code: 'UNSUPPORTED_MEDIA_TYPE',\n message:\n 'Cannot use stream-like response in non-streaming request - use httpBatchStreamLink',\n });\n }\n const res: TRPCResponse> = error\n ? {\n error: getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input: call!.result(),\n path: call!.path,\n type: info.type,\n }),\n }\n : { result: { data: result.data } };\n\n const headResponse = initResponse({\n ctx: ctxManager.valueOrUndefined(),\n info,\n responseMeta: opts.responseMeta,\n errors: error ? [error] : [],\n headers,\n untransformedJSON: [res],\n });\n return new Response(\n JSON.stringify(transformTRPCResponse(config, res)),\n {\n status: headResponse.status,\n headers,\n },\n );\n }\n case 'subscription': {\n // httpSubscriptionLink\n\n const iterable: AsyncIterable = run(() => {\n if (error) {\n return errorToAsyncIterable(error);\n }\n if (!experimentalSSE) {\n return errorToAsyncIterable(\n new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message: 'Missing experimental flag \"sseSubscriptions\"',\n }),\n );\n }\n\n if (!isObservable(result.data) && !isAsyncIterable(result.data)) {\n return errorToAsyncIterable(\n new TRPCError({\n message: `Subscription ${\n call!.path\n } did not return an observable or a AsyncGenerator`,\n code: 'INTERNAL_SERVER_ERROR',\n }),\n );\n }\n const dataAsIterable = isObservable(result.data)\n ? observableToAsyncIterable(result.data, opts.req.signal)\n : result.data;\n return dataAsIterable;\n });\n\n const stream = sseStreamProducer({\n ...config.sse,\n data: iterable,\n serialize: (v) => config.transformer.output.serialize(v),\n formatError(errorOpts) {\n const error = getTRPCErrorFromUnknown(errorOpts.error);\n const input = call?.result();\n const path = call?.path;\n const type = call?.procedure?._def.type ?? 'unknown';\n\n opts.onError?.({\n error,\n path,\n input,\n ctx: ctxManager.valueOrUndefined(),\n req: opts.req,\n type,\n });\n\n const shape = getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input,\n path,\n type,\n });\n\n return shape;\n },\n });\n for (const [key, value] of Object.entries(sseHeaders)) {\n headers.set(key, value);\n }\n\n const headResponse = initResponse({\n ctx: ctxManager.valueOrUndefined(),\n info,\n responseMeta: opts.responseMeta,\n errors: [],\n headers,\n untransformedJSON: null,\n });\n\n const abortSignal = result?.signal;\n let responseBody: ReadableStream = stream;\n\n // Fixes: https://github.com/trpc/trpc/issues/7094\n if (abortSignal) {\n const reader = stream.getReader();\n const onAbort = () => void reader.cancel();\n if (abortSignal.aborted) {\n onAbort();\n } else {\n abortSignal.addEventListener('abort', onAbort, { once: true });\n }\n\n responseBody = new ReadableStream({\n async pull(controller) {\n const chunk = await reader.read();\n if (chunk.done) {\n abortSignal.removeEventListener('abort', onAbort);\n controller.close();\n } else {\n controller.enqueue(chunk.value);\n }\n },\n cancel() {\n abortSignal.removeEventListener('abort', onAbort);\n return reader.cancel();\n },\n });\n }\n\n return new Response(responseBody, {\n headers,\n status: headResponse.status,\n });\n }\n }\n }\n\n // batch response handlers\n if (info.accept === 'application/jsonl') {\n // httpBatchStreamLink\n headers.set('content-type', 'application/json');\n headers.set('transfer-encoding', 'chunked');\n const headResponse = initResponse({\n ctx: ctxManager.valueOrUndefined(),\n info,\n responseMeta: opts.responseMeta,\n errors: [],\n headers,\n untransformedJSON: null,\n });\n const stream = jsonlStreamProducer({\n ...config.jsonl,\n /**\n * Example structure for `maxDepth: 4`:\n * {\n * // 1\n * 0: {\n * // 2\n * result: {\n * // 3\n * data: // 4\n * }\n * }\n * }\n */\n maxDepth: Infinity,\n data: rpcCalls.map(async (res) => {\n const [error, result] = await res;\n\n const call = info.calls[0];\n\n if (error) {\n return {\n error: getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input: call!.result(),\n path: call!.path,\n type: call!.procedure?._def.type ?? 'unknown',\n }),\n };\n }\n\n /**\n * Not very pretty, but we need to wrap nested data in promises\n * Our stream producer will only resolve top-level async values or async values that are directly nested in another async value\n */\n const iterable = isObservable(result.data)\n ? observableToAsyncIterable(result.data, opts.req.signal)\n : Promise.resolve(result.data);\n return {\n result: Promise.resolve({\n data: iterable,\n }),\n };\n }),\n serialize: (data) => config.transformer.output.serialize(data),\n onError: (cause) => {\n opts.onError?.({\n error: getTRPCErrorFromUnknown(cause),\n path: undefined,\n input: undefined,\n ctx: ctxManager.valueOrUndefined(),\n req: opts.req,\n type: info?.type ?? 'unknown',\n });\n },\n\n formatError(errorOpts) {\n const call = info?.calls[errorOpts.path[0] as any];\n\n const error = getTRPCErrorFromUnknown(errorOpts.error);\n const input = call?.result();\n const path = call?.path;\n const type = call?.procedure?._def.type ?? 'unknown';\n\n // no need to call `onError` here as it will be propagated through the stream itself\n\n const shape = getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input,\n path,\n type,\n });\n\n return shape;\n },\n });\n\n return new Response(stream, {\n headers,\n status: headResponse.status,\n });\n }\n\n // httpBatchLink\n /**\n * Non-streaming response:\n * - await all responses in parallel, blocking on the slowest one\n * - create headers with known response body\n * - return a complete HTTPResponse\n */\n headers.set('content-type', 'application/json');\n const results: RPCResult[] = (await Promise.all(rpcCalls)).map(\n (res): RPCResult => {\n const [error, result] = res;\n if (error) {\n return res;\n }\n\n if (isDataStream(result.data)) {\n return [\n new TRPCError({\n code: 'UNSUPPORTED_MEDIA_TYPE',\n message:\n 'Cannot use stream-like response in non-streaming request - use httpBatchStreamLink',\n }),\n undefined,\n ];\n }\n return res;\n },\n );\n const resultAsRPCResponse = results.map(\n (\n [error, result],\n index,\n ): TRPCResponse> => {\n const call = info.calls[index]!;\n if (error) {\n return {\n error: getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input: call.result(),\n path: call.path,\n type: call.procedure?._def.type ?? 'unknown',\n }),\n };\n }\n return {\n result: { data: result.data },\n };\n },\n );\n\n const errors = results\n .map(([error]) => error)\n .filter(Boolean) as TRPCError[];\n\n const headResponse = initResponse({\n ctx: ctxManager.valueOrUndefined(),\n info,\n responseMeta: opts.responseMeta,\n untransformedJSON: resultAsRPCResponse,\n errors,\n headers,\n });\n\n return new Response(\n JSON.stringify(transformTRPCResponse(config, resultAsRPCResponse)),\n {\n status: headResponse.status,\n headers,\n },\n );\n } catch (cause) {\n const [_infoError, info] = infoTuple;\n const ctx = ctxManager.valueOrUndefined();\n // we get here if\n // - batching is called when it's not enabled\n // - `createContext()` throws\n // - `router._def._config.transformer.output.serialize()` throws\n // - post body is too large\n // - input deserialization fails\n // - `errorFormatter` return value is malformed\n const { error, untransformedJSON, body } = caughtErrorToData(cause, {\n opts,\n ctx: ctxManager.valueOrUndefined(),\n type: info?.type ?? 'unknown',\n });\n\n const headResponse = initResponse({\n ctx,\n info,\n responseMeta: opts.responseMeta,\n untransformedJSON,\n errors: [error],\n headers,\n });\n\n return new Response(body, {\n status: headResponse.status,\n headers,\n });\n }\n}\n", "/**\n * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`\n *\n * @example\n * ```ts\n * import type { AnyTRPCRouter } from '@trpc/server'\n * import type { HTTPBaseHandlerOptions } from '@trpc/server/http'\n * ```\n */\n// @trpc/server\n\nimport type { AnyRouter } from '../../@trpc/server';\nimport type { ResolveHTTPRequestOptionsContextFn } from '../../@trpc/server/http';\nimport { resolveResponse } from '../../@trpc/server/http';\nimport type { FetchHandlerRequestOptions } from './types';\n\nconst trimSlashes = (path: string): string => {\n path = path.startsWith('/') ? path.slice(1) : path;\n path = path.endsWith('/') ? path.slice(0, -1) : path;\n\n return path;\n};\n\nexport async function fetchRequestHandler(\n opts: FetchHandlerRequestOptions,\n): Promise {\n const resHeaders = new Headers();\n\n const createContext: ResolveHTTPRequestOptionsContextFn = async (\n innerOpts,\n ) => {\n return opts.createContext?.({ req: opts.req, resHeaders, ...innerOpts });\n };\n\n const url = new URL(opts.req.url);\n\n const pathname = trimSlashes(url.pathname);\n const endpoint = trimSlashes(opts.endpoint);\n const path = trimSlashes(pathname.slice(endpoint.length));\n\n return await resolveResponse({\n ...opts,\n req: opts.req,\n createContext,\n path,\n error: null,\n onError(o) {\n opts?.onError?.({ ...o, req: opts.req });\n },\n responseMeta(data) {\n const meta = opts.responseMeta?.(data);\n\n if (meta?.headers) {\n if (meta.headers instanceof Headers) {\n for (const [key, value] of meta.headers.entries()) {\n resHeaders.append(key, value);\n }\n } else {\n /**\n * @deprecated, delete in v12\n */\n for (const [key, value] of Object.entries(meta.headers)) {\n if (Array.isArray(value)) {\n for (const v of value) {\n resHeaders.append(key, v);\n }\n } else if (typeof value === 'string') {\n resHeaders.set(key, value);\n }\n }\n }\n }\n\n return {\n headers: resHeaders,\n status: meta?.status,\n };\n },\n });\n}\n", "// src/helper/route/index.ts\nimport { GET_MATCH_RESULT } from \"../../request/constants.js\";\nimport { getPattern, splitRoutingPath } from \"../../utils/url.js\";\nvar matchedRoutes = (c) => (\n // @ts-expect-error c.req[GET_MATCH_RESULT] is not typed\n c.req[GET_MATCH_RESULT][0].map(([[, route]]) => route)\n);\nvar routePath = (c, index) => matchedRoutes(c).at(index ?? c.req.routeIndex)?.path ?? \"\";\nvar baseRoutePath = (c, index) => matchedRoutes(c).at(index ?? c.req.routeIndex)?.basePath ?? \"\";\nvar basePathCacheMap = /* @__PURE__ */ new WeakMap();\nvar basePath = (c, index) => {\n index ??= c.req.routeIndex;\n const cache = basePathCacheMap.get(c) || [];\n if (typeof cache[index] === \"string\") {\n return cache[index];\n }\n let result;\n const rp = baseRoutePath(c, index);\n if (!/[:*]/.test(rp)) {\n result = rp;\n } else {\n const paths = splitRoutingPath(rp);\n const reqPath = c.req.path;\n let basePathLength = 0;\n for (let i = 0, len = paths.length; i < len; i++) {\n const pattern = getPattern(paths[i], paths[i + 1]);\n if (pattern) {\n const re = pattern[2] === true || pattern === \"*\" ? /[^\\/]+/ : pattern[2];\n basePathLength += reqPath.substring(basePathLength + 1).match(re)?.[0].length || 0;\n } else {\n basePathLength += paths[i].length;\n }\n basePathLength += 1;\n }\n result = reqPath.substring(0, basePathLength);\n }\n cache[index] = result;\n basePathCacheMap.set(c, cache);\n return result;\n};\nexport {\n basePath,\n baseRoutePath,\n matchedRoutes,\n routePath\n};\n", "import type { AnyRouter } from '@trpc/server'\nimport type {\n FetchCreateContextFnOptions,\n FetchHandlerRequestOptions,\n} from '@trpc/server/adapters/fetch'\nimport { fetchRequestHandler } from '@trpc/server/adapters/fetch'\nimport type { Context, MiddlewareHandler } from 'hono'\nimport { routePath } from 'hono/route'\n\ntype tRPCOptions = Omit<\n FetchHandlerRequestOptions,\n 'req' | 'endpoint' | 'createContext'\n> &\n Partial, 'endpoint'>> & {\n createContext?(\n opts: FetchCreateContextFnOptions,\n c: Context\n ): Record | Promise>\n }\n\nexport const trpcServer = ({\n endpoint,\n createContext,\n ...rest\n}: tRPCOptions): MiddlewareHandler => {\n const bodyProps = new Set(['arrayBuffer', 'blob', 'formData', 'json', 'text'] as const)\n type BodyProp = typeof bodyProps extends Set ? T : never\n return async (c) => {\n const canWithBody = c.req.method === 'GET' || c.req.method === 'HEAD'\n\n // Auto-detect endpoint from route path if not explicitly provided\n let resolvedEndpoint = endpoint\n if (!endpoint) {\n const path = routePath(c)\n if (path) {\n // Remove wildcard suffix (e.g., \"/v1/*\" -> \"/v1\")\n resolvedEndpoint = path.replace(/\\/\\*+$/, '') || '/trpc'\n } else {\n resolvedEndpoint = '/trpc'\n }\n }\n\n const res = await fetchRequestHandler({\n ...rest,\n createContext: async (opts) => ({\n ...(createContext ? await createContext(opts, c) : {}),\n // propagate env by default\n env: c.env,\n }),\n endpoint: resolvedEndpoint!,\n req: canWithBody\n ? c.req.raw\n : new Proxy(c.req.raw, {\n get(t, p, _r) {\n if (bodyProps.has(p as BodyProp)) {\n return () => c.req[p as BodyProp]()\n }\n return Reflect.get(t, p, t)\n },\n }),\n })\n return res\n }\n}\n", "export const encoder = new TextEncoder();\nexport const decoder = new TextDecoder();\nconst MAX_INT32 = 2 ** 32;\nexport function concat(...buffers) {\n const size = buffers.reduce((acc, { length }) => acc + length, 0);\n const buf = new Uint8Array(size);\n let i = 0;\n for (const buffer of buffers) {\n buf.set(buffer, i);\n i += buffer.length;\n }\n return buf;\n}\nfunction writeUInt32BE(buf, value, offset) {\n if (value < 0 || value >= MAX_INT32) {\n throw new RangeError(`value must be >= 0 and <= ${MAX_INT32 - 1}. Received ${value}`);\n }\n buf.set([value >>> 24, value >>> 16, value >>> 8, value & 0xff], offset);\n}\nexport function uint64be(value) {\n const high = Math.floor(value / MAX_INT32);\n const low = value % MAX_INT32;\n const buf = new Uint8Array(8);\n writeUInt32BE(buf, high, 0);\n writeUInt32BE(buf, low, 4);\n return buf;\n}\nexport function uint32be(value) {\n const buf = new Uint8Array(4);\n writeUInt32BE(buf, value);\n return buf;\n}\nexport function encode(string) {\n const bytes = new Uint8Array(string.length);\n for (let i = 0; i < string.length; i++) {\n const code = string.charCodeAt(i);\n if (code > 127) {\n throw new TypeError('non-ASCII string encountered in encode()');\n }\n bytes[i] = code;\n }\n return bytes;\n}\n", "export function encodeBase64(input) {\n if (Uint8Array.prototype.toBase64) {\n return input.toBase64();\n }\n const CHUNK_SIZE = 0x8000;\n const arr = [];\n for (let i = 0; i < input.length; i += CHUNK_SIZE) {\n arr.push(String.fromCharCode.apply(null, input.subarray(i, i + CHUNK_SIZE)));\n }\n return btoa(arr.join(''));\n}\nexport function decodeBase64(encoded) {\n if (Uint8Array.fromBase64) {\n return Uint8Array.fromBase64(encoded);\n }\n const binary = atob(encoded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n", "import { encoder, decoder } from '../lib/buffer_utils.js';\nimport { encodeBase64, decodeBase64 } from '../lib/base64.js';\nexport function decode(input) {\n if (Uint8Array.fromBase64) {\n return Uint8Array.fromBase64(typeof input === 'string' ? input : decoder.decode(input), {\n alphabet: 'base64url',\n });\n }\n let encoded = input;\n if (encoded instanceof Uint8Array) {\n encoded = decoder.decode(encoded);\n }\n encoded = encoded.replace(/-/g, '+').replace(/_/g, '/');\n try {\n return decodeBase64(encoded);\n }\n catch {\n throw new TypeError('The input to be decoded is not correctly encoded.');\n }\n}\nexport function encode(input) {\n let unencoded = input;\n if (typeof unencoded === 'string') {\n unencoded = encoder.encode(unencoded);\n }\n if (Uint8Array.prototype.toBase64) {\n return unencoded.toBase64({ alphabet: 'base64url', omitPadding: true });\n }\n return encodeBase64(unencoded).replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\n", "const unusable = (name, prop = 'algorithm.name') => new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);\nconst isAlgorithm = (algorithm, name) => algorithm.name === name;\nfunction getHashLength(hash) {\n return parseInt(hash.name.slice(4), 10);\n}\nfunction checkHashLength(algorithm, expected) {\n const actual = getHashLength(algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n}\nfunction getNamedCurve(alg) {\n switch (alg) {\n case 'ES256':\n return 'P-256';\n case 'ES384':\n return 'P-384';\n case 'ES512':\n return 'P-521';\n default:\n throw new Error('unreachable');\n }\n}\nfunction checkUsage(key, usage) {\n if (usage && !key.usages.includes(usage)) {\n throw new TypeError(`CryptoKey does not support this operation, its usages must include ${usage}.`);\n }\n}\nexport function checkSigCryptoKey(key, alg, usage) {\n switch (alg) {\n case 'HS256':\n case 'HS384':\n case 'HS512': {\n if (!isAlgorithm(key.algorithm, 'HMAC'))\n throw unusable('HMAC');\n checkHashLength(key.algorithm, parseInt(alg.slice(2), 10));\n break;\n }\n case 'RS256':\n case 'RS384':\n case 'RS512': {\n if (!isAlgorithm(key.algorithm, 'RSASSA-PKCS1-v1_5'))\n throw unusable('RSASSA-PKCS1-v1_5');\n checkHashLength(key.algorithm, parseInt(alg.slice(2), 10));\n break;\n }\n case 'PS256':\n case 'PS384':\n case 'PS512': {\n if (!isAlgorithm(key.algorithm, 'RSA-PSS'))\n throw unusable('RSA-PSS');\n checkHashLength(key.algorithm, parseInt(alg.slice(2), 10));\n break;\n }\n case 'Ed25519':\n case 'EdDSA': {\n if (!isAlgorithm(key.algorithm, 'Ed25519'))\n throw unusable('Ed25519');\n break;\n }\n case 'ML-DSA-44':\n case 'ML-DSA-65':\n case 'ML-DSA-87': {\n if (!isAlgorithm(key.algorithm, alg))\n throw unusable(alg);\n break;\n }\n case 'ES256':\n case 'ES384':\n case 'ES512': {\n if (!isAlgorithm(key.algorithm, 'ECDSA'))\n throw unusable('ECDSA');\n const expected = getNamedCurve(alg);\n const actual = key.algorithm.namedCurve;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.namedCurve');\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usage);\n}\nexport function checkEncCryptoKey(key, alg, usage) {\n switch (alg) {\n case 'A128GCM':\n case 'A192GCM':\n case 'A256GCM': {\n if (!isAlgorithm(key.algorithm, 'AES-GCM'))\n throw unusable('AES-GCM');\n const expected = parseInt(alg.slice(1, 4), 10);\n const actual = key.algorithm.length;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.length');\n break;\n }\n case 'A128KW':\n case 'A192KW':\n case 'A256KW': {\n if (!isAlgorithm(key.algorithm, 'AES-KW'))\n throw unusable('AES-KW');\n const expected = parseInt(alg.slice(1, 4), 10);\n const actual = key.algorithm.length;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.length');\n break;\n }\n case 'ECDH': {\n switch (key.algorithm.name) {\n case 'ECDH':\n case 'X25519':\n break;\n default:\n throw unusable('ECDH or X25519');\n }\n break;\n }\n case 'PBES2-HS256+A128KW':\n case 'PBES2-HS384+A192KW':\n case 'PBES2-HS512+A256KW':\n if (!isAlgorithm(key.algorithm, 'PBKDF2'))\n throw unusable('PBKDF2');\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512': {\n if (!isAlgorithm(key.algorithm, 'RSA-OAEP'))\n throw unusable('RSA-OAEP');\n checkHashLength(key.algorithm, parseInt(alg.slice(9), 10) || 1);\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usage);\n}\n", "function message(msg, actual, ...types) {\n types = types.filter(Boolean);\n if (types.length > 2) {\n const last = types.pop();\n msg += `one of type ${types.join(', ')}, or ${last}.`;\n }\n else if (types.length === 2) {\n msg += `one of type ${types[0]} or ${types[1]}.`;\n }\n else {\n msg += `of type ${types[0]}.`;\n }\n if (actual == null) {\n msg += ` Received ${actual}`;\n }\n else if (typeof actual === 'function' && actual.name) {\n msg += ` Received function ${actual.name}`;\n }\n else if (typeof actual === 'object' && actual != null) {\n if (actual.constructor?.name) {\n msg += ` Received an instance of ${actual.constructor.name}`;\n }\n }\n return msg;\n}\nexport const invalidKeyInput = (actual, ...types) => message('Key must be ', actual, ...types);\nexport const withAlg = (alg, actual, ...types) => message(`Key for the ${alg} algorithm must be `, actual, ...types);\n", "export class JOSEError extends Error {\n static code = 'ERR_JOSE_GENERIC';\n code = 'ERR_JOSE_GENERIC';\n constructor(message, options) {\n super(message, options);\n this.name = this.constructor.name;\n Error.captureStackTrace?.(this, this.constructor);\n }\n}\nexport class JWTClaimValidationFailed extends JOSEError {\n static code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n claim;\n reason;\n payload;\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified') {\n super(message, { cause: { claim, reason, payload } });\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nexport class JWTExpired extends JOSEError {\n static code = 'ERR_JWT_EXPIRED';\n code = 'ERR_JWT_EXPIRED';\n claim;\n reason;\n payload;\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified') {\n super(message, { cause: { claim, reason, payload } });\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nexport class JOSEAlgNotAllowed extends JOSEError {\n static code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n}\nexport class JOSENotSupported extends JOSEError {\n static code = 'ERR_JOSE_NOT_SUPPORTED';\n code = 'ERR_JOSE_NOT_SUPPORTED';\n}\nexport class JWEDecryptionFailed extends JOSEError {\n static code = 'ERR_JWE_DECRYPTION_FAILED';\n code = 'ERR_JWE_DECRYPTION_FAILED';\n constructor(message = 'decryption operation failed', options) {\n super(message, options);\n }\n}\nexport class JWEInvalid extends JOSEError {\n static code = 'ERR_JWE_INVALID';\n code = 'ERR_JWE_INVALID';\n}\nexport class JWSInvalid extends JOSEError {\n static code = 'ERR_JWS_INVALID';\n code = 'ERR_JWS_INVALID';\n}\nexport class JWTInvalid extends JOSEError {\n static code = 'ERR_JWT_INVALID';\n code = 'ERR_JWT_INVALID';\n}\nexport class JWKInvalid extends JOSEError {\n static code = 'ERR_JWK_INVALID';\n code = 'ERR_JWK_INVALID';\n}\nexport class JWKSInvalid extends JOSEError {\n static code = 'ERR_JWKS_INVALID';\n code = 'ERR_JWKS_INVALID';\n}\nexport class JWKSNoMatchingKey extends JOSEError {\n static code = 'ERR_JWKS_NO_MATCHING_KEY';\n code = 'ERR_JWKS_NO_MATCHING_KEY';\n constructor(message = 'no applicable key found in the JSON Web Key Set', options) {\n super(message, options);\n }\n}\nexport class JWKSMultipleMatchingKeys extends JOSEError {\n [Symbol.asyncIterator];\n static code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n constructor(message = 'multiple matching keys found in the JSON Web Key Set', options) {\n super(message, options);\n }\n}\nexport class JWKSTimeout extends JOSEError {\n static code = 'ERR_JWKS_TIMEOUT';\n code = 'ERR_JWKS_TIMEOUT';\n constructor(message = 'request timed out', options) {\n super(message, options);\n }\n}\nexport class JWSSignatureVerificationFailed extends JOSEError {\n static code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n constructor(message = 'signature verification failed', options) {\n super(message, options);\n }\n}\n", "export function assertCryptoKey(key) {\n if (!isCryptoKey(key)) {\n throw new Error('CryptoKey instance expected');\n }\n}\nexport const isCryptoKey = (key) => {\n if (key?.[Symbol.toStringTag] === 'CryptoKey')\n return true;\n try {\n return key instanceof CryptoKey;\n }\n catch {\n return false;\n }\n};\nexport const isKeyObject = (key) => key?.[Symbol.toStringTag] === 'KeyObject';\nexport const isKeyLike = (key) => isCryptoKey(key) || isKeyObject(key);\n", "import { decode } from '../util/base64url.js';\nexport const unprotected = Symbol();\nexport function assertNotSet(value, name) {\n if (value) {\n throw new TypeError(`${name} can only be called once`);\n }\n}\nexport function decodeBase64url(value, label, ErrorClass) {\n try {\n return decode(value);\n }\n catch {\n throw new ErrorClass(`Failed to base64url decode the ${label}`);\n }\n}\nexport async function digest(algorithm, data) {\n const subtleDigest = `SHA-${algorithm.slice(-3)}`;\n return new Uint8Array(await crypto.subtle.digest(subtleDigest, data));\n}\n", "const isObjectLike = (value) => typeof value === 'object' && value !== null;\nexport function isObject(input) {\n if (!isObjectLike(input) || Object.prototype.toString.call(input) !== '[object Object]') {\n return false;\n }\n if (Object.getPrototypeOf(input) === null) {\n return true;\n }\n let proto = input;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(input) === proto;\n}\nexport function isDisjoint(...headers) {\n const sources = headers.filter(Boolean);\n if (sources.length === 0 || sources.length === 1) {\n return true;\n }\n let acc;\n for (const header of sources) {\n const parameters = Object.keys(header);\n if (!acc || acc.size === 0) {\n acc = new Set(parameters);\n continue;\n }\n for (const parameter of parameters) {\n if (acc.has(parameter)) {\n return false;\n }\n acc.add(parameter);\n }\n }\n return true;\n}\nexport const isJWK = (key) => isObject(key) && typeof key.kty === 'string';\nexport const isPrivateJWK = (key) => key.kty !== 'oct' &&\n ((key.kty === 'AKP' && typeof key.priv === 'string') || typeof key.d === 'string');\nexport const isPublicJWK = (key) => key.kty !== 'oct' && key.d === undefined && key.priv === undefined;\nexport const isSecretJWK = (key) => key.kty === 'oct' && typeof key.k === 'string';\n", "import { JOSENotSupported } from '../util/errors.js';\nimport { checkSigCryptoKey } from './crypto_key.js';\nimport { invalidKeyInput } from './invalid_key_input.js';\nexport function checkKeyLength(alg, key) {\n if (alg.startsWith('RS') || alg.startsWith('PS')) {\n const { modulusLength } = key.algorithm;\n if (typeof modulusLength !== 'number' || modulusLength < 2048) {\n throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);\n }\n }\n}\nfunction subtleAlgorithm(alg, algorithm) {\n const hash = `SHA-${alg.slice(-3)}`;\n switch (alg) {\n case 'HS256':\n case 'HS384':\n case 'HS512':\n return { hash, name: 'HMAC' };\n case 'PS256':\n case 'PS384':\n case 'PS512':\n return { hash, name: 'RSA-PSS', saltLength: parseInt(alg.slice(-3), 10) >> 3 };\n case 'RS256':\n case 'RS384':\n case 'RS512':\n return { hash, name: 'RSASSA-PKCS1-v1_5' };\n case 'ES256':\n case 'ES384':\n case 'ES512':\n return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };\n case 'Ed25519':\n case 'EdDSA':\n return { name: 'Ed25519' };\n case 'ML-DSA-44':\n case 'ML-DSA-65':\n case 'ML-DSA-87':\n return { name: alg };\n default:\n throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);\n }\n}\nasync function getSigKey(alg, key, usage) {\n if (key instanceof Uint8Array) {\n if (!alg.startsWith('HS')) {\n throw new TypeError(invalidKeyInput(key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n }\n return crypto.subtle.importKey('raw', key, { hash: `SHA-${alg.slice(-3)}`, name: 'HMAC' }, false, [usage]);\n }\n checkSigCryptoKey(key, alg, usage);\n return key;\n}\nexport async function sign(alg, key, data) {\n const cryptoKey = await getSigKey(alg, key, 'sign');\n checkKeyLength(alg, cryptoKey);\n const signature = await crypto.subtle.sign(subtleAlgorithm(alg, cryptoKey.algorithm), cryptoKey, data);\n return new Uint8Array(signature);\n}\nexport async function verify(alg, key, signature, data) {\n const cryptoKey = await getSigKey(alg, key, 'verify');\n checkKeyLength(alg, cryptoKey);\n const algorithm = subtleAlgorithm(alg, cryptoKey.algorithm);\n try {\n return await crypto.subtle.verify(algorithm, cryptoKey, signature, data);\n }\n catch {\n return false;\n }\n}\n", "import { JOSENotSupported } from '../util/errors.js';\nconst unsupportedAlg = 'Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value';\nfunction subtleMapping(jwk) {\n let algorithm;\n let keyUsages;\n switch (jwk.kty) {\n case 'AKP': {\n switch (jwk.alg) {\n case 'ML-DSA-44':\n case 'ML-DSA-65':\n case 'ML-DSA-87':\n algorithm = { name: jwk.alg };\n keyUsages = jwk.priv ? ['sign'] : ['verify'];\n break;\n default:\n throw new JOSENotSupported(unsupportedAlg);\n }\n break;\n }\n case 'RSA': {\n switch (jwk.alg) {\n case 'PS256':\n case 'PS384':\n case 'PS512':\n algorithm = { name: 'RSA-PSS', hash: `SHA-${jwk.alg.slice(-3)}` };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'RS256':\n case 'RS384':\n case 'RS512':\n algorithm = { name: 'RSASSA-PKCS1-v1_5', hash: `SHA-${jwk.alg.slice(-3)}` };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512':\n algorithm = {\n name: 'RSA-OAEP',\n hash: `SHA-${parseInt(jwk.alg.slice(-3), 10) || 1}`,\n };\n keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];\n break;\n default:\n throw new JOSENotSupported(unsupportedAlg);\n }\n break;\n }\n case 'EC': {\n switch (jwk.alg) {\n case 'ES256':\n case 'ES384':\n case 'ES512':\n algorithm = {\n name: 'ECDSA',\n namedCurve: { ES256: 'P-256', ES384: 'P-384', ES512: 'P-521' }[jwk.alg],\n };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = { name: 'ECDH', namedCurve: jwk.crv };\n keyUsages = jwk.d ? ['deriveBits'] : [];\n break;\n default:\n throw new JOSENotSupported(unsupportedAlg);\n }\n break;\n }\n case 'OKP': {\n switch (jwk.alg) {\n case 'Ed25519':\n case 'EdDSA':\n algorithm = { name: 'Ed25519' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = { name: jwk.crv };\n keyUsages = jwk.d ? ['deriveBits'] : [];\n break;\n default:\n throw new JOSENotSupported(unsupportedAlg);\n }\n break;\n }\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"kty\" (Key Type) Parameter value');\n }\n return { algorithm, keyUsages };\n}\nexport async function jwkToKey(jwk) {\n if (!jwk.alg) {\n throw new TypeError('\"alg\" argument is required when \"jwk.alg\" is not present');\n }\n const { algorithm, keyUsages } = subtleMapping(jwk);\n const keyData = { ...jwk };\n if (keyData.kty !== 'AKP') {\n delete keyData.alg;\n }\n delete keyData.use;\n return crypto.subtle.importKey('jwk', keyData, algorithm, jwk.ext ?? (jwk.d || jwk.priv ? false : true), jwk.key_ops ?? keyUsages);\n}\n", "import { isJWK } from './type_checks.js';\nimport { decode } from '../util/base64url.js';\nimport { jwkToKey } from './jwk_to_key.js';\nimport { isCryptoKey, isKeyObject } from './is_key_like.js';\nconst unusableForAlg = 'given KeyObject instance cannot be used for this algorithm';\nlet cache;\nconst handleJWK = async (key, jwk, alg, freeze = false) => {\n cache ||= new WeakMap();\n let cached = cache.get(key);\n if (cached?.[alg]) {\n return cached[alg];\n }\n const cryptoKey = await jwkToKey({ ...jwk, alg });\n if (freeze)\n Object.freeze(key);\n if (!cached) {\n cache.set(key, { [alg]: cryptoKey });\n }\n else {\n cached[alg] = cryptoKey;\n }\n return cryptoKey;\n};\nconst handleKeyObject = (keyObject, alg) => {\n cache ||= new WeakMap();\n let cached = cache.get(keyObject);\n if (cached?.[alg]) {\n return cached[alg];\n }\n const isPublic = keyObject.type === 'public';\n const extractable = isPublic ? true : false;\n let cryptoKey;\n if (keyObject.asymmetricKeyType === 'x25519') {\n switch (alg) {\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n break;\n default:\n throw new TypeError(unusableForAlg);\n }\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, isPublic ? [] : ['deriveBits']);\n }\n if (keyObject.asymmetricKeyType === 'ed25519') {\n if (alg !== 'EdDSA' && alg !== 'Ed25519') {\n throw new TypeError(unusableForAlg);\n }\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, [\n isPublic ? 'verify' : 'sign',\n ]);\n }\n switch (keyObject.asymmetricKeyType) {\n case 'ml-dsa-44':\n case 'ml-dsa-65':\n case 'ml-dsa-87': {\n if (alg !== keyObject.asymmetricKeyType.toUpperCase()) {\n throw new TypeError(unusableForAlg);\n }\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, [\n isPublic ? 'verify' : 'sign',\n ]);\n }\n }\n if (keyObject.asymmetricKeyType === 'rsa') {\n let hash;\n switch (alg) {\n case 'RSA-OAEP':\n hash = 'SHA-1';\n break;\n case 'RS256':\n case 'PS256':\n case 'RSA-OAEP-256':\n hash = 'SHA-256';\n break;\n case 'RS384':\n case 'PS384':\n case 'RSA-OAEP-384':\n hash = 'SHA-384';\n break;\n case 'RS512':\n case 'PS512':\n case 'RSA-OAEP-512':\n hash = 'SHA-512';\n break;\n default:\n throw new TypeError(unusableForAlg);\n }\n if (alg.startsWith('RSA-OAEP')) {\n return keyObject.toCryptoKey({\n name: 'RSA-OAEP',\n hash,\n }, extractable, isPublic ? ['encrypt'] : ['decrypt']);\n }\n cryptoKey = keyObject.toCryptoKey({\n name: alg.startsWith('PS') ? 'RSA-PSS' : 'RSASSA-PKCS1-v1_5',\n hash,\n }, extractable, [isPublic ? 'verify' : 'sign']);\n }\n if (keyObject.asymmetricKeyType === 'ec') {\n const nist = new Map([\n ['prime256v1', 'P-256'],\n ['secp384r1', 'P-384'],\n ['secp521r1', 'P-521'],\n ]);\n const namedCurve = nist.get(keyObject.asymmetricKeyDetails?.namedCurve);\n if (!namedCurve) {\n throw new TypeError(unusableForAlg);\n }\n const expectedCurve = { ES256: 'P-256', ES384: 'P-384', ES512: 'P-521' };\n if (expectedCurve[alg] && namedCurve === expectedCurve[alg]) {\n cryptoKey = keyObject.toCryptoKey({\n name: 'ECDSA',\n namedCurve,\n }, extractable, [isPublic ? 'verify' : 'sign']);\n }\n if (alg.startsWith('ECDH-ES')) {\n cryptoKey = keyObject.toCryptoKey({\n name: 'ECDH',\n namedCurve,\n }, extractable, isPublic ? [] : ['deriveBits']);\n }\n }\n if (!cryptoKey) {\n throw new TypeError(unusableForAlg);\n }\n if (!cached) {\n cache.set(keyObject, { [alg]: cryptoKey });\n }\n else {\n cached[alg] = cryptoKey;\n }\n return cryptoKey;\n};\nexport async function normalizeKey(key, alg) {\n if (key instanceof Uint8Array) {\n return key;\n }\n if (isCryptoKey(key)) {\n return key;\n }\n if (isKeyObject(key)) {\n if (key.type === 'secret') {\n return key.export();\n }\n if ('toCryptoKey' in key && typeof key.toCryptoKey === 'function') {\n try {\n return handleKeyObject(key, alg);\n }\n catch (err) {\n if (err instanceof TypeError) {\n throw err;\n }\n }\n }\n let jwk = key.export({ format: 'jwk' });\n return handleJWK(key, jwk, alg);\n }\n if (isJWK(key)) {\n if (key.k) {\n return decode(key.k);\n }\n return handleJWK(key, key, alg, true);\n }\n throw new Error('unreachable');\n}\n", "import { JOSENotSupported, JWEInvalid, JWSInvalid } from '../util/errors.js';\nexport function validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) {\n if (joseHeader.crit !== undefined && protectedHeader?.crit === undefined) {\n throw new Err('\"crit\" (Critical) Header Parameter MUST be integrity protected');\n }\n if (!protectedHeader || protectedHeader.crit === undefined) {\n return new Set();\n }\n if (!Array.isArray(protectedHeader.crit) ||\n protectedHeader.crit.length === 0 ||\n protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) {\n throw new Err('\"crit\" (Critical) Header Parameter MUST be an array of non-empty strings when present');\n }\n let recognized;\n if (recognizedOption !== undefined) {\n recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]);\n }\n else {\n recognized = recognizedDefault;\n }\n for (const parameter of protectedHeader.crit) {\n if (!recognized.has(parameter)) {\n throw new JOSENotSupported(`Extension Header Parameter \"${parameter}\" is not recognized`);\n }\n if (joseHeader[parameter] === undefined) {\n throw new Err(`Extension Header Parameter \"${parameter}\" is missing`);\n }\n if (recognized.get(parameter) && protectedHeader[parameter] === undefined) {\n throw new Err(`Extension Header Parameter \"${parameter}\" MUST be integrity protected`);\n }\n }\n return new Set(protectedHeader.crit);\n}\n", "export function validateAlgorithms(option, algorithms) {\n if (algorithms !== undefined &&\n (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) {\n throw new TypeError(`\"${option}\" option must be an array of strings`);\n }\n if (!algorithms) {\n return undefined;\n }\n return new Set(algorithms);\n}\n", "import { withAlg as invalidKeyInput } from './invalid_key_input.js';\nimport { isKeyLike } from './is_key_like.js';\nimport * as jwk from './type_checks.js';\nconst tag = (key) => key?.[Symbol.toStringTag];\nconst jwkMatchesOp = (alg, key, usage) => {\n if (key.use !== undefined) {\n let expected;\n switch (usage) {\n case 'sign':\n case 'verify':\n expected = 'sig';\n break;\n case 'encrypt':\n case 'decrypt':\n expected = 'enc';\n break;\n }\n if (key.use !== expected) {\n throw new TypeError(`Invalid key for this operation, its \"use\" must be \"${expected}\" when present`);\n }\n }\n if (key.alg !== undefined && key.alg !== alg) {\n throw new TypeError(`Invalid key for this operation, its \"alg\" must be \"${alg}\" when present`);\n }\n if (Array.isArray(key.key_ops)) {\n let expectedKeyOp;\n switch (true) {\n case usage === 'sign' || usage === 'verify':\n case alg === 'dir':\n case alg.includes('CBC-HS'):\n expectedKeyOp = usage;\n break;\n case alg.startsWith('PBES2'):\n expectedKeyOp = 'deriveBits';\n break;\n case /^A\\d{3}(?:GCM)?(?:KW)?$/.test(alg):\n if (!alg.includes('GCM') && alg.endsWith('KW')) {\n expectedKeyOp = usage === 'encrypt' ? 'wrapKey' : 'unwrapKey';\n }\n else {\n expectedKeyOp = usage;\n }\n break;\n case usage === 'encrypt' && alg.startsWith('RSA'):\n expectedKeyOp = 'wrapKey';\n break;\n case usage === 'decrypt':\n expectedKeyOp = alg.startsWith('RSA') ? 'unwrapKey' : 'deriveBits';\n break;\n }\n if (expectedKeyOp && key.key_ops?.includes?.(expectedKeyOp) === false) {\n throw new TypeError(`Invalid key for this operation, its \"key_ops\" must include \"${expectedKeyOp}\" when present`);\n }\n }\n return true;\n};\nconst symmetricTypeCheck = (alg, key, usage) => {\n if (key instanceof Uint8Array)\n return;\n if (jwk.isJWK(key)) {\n if (jwk.isSecretJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for symmetric algorithms must have JWK \"kty\" (Key Type) equal to \"oct\" and the JWK \"k\" (Key Value) present`);\n }\n if (!isKeyLike(key)) {\n throw new TypeError(invalidKeyInput(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key', 'Uint8Array'));\n }\n if (key.type !== 'secret') {\n throw new TypeError(`${tag(key)} instances for symmetric algorithms must be of type \"secret\"`);\n }\n};\nconst asymmetricTypeCheck = (alg, key, usage) => {\n if (jwk.isJWK(key)) {\n switch (usage) {\n case 'decrypt':\n case 'sign':\n if (jwk.isPrivateJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for this operation must be a private JWK`);\n case 'encrypt':\n case 'verify':\n if (jwk.isPublicJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for this operation must be a public JWK`);\n }\n }\n if (!isKeyLike(key)) {\n throw new TypeError(invalidKeyInput(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n }\n if (key.type === 'secret') {\n throw new TypeError(`${tag(key)} instances for asymmetric algorithms must not be of type \"secret\"`);\n }\n if (key.type === 'public') {\n switch (usage) {\n case 'sign':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm signing must be of type \"private\"`);\n case 'decrypt':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm decryption must be of type \"private\"`);\n }\n }\n if (key.type === 'private') {\n switch (usage) {\n case 'verify':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm verifying must be of type \"public\"`);\n case 'encrypt':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm encryption must be of type \"public\"`);\n }\n }\n};\nexport function checkKeyType(alg, key, usage) {\n switch (alg.substring(0, 2)) {\n case 'A1':\n case 'A2':\n case 'di':\n case 'HS':\n case 'PB':\n symmetricTypeCheck(alg, key, usage);\n break;\n default:\n asymmetricTypeCheck(alg, key, usage);\n }\n}\n", "import { decode as b64u } from '../../util/base64url.js';\nimport { verify } from '../../lib/signing.js';\nimport { JOSEAlgNotAllowed, JWSInvalid, JWSSignatureVerificationFailed } from '../../util/errors.js';\nimport { concat, encoder, decoder, encode } from '../../lib/buffer_utils.js';\nimport { decodeBase64url } from '../../lib/helpers.js';\nimport { isDisjoint } from '../../lib/type_checks.js';\nimport { isObject } from '../../lib/type_checks.js';\nimport { checkKeyType } from '../../lib/check_key_type.js';\nimport { validateCrit } from '../../lib/validate_crit.js';\nimport { validateAlgorithms } from '../../lib/validate_algorithms.js';\nimport { normalizeKey } from '../../lib/normalize_key.js';\nexport async function flattenedVerify(jws, key, options) {\n if (!isObject(jws)) {\n throw new JWSInvalid('Flattened JWS must be an object');\n }\n if (jws.protected === undefined && jws.header === undefined) {\n throw new JWSInvalid('Flattened JWS must have either of the \"protected\" or \"header\" members');\n }\n if (jws.protected !== undefined && typeof jws.protected !== 'string') {\n throw new JWSInvalid('JWS Protected Header incorrect type');\n }\n if (jws.payload === undefined) {\n throw new JWSInvalid('JWS Payload missing');\n }\n if (typeof jws.signature !== 'string') {\n throw new JWSInvalid('JWS Signature missing or incorrect type');\n }\n if (jws.header !== undefined && !isObject(jws.header)) {\n throw new JWSInvalid('JWS Unprotected Header incorrect type');\n }\n let parsedProt = {};\n if (jws.protected) {\n try {\n const protectedHeader = b64u(jws.protected);\n parsedProt = JSON.parse(decoder.decode(protectedHeader));\n }\n catch {\n throw new JWSInvalid('JWS Protected Header is invalid');\n }\n }\n if (!isDisjoint(parsedProt, jws.header)) {\n throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n }\n const joseHeader = {\n ...parsedProt,\n ...jws.header,\n };\n const extensions = validateCrit(JWSInvalid, new Map([['b64', true]]), options?.crit, parsedProt, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = parsedProt.b64;\n if (typeof b64 !== 'boolean') {\n throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n }\n const { alg } = joseHeader;\n if (typeof alg !== 'string' || !alg) {\n throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n }\n const algorithms = options && validateAlgorithms('algorithms', options.algorithms);\n if (algorithms && !algorithms.has(alg)) {\n throw new JOSEAlgNotAllowed('\"alg\" (Algorithm) Header Parameter value not allowed');\n }\n if (b64) {\n if (typeof jws.payload !== 'string') {\n throw new JWSInvalid('JWS Payload must be a string');\n }\n }\n else if (typeof jws.payload !== 'string' && !(jws.payload instanceof Uint8Array)) {\n throw new JWSInvalid('JWS Payload must be a string or an Uint8Array instance');\n }\n let resolvedKey = false;\n if (typeof key === 'function') {\n key = await key(parsedProt, jws);\n resolvedKey = true;\n }\n checkKeyType(alg, key, 'verify');\n const data = concat(jws.protected !== undefined ? encode(jws.protected) : new Uint8Array(), encode('.'), typeof jws.payload === 'string'\n ? b64\n ? encode(jws.payload)\n : encoder.encode(jws.payload)\n : jws.payload);\n const signature = decodeBase64url(jws.signature, 'signature', JWSInvalid);\n const k = await normalizeKey(key, alg);\n const verified = await verify(alg, k, signature, data);\n if (!verified) {\n throw new JWSSignatureVerificationFailed();\n }\n let payload;\n if (b64) {\n payload = decodeBase64url(jws.payload, 'payload', JWSInvalid);\n }\n else if (typeof jws.payload === 'string') {\n payload = encoder.encode(jws.payload);\n }\n else {\n payload = jws.payload;\n }\n const result = { payload };\n if (jws.protected !== undefined) {\n result.protectedHeader = parsedProt;\n }\n if (jws.header !== undefined) {\n result.unprotectedHeader = jws.header;\n }\n if (resolvedKey) {\n return { ...result, key: k };\n }\n return result;\n}\n", "import { flattenedVerify } from '../flattened/verify.js';\nimport { JWSInvalid } from '../../util/errors.js';\nimport { decoder } from '../../lib/buffer_utils.js';\nexport async function compactVerify(jws, key, options) {\n if (jws instanceof Uint8Array) {\n jws = decoder.decode(jws);\n }\n if (typeof jws !== 'string') {\n throw new JWSInvalid('Compact JWS must be a string or Uint8Array');\n }\n const { 0: protectedHeader, 1: payload, 2: signature, length } = jws.split('.');\n if (length !== 3) {\n throw new JWSInvalid('Invalid Compact JWS');\n }\n const verified = await flattenedVerify({ payload, protected: protectedHeader, signature }, key, options);\n const result = { payload: verified.payload, protectedHeader: verified.protectedHeader };\n if (typeof key === 'function') {\n return { ...result, key: verified.key };\n }\n return result;\n}\n", "import { JWTClaimValidationFailed, JWTExpired, JWTInvalid } from '../util/errors.js';\nimport { encoder, decoder } from './buffer_utils.js';\nimport { isObject } from './type_checks.js';\nconst epoch = (date) => Math.floor(date.getTime() / 1000);\nconst minute = 60;\nconst hour = minute * 60;\nconst day = hour * 24;\nconst week = day * 7;\nconst year = day * 365.25;\nconst REGEX = /^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;\nexport function secs(str) {\n const matched = REGEX.exec(str);\n if (!matched || (matched[4] && matched[1])) {\n throw new TypeError('Invalid time period format');\n }\n const value = parseFloat(matched[2]);\n const unit = matched[3].toLowerCase();\n let numericDate;\n switch (unit) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n case 's':\n numericDate = Math.round(value);\n break;\n case 'minute':\n case 'minutes':\n case 'min':\n case 'mins':\n case 'm':\n numericDate = Math.round(value * minute);\n break;\n case 'hour':\n case 'hours':\n case 'hr':\n case 'hrs':\n case 'h':\n numericDate = Math.round(value * hour);\n break;\n case 'day':\n case 'days':\n case 'd':\n numericDate = Math.round(value * day);\n break;\n case 'week':\n case 'weeks':\n case 'w':\n numericDate = Math.round(value * week);\n break;\n default:\n numericDate = Math.round(value * year);\n break;\n }\n if (matched[1] === '-' || matched[4] === 'ago') {\n return -numericDate;\n }\n return numericDate;\n}\nfunction validateInput(label, input) {\n if (!Number.isFinite(input)) {\n throw new TypeError(`Invalid ${label} input`);\n }\n return input;\n}\nconst normalizeTyp = (value) => {\n if (value.includes('/')) {\n return value.toLowerCase();\n }\n return `application/${value.toLowerCase()}`;\n};\nconst checkAudiencePresence = (audPayload, audOption) => {\n if (typeof audPayload === 'string') {\n return audOption.includes(audPayload);\n }\n if (Array.isArray(audPayload)) {\n return audOption.some(Set.prototype.has.bind(new Set(audPayload)));\n }\n return false;\n};\nexport function validateClaimsSet(protectedHeader, encodedPayload, options = {}) {\n let payload;\n try {\n payload = JSON.parse(decoder.decode(encodedPayload));\n }\n catch {\n }\n if (!isObject(payload)) {\n throw new JWTInvalid('JWT Claims Set must be a top-level JSON object');\n }\n const { typ } = options;\n if (typ &&\n (typeof protectedHeader.typ !== 'string' ||\n normalizeTyp(protectedHeader.typ) !== normalizeTyp(typ))) {\n throw new JWTClaimValidationFailed('unexpected \"typ\" JWT header value', payload, 'typ', 'check_failed');\n }\n const { requiredClaims = [], issuer, subject, audience, maxTokenAge } = options;\n const presenceCheck = [...requiredClaims];\n if (maxTokenAge !== undefined)\n presenceCheck.push('iat');\n if (audience !== undefined)\n presenceCheck.push('aud');\n if (subject !== undefined)\n presenceCheck.push('sub');\n if (issuer !== undefined)\n presenceCheck.push('iss');\n for (const claim of new Set(presenceCheck.reverse())) {\n if (!(claim in payload)) {\n throw new JWTClaimValidationFailed(`missing required \"${claim}\" claim`, payload, claim, 'missing');\n }\n }\n if (issuer &&\n !(Array.isArray(issuer) ? issuer : [issuer]).includes(payload.iss)) {\n throw new JWTClaimValidationFailed('unexpected \"iss\" claim value', payload, 'iss', 'check_failed');\n }\n if (subject && payload.sub !== subject) {\n throw new JWTClaimValidationFailed('unexpected \"sub\" claim value', payload, 'sub', 'check_failed');\n }\n if (audience &&\n !checkAudiencePresence(payload.aud, typeof audience === 'string' ? [audience] : audience)) {\n throw new JWTClaimValidationFailed('unexpected \"aud\" claim value', payload, 'aud', 'check_failed');\n }\n let tolerance;\n switch (typeof options.clockTolerance) {\n case 'string':\n tolerance = secs(options.clockTolerance);\n break;\n case 'number':\n tolerance = options.clockTolerance;\n break;\n case 'undefined':\n tolerance = 0;\n break;\n default:\n throw new TypeError('Invalid clockTolerance option type');\n }\n const { currentDate } = options;\n const now = epoch(currentDate || new Date());\n if ((payload.iat !== undefined || maxTokenAge) && typeof payload.iat !== 'number') {\n throw new JWTClaimValidationFailed('\"iat\" claim must be a number', payload, 'iat', 'invalid');\n }\n if (payload.nbf !== undefined) {\n if (typeof payload.nbf !== 'number') {\n throw new JWTClaimValidationFailed('\"nbf\" claim must be a number', payload, 'nbf', 'invalid');\n }\n if (payload.nbf > now + tolerance) {\n throw new JWTClaimValidationFailed('\"nbf\" claim timestamp check failed', payload, 'nbf', 'check_failed');\n }\n }\n if (payload.exp !== undefined) {\n if (typeof payload.exp !== 'number') {\n throw new JWTClaimValidationFailed('\"exp\" claim must be a number', payload, 'exp', 'invalid');\n }\n if (payload.exp <= now - tolerance) {\n throw new JWTExpired('\"exp\" claim timestamp check failed', payload, 'exp', 'check_failed');\n }\n }\n if (maxTokenAge) {\n const age = now - payload.iat;\n const max = typeof maxTokenAge === 'number' ? maxTokenAge : secs(maxTokenAge);\n if (age - tolerance > max) {\n throw new JWTExpired('\"iat\" claim timestamp check failed (too far in the past)', payload, 'iat', 'check_failed');\n }\n if (age < 0 - tolerance) {\n throw new JWTClaimValidationFailed('\"iat\" claim timestamp check failed (it should be in the past)', payload, 'iat', 'check_failed');\n }\n }\n return payload;\n}\nexport class JWTClaimsBuilder {\n #payload;\n constructor(payload) {\n if (!isObject(payload)) {\n throw new TypeError('JWT Claims Set MUST be an object');\n }\n this.#payload = structuredClone(payload);\n }\n data() {\n return encoder.encode(JSON.stringify(this.#payload));\n }\n get iss() {\n return this.#payload.iss;\n }\n set iss(value) {\n this.#payload.iss = value;\n }\n get sub() {\n return this.#payload.sub;\n }\n set sub(value) {\n this.#payload.sub = value;\n }\n get aud() {\n return this.#payload.aud;\n }\n set aud(value) {\n this.#payload.aud = value;\n }\n set jti(value) {\n this.#payload.jti = value;\n }\n set nbf(value) {\n if (typeof value === 'number') {\n this.#payload.nbf = validateInput('setNotBefore', value);\n }\n else if (value instanceof Date) {\n this.#payload.nbf = validateInput('setNotBefore', epoch(value));\n }\n else {\n this.#payload.nbf = epoch(new Date()) + secs(value);\n }\n }\n set exp(value) {\n if (typeof value === 'number') {\n this.#payload.exp = validateInput('setExpirationTime', value);\n }\n else if (value instanceof Date) {\n this.#payload.exp = validateInput('setExpirationTime', epoch(value));\n }\n else {\n this.#payload.exp = epoch(new Date()) + secs(value);\n }\n }\n set iat(value) {\n if (value === undefined) {\n this.#payload.iat = epoch(new Date());\n }\n else if (value instanceof Date) {\n this.#payload.iat = validateInput('setIssuedAt', epoch(value));\n }\n else if (typeof value === 'string') {\n this.#payload.iat = validateInput('setIssuedAt', epoch(new Date()) + secs(value));\n }\n else {\n this.#payload.iat = validateInput('setIssuedAt', value);\n }\n }\n}\n", "import { compactVerify } from '../jws/compact/verify.js';\nimport { validateClaimsSet } from '../lib/jwt_claims_set.js';\nimport { JWTInvalid } from '../util/errors.js';\nexport async function jwtVerify(jwt, key, options) {\n const verified = await compactVerify(jwt, key, options);\n if (verified.protectedHeader.crit?.includes('b64') && verified.protectedHeader.b64 === false) {\n throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n }\n const payload = validateClaimsSet(verified.protectedHeader, verified.payload, options);\n const result = { payload, protectedHeader: verified.protectedHeader };\n if (typeof key === 'function') {\n return { ...result, key: verified.key };\n }\n return result;\n}\n", "import { encode as b64u } from '../../util/base64url.js';\nimport { sign } from '../../lib/signing.js';\nimport { isDisjoint } from '../../lib/type_checks.js';\nimport { JWSInvalid } from '../../util/errors.js';\nimport { concat, encode } from '../../lib/buffer_utils.js';\nimport { checkKeyType } from '../../lib/check_key_type.js';\nimport { validateCrit } from '../../lib/validate_crit.js';\nimport { normalizeKey } from '../../lib/normalize_key.js';\nimport { assertNotSet } from '../../lib/helpers.js';\nexport class FlattenedSign {\n #payload;\n #protectedHeader;\n #unprotectedHeader;\n constructor(payload) {\n if (!(payload instanceof Uint8Array)) {\n throw new TypeError('payload must be an instance of Uint8Array');\n }\n this.#payload = payload;\n }\n setProtectedHeader(protectedHeader) {\n assertNotSet(this.#protectedHeader, 'setProtectedHeader');\n this.#protectedHeader = protectedHeader;\n return this;\n }\n setUnprotectedHeader(unprotectedHeader) {\n assertNotSet(this.#unprotectedHeader, 'setUnprotectedHeader');\n this.#unprotectedHeader = unprotectedHeader;\n return this;\n }\n async sign(key, options) {\n if (!this.#protectedHeader && !this.#unprotectedHeader) {\n throw new JWSInvalid('either setProtectedHeader or setUnprotectedHeader must be called before #sign()');\n }\n if (!isDisjoint(this.#protectedHeader, this.#unprotectedHeader)) {\n throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n }\n const joseHeader = {\n ...this.#protectedHeader,\n ...this.#unprotectedHeader,\n };\n const extensions = validateCrit(JWSInvalid, new Map([['b64', true]]), options?.crit, this.#protectedHeader, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = this.#protectedHeader.b64;\n if (typeof b64 !== 'boolean') {\n throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n }\n const { alg } = joseHeader;\n if (typeof alg !== 'string' || !alg) {\n throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n }\n checkKeyType(alg, key, 'sign');\n let payloadS;\n let payloadB;\n if (b64) {\n payloadS = b64u(this.#payload);\n payloadB = encode(payloadS);\n }\n else {\n payloadB = this.#payload;\n payloadS = '';\n }\n let protectedHeaderString;\n let protectedHeaderBytes;\n if (this.#protectedHeader) {\n protectedHeaderString = b64u(JSON.stringify(this.#protectedHeader));\n protectedHeaderBytes = encode(protectedHeaderString);\n }\n else {\n protectedHeaderString = '';\n protectedHeaderBytes = new Uint8Array();\n }\n const data = concat(protectedHeaderBytes, encode('.'), payloadB);\n const k = await normalizeKey(key, alg);\n const signature = await sign(alg, k, data);\n const jws = {\n signature: b64u(signature),\n payload: payloadS,\n };\n if (this.#unprotectedHeader) {\n jws.header = this.#unprotectedHeader;\n }\n if (this.#protectedHeader) {\n jws.protected = protectedHeaderString;\n }\n return jws;\n }\n}\n", "import { FlattenedSign } from '../flattened/sign.js';\nexport class CompactSign {\n #flattened;\n constructor(payload) {\n this.#flattened = new FlattenedSign(payload);\n }\n setProtectedHeader(protectedHeader) {\n this.#flattened.setProtectedHeader(protectedHeader);\n return this;\n }\n async sign(key, options) {\n const jws = await this.#flattened.sign(key, options);\n if (jws.payload === undefined) {\n throw new TypeError('use the flattened module for creating JWS with b64: false');\n }\n return `${jws.protected}.${jws.payload}.${jws.signature}`;\n }\n}\n", "import { CompactSign } from '../jws/compact/sign.js';\nimport { JWTInvalid } from '../util/errors.js';\nimport { JWTClaimsBuilder } from '../lib/jwt_claims_set.js';\nexport class SignJWT {\n #protectedHeader;\n #jwt;\n constructor(payload = {}) {\n this.#jwt = new JWTClaimsBuilder(payload);\n }\n setIssuer(issuer) {\n this.#jwt.iss = issuer;\n return this;\n }\n setSubject(subject) {\n this.#jwt.sub = subject;\n return this;\n }\n setAudience(audience) {\n this.#jwt.aud = audience;\n return this;\n }\n setJti(jwtId) {\n this.#jwt.jti = jwtId;\n return this;\n }\n setNotBefore(input) {\n this.#jwt.nbf = input;\n return this;\n }\n setExpirationTime(input) {\n this.#jwt.exp = input;\n return this;\n }\n setIssuedAt(input) {\n this.#jwt.iat = input;\n return this;\n }\n setProtectedHeader(protectedHeader) {\n this.#protectedHeader = protectedHeader;\n return this;\n }\n async sign(key, options) {\n const sig = new CompactSign(this.#jwt.data());\n sig.setProtectedHeader(this.#protectedHeader);\n if (Array.isArray(this.#protectedHeader?.crit) &&\n this.#protectedHeader.crit.includes('b64') &&\n this.#protectedHeader.b64 === false) {\n throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n }\n return sig.sign(key, options);\n }\n}\n", "export { compactDecrypt } from './jwe/compact/decrypt.js';\nexport { flattenedDecrypt } from './jwe/flattened/decrypt.js';\nexport { generalDecrypt } from './jwe/general/decrypt.js';\nexport { GeneralEncrypt } from './jwe/general/encrypt.js';\nexport { compactVerify } from './jws/compact/verify.js';\nexport { flattenedVerify } from './jws/flattened/verify.js';\nexport { generalVerify } from './jws/general/verify.js';\nexport { jwtVerify } from './jwt/verify.js';\nexport { jwtDecrypt } from './jwt/decrypt.js';\nexport { CompactEncrypt } from './jwe/compact/encrypt.js';\nexport { FlattenedEncrypt } from './jwe/flattened/encrypt.js';\nexport { CompactSign } from './jws/compact/sign.js';\nexport { FlattenedSign } from './jws/flattened/sign.js';\nexport { GeneralSign } from './jws/general/sign.js';\nexport { SignJWT } from './jwt/sign.js';\nexport { EncryptJWT } from './jwt/encrypt.js';\nexport { calculateJwkThumbprint, calculateJwkThumbprintUri } from './jwk/thumbprint.js';\nexport { EmbeddedJWK } from './jwk/embedded.js';\nexport { createLocalJWKSet } from './jwks/local.js';\nexport { createRemoteJWKSet, jwksCache, customFetch } from './jwks/remote.js';\nexport { UnsecuredJWT } from './jwt/unsecured.js';\nexport { exportPKCS8, exportSPKI, exportJWK } from './key/export.js';\nexport { importSPKI, importPKCS8, importX509, importJWK } from './key/import.js';\nexport { decodeProtectedHeader } from './util/decode_protected_header.js';\nexport { decodeJwt } from './util/decode_jwt.js';\nimport * as errors from './util/errors.js';\nexport { errors };\nexport { generateKeyPair } from './key/generate_key_pair.js';\nexport { generateSecret } from './key/generate_secret.js';\nimport * as base64url from './util/base64url.js';\nexport { base64url };\nexport const cryptoRuntime = 'WebCryptoAPI';\n", "import { Context, Next } from 'hono';\nimport { jwtVerify } from 'jose';\nimport { getStaffUserById } from '@/src/dbService';\nimport { ApiError } from '@/src/lib/api-error';\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter';\n\n/**\n * Verify JWT token and extract payload\n */\nconst verifyStaffToken = async (token: string) => {\n try {\n const { payload } = await jwtVerify(token, getEncodedJwtSecret());\n return payload;\n } catch (error) {\n throw new ApiError('Access denied. Invalid auth credentials', 401);\n }\n};\n\n/**\n * Middleware to authenticate staff users and attach staffUser to context\n */\nexport const authenticateStaff = async (c: Context, next: Next) => {\n try {\n // Extract token from Authorization header\n const authHeader = c.req.header('authorization');\n\n if (!authHeader || !authHeader.startsWith('Bearer ')) {\n throw new ApiError('Staff authentication required', 401);\n }\n\n const token = authHeader.split(' ')[1];\n\n if (!token) {\n throw new ApiError('Staff authentication token missing', 401);\n }\n\n // Verify token and extract payload\n const decoded = await verifyStaffToken(token) as any;\n\n // Verify staffId exists in token\n if (!decoded.staffId) {\n throw new ApiError('Invalid staff token format', 401);\n }\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { staffUsers } from '@/src/db/schema'\n import { eq } from 'drizzle-orm';\n\n const staff = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.id, decoded.staffId),\n });\n */\n\n // Fetch staff user from database\n const staff = await getStaffUserById(decoded.staffId);\n\n if (!staff) {\n throw new ApiError('Staff user not found', 401);\n }\n\n // Attach staff user to context\n c.set('staffUser', {\n id: staff.id,\n name: staff.name,\n });\n\n await next();\n } catch (error) {\n throw error;\n }\n};\n", "import { Hono } from 'hono';\nimport { authenticateStaff } from \"@/src/middleware/staff-auth\";\n\nconst router = new Hono();\n\n// Apply staff authentication to all admin routes\nrouter.use('*', authenticateStaff);\n\nconst avRouter = router;\n\nexport default avRouter;\n", "import { Context } from 'hono';\nimport { scaffoldAssetUrl } from \"@/src/lib/s3-client\"\nimport { getNextDeliveryDate } from \"@/src/trpc/apis/common-apis/common\"\nimport {\n getAllProductsWithUnits,\n type ProductSummaryData,\n} from \"@/src/dbService\"\n\n/**\n * Get all products summary for dropdown\n */\nexport const getAllProductsSummary = async (c: Context) => {\n try {\n const tagId = c.req.query('tagId');\n const tagIdNum = tagId ? parseInt(tagId) : undefined;\n\n // If tagId is provided but no products found, return empty array\n if (tagIdNum) {\n const products = await getAllProductsWithUnits(tagIdNum);\n if (products.length === 0) {\n return c.json({\n products: [],\n count: 0,\n }, 200);\n }\n }\n\n const productsWithUnits = await getAllProductsWithUnits(tagIdNum);\n\n // Generate signed URLs for product images\n const formattedProducts = await Promise.all(\n productsWithUnits.map(async (product: ProductSummaryData) => {\n const nextDeliveryDate = await getNextDeliveryDate(product.id);\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n marketPrice: product.marketPrice,\n unit: product.unitShortNotation,\n productQuantity: product.productQuantity,\n isOutOfStock: product.isOutOfStock,\n nextDeliveryDate: nextDeliveryDate ? nextDeliveryDate.toISOString() : null,\n images: scaffoldAssetUrl((product.images as string[]) || []),\n };\n })\n );\n\n return c.json({\n products: formattedProducts,\n count: formattedProducts.length,\n }, 200);\n } catch (error) {\n console.error(\"Get products summary error:\", error);\n return c.json({ error: \"Failed to fetch products summary\" }, 500);\n }\n};\n\n/*\n// Old implementation - direct DB queries:\nimport { eq, gt, and, sql, inArray } from \"drizzle-orm\";\nimport { db } from \"@/src/db/db_index\"\nimport { productInfo, units, productSlots, deliverySlotInfo, productTags } from \"@/src/db/schema\"\n\nconst getNextDeliveryDate = async (productId: number): Promise => {\n const result = await db\n .select({ deliveryTime: deliverySlotInfo.deliveryTime })\n .from(productSlots)\n .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n .where(\n and(\n eq(productSlots.productId, productId),\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, sql`NOW()`)\n )\n )\n .orderBy(deliverySlotInfo.deliveryTime)\n .limit(1);\n \n return result[0]?.deliveryTime || null;\n};\n\nexport const getAllProductsSummary = async (req: Request, res: Response) => {\n try {\n const { tagId } = req.query;\n const tagIdNum = tagId ? parseInt(tagId as string) : null;\n\n let productIds: number[] | null = null;\n\n // If tagId is provided, get products that have this tag\n if (tagIdNum) {\n const taggedProducts = await db\n .select({ productId: productTags.productId })\n .from(productTags)\n .where(eq(productTags.tagId, tagIdNum));\n\n productIds = taggedProducts.map(tp => tp.productId);\n }\n\n let whereCondition = undefined;\n\n // Filter by product IDs if tag filtering is applied\n if (productIds && productIds.length > 0) {\n whereCondition = inArray(productInfo.id, productIds);\n } else if (tagIdNum) {\n // If tagId was provided but no products found, return empty array\n return res.status(200).json({\n products: [],\n count: 0,\n });\n }\n\n const productsWithUnits = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n productQuantity: productInfo.productQuantity,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(whereCondition);\n\n // Generate signed URLs for product images\n const formattedProducts = await Promise.all(\n productsWithUnits.map(async (product) => {\n const nextDeliveryDate = await getNextDeliveryDate(product.id);\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n marketPrice: product.marketPrice,\n unit: product.unitShortNotation,\n productQuantity: product.productQuantity,\n isOutOfStock: product.isOutOfStock,\n nextDeliveryDate: nextDeliveryDate ? nextDeliveryDate.toISOString() : null,\n images: scaffoldAssetUrl((product.images as string[]) || []),\n };\n })\n );\n\n return res.status(200).json({\n products: formattedProducts,\n count: formattedProducts.length,\n });\n } catch (error) {\n console.error(\"Get products summary error:\", error);\n return res.status(500).json({ error: \"Failed to fetch products summary\" });\n }\n};\n*/\n", "import { Hono } from 'hono';\nimport { getAllProductsSummary } from \"@/src/apis/common-apis/apis/common-product.controller\"\n\nconst router = new Hono();\n\nrouter.get(\"/summary\", getAllProductsSummary);\n\n\nconst commonProductsRouter= router;\nexport default commonProductsRouter;\n", "import { Hono } from 'hono';\nimport commonProductsRouter from \"@/src/apis/common-apis/apis/common-product.router\"\n\nconst router = new Hono();\n\nrouter.route('/products', commonProductsRouter)\n\nconst commonRouter = router;\n\nexport default commonRouter;\n", "import { Hono } from 'hono';\nimport avRouter from \"@/src/apis/admin-apis/apis/av-router\"\nimport commonRouter from \"@/src/apis/common-apis/apis/common.router\"\n\nconst router = new Hono();\n\nrouter.route('/av', avRouter);\nrouter.route('/cm', commonRouter);\n\nconst v1Router = router;\n\nexport default v1Router;\n", "import { Hono } from 'hono';\n\nconst router = new Hono();\n\nrouter.get('/', (c) => {\n return c.json({\n status: 'ok',\n message: 'Health check passed',\n timestamp: new Date().toISOString(),\n });\n});\n\nexport default router;\n", "import { Context, Next } from 'hono';\nimport { jwtVerify } from 'jose';\nimport { getStaffUserById, isUserSuspended } from '@/src/dbService';\nimport { ApiError } from '@/src/lib/api-error';\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter';\n\ninterface UserContext {\n userId: number;\n name?: string;\n email?: string;\n mobile?: string;\n}\n\ninterface StaffContext {\n id: number;\n name: string;\n}\n\nexport const authenticateUser = async (c: Context, next: Next) => {\n try {\n const authHeader = c.req.header('authorization');\n\n if (!authHeader?.startsWith('Bearer ')) {\n throw new ApiError('Authorization token required', 401);\n }\n\n const token = authHeader.substring(7);\n console.log(c.req.header)\n\n const { payload } = await jwtVerify(token, getEncodedJwtSecret());\n const decoded = payload as any;\n\n // Check if this is a staff token (has staffId)\n if (decoded.staffId) {\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { staffUsers } from '@/src/db/schema'\n import { eq } from 'drizzle-orm';\n\n const staff = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.id, decoded.staffId),\n });\n */\n\n // This is a staff token, verify staff exists\n const staff = await getStaffUserById(decoded.staffId);\n\n if (!staff) {\n throw new ApiError('Invalid staff token', 401);\n }\n\n c.set('staffUser', {\n id: staff.id,\n name: staff.name,\n });\n } else {\n // This is a regular user token\n c.set('user', decoded);\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { userDetails } from '@/src/db/schema'\n import { eq } from 'drizzle-orm';\n\n const details = await db.query.userDetails.findFirst({\n where: eq(userDetails.userId, decoded.userId),\n });\n\n if (details?.isSuspended) {\n throw new ApiError('Account suspended', 403);\n }\n */\n\n // Check if user is suspended\n const suspended = await isUserSuspended(decoded.userId);\n\n if (suspended) {\n throw new ApiError('Account suspended', 403);\n }\n }\n\n await next();\n } catch (error) {\n throw error;\n }\n};\n", "import { Hono } from 'hono';\nimport avRouter from \"@/src/apis/admin-apis/apis/av-router\"\nimport { ApiError } from \"@/src/lib/api-error\"\nimport v1Router from \"@/src/v1-router\"\nimport testController from \"@/src/test-controller\"\nimport { authenticateUser } from \"@/src/middleware/auth.middleware\"\n\nconst router = new Hono();\n\n// Health check endpoints (no auth required)\nrouter.get('/health', (c) => {\n return c.json({\n status: 'OK',\n timestamp: new Date().toISOString(),\n uptime: process.uptime(),\n message: 'Hello world'\n });\n});\n\nrouter.get('/seed', (c) => {\n return c.json({\n status: 'OK',\n timestamp: new Date().toISOString(),\n uptime: process.uptime()\n });\n});\n\n// Apply authentication middleware to all subsequent routes\nrouter.use('*', authenticateUser);\n\nrouter.route('/v1', v1Router);\n// router.route('/av', avRouter);\nrouter.route('/test', testController);\n\nconst mainRouter = router;\n\nexport default mainRouter;\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport { generateSignedUrlsFromS3Urls } from '@/src/lib/s3-client'\nimport { getComplaints as getComplaintsFromDb, resolveComplaint as resolveComplaintInDb } from '@/src/dbService'\nimport type { ComplaintWithUser } from '@packages/shared'\n\nexport const complaintRouter = router({\n getAll: protectedProcedure\n .input(z.object({\n cursor: z.number().optional(),\n limit: z.number().default(20),\n }))\n .query(async ({ input }): Promise<{\n complaints: Array<{\n id: number;\n text: string;\n userId: number;\n userName: string | null;\n userMobile: string | null;\n orderId: number | null;\n status: string;\n createdAt: Date;\n images: string[];\n }>;\n nextCursor?: number;\n }> => {\n const { cursor, limit } = input;\n\n // Using dbService helper (new implementation)\n const { complaints: complaintsData, hasMore } = await getComplaintsFromDb(cursor, limit);\n\n /*\n // Old implementation - direct DB query:\n const { cursor, limit } = input;\n\n let whereCondition = cursor \n ? lt(complaints.id, cursor) \n : undefined;\n\n const complaintsData = await db\n .select({\n id: complaints.id,\n complaintBody: complaints.complaintBody,\n userId: complaints.userId,\n orderId: complaints.orderId,\n isResolved: complaints.isResolved,\n createdAt: complaints.createdAt,\n userName: users.name,\n userMobile: users.mobile,\n images: complaints.images,\n })\n .from(complaints)\n .leftJoin(users, eq(complaints.userId, users.id))\n .where(whereCondition)\n .orderBy(desc(complaints.id))\n .limit(limit + 1);\n\n const hasMore = complaintsData.length > limit;\n const complaintsToReturn = hasMore ? complaintsData.slice(0, limit) : complaintsData;\n */\n\n const complaintsToReturn = hasMore ? complaintsData.slice(0, limit) : complaintsData;\n\n const complaintsWithSignedImages = await Promise.all(\n complaintsToReturn.map(async (c: ComplaintWithUser) => {\n const signedImages = c.images\n ? await generateSignedUrlsFromS3Urls(c.images as string[])\n : [];\n\n return {\n id: c.id,\n text: c.complaintBody,\n userId: c.userId,\n userName: c.userName,\n userMobile: c.userMobile,\n orderId: c.orderId,\n status: c.isResolved ? 'resolved' : 'pending',\n createdAt: c.createdAt,\n images: signedImages,\n };\n })\n );\n\n return {\n complaints: complaintsWithSignedImages,\n nextCursor: hasMore\n ? complaintsToReturn[complaintsToReturn.length - 1].id\n : undefined,\n };\n }),\n\n resolve: protectedProcedure\n .input(z.object({ id: z.string(), response: z.string().optional() }))\n .mutation(async ({ input }): Promise<{ message: string }> => {\n // Using dbService helper (new implementation)\n await resolveComplaintInDb(parseInt(input.id), input.response);\n\n /*\n // Old implementation - direct DB query:\n await db\n .update(complaints)\n .set({ isResolved: true, response: input.response })\n .where(eq(complaints.id, parseInt(input.id)));\n */\n\n return { message: 'Complaint resolved successfully' };\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport dayjs from 'dayjs';\nimport {\n // Batch 1 - Non-transaction methods\n getAllCoupons as getAllCouponsFromDb,\n getCouponById as getCouponByIdFromDb,\n invalidateCoupon as invalidateCouponInDb,\n validateCoupon as validateCouponInDb,\n getReservedCoupons as getReservedCouponsFromDb,\n getUsersForCoupon as getUsersForCouponFromDb,\n // Batch 2 - Transaction methods\n createCouponWithRelations,\n updateCouponWithRelations,\n generateCancellationCoupon,\n createReservedCouponWithProducts,\n createCouponForUser,\n checkUsersExist,\n checkCouponExists,\n checkReservedCouponExists,\n getOrderWithUser,\n} from '@/src/dbService'\nimport type { Coupon, CouponValidationResult, UserMiniInfo } from '@packages/shared'\n\nconst createCouponBodySchema = z.object({\n couponCode: z.string().optional(),\n isUserBased: z.boolean().optional(),\n discountPercent: z.number().optional(),\n flatDiscount: z.number().optional(),\n minOrder: z.number().optional(),\n targetUser: z.number().optional(),\n productIds: z.array(z.number()).optional().nullable(),\n applicableUsers: z.array(z.number()).optional(),\n applicableProducts: z.array(z.number()).optional(),\n maxValue: z.number().optional(),\n isApplyForAll: z.boolean().optional(),\n validTill: z.string().optional(),\n maxLimitForUser: z.number().optional(),\n exclusiveApply: z.boolean().optional(),\n});\n\nconst validateCouponBodySchema = z.object({\n code: z.string(),\n userId: z.number(),\n orderAmount: z.number(),\n});\n\nexport const couponRouter = router({\n create: protectedProcedure\n .input(createCouponBodySchema)\n .mutation(async ({ input, ctx }): Promise => {\n const { couponCode, isUserBased, discountPercent, flatDiscount, minOrder, productIds, applicableUsers, applicableProducts, maxValue, isApplyForAll, validTill, maxLimitForUser, exclusiveApply } = input;\n\n // Validation: ensure at least one discount type is provided\n if ((!discountPercent && !flatDiscount) || (discountPercent && flatDiscount)) {\n throw new Error(\"Either discountPercent or flatDiscount must be provided (but not both)\");\n }\n\n // If user-based, applicableUsers is required (unless it's apply for all)\n if (isUserBased && (!applicableUsers || applicableUsers.length === 0) && !isApplyForAll) {\n throw new Error(\"applicableUsers is required for user-based coupons (or set isApplyForAll to true)\");\n }\n\n // Cannot be both user-based and apply for all\n if (isUserBased && isApplyForAll) {\n throw new Error(\"Cannot be both user-based and apply for all users\");\n }\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n\n // Generate coupon code if not provided\n let finalCouponCode = couponCode;\n if (!finalCouponCode) {\n const timestamp = Date.now().toString().slice(-6);\n const random = Math.random().toString(36).substring(2, 8).toUpperCase();\n finalCouponCode = `MF${timestamp}${random}`;\n }\n\n // Using dbService helper (new implementation)\n const codeExists = await checkCouponExists(finalCouponCode);\n if (codeExists) {\n throw new Error(\"Coupon code already exists\");\n }\n\n // If applicableUsers is provided, verify users exist\n if (applicableUsers && applicableUsers.length > 0) {\n const usersExist = await checkUsersExist(applicableUsers);\n if (!usersExist) {\n throw new Error(\"Some applicable users not found\");\n }\n }\n\n const coupon = await createCouponWithRelations(\n {\n couponCode: finalCouponCode,\n isUserBased: isUserBased || false,\n discountPercent: discountPercent?.toString(),\n flatDiscount: flatDiscount?.toString(),\n minOrder: minOrder?.toString(),\n productIds: productIds || null,\n createdBy: staffUserId,\n maxValue: maxValue?.toString(),\n isApplyForAll: isApplyForAll || false,\n validTill: validTill ? dayjs(validTill).toDate() : undefined,\n maxLimitForUser,\n exclusiveApply: exclusiveApply || false,\n },\n applicableUsers,\n applicableProducts\n );\n\n /*\n // Old implementation - direct DB query with transaction:\n const result = await db.insert(coupons).values({\n couponCode: finalCouponCode,\n isUserBased: isUserBased || false,\n discountPercent: discountPercent?.toString(),\n flatDiscount: flatDiscount?.toString(),\n minOrder: minOrder?.toString(),\n productIds: productIds || null,\n createdBy: staffUserId,\n maxValue: maxValue?.toString(),\n isApplyForAll: isApplyForAll || false,\n validTill: validTill ? dayjs(validTill).toDate() : undefined,\n maxLimitForUser,\n exclusiveApply: exclusiveApply || false,\n }).returning();\n\n const coupon = result[0];\n\n // Insert applicable users\n if (applicableUsers && applicableUsers.length > 0) {\n await db.insert(couponApplicableUsers).values(\n applicableUsers.map(userId => ({\n couponId: coupon.id,\n userId,\n }))\n );\n }\n\n // Insert applicable products\n if (applicableProducts && applicableProducts.length > 0) {\n await db.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: coupon.id,\n productId,\n }))\n );\n }\n */\n\n return coupon;\n }),\n\n getAll: protectedProcedure\n .input(z.object({\n cursor: z.number().optional(),\n limit: z.number().default(50),\n search: z.string().optional(),\n }))\n .query(async ({ input }): Promise<{ coupons: any[]; nextCursor?: number }> => {\n const { cursor, limit, search } = input;\n \n const { coupons: couponsList, hasMore } = await getAllCouponsFromDb(cursor, limit, search);\n\n const nextCursor = hasMore ? couponsList[couponsList.length - 1].id : undefined;\n \n return { coupons: couponsList, nextCursor };\n }),\n\n getById: protectedProcedure\n .input(z.object({ id: z.number() }))\n .query(async ({ input }): Promise => {\n const couponId = input.id;\n\n const result = await getCouponByIdFromDb(couponId);\n\n if (!result) {\n throw new Error(\"Coupon not found\");\n }\n\n return {\n ...result,\n productIds: (result.productIds as number[]) || undefined,\n applicableUsers: result.applicableUsers.map((au: any) => au.user),\n applicableProducts: result.applicableProducts.map((ap: any) => ap.product),\n };\n }),\n\n update: protectedProcedure\n .input(z.object({\n id: z.number(),\n updates: createCouponBodySchema.extend({\n isInvalidated: z.boolean().optional(),\n }),\n }))\n .mutation(async ({ input }): Promise => {\n const { id, updates } = input;\n\n // Validation: ensure discount types are valid\n if (updates.discountPercent !== undefined && updates.flatDiscount !== undefined) {\n if (updates.discountPercent && updates.flatDiscount) {\n throw new Error(\"Cannot have both discountPercent and flatDiscount\");\n }\n }\n\n // Prepare update data\n const updateData: any = {};\n if (updates.couponCode !== undefined) updateData.couponCode = updates.couponCode;\n if (updates.isUserBased !== undefined) updateData.isUserBased = updates.isUserBased;\n if (updates.discountPercent !== undefined) updateData.discountPercent = updates.discountPercent?.toString();\n if (updates.flatDiscount !== undefined) updateData.flatDiscount = updates.flatDiscount?.toString();\n if (updates.minOrder !== undefined) updateData.minOrder = updates.minOrder?.toString();\n if (updates.maxValue !== undefined) updateData.maxValue = updates.maxValue?.toString();\n if (updates.isApplyForAll !== undefined) updateData.isApplyForAll = updates.isApplyForAll;\n if (updates.validTill !== undefined) updateData.validTill = updates.validTill ? dayjs(updates.validTill).toDate() : null;\n if (updates.maxLimitForUser !== undefined) updateData.maxLimitForUser = updates.maxLimitForUser;\n if (updates.exclusiveApply !== undefined) updateData.exclusiveApply = updates.exclusiveApply;\n if (updates.isInvalidated !== undefined) updateData.isInvalidated = updates.isInvalidated;\n if (updates.productIds !== undefined) updateData.productIds = updates.productIds;\n\n // Using dbService helper (new implementation)\n const coupon = await updateCouponWithRelations(\n id,\n updateData,\n updates.applicableUsers,\n updates.applicableProducts\n );\n\n /*\n // Old implementation - direct DB query:\n const result = await db.update(coupons)\n .set(updateData)\n .where(eq(coupons.id, id))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Coupon not found\");\n }\n\n // Update applicable users: delete existing and insert new\n if (updates.applicableUsers !== undefined) {\n await db.delete(couponApplicableUsers).where(eq(couponApplicableUsers.couponId, id));\n if (updates.applicableUsers.length > 0) {\n await db.insert(couponApplicableUsers).values(\n updates.applicableUsers.map(userId => ({\n couponId: id,\n userId,\n }))\n );\n }\n }\n\n // Update applicable products: delete existing and insert new\n if (updates.applicableProducts !== undefined) {\n await db.delete(couponApplicableProducts).where(eq(couponApplicableProducts.couponId, id));\n if (updates.applicableProducts.length > 0) {\n await db.insert(couponApplicableProducts).values(\n updates.applicableProducts.map(productId => ({\n couponId: id,\n productId,\n }))\n );\n }\n }\n */\n\n return coupon;\n }),\n\n delete: protectedProcedure\n .input(z.object({ id: z.number() }))\n .mutation(async ({ input }): Promise<{ message: string }> => {\n const { id } = input;\n\n await invalidateCouponInDb(id);\n\n return { message: \"Coupon invalidated successfully\" };\n }),\n\n validate: protectedProcedure\n .input(validateCouponBodySchema)\n .query(async ({ input }): Promise => {\n const { code, userId, orderAmount } = input;\n\n if (!code || typeof code !== 'string') {\n return { valid: false, message: \"Invalid coupon code\" };\n }\n\n const result = await validateCouponInDb(code, userId, orderAmount);\n\n return result;\n }),\n\n generateCancellationCoupon: protectedProcedure\n .input(\n z.object({\n orderId: z.number(),\n })\n )\n .mutation(async ({ input, ctx }): Promise => {\n const { orderId } = input;\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n\n // Using dbService helper (new implementation)\n const order = await getOrderWithUser(orderId);\n\n if (!order) {\n throw new Error(\"Order not found\");\n }\n\n if (!order.user) {\n throw new Error(\"User not found for this order\");\n }\n\n // Generate coupon code: first 3 letters of user name or mobile + orderId\n const userNamePrefix = (order.user.name || order.user.mobile || 'USR').substring(0, 3).toUpperCase();\n const couponCode = `${userNamePrefix}${orderId}`;\n\n // Check if coupon code already exists\n const codeExists = await checkCouponExists(couponCode);\n if (codeExists) {\n throw new Error(\"Coupon code already exists\");\n }\n\n // Get order total amount\n const orderAmount = parseFloat(order.totalAmount);\n\n const coupon = await generateCancellationCoupon(\n orderId,\n staffUserId,\n order.userId,\n orderAmount,\n couponCode\n );\n\n /*\n // Old implementation - direct DB query with transaction:\n const coupon = await db.transaction(async (tx) => {\n // Calculate expiry date (30 days from now)\n const expiryDate = new Date();\n expiryDate.setDate(expiryDate.getDate() + 30);\n\n // Create the coupon\n const result = await tx.insert(coupons).values({\n couponCode,\n isUserBased: true,\n flatDiscount: orderAmount.toString(),\n minOrder: orderAmount.toString(),\n maxValue: orderAmount.toString(),\n validTill: expiryDate,\n maxLimitForUser: 1,\n createdBy: staffUserId,\n isApplyForAll: false,\n }).returning();\n\n const coupon = result[0];\n\n // Insert applicable users\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId: order.userId,\n });\n\n // Update order_status with refund coupon ID\n await tx.update(orderStatus)\n .set({ refundCouponId: coupon.id })\n .where(eq(orderStatus.orderId, orderId));\n\n return coupon;\n });\n */\n\n return coupon;\n }),\n\n getReservedCoupons: protectedProcedure\n .input(z.object({\n cursor: z.number().optional(),\n limit: z.number().default(50),\n search: z.string().optional(),\n }))\n .query(async ({ input }): Promise<{ coupons: any[]; nextCursor?: number }> => {\n const { cursor, limit, search } = input;\n\n const { coupons: result, hasMore } = await getReservedCouponsFromDb(cursor, limit, search);\n\n const nextCursor = hasMore ? result[result.length - 1].id : undefined;\n\n return {\n coupons: result,\n nextCursor,\n };\n }),\n\n createReservedCoupon: protectedProcedure\n .input(createCouponBodySchema)\n .mutation(async ({ input, ctx }): Promise => {\n const { couponCode, isUserBased, discountPercent, flatDiscount, minOrder, productIds, applicableProducts, maxValue, validTill, maxLimitForUser, exclusiveApply } = input;\n\n // Validation: ensure at least one discount type is provided\n if ((!discountPercent && !flatDiscount) || (discountPercent && flatDiscount)) {\n throw new Error(\"Either discountPercent or flatDiscount must be provided (but not both)\");\n }\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n\n // Generate secret code if not provided\n let secretCode = couponCode || `SECRET${Date.now().toString().slice(-6)}${Math.random().toString(36).substring(2, 8).toUpperCase()}`;\n\n // Using dbService helper (new implementation)\n const codeExists = await checkReservedCouponExists(secretCode);\n if (codeExists) {\n throw new Error(\"Secret code already exists\");\n }\n\n const coupon = await createReservedCouponWithProducts(\n {\n secretCode,\n couponCode: couponCode || `RESERVED${Date.now().toString().slice(-6)}`,\n discountPercent: discountPercent?.toString(),\n flatDiscount: flatDiscount?.toString(),\n minOrder: minOrder?.toString(),\n productIds,\n maxValue: maxValue?.toString(),\n validTill: validTill ? dayjs(validTill).toDate() : undefined,\n maxLimitForUser,\n exclusiveApply: exclusiveApply || false,\n createdBy: staffUserId,\n },\n applicableProducts\n );\n\n /*\n // Old implementation - direct DB query:\n const result = await db.insert(reservedCoupons).values({\n secretCode,\n couponCode: couponCode || RESERVED${Date.now().toString().slice(-6)},\n discountPercent: discountPercent?.toString(),\n flatDiscount: flatDiscount?.toString(),\n minOrder: minOrder?.toString(),\n productIds,\n maxValue: maxValue?.toString(),\n validTill: validTill ? dayjs(validTill).toDate() : undefined,\n maxLimitForUser,\n exclusiveApply: exclusiveApply || false,\n createdBy: staffUserId,\n }).returning();\n\n const coupon = result[0];\n\n // Insert applicable products if provided\n if (applicableProducts && applicableProducts.length > 0) {\n await db.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: coupon.id,\n productId,\n }))\n );\n }\n */\n\n return coupon;\n }),\n\n getUsersMiniInfo: protectedProcedure\n .input(z.object({\n search: z.string().optional(),\n limit: z.number().min(1).max(50).default(20),\n offset: z.number().min(0).default(0),\n }))\n .query(async ({ input }): Promise<{ users: UserMiniInfo[] }> => {\n const { search, limit, offset } = input;\n\n const result = await getUsersForCouponFromDb(search, limit, offset);\n\n return result;\n }),\n\n createCoupon: protectedProcedure\n .input(z.object({\n mobile: z.string().min(1, 'Mobile number is required'),\n }))\n .mutation(async ({ input, ctx }): Promise<{ success: boolean; coupon: any }> => {\n const { mobile } = input;\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n\n // Clean mobile number (remove non-digits)\n const cleanMobile = mobile.replace(/\\D/g, '');\n\n // Validate: exactly 10 digits\n if (cleanMobile.length !== 10) {\n throw new Error(\"Mobile number must be exactly 10 digits\");\n }\n\n // Generate unique coupon code\n const timestamp = Date.now().toString().slice(-6);\n const random = Math.random().toString(36).substring(2, 6).toUpperCase();\n const couponCode = `MF${cleanMobile.slice(-4)}${timestamp}${random}`;\n\n // Using dbService helper (new implementation)\n const codeExists = await checkCouponExists(couponCode);\n if (codeExists) {\n throw new Error(\"Generated coupon code already exists - please try again\");\n }\n\n const { coupon, user } = await createCouponForUser(cleanMobile, couponCode, staffUserId);\n\n /*\n // Old implementation - direct DB query with transaction:\n // Check if user exists, create if not\n let user = await db.query.users.findFirst({\n where: eq(users.mobile, cleanMobile),\n });\n\n if (!user) {\n const [newUser] = await db.insert(users).values({\n name: null,\n email: null,\n mobile: cleanMobile,\n }).returning();\n user = newUser;\n }\n\n // Create the coupon\n const [coupon] = await db.insert(coupons).values({\n couponCode,\n isUserBased: true,\n discountPercent: \"20\",\n minOrder: \"1000\",\n maxValue: \"500\",\n maxLimitForUser: 1,\n isApplyForAll: false,\n exclusiveApply: false,\n createdBy: staffUserId,\n validTill: dayjs().add(90, 'days').toDate(),\n }).returning();\n\n // Associate coupon with user\n await db.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId: user.id,\n });\n */\n\n return {\n success: true,\n coupon: {\n id: coupon.id,\n couponCode: coupon.couponCode,\n userId: user.id,\n userMobile: user.mobile,\n discountPercent: 20,\n minOrder: 1000,\n maxValue: 500,\n maxLimitForUser: 1,\n },\n };\n }),\n});\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllUserNegativityScores as getAllUserNegativityScoresFromDb,\n getUserNegativityScore as getUserNegativityScoreFromDb,\n type UserNegativityData,\n} from '@/src/dbService'\n\nexport async function initializeUserNegativityStore(): Promise {\n try {\n console.log('Initializing user negativity store in Redis...')\n\n const results = await getAllUserNegativityScoresFromDb()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { userIncidents } from '@/src/db/schema'\n import { sum } from 'drizzle-orm'\n\n const results = await db\n .select({\n userId: userIncidents.userId,\n totalNegativityScore: sum(userIncidents.negativityScore).mapWith(Number),\n })\n .from(userIncidents)\n .groupBy(userIncidents.userId);\n */\n\n // for (const { userId, totalNegativityScore } of results) {\n // await redisClient.set(\n // `user:negativity:${userId}`,\n // totalNegativityScore.toString()\n // )\n // }\n\n console.log(`User negativity store initialized for ${results.length} users`)\n } catch (error) {\n console.error('Error initializing user negativity store:', error)\n throw error\n }\n}\n\nexport async function getUserNegativity(userId: number): Promise {\n try {\n // const key = `user:negativity:${userId}`\n // const data = await redisClient.get(key)\n //\n // if (!data) {\n // return 0\n // }\n //\n // return parseInt(data, 10)\n\n return await getUserNegativityScoreFromDb(userId)\n } catch (error) {\n console.error(`Error getting negativity score for user ${userId}:`, error)\n return 0\n }\n}\n\nexport async function getAllUserNegativityScores(): Promise> {\n try {\n // const keys = await redisClient.KEYS('user:negativity:*')\n //\n // if (keys.length === 0) return {}\n //\n // const values = await redisClient.MGET(keys)\n //\n // const result: Record = {}\n // for (let i = 0; i < keys.length; i++) {\n // const key = keys[i]\n // const value = values[i]\n //\n // const match = key.match(/user:negativity:(\\d+)/)\n // if (match && value) {\n // const userId = parseInt(match[1], 10)\n // result[userId] = parseInt(value, 10)\n // }\n // }\n //\n // return result\n\n const results = await getAllUserNegativityScoresFromDb()\n\n const result: Record = {}\n for (const { userId, totalNegativityScore } of results) {\n result[userId] = totalNegativityScore\n }\n return result\n } catch (error) {\n console.error('Error getting all user negativity scores:', error)\n return {}\n }\n}\n\nexport async function getMultipleUserNegativityScores(\n userIds: number[]\n): Promise> {\n try {\n if (userIds.length === 0) return {}\n\n // const keys = userIds.map((id) => `user:negativity:${id}`)\n //\n // const values = await redisClient.MGET(keys)\n //\n // const result: Record = {}\n // for (let i = 0; i < userIds.length; i++) {\n // const value = values[i]\n // if (value) {\n // result[userIds[i]] = parseInt(value, 10)\n // } else {\n // result[userIds[i]] = 0\n // }\n // }\n //\n // return result\n\n const result: Record = {}\n for (const userId of userIds) {\n result[userId] = await getUserNegativityScoreFromDb(userId)\n }\n return result\n } catch (error) {\n console.error('Error getting multiple user negativity scores:', error)\n return {}\n }\n}\n\nexport async function recomputeUserNegativityScore(userId: number): Promise {\n try {\n const totalScore = await getUserNegativityScoreFromDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { userIncidents } from '@/src/db/schema'\n import { eq, sum } from 'drizzle-orm'\n\n const [result] = await db\n .select({\n totalNegativityScore: sum(userIncidents.negativityScore).mapWith(Number),\n })\n .from(userIncidents)\n .where(eq(userIncidents.userId, userId))\n .limit(1);\n\n const totalScore = result?.totalNegativityScore || 0;\n */\n\n // const key = `user:negativity:${userId}`\n // await redisClient.set(key, totalScore.toString())\n } catch (error) {\n console.error(`Error recomputing negativity score for user ${userId}:`, error)\n throw error\n }\n}\n", "import { router, protectedProcedure } from \"@/src/trpc/trpc-index\"\nimport { z } from \"zod\";\nimport { ApiError } from \"@/src/lib/api-error\"\nimport {\n sendOrderPackagedNotification,\n sendOrderDeliveredNotification,\n} from \"@/src/lib/notif-job\";\nimport { publishCancellation } from \"@/src/lib/post-order-handler\"\nimport { getMultipleUserNegativityScores } from \"@/src/stores/user-negativity-store\"\nimport {\n updateOrderNotes as updateOrderNotesInDb,\n getOrderDetails as getOrderDetailsInDb,\n updateOrderPackaged as updateOrderPackagedInDb,\n updateOrderDelivered as updateOrderDeliveredInDb,\n updateOrderItemPackaging as updateOrderItemPackagingInDb,\n removeDeliveryCharge as removeDeliveryChargeInDb,\n getSlotOrders as getSlotOrdersInDb,\n updateAddressCoords as updateAddressCoordsInDb,\n getAllOrders as getAllOrdersInDb,\n rebalanceSlots as rebalanceSlotsInDb,\n cancelOrder as cancelOrderInDb,\n deleteOrderById as deleteOrderByIdInDb,\n} from '@/src/dbService'\nimport type {\n AdminCancelOrderResult,\n AdminGetAllOrdersResult,\n AdminGetSlotOrdersResult,\n AdminOrderBasicResult,\n AdminOrderDetails,\n AdminOrderItemPackagingResult,\n AdminOrderMessageResult,\n AdminOrderRow,\n AdminOrderUpdateResult,\n AdminRebalanceSlotsResult,\n} from \"@packages/shared\"\n\nconst updateOrderNotesSchema = z.object({\n orderId: z.number(),\n adminNotes: z.string(),\n});\n\nconst getOrderDetailsSchema = z.object({\n orderId: z.number(),\n});\n\nconst updatePackagedSchema = z.object({\n orderId: z.string(),\n isPackaged: z.boolean(),\n});\n\nconst updateDeliveredSchema = z.object({\n orderId: z.string(),\n isDelivered: z.boolean(),\n});\n\nconst updateOrderItemPackagingSchema = z.object({\n orderItemId: z.number(),\n isPackaged: z.boolean().optional(),\n isPackageVerified: z.boolean().optional(),\n});\n\nconst getSlotOrdersSchema = z.object({\n slotId: z.string(),\n});\n\nconst getAllOrdersSchema = z.object({\n cursor: z.number().optional(),\n limit: z.number().default(20),\n slotId: z.number().optional().nullable(),\n packagedFilter: z\n .enum([\"all\", \"packaged\", \"not_packaged\"])\n .optional()\n .default(\"all\"),\n deliveredFilter: z\n .enum([\"all\", \"delivered\", \"not_delivered\"])\n .optional()\n .default(\"all\"),\n cancellationFilter: z\n .enum([\"all\", \"cancelled\", \"not_cancelled\"])\n .optional()\n .default(\"all\"),\n flashDeliveryFilter: z\n .enum([\"all\", \"flash\", \"regular\"])\n .optional()\n .default(\"all\"),\n});\n\nexport const orderRouter = router({\n updateNotes: protectedProcedure\n .input(updateOrderNotesSchema)\n .mutation(async ({ input }): Promise => {\n const { orderId, adminNotes } = input;\n\n const result = await updateOrderNotesInDb(orderId, adminNotes || null)\n\n /*\n // Old implementation - direct DB query:\n const result = await db\n .update(orders)\n .set({\n adminNotes: adminNotes || null,\n })\n .where(eq(orders.id, orderId))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Order not found\");\n }\n */\n\n if (!result) {\n throw new Error(\"Order not found\")\n }\n\n return result as AdminOrderRow;\n }),\n\n getOrderDetails: protectedProcedure\n .input(getOrderDetailsSchema)\n .query(async ({ input }): Promise => {\n const { orderId } = input;\n\n const orderDetails = await getOrderDetailsInDb(orderId)\n\n /*\n // Old implementation - direct DB queries:\n // Single optimized query with all relations\n const orderData = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n payment: true,\n paymentInfo: true,\n orderStatus: true,\n refunds: true,\n },\n });\n\n if (!orderData) {\n throw new Error(\"Order not found\");\n }\n\n // Get coupon usage for this specific order using new orderId field\n const couponUsageData = await db.query.couponUsage.findMany({\n where: eq(couponUsage.orderId, orderData.id),\n with: {\n coupon: true,\n },\n });\n\n let couponData = null;\n if (couponUsageData.length > 0) {\n // Calculate total discount from multiple coupons\n let totalDiscountAmount = 0;\n const orderTotal = parseFloat(orderData.totalAmount.toString());\n\n for (const usage of couponUsageData) {\n let discountAmount = 0;\n\n if (usage.coupon.discountPercent) {\n discountAmount =\n (orderTotal *\n parseFloat(usage.coupon.discountPercent.toString())) /\n 100;\n } else if (usage.coupon.flatDiscount) {\n discountAmount = parseFloat(usage.coupon.flatDiscount.toString());\n }\n\n // Apply max value limit if set\n if (\n usage.coupon.maxValue &&\n discountAmount > parseFloat(usage.coupon.maxValue.toString())\n ) {\n discountAmount = parseFloat(usage.coupon.maxValue.toString());\n }\n\n totalDiscountAmount += discountAmount;\n }\n\n couponData = {\n couponCode: couponUsageData\n .map((u) => u.coupon.couponCode)\n .join(\", \"),\n couponDescription: `${couponUsageData.length} coupons applied`,\n discountAmount: totalDiscountAmount,\n };\n }\n\n // Status determination from included relation\n const statusRecord = orderData.orderStatus?.[0];\n let status: \"pending\" | \"delivered\" | \"cancelled\" = \"pending\";\n if (statusRecord?.isCancelled) {\n status = \"cancelled\";\n } else if (statusRecord?.isDelivered) {\n status = \"delivered\";\n }\n\n // Always include refund data (will be null/undefined if not cancelled)\n const refund = orderData.refunds?.[0];\n\n return {\n id: orderData.id,\n readableId: orderData.id,\n userId: orderData.user.id,\n customerName: `${orderData.user.name}`,\n customerEmail: orderData.user.email,\n customerMobile: orderData.user.mobile,\n address: {\n name: orderData.address.name,\n line1: orderData.address.addressLine1,\n line2: orderData.address.addressLine2,\n city: orderData.address.city,\n state: orderData.address.state,\n pincode: orderData.address.pincode,\n phone: orderData.address.phone,\n },\n slotInfo: orderData.slot\n ? {\n time: orderData.slot.deliveryTime.toISOString(),\n sequence: orderData.slot.deliverySequence,\n }\n : null,\n isCod: orderData.isCod,\n isOnlinePayment: orderData.isOnlinePayment,\n totalAmount: parseFloat(orderData.totalAmount?.toString() || '0') - parseFloat(orderData.deliveryCharge?.toString() || '0'),\n deliveryCharge: parseFloat(orderData.deliveryCharge?.toString() || '0'),\n adminNotes: orderData.adminNotes,\n userNotes: orderData.userNotes,\n createdAt: orderData.createdAt,\n status,\n isPackaged: statusRecord?.isPackaged || false,\n isDelivered: statusRecord?.isDelivered || false,\n items: orderData.orderItems.map((item) => ({\n id: item.id,\n name: item.product.name,\n quantity: item.quantity,\n productSize: item.product.productQuantity,\n price: item.price,\n unit: item.product.unit?.shortNotation,\n amount:\n parseFloat(item.price.toString()) *\n parseFloat(item.quantity || \"0\"),\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n })),\n payment: orderData.payment\n ? {\n status: orderData.payment.status,\n gateway: orderData.payment.gateway,\n merchantOrderId: orderData.payment.merchantOrderId,\n }\n : null,\n paymentInfo: orderData.paymentInfo\n ? {\n status: orderData.paymentInfo.status,\n gateway: orderData.paymentInfo.gateway,\n merchantOrderId: orderData.paymentInfo.merchantOrderId,\n }\n : null,\n // Cancellation details (always included, null if not cancelled)\n cancelReason: statusRecord?.cancelReason || null,\n cancellationReviewed: statusRecord?.cancellationReviewed || false,\n isRefundDone: refund?.refundStatus === \"processed\" || false,\n refundStatus: refund?.refundStatus as RefundStatus,\n refundAmount: refund?.refundAmount\n ? parseFloat(refund.refundAmount.toString())\n : null,\n // Coupon information\n couponData: couponData,\n couponCode: couponData?.couponCode || null,\n couponDescription: couponData?.couponDescription || null,\n discountAmount: couponData?.discountAmount || null,\n orderStatus: statusRecord,\n refundRecord: refund,\n isFlashDelivery: orderData.isFlashDelivery,\n };\n */\n\n if (!orderDetails) {\n throw new Error('Order not found')\n }\n\n return orderDetails\n }),\n\n updatePackaged: protectedProcedure\n .input(updatePackagedSchema)\n .mutation(async ({ input }): Promise => {\n const { orderId, isPackaged } = input;\n\n const result = await updateOrderPackagedInDb(orderId, isPackaged)\n\n /*\n // Old implementation - direct DB queries:\n // Update all order items to the specified packaged state\n await db\n .update(orderItems)\n .set({ is_packaged: isPackaged })\n .where(eq(orderItems.orderId, parseInt(orderId)));\n\n // Also update the order status table for backward compatibility\n if (!isPackaged) {\n await db\n .update(orderStatus)\n .set({ isPackaged, isDelivered: false })\n .where(eq(orderStatus.orderId, parseInt(orderId)));\n } else {\n await db\n .update(orderStatus)\n .set({ isPackaged })\n .where(eq(orderStatus.orderId, parseInt(orderId)));\n }\n\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, parseInt(orderId)),\n });\n if (order) await sendOrderPackagedNotification(order.userId, orderId);\n\n return { success: true };\n */\n\n if (result.userId) await sendOrderPackagedNotification(result.userId, orderId)\n\n return { success: true, userId: result.userId }\n }),\n\n updateDelivered: protectedProcedure\n .input(updateDeliveredSchema)\n .mutation(async ({ input }): Promise => {\n const { orderId, isDelivered } = input;\n\n const result = await updateOrderDeliveredInDb(orderId, isDelivered)\n\n /*\n // Old implementation - direct DB queries:\n await db\n .update(orderStatus)\n .set({ isDelivered })\n .where(eq(orderStatus.orderId, parseInt(orderId)));\n\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, parseInt(orderId)),\n });\n if (order) await sendOrderDeliveredNotification(order.userId, orderId);\n\n return { success: true };\n */\n\n if (result.userId) await sendOrderDeliveredNotification(result.userId, orderId)\n\n return { success: true, userId: result.userId }\n }),\n\n updateOrderItemPackaging: protectedProcedure\n .input(updateOrderItemPackagingSchema)\n .mutation(async ({ input }): Promise => {\n const { orderItemId, isPackaged, isPackageVerified } = input;\n\n const result = await updateOrderItemPackagingInDb(orderItemId, isPackaged, isPackageVerified)\n\n /*\n // Old implementation - direct DB queries:\n // Validate that orderItem exists\n const orderItem = await db.query.orderItems.findFirst({\n where: eq(orderItems.id, orderItemId),\n });\n\n if (!orderItem) {\n throw new ApiError(\"Order item not found\", 404);\n }\n\n // Build update object with only provided fields\n const updateData: any = {};\n if (isPackaged !== undefined) {\n updateData.is_packaged = isPackaged;\n }\n if (isPackageVerified !== undefined) {\n updateData.is_package_verified = isPackageVerified;\n }\n\n // Update the order item\n await db\n .update(orderItems)\n .set(updateData)\n .where(eq(orderItems.id, orderItemId));\n\n return { success: true };\n */\n\n if (!result.updated) {\n throw new ApiError('Order item not found', 404)\n }\n\n return result\n }),\n\n removeDeliveryCharge: protectedProcedure\n .input(z.object({ orderId: z.number() }))\n .mutation(async ({ input }): Promise => {\n const { orderId } = input;\n\n const result = await removeDeliveryChargeInDb(orderId)\n\n /*\n // Old implementation - direct DB queries:\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n });\n\n if (!order) {\n throw new Error('Order not found');\n }\n\n const currentDeliveryCharge = parseFloat(order.deliveryCharge?.toString() || '0');\n const currentTotalAmount = parseFloat(order.totalAmount?.toString() || '0');\n const newTotalAmount = currentTotalAmount - currentDeliveryCharge;\n\n await db\n .update(orders)\n .set({ \n deliveryCharge: '0',\n totalAmount: newTotalAmount.toString()\n })\n .where(eq(orders.id, orderId));\n\n return { success: true, message: 'Delivery charge removed' };\n */\n\n if (!result) {\n throw new Error('Order not found')\n }\n\n return result\n }),\n\n getSlotOrders: protectedProcedure\n .input(getSlotOrdersSchema)\n .query(async ({ input }): Promise => {\n const { slotId } = input;\n\n const result = await getSlotOrdersInDb(slotId)\n\n /*\n // Old implementation - direct DB queries:\n const slotOrders = await db.query.orders.findMany({\n where: eq(orders.slotId, parseInt(slotId)),\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n },\n });\n\n const filteredOrders = slotOrders.filter((order) => {\n const statusRecord = order.orderStatus[0];\n return (\n order.isCod ||\n (statusRecord && statusRecord.paymentStatus === \"success\")\n );\n });\n\n const formattedOrders = filteredOrders.map((order) => {\n const statusRecord = order.orderStatus[0]; // assuming one status per order\n let status: \"pending\" | \"delivered\" | \"cancelled\" = \"pending\";\n if (statusRecord?.isCancelled) {\n status = \"cancelled\";\n } else if (statusRecord?.isDelivered) {\n status = \"delivered\";\n }\n\n const items = order.orderItems.map((item) => ({\n id: item.id,\n name: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n amount: parseFloat(item.quantity) * parseFloat(item.price.toString()),\n unit: item.product.unit?.shortNotation || \"\",\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n }));\n\n return {\n id: order.id,\n readableId: order.id,\n customerName: order.user.name,\n address: `${order.address.addressLine1}${\n order.address.addressLine2 ? `, ${order.address.addressLine2}` : \"\"\n }, ${order.address.city}, ${order.address.state} - ${\n order.address.pincode\n }, Phone: ${order.address.phone}`,\n addressId: order.addressId,\n latitude: order.address.adminLatitude ?? order.address.latitude,\n longitude: order.address.adminLongitude ?? order.address.longitude,\n totalAmount: parseFloat(order.totalAmount),\n items,\n deliveryTime: order.slot?.deliveryTime.toISOString() || null,\n status,\n isPackaged:\n order.orderItems.every((item) => item.is_packaged) || false,\n isDelivered: statusRecord?.isDelivered || false,\n isCod: order.isCod,\n paymentMode: order.isCod ? \"COD\" : \"Online\",\n paymentStatus: statusRecord?.paymentStatus || \"pending\",\n slotId: order.slotId,\n adminNotes: order.adminNotes,\n userNotes: order.userNotes,\n };\n });\n\n return { success: true, data: formattedOrders };\n */\n\n return result\n }),\n\n updateAddressCoords: protectedProcedure\n .input(\n z.object({\n addressId: z.number(),\n latitude: z.number(),\n longitude: z.number(),\n })\n )\n .mutation(async ({ input }): Promise => {\n const { addressId, latitude, longitude } = input;\n\n const result = await updateAddressCoordsInDb(addressId, latitude, longitude)\n\n /*\n // Old implementation - direct DB queries:\n const result = await db\n .update(addresses)\n .set({\n adminLatitude: latitude,\n adminLongitude: longitude,\n })\n .where(eq(addresses.id, addressId))\n .returning();\n\n if (result.length === 0) {\n throw new ApiError(\"Address not found\", 404);\n }\n\n return { success: true };\n */\n\n if (!result.success) {\n throw new ApiError('Address not found', 404)\n }\n\n return result\n }),\n\n getAll: protectedProcedure\n .input(getAllOrdersSchema)\n .query(async ({ input }): Promise => {\n try {\n const result = await getAllOrdersInDb(input)\n const userIds = [...new Set(result.orders.map((order) => order.userId))]\n const negativityScores = await getMultipleUserNegativityScores(userIds)\n\n const orders = result.orders.map((order) => {\n const { userId, userNegativityScore, ...rest } = order\n return {\n ...rest,\n userNegativityScore: negativityScores[userId] || 0,\n }\n })\n\n /*\n // Old implementation - direct DB queries:\n const {\n cursor,\n limit,\n slotId,\n packagedFilter,\n deliveredFilter,\n cancellationFilter,\n flashDeliveryFilter,\n } = input;\n\n let whereCondition: SQL | undefined = eq(orders.id, orders.id); // always true\n if (cursor) {\n whereCondition = and(whereCondition, lt(orders.id, cursor));\n }\n if (slotId) {\n whereCondition = and(whereCondition, eq(orders.slotId, slotId));\n }\n if (packagedFilter === \"packaged\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isPackaged, true)\n );\n } else if (packagedFilter === \"not_packaged\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isPackaged, false)\n );\n }\n if (deliveredFilter === \"delivered\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isDelivered, true)\n );\n } else if (deliveredFilter === \"not_delivered\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isDelivered, false)\n );\n }\n if (cancellationFilter === \"cancelled\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isCancelled, true)\n );\n } else if (cancellationFilter === \"not_cancelled\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isCancelled, false)\n );\n }\n if (flashDeliveryFilter === \"flash\") {\n whereCondition = and(\n whereCondition,\n eq(orders.isFlashDelivery, true)\n );\n } else if (flashDeliveryFilter === \"regular\") {\n whereCondition = and(\n whereCondition,\n eq(orders.isFlashDelivery, false)\n );\n }\n\n const allOrders = await db.query.orders.findMany({\n where: whereCondition,\n orderBy: desc(orders.createdAt),\n limit: limit + 1, // fetch one extra to check if there's more\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n },\n });\n\n const hasMore = allOrders.length > limit;\n const ordersToReturn = hasMore ? allOrders.slice(0, limit) : allOrders;\n\n const userIds = [...new Set(ordersToReturn.map(o => o.userId))];\n const negativityScores = await getMultipleUserNegativityScores(userIds);\n\n const filteredOrders = ordersToReturn.filter((order) => {\n const statusRecord = order.orderStatus[0];\n return (\n order.isCod ||\n (statusRecord && statusRecord.paymentStatus === \"success\")\n );\n });\n\n const formattedOrders = filteredOrders.map((order) => {\n const statusRecord = order.orderStatus[0];\n let status: \"pending\" | \"delivered\" | \"cancelled\" = \"pending\";\n if (statusRecord?.isCancelled) {\n status = \"cancelled\";\n } else if (statusRecord?.isDelivered) {\n status = \"delivered\";\n }\n\n const items = order.orderItems\n .map((item) => ({\n id: item.id,\n name: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n amount:\n parseFloat(item.quantity) * parseFloat(item.price.toString()),\n unit: item.product.unit?.shortNotation || \"\",\n productSize: item.product.productQuantity,\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n }))\n .sort((first, second) => first.id - second.id);\n dayjs.extend(utc);\n return {\n id: order.id,\n orderId: order.id.toString(),\n readableId: order.id,\n customerName: order.user.name,\n customerMobile: order.user.mobile,\n address: `${order.address.addressLine1}${\n order.address.addressLine2\n ? `, ${order.address.addressLine2}`\n : \"\"\n }, ${order.address.city}, ${order.address.state} - ${\n order.address.pincode\n }, Phone: ${order.address.phone}`,\n addressId: order.addressId,\n latitude: order.address.adminLatitude ?? order.address.latitude,\n longitude: order.address.adminLongitude ?? order.address.longitude,\n totalAmount: parseFloat(order.totalAmount),\n deliveryCharge: parseFloat(order.deliveryCharge || \"0\"),\n items,\n createdAt: order.createdAt,\n // deliveryTime: order.slot ? dayjs.utc(order.slot.deliveryTime).format('ddd, MMM D \u2022 h:mm A') : 'Not scheduled',\n deliveryTime: order.slot?.deliveryTime.toISOString() || null,\n status,\n isPackaged:\n order.orderItems.every((item) => item.is_packaged) || false,\n isDelivered: statusRecord?.isDelivered || false,\n isCod: order.isCod,\n isFlashDelivery: order.isFlashDelivery,\n userNotes: order.userNotes,\n adminNotes: order.adminNotes,\n userNegativityScore: negativityScores[order.userId] || 0,\n };\n });\n \n return {\n orders: formattedOrders,\n nextCursor: hasMore\n ? ordersToReturn[ordersToReturn.length - 1].id\n : undefined,\n };\n */\n\n return {\n orders,\n nextCursor: result.nextCursor,\n }\n } catch (e) {\n console.log({ e });\n }\n }),\n\n rebalanceSlots: protectedProcedure\n .input(z.object({ slotIds: z.array(z.number()).min(1).max(50) }))\n .mutation(async ({ input }): Promise => {\n const slotIds = input.slotIds;\n\n const result = await rebalanceSlotsInDb(slotIds)\n\n /*\n // Old implementation - direct DB queries:\n const ordersList = await db.query.orders.findMany({\n where: inArray(orders.slotId, slotIds),\n with: {\n orderItems: {\n with: {\n product: true\n }\n },\n couponUsages: {\n with: {\n coupon: true\n }\n },\n }\n });\n\n const processedOrdersData = ordersList.map((order) => {\n\n let newTotal = order.orderItems.reduce((acc,item) => {\n const latestPrice = +item.product.price;\n const amount = (latestPrice * Number(item.quantity));\n return acc+amount;\n },0)\n\n order.orderItems.forEach(item => {\n item.price = item.product.price;\n item.discountedPrice = item.product.price\n })\n\n const coupon = order.couponUsages[0]?.coupon;\n\n let discount = 0;\n if(coupon && !coupon.isInvalidated && (!coupon.validTill || new Date(coupon.validTill) > new Date())) {\n const proportion = Number(order.orderGroupProportion || 1);\n if(coupon.discountPercent) {\n const maxDiscount = Number(coupon.maxValue || Infinity) * proportion;\n discount = Math.min((newTotal * parseFloat(coupon.discountPercent)) / 100, maxDiscount);\n }\n else {\n discount = Number(coupon.flatDiscount) * proportion;\n }\n }\n newTotal -= discount\n\n const { couponUsages, orderItems: orderItemsRaw, ...rest} = order;\n const updatedOrderItems = orderItemsRaw.map(item => {\n const { product, ...rawOrderItem } = item;\n return rawOrderItem;\n })\n return {order: rest, updatedOrderItems, newTotal }\n })\n\n const updatedOrderIds: number[] = [];\n await db.transaction(async (tx) => {\n for (const { order, updatedOrderItems, newTotal } of processedOrdersData) {\n await tx.update(orders).set({ totalAmount: newTotal.toString() }).where(eq(orders.id, order.id));\n updatedOrderIds.push(order.id);\n\n for (const item of updatedOrderItems) {\n await tx.update(orderItems).set({\n price: item.price,\n discountedPrice: item.discountedPrice\n }).where(eq(orderItems.id, item.id));\n }\n }\n });\n\n return { success: true, updatedOrders: updatedOrderIds, message: `Rebalanced ${updatedOrderIds.length} orders.` };\n */\n\n return result\n }),\n\n cancelOrder: protectedProcedure\n .input(z.object({\n orderId: z.number(),\n reason: z.string().min(1, \"Cancellation reason is required\"),\n }))\n .mutation(async ({ input }): Promise => {\n const { orderId, reason } = input;\n\n const result = await cancelOrderInDb(orderId, reason)\n\n /*\n // Old implementation - direct DB queries:\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n orderStatus: true,\n },\n });\n\n if (!order) {\n throw new ApiError(\"Order not found\", 404);\n }\n\n const status = order.orderStatus[0];\n if (!status) {\n throw new ApiError(\"Order status not found\", 400);\n }\n\n if (status.isCancelled) {\n throw new ApiError(\"Order is already cancelled\", 400);\n }\n\n if (status.isDelivered) {\n throw new ApiError(\"Cannot cancel delivered order\", 400);\n }\n\n const result = await db.transaction(async (tx) => {\n await tx\n .update(orderStatus)\n .set({\n isCancelled: true,\n isCancelledByAdmin: true,\n cancelReason: reason,\n cancellationAdminNotes: reason,\n cancellationReviewed: true,\n cancellationReviewedAt: new Date(),\n })\n .where(eq(orderStatus.id, status.id));\n\n const refundStatus = order.isCod ? \"na\" : \"pending\";\n\n await tx.insert(refunds).values({\n orderId: order.id,\n refundStatus,\n });\n\n return { orderId: order.id, userId: order.userId };\n });\n\n // Publish to Redis for Telegram notification\n await publishCancellation(result.orderId, 'admin', reason);\n\n return { success: true, message: \"Order cancelled successfully\" };\n */\n\n if (!result.success) {\n if (result.error === 'order_not_found') {\n throw new ApiError(result.message, 404)\n }\n if (result.error === 'status_not_found') {\n throw new ApiError(result.message, 400)\n }\n if (result.error === 'already_cancelled') {\n throw new ApiError(result.message, 400)\n }\n if (result.error === 'already_delivered') {\n throw new ApiError(result.message, 400)\n }\n\n throw new ApiError(result.message, 400)\n }\n\n if (result.orderId) {\n await publishCancellation(result.orderId, 'admin', reason)\n }\n\n return { success: true, message: result.message }\n }),\n});\n\n// {\"id\": \"order_Rhh00qJNdjUp8o\", \"notes\": {\"retry\": \"true\", \"customerOrderId\": \"14\"}, \"amount\": 21000, \"entity\": \"order\", \"status\": \"created\", \"receipt\": \"order_14_retry\", \"attempts\": 0, \"currency\": \"INR\", \"offer_id\": null, \"signature\": \"6df20655021f1d6841340f2a2ef2ef9378cb3d43495ab09e85f08aea1a851583\", \"amount_due\": 21000, \"created_at\": 1763575791, \"payment_id\": \"pay_Rhh15cLL28YM7j\", \"amount_paid\": 0}\n\nexport async function deleteOrderById(orderId: number): Promise {\n await deleteOrderByIdInDb(orderId)\n\n /*\n // Old implementation - direct DB queries:\n await db.transaction(async (tx) => {\n await tx.delete(orderItems).where(eq(orderItems.orderId, orderId));\n await tx.delete(orderStatus).where(eq(orderStatus.orderId, orderId));\n await tx.delete(payments).where(eq(payments.orderId, orderId));\n await tx.delete(refunds).where(eq(refunds.orderId, orderId));\n await tx.delete(couponUsage).where(eq(couponUsage.orderId, orderId));\n await tx.delete(complaints).where(eq(complaints.orderId, orderId));\n await tx.delete(orders).where(eq(orders.id, orderId));\n });\n */\n}\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport dayjs from 'dayjs'\nimport { getAppUrl } from '@/src/lib/env-exporter'\nimport {\n checkVendorSnippetExists as checkVendorSnippetExistsInDb,\n getVendorSnippetById as getVendorSnippetByIdInDb,\n getVendorSnippetByCode as getVendorSnippetByCodeInDb,\n getAllVendorSnippets as getAllVendorSnippetsInDb,\n createVendorSnippet as createVendorSnippetInDb,\n updateVendorSnippet as updateVendorSnippetInDb,\n deleteVendorSnippet as deleteVendorSnippetInDb,\n getProductsByIds as getProductsByIdsInDb,\n getVendorSlotById as getVendorSlotByIdInDb,\n getVendorOrdersBySlotId as getVendorOrdersBySlotIdInDb,\n getVendorOrders as getVendorOrdersInDb,\n updateVendorOrderItemPackaging as updateVendorOrderItemPackagingInDb,\n getSlotsAfterDate as getSlotsAfterDateInDb,\n} from '@/src/dbService'\nimport type {\n AdminVendorSnippet,\n AdminVendorSnippetWithProducts,\n AdminVendorSnippetWithSlot,\n AdminVendorSnippetDeleteResult,\n AdminVendorSnippetOrdersResult,\n AdminVendorSnippetOrdersWithSlotResult,\n AdminVendorOrderSummary,\n AdminUpcomingSlotsResult,\n AdminVendorUpdatePackagingResult,\n} from '@packages/shared'\n\nconst createSnippetSchema = z.object({\n snippetCode: z.string().min(1, \"Snippet code is required\"),\n slotId: z.number().optional(),\n productIds: z.array(z.number().int().positive()).min(1, \"At least one product is required\"),\n validTill: z.string().optional(),\n isPermanent: z.boolean().default(false)\n});\n\nconst updateSnippetSchema = z.object({\n id: z.number().int().positive(),\n updates: createSnippetSchema.partial().extend({\n snippetCode: z.string().min(1).optional(),\n productIds: z.array(z.number().int().positive()).optional(),\n isPermanent: z.boolean().default(false)\n }),\n});\n\nexport const vendorSnippetsRouter = router({\n create: protectedProcedure\n .input(createSnippetSchema)\n .mutation(async ({ input, ctx }): Promise => {\n const { snippetCode, slotId, productIds, validTill, isPermanent } = input;\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n \n if(slotId) {\n const slot = await getVendorSlotByIdInDb(slotId)\n if (!slot) {\n throw new Error(\"Invalid slot ID\")\n }\n }\n\n const products = await getProductsByIdsInDb(productIds)\n if (products.length !== productIds.length) {\n throw new Error(\"One or more invalid product IDs\")\n }\n\n const existingSnippet = await checkVendorSnippetExistsInDb(snippetCode)\n if (existingSnippet) {\n throw new Error(\"Snippet code already exists\")\n }\n\n const result = await createVendorSnippetInDb({\n snippetCode,\n slotId,\n productIds,\n isPermanent,\n validTill: validTill ? new Date(validTill) : undefined,\n })\n\n /*\n // Old implementation - direct DB queries:\n // Validate slot exists\n if(slotId) {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n });\n if (!slot) {\n throw new Error(\"Invalid slot ID\");\n }\n }\n\n // Validate products exist\n const products = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, productIds),\n });\n if (products.length !== productIds.length) {\n throw new Error(\"One or more invalid product IDs\");\n }\n\n // Check if snippet code already exists\n const existingSnippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n });\n if (existingSnippet) {\n throw new Error(\"Snippet code already exists\");\n }\n\n const result = await db.insert(vendorSnippets).values({\n snippetCode,\n slotId,\n productIds,\n isPermanent,\n validTill: validTill ? new Date(validTill) : undefined,\n }).returning();\n\n return result[0];\n */\n\n return result\n }),\n\n getAll: protectedProcedure\n .query(async (): Promise => {\n console.log('from the vendor snipptes methods')\n\n try {\n const result = await getAllVendorSnippetsInDb()\n\n const snippetsWithProducts = await Promise.all(\n result.map(async (snippet) => {\n const products = await getProductsByIdsInDb(snippet.productIds)\n\n return {\n ...snippet,\n accessUrl: `${getAppUrl()}/vendor-order-list?id=${snippet.snippetCode}`,\n products,\n }\n })\n )\n\n /*\n // Old implementation - direct DB queries:\n const result = await db.query.vendorSnippets.findMany({\n with: {\n slot: true,\n },\n orderBy: (vendorSnippets, { desc }) => [desc(vendorSnippets.createdAt)],\n });\n\n const snippetsWithProducts = await Promise.all(\n result.map(async (snippet) => {\n const products = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n columns: { id: true, name: true },\n });\n\n return {\n ...snippet,\n accessUrl: `${getAppUrl()}/vendor-order-list?id=${snippet.snippetCode}`,\n products: products.map(p => ({ id: p.id, name: p.name })),\n };\n })\n );\n\n return snippetsWithProducts;\n */\n\n return snippetsWithProducts\n }\n catch(e) {\n console.log(e)\n }\n return []\n }),\n\n getById: protectedProcedure\n .input(z.object({ id: z.number().int().positive() }))\n .query(async ({ input }): Promise => {\n const { id } = input;\n\n const result = await getVendorSnippetByIdInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const result = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.id, id),\n with: {\n slot: true,\n },\n });\n\n if (!result) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n return result;\n */\n\n if (!result) {\n throw new Error('Vendor snippet not found')\n }\n\n return result\n }),\n\n update: protectedProcedure\n .input(updateSnippetSchema)\n .mutation(async ({ input }): Promise => {\n const { id, updates } = input;\n \n const existingSnippet = await getVendorSnippetByIdInDb(id)\n if (!existingSnippet) {\n throw new Error('Vendor snippet not found')\n }\n\n if (updates.slotId) {\n const slot = await getVendorSlotByIdInDb(updates.slotId)\n if (!slot) {\n throw new Error('Invalid slot ID')\n }\n }\n\n if (updates.productIds) {\n const products = await getProductsByIdsInDb(updates.productIds)\n if (products.length !== updates.productIds.length) {\n throw new Error('One or more invalid product IDs')\n }\n }\n\n if (updates.snippetCode && updates.snippetCode !== existingSnippet.snippetCode) {\n const duplicateSnippet = await checkVendorSnippetExistsInDb(updates.snippetCode)\n if (duplicateSnippet) {\n throw new Error('Snippet code already exists')\n }\n }\n\n const updateData = {\n ...updates,\n validTill: updates.validTill !== undefined\n ? (updates.validTill ? new Date(updates.validTill) : null)\n : undefined,\n }\n\n const result = await updateVendorSnippetInDb(id, updateData)\n\n /*\n // Old implementation - direct DB queries:\n const existingSnippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.id, id),\n });\n if (!existingSnippet) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n // Validate slot if being updated\n if (updates.slotId) {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, updates.slotId),\n });\n if (!slot) {\n throw new Error(\"Invalid slot ID\");\n }\n }\n\n // Validate products if being updated\n if (updates.productIds) {\n const products = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, updates.productIds),\n });\n if (products.length !== updates.productIds.length) {\n throw new Error(\"One or more invalid product IDs\");\n }\n }\n\n // Check snippet code uniqueness if being updated\n if (updates.snippetCode && updates.snippetCode !== existingSnippet.snippetCode) {\n const duplicateSnippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, updates.snippetCode),\n });\n if (duplicateSnippet) {\n throw new Error(\"Snippet code already exists\");\n }\n }\n\n const updateData: any = { ...updates };\n if (updates.validTill !== undefined) {\n updateData.validTill = updates.validTill ? new Date(updates.validTill) : null;\n }\n\n const result = await db.update(vendorSnippets)\n .set(updateData)\n .where(eq(vendorSnippets.id, id))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Failed to update vendor snippet\");\n }\n\n return result[0];\n */\n\n if (!result) {\n throw new Error('Failed to update vendor snippet')\n }\n\n return result\n }),\n\n delete: protectedProcedure\n .input(z.object({ id: z.number().int().positive() }))\n .mutation(async ({ input }): Promise => {\n const { id } = input;\n\n const result = await deleteVendorSnippetInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const result = await db.delete(vendorSnippets)\n .where(eq(vendorSnippets.id, id))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n return { message: \"Vendor snippet deleted successfully\" };\n */\n\n if (!result) {\n throw new Error('Vendor snippet not found')\n }\n\n return { message: 'Vendor snippet deleted successfully' }\n }),\n\n getOrdersBySnippet: publicProcedure\n .input(z.object({\n snippetCode: z.string().min(1, \"Snippet code is required\")\n }))\n .query(async ({ input }): Promise => {\n const { snippetCode } = input;\n\n const snippet = await getVendorSnippetByCodeInDb(snippetCode)\n\n /*\n // Old implementation - direct DB queries:\n // Find the snippet\n const snippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n });\n\n if (!snippet) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n // Check if snippet is still valid\n if (snippet.validTill && new Date(snippet.validTill) < new Date()) {\n throw new Error(\"Vendor snippet has expired\");\n }\n\n // Query orders that match the snippet criteria\n const matchingOrders = await db.query.orders.findMany({\n where: eq(orders.slotId, snippet.slotId!),\n with: {\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n user: true,\n slot: true,\n },\n orderBy: (orders, { desc }) => [desc(orders.createdAt)],\n });\n */\n\n if (!snippet) {\n throw new Error('Vendor snippet not found')\n }\n\n if (snippet.validTill && new Date(snippet.validTill) < new Date()) {\n throw new Error('Vendor snippet has expired')\n }\n\n if (!snippet.slotId) {\n throw new Error('Vendor snippet not associated with a slot')\n }\n\n const matchingOrders = await getVendorOrdersBySlotIdInDb(snippet.slotId)\n\n // Filter orders that contain at least one of the snippet's products\n const filteredOrders = matchingOrders.filter(order => {\n const status = order.orderStatus;\n if (status[0].isCancelled) return false;\n const orderProductIds = order.orderItems.map(item => item.productId);\n return snippet.productIds.some(productId => orderProductIds.includes(productId));\n });\n\n // Format the response\n const formattedOrders = filteredOrders.map(order => {\n // Filter orderItems to only include products attached to the snippet\n const attachedOrderItems = order.orderItems.filter(item =>\n snippet.productIds.includes(item.productId)\n );\n\n const products = attachedOrderItems.map(item => ({\n orderItemId: item.id,\n productId: item.productId,\n productName: item.product.name,\n quantity: parseFloat(item.quantity),\n productSize: item.product.productQuantity,\n price: parseFloat((item.price ?? 0).toString()),\n unit: item.product.unit?.shortNotation || 'unit',\n subtotal: parseFloat((item.price ?? 0).toString()) * parseFloat(item.quantity),\n is_packaged: item.is_packaged,\n is_package_verified: item.is_package_verified,\n }));\n\n const orderTotal = products.reduce((sum, p) => sum + p.subtotal, 0);\n\n return {\n orderId: `ORD${order.id}`,\n orderDate: order.createdAt ? order.createdAt.toISOString() : new Date(0).toISOString(),\n customerName: order.user.name || '',\n totalAmount: orderTotal,\n slotInfo: order.slot ? {\n time: order.slot.deliveryTime ? order.slot.deliveryTime.toISOString() : new Date(0).toISOString(),\n sequence: order.slot.deliverySequence,\n } : null,\n products,\n matchedProducts: snippet.productIds, // All snippet products are considered matched\n snippetCode: snippet.snippetCode,\n };\n });\n\n return {\n success: true,\n data: formattedOrders,\n snippet: {\n id: snippet.id,\n snippetCode: snippet.snippetCode,\n slotId: snippet.slotId,\n productIds: snippet.productIds,\n validTill: snippet.validTill?.toISOString(),\n createdAt: snippet.createdAt.toISOString(),\n isPermanent: snippet.isPermanent,\n },\n }\n }),\n\n getVendorOrders: protectedProcedure\n .query(async (): Promise => {\n const vendorOrders = await getVendorOrdersInDb()\n\n /*\n // Old implementation - direct DB queries:\n const vendorOrders = await db.query.orders.findMany({\n with: {\n user: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n },\n orderBy: (orders, { desc }) => [desc(orders.createdAt)],\n });\n */\n\n return vendorOrders.map(order => ({\n id: order.id,\n status: 'pending',\n orderDate: order.createdAt ? order.createdAt.toISOString() : new Date(0).toISOString(),\n totalQuantity: order.orderItems.reduce((sum, item) => sum + parseFloat(item.quantity || '0'), 0),\n products: order.orderItems.map(item => ({\n name: item.product.name,\n quantity: parseFloat(item.quantity || '0'),\n unit: item.product.unit?.shortNotation || 'unit',\n })),\n }))\n }),\n\n getUpcomingSlots: publicProcedure\n .query(async (): Promise => {\n const threeHoursAgo = dayjs().subtract(3, 'hour').toDate();\n const slots = await getSlotsAfterDateInDb(threeHoursAgo)\n\n /*\n // Old implementation - direct DB queries:\n const slots = await db.query.deliverySlotInfo.findMany({\n where: and(\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, threeHoursAgo)\n ),\n orderBy: asc(deliverySlotInfo.deliveryTime),\n });\n */\n\n return {\n success: true,\n data: slots.map(slot => ({\n id: slot.id,\n deliveryTime: slot.deliveryTime.toISOString(),\n freezeTime: slot.freezeTime.toISOString(),\n deliverySequence: slot.deliverySequence,\n })),\n }\n }),\n\n getOrdersBySnippetAndSlot: publicProcedure\n .input(z.object({\n snippetCode: z.string().min(1, \"Snippet code is required\"),\n slotId: z.number().int().positive(\"Valid slot ID is required\"),\n }))\n .query(async ({ input }): Promise => {\n const { snippetCode, slotId } = input;\n\n const snippet = await getVendorSnippetByCodeInDb(snippetCode)\n const slot = await getVendorSlotByIdInDb(slotId)\n\n /*\n // Old implementation - direct DB queries:\n // Find the snippet\n const snippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n });\n\n if (!snippet) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n // Find the slot\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n });\n\n if (!slot) {\n throw new Error(\"Slot not found\");\n }\n \n // Query orders that match the slot and snippet criteria\n const matchingOrders = await db.query.orders.findMany({\n where: eq(orders.slotId, slotId),\n with: {\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n user: true,\n slot: true,\n },\n orderBy: (orders, { desc }) => [desc(orders.createdAt)],\n });\n */\n\n if (!snippet) {\n throw new Error('Vendor snippet not found')\n }\n\n if (!slot) {\n throw new Error('Slot not found')\n }\n\n const matchingOrders = await getVendorOrdersBySlotIdInDb(slotId)\n\n // Filter orders that contain at least one of the snippet's products\n const filteredOrders = matchingOrders.filter(order => {\n const status = order.orderStatus;\n if (status[0]?.isCancelled) return false;\n const orderProductIds = order.orderItems.map(item => item.productId);\n return snippet.productIds.some(productId => orderProductIds.includes(productId));\n });\n\n // Format the response\n const formattedOrders = filteredOrders.map(order => {\n // Filter orderItems to only include products attached to the snippet\n const attachedOrderItems = order.orderItems.filter(item =>\n snippet.productIds.includes(item.productId)\n );\n\n const products = attachedOrderItems.map(item => ({\n orderItemId: item.id,\n productId: item.productId,\n productName: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat((item.price ?? 0).toString()),\n unit: item.product.unit?.shortNotation || 'unit',\n subtotal: parseFloat((item.price ?? 0).toString()) * parseFloat(item.quantity),\n productSize: item.product.productQuantity,\n is_packaged: item.is_packaged,\n is_package_verified: item.is_package_verified,\n }));\n\n const orderTotal = products.reduce((sum, p) => sum + p.subtotal, 0);\n\n return {\n orderId: `ORD${order.id}`,\n orderDate: order.createdAt ? order.createdAt.toISOString() : new Date(0).toISOString(),\n customerName: order.user.name || '',\n totalAmount: orderTotal,\n slotInfo: order.slot ? {\n time: order.slot.deliveryTime ? order.slot.deliveryTime.toISOString() : new Date(0).toISOString(),\n sequence: order.slot.deliverySequence,\n } : null,\n products,\n matchedProducts: snippet.productIds,\n snippetCode: snippet.snippetCode,\n };\n });\n\n return {\n success: true,\n data: formattedOrders,\n snippet: {\n id: snippet.id,\n snippetCode: snippet.snippetCode,\n slotId: snippet.slotId,\n productIds: snippet.productIds,\n validTill: snippet.validTill?.toISOString(),\n createdAt: snippet.createdAt ? snippet.createdAt.toISOString() : new Date(0).toISOString(),\n isPermanent: snippet.isPermanent,\n },\n selectedSlot: {\n id: slot.id,\n deliveryTime: slot.deliveryTime ? slot.deliveryTime.toISOString() : new Date(0).toISOString(),\n freezeTime: slot.freezeTime ? slot.freezeTime.toISOString() : new Date(0).toISOString(),\n deliverySequence: slot.deliverySequence,\n },\n }\n }),\n\n updateOrderItemPackaging: publicProcedure\n .input(z.object({\n orderItemId: z.number().int().positive(\"Valid order item ID required\"),\n is_packaged: z.boolean()\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const { orderItemId, is_packaged } = input;\n\n // Get staff user ID from auth middleware\n // const staffUserId = ctx.staffUser?.id;\n // if (!staffUserId) {\n // throw new Error(\"Unauthorized\");\n // }\n\n const result = await updateVendorOrderItemPackagingInDb(orderItemId, is_packaged)\n\n /*\n // Old implementation - direct DB queries:\n // Check if order item exists and get related data\n const orderItem = await db.query.orderItems.findFirst({\n where: eq(orderItems.id, orderItemId),\n with: {\n order: {\n with: {\n slot: true\n }\n }\n }\n });\n\n if (!orderItem) {\n throw new Error(\"Order item not found\");\n }\n\n // Check if this order item belongs to a slot that has vendor snippets\n // This ensures only order items from vendor-accessible orders can be updated\n if (!orderItem.order.slotId) {\n throw new Error(\"Order item not associated with a vendor slot\");\n }\n\n const snippetExists = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.slotId, orderItem.order.slotId),\n });\n\n if (!snippetExists) {\n throw new Error(\"No vendor snippet found for this order's slot\");\n }\n\n // Update the is_packaged field\n const result = await db.update(orderItems)\n .set({ is_packaged })\n .where(eq(orderItems.id, orderItemId))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Failed to update packaging status\");\n }\n\n return {\n success: true,\n orderItemId,\n is_packaged\n };\n */\n\n if (!result.success) {\n throw new Error(result.message)\n }\n\n return result\n }),\n});\n", "import { router, protectedProcedure } from \"@/src/trpc/trpc-index\"\nimport { TRPCError } from \"@trpc/server\";\nimport { z } from \"zod\";\nimport { ApiError } from \"@/src/lib/api-error\"\nimport { getAppUrl } from \"@/src/lib/env-exporter\"\n// import redisClient from \"@/src/lib/redis-client\"\n// import { getSlotSequenceKey } from \"@/src/lib/redisKeyGetters\"\nimport { scheduleStoreInitialization } from '@/src/stores/store-initializer'\nimport {\n getActiveSlotsWithProducts as getActiveSlotsWithProductsInDb,\n getActiveSlots as getActiveSlotsInDb,\n getSlotsAfterDate as getSlotsAfterDateInDb,\n getSlotByIdWithRelations as getSlotByIdWithRelationsInDb,\n createSlotWithRelations as createSlotWithRelationsInDb,\n updateSlotWithRelations as updateSlotWithRelationsInDb,\n deleteSlotById as deleteSlotByIdInDb,\n updateSlotCapacity as updateSlotCapacityInDb,\n getSlotDeliverySequence as getSlotDeliverySequenceInDb,\n updateSlotDeliverySequence as updateSlotDeliverySequenceInDb,\n updateSlotProducts as updateSlotProductsInDb,\n getSlotsProductIds as getSlotsProductIdsInDb,\n} from '@/src/dbService'\nimport type {\n AdminDeliverySequenceResult,\n AdminSlotResult,\n AdminSlotsResult,\n AdminSlotsListResult,\n AdminSlotCreateResult,\n AdminSlotUpdateResult,\n AdminSlotDeleteResult,\n AdminUpdateDeliverySequenceResult,\n AdminUpdateSlotCapacityResult,\n AdminSlotsProductIdsResult,\n AdminUpdateSlotProductsResult,\n} from '@packages/shared'\n\n\ninterface CachedDeliverySequence {\n [userId: string]: number[];\n}\n\nconst cachedSequenceSchema = z.record(z.string(), z.array(z.number()));\n\nconst createSlotSchema = z.object({\n deliveryTime: z.string(),\n freezeTime: z.string(),\n isActive: z.boolean().optional(),\n productIds: z.array(z.number()).optional(),\n vendorSnippets: z.array(z.object({\n name: z.string().min(1),\n productIds: z.array(z.number().int().positive()).min(1),\n validTill: z.string().optional(),\n })).optional(),\n groupIds: z.array(z.number()).optional(),\n});\n\nconst getSlotByIdSchema = z.object({\n id: z.number(),\n});\n\nconst updateSlotSchema = z.object({\n id: z.number(),\n deliveryTime: z.string(),\n freezeTime: z.string(),\n isActive: z.boolean().optional(),\n productIds: z.array(z.number()).optional(),\n vendorSnippets: z.array(z.object({\n name: z.string().min(1),\n productIds: z.array(z.number().int().positive()).min(1),\n validTill: z.string().optional(),\n })).optional(),\n groupIds: z.array(z.number()).optional(),\n});\n\nconst deleteSlotSchema = z.object({\n id: z.number(),\n});\n\nconst getDeliverySequenceSchema = z.object({\n id: z.string(),\n});\n\nconst updateDeliverySequenceSchema = z.object({\n id: z.number(),\n // deliverySequence: z.array(z.number()),\n deliverySequence: z.any(),\n});\n\nexport const slotsRouter = router({\n // Exact replica of GET /av/slots\n getAll: protectedProcedure.query(async ({ ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const slots = await getActiveSlotsWithProductsInDb()\n\n /*\n // Old implementation - direct DB queries:\n const slots = await db.query.deliverySlotInfo\n .findMany({\n where: eq(deliverySlotInfo.isActive, true),\n orderBy: desc(deliverySlotInfo.deliveryTime),\n with: {\n productSlots: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n },\n })\n .then((slots) =>\n slots.map((slot) => ({\n ...slot,\n deliverySequence: slot.deliverySequence as number[],\n products: slot.productSlots.map((ps) => ps.product),\n }))\n );\n */\n\n return {\n slots,\n count: slots.length,\n }\n }),\n\n // Exact replica of POST /av/products/slots/product-ids\n getSlotsProductIds: protectedProcedure\n .input(z.object({ slotIds: z.array(z.number()) }))\n .query(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { slotIds } = input;\n\n if (!Array.isArray(slotIds)) {\n throw new TRPCError({\n code: \"BAD_REQUEST\",\n message: \"slotIds must be an array\",\n });\n }\n\n const result = await getSlotsProductIdsInDb(slotIds)\n\n /*\n // Old implementation - direct DB queries:\n if (slotIds.length === 0) {\n return {};\n }\n\n // Fetch all associations for the requested slots\n const associations = await db.query.productSlots.findMany({\n where: inArray(productSlots.slotId, slotIds),\n columns: {\n slotId: true,\n productId: true,\n },\n });\n\n // Group by slotId\n const result = associations.reduce((acc, assoc) => {\n if (!acc[assoc.slotId]) {\n acc[assoc.slotId] = [];\n }\n acc[assoc.slotId].push(assoc.productId);\n return acc;\n }, {} as Record);\n\n // Ensure all requested slots have entries (even if empty)\n slotIds.forEach((slotId) => {\n if (!result[slotId]) {\n result[slotId] = [];\n }\n });\n\n return result;\n */\n\n return result\n }),\n\n // Exact replica of PUT /av/products/slots/:slotId/products\n updateSlotProducts: protectedProcedure\n .input(\n z.object({\n slotId: z.number(),\n productIds: z.array(z.number()),\n })\n )\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { slotId, productIds } = input;\n\n if (!Array.isArray(productIds)) {\n throw new TRPCError({\n code: \"BAD_REQUEST\",\n message: \"productIds must be an array\",\n });\n }\n\n const result = await updateSlotProductsInDb(String(slotId), productIds.map(String))\n\n /*\n // Old implementation - direct DB queries:\n // Get current associations\n const currentAssociations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, slotId),\n columns: {\n productId: true,\n },\n });\n\n const currentProductIds = currentAssociations.map(\n (assoc) => assoc.productId\n );\n const newProductIds = productIds;\n\n // Find products to add and remove\n const productsToAdd = newProductIds.filter(\n (id) => !currentProductIds.includes(id)\n );\n const productsToRemove = currentProductIds.filter(\n (id) => !newProductIds.includes(id)\n );\n\n // Remove associations for products that are no longer selected\n if (productsToRemove.length > 0) {\n await db\n .delete(productSlots)\n .where(\n and(\n eq(productSlots.slotId, slotId),\n inArray(productSlots.productId, productsToRemove)\n )\n );\n }\n\n // Add associations for newly selected products\n if (productsToAdd.length > 0) {\n const newAssociations = productsToAdd.map((productId) => ({\n productId,\n slotId,\n }));\n\n await db.insert(productSlots).values(newAssociations);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: \"Slot products updated successfully\",\n added: productsToAdd.length,\n removed: productsToRemove.length,\n };\n */\n\n scheduleStoreInitialization()\n\n return {\n message: result.message,\n added: result.added,\n removed: result.removed,\n }\n }),\n\n createSlot: protectedProcedure\n .input(createSlotSchema)\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { deliveryTime, freezeTime, isActive, productIds, vendorSnippets: snippets, groupIds } = input;\n\n // Validate required fields\n if (!deliveryTime || !freezeTime) {\n throw new ApiError(\"Delivery time and orders close time are required\", 400);\n }\n\n const result = await createSlotWithRelationsInDb({\n deliveryTime,\n freezeTime,\n isActive,\n productIds,\n vendorSnippets: snippets,\n groupIds,\n })\n\n /*\n // Old implementation - direct DB queries:\n const result = await db.transaction(async (tx) => {\n // Create slot\n const [newSlot] = await tx\n .insert(deliverySlotInfo)\n .values({\n deliveryTime: new Date(deliveryTime),\n freezeTime: new Date(freezeTime),\n isActive: isActive !== undefined ? isActive : true,\n groupIds: groupIds !== undefined ? groupIds : [],\n })\n .returning();\n\n // Insert product associations if provided\n if (productIds && productIds.length > 0) {\n const associations = productIds.map((productId) => ({\n productId,\n slotId: newSlot.id,\n }));\n await tx.insert(productSlots).values(associations);\n }\n\n // Create vendor snippets if provided\n let createdSnippets: any[] = [];\n if (snippets && snippets.length > 0) {\n for (const snippet of snippets) {\n // Validate products exist\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n });\n if (products.length !== snippet.productIds.length) {\n throw new ApiError(`One or more invalid product IDs in snippet \"${snippet.name}\"`, 400);\n }\n\n // Check if snippet name already exists\n const existingSnippet = await tx.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippet.name),\n });\n if (existingSnippet) {\n throw new ApiError(`Snippet name \"${snippet.name}\" already exists`, 400);\n }\n\n const [createdSnippet] = await tx.insert(vendorSnippets).values({\n snippetCode: snippet.name,\n slotId: newSlot.id,\n productIds: snippet.productIds,\n validTill: snippet.validTill ? new Date(snippet.validTill) : undefined,\n }).returning();\n\n createdSnippets.push(createdSnippet);\n }\n }\n\n return {\n slot: newSlot,\n createdSnippets,\n message: \"Slot created successfully\",\n };\n });\n */\n\n // Reinitialize stores to reflect changes (outside transaction)\n scheduleStoreInitialization()\n\n return result\n }),\n\n getSlots: protectedProcedure.query(async ({ ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const slots = await getActiveSlotsInDb()\n\n /*\n // Old implementation - direct DB queries:\n const slots = await db.query.deliverySlotInfo.findMany({\n where: eq(deliverySlotInfo.isActive, true),\n });\n */\n\n return {\n slots,\n count: slots.length,\n }\n }),\n\n getSlotById: protectedProcedure\n .input(getSlotByIdSchema)\n .query(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { id } = input;\n\n const slot = await getSlotByIdWithRelationsInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, id),\n with: {\n productSlots: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n vendorSnippets: true,\n },\n });\n */\n\n if (!slot) {\n throw new ApiError('Slot not found', 404)\n }\n\n return {\n slot: {\n ...slot,\n vendorSnippets: slot.vendorSnippets.map(snippet => ({\n ...snippet,\n accessUrl: `${getAppUrl()}/vendor-order-list?id=${snippet.snippetCode}`,\n })),\n },\n }\n }),\n\n updateSlot: protectedProcedure\n .input(updateSlotSchema)\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n try{\n const { id, deliveryTime, freezeTime, isActive, productIds, vendorSnippets: snippets, groupIds } = input;\n\n if (!deliveryTime || !freezeTime) {\n throw new ApiError(\"Delivery time and orders close time are required\", 400);\n }\n\n const result = await updateSlotWithRelationsInDb({\n id,\n deliveryTime,\n freezeTime,\n isActive,\n productIds,\n vendorSnippets: snippets,\n groupIds,\n })\n\n /*\n // Old implementation - direct DB queries:\n // Filter groupIds to only include valid (existing) groups\n let validGroupIds = groupIds;\n if (groupIds && groupIds.length > 0) {\n const existingGroups = await db.query.productGroupInfo.findMany({\n where: inArray(productGroupInfo.id, groupIds),\n columns: { id: true },\n });\n validGroupIds = existingGroups.map(g => g.id);\n }\n\n const result = await db.transaction(async (tx) => {\n const [updatedSlot] = await tx\n .update(deliverySlotInfo)\n .set({\n deliveryTime: new Date(deliveryTime),\n freezeTime: new Date(freezeTime),\n isActive: isActive !== undefined ? isActive : true,\n groupIds: validGroupIds !== undefined ? validGroupIds : [],\n })\n .where(eq(deliverySlotInfo.id, id))\n .returning();\n\n if (!updatedSlot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n\n // Update product associations\n if (productIds !== undefined) {\n // Delete existing associations\n await tx.delete(productSlots).where(eq(productSlots.slotId, id));\n\n // Insert new associations\n if (productIds.length > 0) {\n const associations = productIds.map((productId) => ({\n productId,\n slotId: id,\n }));\n await tx.insert(productSlots).values(associations);\n }\n }\n\n // Create vendor snippets if provided\n let createdSnippets: any[] = [];\n if (snippets && snippets.length > 0) {\n for (const snippet of snippets) {\n // Validate products exist\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n });\n if (products.length !== snippet.productIds.length) {\n throw new ApiError(`One or more invalid product IDs in snippet \"${snippet.name}\"`, 400);\n }\n\n // Check if snippet name already exists\n const existingSnippet = await tx.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippet.name),\n });\n if (existingSnippet) {\n throw new ApiError(`Snippet name \"${snippet.name}\" already exists`, 400);\n }\n \n const [createdSnippet] = await tx.insert(vendorSnippets).values({\n snippetCode: snippet.name,\n slotId: id,\n productIds: snippet.productIds,\n validTill: snippet.validTill ? new Date(snippet.validTill) : undefined,\n\n }).returning();\n\n createdSnippets.push(createdSnippet);\n }\n }\n\n return {\n slot: updatedSlot,\n createdSnippets,\n message: \"Slot updated successfully\",\n };\n });\n */\n\n if (!result) {\n throw new ApiError('Slot not found', 404)\n }\n\n // Reinitialize stores to reflect changes (outside transaction)\n scheduleStoreInitialization()\n\n return result\n }\n catch(e) {\n console.log(e)\n throw new ApiError(\"Unable to Update Slot\");\n }\n }),\n\n deleteSlot: protectedProcedure\n .input(deleteSlotSchema)\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { id } = input;\n\n const deletedSlot = await deleteSlotByIdInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const [deletedSlot] = await db\n .update(deliverySlotInfo)\n .set({ isActive: false })\n .where(eq(deliverySlotInfo.id, id))\n .returning();\n\n if (!deletedSlot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n */\n\n if (!deletedSlot) {\n throw new ApiError('Slot not found', 404)\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: 'Slot deleted successfully',\n }\n }),\n\n getDeliverySequence: protectedProcedure\n .input(getDeliverySequenceSchema)\n .query(async ({ input, ctx }): Promise => {\n\n const { id } = input;\n const slotId = parseInt(id);\n // const cacheKey = getSlotSequenceKey(slotId);\n\n // try {\n // const cached = await redisClient.get(cacheKey);\n // if (cached) {\n // const parsed = JSON.parse(cached);\n // const validated = cachedSequenceSchema.parse(parsed);\n // console.log('sending cached response')\n // \n // return { deliverySequence: validated };\n // }\n // } catch (error) {\n // console.warn('Redis cache read/validation failed, falling back to DB:', error);\n // // Continue to DB fallback\n // }\n\n // Fallback to DB\n const slot = await getSlotDeliverySequenceInDb(slotId)\n\n /*\n // Old implementation - direct DB queries:\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n });\n\n if (!slot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n\n const sequence = cachedSequenceSchema.parse(slot.deliverySequence || {});\n */\n\n if (!slot) {\n throw new ApiError('Slot not found', 404)\n }\n\n const sequence = (slot.deliverySequence || {}) as CachedDeliverySequence;\n\n // Cache the validated result\n // try {\n // const validated = cachedSequenceSchema.parse(sequence);\n // await redisClient.set(cacheKey, JSON.stringify(validated), 3600);\n // } catch (cacheError) {\n // console.warn('Redis cache write failed:', cacheError);\n // }\n\n return { deliverySequence: sequence }\n }),\n\n updateDeliverySequence: protectedProcedure\n .input(updateDeliverySequenceSchema)\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { id, deliverySequence } = input;\n\n const updatedSlot = await updateSlotDeliverySequenceInDb(id, deliverySequence)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedSlot] = await db\n .update(deliverySlotInfo)\n .set({ deliverySequence })\n .where(eq(deliverySlotInfo.id, id))\n .returning({\n id: deliverySlotInfo.id,\n deliverySequence: deliverySlotInfo.deliverySequence,\n });\n\n if (!updatedSlot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n */\n\n if (!updatedSlot) {\n throw new ApiError('Slot not found', 404)\n }\n\n // Cache the updated sequence\n // const cacheKey = getSlotSequenceKey(id);\n // try {\n // const validated = cachedSequenceSchema.parse(deliverySequence);\n // await redisClient.set(cacheKey, JSON.stringify(validated), 3600);\n // } catch (cacheError) {\n // console.warn('Redis cache write failed:', cacheError);\n // }\n\n return {\n slot: updatedSlot,\n message: 'Delivery sequence updated successfully',\n }\n }),\n\n updateSlotCapacity: protectedProcedure\n .input(z.object({\n slotId: z.number(),\n isCapacityFull: z.boolean(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { slotId, isCapacityFull } = input;\n\n const result = await updateSlotCapacityInDb(slotId, isCapacityFull)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedSlot] = await db\n .update(deliverySlotInfo)\n .set({ isCapacityFull })\n .where(eq(deliverySlotInfo.id, slotId))\n .returning();\n\n if (!updatedSlot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n success: true,\n slot: updatedSlot,\n message: `Slot ${isCapacityFull ? 'marked as full capacity' : 'capacity reset'}`,\n };\n */\n\n if (!result) {\n throw new ApiError('Slot not found', 404)\n }\n\n scheduleStoreInitialization()\n\n return result\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport { generateSignedUrlsFromS3Urls, generateSignedUrlFromS3Url, claimUploadUrl, extractKeyFromPresignedUrl, deleteImageUtil } from '@/src/lib/s3-client'\nimport { scheduleStoreInitialization } from '@/src/stores/store-initializer'\nimport {\n getAllProducts as getAllProductsInDb,\n getProductById as getProductByIdInDb,\n deleteProduct as deleteProductInDb,\n toggleProductOutOfStock as toggleProductOutOfStockInDb,\n updateSlotProducts as updateSlotProductsInDb,\n getSlotProductIds as getSlotProductIdsInDb,\n getSlotsProductIds as getSlotsProductIdsInDb,\n getProductReviews as getProductReviewsInDb,\n respondToReview as respondToReviewInDb,\n getAllProductGroups as getAllProductGroupsInDb,\n createProductGroup as createProductGroupInDb,\n updateProductGroup as updateProductGroupInDb,\n deleteProductGroup as deleteProductGroupInDb,\n updateProductPrices as updateProductPricesInDb,\n checkProductExistsByName,\n checkUnitExists,\n createProduct as createProductInDb,\n createSpecialDealsForProduct,\n replaceProductTags,\n getProductImagesById,\n updateProduct as updateProductInDb,\n updateProductDeals,\n checkProductTagExistsByName,\n createProductTag as createProductTagInDb,\n updateProductTag as updateProductTagInDb,\n deleteProductTag as deleteProductTagInDb,\n getAllProductTagInfos as getAllProductTagInfosInDb,\n getProductTagInfoById as getProductTagInfoByIdInDb,\n} from '@/src/dbService'\nimport type {\n AdminProduct,\n AdminSpecialDeal,\n AdminProductGroupsResult,\n AdminProductGroupResponse,\n AdminProductReviewsResult,\n AdminProductReviewResponse,\n AdminProductListResponse,\n AdminProductResponse,\n AdminDeleteProductResult,\n AdminToggleOutOfStockResult,\n AdminUpdateSlotProductsResult,\n AdminSlotProductIdsResult,\n AdminSlotsProductIdsResult,\n AdminUpdateProductPricesResult,\n} from '@packages/shared'\n\n\nexport const productRouter = router({\n getProducts: protectedProcedure\n .query(async (): Promise => {\n const products = await getAllProductsInDb()\n\n /*\n // Old implementation - direct DB query:\n const products = await db.query.productInfo.findMany({\n orderBy: productInfo.name,\n with: {\n unit: true,\n store: true,\n },\n });\n */\n\n const productsWithSignedUrls = await Promise.all(\n products.map(async (product) => ({\n ...product,\n images: await generateSignedUrlsFromS3Urls((product.images as string[]) || []),\n }))\n )\n\n return {\n products: productsWithSignedUrls,\n count: productsWithSignedUrls.length,\n }\n }),\n\n getProductById: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .query(async ({ input }): Promise => {\n const { id } = input;\n\n const product = await getProductByIdInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, id),\n with: {\n unit: true,\n },\n });\n\n if (!product) {\n throw new ApiError(\"Product not found\", 404);\n }\n\n // Fetch special deals for this product\n const deals = await db.query.specialDeals.findMany({\n where: eq(specialDeals.productId, id),\n orderBy: specialDeals.quantity,\n });\n\n // Fetch associated tags for this product\n const productTagsData = await db.query.productTags.findMany({\n where: eq(productTags.productId, id),\n with: {\n tag: true,\n },\n });\n\n // Generate signed URLs for product images\n const productWithSignedUrls = {\n ...product,\n images: await generateSignedUrlsFromS3Urls((product.images as string[]) || []),\n deals,\n tags: productTagsData.map(pt => pt.tag),\n };\n\n return {\n product: productWithSignedUrls,\n };\n */\n\n if (!product) {\n throw new ApiError('Product not found', 404)\n }\n\n const productWithSignedUrls = {\n ...product,\n images: await generateSignedUrlsFromS3Urls((product.images as string[]) || []),\n }\n\n return {\n product: productWithSignedUrls,\n }\n }),\n\n deleteProduct: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .mutation(async ({ input }): Promise => {\n const { id } = input;\n\n const deletedProduct = await deleteProductInDb(id)\n\n /*\n // Old implementation - direct DB query:\n const [deletedProduct] = await db\n .delete(productInfo)\n .where(eq(productInfo.id, id))\n .returning();\n\n if (!deletedProduct) {\n throw new ApiError(\"Product not found\", 404);\n }\n */\n\n if (!deletedProduct) {\n throw new ApiError('Product not found', 404)\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: 'Product deleted successfully',\n }\n }),\n\n toggleOutOfStock: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .mutation(async ({ input }): Promise => {\n const { id } = input;\n\n const updatedProduct = await toggleProductOutOfStockInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, id),\n });\n\n if (!product) {\n throw new ApiError(\"Product not found\", 404);\n }\n\n const [updatedProduct] = await db\n .update(productInfo)\n .set({\n isOutOfStock: !product.isOutOfStock,\n })\n .where(eq(productInfo.id, id))\n .returning();\n */\n\n if (!updatedProduct) {\n throw new ApiError('Product not found', 404)\n }\n\n scheduleStoreInitialization()\n\n return {\n product: updatedProduct,\n message: `Product marked as ${updatedProduct.isOutOfStock ? 'out of stock' : 'in stock'}`,\n }\n }),\n\n createProduct: protectedProcedure\n .input(z.object({\n name: z.string().min(1, 'Name is required'),\n shortDescription: z.string().optional(),\n longDescription: z.string().optional(),\n unitId: z.number().min(1, 'Unit is required'),\n storeId: z.number().min(1, 'Store is required'),\n price: z.number().positive('Price must be positive'),\n marketPrice: z.number().optional(),\n incrementStep: z.number().optional().default(1),\n productQuantity: z.number().optional().default(1),\n isSuspended: z.boolean().optional().default(false),\n isFlashAvailable: z.boolean().optional().default(false),\n flashPrice: z.number().optional(),\n uploadUrls: z.array(z.string()).optional().default([]),\n deals: z.array(z.object({\n quantity: z.number(),\n price: z.number(),\n validTill: z.string(),\n })).optional(),\n tagIds: z.array(z.number()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise<{ product: AdminProduct; deals: AdminSpecialDeal[]; message: string }> => {\n const { name, shortDescription, longDescription, unitId, storeId, price, marketPrice, incrementStep, productQuantity, isSuspended, isFlashAvailable, flashPrice, uploadUrls, deals, tagIds } = input\n\n const existingProduct = await checkProductExistsByName(name.trim())\n if (existingProduct) {\n throw new ApiError('A product with this name already exists', 400)\n }\n\n const unitExists = await checkUnitExists(unitId)\n if (!unitExists) {\n throw new ApiError('Invalid unit ID', 400)\n }\n\n const imageKeys = uploadUrls.map(url => extractKeyFromPresignedUrl(url))\n\n const newProduct = await createProductInDb({\n name,\n shortDescription,\n longDescription,\n unitId,\n storeId,\n price: price.toString(),\n marketPrice: marketPrice?.toString(),\n incrementStep,\n productQuantity,\n isSuspended,\n isFlashAvailable,\n flashPrice: flashPrice?.toString(),\n images: imageKeys,\n })\n\n let createdDeals: AdminSpecialDeal[] = []\n if (deals && deals.length > 0) {\n createdDeals = await createSpecialDealsForProduct(newProduct.id, deals)\n }\n\n if (tagIds.length > 0) {\n await replaceProductTags(newProduct.id, tagIds)\n }\n\n if (uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)))\n }\n\n scheduleStoreInitialization()\n\n return {\n product: newProduct,\n deals: createdDeals,\n message: 'Product created successfully',\n }\n }),\n\n updateProduct: protectedProcedure\n .input(z.object({\n id: z.number(),\n name: z.string().min(1, 'Name is required'),\n shortDescription: z.string().optional(),\n longDescription: z.string().optional(),\n unitId: z.number().min(1, 'Unit is required'),\n storeId: z.number().min(1, 'Store is required'),\n price: z.number().positive('Price must be positive'),\n marketPrice: z.number().optional(),\n incrementStep: z.number().optional().default(1),\n productQuantity: z.number().optional().default(1),\n isSuspended: z.boolean().optional().default(false),\n isFlashAvailable: z.boolean().optional().default(false),\n flashPrice: z.number().nullable().optional(),\n uploadUrls: z.array(z.string()).optional().default([]),\n imagesToDelete: z.array(z.string()).optional().default([]),\n deals: z.array(z.object({\n quantity: z.number(),\n price: z.number(),\n validTill: z.string(),\n })).optional(),\n tagIds: z.array(z.number()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise<{ product: AdminProduct; message: string }> => {\n const { id, name, shortDescription, longDescription, unitId, storeId, price, marketPrice, incrementStep, productQuantity, isSuspended, isFlashAvailable, flashPrice, uploadUrls, imagesToDelete, deals, tagIds } = input\n\n const unitExists = await checkUnitExists(unitId)\n if (!unitExists) {\n throw new ApiError('Invalid unit ID', 400)\n }\n\n const currentImages = await getProductImagesById(id)\n if (!currentImages) {\n throw new ApiError('Product not found', 404)\n }\n\n let updatedImages = currentImages || []\n if (imagesToDelete.length > 0) {\n const imagesToRemove = updatedImages.filter(img => imagesToDelete.includes(img))\n await deleteImageUtil({ keys: imagesToRemove })\n updatedImages = updatedImages.filter(img => !imagesToRemove.includes(img))\n }\n\n const newImageKeys = uploadUrls.map(url => extractKeyFromPresignedUrl(url))\n const finalImages = [...updatedImages, ...newImageKeys]\n\n const updatedProduct = await updateProductInDb(id, {\n name,\n shortDescription,\n longDescription,\n unitId,\n storeId,\n price: price.toString(),\n marketPrice: marketPrice?.toString(),\n incrementStep,\n productQuantity,\n isSuspended,\n isFlashAvailable,\n flashPrice: flashPrice?.toString() ?? null,\n images: finalImages,\n })\n\n if (!updatedProduct) {\n throw new ApiError('Product not found', 404)\n }\n\n if (deals && deals.length > 0) {\n await updateProductDeals(id, deals)\n }\n\n if (tagIds.length > 0) {\n await replaceProductTags(id, tagIds)\n }\n\n if (uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)))\n }\n\n scheduleStoreInitialization()\n\n return {\n product: updatedProduct,\n message: 'Product updated successfully',\n }\n }),\n\n updateSlotProducts: protectedProcedure\n .input(z.object({\n slotId: z.string(),\n productIds: z.array(z.string()),\n }))\n .mutation(async ({ input }): Promise => {\n const { slotId, productIds } = input;\n\n if (!Array.isArray(productIds)) {\n throw new ApiError(\"productIds must be an array\", 400);\n }\n\n const result = await updateSlotProductsInDb(slotId, productIds)\n\n /*\n // Old implementation - direct DB queries:\n // Get current associations\n const currentAssociations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, parseInt(slotId)),\n columns: {\n productId: true,\n },\n });\n\n const currentProductIds = currentAssociations.map(assoc => assoc.productId);\n const newProductIds = productIds.map((id: string) => parseInt(id));\n\n // Find products to add and remove\n const productsToAdd = newProductIds.filter(id => !currentProductIds.includes(id));\n const productsToRemove = currentProductIds.filter(id => !newProductIds.includes(id));\n\n // Remove associations for products that are no longer selected\n if (productsToRemove.length > 0) {\n await db.delete(productSlots).where(\n and(\n eq(productSlots.slotId, parseInt(slotId)),\n inArray(productSlots.productId, productsToRemove)\n )\n );\n }\n\n // Add associations for newly selected products\n if (productsToAdd.length > 0) {\n const newAssociations = productsToAdd.map(productId => ({\n productId,\n slotId: parseInt(slotId),\n }));\n\n await db.insert(productSlots).values(newAssociations);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: \"Slot products updated successfully\",\n added: productsToAdd.length,\n removed: productsToRemove.length,\n };\n */\n\n scheduleStoreInitialization()\n\n return {\n message: 'Slot products updated successfully',\n added: result.added,\n removed: result.removed,\n }\n }),\n\n getSlotProductIds: protectedProcedure\n .input(z.object({\n slotId: z.string(),\n }))\n .query(async ({ input }): Promise => {\n const { slotId } = input;\n\n const productIds = await getSlotProductIdsInDb(slotId)\n\n /*\n // Old implementation - direct DB queries:\n const associations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, parseInt(slotId)),\n columns: {\n productId: true,\n },\n });\n\n const productIds = associations.map(assoc => assoc.productId);\n\n return {\n productIds,\n };\n */\n\n return {\n productIds,\n }\n }),\n\n getSlotsProductIds: protectedProcedure\n .input(z.object({\n slotIds: z.array(z.number()),\n }))\n .query(async ({ input }): Promise => {\n const { slotIds } = input;\n\n if (!Array.isArray(slotIds)) {\n throw new ApiError(\"slotIds must be an array\", 400);\n }\n\n const result = await getSlotsProductIdsInDb(slotIds)\n\n /*\n // Old implementation - direct DB queries:\n if (slotIds.length === 0) {\n return {};\n }\n\n // Fetch all associations for the requested slots\n const associations = await db.query.productSlots.findMany({\n where: inArray(productSlots.slotId, slotIds),\n columns: {\n slotId: true,\n productId: true,\n },\n });\n\n // Group by slotId\n const result = associations.reduce((acc, assoc) => {\n if (!acc[assoc.slotId]) {\n acc[assoc.slotId] = [];\n }\n acc[assoc.slotId].push(assoc.productId);\n return acc;\n }, {} as Record);\n\n // Ensure all requested slots have entries (even if empty)\n slotIds.forEach(slotId => {\n if (!result[slotId]) {\n result[slotId] = [];\n }\n });\n\n return result;\n */\n\n return result\n }),\n\n getProductReviews: protectedProcedure\n .input(z.object({\n productId: z.number().int().positive(),\n limit: z.number().int().min(1).max(50).optional().default(10),\n offset: z.number().int().min(0).optional().default(0),\n }))\n .query(async ({ input }): Promise => {\n const { productId, limit, offset } = input;\n\n const { reviews, totalCount } = await getProductReviewsInDb(productId, limit, offset)\n\n /*\n // Old implementation - direct DB queries:\n const reviews = await db\n .select({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n adminResponse: productReviews.adminResponse,\n adminResponseImages: productReviews.adminResponseImages,\n userName: users.name,\n })\n .from(productReviews)\n .innerJoin(users, eq(productReviews.userId, users.id))\n .where(eq(productReviews.productId, productId))\n .orderBy(desc(productReviews.reviewTime))\n .limit(limit)\n .offset(offset);\n\n // Generate signed URLs for images\n const reviewsWithSignedUrls = await Promise.all(\n reviews.map(async (review) => ({\n ...review,\n signedImageUrls: await generateSignedUrlsFromS3Urls((review.imageUrls as string[]) || []),\n signedAdminImageUrls: await generateSignedUrlsFromS3Urls((review.adminResponseImages as string[]) || []),\n }))\n );\n\n // Check if more reviews exist\n const totalCountResult = await db\n .select({ count: sql`count(*)` })\n .from(productReviews)\n .where(eq(productReviews.productId, productId));\n\n const totalCount = Number(totalCountResult[0].count);\n const hasMore = offset + limit < totalCount;\n\n return { reviews: reviewsWithSignedUrls, hasMore };\n */\n\n const reviewsWithSignedUrls = await Promise.all(\n reviews.map(async (review) => ({\n ...review,\n signedImageUrls: await generateSignedUrlsFromS3Urls((review.imageUrls as string[]) || []),\n signedAdminImageUrls: await generateSignedUrlsFromS3Urls((review.adminResponseImages as string[]) || []),\n }))\n )\n\n const hasMore = offset + limit < totalCount\n\n return { reviews: reviewsWithSignedUrls, hasMore }\n }),\n\n respondToReview: protectedProcedure\n .input(z.object({\n reviewId: z.number().int().positive(),\n adminResponse: z.string().optional(),\n adminResponseImages: z.array(z.string()).optional().default([]),\n uploadUrls: z.array(z.string()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise => {\n const { reviewId, adminResponse, adminResponseImages, uploadUrls } = input;\n\n const updatedReview = await respondToReviewInDb(reviewId, adminResponse, adminResponseImages)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedReview] = await db\n .update(productReviews)\n .set({\n adminResponse,\n adminResponseImages,\n })\n .where(eq(productReviews.id, reviewId))\n .returning();\n\n if (!updatedReview) {\n throw new ApiError('Review not found', 404);\n }\n\n // Claim upload URLs\n if (uploadUrls && uploadUrls.length > 0) {\n // const { claimUploadUrl } = await import('@/src/lib/s3-client');\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)));\n }\n\n return { success: true, review: updatedReview };\n */\n\n if (!updatedReview) {\n throw new ApiError('Review not found', 404)\n }\n\n if (uploadUrls && uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)))\n }\n\n return { success: true, review: updatedReview }\n }),\n\n getGroups: protectedProcedure\n .query(async (): Promise => {\n const groups = await getAllProductGroupsInDb()\n\n /*\n // Old implementation - direct DB queries:\n const groups = await db.query.productGroupInfo.findMany({\n with: {\n memberships: {\n with: {\n product: true,\n },\n },\n },\n orderBy: desc(productGroupInfo.createdAt),\n });\n */\n\n return {\n groups: groups.map(group => ({\n ...group,\n products: group.memberships.map((m: any) => ({\n ...(m.product as AdminProduct),\n images: (m.product.images as string[]) || null,\n })),\n productCount: group.memberships.length,\n })),\n }\n }),\n\n createGroup: protectedProcedure\n .input(z.object({\n group_name: z.string().min(1),\n description: z.string().optional(),\n product_ids: z.array(z.number()).default([]),\n }))\n .mutation(async ({ input }): Promise => {\n const { group_name, description, product_ids } = input;\n\n const newGroup = await createProductGroupInDb(group_name, description, product_ids)\n\n /*\n // Old implementation - direct DB queries:\n const [newGroup] = await db\n .insert(productGroupInfo)\n .values({\n groupName: group_name,\n description,\n })\n .returning();\n\n if (product_ids.length > 0) {\n const memberships = product_ids.map(productId => ({\n productId,\n groupId: newGroup.id,\n }));\n\n await db.insert(productGroupMembership).values(memberships);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n group: newGroup,\n message: 'Group created successfully',\n };\n */\n\n scheduleStoreInitialization()\n\n return {\n group: newGroup,\n message: 'Group created successfully',\n }\n }),\n\n updateGroup: protectedProcedure\n .input(z.object({\n id: z.number(),\n group_name: z.string().optional(),\n description: z.string().optional(),\n product_ids: z.array(z.number()).optional(),\n }))\n .mutation(async ({ input }): Promise => {\n const { id, group_name, description, product_ids } = input;\n\n const updatedGroup = await updateProductGroupInDb(id, group_name, description, product_ids)\n\n /*\n // Old implementation - direct DB queries:\n const updateData: any = {};\n if (group_name !== undefined) updateData.groupName = group_name;\n if (description !== undefined) updateData.description = description;\n\n const [updatedGroup] = await db\n .update(productGroupInfo)\n .set(updateData)\n .where(eq(productGroupInfo.id, id))\n .returning();\n\n if (!updatedGroup) {\n throw new ApiError('Group not found', 404);\n }\n\n if (product_ids !== undefined) {\n // Delete existing memberships\n await db.delete(productGroupMembership).where(eq(productGroupMembership.groupId, id));\n\n // Insert new memberships\n if (product_ids.length > 0) {\n const memberships = product_ids.map(productId => ({\n productId,\n groupId: id,\n }));\n\n await db.insert(productGroupMembership).values(memberships);\n }\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n group: updatedGroup,\n message: 'Group updated successfully',\n };\n */\n\n if (!updatedGroup) {\n throw new ApiError('Group not found', 404)\n }\n\n scheduleStoreInitialization()\n\n return {\n group: updatedGroup,\n message: 'Group updated successfully',\n }\n }),\n\n deleteGroup: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .mutation(async ({ input }): Promise => {\n const { id } = input;\n\n const deletedGroup = await deleteProductGroupInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n // Delete memberships first\n await db.delete(productGroupMembership).where(eq(productGroupMembership.groupId, id));\n\n // Delete group\n const [deletedGroup] = await db\n .delete(productGroupInfo)\n .where(eq(productGroupInfo.id, id))\n .returning();\n\n if (!deletedGroup) {\n throw new ApiError('Group not found', 404);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: 'Group deleted successfully',\n };\n */\n\n if (!deletedGroup) {\n throw new ApiError('Group not found', 404)\n }\n\n scheduleStoreInitialization()\n\n return {\n message: 'Group deleted successfully',\n }\n }),\n\n updateProductPrices: protectedProcedure\n .input(z.object({\n updates: z.array(z.object({\n productId: z.number(),\n price: z.number().optional(),\n marketPrice: z.number().nullable().optional(),\n flashPrice: z.number().nullable().optional(),\n isFlashAvailable: z.boolean().optional(),\n })),\n }))\n .mutation(async ({ input }): Promise => {\n const { updates } = input;\n\n if (updates.length === 0) {\n throw new ApiError('No updates provided', 400)\n }\n\n const result = await updateProductPricesInDb(updates)\n\n /*\n // Old implementation - direct DB queries:\n if (updates.length === 0) {\n throw new ApiError('No updates provided', 400);\n }\n\n // Validate that all productIds exist\n const productIds = updates.map(u => u.productId);\n const existingProducts = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, productIds),\n columns: { id: true },\n });\n\n const existingIds = new Set(existingProducts.map(p => p.id));\n const invalidIds = productIds.filter(id => !existingIds.has(id));\n\n if (invalidIds.length > 0) {\n throw new ApiError(`Invalid product IDs: ${invalidIds.join(', ')}`, 400);\n }\n\n // Perform batch update\n const updatePromises = updates.map(async (update) => {\n const { productId, price, marketPrice, flashPrice, isFlashAvailable } = update;\n const updateData: any = {};\n if (price !== undefined) updateData.price = price;\n if (marketPrice !== undefined) updateData.marketPrice = marketPrice;\n if (flashPrice !== undefined) updateData.flashPrice = flashPrice;\n if (isFlashAvailable !== undefined) updateData.isFlashAvailable = isFlashAvailable;\n\n return db\n .update(productInfo)\n .set(updateData)\n .where(eq(productInfo.id, productId));\n });\n\n await Promise.all(updatePromises);\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: `Updated prices for ${updates.length} product(s)`,\n updatedCount: updates.length,\n };\n */\n\n if (result.invalidIds.length > 0) {\n throw new ApiError(`Invalid product IDs: ${result.invalidIds.join(', ')}`, 400)\n }\n\n scheduleStoreInitialization()\n\n return {\n message: `Updated prices for ${result.updatedCount} product(s)`,\n updatedCount: result.updatedCount,\n }\n }),\n\n getProductTags: protectedProcedure\n .query(async (): Promise<{ tags: Array<{ id: number; tagName: string; tagDescription: string | null; imageUrl: string | null; isDashboardTag: boolean; relatedStores: unknown; createdAt: Date }>; message: string }> => {\n const tags = await getAllProductTagInfosInDb()\n\n const tagsWithSignedUrls = await Promise.all(\n tags.map(async (tag) => ({\n ...tag,\n imageUrl: tag.imageUrl ? await generateSignedUrlFromS3Url(tag.imageUrl) : null,\n }))\n )\n\n return {\n tags: tagsWithSignedUrls,\n message: 'Tags retrieved successfully',\n }\n }),\n\n getProductTagById: protectedProcedure\n .input(z.object({ id: z.number() }))\n .query(async ({ input }): Promise<{ tag: { id: number; tagName: string; tagDescription: string | null; imageUrl: string | null; isDashboardTag: boolean; relatedStores: unknown; createdAt: Date }; message: string }> => {\n const tag = await getProductTagInfoByIdInDb(input.id)\n\n if (!tag) {\n throw new ApiError('Tag not found', 404)\n }\n\n const tagWithSignedUrl = {\n ...tag,\n imageUrl: tag.imageUrl ? await generateSignedUrlFromS3Url(tag.imageUrl) : null,\n }\n\n return {\n tag: tagWithSignedUrl,\n message: 'Tag retrieved successfully',\n }\n }),\n\n createProductTag: protectedProcedure\n .input(z.object({\n tagName: z.string().min(1, 'Tag name is required'),\n tagDescription: z.string().optional(),\n imageUrl: z.string().optional().nullable(),\n isDashboardTag: z.boolean().optional().default(false),\n relatedStores: z.array(z.number()).optional().default([]),\n uploadUrls: z.array(z.string()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise<{ tag: { id: number; tagName: string; tagDescription: string | null; imageUrl: string | null; isDashboardTag: boolean; relatedStores: unknown; createdAt: Date }; message: string }> => {\n const { tagName, tagDescription, imageUrl, isDashboardTag, relatedStores, uploadUrls } = input\n\n const existingTag = await checkProductTagExistsByName(tagName.trim())\n if (existingTag) {\n throw new ApiError('A tag with this name already exists', 400)\n }\n\n const createdTag = await createProductTagInDb({\n tagName: tagName.trim(),\n tagDescription,\n imageUrl: imageUrl ?? null,\n isDashboardTag,\n relatedStores,\n })\n\n if (uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map((url) => claimUploadUrl(url)))\n }\n\n scheduleStoreInitialization()\n\n const { products, ...createdTagInfo } = createdTag\n\n return {\n tag: {\n ...createdTagInfo,\n imageUrl: createdTagInfo.imageUrl ? await generateSignedUrlFromS3Url(createdTagInfo.imageUrl) : null,\n },\n message: 'Tag created successfully',\n }\n }),\n\n updateProductTag: protectedProcedure\n .input(z.object({\n id: z.number(),\n tagName: z.string().min(1).optional(),\n tagDescription: z.string().optional().nullable(),\n imageUrl: z.string().optional().nullable(),\n isDashboardTag: z.boolean().optional(),\n relatedStores: z.array(z.number()).optional(),\n uploadUrls: z.array(z.string()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise<{ tag: { id: number; tagName: string; tagDescription: string | null; imageUrl: string | null; isDashboardTag: boolean; relatedStores: unknown; createdAt: Date }; message: string }> => {\n const { id, tagName, tagDescription, imageUrl, isDashboardTag, relatedStores, uploadUrls } = input\n\n const currentTag = await getProductTagInfoByIdInDb(id)\n\n if (!currentTag) {\n throw new ApiError('Tag not found', 404)\n }\n\n if (imageUrl !== undefined && imageUrl !== currentTag.imageUrl) {\n if (currentTag.imageUrl) {\n await deleteImageUtil({ keys: [currentTag.imageUrl] })\n }\n }\n\n const updatedTag = await updateProductTagInDb(id, {\n tagName: tagName?.trim(),\n tagDescription: tagDescription ?? undefined,\n imageUrl: imageUrl ?? undefined,\n isDashboardTag,\n relatedStores,\n })\n\n if (uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map((url) => claimUploadUrl(url)))\n }\n\n scheduleStoreInitialization()\n\n const { products, ...updatedTagInfo } = updatedTag\n\n return {\n tag: {\n ...updatedTagInfo,\n imageUrl: updatedTagInfo.imageUrl ? await generateSignedUrlFromS3Url(updatedTagInfo.imageUrl) : null,\n },\n message: 'Tag updated successfully',\n }\n }),\n\n deleteProductTag: protectedProcedure\n .input(z.object({ id: z.number() }))\n .mutation(async ({ input }): Promise<{ message: string }> => {\n const tag = await getProductTagInfoByIdInDb(input.id)\n\n if (!tag) {\n throw new ApiError('Tag not found', 404)\n }\n\n if (tag.imageUrl) {\n await deleteImageUtil({ keys: [tag.imageUrl] })\n }\n\n await deleteProductTagInDb(input.id)\n\n scheduleStoreInitialization()\n\n return { message: 'Tag deleted successfully' }\n }),\n });\n", "export const subtle = globalThis.crypto?.subtle;\nexport const randomUUID = () => {\n\treturn globalThis.crypto?.randomUUID();\n};\nexport const getRandomValues = (array) => {\n\treturn globalThis.crypto?.getRandomValues(array);\n};\n", "import { notImplemented, notImplementedClass } from \"../../../_internal/utils.mjs\";\nimport { getRandomValues } from \"./web.mjs\";\nconst MAX_RANDOM_VALUE_BYTES = 65536;\nexport const webcrypto = new Proxy(globalThis.crypto, { get(_, key) {\n\tif (key === \"CryptoKey\") {\n\t\treturn globalThis.CryptoKey;\n\t}\n\tif (typeof globalThis.crypto[key] === \"function\") {\n\t\treturn globalThis.crypto[key].bind(globalThis.crypto);\n\t}\n\treturn globalThis.crypto[key];\n} });\nexport const randomBytes = (size, cb) => {\n\tconst bytes = Buffer.alloc(size, 0, undefined);\n\tfor (let generated = 0; generated < size; generated += MAX_RANDOM_VALUE_BYTES) {\n\t\tgetRandomValues(\n\t\t\t// Use subarray to get a view of the buffer\n\t\t\tUint8Array.prototype.subarray.call(bytes, generated, generated + MAX_RANDOM_VALUE_BYTES)\n);\n\t}\n\tif (typeof cb === \"function\") {\n\t\tcb(null, bytes);\n\t\treturn undefined;\n\t}\n\treturn bytes;\n};\nexport const rng = randomBytes;\nexport const prng = randomBytes;\nexport const fips = false;\nexport const checkPrime = /*@__PURE__*/ notImplemented(\"crypto.checkPrime\");\nexport const checkPrimeSync = /*@__PURE__*/ notImplemented(\"crypto.checkPrimeSync\");\n/** @deprecated */\nexport const createCipher = /*@__PURE__*/ notImplemented(\"crypto.createCipher\");\n/** @deprecated */\nexport const createDecipher = /*@__PURE__*/ notImplemented(\"crypto.createDecipher\");\nexport const pseudoRandomBytes = /*@__PURE__*/ notImplemented(\"crypto.pseudoRandomBytes\");\nexport const createCipheriv = /*@__PURE__*/ notImplemented(\"crypto.createCipheriv\");\nexport const createDecipheriv = /*@__PURE__*/ notImplemented(\"crypto.createDecipheriv\");\nexport const createDiffieHellman = /*@__PURE__*/ notImplemented(\"crypto.createDiffieHellman\");\nexport const createDiffieHellmanGroup = /*@__PURE__*/ notImplemented(\"crypto.createDiffieHellmanGroup\");\nexport const createECDH = /*@__PURE__*/ notImplemented(\"crypto.createECDH\");\nexport const createHash = /*@__PURE__*/ notImplemented(\"crypto.createHash\");\nexport const createHmac = /*@__PURE__*/ notImplemented(\"crypto.createHmac\");\nexport const createPrivateKey = /*@__PURE__*/ notImplemented(\"crypto.createPrivateKey\");\nexport const createPublicKey = /*@__PURE__*/ notImplemented(\"crypto.createPublicKey\");\nexport const createSecretKey = /*@__PURE__*/ notImplemented(\"crypto.createSecretKey\");\nexport const createSign = /*@__PURE__*/ notImplemented(\"crypto.createSign\");\nexport const createVerify = /*@__PURE__*/ notImplemented(\"crypto.createVerify\");\nexport const diffieHellman = /*@__PURE__*/ notImplemented(\"crypto.diffieHellman\");\nexport const generatePrime = /*@__PURE__*/ notImplemented(\"crypto.generatePrime\");\nexport const generatePrimeSync = /*@__PURE__*/ notImplemented(\"crypto.generatePrimeSync\");\nexport const getCiphers = /*@__PURE__*/ notImplemented(\"crypto.getCiphers\");\nexport const getCipherInfo = /*@__PURE__*/ notImplemented(\"crypto.getCipherInfo\");\nexport const getCurves = /*@__PURE__*/ notImplemented(\"crypto.getCurves\");\nexport const getDiffieHellman = /*@__PURE__*/ notImplemented(\"crypto.getDiffieHellman\");\nexport const getHashes = /*@__PURE__*/ notImplemented(\"crypto.getHashes\");\nexport const hkdf = /*@__PURE__*/ notImplemented(\"crypto.hkdf\");\nexport const hkdfSync = /*@__PURE__*/ notImplemented(\"crypto.hkdfSync\");\nexport const pbkdf2 = /*@__PURE__*/ notImplemented(\"crypto.pbkdf2\");\nexport const pbkdf2Sync = /*@__PURE__*/ notImplemented(\"crypto.pbkdf2Sync\");\nexport const generateKeyPair = /*@__PURE__*/ notImplemented(\"crypto.generateKeyPair\");\nexport const generateKeyPairSync = /*@__PURE__*/ notImplemented(\"crypto.generateKeyPairSync\");\nexport const generateKey = /*@__PURE__*/ notImplemented(\"crypto.generateKey\");\nexport const generateKeySync = /*@__PURE__*/ notImplemented(\"crypto.generateKeySync\");\nexport const privateDecrypt = /*@__PURE__*/ notImplemented(\"crypto.privateDecrypt\");\nexport const privateEncrypt = /*@__PURE__*/ notImplemented(\"crypto.privateEncrypt\");\nexport const publicDecrypt = /*@__PURE__*/ notImplemented(\"crypto.publicDecrypt\");\nexport const publicEncrypt = /*@__PURE__*/ notImplemented(\"crypto.publicEncrypt\");\nexport const randomFill = /*@__PURE__*/ notImplemented(\"crypto.randomFill\");\nexport const randomFillSync = /*@__PURE__*/ notImplemented(\"crypto.randomFillSync\");\nexport const randomInt = /*@__PURE__*/ notImplemented(\"crypto.randomInt\");\nexport const scrypt = /*@__PURE__*/ notImplemented(\"crypto.scrypt\");\nexport const scryptSync = /*@__PURE__*/ notImplemented(\"crypto.scryptSync\");\nexport const sign = /*@__PURE__*/ notImplemented(\"crypto.sign\");\nexport const setEngine = /*@__PURE__*/ notImplemented(\"crypto.setEngine\");\nexport const timingSafeEqual = /*@__PURE__*/ notImplemented(\"crypto.timingSafeEqual\");\nexport const getFips = /*@__PURE__*/ notImplemented(\"crypto.getFips\");\nexport const setFips = /*@__PURE__*/ notImplemented(\"crypto.setFips\");\nexport const verify = /*@__PURE__*/ notImplemented(\"crypto.verify\");\nexport const secureHeapUsed = /*@__PURE__*/ notImplemented(\"crypto.secureHeapUsed\");\nexport const hash = /*@__PURE__*/ notImplemented(\"crypto.hash\");\nexport const Certificate = /*@__PURE__*/ notImplementedClass(\"crypto.Certificate\");\nexport const Cipher = /*@__PURE__*/ notImplementedClass(\"crypto.Cipher\");\nexport const Cipheriv = /*@__PURE__*/ notImplementedClass(\n\t\"crypto.Cipheriv\"\n\t// @ts-expect-error not typed yet\n);\nexport const Decipher = /*@__PURE__*/ notImplementedClass(\"crypto.Decipher\");\nexport const Decipheriv = /*@__PURE__*/ notImplementedClass(\n\t\"crypto.Decipheriv\"\n\t// @ts-expect-error not typed yet\n);\nexport const DiffieHellman = /*@__PURE__*/ notImplementedClass(\"crypto.DiffieHellman\");\nexport const DiffieHellmanGroup = /*@__PURE__*/ notImplementedClass(\"crypto.DiffieHellmanGroup\");\nexport const ECDH = /*@__PURE__*/ notImplementedClass(\"crypto.ECDH\");\nexport const Hash = /*@__PURE__*/ notImplementedClass(\"crypto.Hash\");\nexport const Hmac = /*@__PURE__*/ notImplementedClass(\"crypto.Hmac\");\nexport const KeyObject = /*@__PURE__*/ notImplementedClass(\"crypto.KeyObject\");\nexport const Sign = /*@__PURE__*/ notImplementedClass(\"crypto.Sign\");\nexport const Verify = /*@__PURE__*/ notImplementedClass(\"crypto.Verify\");\nexport const X509Certificate = /*@__PURE__*/ notImplementedClass(\"crypto.X509Certificate\");\n", "export const SSL_OP_ALL = 2147485776;\nexport const SSL_OP_ALLOW_NO_DHE_KEX = 1024;\nexport const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION = 262144;\nexport const SSL_OP_CIPHER_SERVER_PREFERENCE = 4194304;\nexport const SSL_OP_CISCO_ANYCONNECT = 32768;\nexport const SSL_OP_COOKIE_EXCHANGE = 8192;\nexport const SSL_OP_CRYPTOPRO_TLSEXT_BUG = 2147483648;\nexport const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS = 2048;\nexport const SSL_OP_LEGACY_SERVER_CONNECT = 4;\nexport const SSL_OP_NO_COMPRESSION = 131072;\nexport const SSL_OP_NO_ENCRYPT_THEN_MAC = 524288;\nexport const SSL_OP_NO_QUERY_MTU = 4096;\nexport const SSL_OP_NO_RENEGOTIATION = 1073741824;\nexport const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION = 65536;\nexport const SSL_OP_NO_SSLv2 = 0;\nexport const SSL_OP_NO_SSLv3 = 33554432;\nexport const SSL_OP_NO_TICKET = 16384;\nexport const SSL_OP_NO_TLSv1 = 67108864;\nexport const SSL_OP_NO_TLSv1_1 = 268435456;\nexport const SSL_OP_NO_TLSv1_2 = 134217728;\nexport const SSL_OP_NO_TLSv1_3 = 536870912;\nexport const SSL_OP_PRIORITIZE_CHACHA = 2097152;\nexport const SSL_OP_TLS_ROLLBACK_BUG = 8388608;\nexport const ENGINE_METHOD_RSA = 1;\nexport const ENGINE_METHOD_DSA = 2;\nexport const ENGINE_METHOD_DH = 4;\nexport const ENGINE_METHOD_RAND = 8;\nexport const ENGINE_METHOD_EC = 2048;\nexport const ENGINE_METHOD_CIPHERS = 64;\nexport const ENGINE_METHOD_DIGESTS = 128;\nexport const ENGINE_METHOD_PKEY_METHS = 512;\nexport const ENGINE_METHOD_PKEY_ASN1_METHS = 1024;\nexport const ENGINE_METHOD_ALL = 65535;\nexport const ENGINE_METHOD_NONE = 0;\nexport const DH_CHECK_P_NOT_SAFE_PRIME = 2;\nexport const DH_CHECK_P_NOT_PRIME = 1;\nexport const DH_UNABLE_TO_CHECK_GENERATOR = 4;\nexport const DH_NOT_SUITABLE_GENERATOR = 8;\nexport const RSA_PKCS1_PADDING = 1;\nexport const RSA_NO_PADDING = 3;\nexport const RSA_PKCS1_OAEP_PADDING = 4;\nexport const RSA_X931_PADDING = 5;\nexport const RSA_PKCS1_PSS_PADDING = 6;\nexport const RSA_PSS_SALTLEN_DIGEST = -1;\nexport const RSA_PSS_SALTLEN_MAX_SIGN = -2;\nexport const RSA_PSS_SALTLEN_AUTO = -2;\nexport const POINT_CONVERSION_COMPRESSED = 2;\nexport const POINT_CONVERSION_UNCOMPRESSED = 4;\nexport const POINT_CONVERSION_HYBRID = 6;\nexport const defaultCoreCipherList = \"\";\nexport const defaultCipherList = \"\";\nexport const OPENSSL_VERSION_NUMBER = 0;\nexport const TLS1_VERSION = 0;\nexport const TLS1_1_VERSION = 0;\nexport const TLS1_2_VERSION = 0;\nexport const TLS1_3_VERSION = 0;\n", "import { getRandomValues, randomUUID, subtle } from \"./internal/crypto/web.mjs\";\nimport { Certificate, Cipher, Cipheriv, Decipher, Decipheriv, DiffieHellman, DiffieHellmanGroup, ECDH, Hash, Hmac, KeyObject, Sign, Verify, X509Certificate, checkPrime, checkPrimeSync, createCipheriv, createDecipheriv, createDiffieHellman, createDiffieHellmanGroup, createECDH, createHash, createHmac, createPrivateKey, createPublicKey, createSecretKey, createSign, createVerify, diffieHellman, fips, generateKey, generateKeyPair, generateKeyPairSync, generateKeySync, generatePrime, generatePrimeSync, getCipherInfo, getCiphers, getCurves, getDiffieHellman, getFips, getHashes, hash, hkdf, hkdfSync, pbkdf2, pbkdf2Sync, privateDecrypt, privateEncrypt, pseudoRandomBytes, publicDecrypt, prng, publicEncrypt, randomBytes, randomFill, randomFillSync, randomInt, rng, scrypt, scryptSync, secureHeapUsed, setEngine, setFips, sign, timingSafeEqual, verify, webcrypto } from \"./internal/crypto/node.mjs\";\nimport { OPENSSL_VERSION_NUMBER, SSL_OP_ALL, SSL_OP_ALLOW_NO_DHE_KEX, SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION, SSL_OP_CIPHER_SERVER_PREFERENCE, SSL_OP_CISCO_ANYCONNECT, SSL_OP_COOKIE_EXCHANGE, SSL_OP_CRYPTOPRO_TLSEXT_BUG, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS, SSL_OP_LEGACY_SERVER_CONNECT, SSL_OP_NO_COMPRESSION, SSL_OP_NO_ENCRYPT_THEN_MAC, SSL_OP_NO_QUERY_MTU, SSL_OP_NO_RENEGOTIATION, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION, SSL_OP_NO_SSLv2, SSL_OP_NO_SSLv3, SSL_OP_NO_TICKET, SSL_OP_NO_TLSv1, SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2, SSL_OP_NO_TLSv1_3, SSL_OP_PRIORITIZE_CHACHA, SSL_OP_TLS_ROLLBACK_BUG, ENGINE_METHOD_RSA, ENGINE_METHOD_DSA, ENGINE_METHOD_DH, ENGINE_METHOD_RAND, ENGINE_METHOD_EC, ENGINE_METHOD_CIPHERS, ENGINE_METHOD_DIGESTS, ENGINE_METHOD_PKEY_METHS, ENGINE_METHOD_PKEY_ASN1_METHS, ENGINE_METHOD_ALL, ENGINE_METHOD_NONE, DH_CHECK_P_NOT_SAFE_PRIME, DH_CHECK_P_NOT_PRIME, DH_UNABLE_TO_CHECK_GENERATOR, DH_NOT_SUITABLE_GENERATOR, RSA_PKCS1_PADDING, RSA_NO_PADDING, RSA_PKCS1_OAEP_PADDING, RSA_X931_PADDING, RSA_PKCS1_PSS_PADDING, RSA_PSS_SALTLEN_DIGEST, RSA_PSS_SALTLEN_MAX_SIGN, RSA_PSS_SALTLEN_AUTO, defaultCoreCipherList, TLS1_VERSION, TLS1_1_VERSION, TLS1_2_VERSION, TLS1_3_VERSION, POINT_CONVERSION_COMPRESSED, POINT_CONVERSION_UNCOMPRESSED, POINT_CONVERSION_HYBRID, defaultCipherList } from \"./internal/crypto/constants.mjs\";\nexport * from \"./internal/crypto/web.mjs\";\nexport * from \"./internal/crypto/node.mjs\";\nexport const constants = {\n\tOPENSSL_VERSION_NUMBER,\n\tSSL_OP_ALL,\n\tSSL_OP_ALLOW_NO_DHE_KEX,\n\tSSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION,\n\tSSL_OP_CIPHER_SERVER_PREFERENCE,\n\tSSL_OP_CISCO_ANYCONNECT,\n\tSSL_OP_COOKIE_EXCHANGE,\n\tSSL_OP_CRYPTOPRO_TLSEXT_BUG,\n\tSSL_OP_DONT_INSERT_EMPTY_FRAGMENTS,\n\tSSL_OP_LEGACY_SERVER_CONNECT,\n\tSSL_OP_NO_COMPRESSION,\n\tSSL_OP_NO_ENCRYPT_THEN_MAC,\n\tSSL_OP_NO_QUERY_MTU,\n\tSSL_OP_NO_RENEGOTIATION,\n\tSSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION,\n\tSSL_OP_NO_SSLv2,\n\tSSL_OP_NO_SSLv3,\n\tSSL_OP_NO_TICKET,\n\tSSL_OP_NO_TLSv1,\n\tSSL_OP_NO_TLSv1_1,\n\tSSL_OP_NO_TLSv1_2,\n\tSSL_OP_NO_TLSv1_3,\n\tSSL_OP_PRIORITIZE_CHACHA,\n\tSSL_OP_TLS_ROLLBACK_BUG,\n\tENGINE_METHOD_RSA,\n\tENGINE_METHOD_DSA,\n\tENGINE_METHOD_DH,\n\tENGINE_METHOD_RAND,\n\tENGINE_METHOD_EC,\n\tENGINE_METHOD_CIPHERS,\n\tENGINE_METHOD_DIGESTS,\n\tENGINE_METHOD_PKEY_METHS,\n\tENGINE_METHOD_PKEY_ASN1_METHS,\n\tENGINE_METHOD_ALL,\n\tENGINE_METHOD_NONE,\n\tDH_CHECK_P_NOT_SAFE_PRIME,\n\tDH_CHECK_P_NOT_PRIME,\n\tDH_UNABLE_TO_CHECK_GENERATOR,\n\tDH_NOT_SUITABLE_GENERATOR,\n\tRSA_PKCS1_PADDING,\n\tRSA_NO_PADDING,\n\tRSA_PKCS1_OAEP_PADDING,\n\tRSA_X931_PADDING,\n\tRSA_PKCS1_PSS_PADDING,\n\tRSA_PSS_SALTLEN_DIGEST,\n\tRSA_PSS_SALTLEN_MAX_SIGN,\n\tRSA_PSS_SALTLEN_AUTO,\n\tdefaultCoreCipherList,\n\tTLS1_VERSION,\n\tTLS1_1_VERSION,\n\tTLS1_2_VERSION,\n\tTLS1_3_VERSION,\n\tPOINT_CONVERSION_COMPRESSED,\n\tPOINT_CONVERSION_UNCOMPRESSED,\n\tPOINT_CONVERSION_HYBRID,\n\tdefaultCipherList\n};\nexport default {\n\tconstants,\n\tgetRandomValues,\n\trandomUUID,\n\tsubtle,\n\tCertificate,\n\tCipher,\n\tCipheriv,\n\tDecipher,\n\tDecipheriv,\n\tDiffieHellman,\n\tDiffieHellmanGroup,\n\tECDH,\n\tHash,\n\tHmac,\n\tKeyObject,\n\tSign,\n\tVerify,\n\tX509Certificate,\n\tcheckPrime,\n\tcheckPrimeSync,\n\tcreateCipheriv,\n\tcreateDecipheriv,\n\tcreateDiffieHellman,\n\tcreateDiffieHellmanGroup,\n\tcreateECDH,\n\tcreateHash,\n\tcreateHmac,\n\tcreatePrivateKey,\n\tcreatePublicKey,\n\tcreateSecretKey,\n\tcreateSign,\n\tcreateVerify,\n\tdiffieHellman,\n\tfips,\n\tgenerateKey,\n\tgenerateKeyPair,\n\tgenerateKeyPairSync,\n\tgenerateKeySync,\n\tgeneratePrime,\n\tgeneratePrimeSync,\n\tgetCipherInfo,\n\tgetCiphers,\n\tgetCurves,\n\tgetDiffieHellman,\n\tgetFips,\n\tgetHashes,\n\thash,\n\thkdf,\n\thkdfSync,\n\tpbkdf2,\n\tpbkdf2Sync,\n\tprivateDecrypt,\n\tprivateEncrypt,\n\tpseudoRandomBytes,\n\tpublicDecrypt,\n\tprng,\n\tpublicEncrypt,\n\trandomBytes,\n\trandomFill,\n\trandomFillSync,\n\trandomInt,\n\trng,\n\tscrypt,\n\tscryptSync,\n\tsecureHeapUsed,\n\tsetEngine,\n\tsetFips,\n\tsign,\n\ttimingSafeEqual,\n\tverify,\n\twebcrypto\n};\n", "import {\n Cipher,\n Cipheriv,\n constants,\n createCipher,\n createCipheriv,\n createDecipher,\n createDecipheriv,\n createECDH,\n createSign,\n createVerify,\n Decipher,\n Decipheriv,\n diffieHellman,\n ECDH,\n getCipherInfo,\n hash,\n privateDecrypt,\n privateEncrypt,\n pseudoRandomBytes,\n publicDecrypt,\n publicEncrypt,\n Sign,\n sign,\n webcrypto as unenvCryptoWebcrypto,\n Verify,\n verify\n} from \"unenv/node/crypto\";\nexport {\n Cipher,\n Cipheriv,\n Decipher,\n Decipheriv,\n ECDH,\n Sign,\n Verify,\n constants,\n createCipheriv,\n createDecipheriv,\n createECDH,\n createSign,\n createVerify,\n diffieHellman,\n getCipherInfo,\n hash,\n privateDecrypt,\n privateEncrypt,\n publicDecrypt,\n publicEncrypt,\n sign,\n verify\n} from \"unenv/node/crypto\";\nconst workerdCrypto = process.getBuiltinModule(\"node:crypto\");\nexport const {\n Certificate,\n DiffieHellman,\n DiffieHellmanGroup,\n Hash,\n Hmac,\n KeyObject,\n X509Certificate,\n checkPrime,\n checkPrimeSync,\n createDiffieHellman,\n createDiffieHellmanGroup,\n createHash,\n createHmac,\n createPrivateKey,\n createPublicKey,\n createSecretKey,\n generateKey,\n generateKeyPair,\n generateKeyPairSync,\n generateKeySync,\n generatePrime,\n generatePrimeSync,\n getCiphers,\n getCurves,\n getDiffieHellman,\n getFips,\n getHashes,\n hkdf,\n hkdfSync,\n pbkdf2,\n pbkdf2Sync,\n randomBytes,\n randomFill,\n randomFillSync,\n randomInt,\n randomUUID,\n scrypt,\n scryptSync,\n secureHeapUsed,\n setEngine,\n setFips,\n subtle,\n timingSafeEqual\n} = workerdCrypto;\nexport const getRandomValues = workerdCrypto.getRandomValues.bind(\n workerdCrypto.webcrypto\n);\nexport const webcrypto = {\n // @ts-expect-error unenv has unknown type\n CryptoKey: unenvCryptoWebcrypto.CryptoKey,\n getRandomValues,\n randomUUID,\n subtle\n};\nconst fips = workerdCrypto.fips;\nexport default {\n /**\n * manually unroll unenv-polyfilled-symbols to make it tree-shakeable\n */\n Certificate,\n Cipher,\n Cipheriv,\n Decipher,\n Decipheriv,\n ECDH,\n Sign,\n Verify,\n X509Certificate,\n // @ts-expect-error @types/node is out of date - this is a bug in typings\n constants,\n // @ts-expect-error unenv has unknown type\n createCipheriv,\n // @ts-expect-error unenv has unknown type\n createDecipheriv,\n // @ts-expect-error unenv has unknown type\n createECDH,\n // @ts-expect-error unenv has unknown type\n createSign,\n // @ts-expect-error unenv has unknown type\n createVerify,\n // @ts-expect-error unenv has unknown type\n diffieHellman,\n // @ts-expect-error unenv has unknown type\n getCipherInfo,\n // @ts-expect-error unenv has unknown type\n hash,\n // @ts-expect-error unenv has unknown type\n privateDecrypt,\n // @ts-expect-error unenv has unknown type\n privateEncrypt,\n // @ts-expect-error unenv has unknown type\n publicDecrypt,\n // @ts-expect-error unenv has unknown type\n publicEncrypt,\n scrypt,\n scryptSync,\n // @ts-expect-error unenv has unknown type\n sign,\n // @ts-expect-error unenv has unknown type\n verify,\n // default-only export from unenv\n // @ts-expect-error unenv has unknown type\n createCipher,\n // @ts-expect-error unenv has unknown type\n createDecipher,\n // @ts-expect-error unenv has unknown type\n pseudoRandomBytes,\n /**\n * manually unroll workerd-polyfilled-symbols to make it tree-shakeable\n */\n DiffieHellman,\n DiffieHellmanGroup,\n Hash,\n Hmac,\n KeyObject,\n checkPrime,\n checkPrimeSync,\n createDiffieHellman,\n createDiffieHellmanGroup,\n createHash,\n createHmac,\n createPrivateKey,\n createPublicKey,\n createSecretKey,\n generateKey,\n generateKeyPair,\n generateKeyPairSync,\n generateKeySync,\n generatePrime,\n generatePrimeSync,\n getCiphers,\n getCurves,\n getDiffieHellman,\n getFips,\n getHashes,\n getRandomValues,\n hkdf,\n hkdfSync,\n pbkdf2,\n pbkdf2Sync,\n randomBytes,\n randomFill,\n randomFillSync,\n randomInt,\n randomUUID,\n secureHeapUsed,\n setEngine,\n setFips,\n subtle,\n timingSafeEqual,\n // default-only export from workerd\n fips,\n // special-cased deep merged symbols\n webcrypto\n};\n", "/*\n Copyright (c) 2012 Nevins Bartolomeo \n Copyright (c) 2012 Shane Girish \n Copyright (c) 2025 Daniel Wirtz \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n 3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\n IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n// The Node.js crypto module is used as a fallback for the Web Crypto API. When\n// building for the browser, inclusion of the crypto module should be disabled,\n// which the package hints at in its package.json for bundlers that support it.\nimport nodeCrypto from \"crypto\";\n\n/**\n * The random implementation to use as a fallback.\n * @type {?function(number):!Array.}\n * @inner\n */\nvar randomFallback = null;\n\n/**\n * Generates cryptographically secure random bytes.\n * @function\n * @param {number} len Bytes length\n * @returns {!Array.} Random bytes\n * @throws {Error} If no random implementation is available\n * @inner\n */\nfunction randomBytes(len) {\n // Web Crypto API. Globally available in the browser and in Node.js >=23.\n try {\n return crypto.getRandomValues(new Uint8Array(len));\n } catch {}\n // Node.js crypto module for non-browser environments.\n try {\n return nodeCrypto.randomBytes(len);\n } catch {}\n // Custom fallback specified with `setRandomFallback`.\n if (!randomFallback) {\n throw Error(\n \"Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative\",\n );\n }\n return randomFallback(len);\n}\n\n/**\n * Sets the pseudo random number generator to use as a fallback if neither node's `crypto` module nor the Web Crypto\n * API is available. Please note: It is highly important that the PRNG used is cryptographically secure and that it\n * is seeded properly!\n * @param {?function(number):!Array.} random Function taking the number of bytes to generate as its\n * sole argument, returning the corresponding array of cryptographically secure random byte values.\n * @see http://nodejs.org/api/crypto.html\n * @see http://www.w3.org/TR/WebCryptoAPI/\n */\nexport function setRandomFallback(random) {\n randomFallback = random;\n}\n\n/**\n * Synchronously generates a salt.\n * @param {number=} rounds Number of rounds to use, defaults to 10 if omitted\n * @param {number=} seed_length Not supported.\n * @returns {string} Resulting salt\n * @throws {Error} If a random fallback is required but not set\n */\nexport function genSaltSync(rounds, seed_length) {\n rounds = rounds || GENSALT_DEFAULT_LOG2_ROUNDS;\n if (typeof rounds !== \"number\")\n throw Error(\n \"Illegal arguments: \" + typeof rounds + \", \" + typeof seed_length,\n );\n if (rounds < 4) rounds = 4;\n else if (rounds > 31) rounds = 31;\n var salt = [];\n salt.push(\"$2b$\");\n if (rounds < 10) salt.push(\"0\");\n salt.push(rounds.toString());\n salt.push(\"$\");\n salt.push(base64_encode(randomBytes(BCRYPT_SALT_LEN), BCRYPT_SALT_LEN)); // May throw\n return salt.join(\"\");\n}\n\n/**\n * Asynchronously generates a salt.\n * @param {(number|function(Error, string=))=} rounds Number of rounds to use, defaults to 10 if omitted\n * @param {(number|function(Error, string=))=} seed_length Not supported.\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting salt\n * @returns {!Promise} If `callback` has been omitted\n * @throws {Error} If `callback` is present but not a function\n */\nexport function genSalt(rounds, seed_length, callback) {\n if (typeof seed_length === \"function\")\n (callback = seed_length), (seed_length = undefined); // Not supported.\n if (typeof rounds === \"function\") (callback = rounds), (rounds = undefined);\n if (typeof rounds === \"undefined\") rounds = GENSALT_DEFAULT_LOG2_ROUNDS;\n else if (typeof rounds !== \"number\")\n throw Error(\"illegal arguments: \" + typeof rounds);\n\n function _async(callback) {\n nextTick(function () {\n // Pretty thin, but salting is fast enough\n try {\n callback(null, genSaltSync(rounds));\n } catch (err) {\n callback(err);\n }\n });\n }\n\n if (callback) {\n if (typeof callback !== \"function\")\n throw Error(\"Illegal callback: \" + typeof callback);\n _async(callback);\n } else\n return new Promise(function (resolve, reject) {\n _async(function (err, res) {\n if (err) {\n reject(err);\n return;\n }\n resolve(res);\n });\n });\n}\n\n/**\n * Synchronously generates a hash for the given password.\n * @param {string} password Password to hash\n * @param {(number|string)=} salt Salt length to generate or salt to use, default to 10\n * @returns {string} Resulting hash\n */\nexport function hashSync(password, salt) {\n if (typeof salt === \"undefined\") salt = GENSALT_DEFAULT_LOG2_ROUNDS;\n if (typeof salt === \"number\") salt = genSaltSync(salt);\n if (typeof password !== \"string\" || typeof salt !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof password + \", \" + typeof salt);\n return _hash(password, salt);\n}\n\n/**\n * Asynchronously generates a hash for the given password.\n * @param {string} password Password to hash\n * @param {number|string} salt Salt length to generate or salt to use\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting hash\n * @param {function(number)=} progressCallback Callback successively called with the percentage of rounds completed\n * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.\n * @returns {!Promise} If `callback` has been omitted\n * @throws {Error} If `callback` is present but not a function\n */\nexport function hash(password, salt, callback, progressCallback) {\n function _async(callback) {\n if (typeof password === \"string\" && typeof salt === \"number\")\n genSalt(salt, function (err, salt) {\n _hash(password, salt, callback, progressCallback);\n });\n else if (typeof password === \"string\" && typeof salt === \"string\")\n _hash(password, salt, callback, progressCallback);\n else\n nextTick(\n callback.bind(\n this,\n Error(\"Illegal arguments: \" + typeof password + \", \" + typeof salt),\n ),\n );\n }\n\n if (callback) {\n if (typeof callback !== \"function\")\n throw Error(\"Illegal callback: \" + typeof callback);\n _async(callback);\n } else\n return new Promise(function (resolve, reject) {\n _async(function (err, res) {\n if (err) {\n reject(err);\n return;\n }\n resolve(res);\n });\n });\n}\n\n/**\n * Compares two strings of the same length in constant time.\n * @param {string} known Must be of the correct length\n * @param {string} unknown Must be the same length as `known`\n * @returns {boolean}\n * @inner\n */\nfunction safeStringCompare(known, unknown) {\n var diff = known.length ^ unknown.length;\n for (var i = 0; i < known.length; ++i) {\n diff |= known.charCodeAt(i) ^ unknown.charCodeAt(i);\n }\n return diff === 0;\n}\n\n/**\n * Synchronously tests a password against a hash.\n * @param {string} password Password to compare\n * @param {string} hash Hash to test against\n * @returns {boolean} true if matching, otherwise false\n * @throws {Error} If an argument is illegal\n */\nexport function compareSync(password, hash) {\n if (typeof password !== \"string\" || typeof hash !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof password + \", \" + typeof hash);\n if (hash.length !== 60) return false;\n return safeStringCompare(\n hashSync(password, hash.substring(0, hash.length - 31)),\n hash,\n );\n}\n\n/**\n * Asynchronously tests a password against a hash.\n * @param {string} password Password to compare\n * @param {string} hashValue Hash to test against\n * @param {function(Error, boolean)=} callback Callback receiving the error, if any, otherwise the result\n * @param {function(number)=} progressCallback Callback successively called with the percentage of rounds completed\n * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.\n * @returns {!Promise} If `callback` has been omitted\n * @throws {Error} If `callback` is present but not a function\n */\nexport function compare(password, hashValue, callback, progressCallback) {\n function _async(callback) {\n if (typeof password !== \"string\" || typeof hashValue !== \"string\") {\n nextTick(\n callback.bind(\n this,\n Error(\n \"Illegal arguments: \" + typeof password + \", \" + typeof hashValue,\n ),\n ),\n );\n return;\n }\n if (hashValue.length !== 60) {\n nextTick(callback.bind(this, null, false));\n return;\n }\n hash(\n password,\n hashValue.substring(0, 29),\n function (err, comp) {\n if (err) callback(err);\n else callback(null, safeStringCompare(comp, hashValue));\n },\n progressCallback,\n );\n }\n\n if (callback) {\n if (typeof callback !== \"function\")\n throw Error(\"Illegal callback: \" + typeof callback);\n _async(callback);\n } else\n return new Promise(function (resolve, reject) {\n _async(function (err, res) {\n if (err) {\n reject(err);\n return;\n }\n resolve(res);\n });\n });\n}\n\n/**\n * Gets the number of rounds used to encrypt the specified hash.\n * @param {string} hash Hash to extract the used number of rounds from\n * @returns {number} Number of rounds used\n * @throws {Error} If `hash` is not a string\n */\nexport function getRounds(hash) {\n if (typeof hash !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof hash);\n return parseInt(hash.split(\"$\")[2], 10);\n}\n\n/**\n * Gets the salt portion from a hash. Does not validate the hash.\n * @param {string} hash Hash to extract the salt from\n * @returns {string} Extracted salt part\n * @throws {Error} If `hash` is not a string or otherwise invalid\n */\nexport function getSalt(hash) {\n if (typeof hash !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof hash);\n if (hash.length !== 60)\n throw Error(\"Illegal hash length: \" + hash.length + \" != 60\");\n return hash.substring(0, 29);\n}\n\n/**\n * Tests if a password will be truncated when hashed, that is its length is\n * greater than 72 bytes when converted to UTF-8.\n * @param {string} password The password to test\n * @returns {boolean} `true` if truncated, otherwise `false`\n */\nexport function truncates(password) {\n if (typeof password !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof password);\n return utf8Length(password) > 72;\n}\n\n/**\n * Continues with the callback after yielding to the event loop.\n * @function\n * @param {function(...[*])} callback Callback to execute\n * @inner\n */\nvar nextTick =\n typeof setImmediate === \"function\"\n ? setImmediate\n : typeof scheduler === \"object\" && typeof scheduler.postTask === \"function\"\n ? scheduler.postTask.bind(scheduler)\n : setTimeout;\n\n/** Calculates the byte length of a string encoded as UTF8. */\nfunction utf8Length(string) {\n var len = 0,\n c = 0;\n for (var i = 0; i < string.length; ++i) {\n c = string.charCodeAt(i);\n if (c < 128) len += 1;\n else if (c < 2048) len += 2;\n else if (\n (c & 0xfc00) === 0xd800 &&\n (string.charCodeAt(i + 1) & 0xfc00) === 0xdc00\n ) {\n ++i;\n len += 4;\n } else len += 3;\n }\n return len;\n}\n\n/** Converts a string to an array of UTF8 bytes. */\nfunction utf8Array(string) {\n var offset = 0,\n c1,\n c2;\n var buffer = new Array(utf8Length(string));\n for (var i = 0, k = string.length; i < k; ++i) {\n c1 = string.charCodeAt(i);\n if (c1 < 128) {\n buffer[offset++] = c1;\n } else if (c1 < 2048) {\n buffer[offset++] = (c1 >> 6) | 192;\n buffer[offset++] = (c1 & 63) | 128;\n } else if (\n (c1 & 0xfc00) === 0xd800 &&\n ((c2 = string.charCodeAt(i + 1)) & 0xfc00) === 0xdc00\n ) {\n c1 = 0x10000 + ((c1 & 0x03ff) << 10) + (c2 & 0x03ff);\n ++i;\n buffer[offset++] = (c1 >> 18) | 240;\n buffer[offset++] = ((c1 >> 12) & 63) | 128;\n buffer[offset++] = ((c1 >> 6) & 63) | 128;\n buffer[offset++] = (c1 & 63) | 128;\n } else {\n buffer[offset++] = (c1 >> 12) | 224;\n buffer[offset++] = ((c1 >> 6) & 63) | 128;\n buffer[offset++] = (c1 & 63) | 128;\n }\n }\n return buffer;\n}\n\n// A base64 implementation for the bcrypt algorithm. This is partly non-standard.\n\n/**\n * bcrypt's own non-standard base64 dictionary.\n * @type {!Array.}\n * @const\n * @inner\n **/\nvar BASE64_CODE =\n \"./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".split(\"\");\n\n/**\n * @type {!Array.}\n * @const\n * @inner\n **/\nvar BASE64_INDEX = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n -1, -1, -1, -1, -1, -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, 28,\n 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, -1, -1, -1, -1, -1,\n];\n\n/**\n * Encodes a byte array to base64 with up to len bytes of input.\n * @param {!Array.} b Byte array\n * @param {number} len Maximum input length\n * @returns {string}\n * @inner\n */\nfunction base64_encode(b, len) {\n var off = 0,\n rs = [],\n c1,\n c2;\n if (len <= 0 || len > b.length) throw Error(\"Illegal len: \" + len);\n while (off < len) {\n c1 = b[off++] & 0xff;\n rs.push(BASE64_CODE[(c1 >> 2) & 0x3f]);\n c1 = (c1 & 0x03) << 4;\n if (off >= len) {\n rs.push(BASE64_CODE[c1 & 0x3f]);\n break;\n }\n c2 = b[off++] & 0xff;\n c1 |= (c2 >> 4) & 0x0f;\n rs.push(BASE64_CODE[c1 & 0x3f]);\n c1 = (c2 & 0x0f) << 2;\n if (off >= len) {\n rs.push(BASE64_CODE[c1 & 0x3f]);\n break;\n }\n c2 = b[off++] & 0xff;\n c1 |= (c2 >> 6) & 0x03;\n rs.push(BASE64_CODE[c1 & 0x3f]);\n rs.push(BASE64_CODE[c2 & 0x3f]);\n }\n return rs.join(\"\");\n}\n\n/**\n * Decodes a base64 encoded string to up to len bytes of output.\n * @param {string} s String to decode\n * @param {number} len Maximum output length\n * @returns {!Array.}\n * @inner\n */\nfunction base64_decode(s, len) {\n var off = 0,\n slen = s.length,\n olen = 0,\n rs = [],\n c1,\n c2,\n c3,\n c4,\n o,\n code;\n if (len <= 0) throw Error(\"Illegal len: \" + len);\n while (off < slen - 1 && olen < len) {\n code = s.charCodeAt(off++);\n c1 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\n code = s.charCodeAt(off++);\n c2 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\n if (c1 == -1 || c2 == -1) break;\n o = (c1 << 2) >>> 0;\n o |= (c2 & 0x30) >> 4;\n rs.push(String.fromCharCode(o));\n if (++olen >= len || off >= slen) break;\n code = s.charCodeAt(off++);\n c3 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\n if (c3 == -1) break;\n o = ((c2 & 0x0f) << 4) >>> 0;\n o |= (c3 & 0x3c) >> 2;\n rs.push(String.fromCharCode(o));\n if (++olen >= len || off >= slen) break;\n code = s.charCodeAt(off++);\n c4 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\n o = ((c3 & 0x03) << 6) >>> 0;\n o |= c4;\n rs.push(String.fromCharCode(o));\n ++olen;\n }\n var res = [];\n for (off = 0; off < olen; off++) res.push(rs[off].charCodeAt(0));\n return res;\n}\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar BCRYPT_SALT_LEN = 16;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar GENSALT_DEFAULT_LOG2_ROUNDS = 10;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar BLOWFISH_NUM_ROUNDS = 16;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar MAX_EXECUTION_TIME = 100;\n\n/**\n * @type {Array.}\n * @const\n * @inner\n */\nvar P_ORIG = [\n 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0,\n 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,\n 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b,\n];\n\n/**\n * @type {Array.}\n * @const\n * @inner\n */\nvar S_ORIG = [\n 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96,\n 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,\n 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658,\n 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,\n 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e,\n 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,\n 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, 0x55ca396a, 0x2aab10b6,\n 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,\n 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c,\n 0x7a325381, 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,\n 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d, 0xe98575b1,\n 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,\n 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a,\n 0x670c9c61, 0xabd388f0, 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3,\n 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176,\n 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,\n 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706,\n 0x1bfedf72, 0x429b023d, 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b,\n 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b,\n 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,\n 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c,\n 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3,\n 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a,\n 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,\n 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760,\n 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db,\n 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, 0x695b27b0, 0xbbca58c8,\n 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,\n 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33,\n 0x62fb1341, 0xcee4c6e8, 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,\n 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0, 0xafc725e0,\n 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,\n 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777,\n 0xea752dfe, 0x8b021fa1, 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299,\n 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705,\n 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,\n 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e,\n 0x226800bb, 0x57b8e0af, 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa,\n 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9,\n 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,\n 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f,\n 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664,\n 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a, 0x4b7a70e9, 0xb5b32944,\n 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,\n 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29,\n 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6,\n 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, 0x4cdd2086, 0x8470eb26,\n 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,\n 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c,\n 0x8e7d44ec, 0x5716f2b8, 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,\n 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, 0xd19113f9, 0x7ca92ff6,\n 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,\n 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f,\n 0x3280bba1, 0x183eb331, 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf,\n 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, 0xde9a771f, 0xd9930810,\n 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,\n 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa,\n 0x63094366, 0xc464c3d2, 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16,\n 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, 0x71dff89e, 0x10314e55,\n 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,\n 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1,\n 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f,\n 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, 0xc6150eba, 0x94e2ea78,\n 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,\n 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883,\n 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802,\n 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, 0x1521b628, 0x29076170,\n 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,\n 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7,\n 0x9cab5cab, 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,\n 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, 0x9b540b19, 0x875fa099,\n 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,\n 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263,\n 0x9b83c3ff, 0x1ac24696, 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128,\n 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, 0x5d4a14d9, 0xe864b7e3,\n 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,\n 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7,\n 0xe44b476a, 0x3d816250, 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3,\n 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, 0x095bbf00, 0xad19489d,\n 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,\n 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460,\n 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735,\n 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, 0x9e447a2e, 0xc3453484,\n 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,\n 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a,\n 0xe6e39f2b, 0xdb83adf7, 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934,\n 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, 0xd4082471, 0x3320f46a,\n 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,\n 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785,\n 0x7fac6dd0, 0x31cb8504, 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,\n 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, 0x68dc1462, 0xd7486900,\n 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,\n 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9,\n 0xee39d7ab, 0x3b124e8b, 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2,\n 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397,\n 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,\n 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9,\n 0x5ef47e1c, 0x9029317c, 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3,\n 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f,\n 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,\n 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e,\n 0xaf664fd1, 0xcad18115, 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922,\n 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, 0xd0127845, 0x95b794fd,\n 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,\n 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8,\n 0x991be14c, 0xdb6e6b0d, 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804,\n 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, 0x667b9ffb, 0xcedb7d9c,\n 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,\n 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b,\n 0x12754ccc, 0x782ef11c, 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,\n 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, 0x44421659, 0x0a121386,\n 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,\n 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0,\n 0x7745ae04, 0xd736fccc, 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f,\n 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2,\n 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,\n 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770,\n 0x8cd55591, 0xc902de4c, 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e,\n 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c,\n 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,\n 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa,\n 0xa002b5c4, 0x0de6d027, 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5,\n 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, 0x11e69ed7, 0x2338ea63,\n 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,\n 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9,\n 0x1ac15bb4, 0xd39eb8fc, 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4,\n 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, 0x6fd5c7e7, 0x56e14ec4,\n 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0,\n 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742,\n 0xd3822740, 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,\n 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f, 0xbc946e79,\n 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,\n 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a,\n 0x63ef8ce2, 0x9a86ee22, 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4,\n 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1,\n 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,\n 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797,\n 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28,\n 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6,\n 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,\n 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba,\n 0x03a16125, 0x0564f0bd, 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a,\n 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, 0x7533d928, 0xb155fdf5,\n 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,\n 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce,\n 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680,\n 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, 0xb39a460a, 0x6445c0dd,\n 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,\n 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb,\n 0x8d6612ae, 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,\n 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08, 0x4eb4e2cc,\n 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,\n 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc,\n 0xbb3a792b, 0x344525bd, 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9,\n 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a,\n 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,\n 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a,\n 0x0f91fc71, 0x9b941525, 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1,\n 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b,\n 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,\n 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e,\n 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f,\n 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, 0xf523f357, 0xa6327623,\n 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,\n 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a,\n 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6,\n 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, 0x53113ec0, 0x1640e3d3,\n 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,\n 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c,\n 0x01c36ae4, 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,\n 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6,\n];\n\n/**\n * @type {Array.}\n * @const\n * @inner\n */\nvar C_ORIG = [\n 0x4f727068, 0x65616e42, 0x65686f6c, 0x64657253, 0x63727944, 0x6f756274,\n];\n\n/**\n * @param {Array.} lr\n * @param {number} off\n * @param {Array.} P\n * @param {Array.} S\n * @returns {Array.}\n * @inner\n */\nfunction _encipher(lr, off, P, S) {\n // This is our bottleneck: 1714/1905 ticks / 90% - see profile.txt\n var n,\n l = lr[off],\n r = lr[off + 1];\n\n l ^= P[0];\n\n /*\n for (var i=0, k=BLOWFISH_NUM_ROUNDS-2; i<=k;)\n // Feistel substitution on left word\n n = S[l >>> 24],\n n += S[0x100 | ((l >> 16) & 0xff)],\n n ^= S[0x200 | ((l >> 8) & 0xff)],\n n += S[0x300 | (l & 0xff)],\n r ^= n ^ P[++i],\n // Feistel substitution on right word\n n = S[r >>> 24],\n n += S[0x100 | ((r >> 16) & 0xff)],\n n ^= S[0x200 | ((r >> 8) & 0xff)],\n n += S[0x300 | (r & 0xff)],\n l ^= n ^ P[++i];\n */\n\n //The following is an unrolled version of the above loop.\n //Iteration 0\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[1];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[2];\n //Iteration 1\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[3];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[4];\n //Iteration 2\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[5];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[6];\n //Iteration 3\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[7];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[8];\n //Iteration 4\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[9];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[10];\n //Iteration 5\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[11];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[12];\n //Iteration 6\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[13];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[14];\n //Iteration 7\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[15];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[16];\n\n lr[off] = r ^ P[BLOWFISH_NUM_ROUNDS + 1];\n lr[off + 1] = l;\n return lr;\n}\n\n/**\n * @param {Array.} data\n * @param {number} offp\n * @returns {{key: number, offp: number}}\n * @inner\n */\nfunction _streamtoword(data, offp) {\n for (var i = 0, word = 0; i < 4; ++i)\n (word = (word << 8) | (data[offp] & 0xff)),\n (offp = (offp + 1) % data.length);\n return { key: word, offp: offp };\n}\n\n/**\n * @param {Array.} key\n * @param {Array.} P\n * @param {Array.} S\n * @inner\n */\nfunction _key(key, P, S) {\n var offset = 0,\n lr = [0, 0],\n plen = P.length,\n slen = S.length,\n sw;\n for (var i = 0; i < plen; i++)\n (sw = _streamtoword(key, offset)),\n (offset = sw.offp),\n (P[i] = P[i] ^ sw.key);\n for (i = 0; i < plen; i += 2)\n (lr = _encipher(lr, 0, P, S)), (P[i] = lr[0]), (P[i + 1] = lr[1]);\n for (i = 0; i < slen; i += 2)\n (lr = _encipher(lr, 0, P, S)), (S[i] = lr[0]), (S[i + 1] = lr[1]);\n}\n\n/**\n * Expensive key schedule Blowfish.\n * @param {Array.} data\n * @param {Array.} key\n * @param {Array.} P\n * @param {Array.} S\n * @inner\n */\nfunction _ekskey(data, key, P, S) {\n var offp = 0,\n lr = [0, 0],\n plen = P.length,\n slen = S.length,\n sw;\n for (var i = 0; i < plen; i++)\n (sw = _streamtoword(key, offp)), (offp = sw.offp), (P[i] = P[i] ^ sw.key);\n offp = 0;\n for (i = 0; i < plen; i += 2)\n (sw = _streamtoword(data, offp)),\n (offp = sw.offp),\n (lr[0] ^= sw.key),\n (sw = _streamtoword(data, offp)),\n (offp = sw.offp),\n (lr[1] ^= sw.key),\n (lr = _encipher(lr, 0, P, S)),\n (P[i] = lr[0]),\n (P[i + 1] = lr[1]);\n for (i = 0; i < slen; i += 2)\n (sw = _streamtoword(data, offp)),\n (offp = sw.offp),\n (lr[0] ^= sw.key),\n (sw = _streamtoword(data, offp)),\n (offp = sw.offp),\n (lr[1] ^= sw.key),\n (lr = _encipher(lr, 0, P, S)),\n (S[i] = lr[0]),\n (S[i + 1] = lr[1]);\n}\n\n/**\n * Internaly crypts a string.\n * @param {Array.} b Bytes to crypt\n * @param {Array.} salt Salt bytes to use\n * @param {number} rounds Number of rounds\n * @param {function(Error, Array.=)=} callback Callback receiving the error, if any, and the resulting bytes. If\n * omitted, the operation will be performed synchronously.\n * @param {function(number)=} progressCallback Callback called with the current progress\n * @returns {!Array.|undefined} Resulting bytes if callback has been omitted, otherwise `undefined`\n * @inner\n */\nfunction _crypt(b, salt, rounds, callback, progressCallback) {\n var cdata = C_ORIG.slice(),\n clen = cdata.length,\n err;\n\n // Validate\n if (rounds < 4 || rounds > 31) {\n err = Error(\"Illegal number of rounds (4-31): \" + rounds);\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n if (salt.length !== BCRYPT_SALT_LEN) {\n err = Error(\n \"Illegal salt length: \" + salt.length + \" != \" + BCRYPT_SALT_LEN,\n );\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n rounds = (1 << rounds) >>> 0;\n\n var P,\n S,\n i = 0,\n j;\n\n //Use typed arrays when available - huge speedup!\n if (typeof Int32Array === \"function\") {\n P = new Int32Array(P_ORIG);\n S = new Int32Array(S_ORIG);\n } else {\n P = P_ORIG.slice();\n S = S_ORIG.slice();\n }\n\n _ekskey(salt, b, P, S);\n\n /**\n * Calcualtes the next round.\n * @returns {Array.|undefined} Resulting array if callback has been omitted, otherwise `undefined`\n * @inner\n */\n function next() {\n if (progressCallback) progressCallback(i / rounds);\n if (i < rounds) {\n var start = Date.now();\n for (; i < rounds; ) {\n i = i + 1;\n _key(b, P, S);\n _key(salt, P, S);\n if (Date.now() - start > MAX_EXECUTION_TIME) break;\n }\n } else {\n for (i = 0; i < 64; i++)\n for (j = 0; j < clen >> 1; j++) _encipher(cdata, j << 1, P, S);\n var ret = [];\n for (i = 0; i < clen; i++)\n ret.push(((cdata[i] >> 24) & 0xff) >>> 0),\n ret.push(((cdata[i] >> 16) & 0xff) >>> 0),\n ret.push(((cdata[i] >> 8) & 0xff) >>> 0),\n ret.push((cdata[i] & 0xff) >>> 0);\n if (callback) {\n callback(null, ret);\n return;\n } else return ret;\n }\n if (callback) nextTick(next);\n }\n\n // Async\n if (typeof callback !== \"undefined\") {\n next();\n\n // Sync\n } else {\n var res;\n while (true) if (typeof (res = next()) !== \"undefined\") return res || [];\n }\n}\n\n/**\n * Internally hashes a password.\n * @param {string} password Password to hash\n * @param {?string} salt Salt to use, actually never null\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting hash. If omitted,\n * hashing is performed synchronously.\n * @param {function(number)=} progressCallback Callback called with the current progress\n * @returns {string|undefined} Resulting hash if callback has been omitted, otherwise `undefined`\n * @inner\n */\nfunction _hash(password, salt, callback, progressCallback) {\n var err;\n if (typeof password !== \"string\" || typeof salt !== \"string\") {\n err = Error(\"Invalid string / salt: Not a string\");\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n\n // Validate the salt\n var minor, offset;\n if (salt.charAt(0) !== \"$\" || salt.charAt(1) !== \"2\") {\n err = Error(\"Invalid salt version: \" + salt.substring(0, 2));\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n if (salt.charAt(2) === \"$\") (minor = String.fromCharCode(0)), (offset = 3);\n else {\n minor = salt.charAt(2);\n if (\n (minor !== \"a\" && minor !== \"b\" && minor !== \"y\") ||\n salt.charAt(3) !== \"$\"\n ) {\n err = Error(\"Invalid salt revision: \" + salt.substring(2, 4));\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n offset = 4;\n }\n\n // Extract number of rounds\n if (salt.charAt(offset + 2) > \"$\") {\n err = Error(\"Missing salt rounds\");\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n var r1 = parseInt(salt.substring(offset, offset + 1), 10) * 10,\n r2 = parseInt(salt.substring(offset + 1, offset + 2), 10),\n rounds = r1 + r2,\n real_salt = salt.substring(offset + 3, offset + 25);\n password += minor >= \"a\" ? \"\\x00\" : \"\";\n\n var passwordb = utf8Array(password),\n saltb = base64_decode(real_salt, BCRYPT_SALT_LEN);\n\n /**\n * Finishes hashing.\n * @param {Array.} bytes Byte array\n * @returns {string}\n * @inner\n */\n function finish(bytes) {\n var res = [];\n res.push(\"$2\");\n if (minor >= \"a\") res.push(minor);\n res.push(\"$\");\n if (rounds < 10) res.push(\"0\");\n res.push(rounds.toString());\n res.push(\"$\");\n res.push(base64_encode(saltb, saltb.length));\n res.push(base64_encode(bytes, C_ORIG.length * 4 - 1));\n return res.join(\"\");\n }\n\n // Sync\n if (typeof callback == \"undefined\")\n return finish(_crypt(passwordb, saltb, rounds));\n // Async\n else {\n _crypt(\n passwordb,\n saltb,\n rounds,\n function (err, bytes) {\n if (err) callback(err, null);\n else callback(null, finish(bytes));\n },\n progressCallback,\n );\n }\n}\n\n/**\n * Encodes a byte array to base64 with up to len bytes of input, using the custom bcrypt alphabet.\n * @function\n * @param {!Array.} bytes Byte array\n * @param {number} length Maximum input length\n * @returns {string}\n */\nexport function encodeBase64(bytes, length) {\n return base64_encode(bytes, length);\n}\n\n/**\n * Decodes a base64 encoded string to up to len bytes of output, using the custom bcrypt alphabet.\n * @function\n * @param {string} string String to decode\n * @param {number} length Maximum output length\n * @returns {!Array.}\n */\nexport function decodeBase64(string, length) {\n return base64_decode(string, length);\n}\n\nexport default {\n setRandomFallback,\n genSaltSync,\n genSalt,\n hashSync,\n hash,\n compareSync,\n compare,\n getRounds,\n getSalt,\n truncates,\n encodeBase64,\n decodeBase64,\n};\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport bcrypt from 'bcryptjs';\nimport { SignJWT } from 'jose';\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter';\nimport { ApiError } from '@/src/lib/api-error'\nimport {\n getStaffUserByName,\n getAllStaff,\n getAllUsers,\n getUserWithDetails,\n upsertUserSuspension,\n checkStaffUserExists,\n checkStaffRoleExists,\n createStaffUser,\n getAllRoles,\n} from '@/src/dbService'\nimport type { StaffUser, StaffRole } from '@packages/shared'\n\nexport const staffUserRouter = router({\n login: publicProcedure\n .input(z.object({\n name: z.string(),\n password: z.string(),\n }))\n .mutation(async ({ input }) => {\n const { name, password } = input;\n\n if (!name || !password) {\n throw new ApiError('Name and password are required', 400);\n }\n\n const staff = await getStaffUserByName(name);\n\n if (!staff) {\n throw new ApiError('Invalid credentials', 401);\n }\n\n const isPasswordValid = await bcrypt.compare(password, staff.password);\n if (!isPasswordValid) {\n throw new ApiError('Invalid credentials', 401);\n }\n\n const token = await new SignJWT({ staffId: staff.id, name: staff.name })\n .setProtectedHeader({ alg: 'HS256' })\n .setExpirationTime('30d')\n .sign(getEncodedJwtSecret());\n\n return {\n message: 'Login successful',\n token,\n staff: { id: staff.id, name: staff.name },\n };\n }),\n\n getStaff: protectedProcedure\n .query(async ({ ctx }) => {\n const staff = await getAllStaff();\n\n // Transform the data to include role and permissions in a cleaner format\n const transformedStaff = staff.map((user) => ({\n id: user.id,\n name: user.name,\n role: user.role ? {\n id: user.role.id,\n name: user.role.roleName,\n } : null,\n permissions: user.role?.rolePermissions.map((rp: any) => ({\n id: rp.permission.id,\n name: rp.permission.permissionName,\n })) || [],\n }));\n\n return {\n staff: transformedStaff,\n };\n }),\n\n getUsers: protectedProcedure\n .input(z.object({\n cursor: z.number().optional(),\n limit: z.number().default(20),\n search: z.string().optional(),\n }))\n .query(async ({ input }) => {\n const { cursor, limit, search } = input;\n\n const { users: usersToReturn, hasMore } = await getAllUsers(cursor, limit, search);\n\n const formattedUsers = usersToReturn.map((user: any) => ({\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n image: user.userDetails?.profileImage || null,\n }));\n\n return {\n users: formattedUsers,\n nextCursor: hasMore ? usersToReturn[usersToReturn.length - 1].id : undefined,\n };\n }),\n\n getUserDetails: protectedProcedure\n .input(z.object({ userId: z.number() }))\n .query(async ({ input }) => {\n const { userId } = input;\n\n const user = await getUserWithDetails(userId);\n\n if (!user) {\n throw new ApiError(\"User not found\", 404);\n }\n\n const lastOrder = user.orders[0];\n\n return {\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n addedOn: user.createdAt,\n lastOrdered: lastOrder?.createdAt || null,\n isSuspended: user.userDetails?.isSuspended || false,\n };\n }),\n\n updateUserSuspension: protectedProcedure\n .input(z.object({ userId: z.number(), isSuspended: z.boolean() }))\n .mutation(async ({ input }) => {\n const { userId, isSuspended } = input;\n\n await upsertUserSuspension(userId, isSuspended);\n\n return { success: true };\n }),\n\n createStaffUser: protectedProcedure\n .input(z.object({\n name: z.string().min(1, 'Name is required'),\n password: z.string().min(6, 'Password must be at least 6 characters'),\n roleId: z.number().int().positive('Role is required'),\n }))\n .mutation(async ({ input, ctx }) => {\n const { name, password, roleId } = input;\n\n // Check if staff user already exists\n const existingUser = await checkStaffUserExists(name);\n\n if (existingUser) {\n throw new ApiError('Staff user with this name already exists', 409);\n }\n\n // Check if role exists\n const roleExists = await checkStaffRoleExists(roleId);\n\n if (!roleExists) {\n throw new ApiError('Invalid role selected', 400);\n }\n\n // Hash password\n const hashedPassword = await bcrypt.hash(password, 12);\n\n // Create staff user\n const newUser = await createStaffUser(name, hashedPassword, roleId);\n\n return { success: true, user: { id: newUser.id, name: newUser.name } };\n }),\n\n getRoles: protectedProcedure\n .query(async ({ ctx }) => {\n const roles = await getAllRoles();\n\n return {\n roles: roles.map((role: any) => ({\n id: role.id,\n name: role.roleName,\n })),\n };\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport { ApiError } from '@/src/lib/api-error'\nimport { extractKeyFromPresignedUrl, deleteImageUtil, generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\nimport { scheduleStoreInitialization } from '@/src/stores/store-initializer'\nimport {\n getAllStores as getAllStoresFromDb,\n getStoreById as getStoreByIdFromDb,\n createStore as createStoreInDb,\n updateStore as updateStoreInDb,\n deleteStore as deleteStoreFromDb,\n} from '@/src/dbService'\nimport type { Store } from '@packages/shared'\n\nexport const storeRouter = router({\n getStores: protectedProcedure\n .query(async ({ ctx }): Promise<{ stores: any[]; count: number }> => {\n const stores = await getAllStoresFromDb();\n\n await Promise.all(stores.map(async store => {\n if(store.imageUrl)\n store.imageUrl = await generateSignedUrlFromS3Url(store.imageUrl)\n })).catch((e) => {\n throw new ApiError(\"Unable to find store image urls\")\n })\n\n return {\n stores,\n count: stores.length,\n };\n }),\n\n getStoreById: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .query(async ({ input, ctx }): Promise<{ store: any }> => {\n const { id } = input;\n\n const store = await getStoreByIdFromDb(id);\n\n if (!store) {\n throw new ApiError(\"Store not found\", 404);\n }\n store.imageUrl = await generateSignedUrlFromS3Url(store.imageUrl);\n return {\n store,\n };\n }),\n\n createStore: protectedProcedure\n .input(z.object({\n name: z.string().min(1, \"Name is required\"),\n description: z.string().optional(),\n imageUrl: z.string().optional(),\n owner: z.number().min(1, \"Owner is required\"),\n products: z.array(z.number()).optional(),\n }))\n .mutation(async ({ input, ctx }): Promise<{ store: Store; message: string }> => {\n const { name, description, imageUrl, owner, products } = input;\n\n const imageKey = imageUrl ? extractKeyFromPresignedUrl(imageUrl) : undefined;\n\n const newStore = await createStoreInDb(\n {\n name,\n description,\n imageUrl: imageKey,\n owner,\n },\n products\n );\n\n /*\n // Old implementation - direct DB query:\n const [newStore] = await db\n .insert(storeInfo)\n .values({\n name,\n description,\n imageUrl: imageKey,\n owner,\n })\n .returning();\n\n // Assign selected products to this store\n if (products && products.length > 0) {\n await db\n .update(productInfo)\n .set({ storeId: newStore.id })\n .where(inArray(productInfo.id, products));\n }\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n store: newStore,\n message: \"Store created successfully\",\n };\n }),\n\n updateStore: protectedProcedure\n .input(z.object({\n id: z.number(),\n name: z.string().min(1, \"Name is required\"),\n description: z.string().optional(),\n imageUrl: z.string().optional(),\n owner: z.number().min(1, \"Owner is required\"),\n products: z.array(z.number()).optional(),\n }))\n .mutation(async ({ input, ctx }): Promise<{ store: Store; message: string }> => {\n const { id, name, description, imageUrl, owner, products } = input;\n\n const existingStore = await getStoreByIdFromDb(id);\n\n if (!existingStore) {\n throw new ApiError(\"Store not found\", 404);\n }\n\n const oldImageKey = existingStore.imageUrl;\n const newImageKey = imageUrl ? extractKeyFromPresignedUrl(imageUrl) : oldImageKey;\n\n // Delete old image only if:\n // 1. New image provided and keys are different, OR\n // 2. No new image but old exists (clearing the image)\n if (oldImageKey && (\n (newImageKey && newImageKey !== oldImageKey) ||\n (!newImageKey)\n )) {\n try {\n await deleteImageUtil({keys: [oldImageKey]});\n } catch (error) {\n console.error('Failed to delete old image:', error);\n // Continue with update even if deletion fails\n }\n }\n\n const updatedStore = await updateStoreInDb(\n id,\n {\n name,\n description,\n imageUrl: newImageKey,\n owner,\n },\n products\n );\n\n /*\n // Old implementation - direct DB query:\n const [updatedStore] = await db\n .update(storeInfo)\n .set({\n name,\n description,\n imageUrl: newImageKey,\n owner,\n })\n .where(eq(storeInfo.id, id))\n .returning();\n\n if (!updatedStore) {\n throw new ApiError(\"Store not found\", 404);\n }\n\n // Update products if provided\n if (products) {\n // First, set storeId to null for products not in the list but currently assigned to this store\n await db\n .update(productInfo)\n .set({ storeId: null })\n .where(eq(productInfo.storeId, id));\n\n // Then, assign the selected products to this store\n if (products.length > 0) {\n await db\n .update(productInfo)\n .set({ storeId: id })\n .where(inArray(productInfo.id, products));\n }\n }\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n store: updatedStore,\n message: \"Store updated successfully\",\n };\n }),\n\n deleteStore: protectedProcedure\n .input(z.object({\n storeId: z.number(),\n }))\n .mutation(async ({ input, ctx }): Promise<{ message: string }> => {\n const { storeId } = input;\n\n const result = await deleteStoreFromDb(storeId);\n\n /*\n // Old implementation - direct DB query with transaction:\n const result = await db.transaction(async (tx) => {\n // First, update all products of this store to set storeId to null\n await tx\n .update(productInfo)\n .set({ storeId: null })\n .where(eq(productInfo.storeId, storeId));\n\n // Then delete the store\n const [deletedStore] = await tx\n .delete(storeInfo)\n .where(eq(storeInfo.id, storeId))\n .returning();\n\n if (!deletedStore) {\n throw new ApiError(\"Store not found\", 404);\n }\n\n return {\n message: \"Store deleted successfully\",\n };\n });\n */\n\n // Reinitialize stores to reflect changes (outside transaction)\n scheduleStoreInitialization()\n\n return result;\n }),\n});\n", "import { router, protectedProcedure } from \"@/src/trpc/trpc-index\"\nimport { z } from \"zod\";\n\nconst initiateRefundSchema = z\n .object({\n orderId: z.number(),\n refundPercent: z.number().min(0).max(100).optional(),\n refundAmount: z.number().min(0).optional(),\n })\n .refine(\n (data) => {\n const hasPercent = data.refundPercent !== undefined;\n const hasAmount = data.refundAmount !== undefined;\n return (hasPercent && !hasAmount) || (!hasPercent && hasAmount);\n },\n {\n message:\n \"Provide either refundPercent or refundAmount, not both or neither\",\n }\n );\n\nexport const adminPaymentsRouter = router({\n initiateRefund: protectedProcedure\n .input(initiateRefundSchema)\n .mutation(async ({ input }) => {\n return {}\n }),\n});\n", "import { z } from 'zod';\nimport { protectedProcedure, router } from '@/src/trpc/trpc-index'\nimport { extractKeyFromPresignedUrl, generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error';\nimport { scheduleStoreInitialization } from '@/src/stores/store-initializer'\nimport {\n getBanners as getBannersFromDb,\n getBannerById as getBannerByIdFromDb,\n createBanner as createBannerInDb,\n updateBanner as updateBannerInDb,\n deleteBanner as deleteBannerFromDb,\n} from '@/src/dbService'\nimport type { Banner } from '@packages/shared'\n\n\nexport const bannerRouter = router({\n // Get all banners\n getBanners: protectedProcedure\n .query(async (): Promise<{ banners: Banner[] }> => {\n try {\n\n // Using dbService helper (new implementation)\n const banners = await getBannersFromDb();\n\n \n // Old implementation - direct DB query:\n // const banners = await db.query.homeBanners.findMany({\n // orderBy: desc(homeBanners.createdAt), // Order by creation date instead\n // Removed product relationship since we now use productIds array\n // });\n \n\n // Convert S3 keys to signed URLs for client\n const bannersWithSignedUrls = await Promise.all(\n banners.map(async (banner) => {\n try {\n return {\n ...banner,\n imageUrl: banner.imageUrl ? await generateSignedUrlFromS3Url(banner.imageUrl) : banner.imageUrl,\n // Ensure productIds is always an array\n productIds: banner.productIds || [],\n };\n } catch (error) {\n console.error(`Failed to generate signed URL for banner ${banner.id}:`, error);\n return {\n ...banner,\n imageUrl: banner.imageUrl, // Keep original on error\n // Ensure productIds is always an array\n productIds: banner.productIds || [],\n };\n }\n })\n );\n\n return {\n banners: bannersWithSignedUrls,\n };\n }\n catch(e:any) {\n console.log(e)\n \n throw new ApiError(e.message);\n }\n }),\n\n // Get single banner by ID\n getBanner: protectedProcedure\n .input(z.object({ id: z.number() }))\n .query(async ({ input }): Promise => {\n // Using dbService helper (new implementation)\n const banner = await getBannerByIdFromDb(input.id);\n \n /*\n // Old implementation - direct DB query:\n const banner = await db.query.homeBanners.findFirst({\n where: eq(homeBanners.id, input.id),\n // Removed product relationship since we now use productIds array\n });\n */\n\n if (banner) {\n try {\n // Convert S3 key to signed URL for client\n if (banner.imageUrl) {\n banner.imageUrl = await generateSignedUrlFromS3Url(banner.imageUrl);\n }\n } catch (error) {\n console.error(`Failed to generate signed URL for banner ${banner.id}:`, error);\n // Keep original imageUrl on error\n }\n\n // Ensure productIds is always an array (handle migration compatibility)\n if (!banner.productIds) {\n banner.productIds = [];\n }\n }\n\n return banner;\n }),\n\n // Create new banner\n createBanner: protectedProcedure\n .input(z.object({\n name: z.string().min(1),\n imageUrl: z.string().url(),\n description: z.string().optional(),\n productIds: z.array(z.number()).optional(),\n redirectUrl: z.string().url().optional(),\n // serialNum removed completely\n }))\n .mutation(async ({ input }): Promise => {\n try {\n // Using dbService helper (new implementation)\n const imageUrl = extractKeyFromPresignedUrl(input.imageUrl)\n const banner = await createBannerInDb({\n name: input.name,\n imageUrl: imageUrl,\n description: input.description ?? null,\n productIds: input.productIds || [],\n redirectUrl: input.redirectUrl ?? null,\n serialNum: 999, // Default value, not used\n isActive: false, // Default to inactive\n });\n\n /*\n // Old implementation - direct DB query:\n const imageUrl = extractKeyFromPresignedUrl(input.imageUrl)\n const [banner] = await db.insert(homeBanners).values({\n name: input.name,\n imageUrl: imageUrl,\n description: input.description,\n productIds: input.productIds || [],\n redirectUrl: input.redirectUrl,\n serialNum: 999, // Default value, not used\n isActive: false, // Default to inactive\n }).returning();\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return banner;\n } catch (error) {\n console.error('Error creating banner:', error);\n throw error; // Re-throw to maintain tRPC error handling\n }\n }),\n\n // Update banner\n updateBanner: protectedProcedure\n .input(z.object({\n id: z.number(),\n name: z.string().min(1).optional(),\n imageUrl: z.string().url().optional(),\n description: z.string().optional(),\n productIds: z.array(z.number()).optional(),\n redirectUrl: z.string().url().optional(),\n serialNum: z.number().nullable().optional(),\n isActive: z.boolean().optional(),\n }))\n .mutation(async ({ input }): Promise => {\n try {\n // Using dbService helper (new implementation)\n const { id, ...updateData } = input;\n\n // Extract S3 key from presigned URL if imageUrl is provided\n const processedData = {\n ...updateData,\n ...(updateData.imageUrl && {\n imageUrl: extractKeyFromPresignedUrl(updateData.imageUrl)\n }),\n };\n\n // Handle serialNum null case\n if ('serialNum' in processedData && processedData.serialNum === null) {\n processedData.serialNum = null;\n }\n\n const banner = await updateBannerInDb(id, processedData);\n\n /*\n // Old implementation - direct DB query:\n const { id, ...updateData } = input;\n const incomingProductIds = input.productIds;\n // Extract S3 key from presigned URL if imageUrl is provided\n const processedData = {\n ...updateData,\n ...(updateData.imageUrl && {\n imageUrl: extractKeyFromPresignedUrl(updateData.imageUrl)\n }),\n };\n\n // Handle serialNum null case\n const finalData: any = { ...processedData };\n if ('serialNum' in finalData && finalData.serialNum === null) {\n // Set to null explicitly\n finalData.serialNum = null;\n }\n\n const [banner] = await db.update(homeBanners)\n .set({ ...finalData, lastUpdated: new Date(), })\n .where(eq(homeBanners.id, id))\n .returning();\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return banner;\n } catch (error) {\n console.error('Error updating banner:', error);\n throw error;\n }\n }),\n\n // Delete banner\n deleteBanner: protectedProcedure\n .input(z.object({ id: z.number() }))\n .mutation(async ({ input }): Promise<{ success: true }> => {\n // Using dbService helper (new implementation)\n await deleteBannerFromDb(input.id);\n\n /*\n // Old implementation - direct DB query:\n await db.delete(homeBanners).where(eq(homeBanners.id, input.id));\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return { success: true };\n }),\n});\n", "import { protectedProcedure } from '@/src/trpc/trpc-index';\nimport { z } from 'zod';\nimport { ApiError } from '@/src/lib/api-error';\nimport { recomputeUserNegativityScore } from '@/src/stores/user-negativity-store';\nimport {\n createUserByMobile,\n getUserByMobile,\n getUnresolvedComplaintsCount,\n getAllUsersWithFilters,\n getOrderCountsByUserIds,\n getLastOrdersByUserIds,\n getSuspensionStatusesByUserIds,\n getUserBasicInfo,\n getUserSuspensionStatus,\n getUserOrders,\n getOrderStatusesByOrderIds,\n getItemCountsByOrderIds,\n upsertUserSuspension,\n searchUsers,\n getAllNotifCreds,\n getAllUnloggedTokens,\n getNotifTokensByUserIds,\n getUserIncidentsWithRelations,\n createUserIncident,\n} from '@/src/dbService';\nimport { queueDataPusher } from '@/src/lib/queue-data-pusher'\n\nexport const userRouter = {\n createUserByMobile: protectedProcedure\n .input(z.object({\n mobile: z.string().min(1, 'Mobile number is required'),\n }))\n .mutation(async ({ input }) => {\n // Clean mobile number (remove non-digits)\n const cleanMobile = input.mobile.replace(/\\D/g, '');\n\n // Validate: exactly 10 digits\n if (cleanMobile.length !== 10) {\n throw new ApiError('Mobile number must be exactly 10 digits', 400);\n }\n\n // Check if user already exists\n const existingUser = await getUserByMobile(cleanMobile);\n\n if (existingUser) {\n throw new ApiError('User with this mobile number already exists', 409);\n }\n\n const newUser = await createUserByMobile(cleanMobile);\n\n return {\n success: true,\n data: newUser,\n };\n }),\n\n getEssentials: protectedProcedure\n .query(async () => {\n const count = await getUnresolvedComplaintsCount();\n \n return {\n unresolvedComplaints: count,\n };\n }),\n\n getAllUsers: protectedProcedure\n .input(z.object({\n limit: z.number().min(1).max(100).default(50),\n cursor: z.number().optional(),\n search: z.string().optional(),\n }))\n .query(async ({ input }) => {\n const { limit, cursor, search } = input;\n \n const { users: usersToReturn, hasMore } = await getAllUsersWithFilters(limit, cursor, search);\n\n // Get order stats for each user\n const userIds = usersToReturn.map((u: any) => u.id);\n \n const orderCounts = await getOrderCountsByUserIds(userIds);\n const lastOrders = await getLastOrdersByUserIds(userIds);\n const suspensionStatuses = await getSuspensionStatusesByUserIds(userIds);\n \n // Create lookup maps\n const orderCountMap = new Map(orderCounts.map(o => [o.userId, o.totalOrders]));\n const lastOrderMap = new Map(lastOrders.map(o => [o.userId, o.lastOrderDate]));\n const suspensionMap = new Map(suspensionStatuses.map(s => [s.userId, s.isSuspended]));\n\n // Combine data\n const usersWithStats = usersToReturn.map((user: any) => ({\n ...user,\n totalOrders: orderCountMap.get(user.id) || 0,\n lastOrderDate: lastOrderMap.get(user.id) || null,\n isSuspended: suspensionMap.get(user.id) ?? false,\n }));\n\n // Get next cursor\n const nextCursor = hasMore ? usersToReturn[usersToReturn.length - 1].id : undefined;\n\n return {\n users: usersWithStats,\n nextCursor,\n hasMore,\n };\n }),\n\n getUserDetails: protectedProcedure\n .input(z.object({\n userId: z.number(),\n }))\n .query(async ({ input }) => {\n const { userId } = input;\n\n // Get user info\n const user = await getUserBasicInfo(userId);\n\n if (!user) {\n throw new ApiError('User not found', 404);\n }\n\n // Get user suspension status\n const isSuspended = await getUserSuspensionStatus(userId);\n\n // Get all orders for this user\n const userOrders = await getUserOrders(userId);\n\n // Get order status for each order\n const orderIds = userOrders.map((o: any) => o.id);\n const orderStatuses = await getOrderStatusesByOrderIds(orderIds);\n\n // Get item counts for each order\n const itemCounts = await getItemCountsByOrderIds(orderIds);\n\n // Create lookup maps\n const statusMap = new Map(orderStatuses.map(s => [s.orderId, s]));\n const itemCountMap = new Map(itemCounts.map(c => [c.orderId, c.itemCount]));\n\n // Determine status string\n const getStatus = (status: { isDelivered: boolean; isCancelled: boolean } | undefined) => {\n if (!status) return 'pending';\n if (status.isCancelled) return 'cancelled';\n if (status.isDelivered) return 'delivered';\n return 'pending';\n };\n\n // Combine data\n const ordersWithDetails = userOrders.map((order: any) => {\n const status = statusMap.get(order.id);\n return {\n id: order.id,\n readableId: order.readableId,\n totalAmount: order.totalAmount,\n createdAt: order.createdAt,\n isFlashDelivery: order.isFlashDelivery,\n status: getStatus(status),\n itemCount: itemCountMap.get(order.id) || 0,\n };\n });\n\n return {\n user: {\n ...user,\n isSuspended,\n },\n orders: ordersWithDetails,\n };\n }),\n\n updateUserSuspension: protectedProcedure\n .input(z.object({\n userId: z.number(),\n isSuspended: z.boolean(),\n }))\n .mutation(async ({ input }) => {\n const { userId, isSuspended } = input;\n\n await upsertUserSuspension(userId, isSuspended);\n\n return {\n success: true,\n message: `User ${isSuspended ? 'suspended' : 'unsuspended'} successfully`,\n };\n }),\n\n getUsersForNotification: protectedProcedure\n .input(z.object({\n search: z.string().optional(),\n }))\n .query(async ({ input }) => {\n const { search } = input;\n\n const usersList = await searchUsers(search);\n\n // Get eligible users (have notif_creds entry)\n const eligibleUsers = await getAllNotifCreds();\n\n const eligibleSet = new Set(eligibleUsers.map(u => u.userId));\n\n return {\n users: usersList.map((user: any) => ({\n id: user.id,\n name: user.name,\n mobile: user.mobile,\n isEligibleForNotif: eligibleSet.has(user.id),\n })),\n };\n }),\n\n sendNotification: protectedProcedure\n .input(z.object({\n userIds: z.array(z.number()).default([]),\n title: z.string().min(1, 'Title is required'),\n text: z.string().min(1, 'Message is required'),\n imageUrl: z.string().optional(),\n }))\n .mutation(async ({ input }) => {\n const { userIds, title, text, imageUrl } = input;\n\n let tokens: string[] = [];\n\n if (userIds.length === 0) {\n // Send to all users - get tokens from both logged-in and unlogged users\n const loggedInTokens = await getAllNotifCreds();\n const unloggedTokens = await getAllUnloggedTokens();\n \n tokens = [\n ...loggedInTokens.map(t => t.token),\n ...unloggedTokens.map(t => t.token)\n ];\n } else {\n // Send to specific users - get their tokens\n const userTokens = await getNotifTokensByUserIds(userIds);\n tokens = userTokens.map(t => t.token);\n }\n\n // Queue one job per token\n let queuedCount = 0;\n for (const token of tokens) {\n try {\n await queueDataPusher.pushNotifQueue({\n name: 'send-admin-notification',\n jobData: {\n token,\n title,\n body: text,\n imageUrl: imageUrl || null,\n },\n options: {\n attempts: 3,\n backoff: {\n type: 'exponential',\n delay: 2000,\n },\n },\n })\n queuedCount++;\n } catch (error) {\n console.error(`Failed to queue notification for token:`, error);\n }\n }\n\n return {\n success: true,\n message: `Notification queued for ${queuedCount} users`,\n };\n }),\n\n getUserIncidents: protectedProcedure\n .input(z.object({\n userId: z.number(),\n }))\n .query(async ({ input }) => {\n const { userId } = input;\n\n const incidents = await getUserIncidentsWithRelations(userId);\n\n return {\n incidents: incidents.map((incident: any) => ({\n id: incident.id,\n userId: incident.userId,\n orderId: incident.orderId,\n dateAdded: incident.dateAdded,\n adminComment: incident.adminComment,\n addedBy: incident.addedBy?.name || 'Unknown',\n negativityScore: incident.negativityScore,\n orderStatus: incident.order?.orderStatus?.[0]?.isCancelled ? 'cancelled' : 'active',\n })),\n };\n }),\n\n addUserIncident: protectedProcedure\n .input(z.object({\n userId: z.number(),\n orderId: z.number().optional(),\n adminComment: z.string().optional(),\n negativityScore: z.number().optional(),\n }))\n .mutation(async ({ input, ctx }) => {\n const { userId, orderId, adminComment, negativityScore } = input;\n \n const adminUserId = ctx.staffUser?.id;\n \n if (!adminUserId) {\n throw new ApiError('Admin user not authenticated', 401);\n }\n\n const incident = await createUserIncident(\n userId,\n orderId,\n adminComment,\n adminUserId,\n negativityScore\n );\n\n recomputeUserNegativityScore(userId);\n\n return {\n success: true,\n data: incident,\n };\n }),\n};\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport { computeConstants } from '@/src/lib/const-store'\nimport { CONST_KEYS } from '@/src/lib/const-keys'\nimport { getAllConstants as getAllConstantsFromDb, upsertConstants as upsertConstantsInDb } from '@/src/dbService'\nimport type { Constant, ConstantUpdateResult } from '@packages/shared'\n\nexport const constRouter = router({\n getConstants: protectedProcedure\n .query(async (): Promise => {\n // Using dbService helper (new implementation)\n const constants = await getAllConstantsFromDb();\n\n /*\n // Old implementation - direct DB query:\n const constants = await db.select().from(keyValStore);\n\n const resp = constants.map(c => ({\n key: c.key,\n value: c.value,\n }));\n */\n \n return constants;\n }),\n\n updateConstants: protectedProcedure\n .input(z.object({\n constants: z.array(z.object({\n key: z.string(),\n value: z.any(),\n })),\n }))\n .mutation(async ({ input }): Promise => {\n const { constants } = input;\n\n const validKeys = Object.values(CONST_KEYS) as string[];\n const invalidKeys = constants\n .filter(c => !validKeys.includes(c.key))\n .map(c => c.key);\n\n if (invalidKeys.length > 0) {\n throw new Error(`Invalid constant keys: ${invalidKeys.join(', ')}`);\n }\n\n // Using dbService helper (new implementation)\n await upsertConstantsInDb(constants);\n\n /*\n // Old implementation - direct DB query:\n await db.transaction(async (tx) => {\n for (const { key, value } of constants) {\n await tx.insert(keyValStore)\n .values({ key, value })\n .onConflictDoUpdate({\n target: keyValStore.key,\n set: { value },\n });\n }\n });\n */\n\n // Refresh all constants in Redis after database update\n await computeConstants();\n\n return {\n success: true,\n updatedCount: constants.length,\n keys: constants.map(c => c.key),\n };\n }),\n});\n", "// import { router } from '@/src/trpc/trpc-index';\nimport { router } from '@/src/trpc/trpc-index'\nimport { complaintRouter } from '@/src/trpc/apis/admin-apis/apis/complaint'\nimport { couponRouter } from '@/src/trpc/apis/admin-apis/apis/coupon'\nimport { orderRouter } from '@/src/trpc/apis/admin-apis/apis/order'\nimport { vendorSnippetsRouter } from '@/src/trpc/apis/admin-apis/apis/vendor-snippets'\nimport { slotsRouter } from '@/src/trpc/apis/admin-apis/apis/slots'\nimport { productRouter } from '@/src/trpc/apis/admin-apis/apis/product'\nimport { staffUserRouter } from '@/src/trpc/apis/admin-apis/apis/staff-user'\nimport { storeRouter } from '@/src/trpc/apis/admin-apis/apis/store'\nimport { adminPaymentsRouter } from '@/src/trpc/apis/admin-apis/apis/payments'\nimport { bannerRouter } from '@/src/trpc/apis/admin-apis/apis/banner'\nimport { userRouter } from '@/src/trpc/apis/admin-apis/apis/user'\nimport { constRouter } from '@/src/trpc/apis/admin-apis/apis/const'\n\nexport const adminRouter = router({\n complaint: complaintRouter,\n coupon: couponRouter,\n order: orderRouter,\n vendorSnippets: vendorSnippetsRouter,\n slots: slotsRouter,\n product: productRouter,\n staffUser: staffUserRouter,\n store: storeRouter,\n payments: adminPaymentsRouter,\n banner: bannerRouter,\n user: userRouter,\n const: constRouter,\n});\n\nexport type AdminRouter = typeof adminRouter;\n", "import axios from 'axios';\n\nexport async function extractCoordsFromRedirectUrl(url: string): Promise<{ latitude: string; longitude: string } | null> {\n try {\n await axios.get(url, { maxRedirects: 0 });\n return null;\n } catch (error: any) {\n if (error.response?.status === 302 || error.response?.status === 301) {\n const redirectUrl = error.response.headers.location;\n const coordsMatch = redirectUrl.match(/!3d([-\\d.]+)!4d([-\\d.]+)/);\n if (coordsMatch) {\n return {\n latitude: coordsMatch[1],\n longitude: coordsMatch[2],\n };\n }\n }\n return null;\n }\n}\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { extractCoordsFromRedirectUrl } from '@/src/lib/license-util'\nimport {\n getUserDefaultAddress as getDefaultAddressInDb,\n getUserAddresses as getUserAddressesInDb,\n getUserAddressById as getUserAddressByIdInDb,\n clearUserDefaultAddress as clearDefaultAddressInDb,\n createUserAddress as createUserAddressInDb,\n updateUserAddress as updateUserAddressInDb,\n deleteUserAddress as deleteUserAddressInDb,\n hasOngoingOrdersForAddress as hasOngoingOrdersForAddressInDb,\n} from '@/src/dbService'\nimport type {\n UserAddressResponse,\n UserAddressesResponse,\n UserAddressDeleteResponse,\n} from '@packages/shared'\n\nexport const addressRouter = router({\n getDefaultAddress: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n const defaultAddress = await getDefaultAddressInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const [defaultAddress] = await db\n .select()\n .from(addresses)\n .where(and(eq(addresses.userId, userId), eq(addresses.isDefault, true)))\n .limit(1);\n */\n\n return { success: true, data: defaultAddress }\n }),\n\n getUserAddresses: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n const userAddresses = await getUserAddressesInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const userAddresses = await db.select().from(addresses).where(eq(addresses.userId, userId));\n */\n\n return { success: true, data: userAddresses }\n }),\n\n createAddress: protectedProcedure\n .input(z.object({\n name: z.string().min(1, 'Name is required'),\n phone: z.string().min(1, 'Phone is required'),\n addressLine1: z.string().min(1, 'Address line 1 is required'),\n addressLine2: z.string().optional(),\n city: z.string().min(1, 'City is required'),\n state: z.string().min(1, 'State is required'),\n pincode: z.string().min(1, 'Pincode is required'),\n isDefault: z.boolean().optional(),\n latitude: z.number().optional(),\n longitude: z.number().optional(),\n googleMapsUrl: z.string().optional(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { name, phone, addressLine1, addressLine2, city, state, pincode, isDefault, googleMapsUrl } = input;\n\n let { latitude, longitude } = input;\n\n if (googleMapsUrl && latitude === undefined && longitude === undefined) {\n const coords = await extractCoordsFromRedirectUrl(googleMapsUrl);\n if (coords) {\n latitude = Number(coords.latitude);\n longitude = Number(coords.longitude);\n }\n }\n\n // Validate required fields\n if (!name || !phone || !addressLine1 || !city || !state || !pincode) {\n throw new Error('Missing required fields');\n }\n\n // If setting as default, unset other defaults\n if (isDefault) {\n await clearDefaultAddressInDb(userId)\n }\n\n const newAddress = await createUserAddressInDb({\n userId,\n name,\n phone,\n addressLine1,\n addressLine2,\n city,\n state,\n pincode,\n isDefault: isDefault || false,\n latitude,\n longitude,\n googleMapsUrl,\n })\n\n /*\n // Old implementation - direct DB queries:\n if (isDefault) {\n await db.update(addresses).set({ isDefault: false }).where(eq(addresses.userId, userId));\n }\n\n const [newAddress] = await db.insert(addresses).values({\n userId,\n name,\n phone,\n addressLine1,\n addressLine2,\n city,\n state,\n pincode,\n isDefault: isDefault || false,\n latitude,\n longitude,\n googleMapsUrl,\n }).returning();\n */\n\n return { success: true, data: newAddress }\n }),\n\n updateAddress: protectedProcedure\n .input(z.object({\n id: z.number().int().positive(),\n name: z.string().min(1, 'Name is required'),\n phone: z.string().min(1, 'Phone is required'),\n addressLine1: z.string().min(1, 'Address line 1 is required'),\n addressLine2: z.string().optional(),\n city: z.string().min(1, 'City is required'),\n state: z.string().min(1, 'State is required'),\n pincode: z.string().min(1, 'Pincode is required'),\n isDefault: z.boolean().optional(),\n latitude: z.number().optional(),\n longitude: z.number().optional(),\n googleMapsUrl: z.string().optional(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { id, name, phone, addressLine1, addressLine2, city, state, pincode, isDefault, googleMapsUrl } = input;\n\n let { latitude, longitude } = input;\n\n if (googleMapsUrl && latitude === undefined && longitude === undefined) {\n const coords = await extractCoordsFromRedirectUrl(googleMapsUrl);\n if (coords) {\n latitude = Number(coords.latitude);\n longitude = Number(coords.longitude);\n }\n }\n\n // Check if address exists and belongs to user\n const existingAddress = await getUserAddressByIdInDb(userId, id)\n if (!existingAddress) {\n throw new Error('Address not found')\n }\n\n // If setting as default, unset other defaults\n if (isDefault) {\n await clearDefaultAddressInDb(userId)\n }\n\n const updatedAddress = await updateUserAddressInDb({\n userId,\n addressId: id,\n name,\n phone,\n addressLine1,\n addressLine2,\n city,\n state,\n pincode,\n isDefault: isDefault || false,\n googleMapsUrl,\n latitude,\n longitude,\n })\n\n /*\n // Old implementation - direct DB queries:\n if (isDefault) {\n await db.update(addresses).set({ isDefault: false }).where(eq(addresses.userId, userId));\n }\n\n const updateData: any = {\n name,\n phone,\n addressLine1,\n addressLine2,\n city,\n state,\n pincode,\n isDefault: isDefault || false,\n googleMapsUrl,\n };\n\n if (latitude !== undefined) {\n updateData.latitude = latitude;\n }\n if (longitude !== undefined) {\n updateData.longitude = longitude;\n }\n\n const [updatedAddress] = await db.update(addresses).set(updateData).where(and(eq(addresses.id, id), eq(addresses.userId, userId))).returning();\n */\n\n return { success: true, data: updatedAddress }\n }),\n\n deleteAddress: protectedProcedure\n .input(z.object({\n id: z.number().int().positive(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { id } = input;\n\n const existingAddress = await getUserAddressByIdInDb(userId, id)\n if (!existingAddress) {\n throw new Error('Address not found or does not belong to user')\n }\n\n const hasOngoingOrders = await hasOngoingOrdersForAddressInDb(id)\n if (hasOngoingOrders) {\n throw new Error('Address is attached to an ongoing order. Please cancel the order first.')\n }\n\n if (existingAddress.isDefault) {\n throw new Error('Cannot delete default address. Please set another address as default first.')\n }\n\n const deleted = await deleteUserAddressInDb(userId, id)\n\n /*\n // Old implementation - direct DB queries:\n const existingAddress = await db.select().from(addresses).where(and(eq(addresses.id, id), eq(addresses.userId, userId))).limit(1);\n if (existingAddress.length === 0) {\n throw new Error('Address not found or does not belong to user');\n }\n\n const ongoingOrders = await db.select({\n order: orders,\n status: orderStatus,\n slot: deliverySlotInfo\n })\n .from(orders)\n .innerJoin(orderStatus, eq(orders.id, orderStatus.orderId))\n .innerJoin(deliverySlotInfo, eq(orders.slotId, deliverySlotInfo.id))\n .where(and(\n eq(orders.addressId, id),\n eq(orderStatus.isCancelled, false),\n gte(deliverySlotInfo.deliveryTime, new Date())\n ))\n .limit(1);\n\n if (ongoingOrders.length > 0) {\n throw new Error('Address is attached to an ongoing order. Please cancel the order first.');\n }\n\n if (existingAddress[0].isDefault) {\n throw new Error('Cannot delete default address. Please set another address as default first.');\n }\n\n await db.delete(addresses).where(and(eq(addresses.id, id), eq(addresses.userId, userId)));\n */\n\n if (!deleted) {\n throw new Error('Address not found or does not belong to user')\n }\n\n return { success: true, message: 'Address deleted successfully' }\n }),\n});\n", "import { ApiError } from '@/src/lib/api-error'\nimport { getOtpSenderAuthToken } from '@/src/lib/env-exporter'\n\nconst otpStore = new Map();\n\nconst setOtpCreds = (phone: string, verificationId: string) => {\n otpStore.set(phone, verificationId);\n};\n\nexport function getOtpCreds(mobile: string) {\n const authKey = otpStore.get(mobile);\n\n return authKey || null;\n}\n\nexport const sendOtp = async (phone: string) => {\n if (!phone) {\n throw new ApiError(\"Phone number is required\", 400);\n }\n const reqUrl = `https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=${phone}&timeout=300`;\n const resp = await fetch(reqUrl, {\n headers: {\n authToken: getOtpSenderAuthToken(),\n },\n method: \"POST\",\n });\n const data = await resp.json();\n\n if (data.message === \"SUCCESS\") {\n setOtpCreds(phone, data.data.verificationId);\n return { success: true, message: \"OTP sent successfully\", verificationId: data.data.verificationId };\n }\n if (data.message === \"REQUEST_ALREADY_EXISTS\") {\n return { success: true, message: \"OTP already sent. Last OTP is still valid\" };\n }\n\n throw new ApiError(\"Error while sending OTP. Please try again\", 500);\n};\n\nexport async function verifyOtpUtil(mobile: string, otp: string, verifId: string):Promise {\n const reqUrl = `https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=${verifId}&code=${otp}`;\n const resp = await fetch(reqUrl, {\n method: \"GET\",\n headers: {\n authToken: getOtpSenderAuthToken(),\n },\n });\n\n const rawData = await resp.json();\n if (rawData.data?.verificationStatus === \"VERIFICATION_COMPLETED\") {\n // delete the verificationId from the local storage\n return true;\n }\n return false;\n}\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport bcrypt from 'bcryptjs'\nimport { SignJWT } from 'jose';\nimport { generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter'\nimport { sendOtp, verifyOtpUtil, getOtpCreds } from '@/src/lib/otp-utils'\nimport {\n getUserAuthByEmail as getUserAuthByEmailInDb,\n getUserAuthByMobile as getUserAuthByMobileInDb,\n getUserAuthById as getUserAuthByIdInDb,\n getUserAuthCreds as getUserAuthCredsInDb,\n getUserAuthDetails as getUserAuthDetailsInDb,\n createUserAuthWithMobile as createUserAuthWithMobileInDb,\n upsertUserAuthPassword as upsertUserAuthPasswordInDb,\n deleteUserAuthAccount as deleteUserAuthAccountInDb,\n createUserWithProfile as createUserWithProfileInDb,\n updateUserProfile as updateUserProfileInDb,\n getUserDetailsByUserId as getUserDetailsByUserIdInDb,\n} from '@/src/dbService'\nimport type {\n UserAuthResult,\n UserAuthResponse,\n UserOtpVerifyResponse,\n UserPasswordUpdateResponse,\n UserProfileResponse,\n UserDeleteAccountResponse,\n} from '@packages/shared'\n\ninterface LoginRequest {\n identifier: string;\n password: string;\n}\n\ninterface RegisterRequest {\n name: string;\n email: string;\n mobile: string;\n password: string;\n profileImageUrl?: string | null;\n}\n\nconst generateToken = async (userId: number): Promise => {\n return await new SignJWT({ userId })\n .setProtectedHeader({ alg: 'HS256' })\n .setExpirationTime('7d')\n .sign(getEncodedJwtSecret());\n};\n\n\n\nexport const authRouter = router({\n login: publicProcedure\n .input(z.object({\n identifier: z.string().min(1, 'Email/mobile is required'),\n password: z.string().min(1, 'Password is required'),\n }))\n .mutation(async ({ input }): Promise => {\n const { identifier, password }: LoginRequest = input;\n\n if (!identifier || !password) {\n throw new ApiError('Email/mobile and password are required', 400);\n }\n\n // Find user by email or mobile\n const user = await getUserAuthByEmailInDb(identifier.toLowerCase())\n let foundUser = user || null\n\n if (!foundUser) {\n // Try mobile if email didn't work\n const userByMobile = await getUserAuthByMobileInDb(identifier)\n foundUser = userByMobile || null\n }\n\n if (!foundUser) {\n throw new ApiError('Invalid credentials', 401);\n }\n\n // Get user credentials\n const userCredentials = await getUserAuthCredsInDb(foundUser.id)\n\n if (!userCredentials) {\n throw new ApiError('Account setup incomplete. Please contact support.', 401);\n }\n\n // Get user details for profile image\n const userDetail = await getUserAuthDetailsInDb(foundUser.id)\n\n // Generate signed URL for profile image if it exists\n const profileImageSignedUrl = userDetail?.profileImage\n ? await generateSignedUrlFromS3Url(userDetail.profileImage)\n : null;\n\n // Verify password\n const isPasswordValid = await bcrypt.compare(password, userCredentials.userPassword);\n if (!isPasswordValid) {\n throw new ApiError('Invalid credentials', 401);\n }\n\n const token = await generateToken(foundUser.id);\n\n const response: UserAuthResponse = {\n token,\n user: {\n id: foundUser.id,\n name: foundUser.name,\n email: foundUser.email,\n mobile: foundUser.mobile,\n createdAt: foundUser.createdAt.toISOString(),\n profileImage: profileImageSignedUrl,\n bio: userDetail?.bio || null,\n dateOfBirth: userDetail?.dateOfBirth\n ? new Date(userDetail.dateOfBirth as any).toISOString()\n : null,\n gender: userDetail?.gender || null,\n occupation: userDetail?.occupation || null,\n },\n };\n\n return {\n success: true,\n data: response,\n }\n }),\n\n register: publicProcedure\n .input(z.object({\n name: z.string().min(1, 'Name is required'),\n email: z.string().email('Invalid email format'),\n mobile: z.string().min(1, 'Mobile is required'),\n password: z.string().min(1, 'Password is required'),\n profileImageUrl: z.string().nullable().optional(),\n }))\n .mutation(async ({ input }): Promise => {\n const { name, email, mobile, password, profileImageUrl }: RegisterRequest = input;\n\n if (!name || !email || !mobile || !password) {\n throw new ApiError('All fields are required', 400);\n }\n\n // Validate email format\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(email)) {\n throw new ApiError('Invalid email format', 400);\n }\n\n // Validate mobile format (Indian mobile numbers)\n const cleanMobile = mobile.replace(/\\D/g, '');\n if (cleanMobile.length !== 10 || !/^[6-9]/.test(cleanMobile)) {\n throw new ApiError('Invalid mobile number', 400);\n }\n\n // Check if email already exists\n const existingEmail = await getUserAuthByEmailInDb(email.toLowerCase())\n\n if (existingEmail) {\n throw new ApiError('Email already registered', 409);\n }\n\n // Check if mobile already exists\n const existingMobile = await getUserAuthByMobileInDb(cleanMobile)\n\n if (existingMobile) {\n throw new ApiError('Mobile number already registered', 409);\n }\n\n // Hash password\n const hashedPassword = await bcrypt.hash(password, 12);\n\n // Create user and credentials in a transaction\n const newUser = await createUserWithProfileInDb({\n name: name.trim(),\n email: email.toLowerCase().trim(),\n mobile: cleanMobile,\n hashedPassword,\n profileImage: profileImageUrl ?? null,\n })\n\n const token = await generateToken(newUser.id);\n\n const profileImageSignedUrl = profileImageUrl\n ? await generateSignedUrlFromS3Url(profileImageUrl)\n : null\n\n const response: UserAuthResponse = {\n token,\n user: {\n id: newUser.id,\n name: newUser.name,\n email: newUser.email,\n mobile: newUser.mobile,\n createdAt: newUser.createdAt.toISOString(),\n profileImage: profileImageSignedUrl,\n },\n };\n\n return {\n success: true,\n data: response,\n }\n }),\n\n sendOtp: publicProcedure\n .input(z.object({\n mobile: z.string(),\n }))\n .mutation(async ({ input }) => {\n \n return await sendOtp(input.mobile);\n }),\n\n verifyOtp: publicProcedure\n .input(z.object({\n mobile: z.string(),\n otp: z.string(),\n }))\n .mutation(async ({ input }): Promise => {\n const verificationId = getOtpCreds(input.mobile);\n if (!verificationId) {\n throw new ApiError(\"OTP not sent or expired\", 400);\n }\n const isVerified = await verifyOtpUtil(input.mobile, input.otp, verificationId);\n\n if (!isVerified) {\n throw new ApiError(\"Invalid OTP\", 400);\n }\n\n // Find user\n let user = await getUserAuthByMobileInDb(input.mobile)\n\n // If user doesn't exist, create one\n if (!user) {\n user = await createUserAuthWithMobileInDb(input.mobile)\n }\n\n // Generate JWT\n const token = await generateToken(user.id);\n\n return {\n success: true,\n token,\n user: {\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n createdAt: user.createdAt.toISOString(),\n profileImage: null,\n },\n }\n }),\n\n updatePassword: protectedProcedure\n .input(z.object({\n password: z.string().min(6, 'Password must be at least 6 characters'),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const hashedPassword = await bcrypt.hash(input.password, 10);\n\n // Insert if not exists, then update if exists\n await upsertUserAuthPasswordInDb(userId, hashedPassword)\n\n /*\n // Old implementation - direct DB queries:\n try {\n await db.insert(userCreds).values({\n userId: userId,\n userPassword: hashedPassword,\n });\n } catch (error: any) {\n if (error.code === '23505') {\n await db.update(userCreds).set({\n userPassword: hashedPassword,\n }).where(eq(userCreds.userId, userId));\n } else {\n throw error;\n }\n }\n */\n\n return { success: true, message: 'Password updated successfully' }\n }),\n\n updateProfile: protectedProcedure\n .input(z.object({\n name: z.string().min(1).optional(),\n email: z.string().email('Invalid email format').optional(),\n mobile: z.string().min(1).optional(),\n password: z.string().min(6, 'Password must be at least 6 characters').optional(),\n bio: z.string().optional().nullable(),\n dateOfBirth: z.string().optional().nullable(),\n gender: z.string().optional().nullable(),\n occupation: z.string().optional().nullable(),\n profileImageUrl: z.string().optional().nullable(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const { name, email, mobile, password, bio, dateOfBirth, gender, occupation, profileImageUrl } = input\n\n if (email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(email)) {\n throw new ApiError('Invalid email format', 400);\n }\n }\n\n if (mobile) {\n const cleanMobile = mobile.replace(/\\D/g, '');\n if (cleanMobile.length !== 10 || !/^[6-9]/.test(cleanMobile)) {\n throw new ApiError('Invalid mobile number', 400);\n }\n }\n\n if (email) {\n const existingEmail = await getUserAuthByEmailInDb(email.toLowerCase())\n if (existingEmail && existingEmail.id !== userId) {\n throw new ApiError('Email already registered', 409)\n }\n }\n\n if (mobile) {\n const cleanMobile = mobile.replace(/\\D/g, '')\n const existingMobile = await getUserAuthByMobileInDb(cleanMobile)\n if (existingMobile && existingMobile.id !== userId) {\n throw new ApiError('Mobile number already registered', 409)\n }\n }\n\n let hashedPassword: string | undefined;\n if (password) {\n hashedPassword = await bcrypt.hash(password, 12)\n }\n\n const updatedUser = await updateUserProfileInDb(userId, {\n name: name?.trim(),\n email: email?.toLowerCase().trim(),\n mobile: mobile?.replace(/\\D/g, ''),\n hashedPassword,\n profileImage: profileImageUrl ?? undefined,\n bio: bio ?? undefined,\n dateOfBirth: dateOfBirth ? new Date(dateOfBirth) : undefined,\n gender: gender ?? undefined,\n occupation: occupation ?? undefined,\n })\n\n const userDetail = await getUserDetailsByUserIdInDb(userId)\n const profileImageSignedUrl = userDetail?.profileImage\n ? await generateSignedUrlFromS3Url(userDetail.profileImage)\n : null\n\n const authHeader = ctx.req.header('authorization');\n const token = authHeader?.replace('Bearer ', '') || ''\n\n const response: UserAuthResponse = {\n token,\n user: {\n id: updatedUser.id,\n name: updatedUser.name,\n email: updatedUser.email,\n mobile: updatedUser.mobile,\n createdAt: updatedUser.createdAt?.toISOString?.() || new Date().toISOString(),\n profileImage: profileImageSignedUrl,\n bio: userDetail?.bio || null,\n dateOfBirth: userDetail?.dateOfBirth\n ? new Date(userDetail.dateOfBirth as any).toISOString()\n : null,\n gender: userDetail?.gender || null,\n occupation: userDetail?.occupation || null,\n },\n }\n\n return {\n success: true,\n data: response,\n }\n }),\n\n getProfile: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const user = await getUserAuthByIdInDb(userId)\n\n if (!user) {\n throw new ApiError('User not found', 404);\n }\n\n return {\n success: true,\n data: {\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n },\n }\n }),\n\n deleteAccount: protectedProcedure\n .input(z.object({\n mobile: z.string().min(10, 'Mobile number is required'),\n }))\n .mutation(async ({ ctx, input }): Promise => {\n const userId = ctx.user.userId;\n const { mobile } = input;\n \n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n // Double-check: verify user exists and is the authenticated user\n const existingUser = await getUserAuthByIdInDb(userId)\n\n if (!existingUser) {\n throw new ApiError('User not found', 404);\n }\n\n // Additional verification: ensure we're not deleting someone else's data\n // The JWT token should already ensure this, but double-checking\n if (existingUser.id !== userId) {\n throw new ApiError('Unauthorized: Cannot delete another user\\'s account', 403);\n }\n\n // Verify mobile number matches user's registered mobile\n const cleanInputMobile = mobile.replace(/\\D/g, '');\n const cleanUserMobile = existingUser.mobile?.replace(/\\D/g, '');\n\n if (cleanInputMobile !== cleanUserMobile) {\n throw new ApiError('Mobile number does not match your registered number', 400);\n }\n\n // Use transaction for atomic deletion\n await deleteUserAuthAccountInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n await db.transaction(async (tx) => {\n await tx.delete(notifCreds).where(eq(notifCreds.userId, userId));\n await tx.delete(couponApplicableUsers).where(eq(couponApplicableUsers.userId, userId));\n await tx.delete(couponUsage).where(eq(couponUsage.userId, userId));\n await tx.delete(complaints).where(eq(complaints.userId, userId));\n await tx.delete(cartItems).where(eq(cartItems.userId, userId));\n await tx.delete(notifications).where(eq(notifications.userId, userId));\n await tx.delete(productReviews).where(eq(productReviews.userId, userId));\n await tx.update(reservedCoupons)\n .set({ redeemedBy: null })\n .where(eq(reservedCoupons.redeemedBy, userId));\n\n const userOrders = await tx\n .select({ id: orders.id })\n .from(orders)\n .where(eq(orders.userId, userId));\n\n for (const order of userOrders) {\n await tx.delete(orderItems).where(eq(orderItems.orderId, order.id));\n await tx.delete(orderStatus).where(eq(orderStatus.orderId, order.id));\n await tx.delete(payments).where(eq(payments.orderId, order.id));\n await tx.delete(refunds).where(eq(refunds.orderId, order.id));\n await tx.delete(couponUsage).where(eq(couponUsage.orderId, order.id));\n await tx.delete(complaints).where(eq(complaints.orderId, order.id));\n }\n\n await tx.delete(orders).where(eq(orders.userId, userId));\n await tx.delete(addresses).where(eq(addresses.userId, userId));\n await tx.delete(userDetails).where(eq(userDetails.userId, userId));\n await tx.delete(userCreds).where(eq(userCreds.userId, userId));\n await tx.delete(users).where(eq(users.id, userId));\n });\n */\n\n return { success: true, message: 'Account deleted successfully' }\n }),\n});\n", "import { router, protectedProcedure, publicProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { getMultipleProductsSlots } from '@/src/stores/slot-store'\nimport {\n getUserCartItemsWithProducts as getUserCartItemsWithProductsInDb,\n getUserProductById as getUserProductByIdInDb,\n getUserCartItemByUserProduct as getUserCartItemByUserProductInDb,\n incrementUserCartItemQuantity as incrementUserCartItemQuantityInDb,\n insertUserCartItem as insertUserCartItemInDb,\n updateUserCartItemQuantity as updateUserCartItemQuantityInDb,\n deleteUserCartItem as deleteUserCartItemInDb,\n clearUserCart as clearUserCartInDb,\n} from '@/src/dbService'\nimport type { UserCartResponse } from '@packages/shared'\n\nconst getCartData = async (userId: number): Promise => {\n const cartItemsWithProducts = await getUserCartItemsWithProductsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const cartItemsWithProducts = await db\n .select({\n cartId: cartItems.id,\n productId: productInfo.id,\n productName: productInfo.name,\n productPrice: productInfo.price,\n productImages: productInfo.images,\n productQuantity: productInfo.productQuantity,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n quantity: cartItems.quantity,\n addedAt: cartItems.addedAt,\n })\n .from(cartItems)\n .innerJoin(productInfo, eq(cartItems.productId, productInfo.id))\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(eq(cartItems.userId, userId));\n */\n\n const cartWithSignedUrls = cartItemsWithProducts.map((item) => ({\n ...item,\n product: {\n ...item.product,\n images: scaffoldAssetUrl(item.product.images || []),\n },\n }))\n\n const totalAmount = cartWithSignedUrls.reduce((sum, item) => sum + item.subtotal, 0)\n\n return {\n items: cartWithSignedUrls,\n totalItems: cartWithSignedUrls.length,\n totalAmount,\n }\n}\n\nexport const cartRouter = router({\n getCart: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n return await getCartData(userId);\n }),\n\n addToCart: protectedProcedure\n .input(z.object({\n productId: z.number().int().positive(),\n quantity: z.number().int().positive(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { productId, quantity } = input;\n\n // Validate input\n if (!productId || !quantity || quantity <= 0) {\n throw new ApiError(\"Product ID and positive quantity required\", 400);\n }\n\n // Check if product exists\n const product = await getUserProductByIdInDb(productId)\n\n if (!product) {\n throw new ApiError('Product not found', 404)\n }\n\n const existingItem = await getUserCartItemByUserProductInDb(userId, productId)\n\n if (existingItem) {\n await incrementUserCartItemQuantityInDb(existingItem.id, quantity)\n } else {\n await insertUserCartItemInDb(userId, productId, quantity)\n }\n\n /*\n // Old implementation - direct DB queries:\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n });\n\n if (!product) {\n throw new ApiError(\"Product not found\", 404);\n }\n\n const existingItem = await db.query.cartItems.findFirst({\n where: and(eq(cartItems.userId, userId), eq(cartItems.productId, productId)),\n });\n\n if (existingItem) {\n await db.update(cartItems)\n .set({\n quantity: sql`${cartItems.quantity} + ${quantity}`,\n })\n .where(eq(cartItems.id, existingItem.id));\n } else {\n await db.insert(cartItems).values({\n userId,\n productId,\n quantity: quantity.toString(),\n });\n }\n */\n\n // Return updated cart\n return await getCartData(userId)\n }),\n\n updateCartItem: protectedProcedure\n .input(z.object({\n itemId: z.number().int().positive(),\n quantity: z.number().int().min(0),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { itemId, quantity } = input;\n\n if (!quantity || quantity <= 0) {\n throw new ApiError(\"Positive quantity required\", 400);\n }\n\n const updated = await updateUserCartItemQuantityInDb(userId, itemId, quantity)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedItem] = await db.update(cartItems)\n .set({ quantity: quantity.toString() })\n .where(and(\n eq(cartItems.id, itemId),\n eq(cartItems.userId, userId)\n ))\n .returning();\n\n if (!updatedItem) {\n throw new ApiError(\"Cart item not found\", 404);\n }\n */\n\n if (!updated) {\n throw new ApiError('Cart item not found', 404)\n }\n\n // Return updated cart\n return await getCartData(userId)\n }),\n\n removeFromCart: protectedProcedure\n .input(z.object({\n itemId: z.number().int().positive(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { itemId } = input;\n\n const deleted = await deleteUserCartItemInDb(userId, itemId)\n\n /*\n // Old implementation - direct DB queries:\n const [deletedItem] = await db.delete(cartItems)\n .where(and(\n eq(cartItems.id, itemId),\n eq(cartItems.userId, userId)\n ))\n .returning();\n\n if (!deletedItem) {\n throw new ApiError(\"Cart item not found\", 404);\n }\n */\n\n if (!deleted) {\n throw new ApiError('Cart item not found', 404)\n }\n\n // Return updated cart\n return await getCartData(userId)\n }),\n\n clearCart: protectedProcedure\n .mutation(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n await clearUserCartInDb(userId)\n\n /*\n // Old implementation - direct DB query:\n await db.delete(cartItems).where(eq(cartItems.userId, userId));\n */\n\n return {\n items: [],\n totalItems: 0,\n totalAmount: 0,\n message: \"Cart cleared successfully\",\n }\n }),\n\n // Original DB-based getCartSlots (commented out)\n // getCartSlots: publicProcedure\n // .input(z.object({\n // productIds: z.array(z.number().int().positive())\n // }))\n // .query(async ({ input }) => {\n // const { productIds } = input;\n //\n // if (productIds.length === 0) {\n // return {};\n // }\n //\n // // Get slots for these products where freeze time is after current time\n // const slotsData = await db\n // .select({\n // productId: productSlots.productId,\n // slotId: deliverySlotInfo.id,\n // deliveryTime: deliverySlotInfo.deliveryTime,\n // freezeTime: deliverySlotInfo.freezeTime,\n // isActive: deliverySlotInfo.isActive,\n // })\n // .from(productSlots)\n // .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n // .where(and(\n // inArray(productSlots.productId, productIds),\n // gt(deliverySlotInfo.freezeTime, sql`NOW()`),\n // eq(deliverySlotInfo.isActive, true)\n // ));\n //\n // // Group by productId\n // const result: Record = {};\n // slotsData.forEach(slot => {\n // if (!result[slot.productId]) {\n // result[slot.productId] = [];\n // }\n // result[slot.productId].push({\n // id: slot.slotId,\n // deliveryTime: slot.deliveryTime,\n // freezeTime: slot.freezeTime,\n // });\n // });\n //\n // return result;\n // }),\n\n // Cache-based getCartSlots\n getCartSlots: publicProcedure\n .input(z.object({\n productIds: z.array(z.number().int().positive())\n }))\n .query(async ({ input }) => {\n const { productIds } = input;\n\n if (productIds.length === 0) {\n return {};\n }\n\n return await getMultipleProductsSlots(productIds);\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport {\n getUserComplaints as getUserComplaintsInDb,\n createUserComplaint as createUserComplaintInDb,\n} from '@/src/dbService'\nimport type { UserComplaintsResponse, UserRaiseComplaintResponse } from '@packages/shared'\n\nexport const complaintRouter = router({\n getAll: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n const userComplaints = await getUserComplaintsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const userComplaints = await db\n .select({\n id: complaints.id,\n complaintBody: complaints.complaintBody,\n response: complaints.response,\n isResolved: complaints.isResolved,\n createdAt: complaints.createdAt,\n orderId: complaints.orderId,\n })\n .from(complaints)\n .where(eq(complaints.userId, userId))\n .orderBy(complaints.createdAt);\n\n return {\n complaints: userComplaints.map(c => ({\n id: c.id,\n complaintBody: c.complaintBody,\n response: c.response,\n isResolved: c.isResolved,\n createdAt: c.createdAt,\n orderId: c.orderId,\n })),\n };\n */\n\n return {\n complaints: userComplaints,\n }\n }),\n\n raise: protectedProcedure\n .input(z.object({\n orderId: z.string().optional(),\n complaintBody: z.string().min(1, 'Complaint body is required'),\n imageUrls: z.array(z.string()).optional(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { orderId, complaintBody, imageUrls } = input;\n\n let orderIdNum: number | null = null;\n\n if (orderId) {\n const readableIdMatch = orderId.match(/^ORD(\\d+)$/);\n if (readableIdMatch) {\n orderIdNum = parseInt(readableIdMatch[1]);\n }\n }\n\n await createUserComplaintInDb(\n userId,\n orderIdNum,\n complaintBody.trim(),\n imageUrls && imageUrls.length > 0 ? imageUrls : null\n )\n\n /*\n // Old implementation - direct DB query:\n await db.insert(complaints).values({\n userId,\n orderId: orderIdNum,\n complaintBody: complaintBody.trim(),\n });\n */\n\n return { success: true, message: 'Complaint raised successfully' }\n }),\n});\n", "import { router, protectedProcedure } from \"@/src/trpc/trpc-index\";\nimport { z } from \"zod\";\nimport {\n applyDiscountToUserOrder,\n cancelUserOrderTransaction,\n checkUserSuspended,\n db,\n deleteUserCartItemsForOrder,\n getOrderProductById,\n getUserAddressByIdAndUser,\n getUserCouponUsageForOrder,\n getUserOrderBasic,\n getUserOrderByIdWithRelations,\n getUserOrderCount,\n getUserOrdersWithRelations,\n getUserProductIdsFromOrders,\n getUserProductsForRecentOrders,\n getUserRecentlyDeliveredOrderIds,\n getUserSlotCapacityStatus,\n orders,\n orderItems,\n orderStatus,\n placeUserOrderTransaction,\n recordUserCouponUsage,\n updateUserOrderNotes,\n validateAndGetUserCoupon,\n} from \"@/src/dbService\";\nimport { getNextDeliveryDate } from \"@/src/trpc/apis/common-apis/common\";\nimport { scaffoldAssetUrl } from \"@/src/lib/s3-client\";\nimport { ApiError } from \"@/src/lib/api-error\";\nimport {\n sendOrderPlacedNotification,\n sendOrderCancelledNotification,\n} from \"@/src/lib/notif-job\";\nimport { CONST_KEYS, getConstant, getConstants } from \"@/src/lib/const-store\";\nimport { publishFormattedOrder, publishCancellation } from \"@/src/lib/post-order-handler\";\nimport { getSlotById } from \"@/src/stores/slot-store\";\nimport type {\n UserOrdersResponse,\n UserOrderDetail,\n UserCancelOrderResponse,\n UserUpdateNotesResponse,\n UserRecentProductsResponse,\n} from \"@/src/dbService\";\n\nconst placeOrderUtil = async (params: {\n userId: number;\n selectedItems: Array<{\n productId: number;\n quantity: number;\n slotId: number | null;\n }>;\n addressId: number;\n paymentMethod: \"online\" | \"cod\";\n couponId?: number;\n userNotes?: string;\n isFlash?: boolean;\n}) => {\n const {\n userId,\n selectedItems,\n addressId,\n paymentMethod,\n couponId,\n userNotes,\n } = params;\n\n const constants = await getConstants([\n CONST_KEYS.minRegularOrderValue,\n CONST_KEYS.deliveryCharge,\n CONST_KEYS.flashFreeDeliveryThreshold,\n CONST_KEYS.flashDeliveryCharge,\n ]);\n\n const isFlashDelivery = params.isFlash;\n const minOrderValue = (isFlashDelivery ? constants[CONST_KEYS.flashFreeDeliveryThreshold] : constants[CONST_KEYS.minRegularOrderValue]) || 0;\n const deliveryCharge = (isFlashDelivery ? constants[CONST_KEYS.flashDeliveryCharge] : constants[CONST_KEYS.deliveryCharge]) || 0;\n\n const orderGroupId = `${Date.now()}-${userId}`;\n\n const address = await getUserAddressByIdAndUser(addressId, userId);\n if (!address) {\n throw new ApiError(\"Invalid address\", 400);\n }\n\n const ordersBySlot = new Map<\n number | null,\n Array<{\n productId: number;\n quantity: number;\n slotId: number | null;\n product: Awaited>;\n }>\n >();\n\n for (const item of selectedItems) {\n const product = await getOrderProductById(item.productId);\n if (!product) {\n throw new ApiError(`Product ${item.productId} not found`, 400);\n }\n\n if (!ordersBySlot.has(item.slotId)) {\n ordersBySlot.set(item.slotId, []);\n }\n ordersBySlot.get(item.slotId)!.push({ ...item, product });\n }\n\n if (params.isFlash) {\n for (const item of selectedItems) {\n const product = await getOrderProductById(item.productId);\n if (!product?.isFlashAvailable) {\n throw new ApiError(`Product ${item.productId} is not available for flash delivery`, 400);\n }\n }\n }\n\n let totalAmount = 0;\n for (const [slotId, items] of ordersBySlot) {\n const orderTotal = items.reduce(\n (sum, item) => {\n if (!item.product) return sum\n const basePrice = params.isFlash\n ? (item.product.flashPrice ?? item.product.price)\n : item.product.price\n const itemPrice = parseFloat((basePrice ?? 0).toString())\n return sum + itemPrice * item.quantity;\n },\n 0\n );\n totalAmount += orderTotal;\n }\n\n const appliedCoupon = await validateAndGetUserCoupon(couponId, userId, totalAmount);\n\n const expectedDeliveryCharge =\n totalAmount < minOrderValue ? deliveryCharge : 0;\n\n const totalWithDelivery = totalAmount + expectedDeliveryCharge;\n\n type OrderData = {\n order: Omit;\n orderItems: Omit[];\n orderStatus: Omit;\n };\n\n const ordersData: OrderData[] = [];\n let isFirstOrder = true;\n\n for (const [slotId, items] of ordersBySlot) {\n const subOrderTotal = items.reduce(\n (sum, item) => {\n if (!item.product) return sum\n const basePrice = params.isFlash\n ? (item.product.flashPrice ?? item.product.price)\n : item.product.price\n const itemPrice = parseFloat((basePrice ?? 0).toString())\n return sum + itemPrice * item.quantity;\n },\n 0\n );\n const subOrderTotalWithDelivery = subOrderTotal + expectedDeliveryCharge;\n\n const orderGroupProportion = subOrderTotal / totalAmount;\n const orderTotalAmount = isFirstOrder ? subOrderTotalWithDelivery : subOrderTotal;\n\n const { finalOrderTotal: finalOrderAmount } = applyDiscountToUserOrder(\n orderTotalAmount,\n appliedCoupon,\n orderGroupProportion\n );\n\n const order: Omit = {\n userId,\n addressId,\n slotId: params.isFlash ? null : slotId,\n isCod: paymentMethod === \"cod\",\n isOnlinePayment: paymentMethod === \"online\",\n paymentInfoId: null,\n totalAmount: finalOrderAmount.toString(),\n deliveryCharge: isFirstOrder ? expectedDeliveryCharge.toString() : \"0\",\n readableId: -1,\n userNotes: userNotes || null,\n orderGroupId,\n orderGroupProportion: orderGroupProportion.toString(),\n isFlashDelivery: params.isFlash,\n };\n\n const validItems = items.filter(\n (item): item is typeof item & { product: NonNullable } =>\n item.product !== null && item.product !== undefined\n )\n const orderItemsData: Omit[] = validItems.map(\n (item) => {\n const basePrice = params.isFlash\n ? (item.product.flashPrice ?? item.product.price)\n : item.product.price\n const priceString = (basePrice ?? 0).toString()\n\n return {\n orderId: 0,\n productId: item.productId,\n quantity: item.quantity.toString(),\n price: priceString,\n discountedPrice: priceString,\n }\n }\n );\n\n const orderStatusData: Omit = {\n userId,\n orderId: 0,\n paymentStatus: paymentMethod === \"cod\" ? \"cod\" : \"pending\",\n };\n\n ordersData.push({ order, orderItems: orderItemsData, orderStatus: orderStatusData });\n isFirstOrder = false;\n }\n\n const createdOrders = await placeUserOrderTransaction({\n userId,\n ordersData,\n paymentMethod,\n totalWithDelivery,\n });\n\n await deleteUserCartItemsForOrder(\n userId,\n selectedItems.map((item) => item.productId)\n );\n\n if (appliedCoupon && createdOrders.length > 0) {\n await recordUserCouponUsage(\n userId,\n appliedCoupon.id,\n createdOrders[0].id\n );\n }\n\n // for (const order of createdOrders) {\n // sendOrderPlacedNotification(userId, order.id.toString());\n // }\n\n console.log('publishing the order')\n await publishFormattedOrder(createdOrders, ordersBySlot);\n\n return { success: true, data: createdOrders };\n};\n\nexport const orderRouter = router({\n placeOrder: protectedProcedure\n .input(\n z.object({\n selectedItems: z.array(\n z.object({\n productId: z.number().int().positive(),\n quantity: z.number().int().positive(),\n slotId: z.union([z.number().int(), z.null()]),\n })\n ),\n addressId: z.number().int().positive(),\n paymentMethod: z.enum([\"online\", \"cod\"]),\n couponId: z.number().int().positive().optional(),\n userNotes: z.string().optional(),\n isFlashDelivery: z.boolean().optional().default(false),\n })\n )\n .mutation(async ({ input, ctx }) => {\n const userId = ctx.user.userId;\n\n const isSuspended = await checkUserSuspended(userId);\n if (isSuspended) {\n throw new ApiError(\"Unable to place order\", 403);\n }\n\n const {\n selectedItems,\n addressId,\n paymentMethod,\n couponId,\n userNotes,\n isFlashDelivery,\n } = input;\n\n if (isFlashDelivery) {\n const isFlashDeliveryEnabled = await getConstant(CONST_KEYS.isFlashDeliveryEnabled);\n if (!isFlashDeliveryEnabled) {\n throw new ApiError(\"Flash delivery is currently unavailable. Please opt for scheduled delivery.\", 403);\n }\n }\n\n if (!isFlashDelivery) {\n const slotIds = [...new Set(selectedItems.filter(i => i.slotId !== null).map(i => i.slotId as number))];\n for (const slotId of slotIds) {\n const isCapacityFull = await getUserSlotCapacityStatus(slotId);\n if (isCapacityFull) {\n throw new ApiError(\"Selected delivery slot is at full capacity. Please choose another slot.\", 403);\n }\n }\n }\n\n let processedItems = selectedItems;\n\n if (isFlashDelivery) {\n processedItems = selectedItems.map(item => ({\n ...item,\n slotId: null as any,\n }));\n }\n\n return await placeOrderUtil({\n userId,\n selectedItems: processedItems,\n addressId,\n paymentMethod,\n couponId,\n userNotes,\n isFlash: isFlashDelivery,\n });\n }),\n\n getOrders: protectedProcedure\n .input(\n z\n .object({\n page: z.number().min(1).default(1),\n pageSize: z.number().min(1).max(50).default(10),\n })\n .optional()\n )\n .query(async ({ input, ctx }): Promise => {\n const { page = 1, pageSize = 10 } = input || {};\n const userId = ctx.user.userId;\n const offset = (page - 1) * pageSize;\n\n const totalCount = await getUserOrderCount(userId);\n const userOrders = await getUserOrdersWithRelations(userId, offset, pageSize);\n\n const mappedOrders = await Promise.all(\n userOrders.map(async (order) => {\n const status = order.orderStatus[0];\n const refund = order.refunds[0];\n\n type DeliveryStatus = \"cancelled\" | \"success\" | \"pending\" | \"packaged\";\n type OrderStatus = \"cancelled\" | \"success\";\n\n let deliveryStatus: DeliveryStatus;\n let orderStatus: OrderStatus;\n\n const allItemsPackaged = order.orderItems.every(\n (item) => item.is_packaged\n );\n\n if (status?.isCancelled) {\n deliveryStatus = \"cancelled\";\n orderStatus = \"cancelled\";\n } else if (status?.isDelivered) {\n deliveryStatus = \"success\";\n orderStatus = \"success\";\n } else if (allItemsPackaged) {\n deliveryStatus = \"packaged\";\n orderStatus = \"success\";\n } else {\n deliveryStatus = \"pending\";\n orderStatus = \"success\";\n }\n\n const paymentMode = order.isCod ? \"CoD\" : \"Online\";\n const paymentStatus = status?.paymentStatus || \"pending\";\n const refundStatus = refund?.refundStatus || \"none\";\n const refundAmount = refund?.refundAmount\n ? parseFloat(refund.refundAmount.toString())\n : null;\n\n const items = await Promise.all(\n order.orderItems.map(async (item) => {\n const signedImages = item.product.images\n ? scaffoldAssetUrl(\n item.product.images as string[]\n )\n : [];\n return {\n productName: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n discountedPrice: parseFloat(\n item.discountedPrice?.toString() || item.price.toString()\n ),\n amount:\n parseFloat(item.price.toString()) * parseFloat(item.quantity),\n image: signedImages[0] || null,\n };\n })\n );\n\n return {\n id: order.id,\n orderId: `ORD${order.id}`,\n orderDate: order.createdAt.toISOString(),\n deliveryStatus,\n deliveryDate: order.slot?.deliveryTime.toISOString(),\n orderStatus,\n cancelReason: status?.cancelReason || null,\n paymentMode,\n totalAmount: Number(order.totalAmount),\n deliveryCharge: Number(order.deliveryCharge),\n paymentStatus,\n refundStatus,\n refundAmount,\n userNotes: order.userNotes || null,\n items,\n isFlashDelivery: order.isFlashDelivery,\n createdAt: order.createdAt.toISOString(),\n };\n })\n );\n\n return {\n success: true,\n data: mappedOrders,\n pagination: {\n page,\n pageSize,\n totalCount,\n totalPages: Math.ceil(totalCount / pageSize),\n },\n };\n }),\n\n getOrderById: protectedProcedure\n .input(z.object({ orderId: z.string() }))\n .query(async ({ input, ctx }): Promise => {\n const { orderId } = input;\n const userId = ctx.user.userId;\n\n const order = await getUserOrderByIdWithRelations(parseInt(orderId), userId);\n\n if (!order) {\n throw new Error(\"Order not found\");\n }\n\n const couponUsageData = await getUserCouponUsageForOrder(order.id);\n\n let couponData = null;\n if (couponUsageData.length > 0) {\n let totalDiscountAmount = 0;\n const orderTotal = parseFloat(order.totalAmount.toString());\n\n for (const usage of couponUsageData) {\n let discountAmount = 0;\n\n if (usage.coupon.discountPercent) {\n discountAmount =\n (orderTotal *\n parseFloat(usage.coupon.discountPercent.toString())) /\n 100;\n } else if (usage.coupon.flatDiscount) {\n discountAmount = parseFloat(usage.coupon.flatDiscount.toString());\n }\n\n if (\n usage.coupon.maxValue &&\n discountAmount > parseFloat(usage.coupon.maxValue.toString())\n ) {\n discountAmount = parseFloat(usage.coupon.maxValue.toString());\n }\n\n totalDiscountAmount += discountAmount;\n }\n\n couponData = {\n couponCode: couponUsageData\n .map((u) => u.coupon.couponCode)\n .join(\", \"),\n couponDescription: `${couponUsageData.length} coupons applied`,\n discountAmount: totalDiscountAmount,\n };\n }\n\n const status = order.orderStatus[0];\n const refund = order.refunds[0];\n\n type DeliveryStatus = \"cancelled\" | \"success\" | \"pending\" | \"packaged\";\n type OrderStatus = \"cancelled\" | \"success\";\n\n let deliveryStatus: DeliveryStatus;\n let orderStatusResult: OrderStatus;\n\n const allItemsPackaged = order.orderItems.every(\n (item) => item.is_packaged\n );\n\n if (status?.isCancelled) {\n deliveryStatus = \"cancelled\";\n orderStatusResult = \"cancelled\";\n } else if (status?.isDelivered) {\n deliveryStatus = \"success\";\n orderStatusResult = \"success\";\n } else if (allItemsPackaged) {\n deliveryStatus = \"packaged\";\n orderStatusResult = \"success\";\n } else {\n deliveryStatus = \"pending\";\n orderStatusResult = \"success\";\n }\n\n const paymentMode = order.isCod ? \"CoD\" : \"Online\";\n const paymentStatus = status?.paymentStatus || \"pending\";\n const refundStatus = refund?.refundStatus || \"none\";\n const refundAmount = refund?.refundAmount\n ? parseFloat(refund.refundAmount.toString())\n : null;\n\n const items = await Promise.all(\n order.orderItems.map(async (item) => {\n const signedImages = item.product.images\n ? scaffoldAssetUrl(\n item.product.images as string[]\n )\n : [];\n return {\n productName: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n discountedPrice: parseFloat(\n item.discountedPrice?.toString() || item.price.toString()\n ),\n amount:\n parseFloat(item.price.toString()) * parseFloat(item.quantity),\n image: signedImages[0] || null,\n };\n })\n );\n\n return {\n id: order.id,\n orderId: `ORD${order.id}`,\n orderDate: order.createdAt.toISOString(),\n deliveryStatus,\n deliveryDate: order.slot?.deliveryTime.toISOString(),\n orderStatus: orderStatusResult,\n cancellationStatus: orderStatusResult,\n cancelReason: status?.cancelReason || null,\n paymentMode,\n paymentStatus,\n refundStatus,\n refundAmount,\n userNotes: order.userNotes || null,\n items,\n couponCode: couponData?.couponCode || null,\n couponDescription: couponData?.couponDescription || null,\n discountAmount: couponData?.discountAmount || null,\n orderAmount: parseFloat(order.totalAmount.toString()),\n isFlashDelivery: order.isFlashDelivery,\n createdAt: order.createdAt.toISOString(),\n totalAmount: parseFloat(order.totalAmount.toString()),\n deliveryCharge: parseFloat(order.deliveryCharge.toString()),\n };\n }),\n\n cancelOrder: protectedProcedure\n .input(\n z.object({\n id: z.number(),\n reason: z.string().min(1, \"Cancellation reason is required\"),\n })\n )\n .mutation(async ({ input, ctx }): Promise => {\n try {\n const userId = ctx.user.userId;\n const { id, reason } = input;\n\n const order = await getUserOrderBasic(id);\n\n if (!order) {\n console.error(\"Order not found:\", id);\n throw new ApiError(\"Order not found\", 404);\n }\n\n if (order.userId !== userId) {\n console.error(\"Order does not belong to user:\", {\n orderId: id,\n orderUserId: order.userId,\n requestUserId: userId,\n });\n\n throw new ApiError(\"Order not found\", 404);\n }\n\n const status = order.orderStatus[0];\n if (!status) {\n console.error(\"Order status not found for order:\", id);\n throw new ApiError(\"Order status not found\", 400);\n }\n\n if (status.isCancelled) {\n console.error(\"Order is already cancelled:\", id);\n throw new ApiError(\"Order is already cancelled\", 400);\n }\n\n if (status.isDelivered) {\n console.error(\"Cannot cancel delivered order:\", id);\n throw new ApiError(\"Cannot cancel delivered order\", 400);\n }\n\n await cancelUserOrderTransaction(id, status.id, reason, order.isCod);\n\n // await sendOrderCancelledNotification(userId, id.toString());\n\n await publishCancellation(id, 'user', reason);\n\n return { success: true, message: \"Order cancelled successfully\" };\n } catch (e) {\n console.log(e);\n throw new ApiError(\"failed to cancel order\");\n }\n }),\n\n updateUserNotes: protectedProcedure\n .input(\n z.object({\n id: z.number(),\n userNotes: z.string(),\n })\n )\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { id, userNotes } = input;\n\n const order = await getUserOrderBasic(id);\n\n if (!order) {\n console.error(\"Order not found:\", id);\n throw new ApiError(\"Order not found\", 404);\n }\n\n if (order.userId !== userId) {\n console.error(\"Order does not belong to user:\", {\n orderId: id,\n orderUserId: order.userId,\n requestUserId: userId,\n });\n throw new ApiError(\"Order not found\", 404);\n }\n\n const status = order.orderStatus[0];\n if (!status) {\n console.error(\"Order status not found for order:\", id);\n throw new ApiError(\"Order status not found\", 400);\n }\n\n if (status.isDelivered) {\n console.error(\"Cannot update notes for delivered order:\", id);\n throw new ApiError(\"Cannot update notes for delivered order\", 400);\n }\n\n if (status.isCancelled) {\n console.error(\"Cannot update notes for cancelled order:\", id);\n throw new ApiError(\"Cannot update notes for cancelled order\", 400);\n }\n\n await updateUserOrderNotes(id, userNotes);\n\n return { success: true, message: \"Notes updated successfully\" };\n }),\n\n getRecentlyOrderedProducts: protectedProcedure\n .input(\n z\n .object({\n limit: z.number().min(1).max(50).default(20),\n })\n .optional()\n )\n .query(async ({ input, ctx }): Promise => {\n const { limit = 20 } = input || {};\n const userId = ctx.user.userId;\n\n const thirtyDaysAgo = new Date();\n thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);\n\n const recentOrderIds = await getUserRecentlyDeliveredOrderIds(userId, 10, thirtyDaysAgo);\n\n if (recentOrderIds.length === 0) {\n return { success: true, products: [] };\n }\n\n const productIds = await getUserProductIdsFromOrders(recentOrderIds);\n\n if (productIds.length === 0) {\n return { success: true, products: [] };\n }\n\n const productsWithUnits = await getUserProductsForRecentOrders(productIds, limit);\n\n const formattedProducts = await Promise.all(\n productsWithUnits.map(async (product) => {\n const nextDeliveryDate = await getNextDeliveryDate(product.id);\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n unit: product.unitShortNotation,\n incrementStep: product.incrementStep,\n isOutOfStock: product.isOutOfStock,\n nextDeliveryDate: nextDeliveryDate\n ? nextDeliveryDate.toISOString()\n : null,\n images: scaffoldAssetUrl(\n (product.images as string[]) || []\n ),\n };\n })\n );\n\n return {\n success: true,\n products: formattedProducts,\n };\n }),\n});\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { claimUploadUrl, extractKeyFromPresignedUrl, scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getProductById as getProductByIdFromCache, getAllProducts as getAllProductsFromCache } from '@/src/stores/product-store'\nimport dayjs from 'dayjs'\nimport {\n getUserProductDetailById as getUserProductDetailByIdInDb,\n getUserProductReviews as getUserProductReviewsInDb,\n getUserProductByIdBasic as getUserProductByIdBasicInDb,\n createUserProductReview as createUserProductReviewInDb,\n} from '@/src/dbService'\nimport type {\n UserProductDetail,\n UserProductDetailData,\n UserProductReviewsResponse,\n UserCreateReviewResponse,\n UserProductReviewWithSignedUrls,\n} from '@packages/shared'\n\nconst signProductImages = (product: UserProductDetailData): UserProductDetail => ({\n ...product,\n images: scaffoldAssetUrl(product.images || []),\n})\n\nexport const productRouter = router({\n getProductDetails: publicProcedure\n .input(z.object({\n id: z.string().regex(/^\\d+$/, 'Invalid product ID'),\n }))\n .query(async ({ input }): Promise => {\n const { id } = input;\n const productId = parseInt(id);\n\n if (isNaN(productId)) {\n throw new Error('Invalid product ID');\n }\n\n console.log('from the api to get product details')\n\n// First, try to get the product from Redis cache\n const cachedProduct = await getProductByIdFromCache(productId);\n \n if (cachedProduct) {\n // Filter delivery slots to only include those with future freeze times and not at full capacity\n const currentTime = new Date();\n const filteredSlots = cachedProduct.deliverySlots.filter(slot => \n dayjs(slot.freezeTime).isAfter(currentTime) && !slot.isCapacityFull\n );\n \n return {\n ...cachedProduct,\n deliverySlots: filteredSlots\n };\n }\n\n // If not in cache, fetch from database (fallback)\n const productData = await getUserProductDetailByIdInDb(productId)\n\n /*\n // Old implementation - direct DB queries:\n const productData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n longDescription: productInfo.longDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n storeId: productInfo.storeId,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n productQuantity: productInfo.productQuantity,\n isFlashAvailable: productInfo.isFlashAvailable,\n flashPrice: productInfo.flashPrice,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(eq(productInfo.id, productId))\n .limit(1);\n */\n\n if (!productData) {\n throw new Error('Product not found')\n }\n\n return signProductImages(productData)\n }),\n\n getProductReviews: publicProcedure\n .input(z.object({\n productId: z.number().int().positive(),\n limit: z.number().int().min(1).max(50).optional().default(10),\n offset: z.number().int().min(0).optional().default(0),\n }))\n .query(async ({ input }): Promise => {\n const { productId, limit, offset } = input;\n\n const { reviews, totalCount } = await getUserProductReviewsInDb(productId, limit, offset)\n\n /*\n // Old implementation - direct DB queries:\n const reviews = await db\n .select({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n userName: users.name,\n })\n .from(productReviews)\n .innerJoin(users, eq(productReviews.userId, users.id))\n .where(eq(productReviews.productId, productId))\n .orderBy(desc(productReviews.reviewTime))\n .limit(limit)\n .offset(offset);\n\n const totalCountResult = await db\n .select({ count: sql`count(*)` })\n .from(productReviews)\n .where(eq(productReviews.productId, productId));\n\n const totalCount = Number(totalCountResult[0].count);\n const hasMore = offset + limit < totalCount;\n */\n\n const reviewsWithSignedUrls: UserProductReviewWithSignedUrls[] = reviews.map((review) => ({\n ...review,\n signedImageUrls: scaffoldAssetUrl(review.imageUrls || []),\n }))\n\n const hasMore = offset + limit < totalCount\n\n return { reviews: reviewsWithSignedUrls, hasMore }\n }),\n\n createReview: protectedProcedure\n .input(z.object({\n productId: z.number().int().positive(),\n reviewBody: z.string().min(1, 'Review body is required'),\n ratings: z.number().int().min(1).max(5),\n imageUrls: z.array(z.string()).optional().default([]),\n uploadUrls: z.array(z.string()).optional().default([]),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const { productId, reviewBody, ratings, imageUrls, uploadUrls } = input;\n const userId = ctx.user.userId;\n\n const product = await getUserProductByIdBasicInDb(productId)\n if (!product) {\n throw new ApiError('Product not found', 404)\n }\n\n const imageKeys = uploadUrls.map(item => extractKeyFromPresignedUrl(item))\n const newReview = await createUserProductReviewInDb(userId, productId, reviewBody, ratings, imageKeys)\n\n /*\n // Old implementation - direct DB queries:\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n });\n if (!product) {\n throw new ApiError('Product not found', 404);\n }\n\n const [newReview] = await db.insert(productReviews).values({\n userId,\n productId,\n reviewBody,\n ratings,\n imageUrls: uploadUrls.map(item => extractKeyFromPresignedUrl(item)),\n }).returning();\n */\n\n // Claim upload URLs\n if (uploadUrls && uploadUrls.length > 0) {\n try {\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)));\n } catch (error) {\n console.error('Error claiming upload URLs:', error);\n // Don't fail the review creation\n }\n }\n\n return { success: true, review: newReview }\n }),\n\n \n getAllProductsSummary: publicProcedure\n .query(async (): Promise => {\n // Get all products from cache\n const allCachedProducts = await getAllProductsFromCache();\n\n // Transform the cached products to match the expected summary format\n // (with empty deliverySlots and specialDeals arrays for summary view)\n const transformedProducts: UserProductDetail[] = allCachedProducts.map(product => ({\n ...product,\n images: product.images || [],\n deliverySlots: [],\n specialDeals: [],\n }))\n\n return transformedProducts\n }),\n\n});\n", "import { router, protectedProcedure, publicProcedure } from '@/src/trpc/trpc-index'\nimport { SignJWT } from 'jose'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter'\nimport { generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\nimport {\n getUserProfileById as getUserProfileByIdInDb,\n getUserProfileDetailById as getUserProfileDetailByIdInDb,\n getUserWithCreds as getUserWithCredsInDb,\n upsertUserNotifCred as upsertUserNotifCredInDb,\n deleteUserUnloggedToken as deleteUserUnloggedTokenInDb,\n getUserUnloggedToken as getUserUnloggedTokenInDb,\n upsertUserUnloggedToken as upsertUserUnloggedTokenInDb,\n} from '@/src/dbService'\nimport type {\n UserSelfDataResponse,\n UserProfileCompleteResponse,\n UserSavePushTokenResponse,\n} from '@packages/shared'\n\nconst generateToken = async (userId: number): Promise => {\n return await new SignJWT({ userId })\n .setProtectedHeader({ alg: 'HS256' })\n .setExpirationTime('7d')\n .sign(getEncodedJwtSecret());\n};\n\nexport const userRouter = router({\n getSelfData: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const user = await getUserProfileByIdInDb(userId)\n\n if (!user) {\n throw new ApiError('User not found', 404);\n }\n\n // Get user details for profile image\n const userDetail = await getUserProfileDetailByIdInDb(userId)\n\n // Generate signed URL for profile image if it exists\n const profileImageSignedUrl = userDetail?.profileImage\n ? await generateSignedUrlFromS3Url(userDetail.profileImage)\n : null;\n\n return {\n success: true,\n data: {\n user: {\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n profileImage: profileImageSignedUrl,\n bio: userDetail?.bio || null,\n dateOfBirth: userDetail?.dateOfBirth\n ? new Date(userDetail.dateOfBirth as any).toISOString()\n : null,\n gender: userDetail?.gender || null,\n occupation: userDetail?.occupation || null,\n },\n },\n }\n }),\n\n checkProfileComplete: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const result = await getUserWithCredsInDb(userId)\n\n if (!result) {\n throw new ApiError('User not found', 404)\n }\n\n return {\n isComplete: !!(result.user.name && result.user.email && result.creds),\n };\n }),\n\n savePushToken: publicProcedure\n .input(z.object({ token: z.string() }))\n .mutation(async ({ input, ctx }): Promise => {\n const { token } = input;\n const userId = ctx.user?.userId;\n\n if (userId) {\n // AUTHENTICATED USER\n // Check if token exists in notif_creds for this user\n await upsertUserNotifCredInDb(userId, token)\n await deleteUserUnloggedTokenInDb(token)\n\n } else {\n // UNAUTHENTICATED USER\n // Save/update in unlogged_user_tokens\n const existing = await getUserUnloggedTokenInDb(token)\n if (existing) {\n await upsertUserUnloggedTokenInDb(token)\n } else {\n await upsertUserUnloggedTokenInDb(token)\n }\n }\n\n return { success: true }\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport {\n getUserActiveCouponsWithRelations as getUserActiveCouponsWithRelationsInDb,\n getUserAllCouponsWithRelations as getUserAllCouponsWithRelationsInDb,\n getUserReservedCouponByCode as getUserReservedCouponByCodeInDb,\n redeemUserReservedCoupon as redeemUserReservedCouponInDb,\n} from '@/src/dbService'\nimport type {\n UserCouponDisplay,\n UserEligibleCouponsResponse,\n UserMyCouponsResponse,\n UserRedeemCouponResponse,\n} from '@packages/shared'\n\nconst generateCouponDescription = (coupon: { discountPercent?: string | null; flatDiscount?: string | null; minOrder?: string | null; maxValue?: string | null }): string => {\n let desc = '';\n\n if (coupon.discountPercent) {\n desc += `${coupon.discountPercent}% off`;\n } else if (coupon.flatDiscount) {\n desc += `\u20B9${coupon.flatDiscount} off`;\n }\n\n if (coupon.minOrder) {\n desc += ` on orders above \u20B9${coupon.minOrder}`;\n }\n\n if (coupon.maxValue) {\n desc += ` (max discount \u20B9${coupon.maxValue})`;\n }\n\n return desc;\n};\n\nexport const userCouponRouter = router({\n getEligible: protectedProcedure\n .query(async ({ ctx }): Promise => {\n try {\n\n const userId = ctx.user.userId;\n \n const allCoupons = await getUserActiveCouponsWithRelationsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const allCoupons = await db.query.coupons.findMany({\n where: and(\n eq(coupons.isInvalidated, false),\n or(\n isNull(coupons.validTill),\n gt(coupons.validTill, new Date())\n )\n ),\n with: {\n usages: {\n where: eq(couponUsage.userId, userId)\n },\n applicableUsers: {\n with: {\n user: true\n }\n },\n applicableProducts: {\n with: {\n product: true\n }\n },\n }\n });\n */\n\n // Filter to only coupons applicable to current user\n const applicableCoupons = allCoupons.filter(coupon => {\n if(!coupon.isUserBased) return true;\n const applicableUsers = coupon.applicableUsers || [];\n return applicableUsers.some(au => au.userId === userId);\n });\n\n return { success: true, data: applicableCoupons };\n }\n catch(e) {\n console.log(e)\n throw new ApiError(\"Unable to get coupons\")\n }\n }),\n\n getProductCoupons: protectedProcedure\n .input(z.object({ productId: z.number().int().positive() }))\n .query(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { productId } = input;\n\n // Get all active, non-expired coupons\n const allCoupons = await getUserActiveCouponsWithRelationsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const allCoupons = await db.query.coupons.findMany({\n where: and(\n eq(coupons.isInvalidated, false),\n or(\n isNull(coupons.validTill),\n gt(coupons.validTill, new Date())\n )\n ),\n with: {\n usages: {\n where: eq(couponUsage.userId, userId)\n },\n applicableUsers: {\n with: {\n user: true\n }\n },\n applicableProducts: {\n with: {\n product: true\n }\n },\n }\n });\n */\n\n // Filter to only coupons applicable to current user and product\n const applicableCoupons = allCoupons.filter(coupon => {\n const applicableUsers = coupon.applicableUsers || [];\n const userApplicable = !coupon.isUserBased || applicableUsers.some(au => au.userId === userId);\n\n const applicableProducts = coupon.applicableProducts || [];\n const productApplicable = applicableProducts.length === 0 || applicableProducts.some(ap => ap.productId === productId);\n\n return userApplicable && productApplicable;\n });\n\n return { success: true, data: applicableCoupons };\n }),\n\n getMyCoupons: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n const allCoupons = await getUserAllCouponsWithRelationsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const allCoupons = await db.query.coupons.findMany({\n with: {\n usages: {\n where: eq(couponUsage.userId, userId)\n },\n applicableUsers: {\n with: {\n user: true\n }\n }\n }\n });\n */\n\n // Filter coupons in JS: not invalidated, applicable to user, and not expired\n const applicableCoupons = allCoupons.filter(coupon => {\n const isNotInvalidated = !coupon.isInvalidated;\n const applicableUsers = coupon.applicableUsers || [];\n const isApplicable = coupon.isApplyForAll || applicableUsers.some(au => au.userId === userId);\n const isNotExpired = !coupon.validTill || new Date(coupon.validTill) > new Date();\n return isNotInvalidated && isApplicable && isNotExpired;\n });\n\n // Categorize coupons\n const personalCoupons: UserCouponDisplay[] = [];\n const generalCoupons: UserCouponDisplay[] = [];\n\n applicableCoupons.forEach(coupon => {\n const usageCount = coupon.usages.length;\n const isExpired = false; // Already filtered out expired coupons\n const isUsedUp = Boolean(coupon.maxLimitForUser && usageCount >= coupon.maxLimitForUser);\n\n const couponDisplay: UserCouponDisplay = {\n id: coupon.id,\n code: coupon.couponCode,\n discountType: coupon.discountPercent ? 'percentage' : 'flat',\n discountValue: parseFloat(coupon.discountPercent || coupon.flatDiscount || '0'),\n maxValue: coupon.maxValue ? parseFloat(coupon.maxValue) : undefined,\n minOrder: coupon.minOrder ? parseFloat(coupon.minOrder) : undefined,\n description: generateCouponDescription(coupon),\n validTill: coupon.validTill ? new Date(coupon.validTill) : undefined,\n usageCount,\n maxLimitForUser: coupon.maxLimitForUser ? parseInt(coupon.maxLimitForUser.toString()) : undefined,\n isExpired,\n isUsedUp,\n };\n\n if ((coupon.applicableUsers || []).some(au => au.userId === userId) && !coupon.isApplyForAll) {\n // Personal coupon\n personalCoupons.push(couponDisplay);\n } else if (coupon.isApplyForAll) {\n // General coupon\n generalCoupons.push(couponDisplay);\n }\n });\n\n return {\n success: true,\n data: {\n personal: personalCoupons,\n general: generalCoupons,\n }\n };\n }),\n\n redeemReservedCoupon: protectedProcedure\n .input(z.object({ secretCode: z.string() }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { secretCode } = input;\n\n const reservedCoupon = await getUserReservedCouponByCodeInDb(secretCode)\n\n /*\n // Old implementation - direct DB queries:\n const reservedCoupon = await db.query.reservedCoupons.findFirst({\n where: and(\n eq(reservedCoupons.secretCode, secretCode.toUpperCase()),\n eq(reservedCoupons.isRedeemed, false)\n ),\n });\n */\n\n if (!reservedCoupon) {\n throw new ApiError(\"Invalid or already redeemed coupon code\", 400);\n }\n\n // Check if already redeemed by this user (in case of multiple attempts)\n if (reservedCoupon.redeemedBy === userId) {\n throw new ApiError(\"You have already redeemed this coupon\", 400);\n }\n\n const couponResult = await redeemUserReservedCouponInDb(userId, reservedCoupon)\n\n /*\n // Old implementation - direct DB queries:\n const couponResult = await db.transaction(async (tx) => {\n const couponInsert = await tx.insert(coupons).values({\n couponCode: reservedCoupon.couponCode,\n isUserBased: true,\n discountPercent: reservedCoupon.discountPercent,\n flatDiscount: reservedCoupon.flatDiscount,\n minOrder: reservedCoupon.minOrder,\n productIds: reservedCoupon.productIds,\n maxValue: reservedCoupon.maxValue,\n isApplyForAll: false,\n validTill: reservedCoupon.validTill,\n maxLimitForUser: reservedCoupon.maxLimitForUser,\n exclusiveApply: reservedCoupon.exclusiveApply,\n createdBy: reservedCoupon.createdBy,\n }).returning();\n\n const coupon = couponInsert[0];\n\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId,\n });\n\n await tx.update(reservedCoupons).set({\n isRedeemed: true,\n redeemedBy: userId,\n redeemedAt: new Date(),\n }).where(eq(reservedCoupons.id, reservedCoupon.id));\n\n return coupon;\n });\n */\n\n return { success: true, coupon: couponResult };\n }),\n});\n", "// import Razorpay from \"razorpay\";\n\nexport class RazorpayPaymentService {\n // private static instance = new Razorpay({\n // key_id: razorpayId,\n // key_secret: razorpaySecret,\n // });\n //\n static async createOrder(orderId: number, amount: string) {\n // Create Razorpay order\n // const razorpayOrder = await this.instance.orders.create({\n // amount: parseFloat(amount) * 100, // Convert to paisa\n // currency: 'INR',\n // receipt: `order_${orderId}`,\n // notes: {\n // customerOrderId: orderId.toString(),\n // },\n // });\n //\n // return razorpayOrder;\n }\n\n static async insertPaymentRecord(orderId: number, razorpayOrder: any, tx?: unknown) {\n // Use transaction if provided, otherwise use db\n // const dbInstance = tx || db;\n //\n // // Insert payment record\n // const [payment] = await dbInstance\n // .insert(payments)\n // .values({\n // status: 'pending',\n // gateway: 'razorpay',\n // orderId,\n // token: orderId.toString(),\n // merchantOrderId: razorpayOrder.id,\n // payload: razorpayOrder,\n // })\n // .returning();\n //\n // return payment;\n }\n\n static async initiateRefund(paymentId: string, amount: number) {\n // const refund = await this.instance.payments.refund(paymentId, {\n // amount,\n // });\n // return refund;\n }\n\n static async fetchRefund(refundId: string) {\n // const refund = await this.instance.refunds.fetch(refundId);\n // return refund;\n }\n}\n", "\nimport { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getRazorpayId, getRazorpaySecret } from \"@/src/lib/env-exporter\"\nimport { RazorpayPaymentService } from \"@/src/lib/payments-utils\"\nimport {\n getUserPaymentOrderById as getUserPaymentOrderByIdInDb,\n getUserPaymentByOrderId as getUserPaymentByOrderIdInDb,\n getUserPaymentByMerchantOrderId as getUserPaymentByMerchantOrderIdInDb,\n updateUserPaymentSuccess as updateUserPaymentSuccessInDb,\n updateUserOrderPaymentStatus as updateUserOrderPaymentStatusInDb,\n markUserPaymentFailed as markUserPaymentFailedInDb,\n} from '@/src/dbService'\nimport type {\n UserPaymentOrderResponse,\n UserPaymentVerifyResponse,\n UserPaymentFailResponse,\n} from '@packages/shared'\n\n\n\n\nexport const paymentRouter = router({\n createRazorpayOrder: protectedProcedure //either create a new payment order or return the existing one\n .input(z.object({\n orderId: z.string(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { orderId } = input;\n\n const order = await getUserPaymentOrderByIdInDb(parseInt(orderId))\n\n /*\n // Old implementation - direct DB queries:\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, parseInt(orderId)),\n });\n */\n\n if (!order) {\n throw new ApiError(\"Order not found\", 404)\n }\n\n if (order.userId !== userId) {\n throw new ApiError(\"Order does not belong to user\", 403)\n }\n\n // Check for existing pending payment\n const existingPayment = await getUserPaymentByOrderIdInDb(parseInt(orderId))\n\n /*\n // Old implementation - direct DB queries:\n const existingPayment = await db.query.payments.findFirst({\n where: eq(payments.orderId, parseInt(orderId)),\n });\n */\n\n if (existingPayment && existingPayment.status === 'pending') {\n return {\n razorpayOrderId: existingPayment.merchantOrderId,\n key: getRazorpayId(),\n };\n }\n\n // Create Razorpay order and insert payment record\n if (order.totalAmount === null) {\n throw new ApiError('Order total is missing', 400)\n }\n const razorpayOrder = await RazorpayPaymentService.createOrder(parseInt(orderId), order.totalAmount);\n await RazorpayPaymentService.insertPaymentRecord(parseInt(orderId), razorpayOrder);\n\n return {\n razorpayOrderId: 0,\n key: getRazorpayId(),\n }\n }),\n\n\n\n verifyPayment: protectedProcedure\n .input(z.object({\n razorpay_payment_id: z.string(),\n razorpay_order_id: z.string(),\n razorpay_signature: z.string(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const { razorpay_payment_id, razorpay_order_id, razorpay_signature } = input;\n\n // Verify signature\n const encoder = new TextEncoder()\n const key = await crypto.subtle.importKey(\n 'raw',\n encoder.encode(getRazorpaySecret()),\n { name: 'HMAC', hash: 'SHA-256' },\n false,\n ['sign']\n )\n const signature = await crypto.subtle.sign(\n 'HMAC',\n key,\n encoder.encode(`${razorpay_order_id}|${razorpay_payment_id}`)\n )\n const expectedSignature = Array.from(new Uint8Array(signature))\n .map((byte) => byte.toString(16).padStart(2, '0'))\n .join('')\n\n if (expectedSignature !== razorpay_signature) {\n throw new ApiError(\"Invalid payment signature\", 400);\n }\n\n // Get current payment record\n const currentPayment = await getUserPaymentByMerchantOrderIdInDb(razorpay_order_id)\n\n /*\n // Old implementation - direct DB queries:\n const currentPayment = await db.query.payments.findFirst({\n where: eq(payments.merchantOrderId, razorpay_order_id),\n });\n */\n\n if (!currentPayment) {\n throw new ApiError(\"Payment record not found\", 404);\n }\n\n // Update payment status and payload\n const updatedPayload = {\n ...((currentPayment.payload as any) || {}),\n payment_id: razorpay_payment_id,\n signature: razorpay_signature,\n };\n\n const updatedPayment = await updateUserPaymentSuccessInDb(razorpay_order_id, updatedPayload)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedPayment] = await db\n .update(payments)\n .set({\n status: 'success',\n payload: updatedPayload,\n })\n .where(eq(payments.merchantOrderId, razorpay_order_id))\n .returning();\n\n await db\n .update(orderStatus)\n .set({\n paymentStatus: 'success',\n })\n .where(eq(orderStatus.orderId, updatedPayment.orderId));\n */\n\n if (!updatedPayment) {\n throw new ApiError(\"Payment record not found\", 404)\n }\n\n await updateUserOrderPaymentStatusInDb(updatedPayment.orderId, 'success')\n\n return {\n success: true,\n message: \"Payment verified successfully\",\n }\n }),\n\n markPaymentFailed: protectedProcedure\n .input(z.object({\n merchantOrderId: z.string(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { merchantOrderId } = input;\n\n // Find payment by merchantOrderId\n const payment = await getUserPaymentByMerchantOrderIdInDb(merchantOrderId)\n\n /*\n // Old implementation - direct DB queries:\n const payment = await db.query.payments.findFirst({\n where: eq(payments.merchantOrderId, merchantOrderId),\n });\n */\n\n if (!payment) {\n throw new ApiError(\"Payment not found\", 404);\n }\n\n // Check if payment belongs to user's order\n const order = await getUserPaymentOrderByIdInDb(payment.orderId)\n\n /*\n // Old implementation - direct DB queries:\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, payment.orderId),\n });\n */\n\n if (!order || order.userId !== userId) {\n throw new ApiError(\"Payment does not belong to user\", 403);\n }\n\n // Update payment status to failed\n await markUserPaymentFailedInDb(payment.id)\n\n /*\n // Old implementation - direct DB queries:\n await db\n .update(payments)\n .set({ status: 'failed' })\n .where(eq(payments.id, payment.id));\n */\n\n return {\n success: true,\n message: \"Payment marked as failed\",\n }\n }),\n\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index';\nimport { z } from 'zod';\nimport { generateUploadUrl } from '@/src/lib/s3-client';\nimport { ApiError } from '@/src/lib/api-error';\n\nexport const fileUploadRouter = router({\n generateUploadUrls: protectedProcedure\n .input(z.object({\n contextString: z.enum(['review', 'product_info', 'notification', 'complaint', 'profile', 'tags']),\n mimeTypes: z.array(z.string()),\n }))\n .mutation(async ({ input }): Promise<{ uploadUrls: string[] }> => {\n const { contextString, mimeTypes } = input;\n\n const uploadUrls: string[] = [];\n const keys: string[] = [];\n\n for (const mimeType of mimeTypes) {\n // Generate key based on context and mime type\n let folder: string;\n if (contextString === 'review') {\n folder = 'review-images';\n } else if(contextString === 'product_info') {\n folder = 'product-images';\n }\n // else if(contextString === 'review_response') {\n // folder = 'review-response-images'\n // } \n else if(contextString === 'notification') {\n folder = 'notification-images'\n } else if (contextString === 'complaint') {\n folder = 'complaint-images'\n } else if (contextString === 'profile') {\n folder = 'profile-images'\n } else if (contextString === 'tags') {\n folder = 'tags'\n } else {\n folder = '';\n }\n\n const extension = mimeType === 'image/jpeg' ? '.jpg' :\n mimeType === 'image/png' ? '.png' :\n mimeType === 'image/gif' ? '.gif' : '.jpg';\n const key = `${folder}/${Date.now()}${extension}`;\n\n try {\n const uploadUrl = await generateUploadUrl(key, mimeType);\n uploadUrls.push(uploadUrl);\n keys.push(key);\n \n } catch (error) {\n console.error('Error generating upload URL:', error);\n throw new ApiError('Failed to generate upload URL', 500);\n }\n }\n \n return { uploadUrls };\n }),\n});\n\nexport type FileUploadRouter = typeof fileUploadRouter;\n", "import { router, publicProcedure } from '@/src/trpc/trpc-index';\nimport { z } from 'zod';\nimport { getTagsByStoreId } from '@/src/stores/product-tag-store';\nimport { ApiError } from '@/src/lib/api-error';\n\nexport const tagsRouter = router({\n getTagsByStore: publicProcedure\n .input(z.object({\n storeId: z.number(),\n }))\n .query(async ({ input }) => {\n const { storeId } = input;\n\n // Get tags from cache that are related to this store\n const tags = await getTagsByStoreId(storeId);\n \n\n return {\n tags: tags.map(tag => ({\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription,\n imageUrl: tag.imageUrl,\n productIds: tag.productIds,\n })),\n };\n }),\n});\n", "import { router } from '@/src/trpc/trpc-index';\nimport { addressRouter } from '@/src/trpc/apis/user-apis/apis/address';\nimport { authRouter } from '@/src/trpc/apis/user-apis/apis/auth';\nimport { bannerRouter } from '@/src/trpc/apis/user-apis/apis/banners';\nimport { cartRouter } from '@/src/trpc/apis/user-apis/apis/cart';\nimport { complaintRouter } from '@/src/trpc/apis/user-apis/apis/complaint';\nimport { orderRouter } from '@/src/trpc/apis/user-apis/apis/order';\nimport { productRouter } from '@/src/trpc/apis/user-apis/apis/product';\nimport { slotsRouter } from '@/src/trpc/apis/user-apis/apis/slots';\nimport { userRouter as userDataRouter } from '@/src/trpc/apis/user-apis/apis/user';\nimport { userCouponRouter } from '@/src/trpc/apis/user-apis/apis/coupon';\nimport { paymentRouter } from '@/src/trpc/apis/user-apis/apis/payments';\nimport { storesRouter } from '@/src/trpc/apis/user-apis/apis/stores';\nimport { fileUploadRouter } from '@/src/trpc/apis/user-apis/apis/file-upload';\nimport { tagsRouter } from '@/src/trpc/apis/user-apis/apis/tags';\n\nexport const userRouter = router({\n address: addressRouter,\n auth: authRouter,\n banner: bannerRouter,\n cart: cartRouter,\n complaint: complaintRouter,\n order: orderRouter,\n product: productRouter,\n slots: slotsRouter,\n user: userDataRouter,\n coupon: userCouponRouter,\n payment: paymentRouter,\n stores: storesRouter,\n fileUpload: fileUploadRouter,\n tags: tagsRouter,\n});\n\nexport type UserRouter = typeof userRouter;\n", "import { router, publicProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport { adminRouter } from '@/src/trpc/apis/admin-apis/apis/admin-trpc-index'\nimport { userRouter } from '@/src/trpc/apis/user-apis/apis/user-trpc-index'\nimport { commonApiRouter } from '@/src/trpc/apis/common-apis/common-trpc-index'\nimport { scaffoldProducts } from './apis/common-apis/common';\nimport { scaffoldStores, scaffoldStoreWithProducts } from './apis/user-apis/apis/stores';\nimport { scaffoldSlotsWithProducts } from './apis/user-apis/apis/slots';\nimport { scaffoldEssentialConsts } from './apis/common-apis/common-trpc-index';\nimport { scaffoldBanners } from './apis/user-apis/apis/banners';\n\n// Create the main app router\nexport const appRouter = router({\n hello: publicProcedure\n .input(z.object({ name: z.string() }))\n .query(({ input }) => {\n return { greeting: `Hello ${input.name}!` };\n }),\n admin: adminRouter,\n user: userRouter,\n common: commonApiRouter,\n});\n\n\n// Export type definition of API\nexport type AppRouter = typeof appRouter;\n\nexport type AllProductsApiType = Awaited>;\nexport type StoresApiType = Awaited>;\nexport type SlotsApiType = Awaited>;\nexport type EssentialConstsApiType = Awaited>;\nexport type BannersApiType = Awaited>;\nexport type StoreWithProductsApiType = Awaited>;\n", "import { Hono } from 'hono'\nimport { cors } from 'hono/cors'\nimport { logger } from 'hono/logger'\nimport { trpcServer } from '@hono/trpc-server'\nimport { getStaffUserById, isUserSuspended } from '@/src/dbService'\nimport mainRouter from '@/src/main-router'\nimport { appRouter } from '@/src/trpc/router'\nimport { TRPCError } from '@trpc/server'\nimport { jwtVerify } from 'jose'\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter'\n\nexport const createApp = () => {\n const app = new Hono()\n\n // CORS middleware\n app.use(cors({\n origin: 'http://localhost:5174',\n allowMethods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],\n allowHeaders: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'Authorization'],\n credentials: true,\n }))\n\n // Logger middleware\n app.use(logger())\n\n // tRPC middleware\n app.use('/api/trpc/*', trpcServer({\n router: appRouter,\n createContext: async ({ req }) => {\n let user = null\n let staffUser = null\n const authHeader = req.headers.get('authorization')\n\n if (authHeader?.startsWith('Bearer ')) {\n const token = authHeader.substring(7)\n try {\n const { payload } = await jwtVerify(token, getEncodedJwtSecret())\n const decoded = payload as any\n\n // Check if this is a staff token (has staffId)\n if (decoded.staffId) {\n // This is a staff token, verify staff exists\n const staff = await getStaffUserById(decoded.staffId)\n\n if (staff) {\n user = staffUser\n staffUser = {\n id: staff.id,\n name: staff.name,\n }\n }\n } else {\n // This is a regular user token\n user = decoded\n\n // Check if user is suspended\n const suspended = await isUserSuspended(user.userId)\n\n if (suspended) {\n throw new TRPCError({\n code: 'FORBIDDEN',\n message: 'Account suspended',\n })\n }\n }\n } catch (err) {\n // Invalid token, both user and staffUser remain null\n }\n }\n return { req, user, staffUser }\n },\n onError({ error, path, type, ctx }) {\n console.error('\uD83D\uDEA8 tRPC Error :', {\n path,\n type,\n code: error.code,\n message: error.message,\n userId: ctx?.user?.userId,\n stack: error.stack,\n })\n },\n }))\n\n // Mount main router\n app.route('/api', mainRouter)\n\n // Global error handler\n app.onError((err, c) => {\n console.error(err)\n // Handle different error types\n let status = 500\n let message = 'Internal Server Error'\n\n if (err instanceof TRPCError) {\n // Map TRPC error codes to HTTP status codes\n const trpcStatusMap: Record = {\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 408,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n METHOD_NOT_SUPPORTED: 405,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n INTERNAL_SERVER_ERROR: 500,\n }\n status = trpcStatusMap[err.code] || 500\n message = err.message\n } else if ((err as any).statusCode) {\n status = (err as any).statusCode\n message = err.message\n } else if ((err as any).status) {\n status = (err as any).status\n message = err.message\n } else if (err.message) {\n message = err.message\n }\n\n return c.json({ message }, status as any)\n })\n\n return app\n}\n", "// This loads all middlewares exposed on the middleware object and then starts\n// the invocation chain. The big idea is that we can add these to the middleware\n// export dynamically through wrangler, or we can potentially let users directly\n// add them as a sort of \"plugin\" system.\n\nimport ENTRY, { __INTERNAL_WRANGLER_MIDDLEWARE__ } from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/.wrangler/tmp/bundle-MabhKO/middleware-insertion-facade.js\";\nimport { __facade_invoke__, __facade_register__, Dispatcher } from \"/Users/mohammedshafiuddin/WebDev/freshyo/node_modules/wrangler/templates/middleware/common.ts\";\nimport type { WorkerEntrypointConstructor } from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/.wrangler/tmp/bundle-MabhKO/middleware-insertion-facade.js\";\n\n// Preserve all the exports from the worker\nexport * from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/.wrangler/tmp/bundle-MabhKO/middleware-insertion-facade.js\";\n\nclass __Facade_ScheduledController__ implements ScheduledController {\n\treadonly #noRetry: ScheduledController[\"noRetry\"];\n\n\tconstructor(\n\t\treadonly scheduledTime: number,\n\t\treadonly cron: string,\n\t\tnoRetry: ScheduledController[\"noRetry\"]\n\t) {\n\t\tthis.#noRetry = noRetry;\n\t}\n\n\tnoRetry() {\n\t\tif (!(this instanceof __Facade_ScheduledController__)) {\n\t\t\tthrow new TypeError(\"Illegal invocation\");\n\t\t}\n\t\t// Need to call native method immediately in case uncaught error thrown\n\t\tthis.#noRetry();\n\t}\n}\n\nfunction wrapExportedHandler(worker: ExportedHandler): ExportedHandler {\n\t// If we don't have any middleware defined, just return the handler as is\n\tif (\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__ === undefined ||\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__.length === 0\n\t) {\n\t\treturn worker;\n\t}\n\t// Otherwise, register all middleware once\n\tfor (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {\n\t\t__facade_register__(middleware);\n\t}\n\n\tconst fetchDispatcher: ExportedHandlerFetchHandler = function (\n\t\trequest,\n\t\tenv,\n\t\tctx\n\t) {\n\t\tif (worker.fetch === undefined) {\n\t\t\tthrow new Error(\"Handler does not export a fetch() function.\");\n\t\t}\n\t\treturn worker.fetch(request, env, ctx);\n\t};\n\n\treturn {\n\t\t...worker,\n\t\tfetch(request, env, ctx) {\n\t\t\tconst dispatcher: Dispatcher = function (type, init) {\n\t\t\t\tif (type === \"scheduled\" && worker.scheduled !== undefined) {\n\t\t\t\t\tconst controller = new __Facade_ScheduledController__(\n\t\t\t\t\t\tDate.now(),\n\t\t\t\t\t\tinit.cron ?? \"\",\n\t\t\t\t\t\t() => {}\n\t\t\t\t\t);\n\t\t\t\t\treturn worker.scheduled(controller, env, ctx);\n\t\t\t\t}\n\t\t\t};\n\t\t\treturn __facade_invoke__(request, env, ctx, dispatcher, fetchDispatcher);\n\t\t},\n\t};\n}\n\nfunction wrapWorkerEntrypoint(\n\tklass: WorkerEntrypointConstructor\n): WorkerEntrypointConstructor {\n\t// If we don't have any middleware defined, just return the handler as is\n\tif (\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__ === undefined ||\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__.length === 0\n\t) {\n\t\treturn klass;\n\t}\n\t// Otherwise, register all middleware once\n\tfor (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {\n\t\t__facade_register__(middleware);\n\t}\n\n\t// `extend`ing `klass` here so other RPC methods remain callable\n\treturn class extends klass {\n\t\t#fetchDispatcher: ExportedHandlerFetchHandler> = (\n\t\t\trequest,\n\t\t\tenv,\n\t\t\tctx\n\t\t) => {\n\t\t\tthis.env = env;\n\t\t\tthis.ctx = ctx;\n\t\t\tif (super.fetch === undefined) {\n\t\t\t\tthrow new Error(\"Entrypoint class does not define a fetch() function.\");\n\t\t\t}\n\t\t\treturn super.fetch(request);\n\t\t};\n\n\t\t#dispatcher: Dispatcher = (type, init) => {\n\t\t\tif (type === \"scheduled\" && super.scheduled !== undefined) {\n\t\t\t\tconst controller = new __Facade_ScheduledController__(\n\t\t\t\t\tDate.now(),\n\t\t\t\t\tinit.cron ?? \"\",\n\t\t\t\t\t() => {}\n\t\t\t\t);\n\t\t\t\treturn super.scheduled(controller);\n\t\t\t}\n\t\t};\n\n\t\tfetch(request: Request) {\n\t\t\treturn __facade_invoke__(\n\t\t\t\trequest,\n\t\t\t\tthis.env,\n\t\t\t\tthis.ctx,\n\t\t\t\tthis.#dispatcher,\n\t\t\t\tthis.#fetchDispatcher\n\t\t\t);\n\t\t}\n\t};\n}\n\nlet WRAPPED_ENTRY: ExportedHandler | WorkerEntrypointConstructor | undefined;\nif (typeof ENTRY === \"object\") {\n\tWRAPPED_ENTRY = wrapExportedHandler(ENTRY);\n} else if (typeof ENTRY === \"function\") {\n\tWRAPPED_ENTRY = wrapWorkerEntrypoint(ENTRY);\n}\nexport default WRAPPED_ENTRY;\n", "\t\t\t\timport worker, * as OTHER_EXPORTS from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/worker.ts\";\n\t\t\t\timport * as __MIDDLEWARE_0__ from \"/Users/mohammedshafiuddin/WebDev/freshyo/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts\";\nimport * as __MIDDLEWARE_1__ from \"/Users/mohammedshafiuddin/WebDev/freshyo/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts\";\n\n\t\t\t\texport * from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/worker.ts\";\n\n\t\t\t\texport const __INTERNAL_WRANGLER_MIDDLEWARE__ = [\n\t\t\t\t\t\n\t\t\t\t\t__MIDDLEWARE_0__.default,__MIDDLEWARE_1__.default\n\t\t\t\t]\n\t\t\t\texport default worker;", "import type {\n ExecutionContext,\n D1Database,\n DurableObjectNamespace,\n} from '@cloudflare/workers-types'\nimport { CacheCreator } from './src/jobs/cache-creator'\nimport {\n handleNotifQueue,\n handleOrderPlacedQueue,\n handleOrderCancelledQueue,\n} from './src/lib/queue-consumer'\n\nexport { CacheCreator }\n\nexport default {\n async fetch(\n request: Request,\n env: Record & {\n DB?: D1Database\n CACHE_CREATOR: DurableObjectNamespace\n NOTIF_QUEUE: {\n send: (message: unknown) => Promise\n }\n ORDER_PLACED_QUEUE: {\n send: (message: unknown) => Promise\n }\n ORDER_CANCELLED_QUEUE: {\n send: (message: unknown) => Promise\n }\n },\n ctx: ExecutionContext\n ) {\n ;(globalThis as any).ENV = env\n const { createApp } = await import('./src/app')\n const { initDb } = await import('./src/dbService')\n if (env.DB) {\n initDb(env.DB)\n }\n const app = createApp()\n return app.fetch(request, env, ctx)\n },\n async queue(\n batch: any,\n env: Record & {\n NOTIF_QUEUE: {\n send: (message: unknown) => Promise\n }\n ORDER_PLACED_QUEUE: {\n send: (message: unknown) => Promise\n }\n ORDER_CANCELLED_QUEUE: {\n send: (message: unknown) => Promise\n }\n }\n ) {\n if (batch?.queue === 'notif_queue') {\n handleNotifQueue(batch)\n return\n }\n\n if (batch?.queue === 'order_placed_queue') {\n await handleOrderPlacedQueue(batch)\n return\n }\n\n if (batch?.queue === 'order_cancelled_queue') {\n await handleOrderCancelledQueue(batch)\n return\n }\n\n handleNotifQueue(batch)\n },\n}\n", "import dayjs from 'dayjs'\nimport { initializeAllStores } from '@/src/stores/store-initializer'\n\nconst LAST_TRIGGER_KEY = 'lastTrigger'\nconst ALARM_DELAY_MINUTES = 0.5\n// const ALARM_DELAY_MINUTES = 3\n\nexport class CacheCreator {\n private state: any\n\n constructor(state: any) {\n this.state = state\n }\n\n async fetch(request: Request): Promise {\n const url = new URL(request.url)\n if (request.method === 'POST' && url.pathname === '/schedule') {\n const now = Date.now()\n await this.state.storage.put(LAST_TRIGGER_KEY, now)\n const alarmAt = dayjs(now).add(ALARM_DELAY_MINUTES, 'minute').valueOf()\n await this.state.storage.setAlarm(alarmAt)\n return new Response('OK')\n }\n if (request.method === 'POST' && url.pathname === '/clear') {\n await this.state.storage.deleteAll()\n return new Response('OK')\n }\n\n return new Response('CacheCreator ready', { status: 200 })\n }\n\n async alarm(): Promise {\n const lastTrigger = await this.state.storage.get(LAST_TRIGGER_KEY)\n if (!lastTrigger) {\n return\n }\n\n const threshold = dayjs().subtract(ALARM_DELAY_MINUTES, 'minute')\n if (dayjs(lastTrigger).isBefore(threshold)) {\n await initializeAllStores()\n }\n }\n}\n", "import { sendAdminNotification } from '@/src/lib/notif-job'\nimport { handleOrderCancelled, handleOrderPlaced } from '@/src/lib/post-order-handler'\n\nexport const handleNotifQueue = (batch: any) => {\n batch.messages.forEach((message: any) => {\n const body = message?.body\n if (!body) {\n console.log('notif_queue message received with empty body')\n return\n }\n\n if (body.name === 'send-admin-notification' && body.jobData?.token) {\n void sendAdminNotification({\n token: body.jobData.token,\n title: body.jobData.title,\n body: body.jobData.body,\n imageUrl: body.jobData.imageUrl ?? null,\n })\n return\n }\n\n console.log('notif_queue message received', body)\n })\n}\n\nexport const handleOrderPlacedQueue = async (batch: any) => {\n for (const message of batch.messages || []) {\n const body = message?.body\n if (!body || !Array.isArray(body.orderIds)) {\n console.log('order_placed_queue message received', body)\n continue\n }\n\n await handleOrderPlaced(body.orderIds)\n }\n}\n\nexport const handleOrderCancelledQueue = async (batch: any) => {\n for (const message of batch.messages || []) {\n const body = message?.body\n if (!body || !body.orderId) {\n console.log('order_cancelled_queue message received', body)\n continue\n }\n\n await handleOrderCancelled({\n orderId: body.orderId,\n cancelledBy: body.cancelledBy,\n reason: body.reason,\n cancelledAt: body.cancelledAt,\n })\n }\n}\n", "import type { Middleware } from \"./common\";\n\nconst drainBody: Middleware = async (request, env, _ctx, middlewareCtx) => {\n\ttry {\n\t\treturn await middlewareCtx.next(request, env);\n\t} finally {\n\t\ttry {\n\t\t\tif (request.body !== null && !request.bodyUsed) {\n\t\t\t\tconst reader = request.body.getReader();\n\t\t\t\twhile (!(await reader.read()).done) {}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Failed to drain the unused request body.\", e);\n\t\t}\n\t}\n};\n\nexport default drainBody;\n", "import type { Middleware } from \"./common\";\n\ninterface JsonError {\n\tmessage?: string;\n\tname?: string;\n\tstack?: string;\n\tcause?: JsonError;\n}\n\nfunction reduceError(e: any): JsonError {\n\treturn {\n\t\tname: e?.name,\n\t\tmessage: e?.message ?? String(e),\n\t\tstack: e?.stack,\n\t\tcause: e?.cause === undefined ? undefined : reduceError(e.cause),\n\t};\n}\n\n// See comment in `bundle.ts` for details on why this is needed\nconst jsonError: Middleware = async (request, env, _ctx, middlewareCtx) => {\n\ttry {\n\t\treturn await middlewareCtx.next(request, env);\n\t} catch (e: any) {\n\t\tconst error = reduceError(e);\n\t\treturn Response.json(error, {\n\t\t\tstatus: 500,\n\t\t\theaders: { \"MF-Experimental-Error-Stack\": \"true\" },\n\t\t});\n\t}\n};\n\nexport default jsonError;\n", "export type Awaitable = T | Promise;\n// TODO: allow dispatching more events?\nexport type Dispatcher = (\n\ttype: \"scheduled\",\n\tinit: { cron?: string }\n) => Awaitable;\n\nexport type IncomingRequest = Request<\n\tunknown,\n\tIncomingRequestCfProperties\n>;\n\nexport interface MiddlewareContext {\n\tdispatch: Dispatcher;\n\tnext(request: IncomingRequest, env: any): Awaitable;\n}\n\nexport type Middleware = (\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tmiddlewareCtx: MiddlewareContext\n) => Awaitable;\n\nconst __facade_middleware__: Middleware[] = [];\n\n// The register functions allow for the insertion of one or many middleware,\n// We register internal middleware first in the stack, but have no way of controlling\n// the order that addMiddleware is run in service workers so need an internal function.\nexport function __facade_register__(...args: (Middleware | Middleware[])[]) {\n\t__facade_middleware__.push(...args.flat());\n}\nexport function __facade_registerInternal__(\n\t...args: (Middleware | Middleware[])[]\n) {\n\t__facade_middleware__.unshift(...args.flat());\n}\n\nfunction __facade_invokeChain__(\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tdispatch: Dispatcher,\n\tmiddlewareChain: Middleware[]\n): Awaitable {\n\tconst [head, ...tail] = middlewareChain;\n\tconst middlewareCtx: MiddlewareContext = {\n\t\tdispatch,\n\t\tnext(newRequest, newEnv) {\n\t\t\treturn __facade_invokeChain__(newRequest, newEnv, ctx, dispatch, tail);\n\t\t},\n\t};\n\treturn head(request, env, ctx, middlewareCtx);\n}\n\nexport function __facade_invoke__(\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tdispatch: Dispatcher,\n\tfinalMiddleware: Middleware\n): Awaitable {\n\treturn __facade_invokeChain__(request, env, ctx, dispatch, [\n\t\t...__facade_middleware__,\n\t\tfinalMiddleware,\n\t]);\n}\n"], - "mappings": "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MACA,cAAc,OAAO,OAAO,OAAO;AAAA,QAClC,cAAc;AAAA,QACd,KAAK;AAAA,QACL,UAAU;AAAA,QACV,WAAW;AAAA,QACX,UAAU;AAAA,MACX,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;AAAA,MACpB,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,UAAU;AAAA,MACV,eAAe;AAAA,MACf,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MACpB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,YAAY;AAAA,MACZ,6BAA6B;AAAA,MAC7B,4BAA4B;AAAA,MAC5B,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,iBAAiB;AAAA,IAClB;AAzNa;AAAA;AAAA;;;ACHb,IAEM,eACO,kBACE,MAAM,UAAU,UAGzB,cAMJ,OACA,aACA,6BACA,qCACA,qCACA,aACA,mBACA,MACA,MACA,OACA,OACA,QACA,WACA,mBACA,iBACA,UACA,KACA,WACA,QACA,YACA,MACA,aACA,KACA,YACA,UACA,UACA,cACA,UACA,wBACA,iBACAC,SACA,MACA,WACA,eACA,aACA,IACA,KACA,MACA,KACA,MACA,iBACA,qBACA,cACA,SACA,oBACA,gBACA,QACA,eACA,iBACA,sBACA,QACA,OACA,QACA,OACA,kBACA,kBACA,OACA,QACA,SACA,UACA,QACA,YACA,gBACA,YACA,WACAC,SACA,SACA,MACA,UACA,SACA,SACA,SACA,QACA,WACA,QACA,SACA,SACA,QACA,WACA,QACA,YACA,YACA,SACA,cACA,UACA,eACA,WACA,eACA,iBACA,mBACA,oBACA,OACA,kBACA,WACA,4BACA,2BACA,eACA,aACA,cACA,iBACA,UACA,OACA,gBAEI,UA8GC;AAnOP,IAAAC,gBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA,IAAM,gBAAgB,WAAW,SAAS;AACnC,IAAM,mBAAmB,cAAc;AACvC,KAAM,EAAE,MAAM,UAAU,aAAa;AAAA,MAC1C;AAAA,IACF;AACA,IAAM,eAAe,IAAI,QAAa;AAAA,MACpC,KAAK,cAAc;AAAA,MACnB;AAAA,MACA;AAAA,IACF,CAAC;AACM,KAAM;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE;AACJ,IAAM,WAAW;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,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G,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,uFAAuF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,iFAAiF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,uEAAuE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,4EAA4E,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,kEAAkE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAA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EAAkE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,kFAAkF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,uEAAuE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,mCAAmC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAA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AAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,mFAAmF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,2DAA2D,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,sEAAsE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,iEAAiE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,mEAAmE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,yDAAyD,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,8DAA8D,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EA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AS;AAAA,MAC5D;AAAA,IACJ;AAXa;AAYN,IAAM,eAAN,cAA2B,mBAAgB;AAAA,MAC9C,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY,MAAM;AACd,cAAM;AAAA,UACF,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,GAAG;AAAA,QACP,CAAC;AACD,eAAO,eAAe,MAAM,aAAa,SAAS;AAAA,MACtD;AAAA,IACJ;AAXa;AAYN,IAAM,+BAAN,cAA2C,mBAAgB;AAAA,MAC9D,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY,MAAM;AACd,cAAM;AAAA,UACF,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,GAAG;AAAA,QACP,CAAC;AACD,eAAO,eAAe,MAAM,6BAA6B,SAAS;AAAA,MACtE;AAAA,IACJ;AAXa;AAYN,IAAM,iCAAN,cAA6C,mBAAgB;AAAA,MAChE,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY,MAAM;AACd,cAAM;AAAA,UACF,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,GAAG;AAAA,QACP,CAAC;AACD,eAAO,eAAe,MAAM,+BAA+B,SAAS;AAAA,MACxE;AAAA,IACJ;AAXa;AAAA;AAAA;;;AC7Kb,IAAM,IACA,MACA,KACA,MACA,OACA,OACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,KACA,MACA,KACA,OACA,MACA,KACA,MACA,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,KACA,MACA,KACA,OACA,SACA,MACA,KACA,KACA,IACA,KACA,MACA,MACA,QACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,MACA,KACA,MACA,KACA,KACA,KACA,IACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,SACA,MACA,MACA,KACA,OACA,QACA,WACA,MACA,KACA,MACA,MACA,KACA,MACA,MACA,KACA,MACA,KACA,MACA,OACA,MACA,KACA,MACA,MACA,OACA,QACA,OACA,QACA,QACA,OACA,OACA,MACA,KACA,MACA,MACA,QACA,QACA,SACA,OACA,KACA,MACA,OACA,MACA,MACA,OACA,KACA,QACA,MACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,MACA,MACA,OACA,OACA,UACA,UACA,YACA,MACA,OACA,QACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,KACA,MACA,MACA,MACA,OACA,KACA,IACA,MACA,KACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,QACA,QACA,SACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,MACA,OACA,MACA,OACA,KACA,MACA,OACA,OACA,OACA,KACA,MACA,MACA,OACA,MACA,KACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,MACA,OACA,QACA,OACA,QACA,KACA,MACA,OACA,OACA,KACA,KACA,MACA,OACA,MACA,OACA,MACA,IACA,KACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,KACA,MACA,KACA,OACA,MACA,KACA,OACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,IACA,KACA,MACA,KACA,KACA,MACA,MACA,KACA,KACA,KACA,IACA,MACA,OACA,QACA,SACA,QACA,SACA,QACA,OACA,QACA,OACA,QACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,SACA,MACA,OACA,QACA,QACA,OACA,QACA,OACA,QACA,OACA,OACA,QACA,SACA,QACA,SACA,UACA,QACA,QACA,SACA,SACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,OACA,OACA,OACA,QACA,QACA,MACA,OACA,OACA,QACA,QACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,MACA,MACA,KACA,MACA,OACA,QACA,OACA,OACA,QACA,SACA,OACA,OACA,QACA,QACA,OACA,QACA,QACA,MACA,MACA,OACA,OACA,OACA,MACA,OACA,QACA,OACA,QACA,OACA,OACA,QACA,QACA,KACA,QACA,KACA,QACA,KACA,MACA,KACA,MACA,MACA,QACA,KACA,KACA,MACA,MACA,MACA,IACA,KACA,MACA,KACA,MACA,OACA,KACA,MACA,KACA,KACA,KACA,OACA,QACA,MACA,OACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,OACA,KACA,OACA,MACA,KACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,OACA,MACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,OACA,IACA,KACA,KACA,MACA,KACA,OACA,QACA,QACA,UACA,MACA,IACA,QACA,SACA,KACA,OACA,QACA,QACA,SACA,OACA,QACA,QACA,QACA,SACA,SACA,OACA,QACA,QACA,MACA,MACA,OACA,KACA,MACA,MACA,OACA,OACA,KACA,MACA,MACA,MACA,OACA,OACA,KACA,KACA,OACA,KACA,OACA,MACA,MACA,OACA,OACA,QACA,MACA,KACA,MACA,MACA,MACA,OACA,QACA,OACA,QACA,OACA,KACA,MACA,MACA,OACA,KACA,OACA,MACA,MACA,MACA,IACA,MACA,MACA,KACA,KACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,KACA,MACA,OACA,KACA,KACA,MACA,KACA,MACA,OACA,OACA,KACA,MACA,MACA,KACA,KACA,MACA,KACA,KACA,IACA,KACA,MACA,MACA,KACA,SACA,KACA,MACA,KACA,MACA,OACA,MACA,MACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,IACA,KACA,SACA,KACA,MACA,OACA,KACA,KACA,KACA,MACA,KACA,MACA,MACA,QACA,OACA,QACA,MACA,MACA,QACA,OACA,MACA,SACA,KACA,MACA,KACA,MACA,KACA,OACA,OACA,MACA,MACA,KACA,MACA,KACA,MACA,IACA,OACA,MACA,OACA,QACA,SACA,QACA,OACA,QACA,OACA,MACA,OACA,MACA,OACA,OACA,QACA,QACA,SACA,MACA,OACA,QACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,QACA,MACA,OACA,MACA,OACA,QACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,KACA,MACA,KACA,KACA,KACA,KACA,MACA,KACA,MACA,OACA,OACA,OACA,QACA,QACA,OACA,QACA,QACA,MACA,MACA,OACA,OACA,OACA,MACA,OACA,OACA,KACA,OACA,QACA,KACA,KACA,MACA,OACA,MACA,OACA,KACA,KACA,KACA,MACA,MACA,IACA,KACA,KACA,MACA,MACA,OACA,MACA,KACA,KACA,IACA,OACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,OACA,QACA,OACA,MACA,KACA,KACA,MACA,OACA,MACA,MACA,OACA,MACA,KACA,MACA,MACA,MACA,KACA,OACA,MACA,MACA,OACA,OACA,OACA,MACA,KACA,MACA,OACA,KACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,MACA,MACA,KACA,MACA,KACA,MACA,QACA,MACA,MACA,MACA,MACA,KACA,MACA,OACA,OACA,OACA,KACA,OACA,MACA,MACA,KACA,KACA,MACA,QACA,OACA,OACA,KACA,MACA,KACA,KACA,MACA,MACA,OACA,QACA,OACA,QACA,QACA,UACA,SACA,UACA,WACA,WACA,OACA,QACA,OACA,KACA,MACA,OACA,KACA,KACA,KACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,MACA,KACA,MACA,MACA,OACA,KACA,QACA,KACA,MACA,KACA,MACA,MACA,KACA,MACA,OACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,OACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,SACA,UACA,SACA,UACA,KACA,MACA,KACA,MACA,OACA,QACA,KACA,MACA,OACA,OACA,MACA,MACA,MACA,KACA,IACA,KACA,KACA,MACA,KACA,MACA,KACA,OACA,QACA,MACA,MACA,IACA,KACA,KACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,IACA,KACA,KACA,IACA,KACA,MACA,KACA,KACA,KACA,IACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,KACA,KACA,KACA,MACA,KACA,MACA,IACA,KACA,KACA,KACA,MACA,MACA,OACA,QACA,QACA,OACA,OACA,QACA,QACA,QACA,OACA,SACA,SACA,OACA,OACA,OACA,QACA,SACA,OACA,UACA,OACA,QACA,SACA,SACA,UACA,UACA,UACA,QACA,QACA,YACA,YACA,aACA,SACA,OACA,QACA,OACA,MACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,SACA,SACA,SACA,WACA,YACA,aACA,WACA,YACA,WACA,UACA,WACA,YACA,aACA,YACA,cACA,UACA,WACA,WACA,WACA,YACA,gBACA,eACA,cACA,eACA,WACA,WACA,OACA,QACA,OACA,QACA,OACA,QACA,SACA,UACA,QACA,MACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,MACA,OACA,QACA,OACA,OACA,OACA,QACA,SACA,UACA,UACA,UACA,OACA,OACA,QACA,QACA,SACA,QACA,YACA,WACA,SACA,UACA,UACA,WACA,MACA,OACA,OACA,UACA,OACA,QACA,QACA,KACA,IAIA,aACK,qBAEL,aACK,eAMA,sBAMA,0BAMA,yBAMA,+BAMA,qBAMA,iBAMA,qBAMA,eAMA,YAMA,eAMA,WAMA,iCAMA,6BAMA,eAME,qBAIT,0BACA,yBACA,wBACA,gBACA,yBACA,aACA,eACO,aAKA,iCAKA,6BAKA,8BAKA,0BAKA,sBAKA,2BAKA,uBAKA,yBAKA,6BAKA,+BAKA,yBAKA,SAKA,aAKA,+BAKA,sBAKA,WAKA,eA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8BAAO,QAAQ,UAAU;AAC7D,YAAM,kBAAkB,EAAE,UAAU,GAAG,UAAU,IAAI;AACrD,YAAM,SAAS,MAAM,aAAa,EAAE,GAAG,iBAAiB,GAAG,OAAO,GAAG,OAAOA,WAAU;AACtF,aAAO,gBAAgB,MAAM;AAAA,IACjC,GAJwC;AAAA;AAAA;;;ACpBxC,IAqHM,UA6GA,YAMA,SAMO;AA9Ob;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAG;AAAA,IAAAC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,WAAW;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,IAAM,aAAa;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,IAAM,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACO,IAAM,KAAN,cAAiB,SAAS;AAAA,IACjC;AADa;AAEb,2BAAuB,UAAU,IAAI,EAAE,YAAY,QAAQ,CAAC;AAAA;AAAA;;;AChP5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY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", - "names": ["init_performance", "init_performance", "PerformanceMark", "e", "init_performance", "init_performance", "init_performance", "init_performance", "clear", "count", "countReset", "createTask", "debug", "dir", "dirxml", "error", "group", "groupCollapsed", "groupEnd", "info", "log", "profile", "profileEnd", "table", "time", "timeEnd", "timeLog", "timeStamp", "trace", "warn", "init_console", "init_performance", "init_console", "init_performance", "hrtime", "init_performance", "Socket", "init_performance", "dir", "x", "y", "env", "count", "init_performance", "init_performance", "cwd", "hrtime", "assert", "init_process", "init_performance", "init_process", "init_performance", "init_performance", "t", "e", "n", "r", "i", "s", "u", "a", "o", "c", "f", "h", "d", "l", "y", "M", "m", "v", "g", "D", "p", "S", "w", "O", "b", "$", "k", "init_performance", "error", "init_performance", "_a", "init_performance", "message", "config", "p", "init_performance", "table", "_a", "init_performance", "_a", "init_performance", "table", "config", "_a", "init_performance", "_a", "init_performance", "config", "table", "init_performance", "table", "_a", "init_performance", "i", "value", "startFrom", "array", "init_performance", "_a", "init_performance", "config", "as", "table", "ref", "actions", "range", "v", "a", "_a", "init_performance", "table", "config", "_a", "init_performance", "sql", "version", "init_performance", "init_performance", "version", "otel", "rawTracer", "e", "init_performance", "param", "p", "_a", "init_performance", "config", "i", "decoder", "encoder", "sql", "raw", "placeholder", "name", "SQL", "result", "decoder", "table", "a", "b", "init_utils", "init_performance", "_a", "init_table", "init_performance", "_a", "init_performance", "init_table", "table", "c", "v", "max", "init_performance", "init_performance", "init_performance", "relations", "primaryKey", "table", "config", "f", "decoder", "_a", "init_performance", "table", "c", "_a", "init_performance", "_a", "init_performance", "config", "_a", "init_performance", "_a", "ForeignKeyBuilder", "ForeignKey", "init_foreign_keys", "init_performance", "config", "table", "uniqueKeyName", "table", "_a", "UniqueConstraintBuilder", "UniqueOnConstraintBuilder", "UniqueConstraint", "init_unique_constraint", "init_performance", "_a", "init_common", "init_performance", "init_foreign_keys", "init_unique_constraint", "as", "config", "table", "ref", "actions", "ForeignKeyBuilder", "uniqueKeyName", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "_a", "init_performance", "init_common", "table", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "init_performance", "name", "InlineForeignKeys", "table", "_a", "init_table", "init_performance", "_a", "init_performance", "table", "_a", "init_performance", "table", "config", "config", "PrimaryKeyBuilder", "_a", "PrimaryKey", "init_primary_keys", "init_performance", "init_table", "table", "table", "init_utils", "init_performance", "init_table", "_a", "init_performance", "init_table", "init_utils", "table", "i", "_a", "init_performance", "table", "_a", "init_performance", "message", "count", "init_performance", "init_performance", "init_performance", "init_sql", "init_performance", "init_performance", "init_common", "_a", "init_performance", "_a", "init_performance", "init_sql", "init_table", "init_utils", "config", "i", "w", "table", "set", "c", "f", "select", "sql", "joinOn", "field", "e", "_a", "init_performance", "_a", "init_select", "init_performance", "init_utils", "config", "table", "on", "_a", "init_query_builder", "init_performance", "init_select", "as", "self", "_a", "init_performance", "init_table", "init_utils", "init_query_builder", "table", "config", "init_performance", "_a", "init_performance", "init_table", "init_utils", "table", "set", "on", "init_performance", "init_query_builder", "init_select", "_a", "init_performance", "_a", "init_performance", "table", "config", "_a", "init_performance", "_a", "init_performance", "self", "as", "table", "config", "sql", "encoder", "b", "_a", "init_performance", "_key", "init_performance", "init_alias", "init_performance", "_a", "init_performance", "cache", "e", "sql", "init_subquery", "init_performance", "_a", "init_performance", "init_utils", "init_query_builder", "init_table", "config", "init_performance", "init_alias", "init_foreign_keys", "init_primary_keys", "init_subquery", "init_table", "init_unique_constraint", "init_utils", "k", "_a", "init_session", "init_performance", "init_utils", "builtQuery", "i", "config", "logger", "cache", "config", "logger", "db", "_a", "init_performance", "init_session", "init_performance", "init_session", "init_performance", "init_performance", "init_sql", "init_utils", "raw", "date", "numeric", "record", "init_performance", "init_performance", "t", "init_performance", "init_performance", "c", "init_performance", "constants", "c", "record", "init_performance", "init_performance", "u", "init_performance", "record", "tag", "group", "init_performance", "group", "getStringArray", "init_performance", "i", "init_performance", "init_performance", "count", "init_performance", "mapVendorSnippet", "mapDeliverySlot", "init_performance", "init_performance", "init_performance", "getStringArray", "getProductById", "init_performance", "init_complaint", "init_performance", "getStringArray", "init_performance", "getStringArray", "getProductReviews", "getProductById", "init_product", "init_performance", "init_slots", "init_performance", "init_performance", "email", "getUserByMobile", "error", "init_performance", "init_coupon", "init_performance", "getUserById", "init_user", "init_performance", "getProductById", "updateOrderNotes", "init_order", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "staffRoles", "staffPermissions", "staffRolePermissions", "permission", "keyValStore", "init_performance", "init_performance", "init_complaint", "init_product", "init_slots", "init_coupon", "init_user", "init_order", "init_performance", "getProductById", "getUserByMobile", "getProductReviews", "getUserById", "updateOrderNotes", "init_performance", "init_performance", "init_performance", "constants", "error", "c", "init_performance", "init_performance", "init_performance", "init_auth", "init_performance", "HttpAuthLocation", "init_performance", "HttpApiKeyAuthLocation", "init_performance", "init_performance", "init_performance", "init_performance", "init_auth", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "EndpointURLScheme", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_checksum", "init_performance", "AlgorithmId", "init_performance", "init_performance", "init_extensions", "init_performance", "init_checksum", "init_performance", "init_performance", "FieldPosition", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_identity", "init_performance", "init_logger", "init_performance", "init_performance", "init_performance", "init_performance", "IniSectionType", "init_performance", "init_performance", "init_schema", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "RequestHandlerProtocol", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_auth", "init_extensions", "init_identity", "init_logger", "init_schema", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "e", "init_dist_es", "init_performance", "init_performance", "ChecksumAlgorithm", "ChecksumLocation", "init_performance", "init_performance", "init_performance", "feature", "init_performance", "context", "feature", "init_performance", "init_performance", "init_client", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_utils", "init_performance", "init_performance", "init_dist_es", "init_utils", "context", "config", "identity", "error", "init_performance", "init_dist_es", "init_utils", "identity", "config", "init_performance", "init_performance", "init_performance", "init_getSmithyContext", "init_performance", "context", "init_performance", "init_dist_es", "init_performance", "init_getSmithyContext", "init_performance", "map", "init_performance", "init_dist_es", "config", "context", "init_performance", "config", "init_performance", "init_performance", "init_performance", "init_dist_es", "error", "config", "context", "identity", "init_performance", "config", "init_performance", "normalizeProvider", "init_normalizeProvider", "init_performance", "config", "init_performance", "init_performance", "i", "c", "init_performance", "i", "j", "k", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "i", "j", "k", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_dist_es", "encoder", "transform", "error", "init_performance", "i", "logger", "size", "s", "init_performance", "init_performance", "init_performance", "init_performance", "c", "init_performance", "init_dist_es", "init_performance", "i", "init_dist_es", "init_performance", "url", "init_performance", "init_performance", "abortError", "init_performance", "init_dist_es", "requestTimeout", "url", "body", "config", "blob", "base64", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "i", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "blob", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "context", "c", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "config", "context", "n", "t", "i", "o", "error", "e", "k", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "url", "hostname", "init_performance", "init_dist_es", "init_endpoints", "init_performance", "init_performance", "init_endpoints", "init_dist_es", "config", "context", "n", "t", "i", "o", "config", "init_performance", "Schema", "init_performance", "init_performance", "Schema", "init_performance", "Schema", "init_performance", "Schema", "init_performance", "Schema", "init_performance", "i", "init_performance", "init_performance", "i", "ns", "k", "v", "z", "init_performance", "Schema", "init_sentinels", "init_performance", "init_performance", "k", "v", "r", "registry", "init_schema", "init_performance", "init_sentinels", "init_performance", "init_performance", "message", "s", "date", "year", "init_performance", "match", "day", "time", "init_performance", "init_performance", "i", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_performance", "LazyJsonString", "object", "init_performance", "v", "max", "time", "RFC3339_WITH_OFFSET", "IMF_FIXDATE", "RFC_850_DATE", "ASC_TIME", "init_performance", "date", "sign", "day", "year", "hour", "minute", "i", "init_performance", "init_performance", "z", "i", "v", "init_performance", "string", "object", "init_serde", "init_performance", "init_performance", "init_performance", "init_dist_es", "member", "init_performance", "init_performance", "init_schema", "init_dist_es", "k", "v", "member", "EventStreamSerde", "context", "init_performance", "init_schema", "init_serde", "init_dist_es", "context", "isStreaming", "member", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_schema", "init_serde", "init_dist_es", "format", "init_performance", "init_schema", "init_dist_es", "toString", "init_performance", "init_schema", "init_serde", "init_dist_es", "format", "init_performance", "init_schema", "init_performance", "init_requestBuilder", "init_performance", "setFeature", "context", "feature", "init_setFeature", "init_performance", "init_performance", "config", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "isIdentityExpired", "identity", "init_performance", "init_dist_es", "init_performance", "init_normalizeProvider", "init_requestBuilder", "init_setFeature", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "config", "normalizeProvider", "init_constants", "init_performance", "init_performance", "init_dist_es", "init_constants", "hash", "init_performance", "init_constants", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_constants", "i", "init_performance", "init_dist_es", "HEADER_VALUE_TYPE", "number", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_constants", "init_performance", "init_dist_es", "init_constants", "value", "serialized", "init_performance", "time", "init_performance", "init_dist_es", "hash", "init_performance", "init_dist_es", "init_constants", "hash", "promise", "init_performance", "init_dist_es", "init_performance", "init_constants", "config", "normalizeProvider", "init_performance", "init_client", "init_dist_es", "init_performance", "init_httpAuthSchemes", "init_performance", "init_performance", "i", "init_dist_es", "init_performance", "init_performance", "a", "b", "debug", "middleware", "entry", "context", "init_dist_es", "init_performance", "init_client", "init_performance", "init_dist_es", "config", "cb", "handlers", "init_collect_stream_body", "init_performance", "object", "member", "init_performance", "init_schema", "init_command", "init_performance", "init_dist_es", "logger", "cb", "operation", "init_constants", "init_performance", "init_performance", "commands", "Client", "cb", "command", "paginators", "waiters", "config", "init_performance", "v", "k", "message", "init_performance", "init_performance", "init_emitWarningIfUnsupportedVersion", "init_performance", "init_extended_encode_uri_component", "init_performance", "init_checksum", "init_performance", "init_retry", "init_performance", "init_defaultExtensionConfiguration", "init_performance", "init_checksum", "init_retry", "config", "init_extensions", "init_performance", "init_defaultExtensionConfiguration", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_resolve_path", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_client", "init_collect_stream_body", "init_command", "init_constants", "init_emitWarningIfUnsupportedVersion", "init_extended_encode_uri_component", "init_extensions", "init_resolve_path", "init_serde", "init_performance", "init_schema", "init_dist_es", "m", "registry", "e", "error", "Error", "k", "v", "init_performance", "init_performance", "init_performance", "init_performance", "k", "v", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "hasChildren", "c", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_schema", "buffer", "v", "value", "union", "e", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_schema", "init_serde", "k", "v", "array", "container", "map", "format", "init_performance", "init_performance", "init_schema", "context", "message", "member", "init_protocols", "init_performance", "init_dist_es", "init_performance", "init_client", "init_httpAuthSchemes", "init_protocols", "init_performance", "init_performance", "hasHeader", "init_performance", "init_performance", "init_performance", "init_dist_es", "P", "e", "t", "f", "y", "g", "n", "v", "o", "s", "m", "i", "init_performance", "fromUtf8", "init_fromUtf8_browser", "init_performance", "init_toUint8Array", "init_performance", "init_fromUtf8_browser", "init_toUtf8_browser", "init_performance", "init_dist_es", "init_performance", "init_fromUtf8_browser", "init_toUint8Array", "init_toUtf8_browser", "fromUtf8", "init_performance", "init_dist_es", "init_performance", "init_performance", "a_lookUpTable", "init_performance", "init_performance", "init_performance", "init_module", "AwsCrc32c", "init_module", "init_performance", "Crc32c", "init_performance", "table", "i", "j", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_module", "AwsCrc32", "lookupTable", "Crc32", "init_performance", "init_module", "init_types", "init_performance", "init_performance", "init_module", "init_dist_es", "init_types", "config", "init_performance", "init_dist_es", "hash", "init_performance", "init_dist_es", "config", "context", "getAwsChunkedEncodingStream", "hasHeader", "e", "init_performance", "init_dist_es", "config", "context", "init_performance", "init_types", "init_performance", "number", "init_performance", "init_performance", "init_dist_es", "config", "logger", "error", "init_performance", "init_dist_es", "config", "context", "init_performance", "config", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_performance", "context", "logger", "error", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "context", "message", "init_performance", "init_dist_es", "init_performance", "config", "context", "e", "context", "e", "init_performance", "init_performance", "init_dist_es", "config", "context", "e", "init_performance", "init_performance", "init_performance", "cache", "identity", "error", "init_constants", "init_performance", "init_performance", "init_dist_es", "init_constants", "init_performance", "init_dist_es", "init_constants", "context", "init_performance", "defaultErrorHandler", "defaultSuccessHandler", "init_performance", "init_dist_es", "error", "config", "context", "identity", "init_performance", "init_performance", "collectBody", "init_performance", "init_dist_es", "config", "context", "init_dist_es", "init_performance", "context", "e", "init_performance", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "normalizeProvider", "logger", "init_performance", "init_dist_es", "init_performance", "i", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "message", "init_performance", "init_EndpointRuleObject", "init_performance", "init_ErrorRuleObject", "init_performance", "init_RuleSetObject", "init_performance", "init_TreeRuleObject", "init_performance", "init_shared", "init_performance", "init_types", "init_performance", "init_EndpointRuleObject", "init_ErrorRuleObject", "init_RuleSetObject", "init_TreeRuleObject", "init_shared", "init_performance", "init_performance", "init_types", "init_performance", "init_types", "init_performance", "not", "init_performance", "init_performance", "hostname", "protocol", "url", "k", "v", "error", "init_performance", "init_performance", "init_performance", "c", "init_performance", "init_performance", "not", "init_performance", "init_performance", "group", "init_performance", "init_types", "argv", "init_performance", "init_performance", "init_types", "init_performance", "init_performance", "init_types", "group", "init_performance", "init_types", "init_performance", "init_types", "error", "init_performance", "url", "init_performance", "init_types", "error", "group", "init_performance", "init_types", "init_utils", "init_performance", "init_performance", "init_types", "init_utils", "logger", "v", "k", "init_dist_es", "init_performance", "init_types", "init_isIpAddress", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_isIpAddress", "init_performance", "partition", "init_performance", "partition", "init_performance", "init_dist_es", "init_performance", "init_resolveEndpoint", "init_performance", "init_EndpointError", "init_performance", "init_EndpointRuleObject", "init_performance", "init_ErrorRuleObject", "init_performance", "init_RuleSetObject", "init_performance", "init_TreeRuleObject", "init_performance", "init_shared", "init_performance", "init_types", "init_performance", "init_EndpointError", "init_EndpointRuleObject", "init_ErrorRuleObject", "init_RuleSetObject", "init_TreeRuleObject", "init_shared", "init_dist_es", "init_performance", "init_isIpAddress", "init_resolveEndpoint", "init_types", "init_config", "init_performance", "RETRY_MODES", "init_constants", "init_performance", "init_dist_es", "init_performance", "init_constants", "error", "init_performance", "init_dist_es", "t", "init_constants", "init_performance", "init_performance", "init_constants", "init_performance", "init_constants", "init_performance", "init_config", "init_constants", "error", "init_performance", "init_config", "init_performance", "init_types", "init_performance", "init_dist_es", "init_performance", "init_config", "init_constants", "init_types", "context", "config", "identity", "init_performance", "init_dist_es", "init_constants", "init_performance", "features", "init_performance", "init_performance", "init_dist_es", "init_constants", "context", "version", "config", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_config", "init_performance", "init_performance", "init_dist_es", "check", "init_performance", "init_performance", "init_performance", "init_performance", "init_config", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_performance", "CONTENT_LENGTH_HEADER", "error", "init_dist_es", "init_performance", "init_performance", "partition", "init_performance", "init_performance", "config", "hostname", "init_performance", "toEndpointV1", "init_toEndpointV1", "init_performance", "init_dist_es", "init_performance", "init_toEndpointV1", "context", "toEndpointV1", "init_performance", "init_toEndpointV1", "init_performance", "init_dist_es", "config", "context", "setFeature", "init_performance", "init_performance", "serializerMiddlewareOption", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "serializerMiddlewareOption", "config", "init_performance", "init_dist_es", "init_toEndpointV1", "toEndpointV1", "init_performance", "init_types", "init_performance", "init_dist_es", "init_performance", "init_types", "init_performance", "init_performance", "init_util", "init_performance", "error", "init_StandardRetryStrategy", "init_performance", "init_AdaptiveRetryStrategy", "init_performance", "init_configurations", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_util", "context", "isRequest", "e", "error", "init_dist_es", "init_performance", "init_AdaptiveRetryStrategy", "init_StandardRetryStrategy", "init_configurations", "init_performance", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_dist_es", "context", "config", "context", "init_performance", "init_dist_es", "defaultEndpointResolver", "s", "name", "init_performance", "init_performance", "init_dist_es", "init_errors", "init_performance", "init_performance", "init_schema", "init_errors", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "fromUtf8", "init_fromUtf8_browser", "init_performance", "init_toUint8Array", "init_performance", "init_fromUtf8_browser", "init_toUtf8_browser", "init_performance", "init_dist_es", "init_performance", "init_fromUtf8_browser", "init_toUint8Array", "init_toUtf8_browser", "isEmptyData", "init_isEmptyData", "init_performance", "init_constants", "init_performance", "init_dist_es", "init_performance", "convertToBuffer", "fromUtf8", "init_performance", "init_dist_es", "init_isEmptyData", "init_constants", "Sha1", "isEmptyData", "window", "subtle", "getRandomValues", "init_module", "init_performance", "Sha1", "init_performance", "init_module", "init_dist_es", "init_module", "init_performance", "init_constants", "init_performance", "init_performance", "init_constants", "init_dist_es", "Sha256", "init_constants", "init_performance", "init_performance", "init_constants", "RawSha256", "i", "_a", "u", "t1", "t2", "Sha256", "init_constants", "e", "i", "init_module", "init_performance", "Sha256", "init_performance", "init_module", "init_dist_es", "init_module", "init_performance", "init_dist_es", "init_performance", "config", "navigator", "negate", "i", "Int64", "init_performance", "init_dist_es", "number", "HEADER_VALUE_TYPE", "UUID_PATTERN", "init_performance", "init_dist_es", "toUtf8", "fromUtf8", "Int64", "init_performance", "init_module", "init_performance", "init_module", "toUtf8", "fromUtf8", "message", "init_performance", "init_performance", "init_performance", "init_performance", "message", "init_performance", "init_dist_es", "init_performance", "iterator", "init_performance", "toUtf8", "message", "error", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_utils", "init_performance", "iterator", "EventStreamMarshaller", "isReadableStream", "init_EventStreamMarshaller", "init_performance", "init_dist_es", "init_utils", "init_provider", "init_performance", "init_EventStreamMarshaller", "EventStreamMarshaller", "init_dist_es", "init_performance", "init_EventStreamMarshaller", "init_provider", "init_utils", "blob", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "blobHasher", "blob", "hash", "init_performance", "init_performance", "message", "init_dist_es", "init_performance", "BLOCK_SIZE", "DIGEST_LENGTH", "INIT", "init_constants", "init_performance", "q", "a", "b", "x", "s", "t", "c", "d", "isEmptyData", "convertToBuffer", "init_dist_es", "init_performance", "init_constants", "BLOCK_SIZE", "i", "DIGEST_LENGTH", "INIT", "init_constants", "init_performance", "init_performance", "init_dist_es", "init_constants", "navigator", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_protocols", "config", "getRuntimeConfig", "init_performance", "init_module", "init_dist_es", "config", "Sha1", "Sha256", "init_extensions", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_extensions", "init_performance", "config", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_schema", "getRuntimeConfig", "config", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "hash", "init_dist_es", "init_performance", "config", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_dist_es", "init_performance", "config", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_waiter", "init_performance", "WaiterState", "init_performance", "init_waiter", "max", "message", "state", "reason", "init_performance", "init_utils", "init_performance", "init_performance", "init_utils", "init_waiter", "promise", "finalize", "aborted", "init_dist_es", "init_performance", "init_waiter", "init_performance", "init_dist_es", "checkState", "init_performance", "init_dist_es", "checkState", "init_performance", "init_dist_es", "checkState", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_pagination", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_pagination", "init_errors", "hostname", "init_dist_es", "init_performance", "UNSIGNED_PAYLOAD", "SHA256_HEADER", "init_constants", "init_performance", "init_performance", "init_dist_es", "init_constants", "SHA256_HEADER", "UNSIGNED_PAYLOAD", "init_performance", "init_dist_es", "context", "presigned", "init_dist_es", "init_performance", "init_performance", "env", "error", "domain", "url", "u", "init_performance", "init_dist_es", "s3Client", "s", "tag", "error", "getProductById", "productSlots", "d", "t", "getAllProducts", "specialDeals", "productTags", "init_performance", "tag", "p", "error", "init_performance", "error", "s", "pid", "init_performance", "error", "init_performance", "init_performance", "isArrayBuffer", "i", "l", "_key", "merge", "G", "isReadableStream", "toCamelCase", "init_utils", "init_performance", "cache", "prototype", "e", "context", "a", "b", "filter", "m", "hasOwnProperty", "define", "cb", "init_performance", "init_utils", "error", "config", "message", "init_performance", "i", "init_performance", "init_utils", "match", "init_performance", "toString", "encoder", "_encode", "encode", "url", "_encode", "init_performance", "init_utils", "init_performance", "init_utils", "h", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_utils", "init_performance", "init_performance", "init_utils", "init_performance", "init_utils", "match", "i", "init_performance", "init_utils", "parser", "encoder", "e", "init_performance", "init_utils", "isFormData", "isFileList", "transitional", "init_performance", "init_utils", "i", "parser", "match", "context", "filter", "w", "init_performance", "init_utils", "self", "parser", "i", "format", "prototype", "config", "context", "transform", "init_performance", "init_utils", "init_performance", "init_performance", "message", "config", "validateStatus", "init_performance", "url", "match", "init_performance", "i", "init_performance", "flush", "init_performance", "init_performance", "init_utils", "e", "init_performance", "origin", "url", "init_performance", "init_utils", "domain", "match", "url", "init_performance", "init_performance", "init_performance", "config2", "config", "a", "b", "merge", "init_performance", "init_utils", "init_performance", "init_utils", "config", "init_performance", "init_utils", "config", "transitional", "init_performance", "init_utils", "aborted", "signal", "init_performance", "iterator", "e", "done", "isFunction", "ReadableStream", "TextEncoder", "init_performance", "init_utils", "Request", "Response", "e", "env", "encoder", "config", "url", "flush", "fetch", "i", "map", "config", "adapter", "i", "s", "init_performance", "init_utils", "e", "config", "adapter", "init_performance", "init_performance", "i", "init_performance", "version", "message", "desc", "validators", "init_performance", "init_utils", "config", "e", "transitional", "promise", "i", "error", "url", "init_performance", "i", "promise", "message", "config", "abort", "c", "init_performance", "init_performance", "init_utils", "init_performance", "context", "init_performance", "init_utils", "Axios", "AxiosError", "CanceledError", "isCancel", "CancelToken", "VERSION", "all", "isAxiosError", "spread", "toFormData", "AxiosHeaders", "HttpStatusCode", "getAdapter", "mergeConfig", "init_axios", "init_performance", "obj1: TType", "newObj: TType", "isObject", "value: unknown", "isFunction", "fn: unknown", "it: T", "signals: AbortSignal[]", "ac", "TRPC_ERROR_CODES_BY_NUMBER: InvertKeyValue<\n typeof TRPC_ERROR_CODES_BY_KEY\n>", "retryableRpcCodes: TRPC_ERROR_CODE_NUMBER[]", "fn: () => TValue", "callback: ProxyCallback", "path: readonly string[]", "memo: Record", "memo", "noop", "code: keyof typeof TRPC_ERROR_CODES_BY_KEY", "json: TRPCResponse | TRPCResponse[]", "json", "isObject", "error: TRPCError", "error", "opts: {\n config: RootConfig;\n error: TRPCError;\n type: ProcedureType | 'unknown';\n path: string | undefined;\n input: unknown;\n ctx: TRoot['ctx'] | undefined;\n}", "config", "shape: DefaultErrorShape", "JSONRPC2_TO_HTTP_CODE: Record<\n keyof typeof TRPC_ERROR_CODES_BY_KEY,\n number\n>", "obj: object", "_typeof", "o", "toPrimitive", "t", "r", "e", "i", "toPropertyKey", "cause: unknown", "isObject", "transformer: DataTransformerOptions", "config: RootConfig", "item: TResponseItem", "config", "itemOrItems: TResponse", "once", "fn: () => T", "result: T | typeof uncalled", "input: unknown", "value: unknown", "config: RootConfig", "input: TInput", "v", "procedures: Record", "lazy: Record>", "opts: {\n ref: Lazy;\n path: readonly string[];\n key: string;\n aggregate: RouterRecord;\n }", "router", "lazy", "from: CreateRouterOptions", "path: readonly string[]", "aggregate: RouterRecord", "record", "_def: AnyRouter['_def']", "router: BuiltRouter", "procedureOrRouter: ValueOf", "router: Pick, '_def'>", "path: string", "key", "router: Pick, '_def'>", "ctx: Context | undefined", "isFunction", "r", "defaultFormatter: ErrorFormatter", "defaultTransformer: CombinedDataTransformer", "opts: {\n message?: string;\n code: TRPC_ERROR_CODE_KEY;\n cause?: unknown;\n }", "message", "middlewares: AnyMiddlewareFunction[]", "fn: MiddlewareFunction<\n TContext,\n TMeta,\n object,\n $ContextOverrides,\n TInputOut\n >", "parse: ParseFn", "inputMiddleware: AnyMiddlewareFunction", "parsedInput: ReturnType", "parse", "isObject", "parse: ParseFn", "outputMiddleware: AnyMiddlewareFunction", "procedureParser: Parser", "parser", "def1: AnyProcedureBuilderDef", "def2: Partial", "meta", "import_objectSpread2$1", "initDef: Partial", "_def: AnyProcedureBuilderDef", "builder: AnyProcedureBuilder", "output: Parser", "builder", "resolver: ProcedureResolver", "_defIn: AnyProcedureBuilderDef & { type: ProcedureType }", "resolver: AnyResolver", "_def: AnyProcedure['_def']", "index: number", "opts: ProcedureCallOptions", "middleware", "_nextOpts?: any", "opts: ProcedureCallOptions", "isServerDefault: boolean", "issues: ReadonlyArray", "r", "e", "t", "n", "_objectWithoutProperties", "o", "i", "s", "TRPCBuilder", "opts?: ValidateShape>", "config: RootConfig<$Root>", "isServer: boolean", "config", "init_performance", "t", "createCallerFactory", "init_performance", "duration", "error", "getAllProducts", "init_common", "init_performance", "isNumber", "j", "e", "f", "h", "Q", "hh", "i", "n", "init_util", "init_performance", "ax", "ay", "bx", "by", "cx", "cy", "c", "_i", "t1", "t0", "u3", "B", "u", "D", "init_performance", "init_util", "bc", "ca", "ab", "u", "init_performance", "init_util", "bc", "ca", "ab", "aa", "bb", "cc", "u", "v", "abt", "bct", "cat", "_8", "_16", "fin", "fin2", "init_performance", "init_util", "ab", "bc", "cd", "ac", "bd", "ce", "_8", "_8b", "_16", "_48", "fin", "init_performance", "init_util", "init_performance", "p", "polygon", "i", "ii", "k", "f", "u2", "v2", "x", "y", "init_esm", "init_performance", "point", "polygon", "i", "init_esm", "init_esm", "initializer", "i", "k", "_a", "config", "init_core", "init_performance", "assert", "extend", "isObject", "isPlainObject", "merge", "_x", "v", "k", "array", "set", "match", "object", "i", "chars", "o", "cl", "a", "b", "Class", "x", "_a", "message", "config", "t", "base64", "base64url", "hex", "init_util", "init_performance", "F", "error", "issue", "i", "_a", "a", "b", "init_errors", "init_performance", "init_core", "init_util", "encode", "init_performance", "init_core", "init_errors", "init_util", "_Err", "e", "config", "bigint", "date", "domain", "integer", "time", "init_performance", "init_util", "version", "init_checks", "init_performance", "init_core", "init_util", "_a", "origin", "inst", "integer", "result", "init_performance", "x", "F", "version", "init_performance", "base64", "c", "k", "t", "r", "config", "a", "b", "isPlainObject", "f", "init_performance", "init_checks", "init_core", "init_util", "_a", "version", "ch", "checks", "checkResult", "canary", "result", "_", "v", "url", "date", "time", "bigint", "isDate", "i", "desc", "isObject", "allowsEval", "o", "p", "results", "map", "left", "right", "keyResult", "valueResult", "output", "x", "F", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "count", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "t", "e", "origin", "issue", "v", "be", "error", "init_performance", "init_util", "origin", "issue", "count", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "init_performance", "error", "init_performance", "init_util", "origin", "issue", "number", "error", "init_performance", "init_util", "text", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "count", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "init_performance", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "init_performance", "_a", "init_performance", "meta", "p", "f", "Class", "_emoji", "_undefined", "_null", "ch", "v", "issue", "codec", "format", "init_performance", "init_checks", "init_util", "process", "_a", "meta", "id", "schema", "init_performance", "registry", "ctx", "process", "init_performance", "init_util", "json", "format", "v", "file", "m", "x", "i", "a", "b", "init_performance", "process", "init_performance", "core_exports", "_emoji", "_null", "_undefined", "config", "encode", "process", "version", "init_core", "init_performance", "init_errors", "init_checks", "init_util", "checks_exports", "init_checks", "init_performance", "init_core", "date", "datetime", "duration", "time", "init_performance", "init_core", "init_schemas", "initializer", "init_errors", "init_performance", "init_core", "init_util", "issue", "issues", "parse", "parseAsync", "safeParse", "safeParseAsync", "encode", "decode", "encodeAsync", "decodeAsync", "safeEncode", "safeDecode", "safeEncodeAsync", "safeDecodeAsync", "init_parse", "init_performance", "init_core", "init_errors", "schemas_exports", "_default", "base64", "base64url", "bigint", "boolean", "_catch", "check", "cidrv4", "cidrv6", "cuid", "cuid2", "date", "describe", "e164", "email", "emoji", "_enum", "guid", "hex", "hostname", "ipv4", "ipv6", "ksuid", "lazy", "mac", "meta", "nanoid", "_null", "nullish", "number", "string", "ulid", "_undefined", "union", "uuid", "_void", "xid", "_emoji", "format", "k", "v", "ch", "init_schemas", "init_performance", "init_core", "init_checks", "init_parse", "def", "parse", "safeParse", "parseAsync", "safeParseAsync", "encode", "decode", "encodeAsync", "decodeAsync", "safeEncode", "safeDecode", "safeEncodeAsync", "safeDecodeAsync", "cl", "json", "datetime", "time", "duration", "c", "issue", "output", "map", "config", "init_performance", "init_core", "ZodFirstPartyTypeKind", "z", "zodSchema", "v", "t", "format", "objectSchema", "i", "s", "version", "init_performance", "init_checks", "init_schemas", "schemas_exports", "checks_exports", "bigint", "boolean", "date", "number", "string", "init_performance", "init_core", "init_schemas", "_default", "base64", "base64url", "bigint", "boolean", "_catch", "check", "cidrv4", "cidrv6", "config", "core_exports", "cuid", "cuid2", "date", "decode", "decodeAsync", "describe", "e164", "email", "emoji", "encode", "encodeAsync", "_enum", "guid", "hex", "hostname", "ipv4", "ipv6", "ksuid", "lazy", "mac", "meta", "nanoid", "_null", "nullish", "number", "parse", "parseAsync", "safeDecode", "safeDecodeAsync", "safeEncode", "safeEncodeAsync", "safeParse", "safeParseAsync", "string", "ulid", "_undefined", "union", "uuid", "_void", "xid", "init_performance", "init_core", "init_schemas", "init_checks", "init_errors", "init_parse", "init_performance", "init_performance", "init_performance", "message", "polygon", "init_performance", "init_common", "init_esm", "point", "error", "tag", "init_stores", "init_performance", "dayjs", "a", "b", "init_slots", "init_performance", "init_banners", "init_performance", "init_types", "init_performance", "init_shared", "init_performance", "init_types", "error", "init_retry", "init_performance", "Buffer", "version", "error", "e", "init_performance", "init_axios", "init_common", "init_stores", "init_slots", "init_banners", "init_shared", "init_retry", "init_performance", "error", "env", "AbortController", "Headers", "Request", "Response", "fetch", "init_performance", "init_performance", "k", "init_performance", "libDefault", "init_performance", "init_performance", "count", "run", "error", "map", "e", "init_performance", "init_performance", "self", "i", "error", "message", "count", "init_performance", "i", "a", "b", "original", "require_retry", "init_performance", "init_performance", "operation", "number", "url", "e", "message", "json", "text", "error", "Expo", "init_performance", "message", "env", "init_performance", "title", "message", "error", "init_performance", "init_performance", "init_axios", "message", "error", "init_performance", "message", "error", "fallback", "init_performance", "middleware", "context", "i", "init_performance", "init_constants", "init_performance", "init_performance", "all", "init_performance", "routePath", "match", "i", "j", "decoder", "url", "v", "a", "init_performance", "init_constants", "raw", "text", "init_performance", "context", "c", "init_performance", "k", "v", "v2", "text", "object", "init_performance", "init_constants", "init_performance", "init_performance", "init_constants", "c", "handlers", "p", "m", "clone", "r", "url", "env", "context", "init_performance", "a", "b", "Node", "init_performance", "context", "k", "c", "init_performance", "Node", "i", "m", "j", "i", "j", "handlers", "h", "e", "map", "k", "middleware", "a", "b", "init_router", "init_performance", "p", "m", "r", "init_performance", "init_router", "init_performance", "init_router", "init_router", "init_performance", "i", "router", "i2", "e", "init_performance", "init_router", "Node", "init_node", "init_performance", "_Node", "m", "i", "p", "v", "a", "i2", "j", "k", "b", "init_router", "init_performance", "init_node", "Node", "i", "init_performance", "init_router", "Hono", "init_performance", "init_dist", "init_performance", "init_performance", "defaults", "origin", "c", "set", "process", "navigator", "init_performance", "log", "time", "logger", "init_logger", "init_performance", "v", "logger2", "c", "url", "x: unknown", "x", "observable: Observable", "signal: AbortSignal", "unsub: Unsubscribable | null", "error", "observable", "iterator: AsyncIterator", "iterator", "parsed: unknown", "isObject", "_key", "str: string", "headers: Headers", "t", "fn: () => Promise", "promise: Promise | null", "value: TReturn | typeof sym", "_promise", "promise", "req: Request", "handler", "opts: GetRequestInfoOptions", "error: unknown", "error", "message", "o: unknown", "o", "isPlainObject", "promise: TPromise", "resolve!: PromiseWithResolvers[\"resolve\"]", "reject!: PromiseWithResolvers[\"reject\"]", "arr: readonly T[]", "member: T", "member", "index: number", "member: unknown", "thing: T", "dispose: () => void", "dispose: () => Promise", "ms: number", "timer: ReturnType | null", "iterable: AsyncIterable", "iterator", "_x", "_x2", "iterable: AsyncIterable", "opts: {\n count: number;\n gracePeriodMs: number;\n }", "result: null | IteratorResult | typeof disposablePromiseTimerResult", "count", "resolve: (value: TValue) => void", "reject: (error: unknown) => void", "iterable: AsyncIterable", "onResult: (result: ManagedIteratorResult) => void", "state: 'idle' | 'pending' | 'done'", "iterables: AsyncIterable[]", "buffer: Array<\n [\n iterator: ManagedIterator,\n result: Exclude<\n ManagedIteratorResult,\n { status: 'return' }\n >,\n ]\n >", "iterable: AsyncIterable", "errors: unknown[]", "iterable: AsyncIterable", "iterable: AsyncIterable", "pingIntervalMs: number", "result:\n | null\n | IteratorResult\n | typeof disposablePromiseTimerResult", "value: unknown", "isFunction", "opts: JSONLProducerOptions", "callback: (idx: ChunkIndex) => AsyncIterable", "iterable", "promise: Promise", "path: (string | number)[]", "encode", "iterable: AsyncIterable", "encodeAsync", "newObj: Record", "asyncValues: ChunkDefinition[]", "newHead: Head", "iterable: AsyncIterable", "opts: SSEStreamProducerOptions", "ping: Required", "client: SSEClientOptions", "iterable: AsyncIterable", "value: null | TIteratorValue", "chunk: null | SSEvent", "controller: TransformStreamDefaultController", "err: TRPCError", "signal: AbortSignal", "initOpts: {\n ctx: inferRouterContext | undefined;\n info: TRPCRequestInfo | undefined;\n responseMeta?: HTTPBaseHandlerOptions['responseMeta'];\n untransformedJSON:\n | TRPCResponse>\n | TRPCResponse>[]\n | null;\n errors: TRPCError[];\n headers: Headers;\n}", "info", "meta", "v", "cause: unknown", "errorOpts: {\n opts: Pick<\n ResolveHTTPRequestOptions,\n 'onError' | 'req' | 'router'\n >;\n ctx: inferRouterContext | undefined;\n type: ProcedureType | 'unknown';\n path?: string;\n input?: unknown;\n }", "router", "v: unknown", "opts: ResolveHTTPRequestOptions", "config", "url", "infoTuple: ResultTuple", "ctxManager: ContextManager", "result: ResultTuple<$Context> | undefined", "data: unknown", "res: TRPCResponse>", "headResponse", "import_objectSpread2", "responseBody: ReadableStream", "results: RPCResult[]", "jsonContentTypeHandler: ContentTypeHandler", "formDataContentTypeHandler: ContentTypeHandler", "octetStreamContentTypeHandler: ContentTypeHandler", "TYPE_ACCEPTED_METHOD_MAP: Record", "TYPE_ACCEPTED_METHOD_MAP_WITH_METHOD_OVERRIDE: Record<\n ProcedureType,\n HTTPMethods[]\n>", "inputs: unknown", "result: InputRecord", "acc: InputRecord", "import_objectSpread2$1", "type: ProcedureType | 'unknown'", "info: TRPCRequestInfo", "Unpromise", "arg: Promise | PromiseLike | PromiseExecutor", "promise: Promise", "unsubscribe: () => void", "onfulfilled?:\n | ((value: T) => TResult1 | PromiseLike)\n | null", "onrejected?:\n | ((reason: any) => TResult2 | PromiseLike)\n | null", "onrejected?:\n | ((reason: any) => TResult | PromiseLike)\n | null", "onfinally?: (() => void) | null", "promise: PromiseLike", "cached", "value: T | PromiseLike", "values: Iterable>", "promises: readonly TPromise[]", "r", "e", "n", "d", "s", "OverloadYield", "_awaitAsyncGenerator", "_wrapAsyncGenerator", "u", "i", "settle", "_asyncIterator", "AsyncFromSyncIterator", "_asyncGeneratorDelegate", "opts: FetchHandlerRequestOptions", "createContext: ResolveHTTPRequestOptionsContextFn", "import_objectSpread2", "url", "o", "meta", "v", "path: string", "init_performance", "init_constants", "c", "c", "t", "p", "i", "encode", "string", "init_performance", "i", "init_performance", "decode", "encode", "init_performance", "hash", "init_performance", "init_performance", "init_errors", "init_performance", "message", "init_performance", "decode", "init_performance", "isObject", "init_performance", "hash", "init_performance", "init_errors", "init_performance", "init_errors", "decode", "cache", "init_performance", "cached", "hash", "init_performance", "init_errors", "s", "init_performance", "init_performance", "isObject", "decode", "encode", "k", "init_performance", "init_errors", "init_verify", "init_performance", "init_errors", "year", "isObject", "max", "init_performance", "init_errors", "date", "jwt", "init_verify", "init_performance", "init_errors", "init_performance", "init_errors", "encode", "k", "init_sign", "init_performance", "init_sign", "init_performance", "init_errors", "init_performance", "init_verify", "init_sign", "init_performance", "error", "c", "router", "init_performance", "init_dist", "Hono", "init_performance", "init_common", "c", "error", "router", "init_performance", "init_dist", "Hono", "router", "commonRouter", "init_performance", "init_dist", "Hono", "router", "init_performance", "init_dist", "Hono", "router", "init_performance", "init_dist", "Hono", "c", "init_performance", "c", "error", "router", "init_performance", "init_dist", "Hono", "c", "init_complaint", "init_performance", "c", "import_dayjs", "init_coupon", "init_performance", "dayjs", "au", "ap", "error", "init_performance", "init_order", "init_performance", "orders", "e", "import_dayjs", "init_vendor_snippets", "init_performance", "e", "sum", "p", "dayjs", "slotsRouter", "init_slots", "init_performance", "e", "init_product", "init_performance", "url", "group", "m", "tag", "init_performance", "sign", "verify", "hash", "init_node", "init_performance", "init_constants", "init_performance", "init_crypto", "init_performance", "init_constants", "init_node", "randomUUID", "subtle", "webcrypto", "init_crypto", "init_performance", "hash", "sign", "verify", "randomBytes", "callback", "nextTick", "hash", "salt", "unknown", "i", "string", "c", "k", "b", "off", "s", "o", "P", "S", "n", "l", "r", "j", "err", "encodeBase64", "decodeBase64", "init_performance", "init_crypto", "init_staff_user", "init_performance", "init_store", "init_performance", "e", "error", "init_payments", "init_performance", "bannerRouter", "init_banner", "init_performance", "error", "e", "init_user", "init_performance", "count", "u", "o", "s", "c", "title", "text", "t", "error", "init_const", "init_performance", "constants", "c", "init_performance", "init_complaint", "init_coupon", "init_order", "init_vendor_snippets", "init_slots", "init_product", "init_staff_user", "init_store", "init_payments", "init_banner", "init_user", "init_const", "slotsRouter", "bannerRouter", "url", "error", "init_performance", "init_axios", "init_address", "init_performance", "init_performance", "init_auth", "init_performance", "getUserByMobile", "email", "init_cart", "init_performance", "sum", "getProductById", "complaintRouter", "init_complaint", "init_performance", "orderRouter", "init_order", "init_performance", "init_common", "constants", "getProductById", "sum", "i", "orderStatus", "u", "e", "updateOrderNotes", "import_dayjs", "productRouter", "init_product", "init_performance", "getProductById", "dayjs", "getProductReviews", "url", "error", "getAllProducts", "userRouter", "init_user", "init_performance", "getUserById", "init_coupon", "init_performance", "desc", "au", "e", "ap", "init_performance", "init_payments", "init_performance", "encoder", "init_performance", "error", "init_performance", "tag", "userRouter", "init_performance", "init_address", "init_auth", "init_banners", "init_cart", "init_complaint", "init_order", "init_product", "init_slots", "init_user", "init_coupon", "init_payments", "init_stores", "complaintRouter", "orderRouter", "productRouter", "init_router", "init_performance", "userRouter", "init_performance", "init_dist", "init_logger", "init_router", "Hono", "logger", "error", "c", "message", "init_performance", "init_performance", "init_performance", "init_performance", "import_dayjs", "url", "dayjs", "init_performance", "message", "env", "createApp", "initDb", "init_performance", "env", "e", "init_performance", "e", "env", "error", "init_performance", "env", "middleware", "env"] -} diff --git a/apps/backend/.wrangler/tmp/dev-IIUlyx/worker.js b/apps/backend/.wrangler/tmp/dev-UMGKJQ/worker.js similarity index 99% rename from apps/backend/.wrangler/tmp/dev-IIUlyx/worker.js rename to apps/backend/.wrangler/tmp/dev-UMGKJQ/worker.js index 68b1ba2..7304024 100644 --- a/apps/backend/.wrangler/tmp/dev-IIUlyx/worker.js +++ b/apps/backend/.wrangler/tmp/dev-UMGKJQ/worker.js @@ -37,14 +37,14 @@ var __publicField = (obj, key, value) => { return value; }; -// .wrangler/tmp/bundle-MabhKO/strip-cf-connecting-ip-header.js +// .wrangler/tmp/bundle-l1tHq1/strip-cf-connecting-ip-header.js function stripCfConnectingIPHeader(input, init) { const request = new Request(input, init); request.headers.delete("CF-Connecting-IP"); return request; } var init_strip_cf_connecting_ip_header = __esm({ - ".wrangler/tmp/bundle-MabhKO/strip-cf-connecting-ip-header.js"() { + ".wrangler/tmp/bundle-l1tHq1/strip-cf-connecting-ip-header.js"() { "use strict"; __name(stripCfConnectingIPHeader, "stripCfConnectingIPHeader"); globalThis.fetch = new Proxy(globalThis.fetch, { @@ -8955,7 +8955,7 @@ var init_schema = __esm({ }); keyValStore = sqliteTable("key_val_store", { key: text("key").primaryKey(), - value: jsonText("value") + value: text() }); notifications = sqliteTable("notifications", { id: integer().primaryKey({ autoIncrement: true }), @@ -9444,21 +9444,110 @@ var init_complaint = __esm({ } }); +// ../../packages/db_helper_sqlite/src/lib/const-keys.ts +var CONST_KEYS, CONST_KEYS_ARRAY, CONST_TYPES, castConstValue; +var init_const_keys = __esm({ + "../../packages/db_helper_sqlite/src/lib/const-keys.ts"() { + "use strict"; + init_strip_cf_connecting_ip_header(); + init_modules_watch_stub(); + init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_process(); + init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_console(); + init_performance2(); + CONST_KEYS = { + minRegularOrderValue: "minRegularOrderValue", + freeDeliveryThreshold: "freeDeliveryThreshold", + deliveryCharge: "deliveryCharge", + flashFreeDeliveryThreshold: "flashFreeDeliveryThreshold", + flashDeliveryCharge: "flashDeliveryCharge", + platformFeePercent: "platformFeePercent", + taxRate: "taxRate", + tester: "tester", + minOrderAmountForCoupon: "minOrderAmountForCoupon", + maxCouponDiscount: "maxCouponDiscount", + flashDeliverySlotId: "flashDeliverySlotId", + readableOrderId: "readableOrderId", + versionNum: "versionNum", + cacheVersion: "cache_version", + playStoreUrl: "playStoreUrl", + appStoreUrl: "appStoreUrl", + popularItems: "popularItems", + allItemsOrder: "allItemsOrder", + isFlashDeliveryEnabled: "isFlashDeliveryEnabled", + supportMobile: "supportMobile", + supportEmail: "supportEmail" + }; + CONST_KEYS_ARRAY = Object.values(CONST_KEYS); + CONST_TYPES = { + minRegularOrderValue: "number", + freeDeliveryThreshold: "number", + deliveryCharge: "number", + flashFreeDeliveryThreshold: "number", + flashDeliveryCharge: "number", + platformFeePercent: "number", + taxRate: "number", + tester: "string", + minOrderAmountForCoupon: "number", + maxCouponDiscount: "number", + flashDeliverySlotId: "number", + readableOrderId: "number", + versionNum: "string", + "cache_version": "number", + playStoreUrl: "string", + appStoreUrl: "string", + popularItems: "string", + allItemsOrder: "string", + isFlashDeliveryEnabled: "boolean", + supportMobile: "string", + supportEmail: "string" + }; + castConstValue = /* @__PURE__ */ __name((key, value) => { + if (!Object.prototype.hasOwnProperty.call(CONST_TYPES, key)) { + return value; + } + const type = CONST_TYPES[key]; + if (type === "number") { + const parsed = Number(value); + return Number.isFinite(parsed) ? parsed : 0; + } + if (type === "boolean") { + let newVal = value + ""; + if (newVal === "0") { + return false; + } else if (newVal?.toLowerCase() === "false") { + return false; + } + return true; + } + if (value === null || value === void 0) { + return ""; + } + return String(value); + }, "castConstValue"); + } +}); + // ../../packages/db_helper_sqlite/src/admin-apis/const.ts async function getAllConstants() { const constants2 = await db.select().from(keyValStore); return constants2.map((c2) => ({ key: c2.key, - value: c2.value + value: castConstValue(c2.key, c2.value) })); } async function upsertConstants(constants2) { await db.transaction(async (tx) => { for (const { key, value } of constants2) { - await tx.insert(keyValStore).values({ key, value }).onConflictDoUpdate({ - target: keyValStore.key, - set: { value } + const castedValue = value + ""; + const existing = await tx.query.keyValStore.findFirst({ + where: eq(keyValStore.key, key), + columns: { key: true } }); + if (existing) { + await tx.update(keyValStore).set({ value: castedValue }).where(eq(keyValStore.key, key)); + } else { + await tx.insert(keyValStore).values({ key, value: castedValue }); + } } }); } @@ -9496,9 +9585,10 @@ var init_const = __esm({ init_db_index(); init_schema(); init_drizzle_orm(); + init_const_keys(); __name(getAllConstants, "getAllConstants"); __name(upsertConstants, "upsertConstants"); - CACHE_VERSION_KEY = "cache_version"; + CACHE_VERSION_KEY = CONST_KEYS.cacheVersion; parseCacheVersion = /* @__PURE__ */ __name((value) => { const parsed = Number(value); return Number.isFinite(parsed) ? parsed : 0; @@ -14269,8 +14359,8 @@ var init_dbService = __esm({ }); // src/lib/const-keys.ts -var CONST_KEYS, CONST_KEYS_ARRAY; -var init_const_keys = __esm({ +var CONST_KEYS2, CONST_KEYS_ARRAY2; +var init_const_keys2 = __esm({ "src/lib/const-keys.ts"() { "use strict"; init_strip_cf_connecting_ip_header(); @@ -14278,7 +14368,7 @@ var init_const_keys = __esm({ init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_process(); init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_console(); init_performance2(); - CONST_KEYS = { + CONST_KEYS2 = { minRegularOrderValue: "minRegularOrderValue", freeDeliveryThreshold: "freeDeliveryThreshold", deliveryCharge: "deliveryCharge", @@ -14292,6 +14382,7 @@ var init_const_keys = __esm({ flashDeliverySlotId: "flashDeliverySlotId", readableOrderId: "readableOrderId", versionNum: "versionNum", + cacheVersion: "cache_version", playStoreUrl: "playStoreUrl", appStoreUrl: "appStoreUrl", popularItems: "popularItems", @@ -14300,7 +14391,7 @@ var init_const_keys = __esm({ supportMobile: "supportMobile", supportEmail: "supportEmail" }; - CONST_KEYS_ARRAY = Object.values(CONST_KEYS); + CONST_KEYS_ARRAY2 = Object.values(CONST_KEYS2); } }); @@ -14315,7 +14406,7 @@ var init_const_store = __esm({ init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_console(); init_performance2(); init_dbService(); - init_const_keys(); + init_const_keys2(); computeConstants = /* @__PURE__ */ __name(async () => { try { console.log("Computing constants from database..."); @@ -14348,7 +14439,7 @@ var init_const_store = __esm({ const constants2 = await getAllKeyValStore(); const constantsMap = new Map(constants2.map((c2) => [c2.key, c2.value])); const result = {}; - for (const key of CONST_KEYS_ARRAY) { + for (const key of CONST_KEYS_ARRAY2) { result[key] = constantsMap.get(key) ?? null; } return result; @@ -42318,7 +42409,7 @@ var init_product_store = __esm({ // src/stores/product-tag-store.ts async function transformTagToStoreTag(tag2) { - const signedImageUrl = tag2.imageUrl ? await generateSignedUrlFromS3Url(tag2.imageUrl) : null; + const signedImageUrl = tag2.imageUrl ? scaffoldAssetUrl(tag2.imageUrl) : null; return { id: tag2.id, tagName: tag2.tagName, @@ -63097,19 +63188,19 @@ async function scaffoldEssentialConsts() { const consts = await getAllConstValues(); const cacheVersion = await getCacheVersion(); return { - freeDeliveryThreshold: consts[CONST_KEYS.freeDeliveryThreshold] ?? 200, - deliveryCharge: consts[CONST_KEYS.deliveryCharge] ?? 0, - flashFreeDeliveryThreshold: consts[CONST_KEYS.flashFreeDeliveryThreshold] ?? 500, - flashDeliveryCharge: consts[CONST_KEYS.flashDeliveryCharge] ?? 69, - popularItems: consts[CONST_KEYS.popularItems] ?? "5,3,2,4,1", - versionNum: consts[CONST_KEYS.versionNum] ?? "1.1.0", - playStoreUrl: consts[CONST_KEYS.playStoreUrl] ?? "https://play.google.com/store/apps/details?id=in.freshyo.app", - appStoreUrl: consts[CONST_KEYS.appStoreUrl] ?? "https://apps.apple.com/in/app/freshyo/id6756889077", + freeDeliveryThreshold: consts[CONST_KEYS2.freeDeliveryThreshold] ?? 200, + deliveryCharge: consts[CONST_KEYS2.deliveryCharge] ?? 0, + flashFreeDeliveryThreshold: consts[CONST_KEYS2.flashFreeDeliveryThreshold] ?? 500, + flashDeliveryCharge: consts[CONST_KEYS2.flashDeliveryCharge] ?? 69, + popularItems: consts[CONST_KEYS2.popularItems], + versionNum: consts[CONST_KEYS2.versionNum], + playStoreUrl: consts[CONST_KEYS2.playStoreUrl], + appStoreUrl: consts[CONST_KEYS2.appStoreUrl], webViewHtml: null, isWebviewClosable: true, - isFlashDeliveryEnabled: consts[CONST_KEYS.isFlashDeliveryEnabled] ?? true, - supportMobile: consts[CONST_KEYS.supportMobile] ?? "", - supportEmail: consts[CONST_KEYS.supportEmail] ?? "", + isFlashDeliveryEnabled: consts[CONST_KEYS2.isFlashDeliveryEnabled] ?? false, + supportMobile: consts[CONST_KEYS2.supportMobile] ?? "", + supportEmail: consts[CONST_KEYS2.supportEmail] ?? "", assetsDomain: getAssetsDomain(), apiCacheKey: getApiCacheKey(), cacheVersion @@ -63133,7 +63224,7 @@ var init_common_trpc_index = __esm({ init_s3_client(); init_api_error(); init_const_store(); - init_const_keys(); + init_const_keys2(); init_env_exporter(); polygon2 = polygon(mbnrGeoJson.features[0].geometry.coordinates); __name(scaffoldEssentialConsts, "scaffoldEssentialConsts"); @@ -64692,7 +64783,7 @@ async function sendAdminNotification(data) { console.error(`Invalid Expo push token: ${token}`); return; } - const signedImageUrl = imageUrl ? await generateSignedUrlFromS3Url(imageUrl) : null; + const signedImageUrl = imageUrl ? scaffoldAssetUrl(imageUrl) : null; const expo = new import_expo_server_sdk.Expo(); const message2 = { to: token, @@ -72972,7 +73063,7 @@ var init_product3 = __esm({ const tagsWithSignedUrls = await Promise.all( tags.map(async (tag2) => ({ ...tag2, - imageUrl: tag2.imageUrl ? await generateSignedUrlFromS3Url(tag2.imageUrl) : null + imageUrl: tag2.imageUrl ? scaffoldAssetUrl(tag2.imageUrl) : null })) ); return { @@ -72987,7 +73078,7 @@ var init_product3 = __esm({ } const tagWithSignedUrl = { ...tag2, - imageUrl: tag2.imageUrl ? await generateSignedUrlFromS3Url(tag2.imageUrl) : null + imageUrl: tag2.imageUrl ? scaffoldAssetUrl(tag2.imageUrl) : null }; return { tag: tagWithSignedUrl, @@ -73022,7 +73113,7 @@ var init_product3 = __esm({ return { tag: { ...createdTagInfo, - imageUrl: createdTagInfo.imageUrl ? await generateSignedUrlFromS3Url(createdTagInfo.imageUrl) : null + imageUrl: createdTagInfo.imageUrl ? scaffoldAssetUrl(createdTagInfo.imageUrl) : null }, message: "Tag created successfully" }; @@ -73061,7 +73152,7 @@ var init_product3 = __esm({ return { tag: { ...updatedTagInfo, - imageUrl: updatedTagInfo.imageUrl ? await generateSignedUrlFromS3Url(updatedTagInfo.imageUrl) : null + imageUrl: updatedTagInfo.imageUrl ? scaffoldAssetUrl(updatedTagInfo.imageUrl) : null }, message: "Tag updated successfully" }; @@ -75410,7 +75501,7 @@ var init_store2 = __esm({ const stores = await getAllStores(); await Promise.all(stores.map(async (store) => { if (store.imageUrl) - store.imageUrl = await generateSignedUrlFromS3Url(store.imageUrl); + store.imageUrl = scaffoldAssetUrl(store.imageUrl); })).catch((e2) => { throw new ApiError("Unable to find store image urls"); }); @@ -75427,7 +75518,7 @@ var init_store2 = __esm({ if (!store) { throw new ApiError("Store not found", 404); } - store.imageUrl = await generateSignedUrlFromS3Url(store.imageUrl); + store.imageUrl = scaffoldAssetUrl(store.imageUrl); return { store }; @@ -75566,7 +75657,7 @@ var init_banner2 = __esm({ try { return { ...banner, - imageUrl: banner.imageUrl ? await generateSignedUrlFromS3Url(banner.imageUrl) : banner.imageUrl, + imageUrl: banner.imageUrl ? scaffoldAssetUrl(banner.imageUrl) : banner.imageUrl, // Ensure productIds is always an array productIds: banner.productIds || [] }; @@ -75596,7 +75687,7 @@ var init_banner2 = __esm({ if (banner) { try { if (banner.imageUrl) { - banner.imageUrl = await generateSignedUrlFromS3Url(banner.imageUrl); + banner.imageUrl = scaffoldAssetUrl(banner.imageUrl); } } catch (error50) { console.error(`Failed to generate signed URL for banner ${banner.id}:`, error50); @@ -75921,7 +76012,7 @@ var init_const2 = __esm({ init_trpc_index(); init_zod(); init_const_store(); - init_const_keys(); + init_const_keys2(); init_dbService(); constRouter = router({ getConstants: protectedProcedure.query(async () => { @@ -75935,11 +76026,12 @@ var init_const2 = __esm({ })) })).mutation(async ({ input }) => { const { constants: constants2 } = input; - const validKeys = Object.values(CONST_KEYS); + const validKeys = Object.values(CONST_KEYS2); const invalidKeys = constants2.filter((c2) => !validKeys.includes(c2.key)).map((c2) => c2.key); if (invalidKeys.length > 0) { throw new Error(`Invalid constant keys: ${invalidKeys.join(", ")}`); } + console.log(input); await upsertConstants(constants2); await computeConstants(); return { @@ -76751,14 +76843,14 @@ var init_order4 = __esm({ userNotes } = params; const constants2 = await getConstants([ - CONST_KEYS.minRegularOrderValue, - CONST_KEYS.deliveryCharge, - CONST_KEYS.flashFreeDeliveryThreshold, - CONST_KEYS.flashDeliveryCharge + CONST_KEYS2.minRegularOrderValue, + CONST_KEYS2.deliveryCharge, + CONST_KEYS2.flashFreeDeliveryThreshold, + CONST_KEYS2.flashDeliveryCharge ]); const isFlashDelivery = params.isFlash; - const minOrderValue = (isFlashDelivery ? constants2[CONST_KEYS.flashFreeDeliveryThreshold] : constants2[CONST_KEYS.minRegularOrderValue]) || 0; - const deliveryCharge = (isFlashDelivery ? constants2[CONST_KEYS.flashDeliveryCharge] : constants2[CONST_KEYS.deliveryCharge]) || 0; + const minOrderValue = (isFlashDelivery ? constants2[CONST_KEYS2.flashFreeDeliveryThreshold] : constants2[CONST_KEYS2.minRegularOrderValue]) || 0; + const deliveryCharge = (isFlashDelivery ? constants2[CONST_KEYS2.flashDeliveryCharge] : constants2[CONST_KEYS2.deliveryCharge]) || 0; const orderGroupId = `${Date.now()}-${userId}`; const address = await getAddressByIdAndUser(addressId, userId); if (!address) { @@ -76912,7 +77004,7 @@ var init_order4 = __esm({ isFlashDelivery } = input; if (isFlashDelivery) { - const isFlashDeliveryEnabled = await getConstant(CONST_KEYS.isFlashDeliveryEnabled); + const isFlashDeliveryEnabled = await getConstant(CONST_KEYS2.isFlashDeliveryEnabled); if (!isFlashDeliveryEnabled) { throw new ApiError("Flash delivery is currently unavailable. Please opt for scheduled delivery.", 403); } @@ -77377,7 +77469,7 @@ var init_user4 = __esm({ throw new ApiError("User not found", 404); } const userDetail = await getUserDetailByUserId(userId); - const profileImageSignedUrl = userDetail?.profileImage ? await generateSignedUrlFromS3Url(userDetail.profileImage) : null; + const profileImageSignedUrl = userDetail?.profileImage ? scaffoldAssetUrl(userDetail.profileImage) : null; return { success: true, data: { @@ -77964,14 +78056,14 @@ var init_app = __esm({ } }); -// .wrangler/tmp/bundle-MabhKO/middleware-loader.entry.ts +// .wrangler/tmp/bundle-l1tHq1/middleware-loader.entry.ts init_strip_cf_connecting_ip_header(); init_modules_watch_stub(); init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_process(); init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_console(); init_performance2(); -// .wrangler/tmp/bundle-MabhKO/middleware-insertion-facade.js +// .wrangler/tmp/bundle-l1tHq1/middleware-insertion-facade.js init_strip_cf_connecting_ip_header(); init_modules_watch_stub(); init_virtual_unenv_global_polyfill_cloudflare_unenv_preset_node_process(); @@ -78162,7 +78254,7 @@ var jsonError = /* @__PURE__ */ __name(async (request, env2, _ctx, middlewareCtx }, "jsonError"); var middleware_miniflare3_json_error_default = jsonError; -// .wrangler/tmp/bundle-MabhKO/middleware-insertion-facade.js +// .wrangler/tmp/bundle-l1tHq1/middleware-insertion-facade.js var __INTERNAL_WRANGLER_MIDDLEWARE__ = [ middleware_ensure_req_body_drained_default, middleware_miniflare3_json_error_default @@ -78199,7 +78291,7 @@ function __facade_invoke__(request, env2, ctx, dispatch, finalMiddleware) { } __name(__facade_invoke__, "__facade_invoke__"); -// .wrangler/tmp/bundle-MabhKO/middleware-loader.entry.ts +// .wrangler/tmp/bundle-l1tHq1/middleware-loader.entry.ts var __Facade_ScheduledController__ = class { constructor(scheduledTime, cron, noRetry) { this.scheduledTime = scheduledTime; diff --git a/apps/backend/.wrangler/tmp/dev-UMGKJQ/worker.js.map b/apps/backend/.wrangler/tmp/dev-UMGKJQ/worker.js.map new file mode 100644 index 0000000..e8af842 --- /dev/null +++ b/apps/backend/.wrangler/tmp/dev-UMGKJQ/worker.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "sources": ["../bundle-l1tHq1/strip-cf-connecting-ip-header.js", "../../../../../node_modules/unenv/dist/runtime/_internal/utils.mjs", "../../../../../node_modules/unenv/dist/runtime/node/internal/perf_hooks/performance.mjs", "../../../../../node_modules/unenv/dist/runtime/node/perf_hooks.mjs", "../../../../../node_modules/@cloudflare/unenv-preset/dist/runtime/polyfill/performance.mjs", "../../../../../node_modules/unenv/dist/runtime/mock/noop.mjs", "../../../../../node_modules/unenv/dist/runtime/node/console.mjs", "../../../../../node_modules/@cloudflare/unenv-preset/dist/runtime/node/console.mjs", "../../../../../node_modules/wrangler/_virtual_unenv_global_polyfill-@cloudflare-unenv-preset-node-console", "../../../../../node_modules/unenv/dist/runtime/node/internal/process/hrtime.mjs", "../../../../../node_modules/unenv/dist/runtime/node/internal/tty/read-stream.mjs", "../../../../../node_modules/unenv/dist/runtime/node/internal/tty/write-stream.mjs", "../../../../../node_modules/unenv/dist/runtime/node/tty.mjs", "../../../../../node_modules/unenv/dist/runtime/node/internal/process/process.mjs", "../../../../../node_modules/@cloudflare/unenv-preset/dist/runtime/node/process.mjs", "../../../../../node_modules/wrangler/_virtual_unenv_global_polyfill-@cloudflare-unenv-preset-node-process", "wrangler-modules-watch:wrangler:modules-watch", "../../../../../node_modules/wrangler/templates/modules-watch-stub.js", "../../../../../node_modules/dayjs/dayjs.min.js", "../../../src/lib/roles-manager.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/entity.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/logger.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/table.utils.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/table.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/column.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/column-builder.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/pg-core/foreign-keys.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/tracing-utils.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/pg-core/unique-constraint.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/pg-core/utils/array.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/pg-core/columns/common.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/pg-core/columns/enum.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/subquery.ts", "../../../../../packages/db_helper_sqlite/node_modules/drizzle-orm/version.js", "../../../../../packages/db_helper_sqlite/node_modules/src/tracing.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/view-common.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sql/sql.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/utils.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/pg-core/table.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/pg-core/primary-keys.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sql/expressions/conditions.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sql/expressions/select.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sql/expressions/index.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/relations.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/alias.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/selection-proxy.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/query-promise.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/foreign-keys.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/unique-constraint.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/common.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/blob.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/custom.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/integer.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/numeric.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/real.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/text.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/all.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/table.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/checks.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/indexes.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/primary-keys.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/utils.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/delete.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/casing.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/errors.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sql/functions/aggregate.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sql/functions/vector.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sql/functions/index.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sql/index.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/columns/index.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/view-base.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/dialect.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/query-builders/query-builder.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/select.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/query-builder.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/insert.ts", "../../../../../packages/db_helper_sqlite/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.js", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/update.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/index.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/count.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/query.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/query-builders/raw.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/db.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/cache/core/cache.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/cache/core/index.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/alias.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/session.ts", "../../../../../packages/db_helper_sqlite/node_modules/drizzle-orm/sqlite-core/subquery.js", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/view.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/sqlite-core/index.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/d1/session.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/d1/driver.ts", "../../../../../packages/db_helper_sqlite/node_modules/src/d1/index.ts", "../../../../../packages/db_helper_sqlite/node_modules/drizzle-orm/operations.js", "../../../../../packages/db_helper_sqlite/node_modules/src/index.ts", "../../../../../packages/db_helper_sqlite/src/lib/date.ts", "../../../../../packages/db_helper_sqlite/src/db/schema.ts", "../../../../../packages/db_helper_sqlite/src/db/db_index.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/banner.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/complaint.ts", "../../../../../packages/db_helper_sqlite/src/lib/const-keys.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/const.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/coupon.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/order.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/product.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/slots.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/staff-user.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/store.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/user.ts", "../../../../../packages/db_helper_sqlite/src/admin-apis/vendor-snippets.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/address.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/banners.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/cart.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/complaint.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/stores.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/product.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/slots.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/payments.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/auth.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/coupon.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/user.ts", "../../../../../packages/db_helper_sqlite/src/user-apis/order.ts", "../../../../../packages/db_helper_sqlite/src/stores/store-helpers.ts", "../../../../../packages/db_helper_sqlite/src/lib/automated-jobs.ts", "../../../../../packages/db_helper_sqlite/src/lib/health-check.ts", "../../../../../packages/db_helper_sqlite/src/lib/delete-orders.ts", "../../../../../packages/db_helper_sqlite/src/helper_methods/upload-url.ts", "../../../../../packages/db_helper_sqlite/src/lib/seed.ts", "../../../../../packages/db_helper_sqlite/index.ts", "../../../src/sqliteImporter.ts", "../../../src/dbService.ts", "../../../src/lib/const-keys.ts", "../../../src/lib/const-store.ts", "../../../../../node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/extensions/index.js", "../../../../../node_modules/@smithy/types/dist-es/abort.js", "../../../../../node_modules/@smithy/types/dist-es/auth/auth.js", "../../../../../node_modules/@smithy/types/dist-es/auth/HttpApiKeyAuth.js", "../../../../../node_modules/@smithy/types/dist-es/auth/HttpAuthScheme.js", "../../../../../node_modules/@smithy/types/dist-es/auth/HttpAuthSchemeProvider.js", "../../../../../node_modules/@smithy/types/dist-es/auth/HttpSigner.js", "../../../../../node_modules/@smithy/types/dist-es/auth/IdentityProviderConfig.js", "../../../../../node_modules/@smithy/types/dist-es/auth/index.js", "../../../../../node_modules/@smithy/types/dist-es/blob/blob-payload-input-types.js", "../../../../../node_modules/@smithy/types/dist-es/checksum.js", "../../../../../node_modules/@smithy/types/dist-es/client.js", "../../../../../node_modules/@smithy/types/dist-es/command.js", "../../../../../node_modules/@smithy/types/dist-es/connection/config.js", "../../../../../node_modules/@smithy/types/dist-es/connection/manager.js", "../../../../../node_modules/@smithy/types/dist-es/connection/pool.js", "../../../../../node_modules/@smithy/types/dist-es/connection/index.js", "../../../../../node_modules/@smithy/types/dist-es/crypto.js", "../../../../../node_modules/@smithy/types/dist-es/encode.js", "../../../../../node_modules/@smithy/types/dist-es/endpoint.js", "../../../../../node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js", "../../../../../node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js", "../../../../../node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js", "../../../../../node_modules/@smithy/types/dist-es/endpoints/shared.js", "../../../../../node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js", "../../../../../node_modules/@smithy/types/dist-es/endpoints/index.js", "../../../../../node_modules/@smithy/types/dist-es/eventStream.js", "../../../../../node_modules/@smithy/types/dist-es/extensions/checksum.js", "../../../../../node_modules/@smithy/types/dist-es/extensions/defaultClientConfiguration.js", "../../../../../node_modules/@smithy/types/dist-es/extensions/defaultExtensionConfiguration.js", "../../../../../node_modules/@smithy/types/dist-es/extensions/index.js", "../../../../../node_modules/@smithy/types/dist-es/feature-ids.js", "../../../../../node_modules/@smithy/types/dist-es/http.js", "../../../../../node_modules/@smithy/types/dist-es/http/httpHandlerInitialization.js", "../../../../../node_modules/@smithy/types/dist-es/identity/apiKeyIdentity.js", "../../../../../node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js", "../../../../../node_modules/@smithy/types/dist-es/identity/identity.js", "../../../../../node_modules/@smithy/types/dist-es/identity/tokenIdentity.js", "../../../../../node_modules/@smithy/types/dist-es/identity/index.js", "../../../../../node_modules/@smithy/types/dist-es/logger.js", "../../../../../node_modules/@smithy/types/dist-es/middleware.js", "../../../../../node_modules/@smithy/types/dist-es/pagination.js", "../../../../../node_modules/@smithy/types/dist-es/profile.js", "../../../../../node_modules/@smithy/types/dist-es/response.js", "../../../../../node_modules/@smithy/types/dist-es/retry.js", "../../../../../node_modules/@smithy/types/dist-es/schema/schema.js", "../../../../../node_modules/@smithy/types/dist-es/schema/traits.js", "../../../../../node_modules/@smithy/types/dist-es/schema/schema-deprecated.js", "../../../../../node_modules/@smithy/types/dist-es/schema/sentinels.js", "../../../../../node_modules/@smithy/types/dist-es/schema/static-schemas.js", "../../../../../node_modules/@smithy/types/dist-es/serde.js", "../../../../../node_modules/@smithy/types/dist-es/shapes.js", "../../../../../node_modules/@smithy/types/dist-es/signature.js", "../../../../../node_modules/@smithy/types/dist-es/stream.js", "../../../../../node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-common-types.js", "../../../../../node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-input-types.js", "../../../../../node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-output-types.js", "../../../../../node_modules/@smithy/types/dist-es/transfer.js", "../../../../../node_modules/@smithy/types/dist-es/transform/client-payload-blob-type-narrow.js", "../../../../../node_modules/@smithy/types/dist-es/transform/mutable.js", "../../../../../node_modules/@smithy/types/dist-es/transform/no-undefined.js", "../../../../../node_modules/@smithy/types/dist-es/transform/type-transform.js", "../../../../../node_modules/@smithy/types/dist-es/uri.js", "../../../../../node_modules/@smithy/types/dist-es/util.js", "../../../../../node_modules/@smithy/types/dist-es/waiter.js", "../../../../../node_modules/@smithy/types/dist-es/index.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/Field.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/Fields.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/httpHandler.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/httpRequest.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/httpResponse.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/isValidHostname.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/types.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-expect-continue/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/constants.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/index.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js", "../../../../../node_modules/@smithy/core/dist-es/getSmithyContext.js", "../../../../../node_modules/@smithy/util-middleware/dist-es/getSmithyContext.js", "../../../../../node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js", "../../../../../node_modules/@smithy/util-middleware/dist-es/index.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/resolveAuthOptions.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/index.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-signing/index.js", "../../../../../node_modules/@smithy/core/dist-es/normalizeProvider.js", "../../../../../node_modules/@smithy/core/dist-es/pagination/createPaginator.js", "../../../../../node_modules/@smithy/util-base64/dist-es/constants.browser.js", "../../../../../node_modules/@smithy/util-base64/dist-es/fromBase64.browser.js", "../../../../../node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js", "../../../../../node_modules/@smithy/util-utf8/dist-es/toUint8Array.js", "../../../../../node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js", "../../../../../node_modules/@smithy/util-utf8/dist-es/index.js", "../../../../../node_modules/@smithy/util-base64/dist-es/toBase64.browser.js", "../../../../../node_modules/@smithy/util-base64/dist-es/index.js", "../../../../../node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js", "../../../../../node_modules/@smithy/util-stream/dist-es/checksum/ChecksumStream.browser.js", "../../../../../node_modules/@smithy/util-stream/dist-es/stream-type-check.js", "../../../../../node_modules/@smithy/util-stream/dist-es/checksum/createChecksumStream.browser.js", "../../../../../node_modules/@smithy/util-stream/dist-es/ByteArrayCollector.js", "../../../../../node_modules/@smithy/util-stream/dist-es/createBufferedReadableStream.js", "../../../../../node_modules/@smithy/util-stream/dist-es/getAwsChunkedEncodingStream.browser.js", "../../../../../node_modules/@smithy/util-stream/dist-es/headStream.browser.js", "../../../../../node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js", "../../../../../node_modules/@smithy/util-uri-escape/dist-es/escape-uri-path.js", "../../../../../node_modules/@smithy/util-uri-escape/dist-es/index.js", "../../../../../node_modules/@smithy/querystring-builder/dist-es/index.js", "../../../../../node_modules/@smithy/fetch-http-handler/dist-es/create-request.js", "../../../../../node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js", "../../../../../node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js", "../../../../../node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js", "../../../../../node_modules/@smithy/fetch-http-handler/dist-es/index.js", "../../../../../node_modules/@smithy/util-hex-encoding/dist-es/index.js", "../../../../../node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.browser.js", "../../../../../node_modules/@smithy/util-stream/dist-es/splitStream.browser.js", "../../../../../node_modules/@smithy/util-stream/dist-es/index.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/deref.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/operation.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js", "../../../../../node_modules/@smithy/querystring-parser/dist-es/index.js", "../../../../../node_modules/@smithy/url-parser/dist-es/index.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/endpoints/index.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/ErrorSchema.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/sentinels.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/schema/index.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/copyDocumentWithTransform.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js", "../../../../../node_modules/@smithy/uuid/dist-es/randomUUID.browser.js", "../../../../../node_modules/@smithy/uuid/dist-es/v4.js", "../../../../../node_modules/@smithy/uuid/dist-es/index.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/generateIdempotencyToken.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/lazy-json.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/quote-header.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/split-every.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/split-header.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/serde/index.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/event-streams/index.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js", "../../../../../node_modules/@smithy/core/dist-es/submodules/protocols/index.js", "../../../../../node_modules/@smithy/core/dist-es/request-builder/requestBuilder.js", "../../../../../node_modules/@smithy/core/dist-es/setFeature.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/noAuth.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/index.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/index.js", "../../../../../node_modules/@smithy/core/dist-es/index.js", "../../../../../node_modules/@smithy/property-provider/dist-es/ProviderError.js", "../../../../../node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js", "../../../../../node_modules/@smithy/property-provider/dist-es/TokenProviderError.js", "../../../../../node_modules/@smithy/property-provider/dist-es/chain.js", "../../../../../node_modules/@smithy/property-provider/dist-es/fromStatic.js", "../../../../../node_modules/@smithy/property-provider/dist-es/memoize.js", "../../../../../node_modules/@smithy/property-provider/dist-es/index.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/constants.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js", "../../../../../node_modules/@smithy/is-array-buffer/dist-es/index.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/headerUtil.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/prepareRequest.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/utilDate.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/SignatureV4Base.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/SignatureV4.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/signature-v4a-container.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/index.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js", "../../../../../node_modules/@smithy/util-body-length-browser/dist-es/calculateBodyLength.js", "../../../../../node_modules/@smithy/util-body-length-browser/dist-es/index.js", "../../../../../node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js", "../../../../../node_modules/@smithy/middleware-stack/dist-es/index.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/client.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/schemaLogFilter.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/command.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/constants.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/create-aggregated-client.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/exceptions.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/default-error-handler.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/defaults-mode.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extensions/retry.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extensions/index.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/get-array-if-single-item.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/is-serializable-header-value.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/object-mapping.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/resolve-path.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/ser-utils.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/serde-json.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/index.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/coercing-serializers.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonCodec.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_0Protocol.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_1Protocol.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/awsExpectUnion.js", "../../../../../node_modules/@aws-sdk/xml-builder/dist-es/escape-attribute.js", "../../../../../node_modules/@aws-sdk/xml-builder/dist-es/escape-element.js", "../../../../../node_modules/@aws-sdk/xml-builder/dist-es/XmlText.js", "../../../../../node_modules/@aws-sdk/xml-builder/dist-es/XmlNode.js", "../../../../../node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.browser.js", "../../../../../node_modules/@aws-sdk/xml-builder/dist-es/index.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsEc2QueryProtocol.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QuerySerializerSettings.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlCodec.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js", "../../../../../node_modules/@aws-sdk/core/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksumAlgorithmForRequest.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksumLocationName.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/hasHeader.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/hasHeaderWithPrefix.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/isStreaming.js", "../../../../../node_modules/tslib/tslib.es6.mjs", "../../../../../node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js", "../../../../../node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/dist-es/toUint8Array.js", "../../../../../node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js", "../../../../../node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/dist-es/index.js", "../../../../../node_modules/@aws-crypto/util/src/convertToBuffer.ts", "../../../../../node_modules/@aws-crypto/util/src/isEmptyData.ts", "../../../../../node_modules/@aws-crypto/util/src/numToUint8.ts", "../../../../../node_modules/@aws-crypto/util/src/uint32ArrayFrom.ts", "../../../../../node_modules/@aws-crypto/util/src/index.ts", "../../../../../node_modules/@aws-crypto/crc32c/src/aws_crc32c.ts", "../../../../../node_modules/@aws-crypto/crc32c/src/index.ts", "../../../../../node_modules/@aws-sdk/crc64-nvme/dist-es/Crc64Nvme.js", "../../../../../node_modules/@aws-sdk/crc64-nvme/dist-es/crc64-nvme-crt-container.js", "../../../../../node_modules/@aws-sdk/crc64-nvme/dist-es/index.js", "../../../../../node_modules/@aws-crypto/crc32/src/aws_crc32.ts", "../../../../../node_modules/@aws-crypto/crc32/src/index.ts", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getCrc32ChecksumAlgorithmFunction.browser.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/types.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/selectChecksumAlgorithmFunction.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/stringHasher.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsMiddleware.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsInputMiddleware.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksumAlgorithmListForResponse.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/isChecksumWithPartNumber.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksum.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/validateChecksumFromResponse.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsResponseMiddleware.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getFlexibleChecksumsPlugin.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/resolveFlexibleChecksumsConfig.js", "../../../../../node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-host-header/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js", "../../../../../node_modules/@aws-sdk/middleware-logger/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-es/configuration.js", "../../../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-es/recursionDetectionMiddleware.browser.js", "../../../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-es/getRecursionDetectionPlugin.js", "../../../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/check-content-length-header.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-endpoint-middleware.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-middleware.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-expires-middleware.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCache.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCacheEntry.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityProviderImpl.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/constants.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/SignatureV4S3Express.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressMiddleware.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/signS3Express.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressHttpSigningMiddleware.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/index.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3Configuration.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/throw-200-exceptions.js", "../../../../../node_modules/@aws-sdk/util-arn-parser/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/bucket-endpoint-middleware.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/validate-bucket-name.js", "../../../../../node_modules/@aws-sdk/middleware-sdk-s3/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/cache/EndpointCache.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/isIpAddress.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/isValidHostLabel.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/customEndpointFunctions.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/debug/debugId.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/debug/toDebugString.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/debug/index.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/EndpointError.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/EndpointFunctions.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/EndpointRuleObject.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/ErrorRuleObject.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/RuleSetObject.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/TreeRuleObject.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/shared.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/index.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/booleanEquals.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/getAttrPathList.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/isSet.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/not.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/parseURL.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/stringEquals.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/substring.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/uriEncode.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/index.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/callFunction.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointUrl.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/index.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/index.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/isIpAddress.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/aws.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/resolveDefaultAwsRegionalEndpointsConfig.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/resolveEndpoint.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointError.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/types/EndpointRuleObject.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/types/ErrorRuleObject.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/types/RuleSetObject.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/types/TreeRuleObject.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/types/shared.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/index.js", "../../../../../node_modules/@smithy/util-retry/dist-es/config.js", "../../../../../node_modules/@smithy/service-error-classification/dist-es/constants.js", "../../../../../node_modules/@smithy/service-error-classification/dist-es/index.js", "../../../../../node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js", "../../../../../node_modules/@smithy/util-retry/dist-es/constants.js", "../../../../../node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js", "../../../../../node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js", "../../../../../node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js", "../../../../../node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js", "../../../../../node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js", "../../../../../node_modules/@smithy/util-retry/dist-es/types.js", "../../../../../node_modules/@smithy/util-retry/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/check-features.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/encode-features.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/index.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/checkRegion.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/index.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionInfo/PartitionHash.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionInfo/RegionHash.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionInfo/getRegionInfo.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionInfo/index.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/index.js", "../../../../../node_modules/@smithy/eventstream-serde-config-resolver/dist-es/EventStreamSerdeConfig.js", "../../../../../node_modules/@smithy/eventstream-serde-config-resolver/dist-es/index.js", "../../../../../node_modules/@smithy/middleware-content-length/dist-es/index.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/index.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromConfig.browser.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/index.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js", "../../../../../node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js", "../../../../../node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js", "../../../../../node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js", "../../../../../node_modules/@smithy/middleware-serde/dist-es/index.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointRequiredConfig.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/types.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/index.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/delayDecider.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/retryDecider.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/util.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/StandardRetryStrategy.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/AdaptiveRetryStrategy.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/configurations.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/omitRetryHeadersMiddleware.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/isStreamingPayload/isStreamingPayload.browser.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/index.js", "../../../../../node_modules/@aws-sdk/signature-v4-multi-region/dist-es/signature-v4-crt-container.js", "../../../../../node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4MultiRegion.js", "../../../../../node_modules/@aws-sdk/signature-v4-multi-region/dist-es/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/endpoint/ruleset.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/endpoint/endpointResolver.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/auth/httpAuthSchemeProvider.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/endpoint/EndpointParameters.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/models/S3ServiceException.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/models/errors.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/schemas/schemas_0.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/CreateSessionCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/package.json", "../../../../../node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js", "../../../../../node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/dist-es/toUint8Array.js", "../../../../../node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js", "../../../../../node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/dist-es/index.js", "../../../../../node_modules/@aws-crypto/sha1-browser/src/isEmptyData.ts", "../../../../../node_modules/@aws-crypto/sha1-browser/src/constants.ts", "../../../../../node_modules/@aws-sdk/util-locate-window/dist-es/index.js", "../../../../../node_modules/@aws-crypto/sha1-browser/src/webCryptoSha1.ts", "../../../../../node_modules/@aws-crypto/supports-web-crypto/src/supportsWebCrypto.ts", "../../../../../node_modules/@aws-crypto/supports-web-crypto/src/index.ts", "../../../../../node_modules/@aws-crypto/sha1-browser/src/crossPlatformSha1.ts", "../../../../../node_modules/@aws-crypto/sha1-browser/src/index.ts", "../../../../../node_modules/@aws-crypto/sha256-browser/src/constants.ts", "../../../../../node_modules/@aws-crypto/sha256-browser/src/webCryptoSha256.ts", "../../../../../node_modules/@aws-crypto/sha256-js/src/constants.ts", "../../../../../node_modules/@aws-crypto/sha256-js/src/RawSha256.ts", "../../../../../node_modules/@aws-crypto/sha256-js/src/jsSha256.ts", "../../../../../node_modules/@aws-crypto/sha256-js/src/index.ts", "../../../../../node_modules/@aws-crypto/sha256-browser/src/crossPlatformSha256.ts", "../../../../../node_modules/@aws-crypto/sha256-browser/src/index.ts", "../../../../../node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/Int64.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/Message.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/index.js", "../../../../../node_modules/@smithy/eventstream-serde-universal/dist-es/getChunkedStream.js", "../../../../../node_modules/@smithy/eventstream-serde-universal/dist-es/getUnmarshalledStream.js", "../../../../../node_modules/@smithy/eventstream-serde-universal/dist-es/EventStreamMarshaller.js", "../../../../../node_modules/@smithy/eventstream-serde-universal/dist-es/provider.js", "../../../../../node_modules/@smithy/eventstream-serde-universal/dist-es/index.js", "../../../../../node_modules/@smithy/eventstream-serde-browser/dist-es/utils.js", "../../../../../node_modules/@smithy/eventstream-serde-browser/dist-es/EventStreamMarshaller.js", "../../../../../node_modules/@smithy/eventstream-serde-browser/dist-es/provider.js", "../../../../../node_modules/@smithy/eventstream-serde-browser/dist-es/index.js", "../../../../../node_modules/@smithy/chunked-blob-reader/dist-es/index.js", "../../../../../node_modules/@smithy/hash-blob-browser/dist-es/index.js", "../../../../../node_modules/@smithy/invalid-dependency/dist-es/invalidFunction.js", "../../../../../node_modules/@smithy/invalid-dependency/dist-es/invalidProvider.js", "../../../../../node_modules/@smithy/invalid-dependency/dist-es/index.js", "../../../../../node_modules/@smithy/md5-js/dist-es/constants.js", "../../../../../node_modules/@smithy/md5-js/dist-es/index.js", "../../../../../node_modules/@smithy/util-defaults-mode-browser/dist-es/constants.js", "../../../../../node_modules/@smithy/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js", "../../../../../node_modules/@smithy/util-defaults-mode-browser/dist-es/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/runtimeConfig.shared.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/runtimeConfig.browser.js", "../../../../../node_modules/@aws-sdk/region-config-resolver/dist-es/extensions/index.js", "../../../../../node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/awsRegionConfig.js", "../../../../../node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/stsRegionDefaultResolver.browser.js", "../../../../../node_modules/@aws-sdk/region-config-resolver/dist-es/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/auth/httpAuthExtensionConfiguration.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/runtimeExtensions.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/S3Client.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/AbortMultipartUploadCommand.js", "../../../../../node_modules/@aws-sdk/middleware-ssec/dist-es/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/CompleteMultipartUploadCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/CopyObjectCommand.js", "../../../../../node_modules/@aws-sdk/middleware-location-constraint/dist-es/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/CreateBucketCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/CreateBucketMetadataConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/CreateBucketMetadataTableConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/CreateMultipartUploadCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketAnalyticsConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketCorsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketEncryptionCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketIntelligentTieringConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketInventoryConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketLifecycleCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketMetadataConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketMetadataTableConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketMetricsConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketOwnershipControlsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketPolicyCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketReplicationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketTaggingCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteBucketWebsiteCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteObjectCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteObjectsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteObjectTaggingCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/DeletePublicAccessBlockCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketAbacCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketAccelerateConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketAclCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketAnalyticsConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketCorsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketEncryptionCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketIntelligentTieringConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketInventoryConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketLifecycleConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketLocationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketLoggingCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketMetadataConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketMetadataTableConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketMetricsConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketNotificationConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketOwnershipControlsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketPolicyCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketPolicyStatusCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketReplicationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketRequestPaymentCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketTaggingCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketVersioningCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetBucketWebsiteCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectAclCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectAttributesCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectLegalHoldCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectLockConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectRetentionCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectTaggingCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectTorrentCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/GetPublicAccessBlockCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/HeadBucketCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/HeadObjectCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListBucketAnalyticsConfigurationsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListBucketIntelligentTieringConfigurationsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListBucketInventoryConfigurationsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListBucketMetricsConfigurationsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListBucketsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListDirectoryBucketsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListMultipartUploadsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListObjectsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListObjectsV2Command.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListObjectVersionsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/ListPartsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketAbacCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketAccelerateConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketAclCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketAnalyticsConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketCorsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketEncryptionCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketIntelligentTieringConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketInventoryConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketLifecycleConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketLoggingCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketMetricsConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketNotificationConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketOwnershipControlsCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketPolicyCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketReplicationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketRequestPaymentCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketTaggingCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketVersioningCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketWebsiteCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectAclCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectLegalHoldCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectLockConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectRetentionCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectTaggingCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/PutPublicAccessBlockCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/RenameObjectCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/RestoreObjectCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/SelectObjectContentCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/UpdateBucketMetadataInventoryTableConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/UpdateBucketMetadataJournalTableConfigurationCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/UpdateObjectEncryptionCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/UploadPartCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/UploadPartCopyCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/WriteGetObjectResponseCommand.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/pagination/ListBucketsPaginator.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/pagination/ListDirectoryBucketsPaginator.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/pagination/ListObjectsV2Paginator.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/pagination/ListPartsPaginator.js", "../../../../../node_modules/@smithy/util-waiter/dist-es/circularReplacer.js", "../../../../../node_modules/@smithy/util-waiter/dist-es/utils/sleep.js", "../../../../../node_modules/@smithy/util-waiter/dist-es/waiter.js", "../../../../../node_modules/@smithy/util-waiter/dist-es/poller.js", "../../../../../node_modules/@smithy/util-waiter/dist-es/utils/validate.js", "../../../../../node_modules/@smithy/util-waiter/dist-es/utils/index.js", "../../../../../node_modules/@smithy/util-waiter/dist-es/createWaiter.js", "../../../../../node_modules/@smithy/util-waiter/dist-es/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForBucketExists.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForBucketNotExists.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForObjectExists.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/waiters/waitForObjectNotExists.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/S3.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/commands/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/pagination/Interfaces.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/pagination/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/waiters/index.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/models/enums.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/models/models_0.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/models/models_1.js", "../../../../../node_modules/@aws-sdk/client-s3/dist-es/index.js", "../../../../../node_modules/@aws-sdk/util-format-url/dist-es/index.js", "../../../../../node_modules/@aws-sdk/s3-request-presigner/dist-es/constants.js", "../../../../../node_modules/@aws-sdk/s3-request-presigner/dist-es/presigner.js", "../../../../../node_modules/@aws-sdk/s3-request-presigner/dist-es/getSignedUrl.js", "../../../../../node_modules/@aws-sdk/s3-request-presigner/dist-es/index.js", "../../../src/lib/env-exporter.ts", "../../../src/lib/s3-client.ts", "../../../src/stores/product-store.ts", "../../../src/stores/product-tag-store.ts", "../../../src/stores/slot-store.ts", "../../../src/stores/banner-store.ts", "../../../../../node_modules/axios/lib/helpers/bind.js", "../../../../../node_modules/axios/lib/utils.js", "../../../../../node_modules/axios/lib/core/AxiosError.js", "../../../../../node_modules/axios/lib/helpers/null.js", "../../../../../node_modules/axios/lib/helpers/toFormData.js", "../../../../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js", "../../../../../node_modules/axios/lib/helpers/buildURL.js", "../../../../../node_modules/axios/lib/core/InterceptorManager.js", "../../../../../node_modules/axios/lib/defaults/transitional.js", "../../../../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js", "../../../../../node_modules/axios/lib/platform/browser/classes/FormData.js", "../../../../../node_modules/axios/lib/platform/browser/classes/Blob.js", "../../../../../node_modules/axios/lib/platform/browser/index.js", "../../../../../node_modules/axios/lib/platform/common/utils.js", "../../../../../node_modules/axios/lib/platform/index.js", "../../../../../node_modules/axios/lib/helpers/toURLEncodedForm.js", "../../../../../node_modules/axios/lib/helpers/formDataToJSON.js", "../../../../../node_modules/axios/lib/defaults/index.js", "../../../../../node_modules/axios/lib/helpers/parseHeaders.js", "../../../../../node_modules/axios/lib/core/AxiosHeaders.js", "../../../../../node_modules/axios/lib/core/transformData.js", "../../../../../node_modules/axios/lib/cancel/isCancel.js", "../../../../../node_modules/axios/lib/cancel/CanceledError.js", "../../../../../node_modules/axios/lib/core/settle.js", "../../../../../node_modules/axios/lib/helpers/parseProtocol.js", "../../../../../node_modules/axios/lib/helpers/speedometer.js", "../../../../../node_modules/axios/lib/helpers/throttle.js", "../../../../../node_modules/axios/lib/helpers/progressEventReducer.js", "../../../../../node_modules/axios/lib/helpers/isURLSameOrigin.js", "../../../../../node_modules/axios/lib/helpers/cookies.js", "../../../../../node_modules/axios/lib/helpers/isAbsoluteURL.js", "../../../../../node_modules/axios/lib/helpers/combineURLs.js", "../../../../../node_modules/axios/lib/core/buildFullPath.js", "../../../../../node_modules/axios/lib/core/mergeConfig.js", "../../../../../node_modules/axios/lib/helpers/resolveConfig.js", "../../../../../node_modules/axios/lib/adapters/xhr.js", "../../../../../node_modules/axios/lib/helpers/composeSignals.js", "../../../../../node_modules/axios/lib/helpers/trackStream.js", "../../../../../node_modules/axios/lib/adapters/fetch.js", "../../../../../node_modules/axios/lib/adapters/adapters.js", "../../../../../node_modules/axios/lib/core/dispatchRequest.js", "../../../../../node_modules/axios/lib/env/data.js", "../../../../../node_modules/axios/lib/helpers/validator.js", "../../../../../node_modules/axios/lib/core/Axios.js", "../../../../../node_modules/axios/lib/cancel/CancelToken.js", "../../../../../node_modules/axios/lib/helpers/spread.js", "../../../../../node_modules/axios/lib/helpers/isAxiosError.js", "../../../../../node_modules/axios/lib/helpers/HttpStatusCode.js", "../../../../../node_modules/axios/lib/axios.js", "../../../../../node_modules/axios/index.js", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/utils.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/rpc/codes.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/createProxy.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/error/getErrorShape.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/error/formatter.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/error/TRPCError.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/transformer.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/router.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/tracked.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/middleware.ts", "../../../../../node_modules/@trpc/server/src/vendor/standard-schema-v1/error.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/parser.ts", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/procedureBuilder.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/rootConfig.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/initTRPC.ts", "../../../../../node_modules/@trpc/server/dist/index.mjs", "../../../src/trpc/trpc-index.ts", "../../../src/trpc/apis/common-apis/common.ts", "../../../../../node_modules/@turf/helpers/index.ts", "../../../../../node_modules/@turf/invariant/index.ts", "../../../../../node_modules/robust-predicates/esm/util.js", "../../../../../node_modules/robust-predicates/esm/orient2d.js", "../../../../../node_modules/robust-predicates/esm/orient3d.js", "../../../../../node_modules/robust-predicates/esm/incircle.js", "../../../../../node_modules/robust-predicates/esm/insphere.js", "../../../../../node_modules/robust-predicates/index.js", "../../../../../node_modules/point-in-polygon-hao/dist/esm/index.js", "../../../../../node_modules/@turf/boolean-point-in-polygon/index.ts", "../../../../../node_modules/@turf/turf/index.ts", "../../../../../node_modules/zod/v4/core/core.js", "../../../../../node_modules/zod/v4/core/util.js", "../../../../../node_modules/zod/v4/core/errors.js", "../../../../../node_modules/zod/v4/core/parse.js", "../../../../../node_modules/zod/v4/core/regexes.js", "../../../../../node_modules/zod/v4/core/checks.js", "../../../../../node_modules/zod/v4/core/doc.js", "../../../../../node_modules/zod/v4/core/versions.js", "../../../../../node_modules/zod/v4/core/schemas.js", "../../../../../node_modules/zod/v4/locales/ar.js", "../../../../../node_modules/zod/v4/locales/az.js", "../../../../../node_modules/zod/v4/locales/be.js", "../../../../../node_modules/zod/v4/locales/bg.js", "../../../../../node_modules/zod/v4/locales/ca.js", "../../../../../node_modules/zod/v4/locales/cs.js", "../../../../../node_modules/zod/v4/locales/da.js", "../../../../../node_modules/zod/v4/locales/de.js", "../../../../../node_modules/zod/v4/locales/en.js", "../../../../../node_modules/zod/v4/locales/eo.js", "../../../../../node_modules/zod/v4/locales/es.js", "../../../../../node_modules/zod/v4/locales/fa.js", "../../../../../node_modules/zod/v4/locales/fi.js", "../../../../../node_modules/zod/v4/locales/fr.js", "../../../../../node_modules/zod/v4/locales/fr-CA.js", "../../../../../node_modules/zod/v4/locales/he.js", "../../../../../node_modules/zod/v4/locales/hu.js", "../../../../../node_modules/zod/v4/locales/hy.js", "../../../../../node_modules/zod/v4/locales/id.js", "../../../../../node_modules/zod/v4/locales/is.js", "../../../../../node_modules/zod/v4/locales/it.js", "../../../../../node_modules/zod/v4/locales/ja.js", "../../../../../node_modules/zod/v4/locales/ka.js", "../../../../../node_modules/zod/v4/locales/km.js", "../../../../../node_modules/zod/v4/locales/kh.js", "../../../../../node_modules/zod/v4/locales/ko.js", "../../../../../node_modules/zod/v4/locales/lt.js", "../../../../../node_modules/zod/v4/locales/mk.js", "../../../../../node_modules/zod/v4/locales/ms.js", "../../../../../node_modules/zod/v4/locales/nl.js", "../../../../../node_modules/zod/v4/locales/no.js", "../../../../../node_modules/zod/v4/locales/ota.js", "../../../../../node_modules/zod/v4/locales/ps.js", "../../../../../node_modules/zod/v4/locales/pl.js", "../../../../../node_modules/zod/v4/locales/pt.js", "../../../../../node_modules/zod/v4/locales/ru.js", "../../../../../node_modules/zod/v4/locales/sl.js", "../../../../../node_modules/zod/v4/locales/sv.js", "../../../../../node_modules/zod/v4/locales/ta.js", "../../../../../node_modules/zod/v4/locales/th.js", "../../../../../node_modules/zod/v4/locales/tr.js", "../../../../../node_modules/zod/v4/locales/uk.js", "../../../../../node_modules/zod/v4/locales/ua.js", "../../../../../node_modules/zod/v4/locales/ur.js", "../../../../../node_modules/zod/v4/locales/uz.js", "../../../../../node_modules/zod/v4/locales/vi.js", "../../../../../node_modules/zod/v4/locales/zh-CN.js", "../../../../../node_modules/zod/v4/locales/zh-TW.js", "../../../../../node_modules/zod/v4/locales/yo.js", "../../../../../node_modules/zod/v4/locales/index.js", "../../../../../node_modules/zod/v4/core/registries.js", "../../../../../node_modules/zod/v4/core/api.js", "../../../../../node_modules/zod/v4/core/to-json-schema.js", "../../../../../node_modules/zod/v4/core/json-schema-processors.js", "../../../../../node_modules/zod/v4/core/json-schema-generator.js", "../../../../../node_modules/zod/v4/core/json-schema.js", "../../../../../node_modules/zod/v4/core/index.js", "../../../../../node_modules/zod/v4/classic/checks.js", "../../../../../node_modules/zod/v4/classic/iso.js", "../../../../../node_modules/zod/v4/classic/errors.js", "../../../../../node_modules/zod/v4/classic/parse.js", "../../../../../node_modules/zod/v4/classic/schemas.js", "../../../../../node_modules/zod/v4/classic/compat.js", "../../../../../node_modules/zod/v4/classic/from-json-schema.js", "../../../../../node_modules/zod/v4/classic/coerce.js", "../../../../../node_modules/zod/v4/classic/external.js", "../../../../../node_modules/zod/index.js", "../../../src/lib/mbnr-geojson.ts", "../../../src/lib/api-error.ts", "../../../src/trpc/apis/common-apis/common-trpc-index.ts", "../../../src/trpc/apis/user-apis/apis/stores.ts", "../../../src/trpc/apis/user-apis/apis/slots.ts", "../../../src/trpc/apis/user-apis/apis/banners.ts", "../../../../../packages/shared/types/index.ts", "../../../../../packages/shared/index.ts", "../../../src/lib/retry.ts", "../../../src/lib/cloud_cache.ts", "../../../src/stores/store-initializer.ts", "../../../../../node_modules/unenv/dist/runtime/npm/node-fetch.mjs", "required-unenv-alias:node-fetch", "node-built-in-modules:node:assert", "node-built-in-modules:node:zlib", "../../../../../node_modules/promise-limit/index.js", "../../../../../node_modules/err-code/index.js", "../../../../../node_modules/retry/lib/retry_operation.js", "../../../../../node_modules/retry/lib/retry.js", "../../../../../node_modules/retry/index.js", "../../../../../node_modules/promise-retry/index.js", "../../../node_modules/expo-server-sdk/src/ExpoClientValues.ts", "../../../node_modules/expo-server-sdk/package.json", "../../../node_modules/expo-server-sdk/src/ExpoClient.ts", "../../../src/lib/queue-data-pusher.ts", "../../../src/lib/const-strings.ts", "../../../src/lib/notif-job.ts", "../../../src/lib/telegram-service.ts", "../../../src/lib/post-order-handler.ts", "../../../../../node_modules/hono/dist/compose.js", "../../../../../node_modules/hono/dist/http-exception.js", "../../../../../node_modules/hono/dist/request/constants.js", "../../../../../node_modules/hono/dist/utils/body.js", "../../../../../node_modules/hono/dist/utils/url.js", "../../../../../node_modules/hono/dist/request.js", "../../../../../node_modules/hono/dist/utils/html.js", "../../../../../node_modules/hono/dist/context.js", "../../../../../node_modules/hono/dist/router.js", "../../../../../node_modules/hono/dist/utils/constants.js", "../../../../../node_modules/hono/dist/hono-base.js", "../../../../../node_modules/hono/dist/router/reg-exp-router/matcher.js", "../../../../../node_modules/hono/dist/router/reg-exp-router/node.js", "../../../../../node_modules/hono/dist/router/reg-exp-router/trie.js", "../../../../../node_modules/hono/dist/router/reg-exp-router/router.js", "../../../../../node_modules/hono/dist/router/reg-exp-router/prepared-router.js", "../../../../../node_modules/hono/dist/router/reg-exp-router/index.js", "../../../../../node_modules/hono/dist/router/smart-router/router.js", "../../../../../node_modules/hono/dist/router/smart-router/index.js", "../../../../../node_modules/hono/dist/router/trie-router/node.js", "../../../../../node_modules/hono/dist/router/trie-router/router.js", "../../../../../node_modules/hono/dist/router/trie-router/index.js", "../../../../../node_modules/hono/dist/hono.js", "../../../../../node_modules/hono/dist/index.js", "../../../../../node_modules/hono/dist/middleware/cors/index.js", "../../../../../node_modules/hono/dist/utils/color.js", "../../../../../node_modules/hono/dist/middleware/logger/index.js", "../../../../../node_modules/@trpc/server/src/observable/observable.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/http/parseConnectionParams.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/http/contentType.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/http/abortError.ts", "../../../../../node_modules/@trpc/server/src/vendor/is-plain-object.ts", "../../../../../node_modules/@trpc/server/src/vendor/unpromise/unpromise.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/utils/disposable.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/utils/timerResource.ts", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/utils/asyncIterable.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/utils/createDeferred.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/utils/readableStreamFrom.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/utils/withPing.ts", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/jsonl.ts", "../../../../../node_modules/node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncGeneratorDelegate.js", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/stream/sse.ts", "../../../../../node_modules/@trpc/server/src/unstable-core-do-not-import/http/resolveResponse.ts", "../../../../../node_modules/@trpc/server/src/adapters/fetch/fetchRequestHandler.ts", "../../../../../node_modules/hono/dist/helper/route/index.js", "../../../../../node_modules/@hono/trpc-server/src/index.ts", "../../../../../node_modules/jose/dist/webapi/lib/buffer_utils.js", "../../../../../node_modules/jose/dist/webapi/lib/base64.js", "../../../../../node_modules/jose/dist/webapi/util/base64url.js", "../../../../../node_modules/jose/dist/webapi/lib/crypto_key.js", "../../../../../node_modules/jose/dist/webapi/lib/invalid_key_input.js", "../../../../../node_modules/jose/dist/webapi/util/errors.js", "../../../../../node_modules/jose/dist/webapi/lib/is_key_like.js", "../../../../../node_modules/jose/dist/webapi/lib/helpers.js", "../../../../../node_modules/jose/dist/webapi/lib/type_checks.js", "../../../../../node_modules/jose/dist/webapi/lib/signing.js", "../../../../../node_modules/jose/dist/webapi/lib/jwk_to_key.js", "../../../../../node_modules/jose/dist/webapi/lib/normalize_key.js", "../../../../../node_modules/jose/dist/webapi/lib/validate_crit.js", "../../../../../node_modules/jose/dist/webapi/lib/validate_algorithms.js", "../../../../../node_modules/jose/dist/webapi/lib/check_key_type.js", "../../../../../node_modules/jose/dist/webapi/jws/flattened/verify.js", "../../../../../node_modules/jose/dist/webapi/jws/compact/verify.js", "../../../../../node_modules/jose/dist/webapi/lib/jwt_claims_set.js", "../../../../../node_modules/jose/dist/webapi/jwt/verify.js", "../../../../../node_modules/jose/dist/webapi/jws/flattened/sign.js", "../../../../../node_modules/jose/dist/webapi/jws/compact/sign.js", "../../../../../node_modules/jose/dist/webapi/jwt/sign.js", "../../../../../node_modules/jose/dist/webapi/index.js", "../../../src/middleware/staff-auth.ts", "../../../src/apis/admin-apis/apis/av-router.ts", "../../../src/apis/common-apis/apis/common-product.controller.ts", "../../../src/apis/common-apis/apis/common-product.router.ts", "../../../src/apis/common-apis/apis/common.router.ts", "../../../src/v1-router.ts", "../../../src/test-controller.ts", "../../../src/middleware/auth.middleware.ts", "../../../src/main-router.ts", "../../../src/trpc/apis/admin-apis/apis/complaint.ts", "../../../src/trpc/apis/admin-apis/apis/coupon.ts", "../../../src/stores/user-negativity-store.ts", "../../../src/trpc/apis/admin-apis/apis/order.ts", "../../../src/trpc/apis/admin-apis/apis/vendor-snippets.ts", "../../../src/trpc/apis/admin-apis/apis/slots.ts", "../../../src/trpc/apis/admin-apis/apis/product.ts", "../../../../../node_modules/unenv/dist/runtime/node/internal/crypto/web.mjs", "../../../../../node_modules/unenv/dist/runtime/node/internal/crypto/node.mjs", "../../../../../node_modules/unenv/dist/runtime/node/internal/crypto/constants.mjs", "../../../../../node_modules/unenv/dist/runtime/node/crypto.mjs", "../../../../../node_modules/@cloudflare/unenv-preset/dist/runtime/node/crypto.mjs", "../../../../../node_modules/bcryptjs/index.js", "../../../src/trpc/apis/admin-apis/apis/staff-user.ts", "../../../src/trpc/apis/admin-apis/apis/store.ts", "../../../src/trpc/apis/admin-apis/apis/payments.ts", "../../../src/trpc/apis/admin-apis/apis/banner.ts", "../../../src/trpc/apis/admin-apis/apis/user.ts", "../../../src/trpc/apis/admin-apis/apis/const.ts", "../../../src/trpc/apis/admin-apis/apis/admin-trpc-index.ts", "../../../src/lib/license-util.ts", "../../../src/trpc/apis/user-apis/apis/address.ts", "../../../src/lib/otp-utils.ts", "../../../src/trpc/apis/user-apis/apis/auth.ts", "../../../src/trpc/apis/user-apis/apis/cart.ts", "../../../src/trpc/apis/user-apis/apis/complaint.ts", "../../../src/trpc/apis/user-apis/apis/order.ts", "../../../src/trpc/apis/user-apis/apis/product.ts", "../../../src/trpc/apis/user-apis/apis/user.ts", "../../../src/trpc/apis/user-apis/apis/coupon.ts", "../../../src/lib/payments-utils.ts", "../../../src/trpc/apis/user-apis/apis/payments.ts", "../../../src/trpc/apis/user-apis/apis/file-upload.ts", "../../../src/trpc/apis/user-apis/apis/tags.ts", "../../../src/trpc/apis/user-apis/apis/user-trpc-index.ts", "../../../src/trpc/router.ts", "../../../src/app.ts", "../bundle-l1tHq1/middleware-loader.entry.ts", "../bundle-l1tHq1/middleware-insertion-facade.js", "../../../worker.ts", "../../../src/jobs/cache-creator.ts", "../../../src/lib/queue-consumer.ts", "../../../../../node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts", "../../../../../node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts", "../../../../../node_modules/wrangler/templates/middleware/common.ts"], + "sourceRoot": "/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/.wrangler/tmp/dev-UMGKJQ", + "sourcesContent": ["function stripCfConnectingIPHeader(input, init) {\n\tconst request = new Request(input, init);\n\trequest.headers.delete(\"CF-Connecting-IP\");\n\treturn request;\n}\n\nglobalThis.fetch = new Proxy(globalThis.fetch, {\n\tapply(target, thisArg, argArray) {\n\t\treturn Reflect.apply(target, thisArg, [\n\t\t\tstripCfConnectingIPHeader.apply(null, argArray),\n\t\t]);\n\t},\n});\n", "/*@__NO_SIDE_EFFECTS__*/ export function rawHeaders(headers) {\n\tconst rawHeaders = [];\n\tfor (const key in headers) {\n\t\tif (Array.isArray(headers[key])) {\n\t\t\tfor (const h of headers[key]) {\n\t\t\t\trawHeaders.push(key, h);\n\t\t\t}\n\t\t} else {\n\t\t\trawHeaders.push(key, headers[key]);\n\t\t}\n\t}\n\treturn rawHeaders;\n}\n/*@__NO_SIDE_EFFECTS__*/ export function mergeFns(...functions) {\n\treturn function(...args) {\n\t\tfor (const fn of functions) {\n\t\t\tfn(...args);\n\t\t}\n\t};\n}\n/*@__NO_SIDE_EFFECTS__*/ export function createNotImplementedError(name) {\n\treturn new Error(`[unenv] ${name} is not implemented yet!`);\n}\n/*@__NO_SIDE_EFFECTS__*/ export function notImplemented(name) {\n\tconst fn = () => {\n\t\tthrow createNotImplementedError(name);\n\t};\n\treturn Object.assign(fn, { __unenv__: true });\n}\n/*@__NO_SIDE_EFFECTS__*/ export function notImplementedAsync(name) {\n\tconst fn = notImplemented(name);\n\tfn.__promisify__ = () => notImplemented(name + \".__promisify__\");\n\tfn.native = fn;\n\treturn fn;\n}\n/*@__NO_SIDE_EFFECTS__*/ export function notImplementedClass(name) {\n\treturn class {\n\t\t__unenv__ = true;\n\t\tconstructor() {\n\t\t\tthrow new Error(`[unenv] ${name} is not implemented yet!`);\n\t\t}\n\t};\n}\n", "import { createNotImplementedError } from \"../../../_internal/utils.mjs\";\nconst _timeOrigin = globalThis.performance?.timeOrigin ?? Date.now();\nconst _performanceNow = globalThis.performance?.now ? globalThis.performance.now.bind(globalThis.performance) : () => Date.now() - _timeOrigin;\nconst nodeTiming = {\n\tname: \"node\",\n\tentryType: \"node\",\n\tstartTime: 0,\n\tduration: 0,\n\tnodeStart: 0,\n\tv8Start: 0,\n\tbootstrapComplete: 0,\n\tenvironment: 0,\n\tloopStart: 0,\n\tloopExit: 0,\n\tidleTime: 0,\n\tuvMetricsInfo: {\n\t\tloopCount: 0,\n\t\tevents: 0,\n\t\teventsWaiting: 0\n\t},\n\tdetail: undefined,\n\ttoJSON() {\n\t\treturn this;\n\t}\n};\nexport class PerformanceEntry {\n\t__unenv__ = true;\n\tdetail;\n\tentryType = \"event\";\n\tname;\n\tstartTime;\n\tconstructor(name, options) {\n\t\tthis.name = name;\n\t\tthis.startTime = options?.startTime || _performanceNow();\n\t\tthis.detail = options?.detail;\n\t}\n\tget duration() {\n\t\treturn _performanceNow() - this.startTime;\n\t}\n\ttoJSON() {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tentryType: this.entryType,\n\t\t\tstartTime: this.startTime,\n\t\t\tduration: this.duration,\n\t\t\tdetail: this.detail\n\t\t};\n\t}\n}\nexport const PerformanceMark = class PerformanceMark extends PerformanceEntry {\n\tentryType = \"mark\";\n\tconstructor() {\n\t\tsuper(...arguments);\n\t}\n\tget duration() {\n\t\treturn 0;\n\t}\n};\nexport class PerformanceMeasure extends PerformanceEntry {\n\tentryType = \"measure\";\n}\nexport class PerformanceResourceTiming extends PerformanceEntry {\n\tentryType = \"resource\";\n\tserverTiming = [];\n\tconnectEnd = 0;\n\tconnectStart = 0;\n\tdecodedBodySize = 0;\n\tdomainLookupEnd = 0;\n\tdomainLookupStart = 0;\n\tencodedBodySize = 0;\n\tfetchStart = 0;\n\tinitiatorType = \"\";\n\tname = \"\";\n\tnextHopProtocol = \"\";\n\tredirectEnd = 0;\n\tredirectStart = 0;\n\trequestStart = 0;\n\tresponseEnd = 0;\n\tresponseStart = 0;\n\tsecureConnectionStart = 0;\n\tstartTime = 0;\n\ttransferSize = 0;\n\tworkerStart = 0;\n\tresponseStatus = 0;\n}\nexport class PerformanceObserverEntryList {\n\t__unenv__ = true;\n\tgetEntries() {\n\t\treturn [];\n\t}\n\tgetEntriesByName(_name, _type) {\n\t\treturn [];\n\t}\n\tgetEntriesByType(type) {\n\t\treturn [];\n\t}\n}\nexport class Performance {\n\t__unenv__ = true;\n\ttimeOrigin = _timeOrigin;\n\teventCounts = new Map();\n\t_entries = [];\n\t_resourceTimingBufferSize = 0;\n\tnavigation = undefined;\n\ttiming = undefined;\n\ttimerify(_fn, _options) {\n\t\tthrow createNotImplementedError(\"Performance.timerify\");\n\t}\n\tget nodeTiming() {\n\t\treturn nodeTiming;\n\t}\n\teventLoopUtilization() {\n\t\treturn {};\n\t}\n\tmarkResourceTiming() {\n\t\treturn new PerformanceResourceTiming(\"\");\n\t}\n\tonresourcetimingbufferfull = null;\n\tnow() {\n\t\tif (this.timeOrigin === _timeOrigin) {\n\t\t\treturn _performanceNow();\n\t\t}\n\t\treturn Date.now() - this.timeOrigin;\n\t}\n\tclearMarks(markName) {\n\t\tthis._entries = markName ? this._entries.filter((e) => e.name !== markName) : this._entries.filter((e) => e.entryType !== \"mark\");\n\t}\n\tclearMeasures(measureName) {\n\t\tthis._entries = measureName ? this._entries.filter((e) => e.name !== measureName) : this._entries.filter((e) => e.entryType !== \"measure\");\n\t}\n\tclearResourceTimings() {\n\t\tthis._entries = this._entries.filter((e) => e.entryType !== \"resource\" || e.entryType !== \"navigation\");\n\t}\n\tgetEntries() {\n\t\treturn this._entries;\n\t}\n\tgetEntriesByName(name, type) {\n\t\treturn this._entries.filter((e) => e.name === name && (!type || e.entryType === type));\n\t}\n\tgetEntriesByType(type) {\n\t\treturn this._entries.filter((e) => e.entryType === type);\n\t}\n\tmark(name, options) {\n\t\tconst entry = new PerformanceMark(name, options);\n\t\tthis._entries.push(entry);\n\t\treturn entry;\n\t}\n\tmeasure(measureName, startOrMeasureOptions, endMark) {\n\t\tlet start;\n\t\tlet end;\n\t\tif (typeof startOrMeasureOptions === \"string\") {\n\t\t\tstart = this.getEntriesByName(startOrMeasureOptions, \"mark\")[0]?.startTime;\n\t\t\tend = this.getEntriesByName(endMark, \"mark\")[0]?.startTime;\n\t\t} else {\n\t\t\tstart = Number.parseFloat(startOrMeasureOptions?.start) || this.now();\n\t\t\tend = Number.parseFloat(startOrMeasureOptions?.end) || this.now();\n\t\t}\n\t\tconst entry = new PerformanceMeasure(measureName, {\n\t\t\tstartTime: start,\n\t\t\tdetail: {\n\t\t\t\tstart,\n\t\t\t\tend\n\t\t\t}\n\t\t});\n\t\tthis._entries.push(entry);\n\t\treturn entry;\n\t}\n\tsetResourceTimingBufferSize(maxSize) {\n\t\tthis._resourceTimingBufferSize = maxSize;\n\t}\n\taddEventListener(type, listener, options) {\n\t\tthrow createNotImplementedError(\"Performance.addEventListener\");\n\t}\n\tremoveEventListener(type, listener, options) {\n\t\tthrow createNotImplementedError(\"Performance.removeEventListener\");\n\t}\n\tdispatchEvent(event) {\n\t\tthrow createNotImplementedError(\"Performance.dispatchEvent\");\n\t}\n\ttoJSON() {\n\t\treturn this;\n\t}\n}\nexport class PerformanceObserver {\n\t__unenv__ = true;\n\tstatic supportedEntryTypes = [];\n\t_callback = null;\n\tconstructor(callback) {\n\t\tthis._callback = callback;\n\t}\n\ttakeRecords() {\n\t\treturn [];\n\t}\n\tdisconnect() {\n\t\tthrow createNotImplementedError(\"PerformanceObserver.disconnect\");\n\t}\n\tobserve(options) {\n\t\tthrow createNotImplementedError(\"PerformanceObserver.observe\");\n\t}\n\tbind(fn) {\n\t\treturn fn;\n\t}\n\trunInAsyncScope(fn, thisArg, ...args) {\n\t\treturn fn.call(thisArg, ...args);\n\t}\n\tasyncId() {\n\t\treturn 0;\n\t}\n\ttriggerAsyncId() {\n\t\treturn 0;\n\t}\n\temitDestroy() {\n\t\treturn this;\n\t}\n}\nexport const performance = globalThis.performance && \"addEventListener\" in globalThis.performance ? globalThis.performance : new Performance();\n", "import { IntervalHistogram, RecordableHistogram } from \"./internal/perf_hooks/histogram.mjs\";\nimport { performance, Performance, PerformanceEntry, PerformanceMark, PerformanceMeasure, PerformanceObserverEntryList, PerformanceObserver, PerformanceResourceTiming } from \"./internal/perf_hooks/performance.mjs\";\nexport * from \"./internal/perf_hooks/performance.mjs\";\nimport { NODE_PERFORMANCE_GC_MAJOR, NODE_PERFORMANCE_GC_MINOR, NODE_PERFORMANCE_GC_INCREMENTAL, NODE_PERFORMANCE_GC_WEAKCB, NODE_PERFORMANCE_GC_FLAGS_NO, NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED, NODE_PERFORMANCE_GC_FLAGS_FORCED, NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING, NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE, NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY, NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE, NODE_PERFORMANCE_ENTRY_TYPE_GC, NODE_PERFORMANCE_ENTRY_TYPE_HTTP, NODE_PERFORMANCE_ENTRY_TYPE_HTTP2, NODE_PERFORMANCE_ENTRY_TYPE_NET, NODE_PERFORMANCE_ENTRY_TYPE_DNS, NODE_PERFORMANCE_MILESTONE_TIME_ORIGIN_TIMESTAMP, NODE_PERFORMANCE_MILESTONE_TIME_ORIGIN, NODE_PERFORMANCE_MILESTONE_ENVIRONMENT, NODE_PERFORMANCE_MILESTONE_NODE_START, NODE_PERFORMANCE_MILESTONE_V8_START, NODE_PERFORMANCE_MILESTONE_LOOP_START, NODE_PERFORMANCE_MILESTONE_LOOP_EXIT, NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE } from \"./internal/perf_hooks/constants.mjs\";\nexport const constants = {\n\tNODE_PERFORMANCE_GC_MAJOR,\n\tNODE_PERFORMANCE_GC_MINOR,\n\tNODE_PERFORMANCE_GC_INCREMENTAL,\n\tNODE_PERFORMANCE_GC_WEAKCB,\n\tNODE_PERFORMANCE_GC_FLAGS_NO,\n\tNODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED,\n\tNODE_PERFORMANCE_GC_FLAGS_FORCED,\n\tNODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING,\n\tNODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE,\n\tNODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY,\n\tNODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE,\n\tNODE_PERFORMANCE_ENTRY_TYPE_GC,\n\tNODE_PERFORMANCE_ENTRY_TYPE_HTTP,\n\tNODE_PERFORMANCE_ENTRY_TYPE_HTTP2,\n\tNODE_PERFORMANCE_ENTRY_TYPE_NET,\n\tNODE_PERFORMANCE_ENTRY_TYPE_DNS,\n\tNODE_PERFORMANCE_MILESTONE_TIME_ORIGIN_TIMESTAMP,\n\tNODE_PERFORMANCE_MILESTONE_TIME_ORIGIN,\n\tNODE_PERFORMANCE_MILESTONE_ENVIRONMENT,\n\tNODE_PERFORMANCE_MILESTONE_NODE_START,\n\tNODE_PERFORMANCE_MILESTONE_V8_START,\n\tNODE_PERFORMANCE_MILESTONE_LOOP_START,\n\tNODE_PERFORMANCE_MILESTONE_LOOP_EXIT,\n\tNODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE\n};\nexport const monitorEventLoopDelay = function(_options) {\n\treturn new IntervalHistogram();\n};\nexport const createHistogram = function(_options) {\n\treturn new RecordableHistogram();\n};\nexport default {\n\tPerformance,\n\tPerformanceMark,\n\tPerformanceEntry,\n\tPerformanceMeasure,\n\tPerformanceObserverEntryList,\n\tPerformanceObserver,\n\tPerformanceResourceTiming,\n\tperformance,\n\tconstants,\n\tcreateHistogram,\n\tmonitorEventLoopDelay\n};\n", "import {\n performance,\n Performance,\n PerformanceEntry,\n PerformanceMark,\n PerformanceMeasure,\n PerformanceObserver,\n PerformanceObserverEntryList,\n PerformanceResourceTiming\n} from \"node:perf_hooks\";\nglobalThis.performance = performance;\nglobalThis.Performance = Performance;\nglobalThis.PerformanceEntry = PerformanceEntry;\nglobalThis.PerformanceMark = PerformanceMark;\nglobalThis.PerformanceMeasure = PerformanceMeasure;\nglobalThis.PerformanceObserver = PerformanceObserver;\nglobalThis.PerformanceObserverEntryList = PerformanceObserverEntryList;\nglobalThis.PerformanceResourceTiming = PerformanceResourceTiming;\n", "export default Object.assign(() => {}, { __unenv__: true });\n", "import { Writable } from \"node:stream\";\nimport noop from \"../mock/noop.mjs\";\nimport { notImplemented, notImplementedClass } from \"../_internal/utils.mjs\";\nconst _console = globalThis.console;\nexport const _ignoreErrors = true;\nexport const _stderr = new Writable();\nexport const _stdout = new Writable();\nexport const log = _console?.log ?? noop;\nexport const info = _console?.info ?? log;\nexport const trace = _console?.trace ?? info;\nexport const debug = _console?.debug ?? log;\nexport const table = _console?.table ?? log;\nexport const error = _console?.error ?? log;\nexport const warn = _console?.warn ?? error;\nexport const createTask = _console?.createTask ?? /*@__PURE__*/ notImplemented(\"console.createTask\");\nexport const assert = /*@__PURE__*/ notImplemented(\"console.assert\");\nexport const clear = _console?.clear ?? noop;\nexport const count = _console?.count ?? noop;\nexport const countReset = _console?.countReset ?? noop;\nexport const dir = _console?.dir ?? noop;\nexport const dirxml = _console?.dirxml ?? noop;\nexport const group = _console?.group ?? noop;\nexport const groupEnd = _console?.groupEnd ?? noop;\nexport const groupCollapsed = _console?.groupCollapsed ?? noop;\nexport const profile = _console?.profile ?? noop;\nexport const profileEnd = _console?.profileEnd ?? noop;\nexport const time = _console?.time ?? noop;\nexport const timeEnd = _console?.timeEnd ?? noop;\nexport const timeLog = _console?.timeLog ?? noop;\nexport const timeStamp = _console?.timeStamp ?? noop;\nexport const Console = _console?.Console ?? /*@__PURE__*/ notImplementedClass(\"console.Console\");\nexport const _times = /*@__PURE__*/ new Map();\nexport function context() {\n\treturn _console;\n}\nexport const _stdoutErrorHandler = noop;\nexport const _stderrErrorHandler = noop;\nexport default {\n\t_times,\n\t_ignoreErrors,\n\t_stdoutErrorHandler,\n\t_stderrErrorHandler,\n\t_stdout,\n\t_stderr,\n\tassert,\n\tclear,\n\tConsole,\n\tcount,\n\tcountReset,\n\tdebug,\n\tdir,\n\tdirxml,\n\terror,\n\tcontext,\n\tcreateTask,\n\tgroup,\n\tgroupEnd,\n\tgroupCollapsed,\n\tinfo,\n\tlog,\n\tprofile,\n\tprofileEnd,\n\ttable,\n\ttime,\n\ttimeEnd,\n\ttimeLog,\n\ttimeStamp,\n\ttrace,\n\twarn\n};\n", "import {\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times,\n Console\n} from \"unenv/node/console\";\nexport {\n Console,\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times\n} from \"unenv/node/console\";\nconst workerdConsole = globalThis[\"console\"];\nexport const {\n assert,\n clear,\n // @ts-expect-error undocumented public API\n context,\n count,\n countReset,\n // @ts-expect-error undocumented public API\n createTask,\n debug,\n dir,\n dirxml,\n error,\n group,\n groupCollapsed,\n groupEnd,\n info,\n log,\n profile,\n profileEnd,\n table,\n time,\n timeEnd,\n timeLog,\n timeStamp,\n trace,\n warn\n} = workerdConsole;\nObject.assign(workerdConsole, {\n Console,\n _ignoreErrors,\n _stderr,\n _stderrErrorHandler,\n _stdout,\n _stdoutErrorHandler,\n _times\n});\nexport default workerdConsole;\n", "import { default as defaultExport } from \"@cloudflare/unenv-preset/node/console\";\nglobalThis.console = defaultExport;", "export const hrtime = /*@__PURE__*/ Object.assign(function hrtime(startTime) {\n\tconst now = Date.now();\n\tconst seconds = Math.trunc(now / 1e3);\n\tconst nanos = now % 1e3 * 1e6;\n\tif (startTime) {\n\t\tlet diffSeconds = seconds - startTime[0];\n\t\tlet diffNanos = nanos - startTime[0];\n\t\tif (diffNanos < 0) {\n\t\t\tdiffSeconds = diffSeconds - 1;\n\t\t\tdiffNanos = 1e9 + diffNanos;\n\t\t}\n\t\treturn [diffSeconds, diffNanos];\n\t}\n\treturn [seconds, nanos];\n}, { bigint: function bigint() {\n\treturn BigInt(Date.now() * 1e6);\n} });\n", "import { Socket } from \"node:net\";\nexport class ReadStream extends Socket {\n\tfd;\n\tconstructor(fd) {\n\t\tsuper();\n\t\tthis.fd = fd;\n\t}\n\tisRaw = false;\n\tsetRawMode(mode) {\n\t\tthis.isRaw = mode;\n\t\treturn this;\n\t}\n\tisTTY = false;\n}\n", "import { Socket } from \"node:net\";\nexport class WriteStream extends Socket {\n\tfd;\n\tconstructor(fd) {\n\t\tsuper();\n\t\tthis.fd = fd;\n\t}\n\tclearLine(dir, callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tclearScreenDown(callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tcursorTo(x, y, callback) {\n\t\tcallback && typeof callback === \"function\" && callback();\n\t\treturn false;\n\t}\n\tmoveCursor(dx, dy, callback) {\n\t\tcallback && callback();\n\t\treturn false;\n\t}\n\tgetColorDepth(env) {\n\t\treturn 1;\n\t}\n\thasColors(count, env) {\n\t\treturn false;\n\t}\n\tgetWindowSize() {\n\t\treturn [this.columns, this.rows];\n\t}\n\tcolumns = 80;\n\trows = 24;\n\tisTTY = false;\n}\n", "import { ReadStream } from \"./internal/tty/read-stream.mjs\";\nimport { WriteStream } from \"./internal/tty/write-stream.mjs\";\nexport { ReadStream } from \"./internal/tty/read-stream.mjs\";\nexport { WriteStream } from \"./internal/tty/write-stream.mjs\";\nexport const isatty = function() {\n\treturn false;\n};\nexport default {\n\tReadStream,\n\tWriteStream,\n\tisatty\n};\n", "import { EventEmitter } from \"node:events\";\nimport { ReadStream, WriteStream } from \"node:tty\";\nimport { notImplemented, createNotImplementedError } from \"../../../_internal/utils.mjs\";\nexport class Process extends EventEmitter {\n\tenv;\n\thrtime;\n\tnextTick;\n\tconstructor(impl) {\n\t\tsuper();\n\t\tthis.env = impl.env;\n\t\tthis.hrtime = impl.hrtime;\n\t\tthis.nextTick = impl.nextTick;\n\t\tfor (const prop of [...Object.getOwnPropertyNames(Process.prototype), ...Object.getOwnPropertyNames(EventEmitter.prototype)]) {\n\t\t\tconst value = this[prop];\n\t\t\tif (typeof value === \"function\") {\n\t\t\t\tthis[prop] = value.bind(this);\n\t\t\t}\n\t\t}\n\t}\n\temitWarning(warning, type, code) {\n\t\tconsole.warn(`${code ? `[${code}] ` : \"\"}${type ? `${type}: ` : \"\"}${warning}`);\n\t}\n\temit(...args) {\n\t\treturn super.emit(...args);\n\t}\n\tlisteners(eventName) {\n\t\treturn super.listeners(eventName);\n\t}\n\t#stdin;\n\t#stdout;\n\t#stderr;\n\tget stdin() {\n\t\treturn this.#stdin ??= new ReadStream(0);\n\t}\n\tget stdout() {\n\t\treturn this.#stdout ??= new WriteStream(1);\n\t}\n\tget stderr() {\n\t\treturn this.#stderr ??= new WriteStream(2);\n\t}\n\t#cwd = \"/\";\n\tchdir(cwd) {\n\t\tthis.#cwd = cwd;\n\t}\n\tcwd() {\n\t\treturn this.#cwd;\n\t}\n\tarch = \"\";\n\tplatform = \"\";\n\targv = [];\n\targv0 = \"\";\n\texecArgv = [];\n\texecPath = \"\";\n\ttitle = \"\";\n\tpid = 200;\n\tppid = 100;\n\tget version() {\n\t\treturn \"\";\n\t}\n\tget versions() {\n\t\treturn {};\n\t}\n\tget allowedNodeEnvironmentFlags() {\n\t\treturn new Set();\n\t}\n\tget sourceMapsEnabled() {\n\t\treturn false;\n\t}\n\tget debugPort() {\n\t\treturn 0;\n\t}\n\tget throwDeprecation() {\n\t\treturn false;\n\t}\n\tget traceDeprecation() {\n\t\treturn false;\n\t}\n\tget features() {\n\t\treturn {};\n\t}\n\tget release() {\n\t\treturn {};\n\t}\n\tget connected() {\n\t\treturn false;\n\t}\n\tget config() {\n\t\treturn {};\n\t}\n\tget moduleLoadList() {\n\t\treturn [];\n\t}\n\tconstrainedMemory() {\n\t\treturn 0;\n\t}\n\tavailableMemory() {\n\t\treturn 0;\n\t}\n\tuptime() {\n\t\treturn 0;\n\t}\n\tresourceUsage() {\n\t\treturn {};\n\t}\n\tref() {}\n\tunref() {}\n\tumask() {\n\t\tthrow createNotImplementedError(\"process.umask\");\n\t}\n\tgetBuiltinModule() {\n\t\treturn undefined;\n\t}\n\tgetActiveResourcesInfo() {\n\t\tthrow createNotImplementedError(\"process.getActiveResourcesInfo\");\n\t}\n\texit() {\n\t\tthrow createNotImplementedError(\"process.exit\");\n\t}\n\treallyExit() {\n\t\tthrow createNotImplementedError(\"process.reallyExit\");\n\t}\n\tkill() {\n\t\tthrow createNotImplementedError(\"process.kill\");\n\t}\n\tabort() {\n\t\tthrow createNotImplementedError(\"process.abort\");\n\t}\n\tdlopen() {\n\t\tthrow createNotImplementedError(\"process.dlopen\");\n\t}\n\tsetSourceMapsEnabled() {\n\t\tthrow createNotImplementedError(\"process.setSourceMapsEnabled\");\n\t}\n\tloadEnvFile() {\n\t\tthrow createNotImplementedError(\"process.loadEnvFile\");\n\t}\n\tdisconnect() {\n\t\tthrow createNotImplementedError(\"process.disconnect\");\n\t}\n\tcpuUsage() {\n\t\tthrow createNotImplementedError(\"process.cpuUsage\");\n\t}\n\tsetUncaughtExceptionCaptureCallback() {\n\t\tthrow createNotImplementedError(\"process.setUncaughtExceptionCaptureCallback\");\n\t}\n\thasUncaughtExceptionCaptureCallback() {\n\t\tthrow createNotImplementedError(\"process.hasUncaughtExceptionCaptureCallback\");\n\t}\n\tinitgroups() {\n\t\tthrow createNotImplementedError(\"process.initgroups\");\n\t}\n\topenStdin() {\n\t\tthrow createNotImplementedError(\"process.openStdin\");\n\t}\n\tassert() {\n\t\tthrow createNotImplementedError(\"process.assert\");\n\t}\n\tbinding() {\n\t\tthrow createNotImplementedError(\"process.binding\");\n\t}\n\tpermission = { has: /*@__PURE__*/ notImplemented(\"process.permission.has\") };\n\treport = {\n\t\tdirectory: \"\",\n\t\tfilename: \"\",\n\t\tsignal: \"SIGUSR2\",\n\t\tcompact: false,\n\t\treportOnFatalError: false,\n\t\treportOnSignal: false,\n\t\treportOnUncaughtException: false,\n\t\tgetReport: /*@__PURE__*/ notImplemented(\"process.report.getReport\"),\n\t\twriteReport: /*@__PURE__*/ notImplemented(\"process.report.writeReport\")\n\t};\n\tfinalization = {\n\t\tregister: /*@__PURE__*/ notImplemented(\"process.finalization.register\"),\n\t\tunregister: /*@__PURE__*/ notImplemented(\"process.finalization.unregister\"),\n\t\tregisterBeforeExit: /*@__PURE__*/ notImplemented(\"process.finalization.registerBeforeExit\")\n\t};\n\tmemoryUsage = Object.assign(() => ({\n\t\tarrayBuffers: 0,\n\t\trss: 0,\n\t\texternal: 0,\n\t\theapTotal: 0,\n\t\theapUsed: 0\n\t}), { rss: () => 0 });\n\tmainModule = undefined;\n\tdomain = undefined;\n\tsend = undefined;\n\texitCode = undefined;\n\tchannel = undefined;\n\tgetegid = undefined;\n\tgeteuid = undefined;\n\tgetgid = undefined;\n\tgetgroups = undefined;\n\tgetuid = undefined;\n\tsetegid = undefined;\n\tseteuid = undefined;\n\tsetgid = undefined;\n\tsetgroups = undefined;\n\tsetuid = undefined;\n\t_events = undefined;\n\t_eventsCount = undefined;\n\t_exiting = undefined;\n\t_maxListeners = undefined;\n\t_debugEnd = undefined;\n\t_debugProcess = undefined;\n\t_fatalException = undefined;\n\t_getActiveHandles = undefined;\n\t_getActiveRequests = undefined;\n\t_kill = undefined;\n\t_preload_modules = undefined;\n\t_rawDebug = undefined;\n\t_startProfilerIdleNotifier = undefined;\n\t_stopProfilerIdleNotifier = undefined;\n\t_tickCallback = undefined;\n\t_disconnect = undefined;\n\t_handleQueue = undefined;\n\t_pendingMessage = undefined;\n\t_channel = undefined;\n\t_send = undefined;\n\t_linkedBinding = undefined;\n}\n", "import { hrtime as UnenvHrTime } from \"unenv/node/internal/process/hrtime\";\nimport { Process as UnenvProcess } from \"unenv/node/internal/process/process\";\nconst globalProcess = globalThis[\"process\"];\nexport const getBuiltinModule = globalProcess.getBuiltinModule;\nexport const { exit, platform, nextTick } = getBuiltinModule(\n \"node:process\"\n);\nconst unenvProcess = new UnenvProcess({\n env: globalProcess.env,\n hrtime: UnenvHrTime,\n nextTick\n});\nexport const {\n abort,\n addListener,\n allowedNodeEnvironmentFlags,\n hasUncaughtExceptionCaptureCallback,\n setUncaughtExceptionCaptureCallback,\n loadEnvFile,\n sourceMapsEnabled,\n arch,\n argv,\n argv0,\n chdir,\n config,\n connected,\n constrainedMemory,\n availableMemory,\n cpuUsage,\n cwd,\n debugPort,\n dlopen,\n disconnect,\n emit,\n emitWarning,\n env,\n eventNames,\n execArgv,\n execPath,\n finalization,\n features,\n getActiveResourcesInfo,\n getMaxListeners,\n hrtime,\n kill,\n listeners,\n listenerCount,\n memoryUsage,\n on,\n off,\n once,\n pid,\n ppid,\n prependListener,\n prependOnceListener,\n rawListeners,\n release,\n removeAllListeners,\n removeListener,\n report,\n resourceUsage,\n setMaxListeners,\n setSourceMapsEnabled,\n stderr,\n stdin,\n stdout,\n title,\n throwDeprecation,\n traceDeprecation,\n umask,\n uptime,\n version,\n versions,\n domain,\n initgroups,\n moduleLoadList,\n reallyExit,\n openStdin,\n assert,\n binding,\n send,\n exitCode,\n channel,\n getegid,\n geteuid,\n getgid,\n getgroups,\n getuid,\n setegid,\n seteuid,\n setgid,\n setgroups,\n setuid,\n permission,\n mainModule,\n _events,\n _eventsCount,\n _exiting,\n _maxListeners,\n _debugEnd,\n _debugProcess,\n _fatalException,\n _getActiveHandles,\n _getActiveRequests,\n _kill,\n _preload_modules,\n _rawDebug,\n _startProfilerIdleNotifier,\n _stopProfilerIdleNotifier,\n _tickCallback,\n _disconnect,\n _handleQueue,\n _pendingMessage,\n _channel,\n _send,\n _linkedBinding\n} = unenvProcess;\nconst _process = {\n abort,\n addListener,\n allowedNodeEnvironmentFlags,\n hasUncaughtExceptionCaptureCallback,\n setUncaughtExceptionCaptureCallback,\n loadEnvFile,\n sourceMapsEnabled,\n arch,\n argv,\n argv0,\n chdir,\n config,\n connected,\n constrainedMemory,\n availableMemory,\n cpuUsage,\n cwd,\n debugPort,\n dlopen,\n disconnect,\n emit,\n emitWarning,\n env,\n eventNames,\n execArgv,\n execPath,\n exit,\n finalization,\n features,\n getBuiltinModule,\n getActiveResourcesInfo,\n getMaxListeners,\n hrtime,\n kill,\n listeners,\n listenerCount,\n memoryUsage,\n nextTick,\n on,\n off,\n once,\n pid,\n platform,\n ppid,\n prependListener,\n prependOnceListener,\n rawListeners,\n release,\n removeAllListeners,\n removeListener,\n report,\n resourceUsage,\n setMaxListeners,\n setSourceMapsEnabled,\n stderr,\n stdin,\n stdout,\n title,\n throwDeprecation,\n traceDeprecation,\n umask,\n uptime,\n version,\n versions,\n // @ts-expect-error old API\n domain,\n initgroups,\n moduleLoadList,\n reallyExit,\n openStdin,\n assert,\n binding,\n send,\n exitCode,\n channel,\n getegid,\n geteuid,\n getgid,\n getgroups,\n getuid,\n setegid,\n seteuid,\n setgid,\n setgroups,\n setuid,\n permission,\n mainModule,\n _events,\n _eventsCount,\n _exiting,\n _maxListeners,\n _debugEnd,\n _debugProcess,\n _fatalException,\n _getActiveHandles,\n _getActiveRequests,\n _kill,\n _preload_modules,\n _rawDebug,\n _startProfilerIdleNotifier,\n _stopProfilerIdleNotifier,\n _tickCallback,\n _disconnect,\n _handleQueue,\n _pendingMessage,\n _channel,\n _send,\n _linkedBinding\n};\nexport default _process;\n", "import { default as defaultExport } from \"@cloudflare/unenv-preset/node/process\";\nglobalThis.process = defaultExport;", "", "// `esbuild` doesn't support returning `watch*` options from `onStart()`\n// plugin callbacks. Instead, we define an empty virtual module that is\n// imported by this injected file. Importing the module registers watchers.\nimport \"wrangler:modules-watch\";\n", "!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t) = new Map();\n private rolesByName: Map = new Map();\n private isInitialized: boolean = false;\n\n constructor() {\n // Singleton instance\n }\n\n /**\n * Fetch all roles from the database and cache them\n * This should be called during application startup\n */\n public async fetchRoles(): Promise {\n try {\n // const roles = await db.query.roleInfoTable.findMany();\n \n // // Clear existing maps before adding new data\n // this.roles.clear();\n // this.rolesByName.clear();\n \n // // Cache roles by ID and by name for quick lookup\n // roles.forEach(role => {\n // this.roles.set(role.id, role);\n // this.rolesByName.set(role.name, role);\n // });\n \n // this.isInitialized = true;\n // console.log(`[RoleManager] Cached ${roles.length} roles`);\n } catch (error) {\n console.error('[RoleManager] Error fetching roles:', error);\n throw error;\n }\n }\n\n /**\n * Get all roles from cache\n * If not initialized, fetches roles from DB first\n */\n public async getRoles(): Promise<{ id: number; name: string; description: string | null }[]> {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n return Array.from(this.roles.values());\n }\n\n /**\n * Get role by ID\n * @param id Role ID\n */\n public async getRoleById(id: number): Promise<{ id: number; name: string; description: string | null } | undefined> {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n return this.roles.get(id);\n }\n\n /**\n * Get role by name\n * @param name Role name\n */\n public async getRoleByName(name: string): Promise<{ id: number; name: string; description: string | null } | undefined> {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n return this.rolesByName.get(name);\n }\n\n /**\n * Check if a role exists by name\n * @param name Role name\n */\n public async roleExists(name: string): Promise {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n return this.rolesByName.has(name);\n }\n\n /**\n * Get business roles (roles that are not 'admin' or 'gen_user')\n */\n public async getBusinessRoles(): Promise<{ id: number; name: string; description: string | null }[]> {\n if (!this.isInitialized) {\n await this.fetchRoles();\n }\n \n return Array.from(this.roles.values()).filter(\n role => role.name !== ROLE_NAMES.ADMIN && role.name !== ROLE_NAMES.GENERAL_USER\n );\n }\n\n /**\n * Force refresh the roles cache\n */\n public async refreshRoles(): Promise {\n await this.fetchRoles();\n }\n}\n\n// Create a singleton instance\nconst roleManager = new RoleManager();\n\n// Export the singleton instance\nexport default roleManager;\n", "export const entityKind = Symbol.for('drizzle:entityKind');\nexport const hasOwnEntityKind = Symbol.for('drizzle:hasOwnEntityKind');\n\nexport interface DrizzleEntity {\n\t[entityKind]: string;\n}\n\nexport type DrizzleEntityClass =\n\t& ((abstract new(...args: any[]) => T) | (new(...args: any[]) => T))\n\t& DrizzleEntity;\n\nexport function is>(value: any, type: T): value is InstanceType {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (value instanceof type) { // eslint-disable-line no-instanceof/no-instanceof\n\t\treturn true;\n\t}\n\n\tif (!Object.prototype.hasOwnProperty.call(type, entityKind)) {\n\t\tthrow new Error(\n\t\t\t`Class \"${\n\t\t\t\ttype.name ?? ''\n\t\t\t}\" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`,\n\t\t);\n\t}\n\n\tlet cls = Object.getPrototypeOf(value).constructor;\n\tif (cls) {\n\t\t// Traverse the prototype chain to find the entityKind\n\t\twhile (cls) {\n\t\t\tif (entityKind in cls && cls[entityKind] === type[entityKind]) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tcls = Object.getPrototypeOf(cls);\n\t\t}\n\t}\n\n\treturn false;\n}\n", "import { entityKind } from '~/entity.ts';\n\nexport interface Logger {\n\tlogQuery(query: string, params: unknown[]): void;\n}\n\nexport interface LogWriter {\n\twrite(message: string): void;\n}\n\nexport class ConsoleLogWriter implements LogWriter {\n\tstatic readonly [entityKind]: string = 'ConsoleLogWriter';\n\n\twrite(message: string) {\n\t\tconsole.log(message);\n\t}\n}\n\nexport class DefaultLogger implements Logger {\n\tstatic readonly [entityKind]: string = 'DefaultLogger';\n\n\treadonly writer: LogWriter;\n\n\tconstructor(config?: { writer: LogWriter }) {\n\t\tthis.writer = config?.writer ?? new ConsoleLogWriter();\n\t}\n\n\tlogQuery(query: string, params: unknown[]): void {\n\t\tconst stringifiedParams = params.map((p) => {\n\t\t\ttry {\n\t\t\t\treturn JSON.stringify(p);\n\t\t\t} catch {\n\t\t\t\treturn String(p);\n\t\t\t}\n\t\t});\n\t\tconst paramsStr = stringifiedParams.length ? ` -- params: [${stringifiedParams.join(', ')}]` : '';\n\t\tthis.writer.write(`Query: ${query}${paramsStr}`);\n\t}\n}\n\nexport class NoopLogger implements Logger {\n\tstatic readonly [entityKind]: string = 'NoopLogger';\n\n\tlogQuery(): void {\n\t\t// noop\n\t}\n}\n", "/** @internal */\nexport const TableName = Symbol.for('drizzle:Name');\n", "import type { Column, GetColumnData } from './column.ts';\nimport { entityKind } from './entity.ts';\nimport type { OptionalKeyOnly, RequiredKeyOnly } from './operations.ts';\nimport type { SQLWrapper } from './sql/sql.ts';\nimport { TableName } from './table.utils.ts';\nimport type { Simplify, Update } from './utils.ts';\n\nexport interface TableConfig> {\n\tname: string;\n\tschema: string | undefined;\n\tcolumns: Record;\n\tdialect: string;\n}\n\nexport type UpdateTableConfig> = Required<\n\tUpdate\n>;\n\n/** @internal */\nexport const Schema = Symbol.for('drizzle:Schema');\n\n/** @internal */\nexport const Columns = Symbol.for('drizzle:Columns');\n\n/** @internal */\nexport const ExtraConfigColumns = Symbol.for('drizzle:ExtraConfigColumns');\n\n/** @internal */\nexport const OriginalName = Symbol.for('drizzle:OriginalName');\n\n/** @internal */\nexport const BaseName = Symbol.for('drizzle:BaseName');\n\n/** @internal */\nexport const IsAlias = Symbol.for('drizzle:IsAlias');\n\n/** @internal */\nexport const ExtraConfigBuilder = Symbol.for('drizzle:ExtraConfigBuilder');\n\nconst IsDrizzleTable = Symbol.for('drizzle:IsDrizzleTable');\n\nexport interface Table<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends TableConfig = TableConfig,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\n\nexport class Table implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Table';\n\n\tdeclare readonly _: {\n\t\treadonly brand: 'Table';\n\t\treadonly config: T;\n\t\treadonly name: T['name'];\n\t\treadonly schema: T['schema'];\n\t\treadonly columns: T['columns'];\n\t\treadonly inferSelect: InferSelectModel>;\n\t\treadonly inferInsert: InferInsertModel>;\n\t};\n\n\tdeclare readonly $inferSelect: InferSelectModel>;\n\tdeclare readonly $inferInsert: InferInsertModel>;\n\n\t/** @internal */\n\tstatic readonly Symbol = {\n\t\tName: TableName as typeof TableName,\n\t\tSchema: Schema as typeof Schema,\n\t\tOriginalName: OriginalName as typeof OriginalName,\n\t\tColumns: Columns as typeof Columns,\n\t\tExtraConfigColumns: ExtraConfigColumns as typeof ExtraConfigColumns,\n\t\tBaseName: BaseName as typeof BaseName,\n\t\tIsAlias: IsAlias as typeof IsAlias,\n\t\tExtraConfigBuilder: ExtraConfigBuilder as typeof ExtraConfigBuilder,\n\t};\n\n\t/**\n\t * @internal\n\t * Can be changed if the table is aliased.\n\t */\n\t[TableName]: string;\n\n\t/**\n\t * @internal\n\t * Used to store the original name of the table, before any aliasing.\n\t */\n\t[OriginalName]: string;\n\n\t/** @internal */\n\t[Schema]: string | undefined;\n\n\t/** @internal */\n\t[Columns]!: T['columns'];\n\n\t/** @internal */\n\t[ExtraConfigColumns]!: Record;\n\n\t/**\n\t * @internal\n\t * Used to store the table name before the transformation via the `tableCreator` functions.\n\t */\n\t[BaseName]: string;\n\n\t/** @internal */\n\t[IsAlias] = false;\n\n\t/** @internal */\n\t[IsDrizzleTable] = true;\n\n\t/** @internal */\n\t[ExtraConfigBuilder]: ((self: any) => Record | unknown[]) | undefined = undefined;\n\n\tconstructor(name: string, schema: string | undefined, baseName: string) {\n\t\tthis[TableName] = this[OriginalName] = name;\n\t\tthis[Schema] = schema;\n\t\tthis[BaseName] = baseName;\n\t}\n}\n\nexport function isTable(table: unknown): table is Table {\n\treturn typeof table === 'object' && table !== null && IsDrizzleTable in table;\n}\n\n/**\n * Any table with a specified boundary.\n *\n * @example\n\t```ts\n\t// Any table with a specific name\n\ttype AnyUsersTable = AnyTable<{ name: 'users' }>;\n\t```\n *\n * To describe any table with any config, simply use `Table` without any type arguments, like this:\n *\n\t```ts\n\tfunction needsTable(table: Table) {\n\t\t...\n\t}\n\t```\n */\nexport type AnyTable> = Table>;\n\nexport function getTableName(table: T): T['_']['name'] {\n\treturn table[TableName];\n}\n\nexport function getTableUniqueName(table: T): `${T['_']['schema']}.${T['_']['name']}` {\n\treturn `${table[Schema] ?? 'public'}.${table[TableName]}`;\n}\n\nexport type MapColumnName =\n\tTDBColumNames extends true ? TColumn['_']['name']\n\t\t: TName;\n\nexport type InferModelFromColumns<\n\tTColumns extends Record,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },\n> = Simplify<\n\tTInferMode extends 'insert' ?\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as RequiredKeyOnly<\n\t\t\t\t\t\tMapColumnName,\n\t\t\t\t\t\tTColumns[Key]\n\t\t\t\t\t>\n\t\t\t\t]: GetColumnData;\n\t\t\t}\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as OptionalKeyOnly<\n\t\t\t\t\t\tMapColumnName,\n\t\t\t\t\t\tTColumns[Key],\n\t\t\t\t\t\tTConfig['override']\n\t\t\t\t\t>\n\t\t\t\t]?: GetColumnData | undefined;\n\t\t\t}\n\t\t: {\n\t\t\t[\n\t\t\t\tKey in keyof TColumns & string as MapColumnName<\n\t\t\t\t\tKey,\n\t\t\t\t\tTColumns[Key],\n\t\t\t\t\tTConfig['dbColumnNames']\n\t\t\t\t>\n\t\t\t]: GetColumnData;\n\t\t}\n>;\n\n/** @deprecated Use one of the alternatives: {@link InferSelectModel} / {@link InferInsertModel}, or `table.$inferSelect` / `table.$inferInsert`\n */\nexport type InferModel<\n\tTTable extends Table,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns;\n\nexport type InferSelectModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns;\n\nexport type InferInsertModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },\n> = InferModelFromColumns;\n\nexport type InferEnum = T extends { enumValues: readonly (infer U)[] } ? U\n\t: never;\n", "import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tGeneratedColumnConfig,\n\tGeneratedIdentityConfig,\n} from './column-builder.ts';\nimport { entityKind } from './entity.ts';\nimport type { DriverValueMapper, SQL, SQLWrapper } from './sql/sql.ts';\nimport type { Table } from './table.ts';\nimport type { Update } from './utils.ts';\n\nexport interface ColumnBaseConfig<\n\tTDataType extends ColumnDataType,\n\tTColumnType extends string,\n> extends ColumnBuilderBaseConfig {\n\ttableName: string;\n\tnotNull: boolean;\n\thasDefault: boolean;\n\tisPrimaryKey: boolean;\n\tisAutoincrement: boolean;\n\thasRuntimeDefault: boolean;\n}\n\nexport type ColumnTypeConfig, TTypeConfig extends object> = T & {\n\tbrand: 'Column';\n\ttableName: T['tableName'];\n\tname: T['name'];\n\tdataType: T['dataType'];\n\tcolumnType: T['columnType'];\n\tdata: T['data'];\n\tdriverParam: T['driverParam'];\n\tnotNull: T['notNull'];\n\thasDefault: T['hasDefault'];\n\tisPrimaryKey: T['isPrimaryKey'];\n\tisAutoincrement: T['isAutoincrement'];\n\thasRuntimeDefault: T['hasRuntimeDefault'];\n\tenumValues: T['enumValues'];\n\tbaseColumn: T extends { baseColumn: infer U } ? U : unknown;\n\tgenerated: GeneratedColumnConfig | undefined;\n\tidentity: undefined | 'always' | 'byDefault';\n} & TTypeConfig;\n\nexport type ColumnRuntimeConfig = ColumnBuilderRuntimeConfig<\n\tTData,\n\tTRuntimeConfig\n>;\n\nexport interface Column<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTRuntimeConfig extends object = object,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTTypeConfig extends object = object,\n> extends DriverValueMapper, SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\n/*\n\t`Column` only accepts a full `ColumnConfig` as its generic.\n\tTo infer parts of the config, use `AnyColumn` that accepts a partial config.\n\tSee `GetColumnData` for example usage of inferring.\n*/\nexport abstract class Column<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n> implements DriverValueMapper, SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Column';\n\n\tdeclare readonly _: ColumnTypeConfig;\n\n\treadonly name: string;\n\treadonly keyAsName: boolean;\n\treadonly primary: boolean;\n\treadonly notNull: boolean;\n\treadonly default: T['data'] | SQL | undefined;\n\treadonly defaultFn: (() => T['data'] | SQL) | undefined;\n\treadonly onUpdateFn: (() => T['data'] | SQL) | undefined;\n\treadonly hasDefault: boolean;\n\treadonly isUnique: boolean;\n\treadonly uniqueName: string | undefined;\n\treadonly uniqueType: string | undefined;\n\treadonly dataType: T['dataType'];\n\treadonly columnType: T['columnType'];\n\treadonly enumValues: T['enumValues'] = undefined;\n\treadonly generated: GeneratedColumnConfig | undefined = undefined;\n\treadonly generatedIdentity: GeneratedIdentityConfig | undefined = undefined;\n\n\tprotected config: ColumnRuntimeConfig;\n\n\tconstructor(\n\t\treadonly table: Table,\n\t\tconfig: ColumnRuntimeConfig,\n\t) {\n\t\tthis.config = config;\n\t\tthis.name = config.name;\n\t\tthis.keyAsName = config.keyAsName;\n\t\tthis.notNull = config.notNull;\n\t\tthis.default = config.default;\n\t\tthis.defaultFn = config.defaultFn;\n\t\tthis.onUpdateFn = config.onUpdateFn;\n\t\tthis.hasDefault = config.hasDefault;\n\t\tthis.primary = config.primaryKey;\n\t\tthis.isUnique = config.isUnique;\n\t\tthis.uniqueName = config.uniqueName;\n\t\tthis.uniqueType = config.uniqueType;\n\t\tthis.dataType = config.dataType as T['dataType'];\n\t\tthis.columnType = config.columnType;\n\t\tthis.generated = config.generated;\n\t\tthis.generatedIdentity = config.generatedIdentity;\n\t}\n\n\tabstract getSQLType(): string;\n\n\tmapFromDriverValue(value: unknown): unknown {\n\t\treturn value;\n\t}\n\n\tmapToDriverValue(value: unknown): unknown {\n\t\treturn value;\n\t}\n\n\t// ** @internal */\n\tshouldDisableInsert(): boolean {\n\t\treturn this.config.generated !== undefined && this.config.generated.type !== 'byDefault';\n\t}\n}\n\nexport type UpdateColConfig<\n\tT extends ColumnBaseConfig,\n\tTUpdate extends Partial>,\n> = Update;\n\nexport type AnyColumn> = {}> = Column<\n\tRequired, TPartial>>\n>;\n\nexport type GetColumnData =\n\t// dprint-ignore\n\tTInferMode extends 'raw' // Raw mode\n\t\t? TColumn['_']['data'] // Just return the underlying type\n\t\t: TColumn['_']['notNull'] extends true // Query mode\n\t\t? TColumn['_']['data'] // Query mode, not null\n\t\t: TColumn['_']['data'] | null; // Query mode, nullable\n\nexport type InferColumnsDataTypes> = {\n\t[Key in keyof TColumns]: GetColumnData;\n};\n", "import { entityKind } from '~/entity.ts';\nimport type { Column } from './column.ts';\nimport type { GelColumn, GelExtraConfigColumn } from './gel-core/index.ts';\nimport type { MySqlColumn } from './mysql-core/index.ts';\nimport type { ExtraConfigColumn, PgColumn, PgSequenceOptions } from './pg-core/index.ts';\nimport type { SingleStoreColumn } from './singlestore-core/index.ts';\nimport type { SQL } from './sql/sql.ts';\nimport type { SQLiteColumn } from './sqlite-core/index.ts';\nimport type { Assume, Simplify } from './utils.ts';\n\nexport type ColumnDataType =\n\t| 'string'\n\t| 'number'\n\t| 'boolean'\n\t| 'array'\n\t| 'json'\n\t| 'date'\n\t| 'bigint'\n\t| 'custom'\n\t| 'buffer'\n\t| 'dateDuration'\n\t| 'duration'\n\t| 'relDuration'\n\t| 'localTime'\n\t| 'localDate'\n\t| 'localDateTime';\n\nexport type Dialect = 'pg' | 'mysql' | 'sqlite' | 'singlestore' | 'common' | 'gel';\n\nexport type GeneratedStorageMode = 'virtual' | 'stored';\n\nexport type GeneratedType = 'always' | 'byDefault';\n\nexport type GeneratedColumnConfig = {\n\tas: TDataType | SQL | (() => SQL);\n\ttype?: GeneratedType;\n\tmode?: GeneratedStorageMode;\n};\n\nexport type GeneratedIdentityConfig = {\n\tsequenceName?: string;\n\tsequenceOptions?: PgSequenceOptions;\n\ttype: 'always' | 'byDefault';\n};\n\nexport interface ColumnBuilderBaseConfig {\n\tname: string;\n\tdataType: TDataType;\n\tcolumnType: TColumnType;\n\tdata: unknown;\n\tdriverParam: unknown;\n\tenumValues: string[] | undefined;\n}\n\nexport type MakeColumnConfig<\n\tT extends ColumnBuilderBaseConfig,\n\tTTableName extends string,\n\tTData = T extends { $type: infer U } ? U : T['data'],\n> = {\n\tname: T['name'];\n\ttableName: TTableName;\n\tdataType: T['dataType'];\n\tcolumnType: T['columnType'];\n\tdata: TData;\n\tdriverParam: T['driverParam'];\n\tnotNull: T extends { notNull: true } ? true : false;\n\thasDefault: T extends { hasDefault: true } ? true : false;\n\tisPrimaryKey: T extends { isPrimaryKey: true } ? true : false;\n\tisAutoincrement: T extends { isAutoincrement: true } ? true : false;\n\thasRuntimeDefault: T extends { hasRuntimeDefault: true } ? true : false;\n\tenumValues: T['enumValues'];\n\tbaseColumn: T extends { baseBuilder: infer U extends ColumnBuilderBase } ? BuildColumn\n\t\t: never;\n\tidentity: T extends { identity: 'always' } ? 'always' : T extends { identity: 'byDefault' } ? 'byDefault' : undefined;\n\tgenerated: T extends { generated: infer G } ? unknown extends G ? undefined\n\t\t: G extends undefined ? undefined\n\t\t: G\n\t\t: undefined;\n} & {};\n\nexport type ColumnBuilderTypeConfig<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends ColumnBuilderBaseConfig,\n\tTTypeConfig extends object = object,\n> = Simplify<\n\t& {\n\t\tbrand: 'ColumnBuilder';\n\t\tname: T['name'];\n\t\tdataType: T['dataType'];\n\t\tcolumnType: T['columnType'];\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverParam'];\n\t\tnotNull: T extends { notNull: infer U } ? U : boolean;\n\t\thasDefault: T extends { hasDefault: infer U } ? U : boolean;\n\t\tenumValues: T['enumValues'];\n\t\tidentity: T extends { identity: infer U } ? U : unknown;\n\t\tgenerated: T extends { generated: infer G } ? G extends undefined ? unknown : G : unknown;\n\t}\n\t& TTypeConfig\n>;\n\nexport type ColumnBuilderRuntimeConfig = {\n\tname: string;\n\tkeyAsName: boolean;\n\tnotNull: boolean;\n\tdefault: TData | SQL | undefined;\n\tdefaultFn: (() => TData | SQL) | undefined;\n\tonUpdateFn: (() => TData | SQL) | undefined;\n\thasDefault: boolean;\n\tprimaryKey: boolean;\n\tisUnique: boolean;\n\tuniqueName: string | undefined;\n\tuniqueType: string | undefined;\n\tdataType: string;\n\tcolumnType: string;\n\tgenerated: GeneratedColumnConfig | undefined;\n\tgeneratedIdentity: GeneratedIdentityConfig | undefined;\n} & TRuntimeConfig;\n\nexport interface ColumnBuilderExtraConfig {\n\tprimaryKeyHasDefault?: boolean;\n}\n\nexport type NotNull = T & {\n\t_: {\n\t\tnotNull: true;\n\t};\n};\n\nexport type HasDefault = T & {\n\t_: {\n\t\thasDefault: true;\n\t};\n};\n\nexport type IsPrimaryKey = T & {\n\t_: {\n\t\tisPrimaryKey: true;\n\t};\n};\n\nexport type IsAutoincrement = T & {\n\t_: {\n\t\tisAutoincrement: true;\n\t};\n};\n\nexport type HasRuntimeDefault = T & {\n\t_: {\n\t\thasRuntimeDefault: true;\n\t};\n};\n\nexport type $Type = T & {\n\t_: {\n\t\t$type: TType;\n\t};\n};\n\nexport type HasGenerated = T & {\n\t_: {\n\t\thasDefault: true;\n\t\tgenerated: TGenerated;\n\t};\n};\n\nexport type IsIdentity<\n\tT extends ColumnBuilderBase,\n\tTType extends 'always' | 'byDefault',\n> = T & {\n\t_: {\n\t\tnotNull: true;\n\t\thasDefault: true;\n\t\tidentity: TType;\n\t};\n};\nexport interface ColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTTypeConfig extends object = object,\n> {\n\t_: ColumnBuilderTypeConfig;\n}\n\n// To understand how to use `ColumnBuilder` and `AnyColumnBuilder`, see `Column` and `AnyColumn` documentation.\nexport abstract class ColumnBuilder<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> implements ColumnBuilderBase {\n\tstatic readonly [entityKind]: string = 'ColumnBuilder';\n\n\tdeclare _: ColumnBuilderTypeConfig;\n\n\tprotected config: ColumnBuilderRuntimeConfig;\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tthis.config = {\n\t\t\tname,\n\t\t\tkeyAsName: name === '',\n\t\t\tnotNull: false,\n\t\t\tdefault: undefined,\n\t\t\thasDefault: false,\n\t\t\tprimaryKey: false,\n\t\t\tisUnique: false,\n\t\t\tuniqueName: undefined,\n\t\t\tuniqueType: undefined,\n\t\t\tdataType,\n\t\t\tcolumnType,\n\t\t\tgenerated: undefined,\n\t\t} as ColumnBuilderRuntimeConfig;\n\t}\n\n\t/**\n\t * Changes the data type of the column. Commonly used with `json` columns. Also, useful for branded types.\n\t *\n\t * @example\n\t * ```ts\n\t * const users = pgTable('users', {\n\t * \tid: integer('id').$type().primaryKey(),\n\t * \tdetails: json('details').$type().notNull(),\n\t * });\n\t * ```\n\t */\n\t$type(): $Type {\n\t\treturn this as $Type;\n\t}\n\n\t/**\n\t * Adds a `not null` clause to the column definition.\n\t *\n\t * Affects the `select` model of the table - columns *without* `not null` will be nullable on select.\n\t */\n\tnotNull(): NotNull {\n\t\tthis.config.notNull = true;\n\t\treturn this as NotNull;\n\t}\n\n\t/**\n\t * Adds a `default ` clause to the column definition.\n\t *\n\t * Affects the `insert` model of the table - columns *with* `default` are optional on insert.\n\t *\n\t * If you need to set a dynamic default value, use {@link $defaultFn} instead.\n\t */\n\tdefault(value: (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL): HasDefault {\n\t\tthis.config.default = value;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault;\n\t}\n\n\t/**\n\t * Adds a dynamic default value to the column.\n\t * The function will be called when the row is inserted, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$defaultFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasRuntimeDefault> {\n\t\tthis.config.defaultFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasRuntimeDefault>;\n\t}\n\n\t/**\n\t * Alias for {@link $defaultFn}.\n\t */\n\t$default = this.$defaultFn;\n\n\t/**\n\t * Adds a dynamic update value to the column.\n\t * The function will be called when the row is updated, and the returned value will be used as the column value if none is provided.\n\t * If no `default` (or `$defaultFn`) value is provided, the function will be called when the row is inserted as well, and the returned value will be used as the column value.\n\t *\n\t * **Note:** This value does not affect the `drizzle-kit` behavior, it is only used at runtime in `drizzle-orm`.\n\t */\n\t$onUpdateFn(\n\t\tfn: () => (this['_'] extends { $type: infer U } ? U : this['_']['data']) | SQL,\n\t): HasDefault {\n\t\tthis.config.onUpdateFn = fn;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault;\n\t}\n\n\t/**\n\t * Alias for {@link $onUpdateFn}.\n\t */\n\t$onUpdate = this.$onUpdateFn;\n\n\t/**\n\t * Adds a `primary key` clause to the column definition. This implicitly makes the column `not null`.\n\t *\n\t * In SQLite, `integer primary key` implicitly makes the column auto-incrementing.\n\t */\n\tprimaryKey(): TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey>>\n\t\t: IsPrimaryKey>\n\t{\n\t\tthis.config.primaryKey = true;\n\t\tthis.config.notNull = true;\n\t\treturn this as TExtraConfig['primaryKeyHasDefault'] extends true ? IsPrimaryKey>>\n\t\t\t: IsPrimaryKey>;\n\t}\n\n\tabstract generatedAlwaysAs(\n\t\tas: SQL | T['data'] | (() => SQL),\n\t\tconfig?: Partial>,\n\t): HasGenerated;\n\n\t/** @internal Sets the name of the column to the key within the table definition if a name was not given. */\n\tsetName(name: string) {\n\t\tif (this.config.name !== '') return;\n\t\tthis.config.name = name;\n\t}\n}\n\nexport type BuildColumn<\n\tTTableName extends string,\n\tTBuilder extends ColumnBuilderBase,\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? PgColumn<\n\t\tMakeColumnConfig,\n\t\t{},\n\t\tSimplify | 'brand' | 'dialect'>>\n\t>\n\t: TDialect extends 'mysql' ? MySqlColumn<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify<\n\t\t\t\tOmit<\n\t\t\t\t\tTBuilder['_'],\n\t\t\t\t\t| keyof MakeColumnConfig\n\t\t\t\t\t| 'brand'\n\t\t\t\t\t| 'dialect'\n\t\t\t\t\t| 'primaryKeyHasDefault'\n\t\t\t\t\t| 'mysqlColumnBuilderBrand'\n\t\t\t\t>\n\t\t\t>\n\t\t>\n\t: TDialect extends 'sqlite' ? SQLiteColumn<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify | 'brand' | 'dialect'>>\n\t\t>\n\t: TDialect extends 'common' ? Column<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify | 'brand' | 'dialect'>>\n\t\t>\n\t: TDialect extends 'singlestore' ? SingleStoreColumn<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify<\n\t\t\t\tOmit<\n\t\t\t\t\tTBuilder['_'],\n\t\t\t\t\t| keyof MakeColumnConfig\n\t\t\t\t\t| 'brand'\n\t\t\t\t\t| 'dialect'\n\t\t\t\t\t| 'primaryKeyHasDefault'\n\t\t\t\t\t| 'singlestoreColumnBuilderBrand'\n\t\t\t\t>\n\t\t\t>\n\t\t>\n\t: TDialect extends 'gel' ? GelColumn<\n\t\t\tMakeColumnConfig,\n\t\t\t{},\n\t\t\tSimplify | 'brand' | 'dialect'>>\n\t\t>\n\t: never;\n\nexport type BuildIndexColumn<\n\tTDialect extends Dialect,\n> = TDialect extends 'pg' ? ExtraConfigColumn\n\t: TDialect extends 'gel' ? GelExtraConfigColumn\n\t: never;\n\n// TODO\n// try to make sql as well + indexRaw\n\n// optional after everything will be working as expected\n// also try to leave only needed methods for extraConfig\n// make an error if I pass .asc() to fk and so on\n\nexport type BuildColumns<\n\tTTableName extends string,\n\tTConfigMap extends Record,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildColumn\n\t\t\t\t& { name: TConfigMap[Key]['_']['name'] extends '' ? Assume : TConfigMap[Key]['_']['name'] };\n\t\t}, TDialect>;\n\t}\n\t& {};\n\nexport type BuildExtraConfigColumns<\n\t_TTableName extends string,\n\tTConfigMap extends Record,\n\tTDialect extends Dialect,\n> =\n\t& {\n\t\t[Key in keyof TConfigMap]: BuildIndexColumn;\n\t}\n\t& {};\n\nexport type ChangeColumnTableName =\n\tTDialect extends 'pg' ? PgColumn>\n\t\t: TDialect extends 'mysql' ? MySqlColumn>\n\t\t: TDialect extends 'singlestore' ? SingleStoreColumn>\n\t\t: TDialect extends 'sqlite' ? SQLiteColumn>\n\t\t: TDialect extends 'gel' ? GelColumn>\n\t\t: never;\n", "import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { AnyPgColumn, PgColumn } from './columns/index.ts';\nimport type { PgTable } from './table.ts';\n\nexport type UpdateDeleteAction = 'cascade' | 'restrict' | 'no action' | 'set null' | 'set default';\n\nexport type Reference = () => {\n\treadonly name?: string;\n\treadonly columns: PgColumn[];\n\treadonly foreignTable: PgTable;\n\treadonly foreignColumns: PgColumn[];\n};\n\nexport class ForeignKeyBuilder {\n\tstatic readonly [entityKind]: string = 'PgForeignKeyBuilder';\n\n\t/** @internal */\n\treference: Reference;\n\n\t/** @internal */\n\t_onUpdate: UpdateDeleteAction | undefined = 'no action';\n\n\t/** @internal */\n\t_onDelete: UpdateDeleteAction | undefined = 'no action';\n\n\tconstructor(\n\t\tconfig: () => {\n\t\t\tname?: string;\n\t\t\tcolumns: PgColumn[];\n\t\t\tforeignColumns: PgColumn[];\n\t\t},\n\t\tactions?: {\n\t\t\tonUpdate?: UpdateDeleteAction;\n\t\t\tonDelete?: UpdateDeleteAction;\n\t\t} | undefined,\n\t) {\n\t\tthis.reference = () => {\n\t\t\tconst { name, columns, foreignColumns } = config();\n\t\t\treturn { name, columns, foreignTable: foreignColumns[0]!.table as PgTable, foreignColumns };\n\t\t};\n\t\tif (actions) {\n\t\t\tthis._onUpdate = actions.onUpdate;\n\t\t\tthis._onDelete = actions.onDelete;\n\t\t}\n\t}\n\n\tonUpdate(action: UpdateDeleteAction): this {\n\t\tthis._onUpdate = action === undefined ? 'no action' : action;\n\t\treturn this;\n\t}\n\n\tonDelete(action: UpdateDeleteAction): this {\n\t\tthis._onDelete = action === undefined ? 'no action' : action;\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tbuild(table: PgTable): ForeignKey {\n\t\treturn new ForeignKey(table, this);\n\t}\n}\n\nexport type AnyForeignKeyBuilder = ForeignKeyBuilder;\n\nexport class ForeignKey {\n\tstatic readonly [entityKind]: string = 'PgForeignKey';\n\n\treadonly reference: Reference;\n\treadonly onUpdate: UpdateDeleteAction | undefined;\n\treadonly onDelete: UpdateDeleteAction | undefined;\n\n\tconstructor(readonly table: PgTable, builder: ForeignKeyBuilder) {\n\t\tthis.reference = builder.reference;\n\t\tthis.onUpdate = builder._onUpdate;\n\t\tthis.onDelete = builder._onDelete;\n\t}\n\n\tgetName(): string {\n\t\tconst { name, columns, foreignColumns } = this.reference();\n\t\tconst columnNames = columns.map((column) => column.name);\n\t\tconst foreignColumnNames = foreignColumns.map((column) => column.name);\n\t\tconst chunks = [\n\t\t\tthis.table[TableName],\n\t\t\t...columnNames,\n\t\t\tforeignColumns[0]!.table[TableName],\n\t\t\t...foreignColumnNames,\n\t\t];\n\t\treturn name ?? `${chunks.join('_')}_fk`;\n\t}\n}\n\ntype ColumnsWithTable<\n\tTTableName extends string,\n\tTColumns extends PgColumn[],\n> = { [Key in keyof TColumns]: AnyPgColumn<{ tableName: TTableName }> };\n\nexport function foreignKey<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends [AnyPgColumn<{ tableName: TTableName }>, ...AnyPgColumn<{ tableName: TTableName }>[]],\n>(\n\tconfig: {\n\t\tname?: string;\n\t\tcolumns: TColumns;\n\t\tforeignColumns: ColumnsWithTable;\n\t},\n): ForeignKeyBuilder {\n\tfunction mappedConfig() {\n\t\tconst { name, columns, foreignColumns } = config;\n\t\treturn {\n\t\t\tname,\n\t\t\tcolumns,\n\t\t\tforeignColumns,\n\t\t};\n\t}\n\n\treturn new ForeignKeyBuilder(mappedConfig);\n}\n", "export function iife(fn: (...args: T) => U, ...args: T): U {\n\treturn fn(...args);\n}\n", "import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { PgColumn } from './columns/index.ts';\nimport type { PgTable } from './table.ts';\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport function uniqueKeyName(table: PgTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'PgUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: PgColumn[];\n\t/** @internal */\n\tnullsNotDistinctConfig = false;\n\n\tconstructor(\n\t\tcolumns: PgColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\tnullsNotDistinct() {\n\t\tthis.nullsNotDistinctConfig = true;\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tbuild(table: PgTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.nullsNotDistinctConfig, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'PgUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [PgColumn, ...PgColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'PgUniqueConstraint';\n\n\treadonly columns: PgColumn[];\n\treadonly name?: string;\n\treadonly nullsNotDistinct: boolean = false;\n\n\tconstructor(readonly table: PgTable, columns: PgColumn[], nullsNotDistinct: boolean, name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t\tthis.nullsNotDistinct = nullsNotDistinct;\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n", "function parsePgArrayValue(arrayString: string, startFrom: number, inQuotes: boolean): [string, number] {\n\tfor (let i = startFrom; i < arrayString.length; i++) {\n\t\tconst char = arrayString[i];\n\n\t\tif (char === '\\\\') {\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === '\"') {\n\t\t\treturn [arrayString.slice(startFrom, i).replace(/\\\\/g, ''), i + 1];\n\t\t}\n\n\t\tif (inQuotes) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === ',' || char === '}') {\n\t\t\treturn [arrayString.slice(startFrom, i).replace(/\\\\/g, ''), i];\n\t\t}\n\t}\n\n\treturn [arrayString.slice(startFrom).replace(/\\\\/g, ''), arrayString.length];\n}\n\nexport function parsePgNestedArray(arrayString: string, startFrom = 0): [any[], number] {\n\tconst result: any[] = [];\n\tlet i = startFrom;\n\tlet lastCharIsComma = false;\n\n\twhile (i < arrayString.length) {\n\t\tconst char = arrayString[i];\n\n\t\tif (char === ',') {\n\t\t\tif (lastCharIsComma || i === startFrom) {\n\t\t\t\tresult.push('');\n\t\t\t}\n\t\t\tlastCharIsComma = true;\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tlastCharIsComma = false;\n\n\t\tif (char === '\\\\') {\n\t\t\ti += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === '\"') {\n\t\t\tconst [value, startFrom] = parsePgArrayValue(arrayString, i + 1, true);\n\t\t\tresult.push(value);\n\t\t\ti = startFrom;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === '}') {\n\t\t\treturn [result, i + 1];\n\t\t}\n\n\t\tif (char === '{') {\n\t\t\tconst [value, startFrom] = parsePgNestedArray(arrayString, i + 1);\n\t\t\tresult.push(value);\n\t\t\ti = startFrom;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [value, newStartFrom] = parsePgArrayValue(arrayString, i, false);\n\t\tresult.push(value);\n\t\ti = newStartFrom;\n\t}\n\n\treturn [result, i];\n}\n\nexport function parsePgArray(arrayString: string): any[] {\n\tconst [result] = parsePgNestedArray(arrayString, 1);\n\treturn result;\n}\n\nexport function makePgArray(array: any[]): string {\n\treturn `{${\n\t\tarray.map((item) => {\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\treturn makePgArray(item);\n\t\t\t}\n\n\t\t\tif (typeof item === 'string') {\n\t\t\t\treturn `\"${item.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"')}\"`;\n\t\t\t}\n\n\t\t\treturn `${item}`;\n\t\t}).join(',')\n\t}}`;\n}\n", "import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Simplify, Update } from '~/utils.ts';\n\nimport type { ForeignKey, UpdateDeleteAction } from '~/pg-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/pg-core/foreign-keys.ts';\nimport type { AnyPgTable, PgTable } from '~/pg-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { iife } from '~/tracing-utils.ts';\nimport type { PgIndexOpClass } from '../indexes.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\nimport { makePgArray, parsePgArray } from '../utils/array.ts';\n\nexport interface ReferenceConfig {\n\tref: () => PgColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface PgColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase {}\n\nexport abstract class PgColumnBuilder<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder\n\timplements PgColumnBuilderBase\n{\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\tstatic override readonly [entityKind]: string = 'PgColumnBuilder';\n\n\tarray(size?: TSize): PgArrayBuilder<\n\t\t& {\n\t\t\tname: T['name'];\n\t\t\tdataType: 'array';\n\t\t\tcolumnType: 'PgArray';\n\t\t\tdata: T['data'][];\n\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\tenumValues: T['enumValues'];\n\t\t\tsize: TSize;\n\t\t\tbaseBuilder: T;\n\t\t}\n\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\tT\n\t> {\n\t\treturn new PgArrayBuilder(this.config.name, this as PgColumnBuilder, size as any);\n\t}\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tactions: ReferenceConfig['actions'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t\tconfig?: { nulls: 'distinct' | 'not distinct' },\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\tthis.config.uniqueType = config?.nulls;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL)): HasGenerated {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: 'stored',\n\t\t};\n\t\treturn this as HasGenerated;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: PgColumn, table: PgTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn iife(\n\t\t\t\t(ref, actions) => {\n\t\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t\t});\n\t\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t\t}\n\t\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t\t}\n\t\t\t\t\treturn builder.build(table);\n\t\t\t\t},\n\t\t\t\tref,\n\t\t\t\tactions,\n\t\t\t);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgColumn>;\n\n\t/** @internal */\n\tbuildExtraConfigColumn(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): ExtraConfigColumn {\n\t\treturn new ExtraConfigColumn(table, this.config);\n\t}\n}\n\n// To understand how to use `PgColumn` and `PgColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class PgColumn<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends Column {\n\tstatic override readonly [entityKind]: string = 'PgColumn';\n\n\tconstructor(\n\t\toverride readonly table: PgTable,\n\t\tconfig: ColumnBuilderRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type IndexedExtraConfigType = { order?: 'asc' | 'desc'; nulls?: 'first' | 'last'; opClass?: string };\n\nexport class ExtraConfigColumn<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n> extends PgColumn {\n\tstatic override readonly [entityKind]: string = 'ExtraConfigColumn';\n\n\toverride getSQLType(): string {\n\t\treturn this.getSQLType();\n\t}\n\n\tindexConfig: IndexedExtraConfigType = {\n\t\torder: this.config.order ?? 'asc',\n\t\tnulls: this.config.nulls ?? 'last',\n\t\topClass: this.config.opClass,\n\t};\n\tdefaultConfig: IndexedExtraConfigType = {\n\t\torder: 'asc',\n\t\tnulls: 'last',\n\t\topClass: undefined,\n\t};\n\n\tasc(): Omit {\n\t\tthis.indexConfig.order = 'asc';\n\t\treturn this;\n\t}\n\n\tdesc(): Omit {\n\t\tthis.indexConfig.order = 'desc';\n\t\treturn this;\n\t}\n\n\tnullsFirst(): Omit {\n\t\tthis.indexConfig.nulls = 'first';\n\t\treturn this;\n\t}\n\n\tnullsLast(): Omit {\n\t\tthis.indexConfig.nulls = 'last';\n\t\treturn this;\n\t}\n\n\t/**\n\t * ### PostgreSQL documentation quote\n\t *\n\t * > An operator class with optional parameters can be specified for each column of an index.\n\t * The operator class identifies the operators to be used by the index for that column.\n\t * For example, a B-tree index on four-byte integers would use the int4_ops class;\n\t * this operator class includes comparison functions for four-byte integers.\n\t * In practice the default operator class for the column's data type is usually sufficient.\n\t * The main point of having operator classes is that for some data types, there could be more than one meaningful ordering.\n\t * For example, we might want to sort a complex-number data type either by absolute value or by real part.\n\t * We could do this by defining two operator classes for the data type and then selecting the proper class when creating an index.\n\t * More information about operator classes check:\n\t *\n\t * ### Useful links\n\t * https://www.postgresql.org/docs/current/sql-createindex.html\n\t *\n\t * https://www.postgresql.org/docs/current/indexes-opclass.html\n\t *\n\t * https://www.postgresql.org/docs/current/xindex.html\n\t *\n\t * ### Additional types\n\t * If you have the `pg_vector` extension installed in your database, you can use the\n\t * `vector_l2_ops`, `vector_ip_ops`, `vector_cosine_ops`, `vector_l1_ops`, `bit_hamming_ops`, `bit_jaccard_ops`, `halfvec_l2_ops`, `sparsevec_l2_ops` options, which are predefined types.\n\t *\n\t * **You can always specify any string you want in the operator class, in case Drizzle doesn't have it natively in its types**\n\t *\n\t * @param opClass\n\t * @returns\n\t */\n\top(opClass: PgIndexOpClass): Omit {\n\t\tthis.indexConfig.opClass = opClass;\n\t\treturn this;\n\t}\n}\n\nexport class IndexedColumn {\n\tstatic readonly [entityKind]: string = 'IndexedColumn';\n\tconstructor(\n\t\tname: string | undefined,\n\t\tkeyAsName: boolean,\n\t\ttype: string,\n\t\tindexConfig: IndexedExtraConfigType,\n\t) {\n\t\tthis.name = name;\n\t\tthis.keyAsName = keyAsName;\n\t\tthis.type = type;\n\t\tthis.indexConfig = indexConfig;\n\t}\n\n\tname: string | undefined;\n\tkeyAsName: boolean;\n\ttype: string;\n\tindexConfig: IndexedExtraConfigType;\n}\n\nexport type AnyPgColumn> = {}> = PgColumn<\n\tRequired, TPartial>>\n>;\n\nexport type PgArrayColumnBuilderBaseConfig = ColumnBuilderBaseConfig<'array', 'PgArray'> & {\n\tsize: number | undefined;\n\tbaseBuilder: ColumnBuilderBaseConfig;\n};\n\nexport class PgArrayBuilder<\n\tT extends PgArrayColumnBuilderBaseConfig,\n\tTBase extends ColumnBuilderBaseConfig | PgArrayColumnBuilderBaseConfig,\n> extends PgColumnBuilder<\n\tT,\n\t{\n\t\tbaseBuilder: TBase extends PgArrayColumnBuilderBaseConfig ? PgArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: PgColumnBuilder>>>;\n\t\tsize: T['size'];\n\t},\n\t{\n\t\tbaseBuilder: TBase extends PgArrayColumnBuilderBaseConfig ? PgArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: PgColumnBuilder>>>;\n\t\tsize: T['size'];\n\t}\n> {\n\tstatic override readonly [entityKind] = 'PgArrayBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tbaseBuilder: PgArrayBuilder['config']['baseBuilder'],\n\t\tsize: T['size'],\n\t) {\n\t\tsuper(name, 'array', 'PgArray');\n\t\tthis.config.baseBuilder = baseBuilder;\n\t\tthis.config.size = size;\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgArray & { size: T['size']; baseBuilder: T['baseBuilder'] }, TBase> {\n\t\tconst baseColumn = this.config.baseBuilder.build(table);\n\t\treturn new PgArray & { size: T['size']; baseBuilder: T['baseBuilder'] }, TBase>(\n\t\t\ttable as AnyPgTable<{ name: MakeColumnConfig['tableName'] }>,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t\tbaseColumn,\n\t\t);\n\t}\n}\n\nexport class PgArray<\n\tT extends ColumnBaseConfig<'array', 'PgArray'> & {\n\t\tsize: number | undefined;\n\t\tbaseBuilder: ColumnBuilderBaseConfig;\n\t},\n\tTBase extends ColumnBuilderBaseConfig,\n> extends PgColumn {\n\treadonly size: T['size'];\n\n\tstatic override readonly [entityKind]: string = 'PgArray';\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgArrayBuilder['config'],\n\t\treadonly baseColumn: PgColumn,\n\t\treadonly range?: [number | undefined, number | undefined],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.size = config.size;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `${this.baseColumn.getSQLType()}[${typeof this.size === 'number' ? this.size : ''}]`;\n\t}\n\n\toverride mapFromDriverValue(value: unknown[] | string): T['data'] {\n\t\tif (typeof value === 'string') {\n\t\t\t// Thank you node-postgres for not parsing enum arrays\n\t\t\tvalue = parsePgArray(value);\n\t\t}\n\t\treturn value.map((v) => this.baseColumn.mapFromDriverValue(v));\n\t}\n\n\toverride mapToDriverValue(value: unknown[], isNestedArray = false): unknown[] | string {\n\t\tconst a = value.map((v) =>\n\t\t\tv === null\n\t\t\t\t? null\n\t\t\t\t: is(this.baseColumn, PgArray)\n\t\t\t\t? this.baseColumn.mapToDriverValue(v as unknown[], true)\n\t\t\t\t: this.baseColumn.mapToDriverValue(v)\n\t\t);\n\t\tif (isNestedArray) return a;\n\t\treturn makePgArray(a);\n\t}\n}\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\n\nexport type PgEnumObjectColumnBuilderInitial = PgEnumObjectColumnBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgEnumObjectColumn';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}>;\n\nexport interface PgEnumObject {\n\t(): PgEnumObjectColumnBuilderInitial<'', TValues>;\n\t(name: TName): PgEnumObjectColumnBuilderInitial;\n\t(name?: TName): PgEnumObjectColumnBuilderInitial;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: string[] },\n> extends PgColumnBuilder }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnumObject) {\n\t\tsuper(name, 'string', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumObjectColumn> {\n\t\treturn new PgEnumObjectColumn>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn & { enumValues: object }>\n\textends PgColumn }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumObjectColumnBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nexport type PgEnumColumnBuilderInitial =\n\tPgEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'PgEnumColumn';\n\t\tdata: TValues[number];\n\t\tenumValues: TValues;\n\t\tdriverParam: string;\n\t}>;\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum {\n\t(): PgEnumColumnBuilderInitial<'', TValues>;\n\t(name: TName): PgEnumColumnBuilderInitial;\n\t(name?: TName): PgEnumColumnBuilderInitial;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },\n> extends PgColumnBuilder }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnum) {\n\t\tsuper(name, 'string', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumColumn> {\n\t\treturn new PgEnumColumn>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn & { enumValues: [string, ...string[]] }>\n\textends PgColumn }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumColumnBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum>(\n\tenumName: string,\n\tvalues: T | Writable,\n): PgEnum>;\n\nexport function pgEnum>(\n\tenumName: string,\n\tenumObj: NonArray,\n): PgEnumObject;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema>(\n\tenumName: string,\n\tvalues: T | Writable,\n\tschema?: string,\n): PgEnum> {\n\tconst enumInstance: PgEnum> = Object.assign(\n\t\t(name?: TName): PgEnumColumnBuilderInitial> =>\n\t\t\tnew PgEnumColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject {\n\tconst enumInstance: PgEnumObject = Object.assign(\n\t\t(name?: TName): PgEnumObjectColumnBuilderInitial =>\n\t\t\tnew PgEnumObjectColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n", "import { entityKind } from './entity.ts';\nimport type { SQL, SQLWrapper } from './sql/sql.ts';\n\nexport interface Subquery<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTAlias extends string = string,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTSelectedFields extends Record = Record,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\nexport class Subquery<\n\tTAlias extends string = string,\n\tTSelectedFields extends Record = Record,\n> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Subquery';\n\n\tdeclare _: {\n\t\tbrand: 'Subquery';\n\t\tsql: SQL;\n\t\tselectedFields: TSelectedFields;\n\t\talias: TAlias;\n\t\tisWith: boolean;\n\t\tusedTables?: string[];\n\t};\n\n\tconstructor(sql: SQL, fields: TSelectedFields, alias: string, isWith = false, usedTables: string[] = []) {\n\t\tthis._ = {\n\t\t\tbrand: 'Subquery',\n\t\t\tsql,\n\t\t\tselectedFields: fields as TSelectedFields,\n\t\t\talias: alias as TAlias,\n\t\t\tisWith,\n\t\t\tusedTables,\n\t\t};\n\t}\n\n\t// getSQL(): SQL {\n\t// \treturn new SQL([this]);\n\t// }\n}\n\nexport class WithSubquery<\n\tTAlias extends string = string,\n\tTSelection extends Record = Record,\n> extends Subquery {\n\tstatic override readonly [entityKind]: string = 'WithSubquery';\n}\n\nexport type WithSubqueryWithoutSelection = WithSubquery;\n", "// package.json\nvar version = \"0.44.7\";\n\n// src/version.ts\nvar compatibilityVersion = 10;\nexport {\n compatibilityVersion,\n version as npmVersion\n};\n", "import type { Span, Tracer } from '@opentelemetry/api';\nimport { iife } from '~/tracing-utils.ts';\nimport { npmVersion } from '~/version.ts';\n\nlet otel: typeof import('@opentelemetry/api') | undefined;\nlet rawTracer: Tracer | undefined;\n// try {\n// \totel = await import('@opentelemetry/api');\n// } catch (err: any) {\n// \tif (err.code !== 'MODULE_NOT_FOUND' && err.code !== 'ERR_MODULE_NOT_FOUND') {\n// \t\tthrow err;\n// \t}\n// }\n\ntype SpanName =\n\t| 'drizzle.operation'\n\t| 'drizzle.prepareQuery'\n\t| 'drizzle.buildSQL'\n\t| 'drizzle.execute'\n\t| 'drizzle.driver.execute'\n\t| 'drizzle.mapResponse';\n\n/** @internal */\nexport const tracer = {\n\tstartActiveSpan unknown>(name: SpanName, fn: F): ReturnType {\n\t\tif (!otel) {\n\t\t\treturn fn() as ReturnType;\n\t\t}\n\n\t\tif (!rawTracer) {\n\t\t\trawTracer = otel.trace.getTracer('drizzle-orm', npmVersion);\n\t\t}\n\n\t\treturn iife(\n\t\t\t(otel, rawTracer) =>\n\t\t\t\trawTracer.startActiveSpan(\n\t\t\t\t\tname,\n\t\t\t\t\t((span: Span) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\treturn fn(span);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\t\t\tcode: otel.SpanStatusCode.ERROR,\n\t\t\t\t\t\t\t\tmessage: e instanceof Error ? e.message : 'Unknown error', // eslint-disable-line no-instanceof/no-instanceof\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthrow e;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tspan.end();\n\t\t\t\t\t\t}\n\t\t\t\t\t}) as F,\n\t\t\t\t),\n\t\t\totel,\n\t\t\trawTracer,\n\t\t);\n\t},\n};\n", "export const ViewBaseConfig = Symbol.for('drizzle:ViewBaseConfig');\n", "import type { CasingCache } from '~/casing.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { isPgEnum } from '~/pg-core/columns/enum.ts';\nimport type { SelectResult } from '~/query-builders/select.types.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { tracer } from '~/tracing.ts';\nimport type { Assume, Equal } from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { AnyColumn } from '../column.ts';\nimport { Column } from '../column.ts';\nimport { IsAlias, Table } from '../table.ts';\n\n/**\n * This class is used to indicate a primitive param value that is used in `sql` tag.\n * It is only used on type level and is never instantiated at runtime.\n * If you see a value of this type in the code, its runtime value is actually the primitive param value.\n */\nexport class FakePrimitiveParam {\n\tstatic readonly [entityKind]: string = 'FakePrimitiveParam';\n}\n\nexport type Chunk =\n\t| string\n\t| Table\n\t| View\n\t| AnyColumn\n\t| Name\n\t| Param\n\t| Placeholder\n\t| SQL;\n\nexport interface BuildQueryConfig {\n\tcasing: CasingCache;\n\tescapeName(name: string): string;\n\tescapeParam(num: number, value: unknown): string;\n\tescapeString(str: string): string;\n\tprepareTyping?: (encoder: DriverValueEncoder) => QueryTypingsValue;\n\tparamStartIndex?: { value: number };\n\tinlineParams?: boolean;\n\tinvokeSource?: 'indexes' | undefined;\n}\n\nexport type QueryTypingsValue = 'json' | 'decimal' | 'time' | 'timestamp' | 'uuid' | 'date' | 'none';\n\nexport interface Query {\n\tsql: string;\n\tparams: unknown[];\n}\n\nexport interface QueryWithTypings extends Query {\n\ttypings?: QueryTypingsValue[];\n}\n\n/**\n * Any value that implements the `getSQL` method. The implementations include:\n * - `Table`\n * - `Column`\n * - `View`\n * - `Subquery`\n * - `SQL`\n * - `SQL.Aliased`\n * - `Placeholder`\n * - `Param`\n */\nexport interface SQLWrapper {\n\tgetSQL(): SQL;\n\tshouldOmitSQLParens?(): boolean;\n}\n\nexport function isSQLWrapper(value: unknown): value is SQLWrapper {\n\treturn value !== null && value !== undefined && typeof (value as any).getSQL === 'function';\n}\n\nfunction mergeQueries(queries: QueryWithTypings[]): QueryWithTypings {\n\tconst result: QueryWithTypings = { sql: '', params: [] };\n\tfor (const query of queries) {\n\t\tresult.sql += query.sql;\n\t\tresult.params.push(...query.params);\n\t\tif (query.typings?.length) {\n\t\t\tif (!result.typings) {\n\t\t\t\tresult.typings = [];\n\t\t\t}\n\t\t\tresult.typings.push(...query.typings);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport class StringChunk implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'StringChunk';\n\n\treadonly value: string[];\n\n\tconstructor(value: string | string[]) {\n\t\tthis.value = Array.isArray(value) ? value : [value];\n\t}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\nexport class SQL implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'SQL';\n\n\tdeclare _: {\n\t\tbrand: 'SQL';\n\t\ttype: T;\n\t};\n\n\t/** @internal */\n\tdecoder: DriverValueDecoder = noopDecoder;\n\tprivate shouldInlineParams = false;\n\n\t/** @internal */\n\tusedTables: string[] = [];\n\n\tconstructor(readonly queryChunks: SQLChunk[]) {\n\t\tfor (const chunk of queryChunks) {\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\n\t\t\t\tthis.usedTables.push(\n\t\t\t\t\tschemaName === undefined\n\t\t\t\t\t\t? chunk[Table.Symbol.Name]\n\t\t\t\t\t\t: schemaName + '.' + chunk[Table.Symbol.Name],\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tappend(query: SQL): this {\n\t\tthis.queryChunks.push(...query.queryChunks);\n\t\treturn this;\n\t}\n\n\ttoQuery(config: BuildQueryConfig): QueryWithTypings {\n\t\treturn tracer.startActiveSpan('drizzle.buildSQL', (span) => {\n\t\t\tconst query = this.buildQueryFromSourceParams(this.queryChunks, config);\n\t\t\tspan?.setAttributes({\n\t\t\t\t'drizzle.query.text': query.sql,\n\t\t\t\t'drizzle.query.params': JSON.stringify(query.params),\n\t\t\t});\n\t\t\treturn query;\n\t\t});\n\t}\n\n\tbuildQueryFromSourceParams(chunks: SQLChunk[], _config: BuildQueryConfig): Query {\n\t\tconst config = Object.assign({}, _config, {\n\t\t\tinlineParams: _config.inlineParams || this.shouldInlineParams,\n\t\t\tparamStartIndex: _config.paramStartIndex || { value: 0 },\n\t\t});\n\n\t\tconst {\n\t\t\tcasing,\n\t\t\tescapeName,\n\t\t\tescapeParam,\n\t\t\tprepareTyping,\n\t\t\tinlineParams,\n\t\t\tparamStartIndex,\n\t\t} = config;\n\n\t\treturn mergeQueries(chunks.map((chunk): QueryWithTypings => {\n\t\t\tif (is(chunk, StringChunk)) {\n\t\t\t\treturn { sql: chunk.value.join(''), params: [] };\n\t\t\t}\n\n\t\t\tif (is(chunk, Name)) {\n\t\t\t\treturn { sql: escapeName(chunk.value), params: [] };\n\t\t\t}\n\n\t\t\tif (chunk === undefined) {\n\t\t\t\treturn { sql: '', params: [] };\n\t\t\t}\n\n\t\t\tif (Array.isArray(chunk)) {\n\t\t\t\tconst result: SQLChunk[] = [new StringChunk('(')];\n\t\t\t\tfor (const [i, p] of chunk.entries()) {\n\t\t\t\t\tresult.push(p);\n\t\t\t\t\tif (i < chunk.length - 1) {\n\t\t\t\t\t\tresult.push(new StringChunk(', '));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult.push(new StringChunk(')'));\n\t\t\t\treturn this.buildQueryFromSourceParams(result, config);\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL)) {\n\t\t\t\treturn this.buildQueryFromSourceParams(chunk.queryChunks, {\n\t\t\t\t\t...config,\n\t\t\t\t\tinlineParams: inlineParams || chunk.shouldInlineParams,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (is(chunk, Table)) {\n\t\t\t\tconst schemaName = chunk[Table.Symbol.Schema];\n\t\t\t\tconst tableName = chunk[Table.Symbol.Name];\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[IsAlias]\n\t\t\t\t\t\t? escapeName(tableName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(tableName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Column)) {\n\t\t\t\tconst columnName = casing.getColumnCasing(chunk);\n\t\t\t\tif (_config.invokeSource === 'indexes') {\n\t\t\t\t\treturn { sql: escapeName(columnName), params: [] };\n\t\t\t\t}\n\n\t\t\t\tconst schemaName = chunk.table[Table.Symbol.Schema];\n\t\t\t\treturn {\n\t\t\t\t\tsql: chunk.table[IsAlias] || schemaName === undefined\n\t\t\t\t\t\t? escapeName(chunk.table[Table.Symbol.Name]) + '.' + escapeName(columnName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(chunk.table[Table.Symbol.Name]) + '.'\n\t\t\t\t\t\t\t+ escapeName(columnName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, View)) {\n\t\t\t\tconst schemaName = chunk[ViewBaseConfig].schema;\n\t\t\t\tconst viewName = chunk[ViewBaseConfig].name;\n\t\t\t\treturn {\n\t\t\t\t\tsql: schemaName === undefined || chunk[ViewBaseConfig].isAlias\n\t\t\t\t\t\t? escapeName(viewName)\n\t\t\t\t\t\t: escapeName(schemaName) + '.' + escapeName(viewName),\n\t\t\t\t\tparams: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (is(chunk, Param)) {\n\t\t\t\tif (is(chunk.value, Placeholder)) {\n\t\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t\t}\n\n\t\t\t\tconst mappedValue = chunk.value === null ? null : chunk.encoder.mapToDriverValue(chunk.value);\n\n\t\t\t\tif (is(mappedValue, SQL)) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([mappedValue], config);\n\t\t\t\t}\n\n\t\t\t\tif (inlineParams) {\n\t\t\t\t\treturn { sql: this.mapInlineParam(mappedValue, config), params: [] };\n\t\t\t\t}\n\n\t\t\t\tlet typings: QueryTypingsValue[] = ['none'];\n\t\t\t\tif (prepareTyping) {\n\t\t\t\t\ttypings = [prepareTyping(chunk.encoder)];\n\t\t\t\t}\n\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, mappedValue), params: [mappedValue], typings };\n\t\t\t}\n\n\t\t\tif (is(chunk, Placeholder)) {\n\t\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t\t}\n\n\t\t\tif (is(chunk, SQL.Aliased) && chunk.fieldAlias !== undefined) {\n\t\t\t\treturn { sql: escapeName(chunk.fieldAlias), params: [] };\n\t\t\t}\n\n\t\t\tif (is(chunk, Subquery)) {\n\t\t\t\tif (chunk._.isWith) {\n\t\t\t\t\treturn { sql: escapeName(chunk._.alias), params: [] };\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk._.sql,\n\t\t\t\t\tnew StringChunk(') '),\n\t\t\t\t\tnew Name(chunk._.alias),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (isPgEnum(chunk)) {\n\t\t\t\tif (chunk.schema) {\n\t\t\t\t\treturn { sql: escapeName(chunk.schema) + '.' + escapeName(chunk.enumName), params: [] };\n\t\t\t\t}\n\t\t\t\treturn { sql: escapeName(chunk.enumName), params: [] };\n\t\t\t}\n\n\t\t\tif (isSQLWrapper(chunk)) {\n\t\t\t\tif (chunk.shouldOmitSQLParens?.()) {\n\t\t\t\t\treturn this.buildQueryFromSourceParams([chunk.getSQL()], config);\n\t\t\t\t}\n\t\t\t\treturn this.buildQueryFromSourceParams([\n\t\t\t\t\tnew StringChunk('('),\n\t\t\t\t\tchunk.getSQL(),\n\t\t\t\t\tnew StringChunk(')'),\n\t\t\t\t], config);\n\t\t\t}\n\n\t\t\tif (inlineParams) {\n\t\t\t\treturn { sql: this.mapInlineParam(chunk, config), params: [] };\n\t\t\t}\n\n\t\t\treturn { sql: escapeParam(paramStartIndex.value++, chunk), params: [chunk], typings: ['none'] };\n\t\t}));\n\t}\n\n\tprivate mapInlineParam(\n\t\tchunk: unknown,\n\t\t{ escapeString }: BuildQueryConfig,\n\t): string {\n\t\tif (chunk === null) {\n\t\t\treturn 'null';\n\t\t}\n\t\tif (typeof chunk === 'number' || typeof chunk === 'boolean') {\n\t\t\treturn chunk.toString();\n\t\t}\n\t\tif (typeof chunk === 'string') {\n\t\t\treturn escapeString(chunk);\n\t\t}\n\t\tif (typeof chunk === 'object') {\n\t\t\tconst mappedValueAsString = chunk.toString();\n\t\t\tif (mappedValueAsString === '[object Object]') {\n\t\t\t\treturn escapeString(JSON.stringify(chunk));\n\t\t\t}\n\t\t\treturn escapeString(mappedValueAsString);\n\t\t}\n\t\tthrow new Error('Unexpected param value: ' + chunk);\n\t}\n\n\tgetSQL(): SQL {\n\t\treturn this;\n\t}\n\n\tas(alias: string): SQL.Aliased;\n\t/**\n\t * @deprecated\n\t * Use ``sql`query`.as(alias)`` instead.\n\t */\n\tas(): SQL;\n\t/**\n\t * @deprecated\n\t * Use ``sql`query`.as(alias)`` instead.\n\t */\n\tas(alias: string): SQL.Aliased;\n\tas(alias?: string): SQL | SQL.Aliased {\n\t\t// TODO: remove with deprecated overloads\n\t\tif (alias === undefined) {\n\t\t\treturn this;\n\t\t}\n\n\t\treturn new SQL.Aliased(this, alias);\n\t}\n\n\tmapWith<\n\t\tTDecoder extends\n\t\t\t| DriverValueDecoder\n\t\t\t| DriverValueDecoder['mapFromDriverValue'],\n\t>(decoder: TDecoder): SQL> {\n\t\tthis.decoder = typeof decoder === 'function' ? { mapFromDriverValue: decoder } : decoder;\n\t\treturn this as SQL>;\n\t}\n\n\tinlineParams(): this {\n\t\tthis.shouldInlineParams = true;\n\t\treturn this;\n\t}\n\n\t/**\n\t * This method is used to conditionally include a part of the query.\n\t *\n\t * @param condition - Condition to check\n\t * @returns itself if the condition is `true`, otherwise `undefined`\n\t */\n\tif(condition: any | undefined): this | undefined {\n\t\treturn condition ? this : undefined;\n\t}\n}\n\nexport type GetDecoderResult = T extends Column ? T['_']['data'] : T extends\n\t| DriverValueDecoder\n\t| DriverValueDecoder['mapFromDriverValue'] ? TData\n: never;\n\n/**\n * Any DB name (table, column, index etc.)\n */\nexport class Name implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Name';\n\n\tprotected brand!: 'Name';\n\n\tconstructor(readonly value: string) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/**\n * Any DB name (table, column, index etc.)\n * @deprecated Use `sql.identifier` instead.\n */\nexport function name(value: string): Name {\n\treturn new Name(value);\n}\n\nexport interface DriverValueDecoder {\n\tmapFromDriverValue(value: TDriverParam): TData;\n}\n\nexport interface DriverValueEncoder {\n\tmapToDriverValue(value: TData): TDriverParam | SQL;\n}\n\nexport function isDriverValueEncoder(value: unknown): value is DriverValueEncoder {\n\treturn typeof value === 'object' && value !== null && 'mapToDriverValue' in value\n\t\t&& typeof (value as any).mapToDriverValue === 'function';\n}\n\nexport const noopDecoder: DriverValueDecoder = {\n\tmapFromDriverValue: (value) => value,\n};\n\nexport const noopEncoder: DriverValueEncoder = {\n\tmapToDriverValue: (value) => value,\n};\n\nexport interface DriverValueMapper\n\textends DriverValueDecoder, DriverValueEncoder\n{}\n\nexport const noopMapper: DriverValueMapper = {\n\t...noopDecoder,\n\t...noopEncoder,\n};\n\n/** Parameter value that is optionally bound to an encoder (for example, a column). */\nexport class Param implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Param';\n\n\tprotected brand!: 'BoundParamValue';\n\n\t/**\n\t * @param value - Parameter value\n\t * @param encoder - Encoder to convert the value to a driver parameter\n\t */\n\tconstructor(\n\t\treadonly value: TDataType,\n\t\treadonly encoder: DriverValueEncoder = noopEncoder,\n\t) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.param` instead. */\nexport function param(\n\tvalue: TData,\n\tencoder?: DriverValueEncoder,\n): Param {\n\treturn new Param(value, encoder);\n}\n\n/**\n * Anything that can be passed to the `` sql`...` `` tagged function.\n */\nexport type SQLChunk =\n\t| StringChunk\n\t| SQLChunk[]\n\t| SQLWrapper\n\t| SQL\n\t| Table\n\t| View\n\t| Subquery\n\t| AnyColumn\n\t| Param\n\t| Name\n\t| undefined\n\t| FakePrimitiveParam\n\t| Placeholder;\n\nexport function sql(strings: TemplateStringsArray, ...params: any[]): SQL;\n/*\n\tThe type of `params` is specified as `SQLChunk[]`, but that's slightly incorrect -\n\tin runtime, users won't pass `FakePrimitiveParam` instances as `params` - they will pass primitive values\n\twhich will be wrapped in `Param`. That's why the overload specifies `params` as `any[]` and not as `SQLSourceParam[]`.\n\tThis type is used to make our lives easier and the type checker happy.\n*/\nexport function sql(strings: TemplateStringsArray, ...params: SQLChunk[]): SQL {\n\tconst queryChunks: SQLChunk[] = [];\n\tif (params.length > 0 || (strings.length > 0 && strings[0] !== '')) {\n\t\tqueryChunks.push(new StringChunk(strings[0]!));\n\t}\n\tfor (const [paramIndex, param] of params.entries()) {\n\t\tqueryChunks.push(param, new StringChunk(strings[paramIndex + 1]!));\n\t}\n\n\treturn new SQL(queryChunks);\n}\n\nexport namespace sql {\n\texport function empty(): SQL {\n\t\treturn new SQL([]);\n\t}\n\n\t/** @deprecated - use `sql.join()` */\n\texport function fromList(list: SQLChunk[]): SQL {\n\t\treturn new SQL(list);\n\t}\n\n\t/**\n\t * Convenience function to create an SQL query from a raw string.\n\t * @param str The raw SQL query string.\n\t */\n\texport function raw(str: string): SQL {\n\t\treturn new SQL([new StringChunk(str)]);\n\t}\n\n\t/**\n\t * Join a list of SQL chunks with a separator.\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`]);\n\t * // sql`abc`\n\t * ```\n\t * @example\n\t * ```ts\n\t * const query = sql.join([sql`a`, sql`b`, sql`c`], sql`, `);\n\t * // sql`a, b, c`\n\t * ```\n\t */\n\texport function join(chunks: SQLChunk[], separator?: SQLChunk): SQL {\n\t\tconst result: SQLChunk[] = [];\n\t\tfor (const [i, chunk] of chunks.entries()) {\n\t\t\tif (i > 0 && separator !== undefined) {\n\t\t\t\tresult.push(separator);\n\t\t\t}\n\t\t\tresult.push(chunk);\n\t\t}\n\t\treturn new SQL(result);\n\t}\n\n\t/**\n\t * Create a SQL chunk that represents a DB identifier (table, column, index etc.).\n\t * When used in a query, the identifier will be escaped based on the DB engine.\n\t * For example, in PostgreSQL, identifiers are escaped with double quotes.\n\t *\n\t * **WARNING: This function does not offer any protection against SQL injections, so you must validate any user input beforehand.**\n\t *\n\t * @example ```ts\n\t * const query = sql`SELECT * FROM ${sql.identifier('my-table')}`;\n\t * // 'SELECT * FROM \"my-table\"'\n\t * ```\n\t */\n\texport function identifier(value: string): Name {\n\t\treturn new Name(value);\n\t}\n\n\texport function placeholder(name: TName): Placeholder {\n\t\treturn new Placeholder(name);\n\t}\n\n\texport function param(\n\t\tvalue: TData,\n\t\tencoder?: DriverValueEncoder,\n\t): Param {\n\t\treturn new Param(value, encoder);\n\t}\n}\n\nexport namespace SQL {\n\texport class Aliased implements SQLWrapper {\n\t\tstatic readonly [entityKind]: string = 'SQL.Aliased';\n\n\t\tdeclare _: {\n\t\t\tbrand: 'SQL.Aliased';\n\t\t\ttype: T;\n\t\t};\n\n\t\t/** @internal */\n\t\tisSelectionField = false;\n\n\t\tconstructor(\n\t\t\treadonly sql: SQL,\n\t\t\treadonly fieldAlias: string,\n\t\t) {}\n\n\t\tgetSQL(): SQL {\n\t\t\treturn this.sql;\n\t\t}\n\n\t\t/** @internal */\n\t\tclone() {\n\t\t\treturn new Aliased(this.sql, this.fieldAlias);\n\t\t}\n\t}\n}\n\nexport class Placeholder implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Placeholder';\n\n\tdeclare protected: TValue;\n\n\tconstructor(readonly name: TName) {}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\n/** @deprecated Use `sql.placeholder` instead. */\nexport function placeholder(name: TName): Placeholder {\n\treturn new Placeholder(name);\n}\n\nexport function fillPlaceholders(params: unknown[], values: Record): unknown[] {\n\treturn params.map((p) => {\n\t\tif (is(p, Placeholder)) {\n\t\t\tif (!(p.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn values[p.name];\n\t\t}\n\n\t\tif (is(p, Param) && is(p.value, Placeholder)) {\n\t\t\tif (!(p.value.name in values)) {\n\t\t\t\tthrow new Error(`No value for placeholder \"${p.value.name}\" was provided`);\n\t\t\t}\n\n\t\t\treturn p.encoder.mapToDriverValue(values[p.value.name]);\n\t\t}\n\n\t\treturn p;\n\t});\n}\n\nexport type ColumnsSelection = Record;\n\nconst IsDrizzleView = Symbol.for('drizzle:IsDrizzleView');\n\nexport abstract class View<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'View';\n\n\tdeclare _: {\n\t\tbrand: 'View';\n\t\tviewBrand: string;\n\t\tname: TName;\n\t\texisting: TExisting;\n\t\tselectedFields: TSelection;\n\t};\n\n\t/** @internal */\n\t[ViewBaseConfig]: {\n\t\tname: TName;\n\t\toriginalName: TName;\n\t\tschema: string | undefined;\n\t\tselectedFields: ColumnsSelection;\n\t\tisExisting: TExisting;\n\t\tquery: TExisting extends true ? undefined : SQL;\n\t\tisAlias: boolean;\n\t};\n\n\t/** @internal */\n\t[IsDrizzleView] = true;\n\n\tdeclare readonly $inferSelect: InferSelectViewModel, TExisting, TSelection>>;\n\n\tconstructor(\n\t\t{ name, schema, selectedFields, query }: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t},\n\t) {\n\t\tthis[ViewBaseConfig] = {\n\t\t\tname,\n\t\t\toriginalName: name,\n\t\t\tschema,\n\t\t\tselectedFields,\n\t\t\tquery: query as (TExisting extends true ? undefined : SQL),\n\t\t\tisExisting: !query as TExisting,\n\t\t\tisAlias: false,\n\t\t};\n\t}\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([this]);\n\t}\n}\n\nexport function isView(view: unknown): view is View {\n\treturn typeof view === 'object' && view !== null && IsDrizzleView in view;\n}\n\nexport function getViewName(view: T): T['_']['name'] {\n\treturn view[ViewBaseConfig].name;\n}\n\nexport type InferSelectViewModel =\n\tEqual extends true ? { [x: string]: unknown }\n\t\t: SelectResult<\n\t\t\tTView['_']['selectedFields'],\n\t\t\t'single',\n\t\t\tRecord\n\t\t>;\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\n// Defined separately from the Table class to resolve circular dependency\nTable.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n\n// Defined separately from the Column class to resolve circular dependency\nSubquery.prototype.getSQL = function() {\n\treturn new SQL([this]);\n};\n", "import type { Cache } from './cache/core/cache.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { is } from './entity.ts';\nimport type { Logger } from './logger.ts';\nimport type { SelectedFieldsOrdered } from './operations.ts';\nimport type { TableLike } from './query-builders/select.types.ts';\nimport { Param, SQL, View } from './sql/sql.ts';\nimport type { DriverValueDecoder } from './sql/sql.ts';\nimport { Subquery } from './subquery.ts';\nimport { getTableName, Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\n/** @internal */\nexport function mapResultRow(\n\tcolumns: SelectedFieldsOrdered,\n\trow: unknown[],\n\tjoinsNotNullableMap: Record | undefined,\n): TResult {\n\t// Key -> nested object key, value -> table name if all fields in the nested object are from the same table, false otherwise\n\tconst nullifyMap: Record = {};\n\n\tconst result = columns.reduce>(\n\t\t(result, { path, field }, columnIndex) => {\n\t\t\tlet decoder: DriverValueDecoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tlet node = result;\n\t\t\tfor (const [pathChunkIndex, pathChunk] of path.entries()) {\n\t\t\t\tif (pathChunkIndex < path.length - 1) {\n\t\t\t\t\tif (!(pathChunk in node)) {\n\t\t\t\t\t\tnode[pathChunk] = {};\n\t\t\t\t\t}\n\t\t\t\t\tnode = node[pathChunk];\n\t\t\t\t} else {\n\t\t\t\t\tconst rawValue = row[columnIndex]!;\n\t\t\t\t\tconst value = node[pathChunk] = rawValue === null ? null : decoder.mapFromDriverValue(rawValue);\n\n\t\t\t\t\tif (joinsNotNullableMap && is(field, Column) && path.length === 2) {\n\t\t\t\t\t\tconst objectName = path[0]!;\n\t\t\t\t\t\tif (!(objectName in nullifyMap)) {\n\t\t\t\t\t\t\tnullifyMap[objectName] = value === null ? getTableName(field.table) : false;\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\ttypeof nullifyMap[objectName] === 'string' && nullifyMap[objectName] !== getTableName(field.table)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnullifyMap[objectName] = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\t{},\n\t);\n\n\t// Nullify all nested objects from nullifyMap that are nullable\n\tif (joinsNotNullableMap && Object.keys(nullifyMap).length > 0) {\n\t\tfor (const [objectName, tableName] of Object.entries(nullifyMap)) {\n\t\t\tif (typeof tableName === 'string' && !joinsNotNullableMap[tableName]) {\n\t\t\t\tresult[objectName] = null;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result as TResult;\n}\n\n/** @internal */\nexport function orderSelectedFields(\n\tfields: Record,\n\tpathPrefix?: string[],\n): SelectedFieldsOrdered {\n\treturn Object.entries(fields).reduce>((result, [name, field]) => {\n\t\tif (typeof name !== 'string') {\n\t\t\treturn result;\n\t\t}\n\n\t\tconst newPath = pathPrefix ? [...pathPrefix, name] : [name];\n\t\tif (is(field, Column) || is(field, SQL) || is(field, SQL.Aliased)) {\n\t\t\tresult.push({ path: newPath, field });\n\t\t} else if (is(field, Table)) {\n\t\t\tresult.push(...orderSelectedFields(field[Table.Symbol.Columns], newPath));\n\t\t} else {\n\t\t\tresult.push(...orderSelectedFields(field as Record, newPath));\n\t\t}\n\t\treturn result;\n\t}, []) as SelectedFieldsOrdered;\n}\n\nexport function haveSameKeys(left: Record, right: Record) {\n\tconst leftKeys = Object.keys(left);\n\tconst rightKeys = Object.keys(right);\n\n\tif (leftKeys.length !== rightKeys.length) {\n\t\treturn false;\n\t}\n\n\tfor (const [index, key] of leftKeys.entries()) {\n\t\tif (key !== rightKeys[index]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/** @internal */\nexport function mapUpdateSet(table: Table, values: Record): UpdateSet {\n\tconst entries: [string, UpdateSet[string]][] = Object.entries(values)\n\t\t.filter(([, value]) => value !== undefined)\n\t\t.map(([key, value]) => {\n\t\t\t// eslint-disable-next-line unicorn/prefer-ternary\n\t\t\tif (is(value, SQL) || is(value, Column)) {\n\t\t\t\treturn [key, value];\n\t\t\t} else {\n\t\t\t\treturn [key, new Param(value, table[Table.Symbol.Columns][key])];\n\t\t\t}\n\t\t});\n\n\tif (entries.length === 0) {\n\t\tthrow new Error('No values to set');\n\t}\n\n\treturn Object.fromEntries(entries);\n}\n\nexport type UpdateSet = Record;\n\nexport type OneOrMany = T | T[];\n\nexport type Update =\n\t& {\n\t\t[K in Exclude]: T[K];\n\t}\n\t& TUpdate;\n\nexport type Simplify =\n\t& {\n\t\t// @ts-ignore - \"Type parameter 'K' has a circular constraint\", not sure why\n\t\t[K in keyof T]: T[K];\n\t}\n\t& {};\n\nexport type SimplifyMappedType = [T] extends [unknown] ? T : never;\n\nexport type ShallowRecord = SimplifyMappedType<{ [P in K]: T }>;\n\nexport type Assume = T extends U ? T : U;\n\nexport type Equal = (() => T extends X ? 1 : 2) extends (() => T extends Y ? 1 : 2) ? true : false;\n\nexport interface DrizzleTypeError {\n\t$drizzleTypeError: T;\n}\n\nexport type ValueOrArray = T | T[];\n\n/** @internal */\nexport function applyMixins(baseClass: any, extendedClasses: any[]) {\n\tfor (const extendedClass of extendedClasses) {\n\t\tfor (const name of Object.getOwnPropertyNames(extendedClass.prototype)) {\n\t\t\tif (name === 'constructor') continue;\n\n\t\t\tObject.defineProperty(\n\t\t\t\tbaseClass.prototype,\n\t\t\t\tname,\n\t\t\t\tObject.getOwnPropertyDescriptor(extendedClass.prototype, name) || Object.create(null),\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport type Or = T1 extends true ? true : T2 extends true ? true : false;\n\nexport type IfThenElse = If extends true ? Then : Else;\n\nexport type PromiseOf = T extends Promise ? U : T;\n\nexport type Writable = {\n\t-readonly [P in keyof T]: T[P];\n};\n\nexport type NonArray = T extends any[] ? never : T;\n\nexport function getTableColumns(table: T): T['_']['columns'] {\n\treturn table[Table.Symbol.Columns];\n}\n\nexport function getViewSelectedFields(view: T): T['_']['selectedFields'] {\n\treturn view[ViewBaseConfig].selectedFields;\n}\n\n/** @internal */\nexport function getTableLikeName(table: TableLike): string | undefined {\n\treturn is(table, Subquery)\n\t\t? table._.alias\n\t\t: is(table, View)\n\t\t? table[ViewBaseConfig].name\n\t\t: is(table, SQL)\n\t\t? undefined\n\t\t: table[Table.Symbol.IsAlias]\n\t\t? table[Table.Symbol.Name]\n\t\t: table[Table.Symbol.BaseName];\n}\n\nexport type ColumnsWithTable<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> = { [Key in keyof TColumns]: AnyColumn<{ tableName: TForeignTableName }> };\n\nexport type Casing = 'snake_case' | 'camelCase';\n\nexport interface DrizzleConfig = Record> {\n\tlogger?: boolean | Logger;\n\tschema?: TSchema;\n\tcasing?: Casing;\n\tcache?: Cache;\n}\nexport type ValidateShape = T extends ValidShape\n\t? Exclude extends never ? TResult\n\t: DrizzleTypeError<\n\t\t`Invalid key(s): ${Exclude<(keyof T) & (string | number | bigint | boolean | null | undefined), keyof ValidShape>}`\n\t>\n\t: never;\n\nexport type KnownKeysOnly = {\n\t[K in keyof T]: K extends keyof U ? T[K] : never;\n};\n\nexport type IsAny = 0 extends (1 & T) ? true : false;\n\n/** @internal */\nexport function getColumnNameAndConfig<\n\tTConfig extends Record | undefined,\n>(a: string | TConfig | undefined, b: TConfig | undefined) {\n\treturn {\n\t\tname: typeof a === 'string' && a.length > 0 ? a : '' as string,\n\t\tconfig: typeof a === 'object' ? a : b as TConfig,\n\t};\n}\n\nexport type IfNotImported = unknown extends T ? Y : N;\n\nexport type ImportTypeError =\n\t`Please install \\`${TPackageName}\\` to allow Drizzle ORM to connect to the database`;\n\nexport type RequireAtLeastOne = Keys extends any\n\t? Required> & Partial>\n\t: never;\n\ntype ExpectedConfigShape = {\n\tlogger?: boolean | {\n\t\tlogQuery(query: string, params: unknown[]): void;\n\t};\n\tschema?: Record;\n\tcasing?: 'snake_case' | 'camelCase';\n};\n\n// If this errors, you must update config shape checker function with new config specs\nconst _: DrizzleConfig = {} as ExpectedConfigShape;\nconst __: ExpectedConfigShape = {} as DrizzleConfig;\n\nexport function isConfig(data: any): boolean {\n\tif (typeof data !== 'object' || data === null) return false;\n\n\tif (data.constructor.name !== 'Object') return false;\n\n\tif ('logger' in data) {\n\t\tconst type = typeof data['logger'];\n\t\tif (\n\t\t\ttype !== 'boolean' && (type !== 'object' || typeof data['logger']['logQuery'] !== 'function')\n\t\t\t&& type !== 'undefined'\n\t\t) return false;\n\n\t\treturn true;\n\t}\n\n\tif ('schema' in data) {\n\t\tconst type = typeof data['schema'];\n\t\tif (type !== 'object' && type !== 'undefined') return false;\n\n\t\treturn true;\n\t}\n\n\tif ('casing' in data) {\n\t\tconst type = typeof data['casing'];\n\t\tif (type !== 'string' && type !== 'undefined') return false;\n\n\t\treturn true;\n\t}\n\n\tif ('mode' in data) {\n\t\tif (data['mode'] !== 'default' || data['mode'] !== 'planetscale' || data['mode'] !== undefined) return false;\n\n\t\treturn true;\n\t}\n\n\tif ('connection' in data) {\n\t\tconst type = typeof data['connection'];\n\t\tif (type !== 'string' && type !== 'object' && type !== 'undefined') return false;\n\n\t\treturn true;\n\t}\n\n\tif ('client' in data) {\n\t\tconst type = typeof data['client'];\n\t\tif (type !== 'object' && type !== 'function' && type !== 'undefined') return false;\n\n\t\treturn true;\n\t}\n\n\tif (Object.keys(data).length === 0) return true;\n\n\treturn false;\n}\n\nexport type NeonAuthToken = string | (() => string | Promise);\n\nexport const textDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder();\n", "import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getPgColumnBuilders, type PgColumnsBuilders } from './columns/all.ts';\nimport type { ExtraConfigColumn, PgColumn, PgColumnBuilder, PgColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PgPolicy } from './policies.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type PgTableExtraConfigValue =\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n\t| PgPolicy;\n\nexport type PgTableExtraConfig = Record<\n\tstring,\n\tPgTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:PgInlineForeignKeys');\n/** @internal */\nexport const EnableRLS = Symbol.for('drizzle:EnableRLS');\n\nexport class PgTable extends Table {\n\tstatic override readonly [entityKind]: string = 'PgTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t\tEnableRLS: EnableRLS as typeof EnableRLS,\n\t});\n\n\t/**@internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\t[EnableRLS]: boolean = false;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]: ((self: Record) => PgTableExtraConfig) | undefined =\n\t\tundefined;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigColumns]: Record = {};\n}\n\nexport type AnyPgTable = {}> = PgTable>;\n\nexport type PgTableWithColumns =\n\t& PgTable\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t}\n\t& {\n\t\tenableRLS: () => Omit<\n\t\t\tPgTableWithColumns,\n\t\t\t'enableRLS'\n\t\t>;\n\t};\n\n/** @internal */\nexport function pgTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: PgColumnsBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((self: BuildExtraConfigColumns) => PgTableExtraConfig | PgTableExtraConfigValue[])\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): PgTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns;\n\tdialect: 'pg';\n}> {\n\tconst rawTable = new PgTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getPgColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as PgColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns;\n\n\tconst builtColumnsForExtraConfig = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as PgColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.buildExtraConfigColumn(rawTable);\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildExtraConfigColumns;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumnsForExtraConfig;\n\n\tif (extraConfig) {\n\t\ttable[PgTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n\t}\n\n\treturn Object.assign(table, {\n\t\tenableRLS: () => {\n\t\t\ttable[PgTable.Symbol.EnableRLS] = true;\n\t\t\treturn table as PgTableWithColumns<{\n\t\t\t\tname: TTableName;\n\t\t\t\tschema: TSchemaName;\n\t\t\t\tcolumns: BuildColumns;\n\t\t\t\tdialect: 'pg';\n\t\t\t}>;\n\t\t},\n\t});\n}\n\nexport interface PgTableFn {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildExtraConfigColumns,\n\t\t) => PgTableExtraConfigValue[],\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: PgColumnsBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildExtraConfigColumns) => PgTableExtraConfigValue[],\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>;\n\t/**\n\t * @deprecated The third parameter of pgTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = pgTable(\"users\", {\n\t * \tid: integer(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = pgTable(\"users\", {\n\t * \tid: integer(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig: (\n\t\t\tself: BuildExtraConfigColumns,\n\t\t) => PgTableExtraConfig,\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>;\n\n\t/**\n\t * @deprecated The third parameter of pgTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = pgTable(\"users\", {\n\t * \tid: integer(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = pgTable(\"users\", {\n\t * \tid: integer(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: PgColumnsBuilders) => TColumnsMap,\n\t\textraConfig: (self: BuildExtraConfigColumns) => PgTableExtraConfig,\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'pg';\n\t}>;\n}\n\nexport const pgTable: PgTableFn = (name, columns, extraConfig) => {\n\treturn pgTableWithSchema(name, columns, extraConfig, undefined);\n};\n\nexport function pgTableCreator(customizeTableName: (name: string) => string): PgTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn pgTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { AnyPgColumn, PgColumn } from './columns/index.ts';\nimport { PgTable } from './table.ts';\n\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumn extends AnyPgColumn<{ tableName: TTableName }>,\n\tTColumns extends AnyPgColumn<{ tableName: TTableName }>[],\n>(config: { name?: string; columns: [TColumn, ...TColumns] }): PrimaryKeyBuilder;\n/**\n * @deprecated: Please use primaryKey({ columns: [] }) instead of this function\n * @param columns\n */\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumns extends AnyPgColumn<{ tableName: TTableName }>[],\n>(...columns: TColumns): PrimaryKeyBuilder;\nexport function primaryKey(...config: any) {\n\tif (config[0].columns) {\n\t\treturn new PrimaryKeyBuilder(config[0].columns, config[0].name);\n\t}\n\treturn new PrimaryKeyBuilder(config);\n}\n\nexport class PrimaryKeyBuilder {\n\tstatic readonly [entityKind]: string = 'PgPrimaryKeyBuilder';\n\n\t/** @internal */\n\tcolumns: PgColumn[];\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tcolumns: PgColumn[],\n\t\tname?: string,\n\t) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\t/** @internal */\n\tbuild(table: PgTable): PrimaryKey {\n\t\treturn new PrimaryKey(table, this.columns, this.name);\n\t}\n}\n\nexport class PrimaryKey {\n\tstatic readonly [entityKind]: string = 'PgPrimaryKey';\n\n\treadonly columns: AnyPgColumn<{}>[];\n\treadonly name?: string;\n\n\tconstructor(readonly table: PgTable, columns: AnyPgColumn<{}>[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\tgetName(): string {\n\t\treturn this.name ?? `${this.table[PgTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;\n\t}\n}\n", "import { type AnyColumn, Column, type GetColumnData } from '~/column.ts';\nimport { is } from '~/entity.ts';\nimport { Table } from '~/table.ts';\nimport {\n\tisDriverValueEncoder,\n\tisSQLWrapper,\n\tParam,\n\tPlaceholder,\n\tSQL,\n\tsql,\n\ttype SQLChunk,\n\ttype SQLWrapper,\n\tStringChunk,\n\tView,\n} from '../sql.ts';\n\nexport function bindIfParam(value: unknown, column: SQLWrapper): SQLChunk {\n\tif (\n\t\tisDriverValueEncoder(column)\n\t\t&& !isSQLWrapper(value)\n\t\t&& !is(value, Param)\n\t\t&& !is(value, Placeholder)\n\t\t&& !is(value, Column)\n\t\t&& !is(value, Table)\n\t\t&& !is(value, View)\n\t) {\n\t\treturn new Param(value, column);\n\t}\n\treturn value as SQLChunk;\n}\n\nexport interface BinaryOperator {\n\t(\n\t\tleft: TColumn,\n\t\tright: GetColumnData | SQLWrapper,\n\t): SQL;\n\t(left: SQL.Aliased, right: T | SQLWrapper): SQL;\n\t(\n\t\tleft: Exclude,\n\t\tright: unknown,\n\t): SQL;\n}\n\n/**\n * Test that two values are equal.\n *\n * Remember that the SQL standard dictates that\n * two NULL values are not equal, so if you want to test\n * whether a value is null, you may want to use\n * `isNull` instead.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made by Ford\n * db.select().from(cars)\n * .where(eq(cars.make, 'Ford'))\n * ```\n *\n * @see isNull for a way to test equality to NULL.\n */\nexport const eq: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} = ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test that two values are not equal.\n *\n * Remember that the SQL standard dictates that\n * two NULL values are not equal, so if you want to test\n * whether a value is not null, you may want to use\n * `isNotNull` instead.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars not made by Ford\n * db.select().from(cars)\n * .where(ne(cars.make, 'Ford'))\n * ```\n *\n * @see isNotNull for a way to test whether a value is not null.\n */\nexport const ne: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} <> ${bindIfParam(right, left)}`;\n};\n\n/**\n * Combine a list of conditions with the `and` operator. Conditions\n * that are equal `undefined` are automatically ignored.\n *\n * ## Examples\n *\n * ```ts\n * db.select().from(cars)\n * .where(\n * and(\n * eq(cars.make, 'Volvo'),\n * eq(cars.year, 1950),\n * )\n * )\n * ```\n */\nexport function and(...conditions: (SQLWrapper | undefined)[]): SQL | undefined;\nexport function and(\n\t...unfilteredConditions: (SQLWrapper | undefined)[]\n): SQL | undefined {\n\tconst conditions = unfilteredConditions.filter(\n\t\t(c): c is Exclude => c !== undefined,\n\t);\n\n\tif (conditions.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (conditions.length === 1) {\n\t\treturn new SQL(conditions);\n\t}\n\n\treturn new SQL([\n\t\tnew StringChunk('('),\n\t\tsql.join(conditions, new StringChunk(' and ')),\n\t\tnew StringChunk(')'),\n\t]);\n}\n\n/**\n * Combine a list of conditions with the `or` operator. Conditions\n * that are equal `undefined` are automatically ignored.\n *\n * ## Examples\n *\n * ```ts\n * db.select().from(cars)\n * .where(\n * or(\n * eq(cars.make, 'GM'),\n * eq(cars.make, 'Ford'),\n * )\n * )\n * ```\n */\nexport function or(...conditions: (SQLWrapper | undefined)[]): SQL | undefined;\nexport function or(\n\t...unfilteredConditions: (SQLWrapper | undefined)[]\n): SQL | undefined {\n\tconst conditions = unfilteredConditions.filter(\n\t\t(c): c is Exclude => c !== undefined,\n\t);\n\n\tif (conditions.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (conditions.length === 1) {\n\t\treturn new SQL(conditions);\n\t}\n\n\treturn new SQL([\n\t\tnew StringChunk('('),\n\t\tsql.join(conditions, new StringChunk(' or ')),\n\t\tnew StringChunk(')'),\n\t]);\n}\n\n/**\n * Negate the meaning of an expression using the `not` keyword.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars _not_ made by GM or Ford.\n * db.select().from(cars)\n * .where(not(inArray(cars.make, ['GM', 'Ford'])))\n * ```\n */\nexport function not(condition: SQLWrapper): SQL {\n\treturn sql`not ${condition}`;\n}\n\n/**\n * Test that the first expression passed is greater than\n * the second expression.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made after 2000.\n * db.select().from(cars)\n * .where(gt(cars.year, 2000))\n * ```\n *\n * @see gte for greater-than-or-equal\n */\nexport const gt: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} > ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test that the first expression passed is greater than\n * or equal to the second expression. Use `gt` to\n * test whether an expression is strictly greater\n * than another.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made on or after 2000.\n * db.select().from(cars)\n * .where(gte(cars.year, 2000))\n * ```\n *\n * @see gt for a strictly greater-than condition\n */\nexport const gte: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} >= ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test that the first expression passed is less than\n * the second expression.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made before 2000.\n * db.select().from(cars)\n * .where(lt(cars.year, 2000))\n * ```\n *\n * @see lte for less-than-or-equal\n */\nexport const lt: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} < ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test that the first expression passed is less than\n * or equal to the second expression.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made before 2000.\n * db.select().from(cars)\n * .where(lte(cars.year, 2000))\n * ```\n *\n * @see lt for a strictly less-than condition\n */\nexport const lte: BinaryOperator = (left: SQLWrapper, right: unknown): SQL => {\n\treturn sql`${left} <= ${bindIfParam(right, left)}`;\n};\n\n/**\n * Test whether the first parameter, a column or expression,\n * has a value from a list passed as the second argument.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made by Ford or GM.\n * db.select().from(cars)\n * .where(inArray(cars.make, ['Ford', 'GM']))\n * ```\n *\n * @see notInArray for the inverse of this test\n */\nexport function inArray(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function inArray(\n\tcolumn: TColumn,\n\tvalues: ReadonlyArray | Placeholder> | SQLWrapper,\n): SQL;\nexport function inArray(\n\tcolumn: Exclude,\n\tvalues: ReadonlyArray | SQLWrapper,\n): SQL;\nexport function inArray(\n\tcolumn: SQLWrapper,\n\tvalues: ReadonlyArray | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\treturn sql`false`;\n\t\t}\n\t\treturn sql`${column} in ${values.map((v) => bindIfParam(v, column))}`;\n\t}\n\n\treturn sql`${column} in ${bindIfParam(values, column)}`;\n}\n\n/**\n * Test whether the first parameter, a column or expression,\n * has a value that is not present in a list passed as the\n * second argument.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made by any company except Ford or GM.\n * db.select().from(cars)\n * .where(notInArray(cars.make, ['Ford', 'GM']))\n * ```\n *\n * @see inArray for the inverse of this test\n */\nexport function notInArray(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function notInArray(\n\tcolumn: TColumn,\n\tvalues: (GetColumnData | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function notInArray(\n\tcolumn: Exclude,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function notInArray(\n\tcolumn: SQLWrapper,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\treturn sql`true`;\n\t\t}\n\t\treturn sql`${column} not in ${values.map((v) => bindIfParam(v, column))}`;\n\t}\n\n\treturn sql`${column} not in ${bindIfParam(values, column)}`;\n}\n\n/**\n * Test whether an expression is NULL. By the SQL standard,\n * NULL is neither equal nor not equal to itself, so\n * it's recommended to use `isNull` and `notIsNull` for\n * comparisons to NULL.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars that have no discontinuedAt date.\n * db.select().from(cars)\n * .where(isNull(cars.discontinuedAt))\n * ```\n *\n * @see isNotNull for the inverse of this test\n */\nexport function isNull(value: SQLWrapper): SQL {\n\treturn sql`${value} is null`;\n}\n\n/**\n * Test whether an expression is not NULL. By the SQL standard,\n * NULL is neither equal nor not equal to itself, so\n * it's recommended to use `isNull` and `notIsNull` for\n * comparisons to NULL.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars that have been discontinued.\n * db.select().from(cars)\n * .where(isNotNull(cars.discontinuedAt))\n * ```\n *\n * @see isNull for the inverse of this test\n */\nexport function isNotNull(value: SQLWrapper): SQL {\n\treturn sql`${value} is not null`;\n}\n\n/**\n * Test whether a subquery evaluates to have any rows.\n *\n * ## Examples\n *\n * ```ts\n * // Users whose `homeCity` column has a match in a cities\n * // table.\n * db\n * .select()\n * .from(users)\n * .where(\n * exists(db.select()\n * .from(cities)\n * .where(eq(users.homeCity, cities.id))),\n * );\n * ```\n *\n * @see notExists for the inverse of this test\n */\nexport function exists(subquery: SQLWrapper): SQL {\n\treturn sql`exists ${subquery}`;\n}\n\n/**\n * Test whether a subquery doesn't include any result\n * rows.\n *\n * ## Examples\n *\n * ```ts\n * // Users whose `homeCity` column doesn't match\n * // a row in the cities table.\n * db\n * .select()\n * .from(users)\n * .where(\n * notExists(db.select()\n * .from(cities)\n * .where(eq(users.homeCity, cities.id))),\n * );\n * ```\n *\n * @see exists for the inverse of this test\n */\nexport function notExists(subquery: SQLWrapper): SQL {\n\treturn sql`not exists ${subquery}`;\n}\n\n/**\n * Test whether an expression is between two values. This\n * is an easier way to express range tests, which would be\n * expressed mathematically as `x <= a <= y` but in SQL\n * would have to be like `a >= x AND a <= y`.\n *\n * Between is inclusive of the endpoints: if `column`\n * is equal to `min` or `max`, it will be TRUE.\n *\n * ## Examples\n *\n * ```ts\n * // Select cars made between 1990 and 2000\n * db.select().from(cars)\n * .where(between(cars.year, 1990, 2000))\n * ```\n *\n * @see notBetween for the inverse of this test\n */\nexport function between(\n\tcolumn: SQL.Aliased,\n\tmin: T | SQLWrapper,\n\tmax: T | SQLWrapper,\n): SQL;\nexport function between(\n\tcolumn: TColumn,\n\tmin: GetColumnData | SQLWrapper,\n\tmax: GetColumnData | SQLWrapper,\n): SQL;\nexport function between(\n\tcolumn: Exclude,\n\tmin: unknown,\n\tmax: unknown,\n): SQL;\nexport function between(column: SQLWrapper, min: unknown, max: unknown): SQL {\n\treturn sql`${column} between ${bindIfParam(min, column)} and ${\n\t\tbindIfParam(\n\t\t\tmax,\n\t\t\tcolumn,\n\t\t)\n\t}`;\n}\n\n/**\n * Test whether an expression is not between two values.\n *\n * This, like `between`, includes its endpoints, so if\n * the `column` is equal to `min` or `max`, in this case\n * it will evaluate to FALSE.\n *\n * ## Examples\n *\n * ```ts\n * // Exclude cars made in the 1970s\n * db.select().from(cars)\n * .where(notBetween(cars.year, 1970, 1979))\n * ```\n *\n * @see between for the inverse of this test\n */\nexport function notBetween(\n\tcolumn: SQL.Aliased,\n\tmin: T | SQLWrapper,\n\tmax: T | SQLWrapper,\n): SQL;\nexport function notBetween(\n\tcolumn: TColumn,\n\tmin: GetColumnData | SQLWrapper,\n\tmax: GetColumnData | SQLWrapper,\n): SQL;\nexport function notBetween(\n\tcolumn: Exclude,\n\tmin: unknown,\n\tmax: unknown,\n): SQL;\nexport function notBetween(\n\tcolumn: SQLWrapper,\n\tmin: unknown,\n\tmax: unknown,\n): SQL {\n\treturn sql`${column} not between ${\n\t\tbindIfParam(\n\t\t\tmin,\n\t\t\tcolumn,\n\t\t)\n\t} and ${bindIfParam(max, column)}`;\n}\n\n/**\n * Compare a column to a pattern, which can include `%` and `_`\n * characters to match multiple variations. Including `%`\n * in the pattern matches zero or more characters, and including\n * `_` will match a single character.\n *\n * ## Examples\n *\n * ```ts\n * // Select all cars with 'Turbo' in their names.\n * db.select().from(cars)\n * .where(like(cars.name, '%Turbo%'))\n * ```\n *\n * @see ilike for a case-insensitive version of this condition\n */\nexport function like(column: Column | SQL.Aliased | SQL, value: string | SQLWrapper): SQL {\n\treturn sql`${column} like ${value}`;\n}\n\n/**\n * The inverse of like - this tests that a given column\n * does not match a pattern, which can include `%` and `_`\n * characters to match multiple variations. Including `%`\n * in the pattern matches zero or more characters, and including\n * `_` will match a single character.\n *\n * ## Examples\n *\n * ```ts\n * // Select all cars that don't have \"ROver\" in their name.\n * db.select().from(cars)\n * .where(notLike(cars.name, '%Rover%'))\n * ```\n *\n * @see like for the inverse condition\n * @see notIlike for a case-insensitive version of this condition\n */\nexport function notLike(column: Column | SQL.Aliased | SQL, value: string | SQLWrapper): SQL {\n\treturn sql`${column} not like ${value}`;\n}\n\n/**\n * Case-insensitively compare a column to a pattern,\n * which can include `%` and `_`\n * characters to match multiple variations. Including `%`\n * in the pattern matches zero or more characters, and including\n * `_` will match a single character.\n *\n * Unlike like, this performs a case-insensitive comparison.\n *\n * ## Examples\n *\n * ```ts\n * // Select all cars with 'Turbo' in their names.\n * db.select().from(cars)\n * .where(ilike(cars.name, '%Turbo%'))\n * ```\n *\n * @see like for a case-sensitive version of this condition\n */\nexport function ilike(column: Column | SQL.Aliased | SQL, value: string | SQLWrapper): SQL {\n\treturn sql`${column} ilike ${value}`;\n}\n\n/**\n * The inverse of ilike - this case-insensitively tests that a given column\n * does not match a pattern, which can include `%` and `_`\n * characters to match multiple variations. Including `%`\n * in the pattern matches zero or more characters, and including\n * `_` will match a single character.\n *\n * ## Examples\n *\n * ```ts\n * // Select all cars that don't have \"Rover\" in their name.\n * db.select().from(cars)\n * .where(notLike(cars.name, '%Rover%'))\n * ```\n *\n * @see ilike for the inverse condition\n * @see notLike for a case-sensitive version of this condition\n */\nexport function notIlike(column: Column | SQL.Aliased | SQL, value: string | SQLWrapper): SQL {\n\treturn sql`${column} not ilike ${value}`;\n}\n\n/**\n * Test that a column or expression contains all elements of\n * the list passed as the second argument.\n *\n * ## Throws\n *\n * The argument passed in the second array can't be empty:\n * if an empty is provided, this method will throw.\n *\n * ## Examples\n *\n * ```ts\n * // Select posts where its tags contain \"Typescript\" and \"ORM\".\n * db.select().from(posts)\n * .where(arrayContains(posts.tags, ['Typescript', 'ORM']))\n * ```\n *\n * @see arrayContained to find if an array contains all elements of a column or expression\n * @see arrayOverlaps to find if a column or expression contains any elements of an array\n */\nexport function arrayContains(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayContains(\n\tcolumn: TColumn,\n\tvalues: (GetColumnData | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayContains(\n\tcolumn: Exclude,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function arrayContains(\n\tcolumn: SQLWrapper,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('arrayContains requires at least one value');\n\t\t}\n\t\tconst array = sql`${bindIfParam(values, column)}`;\n\t\treturn sql`${column} @> ${array}`;\n\t}\n\n\treturn sql`${column} @> ${bindIfParam(values, column)}`;\n}\n\n/**\n * Test that the list passed as the second argument contains\n * all elements of a column or expression.\n *\n * ## Throws\n *\n * The argument passed in the second array can't be empty:\n * if an empty is provided, this method will throw.\n *\n * ## Examples\n *\n * ```ts\n * // Select posts where its tags contain \"Typescript\", \"ORM\" or both,\n * // but filtering posts that have additional tags.\n * db.select().from(posts)\n * .where(arrayContained(posts.tags, ['Typescript', 'ORM']))\n * ```\n *\n * @see arrayContains to find if a column or expression contains all elements of an array\n * @see arrayOverlaps to find if a column or expression contains any elements of an array\n */\nexport function arrayContained(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayContained(\n\tcolumn: TColumn,\n\tvalues: (GetColumnData | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayContained(\n\tcolumn: Exclude,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function arrayContained(\n\tcolumn: SQLWrapper,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('arrayContained requires at least one value');\n\t\t}\n\t\tconst array = sql`${bindIfParam(values, column)}`;\n\t\treturn sql`${column} <@ ${array}`;\n\t}\n\n\treturn sql`${column} <@ ${bindIfParam(values, column)}`;\n}\n\n/**\n * Test that a column or expression contains any elements of\n * the list passed as the second argument.\n *\n * ## Throws\n *\n * The argument passed in the second array can't be empty:\n * if an empty is provided, this method will throw.\n *\n * ## Examples\n *\n * ```ts\n * // Select posts where its tags contain \"Typescript\", \"ORM\" or both.\n * db.select().from(posts)\n * .where(arrayOverlaps(posts.tags, ['Typescript', 'ORM']))\n * ```\n *\n * @see arrayContains to find if a column or expression contains all elements of an array\n * @see arrayContained to find if an array contains all elements of a column or expression\n */\nexport function arrayOverlaps(\n\tcolumn: SQL.Aliased,\n\tvalues: (T | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayOverlaps(\n\tcolumn: TColumn,\n\tvalues: (GetColumnData | Placeholder) | SQLWrapper,\n): SQL;\nexport function arrayOverlaps(\n\tcolumn: Exclude,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL;\nexport function arrayOverlaps(\n\tcolumn: SQLWrapper,\n\tvalues: (unknown | Placeholder)[] | SQLWrapper,\n): SQL {\n\tif (Array.isArray(values)) {\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('arrayOverlaps requires at least one value');\n\t\t}\n\t\tconst array = sql`${bindIfParam(values, column)}`;\n\t\treturn sql`${column} && ${array}`;\n\t}\n\n\treturn sql`${column} && ${bindIfParam(values, column)}`;\n}\n", "import type { AnyColumn } from '../../column.ts';\nimport type { SQL, SQLWrapper } from '../sql.ts';\nimport { sql } from '../sql.ts';\n\n/**\n * Used in sorting, this specifies that the given\n * column or expression should be sorted in ascending\n * order. By the SQL standard, ascending order is the\n * default, so it is not usually necessary to specify\n * ascending sort order.\n *\n * ## Examples\n *\n * ```ts\n * // Return cars, starting with the oldest models\n * // and going in ascending order to the newest.\n * db.select().from(cars)\n * .orderBy(asc(cars.year));\n * ```\n *\n * @see desc to sort in descending order\n */\nexport function asc(column: AnyColumn | SQLWrapper): SQL {\n\treturn sql`${column} asc`;\n}\n\n/**\n * Used in sorting, this specifies that the given\n * column or expression should be sorted in descending\n * order.\n *\n * ## Examples\n *\n * ```ts\n * // Select users, with the most recently created\n * // records coming first.\n * db.select().from(users)\n * .orderBy(desc(users.createdAt));\n * ```\n *\n * @see asc to sort in ascending order\n */\nexport function desc(column: AnyColumn | SQLWrapper): SQL {\n\treturn sql`${column} desc`;\n}\n", "export * from './conditions.ts';\nexport * from './select.ts';\n", "import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record = Record,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many extends Relation {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record;\n\trelations: Record;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record;\n\tschema: TSchema;\n\ttableNamesMap: Record;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName,\n\t\t\tAssume>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record,\n> = Equal extends true ? InferModelFromColumns\n\t: TFullSelection extends Record ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record\n\t\t\t\t| ((...args: any[]) => Record) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\tlet primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\tif (primaryKey) {\n\t\t\t\t\t\ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\tprimaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers) => TRelations,\n): Relations {\n\treturn new Relations(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers = ReturnType<\n\ttypeof createTableRelationsHelpers\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record {\n\tconst result: Record = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n", "import type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport type { Relation } from './relations.ts';\nimport type { View } from './sql/sql.ts';\nimport { SQL, sql } from './sql/sql.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnAliasProxyHandler implements ProxyHandler {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private table: Table | View) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class TableAliasProxyHandler implements ProxyHandler {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnAliasProxyHandler(new Proxy(target, this)),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(value as AnyColumn, new ColumnAliasProxyHandler(new Proxy(target, this)));\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class RelationTableAliasProxyHandler implements ProxyHandler {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable(\n\ttable: T,\n\ttableAlias: string,\n): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false)) as any;\n}\n\nexport function aliasedRelation(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnAliasProxyHandler(new Proxy(column.table, new TableAliasProxyHandler(tableAlias, false))),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n", "import { ColumnAliasProxyHandler, TableAliasProxyHandler } from './alias.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { SQL, View } from './sql/sql.ts';\nimport { Subquery } from './subquery.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class SelectionProxyHandler | View>\n\timplements ProxyHandler | View>\n{\n\tstatic readonly [entityKind]: string = 'SelectionProxyHandler';\n\n\tprivate config: {\n\t\t/**\n\t\t * Table alias for the columns\n\t\t */\n\t\talias?: string;\n\t\t/**\n\t\t * What to do when a field is an instance of `SQL.Aliased` and it's not a selection field (from a subquery)\n\t\t *\n\t\t * `sql` - return the underlying SQL expression\n\t\t *\n\t\t * `alias` - return the field alias\n\t\t */\n\t\tsqlAliasedBehavior: 'sql' | 'alias';\n\t\t/**\n\t\t * What to do when a field is an instance of `SQL` and it doesn't have an alias declared\n\t\t *\n\t\t * `sql` - return the underlying SQL expression\n\t\t *\n\t\t * `error` - return a DrizzleTypeError on type level and throw an error on runtime\n\t\t */\n\t\tsqlBehavior: 'sql' | 'error';\n\n\t\t/**\n\t\t * Whether to replace the original name of the column with the alias\n\t\t * Should be set to `true` for views creation\n\t\t * @default false\n\t\t */\n\t\treplaceOriginalName?: boolean;\n\t};\n\n\tconstructor(config: SelectionProxyHandler['config']) {\n\t\tthis.config = { ...config };\n\t}\n\n\tget(subquery: T, prop: string | symbol): any {\n\t\tif (prop === '_') {\n\t\t\treturn {\n\t\t\t\t...subquery['_' as keyof typeof subquery],\n\t\t\t\tselectedFields: new Proxy(\n\t\t\t\t\t(subquery as Subquery)._.selectedFields,\n\t\t\t\t\tthis as ProxyHandler>,\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...subquery[ViewBaseConfig as keyof typeof subquery],\n\t\t\t\tselectedFields: new Proxy(\n\t\t\t\t\t(subquery as View)[ViewBaseConfig].selectedFields,\n\t\t\t\t\tthis as ProxyHandler>,\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (typeof prop === 'symbol') {\n\t\t\treturn subquery[prop as keyof typeof subquery];\n\t\t}\n\n\t\tconst columns = is(subquery, Subquery)\n\t\t\t? subquery._.selectedFields\n\t\t\t: is(subquery, View)\n\t\t\t? subquery[ViewBaseConfig].selectedFields\n\t\t\t: subquery;\n\t\tconst value: unknown = columns[prop as keyof typeof columns];\n\n\t\tif (is(value, SQL.Aliased)) {\n\t\t\t// Never return the underlying SQL expression for a field previously selected in a subquery\n\t\t\tif (this.config.sqlAliasedBehavior === 'sql' && !value.isSelectionField) {\n\t\t\t\treturn value.sql;\n\t\t\t}\n\n\t\t\tconst newValue = value.clone();\n\t\t\tnewValue.isSelectionField = true;\n\t\t\treturn newValue;\n\t\t}\n\n\t\tif (is(value, SQL)) {\n\t\t\tif (this.config.sqlBehavior === 'sql') {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tthrow new Error(\n\t\t\t\t`You tried to reference \"${prop}\" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using \".as('alias')\" method.`,\n\t\t\t);\n\t\t}\n\n\t\tif (is(value, Column)) {\n\t\t\tif (this.config.alias) {\n\t\t\t\treturn new Proxy(\n\t\t\t\t\tvalue,\n\t\t\t\t\tnew ColumnAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(\n\t\t\t\t\t\t\tvalue.table,\n\t\t\t\t\t\t\tnew TableAliasProxyHandler(this.config.alias, this.config.replaceOriginalName ?? false),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\n\t\tif (typeof value !== 'object' || value === null) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn new Proxy(value, new SelectionProxyHandler(this.config));\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\n\nexport abstract class QueryPromise implements Promise {\n\tstatic readonly [entityKind]: string = 'QueryPromise';\n\n\t[Symbol.toStringTag] = 'QueryPromise';\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => TResult | PromiseLike) | null | undefined,\n\t): Promise {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n\n\tthen(\n\t\tonFulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null,\n\t\tonRejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null,\n\t): Promise {\n\t\treturn this.execute().then(onFulfilled, onRejected);\n\t}\n\n\tabstract execute(): Promise;\n}\n", "import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { AnySQLiteColumn, SQLiteColumn } from './columns/index.ts';\nimport type { SQLiteTable } from './table.ts';\n\nexport type UpdateDeleteAction = 'cascade' | 'restrict' | 'no action' | 'set null' | 'set default';\n\nexport type Reference = () => {\n\treadonly name?: string;\n\treadonly columns: SQLiteColumn[];\n\treadonly foreignTable: SQLiteTable;\n\treadonly foreignColumns: SQLiteColumn[];\n};\n\nexport class ForeignKeyBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteForeignKeyBuilder';\n\n\tdeclare _: {\n\t\tbrand: 'SQLiteForeignKeyBuilder';\n\t\tforeignTableName: 'TForeignTableName';\n\t};\n\n\t/** @internal */\n\treference: Reference;\n\n\t/** @internal */\n\t_onUpdate: UpdateDeleteAction | undefined;\n\n\t/** @internal */\n\t_onDelete: UpdateDeleteAction | undefined;\n\n\tconstructor(\n\t\tconfig: () => {\n\t\t\tname?: string;\n\t\t\tcolumns: SQLiteColumn[];\n\t\t\tforeignColumns: SQLiteColumn[];\n\t\t},\n\t\tactions?: {\n\t\t\tonUpdate?: UpdateDeleteAction;\n\t\t\tonDelete?: UpdateDeleteAction;\n\t\t} | undefined,\n\t) {\n\t\tthis.reference = () => {\n\t\t\tconst { name, columns, foreignColumns } = config();\n\t\t\treturn { name, columns, foreignTable: foreignColumns[0]!.table as SQLiteTable, foreignColumns };\n\t\t};\n\t\tif (actions) {\n\t\t\tthis._onUpdate = actions.onUpdate;\n\t\t\tthis._onDelete = actions.onDelete;\n\t\t}\n\t}\n\n\tonUpdate(action: UpdateDeleteAction): this {\n\t\tthis._onUpdate = action;\n\t\treturn this;\n\t}\n\n\tonDelete(action: UpdateDeleteAction): this {\n\t\tthis._onDelete = action;\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tbuild(table: SQLiteTable): ForeignKey {\n\t\treturn new ForeignKey(table, this);\n\t}\n}\n\nexport class ForeignKey {\n\tstatic readonly [entityKind]: string = 'SQLiteForeignKey';\n\n\treadonly reference: Reference;\n\treadonly onUpdate: UpdateDeleteAction | undefined;\n\treadonly onDelete: UpdateDeleteAction | undefined;\n\n\tconstructor(readonly table: SQLiteTable, builder: ForeignKeyBuilder) {\n\t\tthis.reference = builder.reference;\n\t\tthis.onUpdate = builder._onUpdate;\n\t\tthis.onDelete = builder._onDelete;\n\t}\n\n\tgetName(): string {\n\t\tconst { name, columns, foreignColumns } = this.reference();\n\t\tconst columnNames = columns.map((column) => column.name);\n\t\tconst foreignColumnNames = foreignColumns.map((column) => column.name);\n\t\tconst chunks = [\n\t\t\tthis.table[TableName],\n\t\t\t...columnNames,\n\t\t\tforeignColumns[0]!.table[TableName],\n\t\t\t...foreignColumnNames,\n\t\t];\n\t\treturn name ?? `${chunks.join('_')}_fk`;\n\t}\n}\n\ntype ColumnsWithTable<\n\tTTableName extends string,\n\tTColumns extends SQLiteColumn[],\n> = { [Key in keyof TColumns]: AnySQLiteColumn<{ tableName: TTableName }> };\n\n/**\n * @deprecated please use `foreignKey({ columns: [], foreignColumns: [] })` syntax without callback\n * @param config\n * @returns\n */\nexport function foreignKey<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends [AnySQLiteColumn<{ tableName: TTableName }>, ...AnySQLiteColumn<{ tableName: TTableName }>[]],\n>(\n\tconfig: () => {\n\t\tname?: string;\n\t\tcolumns: TColumns;\n\t\tforeignColumns: ColumnsWithTable;\n\t},\n): ForeignKeyBuilder;\nexport function foreignKey<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends [AnySQLiteColumn<{ tableName: TTableName }>, ...AnySQLiteColumn<{ tableName: TTableName }>[]],\n>(\n\tconfig: {\n\t\tname?: string;\n\t\tcolumns: TColumns;\n\t\tforeignColumns: ColumnsWithTable;\n\t},\n): ForeignKeyBuilder;\nexport function foreignKey(\n\tconfig: any,\n): ForeignKeyBuilder {\n\tfunction mappedConfig() {\n\t\tif (typeof config === 'function') {\n\t\t\tconst { name, columns, foreignColumns } = config();\n\t\t\treturn {\n\t\t\t\tname,\n\t\t\t\tcolumns,\n\t\t\t\tforeignColumns,\n\t\t\t};\n\t\t}\n\t\treturn config;\n\t}\n\n\treturn new ForeignKeyBuilder(mappedConfig);\n}\n", "import { entityKind } from '~/entity.ts';\nimport { TableName } from '~/table.utils.ts';\nimport type { SQLiteColumn } from './columns/common.ts';\nimport type { SQLiteTable } from './table.ts';\n\nexport function uniqueKeyName(table: SQLiteTable, columns: string[]) {\n\treturn `${table[TableName]}_${columns.join('_')}_unique`;\n}\n\nexport function unique(name?: string): UniqueOnConstraintBuilder {\n\treturn new UniqueOnConstraintBuilder(name);\n}\n\nexport class UniqueConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteUniqueConstraintBuilder';\n\n\t/** @internal */\n\tcolumns: SQLiteColumn[];\n\n\tconstructor(\n\t\tcolumns: SQLiteColumn[],\n\t\tprivate name?: string,\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: SQLiteTable): UniqueConstraint {\n\t\treturn new UniqueConstraint(table, this.columns, this.name);\n\t}\n}\n\nexport class UniqueOnConstraintBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteUniqueOnConstraintBuilder';\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tname?: string,\n\t) {\n\t\tthis.name = name;\n\t}\n\n\ton(...columns: [SQLiteColumn, ...SQLiteColumn[]]) {\n\t\treturn new UniqueConstraintBuilder(columns, this.name);\n\t}\n}\n\nexport class UniqueConstraint {\n\tstatic readonly [entityKind]: string = 'SQLiteUniqueConstraint';\n\n\treadonly columns: SQLiteColumn[];\n\treadonly name?: string;\n\n\tconstructor(readonly table: SQLiteTable, columns: SQLiteColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n\t}\n\n\tgetName() {\n\t\treturn this.name;\n\t}\n}\n", "import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport { Column } from '~/column.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { ForeignKey, UpdateDeleteAction } from '~/sqlite-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/sqlite-core/foreign-keys.ts';\nimport type { AnySQLiteTable, SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Update } from '~/utils.ts';\nimport { uniqueKeyName } from '../unique-constraint.ts';\n\nexport interface ReferenceConfig {\n\tref: () => SQLiteColumn;\n\tactions: {\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface SQLiteColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase {}\n\nexport interface SQLiteGeneratedColumnConfig {\n\tmode?: 'virtual' | 'stored';\n}\n\nexport abstract class SQLiteColumnBuilder<\n\tT extends ColumnBuilderBaseConfig = ColumnBuilderBaseConfig,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = object,\n> extends ColumnBuilder\n\timplements SQLiteColumnBuilderBase\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteColumnBuilder';\n\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tactions: ReferenceConfig['actions'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, actions });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL), config?: SQLiteGeneratedColumnConfig): HasGenerated {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: config?.mode ?? 'virtual',\n\t\t};\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: SQLiteColumn, table: SQLiteTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, actions }) => {\n\t\t\treturn ((ref, actions) => {\n\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\treturn { columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t});\n\t\t\t\tif (actions.onUpdate) {\n\t\t\t\t\tbuilder.onUpdate(actions.onUpdate);\n\t\t\t\t}\n\t\t\t\tif (actions.onDelete) {\n\t\t\t\t\tbuilder.onDelete(actions.onDelete);\n\t\t\t\t}\n\t\t\t\treturn builder.build(table);\n\t\t\t})(ref, actions);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteColumn>;\n}\n\n// To understand how to use `SQLiteColumn` and `AnySQLiteColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class SQLiteColumn<\n\tT extends ColumnBaseConfig = ColumnBaseConfig,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends Column {\n\tstatic override readonly [entityKind]: string = 'SQLiteColumn';\n\n\tconstructor(\n\t\toverride readonly table: SQLiteTable,\n\t\tconfig: ColumnBuilderRuntimeConfig,\n\t) {\n\t\tif (!config.uniqueName) {\n\t\t\tconfig.uniqueName = uniqueKeyName(table, [config.name]);\n\t\t}\n\t\tsuper(table, config);\n\t}\n}\n\nexport type AnySQLiteColumn> = {}> = SQLiteColumn<\n\tRequired, TPartial>>\n>;\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, textDecoder } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\ntype BlobMode = 'buffer' | 'json' | 'bigint';\n\nexport type SQLiteBigIntBuilderInitial = SQLiteBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'SQLiteBigInt';\n\tdata: bigint;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBigIntBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBigIntBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'SQLiteBigInt');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBigInt> {\n\t\treturn new SQLiteBigInt>(table, this.config as ColumnBuilderRuntimeConfig);\n\t}\n}\n\nexport class SQLiteBigInt> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteBigInt';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): bigint {\n\t\tif (typeof Buffer !== 'undefined' && Buffer.from) {\n\t\t\tconst buf = Buffer.isBuffer(value)\n\t\t\t\t? value\n\t\t\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\t\t\t: value instanceof ArrayBuffer\n\t\t\t\t? Buffer.from(value)\n\t\t\t\t: value.buffer\n\t\t\t\t? Buffer.from(value.buffer, value.byteOffset, value.byteLength)\n\t\t\t\t: Buffer.from(value);\n\t\t\treturn BigInt(buf.toString('utf8'));\n\t\t}\n\n\t\treturn BigInt(textDecoder!.decode(value));\n\t}\n\n\toverride mapToDriverValue(value: bigint): Buffer {\n\t\treturn Buffer.from(value.toString());\n\t}\n}\n\nexport type SQLiteBlobJsonBuilderInitial = SQLiteBlobJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteBlobJson';\n\tdata: unknown;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBlobJsonBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteBlobJson');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBlobJson> {\n\t\treturn new SQLiteBlobJson>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteBlobJson> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobJson';\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): T['data'] {\n\t\tif (typeof Buffer !== 'undefined' && Buffer.from) {\n\t\t\tconst buf = Buffer.isBuffer(value)\n\t\t\t\t? value\n\t\t\t\t// eslint-disable-next-line no-instanceof/no-instanceof\n\t\t\t\t: value instanceof ArrayBuffer\n\t\t\t\t? Buffer.from(value)\n\t\t\t\t: value.buffer\n\t\t\t\t? Buffer.from(value.buffer, value.byteOffset, value.byteLength)\n\t\t\t\t: Buffer.from(value);\n\t\t\treturn JSON.parse(buf.toString('utf8'));\n\t\t}\n\n\t\treturn JSON.parse(textDecoder!.decode(value));\n\t}\n\n\toverride mapToDriverValue(value: T['data']): Buffer {\n\t\treturn Buffer.from(JSON.stringify(value));\n\t}\n}\n\nexport type SQLiteBlobBufferBuilderInitial = SQLiteBlobBufferBuilder<{\n\tname: TName;\n\tdataType: 'buffer';\n\tcolumnType: 'SQLiteBlobBuffer';\n\tdata: Buffer;\n\tdriverParam: Buffer;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBlobBufferBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobBufferBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'buffer', 'SQLiteBlobBuffer');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBlobBuffer> {\n\t\treturn new SQLiteBlobBuffer>(table, this.config as ColumnBuilderRuntimeConfig);\n\t}\n}\n\nexport class SQLiteBlobBuffer> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteBlobBuffer';\n\n\toverride mapFromDriverValue(value: Buffer | Uint8Array | ArrayBuffer): T['data'] {\n\t\tif (Buffer.isBuffer(value)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn Buffer.from(value as Uint8Array);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn 'blob';\n\t}\n}\n\nexport interface BlobConfig {\n\tmode: TMode;\n}\n\n/**\n * It's recommended to use `text('...', { mode: 'json' })` instead of `blob` in JSON mode, because it supports JSON functions:\n * >All JSON functions currently throw an error if any of their arguments are BLOBs because BLOBs are reserved for a future enhancement in which BLOBs will store the binary encoding for JSON.\n *\n * https://www.sqlite.org/json1.html\n */\nexport function blob(): SQLiteBlobJsonBuilderInitial<''>;\nexport function blob(\n\tconfig?: BlobConfig,\n): Equal extends true ? SQLiteBigIntBuilderInitial<''>\n\t: Equal extends true ? SQLiteBlobBufferBuilderInitial<''>\n\t: SQLiteBlobJsonBuilderInitial<''>;\nexport function blob(\n\tname: TName,\n\tconfig?: BlobConfig,\n): Equal extends true ? SQLiteBigIntBuilderInitial\n\t: Equal extends true ? SQLiteBlobBufferBuilderInitial\n\t: SQLiteBlobJsonBuilderInitial;\nexport function blob(a?: string | BlobConfig, b?: BlobConfig) {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tif (config?.mode === 'json') {\n\t\treturn new SQLiteBlobJsonBuilder(name);\n\t}\n\tif (config?.mode === 'bigint') {\n\t\treturn new SQLiteBigIntBuilder(name);\n\t}\n\treturn new SQLiteBlobBufferBuilder(name);\n}\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type ConvertCustomConfig> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'SQLiteCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface SQLiteCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class SQLiteCustomColumnBuilder>\n\textends SQLiteColumnBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams;\n\t\t},\n\t\t{\n\t\t\tsqliteColumnBuilderBrand: 'SQLiteCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams,\n\t) {\n\t\tsuper(name, 'custom', 'SQLiteCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\tbuild(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteCustomColumn> {\n\t\treturn new SQLiteCustomColumn>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteCustomColumn> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteCustomColumnBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n};\n\nexport interface CustomTypeParams {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, between user input and driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is responsible for data mapping from database to JS/TS code\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * },\n\t * ```\n\t */\n\tfromDriver?: (value: T['driverData']) => T['data'];\n}\n\n/**\n * Custom sqlite database data type generator\n */\nexport function customType(\n\tcustomTypeParams: CustomTypeParams,\n): Equal extends true ? {\n\t\t & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): SQLiteCustomColumnBuilder>;\n\t\t(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): SQLiteCustomColumnBuilder>;\n\t}\n\t: {\n\t\t(): SQLiteCustomColumnBuilder>;\n\t\t & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): SQLiteCustomColumnBuilder>;\n\t\t(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): SQLiteCustomColumnBuilder>;\n\t}\n{\n\treturn (\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): SQLiteCustomColumnBuilder> => {\n\t\tconst { name, config } = getColumnNameAndConfig(a, b);\n\t\treturn new SQLiteCustomColumnBuilder(\n\t\t\tname as ConvertCustomConfig['name'],\n\t\t\tconfig,\n\t\t\tcustomTypeParams,\n\t\t);\n\t};\n}\n", "import type {\n\tColumnBuilderBaseConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasDefault,\n\tIsPrimaryKey,\n\tMakeColumnConfig,\n\tNotNull,\n} from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { OnConflict } from '~/sqlite-core/utils.ts';\nimport { type Equal, getColumnNameAndConfig, type Or } from '~/utils.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport interface PrimaryKeyConfig {\n\tautoIncrement?: boolean;\n\tonConflict?: OnConflict;\n}\n\nexport abstract class SQLiteBaseIntegerBuilder<\n\tT extends ColumnBuilderBaseConfig,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumnBuilder<\n\tT,\n\tTRuntimeConfig & { autoIncrement: boolean },\n\t{},\n\t{ primaryKeyHasDefault: true }\n> {\n\tstatic override readonly [entityKind]: string = 'SQLiteBaseIntegerBuilder';\n\n\tconstructor(name: T['name'], dataType: T['dataType'], columnType: T['columnType']) {\n\t\tsuper(name, dataType, columnType);\n\t\tthis.config.autoIncrement = false;\n\t}\n\n\toverride primaryKey(config?: PrimaryKeyConfig): IsPrimaryKey>> {\n\t\tif (config?.autoIncrement) {\n\t\t\tthis.config.autoIncrement = true;\n\t\t}\n\t\tthis.config.hasDefault = true;\n\t\treturn super.primaryKey() as IsPrimaryKey>>;\n\t}\n\n\t/** @internal */\n\tabstract override build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBaseInteger>;\n}\n\nexport abstract class SQLiteBaseInteger<\n\tT extends ColumnBaseConfig,\n\tTRuntimeConfig extends object = object,\n> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteBaseInteger';\n\n\treadonly autoIncrement: boolean = this.config.autoIncrement;\n\n\tgetSQLType(): string {\n\t\treturn 'integer';\n\t}\n}\n\nexport type SQLiteIntegerBuilderInitial = SQLiteIntegerBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteInteger';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteIntegerBuilder>\n\textends SQLiteBaseIntegerBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteIntegerBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteInteger');\n\t}\n\n\tbuild(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteInteger> {\n\t\treturn new SQLiteInteger>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteInteger> extends SQLiteBaseInteger {\n\tstatic override readonly [entityKind]: string = 'SQLiteInteger';\n}\n\nexport type SQLiteTimestampBuilderInitial = SQLiteTimestampBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'SQLiteTimestamp';\n\tdata: Date;\n\tdriverParam: number;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteTimestampBuilder>\n\textends SQLiteBaseIntegerBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteTimestampBuilder';\n\n\tconstructor(name: T['name'], mode: 'timestamp' | 'timestamp_ms') {\n\t\tsuper(name, 'date', 'SQLiteTimestamp');\n\t\tthis.config.mode = mode;\n\t}\n\n\t/**\n\t * @deprecated Use `default()` with your own expression instead.\n\t *\n\t * Adds `DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer))` to the column, which is the current epoch timestamp in milliseconds.\n\t */\n\tdefaultNow(): HasDefault {\n\t\treturn this.default(sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`) as any;\n\t}\n\n\tbuild(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTimestamp> {\n\t\treturn new SQLiteTimestamp>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteTimestamp>\n\textends SQLiteBaseInteger\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteTimestamp';\n\n\treadonly mode: 'timestamp' | 'timestamp_ms' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): Date {\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn new Date(value * 1000);\n\t\t}\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): number {\n\t\tconst unix = value.getTime();\n\t\tif (this.config.mode === 'timestamp') {\n\t\t\treturn Math.floor(unix / 1000);\n\t\t}\n\t\treturn unix;\n\t}\n}\n\nexport type SQLiteBooleanBuilderInitial = SQLiteBooleanBuilder<{\n\tname: TName;\n\tdataType: 'boolean';\n\tcolumnType: 'SQLiteBoolean';\n\tdata: boolean;\n\tdriverParam: number;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteBooleanBuilder>\n\textends SQLiteBaseIntegerBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBooleanBuilder';\n\n\tconstructor(name: T['name'], mode: 'boolean') {\n\t\tsuper(name, 'boolean', 'SQLiteBoolean');\n\t\tthis.config.mode = mode;\n\t}\n\n\tbuild(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteBoolean> {\n\t\treturn new SQLiteBoolean>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteBoolean>\n\textends SQLiteBaseInteger\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteBoolean';\n\n\treadonly mode: 'boolean' = this.config.mode;\n\n\toverride mapFromDriverValue(value: number): boolean {\n\t\treturn Number(value) === 1;\n\t}\n\n\toverride mapToDriverValue(value: boolean): number {\n\t\treturn value ? 1 : 0;\n\t}\n}\n\nexport interface IntegerConfig<\n\tTMode extends 'number' | 'timestamp' | 'timestamp_ms' | 'boolean' =\n\t\t| 'number'\n\t\t| 'timestamp'\n\t\t| 'timestamp_ms'\n\t\t| 'boolean',\n> {\n\tmode: TMode;\n}\n\nexport function integer(): SQLiteIntegerBuilderInitial<''>;\nexport function integer(\n\tconfig?: IntegerConfig,\n): Or, Equal> extends true ? SQLiteTimestampBuilderInitial<''>\n\t: Equal extends true ? SQLiteBooleanBuilderInitial<''>\n\t: SQLiteIntegerBuilderInitial<''>;\nexport function integer(\n\tname: TName,\n\tconfig?: IntegerConfig,\n): Or, Equal> extends true ? SQLiteTimestampBuilderInitial\n\t: Equal extends true ? SQLiteBooleanBuilderInitial\n\t: SQLiteIntegerBuilderInitial;\nexport function integer(a?: string | IntegerConfig, b?: IntegerConfig) {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tif (config?.mode === 'timestamp' || config?.mode === 'timestamp_ms') {\n\t\treturn new SQLiteTimestampBuilder(name, config.mode);\n\t}\n\tif (config?.mode === 'boolean') {\n\t\treturn new SQLiteBooleanBuilder(name, config.mode);\n\t}\n\treturn new SQLiteIntegerBuilder(name);\n}\n\nexport const int = integer;\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteNumericBuilderInitial = SQLiteNumericBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteNumeric';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteNumericBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'SQLiteNumeric');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumeric> {\n\t\treturn new SQLiteNumeric>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumeric> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteNumeric';\n\n\toverride mapFromDriverValue(value: unknown): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn String(value);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport type SQLiteNumericNumberBuilderInitial = SQLiteNumericNumberBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteNumericNumber';\n\tdata: number;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteNumericNumberBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericNumberBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteNumericNumber');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumericNumber> {\n\t\treturn new SQLiteNumericNumber>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumericNumber> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericNumber';\n\n\toverride mapFromDriverValue(value: unknown): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport type SQLiteNumericBigIntBuilderInitial = SQLiteNumericBigIntBuilder<{\n\tname: TName;\n\tdataType: 'bigint';\n\tcolumnType: 'SQLiteNumericBigInt';\n\tdata: bigint;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteNumericBigIntBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericBigIntBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'bigint', 'SQLiteNumericBigInt');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteNumericBigInt> {\n\t\treturn new SQLiteNumericBigInt>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteNumericBigInt> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteNumericBigInt';\n\n\toverride mapFromDriverValue = BigInt;\n\n\toverride mapToDriverValue = String;\n\n\tgetSQLType(): string {\n\t\treturn 'numeric';\n\t}\n}\n\nexport type SQLiteNumericConfig = {\n\tmode: T;\n};\n\nexport function numeric(\n\tconfig?: SQLiteNumericConfig,\n): Equal extends true ? SQLiteNumericNumberBuilderInitial<''>\n\t: Equal extends true ? SQLiteNumericBigIntBuilderInitial<''>\n\t: SQLiteNumericBuilderInitial<''>;\nexport function numeric(\n\tname: TName,\n\tconfig?: SQLiteNumericConfig,\n): Equal extends true ? SQLiteNumericNumberBuilderInitial\n\t: Equal extends true ? SQLiteNumericBigIntBuilderInitial\n\t: SQLiteNumericBuilderInitial;\nexport function numeric(a?: string | SQLiteNumericConfig, b?: SQLiteNumericConfig) {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tconst mode = config?.mode;\n\treturn mode === 'number'\n\t\t? new SQLiteNumericNumberBuilder(name)\n\t\t: mode === 'bigint'\n\t\t? new SQLiteNumericBigIntBuilder(name)\n\t\t: new SQLiteNumericBuilder(name);\n}\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '../table.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteRealBuilderInitial = SQLiteRealBuilder<{\n\tname: TName;\n\tdataType: 'number';\n\tcolumnType: 'SQLiteReal';\n\tdata: number;\n\tdriverParam: number;\n\tenumValues: undefined;\n}>;\n\nexport class SQLiteRealBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteRealBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'number', 'SQLiteReal');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteReal> {\n\t\treturn new SQLiteReal>(table, this.config as ColumnBuilderRuntimeConfig);\n\t}\n}\n\nexport class SQLiteReal> extends SQLiteColumn {\n\tstatic override readonly [entityKind]: string = 'SQLiteReal';\n\n\tgetSQLType(): string {\n\t\treturn 'real';\n\t}\n}\n\nexport function real(): SQLiteRealBuilderInitial<''>;\nexport function real(name: TName): SQLiteRealBuilderInitial;\nexport function real(name?: string) {\n\treturn new SQLiteRealBuilder(name ?? '');\n}\n", "import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySQLiteTable } from '~/sqlite-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SQLiteColumn, SQLiteColumnBuilder } from './common.ts';\n\nexport type SQLiteTextBuilderInitial<\n\tTName extends string,\n\tTEnum extends [string, ...string[]],\n\tTLength extends number | undefined,\n> = SQLiteTextBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SQLiteText';\n\tdata: TEnum[number];\n\tdriverParam: string;\n\tenumValues: TEnum;\n\tlength: TLength;\n}>;\n\nexport class SQLiteTextBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'SQLiteText'> & { length?: number | undefined },\n> extends SQLiteColumnBuilder<\n\tT,\n\t{ length: T['length']; enumValues: T['enumValues'] },\n\t{ length: T['length'] }\n> {\n\tstatic override readonly [entityKind]: string = 'SQLiteTextBuilder';\n\n\tconstructor(name: T['name'], config: SQLiteTextConfig<'text', T['enumValues'], T['length']>) {\n\t\tsuper(name, 'string', 'SQLiteText');\n\t\tthis.config.enumValues = config.enum;\n\t\tthis.config.length = config.length;\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteText & { length: T['length'] }> {\n\t\treturn new SQLiteText & { length: T['length'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteText & { length?: number | undefined }>\n\textends SQLiteColumn\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteText';\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\treadonly length: T['length'] = this.config.length;\n\n\tconstructor(\n\t\ttable: AnySQLiteTable<{ name: T['tableName'] }>,\n\t\tconfig: SQLiteTextBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `text${this.config.length ? `(${this.config.length})` : ''}`;\n\t}\n}\n\nexport type SQLiteTextJsonBuilderInitial = SQLiteTextJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'SQLiteTextJson';\n\tdata: unknown;\n\tdriverParam: string;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SQLiteTextJsonBuilder>\n\textends SQLiteColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteTextJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'SQLiteTextJson');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySQLiteTable<{ name: TTableName }>,\n\t): SQLiteTextJson> {\n\t\treturn new SQLiteTextJson>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SQLiteTextJson>\n\textends SQLiteColumn\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteTextJson';\n\n\tgetSQLType(): string {\n\t\treturn 'text';\n\t}\n\n\toverride mapFromDriverValue(value: string): T['data'] {\n\t\treturn JSON.parse(value);\n\t}\n\n\toverride mapToDriverValue(value: T['data']): string {\n\t\treturn JSON.stringify(value);\n\t}\n}\n\nexport type SQLiteTextConfig<\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n\tTLength extends number | undefined = number | undefined,\n> = TMode extends 'text' ? {\n\t\tmode?: TMode;\n\t\tlength?: TLength;\n\t\tenum?: TEnum;\n\t}\n\t: {\n\t\tmode?: TMode;\n\t};\n\nexport function text(): SQLiteTextBuilderInitial<'', [string, ...string[]], undefined>;\nexport function text<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tL extends number | undefined,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tconfig?: SQLiteTextConfig, L>,\n): Equal extends true ? SQLiteTextJsonBuilderInitial<''>\n\t: SQLiteTextBuilderInitial<'', Writable, L>;\nexport function text<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tL extends number | undefined,\n\tTMode extends 'text' | 'json' = 'text' | 'json',\n>(\n\tname: TName,\n\tconfig?: SQLiteTextConfig, L>,\n): Equal extends true ? SQLiteTextJsonBuilderInitial\n\t: SQLiteTextBuilderInitial, L>;\nexport function text(a?: string | SQLiteTextConfig, b: SQLiteTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tif (config.mode === 'json') {\n\t\treturn new SQLiteTextJsonBuilder(name);\n\t}\n\treturn new SQLiteTextBuilder(name, config as any);\n}\n", "import { blob } from './blob.ts';\nimport { customType } from './custom.ts';\nimport { integer } from './integer.ts';\nimport { numeric } from './numeric.ts';\nimport { real } from './real.ts';\nimport { text } from './text.ts';\n\nexport function getSQLiteColumnBuilders() {\n\treturn {\n\t\tblob,\n\t\tcustomType,\n\t\tinteger,\n\t\tnumeric,\n\t\treal,\n\t\ttext,\n\t};\n}\n\nexport type SQLiteColumnBuilders = ReturnType;\n", "import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getSQLiteColumnBuilders, type SQLiteColumnBuilders } from './columns/all.ts';\nimport type { SQLiteColumn, SQLiteColumnBuilder, SQLiteColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type SQLiteTableExtraConfigValue =\n\t| IndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder;\n\nexport type SQLiteTableExtraConfig = Record<\n\tstring,\n\tSQLiteTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:SQLiteInlineForeignKeys');\n\nexport class SQLiteTable extends Table {\n\tstatic override readonly [entityKind]: string = 'SQLiteTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record) => SQLiteTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnySQLiteTable = {}> = SQLiteTable<\n\tUpdateTableConfig\n>;\n\nexport type SQLiteTableWithColumns =\n\t& SQLiteTable\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport interface SQLiteTableFn {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildColumns,\n\t\t) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>;\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>;\n}\n\nfunction sqliteTableBase<\n\tTTableName extends string,\n\tTColumnsMap extends Record,\n\tTSchema extends string | undefined,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: SQLiteColumnBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildColumns,\n\t\t) => SQLiteTableExtraConfig | SQLiteTableExtraConfigValue[])\n\t\t| undefined,\n\tschema?: TSchema,\n\tbaseName = name,\n): SQLiteTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchema;\n\tcolumns: BuildColumns;\n\tdialect: 'sqlite';\n}> {\n\tconst rawTable = new SQLiteTable<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns;\n\t\tdialect: 'sqlite';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSQLiteColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as SQLiteColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'sqlite'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig as (\n\t\t\tself: Record,\n\t\t) => SQLiteTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport const sqliteTable: SQLiteTableFn = (name, columns, extraConfig) => {\n\treturn sqliteTableBase(name, columns, extraConfig);\n};\n\nexport function sqliteTableCreator(customizeTableName: (name: string) => string): SQLiteTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn sqliteTableBase(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { SQLiteTable } from './table.ts';\n\nexport class CheckBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteCheckBuilder';\n\n\tprotected brand!: 'SQLiteConstraintBuilder';\n\n\tconstructor(public name: string, public value: SQL) {}\n\n\tbuild(table: SQLiteTable): Check {\n\t\treturn new Check(table, this);\n\t}\n}\n\nexport class Check {\n\tstatic readonly [entityKind]: string = 'SQLiteCheck';\n\n\tdeclare _: {\n\t\tbrand: 'SQLiteCheck';\n\t};\n\n\treadonly name: string;\n\treadonly value: SQL;\n\n\tconstructor(public table: SQLiteTable, builder: CheckBuilder) {\n\t\tthis.name = builder.name;\n\t\tthis.value = builder.value;\n\t}\n}\n\nexport function check(name: string, value: SQL): CheckBuilder {\n\treturn new CheckBuilder(name, value);\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { SQLiteColumn } from './columns/index.ts';\nimport type { SQLiteTable } from './table.ts';\n\nexport interface IndexConfig {\n\tname: string;\n\tcolumns: IndexColumn[];\n\tunique: boolean;\n\twhere: SQL | undefined;\n}\n\nexport type IndexColumn = SQLiteColumn | SQL;\n\nexport class IndexBuilderOn {\n\tstatic readonly [entityKind]: string = 'SQLiteIndexBuilderOn';\n\n\tconstructor(private name: string, private unique: boolean) {}\n\n\ton(...columns: [IndexColumn, ...IndexColumn[]]): IndexBuilder {\n\t\treturn new IndexBuilder(this.name, columns, this.unique);\n\t}\n}\n\nexport class IndexBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteIndexBuilder';\n\n\tdeclare _: {\n\t\tbrand: 'SQLiteIndexBuilder';\n\t};\n\n\t/** @internal */\n\tconfig: IndexConfig;\n\n\tconstructor(name: string, columns: IndexColumn[], unique: boolean) {\n\t\tthis.config = {\n\t\t\tname,\n\t\t\tcolumns,\n\t\t\tunique,\n\t\t\twhere: undefined,\n\t\t};\n\t}\n\n\t/**\n\t * Condition for partial index.\n\t */\n\twhere(condition: SQL): this {\n\t\tthis.config.where = condition;\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tbuild(table: SQLiteTable): Index {\n\t\treturn new Index(this.config, table);\n\t}\n}\n\nexport class Index {\n\tstatic readonly [entityKind]: string = 'SQLiteIndex';\n\n\tdeclare _: {\n\t\tbrand: 'SQLiteIndex';\n\t};\n\n\treadonly config: IndexConfig & { table: SQLiteTable };\n\n\tconstructor(config: IndexConfig, table: SQLiteTable) {\n\t\tthis.config = { ...config, table };\n\t}\n}\n\nexport function index(name: string): IndexBuilderOn {\n\treturn new IndexBuilderOn(name, false);\n}\n\nexport function uniqueIndex(name: string): IndexBuilderOn {\n\treturn new IndexBuilderOn(name, true);\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { AnySQLiteColumn, SQLiteColumn } from './columns/index.ts';\nimport { SQLiteTable } from './table.ts';\n\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumn extends AnySQLiteColumn<{ tableName: TTableName }>,\n\tTColumns extends AnySQLiteColumn<{ tableName: TTableName }>[],\n>(config: { name?: string; columns: [TColumn, ...TColumns] }): PrimaryKeyBuilder;\n/**\n * @deprecated: Please use primaryKey({ columns: [] }) instead of this function\n * @param columns\n */\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumns extends AnySQLiteColumn<{ tableName: TTableName }>[],\n>(...columns: TColumns): PrimaryKeyBuilder;\nexport function primaryKey(...config: any) {\n\tif (config[0].columns) {\n\t\treturn new PrimaryKeyBuilder(config[0].columns, config[0].name);\n\t}\n\treturn new PrimaryKeyBuilder(config);\n}\nexport class PrimaryKeyBuilder {\n\tstatic readonly [entityKind]: string = 'SQLitePrimaryKeyBuilder';\n\n\tdeclare _: {\n\t\tbrand: 'SQLitePrimaryKeyBuilder';\n\t};\n\n\t/** @internal */\n\tcolumns: SQLiteColumn[];\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tcolumns: SQLiteColumn[],\n\t\tname?: string,\n\t) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\t/** @internal */\n\tbuild(table: SQLiteTable): PrimaryKey {\n\t\treturn new PrimaryKey(table, this.columns, this.name);\n\t}\n}\n\nexport class PrimaryKey {\n\tstatic readonly [entityKind]: string = 'SQLitePrimaryKey';\n\n\treadonly columns: SQLiteColumn[];\n\treadonly name?: string;\n\n\tconstructor(readonly table: SQLiteTable, columns: SQLiteColumn[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\tgetName(): string {\n\t\treturn this.name\n\t\t\t?? `${this.table[SQLiteTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;\n\t}\n}\n", "import { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport { SQLiteTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\nimport type { SQLiteView } from './view.ts';\n\nexport function getTableConfig(table: TTable) {\n\tconst columns = Object.values(table[SQLiteTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\n\tconst extraConfigBuilder = table[SQLiteTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[SQLiteTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t};\n}\n\nexport function extractUsedTable(table: SQLiteTable | Subquery | SQLiteViewBase | SQL): string[] {\n\tif (is(table, SQLiteTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport type OnConflict = 'rollback' | 'abort' | 'fail' | 'ignore' | 'replace';\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: SQLiteView) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t// ...view[SQLiteViewConfig],\n\t};\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { Placeholder, Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { type DrizzleTypeError, orderSelectedFields, type ValueOrArray } from '~/utils.ts';\nimport type { SQLiteColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\n\nexport type SQLiteDeleteWithout<\n\tT extends AnySQLiteDeleteBase,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T\n\t: Omit<\n\t\tSQLiteDeleteBase<\n\t\t\tT['_']['table'],\n\t\t\tT['_']['resultType'],\n\t\t\tT['_']['runResult'],\n\t\t\tT['_']['returning'],\n\t\t\tTDynamic,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>,\n\t\tT['_']['excludedMethods'] | K\n\t>;\n\nexport type SQLiteDelete<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTReturning extends Record | undefined = undefined,\n> = SQLiteDeleteBase;\n\nexport interface SQLiteDeleteConfig {\n\twhere?: SQL | undefined;\n\tlimit?: number | Placeholder;\n\torderBy?: (SQLiteColumn | SQL | SQL.Aliased)[];\n\ttable: SQLiteTable;\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type SQLiteDeleteReturningAll<\n\tT extends AnySQLiteDeleteBase,\n\tTDynamic extends boolean,\n> = SQLiteDeleteWithout<\n\tSQLiteDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tT['_']['dynamic'],\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteDeleteReturning<\n\tT extends AnySQLiteDeleteBase,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = SQLiteDeleteWithout<\n\tSQLiteDeleteBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tSelectResultFields,\n\t\tT['_']['dynamic'],\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteDeleteExecute = T['_']['returning'] extends undefined\n\t? T['_']['runResult']\n\t: T['_']['returning'][];\n\nexport type SQLiteDeletePrepare = SQLitePreparedQuery<{\n\ttype: T['_']['resultType'];\n\trun: T['_']['runResult'];\n\tall: T['_']['returning'] extends undefined ? DrizzleTypeError<'.all() cannot be used without .returning()'>\n\t\t: T['_']['returning'][];\n\tget: T['_']['returning'] extends undefined ? DrizzleTypeError<'.get() cannot be used without .returning()'>\n\t\t: T['_']['returning'] | undefined;\n\tvalues: T['_']['returning'] extends undefined ? DrizzleTypeError<'.values() cannot be used without .returning()'>\n\t\t: any[][];\n\texecute: SQLiteDeleteExecute;\n}>;\n\nexport type SQLiteDeleteDynamic = SQLiteDelete<\n\tT['_']['table'],\n\tT['_']['resultType'],\n\tT['_']['runResult'],\n\tT['_']['returning']\n>;\n\nexport type AnySQLiteDeleteBase = SQLiteDeleteBase;\n\nexport interface SQLiteDeleteBase<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning extends Record | undefined = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tQueryPromise,\n\tRunnableQuery,\n\tSQLWrapper\n{\n\treadonly _: {\n\t\tdialect: 'sqlite';\n\t\treadonly table: TTable;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? TRunResult : TReturning[];\n\t};\n}\n\nexport class SQLiteDeleteBase<\n\tTTable extends SQLiteTable,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning extends Record | undefined = undefined,\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise\n\timplements RunnableQuery, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteDelete';\n\n\t/** @internal */\n\tconfig: SQLiteDeleteConfig;\n\n\tconstructor(\n\t\tprivate table: TTable,\n\t\tprivate session: SQLiteSession,\n\t\tprivate dialect: SQLiteDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, withList };\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will delete only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be deleted.\n\t *\n\t * ```ts\n\t * // Delete all cars with green color\n\t * db.delete(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * db.delete(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Delete all BMW cars with a green color\n\t * db.delete(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Delete all cars with the green or blue color\n\t * db.delete(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): SQLiteDeleteWithout {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\torderBy(\n\t\tbuilder: (deleteTable: TTable) => ValueOrArray,\n\t): SQLiteDeleteWithout;\n\torderBy(...columns: (SQLiteColumn | SQL | SQL.Aliased)[]): SQLiteDeleteWithout;\n\torderBy(\n\t\t...columns:\n\t\t\t| [(deleteTable: TTable) => ValueOrArray]\n\t\t\t| (SQLiteColumn | SQL | SQL.Aliased)[]\n\t): SQLiteDeleteWithout {\n\t\tif (typeof columns[0] === 'function') {\n\t\t\tconst orderBy = columns[0](\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.table[Table.Symbol.Columns],\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' }),\n\t\t\t\t) as any,\n\t\t\t);\n\n\t\t\tconst orderByArray = Array.isArray(orderBy) ? orderBy : [orderBy];\n\t\t\tthis.config.orderBy = orderByArray;\n\t\t} else {\n\t\t\tconst orderByArray = columns as (SQLiteColumn | SQL | SQL.Aliased)[];\n\t\t\tthis.config.orderBy = orderByArray;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\tlimit(limit: number | Placeholder): SQLiteDeleteWithout {\n\t\tthis.config.limit = limit;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the deleted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete#delete-with-return}\n\t *\n\t * @example\n\t * ```ts\n\t * // Delete all cars with the green color and return all fields\n\t * const deletedCars: Car[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Delete all cars with the green color and return only their id and brand fields\n\t * const deletedCarsIdsAndBrands: { id: number, brand: string }[] = await db.delete(cars)\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): SQLiteDeleteReturningAll;\n\treturning(\n\t\tfields: TSelectedFields,\n\t): SQLiteDeleteReturning;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.table[SQLiteTable.Symbol.Columns],\n\t): SQLiteDeleteReturning {\n\t\tthis.config.returning = orderSelectedFields(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildDeleteQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(isOneTimeQuery = true): SQLiteDeletePrepare {\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t\tthis.config.returning ? 'all' : 'run',\n\t\t\ttrue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\ttype: 'delete',\n\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t},\n\t\t) as SQLiteDeletePrepare;\n\t}\n\n\tprepare(): SQLiteDeletePrepare {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\toverride async execute(placeholderValues?: Record): Promise> {\n\t\treturn this._prepare().execute(placeholderValues) as SQLiteDeleteExecute;\n\t}\n\n\t$dynamic(): SQLiteDeleteDynamic {\n\t\treturn this as any;\n\t}\n}\n", "import type { Column } from '~/column.ts';\nimport { entityKind } from './entity.ts';\nimport { Table } from './table.ts';\nimport type { Casing } from './utils.ts';\n\nexport function toSnakeCase(input: string) {\n\tconst words = input\n\t\t.replace(/['\\u2019]/g, '')\n\t\t.match(/[\\da-z]+|[A-Z]+(?![a-z])|[A-Z][\\da-z]+/g) ?? [];\n\n\treturn words.map((word) => word.toLowerCase()).join('_');\n}\n\nexport function toCamelCase(input: string) {\n\tconst words = input\n\t\t.replace(/['\\u2019]/g, '')\n\t\t.match(/[\\da-z]+|[A-Z]+(?![a-z])|[A-Z][\\da-z]+/g) ?? [];\n\n\treturn words.reduce((acc, word, i) => {\n\t\tconst formattedWord = i === 0 ? word.toLowerCase() : `${word[0]!.toUpperCase()}${word.slice(1)}`;\n\t\treturn acc + formattedWord;\n\t}, '');\n}\n\nfunction noopCase(input: string) {\n\treturn input;\n}\n\nexport class CasingCache {\n\tstatic readonly [entityKind]: string = 'CasingCache';\n\n\t/** @internal */\n\tcache: Record = {};\n\tprivate cachedTables: Record = {};\n\tprivate convert: (input: string) => string;\n\n\tconstructor(casing?: Casing) {\n\t\tthis.convert = casing === 'snake_case'\n\t\t\t? toSnakeCase\n\t\t\t: casing === 'camelCase'\n\t\t\t? toCamelCase\n\t\t\t: noopCase;\n\t}\n\n\tgetColumnCasing(column: Column): string {\n\t\tif (!column.keyAsName) return column.name;\n\n\t\tconst schema = column.table[Table.Symbol.Schema] ?? 'public';\n\t\tconst tableName = column.table[Table.Symbol.OriginalName];\n\t\tconst key = `${schema}.${tableName}.${column.name}`;\n\n\t\tif (!this.cache[key]) {\n\t\t\tthis.cacheTable(column.table);\n\t\t}\n\t\treturn this.cache[key]!;\n\t}\n\n\tprivate cacheTable(table: Table) {\n\t\tconst schema = table[Table.Symbol.Schema] ?? 'public';\n\t\tconst tableName = table[Table.Symbol.OriginalName];\n\t\tconst tableKey = `${schema}.${tableName}`;\n\n\t\tif (!this.cachedTables[tableKey]) {\n\t\t\tfor (const column of Object.values(table[Table.Symbol.Columns])) {\n\t\t\t\tconst columnKey = `${tableKey}.${column.name}`;\n\t\t\t\tthis.cache[columnKey] = this.convert(column.name);\n\t\t\t}\n\t\t\tthis.cachedTables[tableKey] = true;\n\t\t}\n\t}\n\n\tclearCache() {\n\t\tthis.cache = {};\n\t\tthis.cachedTables = {};\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\n\nexport class DrizzleError extends Error {\n\tstatic readonly [entityKind]: string = 'DrizzleError';\n\n\tconstructor({ message, cause }: { message?: string; cause?: unknown }) {\n\t\tsuper(message);\n\t\tthis.name = 'DrizzleError';\n\t\tthis.cause = cause;\n\t}\n}\n\nexport class DrizzleQueryError extends Error {\n\tconstructor(\n\t\tpublic query: string,\n\t\tpublic params: any[],\n\t\tpublic override cause?: Error,\n\t) {\n\t\tsuper(`Failed query: ${query}\\nparams: ${params}`);\n\t\tError.captureStackTrace(this, DrizzleQueryError);\n\n\t\t// ES2022+: preserves original error on `.cause`\n\t\tif (cause) (this as any).cause = cause;\n\t}\n}\n\nexport class TransactionRollbackError extends DrizzleError {\n\tstatic override readonly [entityKind]: string = 'TransactionRollbackError';\n\n\tconstructor() {\n\t\tsuper({ message: 'Rollback' });\n\t}\n}\n", "import { type AnyColumn, Column } from '~/column.ts';\nimport { is } from '~/entity.ts';\nimport { type SQL, sql, type SQLWrapper } from '../sql.ts';\n\n/**\n * Returns the number of values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Number employees with null values\n * db.select({ value: count() }).from(employees)\n * // Number of employees where `name` is not null\n * db.select({ value: count(employees.name) }).from(employees)\n * ```\n *\n * @see countDistinct to get the number of non-duplicate values in `expression`\n */\nexport function count(expression?: SQLWrapper): SQL {\n\treturn sql`count(${expression || sql.raw('*')})`.mapWith(Number);\n}\n\n/**\n * Returns the number of non-duplicate values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Number of employees where `name` is distinct\n * db.select({ value: countDistinct(employees.name) }).from(employees)\n * ```\n *\n * @see count to get the number of values in `expression`, including duplicates\n */\nexport function countDistinct(expression: SQLWrapper): SQL {\n\treturn sql`count(distinct ${expression})`.mapWith(Number);\n}\n\n/**\n * Returns the average (arithmetic mean) of all non-null values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Average salary of an employee\n * db.select({ value: avg(employees.salary) }).from(employees)\n * ```\n *\n * @see avgDistinct to get the average of all non-null and non-duplicate values in `expression`\n */\nexport function avg(expression: SQLWrapper): SQL {\n\treturn sql`avg(${expression})`.mapWith(String);\n}\n\n/**\n * Returns the average (arithmetic mean) of all non-null and non-duplicate values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Average salary of an employee where `salary` is distinct\n * db.select({ value: avgDistinct(employees.salary) }).from(employees)\n * ```\n *\n * @see avg to get the average of all non-null values in `expression`, including duplicates\n */\nexport function avgDistinct(expression: SQLWrapper): SQL {\n\treturn sql`avg(distinct ${expression})`.mapWith(String);\n}\n\n/**\n * Returns the sum of all non-null values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Sum of every employee's salary\n * db.select({ value: sum(employees.salary) }).from(employees)\n * ```\n *\n * @see sumDistinct to get the sum of all non-null and non-duplicate values in `expression`\n */\nexport function sum(expression: SQLWrapper): SQL {\n\treturn sql`sum(${expression})`.mapWith(String);\n}\n\n/**\n * Returns the sum of all non-null and non-duplicate values in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // Sum of every employee's salary where `salary` is distinct (no duplicates)\n * db.select({ value: sumDistinct(employees.salary) }).from(employees)\n * ```\n *\n * @see sum to get the sum of all non-null values in `expression`, including duplicates\n */\nexport function sumDistinct(expression: SQLWrapper): SQL {\n\treturn sql`sum(distinct ${expression})`.mapWith(String);\n}\n\n/**\n * Returns the maximum value in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // The employee with the highest salary\n * db.select({ value: max(employees.salary) }).from(employees)\n * ```\n */\nexport function max(expression: T): SQL<(T extends AnyColumn ? T['_']['data'] : string) | null> {\n\treturn sql`max(${expression})`.mapWith(is(expression, Column) ? expression : String) as any;\n}\n\n/**\n * Returns the minimum value in `expression`.\n *\n * ## Examples\n *\n * ```ts\n * // The employee with the lowest salary\n * db.select({ value: min(employees.salary) }).from(employees)\n * ```\n */\nexport function min(expression: T): SQL<(T extends AnyColumn ? T['_']['data'] : string) | null> {\n\treturn sql`min(${expression})`.mapWith(is(expression, Column) ? expression : String) as any;\n}\n", "import type { AnyColumn } from '~/column.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { type SQL, sql, type SQLWrapper } from '../sql.ts';\n\nfunction toSql(value: number[] | string[]): string {\n\treturn JSON.stringify(value);\n}\n\n/**\n * Used in sorting and in querying, if used in sorting,\n * this specifies that the given column or expression should be sorted in an order\n * that minimizes the L2 distance to the given value.\n * If used in querying, this specifies that it should return the L2 distance\n * between the given column or expression and the given value.\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(l2Distance(cars.embedding, embedding));\n * ```\n *\n * ```ts\n * // Select distance of cars and embedding\n * // to the given embedding\n * db.select({distance: l2Distance(cars.embedding, embedding)}).from(cars)\n * ```\n */\nexport function l2Distance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <-> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <-> ${value}`;\n}\n\n/**\n * L1 distance is one of the possible distance measures between two probability distribution vectors and it is\n * calculated as the sum of the absolute differences.\n * The smaller the distance between the observed probability vectors, the higher the accuracy of the synthetic data\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(l1Distance(cars.embedding, embedding));\n * ```\n *\n * ```ts\n * // Select distance of cars and embedding\n * // to the given embedding\n * db.select({distance: l1Distance(cars.embedding, embedding)}).from(cars)\n * ```\n */\nexport function l1Distance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <+> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <+> ${value}`;\n}\n\n/**\n * Used in sorting and in querying, if used in sorting,\n * this specifies that the given column or expression should be sorted in an order\n * that minimizes the inner product distance to the given value.\n * If used in querying, this specifies that it should return the inner product distance\n * between the given column or expression and the given value.\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(innerProduct(cars.embedding, embedding));\n * ```\n *\n * ```ts\n * // Select distance of cars and embedding\n * // to the given embedding\n * db.select({ distance: innerProduct(cars.embedding, embedding) }).from(cars)\n * ```\n */\nexport function innerProduct(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <#> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <#> ${value}`;\n}\n\n/**\n * Used in sorting and in querying, if used in sorting,\n * this specifies that the given column or expression should be sorted in an order\n * that minimizes the cosine distance to the given value.\n * If used in querying, this specifies that it should return the cosine distance\n * between the given column or expression and the given value.\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(cosineDistance(cars.embedding, embedding));\n * ```\n *\n * ```ts\n * // Select distance of cars and embedding\n * // to the given embedding\n * db.select({distance: cosineDistance(cars.embedding, embedding)}).from(cars)\n * ```\n */\nexport function cosineDistance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <=> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <=> ${value}`;\n}\n\n/**\n * Hamming distance between two strings or vectors of equal length is the number of positions at which the\n * corresponding symbols are different. In other words, it measures the minimum number of\n * substitutions required to change one string into the other, or equivalently,\n * the minimum number of errors that could have transformed one string into the other\n *\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(hammingDistance(cars.embedding, embedding));\n * ```\n */\nexport function hammingDistance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <~> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <~> ${value}`;\n}\n\n/**\n * ## Examples\n *\n * ```ts\n * // Sort cars by embedding similarity\n * // to the given embedding\n * db.select().from(cars)\n * .orderBy(jaccardDistance(cars.embedding, embedding));\n * ```\n */\nexport function jaccardDistance(\n\tcolumn: SQLWrapper | AnyColumn,\n\tvalue: number[] | string[] | TypedQueryBuilder | string,\n): SQL {\n\tif (Array.isArray(value)) {\n\t\treturn sql`${column} <%> ${toSql(value)}`;\n\t}\n\treturn sql`${column} <%> ${value}`;\n}\n", "export * from './aggregate.ts';\nexport * from './vector.ts';\n", "export * from './expressions/index.ts';\nexport * from './functions/index.ts';\nexport * from './sql.ts';\n", "export * from './blob.ts';\nexport * from './common.ts';\nexport * from './custom.ts';\nexport * from './integer.ts';\nexport * from './numeric.ts';\nexport * from './real.ts';\nexport * from './text.ts';\n", "import { entityKind } from '~/entity.ts';\nimport type { ColumnsSelection } from '~/sql/sql.ts';\nimport { View } from '~/sql/sql.ts';\n\nexport abstract class SQLiteViewBase<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> extends View {\n\tstatic override readonly [entityKind]: string = 'SQLiteViewBase';\n\n\tdeclare _: View['_'] & {\n\t\tviewBrand: 'SQLiteView';\n\t};\n}\n", "import { aliasedTable, aliasedTableColumn, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias } from '~/alias.ts';\nimport { CasingCache } from '~/casing.ts';\nimport type { AnyColumn } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { DrizzleError } from '~/errors.ts';\nimport type { MigrationConfig, MigrationMeta } from '~/migrator.ts';\nimport {\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tgetOperators,\n\tgetOrderByOperators,\n\tMany,\n\tnormalizeRelation,\n\tOne,\n\ttype Relation,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { Name, Placeholder } from '~/sql/index.ts';\nimport { and, eq } from '~/sql/index.ts';\nimport { Param, type QueryWithTypings, SQL, sql, type SQLChunk } from '~/sql/sql.ts';\nimport { SQLiteColumn } from '~/sqlite-core/columns/index.ts';\nimport type {\n\tAnySQLiteSelectQueryBuilder,\n\tSQLiteDeleteConfig,\n\tSQLiteInsertConfig,\n\tSQLiteUpdateConfig,\n} from '~/sqlite-core/query-builders/index.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { getTableName, getTableUniqueName, Table } from '~/table.ts';\nimport { type Casing, orderSelectedFields, type UpdateSet } from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type {\n\tSelectedFieldsOrdered,\n\tSQLiteSelectConfig,\n\tSQLiteSelectJoinConfig,\n} from './query-builders/select.types.ts';\nimport type { SQLiteSession } from './session.ts';\nimport { SQLiteViewBase } from './view-base.ts';\n\nexport interface SQLiteDialectConfig {\n\tcasing?: Casing;\n}\n\nexport abstract class SQLiteDialect {\n\tstatic readonly [entityKind]: string = 'SQLiteDialect';\n\n\t/** @internal */\n\treadonly casing: CasingCache;\n\n\tconstructor(config?: SQLiteDialectConfig) {\n\t\tthis.casing = new CasingCache(config?.casing);\n\t}\n\n\tescapeName(name: string): string {\n\t\treturn `\"${name}\"`;\n\t}\n\n\tescapeParam(_num: number): string {\n\t\treturn '?';\n\t}\n\n\tescapeString(str: string): string {\n\t\treturn `'${str.replace(/'/g, \"''\")}'`;\n\t}\n\n\tprivate buildWithCTE(queries: Subquery[] | undefined): SQL | undefined {\n\t\tif (!queries?.length) return undefined;\n\n\t\tconst withSqlChunks = [sql`with `];\n\t\tfor (const [i, w] of queries.entries()) {\n\t\t\twithSqlChunks.push(sql`${sql.identifier(w._.alias)} as (${w._.sql})`);\n\t\t\tif (i < queries.length - 1) {\n\t\t\t\twithSqlChunks.push(sql`, `);\n\t\t\t}\n\t\t}\n\t\twithSqlChunks.push(sql` `);\n\t\treturn sql.join(withSqlChunks);\n\t}\n\n\tbuildDeleteQuery({ table, where, returning, withList, limit, orderBy }: SQLiteDeleteConfig): SQL {\n\t\tconst withSql = this.buildWithCTE(withList);\n\n\t\tconst returningSql = returning\n\t\t\t? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}`\n\t\t\t: undefined;\n\n\t\tconst whereSql = where ? sql` where ${where}` : undefined;\n\n\t\tconst orderBySql = this.buildOrderBy(orderBy);\n\n\t\tconst limitSql = this.buildLimit(limit);\n\n\t\treturn sql`${withSql}delete from ${table}${whereSql}${returningSql}${orderBySql}${limitSql}`;\n\t}\n\n\tbuildUpdateSet(table: SQLiteTable, set: UpdateSet): SQL {\n\t\tconst tableColumns = table[Table.Symbol.Columns];\n\n\t\tconst columnNames = Object.keys(tableColumns).filter((colName) =>\n\t\t\tset[colName] !== undefined || tableColumns[colName]?.onUpdateFn !== undefined\n\t\t);\n\n\t\tconst setSize = columnNames.length;\n\t\treturn sql.join(columnNames.flatMap((colName, i) => {\n\t\t\tconst col = tableColumns[colName]!;\n\n\t\t\tconst value = set[colName] ?? sql.param(col.onUpdateFn!(), col);\n\t\t\tconst res = sql`${sql.identifier(this.casing.getColumnCasing(col))} = ${value}`;\n\n\t\t\tif (i < setSize - 1) {\n\t\t\t\treturn [res, sql.raw(', ')];\n\t\t\t}\n\t\t\treturn [res];\n\t\t}));\n\t}\n\n\tbuildUpdateQuery({ table, set, where, returning, withList, joins, from, limit, orderBy }: SQLiteUpdateConfig): SQL {\n\t\tconst withSql = this.buildWithCTE(withList);\n\n\t\tconst setSql = this.buildUpdateSet(table, set);\n\n\t\tconst fromSql = from && sql.join([sql.raw(' from '), this.buildFromTable(from)]);\n\n\t\tconst joinsSql = this.buildJoins(joins);\n\n\t\tconst returningSql = returning\n\t\t\t? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}`\n\t\t\t: undefined;\n\n\t\tconst whereSql = where ? sql` where ${where}` : undefined;\n\n\t\tconst orderBySql = this.buildOrderBy(orderBy);\n\n\t\tconst limitSql = this.buildLimit(limit);\n\n\t\treturn sql`${withSql}update ${table} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`;\n\t}\n\n\t/**\n\t * Builds selection SQL with provided fields/expressions\n\t *\n\t * Examples:\n\t *\n\t * `select from`\n\t *\n\t * `insert ... returning `\n\t *\n\t * If `isSingleTable` is true, then columns won't be prefixed with table name\n\t */\n\tprivate buildSelection(\n\t\tfields: SelectedFieldsOrdered,\n\t\t{ isSingleTable = false }: { isSingleTable?: boolean } = {},\n\t): SQL {\n\t\tconst columnsLen = fields.length;\n\n\t\tconst chunks = fields\n\t\t\t.flatMap(({ field }, i) => {\n\t\t\t\tconst chunk: SQLChunk[] = [];\n\n\t\t\t\tif (is(field, SQL.Aliased) && field.isSelectionField) {\n\t\t\t\t\tchunk.push(sql.identifier(field.fieldAlias));\n\t\t\t\t} else if (is(field, SQL.Aliased) || is(field, SQL)) {\n\t\t\t\t\tconst query = is(field, SQL.Aliased) ? field.sql : field;\n\n\t\t\t\t\tif (isSingleTable) {\n\t\t\t\t\t\tchunk.push(\n\t\t\t\t\t\t\tnew SQL(\n\t\t\t\t\t\t\t\tquery.queryChunks.map((c) => {\n\t\t\t\t\t\t\t\t\tif (is(c, Column)) {\n\t\t\t\t\t\t\t\t\t\treturn sql.identifier(this.casing.getColumnCasing(c));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn c;\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchunk.push(query);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (is(field, SQL.Aliased)) {\n\t\t\t\t\t\tchunk.push(sql` as ${sql.identifier(field.fieldAlias)}`);\n\t\t\t\t\t}\n\t\t\t\t} else if (is(field, Column)) {\n\t\t\t\t\tconst tableName = field.table[Table.Symbol.Name];\n\t\t\t\t\tif (field.columnType === 'SQLiteNumericBigInt') {\n\t\t\t\t\t\tif (isSingleTable) {\n\t\t\t\t\t\t\tchunk.push(sql`cast(${sql.identifier(this.casing.getColumnCasing(field))} as text)`);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchunk.push(\n\t\t\t\t\t\t\t\tsql`cast(${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))} as text)`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isSingleTable) {\n\t\t\t\t\t\t\tchunk.push(sql.identifier(this.casing.getColumnCasing(field)));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchunk.push(sql`${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (i < columnsLen - 1) {\n\t\t\t\t\tchunk.push(sql`, `);\n\t\t\t\t}\n\n\t\t\t\treturn chunk;\n\t\t\t});\n\n\t\treturn sql.join(chunks);\n\t}\n\n\tprivate buildJoins(joins: SQLiteSelectJoinConfig[] | undefined): SQL | undefined {\n\t\tif (!joins || joins.length === 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst joinsArray: SQL[] = [];\n\n\t\tif (joins) {\n\t\t\tfor (const [index, joinMeta] of joins.entries()) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\tjoinsArray.push(sql` `);\n\t\t\t\t}\n\t\t\t\tconst table = joinMeta.table;\n\t\t\t\tconst onSql = joinMeta.on ? sql` on ${joinMeta.on}` : undefined;\n\n\t\t\t\tif (is(table, SQLiteTable)) {\n\t\t\t\t\tconst tableName = table[SQLiteTable.Symbol.Name];\n\t\t\t\t\tconst tableSchema = table[SQLiteTable.Symbol.Schema];\n\t\t\t\t\tconst origTableName = table[SQLiteTable.Symbol.OriginalName];\n\t\t\t\t\tconst alias = tableName === origTableName ? undefined : joinMeta.alias;\n\t\t\t\t\tjoinsArray.push(\n\t\t\t\t\t\tsql`${sql.raw(joinMeta.joinType)} join ${tableSchema ? sql`${sql.identifier(tableSchema)}.` : undefined}${\n\t\t\t\t\t\t\tsql.identifier(origTableName)\n\t\t\t\t\t\t}${alias && sql` ${sql.identifier(alias)}`}${onSql}`,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tjoinsArray.push(\n\t\t\t\t\t\tsql`${sql.raw(joinMeta.joinType)} join ${table}${onSql}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (index < joins.length - 1) {\n\t\t\t\t\tjoinsArray.push(sql` `);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn sql.join(joinsArray);\n\t}\n\n\tprivate buildLimit(limit: number | Placeholder | undefined): SQL | undefined {\n\t\treturn typeof limit === 'object' || (typeof limit === 'number' && limit >= 0)\n\t\t\t? sql` limit ${limit}`\n\t\t\t: undefined;\n\t}\n\n\tprivate buildOrderBy(orderBy: (SQLiteColumn | SQL | SQL.Aliased)[] | undefined): SQL | undefined {\n\t\tconst orderByList: (SQLiteColumn | SQL | SQL.Aliased)[] = [];\n\n\t\tif (orderBy) {\n\t\t\tfor (const [index, orderByValue] of orderBy.entries()) {\n\t\t\t\torderByList.push(orderByValue);\n\n\t\t\t\tif (index < orderBy.length - 1) {\n\t\t\t\t\torderByList.push(sql`, `);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn orderByList.length > 0 ? sql` order by ${sql.join(orderByList)}` : undefined;\n\t}\n\n\tprivate buildFromTable(\n\t\ttable: SQL | Subquery | SQLiteViewBase | SQLiteTable | undefined,\n\t): SQL | Subquery | SQLiteViewBase | SQLiteTable | undefined {\n\t\tif (is(table, Table) && table[Table.Symbol.IsAlias]) {\n\t\t\treturn sql`${sql`${sql.identifier(table[Table.Symbol.Schema] ?? '')}.`.if(table[Table.Symbol.Schema])}${\n\t\t\t\tsql.identifier(table[Table.Symbol.OriginalName])\n\t\t\t} ${sql.identifier(table[Table.Symbol.Name])}`;\n\t\t}\n\n\t\treturn table;\n\t}\n\n\tbuildSelectQuery(\n\t\t{\n\t\t\twithList,\n\t\t\tfields,\n\t\t\tfieldsFlat,\n\t\t\twhere,\n\t\t\thaving,\n\t\t\ttable,\n\t\t\tjoins,\n\t\t\torderBy,\n\t\t\tgroupBy,\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tdistinct,\n\t\t\tsetOperators,\n\t\t}: SQLiteSelectConfig,\n\t): SQL {\n\t\tconst fieldsList = fieldsFlat ?? orderSelectedFields(fields);\n\t\tfor (const f of fieldsList) {\n\t\t\tif (\n\t\t\t\tis(f.field, Column)\n\t\t\t\t&& getTableName(f.field.table)\n\t\t\t\t\t!== (is(table, Subquery)\n\t\t\t\t\t\t? table._.alias\n\t\t\t\t\t\t: is(table, SQLiteViewBase)\n\t\t\t\t\t\t? table[ViewBaseConfig].name\n\t\t\t\t\t\t: is(table, SQL)\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: getTableName(table))\n\t\t\t\t&& !((table) =>\n\t\t\t\t\tjoins?.some(({ alias }) =>\n\t\t\t\t\t\talias === (table[Table.Symbol.IsAlias] ? getTableName(table) : table[Table.Symbol.BaseName])\n\t\t\t\t\t))(f.field.table)\n\t\t\t) {\n\t\t\t\tconst tableName = getTableName(f.field.table);\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Your \"${\n\t\t\t\t\t\tf.path.join('->')\n\t\t\t\t\t}\" field references a column \"${tableName}\".\"${f.field.name}\", but the table \"${tableName}\" is not part of the query! Did you forget to join it?`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst isSingleTable = !joins || joins.length === 0;\n\n\t\tconst withSql = this.buildWithCTE(withList);\n\n\t\tconst distinctSql = distinct ? sql` distinct` : undefined;\n\n\t\tconst selection = this.buildSelection(fieldsList, { isSingleTable });\n\n\t\tconst tableSql = this.buildFromTable(table);\n\n\t\tconst joinsSql = this.buildJoins(joins);\n\n\t\tconst whereSql = where ? sql` where ${where}` : undefined;\n\n\t\tconst havingSql = having ? sql` having ${having}` : undefined;\n\n\t\tconst groupByList: (SQL | AnyColumn | SQL.Aliased)[] = [];\n\t\tif (groupBy) {\n\t\t\tfor (const [index, groupByValue] of groupBy.entries()) {\n\t\t\t\tgroupByList.push(groupByValue);\n\n\t\t\t\tif (index < groupBy.length - 1) {\n\t\t\t\t\tgroupByList.push(sql`, `);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst groupBySql = groupByList.length > 0 ? sql` group by ${sql.join(groupByList)}` : undefined;\n\n\t\tconst orderBySql = this.buildOrderBy(orderBy);\n\n\t\tconst limitSql = this.buildLimit(limit);\n\n\t\tconst offsetSql = offset ? sql` offset ${offset}` : undefined;\n\n\t\tconst finalQuery =\n\t\t\tsql`${withSql}select${distinctSql} ${selection} from ${tableSql}${joinsSql}${whereSql}${groupBySql}${havingSql}${orderBySql}${limitSql}${offsetSql}`;\n\n\t\tif (setOperators.length > 0) {\n\t\t\treturn this.buildSetOperations(finalQuery, setOperators);\n\t\t}\n\n\t\treturn finalQuery;\n\t}\n\n\tbuildSetOperations(leftSelect: SQL, setOperators: SQLiteSelectConfig['setOperators']): SQL {\n\t\tconst [setOperator, ...rest] = setOperators;\n\n\t\tif (!setOperator) {\n\t\t\tthrow new Error('Cannot pass undefined values to any set operator');\n\t\t}\n\n\t\tif (rest.length === 0) {\n\t\t\treturn this.buildSetOperationQuery({ leftSelect, setOperator });\n\t\t}\n\n\t\t// Some recursive magic here\n\t\treturn this.buildSetOperations(\n\t\t\tthis.buildSetOperationQuery({ leftSelect, setOperator }),\n\t\t\trest,\n\t\t);\n\t}\n\n\tbuildSetOperationQuery({\n\t\tleftSelect,\n\t\tsetOperator: { type, isAll, rightSelect, limit, orderBy, offset },\n\t}: { leftSelect: SQL; setOperator: SQLiteSelectConfig['setOperators'][number] }): SQL {\n\t\t// SQLite doesn't support parenthesis in set operations\n\t\tconst leftChunk = sql`${leftSelect.getSQL()} `;\n\t\tconst rightChunk = sql`${rightSelect.getSQL()}`;\n\n\t\tlet orderBySql;\n\t\tif (orderBy && orderBy.length > 0) {\n\t\t\tconst orderByValues: (SQL | Name)[] = [];\n\n\t\t\t// The next bit is necessary because the sql operator replaces ${table.column} with `table`.`column`\n\t\t\t// which is invalid Sql syntax, Table from one of the SELECTs cannot be used in global ORDER clause\n\t\t\tfor (const singleOrderBy of orderBy) {\n\t\t\t\tif (is(singleOrderBy, SQLiteColumn)) {\n\t\t\t\t\torderByValues.push(sql.identifier(singleOrderBy.name));\n\t\t\t\t} else if (is(singleOrderBy, SQL)) {\n\t\t\t\t\tfor (let i = 0; i < singleOrderBy.queryChunks.length; i++) {\n\t\t\t\t\t\tconst chunk = singleOrderBy.queryChunks[i];\n\n\t\t\t\t\t\tif (is(chunk, SQLiteColumn)) {\n\t\t\t\t\t\t\tsingleOrderBy.queryChunks[i] = sql.identifier(this.casing.getColumnCasing(chunk));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\torderByValues.push(sql`${singleOrderBy}`);\n\t\t\t\t} else {\n\t\t\t\t\torderByValues.push(sql`${singleOrderBy}`);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\torderBySql = sql` order by ${sql.join(orderByValues, sql`, `)}`;\n\t\t}\n\n\t\tconst limitSql = typeof limit === 'object' || (typeof limit === 'number' && limit >= 0)\n\t\t\t? sql` limit ${limit}`\n\t\t\t: undefined;\n\n\t\tconst operatorChunk = sql.raw(`${type} ${isAll ? 'all ' : ''}`);\n\n\t\tconst offsetSql = offset ? sql` offset ${offset}` : undefined;\n\n\t\treturn sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`;\n\t}\n\n\tbuildInsertQuery(\n\t\t{ table, values: valuesOrSelect, onConflict, returning, withList, select }: SQLiteInsertConfig,\n\t): SQL {\n\t\t// const isSingleValue = values.length === 1;\n\t\tconst valuesSqlList: ((SQLChunk | SQL)[] | SQL)[] = [];\n\t\tconst columns: Record = table[Table.Symbol.Columns];\n\n\t\tconst colEntries: [string, SQLiteColumn][] = Object.entries(columns).filter(([_, col]) =>\n\t\t\t!col.shouldDisableInsert()\n\t\t);\n\t\tconst insertOrder = colEntries.map(([, column]) => sql.identifier(this.casing.getColumnCasing(column)));\n\n\t\tif (select) {\n\t\t\tconst select = valuesOrSelect as AnySQLiteSelectQueryBuilder | SQL;\n\n\t\t\tif (is(select, SQL)) {\n\t\t\t\tvaluesSqlList.push(select);\n\t\t\t} else {\n\t\t\t\tvaluesSqlList.push(select.getSQL());\n\t\t\t}\n\t\t} else {\n\t\t\tconst values = valuesOrSelect as Record[];\n\t\t\tvaluesSqlList.push(sql.raw('values '));\n\n\t\t\tfor (const [valueIndex, value] of values.entries()) {\n\t\t\t\tconst valueList: (SQLChunk | SQL)[] = [];\n\t\t\t\tfor (const [fieldName, col] of colEntries) {\n\t\t\t\t\tconst colValue = value[fieldName];\n\t\t\t\t\tif (colValue === undefined || (is(colValue, Param) && colValue.value === undefined)) {\n\t\t\t\t\t\tlet defaultValue;\n\t\t\t\t\t\tif (col.default !== null && col.default !== undefined) {\n\t\t\t\t\t\t\tdefaultValue = is(col.default, SQL) ? col.default : sql.param(col.default, col);\n\t\t\t\t\t\t\t// eslint-disable-next-line unicorn/no-negated-condition\n\t\t\t\t\t\t} else if (col.defaultFn !== undefined) {\n\t\t\t\t\t\t\tconst defaultFnResult = col.defaultFn();\n\t\t\t\t\t\t\tdefaultValue = is(defaultFnResult, SQL) ? defaultFnResult : sql.param(defaultFnResult, col);\n\t\t\t\t\t\t\t// eslint-disable-next-line unicorn/no-negated-condition\n\t\t\t\t\t\t} else if (!col.default && col.onUpdateFn !== undefined) {\n\t\t\t\t\t\t\tconst onUpdateFnResult = col.onUpdateFn();\n\t\t\t\t\t\t\tdefaultValue = is(onUpdateFnResult, SQL) ? onUpdateFnResult : sql.param(onUpdateFnResult, col);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdefaultValue = sql`null`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalueList.push(defaultValue);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalueList.push(colValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvaluesSqlList.push(valueList);\n\t\t\t\tif (valueIndex < values.length - 1) {\n\t\t\t\t\tvaluesSqlList.push(sql`, `);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst withSql = this.buildWithCTE(withList);\n\n\t\tconst valuesSql = sql.join(valuesSqlList);\n\n\t\tconst returningSql = returning\n\t\t\t? sql` returning ${this.buildSelection(returning, { isSingleTable: true })}`\n\t\t\t: undefined;\n\n\t\tconst onConflictSql = onConflict?.length\n\t\t\t? sql.join(onConflict)\n\t\t\t: undefined;\n\n\t\t// if (isSingleValue && valuesSqlList.length === 0){\n\t\t// \treturn sql`insert into ${table} default values ${onConflictSql}${returningSql}`;\n\t\t// }\n\n\t\treturn sql`${withSql}insert into ${table} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`;\n\t}\n\n\tsqlToQuery(sql: SQL, invokeSource?: 'indexes' | undefined): QueryWithTypings {\n\t\treturn sql.toQuery({\n\t\t\tcasing: this.casing,\n\t\t\tescapeName: this.escapeName,\n\t\t\tescapeParam: this.escapeParam,\n\t\t\tescapeString: this.escapeString,\n\t\t\tinvokeSource,\n\t\t});\n\t}\n\n\tbuildRelationalQuery({\n\t\tfullSchema,\n\t\tschema,\n\t\ttableNamesMap,\n\t\ttable,\n\t\ttableConfig,\n\t\tqueryConfig: config,\n\t\ttableAlias,\n\t\tnestedQueryRelation,\n\t\tjoinOn,\n\t}: {\n\t\tfullSchema: Record;\n\t\tschema: TablesRelationalConfig;\n\t\ttableNamesMap: Record;\n\t\ttable: SQLiteTable;\n\t\ttableConfig: TableRelationalConfig;\n\t\tqueryConfig: true | DBQueryConfig<'many', true>;\n\t\ttableAlias: string;\n\t\tnestedQueryRelation?: Relation;\n\t\tjoinOn?: SQL;\n\t}): BuildRelationalQueryResult {\n\t\tlet selection: BuildRelationalQueryResult['selection'] = [];\n\t\tlet limit, offset, orderBy: SQLiteSelectConfig['orderBy'] = [], where;\n\t\tconst joins: SQLiteSelectJoinConfig[] = [];\n\n\t\tif (config === true) {\n\t\t\tconst selectionEntries = Object.entries(tableConfig.columns);\n\t\t\tselection = selectionEntries.map((\n\t\t\t\t[key, value],\n\t\t\t) => ({\n\t\t\t\tdbKey: value.name,\n\t\t\t\ttsKey: key,\n\t\t\t\tfield: aliasedTableColumn(value as SQLiteColumn, tableAlias),\n\t\t\t\trelationTableTsKey: undefined,\n\t\t\t\tisJson: false,\n\t\t\t\tselection: [],\n\t\t\t}));\n\t\t} else {\n\t\t\tconst aliasedColumns = Object.fromEntries(\n\t\t\t\tObject.entries(tableConfig.columns).map(([key, value]) => [key, aliasedTableColumn(value, tableAlias)]),\n\t\t\t);\n\n\t\t\tif (config.where) {\n\t\t\t\tconst whereSql = typeof config.where === 'function'\n\t\t\t\t\t? config.where(aliasedColumns, getOperators())\n\t\t\t\t\t: config.where;\n\t\t\t\twhere = whereSql && mapColumnsInSQLToAlias(whereSql, tableAlias);\n\t\t\t}\n\n\t\t\tconst fieldsSelection: { tsKey: string; value: SQLiteColumn | SQL.Aliased }[] = [];\n\t\t\tlet selectedColumns: string[] = [];\n\n\t\t\t// Figure out which columns to select\n\t\t\tif (config.columns) {\n\t\t\t\tlet isIncludeMode = false;\n\n\t\t\t\tfor (const [field, value] of Object.entries(config.columns)) {\n\t\t\t\t\tif (value === undefined) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (field in tableConfig.columns) {\n\t\t\t\t\t\tif (!isIncludeMode && value === true) {\n\t\t\t\t\t\t\tisIncludeMode = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselectedColumns.push(field);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (selectedColumns.length > 0) {\n\t\t\t\t\tselectedColumns = isIncludeMode\n\t\t\t\t\t\t? selectedColumns.filter((c) => config.columns?.[c] === true)\n\t\t\t\t\t\t: Object.keys(tableConfig.columns).filter((key) => !selectedColumns.includes(key));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Select all columns if selection is not specified\n\t\t\t\tselectedColumns = Object.keys(tableConfig.columns);\n\t\t\t}\n\n\t\t\tfor (const field of selectedColumns) {\n\t\t\t\tconst column = tableConfig.columns[field]! as SQLiteColumn;\n\t\t\t\tfieldsSelection.push({ tsKey: field, value: column });\n\t\t\t}\n\n\t\t\tlet selectedRelations: {\n\t\t\t\ttsKey: string;\n\t\t\t\tqueryConfig: true | DBQueryConfig<'many', false>;\n\t\t\t\trelation: Relation;\n\t\t\t}[] = [];\n\n\t\t\t// Figure out which relations to select\n\t\t\tif (config.with) {\n\t\t\t\tselectedRelations = Object.entries(config.with)\n\t\t\t\t\t.filter((entry): entry is [typeof entry[0], NonNullable] => !!entry[1])\n\t\t\t\t\t.map(([tsKey, queryConfig]) => ({ tsKey, queryConfig, relation: tableConfig.relations[tsKey]! }));\n\t\t\t}\n\n\t\t\tlet extras;\n\n\t\t\t// Figure out which extras to select\n\t\t\tif (config.extras) {\n\t\t\t\textras = typeof config.extras === 'function'\n\t\t\t\t\t? config.extras(aliasedColumns, { sql })\n\t\t\t\t\t: config.extras;\n\t\t\t\tfor (const [tsKey, value] of Object.entries(extras)) {\n\t\t\t\t\tfieldsSelection.push({\n\t\t\t\t\t\ttsKey,\n\t\t\t\t\t\tvalue: mapColumnsInAliasedSQLToAlias(value, tableAlias),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Transform `fieldsSelection` into `selection`\n\t\t\t// `fieldsSelection` shouldn't be used after this point\n\t\t\tfor (const { tsKey, value } of fieldsSelection) {\n\t\t\t\tselection.push({\n\t\t\t\t\tdbKey: is(value, SQL.Aliased) ? value.fieldAlias : tableConfig.columns[tsKey]!.name,\n\t\t\t\t\ttsKey,\n\t\t\t\t\tfield: is(value, Column) ? aliasedTableColumn(value, tableAlias) : value,\n\t\t\t\t\trelationTableTsKey: undefined,\n\t\t\t\t\tisJson: false,\n\t\t\t\t\tselection: [],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet orderByOrig = typeof config.orderBy === 'function'\n\t\t\t\t? config.orderBy(aliasedColumns, getOrderByOperators())\n\t\t\t\t: config.orderBy ?? [];\n\t\t\tif (!Array.isArray(orderByOrig)) {\n\t\t\t\torderByOrig = [orderByOrig];\n\t\t\t}\n\t\t\torderBy = orderByOrig.map((orderByValue) => {\n\t\t\t\tif (is(orderByValue, Column)) {\n\t\t\t\t\treturn aliasedTableColumn(orderByValue, tableAlias) as SQLiteColumn;\n\t\t\t\t}\n\t\t\t\treturn mapColumnsInSQLToAlias(orderByValue, tableAlias);\n\t\t\t});\n\n\t\t\tlimit = config.limit;\n\t\t\toffset = config.offset;\n\n\t\t\t// Process all relations\n\t\t\tfor (\n\t\t\t\tconst {\n\t\t\t\t\ttsKey: selectedRelationTsKey,\n\t\t\t\t\tqueryConfig: selectedRelationConfigValue,\n\t\t\t\t\trelation,\n\t\t\t\t} of selectedRelations\n\t\t\t) {\n\t\t\t\tconst normalizedRelation = normalizeRelation(schema, tableNamesMap, relation);\n\t\t\t\tconst relationTableName = getTableUniqueName(relation.referencedTable);\n\t\t\t\tconst relationTableTsName = tableNamesMap[relationTableName]!;\n\t\t\t\tconst relationTableAlias = `${tableAlias}_${selectedRelationTsKey}`;\n\t\t\t\t// const relationTable = schema[relationTableTsName]!;\n\t\t\t\tconst joinOn = and(\n\t\t\t\t\t...normalizedRelation.fields.map((field, i) =>\n\t\t\t\t\t\teq(\n\t\t\t\t\t\t\taliasedTableColumn(normalizedRelation.references[i]!, relationTableAlias),\n\t\t\t\t\t\t\taliasedTableColumn(field, tableAlias),\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tconst builtRelation = this.buildRelationalQuery({\n\t\t\t\t\tfullSchema,\n\t\t\t\t\tschema,\n\t\t\t\t\ttableNamesMap,\n\t\t\t\t\ttable: fullSchema[relationTableTsName] as SQLiteTable,\n\t\t\t\t\ttableConfig: schema[relationTableTsName]!,\n\t\t\t\t\tqueryConfig: is(relation, One)\n\t\t\t\t\t\t? (selectedRelationConfigValue === true\n\t\t\t\t\t\t\t? { limit: 1 }\n\t\t\t\t\t\t\t: { ...selectedRelationConfigValue, limit: 1 })\n\t\t\t\t\t\t: selectedRelationConfigValue,\n\t\t\t\t\ttableAlias: relationTableAlias,\n\t\t\t\t\tjoinOn,\n\t\t\t\t\tnestedQueryRelation: relation,\n\t\t\t\t});\n\t\t\t\tconst field = (sql`(${builtRelation.sql})`).as(selectedRelationTsKey);\n\t\t\t\tselection.push({\n\t\t\t\t\tdbKey: selectedRelationTsKey,\n\t\t\t\t\ttsKey: selectedRelationTsKey,\n\t\t\t\t\tfield,\n\t\t\t\t\trelationTableTsKey: relationTableTsName,\n\t\t\t\t\tisJson: true,\n\t\t\t\t\tselection: builtRelation.selection,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (selection.length === 0) {\n\t\t\tthrow new DrizzleError({\n\t\t\t\tmessage:\n\t\t\t\t\t`No fields selected for table \"${tableConfig.tsName}\" (\"${tableAlias}\"). You need to have at least one item in \"columns\", \"with\" or \"extras\". If you need to select all columns, omit the \"columns\" key or set it to undefined.`,\n\t\t\t});\n\t\t}\n\n\t\tlet result;\n\n\t\twhere = and(joinOn, where);\n\n\t\tif (nestedQueryRelation) {\n\t\t\tlet field = sql`json_array(${\n\t\t\t\tsql.join(\n\t\t\t\t\tselection.map(({ field }) =>\n\t\t\t\t\t\tis(field, SQLiteColumn)\n\t\t\t\t\t\t\t? sql.identifier(this.casing.getColumnCasing(field))\n\t\t\t\t\t\t\t: is(field, SQL.Aliased)\n\t\t\t\t\t\t\t? field.sql\n\t\t\t\t\t\t\t: field\n\t\t\t\t\t),\n\t\t\t\t\tsql`, `,\n\t\t\t\t)\n\t\t\t})`;\n\t\t\tif (is(nestedQueryRelation, Many)) {\n\t\t\t\tfield = sql`coalesce(json_group_array(${field}), json_array())`;\n\t\t\t}\n\t\t\tconst nestedSelection = [{\n\t\t\t\tdbKey: 'data',\n\t\t\t\ttsKey: 'data',\n\t\t\t\tfield: field.as('data'),\n\t\t\t\tisJson: true,\n\t\t\t\trelationTableTsKey: tableConfig.tsName,\n\t\t\t\tselection,\n\t\t\t}];\n\n\t\t\tconst needsSubquery = limit !== undefined || offset !== undefined || orderBy.length > 0;\n\n\t\t\tif (needsSubquery) {\n\t\t\t\tresult = this.buildSelectQuery({\n\t\t\t\t\ttable: aliasedTable(table, tableAlias),\n\t\t\t\t\tfields: {},\n\t\t\t\t\tfieldsFlat: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: [],\n\t\t\t\t\t\t\tfield: sql.raw('*'),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\twhere,\n\t\t\t\t\tlimit,\n\t\t\t\t\toffset,\n\t\t\t\t\torderBy,\n\t\t\t\t\tsetOperators: [],\n\t\t\t\t});\n\n\t\t\t\twhere = undefined;\n\t\t\t\tlimit = undefined;\n\t\t\t\toffset = undefined;\n\t\t\t\torderBy = undefined;\n\t\t\t} else {\n\t\t\t\tresult = aliasedTable(table, tableAlias);\n\t\t\t}\n\n\t\t\tresult = this.buildSelectQuery({\n\t\t\t\ttable: is(result, SQLiteTable) ? result : new Subquery(result, {}, tableAlias),\n\t\t\t\tfields: {},\n\t\t\t\tfieldsFlat: nestedSelection.map(({ field }) => ({\n\t\t\t\t\tpath: [],\n\t\t\t\t\tfield: is(field, Column) ? aliasedTableColumn(field, tableAlias) : field,\n\t\t\t\t})),\n\t\t\t\tjoins,\n\t\t\t\twhere,\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t\torderBy,\n\t\t\t\tsetOperators: [],\n\t\t\t});\n\t\t} else {\n\t\t\tresult = this.buildSelectQuery({\n\t\t\t\ttable: aliasedTable(table, tableAlias),\n\t\t\t\tfields: {},\n\t\t\t\tfieldsFlat: selection.map(({ field }) => ({\n\t\t\t\t\tpath: [],\n\t\t\t\t\tfield: is(field, Column) ? aliasedTableColumn(field, tableAlias) : field,\n\t\t\t\t})),\n\t\t\t\tjoins,\n\t\t\t\twhere,\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t\torderBy,\n\t\t\t\tsetOperators: [],\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\ttableTsKey: tableConfig.tsName,\n\t\t\tsql: result,\n\t\t\tselection,\n\t\t};\n\t}\n}\n\nexport class SQLiteSyncDialect extends SQLiteDialect {\n\tstatic override readonly [entityKind]: string = 'SQLiteSyncDialect';\n\n\tmigrate(\n\t\tmigrations: MigrationMeta[],\n\t\tsession: SQLiteSession<'sync', unknown, Record, TablesRelationalConfig>,\n\t\tconfig?: string | MigrationConfig,\n\t): void {\n\t\tconst migrationsTable = config === undefined\n\t\t\t? '__drizzle_migrations'\n\t\t\t: typeof config === 'string'\n\t\t\t? '__drizzle_migrations'\n\t\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash text NOT NULL,\n\t\t\t\tcreated_at numeric\n\t\t\t)\n\t\t`;\n\t\tsession.run(migrationTableCreate);\n\n\t\tconst dbMigrations = session.values<[number, string, string]>(\n\t\t\tsql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`,\n\t\t);\n\n\t\tconst lastDbMigration = dbMigrations[0] ?? undefined;\n\t\tsession.run(sql`BEGIN`);\n\n\t\ttry {\n\t\t\tfor (const migration of migrations) {\n\t\t\t\tif (!lastDbMigration || Number(lastDbMigration[2])! < migration.folderMillis) {\n\t\t\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\t\t\tsession.run(sql.raw(stmt));\n\t\t\t\t\t}\n\t\t\t\t\tsession.run(\n\t\t\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t\t} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsession.run(sql`COMMIT`);\n\t\t} catch (e) {\n\t\t\tsession.run(sql`ROLLBACK`);\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport class SQLiteAsyncDialect extends SQLiteDialect {\n\tstatic override readonly [entityKind]: string = 'SQLiteAsyncDialect';\n\n\tasync migrate(\n\t\tmigrations: MigrationMeta[],\n\t\tsession: SQLiteSession<'async', any, any, any>,\n\t\tconfig?: string | MigrationConfig,\n\t): Promise {\n\t\tconst migrationsTable = config === undefined\n\t\t\t? '__drizzle_migrations'\n\t\t\t: typeof config === 'string'\n\t\t\t? '__drizzle_migrations'\n\t\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash text NOT NULL,\n\t\t\t\tcreated_at numeric\n\t\t\t)\n\t\t`;\n\t\tawait session.run(migrationTableCreate);\n\n\t\tconst dbMigrations = await session.values<[number, string, string]>(\n\t\t\tsql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`,\n\t\t);\n\n\t\tconst lastDbMigration = dbMigrations[0] ?? undefined;\n\n\t\tawait session.transaction(async (tx) => {\n\t\t\tfor (const migration of migrations) {\n\t\t\t\tif (!lastDbMigration || Number(lastDbMigration[2])! < migration.folderMillis) {\n\t\t\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\t\t\tawait tx.run(sql.raw(stmt));\n\t\t\t\t\t}\n\t\t\t\t\tawait tx.run(\n\t\t\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t\t} (\"hash\", \"created_at\") VALUES(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\nimport type { SQL, SQLWrapper } from '~/sql/index.ts';\n\nexport abstract class TypedQueryBuilder implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'TypedQueryBuilder';\n\n\tdeclare _: {\n\t\tselectedFields: TSelection;\n\t\tresult: TResult;\n\t\tconfig?: TConfig;\n\t};\n\n\t/** @internal */\n\tgetSelectedFields(): TSelection {\n\t\treturn this._.selectedFields;\n\t}\n\n\tabstract getSQL(): SQL;\n}\n", "import type { CacheConfig, WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type {\n\tBuildSubquerySelection,\n\tGetSelectTableName,\n\tGetSelectTableSelection,\n\tJoinNullability,\n\tJoinType,\n\tSelectMode,\n\tSelectResult,\n\tSetOperator,\n} from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport { SQL, View } from '~/sql/sql.ts';\nimport type { ColumnsSelection, Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteColumn } from '~/sqlite-core/columns/index.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { SQLiteSession } from '~/sqlite-core/session.ts';\nimport type { SubqueryWithSelection } from '~/sqlite-core/subquery.ts';\nimport type { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport {\n\tapplyMixins,\n\tgetTableColumns,\n\tgetTableLikeName,\n\thaveSameKeys,\n\torderSelectedFields,\n\ttype ValueOrArray,\n} from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { SQLiteViewBase } from '../view-base.ts';\nimport type {\n\tAnySQLiteSelect,\n\tCreateSQLiteSelectFromBuilderMode,\n\tGetSQLiteSetOperators,\n\tSelectedFields,\n\tSetOperatorRightSelect,\n\tSQLiteCreateSetOperatorFn,\n\tSQLiteSelectConfig,\n\tSQLiteSelectCrossJoinFn,\n\tSQLiteSelectDynamic,\n\tSQLiteSelectExecute,\n\tSQLiteSelectHKT,\n\tSQLiteSelectHKTBase,\n\tSQLiteSelectJoinFn,\n\tSQLiteSelectPrepare,\n\tSQLiteSelectWithout,\n\tSQLiteSetOperatorExcludedMethods,\n\tSQLiteSetOperatorWithResult,\n} from './select.types.ts';\n\nexport class SQLiteSelectBuilder<\n\tTSelection extends SelectedFields | undefined,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTBuilderMode extends 'db' | 'qb' = 'db',\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteSelectBuilder';\n\n\tprivate fields: TSelection;\n\tprivate session: SQLiteSession | undefined;\n\tprivate dialect: SQLiteDialect;\n\tprivate withList: Subquery[] | undefined;\n\tprivate distinct: boolean | undefined;\n\n\tconstructor(\n\t\tconfig: {\n\t\t\tfields: TSelection;\n\t\t\tsession: SQLiteSession | undefined;\n\t\t\tdialect: SQLiteDialect;\n\t\t\twithList?: Subquery[];\n\t\t\tdistinct?: boolean;\n\t\t},\n\t) {\n\t\tthis.fields = config.fields;\n\t\tthis.session = config.session;\n\t\tthis.dialect = config.dialect;\n\t\tthis.withList = config.withList;\n\t\tthis.distinct = config.distinct;\n\t}\n\n\tfrom(\n\t\tsource: TFrom,\n\t): CreateSQLiteSelectFromBuilderMode<\n\t\tTBuilderMode,\n\t\tGetSelectTableName,\n\t\tTResultType,\n\t\tTRunResult,\n\t\tTSelection extends undefined ? GetSelectTableSelection : TSelection,\n\t\tTSelection extends undefined ? 'single' : 'partial'\n\t> {\n\t\tconst isPartialSelect = !!this.fields;\n\n\t\tlet fields: SelectedFields;\n\t\tif (this.fields) {\n\t\t\tfields = this.fields;\n\t\t} else if (is(source, Subquery)) {\n\t\t\t// This is required to use the proxy handler to get the correct field values from the subquery\n\t\t\tfields = Object.fromEntries(\n\t\t\t\tObject.keys(source._.selectedFields).map((\n\t\t\t\t\tkey,\n\t\t\t\t) => [key, source[key as unknown as keyof typeof source] as unknown as SelectedFields[string]]),\n\t\t\t);\n\t\t} else if (is(source, SQLiteViewBase)) {\n\t\t\tfields = source[ViewBaseConfig].selectedFields as SelectedFields;\n\t\t} else if (is(source, SQL)) {\n\t\t\tfields = {};\n\t\t} else {\n\t\t\tfields = getTableColumns(source);\n\t\t}\n\n\t\treturn new SQLiteSelectBase({\n\t\t\ttable: source,\n\t\t\tfields,\n\t\t\tisPartialSelect,\n\t\t\tsession: this.session,\n\t\t\tdialect: this.dialect,\n\t\t\twithList: this.withList,\n\t\t\tdistinct: this.distinct,\n\t\t}) as any;\n\t}\n}\n\nexport abstract class SQLiteSelectQueryBuilderBase<\n\tTHKT extends SQLiteSelectHKTBase,\n\tTTableName extends string | undefined,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTSelection extends ColumnsSelection,\n\tTSelectMode extends SelectMode,\n\tTNullabilityMap extends Record = TTableName extends string ? Record\n\t\t: {},\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n\tTResult extends any[] = SelectResult[],\n\tTSelectedFields extends ColumnsSelection = BuildSubquerySelection,\n> extends TypedQueryBuilder {\n\tstatic override readonly [entityKind]: string = 'SQLiteSelectQueryBuilder';\n\n\toverride readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly hkt: THKT;\n\t\treadonly tableName: TTableName;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly selection: TSelection;\n\t\treadonly selectMode: TSelectMode;\n\t\treadonly nullabilityMap: TNullabilityMap;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TResult;\n\t\treadonly selectedFields: TSelectedFields;\n\t\treadonly config: SQLiteSelectConfig;\n\t};\n\n\t/** @internal */\n\tconfig: SQLiteSelectConfig;\n\tprotected joinsNotNullableMap: Record;\n\tprivate tableName: string | undefined;\n\tprivate isPartialSelect: boolean;\n\tprotected session: SQLiteSession | undefined;\n\tprotected dialect: SQLiteDialect;\n\tprotected cacheConfig?: WithCacheConfig = undefined;\n\tprotected usedTables: Set = new Set();\n\n\tconstructor(\n\t\t{ table, fields, isPartialSelect, session, dialect, withList, distinct }: {\n\t\t\ttable: SQLiteSelectConfig['table'];\n\t\t\tfields: SQLiteSelectConfig['fields'];\n\t\t\tisPartialSelect: boolean;\n\t\t\tsession: SQLiteSession | undefined;\n\t\t\tdialect: SQLiteDialect;\n\t\t\twithList: Subquery[] | undefined;\n\t\t\tdistinct: boolean | undefined;\n\t\t},\n\t) {\n\t\tsuper();\n\t\tthis.config = {\n\t\t\twithList,\n\t\t\ttable,\n\t\t\tfields: { ...fields },\n\t\t\tdistinct,\n\t\t\tsetOperators: [],\n\t\t};\n\t\tthis.isPartialSelect = isPartialSelect;\n\t\tthis.session = session;\n\t\tthis.dialect = dialect;\n\t\tthis._ = {\n\t\t\tselectedFields: fields as TSelectedFields,\n\t\t\tconfig: this.config,\n\t\t} as this['_'];\n\t\tthis.tableName = getTableLikeName(table);\n\t\tthis.joinsNotNullableMap = typeof this.tableName === 'string' ? { [this.tableName]: true } : {};\n\t\tfor (const item of extractUsedTable(table)) this.usedTables.add(item);\n\t}\n\n\t/** @internal */\n\tgetUsedTables() {\n\t\treturn [...this.usedTables];\n\t}\n\n\tprivate createJoin(\n\t\tjoinType: TJoinType,\n\t): 'cross' extends TJoinType ? SQLiteSelectCrossJoinFn\n\t\t: SQLiteSelectJoinFn\n\t{\n\t\treturn (\n\t\t\ttable: SQLiteTable | Subquery | SQLiteViewBase | SQL,\n\t\t\ton?: ((aliases: TSelection) => SQL | undefined) | SQL | undefined,\n\t\t) => {\n\t\t\tconst baseTableName = this.tableName;\n\t\t\tconst tableName = getTableLikeName(table);\n\n\t\t\t// store all tables used in a query\n\t\t\tfor (const item of extractUsedTable(table)) this.usedTables.add(item);\n\n\t\t\tif (typeof tableName === 'string' && this.config.joins?.some((join) => join.alias === tableName)) {\n\t\t\t\tthrow new Error(`Alias \"${tableName}\" is already used in this query`);\n\t\t\t}\n\n\t\t\tif (!this.isPartialSelect) {\n\t\t\t\t// If this is the first join and this is not a partial select and we're not selecting from raw SQL, \"move\" the fields from the main table to the nested object\n\t\t\t\tif (Object.keys(this.joinsNotNullableMap).length === 1 && typeof baseTableName === 'string') {\n\t\t\t\t\tthis.config.fields = {\n\t\t\t\t\t\t[baseTableName]: this.config.fields,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (typeof tableName === 'string' && !is(table, SQL)) {\n\t\t\t\t\tconst selection = is(table, Subquery)\n\t\t\t\t\t\t? table._.selectedFields\n\t\t\t\t\t\t: is(table, View)\n\t\t\t\t\t\t? table[ViewBaseConfig].selectedFields\n\t\t\t\t\t\t: table[Table.Symbol.Columns];\n\t\t\t\t\tthis.config.fields[tableName] = selection;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof on === 'function') {\n\t\t\t\ton = on(\n\t\t\t\t\tnew Proxy(\n\t\t\t\t\t\tthis.config.fields,\n\t\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t\t) as TSelection,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!this.config.joins) {\n\t\t\t\tthis.config.joins = [];\n\t\t\t}\n\t\t\tthis.config.joins.push({ on, table, joinType, alias: tableName });\n\n\t\t\tif (typeof tableName === 'string') {\n\t\t\t\tswitch (joinType) {\n\t\t\t\t\tcase 'left': {\n\t\t\t\t\t\tthis.joinsNotNullableMap[tableName] = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'right': {\n\t\t\t\t\t\tthis.joinsNotNullableMap = Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries(this.joinsNotNullableMap).map(([key]) => [key, false]),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.joinsNotNullableMap[tableName] = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'cross':\n\t\t\t\t\tcase 'inner': {\n\t\t\t\t\t\tthis.joinsNotNullableMap[tableName] = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'full': {\n\t\t\t\t\t\tthis.joinsNotNullableMap = Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries(this.joinsNotNullableMap).map(([key]) => [key, false]),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.joinsNotNullableMap[tableName] = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this as any;\n\t\t};\n\t}\n\n\t/**\n\t * Executes a `left join` operation by adding another table to the current query.\n\t *\n\t * Calling this method associates each row of the table with the corresponding row from the joined table, if a match is found. If no matching row exists, it sets all columns of the joined table to null.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#left-join}\n\t *\n\t * @param table the table to join.\n\t * @param on the `on` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users and their pets\n\t * const usersWithPets: { user: User; pets: Pet | null; }[] = await db.select()\n\t * .from(users)\n\t * .leftJoin(pets, eq(users.id, pets.ownerId))\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number; petId: number | null; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .leftJoin(pets, eq(users.id, pets.ownerId))\n\t * ```\n\t */\n\tleftJoin = this.createJoin('left');\n\n\t/**\n\t * Executes a `right join` operation by adding another table to the current query.\n\t *\n\t * Calling this method associates each row of the joined table with the corresponding row from the main table, if a match is found. If no matching row exists, it sets all columns of the main table to null.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#right-join}\n\t *\n\t * @param table the table to join.\n\t * @param on the `on` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users and their pets\n\t * const usersWithPets: { user: User | null; pets: Pet; }[] = await db.select()\n\t * .from(users)\n\t * .rightJoin(pets, eq(users.id, pets.ownerId))\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number | null; petId: number; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .rightJoin(pets, eq(users.id, pets.ownerId))\n\t * ```\n\t */\n\trightJoin = this.createJoin('right');\n\n\t/**\n\t * Executes an `inner join` operation, creating a new table by combining rows from two tables that have matching values.\n\t *\n\t * Calling this method retrieves rows that have corresponding entries in both joined tables. Rows without matching entries in either table are excluded, resulting in a table that includes only matching pairs.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#inner-join}\n\t *\n\t * @param table the table to join.\n\t * @param on the `on` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users and their pets\n\t * const usersWithPets: { user: User; pets: Pet; }[] = await db.select()\n\t * .from(users)\n\t * .innerJoin(pets, eq(users.id, pets.ownerId))\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .innerJoin(pets, eq(users.id, pets.ownerId))\n\t * ```\n\t */\n\tinnerJoin = this.createJoin('inner');\n\n\t/**\n\t * Executes a `full join` operation by combining rows from two tables into a new table.\n\t *\n\t * Calling this method retrieves all rows from both main and joined tables, merging rows with matching values and filling in `null` for non-matching columns.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#full-join}\n\t *\n\t * @param table the table to join.\n\t * @param on the `on` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users and their pets\n\t * const usersWithPets: { user: User | null; pets: Pet | null; }[] = await db.select()\n\t * .from(users)\n\t * .fullJoin(pets, eq(users.id, pets.ownerId))\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number | null; petId: number | null; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .fullJoin(pets, eq(users.id, pets.ownerId))\n\t * ```\n\t */\n\tfullJoin = this.createJoin('full');\n\n\t/**\n\t * Executes a `cross join` operation by combining rows from two tables into a new table.\n\t *\n\t * Calling this method retrieves all rows from both main and joined tables, merging all rows from each table.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/joins#cross-join}\n\t *\n\t * @param table the table to join.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all users, each user with every pet\n\t * const usersWithPets: { user: User; pets: Pet; }[] = await db.select()\n\t * .from(users)\n\t * .crossJoin(pets)\n\t *\n\t * // Select userId and petId\n\t * const usersIdsAndPetIds: { userId: number; petId: number; }[] = await db.select({\n\t * userId: users.id,\n\t * petId: pets.id,\n\t * })\n\t * .from(users)\n\t * .crossJoin(pets)\n\t * ```\n\t */\n\tcrossJoin = this.createJoin('cross');\n\n\tprivate createSetOperator(\n\t\ttype: SetOperator,\n\t\tisAll: boolean,\n\t): >(\n\t\trightSelection:\n\t\t\t| ((setOperators: GetSQLiteSetOperators) => SetOperatorRightSelect)\n\t\t\t| SetOperatorRightSelect,\n\t) => SQLiteSelectWithout<\n\t\tthis,\n\t\tTDynamic,\n\t\tSQLiteSetOperatorExcludedMethods,\n\t\ttrue\n\t> {\n\t\treturn (rightSelection) => {\n\t\t\tconst rightSelect = (typeof rightSelection === 'function'\n\t\t\t\t? rightSelection(getSQLiteSetOperators())\n\t\t\t\t: rightSelection) as TypedQueryBuilder<\n\t\t\t\t\tany,\n\t\t\t\t\tTResult\n\t\t\t\t>;\n\n\t\t\tif (!haveSameKeys(this.getSelectedFields(), rightSelect.getSelectedFields())) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'Set operator error (union / intersect / except): selected fields are not the same or are in a different order',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.config.setOperators.push({ type, isAll, rightSelect });\n\t\t\treturn this as any;\n\t\t};\n\t}\n\n\t/**\n\t * Adds `union` set operator to the query.\n\t *\n\t * Calling this method will combine the result sets of the `select` statements and remove any duplicate rows that appear across them.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/set-operations#union}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all unique names from customers and users tables\n\t * await db.select({ name: users.name })\n\t * .from(users)\n\t * .union(\n\t * db.select({ name: customers.name }).from(customers)\n\t * );\n\t * // or\n\t * import { union } from 'drizzle-orm/sqlite-core'\n\t *\n\t * await union(\n\t * db.select({ name: users.name }).from(users),\n\t * db.select({ name: customers.name }).from(customers)\n\t * );\n\t * ```\n\t */\n\tunion = this.createSetOperator('union', false);\n\n\t/**\n\t * Adds `union all` set operator to the query.\n\t *\n\t * Calling this method will combine the result-set of the `select` statements and keep all duplicate rows that appear across them.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/set-operations#union-all}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all transaction ids from both online and in-store sales\n\t * await db.select({ transaction: onlineSales.transactionId })\n\t * .from(onlineSales)\n\t * .unionAll(\n\t * db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)\n\t * );\n\t * // or\n\t * import { unionAll } from 'drizzle-orm/sqlite-core'\n\t *\n\t * await unionAll(\n\t * db.select({ transaction: onlineSales.transactionId }).from(onlineSales),\n\t * db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)\n\t * );\n\t * ```\n\t */\n\tunionAll = this.createSetOperator('union', true);\n\n\t/**\n\t * Adds `intersect` set operator to the query.\n\t *\n\t * Calling this method will retain only the rows that are present in both result sets and eliminate duplicates.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/set-operations#intersect}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select course names that are offered in both departments A and B\n\t * await db.select({ courseName: depA.courseName })\n\t * .from(depA)\n\t * .intersect(\n\t * db.select({ courseName: depB.courseName }).from(depB)\n\t * );\n\t * // or\n\t * import { intersect } from 'drizzle-orm/sqlite-core'\n\t *\n\t * await intersect(\n\t * db.select({ courseName: depA.courseName }).from(depA),\n\t * db.select({ courseName: depB.courseName }).from(depB)\n\t * );\n\t * ```\n\t */\n\tintersect = this.createSetOperator('intersect', false);\n\n\t/**\n\t * Adds `except` set operator to the query.\n\t *\n\t * Calling this method will retrieve all unique rows from the left query, except for the rows that are present in the result set of the right query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/set-operations#except}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all courses offered in department A but not in department B\n\t * await db.select({ courseName: depA.courseName })\n\t * .from(depA)\n\t * .except(\n\t * db.select({ courseName: depB.courseName }).from(depB)\n\t * );\n\t * // or\n\t * import { except } from 'drizzle-orm/sqlite-core'\n\t *\n\t * await except(\n\t * db.select({ courseName: depA.courseName }).from(depA),\n\t * db.select({ courseName: depB.courseName }).from(depB)\n\t * );\n\t * ```\n\t */\n\texcept = this.createSetOperator('except', false);\n\n\t/** @internal */\n\taddSetOperators(setOperators: SQLiteSelectConfig['setOperators']): SQLiteSelectWithout<\n\t\tthis,\n\t\tTDynamic,\n\t\tSQLiteSetOperatorExcludedMethods,\n\t\ttrue\n\t> {\n\t\tthis.config.setOperators.push(...setOperators);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `where` clause to the query.\n\t *\n\t * Calling this method will select only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#filtering}\n\t *\n\t * @param where the `where` clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be selected.\n\t *\n\t * ```ts\n\t * // Select all cars with green color\n\t * await db.select().from(cars).where(eq(cars.color, 'green'));\n\t * // or\n\t * await db.select().from(cars).where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Select all BMW cars with a green color\n\t * await db.select().from(cars).where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Select all cars with the green or blue color\n\t * await db.select().from(cars).where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(\n\t\twhere: ((aliases: TSelection) => SQL | undefined) | SQL | undefined,\n\t): SQLiteSelectWithout {\n\t\tif (typeof where === 'function') {\n\t\t\twhere = where(\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.fields,\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t) as TSelection,\n\t\t\t);\n\t\t}\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `having` clause to the query.\n\t *\n\t * Calling this method will select only those rows that fulfill a specified condition. It is typically used with aggregate functions to filter the aggregated data based on a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#aggregations}\n\t *\n\t * @param having the `having` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all brands with more than one car\n\t * await db.select({\n\t * \tbrand: cars.brand,\n\t * \tcount: sql`cast(count(${cars.id}) as int)`,\n\t * })\n\t * .from(cars)\n\t * .groupBy(cars.brand)\n\t * .having(({ count }) => gt(count, 1));\n\t * ```\n\t */\n\thaving(\n\t\thaving: ((aliases: this['_']['selection']) => SQL | undefined) | SQL | undefined,\n\t): SQLiteSelectWithout {\n\t\tif (typeof having === 'function') {\n\t\t\thaving = having(\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.fields,\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t) as TSelection,\n\t\t\t);\n\t\t}\n\t\tthis.config.having = having;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `group by` clause to the query.\n\t *\n\t * Calling this method will group rows that have the same values into summary rows, often used for aggregation purposes.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#aggregations}\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Group and count people by their last names\n\t * await db.select({\n\t * lastName: people.lastName,\n\t * count: sql`cast(count(*) as int)`\n\t * })\n\t * .from(people)\n\t * .groupBy(people.lastName);\n\t * ```\n\t */\n\tgroupBy(\n\t\tbuilder: (aliases: this['_']['selection']) => ValueOrArray,\n\t): SQLiteSelectWithout;\n\tgroupBy(...columns: (SQLiteColumn | SQL)[]): SQLiteSelectWithout;\n\tgroupBy(\n\t\t...columns:\n\t\t\t| [(aliases: this['_']['selection']) => ValueOrArray]\n\t\t\t| (SQLiteColumn | SQL | SQL.Aliased)[]\n\t): SQLiteSelectWithout {\n\t\tif (typeof columns[0] === 'function') {\n\t\t\tconst groupBy = columns[0](\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.fields,\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' }),\n\t\t\t\t) as TSelection,\n\t\t\t);\n\t\t\tthis.config.groupBy = Array.isArray(groupBy) ? groupBy : [groupBy];\n\t\t} else {\n\t\t\tthis.config.groupBy = columns as (SQLiteColumn | SQL | SQL.Aliased)[];\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `order by` clause to the query.\n\t *\n\t * Calling this method will sort the result-set in ascending or descending order. By default, the sort order is ascending.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#order-by}\n\t *\n\t * @example\n\t *\n\t * ```\n\t * // Select cars ordered by year\n\t * await db.select().from(cars).orderBy(cars.year);\n\t * ```\n\t *\n\t * You can specify whether results are in ascending or descending order with the `asc()` and `desc()` operators.\n\t *\n\t * ```ts\n\t * // Select cars ordered by year in descending order\n\t * await db.select().from(cars).orderBy(desc(cars.year));\n\t *\n\t * // Select cars ordered by year and price\n\t * await db.select().from(cars).orderBy(asc(cars.year), desc(cars.price));\n\t * ```\n\t */\n\torderBy(\n\t\tbuilder: (aliases: this['_']['selection']) => ValueOrArray,\n\t): SQLiteSelectWithout;\n\torderBy(...columns: (SQLiteColumn | SQL)[]): SQLiteSelectWithout;\n\torderBy(\n\t\t...columns:\n\t\t\t| [(aliases: this['_']['selection']) => ValueOrArray]\n\t\t\t| (SQLiteColumn | SQL | SQL.Aliased)[]\n\t): SQLiteSelectWithout {\n\t\tif (typeof columns[0] === 'function') {\n\t\t\tconst orderBy = columns[0](\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.fields,\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' }),\n\t\t\t\t) as TSelection,\n\t\t\t);\n\n\t\t\tconst orderByArray = Array.isArray(orderBy) ? orderBy : [orderBy];\n\n\t\t\tif (this.config.setOperators.length > 0) {\n\t\t\t\tthis.config.setOperators.at(-1)!.orderBy = orderByArray;\n\t\t\t} else {\n\t\t\t\tthis.config.orderBy = orderByArray;\n\t\t\t}\n\t\t} else {\n\t\t\tconst orderByArray = columns as (SQLiteColumn | SQL | SQL.Aliased)[];\n\n\t\t\tif (this.config.setOperators.length > 0) {\n\t\t\t\tthis.config.setOperators.at(-1)!.orderBy = orderByArray;\n\t\t\t} else {\n\t\t\t\tthis.config.orderBy = orderByArray;\n\t\t\t}\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `limit` clause to the query.\n\t *\n\t * Calling this method will set the maximum number of rows that will be returned by this query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#limit--offset}\n\t *\n\t * @param limit the `limit` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Get the first 10 people from this query.\n\t * await db.select().from(people).limit(10);\n\t * ```\n\t */\n\tlimit(limit: number | Placeholder): SQLiteSelectWithout {\n\t\tif (this.config.setOperators.length > 0) {\n\t\t\tthis.config.setOperators.at(-1)!.limit = limit;\n\t\t} else {\n\t\t\tthis.config.limit = limit;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `offset` clause to the query.\n\t *\n\t * Calling this method will skip a number of rows when returning results from this query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#limit--offset}\n\t *\n\t * @param offset the `offset` clause.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Get the 10th-20th people from this query.\n\t * await db.select().from(people).offset(10).limit(10);\n\t * ```\n\t */\n\toffset(offset: number | Placeholder): SQLiteSelectWithout {\n\t\tif (this.config.setOperators.length > 0) {\n\t\t\tthis.config.setOperators.at(-1)!.offset = offset;\n\t\t} else {\n\t\t\tthis.config.offset = offset;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildSelectQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\tas(\n\t\talias: TAlias,\n\t): SubqueryWithSelection {\n\t\tconst usedTables: string[] = [];\n\t\tusedTables.push(...extractUsedTable(this.config.table));\n\t\tif (this.config.joins) { for (const it of this.config.joins) usedTables.push(...extractUsedTable(it.table)); }\n\n\t\treturn new Proxy(\n\t\t\tnew Subquery(this.getSQL(), this.config.fields, alias, false, [...new Set(usedTables)]),\n\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t) as SubqueryWithSelection;\n\t}\n\n\t/** @internal */\n\toverride getSelectedFields(): this['_']['selectedFields'] {\n\t\treturn new Proxy(\n\t\t\tthis.config.fields,\n\t\t\tnew SelectionProxyHandler({ alias: this.tableName, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t) as this['_']['selectedFields'];\n\t}\n\n\t$dynamic(): SQLiteSelectDynamic {\n\t\treturn this;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SQLiteSelectBase<\n\tTTableName extends string | undefined,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTSelection extends ColumnsSelection,\n\tTSelectMode extends SelectMode = 'single',\n\tTNullabilityMap extends Record = TTableName extends string ? Record\n\t\t: {},\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n\tTResult extends any[] = SelectResult[],\n\tTSelectedFields extends ColumnsSelection = BuildSubquerySelection,\n> extends\n\tSQLiteSelectQueryBuilderBase<\n\t\tSQLiteSelectHKT,\n\t\tTTableName,\n\t\tTResultType,\n\t\tTRunResult,\n\t\tTSelection,\n\t\tTSelectMode,\n\t\tTNullabilityMap,\n\t\tTDynamic,\n\t\tTExcludedMethods,\n\t\tTResult,\n\t\tTSelectedFields\n\t>,\n\tQueryPromise\n{}\n\nexport class SQLiteSelectBase<\n\tTTableName extends string | undefined,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTSelection,\n\tTSelectMode extends SelectMode = 'single',\n\tTNullabilityMap extends Record = TTableName extends string ? Record\n\t\t: {},\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n\tTResult = SelectResult[],\n\tTSelectedFields extends ColumnsSelection = BuildSubquerySelection,\n> extends SQLiteSelectQueryBuilderBase<\n\tSQLiteSelectHKT,\n\tTTableName,\n\tTResultType,\n\tTRunResult,\n\tTSelection,\n\tTSelectMode,\n\tTNullabilityMap,\n\tTDynamic,\n\tTExcludedMethods,\n\tTResult,\n\tTSelectedFields\n> implements RunnableQuery, SQLWrapper {\n\tstatic override readonly [entityKind]: string = 'SQLiteSelect';\n\n\t/** @internal */\n\t_prepare(isOneTimeQuery = true): SQLiteSelectPrepare {\n\t\tif (!this.session) {\n\t\t\tthrow new Error('Cannot execute a query on a query builder. Please use a database instance instead.');\n\t\t}\n\t\tconst fieldsList = orderSelectedFields(this.config.fields);\n\t\tconst query = this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tfieldsList,\n\t\t\t'all',\n\t\t\ttrue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\ttype: 'select',\n\t\t\t\ttables: [...this.usedTables],\n\t\t\t},\n\t\t\tthis.cacheConfig,\n\t\t);\n\t\tquery.joinsNotNullableMap = this.joinsNotNullableMap;\n\t\treturn query as ReturnType;\n\t}\n\n\t$withCache(config?: { config?: CacheConfig; tag?: string; autoInvalidate?: boolean } | false) {\n\t\tthis.cacheConfig = config === undefined\n\t\t\t? { config: {}, enable: true, autoInvalidate: true }\n\t\t\t: config === false\n\t\t\t? { enable: false }\n\t\t\t: { enable: true, autoInvalidate: true, ...config };\n\t\treturn this;\n\t}\n\n\tprepare(): SQLiteSelectPrepare {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\tasync execute(): Promise> {\n\t\treturn this.all() as SQLiteSelectExecute;\n\t}\n}\n\napplyMixins(SQLiteSelectBase, [QueryPromise]);\n\nfunction createSetOperator(type: SetOperator, isAll: boolean): SQLiteCreateSetOperatorFn {\n\treturn (leftSelect, rightSelect, ...restSelects) => {\n\t\tconst setOperators = [rightSelect, ...restSelects].map((select) => ({\n\t\t\ttype,\n\t\t\tisAll,\n\t\t\trightSelect: select as AnySQLiteSelect,\n\t\t}));\n\n\t\tfor (const setOperator of setOperators) {\n\t\t\tif (!haveSameKeys((leftSelect as any).getSelectedFields(), setOperator.rightSelect.getSelectedFields())) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'Set operator error (union / intersect / except): selected fields are not the same or are in a different order',\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn (leftSelect as AnySQLiteSelect).addSetOperators(setOperators) as any;\n\t};\n}\n\nconst getSQLiteSetOperators = () => ({\n\tunion,\n\tunionAll,\n\tintersect,\n\texcept,\n});\n\n/**\n * Adds `union` set operator to the query.\n *\n * Calling this method will combine the result sets of the `select` statements and remove any duplicate rows that appear across them.\n *\n * See docs: {@link https://orm.drizzle.team/docs/set-operations#union}\n *\n * @example\n *\n * ```ts\n * // Select all unique names from customers and users tables\n * import { union } from 'drizzle-orm/sqlite-core'\n *\n * await union(\n * db.select({ name: users.name }).from(users),\n * db.select({ name: customers.name }).from(customers)\n * );\n * // or\n * await db.select({ name: users.name })\n * .from(users)\n * .union(\n * db.select({ name: customers.name }).from(customers)\n * );\n * ```\n */\nexport const union = createSetOperator('union', false);\n\n/**\n * Adds `union all` set operator to the query.\n *\n * Calling this method will combine the result-set of the `select` statements and keep all duplicate rows that appear across them.\n *\n * See docs: {@link https://orm.drizzle.team/docs/set-operations#union-all}\n *\n * @example\n *\n * ```ts\n * // Select all transaction ids from both online and in-store sales\n * import { unionAll } from 'drizzle-orm/sqlite-core'\n *\n * await unionAll(\n * db.select({ transaction: onlineSales.transactionId }).from(onlineSales),\n * db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)\n * );\n * // or\n * await db.select({ transaction: onlineSales.transactionId })\n * .from(onlineSales)\n * .unionAll(\n * db.select({ transaction: inStoreSales.transactionId }).from(inStoreSales)\n * );\n * ```\n */\nexport const unionAll = createSetOperator('union', true);\n\n/**\n * Adds `intersect` set operator to the query.\n *\n * Calling this method will retain only the rows that are present in both result sets and eliminate duplicates.\n *\n * See docs: {@link https://orm.drizzle.team/docs/set-operations#intersect}\n *\n * @example\n *\n * ```ts\n * // Select course names that are offered in both departments A and B\n * import { intersect } from 'drizzle-orm/sqlite-core'\n *\n * await intersect(\n * db.select({ courseName: depA.courseName }).from(depA),\n * db.select({ courseName: depB.courseName }).from(depB)\n * );\n * // or\n * await db.select({ courseName: depA.courseName })\n * .from(depA)\n * .intersect(\n * db.select({ courseName: depB.courseName }).from(depB)\n * );\n * ```\n */\nexport const intersect = createSetOperator('intersect', false);\n\n/**\n * Adds `except` set operator to the query.\n *\n * Calling this method will retrieve all unique rows from the left query, except for the rows that are present in the result set of the right query.\n *\n * See docs: {@link https://orm.drizzle.team/docs/set-operations#except}\n *\n * @example\n *\n * ```ts\n * // Select all courses offered in department A but not in department B\n * import { except } from 'drizzle-orm/sqlite-core'\n *\n * await except(\n * db.select({ courseName: depA.courseName }).from(depA),\n * db.select({ courseName: depB.courseName }).from(depB)\n * );\n * // or\n * await db.select({ courseName: depA.courseName })\n * .from(depA)\n * .except(\n * db.select({ courseName: depB.courseName }).from(depB)\n * );\n * ```\n */\nexport const except = createSetOperator('except', false);\n", "import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection, SQL } from '~/sql/sql.ts';\nimport type { SQLiteDialectConfig } from '~/sqlite-core/dialect.ts';\nimport { SQLiteDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { WithBuilder } from '~/sqlite-core/subquery.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport { SQLiteSelectBuilder } from './select.ts';\nimport type { SelectedFields } from './select.types.ts';\n\nexport class QueryBuilder {\n\tstatic readonly [entityKind]: string = 'SQLiteQueryBuilder';\n\n\tprivate dialect: SQLiteDialect | undefined;\n\tprivate dialectConfig: SQLiteDialectConfig | undefined;\n\n\tconstructor(dialect?: SQLiteDialect | SQLiteDialectConfig) {\n\t\tthis.dialect = is(dialect, SQLiteDialect) ? dialect : undefined;\n\t\tthis.dialectConfig = is(dialect, SQLiteDialect) ? undefined : dialect;\n\t}\n\n\t$with: WithBuilder = (alias: string, selection?: ColumnsSelection) => {\n\t\tconst queryBuilder = this;\n\t\tconst as = (\n\t\t\tqb:\n\t\t\t\t| TypedQueryBuilder\n\t\t\t\t| SQL\n\t\t\t\t| ((qb: QueryBuilder) => TypedQueryBuilder | SQL),\n\t\t) => {\n\t\t\tif (typeof qb === 'function') {\n\t\t\t\tqb = qb(queryBuilder);\n\t\t\t}\n\n\t\t\treturn new Proxy(\n\t\t\t\tnew WithSubquery(\n\t\t\t\t\tqb.getSQL(),\n\t\t\t\t\tselection ?? ('getSelectedFields' in qb ? qb.getSelectedFields() ?? {} : {}) as SelectedFields,\n\t\t\t\t\talias,\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t) as any;\n\t\t};\n\t\treturn { as };\n\t};\n\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\tfunction select(): SQLiteSelectBuilder;\n\t\tfunction select(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder;\n\t\tfunction select(\n\t\t\tfields?: TSelection,\n\t\t): SQLiteSelectBuilder {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\tfunction selectDistinct(): SQLiteSelectBuilder;\n\t\tfunction selectDistinct(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder;\n\t\tfunction selectDistinct(\n\t\t\tfields?: TSelection,\n\t\t): SQLiteSelectBuilder {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: undefined,\n\t\t\t\tdialect: self.getDialect(),\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\treturn { select, selectDistinct };\n\t}\n\n\tselect(): SQLiteSelectBuilder;\n\tselect(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder;\n\tselect(\n\t\tfields?: TSelection,\n\t): SQLiteSelectBuilder {\n\t\treturn new SQLiteSelectBuilder({ fields: fields ?? undefined, session: undefined, dialect: this.getDialect() });\n\t}\n\n\tselectDistinct(): SQLiteSelectBuilder;\n\tselectDistinct(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder;\n\tselectDistinct(\n\t\tfields?: TSelection,\n\t): SQLiteSelectBuilder {\n\t\treturn new SQLiteSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: undefined,\n\t\t\tdialect: this.getDialect(),\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t// Lazy load dialect to avoid circular dependency\n\tprivate getDialect() {\n\t\tif (!this.dialect) {\n\t\t\tthis.dialect = new SQLiteSyncDialect(this.dialectConfig);\n\t\t}\n\n\t\treturn this.dialect;\n\t}\n}\n", "import { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Placeholder, Query, SQLWrapper } from '~/sql/sql.ts';\nimport { Param, SQL, sql } from '~/sql/sql.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { IndexColumn } from '~/sqlite-core/indexes.ts';\nimport type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport type { Subquery } from '~/subquery.ts';\nimport { Columns, Table } from '~/table.ts';\nimport { type DrizzleTypeError, haveSameKeys, mapUpdateSet, orderSelectedFields, type Simplify } from '~/utils.ts';\nimport type { AnySQLiteColumn, SQLiteColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { QueryBuilder } from './query-builder.ts';\nimport type { SelectedFieldsFlat, SelectedFieldsOrdered } from './select.types.ts';\nimport type { SQLiteUpdateSetSource } from './update.ts';\n\nexport interface SQLiteInsertConfig {\n\ttable: TTable;\n\tvalues: Record[] | SQLiteInsertSelectQueryBuilder | SQL;\n\twithList?: Subquery[];\n\tonConflict?: SQL[];\n\treturning?: SelectedFieldsOrdered;\n\tselect?: boolean;\n}\n\nexport type SQLiteInsertValue = Simplify<\n\t{\n\t\t[Key in keyof TTable['$inferInsert']]: TTable['$inferInsert'][Key] | SQL | Placeholder;\n\t}\n>;\n\nexport type SQLiteInsertSelectQueryBuilder = TypedQueryBuilder<\n\t{ [K in keyof TTable['$inferInsert']]: AnySQLiteColumn | SQL | SQL.Aliased | TTable['$inferInsert'][K] }\n>;\n\nexport class SQLiteInsertBuilder<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteInsertBuilder';\n\n\tconstructor(\n\t\tprotected table: TTable,\n\t\tprotected session: SQLiteSession,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tvalues(value: SQLiteInsertValue): SQLiteInsertBase;\n\tvalues(values: SQLiteInsertValue[]): SQLiteInsertBase;\n\tvalues(\n\t\tvalues: SQLiteInsertValue | SQLiteInsertValue[],\n\t): SQLiteInsertBase {\n\t\tvalues = Array.isArray(values) ? values : [values];\n\t\tif (values.length === 0) {\n\t\t\tthrow new Error('values() must be called with at least one value');\n\t\t}\n\t\tconst mappedValues = values.map((entry) => {\n\t\t\tconst result: Record = {};\n\t\t\tconst cols = this.table[Table.Symbol.Columns];\n\t\t\tfor (const colKey of Object.keys(entry)) {\n\t\t\t\tconst colValue = entry[colKey as keyof typeof entry];\n\t\t\t\tresult[colKey] = is(colValue, SQL) ? colValue : new Param(colValue, cols[colKey]);\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\n\t\t// if (mappedValues.length > 1 && mappedValues.some((t) => Object.keys(t).length === 0)) {\n\t\t// \tthrow new Error(\n\t\t// \t\t`One of the values you want to insert is empty. In SQLite you can insert only one empty object per statement. For this case Drizzle with use \"INSERT INTO ... DEFAULT VALUES\" syntax`,\n\t\t// \t);\n\t\t// }\n\n\t\treturn new SQLiteInsertBase(this.table, mappedValues, this.session, this.dialect, this.withList);\n\t}\n\n\tselect(\n\t\tselectQuery: (qb: QueryBuilder) => SQLiteInsertSelectQueryBuilder,\n\t): SQLiteInsertBase;\n\tselect(selectQuery: (qb: QueryBuilder) => SQL): SQLiteInsertBase;\n\tselect(selectQuery: SQL): SQLiteInsertBase;\n\tselect(selectQuery: SQLiteInsertSelectQueryBuilder): SQLiteInsertBase;\n\tselect(\n\t\tselectQuery:\n\t\t\t| SQL\n\t\t\t| SQLiteInsertSelectQueryBuilder\n\t\t\t| ((qb: QueryBuilder) => SQLiteInsertSelectQueryBuilder | SQL),\n\t): SQLiteInsertBase {\n\t\tconst select = typeof selectQuery === 'function' ? selectQuery(new QueryBuilder()) : selectQuery;\n\n\t\tif (\n\t\t\t!is(select, SQL)\n\t\t\t&& !haveSameKeys(this.table[Columns], select._.selectedFields)\n\t\t) {\n\t\t\tthrow new Error(\n\t\t\t\t'Insert select error: selected fields are not the same or are in a different order compared to the table definition',\n\t\t\t);\n\t\t}\n\n\t\treturn new SQLiteInsertBase(this.table, select, this.session, this.dialect, this.withList, true);\n\t}\n}\n\nexport type SQLiteInsertWithout =\n\tTDynamic extends true ? T\n\t\t: Omit<\n\t\t\tSQLiteInsertBase<\n\t\t\t\tT['_']['table'],\n\t\t\t\tT['_']['resultType'],\n\t\t\t\tT['_']['runResult'],\n\t\t\t\tT['_']['returning'],\n\t\t\t\tTDynamic,\n\t\t\t\tT['_']['excludedMethods'] | K\n\t\t\t>,\n\t\t\tT['_']['excludedMethods'] | K\n\t\t>;\n\nexport type SQLiteInsertReturning<\n\tT extends AnySQLiteInsert,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFieldsFlat,\n> = SQLiteInsertWithout<\n\tSQLiteInsertBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tSelectResultFields,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteInsertReturningAll<\n\tT extends AnySQLiteInsert,\n\tTDynamic extends boolean,\n> = SQLiteInsertWithout<\n\tSQLiteInsertBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteInsertOnConflictDoUpdateConfig = {\n\ttarget: IndexColumn | IndexColumn[];\n\t/** @deprecated - use either `targetWhere` or `setWhere` */\n\twhere?: SQL;\n\t// TODO: add tests for targetWhere and setWhere\n\ttargetWhere?: SQL;\n\tsetWhere?: SQL;\n\tset: SQLiteUpdateSetSource;\n};\n\nexport type SQLiteInsertDynamic = SQLiteInsert<\n\tT['_']['table'],\n\tT['_']['resultType'],\n\tT['_']['runResult'],\n\tT['_']['returning']\n>;\n\nexport type SQLiteInsertExecute = T['_']['returning'] extends undefined ? T['_']['runResult']\n\t: T['_']['returning'][];\n\nexport type SQLiteInsertPrepare = SQLitePreparedQuery<\n\t{\n\t\ttype: T['_']['resultType'];\n\t\trun: T['_']['runResult'];\n\t\tall: T['_']['returning'] extends undefined ? DrizzleTypeError<'.all() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'][];\n\t\tget: T['_']['returning'] extends undefined ? DrizzleTypeError<'.get() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'];\n\t\tvalues: T['_']['returning'] extends undefined ? DrizzleTypeError<'.values() cannot be used without .returning()'>\n\t\t\t: any[][];\n\t\texecute: SQLiteInsertExecute;\n\t}\n>;\n\nexport type AnySQLiteInsert = SQLiteInsertBase;\n\nexport type SQLiteInsert<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTReturning = any,\n> = SQLiteInsertBase;\n\nexport interface SQLiteInsertBase<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends\n\tSQLWrapper,\n\tQueryPromise,\n\tRunnableQuery\n{\n\treadonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly table: TTable;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? TRunResult : TReturning[];\n\t};\n}\n\nexport class SQLiteInsertBase<\n\tTTable extends SQLiteTable,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTReturning = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise\n\timplements RunnableQuery, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteInsert';\n\n\t/** @internal */\n\tconfig: SQLiteInsertConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tvalues: SQLiteInsertConfig['values'],\n\t\tprivate session: SQLiteSession,\n\t\tprivate dialect: SQLiteDialect,\n\t\twithList?: Subquery[],\n\t\tselect?: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.config = { table, values: values as any, withList, select };\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the inserted rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#insert-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and return all fields\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t *\n\t * // Insert one row and return only the id\n\t * const insertedCarId: { id: number }[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning({ id: cars.id });\n\t * ```\n\t */\n\treturning(): SQLiteInsertReturningAll;\n\treturning(\n\t\tfields: TSelectedFields,\n\t): SQLiteInsertReturning;\n\treturning(\n\t\tfields: SelectedFieldsFlat = this.config.table[SQLiteTable.Symbol.Columns],\n\t): SQLiteInsertWithout {\n\t\tthis.config.returning = orderSelectedFields(fields);\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds an `on conflict do nothing` clause to the query.\n\t *\n\t * Calling this method simply avoids inserting a row as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#on-conflict-do-nothing}\n\t *\n\t * @param config The `target` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Insert one row and cancel the insert if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing();\n\t *\n\t * // Explicitly specify conflict target\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoNothing({ target: cars.id });\n\t * ```\n\t */\n\tonConflictDoNothing(config: { target?: IndexColumn | IndexColumn[]; where?: SQL } = {}): this {\n\t\tif (!this.config.onConflict) this.config.onConflict = [];\n\n\t\tif (config.target === undefined) {\n\t\t\tthis.config.onConflict.push(sql` on conflict do nothing`);\n\t\t} else {\n\t\t\tconst targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;\n\t\t\tconst whereSql = config.where ? sql` where ${config.where}` : sql``;\n\t\t\tthis.config.onConflict.push(sql` on conflict ${targetSql} do nothing${whereSql}`);\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds an `on conflict do update` clause to the query.\n\t *\n\t * Calling this method will update the existing row that conflicts with the row proposed for insertion as its alternative action.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert#upserts-and-conflicts}\n\t *\n\t * @param config The `target`, `set` and `where` clauses.\n\t *\n\t * @example\n\t * ```ts\n\t * // Update the row if there's a conflict\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'Porsche' }\n\t * });\n\t *\n\t * // Upsert with 'where' clause\n\t * await db.insert(cars)\n\t * .values({ id: 1, brand: 'BMW' })\n\t * .onConflictDoUpdate({\n\t * target: cars.id,\n\t * set: { brand: 'newBMW' },\n\t * where: sql`${cars.createdAt} > '2023-01-01'::date`,\n\t * });\n\t * ```\n\t */\n\tonConflictDoUpdate(config: SQLiteInsertOnConflictDoUpdateConfig): this {\n\t\tif (config.where && (config.targetWhere || config.setWhere)) {\n\t\t\tthrow new Error(\n\t\t\t\t'You cannot use both \"where\" and \"targetWhere\"/\"setWhere\" at the same time - \"where\" is deprecated, use \"targetWhere\" or \"setWhere\" instead.',\n\t\t\t);\n\t\t}\n\n\t\tif (!this.config.onConflict) this.config.onConflict = [];\n\n\t\tconst whereSql = config.where ? sql` where ${config.where}` : undefined;\n\t\tconst targetWhereSql = config.targetWhere ? sql` where ${config.targetWhere}` : undefined;\n\t\tconst setWhereSql = config.setWhere ? sql` where ${config.setWhere}` : undefined;\n\t\tconst targetSql = Array.isArray(config.target) ? sql`${config.target}` : sql`${[config.target]}`;\n\t\tconst setSql = this.dialect.buildUpdateSet(this.config.table, mapUpdateSet(this.config.table, config.set));\n\t\tthis.config.onConflict.push(\n\t\t\tsql` on conflict ${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`,\n\t\t);\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildInsertQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(isOneTimeQuery = true): SQLiteInsertPrepare {\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t\tthis.config.returning ? 'all' : 'run',\n\t\t\ttrue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\ttype: 'insert',\n\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t},\n\t\t) as SQLiteInsertPrepare;\n\t}\n\n\tprepare(): SQLiteInsertPrepare {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\toverride async execute(): Promise> {\n\t\treturn (this.config.returning ? this.all() : this.run()) as SQLiteInsertExecute;\n\t}\n\n\t$dynamic(): SQLiteInsertDynamic {\n\t\treturn this as any;\n\t}\n}\n", "//# sourceMappingURL=select.types.js.map", "import type { GetColumnData } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { JoinType, SelectResultFields } from '~/query-builders/select.types.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { Placeholder, Query, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteDialect } from '~/sqlite-core/dialect.ts';\nimport type { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport {\n\ttype DrizzleTypeError,\n\tgetTableLikeName,\n\tmapUpdateSet,\n\torderSelectedFields,\n\ttype UpdateSet,\n\ttype ValueOrArray,\n} from '~/utils.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { SQLiteColumn } from '../columns/common.ts';\nimport { extractUsedTable } from '../utils.ts';\nimport { SQLiteViewBase } from '../view-base.ts';\nimport type { SelectedFields, SelectedFieldsOrdered, SQLiteSelectJoinConfig } from './select.types.ts';\n\nexport interface SQLiteUpdateConfig {\n\twhere?: SQL | undefined;\n\tlimit?: number | Placeholder;\n\torderBy?: (SQLiteColumn | SQL | SQL.Aliased)[];\n\tset: UpdateSet;\n\ttable: SQLiteTable;\n\tfrom?: SQLiteTable | Subquery | SQLiteViewBase | SQL;\n\tjoins: SQLiteSelectJoinConfig[];\n\treturning?: SelectedFieldsOrdered;\n\twithList?: Subquery[];\n}\n\nexport type SQLiteUpdateSetSource =\n\t& {\n\t\t[Key in keyof TTable['$inferInsert']]?:\n\t\t\t| GetColumnData\n\t\t\t| SQL\n\t\t\t| SQLiteColumn\n\t\t\t| undefined;\n\t}\n\t& {};\n\nexport class SQLiteUpdateBuilder<\n\tTTable extends SQLiteTable,\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteUpdateBuilder';\n\n\tdeclare readonly _: {\n\t\treadonly table: TTable;\n\t};\n\n\tconstructor(\n\t\tprotected table: TTable,\n\t\tprotected session: SQLiteSession,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprivate withList?: Subquery[],\n\t) {}\n\n\tset(\n\t\tvalues: SQLiteUpdateSetSource,\n\t): SQLiteUpdateWithout<\n\t\tSQLiteUpdateBase,\n\t\tfalse,\n\t\t'leftJoin' | 'rightJoin' | 'innerJoin' | 'fullJoin'\n\t> {\n\t\treturn new SQLiteUpdateBase(\n\t\t\tthis.table,\n\t\t\tmapUpdateSet(this.table, values),\n\t\t\tthis.session,\n\t\t\tthis.dialect,\n\t\t\tthis.withList,\n\t\t) as any;\n\t}\n}\n\nexport type SQLiteUpdateWithout<\n\tT extends AnySQLiteUpdate,\n\tTDynamic extends boolean,\n\tK extends keyof T & string,\n> = TDynamic extends true ? T : Omit<\n\tSQLiteUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['from'],\n\t\tT['_']['returning'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods'] | K\n\t>,\n\tT['_']['excludedMethods'] | K\n>;\n\nexport type SQLiteUpdateWithJoins<\n\tT extends AnySQLiteUpdate,\n\tTDynamic extends boolean,\n\tTFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL,\n> = TDynamic extends true ? T : Omit<\n\tSQLiteUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tTFrom,\n\t\tT['_']['returning'],\n\t\tTDynamic,\n\t\tExclude\n\t>,\n\tExclude\n>;\n\nexport type SQLiteUpdateReturningAll = SQLiteUpdateWithout<\n\tSQLiteUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['from'],\n\t\tT['_']['table']['$inferSelect'],\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteUpdateReturning<\n\tT extends AnySQLiteUpdate,\n\tTDynamic extends boolean,\n\tTSelectedFields extends SelectedFields,\n> = SQLiteUpdateWithout<\n\tSQLiteUpdateBase<\n\t\tT['_']['table'],\n\t\tT['_']['resultType'],\n\t\tT['_']['runResult'],\n\t\tT['_']['from'],\n\t\tSelectResultFields,\n\t\tTDynamic,\n\t\tT['_']['excludedMethods']\n\t>,\n\tTDynamic,\n\t'returning'\n>;\n\nexport type SQLiteUpdateExecute = T['_']['returning'] extends undefined ? T['_']['runResult']\n\t: T['_']['returning'][];\n\nexport type SQLiteUpdatePrepare = SQLitePreparedQuery<\n\t{\n\t\ttype: T['_']['resultType'];\n\t\trun: T['_']['runResult'];\n\t\tall: T['_']['returning'] extends undefined ? DrizzleTypeError<'.all() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'][];\n\t\tget: T['_']['returning'] extends undefined ? DrizzleTypeError<'.get() cannot be used without .returning()'>\n\t\t\t: T['_']['returning'];\n\t\tvalues: T['_']['returning'] extends undefined ? DrizzleTypeError<'.values() cannot be used without .returning()'>\n\t\t\t: any[][];\n\t\texecute: SQLiteUpdateExecute;\n\t}\n>;\n\nexport type SQLiteUpdateJoinFn<\n\tT extends AnySQLiteUpdate,\n> = <\n\tTJoinedTable extends SQLiteTable | Subquery | SQLiteViewBase | SQL,\n>(\n\ttable: TJoinedTable,\n\ton:\n\t\t| (\n\t\t\t(\n\t\t\t\tupdateTable: T['_']['table']['_']['columns'],\n\t\t\t\tfrom: T['_']['from'] extends SQLiteTable ? T['_']['from']['_']['columns']\n\t\t\t\t\t: T['_']['from'] extends Subquery | SQLiteViewBase ? T['_']['from']['_']['selectedFields']\n\t\t\t\t\t: never,\n\t\t\t) => SQL | undefined\n\t\t)\n\t\t| SQL\n\t\t| undefined,\n) => T;\n\nexport type SQLiteUpdateDynamic = SQLiteUpdate<\n\tT['_']['table'],\n\tT['_']['resultType'],\n\tT['_']['runResult'],\n\tT['_']['returning']\n>;\n\nexport type SQLiteUpdate<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = any,\n\tTFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined,\n\tTReturning extends Record | undefined = Record | undefined,\n> = SQLiteUpdateBase;\n\nexport type AnySQLiteUpdate = SQLiteUpdateBase;\n\nexport interface SQLiteUpdateBase<\n\tTTable extends SQLiteTable = SQLiteTable,\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined,\n\tTReturning = undefined,\n\tTDynamic extends boolean = false,\n\tTExcludedMethods extends string = never,\n> extends SQLWrapper, QueryPromise {\n\treadonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly table: TTable;\n\t\treadonly resultType: TResultType;\n\t\treadonly runResult: TRunResult;\n\t\treadonly from: TFrom;\n\t\treadonly returning: TReturning;\n\t\treadonly dynamic: TDynamic;\n\t\treadonly excludedMethods: TExcludedMethods;\n\t\treadonly result: TReturning extends undefined ? TRunResult : TReturning[];\n\t};\n}\n\nexport class SQLiteUpdateBase<\n\tTTable extends SQLiteTable = SQLiteTable,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTResultType extends 'sync' | 'async' = 'sync' | 'async',\n\tTRunResult = unknown,\n\tTFrom extends SQLiteTable | Subquery | SQLiteViewBase | SQL | undefined = undefined,\n\tTReturning = undefined,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTDynamic extends boolean = false,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tTExcludedMethods extends string = never,\n> extends QueryPromise\n\timplements RunnableQuery, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteUpdate';\n\n\t/** @internal */\n\tconfig: SQLiteUpdateConfig;\n\n\tconstructor(\n\t\ttable: TTable,\n\t\tset: UpdateSet,\n\t\tprivate session: SQLiteSession,\n\t\tprivate dialect: SQLiteDialect,\n\t\twithList?: Subquery[],\n\t) {\n\t\tsuper();\n\t\tthis.config = { set, table, withList, joins: [] };\n\t}\n\n\tfrom(\n\t\tsource: TFrom,\n\t): SQLiteUpdateWithJoins {\n\t\tthis.config.from = source;\n\t\treturn this as any;\n\t}\n\n\tprivate createJoin(\n\t\tjoinType: TJoinType,\n\t): SQLiteUpdateJoinFn {\n\t\treturn ((\n\t\t\ttable: SQLiteTable | Subquery | SQLiteViewBase | SQL,\n\t\t\ton: ((updateTable: TTable, from: TFrom) => SQL | undefined) | SQL | undefined,\n\t\t) => {\n\t\t\tconst tableName = getTableLikeName(table);\n\n\t\t\tif (typeof tableName === 'string' && this.config.joins.some((join) => join.alias === tableName)) {\n\t\t\t\tthrow new Error(`Alias \"${tableName}\" is already used in this query`);\n\t\t\t}\n\n\t\t\tif (typeof on === 'function') {\n\t\t\t\tconst from = this.config.from\n\t\t\t\t\t? is(table, SQLiteTable)\n\t\t\t\t\t\t? table[Table.Symbol.Columns]\n\t\t\t\t\t\t: is(table, Subquery)\n\t\t\t\t\t\t? table._.selectedFields\n\t\t\t\t\t\t: is(table, SQLiteViewBase)\n\t\t\t\t\t\t? table[ViewBaseConfig].selectedFields\n\t\t\t\t\t\t: undefined\n\t\t\t\t\t: undefined;\n\t\t\t\ton = on(\n\t\t\t\t\tnew Proxy(\n\t\t\t\t\t\tthis.config.table[Table.Symbol.Columns],\n\t\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t\t) as any,\n\t\t\t\t\tfrom && new Proxy(\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'sql', sqlBehavior: 'sql' }),\n\t\t\t\t\t) as any,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.config.joins.push({ on, table, joinType, alias: tableName });\n\n\t\t\treturn this as any;\n\t\t}) as any;\n\t}\n\n\tleftJoin = this.createJoin('left');\n\n\trightJoin = this.createJoin('right');\n\n\tinnerJoin = this.createJoin('inner');\n\n\tfullJoin = this.createJoin('full');\n\n\t/**\n\t * Adds a 'where' clause to the query.\n\t *\n\t * Calling this method will update only those rows that fulfill a specified condition.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param where the 'where' clause.\n\t *\n\t * @example\n\t * You can use conditional operators and `sql function` to filter the rows to be updated.\n\t *\n\t * ```ts\n\t * // Update all cars with green color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'));\n\t * // or\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(sql`${cars.color} = 'green'`)\n\t * ```\n\t *\n\t * You can logically combine conditional operators with `and()` and `or()` operators:\n\t *\n\t * ```ts\n\t * // Update all BMW cars with a green color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(and(eq(cars.color, 'green'), eq(cars.brand, 'BMW')));\n\t *\n\t * // Update all cars with the green or blue color\n\t * db.update(cars).set({ color: 'red' })\n\t * .where(or(eq(cars.color, 'green'), eq(cars.color, 'blue')));\n\t * ```\n\t */\n\twhere(where: SQL | undefined): SQLiteUpdateWithout {\n\t\tthis.config.where = where;\n\t\treturn this as any;\n\t}\n\n\torderBy(\n\t\tbuilder: (updateTable: TTable) => ValueOrArray,\n\t): SQLiteUpdateWithout;\n\torderBy(...columns: (SQLiteColumn | SQL | SQL.Aliased)[]): SQLiteUpdateWithout;\n\torderBy(\n\t\t...columns:\n\t\t\t| [(updateTable: TTable) => ValueOrArray]\n\t\t\t| (SQLiteColumn | SQL | SQL.Aliased)[]\n\t): SQLiteUpdateWithout {\n\t\tif (typeof columns[0] === 'function') {\n\t\t\tconst orderBy = columns[0](\n\t\t\t\tnew Proxy(\n\t\t\t\t\tthis.config.table[Table.Symbol.Columns],\n\t\t\t\t\tnew SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' }),\n\t\t\t\t) as any,\n\t\t\t);\n\n\t\t\tconst orderByArray = Array.isArray(orderBy) ? orderBy : [orderBy];\n\t\t\tthis.config.orderBy = orderByArray;\n\t\t} else {\n\t\t\tconst orderByArray = columns as (SQLiteColumn | SQL | SQL.Aliased)[];\n\t\t\tthis.config.orderBy = orderByArray;\n\t\t}\n\t\treturn this as any;\n\t}\n\n\tlimit(limit: number | Placeholder): SQLiteUpdateWithout {\n\t\tthis.config.limit = limit;\n\t\treturn this as any;\n\t}\n\n\t/**\n\t * Adds a `returning` clause to the query.\n\t *\n\t * Calling this method will return the specified fields of the updated rows. If no fields are specified, all fields will be returned.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update#update-with-returning}\n\t *\n\t * @example\n\t * ```ts\n\t * // Update all cars with the green color and return all fields\n\t * const updatedCars: Car[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'))\n\t * .returning();\n\t *\n\t * // Update all cars with the green color and return only their id and brand fields\n\t * const updatedCarsIdsAndBrands: { id: number, brand: string }[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.color, 'green'))\n\t * .returning({ id: cars.id, brand: cars.brand });\n\t * ```\n\t */\n\treturning(): SQLiteUpdateReturningAll;\n\treturning(\n\t\tfields: TSelectedFields,\n\t): SQLiteUpdateReturning;\n\treturning(\n\t\tfields: SelectedFields = this.config.table[SQLiteTable.Symbol.Columns],\n\t): SQLiteUpdateWithout {\n\t\tthis.config.returning = orderSelectedFields(fields);\n\t\treturn this as any;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildUpdateQuery(this.config);\n\t}\n\n\ttoSQL(): Query {\n\t\tconst { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn rest;\n\t}\n\n\t/** @internal */\n\t_prepare(isOneTimeQuery = true): SQLiteUpdatePrepare {\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tthis.dialect.sqlToQuery(this.getSQL()),\n\t\t\tthis.config.returning,\n\t\t\tthis.config.returning ? 'all' : 'run',\n\t\t\ttrue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\ttype: 'insert',\n\t\t\t\ttables: extractUsedTable(this.config.table),\n\t\t\t},\n\t\t) as SQLiteUpdatePrepare;\n\t}\n\n\tprepare(): SQLiteUpdatePrepare {\n\t\treturn this._prepare(false);\n\t}\n\n\trun: ReturnType['run'] = (placeholderValues) => {\n\t\treturn this._prepare().run(placeholderValues);\n\t};\n\n\tall: ReturnType['all'] = (placeholderValues) => {\n\t\treturn this._prepare().all(placeholderValues);\n\t};\n\n\tget: ReturnType['get'] = (placeholderValues) => {\n\t\treturn this._prepare().get(placeholderValues);\n\t};\n\n\tvalues: ReturnType['values'] = (placeholderValues) => {\n\t\treturn this._prepare().values(placeholderValues);\n\t};\n\n\toverride async execute(): Promise> {\n\t\treturn (this.config.returning ? this.all() : this.run()) as SQLiteUpdateExecute;\n\t}\n\n\t$dynamic(): SQLiteUpdateDynamic {\n\t\treturn this as any;\n\t}\n}\n", "export * from './delete.ts';\nexport * from './insert.ts';\nexport * from './query-builder.ts';\nexport * from './select.ts';\nexport * from './select.types.ts';\nexport * from './update.ts';\n", "import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteSession } from '../session.ts';\nimport type { SQLiteTable } from '../table.ts';\nimport type { SQLiteView } from '../view.ts';\n\nexport class SQLiteCountBuilder<\n\tTSession extends SQLiteSession,\n> extends SQL implements Promise, SQLWrapper {\n\tprivate sql: SQL;\n\n\tstatic override readonly [entityKind] = 'SQLiteCountBuilderAsync';\n\t[Symbol.toStringTag] = 'SQLiteCountBuilderAsync';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: SQLiteTable | SQLiteView | SQL | SQLWrapper,\n\t\tfilters?: SQL,\n\t): SQL {\n\t\treturn sql`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: SQLiteTable | SQLiteView | SQL | SQLWrapper,\n\t\tfilters?: SQL,\n\t): SQL {\n\t\treturn sql`select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters}`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: SQLiteTable | SQLiteView | SQL | SQLWrapper;\n\t\t\tfilters?: SQL;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(SQLiteCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = SQLiteCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\tthen(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined,\n\t): Promise {\n\t\treturn Promise.resolve(this.session.count(this.sql)).then(\n\t\t\tonfulfilled,\n\t\t\tonrejected,\n\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => never | PromiseLike) | null | undefined,\n\t): Promise {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport {\n\ttype BuildQueryResult,\n\ttype BuildRelationalQueryResult,\n\ttype DBQueryConfig,\n\tmapRelationalRow,\n\ttype TableRelationalConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { Query, QueryWithTypings, SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { KnownKeysOnly } from '~/utils.ts';\nimport type { SQLiteDialect } from '../dialect.ts';\nimport type { PreparedQueryConfig, SQLitePreparedQuery, SQLiteSession } from '../session.ts';\nimport type { SQLiteTable } from '../table.ts';\n\nexport type SQLiteRelationalQueryKind = TMode extends 'async'\n\t? SQLiteRelationalQuery\n\t: SQLiteSyncRelationalQuery;\n\nexport class RelationalQueryBuilder<\n\tTMode extends 'sync' | 'async',\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n\tTFields extends TableRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteAsyncRelationalQueryBuilder';\n\n\tconstructor(\n\t\tprotected mode: TMode,\n\t\tprotected fullSchema: Record,\n\t\tprotected schema: TSchema,\n\t\tprotected tableNamesMap: Record,\n\t\tprotected table: SQLiteTable,\n\t\tprotected tableConfig: TableRelationalConfig,\n\t\tprotected dialect: SQLiteDialect,\n\t\tprotected session: SQLiteSession<'async', unknown, TFullSchema, TSchema>,\n\t) {}\n\n\tfindMany>(\n\t\tconfig?: KnownKeysOnly>,\n\t): SQLiteRelationalQueryKind[]> {\n\t\treturn (this.mode === 'sync'\n\t\t\t? new SQLiteSyncRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? (config as DBQueryConfig<'many', true>) : {},\n\t\t\t\t'many',\n\t\t\t)\n\t\t\t: new SQLiteRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? (config as DBQueryConfig<'many', true>) : {},\n\t\t\t\t'many',\n\t\t\t)) as SQLiteRelationalQueryKind[]>;\n\t}\n\n\tfindFirst, 'limit'>>(\n\t\tconfig?: KnownKeysOnly, 'limit'>>,\n\t): SQLiteRelationalQueryKind | undefined> {\n\t\treturn (this.mode === 'sync'\n\t\t\t? new SQLiteSyncRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? { ...(config as DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t\t'first',\n\t\t\t)\n\t\t\t: new SQLiteRelationalQuery(\n\t\t\t\tthis.fullSchema,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.tableNamesMap,\n\t\t\t\tthis.table,\n\t\t\t\tthis.tableConfig,\n\t\t\t\tthis.dialect,\n\t\t\t\tthis.session,\n\t\t\t\tconfig ? { ...(config as DBQueryConfig<'many', true> | undefined), limit: 1 } : { limit: 1 },\n\t\t\t\t'first',\n\t\t\t)) as SQLiteRelationalQueryKind | undefined>;\n\t}\n}\n\nexport class SQLiteRelationalQuery extends QueryPromise\n\timplements RunnableQuery, SQLWrapper\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteAsyncRelationalQuery';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly type: TType;\n\t\treadonly result: TResult;\n\t};\n\n\t/** @internal */\n\tmode: 'many' | 'first';\n\n\tconstructor(\n\t\tprivate fullSchema: Record,\n\t\tprivate schema: TablesRelationalConfig,\n\t\tprivate tableNamesMap: Record,\n\t\t/** @internal */\n\t\tpublic table: SQLiteTable,\n\t\tprivate tableConfig: TableRelationalConfig,\n\t\tprivate dialect: SQLiteDialect,\n\t\tprivate session: SQLiteSession<'sync' | 'async', unknown, Record, TablesRelationalConfig>,\n\t\tprivate config: DBQueryConfig<'many', true> | true,\n\t\tmode: 'many' | 'first',\n\t) {\n\t\tsuper();\n\t\tthis.mode = mode;\n\t}\n\n\t/** @internal */\n\tgetSQL(): SQL {\n\t\treturn this.dialect.buildRelationalQuery({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t}).sql as SQL;\n\t}\n\n\t/** @internal */\n\t_prepare(\n\t\tisOneTimeQuery = false,\n\t): SQLitePreparedQuery {\n\t\tconst { query, builtQuery } = this._toSQL();\n\n\t\treturn this.session[isOneTimeQuery ? 'prepareOneTimeQuery' : 'prepareQuery'](\n\t\t\tbuiltQuery,\n\t\t\tundefined,\n\t\t\tthis.mode === 'first' ? 'get' : 'all',\n\t\t\ttrue,\n\t\t\t(rawRows, mapColumnValue) => {\n\t\t\t\tconst rows = rawRows.map((row) =>\n\t\t\t\t\tmapRelationalRow(this.schema, this.tableConfig, row, query.selection, mapColumnValue)\n\t\t\t\t);\n\t\t\t\tif (this.mode === 'first') {\n\t\t\t\t\treturn rows[0] as TResult;\n\t\t\t\t}\n\t\t\t\treturn rows as TResult;\n\t\t\t},\n\t\t) as SQLitePreparedQuery;\n\t}\n\n\tprepare(): SQLitePreparedQuery {\n\t\treturn this._prepare(false);\n\t}\n\n\tprivate _toSQL(): { query: BuildRelationalQueryResult; builtQuery: QueryWithTypings } {\n\t\tconst query = this.dialect.buildRelationalQuery({\n\t\t\tfullSchema: this.fullSchema,\n\t\t\tschema: this.schema,\n\t\t\ttableNamesMap: this.tableNamesMap,\n\t\t\ttable: this.table,\n\t\t\ttableConfig: this.tableConfig,\n\t\t\tqueryConfig: this.config,\n\t\t\ttableAlias: this.tableConfig.tsName,\n\t\t});\n\n\t\tconst builtQuery = this.dialect.sqlToQuery(query.sql as SQL);\n\n\t\treturn { query, builtQuery };\n\t}\n\n\ttoSQL(): Query {\n\t\treturn this._toSQL().builtQuery;\n\t}\n\n\t/** @internal */\n\texecuteRaw(): TResult {\n\t\tif (this.mode === 'first') {\n\t\t\treturn this._prepare(false).get() as TResult;\n\t\t}\n\t\treturn this._prepare(false).all() as TResult;\n\t}\n\n\toverride async execute(): Promise {\n\t\treturn this.executeRaw();\n\t}\n}\n\nexport class SQLiteSyncRelationalQuery extends SQLiteRelationalQuery<'sync', TResult> {\n\tstatic override readonly [entityKind]: string = 'SQLiteSyncRelationalQuery';\n\n\tsync(): TResult {\n\t\treturn this.executeRaw();\n\t}\n}\n", "import { entityKind } from '~/entity.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '../dialect.ts';\n\ntype SQLiteRawAction = 'all' | 'get' | 'values' | 'run';\nexport interface SQLiteRawConfig {\n\taction: SQLiteRawAction;\n}\n\nexport interface SQLiteRaw extends QueryPromise, RunnableQuery, SQLWrapper {}\n\nexport class SQLiteRaw extends QueryPromise\n\timplements RunnableQuery, SQLWrapper, PreparedQuery\n{\n\tstatic override readonly [entityKind]: string = 'SQLiteRaw';\n\n\tdeclare readonly _: {\n\t\treadonly dialect: 'sqlite';\n\t\treadonly result: TResult;\n\t};\n\n\t/** @internal */\n\tconfig: SQLiteRawConfig;\n\n\tconstructor(\n\t\tpublic execute: () => Promise,\n\t\t/** @internal */\n\t\tpublic getSQL: () => SQL,\n\t\taction: SQLiteRawAction,\n\t\tprivate dialect: SQLiteAsyncDialect,\n\t\tprivate mapBatchResult: (result: unknown) => unknown,\n\t) {\n\t\tsuper();\n\t\tthis.config = { action };\n\t}\n\n\tgetQuery() {\n\t\treturn { ...this.dialect.sqlToQuery(this.getSQL()), method: this.config.action };\n\t}\n\n\tmapResult(result: unknown, isFromBatch?: boolean) {\n\t\treturn isFromBatch ? this.mapBatchResult(result) : result;\n\t}\n\n\t_prepare(): PreparedQuery {\n\t\treturn this;\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn false;\n\t}\n}\n", "import type { Cache } from '~/cache/core/cache.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport { type ColumnsSelection, type SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport {\n\tQueryBuilder,\n\tSQLiteDeleteBase,\n\tSQLiteInsertBuilder,\n\tSQLiteSelectBuilder,\n\tSQLiteUpdateBuilder,\n} from '~/sqlite-core/query-builders/index.ts';\nimport type {\n\tDBResult,\n\tResult,\n\tSQLiteSession,\n\tSQLiteTransaction,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport type { SQLiteTable } from '~/sqlite-core/table.ts';\nimport { WithSubquery } from '~/subquery.ts';\nimport type { DrizzleTypeError } from '~/utils.ts';\nimport { SQLiteCountBuilder } from './query-builders/count.ts';\nimport { RelationalQueryBuilder } from './query-builders/query.ts';\nimport { SQLiteRaw } from './query-builders/raw.ts';\nimport type { SelectedFields } from './query-builders/select.types.ts';\nimport type { WithBuilder } from './subquery.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\n\nexport class BaseSQLiteDatabase<\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record = Record,\n\tTSchema extends TablesRelationalConfig = ExtractTablesWithRelations,\n> {\n\tstatic readonly [entityKind]: string = 'BaseSQLiteDatabase';\n\n\tdeclare readonly _: {\n\t\treadonly schema: TSchema | undefined;\n\t\treadonly fullSchema: TFullSchema;\n\t\treadonly tableNamesMap: Record;\n\t};\n\n\tquery: TFullSchema extends Record\n\t\t? DrizzleTypeError<'Seems like the schema generic is missing - did you forget to add it to your DB type?'>\n\t\t: {\n\t\t\t[K in keyof TSchema]: RelationalQueryBuilder;\n\t\t};\n\n\tconstructor(\n\t\tprivate resultKind: TResultKind,\n\t\t/** @internal */\n\t\treadonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],\n\t\t/** @internal */\n\t\treadonly session: SQLiteSession,\n\t\tschema: RelationalSchemaConfig | undefined,\n\t) {\n\t\tthis._ = schema\n\t\t\t? {\n\t\t\t\tschema: schema.schema,\n\t\t\t\tfullSchema: schema.fullSchema as TFullSchema,\n\t\t\t\ttableNamesMap: schema.tableNamesMap,\n\t\t\t}\n\t\t\t: {\n\t\t\t\tschema: undefined,\n\t\t\t\tfullSchema: {} as TFullSchema,\n\t\t\t\ttableNamesMap: {},\n\t\t\t};\n\t\tthis.query = {} as typeof this['query'];\n\t\tconst query = this.query as {\n\t\t\t[K in keyof TSchema]: RelationalQueryBuilder;\n\t\t};\n\t\tif (this._.schema) {\n\t\t\tfor (const [tableName, columns] of Object.entries(this._.schema)) {\n\t\t\t\tquery[tableName as keyof TSchema] = new RelationalQueryBuilder(\n\t\t\t\t\tresultKind,\n\t\t\t\t\tschema!.fullSchema,\n\t\t\t\t\tthis._.schema,\n\t\t\t\t\tthis._.tableNamesMap,\n\t\t\t\t\tschema!.fullSchema[tableName] as SQLiteTable,\n\t\t\t\t\tcolumns,\n\t\t\t\t\tdialect,\n\t\t\t\t\tsession as SQLiteSession as any,\n\t\t\t\t) as typeof query[keyof TSchema];\n\t\t\t}\n\t\t}\n\t\tthis.$cache = { invalidate: async (_params: any) => {} };\n\t}\n\n\t/**\n\t * Creates a subquery that defines a temporary named result set as a CTE.\n\t *\n\t * It is useful for breaking down complex queries into simpler parts and for reusing the result set in subsequent parts of the query.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}\n\t *\n\t * @param alias The alias for the subquery.\n\t *\n\t * Failure to provide an alias will result in a DrizzleTypeError, preventing the subquery from being referenced in other queries.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Create a subquery with alias 'sq' and use it in the select query\n\t * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));\n\t *\n\t * const result = await db.with(sq).select().from(sq);\n\t * ```\n\t *\n\t * To select arbitrary SQL values as fields in a CTE and reference them in other CTEs or in the main query, you need to add aliases to them:\n\t *\n\t * ```ts\n\t * // Select an arbitrary SQL value as a field in a CTE and reference it in the main query\n\t * const sq = db.$with('sq').as(db.select({\n\t * name: sql`upper(${users.name})`.as('name'),\n\t * })\n\t * .from(users));\n\t *\n\t * const result = await db.with(sq).select({ name: sq.name }).from(sq);\n\t * ```\n\t */\n\t$with: WithBuilder = (alias: string, selection?: ColumnsSelection) => {\n\t\tconst self = this;\n\t\tconst as = (\n\t\t\tqb:\n\t\t\t\t| TypedQueryBuilder\n\t\t\t\t| SQL\n\t\t\t\t| ((qb: QueryBuilder) => TypedQueryBuilder | SQL),\n\t\t) => {\n\t\t\tif (typeof qb === 'function') {\n\t\t\t\tqb = qb(new QueryBuilder(self.dialect));\n\t\t\t}\n\n\t\t\treturn new Proxy(\n\t\t\t\tnew WithSubquery(\n\t\t\t\t\tqb.getSQL(),\n\t\t\t\t\tselection ?? ('getSelectedFields' in qb ? qb.getSelectedFields() ?? {} : {}) as SelectedFields,\n\t\t\t\t\talias,\n\t\t\t\t\ttrue,\n\t\t\t\t),\n\t\t\t\tnew SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),\n\t\t\t);\n\t\t};\n\t\treturn { as };\n\t};\n\n\t$count(\n\t\tsource: SQLiteTable | SQLiteViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL,\n\t) {\n\t\treturn new SQLiteCountBuilder({ source, filters, session: this.session });\n\t}\n\n\t/**\n\t * Incorporates a previously defined CTE (using `$with`) into the main query.\n\t *\n\t * This method allows the main query to reference a temporary named result set.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#with-clause}\n\t *\n\t * @param queries The CTEs to incorporate into the main query.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Define a subquery 'sq' as a CTE using $with\n\t * const sq = db.$with('sq').as(db.select().from(users).where(eq(users.id, 42)));\n\t *\n\t * // Incorporate the CTE 'sq' into the main query and select from it\n\t * const result = await db.with(sq).select().from(sq);\n\t * ```\n\t */\n\twith(...queries: WithSubquery[]) {\n\t\tconst self = this;\n\n\t\t/**\n\t\t * Creates a select query.\n\t\t *\n\t\t * Calling this method with no arguments will select all columns from the table. Pass a selection object to specify the columns you want to select.\n\t\t *\n\t\t * Use `.from()` method to specify which table to select from.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/select}\n\t\t *\n\t\t * @param fields The selection object.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Select all columns and all rows from the 'cars' table\n\t\t * const allCars: Car[] = await db.select().from(cars);\n\t\t *\n\t\t * // Select specific columns and all rows from the 'cars' table\n\t\t * const carsIdsAndBrands: { id: number; brand: string }[] = await db.select({\n\t\t * id: cars.id,\n\t\t * brand: cars.brand\n\t\t * })\n\t\t * .from(cars);\n\t\t * ```\n\t\t *\n\t\t * Like in SQL, you can use arbitrary expressions as selection fields, not just table columns:\n\t\t *\n\t\t * ```ts\n\t\t * // Select specific columns along with expression and all rows from the 'cars' table\n\t\t * const carsIdsAndLowerNames: { id: number; lowerBrand: string }[] = await db.select({\n\t\t * id: cars.id,\n\t\t * lowerBrand: sql`lower(${cars.brand})`,\n\t\t * })\n\t\t * .from(cars);\n\t\t * ```\n\t\t */\n\t\tfunction select(): SQLiteSelectBuilder;\n\t\tfunction select(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder;\n\t\tfunction select(\n\t\t\tfields?: SelectedFields,\n\t\t): SQLiteSelectBuilder {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: self.session,\n\t\t\t\tdialect: self.dialect,\n\t\t\t\twithList: queries,\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Adds `distinct` expression to the select query.\n\t\t *\n\t\t * Calling this method will return only unique values. When multiple columns are selected, it returns rows with unique combinations of values in these columns.\n\t\t *\n\t\t * Use `.from()` method to specify which table to select from.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/select#distinct}\n\t\t *\n\t\t * @param fields The selection object.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Select all unique rows from the 'cars' table\n\t\t * await db.selectDistinct()\n\t\t * .from(cars)\n\t\t * .orderBy(cars.id, cars.brand, cars.color);\n\t\t *\n\t\t * // Select all unique brands from the 'cars' table\n\t\t * await db.selectDistinct({ brand: cars.brand })\n\t\t * .from(cars)\n\t\t * .orderBy(cars.brand);\n\t\t * ```\n\t\t */\n\t\tfunction selectDistinct(): SQLiteSelectBuilder;\n\t\tfunction selectDistinct(\n\t\t\tfields: TSelection,\n\t\t): SQLiteSelectBuilder;\n\t\tfunction selectDistinct(\n\t\t\tfields?: SelectedFields,\n\t\t): SQLiteSelectBuilder {\n\t\t\treturn new SQLiteSelectBuilder({\n\t\t\t\tfields: fields ?? undefined,\n\t\t\t\tsession: self.session,\n\t\t\t\tdialect: self.dialect,\n\t\t\t\twithList: queries,\n\t\t\t\tdistinct: true,\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Creates an update query.\n\t\t *\n\t\t * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.\n\t\t *\n\t\t * Use `.set()` method to specify which values to update.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t\t *\n\t\t * @param table The table to update.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Update all rows in the 'cars' table\n\t\t * await db.update(cars).set({ color: 'red' });\n\t\t *\n\t\t * // Update rows with filters and conditions\n\t\t * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));\n\t\t *\n\t\t * // Update with returning clause\n\t\t * const updatedCar: Car[] = await db.update(cars)\n\t\t * .set({ color: 'red' })\n\t\t * .where(eq(cars.id, 1))\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction update(table: TTable): SQLiteUpdateBuilder {\n\t\t\treturn new SQLiteUpdateBuilder(table, self.session, self.dialect, queries);\n\t\t}\n\n\t\t/**\n\t\t * Creates an insert query.\n\t\t *\n\t\t * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/insert}\n\t\t *\n\t\t * @param table The table to insert into.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Insert one row\n\t\t * await db.insert(cars).values({ brand: 'BMW' });\n\t\t *\n\t\t * // Insert multiple rows\n\t\t * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);\n\t\t *\n\t\t * // Insert with returning clause\n\t\t * const insertedCar: Car[] = await db.insert(cars)\n\t\t * .values({ brand: 'BMW' })\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction insert(into: TTable): SQLiteInsertBuilder {\n\t\t\treturn new SQLiteInsertBuilder(into, self.session, self.dialect, queries);\n\t\t}\n\n\t\t/**\n\t\t * Creates a delete query.\n\t\t *\n\t\t * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.\n\t\t *\n\t\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t\t *\n\t\t * @param table The table to delete from.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * ```ts\n\t\t * // Delete all rows in the 'cars' table\n\t\t * await db.delete(cars);\n\t\t *\n\t\t * // Delete rows with filters and conditions\n\t\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t\t *\n\t\t * // Delete with returning clause\n\t\t * const deletedCar: Car[] = await db.delete(cars)\n\t\t * .where(eq(cars.id, 1))\n\t\t * .returning();\n\t\t * ```\n\t\t */\n\t\tfunction delete_(from: TTable): SQLiteDeleteBase {\n\t\t\treturn new SQLiteDeleteBase(from, self.session, self.dialect, queries);\n\t\t}\n\n\t\treturn { select, selectDistinct, update, insert, delete: delete_ };\n\t}\n\n\t/**\n\t * Creates a select query.\n\t *\n\t * Calling this method with no arguments will select all columns from the table. Pass a selection object to specify the columns you want to select.\n\t *\n\t * Use `.from()` method to specify which table to select from.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select}\n\t *\n\t * @param fields The selection object.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all columns and all rows from the 'cars' table\n\t * const allCars: Car[] = await db.select().from(cars);\n\t *\n\t * // Select specific columns and all rows from the 'cars' table\n\t * const carsIdsAndBrands: { id: number; brand: string }[] = await db.select({\n\t * id: cars.id,\n\t * brand: cars.brand\n\t * })\n\t * .from(cars);\n\t * ```\n\t *\n\t * Like in SQL, you can use arbitrary expressions as selection fields, not just table columns:\n\t *\n\t * ```ts\n\t * // Select specific columns along with expression and all rows from the 'cars' table\n\t * const carsIdsAndLowerNames: { id: number; lowerBrand: string }[] = await db.select({\n\t * id: cars.id,\n\t * lowerBrand: sql`lower(${cars.brand})`,\n\t * })\n\t * .from(cars);\n\t * ```\n\t */\n\tselect(): SQLiteSelectBuilder;\n\tselect(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder;\n\tselect(fields?: SelectedFields): SQLiteSelectBuilder {\n\t\treturn new SQLiteSelectBuilder({ fields: fields ?? undefined, session: this.session, dialect: this.dialect });\n\t}\n\n\t/**\n\t * Adds `distinct` expression to the select query.\n\t *\n\t * Calling this method will return only unique values. When multiple columns are selected, it returns rows with unique combinations of values in these columns.\n\t *\n\t * Use `.from()` method to specify which table to select from.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/select#distinct}\n\t *\n\t * @param fields The selection object.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Select all unique rows from the 'cars' table\n\t * await db.selectDistinct()\n\t * .from(cars)\n\t * .orderBy(cars.id, cars.brand, cars.color);\n\t *\n\t * // Select all unique brands from the 'cars' table\n\t * await db.selectDistinct({ brand: cars.brand })\n\t * .from(cars)\n\t * .orderBy(cars.brand);\n\t * ```\n\t */\n\tselectDistinct(): SQLiteSelectBuilder;\n\tselectDistinct(\n\t\tfields: TSelection,\n\t): SQLiteSelectBuilder;\n\tselectDistinct(\n\t\tfields?: SelectedFields,\n\t): SQLiteSelectBuilder {\n\t\treturn new SQLiteSelectBuilder({\n\t\t\tfields: fields ?? undefined,\n\t\t\tsession: this.session,\n\t\t\tdialect: this.dialect,\n\t\t\tdistinct: true,\n\t\t});\n\t}\n\n\t/**\n\t * Creates an update query.\n\t *\n\t * Calling this method without `.where()` clause will update all rows in a table. The `.where()` clause specifies which rows should be updated.\n\t *\n\t * Use `.set()` method to specify which values to update.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/update}\n\t *\n\t * @param table The table to update.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Update all rows in the 'cars' table\n\t * await db.update(cars).set({ color: 'red' });\n\t *\n\t * // Update rows with filters and conditions\n\t * await db.update(cars).set({ color: 'red' }).where(eq(cars.brand, 'BMW'));\n\t *\n\t * // Update with returning clause\n\t * const updatedCar: Car[] = await db.update(cars)\n\t * .set({ color: 'red' })\n\t * .where(eq(cars.id, 1))\n\t * .returning();\n\t * ```\n\t */\n\tupdate(table: TTable): SQLiteUpdateBuilder {\n\t\treturn new SQLiteUpdateBuilder(table, this.session, this.dialect);\n\t}\n\n\t$cache: { invalidate: Cache['onMutate'] };\n\n\t/**\n\t * Creates an insert query.\n\t *\n\t * Calling this method will create new rows in a table. Use `.values()` method to specify which values to insert.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/insert}\n\t *\n\t * @param table The table to insert into.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Insert one row\n\t * await db.insert(cars).values({ brand: 'BMW' });\n\t *\n\t * // Insert multiple rows\n\t * await db.insert(cars).values([{ brand: 'BMW' }, { brand: 'Porsche' }]);\n\t *\n\t * // Insert with returning clause\n\t * const insertedCar: Car[] = await db.insert(cars)\n\t * .values({ brand: 'BMW' })\n\t * .returning();\n\t * ```\n\t */\n\tinsert(into: TTable): SQLiteInsertBuilder {\n\t\treturn new SQLiteInsertBuilder(into, this.session, this.dialect);\n\t}\n\n\t/**\n\t * Creates a delete query.\n\t *\n\t * Calling this method without `.where()` clause will delete all rows in a table. The `.where()` clause specifies which rows should be deleted.\n\t *\n\t * See docs: {@link https://orm.drizzle.team/docs/delete}\n\t *\n\t * @param table The table to delete from.\n\t *\n\t * @example\n\t *\n\t * ```ts\n\t * // Delete all rows in the 'cars' table\n\t * await db.delete(cars);\n\t *\n\t * // Delete rows with filters and conditions\n\t * await db.delete(cars).where(eq(cars.color, 'green'));\n\t *\n\t * // Delete with returning clause\n\t * const deletedCar: Car[] = await db.delete(cars)\n\t * .where(eq(cars.id, 1))\n\t * .returning();\n\t * ```\n\t */\n\tdelete(from: TTable): SQLiteDeleteBase {\n\t\treturn new SQLiteDeleteBase(from, this.session, this.dialect);\n\t}\n\n\trun(query: SQLWrapper | string): DBResult {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.run(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'run',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawRunValueFromBatchResult.bind(this.session),\n\t\t\t) as DBResult;\n\t\t}\n\t\treturn this.session.run(sequel) as DBResult;\n\t}\n\n\tall(query: SQLWrapper | string): DBResult {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.all(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'all',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawAllValueFromBatchResult.bind(this.session),\n\t\t\t) as any;\n\t\t}\n\t\treturn this.session.all(sequel) as DBResult;\n\t}\n\n\tget(query: SQLWrapper | string): DBResult {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.get(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'get',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawGetValueFromBatchResult.bind(this.session),\n\t\t\t) as DBResult;\n\t\t}\n\t\treturn this.session.get(sequel) as DBResult;\n\t}\n\n\tvalues(query: SQLWrapper | string): DBResult {\n\t\tconst sequel = typeof query === 'string' ? sql.raw(query) : query.getSQL();\n\t\tif (this.resultKind === 'async') {\n\t\t\treturn new SQLiteRaw(\n\t\t\t\tasync () => this.session.values(sequel),\n\t\t\t\t() => sequel,\n\t\t\t\t'values',\n\t\t\t\tthis.dialect as SQLiteAsyncDialect,\n\t\t\t\tthis.session.extractRawValuesValueFromBatchResult.bind(this.session),\n\t\t\t) as any;\n\t\t}\n\t\treturn this.session.values(sequel) as DBResult;\n\t}\n\n\ttransaction(\n\t\ttransaction: (tx: SQLiteTransaction) => Result,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Result {\n\t\treturn this.session.transaction(transaction, config);\n\t}\n}\n\nexport type SQLiteWithReplicas = Q & { $primary: Q; $replicas: Q[] };\n\nexport const withReplicas = <\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n\tQ extends BaseSQLiteDatabase<\n\t\tTResultKind,\n\t\tTRunResult,\n\t\tTFullSchema,\n\t\tTSchema extends Record ? ExtractTablesWithRelations : TSchema\n\t>,\n>(\n\tprimary: Q,\n\treplicas: [Q, ...Q[]],\n\tgetReplica: (replicas: Q[]) => Q = () => replicas[Math.floor(Math.random() * replicas.length)]!,\n): SQLiteWithReplicas => {\n\tconst select: Q['select'] = (...args: []) => getReplica(replicas).select(...args);\n\tconst selectDistinct: Q['selectDistinct'] = (...args: []) => getReplica(replicas).selectDistinct(...args);\n\tconst $count: Q['$count'] = (...args: [any]) => getReplica(replicas).$count(...args);\n\tconst $with: Q['with'] = (...args: []) => getReplica(replicas).with(...args);\n\n\tconst update: Q['update'] = (...args: [any]) => primary.update(...args);\n\tconst insert: Q['insert'] = (...args: [any]) => primary.insert(...args);\n\tconst $delete: Q['delete'] = (...args: [any]) => primary.delete(...args);\n\tconst run: Q['run'] = (...args: [any]) => primary.run(...args);\n\tconst all: Q['all'] = (...args: [any]) => primary.all(...args);\n\tconst get: Q['get'] = (...args: [any]) => primary.get(...args);\n\tconst values: Q['values'] = (...args: [any]) => primary.values(...args);\n\tconst transaction: Q['transaction'] = (...args: [any]) => primary.transaction(...args);\n\n\treturn {\n\t\t...primary,\n\t\tupdate,\n\t\tinsert,\n\t\tdelete: $delete,\n\t\trun,\n\t\tall,\n\t\tget,\n\t\tvalues,\n\t\ttransaction,\n\t\t$primary: primary,\n\t\t$replicas: replicas,\n\t\tselect,\n\t\tselectDistinct,\n\t\t$count,\n\t\twith: $with,\n\t\tget query() {\n\t\t\treturn getReplica(replicas).query;\n\t\t},\n\t};\n};\n", "import { entityKind } from '~/entity.ts';\nimport type { Table } from '~/index.ts';\nimport type { CacheConfig } from './types.ts';\n\nexport abstract class Cache {\n\tstatic readonly [entityKind]: string = 'Cache';\n\n\tabstract strategy(): 'explicit' | 'all';\n\n\t/**\n\t * Invoked if we should check cache for cached response\n\t * @param sql\n\t * @param tables\n\t */\n\tabstract get(\n\t\tkey: string,\n\t\ttables: string[],\n\t\tisTag: boolean,\n\t\tisAutoInvalidate?: boolean,\n\t): Promise;\n\n\t/**\n\t * Invoked if new query should be inserted to cache\n\t * @param sql\n\t * @param tables\n\t */\n\tabstract put(\n\t\thashedQuery: string,\n\t\tresponse: any,\n\t\ttables: string[],\n\t\tisTag: boolean,\n\t\tconfig?: CacheConfig,\n\t): Promise;\n\n\t/**\n\t * Invoked if insert, update, delete was invoked\n\t * @param tables\n\t */\n\tabstract onMutate(\n\t\tparams: MutationOption,\n\t): Promise;\n}\n\nexport class NoopCache extends Cache {\n\toverride strategy() {\n\t\treturn 'all' as const;\n\t}\n\n\tstatic override readonly [entityKind]: string = 'NoopCache';\n\n\toverride async get(_key: string): Promise {\n\t\treturn undefined;\n\t}\n\toverride async put(\n\t\t_hashedQuery: string,\n\t\t_response: any,\n\t\t_tables: string[],\n\t\t_config?: any,\n\t): Promise {\n\t\t// noop\n\t}\n\toverride async onMutate(_params: MutationOption): Promise {\n\t\t// noop\n\t}\n}\n\nexport type MutationOption = { tags?: string | string[]; tables?: Table | Table[] | string | string[] };\n\nexport async function hashQuery(sql: string, params?: any[]) {\n\tconst dataToHash = `${sql}-${JSON.stringify(params)}`;\n\tconst encoder = new TextEncoder();\n\tconst data = encoder.encode(dataToHash);\n\tconst hashBuffer = await crypto.subtle.digest('SHA-256', data);\n\tconst hashArray = [...new Uint8Array(hashBuffer)];\n\tconst hashHex = hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');\n\n\treturn hashHex;\n}\n", "export * from './cache.ts';\n", "import { TableAliasProxyHandler } from '~/alias.ts';\nimport type { BuildAliasTable } from './query-builders/select.types.ts';\n\nimport type { SQLiteTable } from './table.ts';\nimport type { SQLiteViewBase } from './view-base.ts';\n\nexport function alias(\n\ttable: TTable,\n\talias: TAlias,\n): BuildAliasTable {\n\treturn new Proxy(table, new TableAliasProxyHandler(alias, false)) as any;\n}\n", "import { type Cache, hashQuery, NoopCache } from '~/cache/core/cache.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport { DrizzleError, DrizzleQueryError, TransactionRollbackError } from '~/errors.ts';\nimport { QueryPromise } from '~/query-promise.ts';\nimport type { TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport type { Query, SQL } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect, SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { BaseSQLiteDatabase } from './db.ts';\nimport type { SQLiteRaw } from './query-builders/raw.ts';\nimport type { SelectedFieldsOrdered } from './query-builders/select.types.ts';\n\nexport interface PreparedQueryConfig {\n\ttype: 'sync' | 'async';\n\trun: unknown;\n\tall: unknown;\n\tget: unknown;\n\tvalues: unknown;\n\texecute: unknown;\n}\n\nexport class ExecuteResultSync extends QueryPromise {\n\tstatic override readonly [entityKind]: string = 'ExecuteResultSync';\n\n\tconstructor(private resultCb: () => T) {\n\t\tsuper();\n\t}\n\n\toverride async execute(): Promise {\n\t\treturn this.resultCb();\n\t}\n\n\tsync(): T {\n\t\treturn this.resultCb();\n\t}\n}\n\nexport type ExecuteResult = TType extends 'async' ? Promise\n\t: ExecuteResultSync;\n\nexport abstract class SQLitePreparedQuery implements PreparedQuery {\n\tstatic readonly [entityKind]: string = 'PreparedQuery';\n\n\t/** @internal */\n\tjoinsNotNullableMap?: Record;\n\n\tconstructor(\n\t\tprivate mode: 'sync' | 'async',\n\t\tprivate executeMethod: SQLiteExecuteMethod,\n\t\tprotected query: Query,\n\t\tprivate cache?: Cache,\n\t\t// per query related metadata\n\t\tprivate queryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\t// config that was passed through $withCache\n\t\tprivate cacheConfig?: WithCacheConfig,\n\t) {\n\t\t// it means that no $withCache options were passed and it should be just enabled\n\t\tif (cache && cache.strategy() === 'all' && cacheConfig === undefined) {\n\t\t\tthis.cacheConfig = { enable: true, autoInvalidate: true };\n\t\t}\n\t\tif (!this.cacheConfig?.enable) {\n\t\t\tthis.cacheConfig = undefined;\n\t\t}\n\t}\n\n\t/** @internal */\n\tprotected async queryWithCache(\n\t\tqueryString: string,\n\t\tparams: any[],\n\t\tquery: () => Promise,\n\t): Promise {\n\t\tif (this.cache === undefined || is(this.cache, NoopCache) || this.queryMetadata === undefined) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any mutations, if globally is false\n\t\tif (this.cacheConfig && !this.cacheConfig.enable) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// For mutate queries, we should query the database, wait for a response, and then perform invalidation\n\t\tif (\n\t\t\t(\n\t\t\t\tthis.queryMetadata.type === 'insert' || this.queryMetadata.type === 'update'\n\t\t\t\t|| this.queryMetadata.type === 'delete'\n\t\t\t) && this.queryMetadata.tables.length > 0\n\t\t) {\n\t\t\ttry {\n\t\t\t\tconst [res] = await Promise.all([\n\t\t\t\t\tquery(),\n\t\t\t\t\tthis.cache.onMutate({ tables: this.queryMetadata.tables }),\n\t\t\t\t]);\n\t\t\t\treturn res;\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\t// don't do any reads if globally disabled\n\t\tif (!this.cacheConfig) {\n\t\t\ttry {\n\t\t\t\treturn await query();\n\t\t\t} catch (e) {\n\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t}\n\t\t}\n\n\t\tif (this.queryMetadata.type === 'select') {\n\t\t\tconst fromCache = await this.cache.get(\n\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\tthis.queryMetadata.tables,\n\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\tthis.cacheConfig.autoInvalidate,\n\t\t\t);\n\t\t\tif (fromCache === undefined) {\n\t\t\t\tlet result;\n\t\t\t\ttry {\n\t\t\t\t\tresult = await query();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t\t\t}\n\n\t\t\t\t// put actual key\n\t\t\t\tawait this.cache.put(\n\t\t\t\t\tthis.cacheConfig.tag ?? await hashQuery(queryString, params),\n\t\t\t\t\tresult,\n\t\t\t\t\t// make sure we send tables that were used in a query only if user wants to invalidate it on each write\n\t\t\t\t\tthis.cacheConfig.autoInvalidate ? this.queryMetadata.tables : [],\n\t\t\t\t\tthis.cacheConfig.tag !== undefined,\n\t\t\t\t\tthis.cacheConfig.config,\n\t\t\t\t);\n\t\t\t\t// put flag if we should invalidate or not\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\treturn fromCache as unknown as T;\n\t\t}\n\t\ttry {\n\t\t\treturn await query();\n\t\t} catch (e) {\n\t\t\tthrow new DrizzleQueryError(queryString, params, e as Error);\n\t\t}\n\t}\n\n\tgetQuery(): Query {\n\t\treturn this.query;\n\t}\n\n\tabstract run(placeholderValues?: Record): Result;\n\n\tmapRunResult(result: unknown, _isFromBatch?: boolean): unknown {\n\t\treturn result;\n\t}\n\n\tabstract all(placeholderValues?: Record): Result;\n\n\tmapAllResult(_result: unknown, _isFromBatch?: boolean): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tabstract get(placeholderValues?: Record): Result;\n\n\tmapGetResult(_result: unknown, _isFromBatch?: boolean): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tabstract values(placeholderValues?: Record): Result;\n\n\texecute(placeholderValues?: Record): ExecuteResult {\n\t\tif (this.mode === 'async') {\n\t\t\treturn this[this.executeMethod](placeholderValues) as ExecuteResult;\n\t\t}\n\t\treturn new ExecuteResultSync(() => this[this.executeMethod](placeholderValues));\n\t}\n\n\tmapResult(response: unknown, isFromBatch?: boolean) {\n\t\tswitch (this.executeMethod) {\n\t\t\tcase 'run': {\n\t\t\t\treturn this.mapRunResult(response, isFromBatch);\n\t\t\t}\n\t\t\tcase 'all': {\n\t\t\t\treturn this.mapAllResult(response, isFromBatch);\n\t\t\t}\n\t\t\tcase 'get': {\n\t\t\t\treturn this.mapGetResult(response, isFromBatch);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @internal */\n\tabstract isResponseInArrayMode(): boolean;\n}\n\nexport interface SQLiteTransactionConfig {\n\tbehavior?: 'deferred' | 'immediate' | 'exclusive';\n}\n\nexport type SQLiteExecuteMethod = 'run' | 'all' | 'get';\n\nexport abstract class SQLiteSession<\n\tTResultKind extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteSession';\n\n\tconstructor(\n\t\t/** @internal */\n\t\treadonly dialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultKind],\n\t) {}\n\n\tabstract prepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): SQLitePreparedQuery;\n\n\tprepareOneTimeQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): SQLitePreparedQuery {\n\t\treturn this.prepareQuery(\n\t\t\tquery,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t);\n\t}\n\n\tabstract transaction(\n\t\ttransaction: (tx: SQLiteTransaction) => Result,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Result;\n\n\trun(query: SQL): Result {\n\t\tconst staticQuery = this.dialect.sqlToQuery(query);\n\t\ttry {\n\t\t\treturn this.prepareOneTimeQuery(staticQuery, undefined, 'run', false).run() as Result;\n\t\t} catch (err) {\n\t\t\tthrow new DrizzleError({ cause: err, message: `Failed to run the query '${staticQuery.sql}'` });\n\t\t}\n\t}\n\n\t/** @internal */\n\textractRawRunValueFromBatchResult(result: unknown) {\n\t\treturn result;\n\t}\n\n\tall(query: SQL): Result {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).all() as Result<\n\t\t\tTResultKind,\n\t\t\tT[]\n\t\t>;\n\t}\n\n\t/** @internal */\n\textractRawAllValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tget(query: SQL): Result {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).get() as Result<\n\t\t\tTResultKind,\n\t\t\tT\n\t\t>;\n\t}\n\n\t/** @internal */\n\textractRawGetValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n\n\tvalues(\n\t\tquery: SQL,\n\t): Result {\n\t\treturn this.prepareOneTimeQuery(this.dialect.sqlToQuery(query), undefined, 'run', false).values() as Result<\n\t\t\tTResultKind,\n\t\t\tT[]\n\t\t>;\n\t}\n\n\tasync count(sql: SQL) {\n\t\tconst result = await this.values(sql) as [[number]];\n\n\t\treturn result[0][0];\n\t}\n\n\t/** @internal */\n\textractRawValuesValueFromBatchResult(_result: unknown): unknown {\n\t\tthrow new Error('Not implemented');\n\t}\n}\n\nexport type Result = { sync: TResult; async: Promise }[TKind];\n\nexport type DBResult = { sync: TResult; async: SQLiteRaw }[TKind];\n\nexport abstract class SQLiteTransaction<\n\tTResultType extends 'sync' | 'async',\n\tTRunResult,\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n> extends BaseSQLiteDatabase {\n\tstatic override readonly [entityKind]: string = 'SQLiteTransaction';\n\n\tconstructor(\n\t\tresultType: TResultType,\n\t\tdialect: { sync: SQLiteSyncDialect; async: SQLiteAsyncDialect }[TResultType],\n\t\tsession: SQLiteSession,\n\t\tprotected schema: {\n\t\t\tfullSchema: Record;\n\t\t\tschema: TSchema;\n\t\t\ttableNamesMap: Record;\n\t\t} | undefined,\n\t\tprotected readonly nestedIndex = 0,\n\t) {\n\t\tsuper(resultType, dialect, session, schema);\n\t}\n\n\trollback(): never {\n\t\tthrow new TransactionRollbackError();\n\t}\n}\n", "//# sourceMappingURL=subquery.js.map", "import type { BuildColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { AddAliasToSelection } from '~/query-builders/select.types.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection, SQL } from '~/sql/sql.ts';\nimport { getTableColumns } from '~/utils.ts';\nimport type { SQLiteColumn, SQLiteColumnBuilderBase } from './columns/common.ts';\nimport { QueryBuilder } from './query-builders/query-builder.ts';\nimport { sqliteTable } from './table.ts';\nimport { SQLiteViewBase } from './view-base.ts';\n\nexport interface ViewBuilderConfig {\n\talgorithm?: 'undefined' | 'merge' | 'temptable';\n\tdefiner?: string;\n\tsqlSecurity?: 'definer' | 'invoker';\n\twithCheckOption?: 'cascaded' | 'local';\n}\n\nexport class ViewBuilderCore<\n\tTConfig extends { name: string; columns?: unknown },\n> {\n\tstatic readonly [entityKind]: string = 'SQLiteViewBuilderCore';\n\n\tdeclare readonly _: {\n\t\treadonly name: TConfig['name'];\n\t\treadonly columns: TConfig['columns'];\n\t};\n\n\tconstructor(\n\t\tprotected name: TConfig['name'],\n\t) {}\n\n\tprotected config: ViewBuilderConfig = {};\n}\n\nexport class ViewBuilder extends ViewBuilderCore<{ name: TName }> {\n\tstatic override readonly [entityKind]: string = 'SQLiteViewBuilder';\n\n\tas(\n\t\tqb: TypedQueryBuilder | ((qb: QueryBuilder) => TypedQueryBuilder),\n\t): SQLiteViewWithSelection> {\n\t\tif (typeof qb === 'function') {\n\t\t\tqb = qb(new QueryBuilder());\n\t\t}\n\t\tconst selectionProxy = new SelectionProxyHandler({\n\t\t\talias: this.name,\n\t\t\tsqlBehavior: 'error',\n\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\treplaceOriginalName: true,\n\t\t});\n\t\t// const aliasedSelectedFields = new Proxy(qb.getSelectedFields(), selectionProxy);\n\t\tconst aliasedSelectedFields = qb.getSelectedFields();\n\t\treturn new Proxy(\n\t\t\tnew SQLiteView({\n\t\t\t\t// sqliteConfig: this.config,\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: undefined,\n\t\t\t\t\tselectedFields: aliasedSelectedFields,\n\t\t\t\t\tquery: qb.getSQL().inlineParams(),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tselectionProxy as any,\n\t\t) as SQLiteViewWithSelection>;\n\t}\n}\n\nexport class ManualViewBuilder<\n\tTName extends string = string,\n\tTColumns extends Record = Record,\n> extends ViewBuilderCore<\n\t{ name: TName; columns: TColumns }\n> {\n\tstatic override readonly [entityKind]: string = 'SQLiteManualViewBuilder';\n\n\tprivate columns: Record;\n\n\tconstructor(\n\t\tname: TName,\n\t\tcolumns: TColumns,\n\t) {\n\t\tsuper(name);\n\t\tthis.columns = getTableColumns(sqliteTable(name, columns)) as BuildColumns;\n\t}\n\n\texisting(): SQLiteViewWithSelection> {\n\t\treturn new Proxy(\n\t\t\tnew SQLiteView({\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: undefined,\n\t\t\t\t\tselectedFields: this.columns,\n\t\t\t\t\tquery: undefined,\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew SelectionProxyHandler({\n\t\t\t\talias: this.name,\n\t\t\t\tsqlBehavior: 'error',\n\t\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\t\treplaceOriginalName: true,\n\t\t\t}),\n\t\t) as SQLiteViewWithSelection>;\n\t}\n\n\tas(query: SQL): SQLiteViewWithSelection> {\n\t\treturn new Proxy(\n\t\t\tnew SQLiteView({\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: undefined,\n\t\t\t\t\tselectedFields: this.columns,\n\t\t\t\t\tquery: query.inlineParams(),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew SelectionProxyHandler({\n\t\t\t\talias: this.name,\n\t\t\t\tsqlBehavior: 'error',\n\t\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\t\treplaceOriginalName: true,\n\t\t\t}),\n\t\t) as SQLiteViewWithSelection>;\n\t}\n}\n\nexport class SQLiteView<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelection extends ColumnsSelection = ColumnsSelection,\n> extends SQLiteViewBase {\n\tstatic override readonly [entityKind]: string = 'SQLiteView';\n\n\tconstructor({ config }: {\n\t\tconfig: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t};\n\t}) {\n\t\tsuper(config);\n\t}\n}\n\nexport type SQLiteViewWithSelection<\n\tTName extends string,\n\tTExisting extends boolean,\n\tTSelection extends ColumnsSelection,\n> = SQLiteView & TSelection;\n\nexport function sqliteView(name: TName): ViewBuilder;\nexport function sqliteView>(\n\tname: TName,\n\tcolumns: TColumns,\n): ManualViewBuilder;\nexport function sqliteView(\n\tname: string,\n\tselection?: Record,\n): ViewBuilder | ManualViewBuilder {\n\tif (selection) {\n\t\treturn new ManualViewBuilder(name, selection);\n\t}\n\treturn new ViewBuilder(name);\n}\n\nexport const view = sqliteView;\n", "export * from './alias.ts';\nexport * from './checks.ts';\nexport * from './columns/index.ts';\nexport * from './db.ts';\nexport * from './dialect.ts';\nexport * from './foreign-keys.ts';\nexport * from './indexes.ts';\nexport * from './primary-keys.ts';\nexport * from './query-builders/index.ts';\nexport * from './session.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './unique-constraint.ts';\nexport * from './utils.ts';\nexport * from './view.ts';\n", "/// \n\nimport type { BatchItem } from '~/batch.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport type { PreparedQuery } from '~/session.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { mapResultRow } from '~/utils.ts';\n\nexport interface SQLiteD1SessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\ntype PreparedQueryConfig = Omit;\n\nexport class SQLiteD1Session<\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteSession<'async', D1Result, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLiteD1Session';\n\n\tprivate logger: Logger;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate client: D1Database,\n\t\tdialect: SQLiteAsyncDialect,\n\t\tprivate schema: RelationalSchemaConfig | undefined,\n\t\tprivate options: SQLiteD1SessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tisResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): D1PreparedQuery {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new D1PreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tisResponseInArrayMode,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tasync batch[] | readonly BatchItem<'sqlite'>[]>(queries: T) {\n\t\tconst preparedQueries: PreparedQuery[] = [];\n\t\tconst builtQueries: D1PreparedStatement[] = [];\n\n\t\tfor (const query of queries) {\n\t\t\tconst preparedQuery = query._prepare();\n\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\tpreparedQueries.push(preparedQuery);\n\t\t\tif (builtQuery.params.length > 0) {\n\t\t\t\tbuiltQueries.push((preparedQuery as D1PreparedQuery).stmt.bind(...builtQuery.params));\n\t\t\t} else {\n\t\t\t\tconst builtQuery = preparedQuery.getQuery();\n\t\t\t\tbuiltQueries.push(\n\t\t\t\t\tthis.client.prepare(builtQuery.sql).bind(...builtQuery.params),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst batchResults = await this.client.batch(builtQueries);\n\t\treturn batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true));\n\t}\n\n\toverride extractRawAllValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results;\n\t}\n\n\toverride extractRawGetValueFromBatchResult(result: unknown): unknown {\n\t\treturn (result as D1Result).results[0];\n\t}\n\n\toverride extractRawValuesValueFromBatchResult(result: unknown): unknown {\n\t\treturn d1ToRawMapping((result as D1Result).results);\n\t}\n\n\toverride async transaction(\n\t\ttransaction: (tx: D1Transaction) => T | Promise,\n\t\tconfig?: SQLiteTransactionConfig,\n\t): Promise {\n\t\tconst tx = new D1Transaction('async', this.dialect, this, this.schema);\n\t\tawait this.run(sql.raw(`begin${config?.behavior ? ' ' + config.behavior : ''}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class D1Transaction<\n\tTFullSchema extends Record,\n\tTSchema extends TablesRelationalConfig,\n> extends SQLiteTransaction<'async', D1Result, TFullSchema, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Transaction';\n\n\toverride async transaction(transaction: (tx: D1Transaction) => Promise): Promise {\n\t\tconst savepointName = `sp${this.nestedIndex}`;\n\t\tconst tx = new D1Transaction('async', this.dialect, this.session, this.schema, this.nestedIndex + 1);\n\t\tawait this.session.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait this.session.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait this.session.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\n/**\n * This function was taken from the D1 implementation: https://github.com/cloudflare/workerd/blob/4aae9f4c7ae30a59a88ca868c4aff88bda85c956/src/cloudflare/internal/d1-api.ts#L287\n * It may cause issues with duplicated column names in join queries, which should be fixed on the D1 side.\n * @param results\n * @returns\n */\nfunction d1ToRawMapping(results: any) {\n\tconst rows: unknown[][] = [];\n\tfor (const row of results) {\n\t\tconst entry = Object.keys(row).map((k) => row[k]);\n\t\trows.push(entry);\n\t}\n\treturn rows;\n}\n\nexport class D1PreparedQuery extends SQLitePreparedQuery<\n\t{ type: 'async'; run: D1Response; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'D1PreparedQuery';\n\n\t/** @internal */\n\tcustomResultMapper?: (rows: unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown;\n\n\t/** @internal */\n\tfields?: SelectedFieldsOrdered;\n\n\t/** @internal */\n\tstmt: D1PreparedStatement;\n\n\tconstructor(\n\t\tstmt: D1PreparedStatement,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate _isResponseInArrayMode: boolean,\n\t\tcustomResultMapper?: (rows: unknown[][]) => unknown,\n\t) {\n\t\tsuper('async', executeMethod, query, cache, queryMetadata, cacheConfig);\n\t\tthis.customResultMapper = customResultMapper;\n\t\tthis.fields = fields;\n\t\tthis.stmt = stmt;\n\t}\n\n\tasync run(placeholderValues?: Record): Promise {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).run();\n\t\t});\n\t}\n\n\tasync all(placeholderValues?: Record): Promise {\n\t\tconst { fields, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => this.mapAllResult(results!));\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\treturn this.mapAllResult(rows);\n\t}\n\n\toverride mapAllResult(rows: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\trows = d1ToRawMapping((rows as D1Result).results);\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper(rows as unknown[][]);\n\t\t}\n\n\t\treturn (rows as unknown[][]).map((row) => mapResultRow(this.fields!, row, this.joinsNotNullableMap));\n\t}\n\n\tasync get(placeholderValues?: Record): Promise {\n\t\tconst { fields, joinsNotNullableMap, query, logger, stmt, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues ?? {});\n\t\t\tlogger.logQuery(query.sql, params);\n\t\t\treturn await this.queryWithCache(query.sql, params, async () => {\n\t\t\t\treturn stmt.bind(...params).all().then(({ results }) => results![0]);\n\t\t\t});\n\t\t}\n\n\t\tconst rows = await this.values(placeholderValues);\n\n\t\tif (!rows[0]) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn customResultMapper(rows) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, rows[0], joinsNotNullableMap);\n\t}\n\n\toverride mapGetResult(result: unknown, isFromBatch?: boolean): unknown {\n\t\tif (isFromBatch) {\n\t\t\tresult = d1ToRawMapping((result as D1Result).results)[0];\n\t\t}\n\n\t\tif (!this.fields && !this.customResultMapper) {\n\t\t\treturn result;\n\t\t}\n\n\t\tif (this.customResultMapper) {\n\t\t\treturn this.customResultMapper([result as unknown[]]) as T['all'];\n\t\t}\n\n\t\treturn mapResultRow(this.fields!, result as unknown[], this.joinsNotNullableMap);\n\t}\n\n\tasync values(placeholderValues?: Record): Promise {\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues ?? {});\n\t\tthis.logger.logQuery(this.query.sql, params);\n\t\treturn await this.queryWithCache(this.query.sql, params, async () => {\n\t\t\treturn this.stmt.bind(...params).raw();\n\t\t});\n\t}\n\n\t/** @internal */\n\tisResponseInArrayMode(): boolean {\n\t\treturn this._isResponseInArrayMode;\n\t}\n}\n", "/// \nimport type { D1Database as MiniflareD1Database } from '@miniflare/d1';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {\n\tcreateTableRelationsHelpers,\n\textractTablesRelationalConfig,\n\ttype ExtractTablesWithRelations,\n\ttype RelationalSchemaConfig,\n\ttype TablesRelationalConfig,\n} from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteAsyncDialect } from '~/sqlite-core/dialect.ts';\nimport type { DrizzleConfig, IfNotImported } from '~/utils.ts';\nimport { SQLiteD1Session } from './session.ts';\n\nexport type AnyD1Database = IfNotImported<\n\tD1Database,\n\tMiniflareD1Database,\n\tD1Database | IfNotImported\n>;\n\nexport class DrizzleD1Database<\n\tTSchema extends Record = Record,\n> extends BaseSQLiteDatabase<'async', D1Result, TSchema> {\n\tstatic override readonly [entityKind]: string = 'D1Database';\n\n\t/** @internal */\n\tdeclare readonly session: SQLiteD1Session>;\n\n\tasync batch, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise> {\n\t\treturn this.session.batch(batch) as Promise>;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record = Record,\n\tTClient extends AnyD1Database = AnyD1Database,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig = {},\n): DrizzleD1Database & {\n\t$client: TClient;\n} {\n\tconst dialect = new SQLiteAsyncDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: RelationalSchemaConfig | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tcreateTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst session = new SQLiteD1Session(client as D1Database, dialect, schema, { logger, cache: config.cache });\n\tconst db = new DrizzleD1Database('async', dialect, session, schema) as DrizzleD1Database;\n\t( db).$client = client;\n\t( db).$cache = config.cache;\n\tif (( db).$cache) {\n\t\t( db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n", "export * from './driver.ts';\nexport * from './session.ts';\n", "//# sourceMappingURL=operations.js.map", "export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './logger.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n", "export function coerceDate(value: unknown): Date | null {\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? null : value\n }\n\n if (value === null || value === undefined) {\n return null\n }\n\n const fromNumber = (raw: number): Date | null => {\n if (Number.isNaN(raw)) {\n return null\n }\n\n const ms = raw < 1e12 ? raw * 1000 : raw\n const date = new Date(ms)\n return Number.isNaN(date.getTime()) ? null : date\n }\n\n if (typeof value === 'number') {\n return fromNumber(value)\n }\n\n if (typeof value === 'bigint') {\n return fromNumber(Number(value))\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim()\n if (!trimmed) {\n return null\n }\n\n const numeric = Number(trimmed)\n if (!Number.isNaN(numeric)) {\n return fromNumber(numeric)\n }\n\n const parsed = Date.parse(trimmed)\n if (!Number.isNaN(parsed)) {\n return new Date(parsed)\n }\n }\n\n if (typeof value === 'object') {\n const record = value as { value?: unknown; valueOf?: () => unknown; toString?: () => string }\n if (record.value !== undefined) {\n return coerceDate(record.value)\n }\n\n if (record.valueOf) {\n const valueOf = record.valueOf()\n if (valueOf !== value) {\n return coerceDate(valueOf)\n }\n }\n\n if (record.toString) {\n const asString = record.toString()\n if (asString && asString !== '[object Object]') {\n return coerceDate(asString)\n }\n }\n }\n\n return null\n}\n", "import {\n sqliteTable,\n integer,\n text,\n real,\n uniqueIndex,\n primaryKey,\n check,\n customType,\n} from 'drizzle-orm/sqlite-core'\nimport { relations, sql } from 'drizzle-orm'\nimport { coerceDate } from '../lib/date'\n\nconst jsonText = (name: string) =>\n customType<{ data: T | null; driverData: string | null }>({\n dataType() {\n return 'text'\n },\n toDriver(value) {\n if (value === undefined || value === null) return null\n return JSON.stringify(value)\n },\n fromDriver(value) {\n if (value === null || value === undefined) return null\n try {\n return JSON.parse(String(value)) as T\n } catch {\n return null\n }\n },\n })(name)\n\nconst numericText = (name: string) =>\n customType<{ data: string | null; driverData: string | null }>({\n dataType() {\n return 'text'\n },\n toDriver(value) {\n if (value === undefined || value === null) return null\n return String(value)\n },\n fromDriver(value) {\n if (value === null || value === undefined) return null\n return String(value)\n },\n })(name)\n\nconst timestampText = (name: string) =>\n customType<{ data: Date | null; driverData: string | number | null }>({\n dataType() {\n return 'text'\n },\n toDriver(value) {\n if (value === undefined || value === null) return null\n if (value instanceof Date) return value.toISOString()\n return String(value)\n },\n fromDriver(value) {\n if (value === null || value === undefined) return null\n return coerceDate(value)\n },\n })(name)\n\nconst staffRoleValues = ['super_admin', 'admin', 'marketer', 'delivery_staff'] as const\nconst staffPermissionValues = ['crud_product', 'make_coupon', 'crud_staff_users'] as const\nconst uploadStatusValues = ['pending', 'claimed'] as const\nconst paymentStatusValues = ['pending', 'success', 'cod', 'failed'] as const\n\nexport const staffRoleEnum = (name: string) => text(name, { enum: staffRoleValues })\nexport const staffPermissionEnum = (name: string) => text(name, { enum: staffPermissionValues })\nexport const uploadStatusEnum = (name: string) => text(name, { enum: uploadStatusValues })\nexport const paymentStatusEnum = (name: string) => text(name, { enum: paymentStatusValues })\n\nexport const users = sqliteTable('users', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text(),\n email: text(),\n mobile: text(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_email: uniqueIndex('unique_email').on(t.email),\n}))\n\nexport const userDetails = sqliteTable('user_details', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id).unique(),\n bio: text('bio'),\n dateOfBirth: timestampText('date_of_birth'),\n gender: text('gender'),\n occupation: text('occupation'),\n profileImage: text('profile_image'),\n isSuspended: integer('is_suspended', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n updatedAt: timestampText('updated_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const userCreds = sqliteTable('user_creds', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n userPassword: text('user_password').notNull(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const addressZones = sqliteTable('address_zones', {\n id: integer().primaryKey({ autoIncrement: true }),\n zoneName: text('zone_name').notNull(),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const addressAreas = sqliteTable('address_areas', {\n id: integer().primaryKey({ autoIncrement: true }),\n placeName: text('place_name').notNull(),\n zoneId: integer('zone_id').references(() => addressZones.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const addresses = sqliteTable('addresses', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n name: text('name').notNull(),\n phone: text('phone').notNull(),\n addressLine1: text('address_line1').notNull(),\n addressLine2: text('address_line2'),\n city: text('city').notNull(),\n state: text('state').notNull(),\n pincode: text('pincode').notNull(),\n isDefault: integer('is_default', { mode: 'boolean' }).notNull().default(false),\n latitude: real('latitude'),\n longitude: real('longitude'),\n googleMapsUrl: text('google_maps_url'),\n adminLatitude: real('admin_latitude'),\n adminLongitude: real('admin_longitude'),\n zoneId: integer('zone_id').references(() => addressZones.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const staffRoles = sqliteTable('staff_roles', {\n id: integer().primaryKey({ autoIncrement: true }),\n roleName: staffRoleEnum('role_name').notNull(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_role_name: uniqueIndex('unique_role_name').on(t.roleName),\n}))\n\nexport const staffPermissions = sqliteTable('staff_permissions', {\n id: integer().primaryKey({ autoIncrement: true }),\n permissionName: staffPermissionEnum('permission_name').notNull(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_permission_name: uniqueIndex('unique_permission_name').on(t.permissionName),\n}))\n\nexport const staffRolePermissions = sqliteTable('staff_role_permissions', {\n id: integer().primaryKey({ autoIncrement: true }),\n staffRoleId: integer('staff_role_id').notNull().references(() => staffRoles.id),\n staffPermissionId: integer('staff_permission_id').notNull().references(() => staffPermissions.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_role_permission: uniqueIndex('unique_role_permission').on(t.staffRoleId, t.staffPermissionId),\n}))\n\nexport const staffUsers = sqliteTable('staff_users', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text().notNull(),\n password: text().notNull(),\n staffRoleId: integer('staff_role_id').references(() => staffRoles.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const storeInfo = sqliteTable('store_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text().notNull(),\n description: text(),\n imageUrl: text('image_url'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n owner: integer('owner').notNull().references(() => staffUsers.id),\n})\n\nexport const units = sqliteTable('units', {\n id: integer().primaryKey({ autoIncrement: true }),\n shortNotation: text('short_notation').notNull(),\n fullName: text('full_name').notNull(),\n}, (t) => ({\n unq_short_notation: uniqueIndex('unique_short_notation').on(t.shortNotation),\n}))\n\nexport const productInfo = sqliteTable('product_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text().notNull(),\n shortDescription: text('short_description'),\n longDescription: text('long_description'),\n unitId: integer('unit_id').notNull().references(() => units.id),\n price: numericText('price').notNull(),\n marketPrice: numericText('market_price'),\n images: jsonText('images'),\n isOutOfStock: integer('is_out_of_stock', { mode: 'boolean' }).notNull().default(false),\n isSuspended: integer('is_suspended', { mode: 'boolean' }).notNull().default(false),\n isFlashAvailable: integer('is_flash_available', { mode: 'boolean' }).notNull().default(false),\n flashPrice: numericText('flash_price'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n incrementStep: real('increment_step').notNull().default(1),\n productQuantity: real('product_quantity').notNull().default(1),\n storeId: integer('store_id').references(() => storeInfo.id),\n})\n\nexport const productGroupInfo = sqliteTable('product_group_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n groupName: text('group_name').notNull(),\n description: text(),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productGroupMembership = sqliteTable('product_group_membership', {\n productId: integer('product_id').notNull().references(() => productInfo.id),\n groupId: integer('group_id').notNull().references(() => productGroupInfo.id),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n pk: primaryKey({ columns: [t.productId, t.groupId], name: 'product_group_membership_pk' }),\n}))\n\nexport const homeBanners = sqliteTable('home_banners', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n imageUrl: text('image_url').notNull(),\n description: text('description'),\n productIds: jsonText('product_ids'),\n redirectUrl: text('redirect_url'),\n serialNum: integer('serial_num'),\n isActive: integer('is_active', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n lastUpdated: timestampText('last_updated').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productReviews = sqliteTable('product_reviews', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n reviewBody: text('review_body').notNull(),\n imageUrls: jsonText('image_urls').$defaultFn(() => []),\n reviewTime: timestampText('review_time').notNull().default(sql`CURRENT_TIMESTAMP`),\n ratings: real('ratings').notNull(),\n adminResponse: text('admin_response'),\n adminResponseImages: jsonText('admin_response_images').$defaultFn(() => []),\n}, (t) => ({\n ratingCheck: check('rating_check', sql`${t.ratings} >= 1 AND ${t.ratings} <= 5`),\n}))\n\nexport const uploadUrlStatus = sqliteTable('upload_url_status', {\n id: integer().primaryKey({ autoIncrement: true }),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n key: text('key').notNull(),\n status: uploadStatusEnum('status').notNull().default('pending'),\n})\n\nexport const productTagInfo = sqliteTable('product_tag_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n tagName: text('tag_name').notNull().unique(),\n tagDescription: text('tag_description'),\n imageUrl: text('image_url'),\n isDashboardTag: integer('is_dashboard_tag', { mode: 'boolean' }).notNull().default(false),\n relatedStores: jsonText('related_stores').$defaultFn(() => []),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productTags = sqliteTable('product_tags', {\n id: integer().primaryKey({ autoIncrement: true }),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n tagId: integer('tag_id').notNull().references(() => productTagInfo.id),\n assignedAt: timestampText('assigned_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_product_tag: uniqueIndex('unique_product_tag').on(t.productId, t.tagId),\n}))\n\nexport const deliverySlotInfo = sqliteTable('delivery_slot_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n deliveryTime: timestampText('delivery_time').notNull(),\n freezeTime: timestampText('freeze_time').notNull(),\n isActive: integer('is_active', { mode: 'boolean' }).notNull().default(true),\n isFlash: integer('is_flash', { mode: 'boolean' }).notNull().default(false),\n isCapacityFull: integer('is_capacity_full', { mode: 'boolean' }).notNull().default(false),\n deliverySequence: jsonText>('delivery_sequence').$defaultFn(() => ({})),\n groupIds: jsonText('group_ids').$defaultFn(() => []),\n})\n\nexport const vendorSnippets = sqliteTable('vendor_snippets', {\n id: integer().primaryKey({ autoIncrement: true }),\n snippetCode: text('snippet_code').notNull().unique(),\n slotId: integer('slot_id').references(() => deliverySlotInfo.id),\n isPermanent: integer('is_permanent', { mode: 'boolean' }).notNull().default(false),\n productIds: jsonText('product_ids').notNull(),\n validTill: timestampText('valid_till'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productSlots = sqliteTable('product_slots', {\n productId: integer('product_id').notNull().references(() => productInfo.id),\n slotId: integer('slot_id').notNull().references(() => deliverySlotInfo.id),\n}, (t) => ({\n pk: primaryKey({ columns: [t.productId, t.slotId], name: 'product_slot_pk' }),\n}))\n\nexport const specialDeals = sqliteTable('special_deals', {\n id: integer().primaryKey({ autoIncrement: true }),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n quantity: numericText('quantity').notNull(),\n price: numericText('price').notNull(),\n validTill: timestampText('valid_till').notNull(),\n})\n\nexport const paymentInfoTable = sqliteTable('payment_info', {\n id: integer().primaryKey({ autoIncrement: true }),\n status: text().notNull(),\n gateway: text().notNull(),\n orderId: text('order_id'),\n token: text('token'),\n merchantOrderId: text('merchant_order_id').notNull().unique(),\n payload: jsonText('payload'),\n})\n\nexport const orders = sqliteTable('orders', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n addressId: integer('address_id').notNull().references(() => addresses.id),\n slotId: integer('slot_id').references(() => deliverySlotInfo.id),\n isCod: integer('is_cod', { mode: 'boolean' }).notNull().default(false),\n isOnlinePayment: integer('is_online_payment', { mode: 'boolean' }).notNull().default(false),\n paymentInfoId: integer('payment_info_id').references(() => paymentInfoTable.id),\n totalAmount: numericText('total_amount').notNull(),\n deliveryCharge: numericText('delivery_charge').notNull().default('0'),\n readableId: integer('readable_id').notNull(),\n adminNotes: text('admin_notes'),\n userNotes: text('user_notes'),\n orderGroupId: text('order_group_id'),\n orderGroupProportion: numericText('order_group_proportion'),\n isFlashDelivery: integer('is_flash_delivery', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const orderItems = sqliteTable('order_items', {\n id: integer().primaryKey({ autoIncrement: true }),\n orderId: integer('order_id').notNull().references(() => orders.id),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n quantity: text('quantity').notNull(),\n price: numericText('price').notNull(),\n discountedPrice: numericText('discounted_price'),\n is_packaged: integer('is_packaged', { mode: 'boolean' }).notNull().default(false),\n is_package_verified: integer('is_package_verified', { mode: 'boolean' }).notNull().default(false),\n})\n\nexport const orderStatus = sqliteTable('order_status', {\n id: integer().primaryKey({ autoIncrement: true }),\n orderTime: timestampText('order_time').notNull().default(sql`CURRENT_TIMESTAMP`),\n userId: integer('user_id').notNull().references(() => users.id),\n orderId: integer('order_id').notNull().references(() => orders.id),\n isPackaged: integer('is_packaged', { mode: 'boolean' }).notNull().default(false),\n isDelivered: integer('is_delivered', { mode: 'boolean' }).notNull().default(false),\n isCancelled: integer('is_cancelled', { mode: 'boolean' }).notNull().default(false),\n cancelReason: text('cancel_reason'),\n isCancelledByAdmin: integer('is_cancelled_by_admin', { mode: 'boolean' }),\n paymentStatus: paymentStatusEnum('payment_state').notNull().default('pending'),\n cancellationUserNotes: text('cancellation_user_notes'),\n cancellationAdminNotes: text('cancellation_admin_notes'),\n cancellationReviewed: integer('cancellation_reviewed', { mode: 'boolean' }).notNull().default(false),\n cancellationReviewedAt: timestampText('cancellation_reviewed_at'),\n refundCouponId: integer('refund_coupon_id').references(() => coupons.id),\n})\n\nexport const payments = sqliteTable('payments', {\n id: integer().primaryKey({ autoIncrement: true }),\n status: text().notNull(),\n gateway: text().notNull(),\n orderId: integer('order_id').notNull().references(() => orders.id),\n token: text('token'),\n merchantOrderId: text('merchant_order_id').notNull().unique(),\n payload: jsonText('payload'),\n})\n\nexport const refunds = sqliteTable('refunds', {\n id: integer().primaryKey({ autoIncrement: true }),\n orderId: integer('order_id').notNull().references(() => orders.id),\n refundAmount: numericText('refund_amount'),\n refundStatus: text('refund_status').default('none'),\n merchantRefundId: text('merchant_refund_id'),\n refundProcessedAt: timestampText('refund_processed_at'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const keyValStore = sqliteTable('key_val_store', {\n key: text('key').primaryKey(),\n value: text(),\n})\n\nexport const notifications = sqliteTable('notifications', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n title: text().notNull(),\n body: text().notNull(),\n type: text(),\n isRead: integer('is_read', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const productCategories = sqliteTable('product_categories', {\n id: integer().primaryKey({ autoIncrement: true }),\n name: text().notNull(),\n description: text(),\n})\n\nexport const cartItems = sqliteTable('cart_items', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n quantity: numericText('quantity').notNull(),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n}, (t) => ({\n unq_user_product: uniqueIndex('unique_user_product').on(t.userId, t.productId),\n}))\n\nexport const complaints = sqliteTable('complaints', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n orderId: integer('order_id').references(() => orders.id),\n complaintBody: text('complaint_body').notNull(),\n images: jsonText('images'),\n response: text('response'),\n isResolved: integer('is_resolved', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const coupons = sqliteTable('coupons', {\n id: integer().primaryKey({ autoIncrement: true }),\n couponCode: text('coupon_code').notNull().unique(),\n isUserBased: integer('is_user_based', { mode: 'boolean' }).notNull().default(false),\n discountPercent: numericText('discount_percent'),\n flatDiscount: numericText('flat_discount'),\n minOrder: numericText('min_order'),\n productIds: jsonText('product_ids'),\n createdBy: integer('created_by').notNull().references(() => staffUsers.id),\n maxValue: numericText('max_value'),\n isApplyForAll: integer('is_apply_for_all', { mode: 'boolean' }).notNull().default(false),\n validTill: timestampText('valid_till'),\n maxLimitForUser: integer('max_limit_for_user'),\n isInvalidated: integer('is_invalidated', { mode: 'boolean' }).notNull().default(false),\n exclusiveApply: integer('exclusive_apply', { mode: 'boolean' }).notNull().default(false),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const couponUsage = sqliteTable('coupon_usage', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n couponId: integer('coupon_id').notNull().references(() => coupons.id),\n orderId: integer('order_id').references(() => orders.id),\n orderItemId: integer('order_item_id').references(() => orderItems.id),\n usedAt: timestampText('used_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const couponApplicableUsers = sqliteTable('coupon_applicable_users', {\n id: integer().primaryKey({ autoIncrement: true }),\n couponId: integer('coupon_id').notNull().references(() => coupons.id),\n userId: integer('user_id').notNull().references(() => users.id),\n}, (t) => ({\n unq_coupon_user: uniqueIndex('unique_coupon_user').on(t.couponId, t.userId),\n}))\n\nexport const couponApplicableProducts = sqliteTable('coupon_applicable_products', {\n id: integer().primaryKey({ autoIncrement: true }),\n couponId: integer('coupon_id').notNull().references(() => coupons.id),\n productId: integer('product_id').notNull().references(() => productInfo.id),\n}, (t) => ({\n unq_coupon_product: uniqueIndex('unique_coupon_product').on(t.couponId, t.productId),\n}))\n\nexport const userIncidents = sqliteTable('user_incidents', {\n id: integer().primaryKey({ autoIncrement: true }),\n userId: integer('user_id').notNull().references(() => users.id),\n orderId: integer('order_id').references(() => orders.id),\n dateAdded: timestampText('date_added').notNull().default(sql`CURRENT_TIMESTAMP`),\n adminComment: text('admin_comment'),\n addedBy: integer('added_by').references(() => staffUsers.id),\n negativityScore: integer('negativity_score'),\n})\n\nexport const reservedCoupons = sqliteTable('reserved_coupons', {\n id: integer().primaryKey({ autoIncrement: true }),\n secretCode: text('secret_code').notNull().unique(),\n couponCode: text('coupon_code').notNull(),\n discountPercent: numericText('discount_percent'),\n flatDiscount: numericText('flat_discount'),\n minOrder: numericText('min_order'),\n productIds: jsonText('product_ids'),\n maxValue: numericText('max_value'),\n validTill: timestampText('valid_till'),\n maxLimitForUser: integer('max_limit_for_user'),\n exclusiveApply: integer('exclusive_apply', { mode: 'boolean' }).notNull().default(false),\n isRedeemed: integer('is_redeemed', { mode: 'boolean' }).notNull().default(false),\n redeemedBy: integer('redeemed_by').references(() => users.id),\n redeemedAt: timestampText('redeemed_at'),\n createdBy: integer('created_by').notNull().references(() => staffUsers.id),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n})\n\nexport const notifCreds = sqliteTable('notif_creds', {\n id: integer().primaryKey({ autoIncrement: true }),\n token: text().notNull().unique(),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n userId: integer('user_id').notNull().references(() => users.id),\n lastVerified: timestampText('last_verified'),\n})\n\nexport const unloggedUserTokens = sqliteTable('unlogged_user_tokens', {\n id: integer().primaryKey({ autoIncrement: true }),\n token: text().notNull().unique(),\n addedAt: timestampText('added_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n lastVerified: timestampText('last_verified'),\n})\n\nexport const userNotifications = sqliteTable('user_notifications', {\n id: integer().primaryKey({ autoIncrement: true }),\n title: text('title').notNull(),\n imageUrl: text('image_url'),\n createdAt: timestampText('created_at').notNull().default(sql`CURRENT_TIMESTAMP`),\n body: text('body').notNull(),\n applicableUsers: jsonText('applicable_users'),\n})\n\n// Relations\nexport const usersRelations = relations(users, ({ many, one }) => ({\n addresses: many(addresses),\n orders: many(orders),\n notifications: many(notifications),\n cartItems: many(cartItems),\n userCreds: one(userCreds),\n coupons: many(coupons),\n couponUsages: many(couponUsage),\n applicableCoupons: many(couponApplicableUsers),\n userDetails: one(userDetails),\n notifCreds: many(notifCreds),\n userIncidents: many(userIncidents),\n}))\n\nexport const userCredsRelations = relations(userCreds, ({ one }) => ({\n user: one(users, { fields: [userCreds.userId], references: [users.id] }),\n}))\n\nexport const staffUsersRelations = relations(staffUsers, ({ one, many }) => ({\n role: one(staffRoles, { fields: [staffUsers.staffRoleId], references: [staffRoles.id] }),\n coupons: many(coupons),\n stores: many(storeInfo),\n}))\n\nexport const addressesRelations = relations(addresses, ({ one, many }) => ({\n user: one(users, { fields: [addresses.userId], references: [users.id] }),\n orders: many(orders),\n zone: one(addressZones, { fields: [addresses.zoneId], references: [addressZones.id] }),\n}))\n\nexport const unitsRelations = relations(units, ({ many }) => ({\n products: many(productInfo),\n}))\n\nexport const productInfoRelations = relations(productInfo, ({ one, many }) => ({\n unit: one(units, { fields: [productInfo.unitId], references: [units.id] }),\n store: one(storeInfo, { fields: [productInfo.storeId], references: [storeInfo.id] }),\n productSlots: many(productSlots),\n specialDeals: many(specialDeals),\n orderItems: many(orderItems),\n cartItems: many(cartItems),\n tags: many(productTags),\n applicableCoupons: many(couponApplicableProducts),\n reviews: many(productReviews),\n groups: many(productGroupMembership),\n}))\n\nexport const productTagInfoRelations = relations(productTagInfo, ({ many }) => ({\n products: many(productTags),\n}))\n\nexport const productTagsRelations = relations(productTags, ({ one }) => ({\n product: one(productInfo, { fields: [productTags.productId], references: [productInfo.id] }),\n tag: one(productTagInfo, { fields: [productTags.tagId], references: [productTagInfo.id] }),\n}))\n\nexport const deliverySlotInfoRelations = relations(deliverySlotInfo, ({ many }) => ({\n productSlots: many(productSlots),\n orders: many(orders),\n vendorSnippets: many(vendorSnippets),\n}))\n\nexport const productSlotsRelations = relations(productSlots, ({ one }) => ({\n product: one(productInfo, { fields: [productSlots.productId], references: [productInfo.id] }),\n slot: one(deliverySlotInfo, { fields: [productSlots.slotId], references: [deliverySlotInfo.id] }),\n}))\n\nexport const specialDealsRelations = relations(specialDeals, ({ one }) => ({\n product: one(productInfo, { fields: [specialDeals.productId], references: [productInfo.id] }),\n}))\n\nexport const ordersRelations = relations(orders, ({ one, many }) => ({\n user: one(users, { fields: [orders.userId], references: [users.id] }),\n address: one(addresses, { fields: [orders.addressId], references: [addresses.id] }),\n slot: one(deliverySlotInfo, { fields: [orders.slotId], references: [deliverySlotInfo.id] }),\n orderItems: many(orderItems),\n payment: one(payments),\n paymentInfo: one(paymentInfoTable, { fields: [orders.paymentInfoId], references: [paymentInfoTable.id] }),\n orderStatus: many(orderStatus),\n refunds: many(refunds),\n couponUsages: many(couponUsage),\n userIncidents: many(userIncidents),\n}))\n\nexport const orderItemsRelations = relations(orderItems, ({ one }) => ({\n order: one(orders, { fields: [orderItems.orderId], references: [orders.id] }),\n product: one(productInfo, { fields: [orderItems.productId], references: [productInfo.id] }),\n}))\n\nexport const orderStatusRelations = relations(orderStatus, ({ one }) => ({\n order: one(orders, { fields: [orderStatus.orderId], references: [orders.id] }),\n user: one(users, { fields: [orderStatus.userId], references: [users.id] }),\n refundCoupon: one(coupons, { fields: [orderStatus.refundCouponId], references: [coupons.id] }),\n}))\n\nexport const paymentInfoRelations = relations(paymentInfoTable, ({ one }) => ({\n order: one(orders, { fields: [paymentInfoTable.id], references: [orders.paymentInfoId] }),\n}))\n\nexport const paymentsRelations = relations(payments, ({ one }) => ({\n order: one(orders, { fields: [payments.orderId], references: [orders.id] }),\n}))\n\nexport const refundsRelations = relations(refunds, ({ one }) => ({\n order: one(orders, { fields: [refunds.orderId], references: [orders.id] }),\n}))\n\nexport const notificationsRelations = relations(notifications, ({ one }) => ({\n user: one(users, { fields: [notifications.userId], references: [users.id] }),\n}))\n\nexport const productCategoriesRelations = relations(productCategories, ({}) => ({}))\n\nexport const cartItemsRelations = relations(cartItems, ({ one }) => ({\n user: one(users, { fields: [cartItems.userId], references: [users.id] }),\n product: one(productInfo, { fields: [cartItems.productId], references: [productInfo.id] }),\n}))\n\nexport const complaintsRelations = relations(complaints, ({ one }) => ({\n user: one(users, { fields: [complaints.userId], references: [users.id] }),\n order: one(orders, { fields: [complaints.orderId], references: [orders.id] }),\n}))\n\nexport const couponsRelations = relations(coupons, ({ one, many }) => ({\n creator: one(staffUsers, { fields: [coupons.createdBy], references: [staffUsers.id] }),\n usages: many(couponUsage),\n applicableUsers: many(couponApplicableUsers),\n applicableProducts: many(couponApplicableProducts),\n}))\n\nexport const couponUsageRelations = relations(couponUsage, ({ one }) => ({\n user: one(users, { fields: [couponUsage.userId], references: [users.id] }),\n coupon: one(coupons, { fields: [couponUsage.couponId], references: [coupons.id] }),\n order: one(orders, { fields: [couponUsage.orderId], references: [orders.id] }),\n orderItem: one(orderItems, { fields: [couponUsage.orderItemId], references: [orderItems.id] }),\n}))\n\nexport const userDetailsRelations = relations(userDetails, ({ one }) => ({\n user: one(users, { fields: [userDetails.userId], references: [users.id] }),\n}))\n\nexport const notifCredsRelations = relations(notifCreds, ({ one }) => ({\n user: one(users, { fields: [notifCreds.userId], references: [users.id] }),\n}))\n\nexport const userNotificationsRelations = relations(userNotifications, ({}) => ({\n // No relations needed for now\n}))\n\nexport const storeInfoRelations = relations(storeInfo, ({ one, many }) => ({\n owner: one(staffUsers, { fields: [storeInfo.owner], references: [staffUsers.id] }),\n products: many(productInfo),\n}))\n\nexport const couponApplicableUsersRelations = relations(couponApplicableUsers, ({ one }) => ({\n coupon: one(coupons, { fields: [couponApplicableUsers.couponId], references: [coupons.id] }),\n user: one(users, { fields: [couponApplicableUsers.userId], references: [users.id] }),\n}))\n\nexport const couponApplicableProductsRelations = relations(couponApplicableProducts, ({ one }) => ({\n coupon: one(coupons, { fields: [couponApplicableProducts.couponId], references: [coupons.id] }),\n product: one(productInfo, { fields: [couponApplicableProducts.productId], references: [productInfo.id] }),\n}))\n\nexport const reservedCouponsRelations = relations(reservedCoupons, ({ one }) => ({\n redeemedUser: one(users, { fields: [reservedCoupons.redeemedBy], references: [users.id] }),\n creator: one(staffUsers, { fields: [reservedCoupons.createdBy], references: [staffUsers.id] }),\n}))\n\nexport const productReviewsRelations = relations(productReviews, ({ one }) => ({\n user: one(users, { fields: [productReviews.userId], references: [users.id] }),\n product: one(productInfo, { fields: [productReviews.productId], references: [productInfo.id] }),\n}))\n\nexport const addressZonesRelations = relations(addressZones, ({ many }) => ({\n addresses: many(addresses),\n areas: many(addressAreas),\n}))\n\nexport const addressAreasRelations = relations(addressAreas, ({ one }) => ({\n zone: one(addressZones, { fields: [addressAreas.zoneId], references: [addressZones.id] }),\n}))\n\nexport const productGroupInfoRelations = relations(productGroupInfo, ({ many }) => ({\n memberships: many(productGroupMembership),\n}))\n\nexport const productGroupMembershipRelations = relations(productGroupMembership, ({ one }) => ({\n product: one(productInfo, { fields: [productGroupMembership.productId], references: [productInfo.id] }),\n group: one(productGroupInfo, { fields: [productGroupMembership.groupId], references: [productGroupInfo.id] }),\n}))\n\nexport const homeBannersRelations = relations(homeBanners, ({}) => ({\n // Relations for productIds array would be more complex, skipping for now\n}))\n\nexport const staffRolesRelations = relations(staffRoles, ({ many }) => ({\n staffUsers: many(staffUsers),\n rolePermissions: many(staffRolePermissions),\n}))\n\nexport const staffPermissionsRelations = relations(staffPermissions, ({ many }) => ({\n rolePermissions: many(staffRolePermissions),\n}))\n\nexport const staffRolePermissionsRelations = relations(staffRolePermissions, ({ one }) => ({\n role: one(staffRoles, { fields: [staffRolePermissions.staffRoleId], references: [staffRoles.id] }),\n permission: one(staffPermissions, { fields: [staffRolePermissions.staffPermissionId], references: [staffPermissions.id] }),\n}))\n\nexport const userIncidentsRelations = relations(userIncidents, ({ one }) => ({\n user: one(users, { fields: [userIncidents.userId], references: [users.id] }),\n order: one(orders, { fields: [userIncidents.orderId], references: [orders.id] }),\n addedBy: one(staffUsers, { fields: [userIncidents.addedBy], references: [staffUsers.id] }),\n}))\n\nexport const vendorSnippetsRelations = relations(vendorSnippets, ({ one }) => ({\n slot: one(deliverySlotInfo, { fields: [vendorSnippets.slotId], references: [deliverySlotInfo.id] }),\n}))\n", "import type { D1Database } from '@cloudflare/workers-types'\nimport { drizzle, type DrizzleD1Database } from 'drizzle-orm/d1'\nimport * as schema from './schema'\n\ntype DbClient = DrizzleD1Database\n\nlet dbInstance: DbClient | null = null\n\nexport function initDb(database: D1Database): void {\n const base = drizzle(database, { schema }) as DbClient\n dbInstance = Object.assign(base, {\n transaction: async (handler: (tx: DbClient) => Promise): Promise => {\n return handler(base)\n },\n })\n}\n\nexport const db = new Proxy({} as DbClient, {\n get(_target, prop: keyof DbClient) {\n if (!dbInstance) {\n throw new Error('D1 database not initialized. Call initDb(env.DB) before using db helpers.')\n }\n\n return dbInstance[prop]\n },\n})\n", "import { db } from '../db/db_index'\nimport { homeBanners, staffUsers } from '../db/schema'\nimport { eq, desc } from 'drizzle-orm'\n\n\nexport interface Banner {\n id: number\n name: string\n imageUrl: string\n description: string | null\n productIds: number[] | null\n redirectUrl: string | null\n serialNum: number | null\n isActive: boolean\n createdAt: Date\n lastUpdated: Date\n}\n\ntype BannerRow = typeof homeBanners.$inferSelect\n\nexport async function getBanners(): Promise {\n const banners = await db.query.homeBanners.findMany({\n orderBy: desc(homeBanners.createdAt),\n }) as BannerRow[]\n\n return banners.map((banner) => ({\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description,\n productIds: banner.productIds || [],\n redirectUrl: banner.redirectUrl,\n serialNum: banner.serialNum,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n }))\n}\n\nexport async function getBannerById(id: number): Promise {\n const banner = await db.query.homeBanners.findFirst({\n where: eq(homeBanners.id, id),\n })\n\n if (!banner) return null\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description,\n productIds: banner.productIds || [],\n redirectUrl: banner.redirectUrl,\n serialNum: banner.serialNum,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n }\n}\n\nexport type CreateBannerInput = Omit\n\nexport async function createBanner(input: CreateBannerInput): Promise {\n const [banner] = await db.insert(homeBanners).values({\n name: input.name,\n imageUrl: input.imageUrl,\n description: input.description,\n productIds: input.productIds || [],\n redirectUrl: input.redirectUrl,\n serialNum: input.serialNum,\n isActive: input.isActive,\n }).returning()\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description,\n productIds: banner.productIds || [],\n redirectUrl: banner.redirectUrl,\n serialNum: banner.serialNum,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n }\n}\n\nexport type UpdateBannerInput = Partial>\n\nexport async function updateBanner(id: number, input: UpdateBannerInput): Promise {\n const [banner] = await db.update(homeBanners)\n .set({\n ...input,\n lastUpdated: new Date(),\n })\n .where(eq(homeBanners.id, id))\n .returning()\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description,\n productIds: banner.productIds || [],\n redirectUrl: banner.redirectUrl,\n serialNum: banner.serialNum,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n }\n}\n\nexport async function deleteBanner(id: number): Promise {\n await db.delete(homeBanners).where(eq(homeBanners.id, id))\n}\n", "import { db } from '../db/db_index'\nimport { complaints, users } from '../db/schema'\nimport { eq, desc, lt } from 'drizzle-orm'\n\nexport interface Complaint {\n id: number\n complaintBody: string\n userId: number\n orderId: number | null\n isResolved: boolean\n response: string | null\n createdAt: Date\n images: string[] | null\n}\n\nexport interface ComplaintWithUser extends Complaint {\n userName: string | null\n userMobile: string | null\n}\n\nexport async function getComplaints(\n cursor?: number,\n limit: number = 20\n): Promise<{ complaints: ComplaintWithUser[]; hasMore: boolean }> {\n const whereCondition = cursor ? lt(complaints.id, cursor) : undefined\n\n const complaintsData = await db\n .select({\n id: complaints.id,\n complaintBody: complaints.complaintBody,\n userId: complaints.userId,\n orderId: complaints.orderId,\n isResolved: complaints.isResolved,\n response: complaints.response,\n createdAt: complaints.createdAt,\n images: complaints.images,\n userName: users.name,\n userMobile: users.mobile,\n })\n .from(complaints)\n .leftJoin(users, eq(complaints.userId, users.id))\n .where(whereCondition)\n .orderBy(desc(complaints.id))\n .limit(limit + 1)\n\n const hasMore = complaintsData.length > limit\n const complaintsToReturn = hasMore ? complaintsData.slice(0, limit) : complaintsData\n\n return {\n complaints: complaintsToReturn.map((c) => ({\n id: c.id,\n complaintBody: c.complaintBody,\n userId: c.userId,\n orderId: c.orderId,\n isResolved: c.isResolved,\n response: c.response,\n createdAt: c.createdAt,\n images: c.images as string[],\n userName: c.userName,\n userMobile: c.userMobile,\n })),\n hasMore,\n }\n}\n\nexport async function resolveComplaint(\n id: number,\n response?: string\n): Promise {\n await db\n .update(complaints)\n .set({ isResolved: true, response })\n .where(eq(complaints.id, id))\n}\n", "export const CONST_KEYS = {\n minRegularOrderValue: 'minRegularOrderValue',\n freeDeliveryThreshold: 'freeDeliveryThreshold',\n deliveryCharge: 'deliveryCharge',\n flashFreeDeliveryThreshold: 'flashFreeDeliveryThreshold',\n flashDeliveryCharge: 'flashDeliveryCharge',\n platformFeePercent: 'platformFeePercent',\n taxRate: 'taxRate',\n tester: 'tester',\n minOrderAmountForCoupon: 'minOrderAmountForCoupon',\n maxCouponDiscount: 'maxCouponDiscount',\n flashDeliverySlotId: 'flashDeliverySlotId',\n readableOrderId: 'readableOrderId',\n versionNum: 'versionNum',\n cacheVersion: 'cache_version',\n playStoreUrl: 'playStoreUrl',\n appStoreUrl: 'appStoreUrl',\n popularItems: 'popularItems',\n allItemsOrder: 'allItemsOrder',\n isFlashDeliveryEnabled: 'isFlashDeliveryEnabled',\n supportMobile: 'supportMobile',\n supportEmail: 'supportEmail',\n} as const\n\nexport const CONST_LABELS: Record = {\n minRegularOrderValue: 'Minimum Regular Order Value',\n freeDeliveryThreshold: 'Free Delivery Threshold',\n deliveryCharge: 'Delivery Charge',\n flashFreeDeliveryThreshold: 'Flash Free Delivery Threshold',\n flashDeliveryCharge: 'Flash Delivery Charge',\n platformFeePercent: 'Platform Fee Percent',\n taxRate: 'Tax Rate',\n tester: 'Tester',\n minOrderAmountForCoupon: 'Minimum Order Amount for Coupon',\n maxCouponDiscount: 'Maximum Coupon Discount',\n flashDeliverySlotId: 'Flash Delivery Slot ID',\n readableOrderId: 'Readable Order ID',\n versionNum: 'Version Number',\n 'cache_version': 'Cache Version',\n playStoreUrl: 'Play Store URL',\n appStoreUrl: 'App Store URL',\n popularItems: 'Popular Items',\n allItemsOrder: 'All Items Order',\n isFlashDeliveryEnabled: 'Enable Flash Delivery',\n supportMobile: 'Support Mobile',\n supportEmail: 'Support Email',\n}\n\nexport type ConstKey = (typeof CONST_KEYS)[keyof typeof CONST_KEYS]\n\nexport const CONST_KEYS_ARRAY = Object.values(CONST_KEYS) as ConstKey[]\n\nexport type ConstValueType = 'string' | 'boolean' | 'number'\n\nexport const CONST_TYPES: Record = {\n minRegularOrderValue: 'number',\n freeDeliveryThreshold: 'number',\n deliveryCharge: 'number',\n flashFreeDeliveryThreshold: 'number',\n flashDeliveryCharge: 'number',\n platformFeePercent: 'number',\n taxRate: 'number',\n tester: 'string',\n minOrderAmountForCoupon: 'number',\n maxCouponDiscount: 'number',\n flashDeliverySlotId: 'number',\n readableOrderId: 'number',\n versionNum: 'string',\n 'cache_version': 'number',\n playStoreUrl: 'string',\n appStoreUrl: 'string',\n popularItems: 'string',\n allItemsOrder: 'string',\n isFlashDeliveryEnabled: 'boolean',\n supportMobile: 'string',\n supportEmail: 'string',\n}\n\nexport const CONST_VISIBILITY: Record = {\n minRegularOrderValue: true,\n freeDeliveryThreshold: true,\n deliveryCharge: true,\n flashFreeDeliveryThreshold: true,\n flashDeliveryCharge: true,\n platformFeePercent: true,\n taxRate: false,\n tester: false,\n minOrderAmountForCoupon: true,\n maxCouponDiscount: false,\n flashDeliverySlotId: true,\n readableOrderId: false,\n versionNum: true,\n 'cache_version': false,\n playStoreUrl: true,\n appStoreUrl: true,\n popularItems: true,\n allItemsOrder: true,\n isFlashDeliveryEnabled: true,\n supportMobile: true,\n supportEmail: true,\n}\n\nexport const castConstValue = (key: string, value: unknown) => {\n if (!Object.prototype.hasOwnProperty.call(CONST_TYPES, key)) {\n return value\n }\n\n const type = CONST_TYPES[key as ConstKey]\n if (type === 'number') {\n const parsed = Number(value)\n return Number.isFinite(parsed) ? parsed : 0\n }\n\n if (type === 'boolean') {\n \n let newVal = value+'';\n if(newVal === '0') {\n return false;\n }\n else if(newVal?.toLowerCase() === 'false') {\n return false;\n }\n return true;\n }\n\n if (value === null || value === undefined) {\n return ''\n }\n\n return String(value)\n}\n", "import { db } from '../db/db_index'\nimport { keyValStore } from '../db/schema'\nimport { eq } from 'drizzle-orm'\nimport { CONST_KEYS, castConstValue } from '../lib/const-keys'\n\nexport interface Constant {\n key: string\n value: any\n}\n\nexport async function getAllConstants(): Promise {\n const constants = await db.select().from(keyValStore)\n\n return constants.map(c => ({\n key: c.key,\n value: castConstValue(c.key, c.value),\n }))\n}\n\nexport async function upsertConstants(constants: Constant[]): Promise {\n await db.transaction(async (tx) => {\n for (const { key, value } of constants) {\n // const castedValue = castConstValue(key, value)\n const castedValue = value+'';\n const existing = await tx.query.keyValStore.findFirst({\n where: eq(keyValStore.key, key),\n columns: { key: true },\n })\n\n if (existing) {\n await tx.update(keyValStore)\n .set({ value: castedValue })\n .where(eq(keyValStore.key, key))\n } else {\n await tx.insert(keyValStore)\n .values({ key, value: castedValue })\n }\n }\n })\n}\n\nconst CACHE_VERSION_KEY = CONST_KEYS.cacheVersion\n\nconst parseCacheVersion = (value: unknown) => {\n const parsed = Number(value)\n return Number.isFinite(parsed) ? parsed : 0\n}\n\nexport async function getCacheVersion(): Promise {\n const record = await db.query.keyValStore.findFirst({\n where: eq(keyValStore.key, CACHE_VERSION_KEY),\n columns: { value: true },\n })\n\n return record ? parseCacheVersion(record.value) : 0\n}\n\nexport async function incrementCacheVersion(): Promise {\n return db.transaction(async (tx) => {\n const existing = await tx.query.keyValStore.findFirst({\n where: eq(keyValStore.key, CACHE_VERSION_KEY),\n columns: { value: true },\n })\n\n const nextValue = parseCacheVersion(existing?.value) + 1\n\n if (existing) {\n await tx.update(keyValStore)\n .set({ value: nextValue })\n .where(eq(keyValStore.key, CACHE_VERSION_KEY))\n } else {\n await tx.insert(keyValStore)\n .values({ key: CACHE_VERSION_KEY, value: nextValue })\n }\n\n return nextValue\n })\n}\n", "import { db } from '../db/db_index'\nimport { coupons, reservedCoupons, users, orders, orderStatus, couponApplicableUsers, couponApplicableProducts } from '../db/schema'\nimport { eq, and, like, or, inArray, lt, desc, asc } from 'drizzle-orm'\n\nexport interface Coupon {\n id: number\n couponCode: string\n isUserBased: boolean\n discountPercent: string | null\n flatDiscount: string | null\n minOrder: string | null\n productIds: number[] | null\n maxValue: string | null\n isApplyForAll: boolean\n validTill: Date | null\n maxLimitForUser: number | null\n exclusiveApply: boolean\n isInvalidated: boolean\n createdAt: Date\n createdBy: number\n}\n\nexport async function getAllCoupons(\n cursor?: number,\n limit: number = 50,\n search?: string\n): Promise<{ coupons: any[]; hasMore: boolean }> {\n let whereCondition = undefined\n const conditions = []\n \n if (cursor) {\n conditions.push(lt(coupons.id, cursor))\n }\n \n if (search && search.trim()) {\n conditions.push(like(coupons.couponCode, `%${search}%`))\n }\n \n if (conditions.length > 0) {\n whereCondition = and(...conditions)\n }\n \n const result = await db.query.coupons.findMany({\n where: whereCondition,\n with: {\n creator: true,\n applicableUsers: {\n with: {\n user: true,\n },\n },\n applicableProducts: {\n with: {\n product: true,\n },\n },\n },\n orderBy: desc(coupons.createdAt),\n limit: limit + 1,\n })\n \n const hasMore = result.length > limit\n const couponsList = hasMore ? result.slice(0, limit) : result\n \n return { coupons: couponsList, hasMore }\n}\n\nexport async function getCouponById(id: number): Promise {\n return await db.query.coupons.findFirst({\n where: eq(coupons.id, id),\n with: {\n creator: true,\n applicableUsers: {\n with: {\n user: true,\n },\n },\n applicableProducts: {\n with: {\n product: true,\n },\n },\n },\n })\n}\n\nexport interface CreateCouponInput {\n couponCode: string\n isUserBased: boolean\n discountPercent?: string\n flatDiscount?: string\n minOrder?: string\n productIds?: number[] | null\n maxValue?: string\n isApplyForAll: boolean\n validTill?: Date\n maxLimitForUser?: number\n exclusiveApply: boolean\n createdBy: number\n}\n\nexport async function createCouponWithRelations(\n input: CreateCouponInput,\n applicableUsers?: number[],\n applicableProducts?: number[]\n): Promise {\n return await db.transaction(async (tx) => {\n const [coupon] = await tx.insert(coupons).values({\n couponCode: input.couponCode,\n isUserBased: input.isUserBased,\n discountPercent: input.discountPercent,\n flatDiscount: input.flatDiscount,\n minOrder: input.minOrder,\n productIds: input.productIds,\n createdBy: input.createdBy,\n maxValue: input.maxValue,\n isApplyForAll: input.isApplyForAll,\n validTill: input.validTill,\n maxLimitForUser: input.maxLimitForUser,\n exclusiveApply: input.exclusiveApply,\n }).returning()\n\n if (applicableUsers && applicableUsers.length > 0) {\n await tx.insert(couponApplicableUsers).values(\n applicableUsers.map(userId => ({\n couponId: coupon.id,\n userId,\n }))\n )\n }\n\n if (applicableProducts && applicableProducts.length > 0) {\n await tx.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: coupon.id,\n productId,\n }))\n )\n }\n\n return coupon as Coupon\n })\n}\n\nexport interface UpdateCouponInput {\n couponCode?: string\n isUserBased?: boolean\n discountPercent?: string\n flatDiscount?: string\n minOrder?: string\n productIds?: number[] | null\n maxValue?: string\n isApplyForAll?: boolean\n validTill?: Date | null\n maxLimitForUser?: number\n exclusiveApply?: boolean\n isInvalidated?: boolean\n}\n\nexport async function updateCouponWithRelations(\n id: number,\n input: UpdateCouponInput,\n applicableUsers?: number[],\n applicableProducts?: number[]\n): Promise {\n return await db.transaction(async (tx) => {\n const [coupon] = await tx.update(coupons)\n .set({\n ...input,\n })\n .where(eq(coupons.id, id))\n .returning()\n\n if (applicableUsers !== undefined) {\n await tx.delete(couponApplicableUsers).where(eq(couponApplicableUsers.couponId, id))\n if (applicableUsers.length > 0) {\n await tx.insert(couponApplicableUsers).values(\n applicableUsers.map(userId => ({\n couponId: id,\n userId,\n }))\n )\n }\n }\n\n if (applicableProducts !== undefined) {\n await tx.delete(couponApplicableProducts).where(eq(couponApplicableProducts.couponId, id))\n if (applicableProducts.length > 0) {\n await tx.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: id,\n productId,\n }))\n )\n }\n }\n\n return coupon as Coupon\n })\n}\n\nexport async function invalidateCoupon(id: number): Promise {\n const result = await db.update(coupons)\n .set({ isInvalidated: true })\n .where(eq(coupons.id, id))\n .returning()\n\n return result[0] as Coupon\n}\n\nexport interface CouponValidationResult {\n valid: boolean\n message?: string\n discountAmount?: number\n coupon?: Partial\n}\n\nexport async function validateCoupon(\n code: string,\n userId: number,\n orderAmount: number\n): Promise {\n const coupon = await db.query.coupons.findFirst({\n where: and(\n eq(coupons.couponCode, code.toUpperCase()),\n eq(coupons.isInvalidated, false)\n ),\n })\n\n if (!coupon) {\n return { valid: false, message: 'Coupon not found or invalidated' }\n }\n\n if (coupon.validTill && new Date(coupon.validTill) < new Date()) {\n return { valid: false, message: 'Coupon has expired' }\n }\n\n if (!coupon.isApplyForAll && !coupon.isUserBased) {\n return { valid: false, message: 'Coupon is not available for use' }\n }\n\n const minOrderValue = coupon.minOrder ? parseFloat(coupon.minOrder) : 0\n if (minOrderValue > 0 && orderAmount < minOrderValue) {\n return { valid: false, message: `Minimum order amount is ${minOrderValue}` }\n }\n\n let discountAmount = 0\n if (coupon.discountPercent) {\n const percent = parseFloat(coupon.discountPercent)\n discountAmount = (orderAmount * percent) / 100\n } else if (coupon.flatDiscount) {\n discountAmount = parseFloat(coupon.flatDiscount)\n }\n\n const maxValueLimit = coupon.maxValue ? parseFloat(coupon.maxValue) : 0\n if (maxValueLimit > 0 && discountAmount > maxValueLimit) {\n discountAmount = maxValueLimit\n }\n\n return {\n valid: true,\n discountAmount,\n coupon: {\n id: coupon.id,\n discountPercent: coupon.discountPercent,\n flatDiscount: coupon.flatDiscount,\n maxValue: coupon.maxValue,\n }\n }\n}\n\nexport async function getReservedCoupons(\n cursor?: number,\n limit: number = 50,\n search?: string\n): Promise<{ coupons: any[]; hasMore: boolean }> {\n let whereCondition = undefined\n const conditions = []\n \n if (cursor) {\n conditions.push(lt(reservedCoupons.id, cursor))\n }\n \n if (search && search.trim()) {\n conditions.push(or(\n like(reservedCoupons.secretCode, `%${search}%`),\n like(reservedCoupons.couponCode, `%${search}%`)\n ))\n }\n \n if (conditions.length > 0) {\n whereCondition = and(...conditions)\n }\n\n const result = await db.query.reservedCoupons.findMany({\n where: whereCondition,\n with: {\n redeemedUser: true,\n creator: true,\n },\n orderBy: desc(reservedCoupons.createdAt),\n limit: limit + 1,\n })\n\n const hasMore = result.length > limit\n const couponsList = hasMore ? result.slice(0, limit) : result\n\n return { coupons: couponsList, hasMore }\n}\n\nexport async function createReservedCouponWithProducts(\n input: any,\n applicableProducts?: number[]\n): Promise {\n return await db.transaction(async (tx) => {\n const [coupon] = await tx.insert(reservedCoupons).values({\n secretCode: input.secretCode,\n couponCode: input.couponCode,\n discountPercent: input.discountPercent,\n flatDiscount: input.flatDiscount,\n minOrder: input.minOrder,\n productIds: input.productIds,\n maxValue: input.maxValue,\n validTill: input.validTill,\n maxLimitForUser: input.maxLimitForUser,\n exclusiveApply: input.exclusiveApply,\n createdBy: input.createdBy,\n }).returning()\n\n if (applicableProducts && applicableProducts.length > 0) {\n await tx.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: coupon.id,\n productId,\n }))\n )\n }\n\n return coupon\n })\n}\n\nexport async function checkUsersExist(userIds: number[]): Promise {\n const existingUsers = await db.query.users.findMany({\n where: inArray(users.id, userIds),\n columns: { id: true },\n })\n return existingUsers.length === userIds.length\n}\n\nexport async function checkCouponExists(couponCode: string): Promise {\n const existing = await db.query.coupons.findFirst({\n where: eq(coupons.couponCode, couponCode),\n })\n return !!existing\n}\n\nexport async function checkReservedCouponExists(secretCode: string): Promise {\n const existing = await db.query.reservedCoupons.findFirst({\n where: eq(reservedCoupons.secretCode, secretCode),\n })\n return !!existing\n}\n\nexport async function generateCancellationCoupon(\n orderId: number,\n staffUserId: number,\n userId: number,\n orderAmount: number,\n couponCode: string\n): Promise {\n return await db.transaction(async (tx) => {\n const expiryDate = new Date()\n expiryDate.setDate(expiryDate.getDate() + 30)\n\n const [coupon] = await tx.insert(coupons).values({\n couponCode,\n isUserBased: true,\n flatDiscount: orderAmount.toString(),\n minOrder: orderAmount.toString(),\n maxValue: orderAmount.toString(),\n validTill: expiryDate,\n maxLimitForUser: 1,\n createdBy: staffUserId,\n isApplyForAll: false,\n }).returning()\n\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId,\n })\n\n await tx.update(orderStatus)\n .set({ refundCouponId: coupon.id })\n .where(eq(orderStatus.orderId, orderId))\n\n return coupon as Coupon\n })\n}\n\nexport async function getOrderWithUser(orderId: number): Promise {\n return await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n user: true,\n },\n })\n}\n\nexport async function createCouponForUser(\n mobile: string,\n couponCode: string,\n staffUserId: number\n): Promise<{ coupon: Coupon; user: { id: number; mobile: string; name: string | null } }> {\n return await db.transaction(async (tx) => {\n let user = await tx.query.users.findFirst({\n where: eq(users.mobile, mobile),\n })\n\n if (!user) {\n const [newUser] = await tx.insert(users).values({\n name: null,\n email: null,\n mobile,\n }).returning()\n user = newUser\n }\n\n const [coupon] = await tx.insert(coupons).values({\n couponCode,\n isUserBased: true,\n discountPercent: '20',\n minOrder: '1000',\n maxValue: '500',\n maxLimitForUser: 1,\n isApplyForAll: false,\n exclusiveApply: false,\n createdBy: staffUserId,\n validTill: new Date(Date.now() + 90 * 24 * 60 * 60 * 1000),\n }).returning()\n\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId: user.id,\n })\n\n return {\n coupon: coupon as Coupon,\n user: {\n id: user.id,\n mobile: user.mobile as string,\n name: user.name,\n },\n }\n })\n}\n\nexport interface UserMiniInfo {\n id: number\n name: string\n mobile: string | null\n}\n\nexport async function getUsersForCoupon(\n search?: string,\n limit: number = 20,\n offset: number = 0\n): Promise<{ users: UserMiniInfo[] }> {\n let whereCondition = undefined\n if (search && search.trim()) {\n whereCondition = or(\n like(users.name, `%${search}%`),\n like(users.mobile, `%${search}%`)\n )\n }\n\n const userList = await db.query.users.findMany({\n where: whereCondition,\n columns: {\n id: true,\n name: true,\n mobile: true,\n },\n limit: limit,\n offset: offset,\n orderBy: asc(users.name),\n })\n\n return {\n users: userList.map((user) => ({\n id: user.id,\n name: user.name || 'Unknown',\n mobile: user.mobile,\n }))\n }\n}\n", "import { db } from '../db/db_index'\nimport {\n addresses,\n complaints,\n couponUsage,\n orderItems,\n orders,\n orderStatus,\n payments,\n refunds,\n} from '../db/schema'\nimport { and, desc, eq, inArray, lt, SQL } from 'drizzle-orm'\nimport type {\n AdminOrderDetails,\n AdminOrderRow,\n AdminOrderStatusRecord,\n AdminOrderUpdateResult,\n AdminOrderItemPackagingResult,\n AdminOrderMessageResult,\n AdminOrderBasicResult,\n AdminGetSlotOrdersResult,\n AdminGetAllOrdersResultWithUserId,\n AdminRebalanceSlotsResult,\n AdminCancelOrderResult,\n AdminRefundRecord,\n RefundStatus,\n PaymentStatus,\n} from '@packages/shared'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport { coerceDate } from '../lib/date'\n\nconst isPaymentStatus = (value: string): value is PaymentStatus =>\n value === 'pending' || value === 'success' || value === 'cod' || value === 'failed'\n\nconst isRefundStatus = (value: string): value is RefundStatus =>\n value === 'success' || value === 'pending' || value === 'failed' || value === 'none' || value === 'na' || value === 'processed'\n\ntype OrderStatusRow = InferSelectModel\n\nconst mapOrderStatusRecord = (record: OrderStatusRow): AdminOrderStatusRecord => ({\n id: record.id,\n orderTime: record.orderTime,\n userId: record.userId,\n orderId: record.orderId,\n isPackaged: record.isPackaged,\n isDelivered: record.isDelivered,\n isCancelled: record.isCancelled,\n cancelReason: record.cancelReason ?? null,\n isCancelledByAdmin: record.isCancelledByAdmin ?? null,\n paymentStatus: isPaymentStatus(record.paymentStatus) ? record.paymentStatus : 'pending',\n cancellationUserNotes: record.cancellationUserNotes ?? null,\n cancellationAdminNotes: record.cancellationAdminNotes ?? null,\n cancellationReviewed: record.cancellationReviewed,\n cancellationReviewedAt: record.cancellationReviewedAt ?? null,\n refundCouponId: record.refundCouponId ?? null,\n})\n\nexport async function updateOrderNotes(orderId: number, adminNotes: string | null): Promise {\n const [result] = await db\n .update(orders)\n .set({ adminNotes })\n .where(eq(orders.id, orderId))\n .returning()\n return (result || null) as AdminOrderRow | null\n}\n\nexport async function updateOrderPackaged(orderId: string, isPackaged: boolean): Promise {\n const orderIdNumber = parseInt(orderId)\n\n await db\n .update(orderItems)\n .set({ is_packaged: isPackaged })\n .where(eq(orderItems.orderId, orderIdNumber))\n\n if (!isPackaged) {\n await db\n .update(orderStatus)\n .set({ isPackaged, isDelivered: false })\n .where(eq(orderStatus.orderId, orderIdNumber))\n } else {\n await db\n .update(orderStatus)\n .set({ isPackaged })\n .where(eq(orderStatus.orderId, orderIdNumber))\n }\n\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderIdNumber),\n })\n\n return { success: true, userId: order?.userId ?? null }\n}\n\nexport async function updateOrderDelivered(orderId: string, isDelivered: boolean): Promise {\n const orderIdNumber = parseInt(orderId)\n\n await db\n .update(orderStatus)\n .set({ isDelivered })\n .where(eq(orderStatus.orderId, orderIdNumber))\n\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderIdNumber),\n })\n\n return { success: true, userId: order?.userId ?? null }\n}\n\nexport async function getOrderDetails(orderId: number): Promise {\n // Single optimized query with all relations\n const orderData = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n payment: true,\n paymentInfo: true,\n orderStatus: true,\n refunds: true,\n },\n })\n\n if (!orderData) {\n return null\n }\n\n const couponUsageData = await db.query.couponUsage.findMany({\n where: eq(couponUsage.orderId, orderData.id),\n with: {\n coupon: true,\n },\n })\n\n let couponData = null\n if (couponUsageData.length > 0) {\n let totalDiscountAmount = 0\n const orderTotal = parseFloat((orderData.totalAmount ?? '0').toString())\n\n for (const usage of couponUsageData) {\n let discountAmount = 0\n\n if (usage.coupon.discountPercent) {\n discountAmount =\n (orderTotal * parseFloat(usage.coupon.discountPercent.toString())) /\n 100\n } else if (usage.coupon.flatDiscount) {\n discountAmount = parseFloat(usage.coupon.flatDiscount.toString())\n }\n\n if (\n usage.coupon.maxValue &&\n discountAmount > parseFloat(usage.coupon.maxValue.toString())\n ) {\n discountAmount = parseFloat(usage.coupon.maxValue.toString())\n }\n\n totalDiscountAmount += discountAmount\n }\n\n couponData = {\n couponCode: couponUsageData.map((u: any) => u.coupon.couponCode).join(', '),\n couponDescription: `${couponUsageData.length} coupons applied`,\n discountAmount: totalDiscountAmount,\n }\n }\n\n const statusRecord = orderData.orderStatus?.[0]\n const orderStatusRecord = statusRecord ? mapOrderStatusRecord(statusRecord) : null\n let status: 'pending' | 'delivered' | 'cancelled' = 'pending'\n if (orderStatusRecord?.isCancelled) {\n status = 'cancelled'\n } else if (orderStatusRecord?.isDelivered) {\n status = 'delivered'\n }\n\n const refund = orderData.refunds?.[0]\n const refundStatus = refund?.refundStatus && isRefundStatus(refund.refundStatus)\n ? refund.refundStatus\n : null\n const refundRecord: AdminRefundRecord | null = refund\n ? {\n id: refund.id,\n orderId: refund.orderId,\n refundAmount: refund.refundAmount,\n refundStatus,\n merchantRefundId: refund.merchantRefundId,\n refundProcessedAt: refund.refundProcessedAt,\n createdAt: refund.createdAt,\n }\n : null\n\n return {\n id: orderData.id,\n readableId: orderData.id,\n userId: orderData.user.id,\n customerName: `${orderData.user.name}`,\n customerEmail: orderData.user.email,\n customerMobile: orderData.user.mobile,\n address: {\n name: orderData.address.name,\n line1: orderData.address.addressLine1,\n line2: orderData.address.addressLine2,\n city: orderData.address.city,\n state: orderData.address.state,\n pincode: orderData.address.pincode,\n phone: orderData.address.phone,\n },\n slotInfo: orderData.slot\n ? {\n time: (coerceDate(orderData.slot.deliveryTime) ?? new Date(0)).toISOString(),\n sequence: orderData.slot.deliverySequence,\n }\n : null,\n isCod: orderData.isCod,\n isOnlinePayment: orderData.isOnlinePayment,\n totalAmount:\n parseFloat(orderData.totalAmount?.toString() || '0') -\n parseFloat(orderData.deliveryCharge?.toString() || '0'),\n deliveryCharge: parseFloat(orderData.deliveryCharge?.toString() || '0'),\n adminNotes: orderData.adminNotes,\n userNotes: orderData.userNotes,\n createdAt: orderData.createdAt,\n status,\n isPackaged: orderStatusRecord?.isPackaged || false,\n isDelivered: orderStatusRecord?.isDelivered || false,\n items: orderData.orderItems.map((item: any) => ({\n id: item.id,\n name: item.product.name,\n quantity: item.quantity,\n productSize: item.product.productQuantity,\n price: item.price,\n unit: item.product.unit?.shortNotation,\n amount: parseFloat(item.price.toString()) * parseFloat(item.quantity || '0'),\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n })),\n payment: orderData.payment\n ? {\n status: orderData.payment.status,\n gateway: orderData.payment.gateway,\n merchantOrderId: orderData.payment.merchantOrderId,\n }\n : null,\n paymentInfo: orderData.paymentInfo\n ? {\n status: orderData.paymentInfo.status,\n gateway: orderData.paymentInfo.gateway,\n merchantOrderId: orderData.paymentInfo.merchantOrderId,\n }\n : null,\n cancelReason: orderStatusRecord?.cancelReason || null,\n cancellationReviewed: orderStatusRecord?.cancellationReviewed || false,\n isRefundDone: refundStatus === 'processed' || false,\n refundStatus,\n refundAmount: refund?.refundAmount\n ? parseFloat(refund.refundAmount.toString())\n : null,\n couponData,\n couponCode: couponData?.couponCode || null,\n couponDescription: couponData?.couponDescription || null,\n discountAmount: couponData?.discountAmount || null,\n orderStatus: orderStatusRecord,\n refundRecord,\n isFlashDelivery: orderData.isFlashDelivery,\n }\n}\n\nexport async function updateOrderItemPackaging(\n orderItemId: number,\n isPackaged?: boolean,\n isPackageVerified?: boolean\n): Promise {\n const orderItem = await db.query.orderItems.findFirst({\n where: eq(orderItems.id, orderItemId),\n })\n\n if (!orderItem) {\n return { success: false, updated: false }\n }\n\n const updateData: Partial<{\n is_packaged: boolean\n is_package_verified: boolean\n }> = {}\n\n if (isPackaged !== undefined) {\n updateData.is_packaged = isPackaged\n }\n if (isPackageVerified !== undefined) {\n updateData.is_package_verified = isPackageVerified\n }\n\n await db\n .update(orderItems)\n .set(updateData)\n .where(eq(orderItems.id, orderItemId))\n\n return { success: true, updated: true }\n}\n\nexport async function removeDeliveryCharge(orderId: number): Promise {\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n })\n\n if (!order) {\n return null\n }\n\n const currentDeliveryCharge = parseFloat(order.deliveryCharge?.toString() || '0')\n const currentTotalAmount = parseFloat(order.totalAmount?.toString() || '0')\n const newTotalAmount = currentTotalAmount - currentDeliveryCharge\n\n await db\n .update(orders)\n .set({\n deliveryCharge: '0',\n totalAmount: newTotalAmount.toString(),\n })\n .where(eq(orders.id, orderId))\n\n return { success: true, message: 'Delivery charge removed' }\n}\n\nexport async function getSlotOrders(slotId: string): Promise {\n const slotOrders = await db.query.orders.findMany({\n where: eq(orders.slotId, parseInt(slotId)),\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n },\n })\n\n const filteredOrders = slotOrders.filter((order: any) => {\n const statusRecord = order.orderStatus[0]\n return order.isCod || (statusRecord && statusRecord.paymentStatus === 'success')\n })\n\n const formattedOrders = filteredOrders.map((order: any) => {\n const statusRecord = order.orderStatus[0]\n let status: 'pending' | 'delivered' | 'cancelled' = 'pending'\n if (statusRecord?.isCancelled) {\n status = 'cancelled'\n } else if (statusRecord?.isDelivered) {\n status = 'delivered'\n }\n\n const items = order.orderItems.map((item: any) => ({\n id: item.id,\n name: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n amount: parseFloat(item.quantity) * parseFloat(item.price.toString()),\n unit: item.product.unit?.shortNotation || '',\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n }))\n\n const paymentMode: 'COD' | 'Online' = order.isCod ? 'COD' : 'Online'\n\n return {\n id: order.id,\n readableId: order.id,\n customerName: order.user.name || order.user.mobile+'',\n address: `${order.address.addressLine1}${\n order.address.addressLine2 ? `, ${order.address.addressLine2}` : ''\n }, ${order.address.city}, ${order.address.state} - ${\n order.address.pincode\n }, Phone: ${order.address.phone}`,\n addressId: order.addressId,\n latitude: order.address.adminLatitude ?? order.address.latitude,\n longitude: order.address.adminLongitude ?? order.address.longitude,\n totalAmount: parseFloat(order.totalAmount),\n items,\n deliveryTime: coerceDate(order.slot?.deliveryTime)?.toISOString() || null,\n status,\n isPackaged: order.orderItems.every((item: any) => item.is_packaged) || false,\n isDelivered: statusRecord?.isDelivered || false,\n isCod: order.isCod,\n paymentMode,\n paymentStatus: isPaymentStatus(statusRecord?.paymentStatus || 'pending')\n ? statusRecord?.paymentStatus || 'pending'\n : 'pending',\n slotId: order.slotId,\n adminNotes: order.adminNotes,\n userNotes: order.userNotes,\n }\n })\n\n return { success: true, data: formattedOrders }\n}\n\nexport async function updateAddressCoords(\n addressId: number,\n latitude: number,\n longitude: number\n): Promise {\n const result = await db\n .update(addresses)\n .set({\n adminLatitude: latitude,\n adminLongitude: longitude,\n })\n .where(eq(addresses.id, addressId))\n .returning()\n\n return { success: result.length > 0 }\n}\n\ntype GetAllOrdersInput = {\n cursor?: number\n limit: number\n slotId?: number | null\n packagedFilter?: 'all' | 'packaged' | 'not_packaged'\n deliveredFilter?: 'all' | 'delivered' | 'not_delivered'\n cancellationFilter?: 'all' | 'cancelled' | 'not_cancelled'\n flashDeliveryFilter?: 'all' | 'flash' | 'regular'\n}\n\nexport async function getAllOrders(input: GetAllOrdersInput): Promise {\n const {\n cursor,\n limit,\n slotId,\n packagedFilter,\n deliveredFilter,\n cancellationFilter,\n flashDeliveryFilter,\n } = input\n\n let whereCondition: SQL | undefined = eq(orders.id, orders.id)\n if (cursor) {\n whereCondition = and(whereCondition, lt(orders.id, cursor))\n }\n if (slotId) {\n whereCondition = and(whereCondition, eq(orders.slotId, slotId))\n }\n if (packagedFilter === 'packaged') {\n whereCondition = and(whereCondition, eq(orderStatus.isPackaged, true))\n } else if (packagedFilter === 'not_packaged') {\n whereCondition = and(whereCondition, eq(orderStatus.isPackaged, false))\n }\n if (deliveredFilter === 'delivered') {\n whereCondition = and(whereCondition, eq(orderStatus.isDelivered, true))\n } else if (deliveredFilter === 'not_delivered') {\n whereCondition = and(whereCondition, eq(orderStatus.isDelivered, false))\n }\n if (cancellationFilter === 'cancelled') {\n whereCondition = and(whereCondition, eq(orderStatus.isCancelled, true))\n } else if (cancellationFilter === 'not_cancelled') {\n whereCondition = and(whereCondition, eq(orderStatus.isCancelled, false))\n }\n if (flashDeliveryFilter === 'flash') {\n whereCondition = and(whereCondition, eq(orders.isFlashDelivery, true))\n } else if (flashDeliveryFilter === 'regular') {\n whereCondition = and(whereCondition, eq(orders.isFlashDelivery, false))\n }\n\n const allOrders = await db.query.orders.findMany({\n where: whereCondition,\n orderBy: desc(orders.createdAt),\n limit: limit + 1,\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n },\n })\n\n const hasMore = allOrders.length > limit\n const ordersToReturn = hasMore ? allOrders.slice(0, limit) : allOrders\n\n const filteredOrders = ordersToReturn.filter((order: any) => {\n const statusRecord = order.orderStatus[0]\n return order.isCod || (statusRecord && statusRecord.paymentStatus === 'success')\n })\n\n const formattedOrders = filteredOrders.map((order: any) => {\n const statusRecord = order.orderStatus[0]\n let status: 'pending' | 'delivered' | 'cancelled' = 'pending'\n if (statusRecord?.isCancelled) {\n status = 'cancelled'\n } else if (statusRecord?.isDelivered) {\n status = 'delivered'\n }\n\n const items = order.orderItems\n .map((item: any) => ({\n id: item.id,\n name: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n amount: parseFloat(item.quantity) * parseFloat(item.price.toString()),\n unit: item.product.unit?.shortNotation || '',\n productSize: item.product.productQuantity,\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n }))\n .sort((first: any, second: any) => first.id - second.id)\n\n return {\n id: order.id,\n orderId: order.id.toString(),\n readableId: order.id,\n customerName: order.user.name || order.user.mobile + '',\n customerMobile: order.user.mobile,\n address: `${order.address.addressLine1}${\n order.address.addressLine2 ? `, ${order.address.addressLine2}` : ''\n }, ${order.address.city}, ${order.address.state} - ${\n order.address.pincode\n }, Phone: ${order.address.phone}`,\n addressId: order.addressId,\n latitude: order.address.adminLatitude ?? order.address.latitude,\n longitude: order.address.adminLongitude ?? order.address.longitude,\n totalAmount: parseFloat(order.totalAmount),\n deliveryCharge: parseFloat(order.deliveryCharge || '0'),\n items,\n createdAt: order.createdAt,\n deliveryTime: coerceDate(order.slot?.deliveryTime)?.toISOString() || null,\n status,\n isPackaged: order.orderItems.every((item: any) => item.is_packaged) || false,\n isDelivered: statusRecord?.isDelivered || false,\n isCod: order.isCod,\n isFlashDelivery: order.isFlashDelivery,\n userNotes: order.userNotes,\n adminNotes: order.adminNotes,\n userNegativityScore: 0,\n userId: order.userId,\n }\n })\n\n return {\n orders: formattedOrders,\n nextCursor: hasMore ? ordersToReturn[ordersToReturn.length - 1].id : undefined,\n }\n}\n\nexport async function rebalanceSlots(slotIds: number[]): Promise {\n const ordersList = await db.query.orders.findMany({\n where: inArray(orders.slotId, slotIds),\n with: {\n orderItems: {\n with: {\n product: true,\n },\n },\n couponUsages: {\n with: {\n coupon: true,\n },\n },\n },\n })\n\n const processedOrdersData = ordersList.map((order: any) => {\n let newTotal = order.orderItems.reduce((acc: number, item: any) => {\n const latestPrice = +item.product.price\n const amount = latestPrice * Number(item.quantity)\n return acc + amount\n }, 0)\n\n order.orderItems.forEach((item: any) => {\n item.price = item.product.price\n item.discountedPrice = item.product.price\n })\n\n const coupon = order.couponUsages[0]?.coupon\n\n let discount = 0\n if (coupon && !coupon.isInvalidated && (!coupon.validTill || new Date(coupon.validTill) > new Date())) {\n const proportion = Number(order.orderGroupProportion || 1)\n if (coupon.discountPercent) {\n const maxDiscount = Number(coupon.maxValue || Infinity) * proportion\n discount = Math.min((newTotal * parseFloat(coupon.discountPercent)) / 100, maxDiscount)\n } else {\n discount = Number(coupon.flatDiscount) * proportion\n }\n }\n newTotal -= discount\n\n const { couponUsages, orderItems: orderItemsRaw, ...rest } = order\n const updatedOrderItems = orderItemsRaw.map((item: any) => {\n const { product, ...rawOrderItem } = item\n return rawOrderItem\n })\n return { order: rest, updatedOrderItems, newTotal }\n })\n\n const updatedOrderIds: number[] = []\n await db.transaction(async (tx) => {\n for (const { order, updatedOrderItems, newTotal } of processedOrdersData) {\n await tx.update(orders).set({ totalAmount: newTotal.toString() }).where(eq(orders.id, order.id))\n updatedOrderIds.push(order.id)\n\n for (const item of updatedOrderItems) {\n await tx\n .update(orderItems)\n .set({\n price: item.price,\n discountedPrice: item.discountedPrice,\n })\n .where(eq(orderItems.id, item.id))\n }\n }\n })\n\n return {\n success: true,\n updatedOrders: updatedOrderIds,\n message: `Rebalanced ${updatedOrderIds.length} orders.`,\n }\n}\n\nexport async function cancelOrder(orderId: number, reason: string): Promise {\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n orderStatus: true,\n },\n })\n\n if (!order) {\n return { success: false, message: 'Order not found', error: 'order_not_found' }\n }\n\n const status = order.orderStatus[0]\n if (!status) {\n return { success: false, message: 'Order status not found', error: 'status_not_found' }\n }\n\n if (status.isCancelled) {\n return { success: false, message: 'Order is already cancelled', error: 'already_cancelled' }\n }\n\n if (status.isDelivered) {\n return { success: false, message: 'Cannot cancel delivered order', error: 'already_delivered' }\n }\n\n const result = await db.transaction(async (tx) => {\n await tx\n .update(orderStatus)\n .set({\n isCancelled: true,\n isCancelledByAdmin: true,\n cancelReason: reason,\n cancellationAdminNotes: reason,\n cancellationReviewed: true,\n cancellationReviewedAt: new Date(),\n })\n .where(eq(orderStatus.id, status.id))\n\n const refundStatus = order.isCod ? 'na' : 'pending'\n\n await tx.insert(refunds).values({\n orderId: order.id,\n refundStatus,\n })\n\n return { orderId: order.id, userId: order.userId }\n })\n\n return {\n success: true,\n message: 'Order cancelled successfully',\n orderId: result.orderId,\n userId: result.userId,\n }\n}\n\nexport async function deleteOrderById(orderId: number): Promise {\n await db.transaction(async (tx) => {\n await tx.delete(orderItems).where(eq(orderItems.orderId, orderId))\n await tx.delete(orderStatus).where(eq(orderStatus.orderId, orderId))\n await tx.delete(payments).where(eq(payments.orderId, orderId))\n await tx.delete(refunds).where(eq(refunds.orderId, orderId))\n await tx.delete(couponUsage).where(eq(couponUsage.orderId, orderId))\n await tx.delete(complaints).where(eq(complaints.orderId, orderId))\n await tx.delete(orders).where(eq(orders.id, orderId))\n })\n}\n", "import { db } from '../db/db_index'\nimport {\n productInfo,\n units,\n specialDeals,\n productSlots,\n productTags,\n productReviews,\n productGroupInfo,\n productGroupMembership,\n productTagInfo,\n users,\n storeInfo,\n} from '../db/schema'\nimport { and, desc, eq, inArray, sql } from 'drizzle-orm'\nimport type { InferInsertModel, InferSelectModel } from 'drizzle-orm'\nimport type {\n AdminProduct,\n AdminProductGroupInfo,\n AdminProductTagInfo,\n AdminProductTagWithProducts,\n AdminProductReview,\n AdminProductWithDetails,\n AdminProductWithRelations,\n AdminSpecialDeal,\n AdminUnit,\n AdminUpdateSlotProductsResult,\n Store,\n} from '@packages/shared'\n\ntype ProductRow = InferSelectModel\ntype UnitRow = InferSelectModel\ntype StoreRow = InferSelectModel\ntype SpecialDealRow = InferSelectModel\ntype ProductTagInfoRow = InferSelectModel\ntype ProductTagRow = InferSelectModel\ntype ProductGroupRow = InferSelectModel\ntype ProductGroupMembershipRow = InferSelectModel\ntype ProductReviewRow = InferSelectModel\n\nconst getStringArray = (value: unknown): string[] | null => {\n if (!Array.isArray(value)) return null\n return value.map((item) => String(item))\n}\n\nconst mapUnit = (unit: UnitRow): AdminUnit => ({\n id: unit.id,\n shortNotation: unit.shortNotation,\n fullName: unit.fullName,\n})\n\nconst mapStore = (store: StoreRow): Store => ({\n id: store.id,\n name: store.name,\n description: store.description,\n imageUrl: store.imageUrl,\n owner: store.owner,\n createdAt: store.createdAt,\n // updatedAt: store.createdAt,\n})\n\nconst mapProduct = (product: ProductRow): AdminProduct => ({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription ?? null,\n longDescription: product.longDescription ?? null,\n unitId: product.unitId,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n images: getStringArray(product.images),\n imageKeys: getStringArray(product.images),\n isOutOfStock: product.isOutOfStock,\n isSuspended: product.isSuspended,\n isFlashAvailable: product.isFlashAvailable,\n flashPrice: product.flashPrice ? String(product.flashPrice) : null,\n createdAt: product.createdAt,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n storeId: product.storeId,\n})\n\nconst mapSpecialDeal = (deal: SpecialDealRow): AdminSpecialDeal => ({\n id: deal.id,\n productId: deal.productId,\n quantity: String(deal.quantity ?? '0'),\n price: String(deal.price ?? '0'),\n validTill: deal.validTill,\n})\n\nconst mapTagInfo = (tag: ProductTagInfoRow): AdminProductTagInfo => ({\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription ?? null,\n imageUrl: tag.imageUrl ?? null,\n isDashboardTag: tag.isDashboardTag,\n relatedStores: tag.relatedStores,\n createdAt: tag.createdAt,\n})\n\nexport async function getAllProducts(): Promise {\n type ProductWithRelationsRow = ProductRow & { unit: UnitRow; store: StoreRow | null }\n const products = await db.query.productInfo.findMany({\n orderBy: productInfo.name,\n with: {\n unit: true,\n store: true,\n },\n }) as ProductWithRelationsRow[]\n\n return products.map((product) => ({\n ...mapProduct(product),\n unit: mapUnit(product.unit),\n store: product.store ? mapStore(product.store) : null,\n }))\n}\n\nexport async function getProductById(id: number): Promise {\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, id),\n with: {\n unit: true,\n },\n })\n\n if (!product) {\n return null\n }\n\n const deals = await db.query.specialDeals.findMany({\n where: eq(specialDeals.productId, id),\n orderBy: specialDeals.quantity,\n })\n\n const productTagsData = await db.query.productTags.findMany({\n where: eq(productTags.productId, id),\n with: {\n tag: true,\n },\n }) as Array\n\n return {\n ...mapProduct(product),\n unit: mapUnit(product.unit),\n deals: deals.map(mapSpecialDeal),\n tags: productTagsData.map((tag) => mapTagInfo(tag.tag)),\n }\n}\n\nexport async function deleteProduct(id: number): Promise {\n const [deletedProduct] = await db\n .delete(productInfo)\n .where(eq(productInfo.id, id))\n .returning()\n\n if (!deletedProduct) {\n return null\n }\n\n return mapProduct(deletedProduct)\n}\n\ntype ProductInfoInsert = InferInsertModel\ntype ProductInfoUpdate = Partial\n\nexport async function createProduct(input: ProductInfoInsert): Promise {\n const [product] = await db.insert(productInfo).values(input).returning()\n return mapProduct(product)\n}\n\nexport async function updateProduct(id: number, updates: ProductInfoUpdate): Promise {\n const [product] = await db.update(productInfo)\n .set(updates)\n .where(eq(productInfo.id, id))\n .returning()\n if (!product) {\n return null\n }\n\n return mapProduct(product)\n}\n\nexport async function toggleProductOutOfStock(id: number): Promise {\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, id),\n })\n\n if (!product) {\n return null\n }\n\n const [updatedProduct] = await db\n .update(productInfo)\n .set({\n isOutOfStock: !product.isOutOfStock,\n })\n .where(eq(productInfo.id, id))\n .returning()\n\n if (!updatedProduct) {\n return null\n }\n\n return mapProduct(updatedProduct)\n}\n\nexport async function updateSlotProducts(slotId: string, productIds: string[]): Promise {\n const currentAssociations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, parseInt(slotId)),\n columns: {\n productId: true,\n },\n }) as Array<{ productId: number }>\n\n const currentProductIds = currentAssociations.map((assoc: { productId: number }) => assoc.productId)\n const newProductIds = productIds.map((id: string) => parseInt(id))\n\n const productsToAdd = newProductIds.filter((id: number) => !currentProductIds.includes(id))\n const productsToRemove = currentProductIds.filter((id: number) => !newProductIds.includes(id))\n\n if (productsToRemove.length > 0) {\n await db.delete(productSlots).where(\n and(\n eq(productSlots.slotId, parseInt(slotId)),\n inArray(productSlots.productId, productsToRemove)\n )\n )\n }\n\n if (productsToAdd.length > 0) {\n const newAssociations = productsToAdd.map((productId) => ({\n productId,\n slotId: parseInt(slotId),\n }))\n\n await db.insert(productSlots).values(newAssociations)\n }\n\n return {\n message: 'Slot products updated successfully',\n added: productsToAdd.length,\n removed: productsToRemove.length,\n }\n}\n\nexport async function getSlotProductIds(slotId: string): Promise {\n const associations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, parseInt(slotId)),\n columns: {\n productId: true,\n },\n })\n\n return associations.map((assoc: { productId: number }) => assoc.productId)\n}\n\nexport async function getAllUnits(): Promise {\n const allUnits = await db.query.units.findMany({\n orderBy: units.shortNotation,\n })\n\n return allUnits.map(mapUnit)\n}\n\nexport async function getAllProductTags(): Promise {\n const tags = await db.query.productTagInfo.findMany({\n with: {\n products: {\n with: {\n product: true,\n },\n },\n },\n }) as Array }>\n\n return tags.map((tag: ProductTagInfoRow & { products: Array }) => ({\n ...mapTagInfo(tag),\n products: tag.products.map((assignment: ProductTagRow & { product: ProductRow }) => ({\n productId: assignment.productId,\n tagId: assignment.tagId,\n assignedAt: assignment.assignedAt,\n product: mapProduct(assignment.product),\n })),\n }))\n}\n\nexport async function getAllProductTagInfos(): Promise {\n const tags = await db.query.productTagInfo.findMany({\n orderBy: productTagInfo.tagName,\n })\n\n return tags.map(mapTagInfo)\n}\n\nexport async function getProductTagInfoById(tagId: number): Promise {\n const tag = await db.query.productTagInfo.findFirst({\n where: eq(productTagInfo.id, tagId),\n })\n\n if (!tag) {\n return null\n }\n\n return mapTagInfo(tag)\n}\n\nexport interface CreateProductTagInput {\n tagName: string\n tagDescription?: string | null\n imageUrl?: string | null\n isDashboardTag?: boolean\n relatedStores?: number[]\n}\n\nexport async function createProductTag(input: CreateProductTagInput): Promise {\n const [tag] = await db.insert(productTagInfo).values({\n tagName: input.tagName,\n tagDescription: input.tagDescription || null,\n imageUrl: input.imageUrl || null,\n isDashboardTag: input.isDashboardTag || false,\n relatedStores: input.relatedStores || [],\n }).returning()\n\n return {\n ...mapTagInfo(tag),\n products: [],\n }\n}\n\nexport async function getProductTagById(tagId: number): Promise {\n const tag = await db.query.productTagInfo.findFirst({\n where: eq(productTagInfo.id, tagId),\n with: {\n products: {\n with: {\n product: true,\n },\n },\n },\n })\n\n if (!tag) {\n return null\n }\n\n return {\n ...mapTagInfo(tag),\n products: tag.products.map((assignment: ProductTagRow & { product: ProductRow }) => ({\n productId: assignment.productId,\n tagId: assignment.tagId,\n assignedAt: assignment.assignedAt,\n product: mapProduct(assignment.product),\n })),\n }\n}\n\nexport interface UpdateProductTagInput {\n tagName?: string\n tagDescription?: string | null\n imageUrl?: string | null\n isDashboardTag?: boolean\n relatedStores?: number[]\n}\n\nexport async function updateProductTag(tagId: number, input: UpdateProductTagInput): Promise {\n const [tag] = await db.update(productTagInfo).set({\n ...(input.tagName !== undefined && { tagName: input.tagName }),\n ...(input.tagDescription !== undefined && { tagDescription: input.tagDescription }),\n ...(input.imageUrl !== undefined && { imageUrl: input.imageUrl }),\n ...(input.isDashboardTag !== undefined && { isDashboardTag: input.isDashboardTag }),\n ...(input.relatedStores !== undefined && { relatedStores: input.relatedStores }),\n }).where(eq(productTagInfo.id, tagId)).returning()\n\n const fullTag = await db.query.productTagInfo.findFirst({\n where: eq(productTagInfo.id, tagId),\n with: {\n products: {\n with: {\n product: true,\n },\n },\n },\n })\n\n return {\n ...mapTagInfo(tag),\n products: fullTag?.products.map((assignment: ProductTagRow & { product: ProductRow }) => ({\n productId: assignment.productId,\n tagId: assignment.tagId,\n assignedAt: assignment.assignedAt,\n product: mapProduct(assignment.product),\n })) || [],\n }\n}\n\nexport async function deleteProductTag(tagId: number): Promise {\n await db.delete(productTagInfo).where(eq(productTagInfo.id, tagId))\n}\n\nexport async function checkProductTagExistsByName(tagName: string): Promise {\n const tag = await db.query.productTagInfo.findFirst({\n where: eq(productTagInfo.tagName, tagName),\n })\n return !!tag\n}\n\nexport async function getSlotsProductIds(slotIds: number[]): Promise> {\n if (slotIds.length === 0) {\n return {}\n }\n\n const associations = await db.query.productSlots.findMany({\n where: inArray(productSlots.slotId, slotIds),\n columns: {\n slotId: true,\n productId: true,\n },\n }) as Array<{ slotId: number; productId: number }>\n\n const result: Record = {}\n for (const assoc of associations) {\n if (!result[assoc.slotId]) {\n result[assoc.slotId] = []\n }\n result[assoc.slotId].push(assoc.productId)\n }\n\n slotIds.forEach((slotId) => {\n if (!result[slotId]) {\n result[slotId] = []\n }\n })\n\n return result\n}\n\nexport async function getProductReviews(productId: number, limit: number, offset: number) {\n const reviews = await db\n .select({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n adminResponse: productReviews.adminResponse,\n adminResponseImages: productReviews.adminResponseImages,\n userName: users.name,\n })\n .from(productReviews)\n .innerJoin(users, eq(productReviews.userId, users.id))\n .where(eq(productReviews.productId, productId))\n .orderBy(desc(productReviews.reviewTime))\n .limit(limit)\n .offset(offset)\n\n const totalCountResult = await db\n .select({ count: sql`count(*)` })\n .from(productReviews)\n .where(eq(productReviews.productId, productId))\n\n const totalCount = Number(totalCountResult[0].count)\n\n const mappedReviews: AdminProductReview[] = reviews.map((review: any) => ({\n id: review.id,\n reviewBody: review.reviewBody,\n ratings: review.ratings,\n imageUrls: review.imageUrls,\n reviewTime: review.reviewTime,\n adminResponse: review.adminResponse ?? null,\n adminResponseImages: review.adminResponseImages,\n userName: review.userName ?? null,\n }))\n\n return {\n reviews: mappedReviews,\n totalCount,\n }\n}\n\nexport async function respondToReview(\n reviewId: number,\n adminResponse: string | undefined,\n adminResponseImages: string[]\n): Promise {\n const [updatedReview] = await db\n .update(productReviews)\n .set({\n adminResponse,\n adminResponseImages,\n })\n .where(eq(productReviews.id, reviewId))\n .returning()\n\n if (!updatedReview) {\n return null\n }\n\n return {\n id: updatedReview.id,\n reviewBody: updatedReview.reviewBody,\n ratings: updatedReview.ratings,\n imageUrls: updatedReview.imageUrls,\n reviewTime: updatedReview.reviewTime,\n adminResponse: updatedReview.adminResponse ?? null,\n adminResponseImages: updatedReview.adminResponseImages,\n userName: null,\n }\n}\n\nexport async function getAllProductGroups() {\n const groups = await db.query.productGroupInfo.findMany({\n with: {\n memberships: {\n with: {\n product: true,\n },\n },\n },\n orderBy: desc(productGroupInfo.createdAt),\n })\n\n return groups.map((group: any) => ({\n id: group.id,\n groupName: group.groupName,\n description: group.description ?? null,\n createdAt: group.createdAt,\n products: group.memberships.map((membership: any) => mapProduct(membership.product)),\n productCount: group.memberships.length,\n memberships: group.memberships\n }))\n}\n\nexport async function createProductGroup(\n groupName: string,\n description: string | undefined,\n productIds: number[]\n): Promise {\n const [newGroup] = await db\n .insert(productGroupInfo)\n .values({\n groupName,\n description,\n })\n .returning()\n\n if (productIds.length > 0) {\n const memberships = productIds.map((productId) => ({\n productId,\n groupId: newGroup.id,\n }))\n\n await db.insert(productGroupMembership).values(memberships)\n }\n\n return {\n id: newGroup.id,\n groupName: newGroup.groupName,\n description: newGroup.description ?? null,\n createdAt: newGroup.createdAt,\n }\n}\n\nexport async function updateProductGroup(\n id: number,\n groupName: string | undefined,\n description: string | undefined,\n productIds: number[] | undefined\n): Promise {\n const updateData: Partial<{\n groupName: string\n description: string | null\n }> = {}\n\n if (groupName !== undefined) updateData.groupName = groupName\n if (description !== undefined) updateData.description = description\n\n const [updatedGroup] = await db\n .update(productGroupInfo)\n .set(updateData)\n .where(eq(productGroupInfo.id, id))\n .returning()\n\n if (!updatedGroup) {\n return null\n }\n\n if (productIds !== undefined) {\n await db.delete(productGroupMembership).where(eq(productGroupMembership.groupId, id))\n\n if (productIds.length > 0) {\n const memberships = productIds.map((productId) => ({\n productId,\n groupId: id,\n }))\n\n await db.insert(productGroupMembership).values(memberships)\n }\n }\n\n return {\n id: updatedGroup.id,\n groupName: updatedGroup.groupName,\n description: updatedGroup.description ?? null,\n createdAt: updatedGroup.createdAt,\n }\n}\n\nexport async function deleteProductGroup(id: number): Promise {\n await db.delete(productGroupMembership).where(eq(productGroupMembership.groupId, id))\n\n const [deletedGroup] = await db\n .delete(productGroupInfo)\n .where(eq(productGroupInfo.id, id))\n .returning()\n\n if (!deletedGroup) {\n return null\n }\n\n return {\n id: deletedGroup.id,\n groupName: deletedGroup.groupName,\n description: deletedGroup.description ?? null,\n createdAt: deletedGroup.createdAt,\n }\n}\n\nexport async function addProductToGroup(groupId: number, productId: number): Promise {\n await db.insert(productGroupMembership).values({ groupId, productId })\n}\n\nexport async function removeProductFromGroup(groupId: number, productId: number): Promise {\n await db.delete(productGroupMembership)\n .where(and(\n eq(productGroupMembership.groupId, groupId),\n eq(productGroupMembership.productId, productId)\n ))\n}\n\nexport async function updateProductPrices(updates: Array<{\n productId: number\n price?: number\n marketPrice?: number | null\n flashPrice?: number | null\n isFlashAvailable?: boolean\n}>) {\n if (updates.length === 0) {\n return { updatedCount: 0, invalidIds: [] }\n }\n\n const productIds = updates.map((update) => update.productId)\n const existingProducts = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, productIds),\n columns: { id: true },\n }) as Array<{ id: number }>\n\n const existingIds = new Set(existingProducts.map((product: { id: number }) => product.id))\n const invalidIds = productIds.filter((id) => !existingIds.has(id))\n\n if (invalidIds.length > 0) {\n return { updatedCount: 0, invalidIds }\n }\n\n const updatePromises = updates.map((update) => {\n const { productId, price, marketPrice, flashPrice, isFlashAvailable } = update\n const updateData: Partial> = {}\n\n if (price !== undefined) updateData.price = price.toString()\n if (marketPrice !== undefined) updateData.marketPrice = marketPrice === null ? null : marketPrice.toString()\n if (flashPrice !== undefined) updateData.flashPrice = flashPrice === null ? null : flashPrice.toString()\n if (isFlashAvailable !== undefined) updateData.isFlashAvailable = isFlashAvailable\n\n return db\n .update(productInfo)\n .set(updateData)\n .where(eq(productInfo.id, productId))\n })\n\n await Promise.all(updatePromises)\n\n return { updatedCount: updates.length, invalidIds: [] }\n}\n\n\n// ==========================================================================\n// Product Helpers for Admin Controller\n// ==========================================================================\n\nexport async function checkProductExistsByName(name: string): Promise {\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.name, name),\n columns: { id: true },\n })\n\n return !!product\n}\n\nexport async function checkUnitExists(unitId: number): Promise {\n const unit = await db.query.units.findFirst({\n where: eq(units.id, unitId),\n columns: { id: true },\n })\n\n return !!unit\n}\n\nexport async function getProductImagesById(productId: number): Promise {\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n columns: { images: true },\n })\n\n if (!product) {\n return null\n }\n\n return getStringArray(product.images) || []\n}\n\nexport interface CreateSpecialDealInput {\n quantity: number\n price: number\n validTill: string | Date\n}\n\nexport async function createSpecialDealsForProduct(\n productId: number,\n deals: CreateSpecialDealInput[]\n): Promise {\n if (deals.length === 0) {\n return []\n }\n\n const dealInserts = deals.map((deal) => ({\n productId,\n quantity: deal.quantity.toString(),\n price: deal.price.toString(),\n validTill: new Date(deal.validTill),\n }))\n\n const createdDeals = await db\n .insert(specialDeals)\n .values(dealInserts)\n .returning()\n\n return createdDeals.map(mapSpecialDeal)\n}\n\nexport async function updateProductDeals(\n productId: number,\n deals: CreateSpecialDealInput[]\n): Promise {\n if (deals.length === 0) {\n await db.delete(specialDeals).where(eq(specialDeals.productId, productId))\n return\n }\n\n const existingDeals = await db.query.specialDeals.findMany({\n where: eq(specialDeals.productId, productId),\n })\n\n const existingDealsMap = new Map(\n existingDeals.map((deal: SpecialDealRow) => [`${deal.quantity}-${deal.price}`, deal])\n )\n const newDealsMap = new Map(\n deals.map((deal) => [`${deal.quantity}-${deal.price}`, deal])\n )\n\n const dealsToAdd = deals.filter((deal) => {\n const key = `${deal.quantity}-${deal.price}`\n return !existingDealsMap.has(key)\n })\n\n const dealsToRemove = existingDeals.filter((deal: SpecialDealRow) => {\n const key = `${deal.quantity}-${deal.price}`\n return !newDealsMap.has(key)\n })\n\n const dealsToUpdate = deals.filter((deal: CreateSpecialDealInput) => {\n const key = `${deal.quantity}-${deal.price}`\n const existing = existingDealsMap.get(key)\n const nextValidTill = deal.validTill instanceof Date\n ? deal.validTill.toISOString().split('T')[0]\n : String(deal.validTill)\n return existing && existing.validTill.toISOString().split('T')[0] !== nextValidTill\n })\n\n if (dealsToRemove.length > 0) {\n await db.delete(specialDeals).where(\n inArray(specialDeals.id, dealsToRemove.map((deal: SpecialDealRow) => deal.id))\n )\n }\n\n if (dealsToAdd.length > 0) {\n const dealInserts = dealsToAdd.map((deal) => ({\n productId,\n quantity: deal.quantity.toString(),\n price: deal.price.toString(),\n validTill: new Date(deal.validTill),\n }))\n await db.insert(specialDeals).values(dealInserts)\n }\n\n for (const deal of dealsToUpdate) {\n const key = `${deal.quantity}-${deal.price}`\n const existingDeal = existingDealsMap.get(key)\n if (existingDeal) {\n await db.update(specialDeals)\n .set({ validTill: new Date(deal.validTill) })\n .where(eq(specialDeals.id, existingDeal.id))\n }\n }\n}\n\nexport async function replaceProductTags(productId: number, tagIds: number[]): Promise {\n await db.delete(productTags).where(eq(productTags.productId, productId))\n\n if (tagIds.length === 0) {\n return\n }\n\n const tagAssociations = tagIds.map((tagId) => ({\n productId,\n tagId,\n }))\n\n await db.insert(productTags).values(tagAssociations)\n}\n", "import { db } from '../db/db_index'\nimport {\n deliverySlotInfo,\n productSlots,\n productInfo,\n vendorSnippets,\n productGroupInfo,\n} from '../db/schema'\nimport { and, asc, desc, eq, gt, inArray } from 'drizzle-orm'\nimport type {\n AdminDeliverySlot,\n AdminSlotWithProducts,\n AdminSlotWithProductsAndSnippetsBase,\n AdminSlotCreateResult,\n AdminSlotUpdateResult,\n AdminVendorSnippet,\n AdminSlotProductSummary,\n AdminUpdateSlotCapacityResult,\n} from '@packages/shared'\nimport { coerceDate } from '../lib/date'\n\ntype SlotSnippetInput = {\n name: string\n productIds: number[]\n validTill?: string\n}\n\nconst getStringArray = (value: unknown): string[] | null => {\n if (!Array.isArray(value)) return null\n return value.map((item) => String(item))\n}\n\nconst getNumberArray = (value: unknown): number[] => {\n if (!Array.isArray(value)) return []\n return value.map((item) => Number(item))\n}\n\nconst normalizeProductIds = (value: unknown): number[] => {\n if (!Array.isArray(value)) return []\n const ids = value\n .map((item) => Number(item))\n .filter((item) => Number.isFinite(item))\n\n return Array.from(new Set(ids))\n}\n\nconst chunkArray = (items: T[], size: number): T[][] => {\n if (size <= 0) return [items]\n const chunks: T[][] = []\n for (let i = 0; i < items.length; i += size) {\n chunks.push(items.slice(i, i + size))\n }\n return chunks\n}\n\nconst PRODUCT_ID_CHUNK_SIZE = 40\nconst PRODUCT_SLOT_CHUNK_SIZE = 40\n\nconst fetchExistingProductIds = async (tx: any, productIds: number[]) => {\n const existingIds = new Set()\n const chunks = chunkArray(productIds, PRODUCT_ID_CHUNK_SIZE)\n for (const chunk of chunks) {\n if (chunk.length === 0) continue\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, chunk),\n columns: { id: true },\n })\n products.forEach((product: { id: number }) => existingIds.add(product.id))\n }\n return existingIds\n}\n\nconst mapDeliverySlot = (slot: typeof deliverySlotInfo.$inferSelect): AdminDeliverySlot => ({\n id: slot.id,\n deliveryTime: coerceDate(slot.deliveryTime) ?? new Date(0),\n freezeTime: coerceDate(slot.freezeTime) ?? new Date(0),\n isActive: slot.isActive,\n isFlash: slot.isFlash,\n isCapacityFull: slot.isCapacityFull,\n deliverySequence: slot.deliverySequence,\n groupIds: slot.groupIds,\n})\n\nconst mapSlotProductSummary = (product: { id: number; name: string; images: unknown }): AdminSlotProductSummary => ({\n id: product.id,\n name: product.name,\n images: getStringArray(product.images),\n})\n\nconst mapVendorSnippet = (snippet: typeof vendorSnippets.$inferSelect): AdminVendorSnippet => ({\n id: snippet.id,\n snippetCode: snippet.snippetCode,\n slotId: snippet.slotId ?? null,\n productIds: snippet.productIds || [],\n isPermanent: snippet.isPermanent,\n validTill: coerceDate(snippet.validTill),\n createdAt: coerceDate(snippet.createdAt) ?? new Date(0),\n})\n\nexport async function getActiveSlotsWithProducts(): Promise {\n const slots = await db.query.deliverySlotInfo\n .findMany({\n where: eq(deliverySlotInfo.isActive, true),\n orderBy: desc(deliverySlotInfo.deliveryTime),\n with: {\n productSlots: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n },\n })\n\n return slots.map((slot: any) => ({\n ...mapDeliverySlot(slot),\n deliverySequence: getNumberArray(slot.deliverySequence),\n products: slot.productSlots.map((ps: any) => mapSlotProductSummary(ps.product)),\n }))\n}\n\nexport async function getActiveSlots(): Promise {\n const slots = await db.query.deliverySlotInfo.findMany({\n where: eq(deliverySlotInfo.isActive, true),\n })\n\n return slots.map(mapDeliverySlot)\n}\n\nexport async function getSlotsAfterDate(afterDate: Date): Promise {\n const slots = await db.query.deliverySlotInfo.findMany({\n where: and(\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, afterDate)\n ),\n orderBy: asc(deliverySlotInfo.deliveryTime),\n })\n\n return slots.map(mapDeliverySlot)\n}\n\nexport async function getSlotByIdWithRelations(id: number): Promise {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, id),\n with: {\n productSlots: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n vendorSnippets: true,\n },\n })\n\n if (!slot) {\n return null\n }\n\n return {\n ...mapDeliverySlot(slot),\n deliverySequence: getNumberArray(slot.deliverySequence),\n groupIds: getNumberArray(slot.groupIds),\n products: slot.productSlots.map((ps: any) => mapSlotProductSummary(ps.product)),\n vendorSnippets: slot.vendorSnippets.map(mapVendorSnippet),\n }\n}\n\nexport async function createSlotWithRelations(input: {\n deliveryTime: string\n freezeTime: string\n isActive?: boolean\n productIds?: number[]\n vendorSnippets?: SlotSnippetInput[]\n groupIds?: number[]\n}): Promise {\n const { deliveryTime, freezeTime, isActive, productIds, vendorSnippets: snippets, groupIds } = input\n\n const result = await db.transaction(async (tx) => {\n const [newSlot] = await tx\n .insert(deliverySlotInfo)\n .values({\n deliveryTime: new Date(deliveryTime),\n freezeTime: new Date(freezeTime),\n isActive: isActive !== undefined ? isActive : true,\n groupIds: groupIds !== undefined ? groupIds : [],\n })\n .returning()\n\n const normalizedProductIds = normalizeProductIds(productIds)\n if (productIds && normalizedProductIds.length > 0) {\n const existingIds = await fetchExistingProductIds(tx, normalizedProductIds)\n const missingIds = normalizedProductIds.filter((productId) => !existingIds.has(productId))\n if (missingIds.length > 0) {\n throw new Error(`Invalid product IDs: ${missingIds.join(', ')}`)\n }\n\n const associations = normalizedProductIds.map((productId) => ({\n productId,\n slotId: newSlot.id,\n }))\n const associationChunks = chunkArray(associations, PRODUCT_SLOT_CHUNK_SIZE)\n for (const chunk of associationChunks) {\n await tx.insert(productSlots).values(chunk)\n }\n }\n\n let createdSnippets: AdminVendorSnippet[] = []\n if (snippets && snippets.length > 0) {\n for (const snippet of snippets) {\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n })\n if (products.length !== snippet.productIds.length) {\n throw new Error(`One or more invalid product IDs in snippet \"${snippet.name}\"`)\n }\n\n const existingSnippet = await tx.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippet.name),\n })\n if (existingSnippet) {\n throw new Error(`Snippet name \"${snippet.name}\" already exists`)\n }\n\n const [createdSnippet] = await tx.insert(vendorSnippets).values({\n snippetCode: snippet.name,\n slotId: newSlot.id,\n productIds: snippet.productIds,\n validTill: snippet.validTill ? new Date(snippet.validTill) : undefined,\n }).returning()\n\n createdSnippets.push(mapVendorSnippet(createdSnippet))\n }\n }\n\n return {\n slot: mapDeliverySlot(newSlot),\n createdSnippets,\n message: 'Slot created successfully',\n }\n })\n\n return result\n}\n\nexport async function updateSlotWithRelations(input: {\n id: number\n deliveryTime: string\n freezeTime: string\n isActive?: boolean\n productIds?: number[]\n vendorSnippets?: SlotSnippetInput[]\n groupIds?: number[]\n}): Promise {\n const { id, deliveryTime, freezeTime, isActive, productIds, vendorSnippets: snippets, groupIds } = input\n\n let validGroupIds = groupIds\n if (groupIds && groupIds.length > 0) {\n const existingGroups = await db.query.productGroupInfo.findMany({\n where: inArray(productGroupInfo.id, groupIds),\n columns: { id: true },\n })\n validGroupIds = existingGroups.map((group: { id: number }) => group.id)\n }\n\n const result = await db.transaction(async (tx) => {\n const [updatedSlot] = await tx\n .update(deliverySlotInfo)\n .set({\n deliveryTime: new Date(deliveryTime),\n freezeTime: new Date(freezeTime),\n isActive: isActive !== undefined ? isActive : true,\n groupIds: validGroupIds !== undefined ? validGroupIds : [],\n })\n .where(eq(deliverySlotInfo.id, id))\n .returning()\n\n if (!updatedSlot) {\n return null\n }\n\n if (productIds !== undefined) {\n await tx.delete(productSlots).where(eq(productSlots.slotId, id))\n\n const normalizedProductIds = normalizeProductIds(productIds)\n if (productIds.length > 0 && normalizedProductIds.length > 0) {\n const existingIds = await fetchExistingProductIds(tx, normalizedProductIds)\n const missingIds = normalizedProductIds.filter((productId) => !existingIds.has(productId))\n if (missingIds.length > 0) {\n throw new Error(`Invalid product IDs: ${missingIds.join(', ')}`)\n }\n\n const associations = normalizedProductIds.map((productId) => ({\n productId,\n slotId: id,\n }))\n const associationChunks = chunkArray(associations, PRODUCT_SLOT_CHUNK_SIZE)\n for (const chunk of associationChunks) {\n await tx.insert(productSlots).values(chunk)\n }\n }\n }\n\n let createdSnippets: AdminVendorSnippet[] = []\n if (snippets && snippets.length > 0) {\n for (const snippet of snippets) {\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n })\n if (products.length !== snippet.productIds.length) {\n throw new Error(`One or more invalid product IDs in snippet \"${snippet.name}\"`)\n }\n\n const existingSnippet = await tx.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippet.name),\n })\n if (existingSnippet) {\n throw new Error(`Snippet name \"${snippet.name}\" already exists`)\n }\n\n const [createdSnippet] = await tx.insert(vendorSnippets).values({\n snippetCode: snippet.name,\n slotId: id,\n productIds: snippet.productIds,\n validTill: snippet.validTill ? new Date(snippet.validTill) : undefined,\n }).returning()\n\n createdSnippets.push(mapVendorSnippet(createdSnippet))\n }\n }\n\n return {\n slot: mapDeliverySlot(updatedSlot),\n createdSnippets,\n message: 'Slot updated successfully',\n }\n })\n\n return result\n}\n\nexport async function deleteSlotById(id: number): Promise {\n const [deletedSlot] = await db\n .update(deliverySlotInfo)\n .set({ isActive: false })\n .where(eq(deliverySlotInfo.id, id))\n .returning()\n\n if (!deletedSlot) {\n return null\n }\n\n return mapDeliverySlot(deletedSlot)\n}\n\nexport async function getSlotDeliverySequence(slotId: number): Promise {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n })\n\n if (!slot) {\n return null\n }\n\n return mapDeliverySlot(slot)\n}\n\nexport async function updateSlotDeliverySequence(slotId: number, sequence: unknown) {\n const [updatedSlot] = await db\n .update(deliverySlotInfo)\n .set({ deliverySequence: sequence as Record })\n .where(eq(deliverySlotInfo.id, slotId))\n .returning({\n id: deliverySlotInfo.id,\n deliverySequence: deliverySlotInfo.deliverySequence,\n })\n\n return updatedSlot || null\n}\n\nexport async function updateSlotCapacity(slotId: number, isCapacityFull: boolean): Promise {\n const [updatedSlot] = await db\n .update(deliverySlotInfo)\n .set({ isCapacityFull })\n .where(eq(deliverySlotInfo.id, slotId))\n .returning()\n\n if (!updatedSlot) {\n return null\n }\n\n return {\n success: true,\n slot: mapDeliverySlot(updatedSlot),\n message: `Slot ${isCapacityFull ? 'marked as full capacity' : 'capacity reset'}`,\n }\n}\n", "import { db } from '../db/db_index'\nimport { staffUsers, staffRoles, users, userDetails, orders } from '../db/schema'\nimport { eq, or, like, and, lt, desc } from 'drizzle-orm'\n\nexport interface StaffUser {\n id: number\n name: string\n password: string\n staffRoleId: number | null\n createdAt: Date\n}\n\nexport async function getStaffUserByName(name: string): Promise {\n const staff = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.name, name),\n })\n\n return staff || null\n}\n\nexport async function getStaffUserById(staffId: number): Promise {\n const staff = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.id, staffId),\n })\n\n return staff || null\n}\n\nexport async function getAllStaff(): Promise {\n const staff = await db.query.staffUsers.findMany({\n columns: {\n id: true,\n name: true,\n },\n with: {\n role: {\n with: {\n rolePermissions: {\n with: {\n permission: true,\n },\n },\n },\n },\n },\n })\n\n return staff\n}\n\nexport async function getAllUsers(\n cursor?: number,\n limit: number = 20,\n search?: string\n): Promise<{ users: any[]; hasMore: boolean }> {\n let whereCondition = undefined\n\n if (search) {\n whereCondition = or(\n like(users.name, `%${search}%`),\n like(users.email, `%${search}%`),\n like(users.mobile, `%${search}%`)\n )\n }\n\n if (cursor) {\n const cursorCondition = lt(users.id, cursor)\n whereCondition = whereCondition ? and(whereCondition, cursorCondition) : cursorCondition\n }\n\n const allUsers = await db.query.users.findMany({\n where: whereCondition,\n with: {\n userDetails: true,\n },\n orderBy: desc(users.id),\n limit: limit + 1,\n })\n\n const hasMore = allUsers.length > limit\n const usersToReturn = hasMore ? allUsers.slice(0, limit) : allUsers\n\n return { users: usersToReturn, hasMore }\n}\n\nexport async function getUserWithDetails(userId: number): Promise {\n const user = await db.query.users.findFirst({\n where: eq(users.id, userId),\n with: {\n userDetails: true,\n orders: {\n orderBy: desc(orders.createdAt),\n limit: 1,\n },\n },\n })\n\n return user || null\n}\n\nexport async function updateUserSuspensionStatus(userId: number, isSuspended: boolean): Promise {\n await db\n .insert(userDetails)\n .values({ userId, isSuspended })\n .onConflictDoUpdate({\n target: userDetails.userId,\n set: { isSuspended },\n })\n}\n\nexport async function checkStaffUserExists(name: string): Promise {\n const existingUser = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.name, name),\n })\n return !!existingUser\n}\n\nexport async function checkStaffRoleExists(roleId: number): Promise {\n const role = await db.query.staffRoles.findFirst({\n where: eq(staffRoles.id, roleId),\n })\n return !!role\n}\n\nexport async function createStaffUser(\n name: string,\n password: string,\n roleId: number\n): Promise {\n const [newUser] = await db.insert(staffUsers).values({\n name: name.trim(),\n password,\n staffRoleId: roleId,\n }).returning()\n\n return {\n id: newUser.id,\n name: newUser.name,\n password: newUser.password,\n staffRoleId: newUser.staffRoleId,\n createdAt: newUser.createdAt,\n }\n}\n\nexport async function getAllRoles(): Promise {\n const roles = await db.query.staffRoles.findMany({\n columns: {\n id: true,\n roleName: true,\n },\n })\n\n return roles\n}\n", "import { db } from '../db/db_index'\nimport { storeInfo, productInfo } from '../db/schema'\nimport { eq, inArray } from 'drizzle-orm'\n\nexport interface Store {\n id: number\n name: string\n description: string | null\n imageUrl: string | null\n owner: number\n createdAt: Date\n // updatedAt: Date\n}\n\nexport async function getAllStores(): Promise {\n const stores = await db.query.storeInfo.findMany({\n with: {\n owner: true,\n },\n })\n\n return stores\n}\n\nexport async function getStoreById(id: number): Promise {\n const store = await db.query.storeInfo.findFirst({\n where: eq(storeInfo.id, id),\n with: {\n owner: true,\n },\n })\n\n return store || null\n}\n\nexport interface CreateStoreInput {\n name: string\n description?: string\n imageUrl?: string\n owner: number\n}\n\nexport async function createStore(\n input: CreateStoreInput,\n products?: number[]\n): Promise {\n const [newStore] = await db\n .insert(storeInfo)\n .values({\n name: input.name,\n description: input.description,\n imageUrl: input.imageUrl,\n owner: input.owner,\n })\n .returning()\n\n if (products && products.length > 0) {\n await db\n .update(productInfo)\n .set({ storeId: newStore.id })\n .where(inArray(productInfo.id, products))\n }\n\n return {\n id: newStore.id,\n name: newStore.name,\n description: newStore.description,\n imageUrl: newStore.imageUrl,\n owner: newStore.owner,\n createdAt: newStore.createdAt,\n // updatedAt: newStore.updatedAt,\n }\n}\n\nexport interface UpdateStoreInput {\n name?: string\n description?: string\n imageUrl?: string\n owner?: number\n}\n\nexport async function updateStore(\n id: number,\n input: UpdateStoreInput,\n products?: number[]\n): Promise {\n const [updatedStore] = await db\n .update(storeInfo)\n .set({\n ...input,\n // updatedAt: new Date(),\n })\n .where(eq(storeInfo.id, id))\n .returning()\n\n if (!updatedStore) {\n throw new Error('Store not found')\n }\n\n if (products !== undefined) {\n await db\n .update(productInfo)\n .set({ storeId: null })\n .where(eq(productInfo.storeId, id))\n\n if (products.length > 0) {\n await db\n .update(productInfo)\n .set({ storeId: id })\n .where(inArray(productInfo.id, products))\n }\n }\n\n return {\n id: updatedStore.id,\n name: updatedStore.name,\n description: updatedStore.description,\n imageUrl: updatedStore.imageUrl,\n owner: updatedStore.owner,\n createdAt: updatedStore.createdAt,\n // updatedAt: updatedStore.updatedAt,\n }\n}\n\nexport async function deleteStore(id: number): Promise<{ message: string }> {\n return await db.transaction(async (tx) => {\n await tx\n .update(productInfo)\n .set({ storeId: null })\n .where(eq(productInfo.storeId, id))\n\n const [deletedStore] = await tx\n .delete(storeInfo)\n .where(eq(storeInfo.id, id))\n .returning()\n\n if (!deletedStore) {\n throw new Error('Store not found')\n }\n\n return {\n message: 'Store deleted successfully',\n }\n })\n}\n", "import { db } from '../db/db_index'\nimport { users, userDetails, orders, orderItems, complaints, notifCreds, unloggedUserTokens, userIncidents, orderStatus } from '../db/schema'\nimport { eq, sql, desc, asc, count, max, inArray } from 'drizzle-orm'\n\nexport async function createUserByMobile(mobile: string): Promise {\n const [newUser] = await db\n .insert(users)\n .values({\n name: null,\n email: null,\n mobile,\n })\n .returning()\n\n return newUser\n}\n\nexport async function getUserByMobile(mobile: string): Promise {\n const [existingUser] = await db\n .select()\n .from(users)\n .where(eq(users.mobile, mobile))\n .limit(1)\n\n return existingUser || null\n}\n\nexport async function getUnresolvedComplaintsCount(): Promise {\n const result = await db\n .select({ count: count(complaints.id) })\n .from(complaints)\n .where(eq(complaints.isResolved, false))\n \n return result[0]?.count || 0\n}\n\nexport async function getAllUsersWithFilters(\n limit: number,\n cursor?: number,\n search?: string\n): Promise<{ users: any[]; hasMore: boolean }> {\n const whereConditions = []\n \n if (search && search.trim()) {\n whereConditions.push(sql`${users.mobile} LIKE ${`%${search.trim()}%`}`)\n }\n \n if (cursor) {\n whereConditions.push(sql`${users.id} > ${cursor}`)\n }\n\n const usersList = await db\n .select({\n id: users.id,\n name: users.name,\n mobile: users.mobile,\n createdAt: users.createdAt,\n })\n .from(users)\n .where(whereConditions.length > 0 ? sql.join(whereConditions, sql` AND `) : undefined)\n .orderBy(asc(users.id))\n .limit(limit + 1)\n\n const hasMore = usersList.length > limit\n const usersToReturn = hasMore ? usersList.slice(0, limit) : usersList\n\n return { users: usersToReturn, hasMore }\n}\n\nexport async function getOrderCountsByUserIds(userIds: number[]): Promise<{ userId: number; totalOrders: number }[]> {\n if (userIds.length === 0) return []\n \n return await db\n .select({\n userId: orders.userId,\n totalOrders: count(orders.id),\n })\n .from(orders)\n .where(sql`${orders.userId} IN (${sql.join(userIds, sql`, `)})`)\n .groupBy(orders.userId)\n}\n\nexport async function getLastOrdersByUserIds(userIds: number[]): Promise<{ userId: number; lastOrderDate: Date | null }[]> {\n if (userIds.length === 0) return []\n \n return await db\n .select({\n userId: orders.userId,\n lastOrderDate: max(orders.createdAt),\n })\n .from(orders)\n .where(sql`${orders.userId} IN (${sql.join(userIds, sql`, `)})`)\n .groupBy(orders.userId)\n}\n\nexport async function getSuspensionStatusesByUserIds(userIds: number[]): Promise<{ userId: number; isSuspended: boolean }[]> {\n if (userIds.length === 0) return []\n \n return await db\n .select({\n userId: userDetails.userId,\n isSuspended: userDetails.isSuspended,\n })\n .from(userDetails)\n .where(sql`${userDetails.userId} IN (${sql.join(userIds, sql`, `)})`)\n}\n\nexport async function getUserBasicInfo(userId: number): Promise {\n const user = await db\n .select({\n id: users.id,\n name: users.name,\n mobile: users.mobile,\n createdAt: users.createdAt,\n })\n .from(users)\n .where(eq(users.id, userId))\n .limit(1)\n\n return user[0] || null\n}\n\nexport async function getUserSuspensionStatus(userId: number): Promise {\n const userDetail = await db\n .select({\n isSuspended: userDetails.isSuspended,\n })\n .from(userDetails)\n .where(eq(userDetails.userId, userId))\n .limit(1)\n\n return userDetail[0]?.isSuspended ?? false\n}\n\nexport async function getUserOrders(userId: number): Promise {\n return await db\n .select({\n id: orders.id,\n readableId: orders.readableId,\n totalAmount: orders.totalAmount,\n createdAt: orders.createdAt,\n isFlashDelivery: orders.isFlashDelivery,\n })\n .from(orders)\n .where(eq(orders.userId, userId))\n .orderBy(desc(orders.createdAt))\n}\n\nexport async function getOrderStatusesByOrderIds(orderIds: number[]): Promise<{ orderId: number; isDelivered: boolean; isCancelled: boolean }[]> {\n if (orderIds.length === 0) return []\n \n return await db\n .select({\n orderId: orderStatus.orderId,\n isDelivered: orderStatus.isDelivered,\n isCancelled: orderStatus.isCancelled,\n })\n .from(orderStatus)\n .where(sql`${orderStatus.orderId} IN (${sql.join(orderIds, sql`, `)})`)\n}\n\nexport async function getItemCountsByOrderIds(orderIds: number[]): Promise<{ orderId: number; itemCount: number }[]> {\n if (orderIds.length === 0) return []\n \n return await db\n .select({\n orderId: orderItems.orderId,\n itemCount: count(orderItems.id),\n })\n .from(orderItems)\n .where(sql`${orderItems.orderId} IN (${sql.join(orderIds, sql`, `)})`)\n .groupBy(orderItems.orderId)\n}\n\nexport async function upsertUserSuspension(userId: number, isSuspended: boolean): Promise {\n const existingDetail = await db\n .select({ id: userDetails.id })\n .from(userDetails)\n .where(eq(userDetails.userId, userId))\n .limit(1)\n\n if (existingDetail.length > 0) {\n await db\n .update(userDetails)\n .set({ isSuspended })\n .where(eq(userDetails.userId, userId))\n } else {\n await db\n .insert(userDetails)\n .values({\n userId,\n isSuspended,\n })\n }\n}\n\nexport async function searchUsers(search?: string): Promise {\n if (search && search.trim()) {\n return await db\n .select({\n id: users.id,\n name: users.name,\n mobile: users.mobile,\n })\n .from(users)\n .where(sql`${users.mobile} LIKE ${`%${search.trim()}%`} OR ${users.name} LIKE ${`%${search.trim()}%`}`)\n } else {\n return await db\n .select({\n id: users.id,\n name: users.name,\n mobile: users.mobile,\n })\n .from(users)\n }\n}\n\nexport async function getAllNotifCreds(): Promise<{ userId: number, token: string }[]> {\n return await db\n .select({ userId: notifCreds.userId, token: notifCreds.token })\n .from(notifCreds)\n}\n\nexport async function getAllUnloggedTokens(): Promise<{ token: string }[]> {\n return await db\n .select({ token: unloggedUserTokens.token })\n .from(unloggedUserTokens)\n}\n\nexport async function getNotifTokensByUserIds(userIds: number[]): Promise<{ token: string }[]> {\n return await db\n .select({ token: notifCreds.token })\n .from(notifCreds)\n .where(inArray(notifCreds.userId, userIds))\n}\n\nexport async function getUserIncidentsWithRelations(userId: number): Promise {\n return await db.query.userIncidents.findMany({\n where: eq(userIncidents.userId, userId),\n with: {\n order: {\n with: {\n orderStatus: true,\n },\n },\n addedBy: true,\n },\n orderBy: desc(userIncidents.dateAdded),\n })\n}\n\nexport async function createUserIncident(\n userId: number,\n orderId: number | undefined,\n adminComment: string | undefined,\n adminUserId: number,\n negativityScore: number | undefined\n): Promise {\n const [incident] = await db.insert(userIncidents)\n .values({\n userId,\n orderId,\n adminComment,\n addedBy: adminUserId,\n negativityScore,\n })\n .returning()\n\n return incident\n}\n", "import { db } from '../db/db_index'\nimport { vendorSnippets, deliverySlotInfo, productInfo, orders, orderItems, orderStatus } from '../db/schema'\nimport { desc, eq, inArray } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type {\n AdminDeliverySlot,\n AdminVendorSnippet,\n AdminVendorSnippetWithSlot,\n AdminVendorSnippetProduct,\n AdminVendorUpdatePackagingResult,\n} from '@packages/shared'\nimport { coerceDate } from '../lib/date'\n\ntype VendorSnippetRow = InferSelectModel\ntype DeliverySlotRow = InferSelectModel\ntype ProductRow = InferSelectModel\n\nconst mapVendorSnippet = (snippet: VendorSnippetRow): AdminVendorSnippet => ({\n id: snippet.id,\n snippetCode: snippet.snippetCode,\n slotId: snippet.slotId ?? null,\n productIds: snippet.productIds || [],\n isPermanent: snippet.isPermanent,\n validTill: coerceDate(snippet.validTill),\n createdAt: coerceDate(snippet.createdAt) ?? new Date(0),\n})\n\nconst mapDeliverySlot = (slot: DeliverySlotRow): AdminDeliverySlot => ({\n id: slot.id,\n deliveryTime: coerceDate(slot.deliveryTime) ?? new Date(0),\n freezeTime: coerceDate(slot.freezeTime) ?? new Date(0),\n isActive: slot.isActive,\n isFlash: slot.isFlash,\n isCapacityFull: slot.isCapacityFull,\n deliverySequence: slot.deliverySequence,\n groupIds: slot.groupIds,\n})\n\nconst mapProductSummary = (product: { id: number; name: string }): AdminVendorSnippetProduct => ({\n id: product.id,\n name: product.name,\n})\n\nexport async function checkVendorSnippetExists(snippetCode: string): Promise {\n const existingSnippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n })\n return !!existingSnippet\n}\n\nexport async function getVendorSnippetById(id: number): Promise {\n const snippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.id, id),\n with: {\n slot: true,\n },\n })\n\n if (!snippet) {\n return null\n }\n\n return {\n ...mapVendorSnippet(snippet),\n slot: snippet.slot ? mapDeliverySlot(snippet.slot) : null,\n }\n}\n\nexport async function getVendorSnippetByCode(snippetCode: string): Promise {\n const snippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n })\n\n return snippet ? mapVendorSnippet(snippet) : null\n}\n\nexport async function getAllVendorSnippets(): Promise {\n const snippets = await db.query.vendorSnippets.findMany({\n with: {\n slot: true,\n },\n orderBy: desc(vendorSnippets.createdAt),\n })\n\n return snippets.map((snippet: VendorSnippetRow & { slot: DeliverySlotRow | null }) => ({\n ...mapVendorSnippet(snippet),\n slot: snippet.slot ? mapDeliverySlot(snippet.slot) : null,\n }))\n}\n\nexport async function createVendorSnippet(input: {\n snippetCode: string\n slotId?: number\n productIds: number[]\n isPermanent: boolean\n validTill?: Date\n}): Promise {\n const [result] = await db.insert(vendorSnippets).values({\n snippetCode: input.snippetCode,\n slotId: input.slotId,\n productIds: input.productIds,\n isPermanent: input.isPermanent,\n validTill: input.validTill,\n }).returning()\n\n return mapVendorSnippet(result)\n}\n\nexport async function updateVendorSnippet(id: number, updates: {\n snippetCode?: string\n slotId?: number | null\n productIds?: number[]\n isPermanent?: boolean\n validTill?: Date | null\n}): Promise {\n const [result] = await db.update(vendorSnippets)\n .set(updates)\n .where(eq(vendorSnippets.id, id))\n .returning()\n\n return result ? mapVendorSnippet(result) : null\n}\n\nexport async function deleteVendorSnippet(id: number): Promise {\n const [result] = await db.delete(vendorSnippets)\n .where(eq(vendorSnippets.id, id))\n .returning()\n\n return result ? mapVendorSnippet(result) : null\n}\n\nexport async function getProductsByIds(productIds: number[]): Promise {\n const products = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, productIds),\n columns: { id: true, name: true },\n })\n\n const prods = products.map(mapProductSummary)\n return prods\n}\n\nexport async function getVendorSlotById(slotId: number): Promise {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n })\n\n return slot ? mapDeliverySlot(slot) : null\n}\n\nexport async function getVendorOrdersBySlotId(slotId: number) {\n return await db.query.orders.findMany({\n where: eq(orders.slotId, slotId),\n with: {\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n user: true,\n slot: true,\n },\n orderBy: desc(orders.createdAt),\n })\n}\n\nexport async function getVendorOrders() {\n return await db.query.orders.findMany({\n with: {\n user: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n },\n orderBy: desc(orders.createdAt),\n })\n}\n\nexport async function getOrderItemsByOrderIds(orderIds: number[]) {\n return await db.query.orderItems.findMany({\n where: inArray(orderItems.orderId, orderIds),\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n })\n}\n\nexport async function getOrderStatusByOrderIds(orderIds: number[]) {\n return await db.query.orderStatus.findMany({\n where: inArray(orderStatus.orderId, orderIds),\n })\n}\n\nexport async function updateVendorOrderItemPackaging(\n orderItemId: number,\n isPackaged: boolean\n): Promise {\n const orderItem = await db.query.orderItems.findFirst({\n where: eq(orderItems.id, orderItemId),\n with: {\n order: {\n with: {\n slot: true,\n },\n },\n },\n })\n\n if (!orderItem) {\n return { success: false, message: 'Order item not found' }\n }\n\n if (!orderItem.order.slotId) {\n return { success: false, message: 'Order item not associated with a vendor slot' }\n }\n\n const snippetExists = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.slotId, orderItem.order.slotId),\n })\n\n if (!snippetExists) {\n return { success: false, message: \"No vendor snippet found for this order's slot\" }\n }\n\n const [updatedItem] = await db.update(orderItems)\n .set({\n is_packaged: isPackaged,\n })\n .where(eq(orderItems.id, orderItemId))\n .returning({ id: orderItems.id })\n\n if (!updatedItem) {\n return { success: false, message: 'Failed to update packaging status' }\n }\n\n return { success: true, orderItemId, is_packaged: isPackaged }\n}\n", "import { db } from '../db/db_index'\nimport { addresses, deliverySlotInfo, orders, orderStatus } from '../db/schema'\nimport { and, eq, gte } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserAddress } from '@packages/shared'\n\ntype AddressRow = InferSelectModel\n\nconst mapUserAddress = (address: AddressRow): UserAddress => ({\n id: address.id,\n userId: address.userId,\n name: address.name,\n phone: address.phone,\n addressLine1: address.addressLine1,\n addressLine2: address.addressLine2 ?? null,\n city: address.city,\n state: address.state,\n pincode: address.pincode,\n isDefault: address.isDefault,\n latitude: address.latitude ?? null,\n longitude: address.longitude ?? null,\n googleMapsUrl: address.googleMapsUrl ?? null,\n adminLatitude: address.adminLatitude ?? null,\n adminLongitude: address.adminLongitude ?? null,\n zoneId: address.zoneId ?? null,\n createdAt: address.createdAt,\n})\n\nexport async function getDefaultAddress(userId: number): Promise {\n const [defaultAddress] = await db\n .select()\n .from(addresses)\n .where(and(eq(addresses.userId, userId), eq(addresses.isDefault, true)))\n .limit(1)\n\n return defaultAddress ? mapUserAddress(defaultAddress) : null\n}\n\nexport async function getUserAddresses(userId: number): Promise {\n const userAddresses = await db.select().from(addresses).where(eq(addresses.userId, userId))\n return userAddresses.map(mapUserAddress)\n}\n\nexport async function getUserAddressById(userId: number, addressId: number): Promise {\n const [address] = await db\n .select()\n .from(addresses)\n .where(and(eq(addresses.id, addressId), eq(addresses.userId, userId)))\n .limit(1)\n\n return address ? mapUserAddress(address) : null\n}\n\nexport async function clearDefaultAddress(userId: number): Promise {\n await db.update(addresses).set({ isDefault: false }).where(eq(addresses.userId, userId))\n}\n\nexport async function createUserAddress(input: {\n userId: number\n name: string\n phone: string\n addressLine1: string\n addressLine2?: string\n city: string\n state: string\n pincode: string\n isDefault: boolean\n latitude?: number\n longitude?: number\n googleMapsUrl?: string\n}): Promise {\n const [newAddress] = await db.insert(addresses).values({\n userId: input.userId,\n name: input.name,\n phone: input.phone,\n addressLine1: input.addressLine1,\n addressLine2: input.addressLine2,\n city: input.city,\n state: input.state,\n pincode: input.pincode,\n isDefault: input.isDefault,\n latitude: input.latitude,\n longitude: input.longitude,\n googleMapsUrl: input.googleMapsUrl,\n }).returning()\n\n return mapUserAddress(newAddress)\n}\n\nexport async function updateUserAddress(input: {\n userId: number\n addressId: number\n name: string\n phone: string\n addressLine1: string\n addressLine2?: string\n city: string\n state: string\n pincode: string\n isDefault: boolean\n latitude?: number\n longitude?: number\n googleMapsUrl?: string\n}): Promise {\n const [updatedAddress] = await db.update(addresses)\n .set({\n name: input.name,\n phone: input.phone,\n addressLine1: input.addressLine1,\n addressLine2: input.addressLine2,\n city: input.city,\n state: input.state,\n pincode: input.pincode,\n isDefault: input.isDefault,\n googleMapsUrl: input.googleMapsUrl,\n latitude: input.latitude,\n longitude: input.longitude,\n })\n .where(and(eq(addresses.id, input.addressId), eq(addresses.userId, input.userId)))\n .returning()\n\n return updatedAddress ? mapUserAddress(updatedAddress) : null\n}\n\nexport async function deleteUserAddress(userId: number, addressId: number): Promise {\n const [deleted] = await db.delete(addresses)\n .where(and(eq(addresses.id, addressId), eq(addresses.userId, userId)))\n .returning({ id: addresses.id })\n\n return !!deleted\n}\n\nexport async function hasOngoingOrdersForAddress(addressId: number): Promise {\n const ongoingOrders = await db.select({\n orderId: orders.id,\n })\n .from(orders)\n .innerJoin(orderStatus, eq(orders.id, orderStatus.orderId))\n .innerJoin(deliverySlotInfo, eq(orders.slotId, deliverySlotInfo.id))\n .where(and(\n eq(orders.addressId, addressId),\n eq(orderStatus.isCancelled, false),\n gte(deliverySlotInfo.deliveryTime, new Date())\n ))\n .limit(1)\n\n return ongoingOrders.length > 0\n}\n", "import { db } from '../db/db_index'\nimport { homeBanners } from '../db/schema'\nimport { asc, isNotNull } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserBanner } from '@packages/shared'\n\ntype BannerRow = InferSelectModel\n\nconst mapBanner = (banner: BannerRow): UserBanner => ({\n id: banner.id,\n name: banner.name,\n imageUrl: banner.imageUrl,\n description: banner.description ?? null,\n productIds: banner.productIds ?? null,\n redirectUrl: banner.redirectUrl ?? null,\n serialNum: banner.serialNum ?? null,\n isActive: banner.isActive,\n createdAt: banner.createdAt,\n lastUpdated: banner.lastUpdated,\n})\n\nexport async function getActiveBanners(): Promise {\n const banners = await db.query.homeBanners.findMany({\n where: isNotNull(homeBanners.serialNum),\n orderBy: asc(homeBanners.serialNum),\n })\n\n return banners.map(mapBanner)\n}\n", "import { db } from '../db/db_index'\nimport { cartItems, productInfo, units } from '../db/schema'\nimport { and, eq, sql } from 'drizzle-orm'\nimport type { UserCartItem } from '@packages/shared'\n\nconst getStringArray = (value: unknown): string[] => {\n if (!Array.isArray(value)) return []\n return value.map((item) => String(item))\n}\n\nexport async function getCartItemsWithProducts(userId: number): Promise {\n const cartItemsWithProducts = await db\n .select({\n cartId: cartItems.id,\n productId: productInfo.id,\n productName: productInfo.name,\n productPrice: productInfo.price,\n productImages: productInfo.images,\n productQuantity: productInfo.productQuantity,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n quantity: cartItems.quantity,\n addedAt: cartItems.addedAt,\n })\n .from(cartItems)\n .innerJoin(productInfo, eq(cartItems.productId, productInfo.id))\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(eq(cartItems.userId, userId))\n\n return cartItemsWithProducts.map((item) => {\n const priceValue = item.productPrice ?? '0'\n const quantityValue = item.quantity ?? '0'\n return {\n id: item.cartId,\n productId: item.productId,\n quantity: parseFloat(quantityValue),\n addedAt: item.addedAt,\n product: {\n id: item.productId,\n name: item.productName,\n price: priceValue.toString(),\n productQuantity: item.productQuantity,\n unit: item.unitShortNotation,\n isOutOfStock: item.isOutOfStock,\n images: getStringArray(item.productImages),\n },\n subtotal: parseFloat(priceValue.toString()) * parseFloat(quantityValue),\n }\n })\n}\n\nexport async function getProductById(productId: number) {\n return db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n })\n}\n\nexport async function getCartItemByUserProduct(userId: number, productId: number) {\n return db.query.cartItems.findFirst({\n where: and(eq(cartItems.userId, userId), eq(cartItems.productId, productId)),\n })\n}\n\nexport async function incrementCartItemQuantity(itemId: number, quantity: number): Promise {\n await db.update(cartItems)\n .set({\n quantity: sql`${cartItems.quantity} + ${quantity}`,\n })\n .where(eq(cartItems.id, itemId))\n}\n\nexport async function insertCartItem(userId: number, productId: number, quantity: number): Promise {\n await db.insert(cartItems).values({\n userId,\n productId,\n quantity: quantity.toString(),\n })\n}\n\nexport async function updateCartItemQuantity(userId: number, itemId: number, quantity: number) {\n const [updatedItem] = await db.update(cartItems)\n .set({ quantity: quantity.toString() })\n .where(and(eq(cartItems.id, itemId), eq(cartItems.userId, userId)))\n .returning({ id: cartItems.id })\n\n return !!updatedItem\n}\n\nexport async function deleteCartItem(userId: number, itemId: number): Promise {\n const [deletedItem] = await db.delete(cartItems)\n .where(and(eq(cartItems.id, itemId), eq(cartItems.userId, userId)))\n .returning({ id: cartItems.id })\n\n return !!deletedItem\n}\n\nexport async function clearUserCart(userId: number): Promise {\n await db.delete(cartItems).where(eq(cartItems.userId, userId))\n}\n", "import { db } from '../db/db_index'\nimport { complaints } from '../db/schema'\nimport { asc, eq } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserComplaint } from '@packages/shared'\n\ntype ComplaintRow = InferSelectModel\n\nexport async function getUserComplaints(userId: number): Promise {\n const userComplaints = await db\n .select({\n id: complaints.id,\n complaintBody: complaints.complaintBody,\n response: complaints.response,\n isResolved: complaints.isResolved,\n createdAt: complaints.createdAt,\n orderId: complaints.orderId,\n })\n .from(complaints)\n .where(eq(complaints.userId, userId))\n .orderBy(asc(complaints.createdAt))\n\n return userComplaints.map((complaint) => ({\n id: complaint.id,\n complaintBody: complaint.complaintBody,\n response: complaint.response ?? null,\n isResolved: complaint.isResolved,\n createdAt: complaint.createdAt,\n orderId: complaint.orderId ?? null,\n }))\n}\n\nexport async function createComplaint(\n userId: number,\n orderId: number | null,\n complaintBody: string,\n images?: string[] | null\n): Promise {\n await db.insert(complaints).values({\n userId,\n orderId,\n complaintBody,\n images: images || null,\n })\n}\n", "import { db } from '../db/db_index'\nimport { productInfo, storeInfo, units } from '../db/schema'\nimport { and, eq, sql } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserStoreDetailData, UserStoreProductData, UserStoreSummaryData, StoreSummary } from '@packages/shared'\n\ntype StoreRow = InferSelectModel\ntype StoreProductRow = {\n id: number\n name: string\n shortDescription: string | null\n price: string | null\n marketPrice: string | null\n images: unknown\n isOutOfStock: boolean\n incrementStep: number\n unitShortNotation: string\n productQuantity: number\n}\n\nconst getStringArray = (value: unknown): string[] | null => {\n if (!Array.isArray(value)) return null\n return value.map((item) => String(item))\n}\n\nexport async function getStoreSummaries(): Promise {\n const storesData = await db\n .select({\n id: storeInfo.id,\n name: storeInfo.name,\n description: storeInfo.description,\n imageUrl: storeInfo.imageUrl,\n productCount: sql`count(${productInfo.id})`.as('productCount'),\n })\n .from(storeInfo)\n .leftJoin(\n productInfo,\n and(eq(productInfo.storeId, storeInfo.id), eq(productInfo.isSuspended, false))\n )\n .groupBy(storeInfo.id)\n\n const storesWithDetails = await Promise.all(\n storesData.map(async (store) => {\n const sampleProducts = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n images: productInfo.images,\n })\n .from(productInfo)\n .where(and(eq(productInfo.storeId, store.id), eq(productInfo.isSuspended, false)))\n .limit(3)\n\n return {\n id: store.id,\n name: store.name,\n description: store.description ?? null,\n imageUrl: store.imageUrl ?? null,\n productCount: store.productCount || 0,\n sampleProducts: sampleProducts.map((product) => ({\n id: product.id,\n name: product.name,\n images: getStringArray(product.images),\n })),\n }\n })\n )\n\n return storesWithDetails\n}\n\nexport async function getStoreDetail(storeId: number): Promise {\n const storeData = await db.query.storeInfo.findFirst({\n where: eq(storeInfo.id, storeId),\n columns: {\n id: true,\n name: true,\n description: true,\n imageUrl: true,\n },\n })\n\n if (!storeData) {\n return null\n }\n\n const productsData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n incrementStep: productInfo.incrementStep,\n unitShortNotation: units.shortNotation,\n productQuantity: productInfo.productQuantity,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(and(eq(productInfo.storeId, storeId), eq(productInfo.isSuspended, false)))\n\n const products = productsData.map((product: StoreProductRow): UserStoreProductData => ({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription ?? null,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n incrementStep: product.incrementStep,\n unit: product.unitShortNotation,\n unitNotation: product.unitShortNotation,\n images: getStringArray(product.images),\n isOutOfStock: product.isOutOfStock,\n productQuantity: product.productQuantity,\n }))\n\n return {\n store: {\n id: storeData.id,\n name: storeData.name,\n description: storeData.description ?? null,\n imageUrl: storeData.imageUrl ?? null,\n },\n products,\n }\n}\n\n/**\n * Get simple store summary (id, name, description only)\n * Used for common API endpoints\n */\nexport async function getStoresSummary(): Promise {\n return db.query.storeInfo.findMany({\n columns: {\n id: true,\n name: true,\n description: true,\n },\n })\n}\n", "import { db } from '../db/db_index'\nimport { deliverySlotInfo, productInfo, productReviews, productSlots, productTags, specialDeals, storeInfo, units, users } from '../db/schema'\nimport { and, desc, eq, gt, inArray, sql } from 'drizzle-orm'\nimport type { UserProductDetailData, UserProductReview } from '@packages/shared'\n\nconst getStringArray = (value: unknown): string[] | null => {\n if (!Array.isArray(value)) return null\n return value.map((item) => String(item))\n}\n\nexport async function getProductDetailById(productId: number): Promise {\n const productData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n longDescription: productInfo.longDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n storeId: productInfo.storeId,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n productQuantity: productInfo.productQuantity,\n isFlashAvailable: productInfo.isFlashAvailable,\n flashPrice: productInfo.flashPrice,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(eq(productInfo.id, productId))\n .limit(1)\n\n if (productData.length === 0) {\n return null\n }\n\n const product = productData[0]\n\n const storeData = product.storeId ? await db.query.storeInfo.findFirst({\n where: eq(storeInfo.id, product.storeId),\n columns: { id: true, name: true, description: true },\n }) : null\n\n const deliverySlotsData = await db\n .select({\n id: deliverySlotInfo.id,\n deliveryTime: deliverySlotInfo.deliveryTime,\n freezeTime: deliverySlotInfo.freezeTime,\n })\n .from(productSlots)\n .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n .where(\n and(\n eq(productSlots.productId, productId),\n eq(deliverySlotInfo.isActive, true),\n eq(deliverySlotInfo.isCapacityFull, false),\n gt(deliverySlotInfo.deliveryTime, sql`CURRENT_TIMESTAMP`),\n gt(deliverySlotInfo.freezeTime, sql`CURRENT_TIMESTAMP`)\n )\n )\n .orderBy(deliverySlotInfo.deliveryTime)\n\n const specialDealsData = await db\n .select({\n quantity: specialDeals.quantity,\n price: specialDeals.price,\n validTill: specialDeals.validTill,\n })\n .from(specialDeals)\n .where(\n and(\n eq(specialDeals.productId, productId),\n gt(specialDeals.validTill, sql`CURRENT_TIMESTAMP`)\n )\n )\n .orderBy(specialDeals.quantity)\n\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription ?? null,\n longDescription: product.longDescription ?? null,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n unitNotation: product.unitShortNotation,\n images: getStringArray(product.images),\n isOutOfStock: product.isOutOfStock,\n store: storeData ? {\n id: storeData.id,\n name: storeData.name,\n description: storeData.description ?? null,\n } : null,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n isFlashAvailable: product.isFlashAvailable,\n flashPrice: product.flashPrice?.toString() || null,\n deliverySlots: deliverySlotsData,\n specialDeals: specialDealsData.map((deal) => ({\n quantity: String(deal.quantity ?? '0'),\n price: String(deal.price ?? '0'),\n validTill: deal.validTill,\n })),\n }\n}\n\nexport async function getProductReviews(productId: number, limit: number, offset: number) {\n const reviews = await db\n .select({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n userName: users.name,\n })\n .from(productReviews)\n .innerJoin(users, eq(productReviews.userId, users.id))\n .where(eq(productReviews.productId, productId))\n .orderBy(desc(productReviews.reviewTime))\n .limit(limit)\n .offset(offset)\n\n const totalCountResult = await db\n .select({ count: sql`count(*)` })\n .from(productReviews)\n .where(eq(productReviews.productId, productId))\n\n const totalCount = Number(totalCountResult[0].count)\n\n const mappedReviews: UserProductReview[] = reviews.map((review) => ({\n id: review.id,\n reviewBody: review.reviewBody,\n ratings: review.ratings,\n imageUrls: getStringArray(review.imageUrls),\n reviewTime: review.reviewTime,\n userName: review.userName ?? null,\n }))\n\n return {\n reviews: mappedReviews,\n totalCount,\n }\n}\n\nexport async function getProductById(productId: number) {\n return db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n })\n}\n\nexport async function createProductReview(\n userId: number,\n productId: number,\n reviewBody: string,\n ratings: number,\n imageUrls: string[]\n): Promise {\n const [newReview] = await db.insert(productReviews).values({\n userId,\n productId,\n reviewBody,\n ratings,\n imageUrls,\n }).returning({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n })\n\n return {\n id: newReview.id,\n reviewBody: newReview.reviewBody,\n ratings: newReview.ratings,\n imageUrls: getStringArray(newReview.imageUrls),\n reviewTime: newReview.reviewTime,\n userName: null,\n }\n}\n\nexport interface ProductSummaryData {\n id: number\n name: string\n shortDescription: string | null\n price: string\n marketPrice: string | null\n images: unknown\n isOutOfStock: boolean\n unitShortNotation: string\n productQuantity: number\n}\n\nexport async function getAllProductsWithUnits(tagId?: number): Promise {\n let productIds: number[] | null = null\n\n // If tagId is provided, get products that have this tag\n if (tagId) {\n const taggedProducts = await db\n .select({ productId: productTags.productId })\n .from(productTags)\n .where(eq(productTags.tagId, tagId))\n\n productIds = taggedProducts.map(tp => tp.productId)\n }\n\n let whereCondition = undefined\n\n // Filter by product IDs if tag filtering is applied\n if (productIds && productIds.length > 0) {\n whereCondition = inArray(productInfo.id, productIds)\n }\n\n const results = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n productQuantity: productInfo.productQuantity,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(whereCondition)\n\n return results.map((product) => ({\n ...product,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n }))\n}\n\n/**\n * Get all suspended product IDs\n */\nexport async function getSuspendedProductIds(): Promise {\n const suspendedProducts = await db\n .select({ id: productInfo.id })\n .from(productInfo)\n .where(eq(productInfo.isSuspended, true))\n\n return suspendedProducts.map(sp => sp.id)\n}\n\n/**\n * Get next delivery date for a product (with capacity check)\n * This version filters by both isActive AND isCapacityFull\n */\nexport async function getNextDeliveryDateWithCapacity(productId: number): Promise {\n const result = await db\n .select({ deliveryTime: deliverySlotInfo.deliveryTime })\n .from(productSlots)\n .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n .where(\n and(\n eq(productSlots.productId, productId),\n eq(deliverySlotInfo.isActive, true),\n eq(deliverySlotInfo.isCapacityFull, false),\n gt(deliverySlotInfo.deliveryTime, sql`CURRENT_TIMESTAMP`)\n )\n )\n .orderBy(deliverySlotInfo.deliveryTime)\n .limit(1)\n\n return result[0]?.deliveryTime || null\n}\n", "import { db } from '../db/db_index'\nimport { deliverySlotInfo, productInfo } from '../db/schema'\nimport { asc, eq } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserDeliverySlot, UserSlotAvailability } from '@packages/shared'\n\ntype SlotRow = InferSelectModel\n\nconst mapSlot = (slot: SlotRow): UserDeliverySlot => ({\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isActive: slot.isActive,\n isFlash: slot.isFlash,\n isCapacityFull: slot.isCapacityFull,\n deliverySequence: slot.deliverySequence,\n groupIds: slot.groupIds,\n})\n\nexport async function getActiveSlotsList(): Promise {\n const slots = await db.query.deliverySlotInfo.findMany({\n where: eq(deliverySlotInfo.isActive, true),\n orderBy: asc(deliverySlotInfo.deliveryTime),\n })\n\n return slots.map(mapSlot)\n}\n\nexport async function getProductAvailability(): Promise {\n const products = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n isOutOfStock: productInfo.isOutOfStock,\n isFlashAvailable: productInfo.isFlashAvailable,\n })\n .from(productInfo)\n .where(eq(productInfo.isSuspended, false))\n\n return products.map((product) => ({\n id: product.id,\n name: product.name,\n isOutOfStock: product.isOutOfStock,\n isFlashAvailable: product.isFlashAvailable,\n }))\n}\n", "import { db } from '../db/db_index'\nimport { orders, payments, orderStatus } from '../db/schema'\nimport { eq } from 'drizzle-orm'\n\nexport async function getOrderById(orderId: number) {\n return db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n })\n}\n\nexport async function getPaymentByOrderId(orderId: number) {\n return db.query.payments.findFirst({\n where: eq(payments.orderId, orderId),\n })\n}\n\nexport async function getPaymentByMerchantOrderId(merchantOrderId: string) {\n return db.query.payments.findFirst({\n where: eq(payments.merchantOrderId, merchantOrderId),\n })\n}\n\nexport async function updatePaymentSuccess(merchantOrderId: string, payload: unknown) {\n const [updatedPayment] = await db\n .update(payments)\n .set({\n status: 'success',\n payload,\n })\n .where(eq(payments.merchantOrderId, merchantOrderId))\n .returning({\n id: payments.id,\n orderId: payments.orderId,\n })\n\n return updatedPayment || null\n}\n\nexport async function updateOrderPaymentStatus(orderId: number, status: 'pending' | 'success' | 'cod' | 'failed') {\n await db\n .update(orderStatus)\n .set({ paymentStatus: status })\n .where(eq(orderStatus.orderId, orderId))\n}\n\nexport async function markPaymentFailed(paymentId: number) {\n await db\n .update(payments)\n .set({ status: 'failed' })\n .where(eq(payments.id, paymentId))\n}\n", "import { db } from '../db/db_index'\nimport {\n users,\n userCreds,\n userDetails,\n addresses,\n cartItems,\n complaints,\n couponApplicableUsers,\n couponUsage,\n notifCreds,\n notifications,\n orderItems,\n orderStatus,\n orders,\n payments,\n refunds,\n productReviews,\n reservedCoupons,\n} from '../db/schema'\nimport { eq } from 'drizzle-orm'\n\nexport async function getUserByEmail(email: string) {\n const [user] = await db.select().from(users).where(eq(users.email, email)).limit(1)\n return user || null\n}\n\nexport async function getUserByMobile(mobile: string) {\n const [user] = await db.select().from(users).where(eq(users.mobile, mobile)).limit(1)\n return user || null\n}\n\nexport async function getUserById(userId: number) {\n const [user] = await db.select().from(users).where(eq(users.id, userId)).limit(1)\n return user || null\n}\n\nexport async function getUserCreds(userId: number) {\n const [creds] = await db.select().from(userCreds).where(eq(userCreds.userId, userId)).limit(1)\n return creds || null\n}\n\nexport async function getUserDetails(userId: number) {\n const [details] = await db.select().from(userDetails).where(eq(userDetails.userId, userId)).limit(1)\n return details || null\n}\n\nexport async function isUserSuspended(userId: number): Promise {\n const details = await getUserDetails(userId)\n return details?.isSuspended ?? false\n}\n\nexport async function createUserWithProfile(input: {\n name: string\n email: string\n mobile: string\n hashedPassword: string\n profileImage?: string | null\n}) {\n return db.transaction(async (tx) => {\n // Create user\n const [user] = await tx.insert(users).values({\n name: input.name,\n email: input.email,\n mobile: input.mobile,\n }).returning()\n\n // Create user credentials\n await tx.insert(userCreds).values({\n userId: user.id,\n userPassword: input.hashedPassword,\n })\n\n // Create user details with profile image\n await tx.insert(userDetails).values({\n userId: user.id,\n profileImage: input.profileImage || null,\n })\n\n return user\n })\n}\n\nexport async function getUserDetailsByUserId(userId: number) {\n const [details] = await db.select().from(userDetails).where(eq(userDetails.userId, userId)).limit(1)\n return details || null\n}\n\nexport async function updateUserProfile(userId: number, data: {\n name?: string\n email?: string\n mobile?: string\n hashedPassword?: string\n profileImage?: string\n bio?: string\n dateOfBirth?: Date | null\n gender?: string\n occupation?: string\n}) {\n return db.transaction(async (tx) => {\n // Update user table\n const userUpdate: any = {}\n if (data.name !== undefined) userUpdate.name = data.name\n if (data.email !== undefined) userUpdate.email = data.email\n if (data.mobile !== undefined) userUpdate.mobile = data.mobile\n\n if (Object.keys(userUpdate).length > 0) {\n await tx.update(users).set(userUpdate).where(eq(users.id, userId))\n }\n\n // Update password if provided\n if (data.hashedPassword) {\n await tx.update(userCreds).set({\n userPassword: data.hashedPassword,\n }).where(eq(userCreds.userId, userId))\n }\n\n // Update or insert user details\n const detailsUpdate: any = {}\n if (data.bio !== undefined) detailsUpdate.bio = data.bio\n if (data.dateOfBirth !== undefined) detailsUpdate.dateOfBirth = data.dateOfBirth\n if (data.gender !== undefined) detailsUpdate.gender = data.gender\n if (data.occupation !== undefined) detailsUpdate.occupation = data.occupation\n if (data.profileImage !== undefined) detailsUpdate.profileImage = data.profileImage\n detailsUpdate.updatedAt = new Date()\n\n const [existingDetails] = await tx.select().from(userDetails).where(eq(userDetails.userId, userId)).limit(1)\n\n if (existingDetails) {\n await tx.update(userDetails).set(detailsUpdate).where(eq(userDetails.userId, userId))\n } else {\n await tx.insert(userDetails).values({\n userId,\n ...detailsUpdate,\n createdAt: new Date(),\n })\n }\n\n // Return updated user\n const [user] = await tx.select().from(users).where(eq(users.id, userId)).limit(1)\n return user\n })\n}\n\nexport async function createUserWithCreds(input: {\n name: string\n email: string\n mobile: string\n hashedPassword: string\n}) {\n return db.transaction(async (tx) => {\n const [user] = await tx.insert(users).values({\n name: input.name,\n email: input.email,\n mobile: input.mobile,\n }).returning()\n\n await tx.insert(userCreds).values({\n userId: user.id,\n userPassword: input.hashedPassword,\n })\n\n return user\n })\n}\n\nexport async function createUserWithMobile(mobile: string) {\n const [user] = await db.insert(users).values({\n name: null,\n email: null,\n mobile,\n }).returning()\n\n return user\n}\n\nexport async function upsertUserPassword(userId: number, hashedPassword: string) {\n try {\n await db.insert(userCreds).values({\n userId,\n userPassword: hashedPassword,\n })\n return\n } catch (error: any) {\n if (error.code === '23505') {\n await db.update(userCreds).set({\n userPassword: hashedPassword,\n }).where(eq(userCreds.userId, userId))\n return\n }\n throw error\n }\n}\n\nexport async function deleteUserAccount(userId: number) {\n await db.transaction(async (tx) => {\n await tx.delete(notifCreds).where(eq(notifCreds.userId, userId))\n await tx.delete(couponApplicableUsers).where(eq(couponApplicableUsers.userId, userId))\n await tx.delete(couponUsage).where(eq(couponUsage.userId, userId))\n await tx.delete(complaints).where(eq(complaints.userId, userId))\n await tx.delete(cartItems).where(eq(cartItems.userId, userId))\n await tx.delete(notifications).where(eq(notifications.userId, userId))\n await tx.delete(productReviews).where(eq(productReviews.userId, userId))\n\n await tx.update(reservedCoupons)\n .set({ redeemedBy: null })\n .where(eq(reservedCoupons.redeemedBy, userId))\n\n const userOrders = await tx\n .select({ id: orders.id })\n .from(orders)\n .where(eq(orders.userId, userId))\n\n for (const order of userOrders) {\n await tx.delete(orderItems).where(eq(orderItems.orderId, order.id))\n await tx.delete(orderStatus).where(eq(orderStatus.orderId, order.id))\n await tx.delete(payments).where(eq(payments.orderId, order.id))\n await tx.delete(refunds).where(eq(refunds.orderId, order.id))\n await tx.delete(couponUsage).where(eq(couponUsage.orderId, order.id))\n await tx.delete(complaints).where(eq(complaints.orderId, order.id))\n }\n\n await tx.delete(orders).where(eq(orders.userId, userId))\n await tx.delete(addresses).where(eq(addresses.userId, userId))\n await tx.delete(userDetails).where(eq(userDetails.userId, userId))\n await tx.delete(userCreds).where(eq(userCreds.userId, userId))\n await tx.delete(users).where(eq(users.id, userId))\n })\n}\n", "import { db } from '../db/db_index'\nimport {\n couponApplicableProducts,\n couponApplicableUsers,\n couponUsage,\n coupons,\n reservedCoupons,\n} from '../db/schema'\nimport { and, eq, gt, isNull, or } from 'drizzle-orm'\nimport type { InferSelectModel } from 'drizzle-orm'\nimport type { UserCoupon, UserCouponApplicableProduct, UserCouponApplicableUser, UserCouponUsage, UserCouponWithRelations } from '@packages/shared'\n\ntype CouponRow = InferSelectModel\ntype CouponUsageRow = InferSelectModel\ntype CouponApplicableUserRow = InferSelectModel\ntype CouponApplicableProductRow = InferSelectModel\ntype ReservedCouponRow = InferSelectModel\n\nconst mapCoupon = (coupon: CouponRow): UserCoupon => ({\n id: coupon.id,\n couponCode: coupon.couponCode,\n isUserBased: coupon.isUserBased,\n discountPercent: coupon.discountPercent ? coupon.discountPercent.toString() : null,\n flatDiscount: coupon.flatDiscount ? coupon.flatDiscount.toString() : null,\n minOrder: coupon.minOrder ? coupon.minOrder.toString() : null,\n productIds: coupon.productIds,\n maxValue: coupon.maxValue ? coupon.maxValue.toString() : null,\n isApplyForAll: coupon.isApplyForAll,\n validTill: coupon.validTill ?? null,\n maxLimitForUser: coupon.maxLimitForUser ?? null,\n isInvalidated: coupon.isInvalidated,\n exclusiveApply: coupon.exclusiveApply,\n createdAt: coupon.createdAt,\n})\n\nconst mapUsage = (usage: CouponUsageRow): UserCouponUsage => ({\n id: usage.id,\n userId: usage.userId,\n couponId: usage.couponId,\n orderId: usage.orderId ?? null,\n orderItemId: usage.orderItemId ?? null,\n usedAt: usage.usedAt,\n})\n\nconst mapApplicableUser = (applicable: CouponApplicableUserRow): UserCouponApplicableUser => ({\n id: applicable.id,\n couponId: applicable.couponId,\n userId: applicable.userId,\n})\n\nconst mapApplicableProduct = (applicable: CouponApplicableProductRow): UserCouponApplicableProduct => ({\n id: applicable.id,\n couponId: applicable.couponId,\n productId: applicable.productId,\n})\n\nconst mapCouponWithRelations = (coupon: CouponRow & {\n usages: CouponUsageRow[]\n applicableUsers: CouponApplicableUserRow[]\n applicableProducts: CouponApplicableProductRow[]\n}): UserCouponWithRelations => ({\n ...mapCoupon(coupon),\n usages: coupon.usages.map(mapUsage),\n applicableUsers: coupon.applicableUsers.map(mapApplicableUser),\n applicableProducts: coupon.applicableProducts.map(mapApplicableProduct),\n})\n\nexport async function getActiveCouponsWithRelations(userId: number): Promise {\n const allCoupons = await db.query.coupons.findMany({\n where: and(\n eq(coupons.isInvalidated, false),\n or(\n isNull(coupons.validTill),\n gt(coupons.validTill, new Date())\n )\n ),\n with: {\n usages: {\n where: eq(couponUsage.userId, userId),\n },\n applicableUsers: true,\n applicableProducts: true,\n },\n })\n\n return allCoupons.map(mapCouponWithRelations)\n}\n\nexport async function getAllCouponsWithRelations(userId: number): Promise {\n const allCoupons = await db.query.coupons.findMany({\n with: {\n usages: {\n where: eq(couponUsage.userId, userId),\n },\n applicableUsers: true,\n applicableProducts: true,\n },\n })\n\n return allCoupons.map(mapCouponWithRelations)\n}\n\nexport async function getReservedCouponByCode(secretCode: string): Promise {\n const reserved = await db.query.reservedCoupons.findFirst({\n where: and(\n eq(reservedCoupons.secretCode, secretCode.toUpperCase()),\n eq(reservedCoupons.isRedeemed, false)\n ),\n })\n\n return reserved || null\n}\n\nexport async function redeemReservedCoupon(userId: number, reservedCoupon: ReservedCouponRow): Promise {\n const couponResult = await db.transaction(async (tx) => {\n const [coupon] = await tx.insert(coupons).values({\n couponCode: reservedCoupon.couponCode,\n isUserBased: true,\n discountPercent: reservedCoupon.discountPercent,\n flatDiscount: reservedCoupon.flatDiscount,\n minOrder: reservedCoupon.minOrder,\n productIds: reservedCoupon.productIds,\n maxValue: reservedCoupon.maxValue,\n isApplyForAll: false,\n validTill: reservedCoupon.validTill,\n maxLimitForUser: reservedCoupon.maxLimitForUser,\n exclusiveApply: reservedCoupon.exclusiveApply,\n createdBy: reservedCoupon.createdBy,\n }).returning()\n\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId,\n })\n\n await tx.update(reservedCoupons).set({\n isRedeemed: true,\n redeemedBy: userId,\n redeemedAt: new Date(),\n }).where(eq(reservedCoupons.id, reservedCoupon.id))\n\n return coupon\n })\n\n return mapCoupon(couponResult)\n}\n", "import { db } from '../db/db_index'\nimport { notifCreds, unloggedUserTokens, userCreds, userDetails, users } from '../db/schema'\nimport { and, eq } from 'drizzle-orm'\n\nexport async function getUserById(userId: number) {\n const [user] = await db.select().from(users).where(eq(users.id, userId)).limit(1)\n return user || null\n}\n\nexport async function getUserDetailByUserId(userId: number) {\n const [detail] = await db.select().from(userDetails).where(eq(userDetails.userId, userId)).limit(1)\n return detail || null\n}\n\nexport async function getUserWithCreds(userId: number) {\n const result = await db\n .select()\n .from(users)\n .leftJoin(userCreds, eq(users.id, userCreds.userId))\n .where(eq(users.id, userId))\n .limit(1)\n\n if (result.length === 0) return null\n return {\n user: result[0].users,\n creds: result[0].user_creds,\n }\n}\n\nexport async function getNotifCred(userId: number, token: string) {\n return db.query.notifCreds.findFirst({\n where: and(eq(notifCreds.userId, userId), eq(notifCreds.token, token)),\n })\n}\n\nexport async function upsertNotifCred(userId: number, token: string): Promise {\n const existing = await getNotifCred(userId, token)\n if (existing) {\n await db.update(notifCreds)\n .set({ lastVerified: new Date() })\n .where(eq(notifCreds.id, existing.id))\n return\n }\n\n await db.insert(notifCreds).values({\n userId,\n token,\n lastVerified: new Date(),\n })\n}\n\nexport async function deleteUnloggedToken(token: string): Promise {\n await db.delete(unloggedUserTokens).where(eq(unloggedUserTokens.token, token))\n}\n\nexport async function getUnloggedToken(token: string) {\n return db.query.unloggedUserTokens.findFirst({\n where: eq(unloggedUserTokens.token, token),\n })\n}\n\nexport async function upsertUnloggedToken(token: string): Promise {\n const existing = await getUnloggedToken(token)\n if (existing) {\n await db.update(unloggedUserTokens)\n .set({ lastVerified: new Date() })\n .where(eq(unloggedUserTokens.id, existing.id))\n return\n }\n\n await db.insert(unloggedUserTokens).values({\n token,\n lastVerified: new Date(),\n })\n}\n", "import { db } from '../db/db_index'\nimport {\n orders,\n orderItems,\n orderStatus,\n addresses,\n productInfo,\n paymentInfoTable,\n coupons,\n couponUsage,\n cartItems,\n refunds,\n units,\n userDetails,\n deliverySlotInfo,\n} from '../db/schema'\nimport { and, eq, inArray, desc, gte, sql } from 'drizzle-orm'\nimport type {\n UserOrderSummary,\n UserOrderDetail,\n UserRecentProduct,\n} from '@packages/shared'\nimport { coerceDate } from '../lib/date'\n\nexport interface OrderItemInput {\n productId: number\n quantity: number\n slotId: number | null\n}\n\nexport interface PlaceOrderInput {\n userId: number\n selectedItems: OrderItemInput[]\n addressId: number\n paymentMethod: 'online' | 'cod'\n couponId?: number\n userNotes?: string\n isFlash?: boolean\n}\n\nexport interface OrderGroupData {\n slotId: number | null\n items: Array<{\n productId: number\n quantity: number\n slotId: number | null\n product: typeof productInfo.$inferSelect\n }>\n}\n\nexport interface PlacedOrder {\n id: number\n userId: number\n addressId: number\n slotId: number | null\n totalAmount: string\n deliveryCharge: string\n isCod: boolean\n isOnlinePayment: boolean\n paymentInfoId: number | null\n readableId: number\n userNotes: string | null\n orderGroupId: string\n orderGroupProportion: string\n isFlashDelivery: boolean\n createdAt: Date\n}\n\nexport interface OrderWithRelations {\n id: number\n userId: number\n addressId: number\n slotId: number | null\n totalAmount: string\n deliveryCharge: string\n isCod: boolean\n isOnlinePayment: boolean\n isFlashDelivery: boolean\n userNotes: string | null\n createdAt: Date\n orderItems: Array<{\n id: number\n productId: number\n quantity: string\n price: string\n discountedPrice: string | null\n is_packaged: boolean\n product: {\n id: number\n name: string\n images: unknown\n }\n }>\n slot: {\n deliveryTime: Date\n } | null\n paymentInfo: {\n id: number\n status: string\n } | null\n orderStatus: Array<{\n id: number\n isCancelled: boolean\n isDelivered: boolean\n paymentStatus: string\n cancelReason: string | null\n }>\n refunds: Array<{\n refundStatus: string\n refundAmount: string | null\n }>\n}\n\nexport interface OrderDetailWithRelations {\n id: number\n userId: number\n addressId: number\n slotId: number | null\n totalAmount: string\n deliveryCharge: string\n isCod: boolean\n isOnlinePayment: boolean\n isFlashDelivery: boolean\n userNotes: string | null\n createdAt: Date\n orderItems: Array<{\n id: number\n productId: number\n quantity: string\n price: string\n discountedPrice: string | null\n is_packaged: boolean\n product: {\n id: number\n name: string\n images: unknown\n }\n }>\n slot: {\n deliveryTime: Date\n } | null\n paymentInfo: {\n id: number\n status: string\n } | null\n orderStatus: Array<{\n id: number\n isCancelled: boolean\n isDelivered: boolean\n paymentStatus: string\n cancelReason: string | null\n }>\n refunds: Array<{\n refundStatus: string\n refundAmount: string | null\n }>\n}\n\nexport interface CouponValidationResult {\n id: number\n couponCode: string\n isInvalidated: boolean\n validTill: Date | null\n maxLimitForUser: number | null\n minOrder: string | null\n discountPercent: string | null\n flatDiscount: string | null\n maxValue: string | null\n usages: Array<{\n id: number\n userId: number\n }>\n}\n\nexport interface CouponUsageWithCoupon {\n id: number\n couponId: number\n orderId: number | null\n coupon: {\n id: number\n couponCode: string\n discountPercent: string | null\n flatDiscount: string | null\n maxValue: string | null\n }\n}\n\nexport async function validateAndGetCoupon(\n couponId: number | undefined,\n userId: number,\n totalAmount: number\n): Promise {\n if (!couponId) return null\n\n const coupon = await db.query.coupons.findFirst({\n where: eq(coupons.id, couponId),\n with: {\n usages: { where: eq(couponUsage.userId, userId) },\n },\n })\n\n if (!coupon) throw new Error('Invalid coupon')\n if (coupon.isInvalidated) throw new Error('Coupon is no longer valid')\n if (coupon.validTill && new Date(coupon.validTill) < new Date())\n throw new Error('Coupon has expired')\n if (\n coupon.maxLimitForUser &&\n coupon.usages.length >= coupon.maxLimitForUser\n )\n throw new Error('Coupon usage limit exceeded')\n if (\n coupon.minOrder &&\n parseFloat(coupon.minOrder.toString()) > totalAmount\n )\n throw new Error('Order amount does not meet coupon minimum requirement')\n\n return coupon as CouponValidationResult\n}\n\nexport function applyDiscountToOrder(\n orderTotal: number,\n appliedCoupon: CouponValidationResult | null,\n proportion: number\n): { finalOrderTotal: number; orderGroupProportion: number } {\n let finalOrderTotal = orderTotal\n \n if (appliedCoupon) {\n if (appliedCoupon.discountPercent) {\n const discount = Math.min(\n (orderTotal *\n parseFloat(appliedCoupon.discountPercent.toString())) /\n 100,\n appliedCoupon.maxValue\n ? parseFloat(appliedCoupon.maxValue.toString()) * proportion\n : Infinity\n )\n finalOrderTotal -= discount\n } else if (appliedCoupon.flatDiscount) {\n const discount = Math.min(\n parseFloat(appliedCoupon.flatDiscount.toString()) * proportion,\n appliedCoupon.maxValue\n ? parseFloat(appliedCoupon.maxValue.toString()) * proportion\n : finalOrderTotal\n )\n finalOrderTotal -= discount\n }\n }\n\n return { finalOrderTotal, orderGroupProportion: proportion }\n}\n\nexport async function getAddressByIdAndUser(\n addressId: number,\n userId: number\n) {\n return db.query.addresses.findFirst({\n where: and(eq(addresses.userId, userId), eq(addresses.id, addressId)),\n })\n}\n\nexport async function getProductById(productId: number) {\n return db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n })\n}\n\nexport async function checkUserSuspended(userId: number): Promise {\n const userDetail = await db.query.userDetails.findFirst({\n where: eq(userDetails.userId, userId),\n })\n return userDetail?.isSuspended ?? false\n}\n\nexport async function getSlotCapacityStatus(slotId: number): Promise {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n columns: {\n isCapacityFull: true,\n },\n })\n return slot?.isCapacityFull ?? false\n}\n\nexport async function placeOrderTransaction(params: {\n userId: number\n ordersData: Array<{\n order: Omit\n orderItems: Omit[]\n orderStatus: Omit\n }>\n paymentMethod: 'online' | 'cod'\n totalWithDelivery: number\n}): Promise {\n const { userId, ordersData, paymentMethod } = params\n\n return db.transaction(async (tx) => {\n let sharedPaymentInfoId: number | null = null\n if (paymentMethod === 'online') {\n const [paymentInfo] = await tx\n .insert(paymentInfoTable)\n .values({\n status: 'pending',\n gateway: 'razorpay',\n merchantOrderId: `multi_order_${Date.now()}`,\n })\n .returning()\n sharedPaymentInfoId = paymentInfo.id\n }\n\n const ordersToInsert: Omit[] =\n ordersData.map((od) => ({\n ...od.order,\n paymentInfoId: sharedPaymentInfoId,\n }))\n\n const insertedOrders = await tx.insert(orders).values(ordersToInsert).returning()\n\n const allOrderItems: Omit[] = []\n const allOrderStatuses: Omit[] = []\n\n insertedOrders.forEach((order, index) => {\n const od = ordersData[index]\n od.orderItems.forEach((item) => {\n allOrderItems.push({ ...item, orderId: order.id })\n })\n allOrderStatuses.push({\n ...od.orderStatus,\n orderId: order.id,\n })\n })\n\n await tx.insert(orderItems).values(allOrderItems)\n await tx.insert(orderStatus).values(allOrderStatuses)\n\n return insertedOrders as PlacedOrder[]\n })\n}\n\nexport async function deleteCartItemsForOrder(\n userId: number,\n productIds: number[]\n): Promise {\n await db.delete(cartItems).where(\n and(\n eq(cartItems.userId, userId),\n inArray(cartItems.productId, productIds)\n )\n )\n}\n\nexport async function recordCouponUsage(\n userId: number,\n couponId: number,\n orderId: number\n): Promise {\n await db.insert(couponUsage).values({\n userId,\n couponId,\n orderId,\n orderItemId: null,\n usedAt: new Date(),\n })\n}\n\nexport async function getOrdersWithRelations(\n userId: number,\n offset: number,\n pageSize: number\n): Promise {\n const ordersWithRelations = await db.query.orders.findMany({\n where: eq(orders.userId, userId),\n with: {\n orderItems: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n slot: {\n columns: {\n deliveryTime: true,\n },\n },\n paymentInfo: {\n columns: {\n id: true,\n status: true,\n },\n },\n orderStatus: {\n columns: {\n id: true,\n isCancelled: true,\n isDelivered: true,\n paymentStatus: true,\n cancelReason: true,\n },\n },\n refunds: {\n columns: {\n refundStatus: true,\n refundAmount: true,\n },\n },\n },\n orderBy: [desc(orders.createdAt)],\n limit: pageSize,\n offset: offset,\n })\n\n return ordersWithRelations.map((order) => {\n const createdAt = coerceDate(order.createdAt) ?? new Date(0)\n const slot = order.slot\n ? {\n ...order.slot,\n deliveryTime: coerceDate(order.slot.deliveryTime) ?? new Date(0),\n }\n : null\n\n return {\n ...order,\n createdAt,\n slot,\n }\n }) as OrderWithRelations[]\n}\n\nexport async function getOrderCount(userId: number): Promise {\n const result = await db\n .select({ count: sql`count(*)` })\n .from(orders)\n .where(eq(orders.userId, userId))\n\n return Number(result[0]?.count ?? 0)\n}\n\nexport async function getOrderByIdWithRelations(\n orderId: number,\n userId: number\n): Promise {\n const order = await db.query.orders.findFirst({\n where: and(eq(orders.id, orderId), eq(orders.userId, userId)),\n with: {\n orderItems: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n slot: {\n columns: {\n deliveryTime: true,\n },\n },\n paymentInfo: {\n columns: {\n id: true,\n status: true,\n },\n },\n orderStatus: {\n columns: {\n id: true,\n isCancelled: true,\n isDelivered: true,\n paymentStatus: true,\n cancelReason: true,\n },\n with: {\n refundCoupon: {\n columns: {\n id: true,\n couponCode: true,\n },\n },\n },\n },\n refunds: {\n columns: {\n refundStatus: true,\n refundAmount: true,\n },\n },\n },\n })\n\n if (!order) {\n return null\n }\n\n const createdAt = coerceDate(order.createdAt) ?? new Date(0)\n const slot = order.slot\n ? {\n ...order.slot,\n deliveryTime: coerceDate(order.slot.deliveryTime) ?? new Date(0),\n }\n : null\n\n return {\n ...order,\n createdAt,\n slot,\n } as OrderDetailWithRelations\n}\n\nexport async function getCouponUsageForOrder(\n orderId: number\n): Promise {\n return db.query.couponUsage.findMany({\n where: eq(couponUsage.orderId, orderId),\n with: {\n coupon: {\n columns: {\n id: true,\n couponCode: true,\n discountPercent: true,\n flatDiscount: true,\n maxValue: true,\n },\n },\n },\n }) as Promise\n}\n\nexport async function getOrderBasic(orderId: number) {\n return db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n orderStatus: {\n columns: {\n id: true,\n isCancelled: true,\n isDelivered: true,\n },\n },\n },\n })\n}\n\nexport async function cancelOrderTransaction(\n orderId: number,\n statusId: number,\n reason: string,\n isCod: boolean\n): Promise {\n await db.transaction(async (tx) => {\n await tx\n .update(orderStatus)\n .set({\n isCancelled: true,\n cancelReason: reason,\n cancellationUserNotes: reason,\n cancellationReviewed: false,\n })\n .where(eq(orderStatus.id, statusId))\n\n const refundStatus = isCod ? 'na' : 'pending'\n\n await tx.insert(refunds).values({\n orderId,\n refundStatus,\n })\n })\n}\n\nexport async function updateOrderNotes(\n orderId: number,\n userNotes: string\n): Promise {\n await db\n .update(orders)\n .set({\n userNotes: userNotes || null,\n })\n .where(eq(orders.id, orderId))\n}\n\nexport async function getRecentlyDeliveredOrderIds(\n userId: number,\n limit: number,\n since: Date\n): Promise {\n const recentOrders = await db\n .select({ id: orders.id })\n .from(orders)\n .innerJoin(orderStatus, eq(orders.id, orderStatus.orderId))\n .where(\n and(\n eq(orders.userId, userId),\n eq(orderStatus.isDelivered, true),\n gte(orders.createdAt, since)\n )\n )\n .orderBy(desc(orders.createdAt))\n .limit(limit)\n\n return recentOrders.map((order) => order.id)\n}\n\nexport async function getProductIdsFromOrders(\n orderIds: number[]\n): Promise {\n const orderItemsResult = await db\n .select({ productId: orderItems.productId })\n .from(orderItems)\n .where(inArray(orderItems.orderId, orderIds))\n\n return [...new Set(orderItemsResult.map((item) => item.productId))]\n}\n\nexport interface RecentProductData {\n id: number\n name: string\n shortDescription: string | null\n price: string\n images: unknown\n isOutOfStock: boolean\n unitShortNotation: string\n incrementStep: number\n}\n\nexport async function getProductsForRecentOrders(\n productIds: number[],\n limit: number\n): Promise {\n const results = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(\n and(\n inArray(productInfo.id, productIds),\n eq(productInfo.isSuspended, false)\n )\n )\n .orderBy(desc(productInfo.createdAt))\n .limit(limit)\n\n return results.map((product) => ({\n ...product,\n price: String(product.price ?? '0'),\n }))\n}\n\n// ============================================================================\n// Post-Order Handler Helpers (for Telegram notifications)\n// ============================================================================\n\nexport interface OrderWithFullData {\n id: number\n totalAmount: string\n isFlashDelivery: boolean\n address: {\n name: string | null\n addressLine1: string | null\n addressLine2: string | null\n city: string | null\n state: string | null\n pincode: string | null\n phone: string | null\n } | null\n orderItems: Array<{\n quantity: string\n product: {\n name: string\n } | null\n }>\n slot: {\n deliveryTime: Date\n } | null\n}\n\nexport async function getOrdersByIdsWithFullData(\n orderIds: number[]\n): Promise {\n console.log('getting orders byid')\n\n const ordersResp = await db.query.orders.findMany({\n where: inArray(orders.id, orderIds),\n with: {\n address: {\n columns: {\n name: true,\n addressLine1: true,\n addressLine2: true,\n city: true,\n state: true,\n pincode: true,\n phone: true,\n },\n },\n orderItems: {\n with: {\n product: {\n columns: {\n name: true,\n },\n },\n },\n },\n slot: {\n columns: {\n deliveryTime: true,\n },\n },\n },\n }) \n // as Promise\n\n return ordersResp as OrderWithFullData[];\n}\n\nexport interface OrderWithCancellationData extends OrderWithFullData {\n refunds: Array<{\n refundStatus: string\n }>\n}\n\nexport async function getOrderByIdWithFullData(\n orderId: number\n): Promise {\n return db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n address: {\n columns: {\n name: true,\n addressLine1: true,\n addressLine2: true,\n city: true,\n state: true,\n pincode: true,\n phone: true,\n },\n },\n orderItems: {\n with: {\n product: {\n columns: {\n name: true,\n },\n },\n },\n },\n slot: {\n columns: {\n deliveryTime: true,\n },\n },\n refunds: {\n columns: {\n refundStatus: true,\n },\n },\n },\n }) as Promise\n}\n", "// Store Helpers - Database operations for cache initialization\n// These are used by stores in apps/backend/src/stores/\n\nimport { db } from '../db/db_index'\nimport {\n homeBanners,\n productInfo,\n units,\n productSlots,\n deliverySlotInfo,\n specialDeals,\n storeInfo,\n productTags,\n productTagInfo,\n userIncidents,\n} from '../db/schema'\nimport { eq, and, gt, sql, isNotNull, asc } from 'drizzle-orm'\n\n// ============================================================================\n// BANNER STORE HELPERS\n// ============================================================================\n\nexport interface BannerData {\n id: number\n name: string\n imageUrl: string | null\n serialNum: number | null\n productIds: number[] | null\n createdAt: Date\n}\n\nexport async function getAllBannersForCache(): Promise {\n return db.query.homeBanners.findMany({\n where: isNotNull(homeBanners.serialNum),\n orderBy: asc(homeBanners.serialNum),\n })\n}\n\n// ============================================================================\n// PRODUCT STORE HELPERS\n// ============================================================================\n\nexport interface ProductBasicData {\n id: number\n name: string\n shortDescription: string | null\n longDescription: string | null\n price: string\n marketPrice: string | null\n images: unknown\n isOutOfStock: boolean\n storeId: number | null\n unitShortNotation: string\n incrementStep: number\n productQuantity: number\n isFlashAvailable: boolean\n flashPrice: string | null\n}\n\nexport interface StoreBasicData {\n id: number\n name: string\n description: string | null\n}\n\nexport interface DeliverySlotData {\n productId: number\n id: number\n deliveryTime: Date\n freezeTime: Date\n isCapacityFull: boolean\n}\n\nexport interface SpecialDealData {\n productId: number\n quantity: string\n price: string\n validTill: Date\n}\n\nexport interface ProductTagData {\n productId: number\n tagName: string\n}\n\nexport async function getAllProductsForCache(): Promise {\n const results = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n longDescription: productInfo.longDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n storeId: productInfo.storeId,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n productQuantity: productInfo.productQuantity,\n isFlashAvailable: productInfo.isFlashAvailable,\n flashPrice: productInfo.flashPrice,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n\n return results.map((product) => ({\n ...product,\n price: String(product.price ?? '0'),\n marketPrice: product.marketPrice ? String(product.marketPrice) : null,\n flashPrice: product.flashPrice ? String(product.flashPrice) : null,\n }))\n}\n\nexport async function getAllStoresForCache(): Promise {\n return db.query.storeInfo.findMany({\n columns: { id: true, name: true, description: true },\n })\n}\n\nexport async function getAllDeliverySlotsForCache(): Promise {\n return db\n .select({\n productId: productSlots.productId,\n id: deliverySlotInfo.id,\n deliveryTime: deliverySlotInfo.deliveryTime,\n freezeTime: deliverySlotInfo.freezeTime,\n isCapacityFull: deliverySlotInfo.isCapacityFull,\n })\n .from(productSlots)\n .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n .where(\n and(\n eq(deliverySlotInfo.isActive, true),\n eq(deliverySlotInfo.isCapacityFull, false),\n gt(deliverySlotInfo.deliveryTime, sql`CURRENT_TIMESTAMP`)\n )\n )\n}\n\nexport async function getAllSpecialDealsForCache(): Promise {\n const results = await db\n .select({\n productId: specialDeals.productId,\n quantity: specialDeals.quantity,\n price: specialDeals.price,\n validTill: specialDeals.validTill,\n })\n .from(specialDeals)\n .where(gt(specialDeals.validTill, sql`CURRENT_TIMESTAMP`))\n\n return results.map((deal) => ({\n ...deal,\n quantity: String(deal.quantity ?? '0'),\n price: String(deal.price ?? '0'),\n }))\n}\n\nexport async function getAllProductTagsForCache(): Promise {\n return db\n .select({\n productId: productTags.productId,\n tagName: productTagInfo.tagName,\n })\n .from(productTags)\n .innerJoin(productTagInfo, eq(productTags.tagId, productTagInfo.id))\n}\n\n// ============================================================================\n// PRODUCT TAG STORE HELPERS\n// ============================================================================\n\nexport interface TagBasicData {\n id: number\n tagName: string\n tagDescription: string | null\n imageUrl: string | null\n isDashboardTag: boolean\n relatedStores: unknown\n}\n\nexport interface TagProductMapping {\n tagId: number\n productId: number\n}\n\nexport async function getAllTagsForCache(): Promise {\n return db\n .select({\n id: productTagInfo.id,\n tagName: productTagInfo.tagName,\n tagDescription: productTagInfo.tagDescription,\n imageUrl: productTagInfo.imageUrl,\n isDashboardTag: productTagInfo.isDashboardTag,\n relatedStores: productTagInfo.relatedStores,\n })\n .from(productTagInfo)\n}\n\nexport async function getAllTagProductMappings(): Promise {\n return db\n .select({\n tagId: productTags.tagId,\n productId: productTags.productId,\n })\n .from(productTags)\n}\n\n// ============================================================================\n// SLOT STORE HELPERS\n// ============================================================================\n\nexport interface SlotWithProductsData {\n id: number\n deliveryTime: Date\n freezeTime: Date\n isActive: boolean\n isCapacityFull: boolean\n productSlots: Array<{\n product: {\n id: number\n name: string\n productQuantity: number\n shortDescription: string | null\n price: string\n marketPrice: string | null\n unit: { shortNotation: string } | null\n store: { id: number; name: string; description: string | null } | null\n images: unknown\n isOutOfStock: boolean\n storeId: number | null\n }\n }>\n}\n\nexport async function getAllSlotsWithProductsForCache(): Promise {\n const now = new Date()\n \n return db.query.deliverySlotInfo.findMany({\n where: and(\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, now)\n ),\n with: {\n productSlots: {\n with: {\n product: {\n with: {\n unit: true,\n store: true,\n },\n },\n },\n },\n },\n orderBy: asc(deliverySlotInfo.deliveryTime),\n }) as Promise\n}\n\n// ============================================================================\n// USER NEGATIVITY STORE HELPERS\n// ============================================================================\n\nexport interface UserNegativityData {\n userId: number\n totalNegativityScore: number\n}\n\nexport async function getAllUserNegativityScores(): Promise {\n const results = await db\n .select({\n userId: userIncidents.userId,\n totalNegativityScore: sql`sum(${userIncidents.negativityScore})`,\n })\n .from(userIncidents)\n .groupBy(userIncidents.userId)\n\n return results.map((result) => ({\n userId: result.userId,\n totalNegativityScore: Number(result.totalNegativityScore ?? 0),\n }))\n}\n\nexport async function getUserNegativityScore(userId: number): Promise {\n const [result] = await db\n .select({\n totalNegativityScore: sql`sum(${userIncidents.negativityScore})`,\n })\n .from(userIncidents)\n .where(eq(userIncidents.userId, userId))\n .limit(1)\n\n return Number(result?.totalNegativityScore ?? 0)\n}\n", "import { db } from '../db/db_index'\nimport { productInfo, keyValStore } from '../db/schema'\nimport { inArray, eq } from 'drizzle-orm'\n\n/**\n * Toggle flash delivery availability for specific products\n * @param isAvailable - Whether flash delivery should be available\n * @param productIds - Array of product IDs to update\n */\nexport async function toggleFlashDeliveryForItems(\n isAvailable: boolean,\n productIds: number[]\n): Promise {\n await db\n .update(productInfo)\n .set({ isFlashAvailable: isAvailable })\n .where(inArray(productInfo.id, productIds))\n}\n\n/**\n * Update key-value store\n * @param key - The key to update\n * @param value - The boolean value to set\n */\nexport async function toggleKeyVal(\n key: string,\n value: boolean\n): Promise {\n await db\n .update(keyValStore)\n .set({ value })\n .where(eq(keyValStore.key, key))\n}\n\n/**\n * Get all key-value store constants\n * @returns Array of all key-value pairs\n */\nexport async function getAllKeyValStore(): Promise> {\n return db.select().from(keyValStore)\n}\n", "import { db } from '../db/db_index'\nimport { keyValStore, productInfo } from '../db/schema'\n\n/**\n * Health check - test database connectivity\n * Tries to select from keyValStore first, falls back to productInfo\n */\nexport async function healthCheck(): Promise<{ status: string }> {\n try {\n // Try keyValStore first (smaller table)\n await db.select({ key: keyValStore.key }).from(keyValStore).limit(1)\n return { status: 'ok' }\n } catch {\n // Fallback to productInfo\n await db.select({ name: productInfo.name }).from(productInfo).limit(1)\n return { status: 'ok' }\n }\n}\n", "import { db } from '../db/db_index'\nimport { orders, orderItems, orderStatus, payments, refunds, couponUsage, complaints } from '../db/schema'\nimport { inArray } from 'drizzle-orm'\n\n/**\n * Delete orders and all their related records\n * @param orderIds Array of order IDs to delete\n * @returns Promise\n * @throws Error if deletion fails\n */\nexport async function deleteOrdersWithRelations(orderIds: number[]): Promise {\n if (orderIds.length === 0) {\n return\n }\n\n // Delete child records first (in correct order to avoid FK constraint errors)\n\n // 1. Delete coupon usage records\n await db.delete(couponUsage).where(inArray(couponUsage.orderId, orderIds))\n\n // 2. Delete complaints related to these orders\n await db.delete(complaints).where(inArray(complaints.orderId, orderIds))\n\n // 3. Delete refunds\n await db.delete(refunds).where(inArray(refunds.orderId, orderIds))\n\n // 4. Delete payments\n await db.delete(payments).where(inArray(payments.orderId, orderIds))\n\n // 5. Delete order status records\n await db.delete(orderStatus).where(inArray(orderStatus.orderId, orderIds))\n\n // 6. Delete order items\n await db.delete(orderItems).where(inArray(orderItems.orderId, orderIds))\n\n // 7. Finally delete the orders themselves\n await db.delete(orders).where(inArray(orders.id, orderIds))\n}\n", "import { and, eq } from 'drizzle-orm'\nimport { db } from '../db/db_index'\nimport { uploadUrlStatus } from '../db/schema'\n\nexport async function createUploadUrlStatus(key: string): Promise {\n await db.insert(uploadUrlStatus).values({\n key,\n status: 'pending',\n })\n}\n\nexport async function claimUploadUrlStatus(key: string): Promise {\n const result = await db\n .update(uploadUrlStatus)\n .set({ status: 'claimed' })\n .where(and(eq(uploadUrlStatus.key, key), eq(uploadUrlStatus.status, 'pending')))\n .returning()\n\n return result.length > 0\n}\n", "import { db } from '../db/db_index'\nimport { eq, and } from 'drizzle-orm'\n\n// ============================================================================\n// Unit Seed Helper\n// ============================================================================\n\nexport interface UnitSeedData {\n shortNotation: string\n fullName: string\n}\n\nexport async function seedUnits(unitsToSeed: UnitSeedData[]): Promise {\n for (const unit of unitsToSeed) {\n const { units: unitsTable } = await import('../db/schema')\n const existingUnit = await db.query.units.findFirst({\n where: eq(unitsTable.shortNotation, unit.shortNotation),\n })\n if (!existingUnit) {\n await db.insert(unitsTable).values(unit)\n }\n }\n}\n\n// ============================================================================\n// Staff Role Seed Helper\n// ============================================================================\n\n// Type for staff role names based on the enum values in schema\nexport type StaffRoleName = 'super_admin' | 'admin' | 'marketer' | 'delivery_staff'\n\nexport async function seedStaffRoles(rolesToSeed: StaffRoleName[]): Promise {\n for (const roleName of rolesToSeed) {\n const { staffRoles } = await import('../db/schema')\n const existingRole = await db.query.staffRoles.findFirst({\n where: eq(staffRoles.roleName, roleName),\n })\n if (!existingRole) {\n await db.insert(staffRoles).values({ roleName })\n }\n }\n}\n\n// ============================================================================\n// Staff Permission Seed Helper\n// ============================================================================\n\n// Type for staff permission names based on the enum values in schema\nexport type StaffPermissionName = 'crud_product' | 'make_coupon' | 'crud_staff_users'\n\nexport async function seedStaffPermissions(permissionsToSeed: StaffPermissionName[]): Promise {\n for (const permissionName of permissionsToSeed) {\n const { staffPermissions } = await import('../db/schema')\n const existingPermission = await db.query.staffPermissions.findFirst({\n where: eq(staffPermissions.permissionName, permissionName),\n })\n if (!existingPermission) {\n await db.insert(staffPermissions).values({ permissionName })\n }\n }\n}\n\n// ============================================================================\n// Role-Permission Assignment Helper\n// ============================================================================\n\nexport interface RolePermissionAssignment {\n roleName: StaffRoleName\n permissionName: StaffPermissionName\n}\n\nexport async function seedRolePermissions(assignments: RolePermissionAssignment[]): Promise {\n await db.transaction(async (tx) => {\n const { staffRoles, staffPermissions, staffRolePermissions } = await import('../db/schema')\n\n for (const assignment of assignments) {\n // Get role ID\n const role = await tx.query.staffRoles.findFirst({\n where: eq(staffRoles.roleName, assignment.roleName),\n })\n\n // Get permission ID\n const permission = await tx.query.staffPermissions.findFirst({\n where: eq(staffPermissions.permissionName, assignment.permissionName),\n })\n\n if (role && permission) {\n const existing = await tx.query.staffRolePermissions.findFirst({\n where: and(\n eq(staffRolePermissions.staffRoleId, role.id),\n eq(staffRolePermissions.staffPermissionId, permission.id)\n ),\n })\n if (!existing) {\n await tx.insert(staffRolePermissions).values({\n staffRoleId: role.id,\n staffPermissionId: permission.id,\n })\n }\n }\n }\n })\n}\n\n// ============================================================================\n// Key-Value Store Seed Helper\n// ============================================================================\n\nexport interface KeyValSeedData {\n key: string\n value: any\n}\n\nexport async function seedKeyValStore(constantsToSeed: KeyValSeedData[]): Promise {\n for (const constant of constantsToSeed) {\n const { keyValStore } = await import('../db/schema')\n const existing = await db.query.keyValStore.findFirst({\n where: eq(keyValStore.key, constant.key),\n })\n if (!existing) {\n await db.insert(keyValStore).values({\n key: constant.key,\n value: constant.value,\n })\n }\n }\n}\n", "// Database Helper - SQLite (Cloudflare D1)\n// Main entry point for the package\n\n// Re-export database connection\nexport { db, initDb } from './src/db/db_index'\n// Re-export schema\nexport * from './src/db/schema'\n\n// Export enum types for type safety\nexport { staffRoleEnum, staffPermissionEnum } from './src/db/schema'\n\n// Admin API helpers - explicitly namespaced exports to avoid duplicates\nexport {\n // Banner\n getBanners,\n getBannerById,\n createBanner,\n updateBanner,\n deleteBanner,\n} from './src/admin-apis/banner'\n\nexport {\n // Complaint\n getComplaints,\n resolveComplaint,\n} from './src/admin-apis/complaint'\n\nexport {\n // Constants\n getAllConstants,\n upsertConstants,\n getCacheVersion,\n incrementCacheVersion,\n} from './src/admin-apis/const'\n\nexport {\n // Coupon\n getAllCoupons,\n getCouponById,\n invalidateCoupon,\n validateCoupon,\n getReservedCoupons,\n getUsersForCoupon,\n createCouponWithRelations,\n updateCouponWithRelations,\n generateCancellationCoupon,\n createReservedCouponWithProducts,\n createCouponForUser,\n checkUsersExist,\n checkCouponExists,\n checkReservedCouponExists,\n getOrderWithUser,\n} from './src/admin-apis/coupon'\n\nexport {\n // Order\n updateOrderNotes,\n getOrderDetails,\n updateOrderPackaged,\n updateOrderDelivered,\n updateOrderItemPackaging,\n removeDeliveryCharge,\n getSlotOrders,\n updateAddressCoords,\n getAllOrders,\n rebalanceSlots,\n cancelOrder,\n deleteOrderById,\n} from './src/admin-apis/order'\n\nexport {\n // Product\n getAllProducts,\n getProductById,\n deleteProduct,\n createProduct,\n updateProduct,\n checkProductExistsByName,\n checkUnitExists,\n getProductImagesById,\n createSpecialDealsForProduct,\n updateProductDeals,\n replaceProductTags,\n toggleProductOutOfStock,\n updateSlotProducts,\n getSlotProductIds,\n getSlotsProductIds,\n getAllUnits,\n getAllProductTags,\n getAllProductTagInfos,\n getProductTagInfoById,\n createProductTag,\n getProductTagById,\n updateProductTag,\n deleteProductTag,\n checkProductTagExistsByName,\n getProductReviews,\n respondToReview,\n getAllProductGroups,\n createProductGroup,\n updateProductGroup,\n deleteProductGroup,\n addProductToGroup,\n removeProductFromGroup,\n updateProductPrices,\n} from './src/admin-apis/product'\n\nexport {\n // Slots\n getActiveSlotsWithProducts,\n getActiveSlots,\n getSlotsAfterDate,\n getSlotByIdWithRelations,\n createSlotWithRelations,\n updateSlotWithRelations,\n deleteSlotById,\n updateSlotCapacity,\n getSlotDeliverySequence,\n updateSlotDeliverySequence,\n} from './src/admin-apis/slots'\n\nexport {\n // Staff User\n getStaffUserByName,\n getStaffUserById,\n getAllStaff,\n getAllUsers,\n getUserWithDetails,\n updateUserSuspensionStatus,\n checkStaffUserExists,\n checkStaffRoleExists,\n createStaffUser,\n getAllRoles,\n} from './src/admin-apis/staff-user'\n\nexport {\n // Store\n getAllStores,\n getStoreById,\n createStore,\n updateStore,\n deleteStore,\n} from './src/admin-apis/store'\n\nexport {\n // User\n createUserByMobile,\n getUserByMobile,\n getUnresolvedComplaintsCount,\n getAllUsersWithFilters,\n getOrderCountsByUserIds,\n getLastOrdersByUserIds,\n getSuspensionStatusesByUserIds,\n getUserBasicInfo,\n getUserSuspensionStatus,\n getUserOrders,\n getOrderStatusesByOrderIds,\n getItemCountsByOrderIds,\n upsertUserSuspension,\n searchUsers,\n getAllNotifCreds,\n getAllUnloggedTokens,\n getNotifTokensByUserIds,\n getUserIncidentsWithRelations,\n createUserIncident,\n} from './src/admin-apis/user'\n\nexport {\n // Vendor Snippets\n checkVendorSnippetExists,\n getVendorSnippetById,\n getVendorSnippetByCode,\n getAllVendorSnippets,\n createVendorSnippet,\n updateVendorSnippet,\n deleteVendorSnippet,\n getProductsByIds,\n getVendorSlotById,\n getVendorOrdersBySlotId,\n getOrderItemsByOrderIds,\n getOrderStatusByOrderIds,\n updateVendorOrderItemPackaging,\n getVendorOrders,\n} from './src/admin-apis/vendor-snippets'\n\nexport {\n // User Address\n getDefaultAddress as getUserDefaultAddress,\n getUserAddresses,\n getUserAddressById,\n clearDefaultAddress as clearUserDefaultAddress,\n createUserAddress,\n updateUserAddress,\n deleteUserAddress,\n hasOngoingOrdersForAddress,\n} from './src/user-apis/address'\n\nexport {\n // User Banners\n getActiveBanners as getUserActiveBanners,\n} from './src/user-apis/banners'\n\nexport {\n // User Cart\n getCartItemsWithProducts as getUserCartItemsWithProducts,\n getProductById as getUserProductById,\n getCartItemByUserProduct as getUserCartItemByUserProduct,\n incrementCartItemQuantity as incrementUserCartItemQuantity,\n insertCartItem as insertUserCartItem,\n updateCartItemQuantity as updateUserCartItemQuantity,\n deleteCartItem as deleteUserCartItem,\n clearUserCart,\n} from './src/user-apis/cart'\n\nexport {\n // User Complaint\n getUserComplaints as getUserComplaints,\n createComplaint as createUserComplaint,\n} from './src/user-apis/complaint'\n\nexport {\n // User Stores\n getStoreSummaries as getUserStoreSummaries,\n getStoreDetail as getUserStoreDetail,\n} from './src/user-apis/stores'\n\nexport {\n // User Product\n getProductDetailById as getUserProductDetailById,\n getProductReviews as getUserProductReviews,\n getProductById as getUserProductByIdBasic,\n createProductReview as createUserProductReview,\n getAllProductsWithUnits,\n type ProductSummaryData,\n} from './src/user-apis/product'\n\nexport {\n // User Slots\n getActiveSlotsList as getUserActiveSlotsList,\n getProductAvailability as getUserProductAvailability,\n} from './src/user-apis/slots'\n\nexport {\n // User Payments\n getOrderById as getUserPaymentOrderById,\n getPaymentByOrderId as getUserPaymentByOrderId,\n getPaymentByMerchantOrderId as getUserPaymentByMerchantOrderId,\n updatePaymentSuccess as updateUserPaymentSuccess,\n updateOrderPaymentStatus as updateUserOrderPaymentStatus,\n markPaymentFailed as markUserPaymentFailed,\n} from './src/user-apis/payments'\n\nexport {\n // User Auth\n getUserByEmail as getUserAuthByEmail,\n getUserByMobile as getUserAuthByMobile,\n getUserById as getUserAuthById,\n getUserCreds as getUserAuthCreds,\n getUserDetails as getUserAuthDetails,\n isUserSuspended,\n createUserWithCreds as createUserAuthWithCreds,\n createUserWithMobile as createUserAuthWithMobile,\n upsertUserPassword as upsertUserAuthPassword,\n deleteUserAccount as deleteUserAuthAccount,\n // UV API helpers\n createUserWithProfile,\n getUserDetailsByUserId,\n updateUserProfile,\n} from './src/user-apis/auth'\n\nexport {\n // User Coupon\n getActiveCouponsWithRelations as getUserActiveCouponsWithRelations,\n getAllCouponsWithRelations as getUserAllCouponsWithRelations,\n getReservedCouponByCode as getUserReservedCouponByCode,\n redeemReservedCoupon as redeemUserReservedCoupon,\n} from './src/user-apis/coupon'\n\nexport {\n // User Profile\n getUserById as getUserProfileById,\n getUserDetailByUserId as getUserProfileDetailById,\n getUserWithCreds as getUserWithCreds,\n getNotifCred as getUserNotifCred,\n upsertNotifCred as upsertUserNotifCred,\n deleteUnloggedToken as deleteUserUnloggedToken,\n getUnloggedToken as getUserUnloggedToken,\n upsertUnloggedToken as upsertUserUnloggedToken,\n} from './src/user-apis/user'\n\nexport {\n // User Order\n validateAndGetCoupon as validateAndGetUserCoupon,\n applyDiscountToOrder as applyDiscountToUserOrder,\n getAddressByIdAndUser as getUserAddressByIdAndUser,\n getProductById as getOrderProductById,\n checkUserSuspended,\n getSlotCapacityStatus as getUserSlotCapacityStatus,\n placeOrderTransaction as placeUserOrderTransaction,\n deleteCartItemsForOrder as deleteUserCartItemsForOrder,\n recordCouponUsage as recordUserCouponUsage,\n getOrdersWithRelations as getUserOrdersWithRelations,\n getOrderCount as getUserOrderCount,\n getOrderByIdWithRelations as getUserOrderByIdWithRelations,\n getCouponUsageForOrder as getUserCouponUsageForOrder,\n getOrderBasic as getUserOrderBasic,\n cancelOrderTransaction as cancelUserOrderTransaction,\n updateOrderNotes as updateUserOrderNotes,\n getRecentlyDeliveredOrderIds as getUserRecentlyDeliveredOrderIds,\n getProductIdsFromOrders as getUserProductIdsFromOrders,\n getProductsForRecentOrders as getUserProductsForRecentOrders,\n // Post-order handler helpers\n getOrdersByIdsWithFullData,\n getOrderByIdWithFullData,\n type OrderWithFullData,\n type OrderWithCancellationData,\n} from './src/user-apis/order'\n\n// Store Helpers (for cache initialization)\nexport {\n // Banner Store\n getAllBannersForCache,\n type BannerData,\n // Product Store\n getAllProductsForCache,\n getAllStoresForCache,\n getAllDeliverySlotsForCache,\n getAllSpecialDealsForCache,\n getAllProductTagsForCache,\n type ProductBasicData,\n type StoreBasicData,\n type DeliverySlotData,\n type SpecialDealData,\n type ProductTagData,\n // Product Tag Store\n getAllTagsForCache,\n getAllTagProductMappings,\n type TagBasicData,\n type TagProductMapping,\n // Slot Store\n getAllSlotsWithProductsForCache,\n type SlotWithProductsData,\n // User Negativity Store\n getAllUserNegativityScores,\n getUserNegativityScore,\n type UserNegativityData,\n} from './src/stores/store-helpers'\n\n// Automated Jobs Helpers\nexport {\n toggleFlashDeliveryForItems,\n toggleKeyVal,\n getAllKeyValStore,\n} from './src/lib/automated-jobs'\n\n// Health Check\nexport {\n healthCheck,\n} from './src/lib/health-check'\n\n// Common API Helpers\nexport {\n getSuspendedProductIds,\n getNextDeliveryDateWithCapacity,\n} from './src/user-apis/product'\n\nexport {\n getStoresSummary,\n} from './src/user-apis/stores'\n\n// Delete Orders Helper\nexport {\n deleteOrdersWithRelations,\n} from './src/lib/delete-orders'\n\n// Upload URL Helpers\nexport {\n createUploadUrlStatus,\n claimUploadUrlStatus,\n} from './src/helper_methods/upload-url'\n\n// Seed Helpers\nexport {\n seedUnits,\n seedStaffRoles,\n seedStaffPermissions,\n seedRolePermissions,\n seedKeyValStore,\n type UnitSeedData,\n type RolePermissionAssignment,\n type KeyValSeedData,\n type StaffRoleName,\n type StaffPermissionName,\n} from './src/lib/seed'\n", "// SQLite Importer - Intermediate layer to avoid direct db_helper_sqlite imports in dbService\n// This file re-exports everything from sqliteService\n\n// Re-export database connection\nexport { db, initDb } from 'sqliteService'\n\n// Re-export all schema exports\nexport * from 'sqliteService'\n\n// Re-export all helper methods from sqliteService\nexport {\n // Admin - Banner\n getBanners,\n getBannerById,\n createBanner,\n updateBanner,\n deleteBanner,\n // Admin - Complaint\n getComplaints,\n resolveComplaint,\n // Admin - Constants\n getAllConstants,\n upsertConstants,\n // Admin - Coupon\n getAllCoupons,\n getCouponById,\n invalidateCoupon,\n validateCoupon,\n getReservedCoupons,\n getUsersForCoupon,\n createCouponWithRelations,\n updateCouponWithRelations,\n generateCancellationCoupon,\n createReservedCouponWithProducts,\n createCouponForUser,\n checkUsersExist,\n checkCouponExists,\n checkReservedCouponExists,\n getOrderWithUser,\n // Admin - Order\n updateOrderNotes,\n getOrderDetails,\n updateOrderPackaged,\n updateOrderDelivered,\n updateOrderItemPackaging,\n removeDeliveryCharge,\n getSlotOrders,\n updateAddressCoords,\n getAllOrders,\n rebalanceSlots,\n cancelOrder,\n deleteOrderById,\n // Admin - Product\n getAllProducts,\n getProductById,\n deleteProduct,\n createProduct,\n updateProduct,\n checkProductExistsByName,\n checkUnitExists,\n getProductImagesById,\n createSpecialDealsForProduct,\n updateProductDeals,\n replaceProductTags,\n toggleProductOutOfStock,\n updateSlotProducts,\n getSlotProductIds,\n getSlotsProductIds,\n getAllUnits,\n getAllProductTags,\n getAllProductTagInfos,\n getProductTagInfoById,\n createProductTag,\n getProductTagById,\n updateProductTag,\n deleteProductTag,\n checkProductTagExistsByName,\n getProductReviews,\n respondToReview,\n getAllProductGroups,\n createProductGroup,\n updateProductGroup,\n deleteProductGroup,\n addProductToGroup,\n removeProductFromGroup,\n updateProductPrices,\n // Admin - Slots\n getActiveSlotsWithProducts,\n getActiveSlots,\n getSlotsAfterDate,\n getSlotByIdWithRelations,\n createSlotWithRelations,\n updateSlotWithRelations,\n deleteSlotById,\n updateSlotCapacity,\n getSlotDeliverySequence,\n updateSlotDeliverySequence,\n // Admin - Staff User\n getStaffUserByName,\n getStaffUserById,\n getAllStaff,\n getAllUsers,\n getUserWithDetails,\n updateUserSuspensionStatus,\n checkStaffUserExists,\n checkStaffRoleExists,\n createStaffUser,\n getAllRoles,\n // Admin - Store\n getAllStores,\n getStoreById,\n createStore,\n updateStore,\n deleteStore,\n // Admin - User\n createUserByMobile,\n getUserByMobile,\n getUnresolvedComplaintsCount,\n getAllUsersWithFilters,\n getOrderCountsByUserIds,\n getLastOrdersByUserIds,\n getSuspensionStatusesByUserIds,\n getUserBasicInfo,\n getUserSuspensionStatus,\n getUserOrders,\n getOrderStatusesByOrderIds,\n getItemCountsByOrderIds,\n upsertUserSuspension,\n searchUsers,\n getAllNotifCreds,\n getAllUnloggedTokens,\n getNotifTokensByUserIds,\n getUserIncidentsWithRelations,\n createUserIncident,\n // Admin - Vendor Snippets\n checkVendorSnippetExists,\n getVendorSnippetById,\n getVendorSnippetByCode,\n getAllVendorSnippets,\n createVendorSnippet,\n updateVendorSnippet,\n deleteVendorSnippet,\n getProductsByIds,\n getVendorSlotById,\n getVendorOrdersBySlotId,\n getOrderItemsByOrderIds,\n getOrderStatusByOrderIds,\n updateVendorOrderItemPackaging,\n getVendorOrders,\n // User - Address\n getUserDefaultAddress,\n getUserAddresses,\n getUserAddressById,\n clearUserDefaultAddress,\n createUserAddress,\n updateUserAddress,\n deleteUserAddress,\n hasOngoingOrdersForAddress,\n // User - Banners\n getUserActiveBanners,\n // User - Cart\n getUserCartItemsWithProducts,\n getUserProductById,\n getUserCartItemByUserProduct,\n incrementUserCartItemQuantity,\n insertUserCartItem,\n updateUserCartItemQuantity,\n deleteUserCartItem,\n clearUserCart,\n // User - Complaint\n getUserComplaints,\n createUserComplaint,\n // User - Stores\n getUserStoreSummaries,\n getUserStoreDetail,\n // User - Product\n getUserProductDetailById,\n getUserProductReviews,\n getUserProductByIdBasic,\n createUserProductReview,\n getAllProductsWithUnits,\n type ProductSummaryData,\n // User - Slots\n getUserActiveSlotsList,\n getUserProductAvailability,\n // User - Payments\n getUserPaymentOrderById,\n getUserPaymentByOrderId,\n getUserPaymentByMerchantOrderId,\n updateUserPaymentSuccess,\n updateUserOrderPaymentStatus,\n markUserPaymentFailed,\n // User - Auth\n getUserAuthByEmail,\n getUserAuthByMobile,\n getUserAuthById,\n getUserAuthCreds,\n getUserAuthDetails,\n isUserSuspended,\n createUserAuthWithCreds,\n createUserAuthWithMobile,\n upsertUserAuthPassword,\n deleteUserAuthAccount,\n // UV API helpers\n createUserWithProfile,\n getUserDetailsByUserId,\n updateUserProfile,\n // User - Coupon\n getUserActiveCouponsWithRelations,\n getUserAllCouponsWithRelations,\n getUserReservedCouponByCode,\n redeemUserReservedCoupon,\n // User - Profile\n getUserProfileById,\n getUserProfileDetailById,\n getUserWithCreds,\n getUserNotifCred,\n upsertUserNotifCred,\n deleteUserUnloggedToken,\n getUserUnloggedToken,\n upsertUserUnloggedToken,\n // User - Order\n validateAndGetUserCoupon,\n applyDiscountToUserOrder,\n getUserAddressByIdAndUser,\n getOrderProductById,\n checkUserSuspended,\n getUserSlotCapacityStatus,\n placeUserOrderTransaction,\n deleteUserCartItemsForOrder,\n recordUserCouponUsage,\n getUserOrdersWithRelations,\n getUserOrderCount,\n getUserOrderByIdWithRelations,\n getUserCouponUsageForOrder,\n getUserOrderBasic,\n cancelUserOrderTransaction,\n updateUserOrderNotes,\n getUserRecentlyDeliveredOrderIds,\n getUserProductIdsFromOrders,\n getUserProductsForRecentOrders,\n // Store Helpers\n getAllBannersForCache,\n getAllProductsForCache,\n getAllStoresForCache,\n getAllDeliverySlotsForCache,\n getAllSpecialDealsForCache,\n getAllProductTagsForCache,\n getAllTagsForCache,\n getAllTagProductMappings,\n getAllSlotsWithProductsForCache,\n getAllUserNegativityScores,\n getUserNegativityScore,\n type BannerData,\n type ProductBasicData,\n type StoreBasicData,\n type DeliverySlotData,\n type SpecialDealData,\n type ProductTagData,\n type TagBasicData,\n type TagProductMapping,\n type SlotWithProductsData,\n type UserNegativityData,\n // Automated Jobs\n toggleFlashDeliveryForItems,\n toggleKeyVal,\n getAllKeyValStore,\n // Post-order handler helpers\n getOrdersByIdsWithFullData,\n getOrderByIdWithFullData,\n type OrderWithFullData,\n type OrderWithCancellationData,\n // Common API helpers\n getSuspendedProductIds,\n getNextDeliveryDateWithCapacity,\n getStoresSummary,\n healthCheck,\n // Delete orders helper\n deleteOrdersWithRelations,\n // Seed helpers\n seedUnits,\n seedStaffRoles,\n seedStaffPermissions,\n seedRolePermissions,\n seedKeyValStore,\n type UnitSeedData,\n type RolePermissionAssignment,\n type KeyValSeedData,\n type StaffRoleName,\n type StaffPermissionName,\n // Upload URL Helpers\n createUploadUrlStatus,\n claimUploadUrlStatus,\n} from 'sqliteService'\n", "// Database Service - Central export for all database-related imports\n// This file re-exports everything from postgresImporter to provide a clean abstraction layer\n\nimport type { AdminOrderDetails } from '@packages/shared'\n// import { getOrderDetails } from '@/src/postgresImporter'\nimport { getOrderDetails, initDb } from '@/src/sqliteImporter'\n\n// Re-export everything from postgresImporter\n// export * from '@/src/postgresImporter'\n\nexport * from '@/src/sqliteImporter'\n\nexport { initDb }\n\n// Re-export getOrderDetails with the correct signature\nexport async function getOrderDetailsWrapper(orderId: number): Promise {\n return getOrderDetails(orderId)\n}\n\n// Re-export all types from shared package\nexport type {\n // Admin types\n Banner,\n Complaint,\n ComplaintWithUser,\n Constant,\n ConstantUpdateResult,\n Coupon,\n CouponValidationResult,\n UserMiniInfo,\n Store,\n StaffUser,\n StaffRole,\n AdminOrderRow,\n AdminOrderDetails,\n AdminOrderUpdateResult,\n AdminOrderItemPackagingResult,\n AdminOrderMessageResult,\n AdminOrderBasicResult,\n AdminGetSlotOrdersResult,\n AdminGetAllOrdersResult,\n AdminGetAllOrdersResultWithUserId,\n AdminRebalanceSlotsResult,\n AdminCancelOrderResult,\n AdminUnit,\n AdminProduct,\n AdminProductWithRelations,\n AdminProductWithDetails,\n AdminProductTagInfo,\n AdminProductTagWithProducts,\n AdminProductListResponse,\n AdminProductResponse,\n AdminDeleteProductResult,\n AdminToggleOutOfStockResult,\n AdminUpdateSlotProductsResult,\n AdminSlotProductIdsResult,\n AdminSlotsProductIdsResult,\n AdminProductReview,\n AdminProductReviewWithSignedUrls,\n AdminProductReviewsResult,\n AdminProductReviewResponse,\n AdminProductGroup,\n AdminProductGroupsResult,\n AdminProductGroupResponse,\n AdminProductGroupInfo,\n AdminUpdateProductPricesResult,\n AdminDeliverySlot,\n AdminSlotProductSummary,\n AdminSlotWithProducts,\n AdminSlotWithProductsAndSnippets,\n AdminSlotWithProductsAndSnippetsBase,\n AdminSlotsResult,\n AdminSlotsListResult,\n AdminSlotResult,\n AdminSlotCreateResult,\n AdminSlotUpdateResult,\n AdminSlotDeleteResult,\n AdminDeliverySequence,\n AdminDeliverySequenceResult,\n AdminUpdateDeliverySequenceResult,\n AdminUpdateSlotCapacityResult,\n AdminVendorSnippet,\n AdminVendorSnippetWithAccess,\n AdminVendorSnippetWithSlot,\n AdminVendorSnippetProduct,\n AdminVendorSnippetWithProducts,\n AdminVendorSnippetCreateInput,\n AdminVendorSnippetUpdateInput,\n AdminVendorSnippetDeleteResult,\n AdminVendorSnippetOrderProduct,\n AdminVendorSnippetOrderSummary,\n AdminVendorSnippetOrdersResult,\n AdminVendorSnippetOrdersWithSlotResult,\n AdminVendorOrderSummary,\n AdminUpcomingSlotsResult,\n AdminVendorUpdatePackagingResult,\n UserAddress,\n UserAddressResponse,\n UserAddressesResponse,\n UserAddressDeleteResponse,\n UserBanner,\n UserBannersResponse,\n UserCartProduct,\n UserCartItem,\n UserCartResponse,\n UserComplaint,\n UserComplaintsResponse,\n UserRaiseComplaintResponse,\n UserStoreSummary,\n UserStoreSummaryData,\n UserStoresResponse,\n UserStoreSampleProduct,\n UserStoreSampleProductData,\n UserStoreDetail,\n UserStoreDetailData,\n UserStoreProduct,\n UserStoreProductData,\n UserTagSummary,\n UserProductDetail,\n UserProductDetailData,\n UserProductReview,\n UserProductReviewWithSignedUrls,\n UserProductReviewsResponse,\n UserCreateReviewResponse,\n UserSlotProduct,\n UserSlotWithProducts,\n UserSlotData,\n UserSlotAvailability,\n UserDeliverySlot,\n UserSlotsResponse,\n UserSlotsWithProductsResponse,\n UserSlotsListResponse,\n UserPaymentOrderResponse,\n UserPaymentVerifyResponse,\n UserPaymentFailResponse,\n UserAuthProfile,\n UserAuthResponse,\n UserAuthResult,\n UserOtpVerifyResponse,\n UserPasswordUpdateResponse,\n UserProfileResponse,\n UserDeleteAccountResponse,\n UserCouponUsage,\n UserCouponApplicableUser,\n UserCouponApplicableProduct,\n UserCoupon,\n UserCouponWithRelations,\n UserEligibleCouponsResponse,\n UserCouponDisplay,\n UserMyCouponsResponse,\n UserRedeemCouponResponse,\n UserSelfDataResponse,\n UserProfileCompleteResponse,\n UserSavePushTokenResponse,\n UserOrderItemSummary,\n UserOrderSummary,\n UserOrdersResponse,\n UserOrderDetail,\n UserCancelOrderResponse,\n UserUpdateNotesResponse,\n UserRecentProduct,\n UserRecentProductsResponse,\n // Store types\n StoreSummary,\n StoresSummaryResponse,\n} from '@packages/shared';\n\nexport type {\n // User types\n User,\n UserDetails,\n Address,\n Product,\n CartItem,\n Order,\n OrderItem,\n Payment,\n} from '@packages/shared';\n", "export const CONST_KEYS = {\n minRegularOrderValue: 'minRegularOrderValue',\n freeDeliveryThreshold: 'freeDeliveryThreshold',\n deliveryCharge: 'deliveryCharge',\n flashFreeDeliveryThreshold: 'flashFreeDeliveryThreshold',\n flashDeliveryCharge: 'flashDeliveryCharge',\n platformFeePercent: 'platformFeePercent',\n taxRate: 'taxRate',\n tester: 'tester',\n minOrderAmountForCoupon: 'minOrderAmountForCoupon',\n maxCouponDiscount: 'maxCouponDiscount',\n flashDeliverySlotId: 'flashDeliverySlotId',\n readableOrderId: 'readableOrderId',\n versionNum: 'versionNum',\n cacheVersion: 'cache_version',\n playStoreUrl: 'playStoreUrl',\n appStoreUrl: 'appStoreUrl',\n popularItems: 'popularItems',\n allItemsOrder: 'allItemsOrder',\n isFlashDeliveryEnabled: 'isFlashDeliveryEnabled',\n supportMobile: 'supportMobile',\n supportEmail: 'supportEmail',\n} as const;\n\nexport const CONST_LABELS: Record = {\n minRegularOrderValue: 'Minimum Regular Order Value',\n freeDeliveryThreshold: 'Free Delivery Threshold',\n deliveryCharge: 'Delivery Charge',\n flashFreeDeliveryThreshold: 'Flash Free Delivery Threshold',\n flashDeliveryCharge: 'Flash Delivery Charge',\n platformFeePercent: 'Platform Fee Percent',\n taxRate: 'Tax Rate',\n tester: 'Tester',\n minOrderAmountForCoupon: 'Minimum Order Amount for Coupon',\n maxCouponDiscount: 'Maximum Coupon Discount',\n flashDeliverySlotId: 'Flash Delivery Slot ID',\n readableOrderId: 'Readable Order ID',\n versionNum: 'Version Number',\n 'cache_version': 'Cache Version',\n playStoreUrl: 'Play Store URL',\n appStoreUrl: 'App Store URL',\n popularItems: 'Popular Items',\n allItemsOrder: 'All Items Order',\n isFlashDeliveryEnabled: 'Enable Flash Delivery',\n supportMobile: 'Support Mobile',\n supportEmail: 'Support Email',\n};\n\nexport type ConstKey = (typeof CONST_KEYS)[keyof typeof CONST_KEYS];\n\nexport const CONST_KEYS_ARRAY = Object.values(CONST_KEYS) as ConstKey[];\n\nexport type ConstValueType = 'string' | 'boolean' | 'number'\n\nexport const CONST_TYPES: Record = {\n minRegularOrderValue: 'number',\n freeDeliveryThreshold: 'number',\n deliveryCharge: 'number',\n flashFreeDeliveryThreshold: 'number',\n flashDeliveryCharge: 'number',\n platformFeePercent: 'number',\n taxRate: 'number',\n tester: 'string',\n minOrderAmountForCoupon: 'number',\n maxCouponDiscount: 'number',\n flashDeliverySlotId: 'number',\n readableOrderId: 'number',\n versionNum: 'string',\n 'cache_version': 'number',\n playStoreUrl: 'string',\n appStoreUrl: 'string',\n popularItems: 'string',\n allItemsOrder: 'string',\n isFlashDeliveryEnabled: 'boolean',\n supportMobile: 'string',\n supportEmail: 'string',\n};\n\nexport const CONST_VISIBILITY: Record = {\n minRegularOrderValue: true,\n freeDeliveryThreshold: true,\n deliveryCharge: true,\n flashFreeDeliveryThreshold: true,\n flashDeliveryCharge: true,\n platformFeePercent: true,\n taxRate: false,\n tester: false,\n minOrderAmountForCoupon: true,\n maxCouponDiscount: false,\n flashDeliverySlotId: true,\n readableOrderId: false,\n versionNum: true,\n 'cache_version': false,\n playStoreUrl: true,\n appStoreUrl: true,\n popularItems: true,\n allItemsOrder: true,\n isFlashDeliveryEnabled: true,\n supportMobile: true,\n supportEmail: true,\n};\n", "import { getAllKeyValStore } from '@/src/dbService'\n// import redisClient from '@/src/lib/redis-client'\nimport { CONST_KEYS, CONST_KEYS_ARRAY, type ConstKey } from '@/src/lib/const-keys'\n\n// const CONST_REDIS_PREFIX = 'const:';\n\nexport const computeConstants = async (): Promise => {\n try {\n console.log('Computing constants from database...');\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { keyValStore } from '@/src/db/schema'\n\n const constants = await db.select().from(keyValStore);\n */\n\n const constants = await getAllKeyValStore();\n\n // for (const constant of constants) {\n // const redisKey = `${CONST_REDIS_PREFIX}${constant.key}`;\n // const value = JSON.stringify(constant.value);\n // await redisClient.set(redisKey, value);\n // }\n\n console.log(`Computed ${constants.length} constants from DB`);\n } catch (error) {\n console.error('Failed to compute constants:', error);\n throw error;\n }\n};\n\nexport const getConstant = async (key: string): Promise => {\n // const redisKey = `${CONST_REDIS_PREFIX}${key}`;\n // const value = await redisClient.get(redisKey);\n //\n // if (!value) {\n // return null;\n // }\n //\n // try {\n // return JSON.parse(value) as T;\n // } catch {\n // return value as unknown as T;\n // }\n\n const constants = await getAllKeyValStore();\n const entry = constants.find(c => c.key === key);\n\n if (!entry) {\n return null;\n }\n\n return entry.value as T;\n};\n\nexport const getConstants = async (keys: string[]): Promise> => {\n // const redisKeys = keys.map(key => `${CONST_REDIS_PREFIX}${key}`);\n // const values = await redisClient.MGET(redisKeys);\n //\n // const result: Record = {};\n // keys.forEach((key, index) => {\n // const value = values[index];\n // if (!value) {\n // result[key] = null;\n // } else {\n // try {\n // result[key] = JSON.parse(value) as T;\n // } catch {\n // result[key] = value as unknown as T;\n // }\n // }\n // });\n //\n // return result;\n\n const constants = await getAllKeyValStore();\n const constantsMap = new Map(constants.map(c => [c.key, c.value]));\n\n const result: Record = {};\n for (const key of keys) {\n const value = constantsMap.get(key);\n result[key] = (value !== undefined ? value : null) as T | null;\n }\n\n return result;\n};\n\nexport const getAllConstValues = async (): Promise> => {\n // const result: Record = {};\n //\n // for (const key of CONST_KEYS_ARRAY) {\n // result[key] = await getConstant(key);\n // }\n //\n // return result as Record;\n\n const constants = await getAllKeyValStore();\n const constantsMap = new Map(constants.map(c => [c.key, c.value]));\n\n const result: Record = {};\n for (const key of CONST_KEYS_ARRAY) {\n result[key] = constantsMap.get(key) ?? null;\n }\n\n return result as Record;\n};\n\nexport { CONST_KEYS, CONST_KEYS_ARRAY };\n", "export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n return {\n setHttpHandler(handler) {\n runtimeConfig.httpHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.httpHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.httpHandler.httpHandlerConfigs();\n },\n };\n};\nexport const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n", "export * from \"./httpExtensionConfiguration\";\n", "export {};\n", "export var HttpAuthLocation;\n(function (HttpAuthLocation) {\n HttpAuthLocation[\"HEADER\"] = \"header\";\n HttpAuthLocation[\"QUERY\"] = \"query\";\n})(HttpAuthLocation || (HttpAuthLocation = {}));\n", "export var HttpApiKeyAuthLocation;\n(function (HttpApiKeyAuthLocation) {\n HttpApiKeyAuthLocation[\"HEADER\"] = \"header\";\n HttpApiKeyAuthLocation[\"QUERY\"] = \"query\";\n})(HttpApiKeyAuthLocation || (HttpApiKeyAuthLocation = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./auth\";\nexport * from \"./HttpApiKeyAuth\";\nexport * from \"./HttpAuthScheme\";\nexport * from \"./HttpAuthSchemeProvider\";\nexport * from \"./HttpSigner\";\nexport * from \"./IdentityProviderConfig\";\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./config\";\nexport * from \"./manager\";\nexport * from \"./pool\";\n", "export {};\n", "export {};\n", "export var EndpointURLScheme;\n(function (EndpointURLScheme) {\n EndpointURLScheme[\"HTTP\"] = \"http\";\n EndpointURLScheme[\"HTTPS\"] = \"https\";\n})(EndpointURLScheme || (EndpointURLScheme = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./shared\";\nexport * from \"./TreeRuleObject\";\n", "export {};\n", "export var AlgorithmId;\n(function (AlgorithmId) {\n AlgorithmId[\"MD5\"] = \"md5\";\n AlgorithmId[\"CRC32\"] = \"crc32\";\n AlgorithmId[\"CRC32C\"] = \"crc32c\";\n AlgorithmId[\"SHA1\"] = \"sha1\";\n AlgorithmId[\"SHA256\"] = \"sha256\";\n})(AlgorithmId || (AlgorithmId = {}));\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n if (runtimeConfig.sha256 !== undefined) {\n checksumAlgorithms.push({\n algorithmId: () => AlgorithmId.SHA256,\n checksumConstructor: () => runtimeConfig.sha256,\n });\n }\n if (runtimeConfig.md5 != undefined) {\n checksumAlgorithms.push({\n algorithmId: () => AlgorithmId.MD5,\n checksumConstructor: () => runtimeConfig.md5,\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n", "import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nexport const getDefaultClientConfiguration = (runtimeConfig) => {\n return getChecksumConfiguration(runtimeConfig);\n};\nexport const resolveDefaultRuntimeConfig = (config) => {\n return resolveChecksumRuntimeConfig(config);\n};\n", "export {};\n", "export * from \"./defaultClientConfiguration\";\nexport * from \"./defaultExtensionConfiguration\";\nexport { AlgorithmId } from \"./checksum\";\n", "export {};\n", "export var FieldPosition;\n(function (FieldPosition) {\n FieldPosition[FieldPosition[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition[FieldPosition[\"TRAILER\"] = 1] = \"TRAILER\";\n})(FieldPosition || (FieldPosition = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./apiKeyIdentity\";\nexport * from \"./awsCredentialIdentity\";\nexport * from \"./identity\";\nexport * from \"./tokenIdentity\";\n", "export {};\n", "export const SMITHY_CONTEXT_KEY = \"__smithy_context\";\n", "export {};\n", "export var IniSectionType;\n(function (IniSectionType) {\n IniSectionType[\"PROFILE\"] = \"profile\";\n IniSectionType[\"SSO_SESSION\"] = \"sso-session\";\n IniSectionType[\"SERVICES\"] = \"services\";\n})(IniSectionType || (IniSectionType = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export var RequestHandlerProtocol;\n(function (RequestHandlerProtocol) {\n RequestHandlerProtocol[\"HTTP_0_9\"] = \"http/0.9\";\n RequestHandlerProtocol[\"HTTP_1_0\"] = \"http/1.0\";\n RequestHandlerProtocol[\"TDS_8_0\"] = \"tds/8.0\";\n})(RequestHandlerProtocol || (RequestHandlerProtocol = {}));\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./abort\";\nexport * from \"./auth\";\nexport * from \"./blob/blob-payload-input-types\";\nexport * from \"./checksum\";\nexport * from \"./client\";\nexport * from \"./command\";\nexport * from \"./connection\";\nexport * from \"./crypto\";\nexport * from \"./encode\";\nexport * from \"./endpoint\";\nexport * from \"./endpoints\";\nexport * from \"./eventStream\";\nexport * from \"./extensions\";\nexport * from \"./feature-ids\";\nexport * from \"./http\";\nexport * from \"./http/httpHandlerInitialization\";\nexport * from \"./identity\";\nexport * from \"./logger\";\nexport * from \"./middleware\";\nexport * from \"./pagination\";\nexport * from \"./profile\";\nexport * from \"./response\";\nexport * from \"./retry\";\nexport * from \"./schema/schema\";\nexport * from \"./schema/traits\";\nexport * from \"./schema/schema-deprecated\";\nexport * from \"./schema/sentinels\";\nexport * from \"./schema/static-schemas\";\nexport * from \"./serde\";\nexport * from \"./shapes\";\nexport * from \"./signature\";\nexport * from \"./stream\";\nexport * from \"./streaming-payload/streaming-blob-common-types\";\nexport * from \"./streaming-payload/streaming-blob-payload-input-types\";\nexport * from \"./streaming-payload/streaming-blob-payload-output-types\";\nexport * from \"./transfer\";\nexport * from \"./transform/client-payload-blob-type-narrow\";\nexport * from \"./transform/mutable\";\nexport * from \"./transform/no-undefined\";\nexport * from \"./transform/type-transform\";\nexport * from \"./uri\";\nexport * from \"./util\";\nexport * from \"./waiter\";\n", "import { FieldPosition } from \"@smithy/types\";\nexport class Field {\n name;\n kind;\n values;\n constructor({ name, kind = FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values.map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v)).join(\", \");\n }\n get() {\n return this.values;\n }\n}\n", "export class Fields {\n entries = {};\n encoding;\n constructor({ fields = [], encoding = \"utf-8\" }) {\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\n", "export {};\n", "export class HttpRequest {\n method;\n protocol;\n hostname;\n port;\n path;\n query;\n headers;\n username;\n password;\n fragment;\n body;\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.slice(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n this.username = options.username;\n this.password = options.password;\n this.fragment = options.fragment;\n }\n static clone(request) {\n const cloned = new HttpRequest({\n ...request,\n headers: { ...request.headers },\n });\n if (cloned.query) {\n cloned.query = cloneQuery(cloned.query);\n }\n return cloned;\n }\n static isInstance(request) {\n if (!request) {\n return false;\n }\n const req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n }\n clone() {\n return HttpRequest.clone(this);\n }\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n", "export class HttpResponse {\n statusCode;\n reason;\n headers;\n body;\n constructor(options) {\n this.statusCode = options.statusCode;\n this.reason = options.reason;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n", "export function isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n", "export {};\n", "export * from \"./extensions\";\nexport * from \"./Field\";\nexport * from \"./Fields\";\nexport * from \"./httpHandler\";\nexport * from \"./httpRequest\";\nexport * from \"./httpResponse\";\nexport * from \"./isValidHostname\";\nexport * from \"./types\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport function addExpectContinueMiddleware(options) {\n return (next) => async (args) => {\n const { request } = args;\n if (options.expectContinueHeader !== false &&\n HttpRequest.isInstance(request) &&\n request.body &&\n options.runtime === \"node\" &&\n options.requestHandler?.constructor?.name !== \"FetchHttpHandler\") {\n let sendHeader = true;\n if (typeof options.expectContinueHeader === \"number\") {\n try {\n const bodyLength = Number(request.headers?.[\"content-length\"]) ?? options.bodyLengthChecker?.(request.body) ?? Infinity;\n sendHeader = bodyLength >= options.expectContinueHeader;\n }\n catch (e) { }\n }\n else {\n sendHeader = !!options.expectContinueHeader;\n }\n if (sendHeader) {\n request.headers.Expect = \"100-continue\";\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const addExpectContinueMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_EXPECT_HEADER\", \"EXPECT_HEADER\"],\n name: \"addExpectContinueMiddleware\",\n override: true,\n};\nexport const getAddExpectContinuePlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(addExpectContinueMiddleware(options), addExpectContinueMiddlewareOptions);\n },\n});\n", "export const RequestChecksumCalculation = {\n WHEN_SUPPORTED: \"WHEN_SUPPORTED\",\n WHEN_REQUIRED: \"WHEN_REQUIRED\",\n};\nexport const DEFAULT_REQUEST_CHECKSUM_CALCULATION = RequestChecksumCalculation.WHEN_SUPPORTED;\nexport const ResponseChecksumValidation = {\n WHEN_SUPPORTED: \"WHEN_SUPPORTED\",\n WHEN_REQUIRED: \"WHEN_REQUIRED\",\n};\nexport const DEFAULT_RESPONSE_CHECKSUM_VALIDATION = RequestChecksumCalculation.WHEN_SUPPORTED;\nexport var ChecksumAlgorithm;\n(function (ChecksumAlgorithm) {\n ChecksumAlgorithm[\"MD5\"] = \"MD5\";\n ChecksumAlgorithm[\"CRC32\"] = \"CRC32\";\n ChecksumAlgorithm[\"CRC32C\"] = \"CRC32C\";\n ChecksumAlgorithm[\"CRC64NVME\"] = \"CRC64NVME\";\n ChecksumAlgorithm[\"SHA1\"] = \"SHA1\";\n ChecksumAlgorithm[\"SHA256\"] = \"SHA256\";\n})(ChecksumAlgorithm || (ChecksumAlgorithm = {}));\nexport var ChecksumLocation;\n(function (ChecksumLocation) {\n ChecksumLocation[\"HEADER\"] = \"header\";\n ChecksumLocation[\"TRAILER\"] = \"trailer\";\n})(ChecksumLocation || (ChecksumLocation = {}));\nexport const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;\n", "import { DEFAULT_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation } from \"./constants\";\nimport { SelectorType, stringUnionSelector } from \"./stringUnionSelector\";\nexport const ENV_REQUEST_CHECKSUM_CALCULATION = \"AWS_REQUEST_CHECKSUM_CALCULATION\";\nexport const CONFIG_REQUEST_CHECKSUM_CALCULATION = \"request_checksum_calculation\";\nexport const NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => stringUnionSelector(env, ENV_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType.ENV),\n configFileSelector: (profile) => stringUnionSelector(profile, CONFIG_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType.CONFIG),\n default: DEFAULT_REQUEST_CHECKSUM_CALCULATION,\n};\n", "import { DEFAULT_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation } from \"./constants\";\nimport { SelectorType, stringUnionSelector } from \"./stringUnionSelector\";\nexport const ENV_RESPONSE_CHECKSUM_VALIDATION = \"AWS_RESPONSE_CHECKSUM_VALIDATION\";\nexport const CONFIG_RESPONSE_CHECKSUM_VALIDATION = \"response_checksum_validation\";\nexport const NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => stringUnionSelector(env, ENV_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType.ENV),\n configFileSelector: (profile) => stringUnionSelector(profile, CONFIG_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType.CONFIG),\n default: DEFAULT_RESPONSE_CHECKSUM_VALIDATION,\n};\n", "export const state = {\n warningEmitted: false,\n};\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 20) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${version} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`);\n }\n};\n", "export function setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n", "export function setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n", "export function setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n", "export * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./setCredentialFeature\";\nexport * from \"./setFeature\";\nexport * from \"./setTokenFeature\";\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nexport const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\n", "export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n", "import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n", "import { isClockSkewed } from \"./isClockSkewed\";\nexport const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n", "export * from \"./getDateHeader\";\nexport * from \"./getSkewCorrectedDate\";\nexport * from \"./getUpdatedSystemClockOffset\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from \"../utils\";\nconst throwSigningPropertyError = (name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n};\nexport const validateSigningProperties = async (signingProperties) => {\n const context = throwSigningPropertyError(\"context\", signingProperties.context);\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\"signer\", config.signer);\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName,\n };\n};\nexport class AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: signingRegion,\n signingService: signingName,\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n}\nexport const AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSkewCorrectedDate } from \"../utils\";\nimport { AwsSdkSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ??\n signingRegionSet ?? [signingRegion]).join(\",\");\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName,\n });\n return signedRequest;\n }\n}\n", "export const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\\s-]/g, \"_\").toUpperCase()}`;\n", "import { getArrayForCommaSeparatedString } from \"../utils/getArrayForCommaSeparatedString\";\nimport { getBearerTokenEnvKey } from \"../utils/getBearerTokenEnvKey\";\nconst NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = \"AWS_AUTH_SCHEME_PREFERENCE\";\nconst NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = \"auth_scheme_preference\";\nexport const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {\n environmentVariableSelector: (env, options) => {\n if (options?.signingName) {\n const bearerTokenKey = getBearerTokenEnvKey(options.signingName);\n if (bearerTokenKey in env)\n return [\"httpBearerAuth\"];\n }\n if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))\n return undefined;\n return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);\n },\n configFileSelector: (profile) => {\n if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))\n return undefined;\n return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);\n },\n default: [],\n};\n", "import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n", "import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n", "export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n", "export * from \"./getSmithyContext\";\nexport * from \"./normalizeProvider\";\n", "export const resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {\n if (!authSchemePreference || authSchemePreference.length === 0) {\n return candidateAuthOptions;\n }\n const preferredAuthOptions = [];\n for (const preferredSchemeName of authSchemePreference) {\n for (const candidateAuthOption of candidateAuthOptions) {\n const candidateAuthSchemeName = candidateAuthOption.schemeId.split(\"#\")[1];\n if (candidateAuthSchemeName === preferredSchemeName) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n }\n for (const candidateAuthOption of candidateAuthOptions) {\n if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n return preferredAuthOptions;\n};\n", "import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { resolveAuthOptions } from \"./resolveAuthOptions\";\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\nexport const httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input));\n const authSchemePreference = config.authSchemePreference ? await config.authSchemePreference() : [];\n const resolvedOptions = resolveAuthOptions(options, authSchemePreference);\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of resolvedOptions) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer,\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n};\n", "import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n", "import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"serializerMiddleware\",\n};\nexport const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeMiddlewareOptions);\n },\n});\n", "export * from \"./httpAuthSchemeMiddleware\";\nexport * from \"./getHttpAuthSchemeEndpointRuleSetPlugin\";\nexport * from \"./getHttpAuthSchemePlugin\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n", "import { httpSigningMiddleware } from \"./httpSigningMiddleware\";\nexport const httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n", "export * from \"./httpSigningMiddleware\";\nexport * from \"./getHttpSigningMiddleware\";\n", "export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n", "const makePagedClientRequest = async (CommandCtor, client, input, withCommand = (_) => _, ...args) => {\n let command = new CommandCtor(input);\n command = withCommand(command) ?? command;\n return await client.send(command, ...args);\n};\nexport function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return async function* paginateOperation(config, input, ...additionalArguments) {\n const _input = input;\n let token = config.startingToken ?? _input[inputTokenName];\n let hasNext = true;\n let page;\n while (hasNext) {\n _input[inputTokenName] = token;\n if (pageSizeTokenName) {\n _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config.pageSize;\n }\n if (config.client instanceof ClientCtor) {\n page = await makePagedClientRequest(CommandCtor, config.client, input, config.withCommand, ...additionalArguments);\n }\n else {\n throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);\n }\n yield page;\n const prevToken = token;\n token = get(page, outputTokenName);\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n };\n}\nconst get = (fromObject, path) => {\n let cursor = fromObject;\n const pathComponents = path.split(\".\");\n for (const step of pathComponents) {\n if (!cursor || typeof cursor !== \"object\") {\n return undefined;\n }\n cursor = cursor[step];\n }\n return cursor;\n};\n", "const chars = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;\nexport const alphabetByEncoding = Object.entries(chars).reduce((acc, [i, c]) => {\n acc[c] = Number(i);\n return acc;\n}, {});\nexport const alphabetByValue = chars.split(\"\");\nexport const bitsPerLetter = 6;\nexport const bitsPerByte = 8;\nexport const maxLetterValue = 0b111111;\n", "import { alphabetByEncoding, bitsPerByte, bitsPerLetter } from \"./constants.browser\";\nexport const fromBase64 = (input) => {\n let totalByteLength = (input.length / 4) * 3;\n if (input.slice(-2) === \"==\") {\n totalByteLength -= 2;\n }\n else if (input.slice(-1) === \"=\") {\n totalByteLength--;\n }\n const out = new ArrayBuffer(totalByteLength);\n const dataView = new DataView(out);\n for (let i = 0; i < input.length; i += 4) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = i + 3; j <= limit; j++) {\n if (input[j] !== \"=\") {\n if (!(input[j] in alphabetByEncoding)) {\n throw new TypeError(`Invalid character ${input[j]} in base64 string.`);\n }\n bits |= alphabetByEncoding[input[j]] << ((limit - j) * bitsPerLetter);\n bitLength += bitsPerLetter;\n }\n else {\n bits >>= bitsPerLetter;\n }\n }\n const chunkOffset = (i / 4) * 3;\n bits >>= bitLength % bitsPerByte;\n const byteLength = Math.floor(bitLength / bitsPerByte);\n for (let k = 0; k < byteLength; k++) {\n const offset = (byteLength - k - 1) * bitsPerByte;\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\n }\n }\n return new Uint8Array(out);\n};\n", "export const fromUtf8 = (input) => new TextEncoder().encode(input);\n", "import { fromUtf8 } from \"./fromUtf8\";\nexport const toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\n", "export const toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return new TextDecoder(\"utf-8\").decode(input);\n};\n", "export * from \"./fromUtf8\";\nexport * from \"./toUint8Array\";\nexport * from \"./toUtf8\";\n", "import { fromUtf8 } from \"@smithy/util-utf8\";\nimport { alphabetByValue, bitsPerByte, bitsPerLetter, maxLetterValue } from \"./constants.browser\";\nexport function toBase64(_input) {\n let input;\n if (typeof _input === \"string\") {\n input = fromUtf8(_input);\n }\n else {\n input = _input;\n }\n const isArrayLike = typeof input === \"object\" && typeof input.length === \"number\";\n const isUint8Array = typeof input === \"object\" &&\n typeof input.byteOffset === \"number\" &&\n typeof input.byteLength === \"number\";\n if (!isArrayLike && !isUint8Array) {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n let str = \"\";\n for (let i = 0; i < input.length; i += 3) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\n bits |= input[j] << ((limit - j - 1) * bitsPerByte);\n bitLength += bitsPerByte;\n }\n const bitClusterCount = Math.ceil(bitLength / bitsPerLetter);\n bits <<= bitClusterCount * bitsPerLetter - bitLength;\n for (let k = 1; k <= bitClusterCount; k++) {\n const offset = (bitClusterCount - k) * bitsPerLetter;\n str += alphabetByValue[(bits & (maxLetterValue << offset)) >> offset];\n }\n str += \"==\".slice(0, 4 - bitClusterCount);\n }\n return str;\n}\n", "export * from \"./fromBase64\";\nexport * from \"./toBase64\";\n", "import { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nexport class Uint8ArrayBlobAdapter extends Uint8Array {\n static fromString(source, encoding = \"utf-8\") {\n if (typeof source === \"string\") {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(fromBase64(source));\n }\n return Uint8ArrayBlobAdapter.mutate(fromUtf8(source));\n }\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return toBase64(this);\n }\n return toUtf8(this);\n }\n}\n", "const ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nexport class ChecksumStream extends ReadableStreamRef {\n}\n", "export const isReadableStream = (stream) => typeof ReadableStream === \"function\" &&\n (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream);\nexport const isBlob = (blob) => {\n return typeof Blob === \"function\" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);\n};\n", "import { toBase64 } from \"@smithy/util-base64\";\nimport { isReadableStream } from \"../stream-type-check\";\nimport { ChecksumStream } from \"./ChecksumStream.browser\";\nexport const createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n if (!isReadableStream(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n const encoder = base64Encoder ?? toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream.prototype);\n return readable;\n};\n", "export class ByteArrayCollector {\n allocByteArray;\n byteLength = 0;\n byteArrays = [];\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\n", "import { ByteArrayCollector } from \"./ByteArrayCollector\";\nexport function createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexport const createBufferedReadable = createBufferedReadableStream;\nexport function merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nexport function flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nexport function sizeOf(chunk) {\n return chunk?.byteLength ?? chunk?.length ?? 0;\n}\nexport function modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n", "export const getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n bodyLengthChecker !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n const { value, done } = await reader.read();\n if (done) {\n controller.enqueue(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n controller.enqueue(`${checksumLocationName}:${checksum}\\r\\n`);\n controller.enqueue(`\\r\\n`);\n }\n controller.close();\n }\n else {\n controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\\r\\n${value}\\r\\n`);\n }\n },\n });\n};\n", "export async function headStream(stream, bytes) {\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += value?.byteLength ?? 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n", "export const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n", "import { escapeUri } from \"./escape-uri\";\nexport const escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n", "export * from \"./escape-uri\";\nexport * from \"./escape-uri-path\";\n", "import { escapeUri } from \"@smithy/util-uri-escape\";\nexport function buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n", "export function createRequest(url, requestOptions) {\n return new Request(url, requestOptions);\n}\n", "export function requestTimeout(timeoutInMs = 0) {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { createRequest } from \"./create-request\";\nimport { requestTimeout as requestTimeoutFn } from \"./request-timeout\";\nexport const keepAliveSupport = {\n supported: undefined,\n};\nexport class FetchHttpHandler {\n config;\n configProvider;\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new FetchHttpHandler(instanceOrOptions);\n }\n constructor(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then((opts) => opts || {});\n }\n else {\n this.config = options ?? {};\n this.configProvider = Promise.resolve(this.config);\n }\n if (keepAliveSupport.supported === undefined) {\n keepAliveSupport.supported = Boolean(typeof Request !== \"undefined\" && \"keepalive\" in createRequest(\"https://[::1]\"));\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout ?? this.config.requestTimeout;\n const keepAlive = this.config.keepAlive === true;\n const credentials = this.config.credentials;\n if (abortSignal?.aborted) {\n const abortError = buildAbortError(abortSignal);\n return Promise.reject(abortError);\n }\n let path = request.path;\n const queryString = buildQueryString(request.query || {});\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const { port, method } = request;\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n const body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n const requestOptions = {\n body,\n headers: new Headers(request.headers),\n method: method,\n credentials,\n };\n if (this.config?.cache) {\n requestOptions.cache = this.config.cache;\n }\n if (body) {\n requestOptions.duplex = \"half\";\n }\n if (typeof AbortController !== \"undefined\") {\n requestOptions.signal = abortSignal;\n }\n if (keepAliveSupport.supported) {\n requestOptions.keepalive = keepAlive;\n }\n if (typeof this.config.requestInit === \"function\") {\n Object.assign(requestOptions, this.config.requestInit(request));\n }\n let removeSignalEventListener = () => { };\n const fetchRequest = createRequest(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders = response.headers;\n const transformedHeaders = {};\n for (const pair of fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n const hasReadableStream = response.body != undefined;\n if (!hasReadableStream) {\n return response.blob().then((body) => ({\n response: new HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body,\n }),\n }));\n }\n return {\n response: new HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeoutFn(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise((resolve, reject) => {\n const onAbort = () => {\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n removeSignalEventListener = () => signal.removeEventListener(\"abort\", onAbort);\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }));\n }\n return Promise.race(raceOfPromises).finally(removeSignalEventListener);\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n config[key] = value;\n return config;\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\nfunction buildAbortError(abortSignal) {\n const reason = abortSignal && typeof abortSignal === \"object\" && \"reason\" in abortSignal\n ? abortSignal.reason\n : undefined;\n if (reason) {\n if (reason instanceof Error) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n abortError.cause = reason;\n return abortError;\n }\n const abortError = new Error(String(reason));\n abortError.name = \"AbortError\";\n return abortError;\n }\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return abortError;\n}\n", "import { fromBase64 } from \"@smithy/util-base64\";\nexport const streamCollector = async (stream) => {\n if ((typeof Blob === \"function\" && stream instanceof Blob) || stream.constructor?.name === \"Blob\") {\n if (Blob.prototype.arrayBuffer !== undefined) {\n return new Uint8Array(await stream.arrayBuffer());\n }\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = fromBase64(base64);\n return new Uint8Array(arrayBuffer);\n}\nasync function collectStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\nfunction readToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = (reader.result ?? \"\");\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n reader.readAsDataURL(blob);\n });\n}\n", "export * from \"./fetch-http-handler\";\nexport * from \"./stream-collector\";\n", "const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n", "import { streamCollector } from \"@smithy/fetch-http-handler\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { isReadableStream } from \"./stream-type-check\";\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nexport const sdkStreamMixin = (stream) => {\n if (!isBlobInstance(stream) && !isReadableStream(stream)) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await streamCollector(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return toBase64(buf);\n }\n else if (encoding === \"hex\") {\n return toHex(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return toUtf8(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if (isReadableStream(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n", "export async function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\n}\n", "export * from \"./blob/Uint8ArrayBlobAdapter\";\nexport * from \"./checksum/ChecksumStream\";\nexport * from \"./checksum/createChecksumStream\";\nexport * from \"./createBufferedReadable\";\nexport * from \"./getAwsChunkedEncodingStream\";\nexport * from \"./headStream\";\nexport * from \"./sdk-stream-mixin\";\nexport * from \"./splitStream\";\nexport { isReadableStream, isBlob } from \"./stream-type-check\";\n", "import { Uint8ArrayBlobAdapter } from \"@smithy/util-stream\";\nexport const collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n", "export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n", "export const deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n", "export const operation = (namespace, name, traits, input, output) => ({\n name,\n namespace,\n traits,\n input,\n output,\n});\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { operation } from \"../schemas/operation\";\nexport const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {\n const { response } = await next(args);\n const { operationSchema } = getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n try {\n const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), {\n ...config,\n ...context,\n }, response);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n enumerable: false,\n writable: false,\n configurable: false,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n", "export function parseQueryString(querystring) {\n const query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\n", "import { parseQueryString } from \"@smithy/querystring-parser\";\nexport const parseUrl = (url) => {\n if (typeof url === \"string\") {\n return parseUrl(new URL(url));\n }\n const { hostname, pathname, port, protocol, search } = url;\n let query;\n if (search) {\n query = parseQueryString(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\n", "import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n const v1Endpoint = parseUrl(endpoint.url);\n if (endpoint.headers) {\n v1Endpoint.headers = {};\n for (const [name, values] of Object.entries(endpoint.headers)) {\n v1Endpoint.headers[name.toLowerCase()] = values.join(\", \");\n }\n }\n return v1Endpoint;\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n", "export * from \"./toEndpointV1\";\n", "import { toEndpointV1 } from \"@smithy/core/endpoints\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { operation } from \"../schemas/operation\";\nexport const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {\n const { operationSchema } = getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n const endpoint = context.endpointV2\n ? async () => toEndpointV1(context.endpointV2)\n : config.endpoint;\n const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {\n ...config,\n ...context,\n endpoint,\n });\n return next({\n ...args,\n request,\n });\n};\n", "import { schemaDeserializationMiddleware } from \"./schemaDeserializationMiddleware\";\nimport { schemaSerializationMiddleware } from \"./schemaSerializationMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSchemaSerdePlugin(config) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);\n commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);\n config.protocol.setSerdeContext(config);\n },\n };\n}\n", "export class Schema {\n name;\n namespace;\n traits;\n static assign(instance, values) {\n const schema = Object.assign(instance, values);\n return schema;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === this.symbol;\n }\n return isPrototype;\n }\n getName() {\n return this.namespace + \"#\" + this.name;\n }\n}\n", "import { Schema } from \"./Schema\";\nexport class ListSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/lis\");\n name;\n traits;\n valueSchema;\n symbol = ListSchema.symbol;\n}\nexport const list = (namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), {\n name,\n namespace,\n traits,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class MapSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/map\");\n name;\n traits;\n keySchema;\n valueSchema;\n symbol = MapSchema.symbol;\n}\nexport const map = (namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), {\n name,\n namespace,\n traits,\n keySchema,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class OperationSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/ope\");\n name;\n traits;\n input;\n output;\n symbol = OperationSchema.symbol;\n}\nexport const op = (namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), {\n name,\n namespace,\n traits,\n input,\n output,\n});\n", "import { Schema } from \"./Schema\";\nexport class StructureSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/str\");\n name;\n traits;\n memberNames;\n memberList;\n symbol = StructureSchema.symbol;\n}\nexport const struct = (namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n});\n", "import { Schema } from \"./Schema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class ErrorSchema extends StructureSchema {\n static symbol = Symbol.for(\"@smithy/err\");\n ctor;\n symbol = ErrorSchema.symbol;\n}\nexport const error = (namespace, name, traits, memberNames, memberList, ctor) => Schema.assign(new ErrorSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n ctor: null,\n});\n", "export const traitsCache = [];\nexport function translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n if (traitsCache[indicator]) {\n return traitsCache[indicator];\n }\n const traits = {};\n let i = 0;\n for (const trait of [\n \"httpLabel\",\n \"idempotent\",\n \"idempotencyToken\",\n \"sensitive\",\n \"httpPayload\",\n \"httpResponseCode\",\n \"httpQueryParams\",\n ]) {\n if (((indicator >> i++) & 1) === 1) {\n traits[trait] = 1;\n }\n }\n return (traitsCache[indicator] = traits);\n}\n", "import { deref } from \"../deref\";\nimport { translateTraits } from \"./translateTraits\";\nconst anno = {\n it: Symbol.for(\"@smithy/nor-struct-it\"),\n ns: Symbol.for(\"@smithy/ns\"),\n};\nexport const simpleSchemaCacheN = [];\nexport const simpleSchemaCacheS = {};\nexport class NormalizedSchema {\n ref;\n memberName;\n static symbol = Symbol.for(\"@smithy/nor\");\n symbol = NormalizedSchema.symbol;\n name;\n schema;\n _isMemberSchema;\n traits;\n memberTraits;\n normalizedTraits;\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (isMemberSchema(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n const computedMemberTraits = this.memberTraits;\n Object.assign(this, schema);\n this.memberTraits = Object.assign({}, computedMemberTraits, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (isStaticSchema(this.schema)) {\n this.name = `${this.schema[1]}#${this.schema[2]}`;\n this.traits = this.schema[3];\n }\n else {\n this.name = this.memberName ?? String(schema);\n this.traits = 0;\n }\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const ns = lhs;\n return ns.symbol === this.symbol;\n }\n return isPrototype;\n }\n static of(ref) {\n const keyAble = typeof ref === \"function\" || (typeof ref === \"object\" && ref !== null);\n if (typeof ref === \"number\") {\n if (simpleSchemaCacheN[ref]) {\n return simpleSchemaCacheN[ref];\n }\n }\n else if (typeof ref === \"string\") {\n if (simpleSchemaCacheS[ref]) {\n return simpleSchemaCacheS[ref];\n }\n }\n else if (keyAble) {\n if (ref[anno.ns]) {\n return ref[anno.ns];\n }\n }\n const sc = deref(ref);\n if (sc instanceof NormalizedSchema) {\n return sc;\n }\n if (isMemberSchema(sc)) {\n const [ns, traits] = sc;\n if (ns instanceof NormalizedSchema) {\n Object.assign(ns.getMergedTraits(), translateTraits(traits));\n return ns;\n }\n throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);\n }\n const ns = new NormalizedSchema(sc);\n if (keyAble) {\n return (ref[anno.ns] = ns);\n }\n if (typeof sc === \"string\") {\n return (simpleSchemaCacheS[sc] = ns);\n }\n if (typeof sc === \"number\") {\n return (simpleSchemaCacheN[sc] = ns);\n }\n return ns;\n }\n getSchema() {\n const sc = this.schema;\n if (Array.isArray(sc) && sc[0] === 0) {\n return sc[4];\n }\n return sc;\n }\n getName(withNamespace = false) {\n const { name } = this;\n const short = !withNamespace && name && name.includes(\"#\");\n return short ? name.split(\"#\")[1] : name || undefined;\n }\n getMemberName() {\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isListSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 64 && sc < 128\n : sc[0] === 1;\n }\n isMapSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 128 && sc <= 0b1111_1111\n : sc[0] === 2;\n }\n isStructSchema() {\n const sc = this.getSchema();\n if (typeof sc !== \"object\") {\n return false;\n }\n const id = sc[0];\n return (id === 3 ||\n id === -3 ||\n id === 4);\n }\n isUnionSchema() {\n const sc = this.getSchema();\n if (typeof sc !== \"object\") {\n return false;\n }\n return sc[0] === 4;\n }\n isBlobSchema() {\n const sc = this.getSchema();\n return sc === 21 || sc === 42;\n }\n isTimestampSchema() {\n const sc = this.getSchema();\n return (typeof sc === \"number\" &&\n sc >= 4 &&\n sc <= 7);\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isDocumentSchema() {\n return this.getSchema() === 15;\n }\n isStringSchema() {\n return this.getSchema() === 0;\n }\n isBooleanSchema() {\n return this.getSchema() === 2;\n }\n isNumericSchema() {\n return this.getSchema() === 1;\n }\n isBigIntegerSchema() {\n return this.getSchema() === 17;\n }\n isBigDecimalSchema() {\n return this.getSchema() === 19;\n }\n isStreaming() {\n const { streaming } = this.getMergedTraits();\n return !!streaming || this.getSchema() === 42;\n }\n isIdempotencyToken() {\n return !!this.getMergedTraits().idempotencyToken;\n }\n getMergedTraits() {\n return (this.normalizedTraits ??\n (this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n }));\n }\n getMemberTraits() {\n return translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return translateTraits(this.traits);\n }\n getKeySchema() {\n const [isDoc, isMap] = [this.isDocumentSchema(), this.isMapSchema()];\n if (!isDoc && !isMap) {\n throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n const memberSchema = isDoc\n ? 15\n : schema[4] ?? 0;\n return member([memberSchema, 0], \"key\");\n }\n getValueSchema() {\n const sc = this.getSchema();\n const [isDoc, isMap, isList] = [this.isDocumentSchema(), this.isMapSchema(), this.isListSchema()];\n const memberSchema = typeof sc === \"number\"\n ? 0b0011_1111 & sc\n : sc && typeof sc === \"object\" && (isMap || isList)\n ? sc[3 + sc[0]]\n : isDoc\n ? 15\n : void 0;\n if (memberSchema != null) {\n return member([memberSchema, 0], isMap ? \"value\" : \"member\");\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);\n }\n getMemberSchema(memberName) {\n const struct = this.getSchema();\n if (this.isStructSchema() && struct[4].includes(memberName)) {\n const i = struct[4].indexOf(memberName);\n const memberSchema = struct[5][i];\n return member(isMemberSchema(memberSchema) ? memberSchema : [memberSchema, 0], memberName);\n }\n if (this.isDocumentSchema()) {\n return member([15, 0], memberName);\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${memberName}.`);\n }\n getMemberSchemas() {\n const buffer = {};\n try {\n for (const [k, v] of this.structIterator()) {\n buffer[k] = v;\n }\n }\n catch (ignored) { }\n return buffer;\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot iterate non-struct schema.\");\n }\n const struct = this.getSchema();\n const z = struct[4].length;\n let it = struct[anno.it];\n if (it && z === it.length) {\n yield* it;\n return;\n }\n it = Array(z);\n for (let i = 0; i < z; ++i) {\n const k = struct[4][i];\n const v = member([struct[5][i], 0], k);\n yield (it[i] = [k, v]);\n }\n struct[anno.it] = it;\n }\n}\nfunction member(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n return Object.assign(memberSchema, {\n memberName,\n _isMemberSchema: true,\n });\n }\n const internalCtorAccess = NormalizedSchema;\n return new internalCtorAccess(memberSchema, memberName);\n}\nconst isMemberSchema = (sc) => Array.isArray(sc) && sc.length === 2;\nexport const isStaticSchema = (sc) => Array.isArray(sc) && sc.length >= 5;\n", "import { Schema } from \"./Schema\";\nexport class SimpleSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/sim\");\n name;\n schemaRef;\n traits;\n symbol = SimpleSchema.symbol;\n}\nexport const sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\nexport const simAdapter = (namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\n", "export const SCHEMA = {\n BLOB: 0b0001_0101,\n STREAMING_BLOB: 0b0010_1010,\n BOOLEAN: 0b0000_0010,\n STRING: 0b0000_0000,\n NUMERIC: 0b0000_0001,\n BIG_INTEGER: 0b0001_0001,\n BIG_DECIMAL: 0b0001_0011,\n DOCUMENT: 0b0000_1111,\n TIMESTAMP_DEFAULT: 0b0000_0100,\n TIMESTAMP_DATE_TIME: 0b0000_0101,\n TIMESTAMP_HTTP_DATE: 0b0000_0110,\n TIMESTAMP_EPOCH_SECONDS: 0b0000_0111,\n LIST_MODIFIER: 0b0100_0000,\n MAP_MODIFIER: 0b1000_0000,\n};\n", "export class TypeRegistry {\n namespace;\n schemas;\n exceptions;\n static registries = new Map();\n constructor(namespace, schemas = new Map(), exceptions = new Map()) {\n this.namespace = namespace;\n this.schemas = schemas;\n this.exceptions = exceptions;\n }\n static for(namespace) {\n if (!TypeRegistry.registries.has(namespace)) {\n TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));\n }\n return TypeRegistry.registries.get(namespace);\n }\n copyFrom(other) {\n const { schemas, exceptions } = this;\n for (const [k, v] of other.schemas) {\n if (!schemas.has(k)) {\n schemas.set(k, v);\n }\n }\n for (const [k, v] of other.exceptions) {\n if (!exceptions.has(k)) {\n exceptions.set(k, v);\n }\n }\n }\n register(shapeId, schema) {\n const qualifiedName = this.normalizeShapeId(shapeId);\n for (const r of [this, TypeRegistry.for(qualifiedName.split(\"#\")[0])]) {\n r.schemas.set(qualifiedName, schema);\n }\n }\n getSchema(shapeId) {\n const id = this.normalizeShapeId(shapeId);\n if (!this.schemas.has(id)) {\n throw new Error(`@smithy/core/schema - schema not found for ${id}`);\n }\n return this.schemas.get(id);\n }\n registerError(es, ctor) {\n const $error = es;\n const ns = $error[1];\n for (const r of [this, TypeRegistry.for(ns)]) {\n r.schemas.set(ns + \"#\" + $error[2], $error);\n r.exceptions.set($error, ctor);\n }\n }\n getErrorCtor(es) {\n const $error = es;\n if (this.exceptions.has($error)) {\n return this.exceptions.get($error);\n }\n const registry = TypeRegistry.for($error[1]);\n return registry.exceptions.get($error);\n }\n getBaseException() {\n for (const exceptionKey of this.exceptions.keys()) {\n if (Array.isArray(exceptionKey)) {\n const [, ns, name] = exceptionKey;\n const id = ns + \"#\" + name;\n if (id.startsWith(\"smithy.ts.sdk.synthetic.\") && id.endsWith(\"ServiceException\")) {\n return exceptionKey;\n }\n }\n }\n return undefined;\n }\n find(predicate) {\n return [...this.schemas.values()].find(predicate);\n }\n clear() {\n this.schemas.clear();\n this.exceptions.clear();\n }\n normalizeShapeId(shapeId) {\n if (shapeId.includes(\"#\")) {\n return shapeId;\n }\n return this.namespace + \"#\" + shapeId;\n }\n}\n", "export * from \"./deref\";\nexport * from \"./middleware/getSchemaSerdePlugin\";\nexport * from \"./schemas/ListSchema\";\nexport * from \"./schemas/MapSchema\";\nexport * from \"./schemas/OperationSchema\";\nexport * from \"./schemas/operation\";\nexport * from \"./schemas/ErrorSchema\";\nexport * from \"./schemas/NormalizedSchema\";\nexport * from \"./schemas/Schema\";\nexport * from \"./schemas/SimpleSchema\";\nexport * from \"./schemas/StructureSchema\";\nexport * from \"./schemas/sentinels\";\nexport * from \"./schemas/translateTraits\";\nexport * from \"./TypeRegistry\";\n", "export const copyDocumentWithTransform = (source, schemaRef, transform = (_) => _) => source;\n", "export const parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexport const expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexport const expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nexport const expectFloat32 = (value) => {\n const expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexport const expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexport const expectInt = expectLong;\nexport const expectInt32 = (value) => expectSizedInt(value, 32);\nexport const expectShort = (value) => expectSizedInt(value, 16);\nexport const expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nexport const expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport const expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexport const expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexport const expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexport const strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport const strictParseFloat = strictParseDouble;\nexport const strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nexport const limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport const handleFloat = limitedParseDouble;\nexport const limitedParseFloat = limitedParseDouble;\nexport const limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nexport const strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport const strictParseInt = strictParseLong;\nexport const strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport const strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport const strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexport const logger = {\n warn: console.warn,\n};\n", "import { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from \"./parse-utils\";\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport function dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nexport const parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nexport const parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nexport const parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexport const parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n", "export const randomUUID = typeof crypto !== \"undefined\" && crypto.randomUUID && crypto.randomUUID.bind(crypto);\n", "import { randomUUID } from \"./randomUUID\";\nconst decimalToHex = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, \"0\"));\nexport const v4 = () => {\n if (randomUUID) {\n return randomUUID();\n }\n const rnds = new Uint8Array(16);\n crypto.getRandomValues(rnds);\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n return (decimalToHex[rnds[0]] +\n decimalToHex[rnds[1]] +\n decimalToHex[rnds[2]] +\n decimalToHex[rnds[3]] +\n \"-\" +\n decimalToHex[rnds[4]] +\n decimalToHex[rnds[5]] +\n \"-\" +\n decimalToHex[rnds[6]] +\n decimalToHex[rnds[7]] +\n \"-\" +\n decimalToHex[rnds[8]] +\n decimalToHex[rnds[9]] +\n \"-\" +\n decimalToHex[rnds[10]] +\n decimalToHex[rnds[11]] +\n decimalToHex[rnds[12]] +\n decimalToHex[rnds[13]] +\n decimalToHex[rnds[14]] +\n decimalToHex[rnds[15]]);\n};\n", "export * from \"./v4\";\n", "import { v4 as generateIdempotencyToken } from \"@smithy/uuid\";\nexport { generateIdempotencyToken };\n", "export const LazyJsonString = function LazyJsonString(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n },\n });\n return str;\n};\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n }\n else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n", "export function quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n", "const ddd = `(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;\nconst mmm = `(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;\nconst time = `(\\\\d?\\\\d):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))?`;\nconst date = `(\\\\d?\\\\d)`;\nconst year = `(\\\\d{4})`;\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d\\d)-(\\d\\d)[tT](\\d\\d):(\\d\\d):(\\d\\d)(\\.(\\d+))?(([-+]\\d\\d:\\d\\d)|[zZ])$/);\nconst IMF_FIXDATE = new RegExp(`^${ddd}, ${date} ${mmm} ${year} ${time} GMT$`);\nconst RFC_850_DATE = new RegExp(`^${ddd}, ${date}-${mmm}-(\\\\d\\\\d) ${time} GMT$`);\nconst ASC_TIME = new RegExp(`^${ddd} ${mmm} ( [1-9]|\\\\d\\\\d) ${time} ${year}$`);\nconst months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport const _parseEpochTimestamp = (value) => {\n if (value == null) {\n return void 0;\n }\n let num = NaN;\n if (typeof value === \"number\") {\n num = value;\n }\n else if (typeof value === \"string\") {\n if (!/^-?\\d*\\.?\\d+$/.test(value)) {\n throw new TypeError(`parseEpochTimestamp - numeric string invalid.`);\n }\n num = Number.parseFloat(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n num = value.value;\n }\n if (isNaN(num) || Math.abs(num) === Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid finite numbers.\");\n }\n return new Date(Math.round(num * 1000));\n};\nexport const _parseRfc3339DateTimeWithOffset = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC3339 timestamps must be strings\");\n }\n const matches = RFC3339_WITH_OFFSET.exec(value);\n if (!matches) {\n throw new TypeError(`Invalid RFC3339 timestamp format ${value}`);\n }\n const [, yearStr, monthStr, dayStr, hours, minutes, seconds, , ms, offsetStr] = matches;\n range(monthStr, 1, 12);\n range(dayStr, 1, 31);\n range(hours, 0, 23);\n range(minutes, 0, 59);\n range(seconds, 0, 60);\n const date = new Date(Date.UTC(Number(yearStr), Number(monthStr) - 1, Number(dayStr), Number(hours), Number(minutes), Number(seconds), Number(ms) ? Math.round(parseFloat(`0.${ms}`) * 1000) : 0));\n date.setUTCFullYear(Number(yearStr));\n if (offsetStr.toUpperCase() != \"Z\") {\n const [, sign, offsetH, offsetM] = /([+-])(\\d\\d):(\\d\\d)/.exec(offsetStr) || [void 0, \"+\", 0, 0];\n const scalar = sign === \"-\" ? 1 : -1;\n date.setTime(date.getTime() + scalar * (Number(offsetH) * 60 * 60 * 1000 + Number(offsetM) * 60 * 1000));\n }\n return date;\n};\nexport const _parseRfc7231DateTime = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC7231 timestamps must be strings.\");\n }\n let day;\n let month;\n let year;\n let hour;\n let minute;\n let second;\n let fraction;\n let matches;\n if ((matches = IMF_FIXDATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n }\n else if ((matches = RFC_850_DATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n year = (Number(year) + 1900).toString();\n }\n else if ((matches = ASC_TIME.exec(value))) {\n [, month, day, hour, minute, second, fraction, year] = matches;\n }\n if (year && second) {\n const timestamp = Date.UTC(Number(year), months.indexOf(month), Number(day), Number(hour), Number(minute), Number(second), fraction ? Math.round(parseFloat(`0.${fraction}`) * 1000) : 0);\n range(day, 1, 31);\n range(hour, 0, 23);\n range(minute, 0, 59);\n range(second, 0, 60);\n const date = new Date(timestamp);\n date.setUTCFullYear(Number(year));\n return date;\n }\n throw new TypeError(`Invalid RFC7231 date-time value ${value}.`);\n};\nfunction range(v, min, max) {\n const _v = Number(v);\n if (_v < min || _v > max) {\n throw new Error(`Value ${_v} out of range [${min}, ${max}]`);\n }\n}\n", "export function splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\n", "export const splitHeader = (value) => {\n const z = value.length;\n const values = [];\n let withinQuotes = false;\n let prevChar = undefined;\n let anchor = 0;\n for (let i = 0; i < z; ++i) {\n const char = value[i];\n switch (char) {\n case `\"`:\n if (prevChar !== \"\\\\\") {\n withinQuotes = !withinQuotes;\n }\n break;\n case \",\":\n if (!withinQuotes) {\n values.push(value.slice(anchor, i));\n anchor = i + 1;\n }\n break;\n default:\n }\n prevChar = char;\n }\n values.push(value.slice(anchor));\n return values.map((v) => {\n v = v.trim();\n const z = v.length;\n if (z < 2) {\n return v;\n }\n if (v[0] === `\"` && v[z - 1] === `\"`) {\n v = v.slice(1, z - 1);\n }\n return v.replace(/\\\\\"/g, '\"');\n });\n};\n", "const format = /^-?\\d*(\\.\\d+)?$/;\nexport class NumericValue {\n string;\n type;\n constructor(string, type) {\n this.string = string;\n this.type = type;\n if (!format.test(string)) {\n throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point \".\", and an optional negation prefix \"-\".`);\n }\n }\n toString() {\n return this.string;\n }\n static [Symbol.hasInstance](object) {\n if (!object || typeof object !== \"object\") {\n return false;\n }\n const _nv = object;\n return NumericValue.prototype.isPrototypeOf(object) || (_nv.type === \"bigDecimal\" && format.test(_nv.string));\n }\n}\nexport function nv(input) {\n return new NumericValue(String(input), \"bigDecimal\");\n}\n", "export * from \"./copyDocumentWithTransform\";\nexport * from \"./date-utils\";\nexport * from \"./generateIdempotencyToken\";\nexport * from \"./lazy-json\";\nexport * from \"./parse-utils\";\nexport * from \"./quote-header\";\nexport * from \"./schema-serde-lib/schema-date-utils\";\nexport * from \"./split-every\";\nexport * from \"./split-header\";\nexport * from \"./value/NumericValue\";\n", "export class SerdeContext {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n", "import { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nexport class EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const body = event[unionMember].body;\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n if (body.byteLength === 0) {\n return {\n [unionMember]: {},\n };\n }\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const [key, value] of Object.entries(firstEvent.value)) {\n initialResponseContainer[key] = value;\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else if (eventSchema.isUnitSchema()) {\n serializer.write(eventSchema, {});\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush() ?? new Uint8Array();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n", "export * from \"./EventStreamSerde\";\n", "import { NormalizedSchema, translateTraits, TypeRegistry } from \"@smithy/core/schema\";\nimport { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { SerdeContext } from \"./SerdeContext\";\nexport class HttpProtocol extends SerdeContext {\n options;\n compositeErrorRegistry;\n constructor(options) {\n super();\n this.options = options;\n this.compositeErrorRegistry = TypeRegistry.for(options.defaultNamespace);\n for (const etr of options.errorTypeRegistries ?? []) {\n this.compositeErrorRegistry.copyFrom(etr);\n }\n }\n getRequestType() {\n return HttpRequest;\n }\n getResponseType() {\n return HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n if (!request.query) {\n request.query = {};\n }\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n request.query[k] = v;\n }\n if (endpoint.headers) {\n for (const [name, values] of Object.entries(endpoint.headers)) {\n request.headers[name] = values.join(\", \");\n }\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n if (endpoint.headers) {\n for (const [name, value] of Object.entries(endpoint.headers)) {\n request.headers[name] = value;\n }\n }\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n if (this.serdeContext?.disableHostPrefix) {\n return;\n }\n const inputNs = NormalizedSchema.of(operationSchema.input);\n const opTraits = translateTraits(operationSchema.traits ?? {});\n if (opTraits.endpoint) {\n let hostPrefix = opTraits.endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n const hostLabelInputs = [...inputNs.structIterator()].filter(([, member]) => member.getMergedTraits().hostLabel);\n for (const [name] of hostLabelInputs) {\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import(\"@smithy/core/event-streams\");\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n void schema;\n void context;\n void response;\n void arg4;\n void arg5;\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n", "import { NormalizedSchema, translateTraits } from \"@smithy/core/schema\";\nimport { splitEvery, splitHeader } from \"@smithy/core/serde\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = {\n ...(_input ?? {}),\n };\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const payloadMemberNames = [];\n const payloadMemberSchemas = [];\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n Object.assign(query, Object.fromEntries(traitSearchParams));\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {\n if (memberTraits.httpLabel) {\n if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {\n throw new Error(`No value provided for input HTTP label: ${memberName}.`);\n }\n }\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n delete input[memberName];\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n delete input[memberName];\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const [key, val] of Object.entries(inputMemberValue)) {\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n delete input[memberName];\n }\n else {\n hasNonHttpBindingMember = true;\n payloadMemberNames.push(memberName);\n payloadMemberSchemas.push(memberNs);\n }\n }\n if (hasNonHttpBindingMember && input) {\n const [namespace, name] = (ns.getName(true) ?? \"#Unknown\").split(\"#\");\n const requiredMembers = ns.getSchema()[6];\n const payloadSchema = [\n 3,\n namespace,\n name,\n ns.getMergedTraits(),\n payloadMemberNames,\n payloadMemberSchemas,\n undefined,\n ];\n if (requiredMembers) {\n payloadSchema[6] = requiredMembers;\n }\n else {\n payloadSchema.pop();\n }\n serializer.write(payloadSchema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const [key, val] of Object.entries(data)) {\n if (!(key in query)) {\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n if (dataFromBody[member] != null) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n }\n else if (nonHttpBindingMembers.discardResponseBody) {\n await collectBody(response.body, context);\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n let discardResponseBody = true;\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(schema);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n discardResponseBody = false;\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === 4) {\n sections = splitEvery(value, \",\", 2);\n }\n else {\n sections = splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const [header, value] of Object.entries(response.headers)) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n nonHttpBindingMembers.discardResponseBody = discardResponseBody;\n return nonHttpBindingMembers;\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n const _input = {\n ...input,\n };\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (_input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && _input[memberName]) {\n serializer.write(memberSchema, _input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: _input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema, _input);\n payload = serializer.flush();\n }\n }\n request.headers = Object.assign(request.headers, headers);\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n", "import { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport const resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue == null || labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"./resolve-path\";\nexport function requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nexport class RequestBuilder {\n input;\n context;\n query = {};\n method = \"\";\n headers = {};\n path = \"\";\n body = null;\n hostname = \"\";\n resolvePathStack = [];\n constructor(input, context) {\n this.input = input;\n this.context = context;\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n", "export function determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === 5 ||\n ns.getSchema() === 6 ||\n ns.getSchema() === 7)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? 6\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? 5\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { _parseEpochTimestamp, _parseRfc3339DateTimeWithOffset, _parseRfc7231DateTime, LazyJsonString, NumericValue, splitHeader, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class FromStringShapeDeserializer extends SerdeContext {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n read(_schema, data) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return _parseRfc3339DateTimeWithOffset(data);\n case 6:\n return _parseRfc7231DateTime(data);\n case 7:\n return _parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n if (ns.isNumericSchema()) {\n return Number(data);\n }\n if (ns.isBigIntegerSchema()) {\n return BigInt(data);\n }\n if (ns.isBigDecimalSchema()) {\n return new NumericValue(data, \"bigDecimal\");\n }\n if (ns.isBooleanSchema()) {\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String));\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { FromStringShapeDeserializer } from \"./FromStringShapeDeserializer\";\nexport class HttpInterceptingShapeDeserializer extends SerdeContext {\n codecDeserializer;\n stringDeserializer;\n constructor(codecDeserializer, codecSettings) {\n super();\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema, data) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, quoteHeader } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class ToStringShapeSerializer extends SerdeContext {\n settings;\n stringBuffer = \"\";\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n this.stringBuffer = dateToUtcString(value);\n break;\n case 7:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n if (ns.isIdempotencyToken()) {\n this.stringBuffer = generateIdempotencyToken();\n }\n else {\n this.stringBuffer = String(value);\n }\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ToStringShapeSerializer } from \"./ToStringShapeSerializer\";\nexport class HttpInterceptingShapeSerializer {\n codecSerializer;\n stringSerializer;\n buffer;\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\n }\n}\n", "export * from \"./collect-stream-body\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./HttpBindingProtocol\";\nexport * from \"./HttpProtocol\";\nexport * from \"./RpcProtocol\";\nexport * from \"./requestBuilder\";\nexport * from \"./resolve-path\";\nexport * from \"./serde/FromStringShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeSerializer\";\nexport * from \"./serde/ToStringShapeSerializer\";\nexport * from \"./serde/determineTimestampFormat\";\nexport * from \"./SerdeContext\";\n", "export { requestBuilder } from \"@smithy/core/protocols\";\n", "export function setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {},\n };\n }\n else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n", "export class DefaultIdentityProviderConfig {\n authSchemes = new Map();\n constructor(config) {\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { HttpApiKeyAuthLocation } from \"@smithy/types\";\nexport class HttpApiKeyAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n if (!signingProperties) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` and `in` signer properties are missing\");\n }\n if (!signingProperties.name) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` signer property is missing\");\n }\n if (!signingProperties.in) {\n throw new Error(\"request could not be signed with `apiKey` since the `in` signer property is missing\");\n }\n if (!identity.apiKey) {\n throw new Error(\"request could not be signed with `apiKey` since the `apiKey` is not defined\");\n }\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (signingProperties.in === HttpApiKeyAuthLocation.QUERY) {\n clonedRequest.query[signingProperties.name] = identity.apiKey;\n }\n else if (signingProperties.in === HttpApiKeyAuthLocation.HEADER) {\n clonedRequest.headers[signingProperties.name] = signingProperties.scheme\n ? `${signingProperties.scheme} ${identity.apiKey}`\n : identity.apiKey;\n }\n else {\n throw new Error(\"request can only be signed with `apiKey` locations `query` or `header`, \" +\n \"but found: `\" +\n signingProperties.in +\n \"`\");\n }\n return clonedRequest;\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport class HttpBearerAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (!identity.token) {\n throw new Error(\"request could not be signed with `token` since the `token` is not defined\");\n }\n clonedRequest.headers[\"Authorization\"] = `Bearer ${identity.token}`;\n return clonedRequest;\n }\n}\n", "export class NoAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n return httpRequest;\n }\n}\n", "export * from \"./httpApiKeyAuth\";\nexport * from \"./httpBearerAuth\";\nexport * from \"./noAuth\";\n", "export const createIsIdentityExpiredFunction = (expirationMs) => function isIdentityExpired(identity) {\n return doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\n};\nexport const EXPIRATION_MS = 300_000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n", "export * from \"./DefaultIdentityProviderConfig\";\nexport * from \"./httpAuthSchemes\";\nexport * from \"./memoizeIdentityProvider\";\n", "export * from \"./getSmithyContext\";\nexport * from \"./middleware-http-auth-scheme\";\nexport * from \"./middleware-http-signing\";\nexport * from \"./normalizeProvider\";\nexport { createPaginator } from \"./pagination/createPaginator\";\nexport * from \"./request-builder/requestBuilder\";\nexport * from \"./setFeature\";\nexport * from \"./util-identity-and-auth\";\n", "export class ProviderError extends Error {\n name = \"ProviderError\";\n tryNextLink;\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = undefined;\n tryNextLink = options;\n }\n else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n}\n", "import { ProviderError } from \"./ProviderError\";\nexport class CredentialsProviderError extends ProviderError {\n name = \"CredentialsProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\n", "import { ProviderError } from \"./ProviderError\";\nexport class TokenProviderError extends ProviderError {\n name = \"TokenProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, TokenProviderError.prototype);\n }\n}\n", "import { ProviderError } from \"./ProviderError\";\nexport const chain = (...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n", "export const fromStatic = (staticValue) => () => Promise.resolve(staticValue);\n", "export const memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\n", "export * from \"./CredentialsProviderError\";\nexport * from \"./ProviderError\";\nexport * from \"./TokenProviderError\";\nexport * from \"./chain\";\nexport * from \"./fromStatic\";\nexport * from \"./memoize\";\n", "import { normalizeProvider } from \"@smithy/core\";\nimport { ProviderError } from \"@smithy/property-provider\";\nexport const resolveAwsSdkSigV4AConfig = (config) => {\n config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);\n return config;\n};\nexport const NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true,\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true,\n });\n },\n default: undefined,\n};\n", "export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport const REGION_SET_PARAM = \"X-Amz-Region-Set\";\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\nexport const ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\nexport const SEC_HEADER_PATTERN = /^sec-/;\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport const ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n", "import { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nconst signingKeyCache = {};\nconst cacheQueue = [];\nexport const createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nexport const getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nexport const clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(toUint8Array(data));\n return hash.digest();\n};\n", "import { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\nexport const getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\n", "export const isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n", "import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nexport const getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(toUint8Array(body));\n return toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n", "import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport class HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nexport class Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9_223_372_036_854_775_808) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n", "export const hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexport const getHeaderValue = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return headers[headerName];\n }\n }\n return undefined;\n};\nexport const deleteHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n delete headers[headerName];\n }\n }\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport const moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if ((lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) ||\n options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { GENERATED_HEADERS } from \"./constants\";\nexport const prepareRequest = (request) => {\n request = HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\n", "import { escapeUri } from \"@smithy/util-uri-escape\";\nimport { SIGNATURE_HEADER } from \"./constants\";\nexport const getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = escapeUri(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[encodedKey] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${encodedKey}=${escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .sort()\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n", "export const iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nexport const toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n", "import { toHex } from \"@smithy/util-hex-encoding\";\nimport { normalizeProvider } from \"@smithy/util-middleware\";\nimport { escapeUri } from \"@smithy/util-uri-escape\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { iso8601 } from \"./utilDate\";\nexport class SignatureV4Base {\n service;\n regionProvider;\n credentialProvider;\n sha256;\n uriEscapePath;\n applyChecksum;\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeProvider(region);\n this.credentialProvider = normalizeProvider(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update(toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${toHex(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n}\n", "import { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { HeaderFormatter } from \"./HeaderFormatter\";\nimport { hasHeader } from \"./headerUtil\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { SignatureV4Base } from \"./SignatureV4Base\";\nexport class SignatureV4 extends SignatureV4Base {\n headerFormatter = new HeaderFormatter();\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath,\n });\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else if (toSign.message) {\n return this.signMessage(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);\n const hash = new this.sha256(await keyPromise);\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n", "export const signatureV4aContainer = {\n SignatureV4a: null,\n};\n", "export * from \"./SignatureV4\";\nexport * from \"./constants\";\nexport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nexport { getCanonicalQuery } from \"./getCanonicalQuery\";\nexport { getPayloadHash } from \"./getPayloadHash\";\nexport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nexport { prepareRequest } from \"./prepareRequest\";\nexport * from \"./credentialDerivation\";\nexport { SignatureV4Base } from \"./SignatureV4Base\";\nexport { hasHeader } from \"./headerUtil\";\nexport * from \"./signature-v4a-container\";\n", "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = undefined;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider,\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n const isCredentialObject = typeof inputCredentials === \"object\" && inputCredentials !== null;\n resolvedCredentials = async (options) => {\n const creds = await boundProvider(options);\n const attributedCreds = creds;\n if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {\n return setCredentialFeature(attributedCreds, \"CREDENTIALS_CODE\", \"e\");\n }\n return attributedCreds;\n };\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n }\n else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true,\n });\n config.credentials = inputCredentials;\n const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;\n let signer;\n if (config.signer) {\n signer = normalizeProvider(config.signer);\n }\n else if (config.regionInfoProvider) {\n signer = () => normalizeProvider(config.region)()\n .then(async (region) => [\n (await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await normalizeProvider(config.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n };\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer,\n });\n return resolvedConfig;\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n else {\n credentialsProvider = credentials;\n }\n }\n else {\n if (credentialDefaultProvider) {\n credentialsProvider = normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n credentialsProvider = async () => {\n throw new Error(\"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\");\n };\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n", "export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport { AwsSdkSigV4ASigner } from \"./AwsSdkSigV4ASigner\";\nexport * from \"./NODE_AUTH_SCHEME_PREFERENCE_OPTIONS\";\nexport * from \"./resolveAwsSdkSigV4AConfig\";\nexport * from \"./resolveAwsSdkSigV4Config\";\n", "export * from \"./aws_sdk\";\nexport * from \"./utils/getBearerTokenEnvKey\";\n", "const TEXT_ENCODER = typeof TextEncoder == \"function\" ? new TextEncoder() : null;\nexport const calculateBodyLength = (body) => {\n if (typeof body === \"string\") {\n if (TEXT_ENCODER) {\n return TEXT_ENCODER.encode(body).byteLength;\n }\n let len = body.length;\n for (let i = len - 1; i >= 0; i--) {\n const code = body.charCodeAt(i);\n if (code > 0x7f && code <= 0x7ff)\n len++;\n else if (code > 0x7ff && code <= 0xffff)\n len += 2;\n if (code >= 0xdc00 && code <= 0xdfff)\n i--;\n }\n return len;\n }\n else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n return body.size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\n};\n", "export * from \"./calculateBodyLength\";\n", "const getAllAliases = (name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n};\nconst getMiddlewareNameWithAliases = (name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n};\nexport const constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ` +\n `${getMiddlewareNameWithAliases(entry.name, entry.aliases)} ` +\n `middleware ${entry.relation} ${entry.toMiddleware}`);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ` +\n `${toOverride.priority} priority in ${toOverride.step} step cannot ` +\n `be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ` +\n `${entry.priority} priority in ${entry.step} step.`);\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ` +\n `${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} ` +\n `\"${entry.toMiddleware}\" middleware.`);\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo(constructStack()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ??\n mw.relation +\n \" \" +\n mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n },\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\")\n identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n },\n };\n return stack;\n};\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n", "export * from \"./MiddlewareStack\";\n", "import { constructStack } from \"@smithy/middleware-stack\";\nexport class Client {\n config;\n middlewareStack = constructStack();\n initConfig;\n handlers;\n constructor(config) {\n this.config = config;\n const { protocol, protocolSettings } = config;\n if (protocolSettings) {\n if (typeof protocol === \"function\") {\n config.protocol = new protocol(protocolSettings);\n }\n }\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n }\n else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n }\n else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n}\n", "export { collectBody } from \"@smithy/core/protocols\";\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nconst SENSITIVE_STRING = \"***SensitiveInformation***\";\nexport function schemaLogFilter(schema, data) {\n if (data == null) {\n return data;\n }\n const ns = NormalizedSchema.of(schema);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n }\n else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING;\n }\n }\n else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n", "import { constructStack } from \"@smithy/middleware-stack\";\nimport { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nimport { schemaLogFilter } from \"./schemaLogFilter\";\nexport class Command {\n middlewareStack = constructStack();\n schema;\n static classBuilder() {\n return new ClassBuilder();\n }\n resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext,\n },\n ...additionalContext,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n}\nclass ClassBuilder {\n _init = () => { };\n _ep = {};\n _middlewareFn = () => [];\n _commandName = \"\";\n _clientName = \"\";\n _additionalContext = {};\n _smithyContext = {};\n _inputFilterSensitiveLog = undefined;\n _outputFilterSensitiveLog = undefined;\n _serializer = null;\n _deserializer = null;\n _operationSchema;\n init(cb) {\n this._init = cb;\n }\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext,\n };\n return this;\n }\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\n return this;\n }\n build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n input;\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.input = input ?? {};\n closure._init(this);\n this.schema = closure._operationSchema;\n }\n resolveMiddleware(stack, configuration, options) {\n const op = closure._operationSchema;\n const input = op?.[4] ?? op?.input;\n const output = op?.[5] ?? op?.output;\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n serialize = closure._serializer;\n deserialize = closure._deserializer;\n });\n }\n}\n", "export const SENSITIVE_STRING = \"***SensitiveInformation***\";\n", "export const createAggregatedClient = (commands, Client, options) => {\n for (const [command, CommandCtor] of Object.entries(commands)) {\n const methodImpl = async function (args, optionsOrCb, cb) {\n const command = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n };\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client.prototype[methodName] = methodImpl;\n }\n const { paginators = {}, waiters = {} } = options ?? {};\n for (const [paginatorName, paginatorFn] of Object.entries(paginators)) {\n if (Client.prototype[paginatorName] === void 0) {\n Client.prototype[paginatorName] = function (commandInput = {}, paginationConfiguration, ...rest) {\n return paginatorFn({\n ...paginationConfiguration,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n for (const [waiterName, waiterFn] of Object.entries(waiters)) {\n if (Client.prototype[waiterName] === void 0) {\n Client.prototype[waiterName] = async function (commandInput = {}, waiterConfiguration, ...rest) {\n let config = waiterConfiguration;\n if (typeof waiterConfiguration === \"number\") {\n config = {\n maxWaitTime: waiterConfiguration,\n };\n }\n return waiterFn({\n ...config,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n};\n", "export class ServiceException extends Error {\n $fault;\n $response;\n $retryable;\n $metadata;\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n static isInstance(value) {\n if (!value)\n return false;\n const candidate = value;\n return (ServiceException.prototype.isPrototypeOf(candidate) ||\n (Boolean(candidate.$fault) &&\n Boolean(candidate.$metadata) &&\n (candidate.$fault === \"client\" || candidate.$fault === \"server\")));\n }\n static [Symbol.hasInstance](instance) {\n if (!instance)\n return false;\n const candidate = instance;\n if (this === ServiceException) {\n return ServiceException.isInstance(instance);\n }\n if (ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n}\nexport const decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\n", "import { decorateServiceException } from \"./exceptions\";\nexport const throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw decorateServiceException(response, parsedBody);\n};\nexport const withBaseException = (ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n", "export const loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\n", "let warningEmitted = false;\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n};\n", "export { extendedEncodeURIComponent } from \"@smithy/core/protocols\";\n", "import { AlgorithmId } from \"@smithy/types\";\nexport { AlgorithmId };\nconst knownAlgorithms = Object.values(AlgorithmId);\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in AlgorithmId) {\n const algorithmId = AlgorithmId[id];\n if (runtimeConfig[algorithmId] === undefined) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId],\n });\n }\n for (const [id, ChecksumCtor] of Object.entries(runtimeConfig.checksumAlgorithms ?? {})) {\n checksumAlgorithms.push({\n algorithmId: () => id,\n checksumConstructor: () => ChecksumCtor,\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n runtimeConfig.checksumAlgorithms = runtimeConfig.checksumAlgorithms ?? {};\n const id = algo.algorithmId();\n const ctor = algo.checksumConstructor();\n if (knownAlgorithms.includes(id)) {\n runtimeConfig.checksumAlgorithms[id.toUpperCase()] = ctor;\n }\n else {\n runtimeConfig.checksumAlgorithms[id] = ctor;\n }\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n const id = checksumAlgorithm.algorithmId();\n if (knownAlgorithms.includes(id)) {\n runtimeConfig[id] = checksumAlgorithm.checksumConstructor();\n }\n });\n return runtimeConfig;\n};\n", "export const getRetryConfiguration = (runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n },\n };\n};\nexport const resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n", "import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nimport { getRetryConfiguration, resolveRetryRuntimeConfig } from \"./retry\";\nexport const getDefaultExtensionConfiguration = (runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n};\nexport const getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nexport const resolveDefaultRuntimeConfig = (config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n};\n", "export * from \"./defaultExtensionConfiguration\";\n", "export const getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n", "export const getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n", "export const isSerializableHeaderValue = (value) => {\n return value != null;\n};\n", "export class NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n", "export function map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\nexport const convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nexport const take = (source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n};\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\nconst applyInstruction = (target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if ((typeof filter === \"function\" && filter(source[sourceKey])) || (typeof filter !== \"function\" && !!filter)) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n }\n else if (customFilterPassed) {\n target[targetKey] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n};\nconst nonNullish = (_) => _ != null;\nconst pass = (_) => _;\n", "export { resolvedPath } from \"@smithy/core/protocols\";\n", "export const serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nexport const serializeDateTime = (date) => date.toISOString().replace(\".000Z\", \"Z\");\n", "export const _json = (obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n};\n", "export * from \"./client\";\nexport * from \"./collect-stream-body\";\nexport * from \"./command\";\nexport * from \"./constants\";\nexport * from \"./create-aggregated-client\";\nexport * from \"./default-error-handler\";\nexport * from \"./defaults-mode\";\nexport * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./exceptions\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./extensions\";\nexport * from \"./get-array-if-single-item\";\nexport * from \"./get-value-from-text-node\";\nexport * from \"./is-serializable-header-value\";\nexport * from \"./NoOpLogger\";\nexport * from \"./object-mapping\";\nexport * from \"./resolve-path\";\nexport * from \"./ser-utils\";\nexport * from \"./serde-json\";\nexport * from \"@smithy/core/serde\";\n", "import { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { decorateServiceException } from \"@smithy/smithy-client\";\nexport class ProtocolLib {\n queryCompat;\n constructor(queryCompat = false) {\n this.queryCompat = queryCompat;\n }\n resolveRestContentType(defaultContentType, inputSchema) {\n const members = inputSchema.getMemberSchemas();\n const httpPayloadMember = Object.values(members).find((m) => {\n return !!m.getMergedTraits().httpPayload;\n });\n if (httpPayloadMember) {\n const mediaType = httpPayloadMember.getMergedTraits().mediaType;\n if (mediaType) {\n return mediaType;\n }\n else if (httpPayloadMember.isStringSchema()) {\n return \"text/plain\";\n }\n else if (httpPayloadMember.isBlobSchema()) {\n return \"application/octet-stream\";\n }\n else {\n return defaultContentType;\n }\n }\n else if (!inputSchema.isUnitSchema()) {\n const hasBody = Object.values(members).find((m) => {\n const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();\n const noPrefixHeaders = httpPrefixHeaders === void 0;\n return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;\n });\n if (hasBody) {\n return defaultContentType;\n }\n }\n }\n async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {\n let namespace = defaultNamespace;\n let errorName = errorIdentifier;\n if (errorIdentifier.includes(\"#\")) {\n [namespace, errorName] = errorIdentifier.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode < 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n try {\n const errorSchema = getErrorSchema?.(registry, errorName) ?? registry.getSchema(errorIdentifier);\n return { errorSchema, errorMetadata };\n }\n catch (e) {\n dataObject.message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const synthetic = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace);\n const baseExceptionSchema = synthetic.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;\n throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);\n }\n throw this.decorateServiceException(Object.assign(new Error(errorName), errorMetadata), dataObject);\n }\n }\n decorateServiceException(exception, additions = {}) {\n if (this.queryCompat) {\n const msg = exception.Message ?? additions.Message;\n const error = decorateServiceException(exception, additions);\n if (msg) {\n error.message = msg;\n }\n error.Error = {\n ...error.Error,\n Type: error.Error?.Type,\n Code: error.Error?.Code,\n Message: error.Error?.message ?? error.Error?.Message ?? msg,\n };\n const reqId = error.$metadata.requestId;\n if (reqId) {\n error.RequestId = reqId;\n }\n return error;\n }\n return decorateServiceException(exception, additions);\n }\n setQueryCompatError(output, response) {\n const queryErrorHeader = response.headers?.[\"x-amzn-query-error\"];\n if (output !== undefined && queryErrorHeader != null) {\n const [Code, Type] = queryErrorHeader.split(\";\");\n const entries = Object.entries(output);\n const Error = {\n Code,\n Type,\n };\n Object.assign(output, Error);\n for (const [k, v] of entries) {\n Error[k === \"message\" ? \"Message\" : k] = v;\n }\n delete Error.__type;\n output.Error = Error;\n }\n }\n queryCompatOutput(queryCompatErrorData, errorData) {\n if (queryCompatErrorData.Error) {\n errorData.Error = queryCompatErrorData.Error;\n }\n if (queryCompatErrorData.Type) {\n errorData.Type = queryCompatErrorData.Type;\n }\n if (queryCompatErrorData.Code) {\n errorData.Code = queryCompatErrorData.Code;\n }\n }\n findQueryCompatibleError(registry, errorName) {\n try {\n return registry.getSchema(errorName);\n }\n catch (e) {\n return registry.find((schema) => NormalizedSchema.of(schema).getMergedTraits().awsQueryError?.[0] === errorName);\n }\n }\n}\n", "import { loadSmithyRpcV2CborErrorCode, SmithyRpcV2CborProtocol } from \"@smithy/core/cbor\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nexport class AwsSmithyRpcV2CborProtocol extends SmithyRpcV2CborProtocol {\n awsQueryCompatible;\n mixin;\n constructor({ defaultNamespace, awsQueryCompatible, }) {\n super({ defaultNamespace });\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorName = (() => {\n const compatHeader = response.headers[\"x-amzn-query-error\"];\n if (compatHeader && this.awsQueryCompatible) {\n return compatHeader.split(\";\")[0];\n }\n return loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n })();\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n", "export const _toStr = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\" || typeof val === \"bigint\") {\n const warning = new Error(`Received number ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n if (typeof val === \"boolean\") {\n const warning = new Error(`Received boolean ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n return val;\n};\nexport const _toBool = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\") {\n }\n if (typeof val === \"string\") {\n const lowercase = val.toLowerCase();\n if (val !== \"\" && lowercase !== \"false\" && lowercase !== \"true\") {\n const warning = new Error(`Received string \"${val}\" where a boolean was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n }\n return val !== \"\" && lowercase !== \"false\";\n }\n return val;\n};\nexport const _toNum = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"boolean\") {\n }\n if (typeof val === \"string\") {\n const num = Number(val);\n if (num.toString() !== val) {\n const warning = new Error(`Received string \"${val}\" where a number was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return val;\n }\n return num;\n }\n return val;\n};\n", "export class SerdeContextConfig {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n", "export class UnionSerde {\n from;\n to;\n keys;\n constructor(from, to) {\n this.from = from;\n this.to = to;\n this.keys = new Set(Object.keys(this.from).filter((k) => k !== \"__type\"));\n }\n mark(key) {\n this.keys.delete(key);\n }\n hasUnknown() {\n return this.keys.size === 1 && Object.keys(this.to).length === 0;\n }\n writeUnknown() {\n if (this.hasUnknown()) {\n const k = this.keys.values().next().value;\n const v = this.from[k];\n this.to.$unknown = [k, v];\n }\n }\n}\n", "import { collectBodyString } from \"../common\";\nexport const parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n }\n catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n }\n return {};\n});\nexport const parseJsonErrorBody = async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data && typeof data === \"object\") {\n const codeKey = findKey(data, \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n }\n};\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nimport { jsonReviver } from \"./jsonReviver\";\nimport { parseJsonBody } from \"./parseJsonBody\";\nexport class JsonShapeDeserializer extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n async read(schema, data) {\n return this._read(schema, typeof data === \"string\" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));\n }\n readObject(schema, data) {\n return this._read(schema, data);\n }\n _read(schema, value) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const union = ns.isUnionSchema();\n const out = {};\n let nameMap = void 0;\n const { jsonName } = this.settings;\n if (jsonName) {\n nameMap = {};\n }\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(record, out);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n let fromKey = memberName;\n if (jsonName) {\n fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;\n nameMap[fromKey] = memberName;\n }\n if (union) {\n unionSerde.mark(fromKey);\n }\n if (record[fromKey] != null) {\n out[memberName] = this._read(memberSchema, record[fromKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n else if (typeof record.__type === \"string\") {\n for (const [k, v] of Object.entries(record)) {\n const t = jsonName ? nameMap[k] ?? k : k;\n if (!(t in out)) {\n out[t] = v;\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n for (const item of value) {\n out.push(this._read(listMember, item));\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n for (const [_k, _v] of Object.entries(value)) {\n out[_k] = this._read(mapMember, _v);\n }\n return out;\n }\n }\n if (ns.isBlobSchema() && typeof value === \"string\") {\n return fromBase64(value);\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (ns.isStringSchema() && typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n return value;\n }\n if (ns.isTimestampSchema() && value != null) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return parseRfc3339DateTimeWithOffset(value);\n case 6:\n return parseRfc7231DateTime(value);\n case 7:\n return parseEpochTimestamp(value);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", value);\n return new Date(value);\n }\n }\n if (ns.isBigIntegerSchema() && (typeof value === \"number\" || typeof value === \"string\")) {\n return BigInt(value);\n }\n if (ns.isBigDecimalSchema() && value != undefined) {\n if (value instanceof NumericValue) {\n return value;\n }\n const untyped = value;\n if (untyped.type === \"bigDecimal\" && \"string\" in untyped) {\n return new NumericValue(untyped.string, untyped.type);\n }\n return new NumericValue(String(value), \"bigDecimal\");\n }\n if (ns.isNumericSchema() && typeof value === \"string\") {\n switch (value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"NaN\":\n return NaN;\n }\n return value;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._read(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, NumericValue } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonReplacer } from \"./jsonReplacer\";\nexport class JsonShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n useReplacer = false;\n rootSchema;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n this.rootSchema = NormalizedSchema.of(schema);\n this.buffer = this._write(this.rootSchema, value);\n }\n writeDiscriminatedDocument(schema, value) {\n this.write(schema, value);\n if (typeof this.buffer === \"object\") {\n this.buffer.__type = NormalizedSchema.of(schema).getName(true);\n }\n }\n flush() {\n const { rootSchema, useReplacer } = this;\n this.rootSchema = undefined;\n this.useReplacer = false;\n if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {\n if (!useReplacer) {\n return JSON.stringify(this.buffer);\n }\n const replacer = new JsonReplacer();\n return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));\n }\n return this.buffer;\n }\n _write(schema, value, container) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const out = {};\n const { jsonName } = this.settings;\n let nameMap = void 0;\n if (jsonName) {\n nameMap = {};\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const serializableValue = this._write(memberSchema, record[memberName], ns);\n if (serializableValue !== undefined) {\n let targetKey = memberName;\n if (jsonName) {\n targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;\n nameMap[memberName] = targetKey;\n }\n out[targetKey] = serializableValue;\n }\n }\n if (ns.isUnionSchema() && Object.keys(out).length === 0) {\n const { $unknown } = record;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n out[k] = this._write(15, v);\n }\n }\n else if (typeof record.__type === \"string\") {\n for (const [k, v] of Object.entries(record)) {\n const targetKey = jsonName ? nameMap[k] ?? k : k;\n if (!(targetKey in out)) {\n out[targetKey] = this._write(15, v);\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._write(listMember, item));\n }\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._write(mapMember, _v);\n }\n }\n return out;\n }\n if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return value.toISOString().replace(\".000Z\", \"Z\");\n case 6:\n return dateToUtcString(value);\n case 7:\n return value.getTime() / 1000;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n return value.getTime() / 1000;\n }\n }\n if (value instanceof NumericValue) {\n this.useReplacer = true;\n }\n }\n if (value === null && container?.isStructSchema()) {\n return void 0;\n }\n if (ns.isStringSchema()) {\n if (typeof value === \"undefined\" && ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (value != null && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n return value;\n }\n if (typeof value === \"number\" && ns.isNumericSchema()) {\n if (Math.abs(value) === Infinity || isNaN(value)) {\n return String(value);\n }\n return value;\n }\n if (typeof value === \"string\" && ns.isBlobSchema()) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (typeof value === \"bigint\") {\n this.useReplacer = true;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n this.useReplacer = true;\n out[k] = v;\n }\n else {\n out[k] = this._write(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonShapeDeserializer } from \"./JsonShapeDeserializer\";\nimport { JsonShapeSerializer } from \"./JsonShapeSerializer\";\nexport class JsonCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new JsonShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new JsonShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsJsonRpcProtocol extends RpcProtocol {\n serializer;\n deserializer;\n serviceTarget;\n codec;\n mixin;\n awsQueryCompatible;\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n });\n this.serviceTarget = serviceTarget;\n this.codec =\n jsonCodec ??\n new JsonCodec({\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n jsonName: false,\n });\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-amz-json-${this.getJsonRpcVersion()}`,\n \"x-amz-target\": `${this.serviceTarget}.${operationSchema.name}`,\n });\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"{}\";\n }\n return request;\n }\n getPayloadCodec() {\n return this.codec;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_0Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_0\";\n }\n getJsonRpcVersion() {\n return \"1.0\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.0\";\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_1Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_1\";\n }\n getJsonRpcVersion() {\n return \"1.1\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.1\";\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsRestJsonProtocol extends HttpBindingProtocol {\n serializer;\n deserializer;\n codec;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace }) {\n super({\n defaultNamespace,\n });\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n httpBindings: true,\n jsonName: true,\n };\n this.codec = new JsonCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getShapeId() {\n return \"aws.protocols#restJson1\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n setSerdeContext(serdeContext) {\n this.codec.setSerdeContext(serdeContext);\n super.setSerdeContext(serdeContext);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.body == null && request.headers[\"content-type\"] === this.getDefaultContentType()) {\n request.body = \"{}\";\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const output = await super.deserializeResponse(operationSchema, context, response);\n const outputSchema = NormalizedSchema.of(operationSchema.output);\n for (const [name, member] of outputSchema.structIterator()) {\n if (member.getMemberTraits().httpPayload && !(name in output)) {\n output[name] = null;\n }\n }\n return output;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/json\";\n }\n}\n", "import { expectUnion } from \"@smithy/smithy-client\";\nexport const awsExpectUnion = (value) => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === \"object\" && \"__type\" in value) {\n delete value.__type;\n }\n return expectUnion(value);\n};\n", "export function escapeAttribute(value) {\n return value.replace(/&/g, \"&\").replace(/
/g, \">\").replace(/\"/g, \""\");\n}\n", "export function escapeElement(value) {\n return value\n .replace(/&/g, \"&\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\")\n .replace(//g, \">\")\n .replace(/\\r/g, \" \")\n .replace(/\\n/g, \" \")\n .replace(/\\u0085/g, \"…\")\n .replace(/\\u2028/, \"
\");\n}\n", "import { escapeElement } from \"./escape-element\";\nexport class XmlText {\n value;\n constructor(value) {\n this.value = value;\n }\n toString() {\n return escapeElement(\"\" + this.value);\n }\n}\n", "import { escapeAttribute } from \"./escape-attribute\";\nimport { XmlText } from \"./XmlText\";\nexport class XmlNode {\n name;\n children;\n attributes = {};\n static of(name, childText, withName) {\n const node = new XmlNode(name);\n if (childText !== undefined) {\n node.addChildNode(new XmlText(childText));\n }\n if (withName !== undefined) {\n node.withName(withName);\n }\n return node;\n }\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n n(name) {\n this.name = name;\n return this;\n }\n c(child) {\n this.children.push(child);\n return this;\n }\n a(name, value) {\n if (value != null) {\n this.attributes[name] = value;\n }\n return this;\n }\n cc(input, field, withName = field) {\n if (input[field] != null) {\n const node = XmlNode.of(field, input[field]).withName(withName);\n this.c(node);\n }\n }\n l(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n nodes.map((node) => {\n node.withName(memberName);\n this.c(node);\n });\n }\n }\n lc(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n const containerNode = new XmlNode(memberName);\n nodes.map((node) => {\n containerNode.c(node);\n });\n this.c(containerNode);\n }\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (attribute != null) {\n xmlText += ` ${attributeName}=\"${escapeAttribute(\"\" + attribute)}\"`;\n }\n }\n return (xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}`);\n }\n}\n", "let parser;\nexport function parseXML(xmlString) {\n if (!parser) {\n parser = new DOMParser();\n }\n const xmlDocument = parser.parseFromString(xmlString, \"application/xml\");\n if (xmlDocument.getElementsByTagName(\"parsererror\").length > 0) {\n throw new Error(\"DOMParser XML parsing error.\");\n }\n const xmlToObj = (node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n if (node.textContent?.trim()) {\n return node.textContent;\n }\n }\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node;\n if (element.attributes.length === 0 && element.childNodes.length === 0) {\n return \"\";\n }\n const obj = {};\n const attributes = Array.from(element.attributes);\n for (const attr of attributes) {\n obj[`${attr.name}`] = attr.value;\n }\n const childNodes = Array.from(element.childNodes);\n for (const child of childNodes) {\n const childResult = xmlToObj(child);\n if (childResult != null) {\n const childName = child.nodeName;\n if (childNodes.length === 1 && attributes.length === 0 && childName === \"#text\") {\n return childResult;\n }\n if (obj[childName]) {\n if (Array.isArray(obj[childName])) {\n obj[childName].push(childResult);\n }\n else {\n obj[childName] = [obj[childName], childResult];\n }\n }\n else {\n obj[childName] = childResult;\n }\n }\n else if (childNodes.length === 1 && attributes.length === 0) {\n return element.textContent;\n }\n }\n return obj;\n }\n return null;\n };\n return {\n [xmlDocument.documentElement.nodeName]: xmlToObj(xmlDocument.documentElement),\n };\n}\n", "export * from \"./XmlNode\";\nexport * from \"./XmlText\";\nexport { parseXML } from \"./xml-parser\";\n", "import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { FromStringShapeDeserializer } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nexport class XmlShapeDeserializer extends SerdeContextConfig {\n settings;\n stringDeserializer;\n constructor(settings) {\n super();\n this.settings = settings;\n this.stringDeserializer = new FromStringShapeDeserializer(settings);\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.stringDeserializer.setSerdeContext(serdeContext);\n }\n read(schema, bytes, key) {\n const ns = NormalizedSchema.of(schema);\n const memberSchemas = ns.getMemberSchemas();\n const isEventPayload = ns.isStructSchema() &&\n ns.isMemberSchema() &&\n !!Object.values(memberSchemas).find((memberNs) => {\n return !!memberNs.getMemberTraits().eventPayload;\n });\n if (isEventPayload) {\n const output = {};\n const memberName = Object.keys(memberSchemas)[0];\n const eventMemberSchema = memberSchemas[memberName];\n if (eventMemberSchema.isBlobSchema()) {\n output[memberName] = bytes;\n }\n else {\n output[memberName] = this.read(memberSchemas[memberName], bytes);\n }\n return output;\n }\n const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes);\n const parsedObject = this.parseXml(xmlString);\n return this.readSchema(schema, key ? parsedObject[key] : parsedObject);\n }\n readSchema(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isUnitSchema()) {\n return;\n }\n const traits = ns.getMergedTraits();\n if (ns.isListSchema() && !Array.isArray(value)) {\n return this.readSchema(ns, [value]);\n }\n if (value == null) {\n return value;\n }\n if (typeof value === \"object\") {\n const flat = !!traits.xmlFlattened;\n if (ns.isListSchema()) {\n const listValue = ns.getValueSchema();\n const buffer = [];\n const sourceKey = listValue.getMergedTraits().xmlName ?? \"member\";\n const source = flat ? value : (value[0] ?? value)[sourceKey];\n if (source == null) {\n return buffer;\n }\n const sourceArray = Array.isArray(source) ? source : [source];\n for (const v of sourceArray) {\n buffer.push(this.readSchema(listValue, v));\n }\n return buffer;\n }\n const buffer = {};\n if (ns.isMapSchema()) {\n const keyNs = ns.getKeySchema();\n const memberNs = ns.getValueSchema();\n let entries;\n if (flat) {\n entries = Array.isArray(value) ? value : [value];\n }\n else {\n entries = Array.isArray(value.entry) ? value.entry : [value.entry];\n }\n const keyProperty = keyNs.getMergedTraits().xmlName ?? \"key\";\n const valueProperty = memberNs.getMergedTraits().xmlName ?? \"value\";\n for (const entry of entries) {\n const key = entry[keyProperty];\n const value = entry[valueProperty];\n buffer[key] = this.readSchema(memberNs, value);\n }\n return buffer;\n }\n if (ns.isStructSchema()) {\n const union = ns.isUnionSchema();\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(value, buffer);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMergedTraits();\n const xmlObjectKey = !memberTraits.httpPayload\n ? memberSchema.getMemberTraits().xmlName ?? memberName\n : memberTraits.xmlName ?? memberSchema.getName();\n if (union) {\n unionSerde.mark(xmlObjectKey);\n }\n if (value[xmlObjectKey] != null) {\n buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n return buffer;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);\n }\n if (ns.isListSchema()) {\n return [];\n }\n if (ns.isMapSchema() || ns.isStructSchema()) {\n return {};\n }\n return this.stringDeserializer.read(ns, value);\n }\n parseXml(xml) {\n if (xml.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(xml);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: xml,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n }\n}\n", "import { determineTimestampFormat, extendedEncodeURIComponent } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class QueryShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value, prefix = \"\") {\n if (this.buffer === undefined) {\n this.buffer = \"\";\n }\n const ns = NormalizedSchema.of(schema);\n if (prefix && !prefix.endsWith(\".\")) {\n prefix += \".\";\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\" || value instanceof Uint8Array) {\n this.writeKey(prefix);\n this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value));\n }\n }\n else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n else if (ns.isIdempotencyToken()) {\n this.writeKey(prefix);\n this.writeValue(generateIdempotencyToken());\n }\n }\n else if (ns.isBigIntegerSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isBigDecimalSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(value instanceof NumericValue ? value.string : String(value));\n }\n }\n else if (ns.isTimestampSchema()) {\n if (value instanceof Date) {\n this.writeKey(prefix);\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.writeValue(value.toISOString().replace(\".000Z\", \"Z\"));\n break;\n case 6:\n this.writeValue(dateToUtcString(value));\n break;\n case 7:\n this.writeValue(String(value.getTime() / 1000));\n break;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n if (Array.isArray(value)) {\n this.write(64 | 15, value, prefix);\n }\n else if (value instanceof Date) {\n this.write(4, value, prefix);\n }\n else if (value instanceof Uint8Array) {\n this.write(21, value, prefix);\n }\n else if (value && typeof value === \"object\") {\n this.write(128 | 15, value, prefix);\n }\n else {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isListSchema()) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n if (this.settings.serializeEmptyLists) {\n this.writeKey(prefix);\n this.writeValue(\"\");\n }\n }\n else {\n const member = ns.getValueSchema();\n const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const item of value) {\n if (item == null) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(\"member\", traits.xmlName, traits.ec2QueryName);\n const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;\n this.write(member, item, key);\n ++i;\n }\n }\n }\n }\n else if (ns.isMapSchema()) {\n if (value && typeof value === \"object\") {\n const keySchema = ns.getKeySchema();\n const memberSchema = ns.getValueSchema();\n const flat = ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const [k, v] of Object.entries(value)) {\n if (v == null) {\n continue;\n }\n const keyTraits = keySchema.getMergedTraits();\n const keySuffix = this.getKey(\"key\", keyTraits.xmlName, keyTraits.ec2QueryName);\n const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;\n const valTraits = memberSchema.getMergedTraits();\n const valueSuffix = this.getKey(\"value\", valTraits.xmlName, valTraits.ec2QueryName);\n const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;\n this.write(keySchema, k, key);\n this.write(memberSchema, v, valueKey);\n ++i;\n }\n }\n }\n else if (ns.isStructSchema()) {\n if (value && typeof value === \"object\") {\n let didWriteMember = false;\n for (const [memberName, member] of ns.structIterator()) {\n if (value[memberName] == null && !member.isIdempotencyToken()) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, \"struct\");\n const key = `${prefix}${suffix}`;\n this.write(member, value[memberName], key);\n didWriteMember = true;\n }\n if (!didWriteMember && ns.isUnionSchema()) {\n const { $unknown } = value;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n const key = `${prefix}${k}`;\n this.write(15, v, key);\n }\n }\n }\n }\n else if (ns.isUnitSchema()) {\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);\n }\n }\n flush() {\n if (this.buffer === undefined) {\n throw new Error(\"@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.\");\n }\n const str = this.buffer;\n delete this.buffer;\n return str;\n }\n getKey(memberName, xmlName, ec2QueryName, keySource) {\n const { ec2, capitalizeKeys } = this.settings;\n if (ec2 && ec2QueryName) {\n return ec2QueryName;\n }\n const key = xmlName ?? memberName;\n if (capitalizeKeys && keySource === \"struct\") {\n return key[0].toUpperCase() + key.slice(1);\n }\n return key;\n }\n writeKey(key) {\n if (key.endsWith(\".\")) {\n key = key.slice(0, key.length - 1);\n }\n this.buffer += `&${extendedEncodeURIComponent(key)}=`;\n }\n writeValue(value) {\n this.buffer += extendedEncodeURIComponent(value);\n }\n}\n", "import { collectBody, RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { XmlShapeDeserializer } from \"../xml/XmlShapeDeserializer\";\nimport { QueryShapeSerializer } from \"./QueryShapeSerializer\";\nexport class AwsQueryProtocol extends RpcProtocol {\n options;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super({\n defaultNamespace: options.defaultNamespace,\n });\n this.options = options;\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: false,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n serializeEmptyLists: true,\n };\n this.serializer = new QueryShapeSerializer(settings);\n this.deserializer = new XmlShapeDeserializer(settings);\n }\n getShapeId() {\n return \"aws.protocols#awsQuery\";\n }\n setSerdeContext(serdeContext) {\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n }\n getPayloadCodec() {\n throw new Error(\"AWSQuery protocol has no payload codec.\");\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-www-form-urlencoded`,\n });\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"\";\n }\n const action = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n request.body = `Action=${action}&Version=${this.options.version}` + request.body;\n if (request.body.endsWith(\"&\")) {\n request.body = request.body.slice(-1);\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const shortName = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + \"Result\" : undefined;\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));\n }\n const output = {\n $metadata: this.deserializeMetadata(response),\n ...dataObject,\n };\n return output;\n }\n useNestedResult() {\n return true;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? \"Unknown\";\n const errorData = this.loadQueryError(dataObject) ?? {};\n const message = this.loadQueryErrorMessage(dataObject);\n errorData.message = message;\n errorData.Error = {\n Type: errorData.Type,\n Code: errorData.Code,\n Message: message,\n };\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);\n const ns = NormalizedSchema.of(errorSchema);\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {\n Type: errorData.Error.Type,\n Code: errorData.Error.Code,\n Error: errorData.Error,\n };\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = errorData[target] ?? dataObject[target];\n output[name] = this.deserializer.readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n loadQueryErrorCode(output, data) {\n const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;\n if (code !== undefined) {\n return code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n }\n loadQueryError(data) {\n return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;\n }\n loadQueryErrorMessage(data) {\n const errorData = this.loadQueryError(data);\n return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? \"Unknown\";\n }\n getDefaultContentType() {\n return \"application/x-www-form-urlencoded\";\n }\n}\n", "import { AwsQueryProtocol } from \"./AwsQueryProtocol\";\nexport class AwsEc2QueryProtocol extends AwsQueryProtocol {\n options;\n constructor(options) {\n super(options);\n this.options = options;\n const ec2Settings = {\n capitalizeKeys: true,\n flattenLists: true,\n serializeEmptyLists: false,\n ec2: true,\n };\n Object.assign(this.serializer.settings, ec2Settings);\n }\n getShapeId() {\n return \"aws.protocols#ec2Query\";\n }\n useNestedResult() {\n return false;\n }\n}\n", "export {};\n", "import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { collectBodyString } from \"../common\";\nexport const parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(encoded);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n});\nexport const parseXmlErrorBody = async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nexport const loadRestXmlErrorCode = (output, data) => {\n if (data?.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n", "import { XmlNode, XmlText } from \"@aws-sdk/xml-builder\";\nimport { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class XmlShapeSerializer extends SerdeContextConfig {\n settings;\n stringBuffer;\n byteBuffer;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n if (ns.isStringSchema() && typeof value === \"string\") {\n this.stringBuffer = value;\n }\n else if (ns.isBlobSchema()) {\n this.byteBuffer =\n \"byteLength\" in value\n ? value\n : (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n else {\n this.buffer = this.writeStruct(ns, value, undefined);\n const traits = ns.getMergedTraits();\n if (traits.httpPayload && !traits.xmlName) {\n this.buffer.withName(ns.getName());\n }\n }\n }\n flush() {\n if (this.byteBuffer !== undefined) {\n const bytes = this.byteBuffer;\n delete this.byteBuffer;\n return bytes;\n }\n if (this.stringBuffer !== undefined) {\n const str = this.stringBuffer;\n delete this.stringBuffer;\n return str;\n }\n const buffer = this.buffer;\n if (this.settings.xmlNamespace) {\n if (!buffer?.attributes?.[\"xmlns\"]) {\n buffer.addAttribute(\"xmlns\", this.settings.xmlNamespace);\n }\n }\n delete this.buffer;\n return buffer.toString();\n }\n writeStruct(ns, value, parentXmlns) {\n const traits = ns.getMergedTraits();\n const name = ns.isMemberSchema() && !traits.httpPayload\n ? ns.getMemberTraits().xmlName ?? ns.getMemberName()\n : traits.xmlName ?? ns.getName();\n if (!name || !ns.isStructSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);\n }\n const structXmlNode = XmlNode.of(name);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const val = value[memberName];\n if (val != null || memberSchema.isIdempotencyToken()) {\n if (memberSchema.getMergedTraits().xmlAttribute) {\n structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));\n continue;\n }\n if (memberSchema.isListSchema()) {\n this.writeList(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isMapSchema()) {\n this.writeMap(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isStructSchema()) {\n structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));\n }\n else {\n const memberNode = XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());\n this.writeSimpleInto(memberSchema, val, memberNode, xmlns);\n structXmlNode.addChildNode(memberNode);\n }\n }\n }\n const { $unknown } = value;\n if ($unknown && ns.isUnionSchema() && Array.isArray($unknown) && Object.keys(value).length === 1) {\n const [k, v] = $unknown;\n const node = XmlNode.of(k);\n if (typeof v !== \"string\") {\n if (value instanceof XmlNode || value instanceof XmlText) {\n structXmlNode.addChildNode(value);\n }\n else {\n throw new Error(`@aws-sdk - $unknown union member in XML requires ` +\n `value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);\n }\n }\n this.writeSimpleInto(0, v, node, xmlns);\n structXmlNode.addChildNode(node);\n }\n if (xmlns) {\n structXmlNode.addAttribute(xmlnsAttr, xmlns);\n }\n return structXmlNode;\n }\n writeList(listMember, array, container, parentXmlns) {\n if (!listMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);\n }\n const listTraits = listMember.getMergedTraits();\n const listValueSchema = listMember.getValueSchema();\n const listValueTraits = listValueSchema.getMergedTraits();\n const sparse = !!listValueTraits.sparse;\n const flat = !!listTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);\n const writeItem = (container, value) => {\n if (listValueSchema.isListSchema()) {\n this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container, xmlns);\n }\n else if (listValueSchema.isMapSchema()) {\n this.writeMap(listValueSchema, value, container, xmlns);\n }\n else if (listValueSchema.isStructSchema()) {\n const struct = this.writeStruct(listValueSchema, value, xmlns);\n container.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\"));\n }\n else {\n const listItemNode = XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\");\n this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);\n container.addChildNode(listItemNode);\n }\n };\n if (flat) {\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(container, value);\n }\n }\n }\n else {\n const listNode = XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());\n if (xmlns) {\n listNode.addAttribute(xmlnsAttr, xmlns);\n }\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(listNode, value);\n }\n }\n container.addChildNode(listNode);\n }\n }\n writeMap(mapMember, map, container, parentXmlns, containerIsMap = false) {\n if (!mapMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);\n }\n const mapTraits = mapMember.getMergedTraits();\n const mapKeySchema = mapMember.getKeySchema();\n const mapKeyTraits = mapKeySchema.getMergedTraits();\n const keyTag = mapKeyTraits.xmlName ?? \"key\";\n const mapValueSchema = mapMember.getValueSchema();\n const mapValueTraits = mapValueSchema.getMergedTraits();\n const valueTag = mapValueTraits.xmlName ?? \"value\";\n const sparse = !!mapValueTraits.sparse;\n const flat = !!mapTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);\n const addKeyValue = (entry, key, val) => {\n const keyNode = XmlNode.of(keyTag, key);\n const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);\n if (keyXmlns) {\n keyNode.addAttribute(keyXmlnsAttr, keyXmlns);\n }\n entry.addChildNode(keyNode);\n let valueNode = XmlNode.of(valueTag);\n if (mapValueSchema.isListSchema()) {\n this.writeList(mapValueSchema, val, valueNode, xmlns);\n }\n else if (mapValueSchema.isMapSchema()) {\n this.writeMap(mapValueSchema, val, valueNode, xmlns, true);\n }\n else if (mapValueSchema.isStructSchema()) {\n valueNode = this.writeStruct(mapValueSchema, val, xmlns);\n }\n else {\n this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);\n }\n entry.addChildNode(valueNode);\n };\n if (flat) {\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n addKeyValue(entry, key, val);\n container.addChildNode(entry);\n }\n }\n }\n else {\n let mapNode;\n if (!containerIsMap) {\n mapNode = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n if (xmlns) {\n mapNode.addAttribute(xmlnsAttr, xmlns);\n }\n container.addChildNode(mapNode);\n }\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(\"entry\");\n addKeyValue(entry, key, val);\n (containerIsMap ? container : mapNode).addChildNode(entry);\n }\n }\n }\n }\n writeSimple(_schema, value) {\n if (null === value) {\n throw new Error(\"@aws-sdk/core/protocols - (XML serializer) cannot write null value.\");\n }\n const ns = NormalizedSchema.of(_schema);\n let nodeContents = null;\n if (value && typeof value === \"object\") {\n if (ns.isBlobSchema()) {\n nodeContents = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n else if (ns.isTimestampSchema() && value instanceof Date) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n nodeContents = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n nodeContents = dateToUtcString(value);\n break;\n case 7:\n nodeContents = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using http date\", value);\n nodeContents = dateToUtcString(value);\n break;\n }\n }\n else if (ns.isBigDecimalSchema() && value) {\n if (value instanceof NumericValue) {\n return value.string;\n }\n return String(value);\n }\n else if (ns.isMapSchema() || ns.isListSchema()) {\n throw new Error(\"@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.\");\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);\n }\n }\n if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {\n nodeContents = String(value);\n }\n if (ns.isStringSchema()) {\n if (value === undefined && ns.isIdempotencyToken()) {\n nodeContents = generateIdempotencyToken();\n }\n else {\n nodeContents = String(value);\n }\n }\n if (nodeContents === null) {\n throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);\n }\n return nodeContents;\n }\n writeSimpleInto(_schema, value, into, parentXmlns) {\n const nodeContents = this.writeSimple(_schema, value);\n const ns = NormalizedSchema.of(_schema);\n const content = new XmlText(nodeContents);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n if (xmlns) {\n into.addAttribute(xmlnsAttr, xmlns);\n }\n into.addChildNode(content);\n }\n getXmlnsAttribute(ns, parentXmlns) {\n const traits = ns.getMergedTraits();\n const [prefix, xmlns] = traits.xmlNamespace ?? [];\n if (xmlns && xmlns !== parentXmlns) {\n return [prefix ? `xmlns:${prefix}` : \"xmlns\", xmlns];\n }\n return [void 0, void 0];\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { XmlShapeDeserializer } from \"./XmlShapeDeserializer\";\nimport { XmlShapeSerializer } from \"./XmlShapeSerializer\";\nexport class XmlCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new XmlShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new XmlShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { loadRestXmlErrorCode } from \"./parseXmlBody\";\nimport { XmlCodec } from \"./XmlCodec\";\nexport class AwsRestXmlProtocol extends HttpBindingProtocol {\n codec;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super(options);\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: true,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n };\n this.codec = new XmlCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getPayloadCodec() {\n return this.codec;\n }\n getShapeId() {\n return \"aws.protocols#restXml\";\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (typeof request.body === \"string\" &&\n request.headers[\"content-type\"] === this.getDefaultContentType() &&\n !request.body.startsWith(\"' + request.body;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? \"Unknown\";\n if (dataObject.Error && typeof dataObject.Error === \"object\") {\n for (const key of Object.keys(dataObject.Error)) {\n dataObject[key] = dataObject.Error[key];\n if (key.toLowerCase() === \"message\") {\n dataObject.message = dataObject.Error[key];\n }\n }\n }\n if (dataObject.RequestId && !metadata.requestId) {\n metadata.requestId = dataObject.RequestId;\n }\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = dataObject.Error?.[target] ?? dataObject[target];\n output[name] = this.codec.createDeserializer().readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/xml\";\n }\n hasUnstructuredPayloadBinding(ns) {\n for (const [, member] of ns.structIterator()) {\n if (member.getMergedTraits().httpPayload) {\n return !(member.isStructSchema() || member.isMapSchema() || member.isListSchema());\n }\n }\n return false;\n }\n}\n", "export * from \"./cbor/AwsSmithyRpcV2CborProtocol\";\nexport * from \"./coercing-serializers\";\nexport * from \"./json/AwsJson1_0Protocol\";\nexport * from \"./json/AwsJson1_1Protocol\";\nexport * from \"./json/AwsJsonRpcProtocol\";\nexport * from \"./json/AwsRestJsonProtocol\";\nexport * from \"./json/JsonCodec\";\nexport * from \"./json/JsonShapeDeserializer\";\nexport * from \"./json/JsonShapeSerializer\";\nexport * from \"./json/awsExpectUnion\";\nexport * from \"./json/parseJsonBody\";\nexport * from \"./query/AwsEc2QueryProtocol\";\nexport * from \"./query/AwsQueryProtocol\";\nexport * from \"./query/QuerySerializerSettings\";\nexport * from \"./query/QueryShapeSerializer\";\nexport * from \"./xml/AwsRestXmlProtocol\";\nexport * from \"./xml/XmlCodec\";\nexport * from \"./xml/XmlShapeDeserializer\";\nexport * from \"./xml/XmlShapeSerializer\";\nexport * from \"./xml/parseXmlBody\";\n", "export * from \"./submodules/client/index\";\nexport * from \"./submodules/httpAuthSchemes/index\";\nexport * from \"./submodules/protocols/index\";\n", "import { DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from \"./constants\";\nexport const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember, requestChecksumCalculation }) => {\n if (!requestAlgorithmMember) {\n return requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired\n ? DEFAULT_CHECKSUM_ALGORITHM\n : undefined;\n }\n if (!input[requestAlgorithmMember]) {\n return undefined;\n }\n const checksumAlgorithm = input[requestAlgorithmMember];\n return checksumAlgorithm;\n};\n", "import { ChecksumAlgorithm } from \"./constants\";\nexport const getChecksumLocationName = (algorithm) => algorithm === ChecksumAlgorithm.MD5 ? \"content-md5\" : `x-amz-checksum-${algorithm.toLowerCase()}`;\n", "export const hasHeader = (header, headers) => {\n const soughtHeader = header.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\n", "export const hasHeaderWithPrefix = (headerPrefix, headers) => {\n const soughtHeaderPrefix = headerPrefix.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase().startsWith(soughtHeaderPrefix)) {\n return true;\n }\n }\n return false;\n};\n", "import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nexport const isStreaming = (body) => body !== undefined && typeof body !== \"string\" && !ArrayBuffer.isView(body) && !isArrayBuffer(body);\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "export const fromUtf8 = (input) => new TextEncoder().encode(input);\n", "import { fromUtf8 } from \"./fromUtf8\";\nexport const toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\n", "export const toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return new TextDecoder(\"utf-8\").decode(input);\n};\n", "export * from \"./fromUtf8\";\nexport * from \"./toUint8Array\";\nexport * from \"./toUtf8\";\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n\n// Quick polyfill\nconst fromUtf8 =\n typeof Buffer !== \"undefined\" && Buffer.from\n ? (input: string) => Buffer.from(input, \"utf8\")\n : fromUtf8Browser;\n\nexport function convertToBuffer(data: SourceData): Uint8Array {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array) return data;\n\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function numToUint8(num: number) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable: Array): Uint32Array {\n if (!Uint32Array.from) {\n const return_array = new Uint32Array(a_lookUpTable.length)\n let a_index = 0\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index]\n a_index += 1\n }\n return return_array\n }\n return Uint32Array.from(a_lookUpTable)\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { convertToBuffer } from \"./convertToBuffer\";\nexport { isEmptyData } from \"./isEmptyData\";\nexport { numToUint8 } from \"./numToUint8\";\nexport {uint32ArrayFrom} from './uint32ArrayFrom';\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32c } from \"./index\";\n\nexport class AwsCrc32c implements Checksum {\n private crc32c = new Crc32c();\n\n update(toHash: SourceData) {\n if (isEmptyData(toHash)) return;\n\n this.crc32c.update(convertToBuffer(toHash));\n }\n\n async digest(): Promise {\n return numToUint8(this.crc32c.digest());\n }\n\n reset(): void {\n this.crc32c = new Crc32c();\n }\n}\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {uint32ArrayFrom} from \"@aws-crypto/util\";\n\nexport function crc32c(data: Uint8Array): number {\n return new Crc32c().update(data).digest();\n}\n\nexport class Crc32c {\n private checksum = 0xffffffff;\n\n update(data: Uint8Array): this {\n for (const byte of data) {\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n\n return this;\n }\n\n digest(): number {\n return (this.checksum ^ 0xffffffff) >>> 0;\n }\n}\n\n// prettier-ignore\nconst a_lookupTable = [\n 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,\n 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,\n 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,\n 0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,\n 0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,\n 0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,\n 0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,\n 0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,\n 0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,\n 0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,\n 0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,\n 0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,\n 0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,\n 0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,\n 0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,\n 0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,\n 0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,\n 0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,\n 0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,\n 0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,\n 0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,\n 0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,\n 0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,\n 0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,\n 0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,\n 0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,\n 0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,\n 0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,\n 0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,\n 0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,\n 0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,\n 0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,\n];\n\nconst lookupTable: Uint32Array = uint32ArrayFrom(a_lookupTable)\nexport { AwsCrc32c } from \"./aws_crc32c\";\n", "const generateCRC64NVMETable = () => {\n const sliceLength = 8;\n const tables = new Array(sliceLength);\n for (let slice = 0; slice < sliceLength; slice++) {\n const table = new Array(512);\n for (let i = 0; i < 256; i++) {\n let crc = BigInt(i);\n for (let j = 0; j < 8 * (slice + 1); j++) {\n if (crc & 1n) {\n crc = (crc >> 1n) ^ 0x9a6c9329ac4bc9b5n;\n }\n else {\n crc = crc >> 1n;\n }\n }\n table[i * 2] = Number((crc >> 32n) & 0xffffffffn);\n table[i * 2 + 1] = Number(crc & 0xffffffffn);\n }\n tables[slice] = new Uint32Array(table);\n }\n return tables;\n};\nlet CRC64_NVME_REVERSED_TABLE;\nlet t0, t1, t2, t3;\nlet t4, t5, t6, t7;\nconst ensureTablesInitialized = () => {\n if (!CRC64_NVME_REVERSED_TABLE) {\n CRC64_NVME_REVERSED_TABLE = generateCRC64NVMETable();\n [t0, t1, t2, t3, t4, t5, t6, t7] = CRC64_NVME_REVERSED_TABLE;\n }\n};\nexport class Crc64Nvme {\n c1 = 0;\n c2 = 0;\n constructor() {\n ensureTablesInitialized();\n this.reset();\n }\n update(data) {\n const len = data.length;\n let i = 0;\n let crc1 = this.c1;\n let crc2 = this.c2;\n while (i + 8 <= len) {\n const idx0 = ((crc2 ^ data[i++]) & 255) << 1;\n const idx1 = (((crc2 >>> 8) ^ data[i++]) & 255) << 1;\n const idx2 = (((crc2 >>> 16) ^ data[i++]) & 255) << 1;\n const idx3 = (((crc2 >>> 24) ^ data[i++]) & 255) << 1;\n const idx4 = ((crc1 ^ data[i++]) & 255) << 1;\n const idx5 = (((crc1 >>> 8) ^ data[i++]) & 255) << 1;\n const idx6 = (((crc1 >>> 16) ^ data[i++]) & 255) << 1;\n const idx7 = (((crc1 >>> 24) ^ data[i++]) & 255) << 1;\n crc1 = t7[idx0] ^ t6[idx1] ^ t5[idx2] ^ t4[idx3] ^ t3[idx4] ^ t2[idx5] ^ t1[idx6] ^ t0[idx7];\n crc2 =\n t7[idx0 + 1] ^\n t6[idx1 + 1] ^\n t5[idx2 + 1] ^\n t4[idx3 + 1] ^\n t3[idx4 + 1] ^\n t2[idx5 + 1] ^\n t1[idx6 + 1] ^\n t0[idx7 + 1];\n }\n while (i < len) {\n const idx = ((crc2 ^ data[i]) & 255) << 1;\n crc2 = ((crc2 >>> 8) | ((crc1 & 255) << 24)) >>> 0;\n crc1 = (crc1 >>> 8) ^ t0[idx];\n crc2 ^= t0[idx + 1];\n i++;\n }\n this.c1 = crc1;\n this.c2 = crc2;\n }\n async digest() {\n const c1 = this.c1 ^ 4294967295;\n const c2 = this.c2 ^ 4294967295;\n return new Uint8Array([\n c1 >>> 24,\n (c1 >>> 16) & 255,\n (c1 >>> 8) & 255,\n c1 & 255,\n c2 >>> 24,\n (c2 >>> 16) & 255,\n (c2 >>> 8) & 255,\n c2 & 255,\n ]);\n }\n reset() {\n this.c1 = 4294967295;\n this.c2 = 4294967295;\n }\n}\n", "export const crc64NvmeCrtContainer = {\n CrtCrc64Nvme: null,\n};\n", "export * from \"./Crc64Nvme\";\nexport * from \"./crc64-nvme-crt-container\";\n", "// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData, Checksum } from \"@aws-sdk/types\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32 } from \"./index\";\n\nexport class AwsCrc32 implements Checksum {\n private crc32 = new Crc32();\n\n update(toHash: SourceData) {\n if (isEmptyData(toHash)) return;\n\n this.crc32.update(convertToBuffer(toHash));\n }\n\n async digest(): Promise {\n return numToUint8(this.crc32.digest());\n }\n\n reset(): void {\n this.crc32 = new Crc32();\n }\n}\n", "import {uint32ArrayFrom} from \"@aws-crypto/util\";\n\nexport function crc32(data: Uint8Array): number {\n return new Crc32().update(data).digest();\n}\n\nexport class Crc32 {\n private checksum = 0xffffffff;\n\n update(data: Uint8Array): this {\n for (const byte of data) {\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n\n return this;\n }\n\n digest(): number {\n return (this.checksum ^ 0xffffffff) >>> 0;\n }\n}\n\n// prettier-ignore\nconst a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nconst lookupTable: Uint32Array = uint32ArrayFrom(a_lookUpTable)\nexport { AwsCrc32 } from \"./aws_crc32\";\n", "import { AwsCrc32 } from \"@aws-crypto/crc32\";\nexport const getCrc32ChecksumAlgorithmFunction = () => AwsCrc32;\n", "import { ChecksumAlgorithm } from \"./constants\";\nexport const CLIENT_SUPPORTED_ALGORITHMS = [\n ChecksumAlgorithm.CRC32,\n ChecksumAlgorithm.CRC32C,\n ChecksumAlgorithm.CRC64NVME,\n ChecksumAlgorithm.SHA1,\n ChecksumAlgorithm.SHA256,\n];\nexport const PRIORITY_ORDER_ALGORITHMS = [\n ChecksumAlgorithm.SHA256,\n ChecksumAlgorithm.SHA1,\n ChecksumAlgorithm.CRC32,\n ChecksumAlgorithm.CRC32C,\n ChecksumAlgorithm.CRC64NVME,\n];\n", "import { AwsCrc32c } from \"@aws-crypto/crc32c\";\nimport { Crc64Nvme, crc64NvmeCrtContainer } from \"@aws-sdk/crc64-nvme\";\nimport { ChecksumAlgorithm } from \"./constants\";\nimport { getCrc32ChecksumAlgorithmFunction } from \"./getCrc32ChecksumAlgorithmFunction\";\nimport { CLIENT_SUPPORTED_ALGORITHMS } from \"./types\";\nexport const selectChecksumAlgorithmFunction = (checksumAlgorithm, config) => {\n const { checksumAlgorithms = {} } = config;\n switch (checksumAlgorithm) {\n case ChecksumAlgorithm.MD5:\n return checksumAlgorithms?.MD5 ?? config.md5;\n case ChecksumAlgorithm.CRC32:\n return checksumAlgorithms?.CRC32 ?? getCrc32ChecksumAlgorithmFunction();\n case ChecksumAlgorithm.CRC32C:\n return checksumAlgorithms?.CRC32C ?? AwsCrc32c;\n case ChecksumAlgorithm.CRC64NVME:\n if (typeof crc64NvmeCrtContainer.CrtCrc64Nvme !== \"function\") {\n return checksumAlgorithms?.CRC64NVME ?? Crc64Nvme;\n }\n return checksumAlgorithms?.CRC64NVME ?? crc64NvmeCrtContainer.CrtCrc64Nvme;\n case ChecksumAlgorithm.SHA1:\n return checksumAlgorithms?.SHA1 ?? config.sha1;\n case ChecksumAlgorithm.SHA256:\n return checksumAlgorithms?.SHA256 ?? config.sha256;\n default:\n if (checksumAlgorithms?.[checksumAlgorithm]) {\n return checksumAlgorithms[checksumAlgorithm];\n }\n throw new Error(`The checksum algorithm \"${checksumAlgorithm}\" is not supported by the client.` +\n ` Select one of ${CLIENT_SUPPORTED_ALGORITHMS}, or provide an implementation to ` +\n ` the client constructor checksums field.`);\n }\n};\n", "import { toUint8Array } from \"@smithy/util-utf8\";\nexport const stringHasher = (checksumAlgorithmFn, body) => {\n const hash = new checksumAlgorithmFn();\n hash.update(toUint8Array(body || \"\"));\n return hash.digest();\n};\n", "import { setFeature } from \"@aws-sdk/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { createBufferedReadable } from \"@smithy/util-stream\";\nimport { ChecksumAlgorithm, DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from \"./constants\";\nimport { getChecksumAlgorithmForRequest } from \"./getChecksumAlgorithmForRequest\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { hasHeader } from \"./hasHeader\";\nimport { hasHeaderWithPrefix } from \"./hasHeaderWithPrefix\";\nimport { isStreaming } from \"./isStreaming\";\nimport { selectChecksumAlgorithmFunction } from \"./selectChecksumAlgorithmFunction\";\nimport { stringHasher } from \"./stringHasher\";\nexport const flexibleChecksumsMiddlewareOptions = {\n name: \"flexibleChecksumsMiddleware\",\n step: \"build\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n if (hasHeaderWithPrefix(\"x-amz-checksum-\", args.request.headers)) {\n return next(args);\n }\n const { request, input } = args;\n const { body: requestBody, headers } = request;\n const { base64Encoder, streamHasher } = config;\n const { requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;\n const requestChecksumCalculation = await config.requestChecksumCalculation();\n const requestAlgorithmMemberName = requestAlgorithmMember?.name;\n const requestAlgorithmMemberHttpHeader = requestAlgorithmMember?.httpHeader;\n if (requestAlgorithmMemberName && !input[requestAlgorithmMemberName]) {\n if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired) {\n input[requestAlgorithmMemberName] = DEFAULT_CHECKSUM_ALGORITHM;\n if (requestAlgorithmMemberHttpHeader) {\n headers[requestAlgorithmMemberHttpHeader] = DEFAULT_CHECKSUM_ALGORITHM;\n }\n }\n }\n const checksumAlgorithm = getChecksumAlgorithmForRequest(input, {\n requestChecksumRequired,\n requestAlgorithmMember: requestAlgorithmMember?.name,\n requestChecksumCalculation,\n });\n let updatedBody = requestBody;\n let updatedHeaders = headers;\n if (checksumAlgorithm) {\n switch (checksumAlgorithm) {\n case ChecksumAlgorithm.CRC32:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC32\", \"U\");\n break;\n case ChecksumAlgorithm.CRC32C:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC32C\", \"V\");\n break;\n case ChecksumAlgorithm.CRC64NVME:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC64\", \"W\");\n break;\n case ChecksumAlgorithm.SHA1:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_SHA1\", \"X\");\n break;\n case ChecksumAlgorithm.SHA256:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_SHA256\", \"Y\");\n break;\n }\n const checksumLocationName = getChecksumLocationName(checksumAlgorithm);\n const checksumAlgorithmFn = selectChecksumAlgorithmFunction(checksumAlgorithm, config);\n if (isStreaming(requestBody)) {\n const { getAwsChunkedEncodingStream, bodyLengthChecker } = config;\n updatedBody = getAwsChunkedEncodingStream(typeof config.requestStreamBufferSize === \"number\" && config.requestStreamBufferSize >= 8 * 1024\n ? createBufferedReadable(requestBody, config.requestStreamBufferSize, context.logger)\n : requestBody, {\n base64Encoder,\n bodyLengthChecker,\n checksumLocationName,\n checksumAlgorithmFn,\n streamHasher,\n });\n updatedHeaders = {\n ...headers,\n \"content-encoding\": headers[\"content-encoding\"]\n ? `${headers[\"content-encoding\"]},aws-chunked`\n : \"aws-chunked\",\n \"transfer-encoding\": \"chunked\",\n \"x-amz-decoded-content-length\": headers[\"content-length\"],\n \"x-amz-content-sha256\": \"STREAMING-UNSIGNED-PAYLOAD-TRAILER\",\n \"x-amz-trailer\": checksumLocationName,\n };\n delete updatedHeaders[\"content-length\"];\n }\n else if (!hasHeader(checksumLocationName, headers)) {\n const rawChecksum = await stringHasher(checksumAlgorithmFn, requestBody);\n updatedHeaders = {\n ...headers,\n [checksumLocationName]: base64Encoder(rawChecksum),\n };\n }\n }\n try {\n const result = await next({\n ...args,\n request: {\n ...request,\n headers: updatedHeaders,\n body: updatedBody,\n },\n });\n return result;\n }\n catch (e) {\n if (e instanceof Error && e.name === \"InvalidChunkSizeError\") {\n try {\n if (!e.message.endsWith(\".\")) {\n e.message += \".\";\n }\n e.message +=\n \" Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream.\";\n }\n catch (ignored) {\n }\n }\n throw e;\n }\n};\n", "import { setFeature } from \"@aws-sdk/core\";\nimport { RequestChecksumCalculation, ResponseChecksumValidation } from \"./constants\";\nexport const flexibleChecksumsInputMiddlewareOptions = {\n name: \"flexibleChecksumsInputMiddleware\",\n toMiddleware: \"serializerMiddleware\",\n relation: \"before\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsInputMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n const input = args.input;\n const { requestValidationModeMember } = middlewareConfig;\n const requestChecksumCalculation = await config.requestChecksumCalculation();\n const responseChecksumValidation = await config.responseChecksumValidation();\n switch (requestChecksumCalculation) {\n case RequestChecksumCalculation.WHEN_REQUIRED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED\", \"a\");\n break;\n case RequestChecksumCalculation.WHEN_SUPPORTED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED\", \"Z\");\n break;\n }\n switch (responseChecksumValidation) {\n case ResponseChecksumValidation.WHEN_REQUIRED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED\", \"c\");\n break;\n case ResponseChecksumValidation.WHEN_SUPPORTED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED\", \"b\");\n break;\n }\n if (requestValidationModeMember && !input[requestValidationModeMember]) {\n if (responseChecksumValidation === ResponseChecksumValidation.WHEN_SUPPORTED) {\n input[requestValidationModeMember] = \"ENABLED\";\n }\n }\n return next(args);\n};\n", "import { CLIENT_SUPPORTED_ALGORITHMS, PRIORITY_ORDER_ALGORITHMS } from \"./types\";\nexport const getChecksumAlgorithmListForResponse = (responseAlgorithms = []) => {\n const validChecksumAlgorithms = [];\n for (const algorithm of PRIORITY_ORDER_ALGORITHMS) {\n if (!responseAlgorithms.includes(algorithm) || !CLIENT_SUPPORTED_ALGORITHMS.includes(algorithm)) {\n continue;\n }\n validChecksumAlgorithms.push(algorithm);\n }\n return validChecksumAlgorithms;\n};\n", "export const isChecksumWithPartNumber = (checksum) => {\n const lastHyphenIndex = checksum.lastIndexOf(\"-\");\n if (lastHyphenIndex !== -1) {\n const numberPart = checksum.slice(lastHyphenIndex + 1);\n if (!numberPart.startsWith(\"0\")) {\n const number = parseInt(numberPart, 10);\n if (!isNaN(number) && number >= 1 && number <= 10000) {\n return true;\n }\n }\n }\n return false;\n};\n", "import { stringHasher } from \"./stringHasher\";\nexport const getChecksum = async (body, { checksumAlgorithmFn, base64Encoder }) => base64Encoder(await stringHasher(checksumAlgorithmFn, body));\n", "import { createChecksumStream } from \"@smithy/util-stream\";\nimport { ChecksumAlgorithm } from \"./constants\";\nimport { getChecksum } from \"./getChecksum\";\nimport { getChecksumAlgorithmListForResponse } from \"./getChecksumAlgorithmListForResponse\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { isStreaming } from \"./isStreaming\";\nimport { selectChecksumAlgorithmFunction } from \"./selectChecksumAlgorithmFunction\";\nexport const validateChecksumFromResponse = async (response, { config, responseAlgorithms, logger }) => {\n const checksumAlgorithms = getChecksumAlgorithmListForResponse(responseAlgorithms);\n const { body: responseBody, headers: responseHeaders } = response;\n for (const algorithm of checksumAlgorithms) {\n const responseHeader = getChecksumLocationName(algorithm);\n const checksumFromResponse = responseHeaders[responseHeader];\n if (checksumFromResponse) {\n let checksumAlgorithmFn;\n try {\n checksumAlgorithmFn = selectChecksumAlgorithmFunction(algorithm, config);\n }\n catch (error) {\n if (algorithm === ChecksumAlgorithm.CRC64NVME) {\n logger?.warn(`Skipping ${ChecksumAlgorithm.CRC64NVME} checksum validation: ${error.message}`);\n continue;\n }\n throw error;\n }\n const { base64Encoder } = config;\n if (isStreaming(responseBody)) {\n response.body = createChecksumStream({\n expectedChecksum: checksumFromResponse,\n checksumSourceLocation: responseHeader,\n checksum: new checksumAlgorithmFn(),\n source: responseBody,\n base64Encoder,\n });\n return;\n }\n const checksum = await getChecksum(responseBody, { checksumAlgorithmFn, base64Encoder });\n if (checksum === checksumFromResponse) {\n break;\n }\n throw new Error(`Checksum mismatch: expected \"${checksum}\" but received \"${checksumFromResponse}\"` +\n ` in response header \"${responseHeader}\".`);\n }\n }\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getChecksumAlgorithmListForResponse } from \"./getChecksumAlgorithmListForResponse\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { isChecksumWithPartNumber } from \"./isChecksumWithPartNumber\";\nimport { validateChecksumFromResponse } from \"./validateChecksumFromResponse\";\nexport const flexibleChecksumsResponseMiddlewareOptions = {\n name: \"flexibleChecksumsResponseMiddleware\",\n toMiddleware: \"deserializerMiddleware\",\n relation: \"after\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsResponseMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const input = args.input;\n const result = await next(args);\n const response = result.response;\n const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;\n if (requestValidationModeMember && input[requestValidationModeMember] === \"ENABLED\") {\n const { clientName, commandName } = context;\n const isS3WholeObjectMultipartGetResponseChecksum = clientName === \"S3Client\" &&\n commandName === \"GetObjectCommand\" &&\n getChecksumAlgorithmListForResponse(responseAlgorithms).every((algorithm) => {\n const responseHeader = getChecksumLocationName(algorithm);\n const checksumFromResponse = response.headers[responseHeader];\n return !checksumFromResponse || isChecksumWithPartNumber(checksumFromResponse);\n });\n if (isS3WholeObjectMultipartGetResponseChecksum) {\n return result;\n }\n await validateChecksumFromResponse(response, {\n config,\n responseAlgorithms,\n logger: context.logger,\n });\n }\n return result;\n};\n", "import { flexibleChecksumsInputMiddleware, flexibleChecksumsInputMiddlewareOptions, } from \"./flexibleChecksumsInputMiddleware\";\nimport { flexibleChecksumsMiddleware, flexibleChecksumsMiddlewareOptions } from \"./flexibleChecksumsMiddleware\";\nimport { flexibleChecksumsResponseMiddleware, flexibleChecksumsResponseMiddlewareOptions, } from \"./flexibleChecksumsResponseMiddleware\";\nexport const getFlexibleChecksumsPlugin = (config, middlewareConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.add(flexibleChecksumsMiddleware(config, middlewareConfig), flexibleChecksumsMiddlewareOptions);\n clientStack.addRelativeTo(flexibleChecksumsInputMiddleware(config, middlewareConfig), flexibleChecksumsInputMiddlewareOptions);\n clientStack.addRelativeTo(flexibleChecksumsResponseMiddleware(config, middlewareConfig), flexibleChecksumsResponseMiddlewareOptions);\n },\n});\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { DEFAULT_REQUEST_CHECKSUM_CALCULATION, DEFAULT_RESPONSE_CHECKSUM_VALIDATION } from \"./constants\";\nexport const resolveFlexibleChecksumsConfig = (input) => {\n const { requestChecksumCalculation, responseChecksumValidation, requestStreamBufferSize } = input;\n return Object.assign(input, {\n requestChecksumCalculation: normalizeProvider(requestChecksumCalculation ?? DEFAULT_REQUEST_CHECKSUM_CALCULATION),\n responseChecksumValidation: normalizeProvider(responseChecksumValidation ?? DEFAULT_RESPONSE_CHECKSUM_VALIDATION),\n requestStreamBufferSize: Number(requestStreamBufferSize ?? 0),\n checksumAlgorithms: input.checksumAlgorithms ?? {},\n });\n};\n", "export * from \"./NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS\";\nexport * from \"./NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS\";\nexport * from \"./constants\";\nexport * from \"./flexibleChecksumsMiddleware\";\nexport * from \"./getFlexibleChecksumsPlugin\";\nexport * from \"./resolveFlexibleChecksumsConfig\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport function resolveHostHeaderConfig(input) {\n return input;\n}\nexport const hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!HttpRequest.isInstance(args.request))\n return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = request.hostname + (request.port ? \":\" + request.port : \"\");\n }\n else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null)\n host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n};\nexport const hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nexport const getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n", "export const loggerMiddleware = () => (next, context) => async (args) => {\n try {\n const response = await next(args);\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger?.info?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n return response;\n }\n catch (error) {\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n logger?.error?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n error,\n metadata: error.$metadata,\n });\n throw error;\n }\n};\nexport const loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nexport const getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n", "export * from \"./loggerMiddleware\";\n", "export const recursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\n", "export const recursionDetectionMiddleware = () => (next) => async (args) => next(args);\n", "import { recursionDetectionMiddlewareOptions } from \"./configuration\";\nimport { recursionDetectionMiddleware } from \"./recursionDetectionMiddleware\";\nexport const getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(recursionDetectionMiddleware(), recursionDetectionMiddlewareOptions);\n },\n});\n", "export * from \"./getRecursionDetectionPlugin\";\nexport * from \"./recursionDetectionMiddleware\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nconst DECODED_CONTENT_LENGTH_HEADER = \"x-amz-decoded-content-length\";\nexport function checkContentLengthHeader() {\n return (next, context) => async (args) => {\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n if (!(CONTENT_LENGTH_HEADER in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) {\n const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;\n if (typeof context?.logger?.warn === \"function\" && !(context.logger instanceof NoOpLogger)) {\n context.logger.warn(message);\n }\n else {\n console.warn(message);\n }\n }\n }\n return next({ ...args });\n };\n}\nexport const checkContentLengthHeaderMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"CHECK_CONTENT_LENGTH_HEADER\"],\n name: \"getCheckContentLengthHeaderPlugin\",\n override: true,\n};\nexport const getCheckContentLengthHeaderPlugin = (unused) => ({\n applyToStack: (clientStack) => {\n clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions);\n },\n});\n", "export const regionRedirectEndpointMiddleware = (config) => {\n return (next, context) => async (args) => {\n const originalRegion = await config.region();\n const regionProviderRef = config.region;\n let unlock = () => { };\n if (context.__s3RegionRedirect) {\n Object.defineProperty(config, \"region\", {\n writable: false,\n value: async () => {\n return context.__s3RegionRedirect;\n },\n });\n unlock = () => Object.defineProperty(config, \"region\", {\n writable: true,\n value: regionProviderRef,\n });\n }\n try {\n const result = await next(args);\n if (context.__s3RegionRedirect) {\n unlock();\n const region = await config.region();\n if (originalRegion !== region) {\n throw new Error(\"Region was not restored following S3 region redirect.\");\n }\n }\n return result;\n }\n catch (e) {\n unlock();\n throw e;\n }\n };\n};\nexport const regionRedirectEndpointMiddlewareOptions = {\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectEndpointMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\n", "import { regionRedirectEndpointMiddleware, regionRedirectEndpointMiddlewareOptions, } from \"./region-redirect-endpoint-middleware\";\nexport function regionRedirectMiddleware(clientConfig) {\n return (next, context) => async (args) => {\n try {\n return await next(args);\n }\n catch (err) {\n if (clientConfig.followRegionRedirects) {\n const statusCode = err?.$metadata?.httpStatusCode;\n const isHeadBucket = context.commandName === \"HeadBucketCommand\";\n const bucketRegionHeader = err?.$response?.headers?.[\"x-amz-bucket-region\"];\n if (bucketRegionHeader) {\n if (statusCode === 301 ||\n (statusCode === 400 && (err?.name === \"IllegalLocationConstraintException\" || isHeadBucket))) {\n try {\n const actualRegion = bucketRegionHeader;\n context.logger?.debug(`Redirecting from ${await clientConfig.region()} to ${actualRegion}`);\n context.__s3RegionRedirect = actualRegion;\n }\n catch (e) {\n throw new Error(\"Region redirect failed: \" + e);\n }\n return next(args);\n }\n }\n }\n throw err;\n }\n };\n}\nexport const regionRedirectMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectMiddleware\",\n override: true,\n};\nexport const getRegionRedirectMiddlewarePlugin = (clientConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.add(regionRedirectMiddleware(clientConfig), regionRedirectMiddlewareOptions);\n clientStack.addRelativeTo(regionRedirectEndpointMiddleware(clientConfig), regionRedirectEndpointMiddlewareOptions);\n },\n});\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { parseRfc7231DateTime } from \"@smithy/smithy-client\";\nexport const s3ExpiresMiddleware = (config) => {\n return (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (HttpResponse.isInstance(response)) {\n if (response.headers.expires) {\n response.headers.expiresstring = response.headers.expires;\n try {\n parseRfc7231DateTime(response.headers.expires);\n }\n catch (e) {\n context.logger?.warn(`AWS SDK Warning for ${context.clientName}::${context.commandName} response parsing (${response.headers.expires}): ${e}`);\n delete response.headers.expires;\n }\n }\n }\n return result;\n };\n};\nexport const s3ExpiresMiddlewareOptions = {\n tags: [\"S3\"],\n name: \"s3ExpiresMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n};\nexport const getS3ExpiresMiddlewarePlugin = (clientConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(s3ExpiresMiddleware(clientConfig), s3ExpiresMiddlewareOptions);\n },\n});\n", "export class S3ExpressIdentityCache {\n data;\n lastPurgeTime = Date.now();\n static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS = 30_000;\n constructor(data = {}) {\n this.data = data;\n }\n get(key) {\n const entry = this.data[key];\n if (!entry) {\n return;\n }\n return entry;\n }\n set(key, entry) {\n this.data[key] = entry;\n return entry;\n }\n delete(key) {\n delete this.data[key];\n }\n async purgeExpired() {\n const now = Date.now();\n if (this.lastPurgeTime + S3ExpressIdentityCache.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS > now) {\n return;\n }\n for (const key in this.data) {\n const entry = this.data[key];\n if (!entry.isRefreshing) {\n const credential = await entry.identity;\n if (credential.expiration) {\n if (credential.expiration.getTime() < now) {\n delete this.data[key];\n }\n }\n }\n }\n }\n}\n", "export class S3ExpressIdentityCacheEntry {\n _identity;\n isRefreshing;\n accessed;\n constructor(_identity, isRefreshing = false, accessed = Date.now()) {\n this._identity = _identity;\n this.isRefreshing = isRefreshing;\n this.accessed = accessed;\n }\n get identity() {\n this.accessed = Date.now();\n return this._identity;\n }\n}\n", "import { S3ExpressIdentityCache } from \"./S3ExpressIdentityCache\";\nimport { S3ExpressIdentityCacheEntry } from \"./S3ExpressIdentityCacheEntry\";\nexport class S3ExpressIdentityProviderImpl {\n createSessionFn;\n cache;\n static REFRESH_WINDOW_MS = 60_000;\n constructor(createSessionFn, cache = new S3ExpressIdentityCache()) {\n this.createSessionFn = createSessionFn;\n this.cache = cache;\n }\n async getS3ExpressIdentity(awsIdentity, identityProperties) {\n const key = identityProperties.Bucket;\n const { cache } = this;\n const entry = cache.get(key);\n if (entry) {\n return entry.identity.then((identity) => {\n const isExpired = (identity.expiration?.getTime() ?? 0) < Date.now();\n if (isExpired) {\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n const isExpiringSoon = (identity.expiration?.getTime() ?? 0) < Date.now() + S3ExpressIdentityProviderImpl.REFRESH_WINDOW_MS;\n if (isExpiringSoon && !entry.isRefreshing) {\n entry.isRefreshing = true;\n this.getIdentity(key).then((id) => {\n cache.set(key, new S3ExpressIdentityCacheEntry(Promise.resolve(id)));\n });\n }\n return identity;\n });\n }\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n async getIdentity(key) {\n await this.cache.purgeExpired().catch((error) => {\n console.warn(\"Error while clearing expired entries in S3ExpressIdentityCache: \\n\" + error);\n });\n const session = await this.createSessionFn(key);\n if (!session.Credentials?.AccessKeyId || !session.Credentials?.SecretAccessKey) {\n throw new Error(\"s3#createSession response credential missing AccessKeyId or SecretAccessKey.\");\n }\n const identity = {\n accessKeyId: session.Credentials.AccessKeyId,\n secretAccessKey: session.Credentials.SecretAccessKey,\n sessionToken: session.Credentials.SessionToken,\n expiration: session.Credentials.Expiration ? new Date(session.Credentials.Expiration) : undefined,\n };\n return identity;\n }\n}\n", "import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const S3_EXPRESS_BUCKET_TYPE = \"Directory\";\nexport const S3_EXPRESS_BACKEND = \"S3Express\";\nexport const S3_EXPRESS_AUTH_SCHEME = \"sigv4-s3express\";\nexport const SESSION_TOKEN_QUERY_PARAM = \"X-Amz-S3session-Token\";\nexport const SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase();\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME = \"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH\";\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME = \"s3_disable_express_session_auth\";\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, SelectorType.CONFIG),\n default: false,\n};\n", "import { SignatureV4 } from \"@smithy/signature-v4\";\nimport { SESSION_TOKEN_HEADER, SESSION_TOKEN_QUERY_PARAM } from \"../constants\";\nexport class SignatureV4S3Express extends SignatureV4 {\n async signWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n requestToSign.headers[SESSION_TOKEN_HEADER] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return privateAccess.signRequest(requestToSign, options ?? {});\n }\n async presignWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n delete requestToSign.headers[SESSION_TOKEN_HEADER];\n requestToSign.headers[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n requestToSign.query = requestToSign.query ?? {};\n requestToSign.query[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return this.presign(requestToSign, options);\n }\n}\nfunction getCredentialsWithoutSessionToken(credentials) {\n const credentialsWithoutSessionToken = {\n accessKeyId: credentials.accessKeyId,\n secretAccessKey: credentials.secretAccessKey,\n expiration: credentials.expiration,\n };\n return credentialsWithoutSessionToken;\n}\nfunction setSingleOverride(privateAccess, credentialsWithoutSessionToken) {\n const id = setTimeout(() => {\n throw new Error(\"SignatureV4S3Express credential override was created but not called.\");\n }, 10);\n const currentCredentialProvider = privateAccess.credentialProvider;\n const overrideCredentialsProviderOnce = () => {\n clearTimeout(id);\n privateAccess.credentialProvider = currentCredentialProvider;\n return Promise.resolve(credentialsWithoutSessionToken);\n };\n privateAccess.credentialProvider = overrideCredentialsProviderOnce;\n}\n", "import { setFeature } from \"@aws-sdk/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { S3_EXPRESS_AUTH_SCHEME, S3_EXPRESS_BACKEND, S3_EXPRESS_BUCKET_TYPE, SESSION_TOKEN_HEADER } from \"../constants\";\nexport const s3ExpressMiddleware = (options) => {\n return (next, context) => async (args) => {\n if (context.endpointV2) {\n const endpoint = context.endpointV2;\n const isS3ExpressAuth = endpoint.properties?.authSchemes?.[0]?.name === S3_EXPRESS_AUTH_SCHEME;\n const isS3ExpressBucket = endpoint.properties?.backend === S3_EXPRESS_BACKEND ||\n endpoint.properties?.bucketType === S3_EXPRESS_BUCKET_TYPE;\n if (isS3ExpressBucket) {\n setFeature(context, \"S3_EXPRESS_BUCKET\", \"J\");\n context.isS3ExpressBucket = true;\n }\n if (isS3ExpressAuth) {\n const requestBucket = args.input.Bucket;\n if (requestBucket) {\n const s3ExpressIdentity = await options.s3ExpressIdentityProvider.getS3ExpressIdentity(await options.credentials(), {\n Bucket: requestBucket,\n });\n context.s3ExpressIdentity = s3ExpressIdentity;\n if (HttpRequest.isInstance(args.request) && s3ExpressIdentity.sessionToken) {\n args.request.headers[SESSION_TOKEN_HEADER] = s3ExpressIdentity.sessionToken;\n }\n }\n }\n }\n return next(args);\n };\n};\nexport const s3ExpressMiddlewareOptions = {\n name: \"s3ExpressMiddleware\",\n step: \"build\",\n tags: [\"S3\", \"S3_EXPRESS\"],\n override: true,\n};\nexport const getS3ExpressPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(s3ExpressMiddleware(options), s3ExpressMiddlewareOptions);\n },\n});\n", "export const signS3Express = async (s3ExpressIdentity, signingOptions, request, sigV4MultiRegionSigner) => {\n const signedRequest = await sigV4MultiRegionSigner.signWithCredentials(request, s3ExpressIdentity, {});\n if (signedRequest.headers[\"X-Amz-Security-Token\"] || signedRequest.headers[\"x-amz-security-token\"]) {\n throw new Error(\"X-Amz-Security-Token must not be set for s3-express requests.\");\n }\n return signedRequest;\n};\n", "import { httpSigningMiddlewareOptions } from \"@smithy/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { signS3Express } from \"./signS3Express\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const s3ExpressHttpSigningMiddlewareOptions = httpSigningMiddlewareOptions;\nexport const s3ExpressHttpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n let request;\n if (context.s3ExpressIdentity) {\n request = await signS3Express(context.s3ExpressIdentity, signingProperties, args.request, await config.signer());\n }\n else {\n request = await signer.sign(args.request, identity, signingProperties);\n }\n const output = await next({\n ...args,\n request,\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\nexport const getS3ExpressHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(s3ExpressHttpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n", "export { S3ExpressIdentityCache } from \"./classes/S3ExpressIdentityCache\";\nexport { S3ExpressIdentityCacheEntry } from \"./classes/S3ExpressIdentityCacheEntry\";\nexport { S3ExpressIdentityProviderImpl } from \"./classes/S3ExpressIdentityProviderImpl\";\nexport { SignatureV4S3Express } from \"./classes/SignatureV4S3Express\";\nexport { NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS } from \"./constants\";\nexport { getS3ExpressPlugin, s3ExpressMiddleware, s3ExpressMiddlewareOptions } from \"./functions/s3ExpressMiddleware\";\nexport { getS3ExpressHttpSigningPlugin, s3ExpressHttpSigningMiddleware, s3ExpressHttpSigningMiddlewareOptions, } from \"./functions/s3ExpressHttpSigningMiddleware\";\n", "import { S3ExpressIdentityProviderImpl } from \"./s3-express\";\nexport const resolveS3Config = (input, { session, }) => {\n const [s3ClientProvider, CreateSessionCommandCtor] = session;\n const { forcePathStyle, useAccelerateEndpoint, disableMultiregionAccessPoints, followRegionRedirects, s3ExpressIdentityProvider, bucketEndpoint, expectContinueHeader, } = input;\n return Object.assign(input, {\n forcePathStyle: forcePathStyle ?? false,\n useAccelerateEndpoint: useAccelerateEndpoint ?? false,\n disableMultiregionAccessPoints: disableMultiregionAccessPoints ?? false,\n followRegionRedirects: followRegionRedirects ?? false,\n s3ExpressIdentityProvider: s3ExpressIdentityProvider ??\n new S3ExpressIdentityProviderImpl(async (key) => s3ClientProvider().send(new CreateSessionCommandCtor({\n Bucket: key,\n }))),\n bucketEndpoint: bucketEndpoint ?? false,\n expectContinueHeader: expectContinueHeader ?? 2_097_152,\n });\n};\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { headStream, splitStream } from \"@smithy/util-stream\";\nconst THROW_IF_EMPTY_BODY = {\n CopyObjectCommand: true,\n UploadPartCopyCommand: true,\n CompleteMultipartUploadCommand: true,\n};\nconst MAX_BYTES_TO_INSPECT = 3000;\nexport const throw200ExceptionsMiddleware = (config) => (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (!HttpResponse.isInstance(response)) {\n return result;\n }\n const { statusCode, body: sourceBody } = response;\n if (statusCode < 200 || statusCode >= 300) {\n return result;\n }\n const isSplittableStream = typeof sourceBody?.stream === \"function\" ||\n typeof sourceBody?.pipe === \"function\" ||\n typeof sourceBody?.tee === \"function\";\n if (!isSplittableStream) {\n return result;\n }\n let bodyCopy = sourceBody;\n let body = sourceBody;\n if (sourceBody && typeof sourceBody === \"object\" && !(sourceBody instanceof Uint8Array)) {\n [bodyCopy, body] = await splitStream(sourceBody);\n }\n response.body = body;\n const bodyBytes = await collectBody(bodyCopy, {\n streamCollector: async (stream) => {\n return headStream(stream, MAX_BYTES_TO_INSPECT);\n },\n });\n if (typeof bodyCopy?.destroy === \"function\") {\n bodyCopy.destroy();\n }\n const bodyStringTail = config.utf8Encoder(bodyBytes.subarray(bodyBytes.length - 16));\n if (bodyBytes.length === 0 && THROW_IF_EMPTY_BODY[context.commandName]) {\n const err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyStringTail && bodyStringTail.endsWith(\"\")) {\n response.statusCode = 400;\n }\n return result;\n};\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nexport const throw200ExceptionsMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true,\n};\nexport const getThrow200ExceptionsPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(throw200ExceptionsMiddleware(config), throw200ExceptionsMiddlewareOptions);\n },\n});\n", "export const validate = (str) => typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6;\nexport const parse = (arn) => {\n const segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\")\n throw new Error(\"Malformed ARN\");\n const [, partition, service, region, accountId, ...resource] = segments;\n return {\n partition,\n service,\n region,\n accountId,\n resource: resource.join(\":\"),\n };\n};\nexport const build = (arnObject) => {\n const { partition = \"aws\", service, region, accountId, resource } = arnObject;\n if ([service, region, accountId, resource].some((segment) => typeof segment !== \"string\")) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return `arn:${partition}:${service}:${region}:${accountId}:${resource}`;\n};\n", "export function bucketEndpointMiddleware(options) {\n return (next, context) => async (args) => {\n if (options.bucketEndpoint) {\n const endpoint = context.endpointV2;\n if (endpoint) {\n const bucket = args.input.Bucket;\n if (typeof bucket === \"string\") {\n try {\n const bucketEndpointUrl = new URL(bucket);\n context.endpointV2 = {\n ...endpoint,\n url: bucketEndpointUrl,\n };\n }\n catch (e) {\n const warning = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;\n if (context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(warning);\n }\n else {\n context.logger?.warn?.(warning);\n }\n throw e;\n }\n }\n }\n }\n return next(args);\n };\n}\nexport const bucketEndpointMiddlewareOptions = {\n name: \"bucketEndpointMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"endpointV2Middleware\",\n};\n", "import { validate as validateArn } from \"@aws-sdk/util-arn-parser\";\nimport { bucketEndpointMiddleware, bucketEndpointMiddlewareOptions } from \"./bucket-endpoint-middleware\";\nexport function validateBucketNameMiddleware({ bucketEndpoint }) {\n return (next) => async (args) => {\n const { input: { Bucket }, } = args;\n if (!bucketEndpoint && typeof Bucket === \"string\" && !validateArn(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return next({ ...args });\n };\n}\nexport const validateBucketNameMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true,\n};\nexport const getValidateBucketNamePlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);\n clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);\n },\n});\n", "export * from \"./check-content-length-header\";\nexport * from \"./region-redirect-endpoint-middleware\";\nexport * from \"./region-redirect-middleware\";\nexport * from \"./s3-expires-middleware\";\nexport * from \"./s3-express/index\";\nexport * from \"./s3Configuration\";\nexport * from \"./throw-200-exceptions\";\nexport * from \"./validate-bucket-name\";\n", "import { normalizeProvider } from \"@smithy/core\";\nexport const DEFAULT_UA_APP_ID = undefined;\nfunction isValidUserAgentAppId(appId) {\n if (appId === undefined) {\n return true;\n }\n return typeof appId === \"string\" && appId.length <= 50;\n}\nexport function resolveUserAgentConfig(input) {\n const normalizedAppIdProvider = normalizeProvider(input.userAgentAppId ?? DEFAULT_UA_APP_ID);\n const { customUserAgent } = input;\n return Object.assign(input, {\n customUserAgent: typeof customUserAgent === \"string\" ? [[customUserAgent]] : customUserAgent,\n userAgentAppId: async () => {\n const appId = await normalizedAppIdProvider();\n if (!isValidUserAgentAppId(appId)) {\n const logger = input.logger?.constructor?.name === \"NoOpLogger\" || !input.logger ? console : input.logger;\n if (typeof appId !== \"string\") {\n logger?.warn(\"userAgentAppId must be a string or undefined.\");\n }\n else if (appId.length > 50) {\n logger?.warn(\"The provided userAgentAppId exceeds the maximum length of 50 characters.\");\n }\n }\n return appId;\n },\n });\n}\n", "export class EndpointCache {\n capacity;\n data = new Map();\n parameters = [];\n constructor({ size, params }) {\n this.capacity = size ?? 50;\n if (params) {\n this.parameters = params;\n }\n }\n get(endpointParams, resolver) {\n const key = this.hash(endpointParams);\n if (key === false) {\n return resolver();\n }\n if (!this.data.has(key)) {\n if (this.data.size > this.capacity + 10) {\n const keys = this.data.keys();\n let i = 0;\n while (true) {\n const { value, done } = keys.next();\n this.data.delete(value);\n if (done || ++i > 10) {\n break;\n }\n }\n }\n this.data.set(key, resolver());\n }\n return this.data.get(key);\n }\n size() {\n return this.data.size;\n }\n hash(endpointParams) {\n let buffer = \"\";\n const { parameters } = this;\n if (parameters.length === 0) {\n return false;\n }\n for (const param of parameters) {\n const val = String(endpointParams[param] ?? \"\");\n if (val.includes(\"|;\")) {\n return false;\n }\n buffer += val + \"|;\";\n }\n return buffer;\n }\n}\n", "const IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`);\nexport const isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\n", "const VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nexport const isValidHostLabel = (value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!isValidHostLabel(label)) {\n return false;\n }\n }\n return true;\n};\n", "export const customEndpointFunctions = {};\n", "export const debugId = \"endpoints\";\n", "export function toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\n", "export * from \"./debugId\";\nexport * from \"./toDebugString\";\n", "export class EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./EndpointError\";\nexport * from \"./EndpointFunctions\";\nexport * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./TreeRuleObject\";\nexport * from \"./shared\";\n", "export const booleanEquals = (value1, value2) => value1 === value2;\n", "import { EndpointError } from \"../types\";\nexport const getAttrPathList = (path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n }\n else {\n pathList.push(part);\n }\n }\n return pathList;\n};\n", "import { EndpointError } from \"../types\";\nimport { getAttrPathList } from \"./getAttrPathList\";\nexport const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n }\n else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value);\n", "export const isSet = (value) => value != null;\n", "export const not = (value) => !value;\n", "import { EndpointURLScheme } from \"@smithy/types\";\nimport { isIpAddress } from \"./isIpAddress\";\nconst DEFAULT_PORTS = {\n [EndpointURLScheme.HTTP]: 80,\n [EndpointURLScheme.HTTPS]: 443,\n};\nexport const parseURL = (value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname, port, protocol = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query)\n .map(([k, v]) => `${k}=${v}`)\n .join(\"&\");\n return url;\n }\n return new URL(value);\n }\n catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = isIpAddress(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\n (typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp,\n };\n};\n", "export const stringEquals = (value1, value2) => value1 === value2;\n", "export const substring = (input, start, stop, reverse) => {\n if (start >= stop || input.length < stop || /[^\\u0000-\\u007f]/.test(input)) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n};\n", "export const uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\n", "export * from \"./booleanEquals\";\nexport * from \"./getAttr\";\nexport * from \"./isSet\";\nexport * from \"./isValidHostLabel\";\nexport * from \"./not\";\nexport * from \"./parseURL\";\nexport * from \"./stringEquals\";\nexport * from \"./substring\";\nexport * from \"./uriEncode\";\n", "import { booleanEquals, getAttr, isSet, isValidHostLabel, not, parseURL, stringEquals, substring, uriEncode, } from \"../lib\";\nexport const endpointFunctions = {\n booleanEquals,\n getAttr,\n isSet,\n isValidHostLabel,\n not,\n parseURL,\n stringEquals,\n substring,\n uriEncode,\n};\n", "import { getAttr } from \"../lib\";\nexport const evaluateTemplate = (template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));\n }\n else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n};\n", "export const getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\n", "import { EndpointError } from \"../types\";\nimport { customEndpointFunctions } from \"./customEndpointFunctions\";\nimport { endpointFunctions } from \"./endpointFunctions\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nimport { getReferenceValue } from \"./getReferenceValue\";\nexport const evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return evaluateTemplate(obj, options);\n }\n else if (obj[\"fn\"]) {\n return group.callFunction(obj, options);\n }\n else if (obj[\"ref\"]) {\n return getReferenceValue(obj, options);\n }\n throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n};\nexport const callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : group.evaluateExpression(arg, \"arg\", options));\n const fnSegments = fn.split(\".\");\n if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {\n return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);\n }\n return endpointFunctions[fn](...evaluatedArgs);\n};\nexport const group = {\n evaluateExpression,\n callFunction,\n};\n", "export { callFunction } from \"./evaluateExpression\";\n", "import { debugId, toDebugString } from \"../debug\";\nimport { EndpointError } from \"../types\";\nimport { callFunction } from \"./callFunction\";\nexport const evaluateCondition = ({ assign, ...fnArgs }, options) => {\n if (assign && assign in options.referenceRecord) {\n throw new EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = callFunction(fnArgs, options);\n options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...(assign != null && { toAssign: { name: assign, value } }),\n };\n};\n", "import { debugId, toDebugString } from \"../debug\";\nimport { evaluateCondition } from \"./evaluateCondition\";\nexport const evaluateConditions = (conditions = [], options) => {\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = evaluateCondition(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord,\n },\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n};\n", "import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = evaluateExpression(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n }),\n}), {});\n", "import { EndpointError } from \"../types\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nexport const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: group.getEndpointProperty(propertyVal, options),\n}), {});\nexport const getEndpointProperty = (property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return evaluateTemplate(property, options);\n case \"object\":\n if (property === null) {\n throw new EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return group.getEndpointProperties(property, options);\n case \"boolean\":\n return property;\n default:\n throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\nexport const group = {\n getEndpointProperty,\n getEndpointProperties,\n};\n", "import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointUrl = (endpointUrl, options) => {\n const expression = evaluateExpression(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n }\n catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n};\n", "import { debugId, toDebugString } from \"../debug\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { getEndpointHeaders } from \"./getEndpointHeaders\";\nimport { getEndpointProperties } from \"./getEndpointProperties\";\nimport { getEndpointUrl } from \"./getEndpointUrl\";\nexport const evaluateEndpointRule = (endpointRule, options) => {\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n };\n const { url, properties, headers } = endpoint;\n options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);\n return {\n ...(headers != undefined && {\n headers: getEndpointHeaders(headers, endpointRuleOptions),\n }),\n ...(properties != undefined && {\n properties: getEndpointProperties(properties, endpointRuleOptions),\n }),\n url: getEndpointUrl(url, endpointRuleOptions),\n };\n};\n", "import { EndpointError } from \"../types\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const evaluateErrorRule = (errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n throw new EndpointError(evaluateExpression(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n }));\n};\n", "import { EndpointError } from \"../types\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateEndpointRule } from \"./evaluateEndpointRule\";\nimport { evaluateErrorRule } from \"./evaluateErrorRule\";\nexport const evaluateRules = (rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = evaluateEndpointRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else if (rule.type === \"error\") {\n evaluateErrorRule(rule, options);\n }\n else if (rule.type === \"tree\") {\n const endpointOrUndefined = group.evaluateTreeRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else {\n throw new EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new EndpointError(`Rules evaluation failed`);\n};\nexport const evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n return group.evaluateRules(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\nexport const group = {\n evaluateRules,\n evaluateTreeRule,\n};\n", "export * from \"./customEndpointFunctions\";\nexport * from \"./evaluateRules\";\n", "import { debugId, toDebugString } from \"./debug\";\nimport { EndpointError } from \"./types\";\nimport { evaluateRules } from \"./utils\";\nexport const resolveEndpoint = (ruleSetObject, options) => {\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters)\n .filter(([, v]) => v.default != null)\n .map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters)\n .filter(([, v]) => v.required)\n .map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });\n options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);\n return endpoint;\n};\n", "export * from \"./cache/EndpointCache\";\nexport * from \"./lib/isIpAddress\";\nexport * from \"./lib/isValidHostLabel\";\nexport * from \"./utils/customEndpointFunctions\";\nexport * from \"./resolveEndpoint\";\nexport * from \"./types\";\n", "export { isIpAddress } from \"@smithy/util-endpoints\";\n", "import { isValidHostLabel } from \"@smithy/util-endpoints\";\nimport { isIpAddress } from \"../isIpAddress\";\nexport const isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!isVirtualHostableS3Bucket(label)) {\n return false;\n }\n }\n return true;\n }\n if (!isValidHostLabel(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if (isIpAddress(value)) {\n return false;\n }\n return true;\n};\n", "const ARN_DELIMITER = \":\";\nconst RESOURCE_DELIMITER = \"/\";\nexport const parseArn = (value) => {\n const segments = value.split(ARN_DELIMITER);\n if (segments.length < 6)\n return null;\n const [arn, partition, service, region, accountId, ...resourcePath] = segments;\n if (arn !== \"arn\" || partition === \"\" || service === \"\" || resourcePath.join(ARN_DELIMITER) === \"\")\n return null;\n const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat();\n return {\n partition,\n service,\n region,\n accountId,\n resourceId,\n };\n};\n", "{\n \"partitions\": [{\n \"id\": \"aws\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com\",\n \"dualStackDnsSuffix\": \"api.aws\",\n \"implicitGlobalRegion\": \"us-east-1\",\n \"name\": \"aws\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"af-south-1\": {\n \"description\": \"Africa (Cape Town)\"\n },\n \"ap-east-1\": {\n \"description\": \"Asia Pacific (Hong Kong)\"\n },\n \"ap-east-2\": {\n \"description\": \"Asia Pacific (Taipei)\"\n },\n \"ap-northeast-1\": {\n \"description\": \"Asia Pacific (Tokyo)\"\n },\n \"ap-northeast-2\": {\n \"description\": \"Asia Pacific (Seoul)\"\n },\n \"ap-northeast-3\": {\n \"description\": \"Asia Pacific (Osaka)\"\n },\n \"ap-south-1\": {\n \"description\": \"Asia Pacific (Mumbai)\"\n },\n \"ap-south-2\": {\n \"description\": \"Asia Pacific (Hyderabad)\"\n },\n \"ap-southeast-1\": {\n \"description\": \"Asia Pacific (Singapore)\"\n },\n \"ap-southeast-2\": {\n \"description\": \"Asia Pacific (Sydney)\"\n },\n \"ap-southeast-3\": {\n \"description\": \"Asia Pacific (Jakarta)\"\n },\n \"ap-southeast-4\": {\n \"description\": \"Asia Pacific (Melbourne)\"\n },\n \"ap-southeast-5\": {\n \"description\": \"Asia Pacific (Malaysia)\"\n },\n \"ap-southeast-6\": {\n \"description\": \"Asia Pacific (New Zealand)\"\n },\n \"ap-southeast-7\": {\n \"description\": \"Asia Pacific (Thailand)\"\n },\n \"aws-global\": {\n \"description\": \"aws global region\"\n },\n \"ca-central-1\": {\n \"description\": \"Canada (Central)\"\n },\n \"ca-west-1\": {\n \"description\": \"Canada West (Calgary)\"\n },\n \"eu-central-1\": {\n \"description\": \"Europe (Frankfurt)\"\n },\n \"eu-central-2\": {\n \"description\": \"Europe (Zurich)\"\n },\n \"eu-north-1\": {\n \"description\": \"Europe (Stockholm)\"\n },\n \"eu-south-1\": {\n \"description\": \"Europe (Milan)\"\n },\n \"eu-south-2\": {\n \"description\": \"Europe (Spain)\"\n },\n \"eu-west-1\": {\n \"description\": \"Europe (Ireland)\"\n },\n \"eu-west-2\": {\n \"description\": \"Europe (London)\"\n },\n \"eu-west-3\": {\n \"description\": \"Europe (Paris)\"\n },\n \"il-central-1\": {\n \"description\": \"Israel (Tel Aviv)\"\n },\n \"me-central-1\": {\n \"description\": \"Middle East (UAE)\"\n },\n \"me-south-1\": {\n \"description\": \"Middle East (Bahrain)\"\n },\n \"mx-central-1\": {\n \"description\": \"Mexico (Central)\"\n },\n \"sa-east-1\": {\n \"description\": \"South America (Sao Paulo)\"\n },\n \"us-east-1\": {\n \"description\": \"US East (N. Virginia)\"\n },\n \"us-east-2\": {\n \"description\": \"US East (Ohio)\"\n },\n \"us-west-1\": {\n \"description\": \"US West (N. California)\"\n },\n \"us-west-2\": {\n \"description\": \"US West (Oregon)\"\n }\n }\n }, {\n \"id\": \"aws-cn\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com.cn\",\n \"dualStackDnsSuffix\": \"api.amazonwebservices.com.cn\",\n \"implicitGlobalRegion\": \"cn-northwest-1\",\n \"name\": \"aws-cn\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^cn\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-cn-global\": {\n \"description\": \"aws-cn global region\"\n },\n \"cn-north-1\": {\n \"description\": \"China (Beijing)\"\n },\n \"cn-northwest-1\": {\n \"description\": \"China (Ningxia)\"\n }\n }\n }, {\n \"id\": \"aws-eusc\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.eu\",\n \"dualStackDnsSuffix\": \"api.amazonwebservices.eu\",\n \"implicitGlobalRegion\": \"eusc-de-east-1\",\n \"name\": \"aws-eusc\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"eusc-de-east-1\": {\n \"description\": \"AWS European Sovereign Cloud (Germany)\"\n }\n }\n }, {\n \"id\": \"aws-iso\",\n \"outputs\": {\n \"dnsSuffix\": \"c2s.ic.gov\",\n \"dualStackDnsSuffix\": \"api.aws.ic.gov\",\n \"implicitGlobalRegion\": \"us-iso-east-1\",\n \"name\": \"aws-iso\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-global\": {\n \"description\": \"aws-iso global region\"\n },\n \"us-iso-east-1\": {\n \"description\": \"US ISO East\"\n },\n \"us-iso-west-1\": {\n \"description\": \"US ISO WEST\"\n }\n }\n }, {\n \"id\": \"aws-iso-b\",\n \"outputs\": {\n \"dnsSuffix\": \"sc2s.sgov.gov\",\n \"dualStackDnsSuffix\": \"api.aws.scloud\",\n \"implicitGlobalRegion\": \"us-isob-east-1\",\n \"name\": \"aws-iso-b\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-b-global\": {\n \"description\": \"aws-iso-b global region\"\n },\n \"us-isob-east-1\": {\n \"description\": \"US ISOB East (Ohio)\"\n },\n \"us-isob-west-1\": {\n \"description\": \"US ISOB West\"\n }\n }\n }, {\n \"id\": \"aws-iso-e\",\n \"outputs\": {\n \"dnsSuffix\": \"cloud.adc-e.uk\",\n \"dualStackDnsSuffix\": \"api.cloud-aws.adc-e.uk\",\n \"implicitGlobalRegion\": \"eu-isoe-west-1\",\n \"name\": \"aws-iso-e\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-e-global\": {\n \"description\": \"aws-iso-e global region\"\n },\n \"eu-isoe-west-1\": {\n \"description\": \"EU ISOE West\"\n }\n }\n }, {\n \"id\": \"aws-iso-f\",\n \"outputs\": {\n \"dnsSuffix\": \"csp.hci.ic.gov\",\n \"dualStackDnsSuffix\": \"api.aws.hci.ic.gov\",\n \"implicitGlobalRegion\": \"us-isof-south-1\",\n \"name\": \"aws-iso-f\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-f-global\": {\n \"description\": \"aws-iso-f global region\"\n },\n \"us-isof-east-1\": {\n \"description\": \"US ISOF EAST\"\n },\n \"us-isof-south-1\": {\n \"description\": \"US ISOF SOUTH\"\n }\n }\n }, {\n \"id\": \"aws-us-gov\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com\",\n \"dualStackDnsSuffix\": \"api.aws\",\n \"implicitGlobalRegion\": \"us-gov-west-1\",\n \"name\": \"aws-us-gov\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-us-gov-global\": {\n \"description\": \"aws-us-gov global region\"\n },\n \"us-gov-east-1\": {\n \"description\": \"AWS GovCloud (US-East)\"\n },\n \"us-gov-west-1\": {\n \"description\": \"AWS GovCloud (US-West)\"\n }\n }\n }],\n \"version\": \"1.1\"\n}\n", "import partitionsInfo from \"./partitions.json\";\nlet selectedPartitionsInfo = partitionsInfo;\nlet selectedUserAgentPrefix = \"\";\nexport const partition = (value) => {\n const { partitions } = selectedPartitionsInfo;\n for (const partition of partitions) {\n const { regions, outputs } = partition;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData,\n };\n }\n }\n }\n for (const partition of partitions) {\n const { regionRegex, outputs } = partition;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs,\n };\n }\n }\n const DEFAULT_PARTITION = partitions.find((partition) => partition.id === \"aws\");\n if (!DEFAULT_PARTITION) {\n throw new Error(\"Provided region was not found in the partition array or regex,\" +\n \" and default partition with id 'aws' doesn't exist.\");\n }\n return {\n ...DEFAULT_PARTITION.outputs,\n };\n};\nexport const setPartitionInfo = (partitionsInfo, userAgentPrefix = \"\") => {\n selectedPartitionsInfo = partitionsInfo;\n selectedUserAgentPrefix = userAgentPrefix;\n};\nexport const useDefaultPartitionInfo = () => {\n setPartitionInfo(partitionsInfo, \"\");\n};\nexport const getUserAgentPrefix = () => selectedUserAgentPrefix;\n", "import { customEndpointFunctions } from \"@smithy/util-endpoints\";\nimport { isVirtualHostableS3Bucket } from \"./lib/aws/isVirtualHostableS3Bucket\";\nimport { parseArn } from \"./lib/aws/parseArn\";\nimport { partition } from \"./lib/aws/partition\";\nexport const awsEndpointFunctions = {\n isVirtualHostableS3Bucket: isVirtualHostableS3Bucket,\n parseArn: parseArn,\n partition: partition,\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n", "import { parseUrl } from \"@smithy/url-parser\";\nexport const resolveDefaultAwsRegionalEndpointsConfig = (input) => {\n if (typeof input.endpointProvider !== \"function\") {\n throw new Error(\"@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client.\");\n }\n const { endpoint } = input;\n if (endpoint === undefined) {\n input.endpoint = async () => {\n return toEndpointV1(input.endpointProvider({\n Region: typeof input.region === \"function\" ? await input.region() : input.region,\n UseDualStack: typeof input.useDualstackEndpoint === \"function\"\n ? await input.useDualstackEndpoint()\n : input.useDualstackEndpoint,\n UseFIPS: typeof input.useFipsEndpoint === \"function\" ? await input.useFipsEndpoint() : input.useFipsEndpoint,\n Endpoint: undefined,\n }, { logger: input.logger }));\n };\n }\n return input;\n};\nexport const toEndpointV1 = (endpoint) => parseUrl(endpoint.url);\n", "export { resolveEndpoint } from \"@smithy/util-endpoints\";\n", "export { EndpointError } from \"@smithy/util-endpoints\";\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export {};\n", "export * from \"./EndpointError\";\nexport * from \"./EndpointRuleObject\";\nexport * from \"./ErrorRuleObject\";\nexport * from \"./RuleSetObject\";\nexport * from \"./TreeRuleObject\";\nexport * from \"./shared\";\n", "export * from \"./aws\";\nexport * from \"./lib/aws/partition\";\nexport * from \"./lib/isIpAddress\";\nexport * from \"./resolveDefaultAwsRegionalEndpointsConfig\";\nexport * from \"./resolveEndpoint\";\nexport * from \"./types\";\n", "export var RETRY_MODES;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(RETRY_MODES || (RETRY_MODES = {}));\nexport const DEFAULT_MAX_ATTEMPTS = 3;\nexport const DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD;\n", "export const CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nexport const THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nexport const TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexport const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexport const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\nexport const NODEJS_NETWORK_ERROR_CODES = [\"EHOSTUNREACH\", \"ENETUNREACH\", \"ENOTFOUND\"];\n", "import { CLOCK_SKEW_ERROR_CODES, NODEJS_NETWORK_ERROR_CODES, NODEJS_TIMEOUT_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from \"./constants\";\nexport const isRetryableByTrait = (error) => error?.$retryable !== undefined;\nexport const isClockSkewError = (error) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\nexport const isClockSkewCorrectedError = (error) => error.$metadata?.clockSkewCorrected;\nexport const isBrowserNetworkError = (error) => {\n const errorMessages = new Set([\n \"Failed to fetch\",\n \"NetworkError when attempting to fetch resource\",\n \"The Internet connection appears to be offline\",\n \"Load failed\",\n \"Network request failed\",\n ]);\n const isValid = error && error instanceof TypeError;\n if (!isValid) {\n return false;\n }\n return errorMessages.has(error.message);\n};\nexport const isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\nexport const isTransientError = (error, depth = 0) => isRetryableByTrait(error) ||\n isClockSkewCorrectedError(error) ||\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") ||\n NODEJS_NETWORK_ERROR_CODES.includes(error?.code || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) ||\n isBrowserNetworkError(error) ||\n (error.cause !== undefined && depth <= 10 && isTransientError(error.cause, depth + 1));\nexport const isServerError = (error) => {\n if (error.$metadata?.httpStatusCode !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\n", "import { isThrottlingError } from \"@smithy/service-error-classification\";\nexport class DefaultRateLimiter {\n static setTimeoutFn = setTimeout;\n beta;\n minCapacity;\n minFillRate;\n scaleConstant;\n smooth;\n currentCapacity = 0;\n enabled = false;\n lastMaxRate = 0;\n measuredTxRate = 0;\n requestCount = 0;\n fillRate;\n lastThrottleTime;\n lastTimestamp = 0;\n lastTxRateBucket;\n maxCapacity;\n timeWindow = 0;\n constructor(options) {\n this.beta = options?.beta ?? 0.7;\n this.minCapacity = options?.minCapacity ?? 1;\n this.minFillRate = options?.minFillRate ?? 0.5;\n this.scaleConstant = options?.scaleConstant ?? 0.4;\n this.smooth = options?.smooth ?? 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1000;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n await new Promise((resolve) => DefaultRateLimiter.setTimeoutFn(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if (isThrottlingError(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n}\n", "export const DEFAULT_RETRY_DELAY_BASE = 100;\nexport const MAXIMUM_RETRY_DELAY = 20 * 1000;\nexport const THROTTLING_RETRY_DELAY_BASE = 500;\nexport const INITIAL_RETRY_TOKENS = 500;\nexport const RETRY_COST = 5;\nexport const TIMEOUT_RETRY_COST = 10;\nexport const NO_RETRY_INCREMENT = 1;\nexport const INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nexport const REQUEST_HEADER = \"amz-sdk-request\";\n", "import { DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const getDefaultRetryBackoffStrategy = () => {\n let delayBase = DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = (attempts) => {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n };\n const setDelayBase = (delay) => {\n delayBase = delay;\n };\n return {\n computeNextBackoffDelay,\n setDelayBase,\n };\n};\n", "import { MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const createDefaultRetryToken = ({ retryDelay, retryCount, retryCost, }) => {\n const getRetryCount = () => retryCount;\n const getRetryDelay = () => Math.min(MAXIMUM_RETRY_DELAY, retryDelay);\n const getRetryCost = () => retryCost;\n return {\n getRetryCount,\n getRetryDelay,\n getRetryCost,\n };\n};\n", "import { DEFAULT_MAX_ATTEMPTS, RETRY_MODES } from \"./config\";\nimport { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, NO_RETRY_INCREMENT, RETRY_COST, THROTTLING_RETRY_DELAY_BASE, TIMEOUT_RETRY_COST, } from \"./constants\";\nimport { getDefaultRetryBackoffStrategy } from \"./defaultRetryBackoffStrategy\";\nimport { createDefaultRetryToken } from \"./defaultRetryToken\";\nexport class StandardRetryStrategy {\n maxAttempts;\n mode = RETRY_MODES.STANDARD;\n capacity = INITIAL_RETRY_TOKENS;\n retryBackoffStrategy = getDefaultRetryBackoffStrategy();\n maxAttemptsProvider;\n constructor(maxAttempts) {\n this.maxAttempts = maxAttempts;\n this.maxAttemptsProvider = typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts;\n }\n async acquireInitialRetryToken(retryTokenScope) {\n return createDefaultRetryToken({\n retryDelay: DEFAULT_RETRY_DELAY_BASE,\n retryCount: 0,\n });\n }\n async refreshRetryTokenForRetry(token, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(token, errorInfo, maxAttempts)) {\n const errorType = errorInfo.errorType;\n this.retryBackoffStrategy.setDelayBase(errorType === \"THROTTLING\" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE);\n const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());\n const retryDelay = errorInfo.retryAfterHint\n ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType)\n : delayFromErrorType;\n const capacityCost = this.getCapacityCost(errorType);\n this.capacity -= capacityCost;\n return createDefaultRetryToken({\n retryDelay,\n retryCount: token.getRetryCount() + 1,\n retryCost: capacityCost,\n });\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));\n }\n getCapacity() {\n return this.capacity;\n }\n async getMaxAttempts() {\n try {\n return await this.maxAttemptsProvider();\n }\n catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);\n return DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount() + 1;\n return (attempts < maxAttempts &&\n this.capacity >= this.getCapacityCost(errorInfo.errorType) &&\n this.isRetryableError(errorInfo.errorType));\n }\n getCapacityCost(errorType) {\n return errorType === \"TRANSIENT\" ? TIMEOUT_RETRY_COST : RETRY_COST;\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n}\n", "import { RETRY_MODES } from \"./config\";\nimport { DefaultRateLimiter } from \"./DefaultRateLimiter\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class AdaptiveRetryStrategy {\n maxAttemptsProvider;\n rateLimiter;\n standardRetryStrategy;\n mode = RETRY_MODES.ADAPTIVE;\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n const { rateLimiter } = options ?? {};\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider);\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n}\n", "import { DEFAULT_RETRY_DELAY_BASE } from \"./constants\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class ConfiguredRetryStrategy extends StandardRetryStrategy {\n computeNextBackoffDelay;\n constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) {\n super(typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts);\n if (typeof computeNextBackoffDelay === \"number\") {\n this.computeNextBackoffDelay = () => computeNextBackoffDelay;\n }\n else {\n this.computeNextBackoffDelay = computeNextBackoffDelay;\n }\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());\n return token;\n }\n}\n", "export {};\n", "export * from \"./AdaptiveRetryStrategy\";\nexport * from \"./ConfiguredRetryStrategy\";\nexport * from \"./DefaultRateLimiter\";\nexport * from \"./StandardRetryStrategy\";\nexport * from \"./config\";\nexport * from \"./constants\";\nexport * from \"./types\";\n", "import { setFeature } from \"@aws-sdk/core\";\nimport { RETRY_MODES } from \"@smithy/util-retry\";\nconst ACCOUNT_ID_ENDPOINT_REGEX = /\\d{12}\\.ddb/;\nexport async function checkFeatures(context, config, args) {\n const request = args.request;\n if (request?.headers?.[\"smithy-protocol\"] === \"rpc-v2-cbor\") {\n setFeature(context, \"PROTOCOL_RPC_V2_CBOR\", \"M\");\n }\n if (typeof config.retryStrategy === \"function\") {\n const retryStrategy = await config.retryStrategy();\n if (typeof retryStrategy.mode === \"string\") {\n switch (retryStrategy.mode) {\n case RETRY_MODES.ADAPTIVE:\n setFeature(context, \"RETRY_MODE_ADAPTIVE\", \"F\");\n break;\n case RETRY_MODES.STANDARD:\n setFeature(context, \"RETRY_MODE_STANDARD\", \"E\");\n break;\n }\n }\n }\n if (typeof config.accountIdEndpointMode === \"function\") {\n const endpointV2 = context.endpointV2;\n if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) {\n setFeature(context, \"ACCOUNT_ID_ENDPOINT\", \"O\");\n }\n switch (await config.accountIdEndpointMode?.()) {\n case \"disabled\":\n setFeature(context, \"ACCOUNT_ID_MODE_DISABLED\", \"Q\");\n break;\n case \"preferred\":\n setFeature(context, \"ACCOUNT_ID_MODE_PREFERRED\", \"P\");\n break;\n case \"required\":\n setFeature(context, \"ACCOUNT_ID_MODE_REQUIRED\", \"R\");\n break;\n }\n }\n const identity = context.__smithy_context?.selectedHttpAuthScheme?.identity;\n if (identity?.$source) {\n const credentials = identity;\n if (credentials.accountId) {\n setFeature(context, \"RESOLVED_ACCOUNT_ID\", \"T\");\n }\n for (const [key, value] of Object.entries(credentials.$source ?? {})) {\n setFeature(context, key, value);\n }\n }\n}\n", "export const USER_AGENT = \"user-agent\";\nexport const X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexport const SPACE = \" \";\nexport const UA_NAME_SEPARATOR = \"/\";\nexport const UA_NAME_ESCAPE_REGEX = /[^!$%&'*+\\-.^_`|~\\w]/g;\nexport const UA_VALUE_ESCAPE_REGEX = /[^!$%&'*+\\-.^_`|~\\w#]/g;\nexport const UA_ESCAPE_CHAR = \"-\";\n", "const BYTE_LIMIT = 1024;\nexport function encodeFeatures(features) {\n let buffer = \"\";\n for (const key in features) {\n const val = features[key];\n if (buffer.length + val.length + 1 <= BYTE_LIMIT) {\n if (buffer.length) {\n buffer += \",\" + val;\n }\n else {\n buffer += val;\n }\n continue;\n }\n break;\n }\n return buffer;\n}\n", "import { getUserAgentPrefix } from \"@aws-sdk/util-endpoints\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { checkFeatures } from \"./check-features\";\nimport { SPACE, UA_ESCAPE_CHAR, UA_NAME_ESCAPE_REGEX, UA_NAME_SEPARATOR, UA_VALUE_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT, } from \"./constants\";\nimport { encodeFeatures } from \"./encode-features\";\nexport const userAgentMiddleware = (options) => (next, context) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request)) {\n return next(args);\n }\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n await checkFeatures(context, options, args);\n const awsContext = context;\n defaultUserAgent.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`);\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n const appId = await options.userAgentAppId();\n if (appId) {\n defaultUserAgent.push(escapeUserAgent([`app`, `${appId}`]));\n }\n const prefix = getUserAgentPrefix();\n const sdkUserAgentValue = (prefix ? [prefix] : [])\n .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])\n .join(SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]\n ? `${headers[USER_AGENT]} ${normalUAValue}`\n : normalUAValue;\n }\n headers[USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request,\n });\n};\nconst escapeUserAgent = (userAgentPair) => {\n const name = userAgentPair[0]\n .split(UA_NAME_SEPARATOR)\n .map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR))\n .join(UA_NAME_SEPARATOR);\n const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);\n const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .reduce((acc, item, index) => {\n switch (index) {\n case 0:\n return item;\n case 1:\n return `${acc}/${item}`;\n default:\n return `${acc}#${item}`;\n }\n }, \"\");\n};\nexport const getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nexport const getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n});\n", "export * from \"./configurations\";\nexport * from \"./user-agent-middleware\";\n", "import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexport const CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexport const DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexport const NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n", "import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexport const CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexport const DEFAULT_USE_FIPS_ENDPOINT = false;\nexport const NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nexport const resolveCustomEndpointsConfig = (input) => {\n const { tls, endpoint, urlParser, useDualstackEndpoint } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),\n });\n};\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { getEndpointFromRegion } from \"./utils/getEndpointFromRegion\";\nexport const resolveEndpointsConfig = (input) => {\n const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false);\n const { endpoint, useFipsEndpoint, urlParser, tls } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: endpoint\n ? normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint,\n });\n};\n", "export * from \"./NodeUseDualstackEndpointConfigOptions\";\nexport * from \"./NodeUseFipsEndpointConfigOptions\";\nexport * from \"./resolveCustomEndpointsConfig\";\nexport * from \"./resolveEndpointsConfig\";\n", "export const REGION_ENV_NAME = \"AWS_REGION\";\nexport const REGION_INI_NAME = \"region\";\nexport const NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\nexport const NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n", "import { isValidHostLabel } from \"@smithy/util-endpoints\";\nconst validRegions = new Set();\nexport const checkRegion = (region, check = isValidHostLabel) => {\n if (!validRegions.has(region) && !check(region)) {\n if (region === \"*\") {\n console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of \"*\". See \"sigv4a\" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);\n }\n else {\n throw new Error(`Region not accepted: region=\"${region}\" is not a valid hostname component.`);\n }\n }\n else {\n validRegions.add(region);\n }\n};\n", "export const isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n", "import { isFipsRegion } from \"./isFipsRegion\";\nexport const getRealRegion = (region) => isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n", "import { checkRegion } from \"./checkRegion\";\nimport { getRealRegion } from \"./getRealRegion\";\nimport { isFipsRegion } from \"./isFipsRegion\";\nexport const resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return Object.assign(input, {\n region: async () => {\n const providedRegion = typeof region === \"function\" ? await region() : region;\n const realRegion = getRealRegion(providedRegion);\n checkRegion(realRegion);\n return realRegion;\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n });\n};\n", "export * from \"./config\";\nexport * from \"./resolveRegionConfig\";\n", "export {};\n", "export {};\n", "import { getHostnameFromVariants } from \"./getHostnameFromVariants\";\nimport { getResolvedHostname } from \"./getResolvedHostname\";\nimport { getResolvedPartition } from \"./getResolvedPartition\";\nimport { getResolvedSigningRegion } from \"./getResolvedSigningRegion\";\nexport const getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {\n const partition = getResolvedPartition(region, { partitionHash });\n const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\n const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);\n const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions);\n const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });\n if (hostname === undefined) {\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\n }\n const signingRegion = getResolvedSigningRegion(hostname, {\n signingRegion: regionHash[resolvedRegion]?.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint,\n });\n return {\n partition,\n signingService,\n hostname,\n ...(signingRegion && { signingRegion }),\n ...(regionHash[resolvedRegion]?.signingService && {\n signingService: regionHash[resolvedRegion].signingService,\n }),\n };\n};\n", "export * from \"./PartitionHash\";\nexport * from \"./RegionHash\";\nexport * from \"./getRegionInfo\";\n", "export * from \"./endpointsConfig\";\nexport * from \"./regionConfig\";\nexport * from \"./regionInfo\";\n", "export const resolveEventStreamSerdeConfig = (input) => Object.assign(input, {\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n", "export * from \"./EventStreamSerdeConfig\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nexport function contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nexport const getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n", "export const resolveParamsForS3 = async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n }\n else if (!isDnsCompatibleBucketName(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n};\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexport const DOT_PATTERN = /\\./;\nexport const S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nexport const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexport const isArnBucketName = (bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n};\n", "export * from \"./s3\";\n", "export const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config, isClientContextParam = false) => {\n const configProvider = async () => {\n let configValue;\n if (isClientContextParam) {\n const clientContextParams = config.clientContextParams;\n const nestedValue = clientContextParams?.[configKey];\n configValue = nestedValue ?? config[configKey] ?? config[canonicalEndpointParamKey];\n }\n else {\n configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n }\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n if (config.isCustomEndpoint === false) {\n return undefined;\n }\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\n", "export const getEndpointFromConfig = async (serviceId) => undefined;\n", "import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n const v1Endpoint = parseUrl(endpoint.url);\n if (endpoint.headers) {\n v1Endpoint.headers = {};\n for (const [name, values] of Object.entries(endpoint.headers)) {\n v1Endpoint.headers[name.toLowerCase()] = values.join(\", \");\n }\n }\n return v1Endpoint;\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n", "import { resolveParamsForS3 } from \"../service-customizations\";\nimport { createConfigValueProvider } from \"./createConfigValueProvider\";\nimport { getEndpointFromConfig } from \"./getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./toEndpointV1\";\nexport const getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.isCustomEndpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n }\n else {\n endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n clientConfig.isCustomEndpoint = true;\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n if (clientConfig.isCustomEndpoint && clientConfig.endpoint) {\n const customEndpoint = await clientConfig.endpoint();\n if (customEndpoint?.headers) {\n endpoint.headers ??= {};\n for (const [name, value] of Object.entries(customEndpoint.headers)) {\n endpoint.headers[name] = Array.isArray(value) ? value : [value];\n }\n }\n }\n return endpoint;\n};\nexport const resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig, instruction.type !== \"builtInParams\")();\n break;\n case \"operationContextParams\":\n endpointParams[name] = instruction.get(commandInput);\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await resolveParamsForS3(endpointParams);\n }\n return endpointParams;\n};\n", "export * from \"./getEndpointFromInstructions\";\nexport * from \"./toEndpointV1\";\n", "import { setFeature } from \"@smithy/core\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { getEndpointFromInstructions } from \"./adaptors/getEndpointFromInstructions\";\nexport const endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n if (config.isCustomEndpoint) {\n setFeature(context, \"ENDPOINT_OVERRIDE\", \"N\");\n }\n const endpoint = await getEndpointFromInstructions(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = getSmithyContext(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet,\n }, authScheme.properties);\n }\n }\n return next({\n ...args,\n });\n };\n};\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nexport const deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n enumerable: false,\n writable: false,\n configurable: false,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n", "import { toEndpointV1 } from \"@smithy/core/endpoints\";\nexport const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpointConfig = options;\n const endpoint = context.endpointV2\n ? async () => toEndpointV1(context.endpointV2)\n : endpointConfig.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\n", "import { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n", "export * from \"./deserializerMiddleware\";\nexport * from \"./serdePlugin\";\nexport * from \"./serializerMiddleware\";\n", "import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { endpointMiddleware } from \"./endpointMiddleware\";\nexport const endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(endpointMiddleware({\n config,\n instructions,\n }), endpointMiddlewareOptions);\n },\n});\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { getEndpointFromConfig } from \"./adaptors/getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./adaptors/toEndpointV1\";\nexport const resolveEndpointConfig = (input) => {\n const tls = input.tls ?? true;\n const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = Object.assign(input, {\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),\n useFipsEndpoint: normalizeProvider(useFipsEndpoint ?? false),\n });\n let configuredEndpointPromise = undefined;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = getEndpointFromConfig(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n};\n", "export const resolveEndpointRequiredConfig = (input) => {\n const { endpoint } = input;\n if (endpoint === undefined) {\n input.endpoint = async () => {\n throw new Error(\"@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.\");\n };\n }\n return input;\n};\n", "export {};\n", "export * from \"./adaptors\";\nexport * from \"./endpointMiddleware\";\nexport * from \"./getEndpointPlugin\";\nexport * from \"./resolveEndpointConfig\";\nexport * from \"./resolveEndpointRequiredConfig\";\nexport * from \"./types\";\n", "import { MAXIMUM_RETRY_DELAY } from \"@smithy/util-retry\";\nexport const defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n", "import { isClockSkewError, isRetryableByTrait, isThrottlingError, isTransientError, } from \"@smithy/service-error-classification\";\nexport const defaultRetryDecider = (error) => {\n if (!error) {\n return false;\n }\n return isRetryableByTrait(error) || isClockSkewError(error) || isThrottlingError(error) || isTransientError(error);\n};\n", "export const asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\n", "import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isThrottlingError } from \"@smithy/service-error-classification\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, INVOCATION_ID_HEADER, REQUEST_HEADER, RETRY_MODES, THROTTLING_RETRY_DELAY_BASE, } from \"@smithy/util-retry\";\nimport { v4 } from \"@smithy/uuid\";\nimport { getDefaultRetryQuota } from \"./defaultRetryQuota\";\nimport { defaultDelayDecider } from \"./delayDecider\";\nimport { defaultRetryDecider } from \"./retryDecider\";\nimport { asSdkError } from \"./util\";\nexport class StandardRetryStrategy {\n maxAttemptsProvider;\n retryDecider;\n delayDecider;\n retryQuota;\n mode = RETRY_MODES.STANDARD;\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.retryDecider = options?.retryDecider ?? defaultRetryDecider;\n this.delayDecider = options?.delayDecider ?? defaultDelayDecider;\n this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(INITIAL_RETRY_TOKENS);\n }\n shouldRetry(error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n }\n catch (error) {\n maxAttempts = DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n async retry(next, args, options) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n const maxAttempts = await this.getMaxAttempts();\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (HttpRequest.isInstance(request)) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n if (options?.beforeRequest) {\n await options.beforeRequest();\n }\n const { response, output } = await next(args);\n if (options?.afterRequest) {\n options.afterRequest(response);\n }\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return { response, output };\n }\n catch (e) {\n const err = asSdkError(e);\n attempts++;\n if (this.shouldRetry(err, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delayFromDecider = this.delayDecider(isThrottlingError(err) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE, attempts);\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\nconst getDelayFromRetryAfterHeader = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return retryAfterSeconds * 1000;\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n};\n", "import { DefaultRateLimiter, RETRY_MODES } from \"@smithy/util-retry\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class AdaptiveRetryStrategy extends StandardRetryStrategy {\n rateLimiter;\n constructor(maxAttemptsProvider, options) {\n const { rateLimiter, ...superOptions } = options ?? {};\n super(maxAttemptsProvider, superOptions);\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.mode = RETRY_MODES.ADAPTIVE;\n }\n async retry(next, args) {\n return super.retry(next, args, {\n beforeRequest: async () => {\n return this.rateLimiter.getSendToken();\n },\n afterRequest: (response) => {\n this.rateLimiter.updateClientSendingRate(response);\n },\n });\n }\n}\n", "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { AdaptiveRetryStrategy, DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, RETRY_MODES, StandardRetryStrategy, } from \"@smithy/util-retry\";\nexport const ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport const CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexport const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport const resolveRetryConfig = (input) => {\n const { retryStrategy, retryMode } = input;\n const maxAttempts = normalizeProvider(input.maxAttempts ?? DEFAULT_MAX_ATTEMPTS);\n let controller = retryStrategy\n ? Promise.resolve(retryStrategy)\n : undefined;\n const getDefault = async () => (await normalizeProvider(retryMode)()) === RETRY_MODES.ADAPTIVE\n ? new AdaptiveRetryStrategy(maxAttempts)\n : new StandardRetryStrategy(maxAttempts);\n return Object.assign(input, {\n maxAttempts,\n retryStrategy: () => (controller ??= getDefault()),\n });\n};\nexport const ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport const CONFIG_RETRY_MODE = \"retry_mode\";\nexport const NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: DEFAULT_RETRY_MODE,\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nexport const omitRetryHeadersMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n delete request.headers[INVOCATION_ID_HEADER];\n delete request.headers[REQUEST_HEADER];\n }\n return next(args);\n};\nexport const omitRetryHeadersMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n};\nexport const getOmitRetryHeadersPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);\n },\n});\n", "export const isStreamingPayload = (request) => request?.body instanceof ReadableStream;\n", "import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isServerError, isThrottlingError, isTransientError } from \"@smithy/service-error-classification\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nimport { v4 } from \"@smithy/uuid\";\nimport { isStreamingPayload } from \"./isStreamingPayload/isStreamingPayload\";\nimport { asSdkError } from \"./util\";\nexport const retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n const isRequest = HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetryErrorInfo(e);\n lastError = asSdkError(e);\n if (isRequest && isStreamingPayload(request)) {\n (context.logger instanceof NoOpLogger ? console : context.logger)?.warn(\"An error was encountered in a non-retryable streaming request.\");\n throw lastError;\n }\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetryErrorInfo = (error) => {\n const errorInfo = {\n error,\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = getRetryAfterHint(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if (isThrottlingError(error))\n return \"THROTTLING\";\n if (isTransientError(error))\n return \"TRANSIENT\";\n if (isServerError(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nexport const retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nexport const getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\nexport const getRetryAfterHint = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\n", "export * from \"./AdaptiveRetryStrategy\";\nexport * from \"./StandardRetryStrategy\";\nexport * from \"./configurations\";\nexport * from \"./delayDecider\";\nexport * from \"./omitRetryHeadersMiddleware\";\nexport * from \"./retryDecider\";\nexport * from \"./retryMiddleware\";\n", "export const signatureV4CrtContainer = {\n CrtSignerV4: null,\n};\n", "import { SignatureV4S3Express } from \"@aws-sdk/middleware-sdk-s3\";\nimport { signatureV4aContainer } from \"@smithy/signature-v4\";\nimport { signatureV4CrtContainer } from \"./signature-v4-crt-container\";\nexport class SignatureV4MultiRegion {\n sigv4aSigner;\n sigv4Signer;\n signerOptions;\n static sigv4aDependency() {\n if (typeof signatureV4CrtContainer.CrtSignerV4 === \"function\") {\n return \"crt\";\n }\n else if (typeof signatureV4aContainer.SignatureV4a === \"function\") {\n return \"js\";\n }\n return \"none\";\n }\n constructor(options) {\n this.sigv4Signer = new SignatureV4S3Express(options);\n this.signerOptions = options;\n }\n async sign(requestToSign, options = {}) {\n if (options.signingRegion === \"*\") {\n return this.getSigv4aSigner().sign(requestToSign, options);\n }\n return this.sigv4Signer.sign(requestToSign, options);\n }\n async signWithCredentials(requestToSign, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.signWithCredentials(requestToSign, credentials, options);\n }\n else {\n throw new Error(`signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. ` +\n `Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. ` +\n `You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] ` +\n `or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. ` +\n `For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);\n }\n }\n return this.sigv4Signer.signWithCredentials(requestToSign, credentials, options);\n }\n async presign(originalRequest, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.presign(originalRequest, options);\n }\n else {\n throw new Error(`presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. ` +\n `Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. ` +\n `You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] ` +\n `or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. ` +\n `For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);\n }\n }\n return this.sigv4Signer.presign(originalRequest, options);\n }\n async presignWithCredentials(originalRequest, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n throw new Error(\"Method presignWithCredentials is not supported for [signingRegion=*].\");\n }\n return this.sigv4Signer.presignWithCredentials(originalRequest, credentials, options);\n }\n getSigv4aSigner() {\n if (!this.sigv4aSigner) {\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n const JsSigV4aSigner = signatureV4aContainer.SignatureV4a;\n if (this.signerOptions.runtime === \"node\") {\n if (!CrtSignerV4 && !JsSigV4aSigner) {\n throw new Error(\"Neither CRT nor JS SigV4a implementation is available. \" +\n \"Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. \" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\");\n }\n if (CrtSignerV4 && typeof CrtSignerV4 === \"function\") {\n this.sigv4aSigner = new CrtSignerV4({\n ...this.signerOptions,\n signingAlgorithm: 1,\n });\n }\n else if (JsSigV4aSigner && typeof JsSigV4aSigner === \"function\") {\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions,\n });\n }\n else {\n throw new Error(\"Available SigV4a implementation is not a valid constructor. \" +\n \"Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.\" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\");\n }\n }\n else {\n if (!JsSigV4aSigner || typeof JsSigV4aSigner !== \"function\") {\n throw new Error(\"JS SigV4a implementation is not available or not a valid constructor. \" +\n \"Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. \" +\n \"You must also register the package by calling [require('@aws-sdk/signature-v4a');] \" +\n \"or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. \" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a\");\n }\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions,\n });\n }\n }\n return this.sigv4aSigner;\n }\n}\n", "export * from \"./SignatureV4MultiRegion\";\nexport * from \"./signature-v4-crt-container\";\n", "const cs = \"required\", ct = \"type\", cu = \"rules\", cv = \"conditions\", cw = \"fn\", cx = \"argv\", cy = \"ref\", cz = \"assign\", cA = \"url\", cB = \"properties\", cC = \"backend\", cD = \"authSchemes\", cE = \"disableDoubleEncoding\", cF = \"signingName\", cG = \"signingRegion\", cH = \"headers\", cI = \"signingRegionSet\";\nconst a = 6, b = false, c = true, d = \"isSet\", e = \"booleanEquals\", f = \"error\", g = \"aws.partition\", h = \"stringEquals\", i = \"getAttr\", j = \"name\", k = \"substring\", l = \"bucketSuffix\", m = \"parseURL\", n = \"endpoint\", o = \"tree\", p = \"aws.isVirtualHostableS3Bucket\", q = \"{url#scheme}://{Bucket}.{url#authority}{url#path}\", r = \"not\", s = \"accessPointSuffix\", t = \"{url#scheme}://{url#authority}{url#path}\", u = \"hardwareType\", v = \"regionPrefix\", w = \"bucketAliasSuffix\", x = \"outpostId\", y = \"isValidHostLabel\", z = \"sigv4a\", A = \"s3-outposts\", B = \"s3\", C = \"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}\", D = \"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}\", E = \"https://{Bucket}.s3.{partitionResult#dnsSuffix}\", F = \"aws.parseArn\", G = \"bucketArn\", H = \"arnType\", I = \"\", J = \"s3-object-lambda\", K = \"accesspoint\", L = \"accessPointName\", M = \"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}\", N = \"mrapPartition\", O = \"outpostType\", P = \"arnPrefix\", Q = \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", R = \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", S = \"https://s3.{partitionResult#dnsSuffix}\", T = { [cs]: false, [ct]: \"string\" }, U = { [cs]: true, \"default\": false, [ct]: \"boolean\" }, V = { [cs]: false, [ct]: \"boolean\" }, W = { [cw]: e, [cx]: [{ [cy]: \"Accelerate\" }, true] }, X = { [cw]: e, [cx]: [{ [cy]: \"UseFIPS\" }, true] }, Y = { [cw]: e, [cx]: [{ [cy]: \"UseDualStack\" }, true] }, Z = { [cw]: d, [cx]: [{ [cy]: \"Endpoint\" }] }, aa = { [cw]: g, [cx]: [{ [cy]: \"Region\" }], [cz]: \"partitionResult\" }, ab = { [cw]: h, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"partitionResult\" }, j] }, \"aws-cn\"] }, ac = { [cw]: d, [cx]: [{ [cy]: \"Bucket\" }] }, ad = { [cy]: \"Bucket\" }, ae = { [cv]: [W], [f]: \"S3Express does not support S3 Accelerate.\", [ct]: f }, af = { [cv]: [Z, { [cw]: m, [cx]: [{ [cy]: \"Endpoint\" }], [cz]: \"url\" }], [cu]: [{ [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }, true] }], [cu]: [{ [cv]: [{ [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }], [cu]: [{ [cv]: [{ [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }], [cu]: [{ [n]: { [cA]: \"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: p, [cx]: [ad, false] }], [cu]: [{ [n]: { [cA]: q, [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }, { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }], [ct]: o }, { [cv]: [{ [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }], [cu]: [{ [cv]: [{ [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }], [cu]: [{ [n]: { [cA]: \"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: p, [cx]: [ad, false] }], [cu]: [{ [n]: { [cA]: q, [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }, { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }], [ct]: o }, ag = { [cw]: m, [cx]: [{ [cy]: \"Endpoint\" }], [cz]: \"url\" }, ah = { [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }, ai = { [cy]: \"url\" }, aj = { [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }, ak = { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, al = {}, am = { [cw]: p, [cx]: [ad, false] }, an = { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }, ao = { [cw]: d, [cx]: [{ [cy]: \"UseS3ExpressControlEndpoint\" }] }, ap = { [cw]: e, [cx]: [{ [cy]: \"UseS3ExpressControlEndpoint\" }, true] }, aq = { [cw]: r, [cx]: [Z] }, ar = { [cw]: e, [cx]: [{ [cy]: \"UseDualStack\" }, false] }, as = { [cw]: e, [cx]: [{ [cy]: \"UseFIPS\" }, false] }, at = { [f]: \"Unrecognized S3Express bucket name format.\", [ct]: f }, au = { [cw]: r, [cx]: [ac] }, av = { [cy]: u }, aw = { [cv]: [aq], [f]: \"Expected a endpoint to be specified but no endpoint was found\", [ct]: f }, ax = { [cD]: [{ [cE]: true, [j]: z, [cF]: A, [cI]: [\"*\"] }, { [cE]: true, [j]: \"sigv4\", [cF]: A, [cG]: \"{Region}\" }] }, ay = { [cw]: e, [cx]: [{ [cy]: \"ForcePathStyle\" }, false] }, az = { [cy]: \"ForcePathStyle\" }, aA = { [cw]: e, [cx]: [{ [cy]: \"Accelerate\" }, false] }, aB = { [cw]: h, [cx]: [{ [cy]: \"Region\" }, \"aws-global\"] }, aC = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"us-east-1\" }] }, aD = { [cw]: r, [cx]: [aB] }, aE = { [cw]: e, [cx]: [{ [cy]: \"UseGlobalEndpoint\" }, true] }, aF = { [cA]: \"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{Region}\" }] }, [cH]: {} }, aG = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{Region}\" }] }, aH = { [cw]: e, [cx]: [{ [cy]: \"UseGlobalEndpoint\" }, false] }, aI = { [cA]: \"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aJ = { [cA]: \"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aK = { [cA]: \"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aL = { [cw]: e, [cx]: [{ [cw]: i, [cx]: [ai, \"isIp\"] }, false] }, aM = { [cA]: C, [cB]: aG, [cH]: {} }, aN = { [cA]: q, [cB]: aG, [cH]: {} }, aO = { [n]: aN, [ct]: n }, aP = { [cA]: D, [cB]: aG, [cH]: {} }, aQ = { [cA]: \"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aR = { [f]: \"Invalid region: region was not a valid DNS name.\", [ct]: f }, aS = { [cy]: G }, aT = { [cy]: H }, aU = { [cw]: i, [cx]: [aS, \"service\"] }, aV = { [cy]: L }, aW = { [cv]: [Y], [f]: \"S3 Object Lambda does not support Dual-stack\", [ct]: f }, aX = { [cv]: [W], [f]: \"S3 Object Lambda does not support S3 Accelerate\", [ct]: f }, aY = { [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"DisableAccessPoints\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableAccessPoints\" }, true] }], [f]: \"Access points are not supported for this operation\", [ct]: f }, aZ = { [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"UseArnRegion\" }] }, { [cw]: e, [cx]: [{ [cy]: \"UseArnRegion\" }, false] }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, \"{Region}\"] }] }], [f]: \"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`\", [ct]: f }, ba = { [cw]: i, [cx]: [{ [cy]: \"bucketPartition\" }, j] }, bb = { [cw]: i, [cx]: [aS, \"accountId\"] }, bc = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: J, [cG]: \"{bucketArn#region}\" }] }, bd = { [f]: \"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`\", [ct]: f }, be = { [f]: \"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`\", [ct]: f }, bf = { [f]: \"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)\", [ct]: f }, bg = { [f]: \"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`\", [ct]: f }, bh = { [f]: \"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.\", [ct]: f }, bi = { [f]: \"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided\", [ct]: f }, bj = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{bucketArn#region}\" }] }, bk = { [cD]: [{ [cE]: true, [j]: z, [cF]: A, [cI]: [\"*\"] }, { [cE]: true, [j]: \"sigv4\", [cF]: A, [cG]: \"{bucketArn#region}\" }] }, bl = { [cw]: F, [cx]: [ad] }, bm = { [cA]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bn = { [cA]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bo = { [cA]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bp = { [cA]: Q, [cB]: aG, [cH]: {} }, bq = { [cA]: \"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, br = { [cy]: \"UseObjectLambdaEndpoint\" }, bs = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: J, [cG]: \"{Region}\" }] }, bt = { [cA]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bu = { [cA]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bv = { [cA]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bw = { [cA]: t, [cB]: aG, [cH]: {} }, bx = { [cA]: \"https://s3.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, by = [{ [cy]: \"Region\" }], bz = [{ [cy]: \"Endpoint\" }], bA = [ad], bB = [W], bC = [Z, ag], bD = [{ [cw]: d, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }, true] }], bE = [aj], bF = [am], bG = [aa], bH = [X, Y], bI = [X, ar], bJ = [as, Y], bK = [as, ar], bL = [{ [cw]: k, [cx]: [ad, 6, 14, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 14, 16, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bM = [{ [cv]: [X, Y], [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bI, [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bJ, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bK, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }], bN = [{ [cw]: k, [cx]: [ad, 6, 15, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 15, 17, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bO = [{ [cw]: k, [cx]: [ad, 6, 19, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 19, 21, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bP = [{ [cw]: k, [cx]: [ad, 6, 20, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 20, 22, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bQ = [{ [cw]: k, [cx]: [ad, 6, 26, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 26, 28, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bR = [{ [cv]: [X, Y], [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bI, [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bJ, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bK, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], bS = [ad, 0, 7, true], bT = [{ [cw]: k, [cx]: [ad, 7, 15, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 15, 17, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bU = [{ [cw]: k, [cx]: [ad, 7, 16, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 16, 18, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bV = [{ [cw]: k, [cx]: [ad, 7, 20, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 20, 22, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bW = [{ [cw]: k, [cx]: [ad, 7, 21, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 21, 23, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bX = [{ [cw]: k, [cx]: [ad, 7, 27, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 27, 29, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bY = [ac], bZ = [{ [cw]: y, [cx]: [{ [cy]: x }, false] }], ca = [{ [cw]: h, [cx]: [{ [cy]: v }, \"beta\"] }], cb = [\"*\"], cc = [{ [cw]: y, [cx]: [{ [cy]: \"Region\" }, false] }], cd = [{ [cw]: h, [cx]: [{ [cy]: \"Region\" }, \"us-east-1\"] }], ce = [{ [cw]: h, [cx]: [aT, K] }], cf = [{ [cw]: i, [cx]: [aS, \"resourceId[1]\"], [cz]: L }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [aV, I] }] }], cg = [aS, \"resourceId[1]\"], ch = [Y], ci = [{ [cw]: r, [cx]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, I] }] }], cj = [{ [cw]: r, [cx]: [{ [cw]: d, [cx]: [{ [cw]: i, [cx]: [aS, \"resourceId[2]\"] }] }] }], ck = [aS, \"resourceId[2]\"], cl = [{ [cw]: g, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }], [cz]: \"bucketPartition\" }], cm = [{ [cw]: h, [cx]: [ba, { [cw]: i, [cx]: [{ [cy]: \"partitionResult\" }, j] }] }], cn = [{ [cw]: y, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, true] }], co = [{ [cw]: y, [cx]: [bb, false] }], cp = [{ [cw]: y, [cx]: [aV, false] }], cq = [X], cr = [{ [cw]: y, [cx]: [{ [cy]: \"Region\" }, true] }];\nconst _data = { version: \"1.0\", parameters: { Bucket: T, Region: T, UseFIPS: U, UseDualStack: U, Endpoint: T, ForcePathStyle: U, Accelerate: U, UseGlobalEndpoint: U, UseObjectLambdaEndpoint: V, Key: T, Prefix: T, CopySource: T, DisableAccessPoints: V, DisableMultiRegionAccessPoints: U, UseArnRegion: V, UseS3ExpressControlEndpoint: V, DisableS3ExpressSessionAuth: V }, [cu]: [{ [cv]: [{ [cw]: d, [cx]: by }], [cu]: [{ [cv]: [W, X], error: \"Accelerate cannot be used with FIPS\", [ct]: f }, { [cv]: [Y, Z], error: \"Cannot set dual-stack in combination with a custom endpoint.\", [ct]: f }, { [cv]: [Z, X], error: \"A custom endpoint cannot be combined with FIPS\", [ct]: f }, { [cv]: [Z, W], error: \"A custom endpoint cannot be combined with S3 Accelerate\", [ct]: f }, { [cv]: [X, aa, ab], error: \"Partition does not support FIPS\", [ct]: f }, { [cv]: [ac, { [cw]: k, [cx]: [ad, 0, a, c], [cz]: l }, { [cw]: h, [cx]: [{ [cy]: l }, \"--x-s3\"] }], [cu]: [ae, af, { [cv]: [ao, ap], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [aj, aq], [cu]: [{ [cv]: bH, endpoint: { [cA]: \"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: bF, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bD, [cu]: [{ [cv]: bL, [cu]: bM, [ct]: o }, { [cv]: bN, [cu]: bM, [ct]: o }, { [cv]: bO, [cu]: bM, [ct]: o }, { [cv]: bP, [cu]: bM, [ct]: o }, { [cv]: bQ, [cu]: bM, [ct]: o }, at], [ct]: o }, { [cv]: bL, [cu]: bR, [ct]: o }, { [cv]: bN, [cu]: bR, [ct]: o }, { [cv]: bO, [cu]: bR, [ct]: o }, { [cv]: bP, [cu]: bR, [ct]: o }, { [cv]: bQ, [cu]: bR, [ct]: o }, at], [ct]: o }], [ct]: o }, an], [ct]: o }, { [cv]: [ac, { [cw]: k, [cx]: bS, [cz]: s }, { [cw]: h, [cx]: [{ [cy]: s }, \"--xa-s3\"] }], [cu]: [ae, af, { [cv]: bF, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bD, [cu]: [{ [cv]: bT, [cu]: bM, [ct]: o }, { [cv]: bU, [cu]: bM, [ct]: o }, { [cv]: bV, [cu]: bM, [ct]: o }, { [cv]: bW, [cu]: bM, [ct]: o }, { [cv]: bX, [cu]: bM, [ct]: o }, at], [ct]: o }, { [cv]: bT, [cu]: bR, [ct]: o }, { [cv]: bU, [cu]: bR, [ct]: o }, { [cv]: bV, [cu]: bR, [ct]: o }, { [cv]: bW, [cu]: bR, [ct]: o }, { [cv]: bX, [cu]: bR, [ct]: o }, at], [ct]: o }], [ct]: o }, an], [ct]: o }, { [cv]: [au, ao, ap], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bC, endpoint: { [cA]: t, [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bH, endpoint: { [cA]: \"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://s3express-control.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [ac, { [cw]: k, [cx]: [ad, 49, 50, c], [cz]: u }, { [cw]: k, [cx]: [ad, 8, 12, c], [cz]: v }, { [cw]: k, [cx]: bS, [cz]: w }, { [cw]: k, [cx]: [ad, 32, 49, c], [cz]: x }, { [cw]: g, [cx]: by, [cz]: \"regionPartition\" }, { [cw]: h, [cx]: [{ [cy]: w }, \"--op-s3\"] }], [cu]: [{ [cv]: bZ, [cu]: [{ [cv]: bF, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [av, \"e\"] }], [cu]: [{ [cv]: ca, [cu]: [aw, { [cv]: bC, endpoint: { [cA]: \"https://{Bucket}.ec2.{url#authority}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { endpoint: { [cA]: \"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { [cv]: [{ [cw]: h, [cx]: [av, \"o\"] }], [cu]: [{ [cv]: ca, [cu]: [aw, { [cv]: bC, endpoint: { [cA]: \"https://{Bucket}.op-{outpostId}.{url#authority}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { endpoint: { [cA]: \"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Unrecognized hardware type: \\\"Expected hardware type o or e but got {hardwareType}\\\"\", [ct]: f }], [ct]: o }, { error: \"Invalid Outposts Bucket alias - it must be a valid bucket name.\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.\", [ct]: f }], [ct]: o }, { [cv]: bY, [cu]: [{ [cv]: [Z, { [cw]: r, [cx]: [{ [cw]: d, [cx]: [{ [cw]: m, [cx]: bz }] }] }], error: \"Custom endpoint `{Endpoint}` was not a valid URI\", [ct]: f }, { [cv]: [ay, am], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cc, [cu]: [{ [cv]: [W, ab], error: \"S3 Accelerate cannot be used in this region\", [ct]: f }, { [cv]: [Y, X, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, X, aA, aq, aD, aE], [cu]: [{ endpoint: aF, [ct]: n }], [ct]: o }, { [cv]: [Y, X, aA, aq, aD, aH], endpoint: aF, [ct]: n }, { [cv]: [ar, X, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, X, aA, aq, aD, aE], [cu]: [{ endpoint: aI, [ct]: n }], [ct]: o }, { [cv]: [ar, X, aA, aq, aD, aH], endpoint: aI, [ct]: n }, { [cv]: [Y, as, W, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, as, W, aq, aD, aE], [cu]: [{ endpoint: aJ, [ct]: n }], [ct]: o }, { [cv]: [Y, as, W, aq, aD, aH], endpoint: aJ, [ct]: n }, { [cv]: [Y, as, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, as, aA, aq, aD, aE], [cu]: [{ endpoint: aK, [ct]: n }], [ct]: o }, { [cv]: [Y, as, aA, aq, aD, aH], endpoint: aK, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, ah, aB], endpoint: { [cA]: C, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, aL, aB], endpoint: { [cA]: q, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, ah, aD, aE], [cu]: [{ [cv]: cd, endpoint: aM, [ct]: n }, { endpoint: aM, [ct]: n }], [ct]: o }, { [cv]: [ar, as, aA, Z, ag, aL, aD, aE], [cu]: [{ [cv]: cd, endpoint: aN, [ct]: n }, aO], [ct]: o }, { [cv]: [ar, as, aA, Z, ag, ah, aD, aH], endpoint: aM, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, aL, aD, aH], endpoint: aN, [ct]: n }, { [cv]: [ar, as, W, aq, aB], endpoint: { [cA]: D, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, W, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: aP, [ct]: n }, { endpoint: aP, [ct]: n }], [ct]: o }, { [cv]: [ar, as, W, aq, aD, aH], endpoint: aP, [ct]: n }, { [cv]: [ar, as, aA, aq, aB], endpoint: { [cA]: E, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: E, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: aQ, [ct]: n }], [ct]: o }, { [cv]: [ar, as, aA, aq, aD, aH], endpoint: aQ, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [Z, ag, { [cw]: h, [cx]: [{ [cw]: i, [cx]: [ai, \"scheme\"] }, \"http\"] }, { [cw]: p, [cx]: [ad, c] }, ay, as, ar, aA], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cc, [cu]: [aO], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [ay, { [cw]: F, [cx]: bA, [cz]: G }], [cu]: [{ [cv]: [{ [cw]: i, [cx]: [aS, \"resourceId[0]\"], [cz]: H }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [aT, I] }] }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [aU, J] }], [cu]: [{ [cv]: ce, [cu]: [{ [cv]: cf, [cu]: [aW, aX, { [cv]: ci, [cu]: [aY, { [cv]: cj, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cm, [cu]: [{ [cv]: cn, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [bb, I] }], error: \"Invalid ARN: Missing account id\", [ct]: f }, { [cv]: co, [cu]: [{ [cv]: cp, [cu]: [{ [cv]: bC, endpoint: { [cA]: M, [cB]: bc, [cH]: al }, [ct]: n }, { [cv]: cq, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bc, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bc, [cH]: al }, [ct]: n }], [ct]: o }, bd], [ct]: o }, be], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, bh], [ct]: o }, { error: \"Invalid ARN: bucket ARN is missing a region\", [ct]: f }], [ct]: o }, bi], [ct]: o }, { error: \"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`\", [ct]: f }], [ct]: o }, { [cv]: ce, [cu]: [{ [cv]: cf, [cu]: [{ [cv]: ci, [cu]: [{ [cv]: ce, [cu]: [{ [cv]: ci, [cu]: [aY, { [cv]: cj, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [ba, \"{partitionResult#name}\"] }], [cu]: [{ [cv]: cn, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [aU, B] }], [cu]: [{ [cv]: co, [cu]: [{ [cv]: cp, [cu]: [{ [cv]: bB, error: \"Access Points do not support S3 Accelerate\", [ct]: f }, { [cv]: bH, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: [as, ar, Z, ag], endpoint: { [cA]: M, [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }], [ct]: o }, bd], [ct]: o }, be], [ct]: o }, { error: \"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}\", [ct]: f }], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, bh], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: y, [cx]: [aV, c] }], [cu]: [{ [cv]: ch, error: \"S3 MRAP does not support dual-stack\", [ct]: f }, { [cv]: cq, error: \"S3 MRAP does not support FIPS\", [ct]: f }, { [cv]: bB, error: \"S3 MRAP does not support S3 Accelerate\", [ct]: f }, { [cv]: [{ [cw]: e, [cx]: [{ [cy]: \"DisableMultiRegionAccessPoints\" }, c] }], error: \"Invalid configuration: Multi-Region Access Point ARNs are disabled.\", [ct]: f }, { [cv]: [{ [cw]: g, [cx]: by, [cz]: N }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [{ [cy]: N }, j] }, { [cw]: i, [cx]: [aS, \"partition\"] }] }], [cu]: [{ endpoint: { [cA]: \"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}\", [cB]: { [cD]: [{ [cE]: c, name: z, [cF]: B, [cI]: cb }] }, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`\", [ct]: f }], [ct]: o }], [ct]: o }, { error: \"Invalid Access Point Name\", [ct]: f }], [ct]: o }, bi], [ct]: o }, { [cv]: [{ [cw]: h, [cx]: [aU, A] }], [cu]: [{ [cv]: ch, error: \"S3 Outposts does not support Dual-stack\", [ct]: f }, { [cv]: cq, error: \"S3 Outposts does not support FIPS\", [ct]: f }, { [cv]: bB, error: \"S3 Outposts does not support S3 Accelerate\", [ct]: f }, { [cv]: [{ [cw]: d, [cx]: [{ [cw]: i, [cx]: [aS, \"resourceId[4]\"] }] }], error: \"Invalid Arn: Outpost Access Point ARN contains sub resources\", [ct]: f }, { [cv]: [{ [cw]: i, [cx]: cg, [cz]: x }], [cu]: [{ [cv]: bZ, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cm, [cu]: [{ [cv]: cn, [cu]: [{ [cv]: co, [cu]: [{ [cv]: [{ [cw]: i, [cx]: ck, [cz]: O }], [cu]: [{ [cv]: [{ [cw]: i, [cx]: [aS, \"resourceId[3]\"], [cz]: L }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [{ [cy]: O }, K] }], [cu]: [{ [cv]: bC, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}\", [cB]: bk, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bk, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Expected an outpost type `accesspoint`, found {outpostType}\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: expected an access point name\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: Expected a 4-component resource\", [ct]: f }], [ct]: o }, be], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, { error: \"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: The Outpost Id was not set\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: No ARN type specified\", [ct]: f }], [ct]: o }, { [cv]: [{ [cw]: k, [cx]: [ad, 0, 4, b], [cz]: P }, { [cw]: h, [cx]: [{ [cy]: P }, \"arn:\"] }, { [cw]: r, [cx]: [{ [cw]: d, [cx]: [bl] }] }], error: \"Invalid ARN: `{Bucket}` was not a valid ARN\", [ct]: f }, { [cv]: [{ [cw]: e, [cx]: [az, c] }, bl], error: \"Path-style addressing cannot be used with ARN buckets\", [ct]: f }, { [cv]: bE, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [aA], [cu]: [{ [cv]: [Y, aq, X, aB], endpoint: { [cA]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, aq, X, aD, aE], [cu]: [{ endpoint: bm, [ct]: n }], [ct]: o }, { [cv]: [Y, aq, X, aD, aH], endpoint: bm, [ct]: n }, { [cv]: [ar, aq, X, aB], endpoint: { [cA]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, aq, X, aD, aE], [cu]: [{ endpoint: bn, [ct]: n }], [ct]: o }, { [cv]: [ar, aq, X, aD, aH], endpoint: bn, [ct]: n }, { [cv]: [Y, aq, as, aB], endpoint: { [cA]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, aq, as, aD, aE], [cu]: [{ endpoint: bo, [ct]: n }], [ct]: o }, { [cv]: [Y, aq, as, aD, aH], endpoint: bo, [ct]: n }, { [cv]: [ar, Z, ag, as, aB], endpoint: { [cA]: Q, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, Z, ag, as, aD, aE], [cu]: [{ [cv]: cd, endpoint: bp, [ct]: n }, { endpoint: bp, [ct]: n }], [ct]: o }, { [cv]: [ar, Z, ag, as, aD, aH], endpoint: bp, [ct]: n }, { [cv]: [ar, aq, as, aB], endpoint: { [cA]: R, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, aq, as, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: R, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: bq, [ct]: n }], [ct]: o }, { [cv]: [ar, aq, as, aD, aH], endpoint: bq, [ct]: n }], [ct]: o }, { error: \"Path-style addressing cannot be used with S3 Accelerate\", [ct]: f }], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: d, [cx]: [br] }, { [cw]: e, [cx]: [br, c] }], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cr, [cu]: [aW, aX, { [cv]: bC, endpoint: { [cA]: t, [cB]: bs, [cH]: al }, [ct]: n }, { [cv]: cq, endpoint: { [cA]: \"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: bs, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}\", [cB]: bs, [cH]: al }, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [au], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cr, [cu]: [{ [cv]: [X, Y, aq, aB], endpoint: { [cA]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [X, Y, aq, aD, aE], [cu]: [{ endpoint: bt, [ct]: n }], [ct]: o }, { [cv]: [X, Y, aq, aD, aH], endpoint: bt, [ct]: n }, { [cv]: [X, ar, aq, aB], endpoint: { [cA]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [X, ar, aq, aD, aE], [cu]: [{ endpoint: bu, [ct]: n }], [ct]: o }, { [cv]: [X, ar, aq, aD, aH], endpoint: bu, [ct]: n }, { [cv]: [as, Y, aq, aB], endpoint: { [cA]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, Y, aq, aD, aE], [cu]: [{ endpoint: bv, [ct]: n }], [ct]: o }, { [cv]: [as, Y, aq, aD, aH], endpoint: bv, [ct]: n }, { [cv]: [as, ar, Z, ag, aB], endpoint: { [cA]: t, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, ar, Z, ag, aD, aE], [cu]: [{ [cv]: cd, endpoint: bw, [ct]: n }, { endpoint: bw, [ct]: n }], [ct]: o }, { [cv]: [as, ar, Z, ag, aD, aH], endpoint: bw, [ct]: n }, { [cv]: [as, ar, aq, aB], endpoint: { [cA]: S, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, ar, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: S, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: bx, [ct]: n }], [ct]: o }, { [cv]: [as, ar, aq, aD, aH], endpoint: bx, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }], [ct]: o }, { error: \"A region must be set when sending requests to S3.\", [ct]: f }] };\nexport const ruleSet = _data;\n", "import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, EndpointCache, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nconst cache = new EndpointCache({\n size: 50,\n params: [\n \"Accelerate\",\n \"Bucket\",\n \"DisableAccessPoints\",\n \"DisableMultiRegionAccessPoints\",\n \"DisableS3ExpressSessionAuth\",\n \"Endpoint\",\n \"ForcePathStyle\",\n \"Region\",\n \"UseArnRegion\",\n \"UseDualStack\",\n \"UseFIPS\",\n \"UseGlobalEndpoint\",\n \"UseObjectLambdaEndpoint\",\n \"UseS3ExpressControlEndpoint\",\n ],\n});\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n", "import { resolveAwsSdkSigV4AConfig, resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { SignatureV4MultiRegion } from \"@aws-sdk/signature-v4-multi-region\";\nimport { resolveParams } from \"@smithy/middleware-endpoint\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nimport { defaultEndpointResolver } from \"../endpoint/endpointResolver\";\nconst createEndpointRuleSetHttpAuthSchemeParametersProvider = (defaultHttpAuthSchemeParametersProvider) => async (config, context, input) => {\n if (!input) {\n throw new Error(\"Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`\");\n }\n const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config, context, input);\n const instructionsFn = getSmithyContext(context)?.commandInstance?.constructor\n ?.getEndpointParameterInstructions;\n if (!instructionsFn) {\n throw new Error(`getEndpointParameterInstructions() is not defined on '${context.commandName}'`);\n }\n const endpointParameters = await resolveParams(input, { getEndpointParameterInstructions: instructionsFn }, config);\n return Object.assign(defaultParameters, endpointParameters);\n};\nconst _defaultS3HttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: await normalizeProvider(config.region)() || (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nexport const defaultS3HttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider(_defaultS3HttpAuthSchemeParametersProvider);\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"s3\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createAwsAuthSigv4aHttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4a\",\n signingProperties: {\n name: \"s3\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nconst createEndpointRuleSetHttpAuthSchemeProvider = (defaultEndpointResolver, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => {\n const endpointRuleSetHttpAuthSchemeProvider = (authParameters) => {\n const endpoint = defaultEndpointResolver(authParameters);\n const authSchemes = endpoint.properties?.authSchemes;\n if (!authSchemes) {\n return defaultHttpAuthSchemeResolver(authParameters);\n }\n const options = [];\n for (const scheme of authSchemes) {\n const { name: resolvedName, properties = {}, ...rest } = scheme;\n const name = resolvedName.toLowerCase();\n if (resolvedName !== name) {\n console.warn(`HttpAuthScheme has been normalized with lowercasing: '${resolvedName}' to '${name}'`);\n }\n let schemeId;\n if (name === \"sigv4a\") {\n schemeId = \"aws.auth#sigv4a\";\n const sigv4Present = authSchemes.find((s) => {\n const name = s.name.toLowerCase();\n return name !== \"sigv4a\" && name.startsWith(\"sigv4\");\n });\n if (SignatureV4MultiRegion.sigv4aDependency() === \"none\" && sigv4Present) {\n continue;\n }\n }\n else if (name.startsWith(\"sigv4\")) {\n schemeId = \"aws.auth#sigv4\";\n }\n else {\n throw new Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${name}'`);\n }\n const createOption = createHttpAuthOptionFunctions[schemeId];\n if (!createOption) {\n throw new Error(`Could not find HttpAuthOption create function for '${schemeId}'`);\n }\n const option = createOption(authParameters);\n option.schemeId = schemeId;\n option.signingProperties = { ...(option.signingProperties || {}), ...rest, ...properties };\n options.push(option);\n }\n return options;\n };\n return endpointRuleSetHttpAuthSchemeProvider;\n};\nconst _defaultS3HttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const defaultS3HttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider(defaultEndpointResolver, _defaultS3HttpAuthSchemeProvider, {\n \"aws.auth#sigv4\": createAwsAuthSigv4HttpAuthOption,\n \"aws.auth#sigv4a\": createAwsAuthSigv4aHttpAuthOption,\n});\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveAwsSdkSigV4Config(config);\n const config_1 = resolveAwsSdkSigV4AConfig(config_0);\n return Object.assign(config_1, {\n authSchemePreference: normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n", "const clientContextParamDefaults = {};\nexport const resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n forcePathStyle: options.forcePathStyle ?? false,\n useAccelerateEndpoint: options.useAccelerateEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n disableMultiregionAccessPoints: options.disableMultiregionAccessPoints ?? false,\n defaultSigningName: \"s3\",\n clientContextParams: options.clientContextParams ?? {},\n });\n};\nexport const commonParams = {\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n DisableS3ExpressSessionAuth: { type: \"clientContextParams\", name: \"disableS3ExpressSessionAuth\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n", "import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class S3ServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, S3ServiceException.prototype);\n }\n}\n", "import { S3ServiceException as __BaseException } from \"./S3ServiceException\";\nexport class NoSuchUpload extends __BaseException {\n name = \"NoSuchUpload\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchUpload\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchUpload.prototype);\n }\n}\nexport class AccessDenied extends __BaseException {\n name = \"AccessDenied\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"AccessDenied\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDenied.prototype);\n }\n}\nexport class ObjectNotInActiveTierError extends __BaseException {\n name = \"ObjectNotInActiveTierError\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ObjectNotInActiveTierError.prototype);\n }\n}\nexport class BucketAlreadyExists extends __BaseException {\n name = \"BucketAlreadyExists\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, BucketAlreadyExists.prototype);\n }\n}\nexport class BucketAlreadyOwnedByYou extends __BaseException {\n name = \"BucketAlreadyOwnedByYou\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, BucketAlreadyOwnedByYou.prototype);\n }\n}\nexport class NoSuchBucket extends __BaseException {\n name = \"NoSuchBucket\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchBucket\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchBucket.prototype);\n }\n}\nexport class InvalidObjectState extends __BaseException {\n name = \"InvalidObjectState\";\n $fault = \"client\";\n StorageClass;\n AccessTier;\n constructor(opts) {\n super({\n name: \"InvalidObjectState\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidObjectState.prototype);\n this.StorageClass = opts.StorageClass;\n this.AccessTier = opts.AccessTier;\n }\n}\nexport class NoSuchKey extends __BaseException {\n name = \"NoSuchKey\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchKey\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchKey.prototype);\n }\n}\nexport class NotFound extends __BaseException {\n name = \"NotFound\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NotFound\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NotFound.prototype);\n }\n}\nexport class EncryptionTypeMismatch extends __BaseException {\n name = \"EncryptionTypeMismatch\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"EncryptionTypeMismatch\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, EncryptionTypeMismatch.prototype);\n }\n}\nexport class InvalidRequest extends __BaseException {\n name = \"InvalidRequest\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidRequest\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequest.prototype);\n }\n}\nexport class InvalidWriteOffset extends __BaseException {\n name = \"InvalidWriteOffset\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidWriteOffset\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidWriteOffset.prototype);\n }\n}\nexport class TooManyParts extends __BaseException {\n name = \"TooManyParts\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"TooManyParts\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyParts.prototype);\n }\n}\nexport class IdempotencyParameterMismatch extends __BaseException {\n name = \"IdempotencyParameterMismatch\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"IdempotencyParameterMismatch\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, IdempotencyParameterMismatch.prototype);\n }\n}\nexport class ObjectAlreadyInActiveTierError extends __BaseException {\n name = \"ObjectAlreadyInActiveTierError\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ObjectAlreadyInActiveTierError.prototype);\n }\n}\n", "const _A = \"Account\";\nconst _AAO = \"AnalyticsAndOperator\";\nconst _AC = \"AccelerateConfiguration\";\nconst _ACL = \"AccessControlList\";\nconst _ACL_ = \"ACL\";\nconst _ACLn = \"AnalyticsConfigurationList\";\nconst _ACP = \"AccessControlPolicy\";\nconst _ACT = \"AccessControlTranslation\";\nconst _ACn = \"AnalyticsConfiguration\";\nconst _AD = \"AccessDenied\";\nconst _ADb = \"AbortDate\";\nconst _AED = \"AnalyticsExportDestination\";\nconst _AF = \"AnalyticsFilter\";\nconst _AH = \"AllowedHeaders\";\nconst _AHl = \"AllowedHeader\";\nconst _AI = \"AccountId\";\nconst _AIMU = \"AbortIncompleteMultipartUpload\";\nconst _AKI = \"AccessKeyId\";\nconst _AM = \"AllowedMethods\";\nconst _AMU = \"AbortMultipartUpload\";\nconst _AMUO = \"AbortMultipartUploadOutput\";\nconst _AMUR = \"AbortMultipartUploadRequest\";\nconst _AMl = \"AllowedMethod\";\nconst _AO = \"AllowedOrigins\";\nconst _AOl = \"AllowedOrigin\";\nconst _APA = \"AccessPointAlias\";\nconst _APAc = \"AccessPointArn\";\nconst _AQRD = \"AllowQuotedRecordDelimiter\";\nconst _AR = \"AcceptRanges\";\nconst _ARI = \"AbortRuleId\";\nconst _AS = \"AbacStatus\";\nconst _ASBD = \"AnalyticsS3BucketDestination\";\nconst _ASSEBD = \"ApplyServerSideEncryptionByDefault\";\nconst _ASr = \"ArchiveStatus\";\nconst _AT = \"AccessTier\";\nconst _An = \"And\";\nconst _B = \"Bucket\";\nconst _BA = \"BucketArn\";\nconst _BAE = \"BucketAlreadyExists\";\nconst _BAI = \"BucketAccountId\";\nconst _BAOBY = \"BucketAlreadyOwnedByYou\";\nconst _BET = \"BlockedEncryptionTypes\";\nconst _BGR = \"BypassGovernanceRetention\";\nconst _BI = \"BucketInfo\";\nconst _BKE = \"BucketKeyEnabled\";\nconst _BLC = \"BucketLifecycleConfiguration\";\nconst _BLN = \"BucketLocationName\";\nconst _BLS = \"BucketLoggingStatus\";\nconst _BLT = \"BucketLocationType\";\nconst _BN = \"BucketNamespace\";\nconst _BNu = \"BucketName\";\nconst _BP = \"BytesProcessed\";\nconst _BPA = \"BlockPublicAcls\";\nconst _BPP = \"BlockPublicPolicy\";\nconst _BR = \"BucketRegion\";\nconst _BRy = \"BytesReturned\";\nconst _BS = \"BytesScanned\";\nconst _Bo = \"Body\";\nconst _Bu = \"Buckets\";\nconst _C = \"Checksum\";\nconst _CA = \"ChecksumAlgorithm\";\nconst _CACL = \"CannedACL\";\nconst _CB = \"CreateBucket\";\nconst _CBC = \"CreateBucketConfiguration\";\nconst _CBMC = \"CreateBucketMetadataConfiguration\";\nconst _CBMCR = \"CreateBucketMetadataConfigurationRequest\";\nconst _CBMTC = \"CreateBucketMetadataTableConfiguration\";\nconst _CBMTCR = \"CreateBucketMetadataTableConfigurationRequest\";\nconst _CBO = \"CreateBucketOutput\";\nconst _CBR = \"CreateBucketRequest\";\nconst _CC = \"CacheControl\";\nconst _CCRC = \"ChecksumCRC32\";\nconst _CCRCC = \"ChecksumCRC32C\";\nconst _CCRCNVME = \"ChecksumCRC64NVME\";\nconst _CC_ = \"Cache-Control\";\nconst _CD = \"CreationDate\";\nconst _CD_ = \"Content-Disposition\";\nconst _CDo = \"ContentDisposition\";\nconst _CE = \"ContinuationEvent\";\nconst _CE_ = \"Content-Encoding\";\nconst _CEo = \"ContentEncoding\";\nconst _CF = \"CloudFunction\";\nconst _CFC = \"CloudFunctionConfiguration\";\nconst _CL = \"ContentLanguage\";\nconst _CL_ = \"Content-Language\";\nconst _CL__ = \"Content-Length\";\nconst _CLo = \"ContentLength\";\nconst _CM = \"Content-MD5\";\nconst _CMD = \"ContentMD5\";\nconst _CMU = \"CompletedMultipartUpload\";\nconst _CMUO = \"CompleteMultipartUploadOutput\";\nconst _CMUOr = \"CreateMultipartUploadOutput\";\nconst _CMUR = \"CompleteMultipartUploadResult\";\nconst _CMURo = \"CompleteMultipartUploadRequest\";\nconst _CMURr = \"CreateMultipartUploadRequest\";\nconst _CMUo = \"CompleteMultipartUpload\";\nconst _CMUr = \"CreateMultipartUpload\";\nconst _CMh = \"ChecksumMode\";\nconst _CO = \"CopyObject\";\nconst _COO = \"CopyObjectOutput\";\nconst _COR = \"CopyObjectResult\";\nconst _CORSC = \"CORSConfiguration\";\nconst _CORSR = \"CORSRules\";\nconst _CORSRu = \"CORSRule\";\nconst _CORo = \"CopyObjectRequest\";\nconst _CP = \"CommonPrefix\";\nconst _CPL = \"CommonPrefixList\";\nconst _CPLo = \"CompletedPartList\";\nconst _CPR = \"CopyPartResult\";\nconst _CPo = \"CompletedPart\";\nconst _CPom = \"CommonPrefixes\";\nconst _CR = \"ContentRange\";\nconst _CRSBA = \"ConfirmRemoveSelfBucketAccess\";\nconst _CR_ = \"Content-Range\";\nconst _CS = \"CopySource\";\nconst _CSHA = \"ChecksumSHA1\";\nconst _CSHAh = \"ChecksumSHA256\";\nconst _CSIM = \"CopySourceIfMatch\";\nconst _CSIMS = \"CopySourceIfModifiedSince\";\nconst _CSINM = \"CopySourceIfNoneMatch\";\nconst _CSIUS = \"CopySourceIfUnmodifiedSince\";\nconst _CSO = \"CreateSessionOutput\";\nconst _CSR = \"CreateSessionResult\";\nconst _CSRo = \"CopySourceRange\";\nconst _CSRr = \"CreateSessionRequest\";\nconst _CSSSECA = \"CopySourceSSECustomerAlgorithm\";\nconst _CSSSECK = \"CopySourceSSECustomerKey\";\nconst _CSSSECKMD = \"CopySourceSSECustomerKeyMD5\";\nconst _CSV = \"CSV\";\nconst _CSVI = \"CopySourceVersionId\";\nconst _CSVIn = \"CSVInput\";\nconst _CSVO = \"CSVOutput\";\nconst _CSo = \"ConfigurationState\";\nconst _CSr = \"CreateSession\";\nconst _CT = \"ChecksumType\";\nconst _CT_ = \"Content-Type\";\nconst _CTl = \"ClientToken\";\nconst _CTo = \"ContentType\";\nconst _CTom = \"CompressionType\";\nconst _CTon = \"ContinuationToken\";\nconst _Co = \"Condition\";\nconst _Cod = \"Code\";\nconst _Com = \"Comments\";\nconst _Con = \"Contents\";\nconst _Cont = \"Cont\";\nconst _Cr = \"Credentials\";\nconst _D = \"Days\";\nconst _DAI = \"DaysAfterInitiation\";\nconst _DB = \"DeleteBucket\";\nconst _DBAC = \"DeleteBucketAnalyticsConfiguration\";\nconst _DBACR = \"DeleteBucketAnalyticsConfigurationRequest\";\nconst _DBC = \"DeleteBucketCors\";\nconst _DBCR = \"DeleteBucketCorsRequest\";\nconst _DBE = \"DeleteBucketEncryption\";\nconst _DBER = \"DeleteBucketEncryptionRequest\";\nconst _DBIC = \"DeleteBucketInventoryConfiguration\";\nconst _DBICR = \"DeleteBucketInventoryConfigurationRequest\";\nconst _DBITC = \"DeleteBucketIntelligentTieringConfiguration\";\nconst _DBITCR = \"DeleteBucketIntelligentTieringConfigurationRequest\";\nconst _DBL = \"DeleteBucketLifecycle\";\nconst _DBLR = \"DeleteBucketLifecycleRequest\";\nconst _DBMC = \"DeleteBucketMetadataConfiguration\";\nconst _DBMCR = \"DeleteBucketMetadataConfigurationRequest\";\nconst _DBMCRe = \"DeleteBucketMetricsConfigurationRequest\";\nconst _DBMCe = \"DeleteBucketMetricsConfiguration\";\nconst _DBMTC = \"DeleteBucketMetadataTableConfiguration\";\nconst _DBMTCR = \"DeleteBucketMetadataTableConfigurationRequest\";\nconst _DBOC = \"DeleteBucketOwnershipControls\";\nconst _DBOCR = \"DeleteBucketOwnershipControlsRequest\";\nconst _DBP = \"DeleteBucketPolicy\";\nconst _DBPR = \"DeleteBucketPolicyRequest\";\nconst _DBR = \"DeleteBucketRequest\";\nconst _DBRR = \"DeleteBucketReplicationRequest\";\nconst _DBRe = \"DeleteBucketReplication\";\nconst _DBT = \"DeleteBucketTagging\";\nconst _DBTR = \"DeleteBucketTaggingRequest\";\nconst _DBW = \"DeleteBucketWebsite\";\nconst _DBWR = \"DeleteBucketWebsiteRequest\";\nconst _DE = \"DataExport\";\nconst _DIM = \"DestinationIfMatch\";\nconst _DIMS = \"DestinationIfModifiedSince\";\nconst _DINM = \"DestinationIfNoneMatch\";\nconst _DIUS = \"DestinationIfUnmodifiedSince\";\nconst _DM = \"DeleteMarker\";\nconst _DME = \"DeleteMarkerEntry\";\nconst _DMR = \"DeleteMarkerReplication\";\nconst _DMVI = \"DeleteMarkerVersionId\";\nconst _DMe = \"DeleteMarkers\";\nconst _DN = \"DisplayName\";\nconst _DO = \"DeletedObject\";\nconst _DOO = \"DeleteObjectOutput\";\nconst _DOOe = \"DeleteObjectsOutput\";\nconst _DOR = \"DeleteObjectRequest\";\nconst _DORe = \"DeleteObjectsRequest\";\nconst _DOT = \"DeleteObjectTagging\";\nconst _DOTO = \"DeleteObjectTaggingOutput\";\nconst _DOTR = \"DeleteObjectTaggingRequest\";\nconst _DOe = \"DeletedObjects\";\nconst _DOel = \"DeleteObject\";\nconst _DOele = \"DeleteObjects\";\nconst _DPAB = \"DeletePublicAccessBlock\";\nconst _DPABR = \"DeletePublicAccessBlockRequest\";\nconst _DR = \"DataRedundancy\";\nconst _DRe = \"DefaultRetention\";\nconst _DRel = \"DeleteResult\";\nconst _DRes = \"DestinationResult\";\nconst _Da = \"Date\";\nconst _De = \"Delete\";\nconst _Del = \"Deleted\";\nconst _Deli = \"Delimiter\";\nconst _Des = \"Destination\";\nconst _Desc = \"Description\";\nconst _Det = \"Details\";\nconst _E = \"Expiration\";\nconst _EA = \"EmailAddress\";\nconst _EBC = \"EventBridgeConfiguration\";\nconst _EBO = \"ExpectedBucketOwner\";\nconst _EC = \"EncryptionConfiguration\";\nconst _ECr = \"ErrorCode\";\nconst _ED = \"ErrorDetails\";\nconst _EDr = \"ErrorDocument\";\nconst _EE = \"EndEvent\";\nconst _EH = \"ExposeHeaders\";\nconst _EHx = \"ExposeHeader\";\nconst _EM = \"ErrorMessage\";\nconst _EODM = \"ExpiredObjectDeleteMarker\";\nconst _EOR = \"ExistingObjectReplication\";\nconst _ES = \"ExpiresString\";\nconst _ESBO = \"ExpectedSourceBucketOwner\";\nconst _ET = \"EncryptionType\";\nconst _ETL = \"EncryptionTypeList\";\nconst _ETM = \"EncryptionTypeMismatch\";\nconst _ETa = \"ETag\";\nconst _ETn = \"EncodingType\";\nconst _ETv = \"EventThreshold\";\nconst _ETx = \"ExpressionType\";\nconst _En = \"Encryption\";\nconst _Ena = \"Enabled\";\nconst _End = \"End\";\nconst _Er = \"Errors\";\nconst _Err = \"Error\";\nconst _Ev = \"Events\";\nconst _Eve = \"Event\";\nconst _Ex = \"Expires\";\nconst _Exp = \"Expression\";\nconst _F = \"Filter\";\nconst _FD = \"FieldDelimiter\";\nconst _FHI = \"FileHeaderInfo\";\nconst _FO = \"FetchOwner\";\nconst _FR = \"FilterRule\";\nconst _FRL = \"FilterRuleList\";\nconst _FRi = \"FilterRules\";\nconst _Fi = \"Field\";\nconst _Fo = \"Format\";\nconst _Fr = \"Frequency\";\nconst _G = \"Grants\";\nconst _GBA = \"GetBucketAbac\";\nconst _GBAC = \"GetBucketAccelerateConfiguration\";\nconst _GBACO = \"GetBucketAccelerateConfigurationOutput\";\nconst _GBACOe = \"GetBucketAnalyticsConfigurationOutput\";\nconst _GBACR = \"GetBucketAccelerateConfigurationRequest\";\nconst _GBACRe = \"GetBucketAnalyticsConfigurationRequest\";\nconst _GBACe = \"GetBucketAnalyticsConfiguration\";\nconst _GBAO = \"GetBucketAbacOutput\";\nconst _GBAOe = \"GetBucketAclOutput\";\nconst _GBAR = \"GetBucketAbacRequest\";\nconst _GBARe = \"GetBucketAclRequest\";\nconst _GBAe = \"GetBucketAcl\";\nconst _GBC = \"GetBucketCors\";\nconst _GBCO = \"GetBucketCorsOutput\";\nconst _GBCR = \"GetBucketCorsRequest\";\nconst _GBE = \"GetBucketEncryption\";\nconst _GBEO = \"GetBucketEncryptionOutput\";\nconst _GBER = \"GetBucketEncryptionRequest\";\nconst _GBIC = \"GetBucketInventoryConfiguration\";\nconst _GBICO = \"GetBucketInventoryConfigurationOutput\";\nconst _GBICR = \"GetBucketInventoryConfigurationRequest\";\nconst _GBITC = \"GetBucketIntelligentTieringConfiguration\";\nconst _GBITCO = \"GetBucketIntelligentTieringConfigurationOutput\";\nconst _GBITCR = \"GetBucketIntelligentTieringConfigurationRequest\";\nconst _GBL = \"GetBucketLocation\";\nconst _GBLC = \"GetBucketLifecycleConfiguration\";\nconst _GBLCO = \"GetBucketLifecycleConfigurationOutput\";\nconst _GBLCR = \"GetBucketLifecycleConfigurationRequest\";\nconst _GBLO = \"GetBucketLocationOutput\";\nconst _GBLOe = \"GetBucketLoggingOutput\";\nconst _GBLR = \"GetBucketLocationRequest\";\nconst _GBLRe = \"GetBucketLoggingRequest\";\nconst _GBLe = \"GetBucketLogging\";\nconst _GBMC = \"GetBucketMetadataConfiguration\";\nconst _GBMCO = \"GetBucketMetadataConfigurationOutput\";\nconst _GBMCOe = \"GetBucketMetricsConfigurationOutput\";\nconst _GBMCR = \"GetBucketMetadataConfigurationResult\";\nconst _GBMCRe = \"GetBucketMetadataConfigurationRequest\";\nconst _GBMCRet = \"GetBucketMetricsConfigurationRequest\";\nconst _GBMCe = \"GetBucketMetricsConfiguration\";\nconst _GBMTC = \"GetBucketMetadataTableConfiguration\";\nconst _GBMTCO = \"GetBucketMetadataTableConfigurationOutput\";\nconst _GBMTCR = \"GetBucketMetadataTableConfigurationResult\";\nconst _GBMTCRe = \"GetBucketMetadataTableConfigurationRequest\";\nconst _GBNC = \"GetBucketNotificationConfiguration\";\nconst _GBNCR = \"GetBucketNotificationConfigurationRequest\";\nconst _GBOC = \"GetBucketOwnershipControls\";\nconst _GBOCO = \"GetBucketOwnershipControlsOutput\";\nconst _GBOCR = \"GetBucketOwnershipControlsRequest\";\nconst _GBP = \"GetBucketPolicy\";\nconst _GBPO = \"GetBucketPolicyOutput\";\nconst _GBPR = \"GetBucketPolicyRequest\";\nconst _GBPS = \"GetBucketPolicyStatus\";\nconst _GBPSO = \"GetBucketPolicyStatusOutput\";\nconst _GBPSR = \"GetBucketPolicyStatusRequest\";\nconst _GBR = \"GetBucketReplication\";\nconst _GBRO = \"GetBucketReplicationOutput\";\nconst _GBRP = \"GetBucketRequestPayment\";\nconst _GBRPO = \"GetBucketRequestPaymentOutput\";\nconst _GBRPR = \"GetBucketRequestPaymentRequest\";\nconst _GBRR = \"GetBucketReplicationRequest\";\nconst _GBT = \"GetBucketTagging\";\nconst _GBTO = \"GetBucketTaggingOutput\";\nconst _GBTR = \"GetBucketTaggingRequest\";\nconst _GBV = \"GetBucketVersioning\";\nconst _GBVO = \"GetBucketVersioningOutput\";\nconst _GBVR = \"GetBucketVersioningRequest\";\nconst _GBW = \"GetBucketWebsite\";\nconst _GBWO = \"GetBucketWebsiteOutput\";\nconst _GBWR = \"GetBucketWebsiteRequest\";\nconst _GFC = \"GrantFullControl\";\nconst _GJP = \"GlacierJobParameters\";\nconst _GO = \"GetObject\";\nconst _GOA = \"GetObjectAcl\";\nconst _GOAO = \"GetObjectAclOutput\";\nconst _GOAOe = \"GetObjectAttributesOutput\";\nconst _GOAP = \"GetObjectAttributesParts\";\nconst _GOAR = \"GetObjectAclRequest\";\nconst _GOARe = \"GetObjectAttributesResponse\";\nconst _GOARet = \"GetObjectAttributesRequest\";\nconst _GOAe = \"GetObjectAttributes\";\nconst _GOLC = \"GetObjectLockConfiguration\";\nconst _GOLCO = \"GetObjectLockConfigurationOutput\";\nconst _GOLCR = \"GetObjectLockConfigurationRequest\";\nconst _GOLH = \"GetObjectLegalHold\";\nconst _GOLHO = \"GetObjectLegalHoldOutput\";\nconst _GOLHR = \"GetObjectLegalHoldRequest\";\nconst _GOO = \"GetObjectOutput\";\nconst _GOR = \"GetObjectRequest\";\nconst _GORO = \"GetObjectRetentionOutput\";\nconst _GORR = \"GetObjectRetentionRequest\";\nconst _GORe = \"GetObjectRetention\";\nconst _GOT = \"GetObjectTagging\";\nconst _GOTO = \"GetObjectTaggingOutput\";\nconst _GOTOe = \"GetObjectTorrentOutput\";\nconst _GOTR = \"GetObjectTaggingRequest\";\nconst _GOTRe = \"GetObjectTorrentRequest\";\nconst _GOTe = \"GetObjectTorrent\";\nconst _GPAB = \"GetPublicAccessBlock\";\nconst _GPABO = \"GetPublicAccessBlockOutput\";\nconst _GPABR = \"GetPublicAccessBlockRequest\";\nconst _GR = \"GrantRead\";\nconst _GRACP = \"GrantReadACP\";\nconst _GW = \"GrantWrite\";\nconst _GWACP = \"GrantWriteACP\";\nconst _Gr = \"Grant\";\nconst _Gra = \"Grantee\";\nconst _HB = \"HeadBucket\";\nconst _HBO = \"HeadBucketOutput\";\nconst _HBR = \"HeadBucketRequest\";\nconst _HECRE = \"HttpErrorCodeReturnedEquals\";\nconst _HN = \"HostName\";\nconst _HO = \"HeadObject\";\nconst _HOO = \"HeadObjectOutput\";\nconst _HOR = \"HeadObjectRequest\";\nconst _HRC = \"HttpRedirectCode\";\nconst _I = \"Id\";\nconst _IC = \"InventoryConfiguration\";\nconst _ICL = \"InventoryConfigurationList\";\nconst _ID = \"ID\";\nconst _IDn = \"IndexDocument\";\nconst _IDnv = \"InventoryDestination\";\nconst _IE = \"IsEnabled\";\nconst _IEn = \"InventoryEncryption\";\nconst _IF = \"InventoryFilter\";\nconst _IL = \"IsLatest\";\nconst _IM = \"IfMatch\";\nconst _IMIT = \"IfMatchInitiatedTime\";\nconst _IMLMT = \"IfMatchLastModifiedTime\";\nconst _IMS = \"IfMatchSize\";\nconst _IMS_ = \"If-Modified-Since\";\nconst _IMSf = \"IfModifiedSince\";\nconst _IMUR = \"InitiateMultipartUploadResult\";\nconst _IM_ = \"If-Match\";\nconst _INM = \"IfNoneMatch\";\nconst _INM_ = \"If-None-Match\";\nconst _IOF = \"InventoryOptionalFields\";\nconst _IOS = \"InvalidObjectState\";\nconst _IOV = \"IncludedObjectVersions\";\nconst _IP = \"IsPublic\";\nconst _IPA = \"IgnorePublicAcls\";\nconst _IPM = \"IdempotencyParameterMismatch\";\nconst _IR = \"InvalidRequest\";\nconst _IRIP = \"IsRestoreInProgress\";\nconst _IS = \"InputSerialization\";\nconst _ISBD = \"InventoryS3BucketDestination\";\nconst _ISn = \"InventorySchedule\";\nconst _IT = \"IsTruncated\";\nconst _ITAO = \"IntelligentTieringAndOperator\";\nconst _ITC = \"IntelligentTieringConfiguration\";\nconst _ITCL = \"IntelligentTieringConfigurationList\";\nconst _ITCR = \"InventoryTableConfigurationResult\";\nconst _ITCU = \"InventoryTableConfigurationUpdates\";\nconst _ITCn = \"InventoryTableConfiguration\";\nconst _ITF = \"IntelligentTieringFilter\";\nconst _IUS = \"IfUnmodifiedSince\";\nconst _IUS_ = \"If-Unmodified-Since\";\nconst _IWO = \"InvalidWriteOffset\";\nconst _In = \"Initiator\";\nconst _Ini = \"Initiated\";\nconst _JSON = \"JSON\";\nconst _JSONI = \"JSONInput\";\nconst _JSONO = \"JSONOutput\";\nconst _JTC = \"JournalTableConfiguration\";\nconst _JTCR = \"JournalTableConfigurationResult\";\nconst _JTCU = \"JournalTableConfigurationUpdates\";\nconst _K = \"Key\";\nconst _KC = \"KeyCount\";\nconst _KI = \"KeyId\";\nconst _KKA = \"KmsKeyArn\";\nconst _KM = \"KeyMarker\";\nconst _KMSC = \"KMSContext\";\nconst _KMSKA = \"KMSKeyArn\";\nconst _KMSKI = \"KMSKeyId\";\nconst _KMSMKID = \"KMSMasterKeyID\";\nconst _KPE = \"KeyPrefixEquals\";\nconst _L = \"Location\";\nconst _LAMBR = \"ListAllMyBucketsResult\";\nconst _LAMDBR = \"ListAllMyDirectoryBucketsResult\";\nconst _LB = \"ListBuckets\";\nconst _LBAC = \"ListBucketAnalyticsConfigurations\";\nconst _LBACO = \"ListBucketAnalyticsConfigurationsOutput\";\nconst _LBACR = \"ListBucketAnalyticsConfigurationResult\";\nconst _LBACRi = \"ListBucketAnalyticsConfigurationsRequest\";\nconst _LBIC = \"ListBucketInventoryConfigurations\";\nconst _LBICO = \"ListBucketInventoryConfigurationsOutput\";\nconst _LBICR = \"ListBucketInventoryConfigurationsRequest\";\nconst _LBITC = \"ListBucketIntelligentTieringConfigurations\";\nconst _LBITCO = \"ListBucketIntelligentTieringConfigurationsOutput\";\nconst _LBITCR = \"ListBucketIntelligentTieringConfigurationsRequest\";\nconst _LBMC = \"ListBucketMetricsConfigurations\";\nconst _LBMCO = \"ListBucketMetricsConfigurationsOutput\";\nconst _LBMCR = \"ListBucketMetricsConfigurationsRequest\";\nconst _LBO = \"ListBucketsOutput\";\nconst _LBR = \"ListBucketsRequest\";\nconst _LBRi = \"ListBucketResult\";\nconst _LC = \"LocationConstraint\";\nconst _LCi = \"LifecycleConfiguration\";\nconst _LDB = \"ListDirectoryBuckets\";\nconst _LDBO = \"ListDirectoryBucketsOutput\";\nconst _LDBR = \"ListDirectoryBucketsRequest\";\nconst _LE = \"LoggingEnabled\";\nconst _LEi = \"LifecycleExpiration\";\nconst _LFA = \"LambdaFunctionArn\";\nconst _LFC = \"LambdaFunctionConfiguration\";\nconst _LFCL = \"LambdaFunctionConfigurationList\";\nconst _LFCa = \"LambdaFunctionConfigurations\";\nconst _LH = \"LegalHold\";\nconst _LI = \"LocationInfo\";\nconst _LICR = \"ListInventoryConfigurationsResult\";\nconst _LM = \"LastModified\";\nconst _LMCR = \"ListMetricsConfigurationsResult\";\nconst _LMT = \"LastModifiedTime\";\nconst _LMU = \"ListMultipartUploads\";\nconst _LMUO = \"ListMultipartUploadsOutput\";\nconst _LMUR = \"ListMultipartUploadsResult\";\nconst _LMURi = \"ListMultipartUploadsRequest\";\nconst _LM_ = \"Last-Modified\";\nconst _LO = \"ListObjects\";\nconst _LOO = \"ListObjectsOutput\";\nconst _LOR = \"ListObjectsRequest\";\nconst _LOV = \"ListObjectsV2\";\nconst _LOVO = \"ListObjectsV2Output\";\nconst _LOVOi = \"ListObjectVersionsOutput\";\nconst _LOVR = \"ListObjectsV2Request\";\nconst _LOVRi = \"ListObjectVersionsRequest\";\nconst _LOVi = \"ListObjectVersions\";\nconst _LP = \"ListParts\";\nconst _LPO = \"ListPartsOutput\";\nconst _LPR = \"ListPartsResult\";\nconst _LPRi = \"ListPartsRequest\";\nconst _LR = \"LifecycleRule\";\nconst _LRAO = \"LifecycleRuleAndOperator\";\nconst _LRF = \"LifecycleRuleFilter\";\nconst _LRi = \"LifecycleRules\";\nconst _LVR = \"ListVersionsResult\";\nconst _M = \"Metadata\";\nconst _MAO = \"MetricsAndOperator\";\nconst _MAS = \"MaxAgeSeconds\";\nconst _MB = \"MaxBuckets\";\nconst _MC = \"MetadataConfiguration\";\nconst _MCL = \"MetricsConfigurationList\";\nconst _MCR = \"MetadataConfigurationResult\";\nconst _MCe = \"MetricsConfiguration\";\nconst _MD = \"MetadataDirective\";\nconst _MDB = \"MaxDirectoryBuckets\";\nconst _MDf = \"MfaDelete\";\nconst _ME = \"MetadataEntry\";\nconst _MF = \"MetricsFilter\";\nconst _MFA = \"MFA\";\nconst _MFAD = \"MFADelete\";\nconst _MK = \"MaxKeys\";\nconst _MM = \"MissingMeta\";\nconst _MOS = \"MpuObjectSize\";\nconst _MP = \"MaxParts\";\nconst _MTC = \"MetadataTableConfiguration\";\nconst _MTCR = \"MetadataTableConfigurationResult\";\nconst _MTEC = \"MetadataTableEncryptionConfiguration\";\nconst _MU = \"MultipartUpload\";\nconst _MUL = \"MultipartUploadList\";\nconst _MUa = \"MaxUploads\";\nconst _Ma = \"Marker\";\nconst _Me = \"Metrics\";\nconst _Mes = \"Message\";\nconst _Mi = \"Minutes\";\nconst _Mo = \"Mode\";\nconst _N = \"Name\";\nconst _NC = \"NotificationConfiguration\";\nconst _NCF = \"NotificationConfigurationFilter\";\nconst _NCT = \"NextContinuationToken\";\nconst _ND = \"NoncurrentDays\";\nconst _NEKKAS = \"NonEmptyKmsKeyArnString\";\nconst _NF = \"NotFound\";\nconst _NKM = \"NextKeyMarker\";\nconst _NM = \"NextMarker\";\nconst _NNV = \"NewerNoncurrentVersions\";\nconst _NPNM = \"NextPartNumberMarker\";\nconst _NSB = \"NoSuchBucket\";\nconst _NSK = \"NoSuchKey\";\nconst _NSU = \"NoSuchUpload\";\nconst _NUIM = \"NextUploadIdMarker\";\nconst _NVE = \"NoncurrentVersionExpiration\";\nconst _NVIM = \"NextVersionIdMarker\";\nconst _NVT = \"NoncurrentVersionTransitions\";\nconst _NVTL = \"NoncurrentVersionTransitionList\";\nconst _NVTo = \"NoncurrentVersionTransition\";\nconst _O = \"Owner\";\nconst _OA = \"ObjectAttributes\";\nconst _OAIATE = \"ObjectAlreadyInActiveTierError\";\nconst _OC = \"OwnershipControls\";\nconst _OCR = \"OwnershipControlsRule\";\nconst _OCRw = \"OwnershipControlsRules\";\nconst _OE = \"ObjectEncryption\";\nconst _OF = \"OptionalFields\";\nconst _OI = \"ObjectIdentifier\";\nconst _OIL = \"ObjectIdentifierList\";\nconst _OL = \"OutputLocation\";\nconst _OLC = \"ObjectLockConfiguration\";\nconst _OLE = \"ObjectLockEnabled\";\nconst _OLEFB = \"ObjectLockEnabledForBucket\";\nconst _OLLH = \"ObjectLockLegalHold\";\nconst _OLLHS = \"ObjectLockLegalHoldStatus\";\nconst _OLM = \"ObjectLockMode\";\nconst _OLR = \"ObjectLockRetention\";\nconst _OLRUD = \"ObjectLockRetainUntilDate\";\nconst _OLRb = \"ObjectLockRule\";\nconst _OLb = \"ObjectList\";\nconst _ONIATE = \"ObjectNotInActiveTierError\";\nconst _OO = \"ObjectOwnership\";\nconst _OOA = \"OptionalObjectAttributes\";\nconst _OP = \"ObjectParts\";\nconst _OPb = \"ObjectPart\";\nconst _OS = \"ObjectSize\";\nconst _OSGT = \"ObjectSizeGreaterThan\";\nconst _OSLT = \"ObjectSizeLessThan\";\nconst _OSV = \"OutputSchemaVersion\";\nconst _OSu = \"OutputSerialization\";\nconst _OV = \"ObjectVersion\";\nconst _OVL = \"ObjectVersionList\";\nconst _Ob = \"Objects\";\nconst _Obj = \"Object\";\nconst _P = \"Prefix\";\nconst _PABC = \"PublicAccessBlockConfiguration\";\nconst _PBA = \"PutBucketAbac\";\nconst _PBAC = \"PutBucketAccelerateConfiguration\";\nconst _PBACR = \"PutBucketAccelerateConfigurationRequest\";\nconst _PBACRu = \"PutBucketAnalyticsConfigurationRequest\";\nconst _PBACu = \"PutBucketAnalyticsConfiguration\";\nconst _PBAR = \"PutBucketAbacRequest\";\nconst _PBARu = \"PutBucketAclRequest\";\nconst _PBAu = \"PutBucketAcl\";\nconst _PBC = \"PutBucketCors\";\nconst _PBCR = \"PutBucketCorsRequest\";\nconst _PBE = \"PutBucketEncryption\";\nconst _PBER = \"PutBucketEncryptionRequest\";\nconst _PBIC = \"PutBucketInventoryConfiguration\";\nconst _PBICR = \"PutBucketInventoryConfigurationRequest\";\nconst _PBITC = \"PutBucketIntelligentTieringConfiguration\";\nconst _PBITCR = \"PutBucketIntelligentTieringConfigurationRequest\";\nconst _PBL = \"PutBucketLogging\";\nconst _PBLC = \"PutBucketLifecycleConfiguration\";\nconst _PBLCO = \"PutBucketLifecycleConfigurationOutput\";\nconst _PBLCR = \"PutBucketLifecycleConfigurationRequest\";\nconst _PBLR = \"PutBucketLoggingRequest\";\nconst _PBMC = \"PutBucketMetricsConfiguration\";\nconst _PBMCR = \"PutBucketMetricsConfigurationRequest\";\nconst _PBNC = \"PutBucketNotificationConfiguration\";\nconst _PBNCR = \"PutBucketNotificationConfigurationRequest\";\nconst _PBOC = \"PutBucketOwnershipControls\";\nconst _PBOCR = \"PutBucketOwnershipControlsRequest\";\nconst _PBP = \"PutBucketPolicy\";\nconst _PBPR = \"PutBucketPolicyRequest\";\nconst _PBR = \"PutBucketReplication\";\nconst _PBRP = \"PutBucketRequestPayment\";\nconst _PBRPR = \"PutBucketRequestPaymentRequest\";\nconst _PBRR = \"PutBucketReplicationRequest\";\nconst _PBT = \"PutBucketTagging\";\nconst _PBTR = \"PutBucketTaggingRequest\";\nconst _PBV = \"PutBucketVersioning\";\nconst _PBVR = \"PutBucketVersioningRequest\";\nconst _PBW = \"PutBucketWebsite\";\nconst _PBWR = \"PutBucketWebsiteRequest\";\nconst _PC = \"PartsCount\";\nconst _PDS = \"PartitionDateSource\";\nconst _PE = \"ProgressEvent\";\nconst _PI = \"ParquetInput\";\nconst _PL = \"PartsList\";\nconst _PN = \"PartNumber\";\nconst _PNM = \"PartNumberMarker\";\nconst _PO = \"PutObject\";\nconst _POA = \"PutObjectAcl\";\nconst _POAO = \"PutObjectAclOutput\";\nconst _POAR = \"PutObjectAclRequest\";\nconst _POLC = \"PutObjectLockConfiguration\";\nconst _POLCO = \"PutObjectLockConfigurationOutput\";\nconst _POLCR = \"PutObjectLockConfigurationRequest\";\nconst _POLH = \"PutObjectLegalHold\";\nconst _POLHO = \"PutObjectLegalHoldOutput\";\nconst _POLHR = \"PutObjectLegalHoldRequest\";\nconst _POO = \"PutObjectOutput\";\nconst _POR = \"PutObjectRequest\";\nconst _PORO = \"PutObjectRetentionOutput\";\nconst _PORR = \"PutObjectRetentionRequest\";\nconst _PORu = \"PutObjectRetention\";\nconst _POT = \"PutObjectTagging\";\nconst _POTO = \"PutObjectTaggingOutput\";\nconst _POTR = \"PutObjectTaggingRequest\";\nconst _PP = \"PartitionedPrefix\";\nconst _PPAB = \"PutPublicAccessBlock\";\nconst _PPABR = \"PutPublicAccessBlockRequest\";\nconst _PS = \"PolicyStatus\";\nconst _Pa = \"Parts\";\nconst _Par = \"Part\";\nconst _Parq = \"Parquet\";\nconst _Pay = \"Payer\";\nconst _Payl = \"Payload\";\nconst _Pe = \"Permission\";\nconst _Po = \"Policy\";\nconst _Pr = \"Progress\";\nconst _Pri = \"Priority\";\nconst _Pro = \"Protocol\";\nconst _Q = \"Quiet\";\nconst _QA = \"QueueArn\";\nconst _QC = \"QuoteCharacter\";\nconst _QCL = \"QueueConfigurationList\";\nconst _QCu = \"QueueConfigurations\";\nconst _QCue = \"QueueConfiguration\";\nconst _QEC = \"QuoteEscapeCharacter\";\nconst _QF = \"QuoteFields\";\nconst _Qu = \"Queue\";\nconst _R = \"Rules\";\nconst _RART = \"RedirectAllRequestsTo\";\nconst _RC = \"RequestCharged\";\nconst _RCC = \"ResponseCacheControl\";\nconst _RCD = \"ResponseContentDisposition\";\nconst _RCE = \"ResponseContentEncoding\";\nconst _RCL = \"ResponseContentLanguage\";\nconst _RCT = \"ResponseContentType\";\nconst _RCe = \"ReplicationConfiguration\";\nconst _RD = \"RecordDelimiter\";\nconst _RE = \"ResponseExpires\";\nconst _RED = \"RestoreExpiryDate\";\nconst _REe = \"RecordExpiration\";\nconst _REec = \"RecordsEvent\";\nconst _RKKID = \"ReplicaKmsKeyID\";\nconst _RKPW = \"ReplaceKeyPrefixWith\";\nconst _RKW = \"ReplaceKeyWith\";\nconst _RM = \"ReplicaModifications\";\nconst _RO = \"RenameObject\";\nconst _ROO = \"RenameObjectOutput\";\nconst _ROOe = \"RestoreObjectOutput\";\nconst _ROP = \"RestoreOutputPath\";\nconst _ROR = \"RenameObjectRequest\";\nconst _RORe = \"RestoreObjectRequest\";\nconst _ROe = \"RestoreObject\";\nconst _RP = \"RequestPayer\";\nconst _RPB = \"RestrictPublicBuckets\";\nconst _RPC = \"RequestPaymentConfiguration\";\nconst _RPe = \"RequestProgress\";\nconst _RR = \"RoutingRules\";\nconst _RRAO = \"ReplicationRuleAndOperator\";\nconst _RRF = \"ReplicationRuleFilter\";\nconst _RRe = \"ReplicationRule\";\nconst _RRep = \"ReplicationRules\";\nconst _RReq = \"RequestRoute\";\nconst _RRes = \"RestoreRequest\";\nconst _RRo = \"RoutingRule\";\nconst _RS = \"ReplicationStatus\";\nconst _RSe = \"RestoreStatus\";\nconst _RSen = \"RenameSource\";\nconst _RT = \"ReplicationTime\";\nconst _RTV = \"ReplicationTimeValue\";\nconst _RTe = \"RequestToken\";\nconst _RUD = \"RetainUntilDate\";\nconst _Ra = \"Range\";\nconst _Re = \"Restore\";\nconst _Rec = \"Records\";\nconst _Red = \"Redirect\";\nconst _Ret = \"Retention\";\nconst _Ro = \"Role\";\nconst _Ru = \"Rule\";\nconst _S = \"Status\";\nconst _SA = \"StartAfter\";\nconst _SAK = \"SecretAccessKey\";\nconst _SAs = \"SseAlgorithm\";\nconst _SB = \"StreamingBlob\";\nconst _SBD = \"S3BucketDestination\";\nconst _SC = \"StorageClass\";\nconst _SCA = \"StorageClassAnalysis\";\nconst _SCADE = \"StorageClassAnalysisDataExport\";\nconst _SCV = \"SessionCredentialValue\";\nconst _SCe = \"SessionCredentials\";\nconst _SCt = \"StatusCode\";\nconst _SDV = \"SkipDestinationValidation\";\nconst _SE = \"StatsEvent\";\nconst _SIM = \"SourceIfMatch\";\nconst _SIMS = \"SourceIfModifiedSince\";\nconst _SINM = \"SourceIfNoneMatch\";\nconst _SIUS = \"SourceIfUnmodifiedSince\";\nconst _SK = \"SSE-KMS\";\nconst _SKEO = \"SseKmsEncryptedObjects\";\nconst _SKF = \"S3KeyFilter\";\nconst _SKe = \"S3Key\";\nconst _SL = \"S3Location\";\nconst _SM = \"SessionMode\";\nconst _SOC = \"SelectObjectContent\";\nconst _SOCES = \"SelectObjectContentEventStream\";\nconst _SOCO = \"SelectObjectContentOutput\";\nconst _SOCR = \"SelectObjectContentRequest\";\nconst _SP = \"SelectParameters\";\nconst _SPi = \"SimplePrefix\";\nconst _SR = \"ScanRange\";\nconst _SS = \"SSE-S3\";\nconst _SSC = \"SourceSelectionCriteria\";\nconst _SSE = \"ServerSideEncryption\";\nconst _SSEA = \"SSEAlgorithm\";\nconst _SSEBD = \"ServerSideEncryptionByDefault\";\nconst _SSEC = \"ServerSideEncryptionConfiguration\";\nconst _SSECA = \"SSECustomerAlgorithm\";\nconst _SSECK = \"SSECustomerKey\";\nconst _SSECKMD = \"SSECustomerKeyMD5\";\nconst _SSEKMS = \"SSEKMS\";\nconst _SSEKMSE = \"SSEKMSEncryption\";\nconst _SSEKMSEC = \"SSEKMSEncryptionContext\";\nconst _SSEKMSKI = \"SSEKMSKeyId\";\nconst _SSER = \"ServerSideEncryptionRule\";\nconst _SSERe = \"ServerSideEncryptionRules\";\nconst _SSES = \"SSES3\";\nconst _ST = \"SessionToken\";\nconst _STD = \"S3TablesDestination\";\nconst _STDR = \"S3TablesDestinationResult\";\nconst _S_ = \"S3\";\nconst _Sc = \"Schedule\";\nconst _Si = \"Size\";\nconst _St = \"Start\";\nconst _Sta = \"Stats\";\nconst _Su = \"Suffix\";\nconst _T = \"Tags\";\nconst _TA = \"TableArn\";\nconst _TAo = \"TopicArn\";\nconst _TB = \"TargetBucket\";\nconst _TBA = \"TableBucketArn\";\nconst _TBT = \"TableBucketType\";\nconst _TC = \"TagCount\";\nconst _TCL = \"TopicConfigurationList\";\nconst _TCo = \"TopicConfigurations\";\nconst _TCop = \"TopicConfiguration\";\nconst _TD = \"TaggingDirective\";\nconst _TDMOS = \"TransitionDefaultMinimumObjectSize\";\nconst _TG = \"TargetGrants\";\nconst _TGa = \"TargetGrant\";\nconst _TL = \"TieringList\";\nconst _TLr = \"TransitionList\";\nconst _TMP = \"TooManyParts\";\nconst _TN = \"TableNamespace\";\nconst _TNa = \"TableName\";\nconst _TOKF = \"TargetObjectKeyFormat\";\nconst _TP = \"TargetPrefix\";\nconst _TPC = \"TotalPartsCount\";\nconst _TS = \"TagSet\";\nconst _TSa = \"TableStatus\";\nconst _Ta = \"Tag\";\nconst _Tag = \"Tagging\";\nconst _Ti = \"Tier\";\nconst _Tie = \"Tierings\";\nconst _Tier = \"Tiering\";\nconst _Tim = \"Time\";\nconst _To = \"Token\";\nconst _Top = \"Topic\";\nconst _Tr = \"Transitions\";\nconst _Tra = \"Transition\";\nconst _Ty = \"Type\";\nconst _U = \"Uploads\";\nconst _UBMITC = \"UpdateBucketMetadataInventoryTableConfiguration\";\nconst _UBMITCR = \"UpdateBucketMetadataInventoryTableConfigurationRequest\";\nconst _UBMJTC = \"UpdateBucketMetadataJournalTableConfiguration\";\nconst _UBMJTCR = \"UpdateBucketMetadataJournalTableConfigurationRequest\";\nconst _UI = \"UploadId\";\nconst _UIM = \"UploadIdMarker\";\nconst _UM = \"UserMetadata\";\nconst _UOE = \"UpdateObjectEncryption\";\nconst _UOER = \"UpdateObjectEncryptionRequest\";\nconst _UOERp = \"UpdateObjectEncryptionResponse\";\nconst _UP = \"UploadPart\";\nconst _UPC = \"UploadPartCopy\";\nconst _UPCO = \"UploadPartCopyOutput\";\nconst _UPCR = \"UploadPartCopyRequest\";\nconst _UPO = \"UploadPartOutput\";\nconst _UPR = \"UploadPartRequest\";\nconst _URI = \"URI\";\nconst _Up = \"Upload\";\nconst _V = \"Value\";\nconst _VC = \"VersioningConfiguration\";\nconst _VI = \"VersionId\";\nconst _VIM = \"VersionIdMarker\";\nconst _Ve = \"Versions\";\nconst _Ver = \"Version\";\nconst _WC = \"WebsiteConfiguration\";\nconst _WGOR = \"WriteGetObjectResponse\";\nconst _WGORR = \"WriteGetObjectResponseRequest\";\nconst _WOB = \"WriteOffsetBytes\";\nconst _WRL = \"WebsiteRedirectLocation\";\nconst _Y = \"Years\";\nconst _ar = \"accept-ranges\";\nconst _br = \"bucket-region\";\nconst _c = \"client\";\nconst _ct = \"continuation-token\";\nconst _d = \"delimiter\";\nconst _e = \"error\";\nconst _eP = \"eventPayload\";\nconst _en = \"endpoint\";\nconst _et = \"encoding-type\";\nconst _fo = \"fetch-owner\";\nconst _h = \"http\";\nconst _hC = \"httpChecksum\";\nconst _hE = \"httpError\";\nconst _hH = \"httpHeader\";\nconst _hL = \"hostLabel\";\nconst _hP = \"httpPayload\";\nconst _hPH = \"httpPrefixHeaders\";\nconst _hQ = \"httpQuery\";\nconst _hi = \"http://www.w3.org/2001/XMLSchema-instance\";\nconst _i = \"id\";\nconst _iT = \"idempotencyToken\";\nconst _km = \"key-marker\";\nconst _m = \"marker\";\nconst _mb = \"max-buckets\";\nconst _mdb = \"max-directory-buckets\";\nconst _mk = \"max-keys\";\nconst _mp = \"max-parts\";\nconst _mu = \"max-uploads\";\nconst _p = \"prefix\";\nconst _pN = \"partNumber\";\nconst _pnm = \"part-number-marker\";\nconst _rcc = \"response-cache-control\";\nconst _rcd = \"response-content-disposition\";\nconst _rce = \"response-content-encoding\";\nconst _rcl = \"response-content-language\";\nconst _rct = \"response-content-type\";\nconst _re = \"response-expires\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.s3\";\nconst _sa = \"start-after\";\nconst _st = \"streaming\";\nconst _uI = \"uploadId\";\nconst _uim = \"upload-id-marker\";\nconst _vI = \"versionId\";\nconst _vim = \"version-id-marker\";\nconst _x = \"xsi\";\nconst _xA = \"xmlAttribute\";\nconst _xF = \"xmlFlattened\";\nconst _xN = \"xmlName\";\nconst _xNm = \"xmlNamespace\";\nconst _xaa = \"x-amz-acl\";\nconst _xaad = \"x-amz-abort-date\";\nconst _xaapa = \"x-amz-access-point-alias\";\nconst _xaari = \"x-amz-abort-rule-id\";\nconst _xaas = \"x-amz-archive-status\";\nconst _xaba = \"x-amz-bucket-arn\";\nconst _xabgr = \"x-amz-bypass-governance-retention\";\nconst _xabln = \"x-amz-bucket-location-name\";\nconst _xablt = \"x-amz-bucket-location-type\";\nconst _xabn = \"x-amz-bucket-namespace\";\nconst _xabole = \"x-amz-bucket-object-lock-enabled\";\nconst _xabolt = \"x-amz-bucket-object-lock-token\";\nconst _xabr = \"x-amz-bucket-region\";\nconst _xaca = \"x-amz-checksum-algorithm\";\nconst _xacc = \"x-amz-checksum-crc32\";\nconst _xacc_ = \"x-amz-checksum-crc32c\";\nconst _xacc__ = \"x-amz-checksum-crc64nvme\";\nconst _xacm = \"x-amz-checksum-mode\";\nconst _xacrsba = \"x-amz-confirm-remove-self-bucket-access\";\nconst _xacs = \"x-amz-checksum-sha1\";\nconst _xacs_ = \"x-amz-checksum-sha256\";\nconst _xacs__ = \"x-amz-copy-source\";\nconst _xacsim = \"x-amz-copy-source-if-match\";\nconst _xacsims = \"x-amz-copy-source-if-modified-since\";\nconst _xacsinm = \"x-amz-copy-source-if-none-match\";\nconst _xacsius = \"x-amz-copy-source-if-unmodified-since\";\nconst _xacsm = \"x-amz-create-session-mode\";\nconst _xacsr = \"x-amz-copy-source-range\";\nconst _xacssseca = \"x-amz-copy-source-server-side-encryption-customer-algorithm\";\nconst _xacssseck = \"x-amz-copy-source-server-side-encryption-customer-key\";\nconst _xacssseckM = \"x-amz-copy-source-server-side-encryption-customer-key-MD5\";\nconst _xacsvi = \"x-amz-copy-source-version-id\";\nconst _xact = \"x-amz-checksum-type\";\nconst _xact_ = \"x-amz-client-token\";\nconst _xadm = \"x-amz-delete-marker\";\nconst _xae = \"x-amz-expiration\";\nconst _xaebo = \"x-amz-expected-bucket-owner\";\nconst _xafec = \"x-amz-fwd-error-code\";\nconst _xafem = \"x-amz-fwd-error-message\";\nconst _xafhCC = \"x-amz-fwd-header-Cache-Control\";\nconst _xafhCD = \"x-amz-fwd-header-Content-Disposition\";\nconst _xafhCE = \"x-amz-fwd-header-Content-Encoding\";\nconst _xafhCL = \"x-amz-fwd-header-Content-Language\";\nconst _xafhCR = \"x-amz-fwd-header-Content-Range\";\nconst _xafhCT = \"x-amz-fwd-header-Content-Type\";\nconst _xafhE = \"x-amz-fwd-header-ETag\";\nconst _xafhE_ = \"x-amz-fwd-header-Expires\";\nconst _xafhLM = \"x-amz-fwd-header-Last-Modified\";\nconst _xafhar = \"x-amz-fwd-header-accept-ranges\";\nconst _xafhxacc = \"x-amz-fwd-header-x-amz-checksum-crc32\";\nconst _xafhxacc_ = \"x-amz-fwd-header-x-amz-checksum-crc32c\";\nconst _xafhxacc__ = \"x-amz-fwd-header-x-amz-checksum-crc64nvme\";\nconst _xafhxacs = \"x-amz-fwd-header-x-amz-checksum-sha1\";\nconst _xafhxacs_ = \"x-amz-fwd-header-x-amz-checksum-sha256\";\nconst _xafhxadm = \"x-amz-fwd-header-x-amz-delete-marker\";\nconst _xafhxae = \"x-amz-fwd-header-x-amz-expiration\";\nconst _xafhxamm = \"x-amz-fwd-header-x-amz-missing-meta\";\nconst _xafhxampc = \"x-amz-fwd-header-x-amz-mp-parts-count\";\nconst _xafhxaollh = \"x-amz-fwd-header-x-amz-object-lock-legal-hold\";\nconst _xafhxaolm = \"x-amz-fwd-header-x-amz-object-lock-mode\";\nconst _xafhxaolrud = \"x-amz-fwd-header-x-amz-object-lock-retain-until-date\";\nconst _xafhxar = \"x-amz-fwd-header-x-amz-restore\";\nconst _xafhxarc = \"x-amz-fwd-header-x-amz-request-charged\";\nconst _xafhxars = \"x-amz-fwd-header-x-amz-replication-status\";\nconst _xafhxasc = \"x-amz-fwd-header-x-amz-storage-class\";\nconst _xafhxasse = \"x-amz-fwd-header-x-amz-server-side-encryption\";\nconst _xafhxasseakki = \"x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id\";\nconst _xafhxassebke = \"x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled\";\nconst _xafhxasseca = \"x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm\";\nconst _xafhxasseckM = \"x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5\";\nconst _xafhxatc = \"x-amz-fwd-header-x-amz-tagging-count\";\nconst _xafhxavi = \"x-amz-fwd-header-x-amz-version-id\";\nconst _xafs = \"x-amz-fwd-status\";\nconst _xagfc = \"x-amz-grant-full-control\";\nconst _xagr = \"x-amz-grant-read\";\nconst _xagra = \"x-amz-grant-read-acp\";\nconst _xagw = \"x-amz-grant-write\";\nconst _xagwa = \"x-amz-grant-write-acp\";\nconst _xaimit = \"x-amz-if-match-initiated-time\";\nconst _xaimlmt = \"x-amz-if-match-last-modified-time\";\nconst _xaims = \"x-amz-if-match-size\";\nconst _xam = \"x-amz-meta-\";\nconst _xam_ = \"x-amz-mfa\";\nconst _xamd = \"x-amz-metadata-directive\";\nconst _xamm = \"x-amz-missing-meta\";\nconst _xamos = \"x-amz-mp-object-size\";\nconst _xamp = \"x-amz-max-parts\";\nconst _xampc = \"x-amz-mp-parts-count\";\nconst _xaoa = \"x-amz-object-attributes\";\nconst _xaollh = \"x-amz-object-lock-legal-hold\";\nconst _xaolm = \"x-amz-object-lock-mode\";\nconst _xaolrud = \"x-amz-object-lock-retain-until-date\";\nconst _xaoo = \"x-amz-object-ownership\";\nconst _xaooa = \"x-amz-optional-object-attributes\";\nconst _xaos = \"x-amz-object-size\";\nconst _xapnm = \"x-amz-part-number-marker\";\nconst _xar = \"x-amz-restore\";\nconst _xarc = \"x-amz-request-charged\";\nconst _xarop = \"x-amz-restore-output-path\";\nconst _xarp = \"x-amz-request-payer\";\nconst _xarr = \"x-amz-request-route\";\nconst _xars = \"x-amz-replication-status\";\nconst _xars_ = \"x-amz-rename-source\";\nconst _xarsim = \"x-amz-rename-source-if-match\";\nconst _xarsims = \"x-amz-rename-source-if-modified-since\";\nconst _xarsinm = \"x-amz-rename-source-if-none-match\";\nconst _xarsius = \"x-amz-rename-source-if-unmodified-since\";\nconst _xart = \"x-amz-request-token\";\nconst _xasc = \"x-amz-storage-class\";\nconst _xasca = \"x-amz-sdk-checksum-algorithm\";\nconst _xasdv = \"x-amz-skip-destination-validation\";\nconst _xasebo = \"x-amz-source-expected-bucket-owner\";\nconst _xasse = \"x-amz-server-side-encryption\";\nconst _xasseakki = \"x-amz-server-side-encryption-aws-kms-key-id\";\nconst _xassebke = \"x-amz-server-side-encryption-bucket-key-enabled\";\nconst _xassec = \"x-amz-server-side-encryption-context\";\nconst _xasseca = \"x-amz-server-side-encryption-customer-algorithm\";\nconst _xasseck = \"x-amz-server-side-encryption-customer-key\";\nconst _xasseckM = \"x-amz-server-side-encryption-customer-key-MD5\";\nconst _xat = \"x-amz-tagging\";\nconst _xatc = \"x-amz-tagging-count\";\nconst _xatd = \"x-amz-tagging-directive\";\nconst _xatdmos = \"x-amz-transition-default-minimum-object-size\";\nconst _xavi = \"x-amz-version-id\";\nconst _xawob = \"x-amz-write-offset-bytes\";\nconst _xawrl = \"x-amz-website-redirect-location\";\nconst _xs = \"xsi:type\";\nconst n0 = \"com.amazonaws.s3\";\nimport { TypeRegistry } from \"@smithy/core/schema\";\nimport { AccessDenied, BucketAlreadyExists, BucketAlreadyOwnedByYou, EncryptionTypeMismatch, IdempotencyParameterMismatch, InvalidObjectState, InvalidRequest, InvalidWriteOffset, NoSuchBucket, NoSuchKey, NoSuchUpload, NotFound, ObjectAlreadyInActiveTierError, ObjectNotInActiveTierError, TooManyParts, } from \"../models/errors\";\nimport { S3ServiceException } from \"../models/S3ServiceException\";\nconst _s_registry = TypeRegistry.for(_s);\nexport var S3ServiceException$ = [-3, _s, \"S3ServiceException\", 0, [], []];\n_s_registry.registerError(S3ServiceException$, S3ServiceException);\nconst n0_registry = TypeRegistry.for(n0);\nexport var AccessDenied$ = [-3, n0, _AD,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(AccessDenied$, AccessDenied);\nexport var BucketAlreadyExists$ = [-3, n0, _BAE,\n { [_e]: _c, [_hE]: 409 },\n [],\n []\n];\nn0_registry.registerError(BucketAlreadyExists$, BucketAlreadyExists);\nexport var BucketAlreadyOwnedByYou$ = [-3, n0, _BAOBY,\n { [_e]: _c, [_hE]: 409 },\n [],\n []\n];\nn0_registry.registerError(BucketAlreadyOwnedByYou$, BucketAlreadyOwnedByYou);\nexport var EncryptionTypeMismatch$ = [-3, n0, _ETM,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(EncryptionTypeMismatch$, EncryptionTypeMismatch);\nexport var IdempotencyParameterMismatch$ = [-3, n0, _IPM,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(IdempotencyParameterMismatch$, IdempotencyParameterMismatch);\nexport var InvalidObjectState$ = [-3, n0, _IOS,\n { [_e]: _c, [_hE]: 403 },\n [_SC, _AT],\n [0, 0]\n];\nn0_registry.registerError(InvalidObjectState$, InvalidObjectState);\nexport var InvalidRequest$ = [-3, n0, _IR,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(InvalidRequest$, InvalidRequest);\nexport var InvalidWriteOffset$ = [-3, n0, _IWO,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(InvalidWriteOffset$, InvalidWriteOffset);\nexport var NoSuchBucket$ = [-3, n0, _NSB,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchBucket$, NoSuchBucket);\nexport var NoSuchKey$ = [-3, n0, _NSK,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchKey$, NoSuchKey);\nexport var NoSuchUpload$ = [-3, n0, _NSU,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchUpload$, NoSuchUpload);\nexport var NotFound$ = [-3, n0, _NF,\n { [_e]: _c },\n [],\n []\n];\nn0_registry.registerError(NotFound$, NotFound);\nexport var ObjectAlreadyInActiveTierError$ = [-3, n0, _OAIATE,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(ObjectAlreadyInActiveTierError$, ObjectAlreadyInActiveTierError);\nexport var ObjectNotInActiveTierError$ = [-3, n0, _ONIATE,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(ObjectNotInActiveTierError$, ObjectNotInActiveTierError);\nexport var TooManyParts$ = [-3, n0, _TMP,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(TooManyParts$, TooManyParts);\nexport const errorTypeRegistries = [\n _s_registry,\n n0_registry,\n];\nvar CopySourceSSECustomerKey = [0, n0, _CSSSECK, 8, 0];\nvar NonEmptyKmsKeyArnString = [0, n0, _NEKKAS, 8, 0];\nvar SessionCredentialValue = [0, n0, _SCV, 8, 0];\nvar SSECustomerKey = [0, n0, _SSECK, 8, 0];\nvar SSEKMSEncryptionContext = [0, n0, _SSEKMSEC, 8, 0];\nvar SSEKMSKeyId = [0, n0, _SSEKMSKI, 8, 0];\nvar StreamingBlob = [0, n0, _SB, { [_st]: 1 }, 42];\nexport var AbacStatus$ = [3, n0, _AS,\n 0,\n [_S],\n [0]\n];\nexport var AbortIncompleteMultipartUpload$ = [3, n0, _AIMU,\n 0,\n [_DAI],\n [1]\n];\nexport var AbortMultipartUploadOutput$ = [3, n0, _AMUO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var AbortMultipartUploadRequest$ = [3, n0, _AMUR,\n 0,\n [_B, _K, _UI, _RP, _EBO, _IMIT],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [6, { [_hH]: _xaimit }]], 3\n];\nexport var AccelerateConfiguration$ = [3, n0, _AC,\n 0,\n [_S],\n [0]\n];\nexport var AccessControlPolicy$ = [3, n0, _ACP,\n 0,\n [_G, _O],\n [[() => Grants, { [_xN]: _ACL }], () => Owner$]\n];\nexport var AccessControlTranslation$ = [3, n0, _ACT,\n 0,\n [_O],\n [0], 1\n];\nexport var AnalyticsAndOperator$ = [3, n0, _AAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var AnalyticsConfiguration$ = [3, n0, _ACn,\n 0,\n [_I, _SCA, _F],\n [0, () => StorageClassAnalysis$, [() => AnalyticsFilter$, 0]], 2\n];\nexport var AnalyticsExportDestination$ = [3, n0, _AED,\n 0,\n [_SBD],\n [() => AnalyticsS3BucketDestination$], 1\n];\nexport var AnalyticsS3BucketDestination$ = [3, n0, _ASBD,\n 0,\n [_Fo, _B, _BAI, _P],\n [0, 0, 0, 0], 2\n];\nexport var BlockedEncryptionTypes$ = [3, n0, _BET,\n 0,\n [_ET],\n [[() => EncryptionTypeList, { [_xF]: 1 }]]\n];\nexport var Bucket$ = [3, n0, _B,\n 0,\n [_N, _CD, _BR, _BA],\n [0, 4, 0, 0]\n];\nexport var BucketInfo$ = [3, n0, _BI,\n 0,\n [_DR, _Ty],\n [0, 0]\n];\nexport var BucketLifecycleConfiguration$ = [3, n0, _BLC,\n 0,\n [_R],\n [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var BucketLoggingStatus$ = [3, n0, _BLS,\n 0,\n [_LE],\n [[() => LoggingEnabled$, 0]]\n];\nexport var Checksum$ = [3, n0, _C,\n 0,\n [_CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT],\n [0, 0, 0, 0, 0, 0]\n];\nexport var CommonPrefix$ = [3, n0, _CP,\n 0,\n [_P],\n [0]\n];\nexport var CompletedMultipartUpload$ = [3, n0, _CMU,\n 0,\n [_Pa],\n [[() => CompletedPartList, { [_xF]: 1, [_xN]: _Par }]]\n];\nexport var CompletedPart$ = [3, n0, _CPo,\n 0,\n [_ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _PN],\n [0, 0, 0, 0, 0, 0, 1]\n];\nexport var CompleteMultipartUploadOutput$ = [3, n0, _CMUO,\n { [_xN]: _CMUR },\n [_L, _B, _K, _E, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _SSE, _VI, _SSEKMSKI, _BKE, _RC],\n [0, 0, 0, [0, { [_hH]: _xae }], 0, 0, 0, 0, 0, 0, 0, [0, { [_hH]: _xasse }], [0, { [_hH]: _xavi }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var CompleteMultipartUploadRequest$ = [3, n0, _CMURo,\n 0,\n [_B, _K, _UI, _MU, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _MOS, _RP, _EBO, _IM, _INM, _SSECA, _SSECK, _SSECKMD],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [() => CompletedMultipartUpload$, { [_hP]: 1, [_xN]: _CMUo }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [1, { [_hH]: _xamos }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }]], 3\n];\nexport var Condition$ = [3, n0, _Co,\n 0,\n [_HECRE, _KPE],\n [0, 0]\n];\nexport var ContinuationEvent$ = [3, n0, _CE,\n 0,\n [],\n []\n];\nexport var CopyObjectOutput$ = [3, n0, _COO,\n 0,\n [_COR, _E, _CSVI, _VI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC],\n [[() => CopyObjectResult$, 16], [0, { [_hH]: _xae }], [0, { [_hH]: _xacsvi }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var CopyObjectRequest$ = [3, n0, _CORo,\n 0,\n [_B, _CS, _K, _ACL_, _CC, _CA, _CDo, _CEo, _CL, _CTo, _CSIM, _CSIMS, _CSINM, _CSIUS, _Ex, _GFC, _GR, _GRACP, _GWACP, _IM, _INM, _M, _MD, _TD, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO, _ESBO],\n [[0, 1], [0, { [_hH]: _xacs__ }], [0, 1], [0, { [_hH]: _xaa }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _xaca }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _xacsim }], [4, { [_hH]: _xacsims }], [0, { [_hH]: _xacsinm }], [4, { [_hH]: _xacsius }], [4, { [_hH]: _Ex }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xamd }], [0, { [_hH]: _xatd }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH]: _xacssseck }], [0, { [_hH]: _xacssseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasebo }]], 3\n];\nexport var CopyObjectResult$ = [3, n0, _COR,\n 0,\n [_ETa, _LM, _CT, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [0, 4, 0, 0, 0, 0, 0, 0]\n];\nexport var CopyPartResult$ = [3, n0, _CPR,\n 0,\n [_ETa, _LM, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [0, 4, 0, 0, 0, 0, 0]\n];\nexport var CORSConfiguration$ = [3, n0, _CORSC,\n 0,\n [_CORSR],\n [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]], 1\n];\nexport var CORSRule$ = [3, n0, _CORSRu,\n 0,\n [_AM, _AO, _ID, _AH, _EH, _MAS],\n [[64 | 0, { [_xF]: 1, [_xN]: _AMl }], [64 | 0, { [_xF]: 1, [_xN]: _AOl }], 0, [64 | 0, { [_xF]: 1, [_xN]: _AHl }], [64 | 0, { [_xF]: 1, [_xN]: _EHx }], 1], 2\n];\nexport var CreateBucketConfiguration$ = [3, n0, _CBC,\n 0,\n [_LC, _L, _B, _T],\n [0, () => LocationInfo$, () => BucketInfo$, [() => TagSet, 0]]\n];\nexport var CreateBucketMetadataConfigurationRequest$ = [3, n0, _CBMCR,\n 0,\n [_B, _MC, _CMD, _CA, _EBO],\n [[0, 1], [() => MetadataConfiguration$, { [_hP]: 1, [_xN]: _MC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var CreateBucketMetadataTableConfigurationRequest$ = [3, n0, _CBMTCR,\n 0,\n [_B, _MTC, _CMD, _CA, _EBO],\n [[0, 1], [() => MetadataTableConfiguration$, { [_hP]: 1, [_xN]: _MTC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var CreateBucketOutput$ = [3, n0, _CBO,\n 0,\n [_L, _BA],\n [[0, { [_hH]: _L }], [0, { [_hH]: _xaba }]]\n];\nexport var CreateBucketRequest$ = [3, n0, _CBR,\n 0,\n [_B, _ACL_, _CBC, _GFC, _GR, _GRACP, _GW, _GWACP, _OLEFB, _OO, _BN],\n [[0, 1], [0, { [_hH]: _xaa }], [() => CreateBucketConfiguration$, { [_hP]: 1, [_xN]: _CBC }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [2, { [_hH]: _xabole }], [0, { [_hH]: _xaoo }], [0, { [_hH]: _xabn }]], 1\n];\nexport var CreateMultipartUploadOutput$ = [3, n0, _CMUOr,\n { [_xN]: _IMUR },\n [_ADb, _ARI, _B, _K, _UI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC, _CA, _CT],\n [[4, { [_hH]: _xaad }], [0, { [_hH]: _xaari }], [0, { [_xN]: _B }], 0, 0, [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xaca }], [0, { [_hH]: _xact }]]\n];\nexport var CreateMultipartUploadRequest$ = [3, n0, _CMURr,\n 0,\n [_B, _K, _ACL_, _CC, _CDo, _CEo, _CL, _CTo, _Ex, _GFC, _GR, _GRACP, _GWACP, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO, _CA, _CT],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xaca }], [0, { [_hH]: _xact }]], 2\n];\nexport var CreateSessionOutput$ = [3, n0, _CSO,\n { [_xN]: _CSR },\n [_Cr, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE],\n [[() => SessionCredentials$, { [_xN]: _Cr }], [0, { [_hH]: _xasse }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }]], 1\n];\nexport var CreateSessionRequest$ = [3, n0, _CSRr,\n 0,\n [_B, _SM, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE],\n [[0, 1], [0, { [_hH]: _xacsm }], [0, { [_hH]: _xasse }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }]], 1\n];\nexport var CSVInput$ = [3, n0, _CSVIn,\n 0,\n [_FHI, _Com, _QEC, _RD, _FD, _QC, _AQRD],\n [0, 0, 0, 0, 0, 0, 2]\n];\nexport var CSVOutput$ = [3, n0, _CSVO,\n 0,\n [_QF, _QEC, _RD, _FD, _QC],\n [0, 0, 0, 0, 0]\n];\nexport var DefaultRetention$ = [3, n0, _DRe,\n 0,\n [_Mo, _D, _Y],\n [0, 1, 1]\n];\nexport var Delete$ = [3, n0, _De,\n 0,\n [_Ob, _Q],\n [[() => ObjectIdentifierList, { [_xF]: 1, [_xN]: _Obj }], 2], 1\n];\nexport var DeleteBucketAnalyticsConfigurationRequest$ = [3, n0, _DBACR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketCorsRequest$ = [3, n0, _DBCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketEncryptionRequest$ = [3, n0, _DBER,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketIntelligentTieringConfigurationRequest$ = [3, n0, _DBITCR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketInventoryConfigurationRequest$ = [3, n0, _DBICR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketLifecycleRequest$ = [3, n0, _DBLR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetadataConfigurationRequest$ = [3, n0, _DBMCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetadataTableConfigurationRequest$ = [3, n0, _DBMTCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetricsConfigurationRequest$ = [3, n0, _DBMCRe,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketOwnershipControlsRequest$ = [3, n0, _DBOCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketPolicyRequest$ = [3, n0, _DBPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketReplicationRequest$ = [3, n0, _DBRR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketRequest$ = [3, n0, _DBR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketTaggingRequest$ = [3, n0, _DBTR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketWebsiteRequest$ = [3, n0, _DBWR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeletedObject$ = [3, n0, _DO,\n 0,\n [_K, _VI, _DM, _DMVI],\n [0, 0, 2, 0]\n];\nexport var DeleteMarkerEntry$ = [3, n0, _DME,\n 0,\n [_O, _K, _VI, _IL, _LM],\n [() => Owner$, 0, 0, 2, 4]\n];\nexport var DeleteMarkerReplication$ = [3, n0, _DMR,\n 0,\n [_S],\n [0]\n];\nexport var DeleteObjectOutput$ = [3, n0, _DOO,\n 0,\n [_DM, _VI, _RC],\n [[2, { [_hH]: _xadm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xarc }]]\n];\nexport var DeleteObjectRequest$ = [3, n0, _DOR,\n 0,\n [_B, _K, _MFA, _VI, _RP, _BGR, _EBO, _IM, _IMLMT, _IMS],\n [[0, 1], [0, 1], [0, { [_hH]: _xam_ }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _IM_ }], [6, { [_hH]: _xaimlmt }], [1, { [_hH]: _xaims }]], 2\n];\nexport var DeleteObjectsOutput$ = [3, n0, _DOOe,\n { [_xN]: _DRel },\n [_Del, _RC, _Er],\n [[() => DeletedObjects, { [_xF]: 1 }], [0, { [_hH]: _xarc }], [() => Errors, { [_xF]: 1, [_xN]: _Err }]]\n];\nexport var DeleteObjectsRequest$ = [3, n0, _DORe,\n 0,\n [_B, _De, _MFA, _RP, _BGR, _EBO, _CA],\n [[0, 1], [() => Delete$, { [_hP]: 1, [_xN]: _De }], [0, { [_hH]: _xam_ }], [0, { [_hH]: _xarp }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var DeleteObjectTaggingOutput$ = [3, n0, _DOTO,\n 0,\n [_VI],\n [[0, { [_hH]: _xavi }]]\n];\nexport var DeleteObjectTaggingRequest$ = [3, n0, _DOTR,\n 0,\n [_B, _K, _VI, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeletePublicAccessBlockRequest$ = [3, n0, _DPABR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var Destination$ = [3, n0, _Des,\n 0,\n [_B, _A, _SC, _ACT, _EC, _RT, _Me],\n [0, 0, 0, () => AccessControlTranslation$, () => EncryptionConfiguration$, () => ReplicationTime$, () => Metrics$], 1\n];\nexport var DestinationResult$ = [3, n0, _DRes,\n 0,\n [_TBT, _TBA, _TN],\n [0, 0, 0]\n];\nexport var Encryption$ = [3, n0, _En,\n 0,\n [_ET, _KMSKI, _KMSC],\n [0, [() => SSEKMSKeyId, 0], 0], 1\n];\nexport var EncryptionConfiguration$ = [3, n0, _EC,\n 0,\n [_RKKID],\n [0]\n];\nexport var EndEvent$ = [3, n0, _EE,\n 0,\n [],\n []\n];\nexport var _Error$ = [3, n0, _Err,\n 0,\n [_K, _VI, _Cod, _Mes],\n [0, 0, 0, 0]\n];\nexport var ErrorDetails$ = [3, n0, _ED,\n 0,\n [_ECr, _EM],\n [0, 0]\n];\nexport var ErrorDocument$ = [3, n0, _EDr,\n 0,\n [_K],\n [0], 1\n];\nexport var EventBridgeConfiguration$ = [3, n0, _EBC,\n 0,\n [],\n []\n];\nexport var ExistingObjectReplication$ = [3, n0, _EOR,\n 0,\n [_S],\n [0], 1\n];\nexport var FilterRule$ = [3, n0, _FR,\n 0,\n [_N, _V],\n [0, 0]\n];\nexport var GetBucketAbacOutput$ = [3, n0, _GBAO,\n 0,\n [_AS],\n [[() => AbacStatus$, 16]]\n];\nexport var GetBucketAbacRequest$ = [3, n0, _GBAR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketAccelerateConfigurationOutput$ = [3, n0, _GBACO,\n { [_xN]: _AC },\n [_S, _RC],\n [0, [0, { [_hH]: _xarc }]]\n];\nexport var GetBucketAccelerateConfigurationRequest$ = [3, n0, _GBACR,\n 0,\n [_B, _EBO, _RP],\n [[0, 1], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 1\n];\nexport var GetBucketAclOutput$ = [3, n0, _GBAOe,\n { [_xN]: _ACP },\n [_O, _G],\n [() => Owner$, [() => Grants, { [_xN]: _ACL }]]\n];\nexport var GetBucketAclRequest$ = [3, n0, _GBARe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketAnalyticsConfigurationOutput$ = [3, n0, _GBACOe,\n 0,\n [_ACn],\n [[() => AnalyticsConfiguration$, 16]]\n];\nexport var GetBucketAnalyticsConfigurationRequest$ = [3, n0, _GBACRe,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketCorsOutput$ = [3, n0, _GBCO,\n { [_xN]: _CORSC },\n [_CORSR],\n [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]]\n];\nexport var GetBucketCorsRequest$ = [3, n0, _GBCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketEncryptionOutput$ = [3, n0, _GBEO,\n 0,\n [_SSEC],\n [[() => ServerSideEncryptionConfiguration$, 16]]\n];\nexport var GetBucketEncryptionRequest$ = [3, n0, _GBER,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketIntelligentTieringConfigurationOutput$ = [3, n0, _GBITCO,\n 0,\n [_ITC],\n [[() => IntelligentTieringConfiguration$, 16]]\n];\nexport var GetBucketIntelligentTieringConfigurationRequest$ = [3, n0, _GBITCR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketInventoryConfigurationOutput$ = [3, n0, _GBICO,\n 0,\n [_IC],\n [[() => InventoryConfiguration$, 16]]\n];\nexport var GetBucketInventoryConfigurationRequest$ = [3, n0, _GBICR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketLifecycleConfigurationOutput$ = [3, n0, _GBLCO,\n { [_xN]: _LCi },\n [_R, _TDMOS],\n [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Ru }], [0, { [_hH]: _xatdmos }]]\n];\nexport var GetBucketLifecycleConfigurationRequest$ = [3, n0, _GBLCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketLocationOutput$ = [3, n0, _GBLO,\n { [_xN]: _LC },\n [_LC],\n [0]\n];\nexport var GetBucketLocationRequest$ = [3, n0, _GBLR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketLoggingOutput$ = [3, n0, _GBLOe,\n { [_xN]: _BLS },\n [_LE],\n [[() => LoggingEnabled$, 0]]\n];\nexport var GetBucketLoggingRequest$ = [3, n0, _GBLRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataConfigurationOutput$ = [3, n0, _GBMCO,\n 0,\n [_GBMCR],\n [[() => GetBucketMetadataConfigurationResult$, 16]]\n];\nexport var GetBucketMetadataConfigurationRequest$ = [3, n0, _GBMCRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataConfigurationResult$ = [3, n0, _GBMCR,\n 0,\n [_MCR],\n [() => MetadataConfigurationResult$], 1\n];\nexport var GetBucketMetadataTableConfigurationOutput$ = [3, n0, _GBMTCO,\n 0,\n [_GBMTCR],\n [[() => GetBucketMetadataTableConfigurationResult$, 16]]\n];\nexport var GetBucketMetadataTableConfigurationRequest$ = [3, n0, _GBMTCRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataTableConfigurationResult$ = [3, n0, _GBMTCR,\n 0,\n [_MTCR, _S, _Err],\n [() => MetadataTableConfigurationResult$, 0, () => ErrorDetails$], 2\n];\nexport var GetBucketMetricsConfigurationOutput$ = [3, n0, _GBMCOe,\n 0,\n [_MCe],\n [[() => MetricsConfiguration$, 16]]\n];\nexport var GetBucketMetricsConfigurationRequest$ = [3, n0, _GBMCRet,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketNotificationConfigurationRequest$ = [3, n0, _GBNCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketOwnershipControlsOutput$ = [3, n0, _GBOCO,\n 0,\n [_OC],\n [[() => OwnershipControls$, 16]]\n];\nexport var GetBucketOwnershipControlsRequest$ = [3, n0, _GBOCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketPolicyOutput$ = [3, n0, _GBPO,\n 0,\n [_Po],\n [[0, 16]]\n];\nexport var GetBucketPolicyRequest$ = [3, n0, _GBPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketPolicyStatusOutput$ = [3, n0, _GBPSO,\n 0,\n [_PS],\n [[() => PolicyStatus$, 16]]\n];\nexport var GetBucketPolicyStatusRequest$ = [3, n0, _GBPSR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketReplicationOutput$ = [3, n0, _GBRO,\n 0,\n [_RCe],\n [[() => ReplicationConfiguration$, 16]]\n];\nexport var GetBucketReplicationRequest$ = [3, n0, _GBRR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketRequestPaymentOutput$ = [3, n0, _GBRPO,\n { [_xN]: _RPC },\n [_Pay],\n [0]\n];\nexport var GetBucketRequestPaymentRequest$ = [3, n0, _GBRPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketTaggingOutput$ = [3, n0, _GBTO,\n { [_xN]: _Tag },\n [_TS],\n [[() => TagSet, 0]], 1\n];\nexport var GetBucketTaggingRequest$ = [3, n0, _GBTR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketVersioningOutput$ = [3, n0, _GBVO,\n { [_xN]: _VC },\n [_S, _MFAD],\n [0, [0, { [_xN]: _MDf }]]\n];\nexport var GetBucketVersioningRequest$ = [3, n0, _GBVR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketWebsiteOutput$ = [3, n0, _GBWO,\n { [_xN]: _WC },\n [_RART, _IDn, _EDr, _RR],\n [() => RedirectAllRequestsTo$, () => IndexDocument$, () => ErrorDocument$, [() => RoutingRules, 0]]\n];\nexport var GetBucketWebsiteRequest$ = [3, n0, _GBWR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetObjectAclOutput$ = [3, n0, _GOAO,\n { [_xN]: _ACP },\n [_O, _G, _RC],\n [() => Owner$, [() => Grants, { [_xN]: _ACL }], [0, { [_hH]: _xarc }]]\n];\nexport var GetObjectAclRequest$ = [3, n0, _GOAR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectAttributesOutput$ = [3, n0, _GOAOe,\n { [_xN]: _GOARe },\n [_DM, _LM, _VI, _RC, _ETa, _C, _OP, _SC, _OS],\n [[2, { [_hH]: _xadm }], [4, { [_hH]: _LM_ }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xarc }], 0, () => Checksum$, [() => GetObjectAttributesParts$, 0], 0, 1]\n];\nexport var GetObjectAttributesParts$ = [3, n0, _GOAP,\n 0,\n [_TPC, _PNM, _NPNM, _MP, _IT, _Pa],\n [[1, { [_xN]: _PC }], 0, 0, 1, 2, [() => PartsList, { [_xF]: 1, [_xN]: _Par }]]\n];\nexport var GetObjectAttributesRequest$ = [3, n0, _GOARet,\n 0,\n [_B, _K, _OA, _VI, _MP, _PNM, _SSECA, _SSECK, _SSECKMD, _RP, _EBO],\n [[0, 1], [0, 1], [64 | 0, { [_hH]: _xaoa }], [0, { [_hQ]: _vI }], [1, { [_hH]: _xamp }], [0, { [_hH]: _xapnm }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var GetObjectLegalHoldOutput$ = [3, n0, _GOLHO,\n 0,\n [_LH],\n [[() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }]]\n];\nexport var GetObjectLegalHoldRequest$ = [3, n0, _GOLHR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectLockConfigurationOutput$ = [3, n0, _GOLCO,\n 0,\n [_OLC],\n [[() => ObjectLockConfiguration$, 16]]\n];\nexport var GetObjectLockConfigurationRequest$ = [3, n0, _GOLCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetObjectOutput$ = [3, n0, _GOO,\n 0,\n [_Bo, _DM, _AR, _E, _Re, _LM, _CLo, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _MM, _VI, _CC, _CDo, _CEo, _CL, _CR, _CTo, _Ex, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC, _RS, _PC, _TC, _OLM, _OLRUD, _OLLHS],\n [[() => StreamingBlob, 16], [2, { [_hH]: _xadm }], [0, { [_hH]: _ar }], [0, { [_hH]: _xae }], [0, { [_hH]: _xar }], [4, { [_hH]: _LM_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [1, { [_hH]: _xamm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CR_ }], [0, { [_hH]: _CT_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _ES }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xars }], [1, { [_hH]: _xampc }], [1, { [_hH]: _xatc }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }]]\n];\nexport var GetObjectRequest$ = [3, n0, _GOR,\n 0,\n [_B, _K, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh],\n [[0, 1], [0, 1], [0, { [_hH]: _IM_ }], [4, { [_hH]: _IMS_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _Ra }], [0, { [_hQ]: _rcc }], [0, { [_hQ]: _rcd }], [0, { [_hQ]: _rce }], [0, { [_hQ]: _rcl }], [0, { [_hQ]: _rct }], [6, { [_hQ]: _re }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [1, { [_hQ]: _pN }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xacm }]], 2\n];\nexport var GetObjectRetentionOutput$ = [3, n0, _GORO,\n 0,\n [_Ret],\n [[() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }]]\n];\nexport var GetObjectRetentionRequest$ = [3, n0, _GORR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectTaggingOutput$ = [3, n0, _GOTO,\n { [_xN]: _Tag },\n [_TS, _VI],\n [[() => TagSet, 0], [0, { [_hH]: _xavi }]], 1\n];\nexport var GetObjectTaggingRequest$ = [3, n0, _GOTR,\n 0,\n [_B, _K, _VI, _EBO, _RP],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 2\n];\nexport var GetObjectTorrentOutput$ = [3, n0, _GOTOe,\n 0,\n [_Bo, _RC],\n [[() => StreamingBlob, 16], [0, { [_hH]: _xarc }]]\n];\nexport var GetObjectTorrentRequest$ = [3, n0, _GOTRe,\n 0,\n [_B, _K, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetPublicAccessBlockOutput$ = [3, n0, _GPABO,\n 0,\n [_PABC],\n [[() => PublicAccessBlockConfiguration$, 16]]\n];\nexport var GetPublicAccessBlockRequest$ = [3, n0, _GPABR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GlacierJobParameters$ = [3, n0, _GJP,\n 0,\n [_Ti],\n [0], 1\n];\nexport var Grant$ = [3, n0, _Gr,\n 0,\n [_Gra, _Pe],\n [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0]\n];\nexport var Grantee$ = [3, n0, _Gra,\n 0,\n [_Ty, _DN, _EA, _ID, _URI],\n [[0, { [_xA]: 1, [_xN]: _xs }], 0, 0, 0, 0], 1\n];\nexport var HeadBucketOutput$ = [3, n0, _HBO,\n 0,\n [_BA, _BLT, _BLN, _BR, _APA],\n [[0, { [_hH]: _xaba }], [0, { [_hH]: _xablt }], [0, { [_hH]: _xabln }], [0, { [_hH]: _xabr }], [2, { [_hH]: _xaapa }]]\n];\nexport var HeadBucketRequest$ = [3, n0, _HBR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var HeadObjectOutput$ = [3, n0, _HOO,\n 0,\n [_DM, _AR, _E, _Re, _ASr, _LM, _CLo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _ETa, _MM, _VI, _CC, _CDo, _CEo, _CL, _CTo, _CR, _Ex, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC, _RS, _PC, _TC, _OLM, _OLRUD, _OLLHS],\n [[2, { [_hH]: _xadm }], [0, { [_hH]: _ar }], [0, { [_hH]: _xae }], [0, { [_hH]: _xar }], [0, { [_hH]: _xaas }], [4, { [_hH]: _LM_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [0, { [_hH]: _ETa }], [1, { [_hH]: _xamm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _CR_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _ES }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xars }], [1, { [_hH]: _xampc }], [1, { [_hH]: _xatc }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }]]\n];\nexport var HeadObjectRequest$ = [3, n0, _HOR,\n 0,\n [_B, _K, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh],\n [[0, 1], [0, 1], [0, { [_hH]: _IM_ }], [4, { [_hH]: _IMS_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _Ra }], [0, { [_hQ]: _rcc }], [0, { [_hQ]: _rcd }], [0, { [_hQ]: _rce }], [0, { [_hQ]: _rcl }], [0, { [_hQ]: _rct }], [6, { [_hQ]: _re }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [1, { [_hQ]: _pN }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xacm }]], 2\n];\nexport var IndexDocument$ = [3, n0, _IDn,\n 0,\n [_Su],\n [0], 1\n];\nexport var Initiator$ = [3, n0, _In,\n 0,\n [_ID, _DN],\n [0, 0]\n];\nexport var InputSerialization$ = [3, n0, _IS,\n 0,\n [_CSV, _CTom, _JSON, _Parq],\n [() => CSVInput$, 0, () => JSONInput$, () => ParquetInput$]\n];\nexport var IntelligentTieringAndOperator$ = [3, n0, _ITAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var IntelligentTieringConfiguration$ = [3, n0, _ITC,\n 0,\n [_I, _S, _Tie, _F],\n [0, 0, [() => TieringList, { [_xF]: 1, [_xN]: _Tier }], [() => IntelligentTieringFilter$, 0]], 3\n];\nexport var IntelligentTieringFilter$ = [3, n0, _ITF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => IntelligentTieringAndOperator$, 0]]\n];\nexport var InventoryConfiguration$ = [3, n0, _IC,\n 0,\n [_Des, _IE, _I, _IOV, _Sc, _F, _OF],\n [[() => InventoryDestination$, 0], 2, 0, 0, () => InventorySchedule$, () => InventoryFilter$, [() => InventoryOptionalFields, 0]], 5\n];\nexport var InventoryDestination$ = [3, n0, _IDnv,\n 0,\n [_SBD],\n [[() => InventoryS3BucketDestination$, 0]], 1\n];\nexport var InventoryEncryption$ = [3, n0, _IEn,\n 0,\n [_SSES, _SSEKMS],\n [[() => SSES3$, { [_xN]: _SS }], [() => SSEKMS$, { [_xN]: _SK }]]\n];\nexport var InventoryFilter$ = [3, n0, _IF,\n 0,\n [_P],\n [0], 1\n];\nexport var InventoryS3BucketDestination$ = [3, n0, _ISBD,\n 0,\n [_B, _Fo, _AI, _P, _En],\n [0, 0, 0, 0, [() => InventoryEncryption$, 0]], 2\n];\nexport var InventorySchedule$ = [3, n0, _ISn,\n 0,\n [_Fr],\n [0], 1\n];\nexport var InventoryTableConfiguration$ = [3, n0, _ITCn,\n 0,\n [_CSo, _EC],\n [0, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var InventoryTableConfigurationResult$ = [3, n0, _ITCR,\n 0,\n [_CSo, _TSa, _Err, _TNa, _TA],\n [0, 0, () => ErrorDetails$, 0, 0], 1\n];\nexport var InventoryTableConfigurationUpdates$ = [3, n0, _ITCU,\n 0,\n [_CSo, _EC],\n [0, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var JournalTableConfiguration$ = [3, n0, _JTC,\n 0,\n [_REe, _EC],\n [() => RecordExpiration$, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var JournalTableConfigurationResult$ = [3, n0, _JTCR,\n 0,\n [_TSa, _TNa, _REe, _Err, _TA],\n [0, 0, () => RecordExpiration$, () => ErrorDetails$, 0], 3\n];\nexport var JournalTableConfigurationUpdates$ = [3, n0, _JTCU,\n 0,\n [_REe],\n [() => RecordExpiration$], 1\n];\nexport var JSONInput$ = [3, n0, _JSONI,\n 0,\n [_Ty],\n [0]\n];\nexport var JSONOutput$ = [3, n0, _JSONO,\n 0,\n [_RD],\n [0]\n];\nexport var LambdaFunctionConfiguration$ = [3, n0, _LFC,\n 0,\n [_LFA, _Ev, _I, _F],\n [[0, { [_xN]: _CF }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var LifecycleExpiration$ = [3, n0, _LEi,\n 0,\n [_Da, _D, _EODM],\n [5, 1, 2]\n];\nexport var LifecycleRule$ = [3, n0, _LR,\n 0,\n [_S, _E, _ID, _P, _F, _Tr, _NVT, _NVE, _AIMU],\n [0, () => LifecycleExpiration$, 0, 0, [() => LifecycleRuleFilter$, 0], [() => TransitionList, { [_xF]: 1, [_xN]: _Tra }], [() => NoncurrentVersionTransitionList, { [_xF]: 1, [_xN]: _NVTo }], () => NoncurrentVersionExpiration$, () => AbortIncompleteMultipartUpload$], 1\n];\nexport var LifecycleRuleAndOperator$ = [3, n0, _LRAO,\n 0,\n [_P, _T, _OSGT, _OSLT],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }], 1, 1]\n];\nexport var LifecycleRuleFilter$ = [3, n0, _LRF,\n 0,\n [_P, _Ta, _OSGT, _OSLT, _An],\n [0, () => Tag$, 1, 1, [() => LifecycleRuleAndOperator$, 0]]\n];\nexport var ListBucketAnalyticsConfigurationsOutput$ = [3, n0, _LBACO,\n { [_xN]: _LBACR },\n [_IT, _CTon, _NCT, _ACLn],\n [2, 0, 0, [() => AnalyticsConfigurationList, { [_xF]: 1, [_xN]: _ACn }]]\n];\nexport var ListBucketAnalyticsConfigurationsRequest$ = [3, n0, _LBACRi,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketIntelligentTieringConfigurationsOutput$ = [3, n0, _LBITCO,\n 0,\n [_IT, _CTon, _NCT, _ITCL],\n [2, 0, 0, [() => IntelligentTieringConfigurationList, { [_xF]: 1, [_xN]: _ITC }]]\n];\nexport var ListBucketIntelligentTieringConfigurationsRequest$ = [3, n0, _LBITCR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketInventoryConfigurationsOutput$ = [3, n0, _LBICO,\n { [_xN]: _LICR },\n [_CTon, _ICL, _IT, _NCT],\n [0, [() => InventoryConfigurationList, { [_xF]: 1, [_xN]: _IC }], 2, 0]\n];\nexport var ListBucketInventoryConfigurationsRequest$ = [3, n0, _LBICR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketMetricsConfigurationsOutput$ = [3, n0, _LBMCO,\n { [_xN]: _LMCR },\n [_IT, _CTon, _NCT, _MCL],\n [2, 0, 0, [() => MetricsConfigurationList, { [_xF]: 1, [_xN]: _MCe }]]\n];\nexport var ListBucketMetricsConfigurationsRequest$ = [3, n0, _LBMCR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketsOutput$ = [3, n0, _LBO,\n { [_xN]: _LAMBR },\n [_Bu, _O, _CTon, _P],\n [[() => Buckets, 0], () => Owner$, 0, 0]\n];\nexport var ListBucketsRequest$ = [3, n0, _LBR,\n 0,\n [_MB, _CTon, _P, _BR],\n [[1, { [_hQ]: _mb }], [0, { [_hQ]: _ct }], [0, { [_hQ]: _p }], [0, { [_hQ]: _br }]]\n];\nexport var ListDirectoryBucketsOutput$ = [3, n0, _LDBO,\n { [_xN]: _LAMDBR },\n [_Bu, _CTon],\n [[() => Buckets, 0], 0]\n];\nexport var ListDirectoryBucketsRequest$ = [3, n0, _LDBR,\n 0,\n [_CTon, _MDB],\n [[0, { [_hQ]: _ct }], [1, { [_hQ]: _mdb }]]\n];\nexport var ListMultipartUploadsOutput$ = [3, n0, _LMUO,\n { [_xN]: _LMUR },\n [_B, _KM, _UIM, _NKM, _P, _Deli, _NUIM, _MUa, _IT, _U, _CPom, _ETn, _RC],\n [0, 0, 0, 0, 0, 0, 0, 1, 2, [() => MultipartUploadList, { [_xF]: 1, [_xN]: _Up }], [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListMultipartUploadsRequest$ = [3, n0, _LMURi,\n 0,\n [_B, _Deli, _ETn, _KM, _MUa, _P, _UIM, _EBO, _RP],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _km }], [1, { [_hQ]: _mu }], [0, { [_hQ]: _p }], [0, { [_hQ]: _uim }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 1\n];\nexport var ListObjectsOutput$ = [3, n0, _LOO,\n { [_xN]: _LBRi },\n [_IT, _Ma, _NM, _Con, _N, _P, _Deli, _MK, _CPom, _ETn, _RC],\n [2, 0, 0, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectsRequest$ = [3, n0, _LOR,\n 0,\n [_B, _Deli, _ETn, _Ma, _MK, _P, _RP, _EBO, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _m }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListObjectsV2Output$ = [3, n0, _LOVO,\n { [_xN]: _LBRi },\n [_IT, _Con, _N, _P, _Deli, _MK, _CPom, _ETn, _KC, _CTon, _NCT, _SA, _RC],\n [2, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, 1, 0, 0, 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectsV2Request$ = [3, n0, _LOVR,\n 0,\n [_B, _Deli, _ETn, _MK, _P, _CTon, _FO, _SA, _RP, _EBO, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hQ]: _ct }], [2, { [_hQ]: _fo }], [0, { [_hQ]: _sa }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListObjectVersionsOutput$ = [3, n0, _LOVOi,\n { [_xN]: _LVR },\n [_IT, _KM, _VIM, _NKM, _NVIM, _Ve, _DMe, _N, _P, _Deli, _MK, _CPom, _ETn, _RC],\n [2, 0, 0, 0, 0, [() => ObjectVersionList, { [_xF]: 1, [_xN]: _Ver }], [() => DeleteMarkers, { [_xF]: 1, [_xN]: _DM }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectVersionsRequest$ = [3, n0, _LOVRi,\n 0,\n [_B, _Deli, _ETn, _KM, _MK, _P, _VIM, _EBO, _RP, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _km }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hQ]: _vim }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListPartsOutput$ = [3, n0, _LPO,\n { [_xN]: _LPR },\n [_ADb, _ARI, _B, _K, _UI, _PNM, _NPNM, _MP, _IT, _Pa, _In, _O, _SC, _RC, _CA, _CT],\n [[4, { [_hH]: _xaad }], [0, { [_hH]: _xaari }], 0, 0, 0, 0, 0, 1, 2, [() => Parts, { [_xF]: 1, [_xN]: _Par }], () => Initiator$, () => Owner$, 0, [0, { [_hH]: _xarc }], 0, 0]\n];\nexport var ListPartsRequest$ = [3, n0, _LPRi,\n 0,\n [_B, _K, _UI, _MP, _PNM, _RP, _EBO, _SSECA, _SSECK, _SSECKMD],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [1, { [_hQ]: _mp }], [0, { [_hQ]: _pnm }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }]], 3\n];\nexport var LocationInfo$ = [3, n0, _LI,\n 0,\n [_Ty, _N],\n [0, 0]\n];\nexport var LoggingEnabled$ = [3, n0, _LE,\n 0,\n [_TB, _TP, _TG, _TOKF],\n [0, 0, [() => TargetGrants, 0], [() => TargetObjectKeyFormat$, 0]], 2\n];\nexport var MetadataConfiguration$ = [3, n0, _MC,\n 0,\n [_JTC, _ITCn],\n [() => JournalTableConfiguration$, () => InventoryTableConfiguration$], 1\n];\nexport var MetadataConfigurationResult$ = [3, n0, _MCR,\n 0,\n [_DRes, _JTCR, _ITCR],\n [() => DestinationResult$, () => JournalTableConfigurationResult$, () => InventoryTableConfigurationResult$], 1\n];\nexport var MetadataEntry$ = [3, n0, _ME,\n 0,\n [_N, _V],\n [0, 0]\n];\nexport var MetadataTableConfiguration$ = [3, n0, _MTC,\n 0,\n [_STD],\n [() => S3TablesDestination$], 1\n];\nexport var MetadataTableConfigurationResult$ = [3, n0, _MTCR,\n 0,\n [_STDR],\n [() => S3TablesDestinationResult$], 1\n];\nexport var MetadataTableEncryptionConfiguration$ = [3, n0, _MTEC,\n 0,\n [_SAs, _KKA],\n [0, 0], 1\n];\nexport var Metrics$ = [3, n0, _Me,\n 0,\n [_S, _ETv],\n [0, () => ReplicationTimeValue$], 1\n];\nexport var MetricsAndOperator$ = [3, n0, _MAO,\n 0,\n [_P, _T, _APAc],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }], 0]\n];\nexport var MetricsConfiguration$ = [3, n0, _MCe,\n 0,\n [_I, _F],\n [0, [() => MetricsFilter$, 0]], 1\n];\nexport var MultipartUpload$ = [3, n0, _MU,\n 0,\n [_UI, _K, _Ini, _SC, _O, _In, _CA, _CT],\n [0, 0, 4, 0, () => Owner$, () => Initiator$, 0, 0]\n];\nexport var NoncurrentVersionExpiration$ = [3, n0, _NVE,\n 0,\n [_ND, _NNV],\n [1, 1]\n];\nexport var NoncurrentVersionTransition$ = [3, n0, _NVTo,\n 0,\n [_ND, _SC, _NNV],\n [1, 0, 1]\n];\nexport var NotificationConfiguration$ = [3, n0, _NC,\n 0,\n [_TCo, _QCu, _LFCa, _EBC],\n [[() => TopicConfigurationList, { [_xF]: 1, [_xN]: _TCop }], [() => QueueConfigurationList, { [_xF]: 1, [_xN]: _QCue }], [() => LambdaFunctionConfigurationList, { [_xF]: 1, [_xN]: _CFC }], () => EventBridgeConfiguration$]\n];\nexport var NotificationConfigurationFilter$ = [3, n0, _NCF,\n 0,\n [_K],\n [[() => S3KeyFilter$, { [_xN]: _SKe }]]\n];\nexport var _Object$ = [3, n0, _Obj,\n 0,\n [_K, _LM, _ETa, _CA, _CT, _Si, _SC, _O, _RSe],\n [0, 4, 0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, () => Owner$, () => RestoreStatus$]\n];\nexport var ObjectIdentifier$ = [3, n0, _OI,\n 0,\n [_K, _VI, _ETa, _LMT, _Si],\n [0, 0, 0, 6, 1], 1\n];\nexport var ObjectLockConfiguration$ = [3, n0, _OLC,\n 0,\n [_OLE, _Ru],\n [0, () => ObjectLockRule$]\n];\nexport var ObjectLockLegalHold$ = [3, n0, _OLLH,\n 0,\n [_S],\n [0]\n];\nexport var ObjectLockRetention$ = [3, n0, _OLR,\n 0,\n [_Mo, _RUD],\n [0, 5]\n];\nexport var ObjectLockRule$ = [3, n0, _OLRb,\n 0,\n [_DRe],\n [() => DefaultRetention$]\n];\nexport var ObjectPart$ = [3, n0, _OPb,\n 0,\n [_PN, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [1, 1, 0, 0, 0, 0, 0]\n];\nexport var ObjectVersion$ = [3, n0, _OV,\n 0,\n [_ETa, _CA, _CT, _Si, _SC, _K, _VI, _IL, _LM, _O, _RSe],\n [0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, 0, 0, 2, 4, () => Owner$, () => RestoreStatus$]\n];\nexport var OutputLocation$ = [3, n0, _OL,\n 0,\n [_S_],\n [[() => S3Location$, 0]]\n];\nexport var OutputSerialization$ = [3, n0, _OSu,\n 0,\n [_CSV, _JSON],\n [() => CSVOutput$, () => JSONOutput$]\n];\nexport var Owner$ = [3, n0, _O,\n 0,\n [_DN, _ID],\n [0, 0]\n];\nexport var OwnershipControls$ = [3, n0, _OC,\n 0,\n [_R],\n [[() => OwnershipControlsRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var OwnershipControlsRule$ = [3, n0, _OCR,\n 0,\n [_OO],\n [0], 1\n];\nexport var ParquetInput$ = [3, n0, _PI,\n 0,\n [],\n []\n];\nexport var Part$ = [3, n0, _Par,\n 0,\n [_PN, _LM, _ETa, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [1, 4, 0, 1, 0, 0, 0, 0, 0]\n];\nexport var PartitionedPrefix$ = [3, n0, _PP,\n { [_xN]: _PP },\n [_PDS],\n [0]\n];\nexport var PolicyStatus$ = [3, n0, _PS,\n 0,\n [_IP],\n [[2, { [_xN]: _IP }]]\n];\nexport var Progress$ = [3, n0, _Pr,\n 0,\n [_BS, _BP, _BRy],\n [1, 1, 1]\n];\nexport var ProgressEvent$ = [3, n0, _PE,\n 0,\n [_Det],\n [[() => Progress$, { [_eP]: 1 }]]\n];\nexport var PublicAccessBlockConfiguration$ = [3, n0, _PABC,\n 0,\n [_BPA, _IPA, _BPP, _RPB],\n [[2, { [_xN]: _BPA }], [2, { [_xN]: _IPA }], [2, { [_xN]: _BPP }], [2, { [_xN]: _RPB }]]\n];\nexport var PutBucketAbacRequest$ = [3, n0, _PBAR,\n 0,\n [_B, _AS, _CMD, _CA, _EBO],\n [[0, 1], [() => AbacStatus$, { [_hP]: 1, [_xN]: _AS }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketAccelerateConfigurationRequest$ = [3, n0, _PBACR,\n 0,\n [_B, _AC, _EBO, _CA],\n [[0, 1], [() => AccelerateConfiguration$, { [_hP]: 1, [_xN]: _AC }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var PutBucketAclRequest$ = [3, n0, _PBARu,\n 0,\n [_B, _ACL_, _ACP, _CMD, _CA, _GFC, _GR, _GRACP, _GW, _GWACP, _EBO],\n [[0, 1], [0, { [_hH]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var PutBucketAnalyticsConfigurationRequest$ = [3, n0, _PBACRu,\n 0,\n [_B, _I, _ACn, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => AnalyticsConfiguration$, { [_hP]: 1, [_xN]: _ACn }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketCorsRequest$ = [3, n0, _PBCR,\n 0,\n [_B, _CORSC, _CMD, _CA, _EBO],\n [[0, 1], [() => CORSConfiguration$, { [_hP]: 1, [_xN]: _CORSC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketEncryptionRequest$ = [3, n0, _PBER,\n 0,\n [_B, _SSEC, _CMD, _CA, _EBO],\n [[0, 1], [() => ServerSideEncryptionConfiguration$, { [_hP]: 1, [_xN]: _SSEC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketIntelligentTieringConfigurationRequest$ = [3, n0, _PBITCR,\n 0,\n [_B, _I, _ITC, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => IntelligentTieringConfiguration$, { [_hP]: 1, [_xN]: _ITC }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketInventoryConfigurationRequest$ = [3, n0, _PBICR,\n 0,\n [_B, _I, _IC, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => InventoryConfiguration$, { [_hP]: 1, [_xN]: _IC }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketLifecycleConfigurationOutput$ = [3, n0, _PBLCO,\n 0,\n [_TDMOS],\n [[0, { [_hH]: _xatdmos }]]\n];\nexport var PutBucketLifecycleConfigurationRequest$ = [3, n0, _PBLCR,\n 0,\n [_B, _CA, _LCi, _EBO, _TDMOS],\n [[0, 1], [0, { [_hH]: _xasca }], [() => BucketLifecycleConfiguration$, { [_hP]: 1, [_xN]: _LCi }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xatdmos }]], 1\n];\nexport var PutBucketLoggingRequest$ = [3, n0, _PBLR,\n 0,\n [_B, _BLS, _CMD, _CA, _EBO],\n [[0, 1], [() => BucketLoggingStatus$, { [_hP]: 1, [_xN]: _BLS }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketMetricsConfigurationRequest$ = [3, n0, _PBMCR,\n 0,\n [_B, _I, _MCe, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => MetricsConfiguration$, { [_hP]: 1, [_xN]: _MCe }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketNotificationConfigurationRequest$ = [3, n0, _PBNCR,\n 0,\n [_B, _NC, _EBO, _SDV],\n [[0, 1], [() => NotificationConfiguration$, { [_hP]: 1, [_xN]: _NC }], [0, { [_hH]: _xaebo }], [2, { [_hH]: _xasdv }]], 2\n];\nexport var PutBucketOwnershipControlsRequest$ = [3, n0, _PBOCR,\n 0,\n [_B, _OC, _CMD, _EBO, _CA],\n [[0, 1], [() => OwnershipControls$, { [_hP]: 1, [_xN]: _OC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var PutBucketPolicyRequest$ = [3, n0, _PBPR,\n 0,\n [_B, _Po, _CMD, _CA, _CRSBA, _EBO],\n [[0, 1], [0, 16], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [2, { [_hH]: _xacrsba }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketReplicationRequest$ = [3, n0, _PBRR,\n 0,\n [_B, _RCe, _CMD, _CA, _To, _EBO],\n [[0, 1], [() => ReplicationConfiguration$, { [_hP]: 1, [_xN]: _RCe }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xabolt }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketRequestPaymentRequest$ = [3, n0, _PBRPR,\n 0,\n [_B, _RPC, _CMD, _CA, _EBO],\n [[0, 1], [() => RequestPaymentConfiguration$, { [_hP]: 1, [_xN]: _RPC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketTaggingRequest$ = [3, n0, _PBTR,\n 0,\n [_B, _Tag, _CMD, _CA, _EBO],\n [[0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketVersioningRequest$ = [3, n0, _PBVR,\n 0,\n [_B, _VC, _CMD, _CA, _MFA, _EBO],\n [[0, 1], [() => VersioningConfiguration$, { [_hP]: 1, [_xN]: _VC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xam_ }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketWebsiteRequest$ = [3, n0, _PBWR,\n 0,\n [_B, _WC, _CMD, _CA, _EBO],\n [[0, 1], [() => WebsiteConfiguration$, { [_hP]: 1, [_xN]: _WC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectAclOutput$ = [3, n0, _POAO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectAclRequest$ = [3, n0, _POAR,\n 0,\n [_B, _K, _ACL_, _ACP, _CMD, _CA, _GFC, _GR, _GRACP, _GW, _GWACP, _RP, _VI, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectLegalHoldOutput$ = [3, n0, _POLHO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectLegalHoldRequest$ = [3, n0, _POLHR,\n 0,\n [_B, _K, _LH, _RP, _VI, _CMD, _CA, _EBO],\n [[0, 1], [0, 1], [() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectLockConfigurationOutput$ = [3, n0, _POLCO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectLockConfigurationRequest$ = [3, n0, _POLCR,\n 0,\n [_B, _OLC, _RP, _To, _CMD, _CA, _EBO],\n [[0, 1], [() => ObjectLockConfiguration$, { [_hP]: 1, [_xN]: _OLC }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xabolt }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var PutObjectOutput$ = [3, n0, _POO,\n 0,\n [_E, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _SSE, _VI, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _Si, _RC],\n [[0, { [_hH]: _xae }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [1, { [_hH]: _xaos }], [0, { [_hH]: _xarc }]]\n];\nexport var PutObjectRequest$ = [3, n0, _POR,\n 0,\n [_B, _K, _ACL_, _Bo, _CC, _CDo, _CEo, _CL, _CLo, _CMD, _CTo, _CA, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _Ex, _IM, _INM, _GFC, _GR, _GRACP, _GWACP, _WOB, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [() => StreamingBlob, 16], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _CM }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [1, { [_hH]: _xawob }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectRetentionOutput$ = [3, n0, _PORO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectRetentionRequest$ = [3, n0, _PORR,\n 0,\n [_B, _K, _Ret, _RP, _VI, _BGR, _CMD, _CA, _EBO],\n [[0, 1], [0, 1], [() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectTaggingOutput$ = [3, n0, _POTO,\n 0,\n [_VI],\n [[0, { [_hH]: _xavi }]]\n];\nexport var PutObjectTaggingRequest$ = [3, n0, _POTR,\n 0,\n [_B, _K, _Tag, _VI, _CMD, _CA, _EBO, _RP],\n [[0, 1], [0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hQ]: _vI }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 3\n];\nexport var PutPublicAccessBlockRequest$ = [3, n0, _PPABR,\n 0,\n [_B, _PABC, _CMD, _CA, _EBO],\n [[0, 1], [() => PublicAccessBlockConfiguration$, { [_hP]: 1, [_xN]: _PABC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var QueueConfiguration$ = [3, n0, _QCue,\n 0,\n [_QA, _Ev, _I, _F],\n [[0, { [_xN]: _Qu }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var RecordExpiration$ = [3, n0, _REe,\n 0,\n [_E, _D],\n [0, 1], 1\n];\nexport var RecordsEvent$ = [3, n0, _REec,\n 0,\n [_Payl],\n [[21, { [_eP]: 1 }]]\n];\nexport var Redirect$ = [3, n0, _Red,\n 0,\n [_HN, _HRC, _Pro, _RKPW, _RKW],\n [0, 0, 0, 0, 0]\n];\nexport var RedirectAllRequestsTo$ = [3, n0, _RART,\n 0,\n [_HN, _Pro],\n [0, 0], 1\n];\nexport var RenameObjectOutput$ = [3, n0, _ROO,\n 0,\n [],\n []\n];\nexport var RenameObjectRequest$ = [3, n0, _ROR,\n 0,\n [_B, _K, _RSen, _DIM, _DINM, _DIMS, _DIUS, _SIM, _SINM, _SIMS, _SIUS, _CTl],\n [[0, 1], [0, 1], [0, { [_hH]: _xars_ }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IMS_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _xarsim }], [0, { [_hH]: _xarsinm }], [6, { [_hH]: _xarsims }], [6, { [_hH]: _xarsius }], [0, { [_hH]: _xact_, [_iT]: 1 }]], 3\n];\nexport var ReplicaModifications$ = [3, n0, _RM,\n 0,\n [_S],\n [0], 1\n];\nexport var ReplicationConfiguration$ = [3, n0, _RCe,\n 0,\n [_Ro, _R],\n [0, [() => ReplicationRules, { [_xF]: 1, [_xN]: _Ru }]], 2\n];\nexport var ReplicationRule$ = [3, n0, _RRe,\n 0,\n [_S, _Des, _ID, _Pri, _P, _F, _SSC, _EOR, _DMR],\n [0, () => Destination$, 0, 1, 0, [() => ReplicationRuleFilter$, 0], () => SourceSelectionCriteria$, () => ExistingObjectReplication$, () => DeleteMarkerReplication$], 2\n];\nexport var ReplicationRuleAndOperator$ = [3, n0, _RRAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var ReplicationRuleFilter$ = [3, n0, _RRF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => ReplicationRuleAndOperator$, 0]]\n];\nexport var ReplicationTime$ = [3, n0, _RT,\n 0,\n [_S, _Tim],\n [0, () => ReplicationTimeValue$], 2\n];\nexport var ReplicationTimeValue$ = [3, n0, _RTV,\n 0,\n [_Mi],\n [1]\n];\nexport var RequestPaymentConfiguration$ = [3, n0, _RPC,\n 0,\n [_Pay],\n [0], 1\n];\nexport var RequestProgress$ = [3, n0, _RPe,\n 0,\n [_Ena],\n [2]\n];\nexport var RestoreObjectOutput$ = [3, n0, _ROOe,\n 0,\n [_RC, _ROP],\n [[0, { [_hH]: _xarc }], [0, { [_hH]: _xarop }]]\n];\nexport var RestoreObjectRequest$ = [3, n0, _RORe,\n 0,\n [_B, _K, _VI, _RRes, _RP, _CA, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [() => RestoreRequest$, { [_hP]: 1, [_xN]: _RRes }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var RestoreRequest$ = [3, n0, _RRes,\n 0,\n [_D, _GJP, _Ty, _Ti, _Desc, _SP, _OL],\n [1, () => GlacierJobParameters$, 0, 0, 0, () => SelectParameters$, [() => OutputLocation$, 0]]\n];\nexport var RestoreStatus$ = [3, n0, _RSe,\n 0,\n [_IRIP, _RED],\n [2, 4]\n];\nexport var RoutingRule$ = [3, n0, _RRo,\n 0,\n [_Red, _Co],\n [() => Redirect$, () => Condition$], 1\n];\nexport var S3KeyFilter$ = [3, n0, _SKF,\n 0,\n [_FRi],\n [[() => FilterRuleList, { [_xF]: 1, [_xN]: _FR }]]\n];\nexport var S3Location$ = [3, n0, _SL,\n 0,\n [_BNu, _P, _En, _CACL, _ACL, _Tag, _UM, _SC],\n [0, 0, [() => Encryption$, 0], 0, [() => Grants, 0], [() => Tagging$, 0], [() => UserMetadata, 0], 0], 2\n];\nexport var S3TablesDestination$ = [3, n0, _STD,\n 0,\n [_TBA, _TNa],\n [0, 0], 2\n];\nexport var S3TablesDestinationResult$ = [3, n0, _STDR,\n 0,\n [_TBA, _TNa, _TA, _TN],\n [0, 0, 0, 0], 4\n];\nexport var ScanRange$ = [3, n0, _SR,\n 0,\n [_St, _End],\n [1, 1]\n];\nexport var SelectObjectContentOutput$ = [3, n0, _SOCO,\n 0,\n [_Payl],\n [[() => SelectObjectContentEventStream$, 16]]\n];\nexport var SelectObjectContentRequest$ = [3, n0, _SOCR,\n 0,\n [_B, _K, _Exp, _ETx, _IS, _OSu, _SSECA, _SSECK, _SSECKMD, _RPe, _SR, _EBO],\n [[0, 1], [0, 1], 0, 0, () => InputSerialization$, () => OutputSerialization$, [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], () => RequestProgress$, () => ScanRange$, [0, { [_hH]: _xaebo }]], 6\n];\nexport var SelectParameters$ = [3, n0, _SP,\n 0,\n [_IS, _ETx, _Exp, _OSu],\n [() => InputSerialization$, 0, 0, () => OutputSerialization$], 4\n];\nexport var ServerSideEncryptionByDefault$ = [3, n0, _SSEBD,\n 0,\n [_SSEA, _KMSMKID],\n [0, [() => SSEKMSKeyId, 0]], 1\n];\nexport var ServerSideEncryptionConfiguration$ = [3, n0, _SSEC,\n 0,\n [_R],\n [[() => ServerSideEncryptionRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var ServerSideEncryptionRule$ = [3, n0, _SSER,\n 0,\n [_ASSEBD, _BKE, _BET],\n [[() => ServerSideEncryptionByDefault$, 0], 2, [() => BlockedEncryptionTypes$, 0]]\n];\nexport var SessionCredentials$ = [3, n0, _SCe,\n 0,\n [_AKI, _SAK, _ST, _E],\n [[0, { [_xN]: _AKI }], [() => SessionCredentialValue, { [_xN]: _SAK }], [() => SessionCredentialValue, { [_xN]: _ST }], [4, { [_xN]: _E }]], 4\n];\nexport var SimplePrefix$ = [3, n0, _SPi,\n { [_xN]: _SPi },\n [],\n []\n];\nexport var SourceSelectionCriteria$ = [3, n0, _SSC,\n 0,\n [_SKEO, _RM],\n [() => SseKmsEncryptedObjects$, () => ReplicaModifications$]\n];\nexport var SSEKMS$ = [3, n0, _SSEKMS,\n { [_xN]: _SK },\n [_KI],\n [[() => SSEKMSKeyId, 0]], 1\n];\nexport var SseKmsEncryptedObjects$ = [3, n0, _SKEO,\n 0,\n [_S],\n [0], 1\n];\nexport var SSEKMSEncryption$ = [3, n0, _SSEKMSE,\n { [_xN]: _SK },\n [_KMSKA, _BKE],\n [[() => NonEmptyKmsKeyArnString, 0], 2], 1\n];\nexport var SSES3$ = [3, n0, _SSES,\n { [_xN]: _SS },\n [],\n []\n];\nexport var Stats$ = [3, n0, _Sta,\n 0,\n [_BS, _BP, _BRy],\n [1, 1, 1]\n];\nexport var StatsEvent$ = [3, n0, _SE,\n 0,\n [_Det],\n [[() => Stats$, { [_eP]: 1 }]]\n];\nexport var StorageClassAnalysis$ = [3, n0, _SCA,\n 0,\n [_DE],\n [() => StorageClassAnalysisDataExport$]\n];\nexport var StorageClassAnalysisDataExport$ = [3, n0, _SCADE,\n 0,\n [_OSV, _Des],\n [0, () => AnalyticsExportDestination$], 2\n];\nexport var Tag$ = [3, n0, _Ta,\n 0,\n [_K, _V],\n [0, 0], 2\n];\nexport var Tagging$ = [3, n0, _Tag,\n 0,\n [_TS],\n [[() => TagSet, 0]], 1\n];\nexport var TargetGrant$ = [3, n0, _TGa,\n 0,\n [_Gra, _Pe],\n [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0]\n];\nexport var TargetObjectKeyFormat$ = [3, n0, _TOKF,\n 0,\n [_SPi, _PP],\n [[() => SimplePrefix$, { [_xN]: _SPi }], [() => PartitionedPrefix$, { [_xN]: _PP }]]\n];\nexport var Tiering$ = [3, n0, _Tier,\n 0,\n [_D, _AT],\n [1, 0], 2\n];\nexport var TopicConfiguration$ = [3, n0, _TCop,\n 0,\n [_TAo, _Ev, _I, _F],\n [[0, { [_xN]: _Top }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var Transition$ = [3, n0, _Tra,\n 0,\n [_Da, _D, _SC],\n [5, 1, 0]\n];\nexport var UpdateBucketMetadataInventoryTableConfigurationRequest$ = [3, n0, _UBMITCR,\n 0,\n [_B, _ITCn, _CMD, _CA, _EBO],\n [[0, 1], [() => InventoryTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _ITCn }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var UpdateBucketMetadataJournalTableConfigurationRequest$ = [3, n0, _UBMJTCR,\n 0,\n [_B, _JTC, _CMD, _CA, _EBO],\n [[0, 1], [() => JournalTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _JTC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var UpdateObjectEncryptionRequest$ = [3, n0, _UOER,\n 0,\n [_B, _K, _OE, _VI, _RP, _EBO, _CMD, _CA],\n [[0, 1], [0, 1], [() => ObjectEncryption$, 16], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }]], 3\n];\nexport var UpdateObjectEncryptionResponse$ = [3, n0, _UOERp,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var UploadPartCopyOutput$ = [3, n0, _UPCO,\n 0,\n [_CSVI, _CPR, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC],\n [[0, { [_hH]: _xacsvi }], [() => CopyPartResult$, 16], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var UploadPartCopyRequest$ = [3, n0, _UPCR,\n 0,\n [_B, _CS, _K, _PN, _UI, _CSIM, _CSIMS, _CSINM, _CSIUS, _CSRo, _SSECA, _SSECK, _SSECKMD, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _EBO, _ESBO],\n [[0, 1], [0, { [_hH]: _xacs__ }], [0, 1], [1, { [_hQ]: _pN }], [0, { [_hQ]: _uI }], [0, { [_hH]: _xacsim }], [4, { [_hH]: _xacsims }], [0, { [_hH]: _xacsinm }], [4, { [_hH]: _xacsius }], [0, { [_hH]: _xacsr }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH]: _xacssseck }], [0, { [_hH]: _xacssseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasebo }]], 5\n];\nexport var UploadPartOutput$ = [3, n0, _UPO,\n 0,\n [_SSE, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC],\n [[0, { [_hH]: _xasse }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var UploadPartRequest$ = [3, n0, _UPR,\n 0,\n [_B, _K, _PN, _UI, _Bo, _CLo, _CMD, _CA, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _SSECA, _SSECK, _SSECKMD, _RP, _EBO],\n [[0, 1], [0, 1], [1, { [_hQ]: _pN }], [0, { [_hQ]: _uI }], [() => StreamingBlob, 16], [1, { [_hH]: _CL__ }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 4\n];\nexport var VersioningConfiguration$ = [3, n0, _VC,\n 0,\n [_MFAD, _S],\n [[0, { [_xN]: _MDf }], 0]\n];\nexport var WebsiteConfiguration$ = [3, n0, _WC,\n 0,\n [_EDr, _IDn, _RART, _RR],\n [() => ErrorDocument$, () => IndexDocument$, () => RedirectAllRequestsTo$, [() => RoutingRules, 0]]\n];\nexport var WriteGetObjectResponseRequest$ = [3, n0, _WGORR,\n 0,\n [_RReq, _RTe, _Bo, _SCt, _ECr, _EM, _AR, _CC, _CDo, _CEo, _CL, _CLo, _CR, _CTo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _DM, _ETa, _Ex, _E, _LM, _MM, _M, _OLM, _OLLHS, _OLRUD, _PC, _RS, _RC, _Re, _SSE, _SSECA, _SSEKMSKI, _SSECKMD, _SC, _TC, _VI, _BKE],\n [[0, { [_hL]: 1, [_hH]: _xarr }], [0, { [_hH]: _xart }], [() => StreamingBlob, 16], [1, { [_hH]: _xafs }], [0, { [_hH]: _xafec }], [0, { [_hH]: _xafem }], [0, { [_hH]: _xafhar }], [0, { [_hH]: _xafhCC }], [0, { [_hH]: _xafhCD }], [0, { [_hH]: _xafhCE }], [0, { [_hH]: _xafhCL }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _xafhCR }], [0, { [_hH]: _xafhCT }], [0, { [_hH]: _xafhxacc }], [0, { [_hH]: _xafhxacc_ }], [0, { [_hH]: _xafhxacc__ }], [0, { [_hH]: _xafhxacs }], [0, { [_hH]: _xafhxacs_ }], [2, { [_hH]: _xafhxadm }], [0, { [_hH]: _xafhE }], [4, { [_hH]: _xafhE_ }], [0, { [_hH]: _xafhxae }], [4, { [_hH]: _xafhLM }], [1, { [_hH]: _xafhxamm }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xafhxaolm }], [0, { [_hH]: _xafhxaollh }], [5, { [_hH]: _xafhxaolrud }], [1, { [_hH]: _xafhxampc }], [0, { [_hH]: _xafhxars }], [0, { [_hH]: _xafhxarc }], [0, { [_hH]: _xafhxar }], [0, { [_hH]: _xafhxasse }], [0, { [_hH]: _xafhxasseca }], [() => SSEKMSKeyId, { [_hH]: _xafhxasseakki }], [0, { [_hH]: _xafhxasseckM }], [0, { [_hH]: _xafhxasc }], [1, { [_hH]: _xafhxatc }], [0, { [_hH]: _xafhxavi }], [2, { [_hH]: _xafhxassebke }]], 2\n];\nvar __Unit = \"unit\";\nvar AllowedHeaders = 64 | 0;\nvar AllowedMethods = 64 | 0;\nvar AllowedOrigins = 64 | 0;\nvar AnalyticsConfigurationList = [1, n0, _ACLn,\n 0, [() => AnalyticsConfiguration$,\n 0]\n];\nvar Buckets = [1, n0, _Bu,\n 0, [() => Bucket$,\n { [_xN]: _B }]\n];\nvar ChecksumAlgorithmList = 64 | 0;\nvar CommonPrefixList = [1, n0, _CPL,\n 0, () => CommonPrefix$\n];\nvar CompletedPartList = [1, n0, _CPLo,\n 0, () => CompletedPart$\n];\nvar CORSRules = [1, n0, _CORSR,\n 0, [() => CORSRule$,\n 0]\n];\nvar DeletedObjects = [1, n0, _DOe,\n 0, () => DeletedObject$\n];\nvar DeleteMarkers = [1, n0, _DMe,\n 0, () => DeleteMarkerEntry$\n];\nvar EncryptionTypeList = [1, n0, _ETL,\n 0, [0,\n { [_xN]: _ET }]\n];\nvar Errors = [1, n0, _Er,\n 0, () => _Error$\n];\nvar EventList = 64 | 0;\nvar ExposeHeaders = 64 | 0;\nvar FilterRuleList = [1, n0, _FRL,\n 0, () => FilterRule$\n];\nvar Grants = [1, n0, _G,\n 0, [() => Grant$,\n { [_xN]: _Gr }]\n];\nvar IntelligentTieringConfigurationList = [1, n0, _ITCL,\n 0, [() => IntelligentTieringConfiguration$,\n 0]\n];\nvar InventoryConfigurationList = [1, n0, _ICL,\n 0, [() => InventoryConfiguration$,\n 0]\n];\nvar InventoryOptionalFields = [1, n0, _IOF,\n 0, [0,\n { [_xN]: _Fi }]\n];\nvar LambdaFunctionConfigurationList = [1, n0, _LFCL,\n 0, [() => LambdaFunctionConfiguration$,\n 0]\n];\nvar LifecycleRules = [1, n0, _LRi,\n 0, [() => LifecycleRule$,\n 0]\n];\nvar MetricsConfigurationList = [1, n0, _MCL,\n 0, [() => MetricsConfiguration$,\n 0]\n];\nvar MultipartUploadList = [1, n0, _MUL,\n 0, () => MultipartUpload$\n];\nvar NoncurrentVersionTransitionList = [1, n0, _NVTL,\n 0, () => NoncurrentVersionTransition$\n];\nvar ObjectAttributesList = 64 | 0;\nvar ObjectIdentifierList = [1, n0, _OIL,\n 0, () => ObjectIdentifier$\n];\nvar ObjectList = [1, n0, _OLb,\n 0, [() => _Object$,\n 0]\n];\nvar ObjectVersionList = [1, n0, _OVL,\n 0, [() => ObjectVersion$,\n 0]\n];\nvar OptionalObjectAttributesList = 64 | 0;\nvar OwnershipControlsRules = [1, n0, _OCRw,\n 0, () => OwnershipControlsRule$\n];\nvar Parts = [1, n0, _Pa,\n 0, () => Part$\n];\nvar PartsList = [1, n0, _PL,\n 0, () => ObjectPart$\n];\nvar QueueConfigurationList = [1, n0, _QCL,\n 0, [() => QueueConfiguration$,\n 0]\n];\nvar ReplicationRules = [1, n0, _RRep,\n 0, [() => ReplicationRule$,\n 0]\n];\nvar RoutingRules = [1, n0, _RR,\n 0, [() => RoutingRule$,\n { [_xN]: _RRo }]\n];\nvar ServerSideEncryptionRules = [1, n0, _SSERe,\n 0, [() => ServerSideEncryptionRule$,\n 0]\n];\nvar TagSet = [1, n0, _TS,\n 0, [() => Tag$,\n { [_xN]: _Ta }]\n];\nvar TargetGrants = [1, n0, _TG,\n 0, [() => TargetGrant$,\n { [_xN]: _Gr }]\n];\nvar TieringList = [1, n0, _TL,\n 0, () => Tiering$\n];\nvar TopicConfigurationList = [1, n0, _TCL,\n 0, [() => TopicConfiguration$,\n 0]\n];\nvar TransitionList = [1, n0, _TLr,\n 0, () => Transition$\n];\nvar UserMetadata = [1, n0, _UM,\n 0, [() => MetadataEntry$,\n { [_xN]: _ME }]\n];\nvar Metadata = 128 | 0;\nexport var AnalyticsFilter$ = [4, n0, _AF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => AnalyticsAndOperator$, 0]]\n];\nexport var MetricsFilter$ = [4, n0, _MF,\n 0,\n [_P, _Ta, _APAc, _An],\n [0, () => Tag$, 0, [() => MetricsAndOperator$, 0]]\n];\nexport var ObjectEncryption$ = [4, n0, _OE,\n 0,\n [_SSEKMS],\n [[() => SSEKMSEncryption$, { [_xN]: _SK }]]\n];\nexport var SelectObjectContentEventStream$ = [4, n0, _SOCES,\n { [_st]: 1 },\n [_Rec, _Sta, _Pr, _Cont, _End],\n [[() => RecordsEvent$, 0], [() => StatsEvent$, 0], [() => ProgressEvent$, 0], () => ContinuationEvent$, () => EndEvent$]\n];\nexport var AbortMultipartUpload$ = [9, n0, _AMU,\n { [_h]: [\"DELETE\", \"/{Key+}?x-id=AbortMultipartUpload\", 204] }, () => AbortMultipartUploadRequest$, () => AbortMultipartUploadOutput$\n];\nexport var CompleteMultipartUpload$ = [9, n0, _CMUo,\n { [_h]: [\"POST\", \"/{Key+}\", 200] }, () => CompleteMultipartUploadRequest$, () => CompleteMultipartUploadOutput$\n];\nexport var CopyObject$ = [9, n0, _CO,\n { [_h]: [\"PUT\", \"/{Key+}?x-id=CopyObject\", 200] }, () => CopyObjectRequest$, () => CopyObjectOutput$\n];\nexport var CreateBucket$ = [9, n0, _CB,\n { [_h]: [\"PUT\", \"/\", 200] }, () => CreateBucketRequest$, () => CreateBucketOutput$\n];\nexport var CreateBucketMetadataConfiguration$ = [9, n0, _CBMC,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?metadataConfiguration\", 200] }, () => CreateBucketMetadataConfigurationRequest$, () => __Unit\n];\nexport var CreateBucketMetadataTableConfiguration$ = [9, n0, _CBMTC,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?metadataTable\", 200] }, () => CreateBucketMetadataTableConfigurationRequest$, () => __Unit\n];\nexport var CreateMultipartUpload$ = [9, n0, _CMUr,\n { [_h]: [\"POST\", \"/{Key+}?uploads\", 200] }, () => CreateMultipartUploadRequest$, () => CreateMultipartUploadOutput$\n];\nexport var CreateSession$ = [9, n0, _CSr,\n { [_h]: [\"GET\", \"/?session\", 200] }, () => CreateSessionRequest$, () => CreateSessionOutput$\n];\nexport var DeleteBucket$ = [9, n0, _DB,\n { [_h]: [\"DELETE\", \"/\", 204] }, () => DeleteBucketRequest$, () => __Unit\n];\nexport var DeleteBucketAnalyticsConfiguration$ = [9, n0, _DBAC,\n { [_h]: [\"DELETE\", \"/?analytics\", 204] }, () => DeleteBucketAnalyticsConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketCors$ = [9, n0, _DBC,\n { [_h]: [\"DELETE\", \"/?cors\", 204] }, () => DeleteBucketCorsRequest$, () => __Unit\n];\nexport var DeleteBucketEncryption$ = [9, n0, _DBE,\n { [_h]: [\"DELETE\", \"/?encryption\", 204] }, () => DeleteBucketEncryptionRequest$, () => __Unit\n];\nexport var DeleteBucketIntelligentTieringConfiguration$ = [9, n0, _DBITC,\n { [_h]: [\"DELETE\", \"/?intelligent-tiering\", 204] }, () => DeleteBucketIntelligentTieringConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketInventoryConfiguration$ = [9, n0, _DBIC,\n { [_h]: [\"DELETE\", \"/?inventory\", 204] }, () => DeleteBucketInventoryConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketLifecycle$ = [9, n0, _DBL,\n { [_h]: [\"DELETE\", \"/?lifecycle\", 204] }, () => DeleteBucketLifecycleRequest$, () => __Unit\n];\nexport var DeleteBucketMetadataConfiguration$ = [9, n0, _DBMC,\n { [_h]: [\"DELETE\", \"/?metadataConfiguration\", 204] }, () => DeleteBucketMetadataConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketMetadataTableConfiguration$ = [9, n0, _DBMTC,\n { [_h]: [\"DELETE\", \"/?metadataTable\", 204] }, () => DeleteBucketMetadataTableConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketMetricsConfiguration$ = [9, n0, _DBMCe,\n { [_h]: [\"DELETE\", \"/?metrics\", 204] }, () => DeleteBucketMetricsConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketOwnershipControls$ = [9, n0, _DBOC,\n { [_h]: [\"DELETE\", \"/?ownershipControls\", 204] }, () => DeleteBucketOwnershipControlsRequest$, () => __Unit\n];\nexport var DeleteBucketPolicy$ = [9, n0, _DBP,\n { [_h]: [\"DELETE\", \"/?policy\", 204] }, () => DeleteBucketPolicyRequest$, () => __Unit\n];\nexport var DeleteBucketReplication$ = [9, n0, _DBRe,\n { [_h]: [\"DELETE\", \"/?replication\", 204] }, () => DeleteBucketReplicationRequest$, () => __Unit\n];\nexport var DeleteBucketTagging$ = [9, n0, _DBT,\n { [_h]: [\"DELETE\", \"/?tagging\", 204] }, () => DeleteBucketTaggingRequest$, () => __Unit\n];\nexport var DeleteBucketWebsite$ = [9, n0, _DBW,\n { [_h]: [\"DELETE\", \"/?website\", 204] }, () => DeleteBucketWebsiteRequest$, () => __Unit\n];\nexport var DeleteObject$ = [9, n0, _DOel,\n { [_h]: [\"DELETE\", \"/{Key+}?x-id=DeleteObject\", 204] }, () => DeleteObjectRequest$, () => DeleteObjectOutput$\n];\nexport var DeleteObjects$ = [9, n0, _DOele,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?delete\", 200] }, () => DeleteObjectsRequest$, () => DeleteObjectsOutput$\n];\nexport var DeleteObjectTagging$ = [9, n0, _DOT,\n { [_h]: [\"DELETE\", \"/{Key+}?tagging\", 204] }, () => DeleteObjectTaggingRequest$, () => DeleteObjectTaggingOutput$\n];\nexport var DeletePublicAccessBlock$ = [9, n0, _DPAB,\n { [_h]: [\"DELETE\", \"/?publicAccessBlock\", 204] }, () => DeletePublicAccessBlockRequest$, () => __Unit\n];\nexport var GetBucketAbac$ = [9, n0, _GBA,\n { [_h]: [\"GET\", \"/?abac\", 200] }, () => GetBucketAbacRequest$, () => GetBucketAbacOutput$\n];\nexport var GetBucketAccelerateConfiguration$ = [9, n0, _GBAC,\n { [_h]: [\"GET\", \"/?accelerate\", 200] }, () => GetBucketAccelerateConfigurationRequest$, () => GetBucketAccelerateConfigurationOutput$\n];\nexport var GetBucketAcl$ = [9, n0, _GBAe,\n { [_h]: [\"GET\", \"/?acl\", 200] }, () => GetBucketAclRequest$, () => GetBucketAclOutput$\n];\nexport var GetBucketAnalyticsConfiguration$ = [9, n0, _GBACe,\n { [_h]: [\"GET\", \"/?analytics&x-id=GetBucketAnalyticsConfiguration\", 200] }, () => GetBucketAnalyticsConfigurationRequest$, () => GetBucketAnalyticsConfigurationOutput$\n];\nexport var GetBucketCors$ = [9, n0, _GBC,\n { [_h]: [\"GET\", \"/?cors\", 200] }, () => GetBucketCorsRequest$, () => GetBucketCorsOutput$\n];\nexport var GetBucketEncryption$ = [9, n0, _GBE,\n { [_h]: [\"GET\", \"/?encryption\", 200] }, () => GetBucketEncryptionRequest$, () => GetBucketEncryptionOutput$\n];\nexport var GetBucketIntelligentTieringConfiguration$ = [9, n0, _GBITC,\n { [_h]: [\"GET\", \"/?intelligent-tiering&x-id=GetBucketIntelligentTieringConfiguration\", 200] }, () => GetBucketIntelligentTieringConfigurationRequest$, () => GetBucketIntelligentTieringConfigurationOutput$\n];\nexport var GetBucketInventoryConfiguration$ = [9, n0, _GBIC,\n { [_h]: [\"GET\", \"/?inventory&x-id=GetBucketInventoryConfiguration\", 200] }, () => GetBucketInventoryConfigurationRequest$, () => GetBucketInventoryConfigurationOutput$\n];\nexport var GetBucketLifecycleConfiguration$ = [9, n0, _GBLC,\n { [_h]: [\"GET\", \"/?lifecycle\", 200] }, () => GetBucketLifecycleConfigurationRequest$, () => GetBucketLifecycleConfigurationOutput$\n];\nexport var GetBucketLocation$ = [9, n0, _GBL,\n { [_h]: [\"GET\", \"/?location\", 200] }, () => GetBucketLocationRequest$, () => GetBucketLocationOutput$\n];\nexport var GetBucketLogging$ = [9, n0, _GBLe,\n { [_h]: [\"GET\", \"/?logging\", 200] }, () => GetBucketLoggingRequest$, () => GetBucketLoggingOutput$\n];\nexport var GetBucketMetadataConfiguration$ = [9, n0, _GBMC,\n { [_h]: [\"GET\", \"/?metadataConfiguration\", 200] }, () => GetBucketMetadataConfigurationRequest$, () => GetBucketMetadataConfigurationOutput$\n];\nexport var GetBucketMetadataTableConfiguration$ = [9, n0, _GBMTC,\n { [_h]: [\"GET\", \"/?metadataTable\", 200] }, () => GetBucketMetadataTableConfigurationRequest$, () => GetBucketMetadataTableConfigurationOutput$\n];\nexport var GetBucketMetricsConfiguration$ = [9, n0, _GBMCe,\n { [_h]: [\"GET\", \"/?metrics&x-id=GetBucketMetricsConfiguration\", 200] }, () => GetBucketMetricsConfigurationRequest$, () => GetBucketMetricsConfigurationOutput$\n];\nexport var GetBucketNotificationConfiguration$ = [9, n0, _GBNC,\n { [_h]: [\"GET\", \"/?notification\", 200] }, () => GetBucketNotificationConfigurationRequest$, () => NotificationConfiguration$\n];\nexport var GetBucketOwnershipControls$ = [9, n0, _GBOC,\n { [_h]: [\"GET\", \"/?ownershipControls\", 200] }, () => GetBucketOwnershipControlsRequest$, () => GetBucketOwnershipControlsOutput$\n];\nexport var GetBucketPolicy$ = [9, n0, _GBP,\n { [_h]: [\"GET\", \"/?policy\", 200] }, () => GetBucketPolicyRequest$, () => GetBucketPolicyOutput$\n];\nexport var GetBucketPolicyStatus$ = [9, n0, _GBPS,\n { [_h]: [\"GET\", \"/?policyStatus\", 200] }, () => GetBucketPolicyStatusRequest$, () => GetBucketPolicyStatusOutput$\n];\nexport var GetBucketReplication$ = [9, n0, _GBR,\n { [_h]: [\"GET\", \"/?replication\", 200] }, () => GetBucketReplicationRequest$, () => GetBucketReplicationOutput$\n];\nexport var GetBucketRequestPayment$ = [9, n0, _GBRP,\n { [_h]: [\"GET\", \"/?requestPayment\", 200] }, () => GetBucketRequestPaymentRequest$, () => GetBucketRequestPaymentOutput$\n];\nexport var GetBucketTagging$ = [9, n0, _GBT,\n { [_h]: [\"GET\", \"/?tagging\", 200] }, () => GetBucketTaggingRequest$, () => GetBucketTaggingOutput$\n];\nexport var GetBucketVersioning$ = [9, n0, _GBV,\n { [_h]: [\"GET\", \"/?versioning\", 200] }, () => GetBucketVersioningRequest$, () => GetBucketVersioningOutput$\n];\nexport var GetBucketWebsite$ = [9, n0, _GBW,\n { [_h]: [\"GET\", \"/?website\", 200] }, () => GetBucketWebsiteRequest$, () => GetBucketWebsiteOutput$\n];\nexport var GetObject$ = [9, n0, _GO,\n { [_hC]: \"-\", [_h]: [\"GET\", \"/{Key+}?x-id=GetObject\", 200] }, () => GetObjectRequest$, () => GetObjectOutput$\n];\nexport var GetObjectAcl$ = [9, n0, _GOA,\n { [_h]: [\"GET\", \"/{Key+}?acl\", 200] }, () => GetObjectAclRequest$, () => GetObjectAclOutput$\n];\nexport var GetObjectAttributes$ = [9, n0, _GOAe,\n { [_h]: [\"GET\", \"/{Key+}?attributes\", 200] }, () => GetObjectAttributesRequest$, () => GetObjectAttributesOutput$\n];\nexport var GetObjectLegalHold$ = [9, n0, _GOLH,\n { [_h]: [\"GET\", \"/{Key+}?legal-hold\", 200] }, () => GetObjectLegalHoldRequest$, () => GetObjectLegalHoldOutput$\n];\nexport var GetObjectLockConfiguration$ = [9, n0, _GOLC,\n { [_h]: [\"GET\", \"/?object-lock\", 200] }, () => GetObjectLockConfigurationRequest$, () => GetObjectLockConfigurationOutput$\n];\nexport var GetObjectRetention$ = [9, n0, _GORe,\n { [_h]: [\"GET\", \"/{Key+}?retention\", 200] }, () => GetObjectRetentionRequest$, () => GetObjectRetentionOutput$\n];\nexport var GetObjectTagging$ = [9, n0, _GOT,\n { [_h]: [\"GET\", \"/{Key+}?tagging\", 200] }, () => GetObjectTaggingRequest$, () => GetObjectTaggingOutput$\n];\nexport var GetObjectTorrent$ = [9, n0, _GOTe,\n { [_h]: [\"GET\", \"/{Key+}?torrent\", 200] }, () => GetObjectTorrentRequest$, () => GetObjectTorrentOutput$\n];\nexport var GetPublicAccessBlock$ = [9, n0, _GPAB,\n { [_h]: [\"GET\", \"/?publicAccessBlock\", 200] }, () => GetPublicAccessBlockRequest$, () => GetPublicAccessBlockOutput$\n];\nexport var HeadBucket$ = [9, n0, _HB,\n { [_h]: [\"HEAD\", \"/\", 200] }, () => HeadBucketRequest$, () => HeadBucketOutput$\n];\nexport var HeadObject$ = [9, n0, _HO,\n { [_h]: [\"HEAD\", \"/{Key+}\", 200] }, () => HeadObjectRequest$, () => HeadObjectOutput$\n];\nexport var ListBucketAnalyticsConfigurations$ = [9, n0, _LBAC,\n { [_h]: [\"GET\", \"/?analytics&x-id=ListBucketAnalyticsConfigurations\", 200] }, () => ListBucketAnalyticsConfigurationsRequest$, () => ListBucketAnalyticsConfigurationsOutput$\n];\nexport var ListBucketIntelligentTieringConfigurations$ = [9, n0, _LBITC,\n { [_h]: [\"GET\", \"/?intelligent-tiering&x-id=ListBucketIntelligentTieringConfigurations\", 200] }, () => ListBucketIntelligentTieringConfigurationsRequest$, () => ListBucketIntelligentTieringConfigurationsOutput$\n];\nexport var ListBucketInventoryConfigurations$ = [9, n0, _LBIC,\n { [_h]: [\"GET\", \"/?inventory&x-id=ListBucketInventoryConfigurations\", 200] }, () => ListBucketInventoryConfigurationsRequest$, () => ListBucketInventoryConfigurationsOutput$\n];\nexport var ListBucketMetricsConfigurations$ = [9, n0, _LBMC,\n { [_h]: [\"GET\", \"/?metrics&x-id=ListBucketMetricsConfigurations\", 200] }, () => ListBucketMetricsConfigurationsRequest$, () => ListBucketMetricsConfigurationsOutput$\n];\nexport var ListBuckets$ = [9, n0, _LB,\n { [_h]: [\"GET\", \"/?x-id=ListBuckets\", 200] }, () => ListBucketsRequest$, () => ListBucketsOutput$\n];\nexport var ListDirectoryBuckets$ = [9, n0, _LDB,\n { [_h]: [\"GET\", \"/?x-id=ListDirectoryBuckets\", 200] }, () => ListDirectoryBucketsRequest$, () => ListDirectoryBucketsOutput$\n];\nexport var ListMultipartUploads$ = [9, n0, _LMU,\n { [_h]: [\"GET\", \"/?uploads\", 200] }, () => ListMultipartUploadsRequest$, () => ListMultipartUploadsOutput$\n];\nexport var ListObjects$ = [9, n0, _LO,\n { [_h]: [\"GET\", \"/\", 200] }, () => ListObjectsRequest$, () => ListObjectsOutput$\n];\nexport var ListObjectsV2$ = [9, n0, _LOV,\n { [_h]: [\"GET\", \"/?list-type=2\", 200] }, () => ListObjectsV2Request$, () => ListObjectsV2Output$\n];\nexport var ListObjectVersions$ = [9, n0, _LOVi,\n { [_h]: [\"GET\", \"/?versions\", 200] }, () => ListObjectVersionsRequest$, () => ListObjectVersionsOutput$\n];\nexport var ListParts$ = [9, n0, _LP,\n { [_h]: [\"GET\", \"/{Key+}?x-id=ListParts\", 200] }, () => ListPartsRequest$, () => ListPartsOutput$\n];\nexport var PutBucketAbac$ = [9, n0, _PBA,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?abac\", 200] }, () => PutBucketAbacRequest$, () => __Unit\n];\nexport var PutBucketAccelerateConfiguration$ = [9, n0, _PBAC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?accelerate\", 200] }, () => PutBucketAccelerateConfigurationRequest$, () => __Unit\n];\nexport var PutBucketAcl$ = [9, n0, _PBAu,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?acl\", 200] }, () => PutBucketAclRequest$, () => __Unit\n];\nexport var PutBucketAnalyticsConfiguration$ = [9, n0, _PBACu,\n { [_h]: [\"PUT\", \"/?analytics\", 200] }, () => PutBucketAnalyticsConfigurationRequest$, () => __Unit\n];\nexport var PutBucketCors$ = [9, n0, _PBC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?cors\", 200] }, () => PutBucketCorsRequest$, () => __Unit\n];\nexport var PutBucketEncryption$ = [9, n0, _PBE,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?encryption\", 200] }, () => PutBucketEncryptionRequest$, () => __Unit\n];\nexport var PutBucketIntelligentTieringConfiguration$ = [9, n0, _PBITC,\n { [_h]: [\"PUT\", \"/?intelligent-tiering\", 200] }, () => PutBucketIntelligentTieringConfigurationRequest$, () => __Unit\n];\nexport var PutBucketInventoryConfiguration$ = [9, n0, _PBIC,\n { [_h]: [\"PUT\", \"/?inventory\", 200] }, () => PutBucketInventoryConfigurationRequest$, () => __Unit\n];\nexport var PutBucketLifecycleConfiguration$ = [9, n0, _PBLC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?lifecycle\", 200] }, () => PutBucketLifecycleConfigurationRequest$, () => PutBucketLifecycleConfigurationOutput$\n];\nexport var PutBucketLogging$ = [9, n0, _PBL,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?logging\", 200] }, () => PutBucketLoggingRequest$, () => __Unit\n];\nexport var PutBucketMetricsConfiguration$ = [9, n0, _PBMC,\n { [_h]: [\"PUT\", \"/?metrics\", 200] }, () => PutBucketMetricsConfigurationRequest$, () => __Unit\n];\nexport var PutBucketNotificationConfiguration$ = [9, n0, _PBNC,\n { [_h]: [\"PUT\", \"/?notification\", 200] }, () => PutBucketNotificationConfigurationRequest$, () => __Unit\n];\nexport var PutBucketOwnershipControls$ = [9, n0, _PBOC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?ownershipControls\", 200] }, () => PutBucketOwnershipControlsRequest$, () => __Unit\n];\nexport var PutBucketPolicy$ = [9, n0, _PBP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?policy\", 200] }, () => PutBucketPolicyRequest$, () => __Unit\n];\nexport var PutBucketReplication$ = [9, n0, _PBR,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?replication\", 200] }, () => PutBucketReplicationRequest$, () => __Unit\n];\nexport var PutBucketRequestPayment$ = [9, n0, _PBRP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?requestPayment\", 200] }, () => PutBucketRequestPaymentRequest$, () => __Unit\n];\nexport var PutBucketTagging$ = [9, n0, _PBT,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?tagging\", 200] }, () => PutBucketTaggingRequest$, () => __Unit\n];\nexport var PutBucketVersioning$ = [9, n0, _PBV,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?versioning\", 200] }, () => PutBucketVersioningRequest$, () => __Unit\n];\nexport var PutBucketWebsite$ = [9, n0, _PBW,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?website\", 200] }, () => PutBucketWebsiteRequest$, () => __Unit\n];\nexport var PutObject$ = [9, n0, _PO,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?x-id=PutObject\", 200] }, () => PutObjectRequest$, () => PutObjectOutput$\n];\nexport var PutObjectAcl$ = [9, n0, _POA,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?acl\", 200] }, () => PutObjectAclRequest$, () => PutObjectAclOutput$\n];\nexport var PutObjectLegalHold$ = [9, n0, _POLH,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?legal-hold\", 200] }, () => PutObjectLegalHoldRequest$, () => PutObjectLegalHoldOutput$\n];\nexport var PutObjectLockConfiguration$ = [9, n0, _POLC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?object-lock\", 200] }, () => PutObjectLockConfigurationRequest$, () => PutObjectLockConfigurationOutput$\n];\nexport var PutObjectRetention$ = [9, n0, _PORu,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?retention\", 200] }, () => PutObjectRetentionRequest$, () => PutObjectRetentionOutput$\n];\nexport var PutObjectTagging$ = [9, n0, _POT,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?tagging\", 200] }, () => PutObjectTaggingRequest$, () => PutObjectTaggingOutput$\n];\nexport var PutPublicAccessBlock$ = [9, n0, _PPAB,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?publicAccessBlock\", 200] }, () => PutPublicAccessBlockRequest$, () => __Unit\n];\nexport var RenameObject$ = [9, n0, _RO,\n { [_h]: [\"PUT\", \"/{Key+}?renameObject\", 200] }, () => RenameObjectRequest$, () => RenameObjectOutput$\n];\nexport var RestoreObject$ = [9, n0, _ROe,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/{Key+}?restore\", 200] }, () => RestoreObjectRequest$, () => RestoreObjectOutput$\n];\nexport var SelectObjectContent$ = [9, n0, _SOC,\n { [_h]: [\"POST\", \"/{Key+}?select&select-type=2\", 200] }, () => SelectObjectContentRequest$, () => SelectObjectContentOutput$\n];\nexport var UpdateBucketMetadataInventoryTableConfiguration$ = [9, n0, _UBMITC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?metadataInventoryTable\", 200] }, () => UpdateBucketMetadataInventoryTableConfigurationRequest$, () => __Unit\n];\nexport var UpdateBucketMetadataJournalTableConfiguration$ = [9, n0, _UBMJTC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?metadataJournalTable\", 200] }, () => UpdateBucketMetadataJournalTableConfigurationRequest$, () => __Unit\n];\nexport var UpdateObjectEncryption$ = [9, n0, _UOE,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?encryption\", 200] }, () => UpdateObjectEncryptionRequest$, () => UpdateObjectEncryptionResponse$\n];\nexport var UploadPart$ = [9, n0, _UP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?x-id=UploadPart\", 200] }, () => UploadPartRequest$, () => UploadPartOutput$\n];\nexport var UploadPartCopy$ = [9, n0, _UPC,\n { [_h]: [\"PUT\", \"/{Key+}?x-id=UploadPartCopy\", 200] }, () => UploadPartCopyRequest$, () => UploadPartCopyOutput$\n];\nexport var WriteGetObjectResponse$ = [9, n0, _WGOR,\n { [_en]: [\"{RequestRoute}.\"], [_h]: [\"POST\", \"/WriteGetObjectResponse\", 200] }, () => WriteGetObjectResponseRequest$, () => __Unit\n];\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateSession$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateSessionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n DisableS3ExpressSessionAuth: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CreateSession\", {})\n .n(\"S3Client\", \"CreateSessionCommand\")\n .sc(CreateSession$)\n .build() {\n}\n", "{\n \"name\": \"@aws-sdk/client-s3\",\n \"description\": \"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native\",\n \"version\": \"3.1009.0\",\n \"scripts\": {\n \"build\": \"concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs\",\n \"build:cjs\": \"node ../../scripts/compilation/inline client-s3\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"yarn g:turbo run build -F=\\\"$npm_package_name\\\"\",\n \"build:types\": \"tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo\",\n \"extract:docs\": \"api-extractor run --local\",\n \"generate:client\": \"node ../../scripts/generate-clients/single-service --solo s3\",\n \"test\": \"yarn g:vitest run\",\n \"test:browser\": \"node ./test/browser-build/esbuild && yarn g:vitest run -c vitest.config.browser.mts\",\n \"test:browser:watch\": \"node ./test/browser-build/esbuild && yarn g:vitest watch -c vitest.config.browser.mts\",\n \"test:e2e\": \"yarn g:vitest run -c vitest.config.e2e.mts && yarn test:browser\",\n \"test:e2e:watch\": \"yarn g:vitest watch -c vitest.config.e2e.mts\",\n \"test:index\": \"tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs\",\n \"test:integration\": \"yarn g:vitest run -c vitest.config.integ.mts\",\n \"test:integration:watch\": \"yarn g:vitest watch -c vitest.config.integ.mts\",\n \"test:watch\": \"yarn g:vitest watch\"\n },\n \"main\": \"./dist-cjs/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"module\": \"./dist-es/index.js\",\n \"sideEffects\": false,\n \"dependencies\": {\n \"@aws-crypto/sha1-browser\": \"5.2.0\",\n \"@aws-crypto/sha256-browser\": \"5.2.0\",\n \"@aws-crypto/sha256-js\": \"5.2.0\",\n \"@aws-sdk/core\": \"^3.973.20\",\n \"@aws-sdk/credential-provider-node\": \"^3.972.21\",\n \"@aws-sdk/middleware-bucket-endpoint\": \"^3.972.8\",\n \"@aws-sdk/middleware-expect-continue\": \"^3.972.8\",\n \"@aws-sdk/middleware-flexible-checksums\": \"^3.973.6\",\n \"@aws-sdk/middleware-host-header\": \"^3.972.8\",\n \"@aws-sdk/middleware-location-constraint\": \"^3.972.8\",\n \"@aws-sdk/middleware-logger\": \"^3.972.8\",\n \"@aws-sdk/middleware-recursion-detection\": \"^3.972.8\",\n \"@aws-sdk/middleware-sdk-s3\": \"^3.972.20\",\n \"@aws-sdk/middleware-ssec\": \"^3.972.8\",\n \"@aws-sdk/middleware-user-agent\": \"^3.972.21\",\n \"@aws-sdk/region-config-resolver\": \"^3.972.8\",\n \"@aws-sdk/signature-v4-multi-region\": \"^3.996.8\",\n \"@aws-sdk/types\": \"^3.973.6\",\n \"@aws-sdk/util-endpoints\": \"^3.996.5\",\n \"@aws-sdk/util-user-agent-browser\": \"^3.972.8\",\n \"@aws-sdk/util-user-agent-node\": \"^3.973.7\",\n \"@smithy/config-resolver\": \"^4.4.11\",\n \"@smithy/core\": \"^3.23.11\",\n \"@smithy/eventstream-serde-browser\": \"^4.2.12\",\n \"@smithy/eventstream-serde-config-resolver\": \"^4.3.12\",\n \"@smithy/eventstream-serde-node\": \"^4.2.12\",\n \"@smithy/fetch-http-handler\": \"^5.3.15\",\n \"@smithy/hash-blob-browser\": \"^4.2.13\",\n \"@smithy/hash-node\": \"^4.2.12\",\n \"@smithy/hash-stream-node\": \"^4.2.12\",\n \"@smithy/invalid-dependency\": \"^4.2.12\",\n \"@smithy/md5-js\": \"^4.2.12\",\n \"@smithy/middleware-content-length\": \"^4.2.12\",\n \"@smithy/middleware-endpoint\": \"^4.4.25\",\n \"@smithy/middleware-retry\": \"^4.4.42\",\n \"@smithy/middleware-serde\": \"^4.2.14\",\n \"@smithy/middleware-stack\": \"^4.2.12\",\n \"@smithy/node-config-provider\": \"^4.3.12\",\n \"@smithy/node-http-handler\": \"^4.4.16\",\n \"@smithy/protocol-http\": \"^5.3.12\",\n \"@smithy/smithy-client\": \"^4.12.5\",\n \"@smithy/types\": \"^4.13.1\",\n \"@smithy/url-parser\": \"^4.2.12\",\n \"@smithy/util-base64\": \"^4.3.2\",\n \"@smithy/util-body-length-browser\": \"^4.2.2\",\n \"@smithy/util-body-length-node\": \"^4.2.3\",\n \"@smithy/util-defaults-mode-browser\": \"^4.3.41\",\n \"@smithy/util-defaults-mode-node\": \"^4.2.44\",\n \"@smithy/util-endpoints\": \"^3.3.3\",\n \"@smithy/util-middleware\": \"^4.2.12\",\n \"@smithy/util-retry\": \"^4.2.12\",\n \"@smithy/util-stream\": \"^4.5.19\",\n \"@smithy/util-utf8\": \"^4.2.2\",\n \"@smithy/util-waiter\": \"^4.2.13\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"@aws-sdk/signature-v4-crt\": \"3.1009.0\",\n \"@smithy/snapshot-testing\": \"^2.0.2\",\n \"@tsconfig/node20\": \"20.1.8\",\n \"@types/node\": \"^20.14.8\",\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"premove\": \"4.0.0\",\n \"typescript\": \"~5.8.3\",\n \"vitest\": \"^4.0.17\"\n },\n \"engines\": {\n \"node\": \">=20.0.0\"\n },\n \"typesVersions\": {\n \"<4.5\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"dist-*/**\"\n ],\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"browser\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.browser\"\n },\n \"react-native\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.native\"\n },\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"clients/client-s3\"\n }\n}\n", "export const fromUtf8 = (input) => new TextEncoder().encode(input);\n", "import { fromUtf8 } from \"./fromUtf8\";\nexport const toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\n", "export const toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return new TextDecoder(\"utf-8\").decode(input);\n};\n", "export * from \"./fromUtf8\";\nexport * from \"./toUint8Array\";\nexport * from \"./toUtf8\";\n", "import { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n", "export const SHA_1_HASH: { name: \"SHA-1\" } = { name: \"SHA-1\" };\n\nexport const SHA_1_HMAC_ALGO: { name: \"HMAC\"; hash: { name: \"SHA-1\" } } = {\n name: \"HMAC\",\n hash: SHA_1_HASH,\n};\n\nexport const EMPTY_DATA_SHA_1 = new Uint8Array([\n 218,\n 57,\n 163,\n 238,\n 94,\n 107,\n 75,\n 13,\n 50,\n 85,\n 191,\n 239,\n 149,\n 96,\n 24,\n 144,\n 175,\n 216,\n 7,\n 9,\n]);\n", "const fallbackWindow = {};\nexport function locateWindow() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n else if (typeof self !== \"undefined\") {\n return self;\n }\n return fallbackWindow;\n}\n", "import { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nimport { isEmptyData } from \"./isEmptyData\";\nimport { EMPTY_DATA_SHA_1, SHA_1_HASH, SHA_1_HMAC_ALGO } from \"./constants\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha1 implements Checksum {\n private readonly key: Promise | undefined;\n private toHash: Uint8Array = new Uint8Array(0);\n\n constructor(secret?: SourceData) {\n if (secret !== void 0) {\n this.key = new Promise((resolve, reject) => {\n locateWindow()\n .crypto.subtle.importKey(\n \"raw\",\n convertToBuffer(secret),\n SHA_1_HMAC_ALGO,\n false,\n [\"sign\"]\n )\n .then(resolve, reject);\n });\n this.key.catch(() => {});\n }\n }\n\n update(data: SourceData): void {\n if (isEmptyData(data)) {\n return;\n }\n\n const update = convertToBuffer(data);\n const typedArray = new Uint8Array(\n this.toHash.byteLength + update.byteLength\n );\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n }\n\n digest(): Promise {\n if (this.key) {\n return this.key.then((key) =>\n locateWindow()\n .crypto.subtle.sign(SHA_1_HMAC_ALGO, key, this.toHash)\n .then((data) => new Uint8Array(data))\n );\n }\n\n if (isEmptyData(this.toHash)) {\n return Promise.resolve(EMPTY_DATA_SHA_1);\n }\n\n return Promise.resolve()\n .then(() => locateWindow().crypto.subtle.digest(SHA_1_HASH, this.toHash))\n .then((data) => Promise.resolve(new Uint8Array(data)));\n }\n\n reset(): void {\n this.toHash = new Uint8Array(0);\n }\n}\n\nfunction convertToBuffer(data: SourceData): Uint8Array {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n", "type SubtleCryptoMethod =\n | \"decrypt\"\n | \"digest\"\n | \"encrypt\"\n | \"exportKey\"\n | \"generateKey\"\n | \"importKey\"\n | \"sign\"\n | \"verify\";\n\nconst subtleCryptoMethods: Array = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\n\nexport function supportsWebCrypto(window: Window): boolean {\n if (\n supportsSecureRandom(window) &&\n typeof window.crypto.subtle === \"object\"\n ) {\n const { subtle } = window.crypto;\n\n return supportsSubtleCrypto(subtle);\n }\n\n return false;\n}\n\nexport function supportsSecureRandom(window: Window): boolean {\n if (typeof window === \"object\" && typeof window.crypto === \"object\") {\n const { getRandomValues } = window.crypto;\n\n return typeof getRandomValues === \"function\";\n }\n\n return false;\n}\n\nexport function supportsSubtleCrypto(subtle: SubtleCrypto) {\n return (\n subtle &&\n subtleCryptoMethods.every(\n methodName => typeof subtle[methodName] === \"function\"\n )\n );\n}\n\nexport async function supportsZeroByteGCM(subtle: SubtleCrypto) {\n if (!supportsSubtleCrypto(subtle)) return false;\n try {\n const key = await subtle.generateKey(\n { name: \"AES-GCM\", length: 128 },\n false,\n [\"encrypt\"]\n );\n const zeroByteAuthTag = await subtle.encrypt(\n {\n name: \"AES-GCM\",\n iv: new Uint8Array(Array(12)),\n additionalData: new Uint8Array(Array(16)),\n tagLength: 128\n },\n key,\n new Uint8Array(0)\n );\n return zeroByteAuthTag.byteLength === 16;\n } catch {\n return false;\n }\n}\n", "export * from \"./supportsWebCrypto\";\n", "import { Sha1 as WebCryptoSha1 } from \"./webCryptoSha1\";\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { supportsWebCrypto } from \"@aws-crypto/supports-web-crypto\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\nimport { convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha1 implements Checksum {\n private hash: Checksum;\n\n constructor(secret?: SourceData) {\n if (supportsWebCrypto(locateWindow())) {\n this.hash = new WebCryptoSha1(secret);\n } else {\n throw new Error(\"SHA1 not supported\");\n }\n }\n\n update(data: SourceData, encoding?: \"utf8\" | \"ascii\" | \"latin1\"): void {\n this.hash.update(convertToBuffer(data));\n }\n\n digest(): Promise {\n return this.hash.digest();\n }\n\n reset(): void {\n this.hash.reset();\n }\n}\n", "export * from \"./crossPlatformSha1\";\nexport { Sha1 as WebCryptoSha1 } from \"./webCryptoSha1\";\n", "export const SHA_256_HASH: { name: \"SHA-256\" } = { name: \"SHA-256\" };\n\nexport const SHA_256_HMAC_ALGO: { name: \"HMAC\"; hash: { name: \"SHA-256\" } } = {\n name: \"HMAC\",\n hash: SHA_256_HASH\n};\n\nexport const EMPTY_DATA_SHA_256 = new Uint8Array([\n 227,\n 176,\n 196,\n 66,\n 152,\n 252,\n 28,\n 20,\n 154,\n 251,\n 244,\n 200,\n 153,\n 111,\n 185,\n 36,\n 39,\n 174,\n 65,\n 228,\n 100,\n 155,\n 147,\n 76,\n 164,\n 149,\n 153,\n 27,\n 120,\n 82,\n 184,\n 85\n]);\n", "import { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\nimport {\n EMPTY_DATA_SHA_256,\n SHA_256_HASH,\n SHA_256_HMAC_ALGO,\n} from \"./constants\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha256 implements Checksum {\n private readonly secret?: SourceData;\n private key: Promise | undefined;\n private toHash: Uint8Array = new Uint8Array(0);\n\n constructor(secret?: SourceData) {\n this.secret = secret;\n this.reset();\n }\n\n update(data: SourceData): void {\n if (isEmptyData(data)) {\n return;\n }\n\n const update = convertToBuffer(data);\n const typedArray = new Uint8Array(\n this.toHash.byteLength + update.byteLength\n );\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n }\n\n digest(): Promise {\n if (this.key) {\n return this.key.then((key) =>\n locateWindow()\n .crypto.subtle.sign(SHA_256_HMAC_ALGO, key, this.toHash)\n .then((data) => new Uint8Array(data))\n );\n }\n\n if (isEmptyData(this.toHash)) {\n return Promise.resolve(EMPTY_DATA_SHA_256);\n }\n\n return Promise.resolve()\n .then(() =>\n locateWindow().crypto.subtle.digest(SHA_256_HASH, this.toHash)\n )\n .then((data) => Promise.resolve(new Uint8Array(data)));\n }\n\n reset(): void {\n this.toHash = new Uint8Array(0);\n if (this.secret && this.secret !== void 0) {\n this.key = new Promise((resolve, reject) => {\n locateWindow()\n .crypto.subtle.importKey(\n \"raw\",\n convertToBuffer(this.secret as SourceData),\n SHA_256_HMAC_ALGO,\n false,\n [\"sign\"]\n )\n .then(resolve, reject);\n });\n this.key.catch(() => {});\n }\n }\n}\n", "/**\n * @internal\n */\nexport const BLOCK_SIZE: number = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH: number = 32;\n\n/**\n * @internal\n */\nexport const KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n\n/**\n * @internal\n */\nexport const INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n\n/**\n * @internal\n */\nexport const MAX_HASHABLE_LENGTH = 2 ** 53 - 1;\n", "import {\n BLOCK_SIZE,\n DIGEST_LENGTH,\n INIT,\n KEY,\n MAX_HASHABLE_LENGTH\n} from \"./constants\";\n\n/**\n * @internal\n */\nexport class RawSha256 {\n private state: Int32Array = Int32Array.from(INIT);\n private temp: Int32Array = new Int32Array(64);\n private buffer: Uint8Array = new Uint8Array(64);\n private bufferLength: number = 0;\n private bytesHashed: number = 0;\n\n /**\n * @internal\n */\n finished: boolean = false;\n\n update(data: Uint8Array): void {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n digest(): Uint8Array {\n if (!this.finished) {\n const bitsHashed = this.bytesHashed * 8;\n const bufferView = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength\n );\n\n const undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(\n BLOCK_SIZE - 8,\n Math.floor(bitsHashed / 0x100000000),\n true\n );\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n const out = new Uint8Array(DIGEST_LENGTH);\n for (let i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n\n return out;\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let state0 = state[0],\n state1 = state[1],\n state2 = state[2],\n state3 = state[3],\n state4 = state[4],\n state5 = state[5],\n state6 = state[6],\n state7 = state[7];\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n } else {\n let u = this.temp[i - 2];\n const t1 =\n ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n\n u = this.temp[i - 15];\n const t2 =\n ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n\n this.temp[i] =\n ((t1 + this.temp[i - 7]) | 0) + ((t2 + this.temp[i - 16]) | 0);\n }\n\n const t1 =\n ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n\n const t2 =\n ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n }\n}\n", "import { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Checksum {\n private readonly secret?: SourceData;\n private hash: RawSha256;\n private outer?: RawSha256;\n private error: any;\n\n constructor(secret?: SourceData) {\n this.secret = secret;\n this.hash = new RawSha256();\n this.reset();\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n\n try {\n this.hash.update(convertToBuffer(toHash));\n } catch (e) {\n this.error = e;\n }\n }\n\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n digestSync(): Uint8Array {\n if (this.error) {\n throw this.error;\n }\n\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n\n return this.outer.digest();\n }\n\n return this.hash.digest();\n }\n\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n async digest(): Promise {\n return this.digestSync();\n }\n\n reset(): void {\n this.hash = new RawSha256();\n if (this.secret) {\n this.outer = new RawSha256();\n const inner = bufferFromSecret(this.secret);\n const outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n\n this.hash.update(inner);\n this.outer.update(outer);\n\n // overwrite the copied key in memory\n for (let i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n}\n\nfunction bufferFromSecret(secret: SourceData): Uint8Array {\n let input = convertToBuffer(secret);\n\n if (input.byteLength > BLOCK_SIZE) {\n const bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n\n const buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n", "export * from \"./jsSha256\";\n", "import { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\nimport { Sha256 as JsSha256 } from \"@aws-crypto/sha256-js\";\nimport { Checksum, SourceData } from \"@aws-sdk/types\";\nimport { supportsWebCrypto } from \"@aws-crypto/supports-web-crypto\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\nimport { convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Checksum {\n private hash: Checksum;\n\n constructor(secret?: SourceData) {\n if (supportsWebCrypto(locateWindow())) {\n this.hash = new WebCryptoSha256(secret);\n } else {\n this.hash = new JsSha256(secret);\n }\n }\n\n update(data: SourceData, encoding?: \"utf8\" | \"ascii\" | \"latin1\"): void {\n this.hash.update(convertToBuffer(data));\n }\n\n digest(): Promise {\n return this.hash.digest();\n }\n\n reset(): void {\n this.hash.reset();\n }\n}\n", "export * from \"./crossPlatformSha256\";\nexport { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\n", "export { createUserAgentStringParsingProvider } from \"./createUserAgentStringParsingProvider\";\nexport const createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => async (config) => {\n const navigator = typeof window !== \"undefined\" ? window.navigator : undefined;\n const uaString = navigator?.userAgent ?? \"\";\n const osName = navigator?.userAgentData?.platform ?? fallback.os(uaString) ?? \"other\";\n const osVersion = undefined;\n const brands = navigator?.userAgentData?.brands ?? [];\n const brand = brands[brands.length - 1];\n const browserName = brand?.brand ?? fallback.browser(uaString) ?? \"unknown\";\n const browserVersion = brand?.version ?? \"unknown\";\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [\"ua\", \"2.1\"],\n [`os/${osName}`, osVersion],\n [\"lang/js\"],\n [\"md/browser\", `${browserName}_${browserVersion}`],\n ];\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n const appId = await config?.userAgentAppId?.();\n if (appId) {\n sections.push([`app/${appId}`]);\n }\n return sections;\n};\nexport const fallback = {\n os(ua) {\n if (/iPhone|iPad|iPod/.test(ua))\n return \"iOS\";\n if (/Macintosh|Mac OS X/.test(ua))\n return \"macOS\";\n if (/Windows NT/.test(ua))\n return \"Windows\";\n if (/Android/.test(ua))\n return \"Android\";\n if (/Linux/.test(ua))\n return \"Linux\";\n return undefined;\n },\n browser(ua) {\n if (/EdgiOS|EdgA|Edg\\//.test(ua))\n return \"Microsoft Edge\";\n if (/Firefox\\//.test(ua))\n return \"Firefox\";\n if (/Chrome\\//.test(ua))\n return \"Chrome\";\n if (/Safari\\//.test(ua))\n return \"Safari\";\n return undefined;\n },\n};\nexport const defaultUserAgent = createDefaultUserAgentProvider;\n", "import { toHex } from \"@smithy/util-hex-encoding\";\nexport class Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9_223_372_036_854_775_808) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n", "import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { Int64 } from \"./Int64\";\nexport class HeaderMarshaller {\n toUtf8;\n fromUtf8;\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n", "import { Crc32 } from \"@aws-crypto/crc32\";\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nexport function splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n", "import { Crc32 } from \"@aws-crypto/crc32\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\nexport class EventStreamCodec {\n headerMarshaller;\n messageBuffer;\n isEndOfStream;\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n", "export {};\n", "export class MessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n", "export class MessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n", "export class SmithyMessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n", "export class SmithyMessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n", "export * from \"./EventStreamCodec\";\nexport * from \"./HeaderMarshaller\";\nexport * from \"./Int64\";\nexport * from \"./Message\";\nexport * from \"./MessageDecoderStream\";\nexport * from \"./MessageEncoderStream\";\nexport * from \"./SmithyMessageDecoderStream\";\nexport * from \"./SmithyMessageEncoderStream\";\n", "export function getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n", "export function getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nexport function getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n", "import { EventStreamCodec, MessageDecoderStream, MessageEncoderStream, SmithyMessageDecoderStream, SmithyMessageEncoderStream, } from \"@smithy/eventstream-codec\";\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getMessageUnmarshaller } from \"./getUnmarshalledStream\";\nexport class EventStreamMarshaller {\n eventStreamCodec;\n utfEncoder;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n}\n", "import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n", "export * from \"./EventStreamMarshaller\";\nexport * from \"./provider\";\n", "export const readableStreamtoIterable = (readableStream) => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n },\n});\nexport const iterableToReadableStream = (asyncIterable) => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n", "import { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"@smithy/eventstream-serde-universal\";\nimport { iterableToReadableStream, readableStreamtoIterable } from \"./utils\";\nexport class EventStreamMarshaller {\n universalMarshaller;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n const serialziedIterable = this.universalMarshaller.serialize(input, serializer);\n return typeof ReadableStream === \"function\" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;\n }\n}\nconst isReadableStream = (body) => typeof ReadableStream === \"function\" && body instanceof ReadableStream;\n", "import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n", "export * from \"./EventStreamMarshaller\";\nexport * from \"./provider\";\nexport * from \"./utils\";\n", "export async function blobReader(blob, onChunk, chunkSize = 1024 * 1024) {\n const size = blob.size;\n let totalBytesRead = 0;\n while (totalBytesRead < size) {\n const slice = blob.slice(totalBytesRead, Math.min(size, totalBytesRead + chunkSize));\n onChunk(new Uint8Array(await slice.arrayBuffer()));\n totalBytesRead += slice.size;\n }\n}\n", "import { blobReader } from \"@smithy/chunked-blob-reader\";\nexport const blobHasher = async function blobHasher(hashCtor, blob) {\n const hash = new hashCtor();\n await blobReader(blob, (chunk) => {\n hash.update(chunk);\n });\n return hash.digest();\n};\n", "export const invalidFunction = (message) => () => {\n throw new Error(message);\n};\n", "export const invalidProvider = (message) => () => Promise.reject(message);\n", "export * from \"./invalidFunction\";\nexport * from \"./invalidProvider\";\n", "export const BLOCK_SIZE = 64;\nexport const DIGEST_LENGTH = 16;\nexport const INIT = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476];\n", "import { fromUtf8 } from \"@smithy/util-utf8\";\nimport { BLOCK_SIZE, DIGEST_LENGTH, INIT } from \"./constants\";\nexport class Md5 {\n state;\n buffer;\n bufferLength;\n bytesHashed;\n finished;\n constructor() {\n this.reset();\n }\n update(sourceData) {\n if (isEmptyData(sourceData)) {\n return;\n }\n else if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n const data = convertToBuffer(sourceData);\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n while (byteLength > 0) {\n this.buffer.setUint8(this.bufferLength++, data[position++]);\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n async digest() {\n if (!this.finished) {\n const { buffer, bufferLength: undecoratedLength, bytesHashed } = this;\n const bitsHashed = bytesHashed * 8;\n buffer.setUint8(this.bufferLength++, 0b10000000);\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n buffer.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n buffer.setUint8(i, 0);\n }\n buffer.setUint32(BLOCK_SIZE - 8, bitsHashed >>> 0, true);\n buffer.setUint32(BLOCK_SIZE - 4, Math.floor(bitsHashed / 0x100000000), true);\n this.hashBuffer();\n this.finished = true;\n }\n const out = new DataView(new ArrayBuffer(DIGEST_LENGTH));\n for (let i = 0; i < 4; i++) {\n out.setUint32(i * 4, this.state[i], true);\n }\n return new Uint8Array(out.buffer, out.byteOffset, out.byteLength);\n }\n hashBuffer() {\n const { buffer, state } = this;\n let a = state[0], b = state[1], c = state[2], d = state[3];\n a = ff(a, b, c, d, buffer.getUint32(0, true), 7, 0xd76aa478);\n d = ff(d, a, b, c, buffer.getUint32(4, true), 12, 0xe8c7b756);\n c = ff(c, d, a, b, buffer.getUint32(8, true), 17, 0x242070db);\n b = ff(b, c, d, a, buffer.getUint32(12, true), 22, 0xc1bdceee);\n a = ff(a, b, c, d, buffer.getUint32(16, true), 7, 0xf57c0faf);\n d = ff(d, a, b, c, buffer.getUint32(20, true), 12, 0x4787c62a);\n c = ff(c, d, a, b, buffer.getUint32(24, true), 17, 0xa8304613);\n b = ff(b, c, d, a, buffer.getUint32(28, true), 22, 0xfd469501);\n a = ff(a, b, c, d, buffer.getUint32(32, true), 7, 0x698098d8);\n d = ff(d, a, b, c, buffer.getUint32(36, true), 12, 0x8b44f7af);\n c = ff(c, d, a, b, buffer.getUint32(40, true), 17, 0xffff5bb1);\n b = ff(b, c, d, a, buffer.getUint32(44, true), 22, 0x895cd7be);\n a = ff(a, b, c, d, buffer.getUint32(48, true), 7, 0x6b901122);\n d = ff(d, a, b, c, buffer.getUint32(52, true), 12, 0xfd987193);\n c = ff(c, d, a, b, buffer.getUint32(56, true), 17, 0xa679438e);\n b = ff(b, c, d, a, buffer.getUint32(60, true), 22, 0x49b40821);\n a = gg(a, b, c, d, buffer.getUint32(4, true), 5, 0xf61e2562);\n d = gg(d, a, b, c, buffer.getUint32(24, true), 9, 0xc040b340);\n c = gg(c, d, a, b, buffer.getUint32(44, true), 14, 0x265e5a51);\n b = gg(b, c, d, a, buffer.getUint32(0, true), 20, 0xe9b6c7aa);\n a = gg(a, b, c, d, buffer.getUint32(20, true), 5, 0xd62f105d);\n d = gg(d, a, b, c, buffer.getUint32(40, true), 9, 0x02441453);\n c = gg(c, d, a, b, buffer.getUint32(60, true), 14, 0xd8a1e681);\n b = gg(b, c, d, a, buffer.getUint32(16, true), 20, 0xe7d3fbc8);\n a = gg(a, b, c, d, buffer.getUint32(36, true), 5, 0x21e1cde6);\n d = gg(d, a, b, c, buffer.getUint32(56, true), 9, 0xc33707d6);\n c = gg(c, d, a, b, buffer.getUint32(12, true), 14, 0xf4d50d87);\n b = gg(b, c, d, a, buffer.getUint32(32, true), 20, 0x455a14ed);\n a = gg(a, b, c, d, buffer.getUint32(52, true), 5, 0xa9e3e905);\n d = gg(d, a, b, c, buffer.getUint32(8, true), 9, 0xfcefa3f8);\n c = gg(c, d, a, b, buffer.getUint32(28, true), 14, 0x676f02d9);\n b = gg(b, c, d, a, buffer.getUint32(48, true), 20, 0x8d2a4c8a);\n a = hh(a, b, c, d, buffer.getUint32(20, true), 4, 0xfffa3942);\n d = hh(d, a, b, c, buffer.getUint32(32, true), 11, 0x8771f681);\n c = hh(c, d, a, b, buffer.getUint32(44, true), 16, 0x6d9d6122);\n b = hh(b, c, d, a, buffer.getUint32(56, true), 23, 0xfde5380c);\n a = hh(a, b, c, d, buffer.getUint32(4, true), 4, 0xa4beea44);\n d = hh(d, a, b, c, buffer.getUint32(16, true), 11, 0x4bdecfa9);\n c = hh(c, d, a, b, buffer.getUint32(28, true), 16, 0xf6bb4b60);\n b = hh(b, c, d, a, buffer.getUint32(40, true), 23, 0xbebfbc70);\n a = hh(a, b, c, d, buffer.getUint32(52, true), 4, 0x289b7ec6);\n d = hh(d, a, b, c, buffer.getUint32(0, true), 11, 0xeaa127fa);\n c = hh(c, d, a, b, buffer.getUint32(12, true), 16, 0xd4ef3085);\n b = hh(b, c, d, a, buffer.getUint32(24, true), 23, 0x04881d05);\n a = hh(a, b, c, d, buffer.getUint32(36, true), 4, 0xd9d4d039);\n d = hh(d, a, b, c, buffer.getUint32(48, true), 11, 0xe6db99e5);\n c = hh(c, d, a, b, buffer.getUint32(60, true), 16, 0x1fa27cf8);\n b = hh(b, c, d, a, buffer.getUint32(8, true), 23, 0xc4ac5665);\n a = ii(a, b, c, d, buffer.getUint32(0, true), 6, 0xf4292244);\n d = ii(d, a, b, c, buffer.getUint32(28, true), 10, 0x432aff97);\n c = ii(c, d, a, b, buffer.getUint32(56, true), 15, 0xab9423a7);\n b = ii(b, c, d, a, buffer.getUint32(20, true), 21, 0xfc93a039);\n a = ii(a, b, c, d, buffer.getUint32(48, true), 6, 0x655b59c3);\n d = ii(d, a, b, c, buffer.getUint32(12, true), 10, 0x8f0ccc92);\n c = ii(c, d, a, b, buffer.getUint32(40, true), 15, 0xffeff47d);\n b = ii(b, c, d, a, buffer.getUint32(4, true), 21, 0x85845dd1);\n a = ii(a, b, c, d, buffer.getUint32(32, true), 6, 0x6fa87e4f);\n d = ii(d, a, b, c, buffer.getUint32(60, true), 10, 0xfe2ce6e0);\n c = ii(c, d, a, b, buffer.getUint32(24, true), 15, 0xa3014314);\n b = ii(b, c, d, a, buffer.getUint32(52, true), 21, 0x4e0811a1);\n a = ii(a, b, c, d, buffer.getUint32(16, true), 6, 0xf7537e82);\n d = ii(d, a, b, c, buffer.getUint32(44, true), 10, 0xbd3af235);\n c = ii(c, d, a, b, buffer.getUint32(8, true), 15, 0x2ad7d2bb);\n b = ii(b, c, d, a, buffer.getUint32(36, true), 21, 0xeb86d391);\n state[0] = (a + state[0]) & 0xffffffff;\n state[1] = (b + state[1]) & 0xffffffff;\n state[2] = (c + state[2]) & 0xffffffff;\n state[3] = (d + state[3]) & 0xffffffff;\n }\n reset() {\n this.state = Uint32Array.from(INIT);\n this.buffer = new DataView(new ArrayBuffer(BLOCK_SIZE));\n this.bufferLength = 0;\n this.bytesHashed = 0;\n this.finished = false;\n }\n}\nfunction cmn(q, a, b, x, s, t) {\n a = (((a + q) & 0xffffffff) + ((x + t) & 0xffffffff)) & 0xffffffff;\n return (((a << s) | (a >>> (32 - s))) + b) & 0xffffffff;\n}\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nfunction convertToBuffer(data) {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n", "export const DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\n", "import { memoize } from \"@smithy/property-provider\";\nimport { DEFAULTS_MODE_OPTIONS } from \"./constants\";\nexport const resolveDefaultsModeConfig = ({ defaultsMode, } = {}) => memoize(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode?.toLowerCase()) {\n case \"auto\":\n return Promise.resolve(useMobileConfiguration() ? \"mobile\" : \"standard\");\n case \"mobile\":\n case \"in-region\":\n case \"cross-region\":\n case \"standard\":\n case \"legacy\":\n return Promise.resolve(mode?.toLocaleLowerCase());\n case undefined:\n return Promise.resolve(\"legacy\");\n default:\n throw new Error(`Invalid parameter for \"defaultsMode\", expect ${DEFAULTS_MODE_OPTIONS.join(\", \")}, got ${mode}`);\n }\n});\nconst useMobileConfiguration = () => {\n const navigator = window?.navigator;\n if (navigator?.connection) {\n const { effectiveType, rtt, downlink } = navigator?.connection;\n const slow = (typeof effectiveType === \"string\" && effectiveType !== \"4g\") || Number(rtt) > 100 || Number(downlink) < 10;\n if (slow) {\n return true;\n }\n }\n return (navigator?.userAgentData?.mobile || (typeof navigator?.maxTouchPoints === \"number\" && navigator?.maxTouchPoints > 1));\n};\n", "export * from \"./resolveDefaultsModeConfig\";\n", "import { AwsSdkSigV4ASigner, AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { AwsRestXmlProtocol } from \"@aws-sdk/core/protocols\";\nimport { SignatureV4MultiRegion } from \"@aws-sdk/signature-v4-multi-region\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { getAwsChunkedEncodingStream, sdkStreamMixin } from \"@smithy/util-stream\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultS3HttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nimport { errorTypeRegistries } from \"./schemas/schemas_0\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2006-03-01\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n getAwsChunkedEncodingStream: config?.getAwsChunkedEncodingStream ?? getAwsChunkedEncodingStream,\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultS3HttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"aws.auth#sigv4a\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4a\"),\n signer: new AwsSdkSigV4ASigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n protocol: config?.protocol ?? AwsRestXmlProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.s3\",\n errorTypeRegistries,\n xmlNamespace: \"http://s3.amazonaws.com/doc/2006-03-01/\",\n version: \"2006-03-01\",\n serviceTarget: \"AmazonS3\",\n },\n sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,\n serviceId: config?.serviceId ?? \"S3\",\n signerConstructor: config?.signerConstructor ?? SignatureV4MultiRegion,\n signingEscapePath: config?.signingEscapePath ?? false,\n urlParser: config?.urlParser ?? parseUrl,\n useArnRegion: config?.useArnRegion ?? undefined,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n", "import packageInfo from \"../package.json\";\nimport { Sha1 } from \"@aws-crypto/sha1-browser\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { createDefaultUserAgentProvider } from \"@aws-sdk/util-user-agent-browser\";\nimport { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from \"@smithy/config-resolver\";\nimport { eventStreamSerdeProvider } from \"@smithy/eventstream-serde-browser\";\nimport { FetchHttpHandler as RequestHandler, streamCollector } from \"@smithy/fetch-http-handler\";\nimport { blobHasher as streamHasher } from \"@smithy/hash-blob-browser\";\nimport { invalidProvider } from \"@smithy/invalid-dependency\";\nimport { Md5 } from \"@smithy/md5-js\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-browser\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nexport const getRuntimeConfig = (config) => {\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"browser\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? ((_) => () => Promise.reject(new Error(\"Credential is missing\"))),\n defaultUserAgentProvider: config?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventStreamSerdeProvider,\n maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,\n md5: config?.md5 ?? Md5,\n region: config?.region ?? invalidProvider(\"Region is missing\"),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),\n sha1: config?.sha1 ?? Sha1,\n sha256: config?.sha256 ?? Sha256,\n streamCollector: config?.streamCollector ?? streamCollector,\n streamHasher: config?.streamHasher ?? streamHasher,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),\n useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)),\n };\n};\n", "export const getAwsRegionExtensionConfiguration = (runtimeConfig) => {\n return {\n setRegion(region) {\n runtimeConfig.region = region;\n },\n region() {\n return runtimeConfig.region;\n },\n };\n};\nexport const resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => {\n return {\n region: awsRegionExtensionConfiguration.region(),\n };\n};\n", "export { REGION_ENV_NAME, REGION_INI_NAME, NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS, } from \"@smithy/config-resolver\";\nexport { resolveRegionConfig } from \"@smithy/config-resolver\";\n", "export function stsRegionDefaultResolver() {\n return async () => \"us-east-1\";\n}\n", "export * from \"./extensions\";\nexport * from \"./regionConfig/awsRegionConfig\";\nexport * from \"./regionConfig/stsRegionDefaultResolver\";\n", "export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n", "import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n", "import { getAddExpectContinuePlugin } from \"@aws-sdk/middleware-expect-continue\";\nimport { resolveFlexibleChecksumsConfig, } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getRegionRedirectMiddlewarePlugin, getS3ExpressHttpSigningPlugin, getS3ExpressPlugin, getValidateBucketNamePlugin, resolveS3Config, } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getSchemaSerdePlugin } from \"@smithy/core/schema\";\nimport { resolveEventStreamSerdeConfig, } from \"@smithy/eventstream-serde-config-resolver\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig, } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig, } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultS3HttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { CreateSessionCommand, } from \"./commands/CreateSessionCommand\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class S3Client extends __Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveUserAgentConfig(_config_1);\n const _config_3 = resolveFlexibleChecksumsConfig(_config_2);\n const _config_4 = resolveRetryConfig(_config_3);\n const _config_5 = resolveRegionConfig(_config_4);\n const _config_6 = resolveHostHeaderConfig(_config_5);\n const _config_7 = resolveEndpointConfig(_config_6);\n const _config_8 = resolveEventStreamSerdeConfig(_config_7);\n const _config_9 = resolveHttpAuthSchemeConfig(_config_8);\n const _config_10 = resolveS3Config(_config_9, { session: [() => this, CreateSessionCommand] });\n const _config_11 = resolveRuntimeExtensions(_config_10, configuration?.extensions || []);\n this.config = _config_11;\n this.middlewareStack.use(getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultS3HttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n \"aws.auth#sigv4a\": config.credentials,\n }),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n this.middlewareStack.use(getValidateBucketNamePlugin(this.config));\n this.middlewareStack.use(getAddExpectContinuePlugin(this.config));\n this.middlewareStack.use(getRegionRedirectMiddlewarePlugin(this.config));\n this.middlewareStack.use(getS3ExpressPlugin(this.config));\n this.middlewareStack.use(getS3ExpressHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AbortMultipartUpload$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class AbortMultipartUploadCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"AbortMultipartUpload\", {})\n .n(\"S3Client\", \"AbortMultipartUploadCommand\")\n .sc(AbortMultipartUpload$)\n .build() {\n}\n", "export function ssecMiddleware(options) {\n return (next) => async (args) => {\n const input = { ...args.input };\n const properties = [\n {\n target: \"SSECustomerKey\",\n hash: \"SSECustomerKeyMD5\",\n },\n {\n target: \"CopySourceSSECustomerKey\",\n hash: \"CopySourceSSECustomerKeyMD5\",\n },\n ];\n for (const prop of properties) {\n const value = input[prop.target];\n if (value) {\n let valueForHash;\n if (typeof value === \"string\") {\n if (isValidBase64EncodedSSECustomerKey(value, options)) {\n valueForHash = options.base64Decoder(value);\n }\n else {\n valueForHash = options.utf8Decoder(value);\n input[prop.target] = options.base64Encoder(valueForHash);\n }\n }\n else {\n valueForHash = ArrayBuffer.isView(value)\n ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength)\n : new Uint8Array(value);\n input[prop.target] = options.base64Encoder(valueForHash);\n }\n const hash = new options.md5();\n hash.update(valueForHash);\n input[prop.hash] = options.base64Encoder(await hash.digest());\n }\n }\n return next({\n ...args,\n input,\n });\n };\n}\nexport const ssecMiddlewareOptions = {\n name: \"ssecMiddleware\",\n step: \"initialize\",\n tags: [\"SSE\"],\n override: true,\n};\nexport const getSsecPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(ssecMiddleware(config), ssecMiddlewareOptions);\n },\n});\nexport function isValidBase64EncodedSSECustomerKey(str, options) {\n const base64Regex = /^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;\n if (!base64Regex.test(str))\n return false;\n try {\n const decodedBytes = options.base64Decoder(str);\n return decodedBytes.length === 32;\n }\n catch {\n return false;\n }\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CompleteMultipartUpload$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CompleteMultipartUploadCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CompleteMultipartUpload\", {})\n .n(\"S3Client\", \"CompleteMultipartUploadCommand\")\n .sc(CompleteMultipartUpload$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CopyObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CopyObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n DisableS3ExpressSessionAuth: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n CopySource: { type: \"contextParams\", name: \"CopySource\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CopyObject\", {})\n .n(\"S3Client\", \"CopyObjectCommand\")\n .sc(CopyObject$)\n .build() {\n}\n", "export function locationConstraintMiddleware(options) {\n return (next) => async (args) => {\n const { CreateBucketConfiguration } = args.input;\n const region = await options.region();\n if (!CreateBucketConfiguration?.LocationConstraint && !CreateBucketConfiguration?.Location) {\n if (region !== \"us-east-1\") {\n args.input.CreateBucketConfiguration = args.input.CreateBucketConfiguration ?? {};\n args.input.CreateBucketConfiguration.LocationConstraint = region;\n }\n }\n return next(args);\n };\n}\nexport const locationConstraintMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"LOCATION_CONSTRAINT\", \"CREATE_BUCKET_CONFIGURATION\"],\n name: \"locationConstraintMiddleware\",\n override: true,\n};\nexport const getLocationConstraintPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(locationConstraintMiddleware(config), locationConstraintMiddlewareOptions);\n },\n});\n", "import { getLocationConstraintPlugin } from \"@aws-sdk/middleware-location-constraint\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateBucket$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateBucketCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n DisableAccessPoints: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getLocationConstraintPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CreateBucket\", {})\n .n(\"S3Client\", \"CreateBucketCommand\")\n .sc(CreateBucket$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateBucketMetadataConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateBucketMetadataConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"CreateBucketMetadataConfiguration\", {})\n .n(\"S3Client\", \"CreateBucketMetadataConfigurationCommand\")\n .sc(CreateBucketMetadataConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateBucketMetadataTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateBucketMetadataTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"CreateBucketMetadataTableConfiguration\", {})\n .n(\"S3Client\", \"CreateBucketMetadataTableConfigurationCommand\")\n .sc(CreateBucketMetadataTableConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateMultipartUpload$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateMultipartUploadCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CreateMultipartUpload\", {})\n .n(\"S3Client\", \"CreateMultipartUploadCommand\")\n .sc(CreateMultipartUpload$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketAnalyticsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketAnalyticsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketAnalyticsConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketAnalyticsConfigurationCommand\")\n .sc(DeleteBucketAnalyticsConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucket$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucket\", {})\n .n(\"S3Client\", \"DeleteBucketCommand\")\n .sc(DeleteBucket$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketCors$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketCorsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketCors\", {})\n .n(\"S3Client\", \"DeleteBucketCorsCommand\")\n .sc(DeleteBucketCors$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketEncryption$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketEncryptionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketEncryption\", {})\n .n(\"S3Client\", \"DeleteBucketEncryptionCommand\")\n .sc(DeleteBucketEncryption$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketIntelligentTieringConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketIntelligentTieringConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketIntelligentTieringConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketIntelligentTieringConfigurationCommand\")\n .sc(DeleteBucketIntelligentTieringConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketInventoryConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketInventoryConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketInventoryConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketInventoryConfigurationCommand\")\n .sc(DeleteBucketInventoryConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketLifecycle$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketLifecycleCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketLifecycle\", {})\n .n(\"S3Client\", \"DeleteBucketLifecycleCommand\")\n .sc(DeleteBucketLifecycle$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketMetadataConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketMetadataConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketMetadataConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketMetadataConfigurationCommand\")\n .sc(DeleteBucketMetadataConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketMetadataTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketMetadataTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketMetadataTableConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketMetadataTableConfigurationCommand\")\n .sc(DeleteBucketMetadataTableConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketMetricsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketMetricsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketMetricsConfiguration\", {})\n .n(\"S3Client\", \"DeleteBucketMetricsConfigurationCommand\")\n .sc(DeleteBucketMetricsConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketOwnershipControls$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketOwnershipControlsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketOwnershipControls\", {})\n .n(\"S3Client\", \"DeleteBucketOwnershipControlsCommand\")\n .sc(DeleteBucketOwnershipControls$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketPolicy$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketPolicyCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketPolicy\", {})\n .n(\"S3Client\", \"DeleteBucketPolicyCommand\")\n .sc(DeleteBucketPolicy$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketReplication$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketReplicationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketReplication\", {})\n .n(\"S3Client\", \"DeleteBucketReplicationCommand\")\n .sc(DeleteBucketReplication$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketTagging\", {})\n .n(\"S3Client\", \"DeleteBucketTaggingCommand\")\n .sc(DeleteBucketTagging$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteBucketWebsite$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteBucketWebsiteCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeleteBucketWebsite\", {})\n .n(\"S3Client\", \"DeleteBucketWebsiteCommand\")\n .sc(DeleteBucketWebsite$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"DeleteObject\", {})\n .n(\"S3Client\", \"DeleteObjectCommand\")\n .sc(DeleteObject$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteObjects$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteObjectsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"DeleteObjects\", {})\n .n(\"S3Client\", \"DeleteObjectsCommand\")\n .sc(DeleteObjects$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeleteObjectTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeleteObjectTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"DeleteObjectTagging\", {})\n .n(\"S3Client\", \"DeleteObjectTaggingCommand\")\n .sc(DeleteObjectTagging$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { DeletePublicAccessBlock$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class DeletePublicAccessBlockCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"DeletePublicAccessBlock\", {})\n .n(\"S3Client\", \"DeletePublicAccessBlockCommand\")\n .sc(DeletePublicAccessBlock$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketAbac$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketAbacCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketAbac\", {})\n .n(\"S3Client\", \"GetBucketAbacCommand\")\n .sc(GetBucketAbac$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketAccelerateConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketAccelerateConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketAccelerateConfiguration\", {})\n .n(\"S3Client\", \"GetBucketAccelerateConfigurationCommand\")\n .sc(GetBucketAccelerateConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketAcl$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketAclCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketAcl\", {})\n .n(\"S3Client\", \"GetBucketAclCommand\")\n .sc(GetBucketAcl$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketAnalyticsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketAnalyticsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketAnalyticsConfiguration\", {})\n .n(\"S3Client\", \"GetBucketAnalyticsConfigurationCommand\")\n .sc(GetBucketAnalyticsConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketCors$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketCorsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketCors\", {})\n .n(\"S3Client\", \"GetBucketCorsCommand\")\n .sc(GetBucketCors$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketEncryption$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketEncryptionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketEncryption\", {})\n .n(\"S3Client\", \"GetBucketEncryptionCommand\")\n .sc(GetBucketEncryption$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketIntelligentTieringConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketIntelligentTieringConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketIntelligentTieringConfiguration\", {})\n .n(\"S3Client\", \"GetBucketIntelligentTieringConfigurationCommand\")\n .sc(GetBucketIntelligentTieringConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketInventoryConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketInventoryConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketInventoryConfiguration\", {})\n .n(\"S3Client\", \"GetBucketInventoryConfigurationCommand\")\n .sc(GetBucketInventoryConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketLifecycleConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketLifecycleConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketLifecycleConfiguration\", {})\n .n(\"S3Client\", \"GetBucketLifecycleConfigurationCommand\")\n .sc(GetBucketLifecycleConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketLocation$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketLocationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketLocation\", {})\n .n(\"S3Client\", \"GetBucketLocationCommand\")\n .sc(GetBucketLocation$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketLogging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketLoggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketLogging\", {})\n .n(\"S3Client\", \"GetBucketLoggingCommand\")\n .sc(GetBucketLogging$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketMetadataConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketMetadataConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketMetadataConfiguration\", {})\n .n(\"S3Client\", \"GetBucketMetadataConfigurationCommand\")\n .sc(GetBucketMetadataConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketMetadataTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketMetadataTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketMetadataTableConfiguration\", {})\n .n(\"S3Client\", \"GetBucketMetadataTableConfigurationCommand\")\n .sc(GetBucketMetadataTableConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketMetricsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketMetricsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketMetricsConfiguration\", {})\n .n(\"S3Client\", \"GetBucketMetricsConfigurationCommand\")\n .sc(GetBucketMetricsConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketNotificationConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketNotificationConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketNotificationConfiguration\", {})\n .n(\"S3Client\", \"GetBucketNotificationConfigurationCommand\")\n .sc(GetBucketNotificationConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketOwnershipControls$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketOwnershipControlsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketOwnershipControls\", {})\n .n(\"S3Client\", \"GetBucketOwnershipControlsCommand\")\n .sc(GetBucketOwnershipControls$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketPolicy$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketPolicyCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketPolicy\", {})\n .n(\"S3Client\", \"GetBucketPolicyCommand\")\n .sc(GetBucketPolicy$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketPolicyStatus$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketPolicyStatusCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketPolicyStatus\", {})\n .n(\"S3Client\", \"GetBucketPolicyStatusCommand\")\n .sc(GetBucketPolicyStatus$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketReplication$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketReplicationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketReplication\", {})\n .n(\"S3Client\", \"GetBucketReplicationCommand\")\n .sc(GetBucketReplication$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketRequestPayment$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketRequestPaymentCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketRequestPayment\", {})\n .n(\"S3Client\", \"GetBucketRequestPaymentCommand\")\n .sc(GetBucketRequestPayment$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketTagging\", {})\n .n(\"S3Client\", \"GetBucketTaggingCommand\")\n .sc(GetBucketTagging$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketVersioning$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketVersioningCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketVersioning\", {})\n .n(\"S3Client\", \"GetBucketVersioningCommand\")\n .sc(GetBucketVersioning$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetBucketWebsite$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetBucketWebsiteCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetBucketWebsite\", {})\n .n(\"S3Client\", \"GetBucketWebsiteCommand\")\n .sc(GetBucketWebsite$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectAcl$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectAclCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectAcl\", {})\n .n(\"S3Client\", \"GetObjectAclCommand\")\n .sc(GetObjectAcl$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectAttributes$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectAttributesCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectAttributes\", {})\n .n(\"S3Client\", \"GetObjectAttributesCommand\")\n .sc(GetObjectAttributes$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getS3ExpiresMiddlewarePlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestChecksumRequired: false,\n requestValidationModeMember: 'ChecksumMode',\n 'responseAlgorithms': ['CRC64NVME', 'CRC32', 'CRC32C', 'SHA256', 'SHA1'],\n }),\n getSsecPlugin(config),\n getS3ExpiresMiddlewarePlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObject\", {})\n .n(\"S3Client\", \"GetObjectCommand\")\n .sc(GetObject$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectLegalHold$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectLegalHoldCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectLegalHold\", {})\n .n(\"S3Client\", \"GetObjectLegalHoldCommand\")\n .sc(GetObjectLegalHold$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectLockConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectLockConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectLockConfiguration\", {})\n .n(\"S3Client\", \"GetObjectLockConfigurationCommand\")\n .sc(GetObjectLockConfiguration$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectRetention$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectRetentionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectRetention\", {})\n .n(\"S3Client\", \"GetObjectRetentionCommand\")\n .sc(GetObjectRetention$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObjectTagging\", {})\n .n(\"S3Client\", \"GetObjectTaggingCommand\")\n .sc(GetObjectTagging$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObjectTorrent$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectTorrentCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"GetObjectTorrent\", {})\n .n(\"S3Client\", \"GetObjectTorrentCommand\")\n .sc(GetObjectTorrent$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetPublicAccessBlock$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetPublicAccessBlockCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetPublicAccessBlock\", {})\n .n(\"S3Client\", \"GetPublicAccessBlockCommand\")\n .sc(GetPublicAccessBlock$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { HeadBucket$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class HeadBucketCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"HeadBucket\", {})\n .n(\"S3Client\", \"HeadBucketCommand\")\n .sc(HeadBucket$)\n .build() {\n}\n", "import { getS3ExpiresMiddlewarePlugin, getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { HeadObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class HeadObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n getS3ExpiresMiddlewarePlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"HeadObject\", {})\n .n(\"S3Client\", \"HeadObjectCommand\")\n .sc(HeadObject$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBucketAnalyticsConfigurations$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketAnalyticsConfigurationsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBucketAnalyticsConfigurations\", {})\n .n(\"S3Client\", \"ListBucketAnalyticsConfigurationsCommand\")\n .sc(ListBucketAnalyticsConfigurations$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBucketIntelligentTieringConfigurations$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketIntelligentTieringConfigurationsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBucketIntelligentTieringConfigurations\", {})\n .n(\"S3Client\", \"ListBucketIntelligentTieringConfigurationsCommand\")\n .sc(ListBucketIntelligentTieringConfigurations$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBucketInventoryConfigurations$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketInventoryConfigurationsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBucketInventoryConfigurations\", {})\n .n(\"S3Client\", \"ListBucketInventoryConfigurationsCommand\")\n .sc(ListBucketInventoryConfigurations$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBucketMetricsConfigurations$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketMetricsConfigurationsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBucketMetricsConfigurations\", {})\n .n(\"S3Client\", \"ListBucketMetricsConfigurationsCommand\")\n .sc(ListBucketMetricsConfigurations$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListBuckets$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListBucketsCommand extends $Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListBuckets\", {})\n .n(\"S3Client\", \"ListBucketsCommand\")\n .sc(ListBuckets$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListDirectoryBuckets$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListDirectoryBucketsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListDirectoryBuckets\", {})\n .n(\"S3Client\", \"ListDirectoryBucketsCommand\")\n .sc(ListDirectoryBuckets$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListMultipartUploads$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListMultipartUploadsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListMultipartUploads\", {})\n .n(\"S3Client\", \"ListMultipartUploadsCommand\")\n .sc(ListMultipartUploads$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListObjects$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListObjectsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListObjects\", {})\n .n(\"S3Client\", \"ListObjectsCommand\")\n .sc(ListObjects$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListObjectsV2$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListObjectsV2Command extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListObjectsV2\", {})\n .n(\"S3Client\", \"ListObjectsV2Command\")\n .sc(ListObjectsV2$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListObjectVersions$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListObjectVersionsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListObjectVersions\", {})\n .n(\"S3Client\", \"ListObjectVersionsCommand\")\n .sc(ListObjectVersions$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListParts$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListPartsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListParts\", {})\n .n(\"S3Client\", \"ListPartsCommand\")\n .sc(ListParts$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketAbac$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketAbacCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketAbac\", {})\n .n(\"S3Client\", \"PutBucketAbacCommand\")\n .sc(PutBucketAbac$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketAccelerateConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketAccelerateConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketAccelerateConfiguration\", {})\n .n(\"S3Client\", \"PutBucketAccelerateConfigurationCommand\")\n .sc(PutBucketAccelerateConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketAcl$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketAclCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketAcl\", {})\n .n(\"S3Client\", \"PutBucketAclCommand\")\n .sc(PutBucketAcl$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketAnalyticsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketAnalyticsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketAnalyticsConfiguration\", {})\n .n(\"S3Client\", \"PutBucketAnalyticsConfigurationCommand\")\n .sc(PutBucketAnalyticsConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketCors$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketCorsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketCors\", {})\n .n(\"S3Client\", \"PutBucketCorsCommand\")\n .sc(PutBucketCors$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketEncryption$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketEncryptionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketEncryption\", {})\n .n(\"S3Client\", \"PutBucketEncryptionCommand\")\n .sc(PutBucketEncryption$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketIntelligentTieringConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketIntelligentTieringConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketIntelligentTieringConfiguration\", {})\n .n(\"S3Client\", \"PutBucketIntelligentTieringConfigurationCommand\")\n .sc(PutBucketIntelligentTieringConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketInventoryConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketInventoryConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketInventoryConfiguration\", {})\n .n(\"S3Client\", \"PutBucketInventoryConfigurationCommand\")\n .sc(PutBucketInventoryConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketLifecycleConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketLifecycleConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketLifecycleConfiguration\", {})\n .n(\"S3Client\", \"PutBucketLifecycleConfigurationCommand\")\n .sc(PutBucketLifecycleConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketLogging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketLoggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketLogging\", {})\n .n(\"S3Client\", \"PutBucketLoggingCommand\")\n .sc(PutBucketLogging$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketMetricsConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketMetricsConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketMetricsConfiguration\", {})\n .n(\"S3Client\", \"PutBucketMetricsConfigurationCommand\")\n .sc(PutBucketMetricsConfiguration$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketNotificationConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketNotificationConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"PutBucketNotificationConfiguration\", {})\n .n(\"S3Client\", \"PutBucketNotificationConfigurationCommand\")\n .sc(PutBucketNotificationConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketOwnershipControls$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketOwnershipControlsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketOwnershipControls\", {})\n .n(\"S3Client\", \"PutBucketOwnershipControlsCommand\")\n .sc(PutBucketOwnershipControls$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketPolicy$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketPolicyCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketPolicy\", {})\n .n(\"S3Client\", \"PutBucketPolicyCommand\")\n .sc(PutBucketPolicy$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketReplication$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketReplicationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketReplication\", {})\n .n(\"S3Client\", \"PutBucketReplicationCommand\")\n .sc(PutBucketReplication$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketRequestPayment$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketRequestPaymentCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketRequestPayment\", {})\n .n(\"S3Client\", \"PutBucketRequestPaymentCommand\")\n .sc(PutBucketRequestPayment$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketTagging\", {})\n .n(\"S3Client\", \"PutBucketTaggingCommand\")\n .sc(PutBucketTagging$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketVersioning$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketVersioningCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketVersioning\", {})\n .n(\"S3Client\", \"PutBucketVersioningCommand\")\n .sc(PutBucketVersioning$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutBucketWebsite$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutBucketWebsiteCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutBucketWebsite\", {})\n .n(\"S3Client\", \"PutBucketWebsiteCommand\")\n .sc(PutBucketWebsite$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectAcl$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectAclCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectAcl\", {})\n .n(\"S3Client\", \"PutObjectAclCommand\")\n .sc(PutObjectAcl$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getCheckContentLengthHeaderPlugin, getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n getCheckContentLengthHeaderPlugin(config),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObject\", {})\n .n(\"S3Client\", \"PutObjectCommand\")\n .sc(PutObject$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectLegalHold$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectLegalHoldCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectLegalHold\", {})\n .n(\"S3Client\", \"PutObjectLegalHoldCommand\")\n .sc(PutObjectLegalHold$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectLockConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectLockConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectLockConfiguration\", {})\n .n(\"S3Client\", \"PutObjectLockConfigurationCommand\")\n .sc(PutObjectLockConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectRetention$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectRetentionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectRetention\", {})\n .n(\"S3Client\", \"PutObjectRetentionCommand\")\n .sc(PutObjectRetention$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObjectTagging$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectTaggingCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObjectTagging\", {})\n .n(\"S3Client\", \"PutObjectTaggingCommand\")\n .sc(PutObjectTagging$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutPublicAccessBlock$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutPublicAccessBlockCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"PutPublicAccessBlock\", {})\n .n(\"S3Client\", \"PutPublicAccessBlockCommand\")\n .sc(PutPublicAccessBlock$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { RenameObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class RenameObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"RenameObject\", {})\n .n(\"S3Client\", \"RenameObjectCommand\")\n .sc(RenameObject$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { RestoreObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class RestoreObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"RestoreObject\", {})\n .n(\"S3Client\", \"RestoreObjectCommand\")\n .sc(RestoreObject$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { SelectObjectContent$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class SelectObjectContentCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"SelectObjectContent\", {\n eventStream: {\n output: true,\n },\n})\n .n(\"S3Client\", \"SelectObjectContentCommand\")\n .sc(SelectObjectContent$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UpdateBucketMetadataInventoryTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UpdateBucketMetadataInventoryTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"UpdateBucketMetadataInventoryTableConfiguration\", {})\n .n(\"S3Client\", \"UpdateBucketMetadataInventoryTableConfigurationCommand\")\n .sc(UpdateBucketMetadataInventoryTableConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UpdateBucketMetadataJournalTableConfiguration$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UpdateBucketMetadataJournalTableConfigurationCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseS3ExpressControlEndpoint: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n ];\n})\n .s(\"AmazonS3\", \"UpdateBucketMetadataJournalTableConfiguration\", {})\n .n(\"S3Client\", \"UpdateBucketMetadataJournalTableConfigurationCommand\")\n .sc(UpdateBucketMetadataJournalTableConfiguration$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UpdateObjectEncryption$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UpdateObjectEncryptionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: true,\n }),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"UpdateObjectEncryption\", {})\n .n(\"S3Client\", \"UpdateObjectEncryptionCommand\")\n .sc(UpdateObjectEncryption$)\n .build() {\n}\n", "import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UploadPart$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UploadPartCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"UploadPart\", {})\n .n(\"S3Client\", \"UploadPartCommand\")\n .sc(UploadPart$)\n .build() {\n}\n", "import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { UploadPartCopy$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class UploadPartCopyCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n DisableS3ExpressSessionAuth: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"UploadPartCopy\", {})\n .n(\"S3Client\", \"UploadPartCopyCommand\")\n .sc(UploadPartCopy$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { WriteGetObjectResponse$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class WriteGetObjectResponseCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n UseObjectLambdaEndpoint: { type: \"staticContextParams\", value: true },\n})\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AmazonS3\", \"WriteGetObjectResponse\", {})\n .n(\"S3Client\", \"WriteGetObjectResponseCommand\")\n .sc(WriteGetObjectResponse$)\n .build() {\n}\n", "import { createPaginator } from \"@smithy/core\";\nimport { ListBucketsCommand } from \"../commands/ListBucketsCommand\";\nimport { S3Client } from \"../S3Client\";\nexport const paginateListBuckets = createPaginator(S3Client, ListBucketsCommand, \"ContinuationToken\", \"ContinuationToken\", \"MaxBuckets\");\n", "import { createPaginator } from \"@smithy/core\";\nimport { ListDirectoryBucketsCommand, } from \"../commands/ListDirectoryBucketsCommand\";\nimport { S3Client } from \"../S3Client\";\nexport const paginateListDirectoryBuckets = createPaginator(S3Client, ListDirectoryBucketsCommand, \"ContinuationToken\", \"ContinuationToken\", \"MaxDirectoryBuckets\");\n", "import { createPaginator } from \"@smithy/core\";\nimport { ListObjectsV2Command, } from \"../commands/ListObjectsV2Command\";\nimport { S3Client } from \"../S3Client\";\nexport const paginateListObjectsV2 = createPaginator(S3Client, ListObjectsV2Command, \"ContinuationToken\", \"NextContinuationToken\", \"MaxKeys\");\n", "import { createPaginator } from \"@smithy/core\";\nimport { ListPartsCommand } from \"../commands/ListPartsCommand\";\nimport { S3Client } from \"../S3Client\";\nexport const paginateListParts = createPaginator(S3Client, ListPartsCommand, \"PartNumberMarker\", \"NextPartNumberMarker\", \"MaxParts\");\n", "export const getCircularReplacer = () => {\n const seen = new WeakSet();\n return (key, value) => {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) {\n return \"[Circular]\";\n }\n seen.add(value);\n }\n return value;\n };\n};\n", "export const sleep = (seconds) => {\n return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n};\n", "import { getCircularReplacer } from \"./circularReplacer\";\nexport const waiterServiceDefaults = {\n minDelay: 2,\n maxDelay: 120,\n};\nexport var WaiterState;\n(function (WaiterState) {\n WaiterState[\"ABORTED\"] = \"ABORTED\";\n WaiterState[\"FAILURE\"] = \"FAILURE\";\n WaiterState[\"SUCCESS\"] = \"SUCCESS\";\n WaiterState[\"RETRY\"] = \"RETRY\";\n WaiterState[\"TIMEOUT\"] = \"TIMEOUT\";\n})(WaiterState || (WaiterState = {}));\nexport const checkExceptions = (result) => {\n if (result.state === WaiterState.ABORTED) {\n const abortError = new Error(`${JSON.stringify({\n ...result,\n reason: \"Request was aborted\",\n }, getCircularReplacer())}`);\n abortError.name = \"AbortError\";\n throw abortError;\n }\n else if (result.state === WaiterState.TIMEOUT) {\n const timeoutError = new Error(`${JSON.stringify({\n ...result,\n reason: \"Waiter has timed out\",\n }, getCircularReplacer())}`);\n timeoutError.name = \"TimeoutError\";\n throw timeoutError;\n }\n else if (result.state !== WaiterState.SUCCESS) {\n throw new Error(`${JSON.stringify(result, getCircularReplacer())}`);\n }\n return result;\n};\n", "import { getCircularReplacer } from \"./circularReplacer\";\nimport { sleep } from \"./utils/sleep\";\nimport { WaiterState } from \"./waiter\";\nconst exponentialBackoffWithJitter = (minDelay, maxDelay, attemptCeiling, attempt) => {\n if (attempt > attemptCeiling)\n return maxDelay;\n const delay = minDelay * 2 ** (attempt - 1);\n return randomInRange(minDelay, delay);\n};\nconst randomInRange = (min, max) => min + Math.random() * (max - min);\nexport const runPolling = async ({ minDelay, maxDelay, maxWaitTime, abortController, client, abortSignal }, input, acceptorChecks) => {\n const observedResponses = {};\n const { state, reason } = await acceptorChecks(client, input);\n if (reason) {\n const message = createMessageFromResponse(reason);\n observedResponses[message] |= 0;\n observedResponses[message] += 1;\n }\n if (state !== WaiterState.RETRY) {\n return { state, reason, observedResponses };\n }\n let currentAttempt = 1;\n const waitUntil = Date.now() + maxWaitTime * 1000;\n const attemptCeiling = Math.log(maxDelay / minDelay) / Math.log(2) + 1;\n while (true) {\n if (abortController?.signal?.aborted || abortSignal?.aborted) {\n const message = \"AbortController signal aborted.\";\n observedResponses[message] |= 0;\n observedResponses[message] += 1;\n return { state: WaiterState.ABORTED, observedResponses };\n }\n const delay = exponentialBackoffWithJitter(minDelay, maxDelay, attemptCeiling, currentAttempt);\n if (Date.now() + delay * 1000 > waitUntil) {\n return { state: WaiterState.TIMEOUT, observedResponses };\n }\n await sleep(delay);\n const { state, reason } = await acceptorChecks(client, input);\n if (reason) {\n const message = createMessageFromResponse(reason);\n observedResponses[message] |= 0;\n observedResponses[message] += 1;\n }\n if (state !== WaiterState.RETRY) {\n return { state, reason, observedResponses };\n }\n currentAttempt += 1;\n }\n};\nconst createMessageFromResponse = (reason) => {\n if (reason?.$responseBodyText) {\n return `Deserialization error for body: ${reason.$responseBodyText}`;\n }\n if (reason?.$metadata?.httpStatusCode) {\n if (reason.$response || reason.message) {\n return `${reason.$response?.statusCode ?? reason.$metadata.httpStatusCode ?? \"Unknown\"}: ${reason.message}`;\n }\n return `${reason.$metadata.httpStatusCode}: OK`;\n }\n return String(reason?.message ?? JSON.stringify(reason, getCircularReplacer()) ?? \"Unknown\");\n};\n", "export const validateWaiterOptions = (options) => {\n if (options.maxWaitTime <= 0) {\n throw new Error(`WaiterConfiguration.maxWaitTime must be greater than 0`);\n }\n else if (options.minDelay <= 0) {\n throw new Error(`WaiterConfiguration.minDelay must be greater than 0`);\n }\n else if (options.maxDelay <= 0) {\n throw new Error(`WaiterConfiguration.maxDelay must be greater than 0`);\n }\n else if (options.maxWaitTime <= options.minDelay) {\n throw new Error(`WaiterConfiguration.maxWaitTime [${options.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);\n }\n else if (options.maxDelay < options.minDelay) {\n throw new Error(`WaiterConfiguration.maxDelay [${options.maxDelay}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);\n }\n};\n", "export * from \"./sleep\";\nexport * from \"./validate\";\n", "import { runPolling } from \"./poller\";\nimport { validateWaiterOptions } from \"./utils\";\nimport { waiterServiceDefaults, WaiterState } from \"./waiter\";\nconst abortTimeout = (abortSignal) => {\n let onAbort;\n const promise = new Promise((resolve) => {\n onAbort = () => resolve({ state: WaiterState.ABORTED });\n if (typeof abortSignal.addEventListener === \"function\") {\n abortSignal.addEventListener(\"abort\", onAbort);\n }\n else {\n abortSignal.onabort = onAbort;\n }\n });\n return {\n clearListener() {\n if (typeof abortSignal.removeEventListener === \"function\") {\n abortSignal.removeEventListener(\"abort\", onAbort);\n }\n },\n aborted: promise,\n };\n};\nexport const createWaiter = async (options, input, acceptorChecks) => {\n const params = {\n ...waiterServiceDefaults,\n ...options,\n };\n validateWaiterOptions(params);\n const exitConditions = [runPolling(params, input, acceptorChecks)];\n const finalize = [];\n if (options.abortSignal) {\n const { aborted, clearListener } = abortTimeout(options.abortSignal);\n finalize.push(clearListener);\n exitConditions.push(aborted);\n }\n if (options.abortController?.signal) {\n const { aborted, clearListener } = abortTimeout(options.abortController.signal);\n finalize.push(clearListener);\n exitConditions.push(aborted);\n }\n return Promise.race(exitConditions).then((result) => {\n for (const fn of finalize) {\n fn();\n }\n return result;\n });\n};\n", "export * from \"./createWaiter\";\nexport * from \"./waiter\";\n", "import { checkExceptions, createWaiter, WaiterState } from \"@smithy/util-waiter\";\nimport { HeadBucketCommand } from \"../commands/HeadBucketCommand\";\nconst checkState = async (client, input) => {\n let reason;\n try {\n let result = await client.send(new HeadBucketCommand(input));\n reason = result;\n return { state: WaiterState.SUCCESS, reason };\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: WaiterState.RETRY, reason };\n }\n }\n return { state: WaiterState.RETRY, reason };\n};\nexport const waitForBucketExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n};\nexport const waitUntilBucketExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n return checkExceptions(result);\n};\n", "import { checkExceptions, createWaiter, WaiterState } from \"@smithy/util-waiter\";\nimport { HeadBucketCommand } from \"../commands/HeadBucketCommand\";\nconst checkState = async (client, input) => {\n let reason;\n try {\n let result = await client.send(new HeadBucketCommand(input));\n reason = result;\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: WaiterState.SUCCESS, reason };\n }\n }\n return { state: WaiterState.RETRY, reason };\n};\nexport const waitForBucketNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n};\nexport const waitUntilBucketNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n return checkExceptions(result);\n};\n", "import { checkExceptions, createWaiter, WaiterState } from \"@smithy/util-waiter\";\nimport { HeadObjectCommand } from \"../commands/HeadObjectCommand\";\nconst checkState = async (client, input) => {\n let reason;\n try {\n let result = await client.send(new HeadObjectCommand(input));\n reason = result;\n return { state: WaiterState.SUCCESS, reason };\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: WaiterState.RETRY, reason };\n }\n }\n return { state: WaiterState.RETRY, reason };\n};\nexport const waitForObjectExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n};\nexport const waitUntilObjectExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n return checkExceptions(result);\n};\n", "import { checkExceptions, createWaiter, WaiterState } from \"@smithy/util-waiter\";\nimport { HeadObjectCommand } from \"../commands/HeadObjectCommand\";\nconst checkState = async (client, input) => {\n let reason;\n try {\n let result = await client.send(new HeadObjectCommand(input));\n reason = result;\n }\n catch (exception) {\n reason = exception;\n if (exception.name && exception.name == \"NotFound\") {\n return { state: WaiterState.SUCCESS, reason };\n }\n }\n return { state: WaiterState.RETRY, reason };\n};\nexport const waitForObjectNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n return createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n};\nexport const waitUntilObjectNotExists = async (params, input) => {\n const serviceDefaults = { minDelay: 5, maxDelay: 120 };\n const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);\n return checkExceptions(result);\n};\n", "import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { AbortMultipartUploadCommand, } from \"./commands/AbortMultipartUploadCommand\";\nimport { CompleteMultipartUploadCommand, } from \"./commands/CompleteMultipartUploadCommand\";\nimport { CopyObjectCommand } from \"./commands/CopyObjectCommand\";\nimport { CreateBucketCommand, } from \"./commands/CreateBucketCommand\";\nimport { CreateBucketMetadataConfigurationCommand, } from \"./commands/CreateBucketMetadataConfigurationCommand\";\nimport { CreateBucketMetadataTableConfigurationCommand, } from \"./commands/CreateBucketMetadataTableConfigurationCommand\";\nimport { CreateMultipartUploadCommand, } from \"./commands/CreateMultipartUploadCommand\";\nimport { CreateSessionCommand, } from \"./commands/CreateSessionCommand\";\nimport { DeleteBucketAnalyticsConfigurationCommand, } from \"./commands/DeleteBucketAnalyticsConfigurationCommand\";\nimport { DeleteBucketCommand, } from \"./commands/DeleteBucketCommand\";\nimport { DeleteBucketCorsCommand, } from \"./commands/DeleteBucketCorsCommand\";\nimport { DeleteBucketEncryptionCommand, } from \"./commands/DeleteBucketEncryptionCommand\";\nimport { DeleteBucketIntelligentTieringConfigurationCommand, } from \"./commands/DeleteBucketIntelligentTieringConfigurationCommand\";\nimport { DeleteBucketInventoryConfigurationCommand, } from \"./commands/DeleteBucketInventoryConfigurationCommand\";\nimport { DeleteBucketLifecycleCommand, } from \"./commands/DeleteBucketLifecycleCommand\";\nimport { DeleteBucketMetadataConfigurationCommand, } from \"./commands/DeleteBucketMetadataConfigurationCommand\";\nimport { DeleteBucketMetadataTableConfigurationCommand, } from \"./commands/DeleteBucketMetadataTableConfigurationCommand\";\nimport { DeleteBucketMetricsConfigurationCommand, } from \"./commands/DeleteBucketMetricsConfigurationCommand\";\nimport { DeleteBucketOwnershipControlsCommand, } from \"./commands/DeleteBucketOwnershipControlsCommand\";\nimport { DeleteBucketPolicyCommand, } from \"./commands/DeleteBucketPolicyCommand\";\nimport { DeleteBucketReplicationCommand, } from \"./commands/DeleteBucketReplicationCommand\";\nimport { DeleteBucketTaggingCommand, } from \"./commands/DeleteBucketTaggingCommand\";\nimport { DeleteBucketWebsiteCommand, } from \"./commands/DeleteBucketWebsiteCommand\";\nimport { DeleteObjectCommand, } from \"./commands/DeleteObjectCommand\";\nimport { DeleteObjectsCommand, } from \"./commands/DeleteObjectsCommand\";\nimport { DeleteObjectTaggingCommand, } from \"./commands/DeleteObjectTaggingCommand\";\nimport { DeletePublicAccessBlockCommand, } from \"./commands/DeletePublicAccessBlockCommand\";\nimport { GetBucketAbacCommand, } from \"./commands/GetBucketAbacCommand\";\nimport { GetBucketAccelerateConfigurationCommand, } from \"./commands/GetBucketAccelerateConfigurationCommand\";\nimport { GetBucketAclCommand, } from \"./commands/GetBucketAclCommand\";\nimport { GetBucketAnalyticsConfigurationCommand, } from \"./commands/GetBucketAnalyticsConfigurationCommand\";\nimport { GetBucketCorsCommand, } from \"./commands/GetBucketCorsCommand\";\nimport { GetBucketEncryptionCommand, } from \"./commands/GetBucketEncryptionCommand\";\nimport { GetBucketIntelligentTieringConfigurationCommand, } from \"./commands/GetBucketIntelligentTieringConfigurationCommand\";\nimport { GetBucketInventoryConfigurationCommand, } from \"./commands/GetBucketInventoryConfigurationCommand\";\nimport { GetBucketLifecycleConfigurationCommand, } from \"./commands/GetBucketLifecycleConfigurationCommand\";\nimport { GetBucketLocationCommand, } from \"./commands/GetBucketLocationCommand\";\nimport { GetBucketLoggingCommand, } from \"./commands/GetBucketLoggingCommand\";\nimport { GetBucketMetadataConfigurationCommand, } from \"./commands/GetBucketMetadataConfigurationCommand\";\nimport { GetBucketMetadataTableConfigurationCommand, } from \"./commands/GetBucketMetadataTableConfigurationCommand\";\nimport { GetBucketMetricsConfigurationCommand, } from \"./commands/GetBucketMetricsConfigurationCommand\";\nimport { GetBucketNotificationConfigurationCommand, } from \"./commands/GetBucketNotificationConfigurationCommand\";\nimport { GetBucketOwnershipControlsCommand, } from \"./commands/GetBucketOwnershipControlsCommand\";\nimport { GetBucketPolicyCommand, } from \"./commands/GetBucketPolicyCommand\";\nimport { GetBucketPolicyStatusCommand, } from \"./commands/GetBucketPolicyStatusCommand\";\nimport { GetBucketReplicationCommand, } from \"./commands/GetBucketReplicationCommand\";\nimport { GetBucketRequestPaymentCommand, } from \"./commands/GetBucketRequestPaymentCommand\";\nimport { GetBucketTaggingCommand, } from \"./commands/GetBucketTaggingCommand\";\nimport { GetBucketVersioningCommand, } from \"./commands/GetBucketVersioningCommand\";\nimport { GetBucketWebsiteCommand, } from \"./commands/GetBucketWebsiteCommand\";\nimport { GetObjectAclCommand, } from \"./commands/GetObjectAclCommand\";\nimport { GetObjectAttributesCommand, } from \"./commands/GetObjectAttributesCommand\";\nimport { GetObjectCommand } from \"./commands/GetObjectCommand\";\nimport { GetObjectLegalHoldCommand, } from \"./commands/GetObjectLegalHoldCommand\";\nimport { GetObjectLockConfigurationCommand, } from \"./commands/GetObjectLockConfigurationCommand\";\nimport { GetObjectRetentionCommand, } from \"./commands/GetObjectRetentionCommand\";\nimport { GetObjectTaggingCommand, } from \"./commands/GetObjectTaggingCommand\";\nimport { GetObjectTorrentCommand, } from \"./commands/GetObjectTorrentCommand\";\nimport { GetPublicAccessBlockCommand, } from \"./commands/GetPublicAccessBlockCommand\";\nimport { HeadBucketCommand } from \"./commands/HeadBucketCommand\";\nimport { HeadObjectCommand } from \"./commands/HeadObjectCommand\";\nimport { ListBucketAnalyticsConfigurationsCommand, } from \"./commands/ListBucketAnalyticsConfigurationsCommand\";\nimport { ListBucketIntelligentTieringConfigurationsCommand, } from \"./commands/ListBucketIntelligentTieringConfigurationsCommand\";\nimport { ListBucketInventoryConfigurationsCommand, } from \"./commands/ListBucketInventoryConfigurationsCommand\";\nimport { ListBucketMetricsConfigurationsCommand, } from \"./commands/ListBucketMetricsConfigurationsCommand\";\nimport { ListBucketsCommand } from \"./commands/ListBucketsCommand\";\nimport { ListDirectoryBucketsCommand, } from \"./commands/ListDirectoryBucketsCommand\";\nimport { ListMultipartUploadsCommand, } from \"./commands/ListMultipartUploadsCommand\";\nimport { ListObjectsCommand } from \"./commands/ListObjectsCommand\";\nimport { ListObjectsV2Command, } from \"./commands/ListObjectsV2Command\";\nimport { ListObjectVersionsCommand, } from \"./commands/ListObjectVersionsCommand\";\nimport { ListPartsCommand } from \"./commands/ListPartsCommand\";\nimport { PutBucketAbacCommand, } from \"./commands/PutBucketAbacCommand\";\nimport { PutBucketAccelerateConfigurationCommand, } from \"./commands/PutBucketAccelerateConfigurationCommand\";\nimport { PutBucketAclCommand, } from \"./commands/PutBucketAclCommand\";\nimport { PutBucketAnalyticsConfigurationCommand, } from \"./commands/PutBucketAnalyticsConfigurationCommand\";\nimport { PutBucketCorsCommand, } from \"./commands/PutBucketCorsCommand\";\nimport { PutBucketEncryptionCommand, } from \"./commands/PutBucketEncryptionCommand\";\nimport { PutBucketIntelligentTieringConfigurationCommand, } from \"./commands/PutBucketIntelligentTieringConfigurationCommand\";\nimport { PutBucketInventoryConfigurationCommand, } from \"./commands/PutBucketInventoryConfigurationCommand\";\nimport { PutBucketLifecycleConfigurationCommand, } from \"./commands/PutBucketLifecycleConfigurationCommand\";\nimport { PutBucketLoggingCommand, } from \"./commands/PutBucketLoggingCommand\";\nimport { PutBucketMetricsConfigurationCommand, } from \"./commands/PutBucketMetricsConfigurationCommand\";\nimport { PutBucketNotificationConfigurationCommand, } from \"./commands/PutBucketNotificationConfigurationCommand\";\nimport { PutBucketOwnershipControlsCommand, } from \"./commands/PutBucketOwnershipControlsCommand\";\nimport { PutBucketPolicyCommand, } from \"./commands/PutBucketPolicyCommand\";\nimport { PutBucketReplicationCommand, } from \"./commands/PutBucketReplicationCommand\";\nimport { PutBucketRequestPaymentCommand, } from \"./commands/PutBucketRequestPaymentCommand\";\nimport { PutBucketTaggingCommand, } from \"./commands/PutBucketTaggingCommand\";\nimport { PutBucketVersioningCommand, } from \"./commands/PutBucketVersioningCommand\";\nimport { PutBucketWebsiteCommand, } from \"./commands/PutBucketWebsiteCommand\";\nimport { PutObjectAclCommand, } from \"./commands/PutObjectAclCommand\";\nimport { PutObjectCommand } from \"./commands/PutObjectCommand\";\nimport { PutObjectLegalHoldCommand, } from \"./commands/PutObjectLegalHoldCommand\";\nimport { PutObjectLockConfigurationCommand, } from \"./commands/PutObjectLockConfigurationCommand\";\nimport { PutObjectRetentionCommand, } from \"./commands/PutObjectRetentionCommand\";\nimport { PutObjectTaggingCommand, } from \"./commands/PutObjectTaggingCommand\";\nimport { PutPublicAccessBlockCommand, } from \"./commands/PutPublicAccessBlockCommand\";\nimport { RenameObjectCommand, } from \"./commands/RenameObjectCommand\";\nimport { RestoreObjectCommand, } from \"./commands/RestoreObjectCommand\";\nimport { SelectObjectContentCommand, } from \"./commands/SelectObjectContentCommand\";\nimport { UpdateBucketMetadataInventoryTableConfigurationCommand, } from \"./commands/UpdateBucketMetadataInventoryTableConfigurationCommand\";\nimport { UpdateBucketMetadataJournalTableConfigurationCommand, } from \"./commands/UpdateBucketMetadataJournalTableConfigurationCommand\";\nimport { UpdateObjectEncryptionCommand, } from \"./commands/UpdateObjectEncryptionCommand\";\nimport { UploadPartCommand } from \"./commands/UploadPartCommand\";\nimport { UploadPartCopyCommand, } from \"./commands/UploadPartCopyCommand\";\nimport { WriteGetObjectResponseCommand, } from \"./commands/WriteGetObjectResponseCommand\";\nimport { paginateListBuckets } from \"./pagination/ListBucketsPaginator\";\nimport { paginateListDirectoryBuckets } from \"./pagination/ListDirectoryBucketsPaginator\";\nimport { paginateListObjectsV2 } from \"./pagination/ListObjectsV2Paginator\";\nimport { paginateListParts } from \"./pagination/ListPartsPaginator\";\nimport { S3Client } from \"./S3Client\";\nimport { waitUntilBucketExists } from \"./waiters/waitForBucketExists\";\nimport { waitUntilBucketNotExists } from \"./waiters/waitForBucketNotExists\";\nimport { waitUntilObjectExists } from \"./waiters/waitForObjectExists\";\nimport { waitUntilObjectNotExists } from \"./waiters/waitForObjectNotExists\";\nconst commands = {\n AbortMultipartUploadCommand,\n CompleteMultipartUploadCommand,\n CopyObjectCommand,\n CreateBucketCommand,\n CreateBucketMetadataConfigurationCommand,\n CreateBucketMetadataTableConfigurationCommand,\n CreateMultipartUploadCommand,\n CreateSessionCommand,\n DeleteBucketCommand,\n DeleteBucketAnalyticsConfigurationCommand,\n DeleteBucketCorsCommand,\n DeleteBucketEncryptionCommand,\n DeleteBucketIntelligentTieringConfigurationCommand,\n DeleteBucketInventoryConfigurationCommand,\n DeleteBucketLifecycleCommand,\n DeleteBucketMetadataConfigurationCommand,\n DeleteBucketMetadataTableConfigurationCommand,\n DeleteBucketMetricsConfigurationCommand,\n DeleteBucketOwnershipControlsCommand,\n DeleteBucketPolicyCommand,\n DeleteBucketReplicationCommand,\n DeleteBucketTaggingCommand,\n DeleteBucketWebsiteCommand,\n DeleteObjectCommand,\n DeleteObjectsCommand,\n DeleteObjectTaggingCommand,\n DeletePublicAccessBlockCommand,\n GetBucketAbacCommand,\n GetBucketAccelerateConfigurationCommand,\n GetBucketAclCommand,\n GetBucketAnalyticsConfigurationCommand,\n GetBucketCorsCommand,\n GetBucketEncryptionCommand,\n GetBucketIntelligentTieringConfigurationCommand,\n GetBucketInventoryConfigurationCommand,\n GetBucketLifecycleConfigurationCommand,\n GetBucketLocationCommand,\n GetBucketLoggingCommand,\n GetBucketMetadataConfigurationCommand,\n GetBucketMetadataTableConfigurationCommand,\n GetBucketMetricsConfigurationCommand,\n GetBucketNotificationConfigurationCommand,\n GetBucketOwnershipControlsCommand,\n GetBucketPolicyCommand,\n GetBucketPolicyStatusCommand,\n GetBucketReplicationCommand,\n GetBucketRequestPaymentCommand,\n GetBucketTaggingCommand,\n GetBucketVersioningCommand,\n GetBucketWebsiteCommand,\n GetObjectCommand,\n GetObjectAclCommand,\n GetObjectAttributesCommand,\n GetObjectLegalHoldCommand,\n GetObjectLockConfigurationCommand,\n GetObjectRetentionCommand,\n GetObjectTaggingCommand,\n GetObjectTorrentCommand,\n GetPublicAccessBlockCommand,\n HeadBucketCommand,\n HeadObjectCommand,\n ListBucketAnalyticsConfigurationsCommand,\n ListBucketIntelligentTieringConfigurationsCommand,\n ListBucketInventoryConfigurationsCommand,\n ListBucketMetricsConfigurationsCommand,\n ListBucketsCommand,\n ListDirectoryBucketsCommand,\n ListMultipartUploadsCommand,\n ListObjectsCommand,\n ListObjectsV2Command,\n ListObjectVersionsCommand,\n ListPartsCommand,\n PutBucketAbacCommand,\n PutBucketAccelerateConfigurationCommand,\n PutBucketAclCommand,\n PutBucketAnalyticsConfigurationCommand,\n PutBucketCorsCommand,\n PutBucketEncryptionCommand,\n PutBucketIntelligentTieringConfigurationCommand,\n PutBucketInventoryConfigurationCommand,\n PutBucketLifecycleConfigurationCommand,\n PutBucketLoggingCommand,\n PutBucketMetricsConfigurationCommand,\n PutBucketNotificationConfigurationCommand,\n PutBucketOwnershipControlsCommand,\n PutBucketPolicyCommand,\n PutBucketReplicationCommand,\n PutBucketRequestPaymentCommand,\n PutBucketTaggingCommand,\n PutBucketVersioningCommand,\n PutBucketWebsiteCommand,\n PutObjectCommand,\n PutObjectAclCommand,\n PutObjectLegalHoldCommand,\n PutObjectLockConfigurationCommand,\n PutObjectRetentionCommand,\n PutObjectTaggingCommand,\n PutPublicAccessBlockCommand,\n RenameObjectCommand,\n RestoreObjectCommand,\n SelectObjectContentCommand,\n UpdateBucketMetadataInventoryTableConfigurationCommand,\n UpdateBucketMetadataJournalTableConfigurationCommand,\n UpdateObjectEncryptionCommand,\n UploadPartCommand,\n UploadPartCopyCommand,\n WriteGetObjectResponseCommand,\n};\nconst paginators = {\n paginateListBuckets,\n paginateListDirectoryBuckets,\n paginateListObjectsV2,\n paginateListParts,\n};\nconst waiters = {\n waitUntilBucketExists,\n waitUntilBucketNotExists,\n waitUntilObjectExists,\n waitUntilObjectNotExists,\n};\nexport class S3 extends S3Client {\n}\ncreateAggregatedClient(commands, S3, { paginators, waiters });\n", "export * from \"./AbortMultipartUploadCommand\";\nexport * from \"./CompleteMultipartUploadCommand\";\nexport * from \"./CopyObjectCommand\";\nexport * from \"./CreateBucketCommand\";\nexport * from \"./CreateBucketMetadataConfigurationCommand\";\nexport * from \"./CreateBucketMetadataTableConfigurationCommand\";\nexport * from \"./CreateMultipartUploadCommand\";\nexport * from \"./CreateSessionCommand\";\nexport * from \"./DeleteBucketAnalyticsConfigurationCommand\";\nexport * from \"./DeleteBucketCommand\";\nexport * from \"./DeleteBucketCorsCommand\";\nexport * from \"./DeleteBucketEncryptionCommand\";\nexport * from \"./DeleteBucketIntelligentTieringConfigurationCommand\";\nexport * from \"./DeleteBucketInventoryConfigurationCommand\";\nexport * from \"./DeleteBucketLifecycleCommand\";\nexport * from \"./DeleteBucketMetadataConfigurationCommand\";\nexport * from \"./DeleteBucketMetadataTableConfigurationCommand\";\nexport * from \"./DeleteBucketMetricsConfigurationCommand\";\nexport * from \"./DeleteBucketOwnershipControlsCommand\";\nexport * from \"./DeleteBucketPolicyCommand\";\nexport * from \"./DeleteBucketReplicationCommand\";\nexport * from \"./DeleteBucketTaggingCommand\";\nexport * from \"./DeleteBucketWebsiteCommand\";\nexport * from \"./DeleteObjectCommand\";\nexport * from \"./DeleteObjectTaggingCommand\";\nexport * from \"./DeleteObjectsCommand\";\nexport * from \"./DeletePublicAccessBlockCommand\";\nexport * from \"./GetBucketAbacCommand\";\nexport * from \"./GetBucketAccelerateConfigurationCommand\";\nexport * from \"./GetBucketAclCommand\";\nexport * from \"./GetBucketAnalyticsConfigurationCommand\";\nexport * from \"./GetBucketCorsCommand\";\nexport * from \"./GetBucketEncryptionCommand\";\nexport * from \"./GetBucketIntelligentTieringConfigurationCommand\";\nexport * from \"./GetBucketInventoryConfigurationCommand\";\nexport * from \"./GetBucketLifecycleConfigurationCommand\";\nexport * from \"./GetBucketLocationCommand\";\nexport * from \"./GetBucketLoggingCommand\";\nexport * from \"./GetBucketMetadataConfigurationCommand\";\nexport * from \"./GetBucketMetadataTableConfigurationCommand\";\nexport * from \"./GetBucketMetricsConfigurationCommand\";\nexport * from \"./GetBucketNotificationConfigurationCommand\";\nexport * from \"./GetBucketOwnershipControlsCommand\";\nexport * from \"./GetBucketPolicyCommand\";\nexport * from \"./GetBucketPolicyStatusCommand\";\nexport * from \"./GetBucketReplicationCommand\";\nexport * from \"./GetBucketRequestPaymentCommand\";\nexport * from \"./GetBucketTaggingCommand\";\nexport * from \"./GetBucketVersioningCommand\";\nexport * from \"./GetBucketWebsiteCommand\";\nexport * from \"./GetObjectAclCommand\";\nexport * from \"./GetObjectAttributesCommand\";\nexport * from \"./GetObjectCommand\";\nexport * from \"./GetObjectLegalHoldCommand\";\nexport * from \"./GetObjectLockConfigurationCommand\";\nexport * from \"./GetObjectRetentionCommand\";\nexport * from \"./GetObjectTaggingCommand\";\nexport * from \"./GetObjectTorrentCommand\";\nexport * from \"./GetPublicAccessBlockCommand\";\nexport * from \"./HeadBucketCommand\";\nexport * from \"./HeadObjectCommand\";\nexport * from \"./ListBucketAnalyticsConfigurationsCommand\";\nexport * from \"./ListBucketIntelligentTieringConfigurationsCommand\";\nexport * from \"./ListBucketInventoryConfigurationsCommand\";\nexport * from \"./ListBucketMetricsConfigurationsCommand\";\nexport * from \"./ListBucketsCommand\";\nexport * from \"./ListDirectoryBucketsCommand\";\nexport * from \"./ListMultipartUploadsCommand\";\nexport * from \"./ListObjectVersionsCommand\";\nexport * from \"./ListObjectsCommand\";\nexport * from \"./ListObjectsV2Command\";\nexport * from \"./ListPartsCommand\";\nexport * from \"./PutBucketAbacCommand\";\nexport * from \"./PutBucketAccelerateConfigurationCommand\";\nexport * from \"./PutBucketAclCommand\";\nexport * from \"./PutBucketAnalyticsConfigurationCommand\";\nexport * from \"./PutBucketCorsCommand\";\nexport * from \"./PutBucketEncryptionCommand\";\nexport * from \"./PutBucketIntelligentTieringConfigurationCommand\";\nexport * from \"./PutBucketInventoryConfigurationCommand\";\nexport * from \"./PutBucketLifecycleConfigurationCommand\";\nexport * from \"./PutBucketLoggingCommand\";\nexport * from \"./PutBucketMetricsConfigurationCommand\";\nexport * from \"./PutBucketNotificationConfigurationCommand\";\nexport * from \"./PutBucketOwnershipControlsCommand\";\nexport * from \"./PutBucketPolicyCommand\";\nexport * from \"./PutBucketReplicationCommand\";\nexport * from \"./PutBucketRequestPaymentCommand\";\nexport * from \"./PutBucketTaggingCommand\";\nexport * from \"./PutBucketVersioningCommand\";\nexport * from \"./PutBucketWebsiteCommand\";\nexport * from \"./PutObjectAclCommand\";\nexport * from \"./PutObjectCommand\";\nexport * from \"./PutObjectLegalHoldCommand\";\nexport * from \"./PutObjectLockConfigurationCommand\";\nexport * from \"./PutObjectRetentionCommand\";\nexport * from \"./PutObjectTaggingCommand\";\nexport * from \"./PutPublicAccessBlockCommand\";\nexport * from \"./RenameObjectCommand\";\nexport * from \"./RestoreObjectCommand\";\nexport * from \"./SelectObjectContentCommand\";\nexport * from \"./UpdateBucketMetadataInventoryTableConfigurationCommand\";\nexport * from \"./UpdateBucketMetadataJournalTableConfigurationCommand\";\nexport * from \"./UpdateObjectEncryptionCommand\";\nexport * from \"./UploadPartCommand\";\nexport * from \"./UploadPartCopyCommand\";\nexport * from \"./WriteGetObjectResponseCommand\";\n", "export {};\n", "export * from \"./Interfaces\";\nexport * from \"./ListBucketsPaginator\";\nexport * from \"./ListDirectoryBucketsPaginator\";\nexport * from \"./ListObjectsV2Paginator\";\nexport * from \"./ListPartsPaginator\";\n", "export * from \"./waitForBucketExists\";\nexport * from \"./waitForBucketNotExists\";\nexport * from \"./waitForObjectExists\";\nexport * from \"./waitForObjectNotExists\";\n", "export const BucketAbacStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const RequestCharged = {\n requester: \"requester\",\n};\nexport const RequestPayer = {\n requester: \"requester\",\n};\nexport const BucketAccelerateStatus = {\n Enabled: \"Enabled\",\n Suspended: \"Suspended\",\n};\nexport const Type = {\n AmazonCustomerByEmail: \"AmazonCustomerByEmail\",\n CanonicalUser: \"CanonicalUser\",\n Group: \"Group\",\n};\nexport const Permission = {\n FULL_CONTROL: \"FULL_CONTROL\",\n READ: \"READ\",\n READ_ACP: \"READ_ACP\",\n WRITE: \"WRITE\",\n WRITE_ACP: \"WRITE_ACP\",\n};\nexport const OwnerOverride = {\n Destination: \"Destination\",\n};\nexport const ChecksumType = {\n COMPOSITE: \"COMPOSITE\",\n FULL_OBJECT: \"FULL_OBJECT\",\n};\nexport const ServerSideEncryption = {\n AES256: \"AES256\",\n aws_fsx: \"aws:fsx\",\n aws_kms: \"aws:kms\",\n aws_kms_dsse: \"aws:kms:dsse\",\n};\nexport const ObjectCannedACL = {\n authenticated_read: \"authenticated-read\",\n aws_exec_read: \"aws-exec-read\",\n bucket_owner_full_control: \"bucket-owner-full-control\",\n bucket_owner_read: \"bucket-owner-read\",\n private: \"private\",\n public_read: \"public-read\",\n public_read_write: \"public-read-write\",\n};\nexport const ChecksumAlgorithm = {\n CRC32: \"CRC32\",\n CRC32C: \"CRC32C\",\n CRC64NVME: \"CRC64NVME\",\n SHA1: \"SHA1\",\n SHA256: \"SHA256\",\n};\nexport const MetadataDirective = {\n COPY: \"COPY\",\n REPLACE: \"REPLACE\",\n};\nexport const ObjectLockLegalHoldStatus = {\n OFF: \"OFF\",\n ON: \"ON\",\n};\nexport const ObjectLockMode = {\n COMPLIANCE: \"COMPLIANCE\",\n GOVERNANCE: \"GOVERNANCE\",\n};\nexport const StorageClass = {\n DEEP_ARCHIVE: \"DEEP_ARCHIVE\",\n EXPRESS_ONEZONE: \"EXPRESS_ONEZONE\",\n FSX_ONTAP: \"FSX_ONTAP\",\n FSX_OPENZFS: \"FSX_OPENZFS\",\n GLACIER: \"GLACIER\",\n GLACIER_IR: \"GLACIER_IR\",\n INTELLIGENT_TIERING: \"INTELLIGENT_TIERING\",\n ONEZONE_IA: \"ONEZONE_IA\",\n OUTPOSTS: \"OUTPOSTS\",\n REDUCED_REDUNDANCY: \"REDUCED_REDUNDANCY\",\n SNOW: \"SNOW\",\n STANDARD: \"STANDARD\",\n STANDARD_IA: \"STANDARD_IA\",\n};\nexport const TaggingDirective = {\n COPY: \"COPY\",\n REPLACE: \"REPLACE\",\n};\nexport const BucketCannedACL = {\n authenticated_read: \"authenticated-read\",\n private: \"private\",\n public_read: \"public-read\",\n public_read_write: \"public-read-write\",\n};\nexport const BucketNamespace = {\n ACCOUNT_REGIONAL: \"account-regional\",\n GLOBAL: \"global\",\n};\nexport const DataRedundancy = {\n SingleAvailabilityZone: \"SingleAvailabilityZone\",\n SingleLocalZone: \"SingleLocalZone\",\n};\nexport const BucketType = {\n Directory: \"Directory\",\n};\nexport const LocationType = {\n AvailabilityZone: \"AvailabilityZone\",\n LocalZone: \"LocalZone\",\n};\nexport const BucketLocationConstraint = {\n EU: \"EU\",\n af_south_1: \"af-south-1\",\n ap_east_1: \"ap-east-1\",\n ap_northeast_1: \"ap-northeast-1\",\n ap_northeast_2: \"ap-northeast-2\",\n ap_northeast_3: \"ap-northeast-3\",\n ap_south_1: \"ap-south-1\",\n ap_south_2: \"ap-south-2\",\n ap_southeast_1: \"ap-southeast-1\",\n ap_southeast_2: \"ap-southeast-2\",\n ap_southeast_3: \"ap-southeast-3\",\n ap_southeast_4: \"ap-southeast-4\",\n ap_southeast_5: \"ap-southeast-5\",\n ca_central_1: \"ca-central-1\",\n cn_north_1: \"cn-north-1\",\n cn_northwest_1: \"cn-northwest-1\",\n eu_central_1: \"eu-central-1\",\n eu_central_2: \"eu-central-2\",\n eu_north_1: \"eu-north-1\",\n eu_south_1: \"eu-south-1\",\n eu_south_2: \"eu-south-2\",\n eu_west_1: \"eu-west-1\",\n eu_west_2: \"eu-west-2\",\n eu_west_3: \"eu-west-3\",\n il_central_1: \"il-central-1\",\n me_central_1: \"me-central-1\",\n me_south_1: \"me-south-1\",\n sa_east_1: \"sa-east-1\",\n us_east_2: \"us-east-2\",\n us_gov_east_1: \"us-gov-east-1\",\n us_gov_west_1: \"us-gov-west-1\",\n us_west_1: \"us-west-1\",\n us_west_2: \"us-west-2\",\n};\nexport const ObjectOwnership = {\n BucketOwnerEnforced: \"BucketOwnerEnforced\",\n BucketOwnerPreferred: \"BucketOwnerPreferred\",\n ObjectWriter: \"ObjectWriter\",\n};\nexport const InventoryConfigurationState = {\n DISABLED: \"DISABLED\",\n ENABLED: \"ENABLED\",\n};\nexport const TableSseAlgorithm = {\n AES256: \"AES256\",\n aws_kms: \"aws:kms\",\n};\nexport const ExpirationState = {\n DISABLED: \"DISABLED\",\n ENABLED: \"ENABLED\",\n};\nexport const SessionMode = {\n ReadOnly: \"ReadOnly\",\n ReadWrite: \"ReadWrite\",\n};\nexport const AnalyticsS3ExportFileFormat = {\n CSV: \"CSV\",\n};\nexport const StorageClassAnalysisSchemaVersion = {\n V_1: \"V_1\",\n};\nexport const EncryptionType = {\n NONE: \"NONE\",\n SSE_C: \"SSE-C\",\n};\nexport const IntelligentTieringStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const IntelligentTieringAccessTier = {\n ARCHIVE_ACCESS: \"ARCHIVE_ACCESS\",\n DEEP_ARCHIVE_ACCESS: \"DEEP_ARCHIVE_ACCESS\",\n};\nexport const InventoryFormat = {\n CSV: \"CSV\",\n ORC: \"ORC\",\n Parquet: \"Parquet\",\n};\nexport const InventoryIncludedObjectVersions = {\n All: \"All\",\n Current: \"Current\",\n};\nexport const InventoryOptionalField = {\n BucketKeyStatus: \"BucketKeyStatus\",\n ChecksumAlgorithm: \"ChecksumAlgorithm\",\n ETag: \"ETag\",\n EncryptionStatus: \"EncryptionStatus\",\n IntelligentTieringAccessTier: \"IntelligentTieringAccessTier\",\n IsMultipartUploaded: \"IsMultipartUploaded\",\n LastModifiedDate: \"LastModifiedDate\",\n LifecycleExpirationDate: \"LifecycleExpirationDate\",\n ObjectAccessControlList: \"ObjectAccessControlList\",\n ObjectLockLegalHoldStatus: \"ObjectLockLegalHoldStatus\",\n ObjectLockMode: \"ObjectLockMode\",\n ObjectLockRetainUntilDate: \"ObjectLockRetainUntilDate\",\n ObjectOwner: \"ObjectOwner\",\n ReplicationStatus: \"ReplicationStatus\",\n Size: \"Size\",\n StorageClass: \"StorageClass\",\n};\nexport const InventoryFrequency = {\n Daily: \"Daily\",\n Weekly: \"Weekly\",\n};\nexport const TransitionStorageClass = {\n DEEP_ARCHIVE: \"DEEP_ARCHIVE\",\n GLACIER: \"GLACIER\",\n GLACIER_IR: \"GLACIER_IR\",\n INTELLIGENT_TIERING: \"INTELLIGENT_TIERING\",\n ONEZONE_IA: \"ONEZONE_IA\",\n STANDARD_IA: \"STANDARD_IA\",\n};\nexport const ExpirationStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const TransitionDefaultMinimumObjectSize = {\n all_storage_classes_128K: \"all_storage_classes_128K\",\n varies_by_storage_class: \"varies_by_storage_class\",\n};\nexport const BucketLogsPermission = {\n FULL_CONTROL: \"FULL_CONTROL\",\n READ: \"READ\",\n WRITE: \"WRITE\",\n};\nexport const PartitionDateSource = {\n DeliveryTime: \"DeliveryTime\",\n EventTime: \"EventTime\",\n};\nexport const S3TablesBucketType = {\n aws: \"aws\",\n customer: \"customer\",\n};\nexport const Event = {\n s3_IntelligentTiering: \"s3:IntelligentTiering\",\n s3_LifecycleExpiration_: \"s3:LifecycleExpiration:*\",\n s3_LifecycleExpiration_Delete: \"s3:LifecycleExpiration:Delete\",\n s3_LifecycleExpiration_DeleteMarkerCreated: \"s3:LifecycleExpiration:DeleteMarkerCreated\",\n s3_LifecycleTransition: \"s3:LifecycleTransition\",\n s3_ObjectAcl_Put: \"s3:ObjectAcl:Put\",\n s3_ObjectCreated_: \"s3:ObjectCreated:*\",\n s3_ObjectCreated_CompleteMultipartUpload: \"s3:ObjectCreated:CompleteMultipartUpload\",\n s3_ObjectCreated_Copy: \"s3:ObjectCreated:Copy\",\n s3_ObjectCreated_Post: \"s3:ObjectCreated:Post\",\n s3_ObjectCreated_Put: \"s3:ObjectCreated:Put\",\n s3_ObjectRemoved_: \"s3:ObjectRemoved:*\",\n s3_ObjectRemoved_Delete: \"s3:ObjectRemoved:Delete\",\n s3_ObjectRemoved_DeleteMarkerCreated: \"s3:ObjectRemoved:DeleteMarkerCreated\",\n s3_ObjectRestore_: \"s3:ObjectRestore:*\",\n s3_ObjectRestore_Completed: \"s3:ObjectRestore:Completed\",\n s3_ObjectRestore_Delete: \"s3:ObjectRestore:Delete\",\n s3_ObjectRestore_Post: \"s3:ObjectRestore:Post\",\n s3_ObjectTagging_: \"s3:ObjectTagging:*\",\n s3_ObjectTagging_Delete: \"s3:ObjectTagging:Delete\",\n s3_ObjectTagging_Put: \"s3:ObjectTagging:Put\",\n s3_ReducedRedundancyLostObject: \"s3:ReducedRedundancyLostObject\",\n s3_Replication_: \"s3:Replication:*\",\n s3_Replication_OperationFailedReplication: \"s3:Replication:OperationFailedReplication\",\n s3_Replication_OperationMissedThreshold: \"s3:Replication:OperationMissedThreshold\",\n s3_Replication_OperationNotTracked: \"s3:Replication:OperationNotTracked\",\n s3_Replication_OperationReplicatedAfterThreshold: \"s3:Replication:OperationReplicatedAfterThreshold\",\n};\nexport const FilterRuleName = {\n prefix: \"prefix\",\n suffix: \"suffix\",\n};\nexport const DeleteMarkerReplicationStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const MetricsStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const ReplicationTimeStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const ExistingObjectReplicationStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const ReplicaModificationsStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const SseKmsEncryptedObjectsStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const ReplicationRuleStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const Payer = {\n BucketOwner: \"BucketOwner\",\n Requester: \"Requester\",\n};\nexport const MFADeleteStatus = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const BucketVersioningStatus = {\n Enabled: \"Enabled\",\n Suspended: \"Suspended\",\n};\nexport const Protocol = {\n http: \"http\",\n https: \"https\",\n};\nexport const ReplicationStatus = {\n COMPLETE: \"COMPLETE\",\n COMPLETED: \"COMPLETED\",\n FAILED: \"FAILED\",\n PENDING: \"PENDING\",\n REPLICA: \"REPLICA\",\n};\nexport const ChecksumMode = {\n ENABLED: \"ENABLED\",\n};\nexport const ObjectAttributes = {\n CHECKSUM: \"Checksum\",\n ETAG: \"ETag\",\n OBJECT_PARTS: \"ObjectParts\",\n OBJECT_SIZE: \"ObjectSize\",\n STORAGE_CLASS: \"StorageClass\",\n};\nexport const ObjectLockEnabled = {\n Enabled: \"Enabled\",\n};\nexport const ObjectLockRetentionMode = {\n COMPLIANCE: \"COMPLIANCE\",\n GOVERNANCE: \"GOVERNANCE\",\n};\nexport const ArchiveStatus = {\n ARCHIVE_ACCESS: \"ARCHIVE_ACCESS\",\n DEEP_ARCHIVE_ACCESS: \"DEEP_ARCHIVE_ACCESS\",\n};\nexport const EncodingType = {\n url: \"url\",\n};\nexport const ObjectStorageClass = {\n DEEP_ARCHIVE: \"DEEP_ARCHIVE\",\n EXPRESS_ONEZONE: \"EXPRESS_ONEZONE\",\n FSX_ONTAP: \"FSX_ONTAP\",\n FSX_OPENZFS: \"FSX_OPENZFS\",\n GLACIER: \"GLACIER\",\n GLACIER_IR: \"GLACIER_IR\",\n INTELLIGENT_TIERING: \"INTELLIGENT_TIERING\",\n ONEZONE_IA: \"ONEZONE_IA\",\n OUTPOSTS: \"OUTPOSTS\",\n REDUCED_REDUNDANCY: \"REDUCED_REDUNDANCY\",\n SNOW: \"SNOW\",\n STANDARD: \"STANDARD\",\n STANDARD_IA: \"STANDARD_IA\",\n};\nexport const OptionalObjectAttributes = {\n RESTORE_STATUS: \"RestoreStatus\",\n};\nexport const ObjectVersionStorageClass = {\n STANDARD: \"STANDARD\",\n};\nexport const MFADelete = {\n Disabled: \"Disabled\",\n Enabled: \"Enabled\",\n};\nexport const Tier = {\n Bulk: \"Bulk\",\n Expedited: \"Expedited\",\n Standard: \"Standard\",\n};\nexport const ExpressionType = {\n SQL: \"SQL\",\n};\nexport const CompressionType = {\n BZIP2: \"BZIP2\",\n GZIP: \"GZIP\",\n NONE: \"NONE\",\n};\nexport const FileHeaderInfo = {\n IGNORE: \"IGNORE\",\n NONE: \"NONE\",\n USE: \"USE\",\n};\nexport const JSONType = {\n DOCUMENT: \"DOCUMENT\",\n LINES: \"LINES\",\n};\nexport const QuoteFields = {\n ALWAYS: \"ALWAYS\",\n ASNEEDED: \"ASNEEDED\",\n};\nexport const RestoreRequestType = {\n SELECT: \"SELECT\",\n};\n", "export {};\n", "export {};\n", "export * from \"./S3Client\";\nexport * from \"./S3\";\nexport * from \"./commands\";\nexport * from \"./schemas/schemas_0\";\nexport * from \"./pagination\";\nexport * from \"./waiters\";\nexport * from \"./models/enums\";\nexport * from \"./models/errors\";\nexport * from \"./models/models_0\";\nexport * from \"./models/models_1\";\nexport { S3ServiceException } from \"./models/S3ServiceException\";\n", "import { buildQueryString } from \"@smithy/querystring-builder\";\nexport function formatUrl(request) {\n const { port, query } = request;\n let { protocol, path, hostname } = request;\n if (protocol && protocol.slice(-1) !== \":\") {\n protocol += \":\";\n }\n if (port) {\n hostname += `:${port}`;\n }\n if (path && path.charAt(0) !== \"/\") {\n path = `/${path}`;\n }\n let queryString = query ? buildQueryString(query) : \"\";\n if (queryString && queryString[0] !== \"?\") {\n queryString = `?${queryString}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n let fragment = \"\";\n if (request.fragment) {\n fragment = `#${request.fragment}`;\n }\n return `${protocol}//${auth}${hostname}${path}${queryString}${fragment}`;\n}\n", "export const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const SHA256_HEADER = \"X-Amz-Content-Sha256\";\nexport const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const HOST_HEADER = \"host\";\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\n", "import { SignatureV4MultiRegion } from \"@aws-sdk/signature-v4-multi-region\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nexport class S3RequestPresigner {\n signer;\n constructor(options) {\n const resolvedOptions = {\n service: options.signingName || options.service || \"s3\",\n uriEscapePath: options.uriEscapePath || false,\n applyChecksum: options.applyChecksum || false,\n ...options,\n };\n this.signer = new SignatureV4MultiRegion(resolvedOptions);\n }\n presign(requestToSign, { unsignableHeaders = new Set(), hoistableHeaders = new Set(), unhoistableHeaders = new Set(), ...options } = {}) {\n this.prepareRequest(requestToSign, {\n unsignableHeaders,\n unhoistableHeaders,\n hoistableHeaders,\n });\n return this.signer.presign(requestToSign, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options,\n });\n }\n presignWithCredentials(requestToSign, credentials, { unsignableHeaders = new Set(), hoistableHeaders = new Set(), unhoistableHeaders = new Set(), ...options } = {}) {\n this.prepareRequest(requestToSign, {\n unsignableHeaders,\n unhoistableHeaders,\n hoistableHeaders,\n });\n return this.signer.presignWithCredentials(requestToSign, credentials, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options,\n });\n }\n prepareRequest(requestToSign, { unsignableHeaders = new Set(), unhoistableHeaders = new Set(), hoistableHeaders = new Set(), } = {}) {\n unsignableHeaders.add(\"content-type\");\n Object.keys(requestToSign.headers)\n .map((header) => header.toLowerCase())\n .filter((header) => header.startsWith(\"x-amz-server-side-encryption\"))\n .forEach((header) => {\n if (!hoistableHeaders.has(header)) {\n unhoistableHeaders.add(header);\n }\n });\n requestToSign.headers[SHA256_HEADER] = UNSIGNED_PAYLOAD;\n const currentHostHeader = requestToSign.headers.host;\n const port = requestToSign.port;\n const expectedHostHeader = `${requestToSign.hostname}${requestToSign.port != null ? \":\" + port : \"\"}`;\n if (!currentHostHeader || (currentHostHeader === requestToSign.hostname && requestToSign.port != null)) {\n requestToSign.headers.host = expectedHostHeader;\n }\n }\n}\n", "import { formatUrl } from \"@aws-sdk/util-format-url\";\nimport { getEndpointFromInstructions } from \"@smithy/middleware-endpoint\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { S3RequestPresigner } from \"./presigner\";\nexport const getSignedUrl = async (client, command, options = {}) => {\n let s3Presigner;\n let region;\n if (typeof client.config.endpointProvider === \"function\") {\n const endpointV2 = await getEndpointFromInstructions(command.input, command.constructor, client.config);\n const authScheme = endpointV2.properties?.authSchemes?.[0];\n if (authScheme?.name === \"sigv4a\") {\n region = authScheme?.signingRegionSet?.join(\",\");\n }\n else {\n region = authScheme?.signingRegion;\n }\n s3Presigner = new S3RequestPresigner({\n ...client.config,\n signingName: authScheme?.signingName,\n region: async () => region,\n });\n }\n else {\n s3Presigner = new S3RequestPresigner(client.config);\n }\n const presignInterceptMiddleware = (next, context) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request)) {\n throw new Error(\"Request to be presigned is not an valid HTTP request.\");\n }\n delete request.headers[\"amz-sdk-invocation-id\"];\n delete request.headers[\"amz-sdk-request\"];\n delete request.headers[\"x-amz-user-agent\"];\n let presigned;\n const presignerOptions = {\n ...options,\n signingRegion: options.signingRegion ?? context[\"signing_region\"] ?? region,\n signingService: options.signingService ?? context[\"signing_service\"],\n };\n if (context.s3ExpressIdentity) {\n presigned = await s3Presigner.presignWithCredentials(request, context.s3ExpressIdentity, presignerOptions);\n }\n else {\n presigned = await s3Presigner.presign(request, presignerOptions);\n }\n return {\n response: {},\n output: {\n $metadata: { httpStatusCode: 200 },\n presigned,\n },\n };\n };\n const middlewareName = \"presignInterceptMiddleware\";\n const clientStack = client.middlewareStack.clone();\n clientStack.addRelativeTo(presignInterceptMiddleware, {\n name: middlewareName,\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n });\n const handler = command.resolveMiddleware(clientStack, client.config, {});\n const { output } = await handler({ input: command.input });\n const { presigned } = output;\n return formatUrl(presigned);\n};\n", "export * from \"./getSignedUrl\";\nexport * from \"./presigner\";\n", "\n// Old env loading (Node only)\n// export const appUrl = process.env.APP_URL as string;\n//\n// export const jwtSecret: string = process.env.JWT_SECRET as string\n//\n// export const defaultRoleName = 'gen_user';\n//\n// export const encodedJwtSecret = new TextEncoder().encode(jwtSecret)\n//\n// export const s3AccessKeyId = process.env.S3_ACCESS_KEY_ID as string\n//\n// export const s3SecretAccessKey = process.env.S3_SECRET_ACCESS_KEY as string\n//\n// export const s3BucketName = process.env.S3_BUCKET_NAME as string\n//\n// export const s3Region = process.env.S3_REGION as string\n//\n// export const assetsDomain = process.env.ASSETS_DOMAIN as string;\n//\n// export const apiCacheKey = process.env.API_CACHE_KEY as string;\n//\n// export const cloudflareApiToken = process.env.CLOUDFLARE_API_TOKEN as string;\n//\n// export const cloudflareZoneId = process.env.CLOUDFLARE_ZONE_ID as string;\n//\n// export const s3Url = process.env.S3_URL as string\n//\n// export const redisUrl = process.env.REDIS_URL as string\n//\n//\n// export const expoAccessToken = process.env.EXPO_ACCESS_TOKEN as string;\n//\n// export const phonePeBaseUrl = process.env.PHONE_PE_BASE_URL as string;\n//\n// export const phonePeClientId = process.env.PHONE_PE_CLIENT_ID as string;\n//\n// export const phonePeClientVersion = Number(process.env.PHONE_PE_CLIENT_VERSION as string);\n//\n// export const phonePeClientSecret = process.env.PHONE_PE_CLIENT_SECRET as string;\n//\n// export const phonePeMerchantId = process.env.PHONE_PE_MERCHANT_ID as string;\n//\n// export const razorpayId = process.env.RAZORPAY_KEY as string;\n//\n// export const razorpaySecret = process.env.RAZORPAY_SECRET as string;\n//\n// export const otpSenderAuthToken = process.env.OTP_SENDER_AUTH_TOKEN as string;\n//\n// export const minOrderValue = Number(process.env.MIN_ORDER_VALUE as string);\n//\n// export const deliveryCharge = Number(process.env.DELIVERY_CHARGE as string);\n//\n// export const telegramBotToken = process.env.TELEGRAM_BOT_TOKEN as string;\n//\n// export const telegramChatIds = (process.env.TELEGRAM_CHAT_IDS as string)?.split(',').map(id => id.trim()) || [];\n//\n// export const isDevMode = (process.env.ENV_MODE as string) === 'dev';\n\nconst getRuntimeEnv = () => (globalThis as any).ENV || (globalThis as any).process?.env || {}\n\nexport const getAppUrl = () => getRuntimeEnv().APP_URL as string\n\nexport const getJwtSecret = () => getRuntimeEnv().JWT_SECRET as string\n\nexport const defaultRoleName = 'gen_user';\n\nexport const getEncodedJwtSecret = () => {\n const env = getRuntimeEnv()\n const secret = (env.JWT_SECRET as string) || ''\n return new TextEncoder().encode(secret)\n}\n\nexport const getS3AccessKeyId = () => getRuntimeEnv().S3_ACCESS_KEY_ID as string\n\nexport const getS3SecretAccessKey = () => getRuntimeEnv().S3_SECRET_ACCESS_KEY as string\n\nexport const getS3BucketName = () => getRuntimeEnv().S3_BUCKET_NAME as string\n\nexport const getS3Region = () => getRuntimeEnv().S3_REGION as string\n\nexport const getAssetsDomain = () => getRuntimeEnv().ASSETS_DOMAIN as string\n\nexport const getApiCacheKey = () => getRuntimeEnv().API_CACHE_KEY as string\n\nexport const getCloudflareApiToken = () => getRuntimeEnv().CLOUDFLARE_API_TOKEN as string\n\nexport const getCloudflareZoneId = () => getRuntimeEnv().CLOUDFLARE_ZONE_ID as string\n\nexport const getS3Url = () => getRuntimeEnv().S3_URL as string\n\nexport const getRedisUrl = () => getRuntimeEnv().REDIS_URL as string\n\nexport const getExpoAccessToken = () => getRuntimeEnv().EXPO_ACCESS_TOKEN as string\n\nexport const getPhonePeBaseUrl = () => getRuntimeEnv().PHONE_PE_BASE_URL as string\n\nexport const getPhonePeClientId = () => getRuntimeEnv().PHONE_PE_CLIENT_ID as string\n\nexport const getPhonePeClientVersion = () => Number(getRuntimeEnv().PHONE_PE_CLIENT_VERSION as string)\n\nexport const getPhonePeClientSecret = () => getRuntimeEnv().PHONE_PE_CLIENT_SECRET as string\n\nexport const getPhonePeMerchantId = () => getRuntimeEnv().PHONE_PE_MERCHANT_ID as string\n\nexport const getRazorpayId = () => getRuntimeEnv().RAZORPAY_KEY as string\n\nexport const getRazorpaySecret = () => getRuntimeEnv().RAZORPAY_SECRET as string\n\nexport const getOtpSenderAuthToken = () => getRuntimeEnv().OTP_SENDER_AUTH_TOKEN as string\n\nexport const getMinOrderValue = () => Number(getRuntimeEnv().MIN_ORDER_VALUE as string)\n\nexport const getDeliveryCharge = () => Number(getRuntimeEnv().DELIVERY_CHARGE as string)\n\nexport const getTelegramBotToken = () => getRuntimeEnv().TELEGRAM_BOT_TOKEN as string\n\nexport const getTelegramChatIds = () => (getRuntimeEnv().TELEGRAM_CHAT_IDS as string)?.split(',').map(id => id.trim()) || []\n\nexport const getIsDevMode = () => (getRuntimeEnv().ENV_MODE as string) === 'dev'\n", "// import { s3A, awsBucketName, awsRegion, awsSecretAccessKey } from \"@/src/lib/env-exporter\"\nimport type { Buffer } from 'buffer'\nimport { DeleteObjectCommand, DeleteObjectsCommand, PutObjectCommand, S3Client, GetObjectCommand } from \"@aws-sdk/client-s3\"\nimport { getSignedUrl } from \"@aws-sdk/s3-request-presigner\"\n// import signedUrlCache from \"@/src/lib/signed-url-cache\" // Disabled for Workers compatibility\nimport { claimUploadUrlStatus, createUploadUrlStatus } from '@/src/dbService'\nimport {\n getS3AccessKeyId,\n getS3Region,\n getS3Url,\n getS3SecretAccessKey,\n getS3BucketName,\n getAssetsDomain,\n} from \"@/src/lib/env-exporter\"\n\nlet s3Client: S3Client | null = null\nlet s3ClientKey = ''\n\nconst getS3Client = () => {\n const region = getS3Region()\n const endpoint = getS3Url()\n const accessKeyId = getS3AccessKeyId()\n const secretAccessKey = getS3SecretAccessKey()\n const nextKey = `${region}|${endpoint}|${accessKeyId}|${secretAccessKey}`\n\n if (!s3Client || nextKey !== s3ClientKey) {\n s3ClientKey = nextKey\n s3Client = new S3Client({\n region,\n endpoint,\n forcePathStyle: true,\n credentials: {\n accessKeyId,\n secretAccessKey,\n },\n })\n }\n\n return s3Client\n}\n\nexport const imageUploadS3 = async(body: Buffer, type: string, key:string) => {\n // const key = `${category}/${Date.now()}`\n const s3BucketName = getS3BucketName()\n const s3Client = getS3Client()\n const command = new PutObjectCommand({\n Bucket: s3BucketName,\n Key: key,\n Body: body,\n ContentType: type,\n })\n const resp = await s3Client.send(command)\n \n const imageUrl = `${key}`\n return imageUrl;\n}\n\n\n// export async function deleteImageUtil(...keys:string[]):Promise;\n\nexport async function deleteImageUtil({bucket = getS3BucketName(), keys}:{bucket?:string, keys: string[]}) {\n \n if (keys.length === 0) {\n return true;\n }\n try {\n const deleteParams = {\n Bucket: bucket,\n Delete: {\n Objects: keys.map((key) => ({ Key: key })),\n Quiet: false,\n }\n }\n \n const deleteCommand = new DeleteObjectsCommand(deleteParams)\n await getS3Client().send(deleteCommand)\n return true\n }\n catch (error) {\n console.error(\"Error deleting image:\", error)\n throw new Error(\"Failed to delete image\")\n return false;\n }\n}\n\nexport function scaffoldAssetUrl(input: string | null): string\nexport function scaffoldAssetUrl(input: (string | null)[]): string[]\nexport function scaffoldAssetUrl(input: string | null | (string | null)[]): string | string[] {\n const assetsDomain = getAssetsDomain()\n if (Array.isArray(input)) {\n return input.map(key => scaffoldAssetUrl(key) as string);\n }\n if (!input) {\n return '';\n }\n const normalizedKey = input.replace(/^\\/+/, '');\n const domain = assetsDomain.endsWith('/')\n ? assetsDomain.slice(0, -1)\n : assetsDomain;\n return `${domain}/${normalizedKey}`;\n}\n\n\n/**\n * Generate a signed URL from an S3 URL\n * @param s3Url The full S3 URL (e.g., https://bucket-name.s3.region.amazonaws.com/path/to/object)\n * @param expiresIn Expiration time in seconds (default: 259200 seconds = 3 days)\n * @returns A pre-signed URL that provides temporary access to the object\n */\nexport async function generateSignedUrlFromS3Url(s3UrlRaw: string|null, expiresIn: number = 259200): Promise {\n if (!s3UrlRaw) {\n return '';\n }\n\n const s3Url = s3UrlRaw\n \n try {\n // Cache disabled for Workers compatibility\n // const cachedUrl = signedUrlCache.get(s3Url);\n // if (cachedUrl) {\n // return cachedUrl;\n // }\n \n // Create the command to get the object\n const command = new GetObjectCommand({\n Bucket: getS3BucketName(),\n Key: s3Url,\n });\n \n // Generate the signed URL\n const signedUrl = await getSignedUrl(getS3Client(), command, { expiresIn });\n \n // Cache disabled for Workers compatibility\n // signedUrlCache.set(s3Url, signedUrl, (expiresIn * 1000) - 60000);\n \n return signedUrl;\n } catch (error) {\n console.error(\"Error generating signed URL:\", error);\n throw new Error(\"Failed to generate signed URL\");\n }\n}\n\n/**\n * Get the original S3 URL from a signed URL\n * @param signedUrl The signed URL \n * @returns The original S3 URL if found in cache, otherwise null\n */\nexport function getOriginalUrlFromSignedUrl(signedUrl: string|null): string|null {\n // Cache disabled for Workers compatibility - cannot retrieve original URL without cache\n // To re-enable, migrate signed-url-cache to object storage (R2/S3)\n return null;\n}\n\n/**\n * Generate signed URLs for multiple S3 URLs\n * @param s3Urls Array of S3 URLs or null values\n * @param expiresIn Expiration time in seconds (default: 259200 seconds = 3 days)\n * @returns Array of signed URLs (empty strings for null/invalid inputs)\n */\nexport async function generateSignedUrlsFromS3Urls(s3Urls: (string|null)[], expiresIn: number = 259200): Promise {\n if (!s3Urls || !s3Urls.length) {\n return [];\n }\n\n try {\n // Process URLs in parallel for better performance\n const signedUrls = await Promise.all(\n s3Urls.map(url => generateSignedUrlFromS3Url(url, expiresIn).catch(() => ''))\n );\n \n return signedUrls;\n } catch (error) {\n console.error(\"Error generating multiple signed URLs:\", error);\n // Return an array of empty strings with the same length as input\n return s3Urls.map(() => '');\n }\n}\n\nexport async function generateUploadUrl(key: string, mimeType: string, expiresIn: number = 180): Promise {\n try {\n // Insert record into upload_url_status\n await createUploadUrlStatus(key)\n\n // Generate signed upload URL\n const command = new PutObjectCommand({\n Bucket: getS3BucketName(),\n Key: key,\n ContentType: mimeType,\n });\n\n const signedUrl = await getSignedUrl(getS3Client(), command, { expiresIn });\n return signedUrl;\n } catch (error) {\n console.error('Error generating upload URL:', error);\n throw new Error('Failed to generate upload URL');\n }\n}\n\n\n// export function extractKeyFromPresignedUrl(url:string) {\n// const u = new URL(url);\n// const rawKey = u.pathname.replace(/^\\/+/, \"\"); // remove leading slash\n// return decodeURIComponent(rawKey);\n// }\n\n// New function (excludes bucket name)\nexport function extractKeyFromPresignedUrl(url: string): string {\n const u = new URL(url);\n const rawKey = u.pathname.replace(/^\\/+/, \"\"); // remove leading slash\n const decodedKey = decodeURIComponent(rawKey);\n // Remove bucket prefix\n const parts = decodedKey.split('/');\n parts.shift(); // Remove bucket name\n return parts.join('/');\n}\n\nexport async function claimUploadUrl(url: string): Promise {\n try {\n const semiKey = extractKeyFromPresignedUrl(url);\n\n // Update status to 'claimed' if currently 'pending'\n const updated = await claimUploadUrlStatus(semiKey)\n \n if (!updated) {\n throw new Error('Upload URL not found or already claimed');\n }\n } catch (error) {\n console.error('Error claiming upload URL:', error);\n throw new Error('Failed to claim upload URL');\n }\n}\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllProductsForCache,\n getAllStoresForCache,\n getAllDeliverySlotsForCache,\n getAllSpecialDealsForCache,\n getAllProductTagsForCache,\n getProductById as getProductByIdFromDb,\n type ProductBasicData,\n type StoreBasicData,\n type DeliverySlotData,\n type SpecialDealData,\n type ProductTagData,\n} from '@/src/dbService'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\n\n// Uniform Product Type (matches getProductDetails return)\ninterface Product {\n id: number\n name: string\n shortDescription: string | null\n longDescription: string | null\n price: string\n marketPrice: string | null\n unitNotation: string\n images: string[]\n isOutOfStock: boolean\n store: { id: number; name: string; description: string | null } | null\n incrementStep: number\n productQuantity: number\n isFlashAvailable: boolean\n flashPrice: string | null\n deliverySlots: Array<{ id: number; deliveryTime: Date; freezeTime: Date; isCapacityFull: boolean }>\n specialDeals: Array<{ quantity: string; price: string; validTill: Date }>\n productTags: string[]\n}\n\nexport async function initializeProducts(): Promise {\n try {\n console.log('Initializing product store in Redis...')\n\n // Fetch all products with full details (similar to productMega logic)\n const productsData = await getAllProductsForCache()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { productInfo, units } from '@/src/db/schema'\n\n const productsData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n longDescription: productInfo.longDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n storeId: productInfo.storeId,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n productQuantity: productInfo.productQuantity,\n isFlashAvailable: productInfo.isFlashAvailable,\n flashPrice: productInfo.flashPrice,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id));\n */\n\n // Fetch all stores\n const allStores = await getAllStoresForCache()\n const storeMap = new Map(allStores.map((s) => [s.id, s]))\n\n // Fetch all delivery slots (excluding full capacity slots)\n const allDeliverySlots = await getAllDeliverySlotsForCache()\n const deliverySlotsMap = new Map()\n for (const slot of allDeliverySlots) {\n if (!deliverySlotsMap.has(slot.productId))\n deliverySlotsMap.set(slot.productId, [])\n deliverySlotsMap.get(slot.productId)!.push(slot)\n }\n\n // Fetch all special deals\n const allSpecialDeals = await getAllSpecialDealsForCache()\n const specialDealsMap = new Map()\n for (const deal of allSpecialDeals) {\n if (!specialDealsMap.has(deal.productId))\n specialDealsMap.set(deal.productId, [])\n specialDealsMap.get(deal.productId)!.push(deal)\n }\n\n // Fetch all product tags\n const allProductTags = await getAllProductTagsForCache()\n const productTagsMap = new Map()\n for (const tag of allProductTags) {\n if (!productTagsMap.has(tag.productId))\n productTagsMap.set(tag.productId, [])\n productTagsMap.get(tag.productId)!.push(tag.tagName)\n }\n\n // Store each product in Redis\n // for (const product of productsData) {\n // const signedImages = scaffoldAssetUrl(\n // (product.images as string[]) || []\n // )\n // const store = product.storeId\n // ? storeMap.get(product.storeId) || null\n // : null\n // const deliverySlots = deliverySlotsMap.get(product.id) || []\n // const specialDeals = specialDealsMap.get(product.id) || []\n // const productTags = productTagsMap.get(product.id) || []\n //\n // const productObj: Product = {\n // id: product.id,\n // name: product.name,\n // shortDescription: product.shortDescription,\n // longDescription: product.longDescription,\n // price: product.price.toString(),\n // marketPrice: product.marketPrice?.toString() || null,\n // unitNotation: product.unitShortNotation,\n // images: signedImages,\n // isOutOfStock: product.isOutOfStock,\n // store: store\n // ? { id: store.id, name: store.name, description: store.description }\n // : null,\n // incrementStep: product.incrementStep,\n // productQuantity: product.productQuantity,\n // isFlashAvailable: product.isFlashAvailable,\n // flashPrice: product.flashPrice?.toString() || null,\n // deliverySlots: deliverySlots.map((s) => ({\n // id: s.id,\n // deliveryTime: s.deliveryTime,\n // freezeTime: s.freezeTime,\n // isCapacityFull: s.isCapacityFull,\n // })),\n // specialDeals: specialDeals.map((d) => ({\n // quantity: d.quantity.toString(),\n // price: d.price.toString(),\n // validTill: d.validTill,\n // })),\n // productTags: productTags,\n // }\n //\n // await redisClient.set(`product:${product.id}`, JSON.stringify(productObj))\n // }\n\n console.log('Product store initialized successfully')\n } catch (error) {\n console.error('Error initializing product store:', error)\n }\n}\n\nexport async function getProductById(id: number): Promise {\n try {\n // const key = `product:${id}`\n // const data = await redisClient.get(key)\n // if (!data) return null\n // return JSON.parse(data) as Product\n\n const product = await getProductByIdFromDb(id)\n if (!product) return null\n\n const signedImages = scaffoldAssetUrl(\n (product.images as string[]) || []\n )\n\n // Fetch store info\n const allStores = await getAllStoresForCache()\n const store = product.storeId\n ? allStores.find(s => s.id === product.storeId) || null\n : null\n\n // Fetch delivery slots for this product\n const allDeliverySlots = await getAllDeliverySlotsForCache()\n const productSlots = allDeliverySlots.filter(s => s.productId === id)\n\n // Fetch special deals for this product\n const allSpecialDeals = await getAllSpecialDealsForCache()\n const productDeals = allSpecialDeals.filter(d => d.productId === id)\n\n // Fetch product tags for this product\n const allProductTags = await getAllProductTagsForCache()\n const productTagNames = allProductTags\n .filter(t => t.productId === id)\n .map(t => t.tagName)\n\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n longDescription: product.longDescription,\n price: product.price.toString(),\n marketPrice: product.marketPrice?.toString() || null,\n unitNotation: product.unit.shortNotation,\n images: signedImages,\n isOutOfStock: product.isOutOfStock,\n store: store\n ? { id: store.id, name: store.name, description: store.description }\n : null,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n isFlashAvailable: product.isFlashAvailable,\n flashPrice: product.flashPrice?.toString() || null,\n deliverySlots: productSlots.map((s) => ({\n id: s.id,\n deliveryTime: s.deliveryTime,\n freezeTime: s.freezeTime,\n isCapacityFull: s.isCapacityFull,\n })),\n specialDeals: productDeals.map((d) => ({\n quantity: d.quantity.toString(),\n price: d.price.toString(),\n validTill: d.validTill,\n })),\n productTags: productTagNames,\n }\n } catch (error) {\n console.error(`Error getting product ${id}:`, error)\n return null\n }\n}\n\nexport async function getAllProducts(): Promise {\n try {\n // Get all keys matching the pattern \"product:*\"\n // const keys = await redisClient.KEYS('product:*')\n //\n // if (keys.length === 0) {\n // return []\n // }\n //\n // // Get all products using MGET for better performance\n // const productsData = await redisClient.MGET(keys)\n //\n // const products: Product[] = []\n // for (const productData of productsData) {\n // if (productData) {\n // products.push(JSON.parse(productData) as Product)\n // }\n // }\n //\n // return products\n\n const productsData = await getAllProductsForCache()\n\n const allStores = await getAllStoresForCache()\n const storeMap = new Map(allStores.map((s) => [s.id, s]))\n\n const allDeliverySlots = await getAllDeliverySlotsForCache()\n const deliverySlotsMap = new Map()\n for (const slot of allDeliverySlots) {\n if (!deliverySlotsMap.has(slot.productId))\n deliverySlotsMap.set(slot.productId, [])\n deliverySlotsMap.get(slot.productId)!.push(slot)\n }\n\n const allSpecialDeals = await getAllSpecialDealsForCache()\n const specialDealsMap = new Map()\n for (const deal of allSpecialDeals) {\n if (!specialDealsMap.has(deal.productId))\n specialDealsMap.set(deal.productId, [])\n specialDealsMap.get(deal.productId)!.push(deal)\n }\n\n const allProductTags = await getAllProductTagsForCache()\n const productTagsMap = new Map()\n for (const tag of allProductTags) {\n if (!productTagsMap.has(tag.productId))\n productTagsMap.set(tag.productId, [])\n productTagsMap.get(tag.productId)!.push(tag.tagName)\n }\n\n const products: Product[] = []\n for (const product of productsData) {\n const signedImages = scaffoldAssetUrl(\n (product.images as string[]) || []\n )\n const store = product.storeId\n ? storeMap.get(product.storeId) || null\n : null\n const deliverySlots = deliverySlotsMap.get(product.id) || []\n const specialDeals = specialDealsMap.get(product.id) || []\n const productTags = productTagsMap.get(product.id) || []\n\n products.push({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n longDescription: product.longDescription,\n price: product.price.toString(),\n marketPrice: product.marketPrice?.toString() || null,\n unitNotation: product.unitShortNotation,\n images: signedImages,\n isOutOfStock: product.isOutOfStock,\n store: store\n ? { id: store.id, name: store.name, description: store.description }\n : null,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n isFlashAvailable: product.isFlashAvailable,\n flashPrice: product.flashPrice?.toString() || null,\n deliverySlots: deliverySlots.map((s) => ({\n id: s.id,\n deliveryTime: s.deliveryTime,\n freezeTime: s.freezeTime,\n isCapacityFull: s.isCapacityFull,\n })),\n specialDeals: specialDeals.map((d) => ({\n quantity: d.quantity.toString(),\n price: d.price.toString(),\n validTill: d.validTill,\n })),\n productTags: productTags,\n })\n }\n\n return products\n } catch (error) {\n console.error('Error getting all products:', error)\n return []\n }\n}\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllTagsForCache,\n getAllTagProductMappings,\n getAllProductTags,\n getProductTagById as getProductTagByIdFromDb,\n type TagBasicData,\n type TagProductMapping,\n} from '@/src/dbService'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\n\n// Tag Type (matches getDashboardTags return)\ninterface Tag {\n id: number\n tagName: string\n tagDescription: string | null\n imageUrl: string | null\n isDashboardTag: boolean\n relatedStores: number[]\n productIds: number[]\n}\n\nasync function transformTagToStoreTag(tag: {\n id: number\n tagName: string\n tagDescription: string | null\n imageUrl: string | null\n isDashboardTag: boolean\n relatedStores: unknown\n products?: Array<{ productId: number }>\n}): Promise {\n const signedImageUrl = tag.imageUrl\n ? scaffoldAssetUrl(tag.imageUrl)\n : null\n\n return {\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription,\n imageUrl: signedImageUrl,\n isDashboardTag: tag.isDashboardTag,\n relatedStores: (tag.relatedStores as number[]) || [],\n productIds: tag.products ? tag.products.map(p => p.productId) : [],\n }\n}\n\nexport async function initializeProductTagStore(): Promise {\n try {\n console.log('Initializing product tag store in Redis...')\n\n // Fetch all tags\n const tagsData = await getAllTagsForCache()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { productTagInfo } from '@/src/db/schema'\n\n const tagsData = await db\n .select({\n id: productTagInfo.id,\n tagName: productTagInfo.tagName,\n tagDescription: productTagInfo.tagDescription,\n imageUrl: productTagInfo.imageUrl,\n isDashboardTag: productTagInfo.isDashboardTag,\n relatedStores: productTagInfo.relatedStores,\n })\n .from(productTagInfo);\n */\n\n // Fetch product IDs for each tag\n const productTagsData = await getAllTagProductMappings()\n\n /*\n // Old implementation - direct DB queries:\n import { productTags } from '@/src/db/schema'\n import { inArray } from 'drizzle-orm'\n\n const tagIds = tagsData.map(t => t.id);\n const productTagsData = await db\n .select({\n tagId: productTags.tagId,\n productId: productTags.productId,\n })\n .from(productTags)\n .where(inArray(productTags.tagId, tagIds));\n */\n\n // Group product IDs by tag\n const productIdsByTag = new Map()\n for (const pt of productTagsData) {\n if (!productIdsByTag.has(pt.tagId)) {\n productIdsByTag.set(pt.tagId, [])\n }\n productIdsByTag.get(pt.tagId)!.push(pt.productId)\n }\n\n // Store each tag in Redis\n // for (const tag of tagsData) {\n // const signedImageUrl = tag.imageUrl\n // ? await generateSignedUrlFromS3Url(tag.imageUrl)\n // : null\n //\n // const tagObj: Tag = {\n // id: tag.id,\n // tagName: tag.tagName,\n // tagDescription: tag.tagDescription,\n // imageUrl: signedImageUrl,\n // isDashboardTag: tag.isDashboardTag,\n // relatedStores: (tag.relatedStores as number[]) || [],\n // productIds: productIdsByTag.get(tag.id) || [],\n // }\n //\n // await redisClient.set(`tag:${tag.id}`, JSON.stringify(tagObj))\n // }\n\n console.log('Product tag store initialized successfully')\n } catch (error) {\n console.error('Error initializing product tag store:', error)\n }\n}\n\nexport async function getTagById(id: number): Promise {\n try {\n // const key = `tag:${id}`\n // const data = await redisClient.get(key)\n // if (!data) return null\n // return JSON.parse(data) as Tag\n\n const tag = await getProductTagByIdFromDb(id)\n if (!tag) return null\n\n return transformTagToStoreTag(tag)\n } catch (error) {\n console.error(`Error getting tag ${id}:`, error)\n return null\n }\n}\n\nexport async function getAllTags(): Promise {\n try {\n // Get all keys matching the pattern \"tag:*\"\n // const keys = await redisClient.KEYS('tag:*')\n //\n // if (keys.length === 0) {\n // return []\n // }\n //\n // // Get all tags using MGET for better performance\n // const tagsData = await redisClient.MGET(keys)\n //\n // const tags: Tag[] = []\n // for (const tagData of tagsData) {\n // if (tagData) {\n // tags.push(JSON.parse(tagData) as Tag)\n // }\n // }\n //\n // return tags\n\n const tags = await getAllProductTags()\n\n const result: Tag[] = []\n for (const tag of tags) {\n result.push(await transformTagToStoreTag(tag))\n }\n return result\n } catch (error) {\n console.error('Error getting all tags:', error)\n return []\n }\n}\n\nexport async function getDashboardTags(): Promise {\n try {\n // Get all keys matching the pattern \"tag:*\"\n // const keys = await redisClient.KEYS('tag:*')\n //\n // if (keys.length === 0) {\n // return []\n // }\n //\n // // Get all tags using MGET for better performance\n // const tagsData = await redisClient.MGET(keys)\n //\n // const dashboardTags: Tag[] = []\n // for (const tagData of tagsData) {\n // if (tagData) {\n // const tag = JSON.parse(tagData) as Tag\n // if (tag.isDashboardTag) {\n // dashboardTags.push(tag)\n // }\n // }\n // }\n //\n // return dashboardTags\n\n const tags = await getAllProductTags()\n\n const result: Tag[] = []\n for (const tag of tags) {\n if (tag.isDashboardTag) {\n result.push(await transformTagToStoreTag(tag))\n }\n }\n return result\n } catch (error) {\n console.error('Error getting dashboard tags:', error)\n return []\n }\n}\n\nexport async function getTagsByStoreId(storeId: number): Promise {\n try {\n // Get all keys matching the pattern \"tag:*\"\n // const keys = await redisClient.KEYS('tag:*')\n //\n // if (keys.length === 0) {\n // return []\n // }\n //\n // // Get all tags using MGET for better performance\n // const tagsData = await redisClient.MGET(keys)\n //\n // const storeTags: Tag[] = []\n // for (const tagData of tagsData) {\n // if (tagData) {\n // const tag = JSON.parse(tagData) as Tag\n // if (tag.relatedStores.includes(storeId)) {\n // storeTags.push(tag)\n // }\n // }\n // }\n //\n // return storeTags\n\n const tags = await getAllProductTags()\n\n const result: Tag[] = []\n for (const tag of tags) {\n const relatedStores = (tag.relatedStores as number[]) || []\n if (relatedStores.includes(storeId)) {\n result.push(await transformTagToStoreTag(tag))\n }\n }\n return result\n } catch (error) {\n console.error(`Error getting tags for store ${storeId}:`, error)\n return []\n }\n}\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllSlotsWithProductsForCache,\n type SlotWithProductsData,\n} from '@/src/dbService'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport dayjs from 'dayjs'\n\n// Define the structure for slot with products\ninterface SlotWithProducts {\n id: number\n deliveryTime: Date\n freezeTime: Date\n isActive: boolean\n isCapacityFull: boolean\n products: Array<{\n id: number\n name: string\n shortDescription: string | null\n productQuantity: number\n price: string\n marketPrice: string | null\n unit: string | null\n images: string[]\n isOutOfStock: boolean\n storeId: number | null\n nextDeliveryDate: Date\n }>\n}\n\ninterface SlotInfo {\n id: number\n deliveryTime: Date\n freezeTime: Date\n isCapacityFull: boolean\n}\n\nasync function transformSlotToStoreSlot(slot: SlotWithProductsData): Promise {\n return {\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isActive: slot.isActive,\n isCapacityFull: slot.isCapacityFull,\n products: slot.productSlots.map((productSlot) => ({\n id: productSlot.product.id,\n name: productSlot.product.name,\n productQuantity: productSlot.product.productQuantity,\n shortDescription: productSlot.product.shortDescription,\n price: productSlot.product.price.toString(),\n marketPrice: productSlot.product.marketPrice?.toString() || null,\n unit: productSlot.product.unit?.shortNotation || null,\n images: scaffoldAssetUrl(\n (productSlot.product.images as string[]) || []\n ),\n isOutOfStock: productSlot.product.isOutOfStock,\n storeId: productSlot.product.storeId,\n nextDeliveryDate: slot.deliveryTime,\n })),\n }\n}\n\nfunction extractSlotInfo(slot: SlotWithProductsData): SlotInfo {\n return {\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isCapacityFull: slot.isCapacityFull,\n }\n}\n\nasync function fetchAllTransformedSlots(): Promise {\n const slots = await getAllSlotsWithProductsForCache()\n return Promise.all(slots.map(transformSlotToStoreSlot))\n}\n\nexport async function initializeSlotStore(): Promise {\n try {\n console.log('Initializing slot store in Redis...')\n\n // Fetch active delivery slots with future delivery times\n const slots = await getAllSlotsWithProductsForCache()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { deliverySlotInfo } from '@/src/db/schema'\n import { eq, gt, and, asc } from 'drizzle-orm'\n\n const now = new Date();\n const slots = await db.query.deliverySlotInfo.findMany({\n where: and(\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, now),\n ),\n with: {\n productSlots: {\n with: {\n product: {\n with: {\n unit: true,\n store: true,\n },\n },\n },\n },\n },\n orderBy: asc(deliverySlotInfo.deliveryTime),\n });\n */\n\n // Transform data for storage\n const slotsWithProducts = await Promise.all(\n slots.map(async (slot) => ({\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isActive: slot.isActive,\n isCapacityFull: slot.isCapacityFull,\n products: await Promise.all(\n slot.productSlots.map(async (productSlot) => ({\n id: productSlot.product.id,\n name: productSlot.product.name,\n productQuantity: productSlot.product.productQuantity,\n shortDescription: productSlot.product.shortDescription,\n price: productSlot.product.price.toString(),\n marketPrice: productSlot.product.marketPrice?.toString() || null,\n unit: productSlot.product.unit?.shortNotation || null,\n images: scaffoldAssetUrl(\n (productSlot.product.images as string[]) || []\n ),\n isOutOfStock: productSlot.product.isOutOfStock,\n storeId: productSlot.product.storeId,\n nextDeliveryDate: slot.deliveryTime,\n }))\n ),\n }))\n )\n\n // Store each slot in Redis with key pattern \"slot:{id}\"\n // for (const slot of slotsWithProducts) {\n // await redisClient.set(`slot:${slot.id}`, JSON.stringify(slot))\n // }\n\n // Build and store product-slots map\n // Group slots by productId\n const productSlotsMap: Record = {}\n\n for (const slot of slotsWithProducts) {\n for (const product of slot.products) {\n if (!productSlotsMap[product.id]) {\n productSlotsMap[product.id] = []\n }\n productSlotsMap[product.id].push({\n id: slot.id,\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n isCapacityFull: slot.isCapacityFull,\n })\n }\n }\n\n // Store each product's slots in Redis with key pattern \"product:{id}:slots\"\n // for (const [productId, slotInfos] of Object.entries(productSlotsMap)) {\n // await redisClient.set(\n // `product:${productId}:slots`,\n // JSON.stringify(slotInfos)\n // )\n // }\n\n console.log('Slot store initialized successfully')\n } catch (error) {\n console.error('Error initializing slot store:', error)\n }\n}\n\nexport async function getSlotById(slotId: number): Promise {\n try {\n // const key = `slot:${slotId}`\n // const data = await redisClient.get(key)\n // if (!data) return null\n // return JSON.parse(data) as SlotWithProducts\n\n const slots = await getAllSlotsWithProductsForCache()\n const slot = slots.find(s => s.id === slotId)\n if (!slot) return null\n\n return transformSlotToStoreSlot(slot)\n } catch (error) {\n console.error(`Error getting slot ${slotId}:`, error)\n return null\n }\n}\n\nexport async function getAllSlots(): Promise {\n try {\n // Get all keys matching the pattern \"slot:*\"\n // const keys = await redisClient.KEYS('slot:*')\n //\n // if (keys.length === 0) return []\n //\n // // Get all slots using MGET for better performance\n // const slotsData = await redisClient.MGET(keys)\n //\n // const slots: SlotWithProducts[] = []\n // for (const slotData of slotsData) {\n // if (slotData) {\n // slots.push(JSON.parse(slotData) as SlotWithProducts)\n // }\n // }\n //\n // return slots\n\n return fetchAllTransformedSlots()\n } catch (error) {\n console.error('Error getting all slots:', error)\n return []\n }\n}\n\nexport async function getProductSlots(productId: number): Promise {\n try {\n // const key = `product:${productId}:slots`\n // const data = await redisClient.get(key)\n // if (!data) return []\n // return JSON.parse(data) as SlotInfo[]\n\n const slots = await getAllSlotsWithProductsForCache()\n const productSlots: SlotInfo[] = []\n\n for (const slot of slots) {\n const hasProduct = slot.productSlots.some(ps => ps.product.id === productId)\n if (hasProduct) {\n productSlots.push(extractSlotInfo(slot))\n }\n }\n\n return productSlots\n } catch (error) {\n console.error(`Error getting slots for product ${productId}:`, error)\n return []\n }\n}\n\nexport async function getAllProductsSlots(): Promise> {\n try {\n // Get all keys matching the pattern \"product:*:slots\"\n // const keys = await redisClient.KEYS('product:*:slots')\n //\n // if (keys.length === 0) return {}\n //\n // // Get all product slots using MGET for better performance\n // const productsData = await redisClient.MGET(keys)\n //\n // const result: Record = {}\n // for (const key of keys) {\n // // Extract productId from key \"product:{id}:slots\"\n // const match = key.match(/product:(\\d+):slots/)\n // if (match) {\n // const productId = parseInt(match[1], 10)\n // const dataIndex = keys.indexOf(key)\n // if (productsData[dataIndex]) {\n // result[productId] = JSON.parse(productsData[dataIndex]) as SlotInfo[]\n // }\n // }\n // }\n //\n // return result\n\n const slots = await getAllSlotsWithProductsForCache()\n const result: Record = {}\n\n for (const slot of slots) {\n const slotInfo = extractSlotInfo(slot)\n for (const productSlot of slot.productSlots) {\n const productId = productSlot.product.id\n if (!result[productId]) {\n result[productId] = []\n }\n result[productId].push(slotInfo)\n }\n }\n\n return result\n } catch (error) {\n console.error('Error getting all products slots:', error)\n return {}\n }\n}\n\nexport async function getMultipleProductsSlots(\n productIds: number[]\n): Promise> {\n try {\n if (productIds.length === 0) return {}\n\n // Build keys for all productIds\n // const keys = productIds.map((id) => `product:${id}:slots`)\n //\n // // Use MGET for batch retrieval\n // const productsData = await redisClient.MGET(keys)\n //\n // const result: Record = {}\n // for (let i = 0; i < productIds.length; i++) {\n // const data = productsData[i]\n // if (data) {\n // const slots = JSON.parse(data) as SlotInfo[]\n // // Filter out slots that are at full capacity\n // result[productIds[i]] = slots.filter((slot) => !slot.isCapacityFull)\n // }\n // }\n //\n // return result\n\n const slots = await getAllSlotsWithProductsForCache()\n const productIdSet = new Set(productIds)\n const result: Record = {}\n\n for (const productId of productIds) {\n result[productId] = []\n }\n\n for (const slot of slots) {\n const slotInfo = extractSlotInfo(slot)\n for (const productSlot of slot.productSlots) {\n const pid = productSlot.product.id\n if (productIdSet.has(pid) && !slot.isCapacityFull) {\n result[pid].push(slotInfo)\n }\n }\n }\n\n return result\n } catch (error) {\n console.error('Error getting products slots:', error)\n return {}\n }\n}\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllBannersForCache,\n getBanners,\n getBannerById as getBannerByIdFromDb,\n type BannerData,\n} from '@/src/dbService'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\n\n// Banner Type (matches getBanners return)\ninterface Banner {\n id: number\n name: string\n imageUrl: string | null\n serialNum: number | null\n productIds: number[] | null\n createdAt: Date\n}\n\nexport async function initializeBannerStore(): Promise {\n try {\n console.log('Initializing banner store in Redis...')\n\n const banners = await getAllBannersForCache()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { homeBanners } from '@/src/db/schema'\n import { isNotNull, asc } from 'drizzle-orm'\n\n const banners = await db.query.homeBanners.findMany({\n where: isNotNull(homeBanners.serialNum),\n orderBy: asc(homeBanners.serialNum),\n });\n */\n\n // Store each banner in Redis\n // for (const banner of banners) {\n // const signedImageUrl = banner.imageUrl\n // ? scaffoldAssetUrl(banner.imageUrl)\n // : banner.imageUrl\n //\n // const bannerObj: Banner = {\n // id: banner.id,\n // name: banner.name,\n // imageUrl: signedImageUrl,\n // serialNum: banner.serialNum,\n // productIds: banner.productIds,\n // createdAt: banner.createdAt,\n // }\n //\n // await redisClient.set(`banner:${banner.id}`, JSON.stringify(bannerObj))\n // }\n\n console.log('Banner store initialized successfully')\n } catch (error) {\n console.error('Error initializing banner store:', error)\n }\n}\n\nexport async function getBannerById(id: number): Promise {\n try {\n // const key = `banner:${id}`\n // const data = await redisClient.get(key)\n // if (!data) return null\n // return JSON.parse(data) as Banner\n\n const banner = await getBannerByIdFromDb(id)\n if (!banner) return null\n\n const signedImageUrl = banner.imageUrl\n ? scaffoldAssetUrl(banner.imageUrl)\n : banner.imageUrl\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: signedImageUrl,\n serialNum: banner.serialNum,\n productIds: banner.productIds,\n createdAt: banner.createdAt,\n }\n } catch (error) {\n console.error(`Error getting banner ${id}:`, error)\n return null\n }\n}\n\nexport async function getAllBanners(): Promise {\n try {\n // Get all keys matching the pattern \"banner:*\"\n // const keys = await redisClient.KEYS('banner:*')\n //\n // if (keys.length === 0) return []\n //\n // // Get all banners using MGET for better performance\n // const bannersData = await redisClient.MGET(keys)\n //\n // const banners: Banner[] = []\n // for (const bannerData of bannersData) {\n // if (bannerData) {\n // banners.push(JSON.parse(bannerData) as Banner)\n // }\n // }\n //\n // // Sort by serialNum to maintain the same order as the original query\n // banners.sort((a, b) => (a.serialNum || 0) - (b.serialNum || 0))\n //\n // return banners\n\n const banners = await getBanners()\n\n return banners.map((banner) => {\n const signedImageUrl = banner.imageUrl\n ? scaffoldAssetUrl(banner.imageUrl)\n : banner.imageUrl\n\n return {\n id: banner.id,\n name: banner.name,\n imageUrl: signedImageUrl,\n serialNum: banner.serialNum,\n productIds: banner.productIds,\n createdAt: banner.createdAt,\n }\n })\n } catch (error) {\n console.error('Error getting all banners:', error)\n return []\n }\n}\n", "'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n", "'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n * \n * @param {*} value The value to test\n * \n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n}\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n * \n * @param {*} formData The formData to test\n * \n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (FormDataCtor && thing instanceof FormDataCtor) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n", "'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n \n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true\n });\n \n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n", "// eslint-disable-next-line strict\nexport default null;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n", "'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n", "'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n", "'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n", "'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n", "'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n", "import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n", "const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n", "import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !this.responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n", "'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n", "'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n", "'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n", "'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n", "'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\n", "'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return (match && match[1]) || '';\n}\n", "'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n", "/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n", "import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n", "import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n", "import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n", "'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n", "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n", "import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa(\n (auth.username || '') +\n ':' +\n (auth.password ? unescape(encodeURIComponent(auth.password)) : '')\n )\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n", "import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.indexOf('file:') === 0)\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n", "import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n", "export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n", "import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst globalFetchAPI = (({ Request, Response }) => ({\n Request,\n Response,\n}))(utils.global);\n\nconst { ReadableStream, TextEncoder } = utils.global;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n globalFetchAPI,\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n", "import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n", "'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(config, config.transformResponse, response);\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n", "export const VERSION = \"1.13.6\";", "'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n", "'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n", "'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n", "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n", "const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n", "'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n", "import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig,\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig,\n};\n", "/** @internal */\nexport type UnsetMarker = 'unsetMarker' & {\n __brand: 'unsetMarker';\n};\n\n/**\n * Ensures there are no duplicate keys when building a procedure.\n * @internal\n */\nexport function mergeWithoutOverrides>(\n obj1: TType,\n ...objs: Partial[]\n): TType {\n const newObj: TType = Object.assign(emptyObject(), obj1);\n\n for (const overrides of objs) {\n for (const key in overrides) {\n if (key in newObj && newObj[key] !== overrides[key]) {\n throw new Error(`Duplicate key ${key}`);\n }\n newObj[key as keyof TType] = overrides[key] as TType[keyof TType];\n }\n }\n return newObj;\n}\n\n/**\n * Check that value is object\n * @internal\n */\nexport function isObject(value: unknown): value is Record {\n return !!value && !Array.isArray(value) && typeof value === 'object';\n}\n\ntype AnyFn = ((...args: any[]) => unknown) & Record;\nexport function isFunction(fn: unknown): fn is AnyFn {\n return typeof fn === 'function';\n}\n\n/**\n * Create an object without inheriting anything from `Object.prototype`\n * @internal\n */\nexport function emptyObject>(): TObj {\n return Object.create(null);\n}\n\nconst asyncIteratorsSupported =\n typeof Symbol === 'function' && !!Symbol.asyncIterator;\n\nexport function isAsyncIterable(\n value: unknown,\n): value is AsyncIterable {\n return (\n asyncIteratorsSupported && isObject(value) && Symbol.asyncIterator in value\n );\n}\n\n/**\n * Run an IIFE\n */\nexport const run = (fn: () => TValue): TValue => fn();\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop(): void {}\n\nexport function identity(it: T): T {\n return it;\n}\n\n/**\n * Generic runtime assertion function. Throws, if the condition is not `true`.\n *\n * Can be used as a slightly less dangerous variant of type assertions. Code\n * mistakes would be revealed at runtime then (hopefully during testing).\n */\nexport function assert(\n condition: boolean,\n msg = 'no additional info',\n): asserts condition {\n if (!condition) {\n throw new Error(`AssertionError: ${msg}`);\n }\n}\n\nexport function sleep(ms = 0): Promise {\n return new Promise((res) => setTimeout(res, ms));\n}\n\n/**\n * Ponyfill for\n * [`AbortSignal.any`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static).\n */\nexport function abortSignalsAnyPonyfill(signals: AbortSignal[]): AbortSignal {\n if (typeof AbortSignal.any === 'function') {\n return AbortSignal.any(signals);\n }\n\n const ac = new AbortController();\n\n for (const signal of signals) {\n if (signal.aborted) {\n trigger();\n break;\n }\n signal.addEventListener('abort', trigger, { once: true });\n }\n\n return ac.signal;\n\n function trigger() {\n ac.abort();\n for (const signal of signals) {\n signal.removeEventListener('abort', trigger);\n }\n }\n}\n", "import type { InvertKeyValue, ValueOf } from '../types';\n\n// reference: https://www.jsonrpc.org/specification\n\n/**\n * JSON-RPC 2.0 Error codes\n *\n * `-32000` to `-32099` are reserved for implementation-defined server-errors.\n * For tRPC we're copying the last digits of HTTP 4XX errors.\n */\nexport const TRPC_ERROR_CODES_BY_KEY = {\n /**\n * Invalid JSON was received by the server.\n * An error occurred on the server while parsing the JSON text.\n */\n PARSE_ERROR: -32700,\n /**\n * The JSON sent is not a valid Request object.\n */\n BAD_REQUEST: -32600, // 400\n\n // Internal JSON-RPC error\n INTERNAL_SERVER_ERROR: -32603, // 500\n NOT_IMPLEMENTED: -32603, // 501\n BAD_GATEWAY: -32603, // 502\n SERVICE_UNAVAILABLE: -32603, // 503\n GATEWAY_TIMEOUT: -32603, // 504\n\n // Implementation specific errors\n UNAUTHORIZED: -32001, // 401\n PAYMENT_REQUIRED: -32002, // 402\n FORBIDDEN: -32003, // 403\n NOT_FOUND: -32004, // 404\n METHOD_NOT_SUPPORTED: -32005, // 405\n TIMEOUT: -32008, // 408\n CONFLICT: -32009, // 409\n PRECONDITION_FAILED: -32012, // 412\n PAYLOAD_TOO_LARGE: -32013, // 413\n UNSUPPORTED_MEDIA_TYPE: -32015, // 415\n UNPROCESSABLE_CONTENT: -32022, // 422\n PRECONDITION_REQUIRED: -32028, // 428\n TOO_MANY_REQUESTS: -32029, // 429\n CLIENT_CLOSED_REQUEST: -32099, // 499\n} as const;\n\n// pure\nexport const TRPC_ERROR_CODES_BY_NUMBER: InvertKeyValue<\n typeof TRPC_ERROR_CODES_BY_KEY\n> = {\n [-32700]: 'PARSE_ERROR',\n [-32600]: 'BAD_REQUEST',\n [-32603]: 'INTERNAL_SERVER_ERROR',\n [-32001]: 'UNAUTHORIZED',\n [-32002]: 'PAYMENT_REQUIRED',\n [-32003]: 'FORBIDDEN',\n [-32004]: 'NOT_FOUND',\n [-32005]: 'METHOD_NOT_SUPPORTED',\n [-32008]: 'TIMEOUT',\n [-32009]: 'CONFLICT',\n [-32012]: 'PRECONDITION_FAILED',\n [-32013]: 'PAYLOAD_TOO_LARGE',\n [-32015]: 'UNSUPPORTED_MEDIA_TYPE',\n [-32022]: 'UNPROCESSABLE_CONTENT',\n [-32028]: 'PRECONDITION_REQUIRED',\n [-32029]: 'TOO_MANY_REQUESTS',\n [-32099]: 'CLIENT_CLOSED_REQUEST',\n};\n\nexport type TRPC_ERROR_CODE_NUMBER = ValueOf;\nexport type TRPC_ERROR_CODE_KEY = keyof typeof TRPC_ERROR_CODES_BY_KEY;\n\n/**\n * tRPC error codes that are considered retryable\n * With out of the box SSE, the client will reconnect when these errors are encountered\n */\nexport const retryableRpcCodes: TRPC_ERROR_CODE_NUMBER[] = [\n TRPC_ERROR_CODES_BY_KEY.BAD_GATEWAY,\n TRPC_ERROR_CODES_BY_KEY.SERVICE_UNAVAILABLE,\n TRPC_ERROR_CODES_BY_KEY.GATEWAY_TIMEOUT,\n TRPC_ERROR_CODES_BY_KEY.INTERNAL_SERVER_ERROR,\n];\n", "import { emptyObject } from './utils';\n\ninterface ProxyCallbackOptions {\n path: readonly string[];\n args: readonly unknown[];\n}\ntype ProxyCallback = (opts: ProxyCallbackOptions) => unknown;\n\nconst noop = () => {\n // noop\n};\n\nconst freezeIfAvailable = (obj: object) => {\n if (Object.freeze) {\n Object.freeze(obj);\n }\n};\n\nfunction createInnerProxy(\n callback: ProxyCallback,\n path: readonly string[],\n memo: Record,\n) {\n const cacheKey = path.join('.');\n\n memo[cacheKey] ??= new Proxy(noop, {\n get(_obj, key) {\n if (typeof key !== 'string' || key === 'then') {\n // special case for if the proxy is accidentally treated\n // like a PromiseLike (like in `Promise.resolve(proxy)`)\n return undefined;\n }\n return createInnerProxy(callback, [...path, key], memo);\n },\n apply(_1, _2, args) {\n const lastOfPath = path[path.length - 1];\n\n let opts = { args, path };\n // special handling for e.g. `trpc.hello.call(this, 'there')` and `trpc.hello.apply(this, ['there'])\n if (lastOfPath === 'call') {\n opts = {\n args: args.length >= 2 ? [args[1]] : [],\n path: path.slice(0, -1),\n };\n } else if (lastOfPath === 'apply') {\n opts = {\n args: args.length >= 2 ? args[1] : [],\n path: path.slice(0, -1),\n };\n }\n freezeIfAvailable(opts.args);\n freezeIfAvailable(opts.path);\n return callback(opts);\n },\n });\n\n return memo[cacheKey];\n}\n\n/**\n * Creates a proxy that calls the callback with the path and arguments\n *\n * @internal\n */\nexport const createRecursiveProxy = (\n callback: ProxyCallback,\n): TFaux => createInnerProxy(callback, [], emptyObject()) as TFaux;\n\n/**\n * Used in place of `new Proxy` where each handler will map 1 level deep to another value.\n *\n * @internal\n */\nexport const createFlatProxy = (\n callback: (path: keyof TFaux) => any,\n): TFaux => {\n return new Proxy(noop, {\n get(_obj, name) {\n if (name === 'then') {\n // special case for if the proxy is accidentally treated\n // like a PromiseLike (like in `Promise.resolve(proxy)`)\n return undefined;\n }\n return callback(name as any);\n },\n }) as TFaux;\n};\n", "import type { TRPCError } from '../error/TRPCError';\nimport type { TRPC_ERROR_CODES_BY_KEY, TRPCResponse } from '../rpc';\nimport { TRPC_ERROR_CODES_BY_NUMBER } from '../rpc';\nimport type { InvertKeyValue, ValueOf } from '../types';\nimport { isObject } from '../utils';\n\nexport const JSONRPC2_TO_HTTP_CODE: Record<\n keyof typeof TRPC_ERROR_CODES_BY_KEY,\n number\n> = {\n PARSE_ERROR: 400,\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n PAYMENT_REQUIRED: 402,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n METHOD_NOT_SUPPORTED: 405,\n TIMEOUT: 408,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n UNSUPPORTED_MEDIA_TYPE: 415,\n UNPROCESSABLE_CONTENT: 422,\n PRECONDITION_REQUIRED: 428,\n TOO_MANY_REQUESTS: 429,\n CLIENT_CLOSED_REQUEST: 499,\n INTERNAL_SERVER_ERROR: 500,\n NOT_IMPLEMENTED: 501,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n};\n\nexport const HTTP_CODE_TO_JSONRPC2: InvertKeyValue<\n typeof JSONRPC2_TO_HTTP_CODE\n> = {\n 400: 'BAD_REQUEST',\n 401: 'UNAUTHORIZED',\n 402: 'PAYMENT_REQUIRED',\n 403: 'FORBIDDEN',\n 404: 'NOT_FOUND',\n 405: 'METHOD_NOT_SUPPORTED',\n 408: 'TIMEOUT',\n 409: 'CONFLICT',\n 412: 'PRECONDITION_FAILED',\n 413: 'PAYLOAD_TOO_LARGE',\n 415: 'UNSUPPORTED_MEDIA_TYPE',\n 422: 'UNPROCESSABLE_CONTENT',\n 428: 'PRECONDITION_REQUIRED',\n 429: 'TOO_MANY_REQUESTS',\n 499: 'CLIENT_CLOSED_REQUEST',\n 500: 'INTERNAL_SERVER_ERROR',\n 501: 'NOT_IMPLEMENTED',\n 502: 'BAD_GATEWAY',\n 503: 'SERVICE_UNAVAILABLE',\n 504: 'GATEWAY_TIMEOUT',\n} as const;\n\nexport function getStatusCodeFromKey(\n code: keyof typeof TRPC_ERROR_CODES_BY_KEY,\n) {\n return JSONRPC2_TO_HTTP_CODE[code] ?? 500;\n}\n\nexport function getStatusKeyFromCode(\n code: keyof typeof HTTP_CODE_TO_JSONRPC2,\n): ValueOf {\n return HTTP_CODE_TO_JSONRPC2[code] ?? 'INTERNAL_SERVER_ERROR';\n}\n\nexport function getHTTPStatusCode(json: TRPCResponse | TRPCResponse[]) {\n const arr = Array.isArray(json) ? json : [json];\n const httpStatuses = new Set(\n arr.map((res) => {\n if ('error' in res && isObject(res.error.data)) {\n if (typeof res.error.data?.['httpStatus'] === 'number') {\n return res.error.data['httpStatus'];\n }\n const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];\n return getStatusCodeFromKey(code);\n }\n return 200;\n }),\n );\n\n if (httpStatuses.size !== 1) {\n return 207;\n }\n\n const httpStatus = httpStatuses.values().next().value;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return httpStatus!;\n}\n\nexport function getHTTPStatusCodeFromError(error: TRPCError) {\n return getStatusCodeFromKey(error.code);\n}\n", "function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode';\nimport type { ProcedureType } from '../procedure';\nimport type { AnyRootTypes, RootConfig } from '../rootConfig';\nimport { TRPC_ERROR_CODES_BY_KEY } from '../rpc';\nimport type { DefaultErrorShape } from './formatter';\nimport type { TRPCError } from './TRPCError';\n\n/**\n * @internal\n */\nexport function getErrorShape(opts: {\n config: RootConfig;\n error: TRPCError;\n type: ProcedureType | 'unknown';\n path: string | undefined;\n input: unknown;\n ctx: TRoot['ctx'] | undefined;\n}): TRoot['errorShape'] {\n const { path, error, config } = opts;\n const { code } = opts.error;\n const shape: DefaultErrorShape = {\n message: error.message,\n code: TRPC_ERROR_CODES_BY_KEY[code],\n data: {\n code,\n httpStatus: getHTTPStatusCodeFromError(error),\n },\n };\n if (config.isDev && typeof opts.error.stack === 'string') {\n shape.data.stack = opts.error.stack;\n }\n if (typeof path === 'string') {\n shape.data.path = path;\n }\n return config.errorFormatter({ ...opts, shape });\n}\n", "import type { ProcedureType } from '../procedure';\nimport type {\n TRPC_ERROR_CODE_KEY,\n TRPC_ERROR_CODE_NUMBER,\n TRPCErrorShape,\n} from '../rpc';\nimport type { TRPCError } from './TRPCError';\n\n/**\n * @internal\n */\nexport type ErrorFormatter = (opts: {\n error: TRPCError;\n type: ProcedureType | 'unknown';\n path: string | undefined;\n input: unknown;\n ctx: TContext | undefined;\n shape: DefaultErrorShape;\n}) => TShape;\n\n/**\n * @internal\n */\nexport type DefaultErrorData = {\n code: TRPC_ERROR_CODE_KEY;\n httpStatus: number;\n /**\n * Path to the procedure that threw the error\n */\n path?: string;\n /**\n * Stack trace of the error (only in development)\n */\n stack?: string;\n};\n\n/**\n * @internal\n */\nexport interface DefaultErrorShape extends TRPCErrorShape {\n message: string;\n code: TRPC_ERROR_CODE_NUMBER;\n}\n\nexport const defaultFormatter: ErrorFormatter = ({ shape }) => {\n return shape;\n};\n", "import type { TRPC_ERROR_CODE_KEY } from '../rpc/codes';\nimport { isObject } from '../utils';\n\nclass UnknownCauseError extends Error {\n [key: string]: unknown;\n}\nexport function getCauseFromUnknown(cause: unknown): Error | undefined {\n if (cause instanceof Error) {\n return cause;\n }\n\n const type = typeof cause;\n if (type === 'undefined' || type === 'function' || cause === null) {\n return undefined;\n }\n\n // Primitive types just get wrapped in an error\n if (type !== 'object') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return new Error(String(cause));\n }\n\n // If it's an object, we'll create a synthetic error\n if (isObject(cause)) {\n return Object.assign(new UnknownCauseError(), cause);\n }\n\n return undefined;\n}\n\nexport function getTRPCErrorFromUnknown(cause: unknown): TRPCError {\n if (cause instanceof TRPCError) {\n return cause;\n }\n if (cause instanceof Error && cause.name === 'TRPCError') {\n // https://github.com/trpc/trpc/pull/4848\n return cause as TRPCError;\n }\n\n const trpcError = new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n cause,\n });\n\n // Inherit stack from error\n if (cause instanceof Error && cause.stack) {\n trpcError.stack = cause.stack;\n }\n\n return trpcError;\n}\n\nexport class TRPCError extends Error {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore override doesn't work in all environments due to \"This member cannot have an 'override' modifier because it is not declared in the base class 'Error'\"\n public override readonly cause?: Error;\n public readonly code;\n\n constructor(opts: {\n message?: string;\n code: TRPC_ERROR_CODE_KEY;\n cause?: unknown;\n }) {\n const cause = getCauseFromUnknown(opts.cause);\n const message = opts.message ?? cause?.message ?? opts.code;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore https://github.com/tc39/proposal-error-cause\n super(message, { cause });\n\n this.code = opts.code;\n this.name = 'TRPCError';\n this.cause ??= cause;\n }\n}\n", "import type { AnyRootTypes, RootConfig } from './rootConfig';\nimport type { AnyRouter, inferRouterError } from './router';\nimport type {\n TRPCResponse,\n TRPCResponseMessage,\n TRPCResultMessage,\n} from './rpc';\nimport { isObject } from './utils';\n\n/**\n * @public\n */\nexport interface DataTransformer {\n serialize(object: any): any;\n deserialize(object: any): any;\n}\n\ninterface InputDataTransformer extends DataTransformer {\n /**\n * This function runs **on the client** before sending the data to the server.\n */\n serialize(object: any): any;\n /**\n * This function runs **on the server** to transform the data before it is passed to the resolver\n */\n deserialize(object: any): any;\n}\n\ninterface OutputDataTransformer extends DataTransformer {\n /**\n * This function runs **on the server** before sending the data to the client.\n */\n serialize(object: any): any;\n /**\n * This function runs **only on the client** to transform the data sent from the server.\n */\n deserialize(object: any): any;\n}\n\n/**\n * @public\n */\nexport interface CombinedDataTransformer {\n /**\n * Specify how the data sent from the client to the server should be transformed.\n */\n input: InputDataTransformer;\n /**\n * Specify how the data sent from the server to the client should be transformed.\n */\n output: OutputDataTransformer;\n}\n\n/**\n * @public\n */\nexport type CombinedDataTransformerClient = {\n input: Pick;\n output: Pick;\n};\n\n/**\n * @public\n */\nexport type DataTransformerOptions = CombinedDataTransformer | DataTransformer;\n\n/**\n * @internal\n */\nexport function getDataTransformer(\n transformer: DataTransformerOptions,\n): CombinedDataTransformer {\n if ('input' in transformer) {\n return transformer;\n }\n return { input: transformer, output: transformer };\n}\n\n/**\n * @internal\n */\nexport const defaultTransformer: CombinedDataTransformer = {\n input: { serialize: (obj) => obj, deserialize: (obj) => obj },\n output: { serialize: (obj) => obj, deserialize: (obj) => obj },\n};\n\nfunction transformTRPCResponseItem<\n TResponseItem extends TRPCResponse | TRPCResponseMessage,\n>(config: RootConfig, item: TResponseItem): TResponseItem {\n if ('error' in item) {\n return {\n ...item,\n error: config.transformer.output.serialize(item.error),\n };\n }\n\n if ('data' in item.result) {\n return {\n ...item,\n result: {\n ...item.result,\n data: config.transformer.output.serialize(item.result.data),\n },\n };\n }\n\n return item;\n}\n\n/**\n * Takes a unserialized `TRPCResponse` and serializes it with the router's transformers\n **/\nexport function transformTRPCResponse<\n TResponse extends\n | TRPCResponse\n | TRPCResponse[]\n | TRPCResponseMessage\n | TRPCResponseMessage[],\n>(config: RootConfig, itemOrItems: TResponse) {\n return Array.isArray(itemOrItems)\n ? itemOrItems.map((item) => transformTRPCResponseItem(config, item))\n : transformTRPCResponseItem(config, itemOrItems);\n}\n\n// FIXME:\n// - the generics here are probably unnecessary\n// - the RPC-spec could probably be simplified to combine HTTP + WS\n/** @internal */\nfunction transformResultInner(\n response:\n | TRPCResponse>\n | TRPCResponseMessage>,\n transformer: DataTransformer,\n) {\n if ('error' in response) {\n const error = transformer.deserialize(\n response.error,\n ) as inferRouterError;\n return {\n ok: false,\n error: {\n ...response,\n error,\n },\n } as const;\n }\n\n const result = {\n ...response.result,\n ...((!response.result.type || response.result.type === 'data') && {\n type: 'data',\n data: transformer.deserialize(response.result.data),\n }),\n } as TRPCResultMessage['result'];\n return { ok: true, result } as const;\n}\n\nclass TransformResultError extends Error {\n constructor() {\n super('Unable to transform response from server');\n }\n}\n\n/**\n * Transforms and validates that the result is a valid TRPCResponse\n * @internal\n */\nexport function transformResult(\n response:\n | TRPCResponse>\n | TRPCResponseMessage>,\n transformer: DataTransformer,\n): ReturnType {\n let result: ReturnType;\n try {\n // Use the data transformers on the JSON-response\n result = transformResultInner(response, transformer);\n } catch {\n throw new TransformResultError();\n }\n\n // check that output of the transformers is a valid TRPCResponse\n if (\n !result.ok &&\n (!isObject(result.error.error) ||\n typeof result.error.error['code'] !== 'number')\n ) {\n throw new TransformResultError();\n }\n if (result.ok && !isObject(result.result)) {\n throw new TransformResultError();\n }\n return result;\n}\n", "import type { Observable } from '../observable';\nimport { createRecursiveProxy } from './createProxy';\nimport { defaultFormatter } from './error/formatter';\nimport { getTRPCErrorFromUnknown, TRPCError } from './error/TRPCError';\nimport type {\n AnyProcedure,\n ErrorHandlerOptions,\n inferProcedureInput,\n inferProcedureOutput,\n LegacyObservableSubscriptionProcedure,\n} from './procedure';\nimport type { ProcedureCallOptions } from './procedureBuilder';\nimport type { AnyRootTypes, RootConfig } from './rootConfig';\nimport { defaultTransformer } from './transformer';\nimport type { MaybePromise, ValueOf } from './types';\nimport {\n emptyObject,\n isFunction,\n isObject,\n mergeWithoutOverrides,\n} from './utils';\n\nexport interface RouterRecord {\n [key: string]: AnyProcedure | RouterRecord;\n}\n\ntype DecorateProcedure = (\n input: inferProcedureInput,\n) => Promise<\n TProcedure['_def']['type'] extends 'subscription'\n ? TProcedure extends LegacyObservableSubscriptionProcedure\n ? Observable, TRPCError>\n : inferProcedureOutput\n : inferProcedureOutput\n>;\n\n/**\n * @internal\n */\nexport type DecorateRouterRecord = {\n [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value\n ? $Value extends AnyProcedure\n ? DecorateProcedure<$Value>\n : $Value extends RouterRecord\n ? DecorateRouterRecord<$Value>\n : never\n : never;\n};\n\n/**\n * @internal\n */\n\nexport type RouterCallerErrorHandler = (\n opts: ErrorHandlerOptions,\n) => void;\n\n/**\n * @internal\n */\nexport type RouterCaller<\n TRoot extends AnyRootTypes,\n TRecord extends RouterRecord,\n> = (\n /**\n * @note\n * If passing a function, we recommend it's a cached function\n * e.g. wrapped in `React.cache` to avoid unnecessary computations\n */\n ctx: TRoot['ctx'] | (() => MaybePromise),\n options?: {\n onError?: RouterCallerErrorHandler;\n signal?: AbortSignal;\n },\n) => DecorateRouterRecord;\n\n/**\n * @internal\n */\nconst lazyMarker = 'lazyMarker' as 'lazyMarker' & {\n __brand: 'lazyMarker';\n};\nexport type Lazy = (() => Promise) & { [lazyMarker]: true };\n\ntype LazyLoader = {\n load: () => Promise;\n ref: Lazy;\n};\n\nfunction once(fn: () => T): () => T {\n const uncalled = Symbol();\n let result: T | typeof uncalled = uncalled;\n return (): T => {\n if (result === uncalled) {\n result = fn();\n }\n return result;\n };\n}\n\n/**\n * Lazy load a router\n * @see https://trpc.io/docs/server/merging-routers#lazy-load\n */\nexport function lazy(\n importRouter: () => Promise<\n | TRouter\n | {\n [key: string]: TRouter;\n }\n >,\n): Lazy> {\n async function resolve(): Promise {\n const mod = await importRouter();\n\n // if the module is a router, return it\n if (isRouter(mod)) {\n return mod;\n }\n\n const routers = Object.values(mod);\n\n if (routers.length !== 1 || !isRouter(routers[0])) {\n throw new Error(\n \"Invalid router module - either define exactly 1 export or return the router directly.\\nExample: `lazy(() => import('./slow.js').then((m) => m.slowRouter))`\",\n );\n }\n\n return routers[0];\n }\n\n (resolve as Lazy>)[lazyMarker] = true as const;\n\n return resolve as Lazy>;\n}\n\nfunction isLazy(input: unknown): input is Lazy {\n return typeof input === 'function' && lazyMarker in input;\n}\n\n/**\n * @internal\n */\nexport interface RouterDef<\n TRoot extends AnyRootTypes,\n TRecord extends RouterRecord,\n> {\n _config: RootConfig;\n router: true;\n procedure?: never;\n procedures: TRecord;\n record: TRecord;\n lazy: Record>;\n}\n\nexport interface Router<\n TRoot extends AnyRootTypes,\n TRecord extends RouterRecord,\n> {\n _def: RouterDef;\n /**\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */\n createCaller: RouterCaller;\n}\n\nexport type BuiltRouter<\n TRoot extends AnyRootTypes,\n TRecord extends RouterRecord,\n> = Router & TRecord;\n\nexport interface RouterBuilder {\n (\n _: TIn,\n ): BuiltRouter>;\n}\n\nexport type AnyRouter = Router;\n\nexport type inferRouterRootTypes =\n TRouter['_def']['_config']['$types'];\n\nexport type inferRouterContext =\n inferRouterRootTypes['ctx'];\nexport type inferRouterError =\n inferRouterRootTypes['errorShape'];\nexport type inferRouterMeta =\n inferRouterRootTypes['meta'];\n\nfunction isRouter(value: unknown): value is AnyRouter {\n return (\n isObject(value) && isObject(value['_def']) && 'router' in value['_def']\n );\n}\n\nconst emptyRouter = {\n _ctx: null as any,\n _errorShape: null as any,\n _meta: null as any,\n queries: {},\n mutations: {},\n subscriptions: {},\n errorFormatter: defaultFormatter,\n transformer: defaultTransformer,\n};\n\n/**\n * Reserved words that can't be used as router or procedure names\n */\nconst reservedWords = [\n /**\n * Then is a reserved word because otherwise we can't return a promise that returns a Proxy\n * since JS will think that `.then` is something that exists\n */\n 'then',\n /**\n * `fn.call()` and `fn.apply()` are reserved words because otherwise we can't call a function using `.call` or `.apply`\n */\n 'call',\n 'apply',\n];\n\n/** @internal */\nexport type CreateRouterOptions = {\n [key: string]:\n | AnyProcedure\n | AnyRouter\n | CreateRouterOptions\n | Lazy;\n};\n\n/** @internal */\nexport type DecorateCreateRouterOptions<\n TRouterOptions extends CreateRouterOptions,\n> = {\n [K in keyof TRouterOptions]: TRouterOptions[K] extends infer $Value\n ? $Value extends AnyProcedure\n ? $Value\n : $Value extends Router\n ? TRecord\n : $Value extends Lazy>\n ? TRecord\n : $Value extends CreateRouterOptions\n ? DecorateCreateRouterOptions<$Value>\n : never\n : never;\n};\n\n/**\n * @internal\n */\nexport function createRouterFactory(\n config: RootConfig,\n) {\n function createRouterInner(\n input: TInput,\n ): BuiltRouter> {\n const reservedWordsUsed = new Set(\n Object.keys(input).filter((v) => reservedWords.includes(v)),\n );\n if (reservedWordsUsed.size > 0) {\n throw new Error(\n 'Reserved words used in `router({})` call: ' +\n Array.from(reservedWordsUsed).join(', '),\n );\n }\n\n const procedures: Record = emptyObject();\n const lazy: Record> = emptyObject();\n\n function createLazyLoader(opts: {\n ref: Lazy;\n path: readonly string[];\n key: string;\n aggregate: RouterRecord;\n }): LazyLoader {\n return {\n ref: opts.ref,\n load: once(async () => {\n const router = await opts.ref();\n const lazyPath = [...opts.path, opts.key];\n const lazyKey = lazyPath.join('.');\n\n opts.aggregate[opts.key] = step(router._def.record, lazyPath);\n\n delete lazy[lazyKey];\n\n // add lazy loaders for nested routers\n for (const [nestedKey, nestedItem] of Object.entries(\n router._def.lazy,\n )) {\n const nestedRouterKey = [...lazyPath, nestedKey].join('.');\n\n // console.log('adding lazy', nestedRouterKey);\n lazy[nestedRouterKey] = createLazyLoader({\n ref: nestedItem.ref,\n path: lazyPath,\n key: nestedKey,\n aggregate: opts.aggregate[opts.key] as RouterRecord,\n });\n }\n }),\n };\n }\n\n function step(from: CreateRouterOptions, path: readonly string[] = []) {\n const aggregate: RouterRecord = emptyObject();\n for (const [key, item] of Object.entries(from ?? {})) {\n if (isLazy(item)) {\n lazy[[...path, key].join('.')] = createLazyLoader({\n path,\n ref: item,\n key,\n aggregate,\n });\n continue;\n }\n if (isRouter(item)) {\n aggregate[key] = step(item._def.record, [...path, key]);\n continue;\n }\n if (!isProcedure(item)) {\n // RouterRecord\n aggregate[key] = step(item, [...path, key]);\n continue;\n }\n\n const newPath = [...path, key].join('.');\n\n if (procedures[newPath]) {\n throw new Error(`Duplicate key: ${newPath}`);\n }\n\n procedures[newPath] = item;\n aggregate[key] = item;\n }\n\n return aggregate;\n }\n const record = step(input);\n\n const _def: AnyRouter['_def'] = {\n _config: config,\n router: true,\n procedures,\n lazy,\n ...emptyRouter,\n record,\n };\n\n const router: BuiltRouter = {\n ...(record as {}),\n _def,\n createCaller: createCallerFactory()({\n _def,\n }),\n };\n return router as BuiltRouter>;\n }\n\n return createRouterInner;\n}\n\nfunction isProcedure(\n procedureOrRouter: ValueOf,\n): procedureOrRouter is AnyProcedure {\n return typeof procedureOrRouter === 'function';\n}\n\n/**\n * @internal\n */\nexport async function getProcedureAtPath(\n router: Pick, '_def'>,\n path: string,\n): Promise {\n const { _def } = router;\n let procedure = _def.procedures[path];\n\n while (!procedure) {\n const key = Object.keys(_def.lazy).find((key) => path.startsWith(key));\n // console.log(`found lazy: ${key ?? 'NOPE'} (fullPath: ${fullPath})`);\n\n if (!key) {\n return null;\n }\n // console.log('loading', key, '.......');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const lazyRouter = _def.lazy[key]!;\n await lazyRouter.load();\n\n procedure = _def.procedures[path];\n }\n\n return procedure;\n}\n\n/**\n * @internal\n */\nexport async function callProcedure(\n opts: ProcedureCallOptions & {\n router: AnyRouter;\n allowMethodOverride?: boolean;\n },\n) {\n const { type, path } = opts;\n const proc = await getProcedureAtPath(opts.router, path);\n if (\n !proc ||\n !isProcedure(proc) ||\n (proc._def.type !== type && !opts.allowMethodOverride)\n ) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No \"${type}\"-procedure on path \"${path}\"`,\n });\n }\n\n /* istanbul ignore if -- @preserve */\n if (\n proc._def.type !== type &&\n opts.allowMethodOverride &&\n proc._def.type === 'subscription'\n ) {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message: `Method override is not supported for subscriptions`,\n });\n }\n\n return proc(opts);\n}\n\nexport interface RouterCallerFactory {\n (\n router: Pick, '_def'>,\n ): RouterCaller;\n}\n\nexport function createCallerFactory<\n TRoot extends AnyRootTypes,\n>(): RouterCallerFactory {\n return function createCallerInner(\n router: Pick, '_def'>,\n ): RouterCaller {\n const { _def } = router;\n type Context = TRoot['ctx'];\n\n return function createCaller(ctxOrCallback, opts) {\n return createRecursiveProxy>>(\n async (innerOpts) => {\n const { path, args } = innerOpts;\n const fullPath = path.join('.');\n\n if (path.length === 1 && path[0] === '_def') {\n return _def;\n }\n\n const procedure = await getProcedureAtPath(router, fullPath);\n\n let ctx: Context | undefined = undefined;\n try {\n if (!procedure) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No procedure found on path \"${path}\"`,\n });\n }\n ctx = isFunction(ctxOrCallback)\n ? await Promise.resolve(ctxOrCallback())\n : ctxOrCallback;\n\n return await procedure({\n path: fullPath,\n getRawInput: async () => args[0],\n ctx,\n type: procedure._def.type,\n signal: opts?.signal,\n batchIndex: 0,\n });\n } catch (cause) {\n opts?.onError?.({\n ctx,\n error: getTRPCErrorFromUnknown(cause),\n input: args[0],\n path: fullPath,\n type: procedure?._def.type ?? 'unknown',\n });\n throw cause;\n }\n },\n );\n };\n };\n}\n\n/** @internal */\nexport type MergeRouters<\n TRouters extends AnyRouter[],\n TRoot extends AnyRootTypes = TRouters[0]['_def']['_config']['$types'],\n TRecord extends RouterRecord = {},\n> = TRouters extends [\n infer Head extends AnyRouter,\n ...infer Tail extends AnyRouter[],\n]\n ? MergeRouters\n : BuiltRouter;\n\nexport function mergeRouters(\n ...routerList: [...TRouters]\n): MergeRouters {\n const record = mergeWithoutOverrides(\n {},\n ...routerList.map((r) => r._def.record),\n );\n const errorFormatter = routerList.reduce(\n (currentErrorFormatter, nextRouter) => {\n if (\n nextRouter._def._config.errorFormatter &&\n nextRouter._def._config.errorFormatter !== defaultFormatter\n ) {\n if (\n currentErrorFormatter !== defaultFormatter &&\n currentErrorFormatter !== nextRouter._def._config.errorFormatter\n ) {\n throw new Error('You seem to have several error formatters');\n }\n return nextRouter._def._config.errorFormatter;\n }\n return currentErrorFormatter;\n },\n defaultFormatter,\n );\n\n const transformer = routerList.reduce((prev, current) => {\n if (\n current._def._config.transformer &&\n current._def._config.transformer !== defaultTransformer\n ) {\n if (\n prev !== defaultTransformer &&\n prev !== current._def._config.transformer\n ) {\n throw new Error('You seem to have several transformers');\n }\n return current._def._config.transformer;\n }\n return prev;\n }, defaultTransformer);\n\n const router = createRouterFactory({\n errorFormatter,\n transformer,\n isDev: routerList.every((r) => r._def._config.isDev),\n allowOutsideOfServer: routerList.every(\n (r) => r._def._config.allowOutsideOfServer,\n ),\n isServer: routerList.every((r) => r._def._config.isServer),\n $types: routerList[0]?._def._config.$types,\n sse: routerList[0]?._def._config.sse,\n })(record);\n\n return router as MergeRouters;\n}\n", "const trackedSymbol = Symbol();\n\ntype TrackedId = string & {\n __brand: 'TrackedId';\n};\nexport type TrackedEnvelope = [TrackedId, TData, typeof trackedSymbol];\n\nexport interface TrackedData {\n /**\n * The id of the message to keep track of in case the connection gets lost\n */\n id: string;\n /**\n * The data field of the message\n */\n data: TData;\n}\n/**\n * Produce a typed server-sent event message\n * @deprecated use `tracked(id, data)` instead\n */\nexport function sse(event: { id: string; data: TData }) {\n return tracked(event.id, event.data);\n}\n\nexport function isTrackedEnvelope(\n value: unknown,\n): value is TrackedEnvelope {\n return Array.isArray(value) && value[2] === trackedSymbol;\n}\n\n/**\n * Automatically track an event so that it can be resumed from a given id if the connection is lost\n */\nexport function tracked(\n id: string,\n data: TData,\n): TrackedEnvelope {\n if (id === '') {\n // This limitation could be removed by using different SSE event names / channels for tracked event and non-tracked event\n throw new Error(\n '`id` must not be an empty string as empty string is the same as not setting the id at all',\n );\n }\n return [id as TrackedId, data, trackedSymbol];\n}\n\nexport type inferTrackedOutput =\n TData extends TrackedEnvelope ? TrackedData<$Data> : TData;\n", "import { TRPCError } from './error/TRPCError';\nimport type { ParseFn } from './parser';\nimport type { ProcedureType } from './procedure';\nimport type { GetRawInputFn, Overwrite, Simplify } from './types';\nimport { isObject } from './utils';\n\n/** @internal */\nexport const middlewareMarker = 'middlewareMarker' as 'middlewareMarker' & {\n __brand: 'middlewareMarker';\n};\ntype MiddlewareMarker = typeof middlewareMarker;\n\ninterface MiddlewareResultBase {\n /**\n * All middlewares should pass through their `next()`'s output.\n * Requiring this marker makes sure that can't be forgotten at compile-time.\n */\n readonly marker: MiddlewareMarker;\n}\n\ninterface MiddlewareOKResult<_TContextOverride> extends MiddlewareResultBase {\n ok: true;\n data: unknown;\n // this could be extended with `input`/`rawInput` later\n}\n\ninterface MiddlewareErrorResult<_TContextOverride>\n extends MiddlewareResultBase {\n ok: false;\n error: TRPCError;\n}\n\n/**\n * @internal\n */\nexport type MiddlewareResult<_TContextOverride> =\n | MiddlewareErrorResult<_TContextOverride>\n | MiddlewareOKResult<_TContextOverride>;\n\n/**\n * @internal\n */\nexport interface MiddlewareBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n> {\n /**\n * Create a new builder based on the current middleware builder\n */\n unstable_pipe<$ContextOverridesOut>(\n fn:\n | MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n $ContextOverridesOut,\n TInputOut\n >\n | MiddlewareBuilder<\n Overwrite,\n TMeta,\n $ContextOverridesOut,\n TInputOut\n >,\n ): MiddlewareBuilder<\n TContext,\n TMeta,\n Overwrite,\n TInputOut\n >;\n\n /**\n * List of middlewares within this middleware builder\n */\n _middlewares: MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n object,\n TInputOut\n >[];\n}\n\n/**\n * @internal\n */\nexport type MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverridesIn,\n $ContextOverridesOut,\n TInputOut,\n> = {\n (opts: {\n ctx: Simplify>;\n type: ProcedureType;\n path: string;\n input: TInputOut;\n getRawInput: GetRawInputFn;\n meta: TMeta | undefined;\n signal: AbortSignal | undefined;\n /**\n * The index of this call in a batch request.\n */\n batchIndex: number;\n next: {\n (): Promise>;\n <$ContextOverride>(opts: {\n ctx?: $ContextOverride;\n input?: unknown;\n }): Promise>;\n (opts: {\n getRawInput: GetRawInputFn;\n }): Promise>;\n };\n }): Promise>;\n _type?: string | undefined;\n};\n\nexport type AnyMiddlewareFunction = MiddlewareFunction;\nexport type AnyMiddlewareBuilder = MiddlewareBuilder;\n/**\n * @internal\n */\nexport function createMiddlewareFactory<\n TContext,\n TMeta,\n TInputOut = unknown,\n>() {\n function createMiddlewareInner(\n middlewares: AnyMiddlewareFunction[],\n ): AnyMiddlewareBuilder {\n return {\n _middlewares: middlewares,\n unstable_pipe(middlewareBuilderOrFn) {\n const pipedMiddleware =\n '_middlewares' in middlewareBuilderOrFn\n ? middlewareBuilderOrFn._middlewares\n : [middlewareBuilderOrFn];\n\n return createMiddlewareInner([...middlewares, ...pipedMiddleware]);\n },\n };\n }\n\n function createMiddleware<$ContextOverrides>(\n fn: MiddlewareFunction<\n TContext,\n TMeta,\n object,\n $ContextOverrides,\n TInputOut\n >,\n ): MiddlewareBuilder {\n return createMiddlewareInner([fn]);\n }\n\n return createMiddleware;\n}\n\n/**\n * Create a standalone middleware\n * @see https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares\n * @deprecated use `.concat()` instead\n */\nexport const experimental_standaloneMiddleware = <\n TCtx extends {\n ctx?: object;\n meta?: object;\n input?: unknown;\n },\n>() => ({\n create: createMiddlewareFactory<\n TCtx extends { ctx: infer T extends object } ? T : any,\n TCtx extends { meta: infer T extends object } ? T : object,\n TCtx extends { input: infer T } ? T : unknown\n >(),\n});\n\n/**\n * @internal\n * Please note, `trpc-openapi` uses this function.\n */\nexport function createInputMiddleware(parse: ParseFn) {\n const inputMiddleware: AnyMiddlewareFunction =\n async function inputValidatorMiddleware(opts) {\n let parsedInput: ReturnType;\n\n const rawInput = await opts.getRawInput();\n try {\n parsedInput = await parse(rawInput);\n } catch (cause) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n cause,\n });\n }\n\n // Multiple input parsers\n const combinedInput =\n isObject(opts.input) && isObject(parsedInput)\n ? {\n ...opts.input,\n ...parsedInput,\n }\n : parsedInput;\n\n return opts.next({ input: combinedInput });\n };\n inputMiddleware._type = 'input';\n return inputMiddleware;\n}\n\n/**\n * @internal\n */\nexport function createOutputMiddleware(parse: ParseFn) {\n const outputMiddleware: AnyMiddlewareFunction =\n async function outputValidatorMiddleware({ next }) {\n const result = await next();\n if (!result.ok) {\n // pass through failures without validating\n return result;\n }\n try {\n const data = await parse(result.data);\n return {\n ...result,\n data,\n };\n } catch (cause) {\n throw new TRPCError({\n message: 'Output validation failed',\n code: 'INTERNAL_SERVER_ERROR',\n cause,\n });\n }\n };\n outputMiddleware._type = 'output';\n return outputMiddleware;\n}\n", "import type { StandardSchemaV1 } from \"./spec\";\n\n/** A schema error with useful information. */\n\nexport class StandardSchemaV1Error extends Error {\n /** The schema issues. */\n public readonly issues: ReadonlyArray;\n\n /**\n * Creates a schema error with useful information.\n *\n * @param issues The schema issues.\n */\n constructor(issues: ReadonlyArray) {\n super(issues[0]?.message);\n this.name = 'SchemaError';\n this.issues = issues;\n }\n}\n", "import { StandardSchemaV1Error } from '../vendor/standard-schema-v1/error';\nimport { type StandardSchemaV1 } from '../vendor/standard-schema-v1/spec';\n\n// zod / typeschema\nexport type ParserZodEsque = {\n _input: TInput;\n _output: TParsedInput;\n};\n\nexport type ParserValibotEsque = {\n schema: {\n _types?: {\n input: TInput;\n output: TParsedInput;\n };\n };\n};\n\nexport type ParserArkTypeEsque = {\n inferIn: TInput;\n infer: TParsedInput;\n};\n\nexport type ParserStandardSchemaEsque = StandardSchemaV1<\n TInput,\n TParsedInput\n>;\n\nexport type ParserMyZodEsque = {\n parse: (input: any) => TInput;\n};\n\nexport type ParserSuperstructEsque = {\n create: (input: unknown) => TInput;\n};\n\nexport type ParserCustomValidatorEsque = (\n input: unknown,\n) => Promise | TInput;\n\nexport type ParserYupEsque = {\n validateSync: (input: unknown) => TInput;\n};\n\nexport type ParserScaleEsque = {\n assert(value: unknown): asserts value is TInput;\n};\n\nexport type ParserWithoutInput =\n | ParserCustomValidatorEsque\n | ParserMyZodEsque\n | ParserScaleEsque\n | ParserSuperstructEsque\n | ParserYupEsque;\n\nexport type ParserWithInputOutput =\n | ParserZodEsque\n | ParserValibotEsque\n | ParserArkTypeEsque\n | ParserStandardSchemaEsque;\n\nexport type Parser = ParserWithInputOutput | ParserWithoutInput;\n\nexport type inferParser =\n TParser extends ParserStandardSchemaEsque\n ? {\n in: $TIn;\n out: $TOut;\n }\n : TParser extends ParserWithInputOutput\n ? {\n in: $TIn;\n out: $TOut;\n }\n : TParser extends ParserWithoutInput\n ? {\n in: $InOut;\n out: $InOut;\n }\n : never;\n\nexport type ParseFn = (value: unknown) => Promise | TType;\n\nexport function getParseFn(procedureParser: Parser): ParseFn {\n const parser = procedureParser as any;\n const isStandardSchema = '~standard' in parser;\n\n if (typeof parser === 'function' && typeof parser.assert === 'function') {\n // ParserArkTypeEsque - arktype schemas shouldn't be called as a function because they return a union type instead of throwing\n return parser.assert.bind(parser);\n }\n\n if (typeof parser === 'function' && !isStandardSchema) {\n // ParserValibotEsque (>= v0.31.0)\n // ParserCustomValidatorEsque - note the check for standard-schema conformance - some libraries like `effect` use function schemas which are *not* a \"parse\" function.\n return parser;\n }\n\n if (typeof parser.parseAsync === 'function') {\n // ParserZodEsque\n return parser.parseAsync.bind(parser);\n }\n\n if (typeof parser.parse === 'function') {\n // ParserZodEsque\n // ParserValibotEsque (< v0.13.0)\n return parser.parse.bind(parser);\n }\n\n if (typeof parser.validateSync === 'function') {\n // ParserYupEsque\n return parser.validateSync.bind(parser);\n }\n\n if (typeof parser.create === 'function') {\n // ParserSuperstructEsque\n return parser.create.bind(parser);\n }\n\n if (typeof parser.assert === 'function') {\n // ParserScaleEsque\n return (value) => {\n parser.assert(value);\n return value as TType;\n };\n }\n\n if (isStandardSchema) {\n // StandardSchemaEsque\n return async (value) => {\n const result = await parser['~standard'].validate(value);\n if (result.issues) {\n throw new StandardSchemaV1Error(result.issues);\n }\n return result.value;\n };\n }\n\n throw new Error('Could not find a validator fn');\n}\n", "function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import type { inferObservableValue, Observable } from '../observable';\nimport { getTRPCErrorFromUnknown, TRPCError } from './error/TRPCError';\nimport type {\n AnyMiddlewareFunction,\n MiddlewareBuilder,\n MiddlewareFunction,\n MiddlewareResult,\n} from './middleware';\nimport {\n createInputMiddleware,\n createOutputMiddleware,\n middlewareMarker,\n} from './middleware';\nimport type { inferParser, Parser } from './parser';\nimport { getParseFn } from './parser';\nimport type {\n AnyMutationProcedure,\n AnyProcedure,\n AnyQueryProcedure,\n LegacyObservableSubscriptionProcedure,\n MutationProcedure,\n ProcedureType,\n QueryProcedure,\n SubscriptionProcedure,\n} from './procedure';\nimport type { inferTrackedOutput } from './stream/tracked';\nimport type {\n GetRawInputFn,\n MaybePromise,\n Overwrite,\n Simplify,\n TypeError,\n} from './types';\nimport type { UnsetMarker } from './utils';\nimport { mergeWithoutOverrides } from './utils';\n\ntype IntersectIfDefined = TType extends UnsetMarker\n ? TWith\n : TWith extends UnsetMarker\n ? TType\n : Simplify;\n\ntype DefaultValue = TValue extends UnsetMarker\n ? TFallback\n : TValue;\n\ntype inferAsyncIterable =\n TOutput extends AsyncIterable\n ? {\n yield: $Yield;\n return: $Return;\n next: $Next;\n }\n : never;\ntype inferSubscriptionOutput =\n TOutput extends AsyncIterable\n ? AsyncIterable<\n inferTrackedOutput['yield']>,\n inferAsyncIterable['return'],\n inferAsyncIterable['next']\n >\n : TypeError<'Subscription output could not be inferred'>;\n\nexport type CallerOverride = (opts: {\n args: unknown[];\n invoke: (opts: ProcedureCallOptions) => Promise;\n _def: AnyProcedure['_def'];\n}) => Promise;\ntype ProcedureBuilderDef = {\n procedure: true;\n inputs: Parser[];\n output?: Parser;\n meta?: TMeta;\n resolver?: ProcedureBuilderResolver;\n middlewares: AnyMiddlewareFunction[];\n /**\n * @deprecated use `type` instead\n */\n mutation?: boolean;\n /**\n * @deprecated use `type` instead\n */\n query?: boolean;\n /**\n * @deprecated use `type` instead\n */\n subscription?: boolean;\n type?: ProcedureType;\n caller?: CallerOverride;\n};\n\ntype AnyProcedureBuilderDef = ProcedureBuilderDef;\n\n/**\n * Procedure resolver options (what the `.query()`, `.mutation()`, and `.subscription()` functions receive)\n * @internal\n */\nexport interface ProcedureResolverOptions<\n TContext,\n _TMeta,\n TContextOverridesIn,\n TInputOut,\n> {\n ctx: Simplify>;\n input: TInputOut extends UnsetMarker ? undefined : TInputOut;\n /**\n * The AbortSignal of the request\n */\n signal: AbortSignal | undefined;\n /**\n * The path of the procedure\n */\n path: string;\n /**\n * The index of this call in a batch request.\n * Will be set when the procedure is called as part of a batch.\n */\n batchIndex?: number;\n}\n\n/**\n * A procedure resolver\n */\ntype ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputParserIn,\n $Output,\n> = (\n opts: ProcedureResolverOptions,\n) => MaybePromise<\n // If an output parser is defined, we need to return what the parser expects, otherwise we return the inferred type\n DefaultValue\n>;\n\ntype AnyResolver = ProcedureResolver;\nexport type AnyProcedureBuilder = ProcedureBuilder<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>;\n\n/**\n * Infer the context type from a procedure builder\n * Useful to create common helper functions for different procedures\n */\nexport type inferProcedureBuilderResolverOptions<\n TProcedureBuilder extends AnyProcedureBuilder,\n> =\n TProcedureBuilder extends ProcedureBuilder<\n infer TContext,\n infer TMeta,\n infer TContextOverrides,\n infer _TInputIn,\n infer TInputOut,\n infer _TOutputIn,\n infer _TOutputOut,\n infer _TCaller\n >\n ? ProcedureResolverOptions<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut extends UnsetMarker\n ? // if input is not set, we don't want to infer it as `undefined` since a procedure further down the chain might have set an input\n unknown\n : TInputOut extends object\n ? Simplify<\n TInputOut & {\n /**\n * Extra input params might have been added by a `.input()` further down the chain\n */\n [keyAddedByInputCallFurtherDown: string]: unknown;\n }\n >\n : TInputOut\n >\n : never;\n\nexport interface ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller extends boolean,\n> {\n /**\n * Add an input parser to the procedure.\n * @see https://trpc.io/docs/v11/server/validators\n */\n input<$Parser extends Parser>(\n schema: TInputOut extends UnsetMarker\n ? $Parser\n : inferParser<$Parser>['out'] extends Record | undefined\n ? TInputOut extends Record | undefined\n ? undefined extends inferParser<$Parser>['out'] // if current is optional the previous must be too\n ? undefined extends TInputOut\n ? $Parser\n : TypeError<'Cannot chain an optional parser to a required parser'>\n : $Parser\n : TypeError<'All input parsers did not resolve to an object'>\n : TypeError<'All input parsers did not resolve to an object'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n IntersectIfDefined['in']>,\n IntersectIfDefined['out']>,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n /**\n * Add an output parser to the procedure.\n * @see https://trpc.io/docs/v11/server/validators\n */\n output<$Parser extends Parser>(\n schema: $Parser,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n IntersectIfDefined['in']>,\n IntersectIfDefined['out']>,\n TCaller\n >;\n /**\n * Add a meta data to the procedure.\n * @see https://trpc.io/docs/v11/server/metadata\n */\n meta(\n meta: TMeta,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n /**\n * Add a middleware to the procedure.\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n use<$ContextOverridesOut>(\n fn:\n | MiddlewareBuilder<\n Overwrite,\n TMeta,\n $ContextOverridesOut,\n TInputOut\n >\n | MiddlewareFunction<\n TContext,\n TMeta,\n TContextOverrides,\n $ContextOverridesOut,\n TInputOut\n >,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n TCaller\n >;\n\n /**\n * @deprecated use {@link concat} instead\n */\n unstable_concat<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n >(\n builder: Overwrite extends $Context\n ? TMeta extends $Meta\n ? ProcedureBuilder<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n TCaller\n >\n : TypeError<'Meta mismatch'>\n : TypeError<'Context mismatch'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite,\n IntersectIfDefined,\n IntersectIfDefined,\n IntersectIfDefined,\n IntersectIfDefined,\n TCaller\n >;\n\n /**\n * Combine two procedure builders\n */\n concat<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n >(\n builder: Overwrite extends $Context\n ? TMeta extends $Meta\n ? ProcedureBuilder<\n $Context,\n $Meta,\n $ContextOverrides,\n $InputIn,\n $InputOut,\n $OutputIn,\n $OutputOut,\n TCaller\n >\n : TypeError<'Meta mismatch'>\n : TypeError<'Context mismatch'>,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n Overwrite,\n IntersectIfDefined,\n IntersectIfDefined,\n IntersectIfDefined,\n IntersectIfDefined,\n TCaller\n >;\n /**\n * Query procedure\n * @see https://trpc.io/docs/v11/concepts#vocabulary\n */\n query<$Output>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? (\n input: DefaultValue,\n ) => Promise>\n : QueryProcedure<{\n input: DefaultValue;\n output: DefaultValue;\n meta: TMeta;\n }>;\n\n /**\n * Mutation procedure\n * @see https://trpc.io/docs/v11/concepts#vocabulary\n */\n mutation<$Output>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? (\n input: DefaultValue,\n ) => Promise>\n : MutationProcedure<{\n input: DefaultValue;\n output: DefaultValue;\n meta: TMeta;\n }>;\n\n /**\n * Subscription procedure\n * @see https://trpc.io/docs/v11/server/subscriptions\n */\n subscription<$Output extends AsyncIterable>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? TypeError<'Not implemented'>\n : SubscriptionProcedure<{\n input: DefaultValue;\n output: inferSubscriptionOutput>;\n meta: TMeta;\n }>;\n /**\n * @deprecated Using subscriptions with an observable is deprecated. Use an async generator instead.\n * This feature will be removed in v12 of tRPC.\n * @see https://trpc.io/docs/v11/server/subscriptions\n */\n subscription<$Output extends Observable>(\n resolver: ProcedureResolver<\n TContext,\n TMeta,\n TContextOverrides,\n TInputOut,\n TOutputIn,\n $Output\n >,\n ): TCaller extends true\n ? TypeError<'Not implemented'>\n : LegacyObservableSubscriptionProcedure<{\n input: DefaultValue;\n output: inferObservableValue>;\n meta: TMeta;\n }>;\n /**\n * Overrides the way a procedure is invoked\n * Do not use this unless you know what you're doing - this is an experimental API\n */\n experimental_caller(\n caller: CallerOverride,\n ): ProcedureBuilder<\n TContext,\n TMeta,\n TContextOverrides,\n TInputIn,\n TInputOut,\n TOutputIn,\n TOutputOut,\n true\n >;\n /**\n * @internal\n */\n _def: ProcedureBuilderDef;\n}\n\ntype ProcedureBuilderResolver = (\n opts: ProcedureResolverOptions,\n) => Promise;\n\nfunction createNewBuilder(\n def1: AnyProcedureBuilderDef,\n def2: Partial,\n): AnyProcedureBuilder {\n const { middlewares = [], inputs, meta, ...rest } = def2;\n\n // TODO: maybe have a fn here to warn about calls\n return createBuilder({\n ...mergeWithoutOverrides(def1, rest),\n inputs: [...def1.inputs, ...(inputs ?? [])],\n middlewares: [...def1.middlewares, ...middlewares],\n meta: def1.meta && meta ? { ...def1.meta, ...meta } : (meta ?? def1.meta),\n });\n}\n\nexport function createBuilder(\n initDef: Partial = {},\n): ProcedureBuilder<\n TContext,\n TMeta,\n object,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n false\n> {\n const _def: AnyProcedureBuilderDef = {\n procedure: true,\n inputs: [],\n middlewares: [],\n ...initDef,\n };\n\n const builder: AnyProcedureBuilder = {\n _def,\n input(input) {\n const parser = getParseFn(input as Parser);\n return createNewBuilder(_def, {\n inputs: [input as Parser],\n middlewares: [createInputMiddleware(parser)],\n });\n },\n output(output: Parser) {\n const parser = getParseFn(output);\n return createNewBuilder(_def, {\n output,\n middlewares: [createOutputMiddleware(parser)],\n });\n },\n meta(meta) {\n return createNewBuilder(_def, {\n meta,\n });\n },\n use(middlewareBuilderOrFn) {\n // Distinguish between a middleware builder and a middleware function\n const middlewares =\n '_middlewares' in middlewareBuilderOrFn\n ? middlewareBuilderOrFn._middlewares\n : [middlewareBuilderOrFn];\n\n return createNewBuilder(_def, {\n middlewares: middlewares,\n });\n },\n unstable_concat(builder) {\n return createNewBuilder(_def, (builder as AnyProcedureBuilder)._def);\n },\n concat(builder) {\n return createNewBuilder(_def, (builder as AnyProcedureBuilder)._def);\n },\n query(resolver) {\n return createResolver(\n { ..._def, type: 'query' },\n resolver,\n ) as AnyQueryProcedure;\n },\n mutation(resolver) {\n return createResolver(\n { ..._def, type: 'mutation' },\n resolver,\n ) as AnyMutationProcedure;\n },\n subscription(resolver: ProcedureResolver) {\n return createResolver({ ..._def, type: 'subscription' }, resolver) as any;\n },\n experimental_caller(caller) {\n return createNewBuilder(_def, {\n caller,\n }) as any;\n },\n };\n\n return builder;\n}\n\nfunction createResolver(\n _defIn: AnyProcedureBuilderDef & { type: ProcedureType },\n resolver: AnyResolver,\n) {\n const finalBuilder = createNewBuilder(_defIn, {\n resolver,\n middlewares: [\n async function resolveMiddleware(opts) {\n const data = await resolver(opts);\n return {\n marker: middlewareMarker,\n ok: true,\n data,\n ctx: opts.ctx,\n } as const;\n },\n ],\n });\n const _def: AnyProcedure['_def'] = {\n ...finalBuilder._def,\n type: _defIn.type,\n experimental_caller: Boolean(finalBuilder._def.caller),\n meta: finalBuilder._def.meta,\n $types: null as any,\n };\n\n const invoke = createProcedureCaller(finalBuilder._def);\n const callerOverride = finalBuilder._def.caller;\n if (!callerOverride) {\n return invoke;\n }\n const callerWrapper = async (...args: unknown[]) => {\n return await callerOverride({\n args,\n invoke,\n _def: _def,\n });\n };\n\n callerWrapper._def = _def;\n\n return callerWrapper;\n}\n\n/**\n * @internal\n */\nexport interface ProcedureCallOptions {\n ctx: TContext;\n getRawInput: GetRawInputFn;\n input?: unknown;\n path: string;\n type: ProcedureType;\n signal: AbortSignal | undefined;\n /**\n * The index of this call in a batch request.\n */\n batchIndex: number;\n}\n\nconst codeblock = `\nThis is a client-only function.\nIf you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls\n`.trim();\n\n// run the middlewares recursively with the resolver as the last one\nasync function callRecursive(\n index: number,\n _def: AnyProcedureBuilderDef,\n opts: ProcedureCallOptions,\n): Promise> {\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const middleware = _def.middlewares[index]!;\n const result = await middleware({\n ...opts,\n meta: _def.meta,\n input: opts.input,\n next(_nextOpts?: any) {\n const nextOpts = _nextOpts as\n | {\n ctx?: Record;\n input?: unknown;\n getRawInput?: GetRawInputFn;\n }\n | undefined;\n\n return callRecursive(index + 1, _def, {\n ...opts,\n ctx: nextOpts?.ctx ? { ...opts.ctx, ...nextOpts.ctx } : opts.ctx,\n input: nextOpts && 'input' in nextOpts ? nextOpts.input : opts.input,\n getRawInput: nextOpts?.getRawInput ?? opts.getRawInput,\n });\n },\n });\n\n return result;\n } catch (cause) {\n return {\n ok: false,\n error: getTRPCErrorFromUnknown(cause),\n marker: middlewareMarker,\n };\n }\n}\n\nfunction createProcedureCaller(_def: AnyProcedureBuilderDef): AnyProcedure {\n async function procedure(opts: ProcedureCallOptions) {\n // is direct server-side call\n if (!opts || !('getRawInput' in opts)) {\n throw new Error(codeblock);\n }\n\n // there's always at least one \"next\" since we wrap this.resolver in a middleware\n const result = await callRecursive(0, _def, opts);\n\n if (!result) {\n throw new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n message:\n 'No result from middlewares - did you forget to `return next()`?',\n });\n }\n if (!result.ok) {\n // re-throw original error\n throw result.error;\n }\n return result.data;\n }\n\n procedure._def = _def;\n procedure.procedure = true;\n procedure.meta = _def.meta;\n\n // FIXME typecast shouldn't be needed - fixittt\n return procedure as unknown as AnyProcedure;\n}\n", "import type { CombinedDataTransformer } from '../unstable-core-do-not-import';\nimport type { DefaultErrorShape, ErrorFormatter } from './error/formatter';\nimport type { JSONLProducerOptions } from './stream/jsonl';\nimport type { SSEStreamProducerOptions } from './stream/sse';\n\n/**\n * The initial generics that are used in the init function\n * @internal\n */\nexport interface RootTypes {\n ctx: object;\n meta: object;\n errorShape: DefaultErrorShape;\n transformer: boolean;\n}\n\n/**\n * The default check to see if we're in a server\n */\nexport const isServerDefault: boolean =\n typeof window === 'undefined' ||\n 'Deno' in window ||\n // eslint-disable-next-line @typescript-eslint/dot-notation\n globalThis.process?.env?.['NODE_ENV'] === 'test' ||\n !!globalThis.process?.env?.['JEST_WORKER_ID'] ||\n !!globalThis.process?.env?.['VITEST_WORKER_ID'];\n\n/**\n * The tRPC root config\n * @internal\n */\nexport interface RootConfig {\n /**\n * The types that are used in the config\n * @internal\n */\n $types: TTypes;\n /**\n * Use a data transformer\n * @see https://trpc.io/docs/v11/data-transformers\n */\n transformer: CombinedDataTransformer;\n /**\n * Use custom error formatting\n * @see https://trpc.io/docs/v11/error-formatting\n */\n errorFormatter: ErrorFormatter;\n /**\n * Allow `@trpc/server` to run in non-server environments\n * @warning **Use with caution**, this should likely mainly be used within testing.\n * @default false\n */\n allowOutsideOfServer: boolean;\n /**\n * Is this a server environment?\n * @warning **Use with caution**, this should likely mainly be used within testing.\n * @default typeof window === 'undefined' || 'Deno' in window || process.env.NODE_ENV === 'test'\n */\n isServer: boolean;\n /**\n * Is this development?\n * Will be used to decide if the API should return stack traces\n * @default process.env.NODE_ENV !== 'production'\n */\n isDev: boolean;\n\n defaultMeta?: TTypes['meta'] extends object ? TTypes['meta'] : never;\n\n /**\n * Options for server-sent events (SSE) subscriptions\n * @see https://trpc.io/docs/client/links/httpSubscriptionLink\n */\n sse?: {\n /**\n * Enable server-sent events (SSE) subscriptions\n * @default true\n */\n enabled?: boolean;\n } & Pick<\n SSEStreamProducerOptions,\n 'ping' | 'emitAndEndImmediately' | 'maxDurationMs' | 'client'\n >;\n\n /**\n * Options for batch stream\n * @see https://trpc.io/docs/client/links/httpBatchStreamLink\n */\n jsonl?: Pick;\n experimental?: {};\n}\n\n/**\n * @internal\n */\nexport type CreateRootTypes = TGenerics;\n\nexport type AnyRootTypes = CreateRootTypes<{\n ctx: any;\n meta: any;\n errorShape: any;\n transformer: any;\n}>;\n\ntype PartialIf = TCondition extends true\n ? Partial\n : TType;\n\n/**\n * Adds a `createContext` option with a given callback function\n * If context is the default value, then the `createContext` option is optional\n */\nexport type CreateContextCallback<\n TContext,\n TFunction extends (...args: any[]) => any,\n> = PartialIf<\n object extends TContext ? true : false,\n {\n /**\n * @see https://trpc.io/docs/v11/context\n **/\n createContext: TFunction;\n }\n>;\n", "import {\n defaultFormatter,\n type DefaultErrorShape,\n type ErrorFormatter,\n} from './error/formatter';\nimport type { MiddlewareBuilder, MiddlewareFunction } from './middleware';\nimport { createMiddlewareFactory } from './middleware';\nimport type { ProcedureBuilder } from './procedureBuilder';\nimport { createBuilder } from './procedureBuilder';\nimport type { AnyRootTypes, CreateRootTypes } from './rootConfig';\nimport { isServerDefault, type RootConfig } from './rootConfig';\nimport type {\n AnyRouter,\n MergeRouters,\n RouterBuilder,\n RouterCallerFactory,\n} from './router';\nimport {\n createCallerFactory,\n createRouterFactory,\n mergeRouters,\n} from './router';\nimport type { DataTransformerOptions } from './transformer';\nimport { defaultTransformer, getDataTransformer } from './transformer';\nimport type { Unwrap, ValidateShape } from './types';\nimport type { UnsetMarker } from './utils';\n\ntype inferErrorFormatterShape =\n TType extends ErrorFormatter ? TShape : DefaultErrorShape;\n/** @internal */\nexport interface RuntimeConfigOptions<\n TContext extends object,\n TMeta extends object,\n> extends Partial<\n Omit<\n RootConfig<{\n ctx: TContext;\n meta: TMeta;\n errorShape: any;\n transformer: any;\n }>,\n '$types' | 'transformer'\n >\n > {\n /**\n * Use a data transformer\n * @see https://trpc.io/docs/v11/data-transformers\n */\n transformer?: DataTransformerOptions;\n}\n\ntype ContextCallback = (...args: any[]) => object | Promise;\n\nexport interface TRPCRootObject<\n TContext extends object,\n TMeta extends object,\n TOptions extends RuntimeConfigOptions,\n $Root extends AnyRootTypes = {\n ctx: TContext;\n meta: TMeta;\n errorShape: undefined extends TOptions['errorFormatter']\n ? DefaultErrorShape\n : inferErrorFormatterShape;\n transformer: undefined extends TOptions['transformer'] ? false : true;\n },\n> {\n /**\n * Your router config\n * @internal\n */\n _config: RootConfig<$Root>;\n\n /**\n * Builder object for creating procedures\n * @see https://trpc.io/docs/v11/server/procedures\n */\n procedure: ProcedureBuilder<\n TContext,\n TMeta,\n object,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n UnsetMarker,\n false\n >;\n\n /**\n * Create reusable middlewares\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n middleware: <$ContextOverrides>(\n fn: MiddlewareFunction,\n ) => MiddlewareBuilder;\n\n /**\n * Create a router\n * @see https://trpc.io/docs/v11/server/routers\n */\n router: RouterBuilder<$Root>;\n\n /**\n * Merge Routers\n * @see https://trpc.io/docs/v11/server/merging-routers\n */\n mergeRouters: (\n ...routerList: [...TRouters]\n ) => MergeRouters;\n\n /**\n * Create a server-side caller for a router\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */\n createCallerFactory: RouterCallerFactory<$Root>;\n}\n\nclass TRPCBuilder {\n /**\n * Add a context shape as a generic to the root object\n * @see https://trpc.io/docs/v11/server/context\n */\n context() {\n return new TRPCBuilder<\n TNewContext extends ContextCallback ? Unwrap : TNewContext,\n TMeta\n >();\n }\n\n /**\n * Add a meta shape as a generic to the root object\n * @see https://trpc.io/docs/v11/quickstart\n */\n meta() {\n return new TRPCBuilder();\n }\n\n /**\n * Create the root object\n * @see https://trpc.io/docs/v11/server/routers#initialize-trpc\n */\n create>(\n opts?: ValidateShape>,\n ): TRPCRootObject {\n type $Root = CreateRootTypes<{\n ctx: TContext;\n meta: TMeta;\n errorShape: undefined extends TOptions['errorFormatter']\n ? DefaultErrorShape\n : inferErrorFormatterShape;\n transformer: undefined extends TOptions['transformer'] ? false : true;\n }>;\n\n const config: RootConfig<$Root> = {\n ...opts,\n transformer: getDataTransformer(opts?.transformer ?? defaultTransformer),\n isDev:\n opts?.isDev ??\n // eslint-disable-next-line @typescript-eslint/dot-notation\n globalThis.process?.env['NODE_ENV'] !== 'production',\n allowOutsideOfServer: opts?.allowOutsideOfServer ?? false,\n errorFormatter: opts?.errorFormatter ?? defaultFormatter,\n isServer: opts?.isServer ?? isServerDefault,\n /**\n * These are just types, they can't be used at runtime\n * @internal\n */\n $types: null as any,\n };\n\n {\n // Server check\n const isServer: boolean = opts?.isServer ?? isServerDefault;\n\n if (!isServer && opts?.allowOutsideOfServer !== true) {\n throw new Error(\n `You're trying to use @trpc/server in a non-server environment. This is not supported by default.`,\n );\n }\n }\n return {\n /**\n * Your router config\n * @internal\n */\n _config: config,\n /**\n * Builder object for creating procedures\n * @see https://trpc.io/docs/v11/server/procedures\n */\n procedure: createBuilder<$Root['ctx'], $Root['meta']>({\n meta: opts?.defaultMeta,\n }),\n /**\n * Create reusable middlewares\n * @see https://trpc.io/docs/v11/server/middlewares\n */\n middleware: createMiddlewareFactory<$Root['ctx'], $Root['meta']>(),\n /**\n * Create a router\n * @see https://trpc.io/docs/v11/server/routers\n */\n router: createRouterFactory<$Root>(config),\n /**\n * Merge Routers\n * @see https://trpc.io/docs/v11/server/merging-routers\n */\n mergeRouters,\n /**\n * Create a server-side caller for a router\n * @see https://trpc.io/docs/v11/server/server-side-calls\n */\n createCallerFactory: createCallerFactory<$Root>(),\n };\n }\n}\n\n/**\n * Builder to initialize the tRPC root object - use this exactly once per backend\n * @see https://trpc.io/docs/v11/quickstart\n */\nexport const initTRPC = new TRPCBuilder();\nexport type { TRPCBuilder };\n", "import { createFlatProxy, createRecursiveProxy, getErrorShape } from \"./getErrorShape-vC8mUXJD.mjs\";\nimport \"./codes-DagpWZLc.mjs\";\nimport { TRPCError, callProcedure, getTRPCErrorFromUnknown, isTrackedEnvelope, lazy, sse, tracked, transformTRPCResponse } from \"./tracked-Bjtgv3wJ.mjs\";\nimport { StandardSchemaV1Error, experimental_standaloneMiddleware, initTRPC } from \"./initTRPC-RoZMIBeA.mjs\";\n\nexport { StandardSchemaV1Error, TRPCError, callProcedure as callTRPCProcedure, createFlatProxy as createTRPCFlatProxy, createRecursiveProxy as createTRPCRecursiveProxy, lazy as experimental_lazy, experimental_standaloneMiddleware, experimental_standaloneMiddleware as experimental_trpcMiddleware, getErrorShape, getTRPCErrorFromUnknown, getErrorShape as getTRPCErrorShape, initTRPC, isTrackedEnvelope, lazy, sse, tracked, transformTRPCResponse };", "import { initTRPC, TRPCError } from '@trpc/server';\nimport type { Context as HonoContext } from 'hono';\n\nexport interface Context {\n req: HonoContext['req'];\n user?: any;\n staffUser?: {\n id: number;\n name: string;\n } | null;\n}\n\nconst t = initTRPC.context().create();\n\nexport const middleware = t.middleware;\nexport const router = t.router;\nexport { TRPCError };\n\n// Global error logger middleware\nconst errorLoggerMiddleware = middleware(async ({ path, type, next, ctx }) => {\n const start = Date.now();\n\n try {\n const result = await next();\n const duration = Date.now() - start;\n\n // Log successful operations in development\n if (process.env.NODE_ENV === 'development') {\n console.log(`\u2705 ${type} ${path} - ${duration}ms`);\n }\n\n return result;\n } catch (error) {\n const duration = Date.now() - start;\n const err = error as any; // Type assertion for error object\n\n // Comprehensive error logging\n console.error('\uD83D\uDEA8 tRPC Error:', {\n timestamp: new Date().toISOString(),\n path,\n type,\n duration: `${duration}ms`,\n userId: ctx?.user?.userId || ctx?.staffUser?.id || 'anonymous',\n error: {\n name: err.name,\n message: err.message,\n code: err.code,\n stack: err.stack,\n },\n // Add SQL-specific details if available\n ...(err.code && { sqlCode: err.code }),\n ...(err.meta && { sqlMeta: err.meta }),\n ...(err.sql && { sql: err.sql }),\n });\n\n throw error; // Re-throw to maintain error flow\n }\n});\n\nexport const publicProcedure = t.procedure.use(errorLoggerMiddleware);\nexport const protectedProcedure = t.procedure.use(errorLoggerMiddleware).use(\n middleware(async ({ ctx, next }) => {\n\n if ((!ctx.user && !ctx.staffUser)) {\n throw new TRPCError({ code: 'UNAUTHORIZED' });\n }\n return next();\n })\n);\n\nexport const createCallerFactory = t.createCallerFactory;\nexport const createTRPCRouter = t.router;\n", "import { router, publicProcedure } from '@/src/trpc/trpc-index'\nimport {\n getSuspendedProductIds,\n getNextDeliveryDateWithCapacity,\n getStoresSummary,\n} from '@/src/dbService'\nimport { generateSignedUrlsFromS3Urls, generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\nimport { getAllProducts as getAllProductsFromCache } from '@/src/stores/product-store'\nimport { getDashboardTags as getDashboardTagsFromCache } from '@/src/stores/product-tag-store'\n\n// Re-export with original name for backwards compatibility\nexport const getNextDeliveryDate = getNextDeliveryDateWithCapacity\n\nexport async function scaffoldProducts() {\n // Get all products from cache\n let products = await getAllProductsFromCache();\n products = products.filter(item => Boolean(item.id))\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { productInfo } from '@/src/db/schema'\n import { eq } from 'drizzle-orm';\n\n // Get suspended product IDs to filter them out\n const suspendedProducts = await db\n .select({ id: productInfo.id })\n .from(productInfo)\n .where(eq(productInfo.isSuspended, true));\n */\n\n const suspendedProductIds = new Set(await getSuspendedProductIds());\n\n // Filter out suspended products\n products = products.filter(product => !suspendedProductIds.has(product.id));\n\n // Format products to match the expected response structure\n const formattedProducts = await Promise.all(\n products.map(async (product) => {\n const nextDeliveryDate = await getNextDeliveryDateWithCapacity(product.id);\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: parseFloat(product.price),\n marketPrice: product.marketPrice ? parseFloat(product.marketPrice) : null,\n unit: product.unitNotation,\n unitNotation: product.unitNotation,\n incrementStep: product.incrementStep,\n productQuantity: product.productQuantity,\n storeId: product.store?.id || null,\n isOutOfStock: product.isOutOfStock,\n isFlashAvailable: product.isFlashAvailable,\n nextDeliveryDate: nextDeliveryDate ? nextDeliveryDate.toISOString() : null,\n images: product.images,\n flashPrice: product.flashPrice\n };\n })\n );\n\n return {\n products: formattedProducts,\n count: formattedProducts.length,\n };\n}\n\nexport const commonRouter = router({\n getDashboardTags: publicProcedure\n .query(async () => {\n // Get dashboard tags from cache\n const tags = await getDashboardTagsFromCache();\n\n return {\n tags: tags,\n };\n }),\n\n getAllProductsSummary: publicProcedure\n .query(async () => {\n const response = await scaffoldProducts();\n return response;\n }),\n\n /*\n // Old implementation - moved to common-trpc-index.ts:\n getStoresSummary: publicProcedure\n .query(async () => {\n const stores = await getStoresSummary();\n return { stores };\n }),\n\n healthCheck: publicProcedure\n .query(async () => {\n const result = await healthCheck();\n return result;\n }),\n */\n});\n", "import {\n BBox,\n Feature,\n FeatureCollection,\n Geometry,\n GeometryCollection,\n GeometryObject,\n LineString,\n MultiLineString,\n MultiPoint,\n MultiPolygon,\n Point,\n Polygon,\n Position,\n GeoJsonProperties,\n} from \"geojson\";\n\nimport { Id } from \"./lib/geojson.js\";\nexport * from \"./lib/geojson.js\";\n\n/**\n * @module helpers\n */\n\n// TurfJS Combined Types\nexport type Coord = Feature | Point | Position;\n\n/**\n * Linear measurement units.\n *\n * ⚠️ Warning. Be aware of the implications of using radian or degree units to\n * measure distance. The distance represented by a degree of longitude *varies*\n * depending on latitude.\n *\n * See https://www.thoughtco.com/degree-of-latitude-and-longitude-distance-4070616\n * for an illustration of this behaviour.\n *\n * @typedef\n */\nexport type Units =\n | \"meters\"\n | \"metres\"\n | \"millimeters\"\n | \"millimetres\"\n | \"centimeters\"\n | \"centimetres\"\n | \"kilometers\"\n | \"kilometres\"\n | \"miles\"\n | \"nauticalmiles\"\n | \"inches\"\n | \"yards\"\n | \"feet\"\n | \"radians\"\n | \"degrees\";\n\n/**\n * Area measurement units.\n *\n * @typedef\n */\nexport type AreaUnits =\n | Exclude\n | \"acres\"\n | \"hectares\";\n\n/**\n * Grid types.\n *\n * @typedef\n */\nexport type Grid = \"point\" | \"square\" | \"hex\" | \"triangle\";\n\n/**\n * Shorthand corner identifiers.\n *\n * @typedef\n */\nexport type Corners = \"sw\" | \"se\" | \"nw\" | \"ne\" | \"center\" | \"centroid\";\n\n/**\n * Geometries made up of lines i.e. lines and polygons.\n *\n * @typedef\n */\nexport type Lines = LineString | MultiLineString | Polygon | MultiPolygon;\n\n/**\n * Convenience type for all possible GeoJSON.\n *\n * @typedef\n */\nexport type AllGeoJSON =\n | Feature\n | FeatureCollection\n | Geometry\n | GeometryCollection;\n\n/**\n * The Earth radius in meters. Used by Turf modules that model the Earth as a sphere. The {@link https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius mean radius} was selected because it is {@link https://rosettacode.org/wiki/Haversine_formula#:~:text=This%20value%20is%20recommended recommended } by the Haversine formula (used by turf/distance) to reduce error.\n *\n * @constant\n */\nexport const earthRadius = 6371008.8;\n\n/**\n * Unit of measurement factors based on earthRadius.\n *\n * Keys are the name of the unit, values are the number of that unit in a single radian\n *\n * @constant\n */\nexport const factors: Record = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1000,\n kilometres: earthRadius / 1000,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1000,\n millimetres: earthRadius * 1000,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936,\n};\n\n/**\n\n * Area of measurement factors based on 1 square meter.\n *\n * @constant\n */\nexport const areaFactors: Record = {\n acres: 0.000247105,\n centimeters: 10000,\n centimetres: 10000,\n feet: 10.763910417,\n hectares: 0.0001,\n inches: 1550.003100006,\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n miles: 3.86e-7,\n nauticalmiles: 2.9155334959812285e-7,\n millimeters: 1000000,\n millimetres: 1000000,\n yards: 1.195990046,\n};\n\n/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @function\n * @param {GeometryObject} geometry input geometry\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nexport function feature<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geom: G | null,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n const feat: any = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @function\n * @param {(\"Point\" | \"LineString\" | \"Polygon\" | \"MultiPoint\" | \"MultiLineString\" | \"MultiPolygon\")} type Geometry Type\n * @param {Array} coordinates Coordinates\n * @param {Object} [options={}] Optional Parameters\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = \"Point\";\n * var coordinates = [110, 50];\n * var geometry = turf.geometry(type, coordinates);\n * // => geometry\n */\nexport function geometry<\n T extends\n | \"Point\"\n | \"LineString\"\n | \"Polygon\"\n | \"MultiPoint\"\n | \"MultiLineString\"\n | \"MultiPolygon\",\n>(\n type: T,\n coordinates: any[],\n _options: Record = {}\n): Extract {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry as Extract;\n case \"LineString\":\n return lineString(coordinates).geometry as Extract;\n case \"Polygon\":\n return polygon(coordinates).geometry as Extract;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry as Extract;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry as Extract<\n Geometry,\n { type: T }\n >;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry as Extract<\n Geometry,\n { type: T }\n >;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\n\n/**\n * Creates a {@link Point} {@link Feature} from a Position.\n *\n * @function\n * @param {Position} coordinates longitude, latitude position (each in decimal degrees)\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nexport function point

(\n coordinates: Position,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n\n const geom: Point = {\n type: \"Point\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.\n *\n * @function\n * @param {Position[]} coordinates an array of Points\n * @param {GeoJsonProperties} [properties={}] Translate these properties to each Feature\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} Point Feature\n * @example\n * var points = turf.points([\n * [-75, 39],\n * [-80, 45],\n * [-78, 50]\n * ]);\n *\n * //=points\n */\nexport function points

(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} Polygon Feature\n * @example\n * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });\n *\n * //=polygon\n */\nexport function polygon

(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom: Polygon = {\n type: \"Polygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygon coordinates\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} Polygon FeatureCollection\n * @example\n * var polygons = turf.polygons([\n * [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],\n * [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],\n * ]);\n *\n * //=polygons\n */\nexport function polygons

(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Creates a {@link LineString} {@link Feature} from an Array of Positions.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} LineString Feature\n * @example\n * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});\n * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});\n *\n * //=linestring1\n * //=linestring2\n */\nexport function lineString

(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom: LineString = {\n type: \"LineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.\n *\n * @function\n * @param {Position[][]} coordinates an array of LinearRings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north]\n * associated with the FeatureCollection\n * @param {Id} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} LineString FeatureCollection\n * @example\n * var linestrings = turf.lineStrings([\n * [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],\n * [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]\n * ]);\n *\n * //=linestrings\n */\nexport function lineStrings

(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @function\n * @param {Array>} features input features\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {FeatureCollection} FeatureCollection of Features\n * @example\n * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});\n * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});\n * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});\n *\n * var collection = turf.featureCollection([\n * locationA,\n * locationB,\n * locationC\n * ]);\n *\n * //=collection\n */\nexport function featureCollection<\n G extends GeometryObject = Geometry,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n features: Array>,\n options: { bbox?: BBox; id?: Id } = {}\n): FeatureCollection {\n const fc: any = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiLineString}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][]} coordinates an array of LineStrings\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nexport function multiLineString<\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n coordinates: Position[][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n const geom: MultiLineString = {\n type: \"MultiLineString\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPoint}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[]} coordinates an array of Positions\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nexport function multiPoint

(\n coordinates: Position[],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n const geom: MultiPoint = {\n type: \"MultiPoint\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a {@link Feature}<{@link MultiPolygon}> based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Position[][][]} coordinates an array of Polygons\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nexport function multiPolygon

(\n coordinates: Position[][][],\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature {\n const geom: MultiPolygon = {\n type: \"MultiPolygon\",\n coordinates,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Creates a Feature based on a\n * coordinate array. Properties can be added optionally.\n *\n * @function\n * @param {Array} geometries an array of GeoJSON Geometries\n * @param {GeoJsonProperties} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {BBox} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {Id} [options.id] Identifier associated with the Feature\n * @returns {Feature} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = turf.geometry(\"Point\", [100, 0]);\n * var line = turf.geometry(\"LineString\", [[101, 0], [102, 1]]);\n * var collection = turf.geometryCollection([pt, line]);\n *\n * // => collection\n */\nexport function geometryCollection<\n G extends\n | Point\n | LineString\n | Polygon\n | MultiPoint\n | MultiLineString\n | MultiPolygon,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n geometries: Array,\n properties?: P,\n options: { bbox?: BBox; id?: Id } = {}\n): Feature, P> {\n const geom: GeometryCollection = {\n type: \"GeometryCollection\",\n geometries,\n };\n return feature(geom, properties, options);\n}\n\n/**\n * Round number to precision\n *\n * @function\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nexport function round(num: number, precision = 0): number {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} radians in radians across the sphere\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} distance\n */\nexport function radiansToLength(\n radians: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} radians\n */\nexport function lengthToRadians(\n distance: number,\n units: Units = \"kilometers\"\n): number {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @function\n * @param {number} distance in real units\n * @param {Units} [units=\"kilometers\"] can be degrees, radians, miles, inches, yards, metres,\n * meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nexport function lengthToDegrees(distance: number, units?: Units): number {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nexport function bearingToAzimuth(bearing: number): number {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\n\n/**\n * Converts any azimuth angle from the north line direction (positive clockwise)\n * and returns an angle between -180 and +180 degrees (positive clockwise), 0 being the north line\n *\n * @function\n * @param {number} angle between 0 and 360 degrees\n * @returns {number} bearing between -180 and +180 degrees\n */\nexport function azimuthToBearing(angle: number): number {\n // Ignore full revolutions (multiples of 360)\n angle = angle % 360;\n\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @function\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nexport function radiansToDegrees(radians: number): number {\n // % (2 * Math.PI) radians in case someone passes value > 2π\n const normalisedRadians = radians % (2 * Math.PI);\n return (normalisedRadians * 180) / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @function\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nexport function degreesToRadians(degrees: number): number {\n // % 360 degrees in case someone passes value > 360\n const normalisedDegrees = degrees % 360;\n return (normalisedDegrees * Math.PI) / 180;\n}\n\n/**\n * Converts a length from one unit to another.\n *\n * @function\n * @param {number} length Length to be converted\n * @param {Units} [originalUnit=\"kilometers\"] Input length unit\n * @param {Units} [finalUnit=\"kilometers\"] Returned length unit\n * @returns {number} The converted length\n */\nexport function convertLength(\n length: number,\n originalUnit: Units = \"kilometers\",\n finalUnit: Units = \"kilometers\"\n): number {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\n\n/**\n * Converts an area from one unit to another.\n *\n * @function\n * @param {number} area Area to be converted\n * @param {AreaUnits} [originalUnit=\"meters\"] Input area unit\n * @param {AreaUnits} [finalUnit=\"kilometers\"] Returned area unit\n * @returns {number} The converted length\n */\nexport function convertArea(\n area: number,\n originalUnit: AreaUnits = \"meters\",\n finalUnit: AreaUnits = \"kilometers\"\n): number {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @function\n * @param {any} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nexport function isNumber(num: any): boolean {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\n/**\n * isObject\n *\n * @function\n * @param {any} input variable to validate\n * @returns {boolean} true/false, including false for Arrays and Functions\n * @example\n * turf.isObject({elevation: 10})\n * //=true\n * turf.isObject('foo')\n * //=false\n */\nexport function isObject(input: any): boolean {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\n\n/**\n * Validate BBox\n *\n * @private\n * @param {any} bbox BBox to validate\n * @returns {void}\n * @throws {Error} if BBox is not valid\n * @example\n * validateBBox([-180, -40, 110, 50])\n * //=OK\n * validateBBox([-180, -40])\n * //=Error\n * validateBBox('Foo')\n * //=Error\n * validateBBox(5)\n * //=Error\n * validateBBox(null)\n * //=Error\n * validateBBox(undefined)\n * //=Error\n */\nexport function validateBBox(bbox: any): void {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\n\n/**\n * Validate Id\n *\n * @private\n * @param {any} id Id to validate\n * @returns {void}\n * @throws {Error} if Id is not valid\n * @example\n * validateId([-180, -40, 110, 50])\n * //=Error\n * validateId([-180, -40])\n * //=Error\n * validateId('Foo')\n * //=OK\n * validateId(5)\n * //=OK\n * validateId(null)\n * //=Error\n * validateId(undefined)\n * //=Error\n */\nexport function validateId(id: any): void {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\n", "import {\n Feature,\n FeatureCollection,\n Geometry,\n LineString,\n MultiPoint,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport { isNumber } from \"@turf/helpers\";\n\n/**\n * Unwrap a coordinate from a Point Feature, Geometry or a single coordinate.\n *\n * @function\n * @param {Array|Geometry|Feature} coord GeoJSON Point or an Array of numbers\n * @returns {Array} coordinates\n * @example\n * var pt = turf.point([10, 10]);\n *\n * var coord = turf.getCoord(pt);\n * //= [10, 10]\n */\nfunction getCoord(coord: Feature | Point | number[]): number[] {\n if (!coord) {\n throw new Error(\"coord is required\");\n }\n\n if (!Array.isArray(coord)) {\n if (\n coord.type === \"Feature\" &&\n coord.geometry !== null &&\n coord.geometry.type === \"Point\"\n ) {\n return [...coord.geometry.coordinates];\n }\n if (coord.type === \"Point\") {\n return [...coord.coordinates];\n }\n }\n if (\n Array.isArray(coord) &&\n coord.length >= 2 &&\n !Array.isArray(coord[0]) &&\n !Array.isArray(coord[1])\n ) {\n return [...coord];\n }\n\n throw new Error(\"coord must be GeoJSON Point or an Array of numbers\");\n}\n\n/**\n * Unwrap coordinates from a Feature, Geometry Object or an Array\n *\n * @function\n * @param {Array|Geometry|Feature} coords Feature, Geometry Object or an Array\n * @returns {Array} coordinates\n * @example\n * var poly = turf.polygon([[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]);\n *\n * var coords = turf.getCoords(poly);\n * //= [[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]\n */\nfunction getCoords<\n G extends\n | Point\n | LineString\n | Polygon\n | MultiPoint\n | MultiLineString\n | MultiPolygon,\n>(coords: any[] | Feature | G): any[] {\n if (Array.isArray(coords)) {\n return coords;\n }\n\n // Feature\n if (coords.type === \"Feature\") {\n if (coords.geometry !== null) {\n return coords.geometry.coordinates;\n }\n } else {\n // Geometry\n if (coords.coordinates) {\n return coords.coordinates;\n }\n }\n\n throw new Error(\n \"coords must be GeoJSON Feature, Geometry Object or an Array\"\n );\n}\n\n/**\n * Checks if coordinates contains a number\n *\n * @function\n * @param {Array} coordinates GeoJSON Coordinates\n * @returns {boolean} true if Array contains a number\n */\nfunction containsNumber(coordinates: any[]): boolean {\n if (\n coordinates.length > 1 &&\n isNumber(coordinates[0]) &&\n isNumber(coordinates[1])\n ) {\n return true;\n }\n\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error(\"coordinates must only contain numbers\");\n}\n\n/**\n * Enforce expectations about types of GeoJSON objects for Turf.\n *\n * @function\n * @param {GeoJSON} value any GeoJSON object\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction geojsonType(value: any, type: string, name: string): void {\n if (!type || !name) {\n throw new Error(\"type and name required\");\n }\n\n if (!value || value.type !== type) {\n throw new Error(\n \"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n value.type\n );\n }\n}\n\n/**\n * Enforce expectations about types of {@link Feature} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @function\n * @param {Feature} feature a feature with an expected geometry type\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} error if value is not the expected type.\n */\nfunction featureOf(feature: Feature, type: string, name: string): void {\n if (!feature) {\n throw new Error(\"No feature passed\");\n }\n if (!name) {\n throw new Error(\".featureOf() requires a name\");\n }\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n feature.geometry.type\n );\n }\n}\n\n/**\n * Enforce expectations about types of {@link FeatureCollection} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @function\n * @param {FeatureCollection} featureCollection a FeatureCollection for which features will be judged\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction collectionOf(\n featureCollection: FeatureCollection,\n type: string,\n name: string\n) {\n if (!featureCollection) {\n throw new Error(\"No featureCollection passed\");\n }\n if (!name) {\n throw new Error(\".collectionOf() requires a name\");\n }\n if (!featureCollection || featureCollection.type !== \"FeatureCollection\") {\n throw new Error(\n \"Invalid input to \" + name + \", FeatureCollection required\"\n );\n }\n for (const feature of featureCollection.features) {\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n feature.geometry.type\n );\n }\n }\n}\n\n/**\n * Get Geometry from Feature or Geometry Object\n *\n * @param {Feature|Geometry} geojson GeoJSON Feature or Geometry Object\n * @returns {Geometry|null} GeoJSON Geometry Object\n * @throws {Error} if geojson is not a Feature or Geometry Object\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getGeom(point)\n * //={\"type\": \"Point\", \"coordinates\": [110, 40]}\n */\nfunction getGeom(geojson: Feature | G): G {\n if (geojson.type === \"Feature\") {\n return geojson.geometry;\n }\n return geojson;\n}\n\n/**\n * Get GeoJSON object's type, Geometry type is prioritize.\n *\n * @param {GeoJSON} geojson GeoJSON object\n * @param {string} [name=\"geojson\"] name of the variable to display in error message (unused)\n * @returns {string} GeoJSON type\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getType(point)\n * //=\"Point\"\n */\nfunction getType(\n geojson: Feature | FeatureCollection | Geometry,\n _name?: string\n): string {\n if (geojson.type === \"FeatureCollection\") {\n return \"FeatureCollection\";\n }\n if (geojson.type === \"GeometryCollection\") {\n return \"GeometryCollection\";\n }\n if (geojson.type === \"Feature\" && geojson.geometry !== null) {\n return geojson.geometry.type;\n }\n return geojson.type;\n}\n\nexport {\n getCoord,\n getCoords,\n containsNumber,\n geojsonType,\n featureOf,\n collectionOf,\n getGeom,\n getType,\n};\n// No default export!\n", "export const epsilon = 1.1102230246251565e-16;\nexport const splitter = 134217729;\nexport const resulterrbound = (3 + 8 * epsilon) * epsilon;\n\n// fast_expansion_sum_zeroelim routine from oritinal code\nexport function sum(elen, e, flen, f, h) {\n let Q, Qnew, hh, bvirt;\n let enow = e[0];\n let fnow = f[0];\n let eindex = 0;\n let findex = 0;\n if ((fnow > enow) === (fnow > -enow)) {\n Q = enow;\n enow = e[++eindex];\n } else {\n Q = fnow;\n fnow = f[++findex];\n }\n let hindex = 0;\n if (eindex < elen && findex < flen) {\n if ((fnow > enow) === (fnow > -enow)) {\n Qnew = enow + Q;\n hh = Q - (Qnew - enow);\n enow = e[++eindex];\n } else {\n Qnew = fnow + Q;\n hh = Q - (Qnew - fnow);\n fnow = f[++findex];\n }\n Q = Qnew;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n while (eindex < elen && findex < flen) {\n if ((fnow > enow) === (fnow > -enow)) {\n Qnew = Q + enow;\n bvirt = Qnew - Q;\n hh = Q - (Qnew - bvirt) + (enow - bvirt);\n enow = e[++eindex];\n } else {\n Qnew = Q + fnow;\n bvirt = Qnew - Q;\n hh = Q - (Qnew - bvirt) + (fnow - bvirt);\n fnow = f[++findex];\n }\n Q = Qnew;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n }\n }\n while (eindex < elen) {\n Qnew = Q + enow;\n bvirt = Qnew - Q;\n hh = Q - (Qnew - bvirt) + (enow - bvirt);\n enow = e[++eindex];\n Q = Qnew;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n }\n while (findex < flen) {\n Qnew = Q + fnow;\n bvirt = Qnew - Q;\n hh = Q - (Qnew - bvirt) + (fnow - bvirt);\n fnow = f[++findex];\n Q = Qnew;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n }\n if (Q !== 0 || hindex === 0) {\n h[hindex++] = Q;\n }\n return hindex;\n}\n\nexport function sum_three(alen, a, blen, b, clen, c, tmp, out) {\n return sum(sum(alen, a, blen, b, tmp), tmp, clen, c, out);\n}\n\n// scale_expansion_zeroelim routine from oritinal code\nexport function scale(elen, e, b, h) {\n let Q, sum, hh, product1, product0;\n let bvirt, c, ahi, alo, bhi, blo;\n\n c = splitter * b;\n bhi = c - (c - b);\n blo = b - bhi;\n let enow = e[0];\n Q = enow * b;\n c = splitter * enow;\n ahi = c - (c - enow);\n alo = enow - ahi;\n hh = alo * blo - (Q - ahi * bhi - alo * bhi - ahi * blo);\n let hindex = 0;\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n for (let i = 1; i < elen; i++) {\n enow = e[i];\n product1 = enow * b;\n c = splitter * enow;\n ahi = c - (c - enow);\n alo = enow - ahi;\n product0 = alo * blo - (product1 - ahi * bhi - alo * bhi - ahi * blo);\n sum = Q + product0;\n bvirt = sum - Q;\n hh = Q - (sum - bvirt) + (product0 - bvirt);\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n Q = product1 + sum;\n hh = sum - (Q - product1);\n if (hh !== 0) {\n h[hindex++] = hh;\n }\n }\n if (Q !== 0 || hindex === 0) {\n h[hindex++] = Q;\n }\n return hindex;\n}\n\nexport function negate(elen, e) {\n for (let i = 0; i < elen; i++) e[i] = -e[i];\n return elen;\n}\n\nexport function estimate(elen, e) {\n let Q = e[0];\n for (let i = 1; i < elen; i++) Q += e[i];\n return Q;\n}\n\nexport function vec(n) {\n return new Float64Array(n);\n}\n", "import {epsilon, splitter, resulterrbound, estimate, vec, sum} from './util.js';\n\nconst ccwerrboundA = (3 + 16 * epsilon) * epsilon;\nconst ccwerrboundB = (2 + 12 * epsilon) * epsilon;\nconst ccwerrboundC = (9 + 64 * epsilon) * epsilon * epsilon;\n\nconst B = vec(4);\nconst C1 = vec(8);\nconst C2 = vec(12);\nconst D = vec(16);\nconst u = vec(4);\n\nfunction orient2dadapt(ax, ay, bx, by, cx, cy, detsum) {\n let acxtail, acytail, bcxtail, bcytail;\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;\n\n const acx = ax - cx;\n const bcx = bx - cx;\n const acy = ay - cy;\n const bcy = by - cy;\n\n s1 = acx * bcy;\n c = splitter * acx;\n ahi = c - (c - acx);\n alo = acx - ahi;\n c = splitter * bcy;\n bhi = c - (c - bcy);\n blo = bcy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = acy * bcx;\n c = splitter * acy;\n ahi = c - (c - acy);\n alo = acy - ahi;\n c = splitter * bcx;\n bhi = c - (c - bcx);\n blo = bcx - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n B[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n B[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n B[2] = _j - (u3 - bvirt) + (_i - bvirt);\n B[3] = u3;\n\n let det = estimate(4, B);\n let errbound = ccwerrboundB * detsum;\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n bvirt = ax - acx;\n acxtail = ax - (acx + bvirt) + (bvirt - cx);\n bvirt = bx - bcx;\n bcxtail = bx - (bcx + bvirt) + (bvirt - cx);\n bvirt = ay - acy;\n acytail = ay - (acy + bvirt) + (bvirt - cy);\n bvirt = by - bcy;\n bcytail = by - (bcy + bvirt) + (bvirt - cy);\n\n if (acxtail === 0 && acytail === 0 && bcxtail === 0 && bcytail === 0) {\n return det;\n }\n\n errbound = ccwerrboundC * detsum + resulterrbound * Math.abs(det);\n det += (acx * bcytail + bcy * acxtail) - (acy * bcxtail + bcx * acytail);\n if (det >= errbound || -det >= errbound) return det;\n\n s1 = acxtail * bcy;\n c = splitter * acxtail;\n ahi = c - (c - acxtail);\n alo = acxtail - ahi;\n c = splitter * bcy;\n bhi = c - (c - bcy);\n blo = bcy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = acytail * bcx;\n c = splitter * acytail;\n ahi = c - (c - acytail);\n alo = acytail - ahi;\n c = splitter * bcx;\n bhi = c - (c - bcx);\n blo = bcx - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n u[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n u[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n const C1len = sum(4, B, 4, u, C1);\n\n s1 = acx * bcytail;\n c = splitter * acx;\n ahi = c - (c - acx);\n alo = acx - ahi;\n c = splitter * bcytail;\n bhi = c - (c - bcytail);\n blo = bcytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = acy * bcxtail;\n c = splitter * acy;\n ahi = c - (c - acy);\n alo = acy - ahi;\n c = splitter * bcxtail;\n bhi = c - (c - bcxtail);\n blo = bcxtail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n u[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n u[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n const C2len = sum(C1len, C1, 4, u, C2);\n\n s1 = acxtail * bcytail;\n c = splitter * acxtail;\n ahi = c - (c - acxtail);\n alo = acxtail - ahi;\n c = splitter * bcytail;\n bhi = c - (c - bcytail);\n blo = bcytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = acytail * bcxtail;\n c = splitter * acytail;\n ahi = c - (c - acytail);\n alo = acytail - ahi;\n c = splitter * bcxtail;\n bhi = c - (c - bcxtail);\n blo = bcxtail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n u[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n u[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n const Dlen = sum(C2len, C2, 4, u, D);\n\n return D[Dlen - 1];\n}\n\nexport function orient2d(ax, ay, bx, by, cx, cy) {\n const detleft = (ay - cy) * (bx - cx);\n const detright = (ax - cx) * (by - cy);\n const det = detleft - detright;\n\n const detsum = Math.abs(detleft + detright);\n if (Math.abs(det) >= ccwerrboundA * detsum) return det;\n\n return -orient2dadapt(ax, ay, bx, by, cx, cy, detsum);\n}\n\nexport function orient2dfast(ax, ay, bx, by, cx, cy) {\n return (ay - cy) * (bx - cx) - (ax - cx) * (by - cy);\n}\n", "import {epsilon, splitter, resulterrbound, estimate, vec, sum, scale} from './util.js';\n\nconst o3derrboundA = (7 + 56 * epsilon) * epsilon;\nconst o3derrboundB = (3 + 28 * epsilon) * epsilon;\nconst o3derrboundC = (26 + 288 * epsilon) * epsilon * epsilon;\n\nconst bc = vec(4);\nconst ca = vec(4);\nconst ab = vec(4);\nconst at_b = vec(4);\nconst at_c = vec(4);\nconst bt_c = vec(4);\nconst bt_a = vec(4);\nconst ct_a = vec(4);\nconst ct_b = vec(4);\nconst bct = vec(8);\nconst cat = vec(8);\nconst abt = vec(8);\nconst u = vec(4);\n\nconst _8 = vec(8);\nconst _8b = vec(8);\nconst _16 = vec(8);\nconst _12 = vec(12);\n\nlet fin = vec(192);\nlet fin2 = vec(192);\n\nfunction finadd(finlen, alen, a) {\n finlen = sum(finlen, fin, alen, a, fin2);\n const tmp = fin; fin = fin2; fin2 = tmp;\n return finlen;\n}\n\nfunction tailinit(xtail, ytail, ax, ay, bx, by, a, b) {\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, t1, t0, u3, negate;\n if (xtail === 0) {\n if (ytail === 0) {\n a[0] = 0;\n b[0] = 0;\n return 1;\n } else {\n negate = -ytail;\n s1 = negate * ax;\n c = splitter * negate;\n ahi = c - (c - negate);\n alo = negate - ahi;\n c = splitter * ax;\n bhi = c - (c - ax);\n blo = ax - bhi;\n a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n a[1] = s1;\n s1 = ytail * bx;\n c = splitter * ytail;\n ahi = c - (c - ytail);\n alo = ytail - ahi;\n c = splitter * bx;\n bhi = c - (c - bx);\n blo = bx - bhi;\n b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n b[1] = s1;\n return 2;\n }\n } else {\n if (ytail === 0) {\n s1 = xtail * ay;\n c = splitter * xtail;\n ahi = c - (c - xtail);\n alo = xtail - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n a[1] = s1;\n negate = -xtail;\n s1 = negate * by;\n c = splitter * negate;\n ahi = c - (c - negate);\n alo = negate - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n b[1] = s1;\n return 2;\n } else {\n s1 = xtail * ay;\n c = splitter * xtail;\n ahi = c - (c - xtail);\n alo = xtail - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ytail * ax;\n c = splitter * ytail;\n ahi = c - (c - ytail);\n alo = ytail - ahi;\n c = splitter * ax;\n bhi = c - (c - ax);\n blo = ax - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n a[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n a[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n a[2] = _j - (u3 - bvirt) + (_i - bvirt);\n a[3] = u3;\n s1 = ytail * bx;\n c = splitter * ytail;\n ahi = c - (c - ytail);\n alo = ytail - ahi;\n c = splitter * bx;\n bhi = c - (c - bx);\n blo = bx - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = xtail * by;\n c = splitter * xtail;\n ahi = c - (c - xtail);\n alo = xtail - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n b[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n b[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n b[2] = _j - (u3 - bvirt) + (_i - bvirt);\n b[3] = u3;\n return 4;\n }\n }\n}\n\nfunction tailadd(finlen, a, b, k, z) {\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, u3;\n s1 = a * b;\n c = splitter * a;\n ahi = c - (c - a);\n alo = a - ahi;\n c = splitter * b;\n bhi = c - (c - b);\n blo = b - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n c = splitter * k;\n bhi = c - (c - k);\n blo = k - bhi;\n _i = s0 * k;\n c = splitter * s0;\n ahi = c - (c - s0);\n alo = s0 - ahi;\n u[0] = alo * blo - (_i - ahi * bhi - alo * bhi - ahi * blo);\n _j = s1 * k;\n c = splitter * s1;\n ahi = c - (c - s1);\n alo = s1 - ahi;\n _0 = alo * blo - (_j - ahi * bhi - alo * bhi - ahi * blo);\n _k = _i + _0;\n bvirt = _k - _i;\n u[1] = _i - (_k - bvirt) + (_0 - bvirt);\n u3 = _j + _k;\n u[2] = _k - (u3 - _j);\n u[3] = u3;\n finlen = finadd(finlen, 4, u);\n if (z !== 0) {\n c = splitter * z;\n bhi = c - (c - z);\n blo = z - bhi;\n _i = s0 * z;\n c = splitter * s0;\n ahi = c - (c - s0);\n alo = s0 - ahi;\n u[0] = alo * blo - (_i - ahi * bhi - alo * bhi - ahi * blo);\n _j = s1 * z;\n c = splitter * s1;\n ahi = c - (c - s1);\n alo = s1 - ahi;\n _0 = alo * blo - (_j - ahi * bhi - alo * bhi - ahi * blo);\n _k = _i + _0;\n bvirt = _k - _i;\n u[1] = _i - (_k - bvirt) + (_0 - bvirt);\n u3 = _j + _k;\n u[2] = _k - (u3 - _j);\n u[3] = u3;\n finlen = finadd(finlen, 4, u);\n }\n return finlen;\n}\n\nfunction orient3dadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, permanent) {\n let finlen;\n let adxtail, bdxtail, cdxtail;\n let adytail, bdytail, cdytail;\n let adztail, bdztail, cdztail;\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, t1, t0, u3;\n\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n const adz = az - dz;\n const bdz = bz - dz;\n const cdz = cz - dz;\n\n s1 = bdx * cdy;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdx * bdy;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bc[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bc[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bc[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bc[3] = u3;\n s1 = cdx * ady;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adx * cdy;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ca[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ca[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ca[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ca[3] = u3;\n s1 = adx * bdy;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdx * ady;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ab[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ab[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ab[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ab[3] = u3;\n\n finlen = sum(\n sum(\n scale(4, bc, adz, _8), _8,\n scale(4, ca, bdz, _8b), _8b, _16), _16,\n scale(4, ab, cdz, _8), _8, fin);\n\n let det = estimate(finlen, fin);\n let errbound = o3derrboundB * permanent;\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n bvirt = ax - adx;\n adxtail = ax - (adx + bvirt) + (bvirt - dx);\n bvirt = bx - bdx;\n bdxtail = bx - (bdx + bvirt) + (bvirt - dx);\n bvirt = cx - cdx;\n cdxtail = cx - (cdx + bvirt) + (bvirt - dx);\n bvirt = ay - ady;\n adytail = ay - (ady + bvirt) + (bvirt - dy);\n bvirt = by - bdy;\n bdytail = by - (bdy + bvirt) + (bvirt - dy);\n bvirt = cy - cdy;\n cdytail = cy - (cdy + bvirt) + (bvirt - dy);\n bvirt = az - adz;\n adztail = az - (adz + bvirt) + (bvirt - dz);\n bvirt = bz - bdz;\n bdztail = bz - (bdz + bvirt) + (bvirt - dz);\n bvirt = cz - cdz;\n cdztail = cz - (cdz + bvirt) + (bvirt - dz);\n\n if (adxtail === 0 && bdxtail === 0 && cdxtail === 0 &&\n adytail === 0 && bdytail === 0 && cdytail === 0 &&\n adztail === 0 && bdztail === 0 && cdztail === 0) {\n return det;\n }\n\n errbound = o3derrboundC * permanent + resulterrbound * Math.abs(det);\n det +=\n adz * (bdx * cdytail + cdy * bdxtail - (bdy * cdxtail + cdx * bdytail)) + adztail * (bdx * cdy - bdy * cdx) +\n bdz * (cdx * adytail + ady * cdxtail - (cdy * adxtail + adx * cdytail)) + bdztail * (cdx * ady - cdy * adx) +\n cdz * (adx * bdytail + bdy * adxtail - (ady * bdxtail + bdx * adytail)) + cdztail * (adx * bdy - ady * bdx);\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n const at_len = tailinit(adxtail, adytail, bdx, bdy, cdx, cdy, at_b, at_c);\n const bt_len = tailinit(bdxtail, bdytail, cdx, cdy, adx, ady, bt_c, bt_a);\n const ct_len = tailinit(cdxtail, cdytail, adx, ady, bdx, bdy, ct_a, ct_b);\n\n const bctlen = sum(bt_len, bt_c, ct_len, ct_b, bct);\n finlen = finadd(finlen, scale(bctlen, bct, adz, _16), _16);\n\n const catlen = sum(ct_len, ct_a, at_len, at_c, cat);\n finlen = finadd(finlen, scale(catlen, cat, bdz, _16), _16);\n\n const abtlen = sum(at_len, at_b, bt_len, bt_a, abt);\n finlen = finadd(finlen, scale(abtlen, abt, cdz, _16), _16);\n\n if (adztail !== 0) {\n finlen = finadd(finlen, scale(4, bc, adztail, _12), _12);\n finlen = finadd(finlen, scale(bctlen, bct, adztail, _16), _16);\n }\n if (bdztail !== 0) {\n finlen = finadd(finlen, scale(4, ca, bdztail, _12), _12);\n finlen = finadd(finlen, scale(catlen, cat, bdztail, _16), _16);\n }\n if (cdztail !== 0) {\n finlen = finadd(finlen, scale(4, ab, cdztail, _12), _12);\n finlen = finadd(finlen, scale(abtlen, abt, cdztail, _16), _16);\n }\n\n if (adxtail !== 0) {\n if (bdytail !== 0) {\n finlen = tailadd(finlen, adxtail, bdytail, cdz, cdztail);\n }\n if (cdytail !== 0) {\n finlen = tailadd(finlen, -adxtail, cdytail, bdz, bdztail);\n }\n }\n if (bdxtail !== 0) {\n if (cdytail !== 0) {\n finlen = tailadd(finlen, bdxtail, cdytail, adz, adztail);\n }\n if (adytail !== 0) {\n finlen = tailadd(finlen, -bdxtail, adytail, cdz, cdztail);\n }\n }\n if (cdxtail !== 0) {\n if (adytail !== 0) {\n finlen = tailadd(finlen, cdxtail, adytail, bdz, bdztail);\n }\n if (bdytail !== 0) {\n finlen = tailadd(finlen, -cdxtail, bdytail, adz, adztail);\n }\n }\n\n return fin[finlen - 1];\n}\n\nexport function orient3d(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz) {\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n const adz = az - dz;\n const bdz = bz - dz;\n const cdz = cz - dz;\n\n const bdxcdy = bdx * cdy;\n const cdxbdy = cdx * bdy;\n\n const cdxady = cdx * ady;\n const adxcdy = adx * cdy;\n\n const adxbdy = adx * bdy;\n const bdxady = bdx * ady;\n\n const det =\n adz * (bdxcdy - cdxbdy) +\n bdz * (cdxady - adxcdy) +\n cdz * (adxbdy - bdxady);\n\n const permanent =\n (Math.abs(bdxcdy) + Math.abs(cdxbdy)) * Math.abs(adz) +\n (Math.abs(cdxady) + Math.abs(adxcdy)) * Math.abs(bdz) +\n (Math.abs(adxbdy) + Math.abs(bdxady)) * Math.abs(cdz);\n\n const errbound = o3derrboundA * permanent;\n if (det > errbound || -det > errbound) {\n return det;\n }\n\n return orient3dadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, permanent);\n}\n\nexport function orient3dfast(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz) {\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n const adz = az - dz;\n const bdz = bz - dz;\n const cdz = cz - dz;\n\n return adx * (bdy * cdz - bdz * cdy) +\n bdx * (cdy * adz - cdz * ady) +\n cdx * (ady * bdz - adz * bdy);\n}\n", "import {epsilon, splitter, resulterrbound, estimate, vec, sum, sum_three, scale} from './util.js';\n\nconst iccerrboundA = (10 + 96 * epsilon) * epsilon;\nconst iccerrboundB = (4 + 48 * epsilon) * epsilon;\nconst iccerrboundC = (44 + 576 * epsilon) * epsilon * epsilon;\n\nconst bc = vec(4);\nconst ca = vec(4);\nconst ab = vec(4);\nconst aa = vec(4);\nconst bb = vec(4);\nconst cc = vec(4);\nconst u = vec(4);\nconst v = vec(4);\nconst axtbc = vec(8);\nconst aytbc = vec(8);\nconst bxtca = vec(8);\nconst bytca = vec(8);\nconst cxtab = vec(8);\nconst cytab = vec(8);\nconst abt = vec(8);\nconst bct = vec(8);\nconst cat = vec(8);\nconst abtt = vec(4);\nconst bctt = vec(4);\nconst catt = vec(4);\n\nconst _8 = vec(8);\nconst _16 = vec(16);\nconst _16b = vec(16);\nconst _16c = vec(16);\nconst _32 = vec(32);\nconst _32b = vec(32);\nconst _48 = vec(48);\nconst _64 = vec(64);\n\nlet fin = vec(1152);\nlet fin2 = vec(1152);\n\nfunction finadd(finlen, a, alen) {\n finlen = sum(finlen, fin, a, alen, fin2);\n const tmp = fin; fin = fin2; fin2 = tmp;\n return finlen;\n}\n\nfunction incircleadapt(ax, ay, bx, by, cx, cy, dx, dy, permanent) {\n let finlen;\n let adxtail, bdxtail, cdxtail, adytail, bdytail, cdytail;\n let axtbclen, aytbclen, bxtcalen, bytcalen, cxtablen, cytablen;\n let abtlen, bctlen, catlen;\n let abttlen, bcttlen, cattlen;\n let n1, n0;\n\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;\n\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n\n s1 = bdx * cdy;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdx * bdy;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bc[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bc[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bc[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bc[3] = u3;\n s1 = cdx * ady;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adx * cdy;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ca[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ca[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ca[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ca[3] = u3;\n s1 = adx * bdy;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdx * ady;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ab[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ab[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ab[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ab[3] = u3;\n\n finlen = sum(\n sum(\n sum(\n scale(scale(4, bc, adx, _8), _8, adx, _16), _16,\n scale(scale(4, bc, ady, _8), _8, ady, _16b), _16b, _32), _32,\n sum(\n scale(scale(4, ca, bdx, _8), _8, bdx, _16), _16,\n scale(scale(4, ca, bdy, _8), _8, bdy, _16b), _16b, _32b), _32b, _64), _64,\n sum(\n scale(scale(4, ab, cdx, _8), _8, cdx, _16), _16,\n scale(scale(4, ab, cdy, _8), _8, cdy, _16b), _16b, _32), _32, fin);\n\n let det = estimate(finlen, fin);\n let errbound = iccerrboundB * permanent;\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n bvirt = ax - adx;\n adxtail = ax - (adx + bvirt) + (bvirt - dx);\n bvirt = ay - ady;\n adytail = ay - (ady + bvirt) + (bvirt - dy);\n bvirt = bx - bdx;\n bdxtail = bx - (bdx + bvirt) + (bvirt - dx);\n bvirt = by - bdy;\n bdytail = by - (bdy + bvirt) + (bvirt - dy);\n bvirt = cx - cdx;\n cdxtail = cx - (cdx + bvirt) + (bvirt - dx);\n bvirt = cy - cdy;\n cdytail = cy - (cdy + bvirt) + (bvirt - dy);\n if (adxtail === 0 && bdxtail === 0 && cdxtail === 0 && adytail === 0 && bdytail === 0 && cdytail === 0) {\n return det;\n }\n\n errbound = iccerrboundC * permanent + resulterrbound * Math.abs(det);\n det += ((adx * adx + ady * ady) * ((bdx * cdytail + cdy * bdxtail) - (bdy * cdxtail + cdx * bdytail)) +\n 2 * (adx * adxtail + ady * adytail) * (bdx * cdy - bdy * cdx)) +\n ((bdx * bdx + bdy * bdy) * ((cdx * adytail + ady * cdxtail) - (cdy * adxtail + adx * cdytail)) +\n 2 * (bdx * bdxtail + bdy * bdytail) * (cdx * ady - cdy * adx)) +\n ((cdx * cdx + cdy * cdy) * ((adx * bdytail + bdy * adxtail) - (ady * bdxtail + bdx * adytail)) +\n 2 * (cdx * cdxtail + cdy * cdytail) * (adx * bdy - ady * bdx));\n\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n if (bdxtail !== 0 || bdytail !== 0 || cdxtail !== 0 || cdytail !== 0) {\n s1 = adx * adx;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);\n t1 = ady * ady;\n c = splitter * ady;\n ahi = c - (c - ady);\n alo = ady - ahi;\n t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);\n _i = s0 + t0;\n bvirt = _i - s0;\n aa[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n aa[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n aa[2] = _j - (u3 - bvirt) + (_i - bvirt);\n aa[3] = u3;\n }\n if (cdxtail !== 0 || cdytail !== 0 || adxtail !== 0 || adytail !== 0) {\n s1 = bdx * bdx;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);\n t1 = bdy * bdy;\n c = splitter * bdy;\n ahi = c - (c - bdy);\n alo = bdy - ahi;\n t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);\n _i = s0 + t0;\n bvirt = _i - s0;\n bb[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n bb[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bb[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bb[3] = u3;\n }\n if (adxtail !== 0 || adytail !== 0 || bdxtail !== 0 || bdytail !== 0) {\n s1 = cdx * cdx;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo);\n t1 = cdy * cdy;\n c = splitter * cdy;\n ahi = c - (c - cdy);\n alo = cdy - ahi;\n t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo);\n _i = s0 + t0;\n bvirt = _i - s0;\n cc[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n cc[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n cc[2] = _j - (u3 - bvirt) + (_i - bvirt);\n cc[3] = u3;\n }\n\n if (adxtail !== 0) {\n axtbclen = scale(4, bc, adxtail, axtbc);\n finlen = finadd(finlen, sum_three(\n scale(axtbclen, axtbc, 2 * adx, _16), _16,\n scale(scale(4, cc, adxtail, _8), _8, bdy, _16b), _16b,\n scale(scale(4, bb, adxtail, _8), _8, -cdy, _16c), _16c, _32, _48), _48);\n }\n if (adytail !== 0) {\n aytbclen = scale(4, bc, adytail, aytbc);\n finlen = finadd(finlen, sum_three(\n scale(aytbclen, aytbc, 2 * ady, _16), _16,\n scale(scale(4, bb, adytail, _8), _8, cdx, _16b), _16b,\n scale(scale(4, cc, adytail, _8), _8, -bdx, _16c), _16c, _32, _48), _48);\n }\n if (bdxtail !== 0) {\n bxtcalen = scale(4, ca, bdxtail, bxtca);\n finlen = finadd(finlen, sum_three(\n scale(bxtcalen, bxtca, 2 * bdx, _16), _16,\n scale(scale(4, aa, bdxtail, _8), _8, cdy, _16b), _16b,\n scale(scale(4, cc, bdxtail, _8), _8, -ady, _16c), _16c, _32, _48), _48);\n }\n if (bdytail !== 0) {\n bytcalen = scale(4, ca, bdytail, bytca);\n finlen = finadd(finlen, sum_three(\n scale(bytcalen, bytca, 2 * bdy, _16), _16,\n scale(scale(4, cc, bdytail, _8), _8, adx, _16b), _16b,\n scale(scale(4, aa, bdytail, _8), _8, -cdx, _16c), _16c, _32, _48), _48);\n }\n if (cdxtail !== 0) {\n cxtablen = scale(4, ab, cdxtail, cxtab);\n finlen = finadd(finlen, sum_three(\n scale(cxtablen, cxtab, 2 * cdx, _16), _16,\n scale(scale(4, bb, cdxtail, _8), _8, ady, _16b), _16b,\n scale(scale(4, aa, cdxtail, _8), _8, -bdy, _16c), _16c, _32, _48), _48);\n }\n if (cdytail !== 0) {\n cytablen = scale(4, ab, cdytail, cytab);\n finlen = finadd(finlen, sum_three(\n scale(cytablen, cytab, 2 * cdy, _16), _16,\n scale(scale(4, aa, cdytail, _8), _8, bdx, _16b), _16b,\n scale(scale(4, bb, cdytail, _8), _8, -adx, _16c), _16c, _32, _48), _48);\n }\n\n if (adxtail !== 0 || adytail !== 0) {\n if (bdxtail !== 0 || bdytail !== 0 || cdxtail !== 0 || cdytail !== 0) {\n s1 = bdxtail * cdy;\n c = splitter * bdxtail;\n ahi = c - (c - bdxtail);\n alo = bdxtail - ahi;\n c = splitter * cdy;\n bhi = c - (c - cdy);\n blo = cdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdx * cdytail;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * cdytail;\n bhi = c - (c - cdytail);\n blo = cdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n u[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n u[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n s1 = cdxtail * -bdy;\n c = splitter * cdxtail;\n ahi = c - (c - cdxtail);\n alo = cdxtail - ahi;\n c = splitter * -bdy;\n bhi = c - (c - -bdy);\n blo = -bdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdx * -bdytail;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * -bdytail;\n bhi = c - (c - -bdytail);\n blo = -bdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n v[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n v[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n v[2] = _j - (u3 - bvirt) + (_i - bvirt);\n v[3] = u3;\n bctlen = sum(4, u, 4, v, bct);\n s1 = bdxtail * cdytail;\n c = splitter * bdxtail;\n ahi = c - (c - bdxtail);\n alo = bdxtail - ahi;\n c = splitter * cdytail;\n bhi = c - (c - cdytail);\n blo = cdytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdxtail * bdytail;\n c = splitter * cdxtail;\n ahi = c - (c - cdxtail);\n alo = cdxtail - ahi;\n c = splitter * bdytail;\n bhi = c - (c - bdytail);\n blo = bdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bctt[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bctt[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bctt[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bctt[3] = u3;\n bcttlen = 4;\n } else {\n bct[0] = 0;\n bctlen = 1;\n bctt[0] = 0;\n bcttlen = 1;\n }\n if (adxtail !== 0) {\n const len = scale(bctlen, bct, adxtail, _16c);\n finlen = finadd(finlen, sum(\n scale(axtbclen, axtbc, adxtail, _16), _16,\n scale(len, _16c, 2 * adx, _32), _32, _48), _48);\n\n const len2 = scale(bcttlen, bctt, adxtail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * adx, _16), _16,\n scale(len2, _8, adxtail, _16b), _16b,\n scale(len, _16c, adxtail, _32), _32, _32b, _64), _64);\n\n if (bdytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, cc, adxtail, _8), _8, bdytail, _16), _16);\n }\n if (cdytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, bb, -adxtail, _8), _8, cdytail, _16), _16);\n }\n }\n if (adytail !== 0) {\n const len = scale(bctlen, bct, adytail, _16c);\n finlen = finadd(finlen, sum(\n scale(aytbclen, aytbc, adytail, _16), _16,\n scale(len, _16c, 2 * ady, _32), _32, _48), _48);\n\n const len2 = scale(bcttlen, bctt, adytail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * ady, _16), _16,\n scale(len2, _8, adytail, _16b), _16b,\n scale(len, _16c, adytail, _32), _32, _32b, _64), _64);\n }\n }\n if (bdxtail !== 0 || bdytail !== 0) {\n if (cdxtail !== 0 || cdytail !== 0 || adxtail !== 0 || adytail !== 0) {\n s1 = cdxtail * ady;\n c = splitter * cdxtail;\n ahi = c - (c - cdxtail);\n alo = cdxtail - ahi;\n c = splitter * ady;\n bhi = c - (c - ady);\n blo = ady - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cdx * adytail;\n c = splitter * cdx;\n ahi = c - (c - cdx);\n alo = cdx - ahi;\n c = splitter * adytail;\n bhi = c - (c - adytail);\n blo = adytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n u[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n u[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n n1 = -cdy;\n n0 = -cdytail;\n s1 = adxtail * n1;\n c = splitter * adxtail;\n ahi = c - (c - adxtail);\n alo = adxtail - ahi;\n c = splitter * n1;\n bhi = c - (c - n1);\n blo = n1 - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adx * n0;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * n0;\n bhi = c - (c - n0);\n blo = n0 - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n v[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n v[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n v[2] = _j - (u3 - bvirt) + (_i - bvirt);\n v[3] = u3;\n catlen = sum(4, u, 4, v, cat);\n s1 = cdxtail * adytail;\n c = splitter * cdxtail;\n ahi = c - (c - cdxtail);\n alo = cdxtail - ahi;\n c = splitter * adytail;\n bhi = c - (c - adytail);\n blo = adytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adxtail * cdytail;\n c = splitter * adxtail;\n ahi = c - (c - adxtail);\n alo = adxtail - ahi;\n c = splitter * cdytail;\n bhi = c - (c - cdytail);\n blo = cdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n catt[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n catt[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n catt[2] = _j - (u3 - bvirt) + (_i - bvirt);\n catt[3] = u3;\n cattlen = 4;\n } else {\n cat[0] = 0;\n catlen = 1;\n catt[0] = 0;\n cattlen = 1;\n }\n if (bdxtail !== 0) {\n const len = scale(catlen, cat, bdxtail, _16c);\n finlen = finadd(finlen, sum(\n scale(bxtcalen, bxtca, bdxtail, _16), _16,\n scale(len, _16c, 2 * bdx, _32), _32, _48), _48);\n\n const len2 = scale(cattlen, catt, bdxtail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * bdx, _16), _16,\n scale(len2, _8, bdxtail, _16b), _16b,\n scale(len, _16c, bdxtail, _32), _32, _32b, _64), _64);\n\n if (cdytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, aa, bdxtail, _8), _8, cdytail, _16), _16);\n }\n if (adytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, cc, -bdxtail, _8), _8, adytail, _16), _16);\n }\n }\n if (bdytail !== 0) {\n const len = scale(catlen, cat, bdytail, _16c);\n finlen = finadd(finlen, sum(\n scale(bytcalen, bytca, bdytail, _16), _16,\n scale(len, _16c, 2 * bdy, _32), _32, _48), _48);\n\n const len2 = scale(cattlen, catt, bdytail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * bdy, _16), _16,\n scale(len2, _8, bdytail, _16b), _16b,\n scale(len, _16c, bdytail, _32), _32, _32b, _64), _64);\n }\n }\n if (cdxtail !== 0 || cdytail !== 0) {\n if (adxtail !== 0 || adytail !== 0 || bdxtail !== 0 || bdytail !== 0) {\n s1 = adxtail * bdy;\n c = splitter * adxtail;\n ahi = c - (c - adxtail);\n alo = adxtail - ahi;\n c = splitter * bdy;\n bhi = c - (c - bdy);\n blo = bdy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = adx * bdytail;\n c = splitter * adx;\n ahi = c - (c - adx);\n alo = adx - ahi;\n c = splitter * bdytail;\n bhi = c - (c - bdytail);\n blo = bdytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n u[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n u[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n u[2] = _j - (u3 - bvirt) + (_i - bvirt);\n u[3] = u3;\n n1 = -ady;\n n0 = -adytail;\n s1 = bdxtail * n1;\n c = splitter * bdxtail;\n ahi = c - (c - bdxtail);\n alo = bdxtail - ahi;\n c = splitter * n1;\n bhi = c - (c - n1);\n blo = n1 - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdx * n0;\n c = splitter * bdx;\n ahi = c - (c - bdx);\n alo = bdx - ahi;\n c = splitter * n0;\n bhi = c - (c - n0);\n blo = n0 - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 + t0;\n bvirt = _i - s0;\n v[0] = s0 - (_i - bvirt) + (t0 - bvirt);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 + t1;\n bvirt = _i - _0;\n v[1] = _0 - (_i - bvirt) + (t1 - bvirt);\n u3 = _j + _i;\n bvirt = u3 - _j;\n v[2] = _j - (u3 - bvirt) + (_i - bvirt);\n v[3] = u3;\n abtlen = sum(4, u, 4, v, abt);\n s1 = adxtail * bdytail;\n c = splitter * adxtail;\n ahi = c - (c - adxtail);\n alo = adxtail - ahi;\n c = splitter * bdytail;\n bhi = c - (c - bdytail);\n blo = bdytail - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bdxtail * adytail;\n c = splitter * bdxtail;\n ahi = c - (c - bdxtail);\n alo = bdxtail - ahi;\n c = splitter * adytail;\n bhi = c - (c - adytail);\n blo = adytail - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n abtt[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n abtt[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n abtt[2] = _j - (u3 - bvirt) + (_i - bvirt);\n abtt[3] = u3;\n abttlen = 4;\n } else {\n abt[0] = 0;\n abtlen = 1;\n abtt[0] = 0;\n abttlen = 1;\n }\n if (cdxtail !== 0) {\n const len = scale(abtlen, abt, cdxtail, _16c);\n finlen = finadd(finlen, sum(\n scale(cxtablen, cxtab, cdxtail, _16), _16,\n scale(len, _16c, 2 * cdx, _32), _32, _48), _48);\n\n const len2 = scale(abttlen, abtt, cdxtail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * cdx, _16), _16,\n scale(len2, _8, cdxtail, _16b), _16b,\n scale(len, _16c, cdxtail, _32), _32, _32b, _64), _64);\n\n if (adytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, bb, cdxtail, _8), _8, adytail, _16), _16);\n }\n if (bdytail !== 0) {\n finlen = finadd(finlen, scale(scale(4, aa, -cdxtail, _8), _8, bdytail, _16), _16);\n }\n }\n if (cdytail !== 0) {\n const len = scale(abtlen, abt, cdytail, _16c);\n finlen = finadd(finlen, sum(\n scale(cytablen, cytab, cdytail, _16), _16,\n scale(len, _16c, 2 * cdy, _32), _32, _48), _48);\n\n const len2 = scale(abttlen, abtt, cdytail, _8);\n finlen = finadd(finlen, sum_three(\n scale(len2, _8, 2 * cdy, _16), _16,\n scale(len2, _8, cdytail, _16b), _16b,\n scale(len, _16c, cdytail, _32), _32, _32b, _64), _64);\n }\n }\n\n return fin[finlen - 1];\n}\n\nexport function incircle(ax, ay, bx, by, cx, cy, dx, dy) {\n const adx = ax - dx;\n const bdx = bx - dx;\n const cdx = cx - dx;\n const ady = ay - dy;\n const bdy = by - dy;\n const cdy = cy - dy;\n\n const bdxcdy = bdx * cdy;\n const cdxbdy = cdx * bdy;\n const alift = adx * adx + ady * ady;\n\n const cdxady = cdx * ady;\n const adxcdy = adx * cdy;\n const blift = bdx * bdx + bdy * bdy;\n\n const adxbdy = adx * bdy;\n const bdxady = bdx * ady;\n const clift = cdx * cdx + cdy * cdy;\n\n const det =\n alift * (bdxcdy - cdxbdy) +\n blift * (cdxady - adxcdy) +\n clift * (adxbdy - bdxady);\n\n const permanent =\n (Math.abs(bdxcdy) + Math.abs(cdxbdy)) * alift +\n (Math.abs(cdxady) + Math.abs(adxcdy)) * blift +\n (Math.abs(adxbdy) + Math.abs(bdxady)) * clift;\n\n const errbound = iccerrboundA * permanent;\n\n if (det > errbound || -det > errbound) {\n return det;\n }\n return incircleadapt(ax, ay, bx, by, cx, cy, dx, dy, permanent);\n}\n\nexport function incirclefast(ax, ay, bx, by, cx, cy, dx, dy) {\n const adx = ax - dx;\n const ady = ay - dy;\n const bdx = bx - dx;\n const bdy = by - dy;\n const cdx = cx - dx;\n const cdy = cy - dy;\n\n const abdet = adx * bdy - bdx * ady;\n const bcdet = bdx * cdy - cdx * bdy;\n const cadet = cdx * ady - adx * cdy;\n const alift = adx * adx + ady * ady;\n const blift = bdx * bdx + bdy * bdy;\n const clift = cdx * cdx + cdy * cdy;\n\n return alift * bcdet + blift * cadet + clift * abdet;\n}\n", "import {epsilon, splitter, resulterrbound, estimate, vec, sum, sum_three, scale, negate} from './util.js';\n\nconst isperrboundA = (16 + 224 * epsilon) * epsilon;\nconst isperrboundB = (5 + 72 * epsilon) * epsilon;\nconst isperrboundC = (71 + 1408 * epsilon) * epsilon * epsilon;\n\nconst ab = vec(4);\nconst bc = vec(4);\nconst cd = vec(4);\nconst de = vec(4);\nconst ea = vec(4);\nconst ac = vec(4);\nconst bd = vec(4);\nconst ce = vec(4);\nconst da = vec(4);\nconst eb = vec(4);\n\nconst abc = vec(24);\nconst bcd = vec(24);\nconst cde = vec(24);\nconst dea = vec(24);\nconst eab = vec(24);\nconst abd = vec(24);\nconst bce = vec(24);\nconst cda = vec(24);\nconst deb = vec(24);\nconst eac = vec(24);\n\nconst adet = vec(1152);\nconst bdet = vec(1152);\nconst cdet = vec(1152);\nconst ddet = vec(1152);\nconst edet = vec(1152);\nconst abdet = vec(2304);\nconst cddet = vec(2304);\nconst cdedet = vec(3456);\nconst deter = vec(5760);\n\nconst _8 = vec(8);\nconst _8b = vec(8);\nconst _8c = vec(8);\nconst _16 = vec(16);\nconst _24 = vec(24);\nconst _48 = vec(48);\nconst _48b = vec(48);\nconst _96 = vec(96);\nconst _192 = vec(192);\nconst _384x = vec(384);\nconst _384y = vec(384);\nconst _384z = vec(384);\nconst _768 = vec(768);\n\nfunction sum_three_scale(a, b, c, az, bz, cz, out) {\n return sum_three(\n scale(4, a, az, _8), _8,\n scale(4, b, bz, _8b), _8b,\n scale(4, c, cz, _8c), _8c, _16, out);\n}\n\nfunction liftexact(alen, a, blen, b, clen, c, dlen, d, x, y, z, out) {\n const len = sum(\n sum(alen, a, blen, b, _48), _48,\n negate(sum(clen, c, dlen, d, _48b), _48b), _48b, _96);\n\n return sum_three(\n scale(scale(len, _96, x, _192), _192, x, _384x), _384x,\n scale(scale(len, _96, y, _192), _192, y, _384y), _384y,\n scale(scale(len, _96, z, _192), _192, z, _384z), _384z, _768, out);\n}\n\nfunction insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3;\n\n s1 = ax * by;\n c = splitter * ax;\n ahi = c - (c - ax);\n alo = ax - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bx * ay;\n c = splitter * bx;\n ahi = c - (c - bx);\n alo = bx - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ab[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ab[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ab[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ab[3] = u3;\n s1 = bx * cy;\n c = splitter * bx;\n ahi = c - (c - bx);\n alo = bx - ahi;\n c = splitter * cy;\n bhi = c - (c - cy);\n blo = cy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cx * by;\n c = splitter * cx;\n ahi = c - (c - cx);\n alo = cx - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bc[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bc[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bc[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bc[3] = u3;\n s1 = cx * dy;\n c = splitter * cx;\n ahi = c - (c - cx);\n alo = cx - ahi;\n c = splitter * dy;\n bhi = c - (c - dy);\n blo = dy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = dx * cy;\n c = splitter * dx;\n ahi = c - (c - dx);\n alo = dx - ahi;\n c = splitter * cy;\n bhi = c - (c - cy);\n blo = cy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n cd[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n cd[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n cd[2] = _j - (u3 - bvirt) + (_i - bvirt);\n cd[3] = u3;\n s1 = dx * ey;\n c = splitter * dx;\n ahi = c - (c - dx);\n alo = dx - ahi;\n c = splitter * ey;\n bhi = c - (c - ey);\n blo = ey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ex * dy;\n c = splitter * ex;\n ahi = c - (c - ex);\n alo = ex - ahi;\n c = splitter * dy;\n bhi = c - (c - dy);\n blo = dy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n de[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n de[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n de[2] = _j - (u3 - bvirt) + (_i - bvirt);\n de[3] = u3;\n s1 = ex * ay;\n c = splitter * ex;\n ahi = c - (c - ex);\n alo = ex - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ax * ey;\n c = splitter * ax;\n ahi = c - (c - ax);\n alo = ax - ahi;\n c = splitter * ey;\n bhi = c - (c - ey);\n blo = ey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ea[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ea[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ea[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ea[3] = u3;\n s1 = ax * cy;\n c = splitter * ax;\n ahi = c - (c - ax);\n alo = ax - ahi;\n c = splitter * cy;\n bhi = c - (c - cy);\n blo = cy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cx * ay;\n c = splitter * cx;\n ahi = c - (c - cx);\n alo = cx - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ac[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ac[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ac[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ac[3] = u3;\n s1 = bx * dy;\n c = splitter * bx;\n ahi = c - (c - bx);\n alo = bx - ahi;\n c = splitter * dy;\n bhi = c - (c - dy);\n blo = dy - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = dx * by;\n c = splitter * dx;\n ahi = c - (c - dx);\n alo = dx - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bd[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bd[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n bd[2] = _j - (u3 - bvirt) + (_i - bvirt);\n bd[3] = u3;\n s1 = cx * ey;\n c = splitter * cx;\n ahi = c - (c - cx);\n alo = cx - ahi;\n c = splitter * ey;\n bhi = c - (c - ey);\n blo = ey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ex * cy;\n c = splitter * ex;\n ahi = c - (c - ex);\n alo = ex - ahi;\n c = splitter * cy;\n bhi = c - (c - cy);\n blo = cy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ce[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ce[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n ce[2] = _j - (u3 - bvirt) + (_i - bvirt);\n ce[3] = u3;\n s1 = dx * ay;\n c = splitter * dx;\n ahi = c - (c - dx);\n alo = dx - ahi;\n c = splitter * ay;\n bhi = c - (c - ay);\n blo = ay - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = ax * dy;\n c = splitter * ax;\n ahi = c - (c - ax);\n alo = ax - ahi;\n c = splitter * dy;\n bhi = c - (c - dy);\n blo = dy - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n da[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n da[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n da[2] = _j - (u3 - bvirt) + (_i - bvirt);\n da[3] = u3;\n s1 = ex * by;\n c = splitter * ex;\n ahi = c - (c - ex);\n alo = ex - ahi;\n c = splitter * by;\n bhi = c - (c - by);\n blo = by - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bx * ey;\n c = splitter * bx;\n ahi = c - (c - bx);\n alo = bx - ahi;\n c = splitter * ey;\n bhi = c - (c - ey);\n blo = ey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n eb[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n eb[1] = _0 - (_i + bvirt) + (bvirt - t1);\n u3 = _j + _i;\n bvirt = u3 - _j;\n eb[2] = _j - (u3 - bvirt) + (_i - bvirt);\n eb[3] = u3;\n\n const abclen = sum_three_scale(ab, bc, ac, cz, az, -bz, abc);\n const bcdlen = sum_three_scale(bc, cd, bd, dz, bz, -cz, bcd);\n const cdelen = sum_three_scale(cd, de, ce, ez, cz, -dz, cde);\n const dealen = sum_three_scale(de, ea, da, az, dz, -ez, dea);\n const eablen = sum_three_scale(ea, ab, eb, bz, ez, -az, eab);\n const abdlen = sum_three_scale(ab, bd, da, dz, az, bz, abd);\n const bcelen = sum_three_scale(bc, ce, eb, ez, bz, cz, bce);\n const cdalen = sum_three_scale(cd, da, ac, az, cz, dz, cda);\n const deblen = sum_three_scale(de, eb, bd, bz, dz, ez, deb);\n const eaclen = sum_three_scale(ea, ac, ce, cz, ez, az, eac);\n\n const deterlen = sum_three(\n liftexact(cdelen, cde, bcelen, bce, deblen, deb, bcdlen, bcd, ax, ay, az, adet), adet,\n liftexact(dealen, dea, cdalen, cda, eaclen, eac, cdelen, cde, bx, by, bz, bdet), bdet,\n sum_three(\n liftexact(eablen, eab, deblen, deb, abdlen, abd, dealen, dea, cx, cy, cz, cdet), cdet,\n liftexact(abclen, abc, eaclen, eac, bcelen, bce, eablen, eab, dx, dy, dz, ddet), ddet,\n liftexact(bcdlen, bcd, abdlen, abd, cdalen, cda, abclen, abc, ex, ey, ez, edet), edet, cddet, cdedet), cdedet, abdet, deter);\n\n return deter[deterlen - 1];\n}\n\nconst xdet = vec(96);\nconst ydet = vec(96);\nconst zdet = vec(96);\nconst fin = vec(1152);\n\nfunction liftadapt(a, b, c, az, bz, cz, x, y, z, out) {\n const len = sum_three_scale(a, b, c, az, bz, cz, _24);\n return sum_three(\n scale(scale(len, _24, x, _48), _48, x, xdet), xdet,\n scale(scale(len, _24, y, _48), _48, y, ydet), ydet,\n scale(scale(len, _24, z, _48), _48, z, zdet), zdet, _192, out);\n}\n\nfunction insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent) {\n let ab3, bc3, cd3, da3, ac3, bd3;\n\n let aextail, bextail, cextail, dextail;\n let aeytail, beytail, ceytail, deytail;\n let aeztail, beztail, ceztail, deztail;\n\n let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0;\n\n const aex = ax - ex;\n const bex = bx - ex;\n const cex = cx - ex;\n const dex = dx - ex;\n const aey = ay - ey;\n const bey = by - ey;\n const cey = cy - ey;\n const dey = dy - ey;\n const aez = az - ez;\n const bez = bz - ez;\n const cez = cz - ez;\n const dez = dz - ez;\n\n s1 = aex * bey;\n c = splitter * aex;\n ahi = c - (c - aex);\n alo = aex - ahi;\n c = splitter * bey;\n bhi = c - (c - bey);\n blo = bey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = bex * aey;\n c = splitter * bex;\n ahi = c - (c - bex);\n alo = bex - ahi;\n c = splitter * aey;\n bhi = c - (c - aey);\n blo = aey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ab[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ab[1] = _0 - (_i + bvirt) + (bvirt - t1);\n ab3 = _j + _i;\n bvirt = ab3 - _j;\n ab[2] = _j - (ab3 - bvirt) + (_i - bvirt);\n ab[3] = ab3;\n s1 = bex * cey;\n c = splitter * bex;\n ahi = c - (c - bex);\n alo = bex - ahi;\n c = splitter * cey;\n bhi = c - (c - cey);\n blo = cey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cex * bey;\n c = splitter * cex;\n ahi = c - (c - cex);\n alo = cex - ahi;\n c = splitter * bey;\n bhi = c - (c - bey);\n blo = bey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bc[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bc[1] = _0 - (_i + bvirt) + (bvirt - t1);\n bc3 = _j + _i;\n bvirt = bc3 - _j;\n bc[2] = _j - (bc3 - bvirt) + (_i - bvirt);\n bc[3] = bc3;\n s1 = cex * dey;\n c = splitter * cex;\n ahi = c - (c - cex);\n alo = cex - ahi;\n c = splitter * dey;\n bhi = c - (c - dey);\n blo = dey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = dex * cey;\n c = splitter * dex;\n ahi = c - (c - dex);\n alo = dex - ahi;\n c = splitter * cey;\n bhi = c - (c - cey);\n blo = cey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n cd[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n cd[1] = _0 - (_i + bvirt) + (bvirt - t1);\n cd3 = _j + _i;\n bvirt = cd3 - _j;\n cd[2] = _j - (cd3 - bvirt) + (_i - bvirt);\n cd[3] = cd3;\n s1 = dex * aey;\n c = splitter * dex;\n ahi = c - (c - dex);\n alo = dex - ahi;\n c = splitter * aey;\n bhi = c - (c - aey);\n blo = aey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = aex * dey;\n c = splitter * aex;\n ahi = c - (c - aex);\n alo = aex - ahi;\n c = splitter * dey;\n bhi = c - (c - dey);\n blo = dey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n da[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n da[1] = _0 - (_i + bvirt) + (bvirt - t1);\n da3 = _j + _i;\n bvirt = da3 - _j;\n da[2] = _j - (da3 - bvirt) + (_i - bvirt);\n da[3] = da3;\n s1 = aex * cey;\n c = splitter * aex;\n ahi = c - (c - aex);\n alo = aex - ahi;\n c = splitter * cey;\n bhi = c - (c - cey);\n blo = cey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = cex * aey;\n c = splitter * cex;\n ahi = c - (c - cex);\n alo = cex - ahi;\n c = splitter * aey;\n bhi = c - (c - aey);\n blo = aey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n ac[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n ac[1] = _0 - (_i + bvirt) + (bvirt - t1);\n ac3 = _j + _i;\n bvirt = ac3 - _j;\n ac[2] = _j - (ac3 - bvirt) + (_i - bvirt);\n ac[3] = ac3;\n s1 = bex * dey;\n c = splitter * bex;\n ahi = c - (c - bex);\n alo = bex - ahi;\n c = splitter * dey;\n bhi = c - (c - dey);\n blo = dey - bhi;\n s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);\n t1 = dex * bey;\n c = splitter * dex;\n ahi = c - (c - dex);\n alo = dex - ahi;\n c = splitter * bey;\n bhi = c - (c - bey);\n blo = bey - bhi;\n t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);\n _i = s0 - t0;\n bvirt = s0 - _i;\n bd[0] = s0 - (_i + bvirt) + (bvirt - t0);\n _j = s1 + _i;\n bvirt = _j - s1;\n _0 = s1 - (_j - bvirt) + (_i - bvirt);\n _i = _0 - t1;\n bvirt = _0 - _i;\n bd[1] = _0 - (_i + bvirt) + (bvirt - t1);\n bd3 = _j + _i;\n bvirt = bd3 - _j;\n bd[2] = _j - (bd3 - bvirt) + (_i - bvirt);\n bd[3] = bd3;\n\n const finlen = sum(\n sum(\n negate(liftadapt(bc, cd, bd, dez, bez, -cez, aex, aey, aez, adet), adet), adet,\n liftadapt(cd, da, ac, aez, cez, dez, bex, bey, bez, bdet), bdet, abdet), abdet,\n sum(\n negate(liftadapt(da, ab, bd, bez, dez, aez, cex, cey, cez, cdet), cdet), cdet,\n liftadapt(ab, bc, ac, cez, aez, -bez, dex, dey, dez, ddet), ddet, cddet), cddet, fin);\n\n let det = estimate(finlen, fin);\n let errbound = isperrboundB * permanent;\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n bvirt = ax - aex;\n aextail = ax - (aex + bvirt) + (bvirt - ex);\n bvirt = ay - aey;\n aeytail = ay - (aey + bvirt) + (bvirt - ey);\n bvirt = az - aez;\n aeztail = az - (aez + bvirt) + (bvirt - ez);\n bvirt = bx - bex;\n bextail = bx - (bex + bvirt) + (bvirt - ex);\n bvirt = by - bey;\n beytail = by - (bey + bvirt) + (bvirt - ey);\n bvirt = bz - bez;\n beztail = bz - (bez + bvirt) + (bvirt - ez);\n bvirt = cx - cex;\n cextail = cx - (cex + bvirt) + (bvirt - ex);\n bvirt = cy - cey;\n ceytail = cy - (cey + bvirt) + (bvirt - ey);\n bvirt = cz - cez;\n ceztail = cz - (cez + bvirt) + (bvirt - ez);\n bvirt = dx - dex;\n dextail = dx - (dex + bvirt) + (bvirt - ex);\n bvirt = dy - dey;\n deytail = dy - (dey + bvirt) + (bvirt - ey);\n bvirt = dz - dez;\n deztail = dz - (dez + bvirt) + (bvirt - ez);\n if (aextail === 0 && aeytail === 0 && aeztail === 0 &&\n bextail === 0 && beytail === 0 && beztail === 0 &&\n cextail === 0 && ceytail === 0 && ceztail === 0 &&\n dextail === 0 && deytail === 0 && deztail === 0) {\n return det;\n }\n\n errbound = isperrboundC * permanent + resulterrbound * Math.abs(det);\n\n const abeps = (aex * beytail + bey * aextail) - (aey * bextail + bex * aeytail);\n const bceps = (bex * ceytail + cey * bextail) - (bey * cextail + cex * beytail);\n const cdeps = (cex * deytail + dey * cextail) - (cey * dextail + dex * ceytail);\n const daeps = (dex * aeytail + aey * dextail) - (dey * aextail + aex * deytail);\n const aceps = (aex * ceytail + cey * aextail) - (aey * cextail + cex * aeytail);\n const bdeps = (bex * deytail + dey * bextail) - (bey * dextail + dex * beytail);\n det +=\n (((bex * bex + bey * bey + bez * bez) * ((cez * daeps + dez * aceps + aez * cdeps) +\n (ceztail * da3 + deztail * ac3 + aeztail * cd3)) + (dex * dex + dey * dey + dez * dez) *\n ((aez * bceps - bez * aceps + cez * abeps) + (aeztail * bc3 - beztail * ac3 + ceztail * ab3))) -\n ((aex * aex + aey * aey + aez * aez) * ((bez * cdeps - cez * bdeps + dez * bceps) +\n (beztail * cd3 - ceztail * bd3 + deztail * bc3)) + (cex * cex + cey * cey + cez * cez) *\n ((dez * abeps + aez * bdeps + bez * daeps) + (deztail * ab3 + aeztail * bd3 + beztail * da3)))) +\n 2 * (((bex * bextail + bey * beytail + bez * beztail) * (cez * da3 + dez * ac3 + aez * cd3) +\n (dex * dextail + dey * deytail + dez * deztail) * (aez * bc3 - bez * ac3 + cez * ab3)) -\n ((aex * aextail + aey * aeytail + aez * aeztail) * (bez * cd3 - cez * bd3 + dez * bc3) +\n (cex * cextail + cey * ceytail + cez * ceztail) * (dez * ab3 + aez * bd3 + bez * da3)));\n\n if (det >= errbound || -det >= errbound) {\n return det;\n }\n\n return insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez);\n}\n\nexport function insphere(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {\n const aex = ax - ex;\n const bex = bx - ex;\n const cex = cx - ex;\n const dex = dx - ex;\n const aey = ay - ey;\n const bey = by - ey;\n const cey = cy - ey;\n const dey = dy - ey;\n const aez = az - ez;\n const bez = bz - ez;\n const cez = cz - ez;\n const dez = dz - ez;\n\n const aexbey = aex * bey;\n const bexaey = bex * aey;\n const ab = aexbey - bexaey;\n const bexcey = bex * cey;\n const cexbey = cex * bey;\n const bc = bexcey - cexbey;\n const cexdey = cex * dey;\n const dexcey = dex * cey;\n const cd = cexdey - dexcey;\n const dexaey = dex * aey;\n const aexdey = aex * dey;\n const da = dexaey - aexdey;\n const aexcey = aex * cey;\n const cexaey = cex * aey;\n const ac = aexcey - cexaey;\n const bexdey = bex * dey;\n const dexbey = dex * bey;\n const bd = bexdey - dexbey;\n\n const alift = aex * aex + aey * aey + aez * aez;\n const blift = bex * bex + bey * bey + bez * bez;\n const clift = cex * cex + cey * cey + cez * cez;\n const dlift = dex * dex + dey * dey + dez * dez;\n\n const det =\n (clift * (dez * ab + aez * bd + bez * da) - dlift * (aez * bc - bez * ac + cez * ab)) +\n (alift * (bez * cd - cez * bd + dez * bc) - blift * (cez * da + dez * ac + aez * cd));\n\n const aezplus = Math.abs(aez);\n const bezplus = Math.abs(bez);\n const cezplus = Math.abs(cez);\n const dezplus = Math.abs(dez);\n const aexbeyplus = Math.abs(aexbey) + Math.abs(bexaey);\n const bexceyplus = Math.abs(bexcey) + Math.abs(cexbey);\n const cexdeyplus = Math.abs(cexdey) + Math.abs(dexcey);\n const dexaeyplus = Math.abs(dexaey) + Math.abs(aexdey);\n const aexceyplus = Math.abs(aexcey) + Math.abs(cexaey);\n const bexdeyplus = Math.abs(bexdey) + Math.abs(dexbey);\n const permanent =\n (cexdeyplus * bezplus + bexdeyplus * cezplus + bexceyplus * dezplus) * alift +\n (dexaeyplus * cezplus + aexceyplus * dezplus + cexdeyplus * aezplus) * blift +\n (aexbeyplus * dezplus + bexdeyplus * aezplus + dexaeyplus * bezplus) * clift +\n (bexceyplus * aezplus + aexceyplus * bezplus + aexbeyplus * cezplus) * dlift;\n\n const errbound = isperrboundA * permanent;\n if (det > errbound || -det > errbound) {\n return det;\n }\n return -insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent);\n}\n\nexport function inspherefast(pax, pay, paz, pbx, pby, pbz, pcx, pcy, pcz, pdx, pdy, pdz, pex, pey, pez) {\n const aex = pax - pex;\n const bex = pbx - pex;\n const cex = pcx - pex;\n const dex = pdx - pex;\n const aey = pay - pey;\n const bey = pby - pey;\n const cey = pcy - pey;\n const dey = pdy - pey;\n const aez = paz - pez;\n const bez = pbz - pez;\n const cez = pcz - pez;\n const dez = pdz - pez;\n\n const ab = aex * bey - bex * aey;\n const bc = bex * cey - cex * bey;\n const cd = cex * dey - dex * cey;\n const da = dex * aey - aex * dey;\n const ac = aex * cey - cex * aey;\n const bd = bex * dey - dex * bey;\n\n const abc = aez * bc - bez * ac + cez * ab;\n const bcd = bez * cd - cez * bd + dez * bc;\n const cda = cez * da + dez * ac + aez * cd;\n const dab = dez * ab + aez * bd + bez * da;\n\n const alift = aex * aex + aey * aey + aez * aez;\n const blift = bex * bex + bey * bey + bez * bez;\n const clift = cex * cex + cey * cey + cez * cez;\n const dlift = dex * dex + dey * dey + dez * dez;\n\n return (clift * dab - dlift * abc) + (alift * bcd - blift * cda);\n}\n", "\nexport {orient2d, orient2dfast} from './esm/orient2d.js';\nexport {orient3d, orient3dfast} from './esm/orient3d.js';\nexport {incircle, incirclefast} from './esm/incircle.js';\nexport {insphere, inspherefast} from './esm/insphere.js';\n", "import { orient2d } from 'robust-predicates';\n\nfunction pointInPolygon(p, polygon) {\n var i;\n var ii;\n var k = 0;\n var f;\n var u1;\n var v1;\n var u2;\n var v2;\n var currentP;\n var nextP;\n\n var x = p[0];\n var y = p[1];\n\n var numContours = polygon.length;\n for (i = 0; i < numContours; i++) {\n ii = 0;\n var contour = polygon[i];\n var contourLen = contour.length - 1;\n\n currentP = contour[0];\n if (currentP[0] !== contour[contourLen][0] &&\n currentP[1] !== contour[contourLen][1]) {\n throw new Error('First and last coordinates in a ring must be the same')\n }\n\n u1 = currentP[0] - x;\n v1 = currentP[1] - y;\n\n for (ii; ii < contourLen; ii++) {\n nextP = contour[ii + 1];\n\n u2 = nextP[0] - x;\n v2 = nextP[1] - y;\n\n if (v1 === 0 && v2 === 0) {\n if ((u2 <= 0 && u1 >= 0) || (u1 <= 0 && u2 >= 0)) { return 0 }\n } else if ((v2 >= 0 && v1 <= 0) || (v2 <= 0 && v1 >= 0)) {\n f = orient2d(u1, u2, v1, v2, 0, 0);\n if (f === 0) { return 0 }\n if ((f > 0 && v2 > 0 && v1 <= 0) || (f < 0 && v2 <= 0 && v1 > 0)) { k++; }\n }\n currentP = nextP;\n v1 = v2;\n u1 = u2;\n }\n }\n\n if (k % 2 === 0) { return false }\n return true\n}\n\nexport { pointInPolygon as default };\n", "import pip from \"point-in-polygon-hao\";\nimport {\n BBox,\n Feature,\n MultiPolygon,\n Polygon,\n GeoJsonProperties,\n} from \"geojson\";\nimport { Coord } from \"@turf/helpers\";\nimport { getCoord, getGeom } from \"@turf/invariant\";\n\n// http://en.wikipedia.org/wiki/Even%E2%80%93odd_rule\n// modified from: https://github.com/substack/point-in-polygon/blob/master/index.js\n// which was modified from http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html\n/**\n * Takes a {@link Point} and a {@link Polygon} or {@link MultiPolygon} and determines if the point\n * resides inside the polygon. The polygon can be convex or concave. The function accounts for holes.\n *\n * @function\n * @param {Coord} point input point\n * @param {Feature} polygon input polygon or multipolygon\n * @param {Object} [options={}] Optional parameters\n * @param {boolean} [options.ignoreBoundary=false] True if polygon boundary should be ignored when determining if\n * the point is inside the polygon otherwise false.\n * @returns {boolean} `true` if the Point is inside the Polygon; `false` if the Point is not inside the Polygon\n * @example\n * var pt = turf.point([-77, 44]);\n * var poly = turf.polygon([[\n * [-81, 41],\n * [-81, 47],\n * [-72, 47],\n * [-72, 41],\n * [-81, 41]\n * ]]);\n *\n * turf.booleanPointInPolygon(pt, poly);\n * //= true\n */\nfunction booleanPointInPolygon<\n G extends Polygon | MultiPolygon,\n P extends GeoJsonProperties = GeoJsonProperties,\n>(\n point: Coord,\n polygon: Feature | G,\n options: {\n ignoreBoundary?: boolean;\n } = {}\n) {\n // validation\n if (!point) {\n throw new Error(\"point is required\");\n }\n if (!polygon) {\n throw new Error(\"polygon is required\");\n }\n\n const pt = getCoord(point);\n const geom = getGeom(polygon);\n const type = geom.type;\n const bbox = polygon.bbox;\n let polys: any[] = geom.coordinates;\n\n // Quick elimination if point is not inside bbox\n if (bbox && inBBox(pt, bbox) === false) {\n return false;\n }\n\n if (type === \"Polygon\") {\n polys = [polys];\n }\n let result = false;\n for (var i = 0; i < polys.length; ++i) {\n const polyResult = pip(pt, polys[i]);\n if (polyResult === 0) return options.ignoreBoundary ? false : true;\n else if (polyResult) result = true;\n }\n\n return result;\n}\n\n/**\n * inBBox\n *\n * @private\n * @param {Position} pt point [x,y]\n * @param {BBox} bbox BBox [west, south, east, north]\n * @returns {boolean} true/false if point is inside BBox\n */\nfunction inBBox(pt: number[], bbox: BBox) {\n return (\n bbox[0] <= pt[0] && bbox[1] <= pt[1] && bbox[2] >= pt[0] && bbox[3] >= pt[1]\n );\n}\n\nexport { booleanPointInPolygon };\nexport default booleanPointInPolygon;\n", "/**\n * Turf is a modular geospatial analysis engine written in JavaScript. It performs geospatial\n * processing tasks with GeoJSON data and can be run on a server or in a browser.\n *\n * @module turf\n * @summary Geospatial analysis for JavaScript\n */\nexport { along } from \"@turf/along\";\nexport { angle } from \"@turf/angle\";\nexport { area } from \"@turf/area\";\nexport { bbox } from \"@turf/bbox\";\nexport { bboxClip } from \"@turf/bbox-clip\";\nexport { bboxPolygon } from \"@turf/bbox-polygon\";\nexport { bearing } from \"@turf/bearing\";\nexport { bezierSpline } from \"@turf/bezier-spline\";\nexport { booleanClockwise } from \"@turf/boolean-clockwise\";\nexport { booleanConcave } from \"@turf/boolean-concave\";\nexport { booleanContains } from \"@turf/boolean-contains\";\nexport { booleanCrosses } from \"@turf/boolean-crosses\";\nexport { booleanDisjoint } from \"@turf/boolean-disjoint\";\nexport { booleanEqual } from \"@turf/boolean-equal\";\nexport { booleanIntersects } from \"@turf/boolean-intersects\";\nexport { booleanOverlap } from \"@turf/boolean-overlap\";\nexport { booleanParallel } from \"@turf/boolean-parallel\";\nexport { booleanPointInPolygon } from \"@turf/boolean-point-in-polygon\";\nexport { booleanPointOnLine } from \"@turf/boolean-point-on-line\";\nexport { booleanTouches } from \"@turf/boolean-touches\";\nexport { booleanValid } from \"@turf/boolean-valid\";\nexport { booleanWithin } from \"@turf/boolean-within\";\nexport { buffer } from \"@turf/buffer\"; // JSTS Module\nexport { center } from \"@turf/center\";\nexport { centerMean } from \"@turf/center-mean\";\nexport { centerMedian } from \"@turf/center-median\";\nexport { centerOfMass } from \"@turf/center-of-mass\";\nexport { centroid } from \"@turf/centroid\";\nexport { circle } from \"@turf/circle\";\nexport { cleanCoords } from \"@turf/clean-coords\";\nexport * from \"@turf/clone\";\nexport * from \"@turf/clusters\";\nexport * as clusters from \"@turf/clusters\";\nexport { clustersDbscan } from \"@turf/clusters-dbscan\";\nexport { clustersKmeans } from \"@turf/clusters-kmeans\";\nexport { collect } from \"@turf/collect\";\nexport { combine } from \"@turf/combine\";\nexport { concave } from \"@turf/concave\";\nexport { convex } from \"@turf/convex\";\nexport { destination } from \"@turf/destination\";\nexport { difference } from \"@turf/difference\"; // JSTS Module\nexport { dissolve } from \"@turf/dissolve\"; // JSTS Sub-Model\nexport { distance } from \"@turf/distance\";\nexport { distanceWeight } from \"@turf/distance-weight\";\nexport { ellipse } from \"@turf/ellipse\";\nexport { envelope } from \"@turf/envelope\";\nexport { explode } from \"@turf/explode\";\nexport { flatten } from \"@turf/flatten\";\nexport { flip } from \"@turf/flip\";\nexport { geojsonRbush } from \"@turf/geojson-rbush\";\nexport { greatCircle } from \"@turf/great-circle\";\nexport * from \"@turf/helpers\";\nexport * as helpers from \"@turf/helpers\";\nexport { hexGrid } from \"@turf/hex-grid\"; // JSTS Sub-Model\nexport { interpolate } from \"@turf/interpolate\"; // JSTS Sub-Model\nexport { intersect } from \"@turf/intersect\"; // JSTS Module\nexport * from \"@turf/invariant\";\nexport * as invariant from \"@turf/invariant\";\nexport { isobands } from \"@turf/isobands\";\nexport { isolines } from \"@turf/isolines\";\nexport { kinks } from \"@turf/kinks\";\nexport { length } from \"@turf/length\";\nexport { lineArc } from \"@turf/line-arc\";\nexport { lineChunk } from \"@turf/line-chunk\";\nexport { lineIntersect } from \"@turf/line-intersect\";\nexport { lineOffset } from \"@turf/line-offset\";\nexport { lineOverlap } from \"@turf/line-overlap\";\nexport { lineSegment } from \"@turf/line-segment\";\nexport { lineSlice } from \"@turf/line-slice\";\nexport { lineSliceAlong } from \"@turf/line-slice-along\";\nexport { lineSplit } from \"@turf/line-split\";\nexport { lineToPolygon } from \"@turf/line-to-polygon\";\nexport { mask } from \"@turf/mask\"; // JSTS Sub-Model\nexport * from \"@turf/meta\";\nexport * as meta from \"@turf/meta\";\nexport { midpoint } from \"@turf/midpoint\";\nexport { moranIndex } from \"@turf/moran-index\";\nexport * from \"@turf/nearest-neighbor-analysis\";\nexport { nearestPoint } from \"@turf/nearest-point\";\nexport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nexport { nearestPointToLine } from \"@turf/nearest-point-to-line\";\nexport { planepoint } from \"@turf/planepoint\";\nexport { pointGrid } from \"@turf/point-grid\";\nexport { pointOnFeature } from \"@turf/point-on-feature\";\nexport { pointsWithinPolygon } from \"@turf/points-within-polygon\";\nexport { pointToLineDistance } from \"@turf/point-to-line-distance\";\nexport { pointToPolygonDistance } from \"@turf/point-to-polygon-distance\";\nexport { polygonize } from \"@turf/polygonize\";\nexport { polygonSmooth } from \"@turf/polygon-smooth\";\nexport { polygonTangents } from \"@turf/polygon-tangents\";\nexport { polygonToLine } from \"@turf/polygon-to-line\";\nexport * from \"@turf/projection\";\nexport * as projection from \"@turf/projection\";\nexport * from \"@turf/quadrat-analysis\";\nexport * from \"@turf/random\";\nexport * as random from \"@turf/random\";\nexport { rectangleGrid } from \"@turf/rectangle-grid\"; // JSTS Sub-Model\nexport { rewind } from \"@turf/rewind\";\nexport { rhumbBearing } from \"@turf/rhumb-bearing\";\nexport { rhumbDestination } from \"@turf/rhumb-destination\";\nexport { rhumbDistance } from \"@turf/rhumb-distance\";\nexport { sample } from \"@turf/sample\";\nexport { sector } from \"@turf/sector\";\nexport { shortestPath } from \"@turf/shortest-path\";\nexport { simplify } from \"@turf/simplify\";\nexport { square } from \"@turf/square\";\nexport { squareGrid } from \"@turf/square-grid\"; // JSTS Sub-Model\nexport { standardDeviationalEllipse } from \"@turf/standard-deviational-ellipse\";\nexport { tag } from \"@turf/tag\";\nexport { tesselate } from \"@turf/tesselate\";\nexport { tin } from \"@turf/tin\";\nexport { transformRotate } from \"@turf/transform-rotate\";\nexport { transformScale } from \"@turf/transform-scale\";\nexport { transformTranslate } from \"@turf/transform-translate\";\nexport { triangleGrid } from \"@turf/triangle-grid\"; // JSTS Sub-Model\nexport { truncate } from \"@turf/truncate\";\nexport { union } from \"@turf/union\"; // JSTS Module\nexport { unkinkPolygon } from \"@turf/unkink-polygon\";\nexport { voronoi } from \"@turf/voronoi\";\n", "/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n if (!inst._zod) {\n Object.defineProperty(inst, \"_zod\", {\n value: {\n def,\n constr: _,\n traits: new Set(),\n },\n enumerable: false,\n });\n }\n if (inst._zod.traits.has(name)) {\n return;\n }\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n const proto = _.prototype;\n const keys = Object.keys(proto);\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n if (!(k in inst)) {\n inst[k] = proto[k].bind(inst);\n }\n }\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport class $ZodEncodeError extends Error {\n constructor(name) {\n super(`Encountered unidirectional transform during encode: ${name}`);\n this.name = \"ZodEncodeError\";\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n", "// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error(\"Unexpected value in exhaustive check\");\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepString = step.toString();\n let stepDecCount = (stepString.split(\".\")[1] || \"\").length;\n if (stepDecCount === 0 && /\\d?e-\\d?/.test(stepString)) {\n const match = stepString.match(/\\d?e-(\\d?)/);\n if (match?.[1]) {\n stepDecCount = Number.parseInt(match[1]);\n }\n }\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nconst EVALUATING = Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function objectClone(obj) {\n return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport function slugify(input) {\n return input\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\s-]/g, \"\")\n .replace(/[\\s_-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n if (typeof ctor !== \"function\")\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function shallowClone(o) {\n if (isPlainObject(o))\n return { ...o };\n if (Array.isArray(o))\n return [...o];\n return o;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".pick() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".omit() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const checks = schema._zod.def.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n // Only throw if new shape overlaps with existing shape\n // Use getOwnPropertyDescriptor to check key existence without accessing values\n const existingShape = schema._zod.def.shape;\n for (const key in shape) {\n if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {\n throw new Error(\"Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.\");\n }\n }\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function safeExtend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to safeExtend: expected a plain object\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n });\n return clone(schema, def);\n}\nexport function merge(a, b) {\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: [], // delete existing checks\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const currDef = schema._zod.def;\n const checks = currDef.checks;\n const hasChecks = checks && checks.length > 0;\n if (hasChecks) {\n throw new Error(\".partial() cannot be used on object schemas containing refinements\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n if (x.aborted === true)\n return true;\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function parsedType(data) {\n const t = typeof data;\n switch (t) {\n case \"number\": {\n return Number.isNaN(data) ? \"nan\" : \"number\";\n }\n case \"object\": {\n if (data === null) {\n return \"null\";\n }\n if (Array.isArray(data)) {\n return \"array\";\n }\n const obj = data;\n if (obj && Object.getPrototypeOf(obj) !== Object.prototype && \"constructor\" in obj && obj.constructor) {\n return obj.constructor.name;\n }\n }\n }\n return t;\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// Codec utility functions\nexport function base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\nexport function uint8ArrayToBase64(bytes) {\n let binaryString = \"\";\n for (let i = 0; i < bytes.length; i++) {\n binaryString += String.fromCharCode(bytes[i]);\n }\n return btoa(binaryString);\n}\nexport function base64urlToUint8Array(base64url) {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padding = \"=\".repeat((4 - (base64.length % 4)) % 4);\n return base64ToUint8Array(base64 + padding);\n}\nexport function uint8ArrayToBase64url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nexport function hexToUint8Array(hex) {\n const cleanHex = hex.replace(/^0x/, \"\");\n if (cleanHex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string length\");\n }\n const bytes = new Uint8Array(cleanHex.length / 2);\n for (let i = 0; i < cleanHex.length; i += 2) {\n bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);\n }\n return bytes;\n}\nexport function uint8ArrayToHex(bytes) {\n return Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n", "import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, mapper = (issue) => issue.message) {\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, mapper = (issue) => issue.message) {\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * \u2716 Expected number, received string at \"username\n * favoriteNumbers[0]\n * \u2716 Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`\u2716 ${issue.message}`);\n if (issue.path?.length)\n lines.push(` \u2192 at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n", "import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\nexport const _encode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parse(_Err)(schema, value, ctx);\n};\nexport const encode = /* @__PURE__*/ _encode(errors.$ZodRealError);\nexport const _decode = (_Err) => (schema, value, _ctx) => {\n return _parse(_Err)(schema, value, _ctx);\n};\nexport const decode = /* @__PURE__*/ _decode(errors.$ZodRealError);\nexport const _encodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _parseAsync(_Err)(schema, value, ctx);\n};\nexport const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);\nexport const _decodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _parseAsync(_Err)(schema, value, _ctx);\n};\nexport const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);\nexport const _safeEncode = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParse(_Err)(schema, value, ctx);\n};\nexport const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);\nexport const _safeDecode = (_Err) => (schema, value, _ctx) => {\n return _safeParse(_Err)(schema, value, _ctx);\n};\nexport const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);\nexport const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { direction: \"backward\" }) : { direction: \"backward\" };\n return _safeParseAsync(_Err)(schema, value, ctx);\n};\nexport const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);\nexport const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {\n return _safeParseAsync(_Err)(schema, value, _ctx);\n};\nexport const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);\n", "import * as util from \"./util.js\";\nexport const cuid = /^[cC][^\\s-]{8,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = unicodeEmail;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;\nexport const mac = (delimiter) => {\n const escapedDelim = util.escapeRegex(delimiter ?? \":\");\n return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);\n};\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\n// E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15\nexport const e164 = /^\\+[1-9]\\d{6,14}$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^-?\\d+n?$/;\nexport const integer = /^-?\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?$/;\nexport const boolean = /^(?:true|false)$/i;\nconst _null = /^null$/i;\nexport { _null as null };\nconst _undefined = /^undefined$/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n// regex for hexadecimal strings (any length)\nexport const hex = /^[0-9a-fA-F]*$/;\n// Hash regexes for different algorithms and encodings\n// Helper function to create base64 regex with exact length and padding\nfunction fixedBase64(bodyLength, padding) {\n return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);\n}\n// Helper function to create base64url regex with exact length (no padding)\nfunction fixedBase64url(length) {\n return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);\n}\n// MD5 (16 bytes): base64 = 24 chars total (22 + \"==\")\nexport const md5_hex = /^[0-9a-fA-F]{32}$/;\nexport const md5_base64 = /*@__PURE__*/ fixedBase64(22, \"==\");\nexport const md5_base64url = /*@__PURE__*/ fixedBase64url(22);\n// SHA1 (20 bytes): base64 = 28 chars total (27 + \"=\")\nexport const sha1_hex = /^[0-9a-fA-F]{40}$/;\nexport const sha1_base64 = /*@__PURE__*/ fixedBase64(27, \"=\");\nexport const sha1_base64url = /*@__PURE__*/ fixedBase64url(27);\n// SHA256 (32 bytes): base64 = 44 chars total (43 + \"=\")\nexport const sha256_hex = /^[0-9a-fA-F]{64}$/;\nexport const sha256_base64 = /*@__PURE__*/ fixedBase64(43, \"=\");\nexport const sha256_base64url = /*@__PURE__*/ fixedBase64url(43);\n// SHA384 (48 bytes): base64 = 64 chars total (no padding)\nexport const sha384_hex = /^[0-9a-fA-F]{96}$/;\nexport const sha384_base64 = /*@__PURE__*/ fixedBase64(64, \"\");\nexport const sha384_base64url = /*@__PURE__*/ fixedBase64url(64);\n// SHA512 (64 bytes): base64 = 88 chars total (86 + \"==\")\nexport const sha512_hex = /^[0-9a-fA-F]{128}$/;\nexport const sha512_base64 = /*@__PURE__*/ fixedBase64(86, \"==\");\nexport const sha512_base64url = /*@__PURE__*/ fixedBase64url(86);\n", "// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: typeof def.value === \"object\" ? def.value.getTime() : def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n inclusive: true,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n", "export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n", "export const version = {\n major: 4,\n minor: 3,\n patch: 6,\n};\n", "import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { parse, parseAsync, safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n const handleCanaryResult = (canary, payload, ctx) => {\n // abort if the canary is aborted\n if (util.aborted(canary)) {\n canary.aborted = true;\n return canary;\n }\n // run checks first, then\n const checkResult = runChecks(payload, checks, ctx);\n if (checkResult instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));\n }\n return inst._zod.parse(checkResult, ctx);\n };\n inst._zod.run = (payload, ctx) => {\n if (ctx.skipChecks) {\n return inst._zod.parse(payload, ctx);\n }\n if (ctx.direction === \"backward\") {\n // run canary\n // initial pass (no checks)\n const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });\n if (canary instanceof Promise) {\n return canary.then((canary) => {\n return handleCanaryResult(canary, payload, ctx);\n });\n }\n return handleCanaryResult(canary, payload, ctx);\n }\n // forward\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n // Lazy initialize ~standard to avoid creating objects for every schema\n util.defineLazy(inst, \"~standard\", () => ({\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n }));\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n // @ts-ignore\n const url = new URL(trimmed);\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: def.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // Set the output value based on normalize flag\n if (def.normalize) {\n // Use normalized URL\n payload.value = url.href;\n }\n else {\n // Preserve the original input (trimmed)\n payload.value = trimmed;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv4`;\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `ipv6`;\n inst._zod.check = (payload) => {\n try {\n // @ts-ignore\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodMAC = /*@__PURE__*/ core.$constructor(\"$ZodMAC\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.mac(def.delimiter));\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.format = `mac`;\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const parts = payload.value.split(\"/\");\n try {\n if (parts.length !== 2)\n throw new Error();\n const [address, prefix] = parts;\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n // @ts-ignore\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64\";\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.bag.contentEncoding = \"base64url\";\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumberFormat\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checks\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigIntFormat\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input, isOptionalOut) {\n if (result.issues.length) {\n // For optional-out schemas, ignore errors on absent keys\n if (isOptionalOut && !(key in input)) {\n return;\n }\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (result.value === undefined) {\n if (key in input) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\nfunction normalizeDef(def) {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!def.shape?.[k]?._zod?.traits?.has(\"$ZodType\")) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n ...def,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n}\nfunction handleCatchall(proms, input, payload, ctx, def, inst) {\n const unrecognized = [];\n // iterate over input keys\n const keySet = def.keySet;\n const _catchall = def.catchall._zod;\n const t = _catchall.def.type;\n const isOptionalOut = _catchall.optout === \"optional\";\n for (const key in input) {\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalOut)));\n }\n else {\n handlePropertyResult(r, payload, key, input, isOptionalOut);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n // const sh = def.shape;\n const desc = Object.getOwnPropertyDescriptor(def, \"shape\");\n if (!desc?.get) {\n const sh = def.shape;\n Object.defineProperty(def, \"shape\", {\n get: () => {\n const newSh = { ...sh };\n Object.defineProperty(def, \"shape\", {\n value: newSh,\n });\n return newSh;\n },\n });\n }\n const _normalized = util.cached(() => normalizeDef(def));\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const isObject = util.isObject;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = {};\n const proms = [];\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n const isOptionalOut = el._zod.optout === \"optional\";\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalOut)));\n }\n else {\n handlePropertyResult(r, payload, key, input, isOptionalOut);\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);\n };\n});\nexport const $ZodObjectJIT = /*@__PURE__*/ core.$constructor(\"$ZodObjectJIT\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodObject.init(inst, def);\n const superParse = inst._zod.parse;\n const _normalized = util.cached(() => normalizeDef(def));\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {};`);\n for (const key of normalized.keys) {\n const id = ids[key];\n const k = util.esc(key);\n const schema = shape[key];\n const isOptionalOut = schema?._zod?.optout === \"optional\";\n doc.write(`const ${id} = ${parseStr(key)};`);\n if (isOptionalOut) {\n // For optional-out schemas, ignore errors on absent keys\n doc.write(`\n if (${id}.issues.length) {\n if (${k} in input) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n else {\n doc.write(`\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n \n `);\n }\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n if (!catchall)\n return payload;\n return handleCatchall([], input, payload, ctx, value, inst);\n }\n return superParse(payload, ctx);\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const single = def.options.length === 1;\n const first = def.options[0]._zod.run;\n inst._zod.parse = (payload, ctx) => {\n if (single) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nfunction handleExclusiveUnionResults(results, final, inst, ctx) {\n const successes = results.filter((r) => r.issues.length === 0);\n if (successes.length === 1) {\n final.value = successes[0].value;\n return final;\n }\n if (successes.length === 0) {\n // No matches - same as regular union\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n }\n else {\n // Multiple matches - exclusive union failure\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: [],\n inclusive: false,\n });\n }\n return final;\n}\nexport const $ZodXor = /*@__PURE__*/ core.$constructor(\"$ZodXor\", (inst, def) => {\n $ZodUnion.init(inst, def);\n def.inclusive = false;\n const single = def.options.length === 1;\n const first = def.options[0]._zod.run;\n inst._zod.parse = (payload, ctx) => {\n if (single) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n results.push(result);\n }\n }\n if (!async)\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleExclusiveUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n def.inclusive = false;\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n if (def.unionFallback) {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n // Track which side(s) report each key as unrecognized\n const unrecKeys = new Map();\n let unrecIssue;\n for (const iss of left.issues) {\n if (iss.code === \"unrecognized_keys\") {\n unrecIssue ?? (unrecIssue = iss);\n for (const k of iss.keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k).l = true;\n }\n }\n else {\n result.issues.push(iss);\n }\n }\n for (const iss of right.issues) {\n if (iss.code === \"unrecognized_keys\") {\n for (const k of iss.keys) {\n if (!unrecKeys.has(k))\n unrecKeys.set(k, {});\n unrecKeys.get(k).r = true;\n }\n }\n else {\n result.issues.push(iss);\n }\n }\n // Report only keys unrecognized by BOTH sides\n const bothKeys = [...unrecKeys].filter(([, f]) => f.l && f.r).map(([k]) => k);\n if (bothKeys.length && unrecIssue) {\n result.issues.push({ ...unrecIssue, keys: bothKeys });\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== \"optional\");\n const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;\n if (!def.rest) {\n const tooBig = input.length > items.length;\n const tooSmall = input.length < optStart - 1;\n if (tooBig || tooSmall) {\n payload.issues.push({\n ...(tooBig\n ? { code: \"too_big\", maximum: items.length, inclusive: true }\n : { code: \"too_small\", minimum: items.length }),\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n }\n let i = -1;\n for (const item of items) {\n i++;\n if (i >= input.length)\n if (i >= optStart)\n continue;\n const result = item._zod.run({\n value: input[i],\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n if (def.rest) {\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({\n value: el,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n const values = def.keyType._zod.values;\n if (values) {\n payload.value = {};\n const recordKeys = new Set();\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n recordKeys.add(typeof key === \"number\" ? key.toString() : key);\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!recordKeys.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n // Numeric string fallback: if key is a numeric string and failed, retry with Number(key)\n // This handles z.number(), z.literal([1, 2, 3]), and unions containing numeric literals\n const checkNumericKey = typeof key === \"string\" && regexes.number.test(key) && keyResult.issues.length;\n if (checkNumericKey) {\n const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);\n if (retryResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (retryResult.issues.length === 0) {\n keyResult = retryResult;\n }\n }\n if (keyResult.issues.length) {\n if (def.mode === \"loose\") {\n // Pass through unchanged\n payload.value[key] = input[key];\n }\n else {\n // Default \"strict\" behavior: error on invalid key\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n }\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n if (def.values.length === 0) {\n throw new Error(\"Cannot create literal schema with no valid values\");\n }\n const values = new Set(def.values);\n inst._zod.values = values;\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n const _out = def.transform(payload.value, payload);\n if (ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n return payload;\n };\n});\nfunction handleOptionalResult(result, input) {\n if (result.issues.length && input === undefined) {\n return { issues: [], value: undefined };\n }\n return result;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise)\n return result.then((r) => handleOptionalResult(r, payload.value));\n return handleOptionalResult(result, payload.value);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodExactOptional = /*@__PURE__*/ core.$constructor(\"$ZodExactOptional\", (inst, def) => {\n // Call parent init - inherits optin/optout = \"optional\"\n $ZodOptional.init(inst, def);\n // Override values/pattern to NOT add undefined\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"pattern\", () => def.innerType._zod.pattern);\n // Override parse to just delegate (no undefined handling)\n inst._zod.parse = (payload, ctx) => {\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n // Forward direction (decode): allow null to pass through\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply defaults for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault returns the default value immediately in forward direction.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n // Forward direction: continue with default handling\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply prefault for undefined input\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(\"ZodSuccess\");\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n // Forward direction (decode): apply catch logic\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handlePipeResult(right, def.in, ctx));\n }\n return handlePipeResult(right, def.in, ctx);\n }\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def.out, ctx));\n }\n return handlePipeResult(left, def.out, ctx);\n };\n});\nfunction handlePipeResult(left, next, ctx) {\n if (left.issues.length) {\n // prevent further checks\n left.aborted = true;\n return left;\n }\n return next._zod.run({ value: left.value, issues: left.issues }, ctx);\n}\nexport const $ZodCodec = /*@__PURE__*/ core.$constructor(\"$ZodCodec\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handleCodecAResult(left, def, ctx));\n }\n return handleCodecAResult(left, def, ctx);\n }\n else {\n const right = def.out._zod.run(payload, ctx);\n if (right instanceof Promise) {\n return right.then((right) => handleCodecAResult(right, def, ctx));\n }\n return handleCodecAResult(right, def, ctx);\n }\n };\n});\nfunction handleCodecAResult(result, def, ctx) {\n if (result.issues.length) {\n // prevent further checks\n result.aborted = true;\n return result;\n }\n const direction = ctx.direction || \"forward\";\n if (direction === \"forward\") {\n const transformed = def.transform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));\n }\n return handleCodecTxResult(result, transformed, def.out, ctx);\n }\n else {\n const transformed = def.reverseTransform(result.value, result);\n if (transformed instanceof Promise) {\n return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));\n }\n return handleCodecTxResult(result, transformed, def.in, ctx);\n }\n}\nfunction handleCodecTxResult(left, value, nextSchema, ctx) {\n // Check if transform added any issues\n if (left.issues.length) {\n left.aborted = true;\n return left;\n }\n return nextSchema._zod.run({ value, issues: left.issues }, ctx);\n}\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType?._zod?.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType?._zod?.optout);\n inst._zod.parse = (payload, ctx) => {\n if (ctx.direction === \"backward\") {\n return def.innerType._zod.run(payload, ctx);\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (typeof part === \"object\" && part !== null) {\n // is Zod schema\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"string\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodFunction = /*@__PURE__*/ core.$constructor(\"$ZodFunction\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._def = def;\n inst._zod.def = def;\n inst.implement = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implement() must be called with a function\");\n }\n return function (...args) {\n const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args;\n const result = Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return parse(inst._def.output, result);\n }\n return result;\n };\n };\n inst.implementAsync = (func) => {\n if (typeof func !== \"function\") {\n throw new Error(\"implementAsync() must be called with a function\");\n }\n return async function (...args) {\n const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;\n const result = await Reflect.apply(func, this, parsedArgs);\n if (inst._def.output) {\n return await parseAsync(inst._def.output, result);\n }\n return result;\n };\n };\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"function\") {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"function\",\n input: payload.value,\n inst,\n });\n return payload;\n }\n // Check if output is a promise type to determine if we should use async implementation\n const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === \"promise\";\n if (hasPromiseOutput) {\n payload.value = inst.implementAsync(payload.value);\n }\n else {\n payload.value = inst.implement(payload.value);\n }\n return payload;\n };\n inst.input = (...args) => {\n const F = inst.constructor;\n if (Array.isArray(args[0])) {\n return new F({\n type: \"function\",\n input: new $ZodTuple({\n type: \"tuple\",\n items: args[0],\n rest: args[1],\n }),\n output: inst._def.output,\n });\n }\n return new F({\n type: \"function\",\n input: args[0],\n output: inst._def.output,\n });\n };\n inst.output = (output) => {\n const F = inst.constructor;\n return new F({\n type: \"function\",\n input: inst._def.input,\n output,\n });\n };\n return inst;\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // let _innerType!: any;\n // util.defineLazy(def, \"getter\", () => {\n // if (!_innerType) {\n // _innerType = def.getter();\n // }\n // return () => _innerType;\n // });\n util.defineLazy(inst._zod, \"innerType\", () => def.getter());\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType?._zod?.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType?._zod?.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType?._zod?.optin ?? undefined);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType?._zod?.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062D\u0631\u0641\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n file: { unit: \"\u0628\u0627\u064A\u062A\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n array: { unit: \"\u0639\u0646\u0635\u0631\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n set: { unit: \"\u0639\u0646\u0635\u0631\", verb: \"\u0623\u0646 \u064A\u062D\u0648\u064A\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0645\u062F\u062E\u0644\",\n email: \"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A\",\n url: \"\u0631\u0627\u0628\u0637\",\n emoji: \"\u0625\u064A\u0645\u0648\u062C\u064A\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n date: \"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n time: \"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n duration: \"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO\",\n ipv4: \"\u0639\u0646\u0648\u0627\u0646 IPv4\",\n ipv6: \"\u0639\u0646\u0648\u0627\u0646 IPv6\",\n cidrv4: \"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4\",\n cidrv6: \"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6\",\n base64: \"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded\",\n base64url: \"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded\",\n json_string: \"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON\",\n e164: \"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0645\u062F\u062E\u0644\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${issue.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`;\n }\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return ` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue.origin ?? \"\u0627\u0644\u0642\u064A\u0645\u0629\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\"}`;\n return `\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue.origin ?? \"\u0627\u0644\u0642\u064A\u0645\u0629\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 \"${issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`;\n }\n case \"not_multiple_of\":\n return `\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u0645\u0639\u0631\u0641${issue.keys.length > 1 ? \"\u0627\u062A\" : \"\"} \u063A\u0631\u064A\u0628${issue.keys.length > 1 ? \"\u0629\" : \"\"}: ${util.joinValues(issue.keys, \"\u060C \")}`;\n case \"invalid_key\":\n return `\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\";\n case \"invalid_element\":\n return `\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue.origin}`;\n default:\n return \"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"simvol\", verb: \"olmal\u0131d\u0131r\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131d\u0131r\" },\n array: { unit: \"element\", verb: \"olmal\u0131d\u0131r\" },\n set: { unit: \"element\", verb: \"olmal\u0131d\u0131r\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"email address\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datetime\",\n date: \"ISO date\",\n time: \"ISO time\",\n duration: \"ISO duration\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded string\",\n base64url: \"base64url-encoded string\",\n json_string: \"JSON string\",\n e164: \"E.164 number\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n instanceof ${issue.expected}, daxil olan ${received}`;\n }\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n ${expected}, daxil olan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Yanl\u0131\u015F d\u0259y\u0259r: g\u00F6zl\u0259nil\u0259n ${util.stringifyPrimitive(issue.values[0])}`;\n return `Yanl\u0131\u015F se\u00E7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ox b\u00F6y\u00FCk: g\u00F6zl\u0259nil\u0259n ${issue.origin ?? \"d\u0259y\u0259r\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n return `\u00C7ox b\u00F6y\u00FCk: g\u00F6zl\u0259nil\u0259n ${issue.origin ?? \"d\u0259y\u0259r\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ox ki\u00E7ik: g\u00F6zl\u0259nil\u0259n ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `\u00C7ox ki\u00E7ik: g\u00F6zl\u0259nil\u0259n ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.prefix}\" il\u0259 ba\u015Flamal\u0131d\u0131r`;\n if (_issue.format === \"ends_with\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.suffix}\" il\u0259 bitm\u0259lidir`;\n if (_issue.format === \"includes\")\n return `Yanl\u0131\u015F m\u0259tn: \"${_issue.includes}\" daxil olmal\u0131d\u0131r`;\n if (_issue.format === \"regex\")\n return `Yanl\u0131\u015F m\u0259tn: ${_issue.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;\n return `Yanl\u0131\u015F ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Yanl\u0131\u015F \u0259d\u0259d: ${issue.divisor} il\u0259 b\u00F6l\u00FCn\u0259 bil\u0259n olmal\u0131d\u0131r`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan a\u00E7ar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} daxilind\u0259 yanl\u0131\u015F a\u00E7ar`;\n case \"invalid_union\":\n return \"Yanl\u0131\u015F d\u0259y\u0259r\";\n case \"invalid_element\":\n return `${issue.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;\n default:\n return `Yanl\u0131\u015F d\u0259y\u0259r`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getBelarusianPlural(count, one, few, many) {\n const absCount = Math.abs(count);\n const lastDigit = absCount % 10;\n const lastTwoDigits = absCount % 100;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {\n return many;\n }\n if (lastDigit === 1) {\n return one;\n }\n if (lastDigit >= 2 && lastDigit <= 4) {\n return few;\n }\n return many;\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0441\u0456\u043C\u0432\u0430\u043B\",\n few: \"\u0441\u0456\u043C\u0432\u0430\u043B\u044B\",\n many: \"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n array: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n set: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n file: {\n unit: {\n one: \"\u0431\u0430\u0439\u0442\",\n few: \"\u0431\u0430\u0439\u0442\u044B\",\n many: \"\u0431\u0430\u0439\u0442\u0430\u045E\",\n },\n verb: \"\u043C\u0435\u0446\u044C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0443\u0432\u043E\u0434\",\n email: \"email \u0430\u0434\u0440\u0430\u0441\",\n url: \"URL\",\n emoji: \"\u044D\u043C\u043E\u0434\u0437\u0456\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0447\u0430\u0441\",\n duration: \"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0430\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0430\u0441\",\n cidrv4: \"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D\",\n base64: \"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64\",\n base64url: \"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url\",\n json_string: \"JSON \u0440\u0430\u0434\u043E\u043A\",\n e164: \"\u043D\u0443\u043C\u0430\u0440 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0443\u0432\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u043B\u0456\u043A\",\n array: \"\u043C\u0430\u0441\u0456\u045E\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${issue.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`;\n }\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435\"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435\"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${issue.keys.length > 1 ? \"\u043A\u043B\u044E\u0447\u044B\" : \"\u043A\u043B\u044E\u0447\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434\";\n case \"invalid_element\":\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${issue.origin}`;\n default:\n return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n file: { unit: \"\u0431\u0430\u0439\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n array: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n set: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\", verb: \"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0445\u043E\u0434\",\n email: \"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u0434\u0436\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n duration: \"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\",\n cidrv4: \"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n base64: \"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437\",\n base64url: \"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437\",\n json_string: \"JSON \u043D\u0438\u0437\",\n e164: \"E.164 \u043D\u043E\u043C\u0435\u0440\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0445\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${issue.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`;\n }\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin ?? \"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430\"}`;\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin ?? \"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${_issue.pattern}`;\n let invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D\";\n if (_issue.format === \"emoji\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"datetime\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"date\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430\";\n if (_issue.format === \"time\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E\";\n if (_issue.format === \"duration\")\n invalid_adj = \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430\";\n return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${issue.keys.length > 1 ? \"\u0438\" : \"\"} \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u043E\u0432\u0435\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434\";\n case \"invalid_element\":\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${issue.origin}`;\n default:\n return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"car\u00E0cters\", verb: \"contenir\" },\n file: { unit: \"bytes\", verb: \"contenir\" },\n array: { unit: \"elements\", verb: \"contenir\" },\n set: { unit: \"elements\", verb: \"contenir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entrada\",\n email: \"adre\u00E7a electr\u00F2nica\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data i hora ISO\",\n date: \"data ISO\",\n time: \"hora ISO\",\n duration: \"durada ISO\",\n ipv4: \"adre\u00E7a IPv4\",\n ipv6: \"adre\u00E7a IPv6\",\n cidrv4: \"rang IPv4\",\n cidrv6: \"rang IPv6\",\n base64: \"cadena codificada en base64\",\n base64url: \"cadena codificada en base64url\",\n json_string: \"cadena JSON\",\n e164: \"n\u00FAmero E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Tipus inv\u00E0lid: s'esperava instanceof ${issue.expected}, s'ha rebut ${received}`;\n }\n return `Tipus inv\u00E0lid: s'esperava ${expected}, s'ha rebut ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Valor inv\u00E0lid: s'esperava ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opci\u00F3 inv\u00E0lida: s'esperava una de ${util.joinValues(issue.values, \" o \")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"com a m\u00E0xim\" : \"menys de\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Massa gran: s'esperava que ${issue.origin ?? \"el valor\"} contingu\u00E9s ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elements\"}`;\n return `Massa gran: s'esperava que ${issue.origin ?? \"el valor\"} fos ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"com a m\u00EDnim\" : \"m\u00E9s de\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Massa petit: s'esperava que ${issue.origin} contingu\u00E9s ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Massa petit: s'esperava que ${issue.origin} fos ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Format inv\u00E0lid: ha de comen\u00E7ar amb \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Format inv\u00E0lid: ha d'acabar amb \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Format inv\u00E0lid: ha d'incloure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Format inv\u00E0lid: ha de coincidir amb el patr\u00F3 ${_issue.pattern}`;\n return `Format inv\u00E0lid per a ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E0lid: ha de ser m\u00FAltiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Clau${issue.keys.length > 1 ? \"s\" : \"\"} no reconeguda${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Clau inv\u00E0lida a ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inv\u00E0lida\"; // Could also be \"Tipus d'uni\u00F3 inv\u00E0lid\" but \"Entrada inv\u00E0lida\" is more general\n case \"invalid_element\":\n return `Element inv\u00E0lid a ${issue.origin}`;\n default:\n return `Entrada inv\u00E0lida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znak\u016F\", verb: \"m\u00EDt\" },\n file: { unit: \"bajt\u016F\", verb: \"m\u00EDt\" },\n array: { unit: \"prvk\u016F\", verb: \"m\u00EDt\" },\n set: { unit: \"prvk\u016F\", verb: \"m\u00EDt\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"regul\u00E1rn\u00ED v\u00FDraz\",\n email: \"e-mailov\u00E1 adresa\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"datum a \u010Das ve form\u00E1tu ISO\",\n date: \"datum ve form\u00E1tu ISO\",\n time: \"\u010Das ve form\u00E1tu ISO\",\n duration: \"doba trv\u00E1n\u00ED ISO\",\n ipv4: \"IPv4 adresa\",\n ipv6: \"IPv6 adresa\",\n cidrv4: \"rozsah IPv4\",\n cidrv6: \"rozsah IPv6\",\n base64: \"\u0159et\u011Bzec zak\u00F3dovan\u00FD ve form\u00E1tu base64\",\n base64url: \"\u0159et\u011Bzec zak\u00F3dovan\u00FD ve form\u00E1tu base64url\",\n json_string: \"\u0159et\u011Bzec ve form\u00E1tu JSON\",\n e164: \"\u010D\u00EDslo E.164\",\n jwt: \"JWT\",\n template_literal: \"vstup\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u010D\u00EDslo\",\n string: \"\u0159et\u011Bzec\",\n function: \"funkce\",\n array: \"pole\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no instanceof ${issue.expected}, obdr\u017Eeno ${received}`;\n }\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no ${expected}, obdr\u017Eeno ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neplatn\u00FD vstup: o\u010Dek\u00E1v\u00E1no ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neplatn\u00E1 mo\u017Enost: o\u010Dek\u00E1v\u00E1na jedna z hodnot ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je p\u0159\u00EDli\u0161 velk\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED m\u00EDt ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"prvk\u016F\"}`;\n }\n return `Hodnota je p\u0159\u00EDli\u0161 velk\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED b\u00FDt ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Hodnota je p\u0159\u00EDli\u0161 mal\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED m\u00EDt ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"prvk\u016F\"}`;\n }\n return `Hodnota je p\u0159\u00EDli\u0161 mal\u00E1: ${issue.origin ?? \"hodnota\"} mus\u00ED b\u00FDt ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED za\u010D\u00EDnat na \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED kon\u010Dit na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED obsahovat \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neplatn\u00FD \u0159et\u011Bzec: mus\u00ED odpov\u00EDdat vzoru ${_issue.pattern}`;\n return `Neplatn\u00FD form\u00E1t ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neplatn\u00E9 \u010D\u00EDslo: mus\u00ED b\u00FDt n\u00E1sobkem ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nezn\u00E1m\u00E9 kl\u00ED\u010De: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neplatn\u00FD kl\u00ED\u010D v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neplatn\u00FD vstup\";\n case \"invalid_element\":\n return `Neplatn\u00E1 hodnota v ${issue.origin}`;\n default:\n return `Neplatn\u00FD vstup`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tegn\", verb: \"havde\" },\n file: { unit: \"bytes\", verb: \"havde\" },\n array: { unit: \"elementer\", verb: \"indeholdt\" },\n set: { unit: \"elementer\", verb: \"indeholdt\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"e-mailadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkesl\u00E6t\",\n date: \"ISO-dato\",\n time: \"ISO-klokkesl\u00E6t\",\n duration: \"ISO-varighed\",\n ipv4: \"IPv4-omr\u00E5de\",\n ipv6: \"IPv6-omr\u00E5de\",\n cidrv4: \"IPv4-spektrum\",\n cidrv6: \"IPv6-spektrum\",\n base64: \"base64-kodet streng\",\n base64url: \"base64url-kodet streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"streng\",\n number: \"tal\",\n boolean: \"boolean\",\n array: \"liste\",\n object: \"objekt\",\n set: \"s\u00E6t\",\n file: \"fil\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ugyldigt input: forventede instanceof ${issue.expected}, fik ${received}`;\n }\n return `Ugyldigt input: forventede ${expected}, fik ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig v\u00E6rdi: forventede ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldigt valg: forventede en af f\u00F8lgende ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing)\n return `For stor: forventede ${origin ?? \"value\"} ${sizing.verb} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"elementer\"}`;\n return `For stor: forventede ${origin ?? \"value\"} havde ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing) {\n return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lille: forventede ${origin} havde ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: skal starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: skal ende med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: skal indeholde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: skal matche m\u00F8nsteret ${_issue.pattern}`;\n return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldigt tal: skal v\u00E6re deleligt med ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukendte n\u00F8gler\" : \"Ukendt n\u00F8gle\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig n\u00F8gle i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldigt input: matcher ingen af de tilladte typer\";\n case \"invalid_element\":\n return `Ugyldig v\u00E6rdi i ${issue.origin}`;\n default:\n return `Ugyldigt input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"Zeichen\", verb: \"zu haben\" },\n file: { unit: \"Bytes\", verb: \"zu haben\" },\n array: { unit: \"Elemente\", verb: \"zu haben\" },\n set: { unit: \"Elemente\", verb: \"zu haben\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"Eingabe\",\n email: \"E-Mail-Adresse\",\n url: \"URL\",\n emoji: \"Emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-Datum und -Uhrzeit\",\n date: \"ISO-Datum\",\n time: \"ISO-Uhrzeit\",\n duration: \"ISO-Dauer\",\n ipv4: \"IPv4-Adresse\",\n ipv6: \"IPv6-Adresse\",\n cidrv4: \"IPv4-Bereich\",\n cidrv6: \"IPv6-Bereich\",\n base64: \"Base64-codierter String\",\n base64url: \"Base64-URL-codierter String\",\n json_string: \"JSON-String\",\n e164: \"E.164-Nummer\",\n jwt: \"JWT\",\n template_literal: \"Eingabe\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"Zahl\",\n array: \"Array\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ung\u00FCltige Eingabe: erwartet instanceof ${issue.expected}, erhalten ${received}`;\n }\n return `Ung\u00FCltige Eingabe: erwartet ${expected}, erhalten ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ung\u00FCltige Eingabe: erwartet ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ung\u00FCltige Option: erwartet eine von ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Zu gro\u00DF: erwartet, dass ${issue.origin ?? \"Wert\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"Elemente\"} hat`;\n return `Zu gro\u00DF: erwartet, dass ${issue.origin ?? \"Wert\"} ${adj}${issue.maximum.toString()} ist`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} hat`;\n }\n return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ist`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ung\u00FCltiger String: muss mit \"${_issue.prefix}\" beginnen`;\n if (_issue.format === \"ends_with\")\n return `Ung\u00FCltiger String: muss mit \"${_issue.suffix}\" enden`;\n if (_issue.format === \"includes\")\n return `Ung\u00FCltiger String: muss \"${_issue.includes}\" enthalten`;\n if (_issue.format === \"regex\")\n return `Ung\u00FCltiger String: muss dem Muster ${_issue.pattern} entsprechen`;\n return `Ung\u00FCltig: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ung\u00FCltige Zahl: muss ein Vielfaches von ${issue.divisor} sein`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Unbekannte Schl\u00FCssel\" : \"Unbekannter Schl\u00FCssel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ung\u00FCltiger Schl\u00FCssel in ${issue.origin}`;\n case \"invalid_union\":\n return \"Ung\u00FCltige Eingabe\";\n case \"invalid_element\":\n return `Ung\u00FCltiger Wert in ${issue.origin}`;\n default:\n return `Ung\u00FCltige Eingabe`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"characters\", verb: \"to have\" },\n file: { unit: \"bytes\", verb: \"to have\" },\n array: { unit: \"items\", verb: \"to have\" },\n set: { unit: \"items\", verb: \"to have\" },\n map: { unit: \"entries\", verb: \"to have\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"email address\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datetime\",\n date: \"ISO date\",\n time: \"ISO time\",\n duration: \"ISO duration\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n mac: \"MAC address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded string\",\n base64url: \"base64url-encoded string\",\n json_string: \"JSON string\",\n e164: \"E.164 number\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n // type names: missing keys = do not translate (use raw value via ?? fallback)\n const TypeDictionary = {\n // Compatibility: \"nan\" -> \"NaN\" for display\n nan: \"NaN\",\n // All other type names omitted - they fall back to raw values via ?? operator\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n return `Invalid input: expected ${expected}, received ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Invalid input: expected ${util.stringifyPrimitive(issue.values[0])}`;\n return `Invalid option: expected one of ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Too big: expected ${issue.origin ?? \"value\"} to have ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elements\"}`;\n return `Too big: expected ${issue.origin ?? \"value\"} to be ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Too small: expected ${issue.origin} to have ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Too small: expected ${issue.origin} to be ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Invalid string: must start with \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Invalid string: must end with \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Invalid string: must include \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Invalid string: must match pattern ${_issue.pattern}`;\n return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Invalid number: must be a multiple of ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Unrecognized key${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Invalid key in ${issue.origin}`;\n case \"invalid_union\":\n return \"Invalid input\";\n case \"invalid_element\":\n return `Invalid value in ${issue.origin}`;\n default:\n return `Invalid input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karaktrojn\", verb: \"havi\" },\n file: { unit: \"bajtojn\", verb: \"havi\" },\n array: { unit: \"elementojn\", verb: \"havi\" },\n set: { unit: \"elementojn\", verb: \"havi\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"enigo\",\n email: \"retadreso\",\n url: \"URL\",\n emoji: \"emo\u011Dio\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-datotempo\",\n date: \"ISO-dato\",\n time: \"ISO-tempo\",\n duration: \"ISO-da\u016Dro\",\n ipv4: \"IPv4-adreso\",\n ipv6: \"IPv6-adreso\",\n cidrv4: \"IPv4-rango\",\n cidrv6: \"IPv6-rango\",\n base64: \"64-ume kodita karaktraro\",\n base64url: \"URL-64-ume kodita karaktraro\",\n json_string: \"JSON-karaktraro\",\n e164: \"E.164-nombro\",\n jwt: \"JWT\",\n template_literal: \"enigo\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"nombro\",\n array: \"tabelo\",\n null: \"senvalora\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Nevalida enigo: atendi\u011Dis instanceof ${issue.expected}, ricevi\u011Dis ${received}`;\n }\n return `Nevalida enigo: atendi\u011Dis ${expected}, ricevi\u011Dis ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Nevalida enigo: atendi\u011Dis ${util.stringifyPrimitive(issue.values[0])}`;\n return `Nevalida opcio: atendi\u011Dis unu el ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Tro granda: atendi\u011Dis ke ${issue.origin ?? \"valoro\"} havu ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementojn\"}`;\n return `Tro granda: atendi\u011Dis ke ${issue.origin ?? \"valoro\"} havu ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Tro malgranda: atendi\u011Dis ke ${issue.origin} havu ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Tro malgranda: atendi\u011Dis ke ${issue.origin} estu ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Nevalida karaktraro: devas komenci\u011Di per \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Nevalida karaktraro: devas fini\u011Di per \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Nevalida karaktraro: devas inkluzivi \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;\n return `Nevalida ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nevalida nombro: devas esti oblo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nekonata${issue.keys.length > 1 ? \"j\" : \"\"} \u015Dlosilo${issue.keys.length > 1 ? \"j\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Nevalida \u015Dlosilo en ${issue.origin}`;\n case \"invalid_union\":\n return \"Nevalida enigo\";\n case \"invalid_element\":\n return `Nevalida valoro en ${issue.origin}`;\n default:\n return `Nevalida enigo`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\", verb: \"tener\" },\n file: { unit: \"bytes\", verb: \"tener\" },\n array: { unit: \"elementos\", verb: \"tener\" },\n set: { unit: \"elementos\", verb: \"tener\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entrada\",\n email: \"direcci\u00F3n de correo electr\u00F3nico\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"fecha y hora ISO\",\n date: \"fecha ISO\",\n time: \"hora ISO\",\n duration: \"duraci\u00F3n ISO\",\n ipv4: \"direcci\u00F3n IPv4\",\n ipv6: \"direcci\u00F3n IPv6\",\n cidrv4: \"rango IPv4\",\n cidrv6: \"rango IPv6\",\n base64: \"cadena codificada en base64\",\n base64url: \"URL codificada en base64\",\n json_string: \"cadena JSON\",\n e164: \"n\u00FAmero E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n string: \"texto\",\n number: \"n\u00FAmero\",\n boolean: \"booleano\",\n array: \"arreglo\",\n object: \"objeto\",\n set: \"conjunto\",\n file: \"archivo\",\n date: \"fecha\",\n bigint: \"n\u00FAmero grande\",\n symbol: \"s\u00EDmbolo\",\n undefined: \"indefinido\",\n null: \"nulo\",\n function: \"funci\u00F3n\",\n map: \"mapa\",\n record: \"registro\",\n tuple: \"tupla\",\n enum: \"enumeraci\u00F3n\",\n union: \"uni\u00F3n\",\n literal: \"literal\",\n promise: \"promesa\",\n void: \"vac\u00EDo\",\n never: \"nunca\",\n unknown: \"desconocido\",\n any: \"cualquiera\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entrada inv\u00E1lida: se esperaba instanceof ${issue.expected}, recibido ${received}`;\n }\n return `Entrada inv\u00E1lida: se esperaba ${expected}, recibido ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inv\u00E1lida: se esperaba ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opci\u00F3n inv\u00E1lida: se esperaba una de ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing)\n return `Demasiado grande: se esperaba que ${origin ?? \"valor\"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Demasiado grande: se esperaba que ${origin ?? \"valor\"} fuera ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n if (sizing) {\n return `Demasiado peque\u00F1o: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Demasiado peque\u00F1o: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Cadena inv\u00E1lida: debe comenzar con \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Cadena inv\u00E1lida: debe terminar en \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cadena inv\u00E1lida: debe incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cadena inv\u00E1lida: debe coincidir con el patr\u00F3n ${_issue.pattern}`;\n return `Inv\u00E1lido ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E1lido: debe ser m\u00FAltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Llave${issue.keys.length > 1 ? \"s\" : \"\"} desconocida${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Llave inv\u00E1lida en ${TypeDictionary[issue.origin] ?? issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inv\u00E1lida\";\n case \"invalid_element\":\n return `Valor inv\u00E1lido en ${TypeDictionary[issue.origin] ?? issue.origin}`;\n default:\n return `Entrada inv\u00E1lida`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n file: { unit: \"\u0628\u0627\u06CC\u062A\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n array: { unit: \"\u0622\u06CC\u062A\u0645\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n set: { unit: \"\u0622\u06CC\u062A\u0645\", verb: \"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0648\u0631\u0648\u062F\u06CC\",\n email: \"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644\",\n url: \"URL\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u06CC\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n date: \"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648\",\n time: \"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n duration: \"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648\",\n ipv4: \"IPv4 \u0622\u062F\u0631\u0633\",\n ipv6: \"IPv6 \u0622\u062F\u0631\u0633\",\n cidrv4: \"IPv4 \u062F\u0627\u0645\u0646\u0647\",\n cidrv6: \"IPv6 \u062F\u0627\u0645\u0646\u0647\",\n base64: \"base64-encoded \u0631\u0634\u062A\u0647\",\n base64url: \"base64url-encoded \u0631\u0634\u062A\u0647\",\n json_string: \"JSON \u0631\u0634\u062A\u0647\",\n e164: \"E.164 \u0639\u062F\u062F\",\n jwt: \"JWT\",\n template_literal: \"\u0648\u0631\u0648\u062F\u06CC\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0639\u062F\u062F\",\n array: \"\u0622\u0631\u0627\u06CC\u0647\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${issue.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;\n }\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1) {\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${util.stringifyPrimitive(issue.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;\n }\n return `\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${util.joinValues(issue.values, \"|\")} \u0645\u06CC\u200C\u0628\u0648\u062F`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue.origin ?? \"\u0645\u0642\u062F\u0627\u0631\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\"} \u0628\u0627\u0634\u062F`;\n }\n return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue.origin ?? \"\u0645\u0642\u062F\u0627\u0631\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} \u0628\u0627\u0634\u062F`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} ${sizing.unit} \u0628\u0627\u0634\u062F`;\n }\n return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} \u0628\u0627\u0634\u062F`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \"${_issue.prefix}\" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;\n }\n if (_issue.format === \"ends_with\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \"${_issue.suffix}\" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;\n }\n if (_issue.format === \"includes\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 \"${_issue.includes}\" \u0628\u0627\u0634\u062F`;\n }\n if (_issue.format === \"regex\") {\n return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${_issue.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;\n }\n return `${FormatDictionary[_issue.format] ?? issue.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n }\n case \"not_multiple_of\":\n return `\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${issue.divisor} \u0628\u0627\u0634\u062F`;\n case \"unrecognized_keys\":\n return `\u06A9\u0644\u06CC\u062F${issue.keys.length > 1 ? \"\u0647\u0627\u06CC\" : \"\"} \u0646\u0627\u0634\u0646\u0627\u0633: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${issue.origin}`;\n case \"invalid_union\":\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n case \"invalid_element\":\n return `\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${issue.origin}`;\n default:\n return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"merkki\u00E4\", subject: \"merkkijonon\" },\n file: { unit: \"tavua\", subject: \"tiedoston\" },\n array: { unit: \"alkiota\", subject: \"listan\" },\n set: { unit: \"alkiota\", subject: \"joukon\" },\n number: { unit: \"\", subject: \"luvun\" },\n bigint: { unit: \"\", subject: \"suuren kokonaisluvun\" },\n int: { unit: \"\", subject: \"kokonaisluvun\" },\n date: { unit: \"\", subject: \"p\u00E4iv\u00E4m\u00E4\u00E4r\u00E4n\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"s\u00E4\u00E4nn\u00F6llinen lauseke\",\n email: \"s\u00E4hk\u00F6postiosoite\",\n url: \"URL-osoite\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-aikaleima\",\n date: \"ISO-p\u00E4iv\u00E4m\u00E4\u00E4r\u00E4\",\n time: \"ISO-aika\",\n duration: \"ISO-kesto\",\n ipv4: \"IPv4-osoite\",\n ipv6: \"IPv6-osoite\",\n cidrv4: \"IPv4-alue\",\n cidrv6: \"IPv6-alue\",\n base64: \"base64-koodattu merkkijono\",\n base64url: \"base64url-koodattu merkkijono\",\n json_string: \"JSON-merkkijono\",\n e164: \"E.164-luku\",\n jwt: \"JWT\",\n template_literal: \"templaattimerkkijono\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Virheellinen tyyppi: odotettiin instanceof ${issue.expected}, oli ${received}`;\n }\n return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Virheellinen sy\u00F6te: t\u00E4ytyy olla ${util.stringifyPrimitive(issue.values[0])}`;\n return `Virheellinen valinta: t\u00E4ytyy olla yksi seuraavista: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Liian suuri: ${sizing.subject} t\u00E4ytyy olla ${adj}${issue.maximum.toString()} ${sizing.unit}`.trim();\n }\n return `Liian suuri: arvon t\u00E4ytyy olla ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Liian pieni: ${sizing.subject} t\u00E4ytyy olla ${adj}${issue.minimum.toString()} ${sizing.unit}`.trim();\n }\n return `Liian pieni: arvon t\u00E4ytyy olla ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy alkaa \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy loppua \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Virheellinen sy\u00F6te: t\u00E4ytyy sis\u00E4lt\u00E4\u00E4 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\") {\n return `Virheellinen sy\u00F6te: t\u00E4ytyy vastata s\u00E4\u00E4nn\u00F6llist\u00E4 lauseketta ${_issue.pattern}`;\n }\n return `Virheellinen ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Virheellinen luku: t\u00E4ytyy olla luvun ${issue.divisor} monikerta`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Tuntemattomat avaimet\" : \"Tuntematon avain\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return \"Virheellinen avain tietueessa\";\n case \"invalid_union\":\n return \"Virheellinen unioni\";\n case \"invalid_element\":\n return \"Virheellinen arvo joukossa\";\n default:\n return `Virheellinen sy\u00F6te`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caract\u00E8res\", verb: \"avoir\" },\n file: { unit: \"octets\", verb: \"avoir\" },\n array: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n set: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entr\u00E9e\",\n email: \"adresse e-mail\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"date et heure ISO\",\n date: \"date ISO\",\n time: \"heure ISO\",\n duration: \"dur\u00E9e ISO\",\n ipv4: \"adresse IPv4\",\n ipv6: \"adresse IPv6\",\n cidrv4: \"plage IPv4\",\n cidrv6: \"plage IPv6\",\n base64: \"cha\u00EEne encod\u00E9e en base64\",\n base64url: \"cha\u00EEne encod\u00E9e en base64url\",\n json_string: \"cha\u00EEne JSON\",\n e164: \"num\u00E9ro E.164\",\n jwt: \"JWT\",\n template_literal: \"entr\u00E9e\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"nombre\",\n array: \"tableau\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entr\u00E9e invalide : instanceof ${issue.expected} attendu, ${received} re\u00E7u`;\n }\n return `Entr\u00E9e invalide : ${expected} attendu, ${received} re\u00E7u`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entr\u00E9e invalide : ${util.stringifyPrimitive(issue.values[0])} attendu`;\n return `Option invalide : une valeur parmi ${util.joinValues(issue.values, \"|\")} attendue`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop grand : ${issue.origin ?? \"valeur\"} doit ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u00E9l\u00E9ment(s)\"}`;\n return `Trop grand : ${issue.origin ?? \"valeur\"} doit \u00EAtre ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Trop petit : ${issue.origin} doit ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Trop petit : ${issue.origin} doit \u00EAtre ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Cha\u00EEne invalide : doit commencer par \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Cha\u00EEne invalide : doit se terminer par \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cha\u00EEne invalide : doit inclure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cha\u00EEne invalide : doit correspondre au mod\u00E8le ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;\n }\n case \"not_multiple_of\":\n return `Nombre invalide : doit \u00EAtre un multiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Cl\u00E9${issue.keys.length > 1 ? \"s\" : \"\"} non reconnue${issue.keys.length > 1 ? \"s\" : \"\"} : ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Cl\u00E9 invalide dans ${issue.origin}`;\n case \"invalid_union\":\n return \"Entr\u00E9e invalide\";\n case \"invalid_element\":\n return `Valeur invalide dans ${issue.origin}`;\n default:\n return `Entr\u00E9e invalide`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caract\u00E8res\", verb: \"avoir\" },\n file: { unit: \"octets\", verb: \"avoir\" },\n array: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n set: { unit: \"\u00E9l\u00E9ments\", verb: \"avoir\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"entr\u00E9e\",\n email: \"adresse courriel\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"date-heure ISO\",\n date: \"date ISO\",\n time: \"heure ISO\",\n duration: \"dur\u00E9e ISO\",\n ipv4: \"adresse IPv4\",\n ipv6: \"adresse IPv6\",\n cidrv4: \"plage IPv4\",\n cidrv6: \"plage IPv6\",\n base64: \"cha\u00EEne encod\u00E9e en base64\",\n base64url: \"cha\u00EEne encod\u00E9e en base64url\",\n json_string: \"cha\u00EEne JSON\",\n e164: \"num\u00E9ro E.164\",\n jwt: \"JWT\",\n template_literal: \"entr\u00E9e\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Entr\u00E9e invalide : attendu instanceof ${issue.expected}, re\u00E7u ${received}`;\n }\n return `Entr\u00E9e invalide : attendu ${expected}, re\u00E7u ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entr\u00E9e invalide : attendu ${util.stringifyPrimitive(issue.values[0])}`;\n return `Option invalide : attendu l'une des valeurs suivantes ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u2264\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Trop grand : attendu que ${issue.origin ?? \"la valeur\"} ait ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n return `Trop grand : attendu que ${issue.origin ?? \"la valeur\"} soit ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u2265\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Trop petit : attendu que ${issue.origin} ait ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Trop petit : attendu que ${issue.origin} soit ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Cha\u00EEne invalide : doit commencer par \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Cha\u00EEne invalide : doit se terminer par \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Cha\u00EEne invalide : doit inclure \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Cha\u00EEne invalide : doit correspondre au motif ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;\n }\n case \"not_multiple_of\":\n return `Nombre invalide : doit \u00EAtre un multiple de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Cl\u00E9${issue.keys.length > 1 ? \"s\" : \"\"} non reconnue${issue.keys.length > 1 ? \"s\" : \"\"} : ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Cl\u00E9 invalide dans ${issue.origin}`;\n case \"invalid_union\":\n return \"Entr\u00E9e invalide\";\n case \"invalid_element\":\n return `Valeur invalide dans ${issue.origin}`;\n default:\n return `Entr\u00E9e invalide`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n // Hebrew labels + grammatical gender\n const TypeNames = {\n string: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA\", gender: \"f\" },\n number: { label: \"\u05DE\u05E1\u05E4\u05E8\", gender: \"m\" },\n boolean: { label: \"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9\", gender: \"m\" },\n bigint: { label: \"BigInt\", gender: \"m\" },\n date: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA\", gender: \"m\" },\n array: { label: \"\u05DE\u05E2\u05E8\u05DA\", gender: \"m\" },\n object: { label: \"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8\", gender: \"m\" },\n null: { label: \"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)\", gender: \"m\" },\n undefined: { label: \"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)\", gender: \"m\" },\n symbol: { label: \"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)\", gender: \"m\" },\n function: { label: \"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4\", gender: \"f\" },\n map: { label: \"\u05DE\u05E4\u05D4 (Map)\", gender: \"f\" },\n set: { label: \"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)\", gender: \"f\" },\n file: { label: \"\u05E7\u05D5\u05D1\u05E5\", gender: \"m\" },\n promise: { label: \"Promise\", gender: \"m\" },\n NaN: { label: \"NaN\", gender: \"m\" },\n unknown: { label: \"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2\", gender: \"m\" },\n value: { label: \"\u05E2\u05E8\u05DA\", gender: \"m\" },\n };\n // Sizing units for size-related messages + localized origin labels\n const Sizable = {\n string: { unit: \"\u05EA\u05D5\u05D5\u05D9\u05DD\", shortLabel: \"\u05E7\u05E6\u05E8\", longLabel: \"\u05D0\u05E8\u05D5\u05DA\" },\n file: { unit: \"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n array: { unit: \"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n set: { unit: \"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" },\n number: { unit: \"\", shortLabel: \"\u05E7\u05D8\u05DF\", longLabel: \"\u05D2\u05D3\u05D5\u05DC\" }, // no unit\n };\n // Helpers \u2014 labels, articles, and verbs\n const typeEntry = (t) => (t ? TypeNames[t] : undefined);\n const typeLabel = (t) => {\n const e = typeEntry(t);\n if (e)\n return e.label;\n // fallback: show raw string if unknown\n return t ?? TypeNames.unknown.label;\n };\n const withDefinite = (t) => `\u05D4${typeLabel(t)}`;\n const verbFor = (t) => {\n const e = typeEntry(t);\n const gender = e?.gender ?? \"m\";\n return gender === \"f\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA\" : \"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA\";\n };\n const getSizing = (origin) => {\n if (!origin)\n return null;\n return Sizable[origin] ?? null;\n };\n const FormatDictionary = {\n regex: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n email: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC\", gender: \"f\" },\n url: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA\", gender: \"f\" },\n emoji: { label: \"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9\", gender: \"m\" },\n uuid: { label: \"UUID\", gender: \"m\" },\n nanoid: { label: \"nanoid\", gender: \"m\" },\n guid: { label: \"GUID\", gender: \"m\" },\n cuid: { label: \"cuid\", gender: \"m\" },\n cuid2: { label: \"cuid2\", gender: \"m\" },\n ulid: { label: \"ULID\", gender: \"m\" },\n xid: { label: \"XID\", gender: \"m\" },\n ksuid: { label: \"KSUID\", gender: \"m\" },\n datetime: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n date: { label: \"\u05EA\u05D0\u05E8\u05D9\u05DA ISO\", gender: \"m\" },\n time: { label: \"\u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n duration: { label: \"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO\", gender: \"m\" },\n ipv4: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4\", gender: \"f\" },\n ipv6: { label: \"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6\", gender: \"f\" },\n cidrv4: { label: \"\u05D8\u05D5\u05D5\u05D7 IPv4\", gender: \"m\" },\n cidrv6: { label: \"\u05D8\u05D5\u05D5\u05D7 IPv6\", gender: \"m\" },\n base64: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64\", gender: \"f\" },\n base64url: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA\", gender: \"f\" },\n json_string: { label: \"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON\", gender: \"f\" },\n e164: { label: \"\u05DE\u05E1\u05E4\u05E8 E.164\", gender: \"m\" },\n jwt: { label: \"JWT\", gender: \"m\" },\n ends_with: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n includes: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n lowercase: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n starts_with: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n uppercase: { label: \"\u05E7\u05DC\u05D8\", gender: \"m\" },\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n // Expected type: show without definite article for clearer Hebrew\n const expectedKey = issue.expected;\n const expected = TypeDictionary[expectedKey ?? \"\"] ?? typeLabel(expectedKey);\n // Received: show localized label if known, otherwise constructor/raw\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${issue.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`;\n }\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`;\n }\n case \"invalid_value\": {\n if (issue.values.length === 1) {\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${util.stringifyPrimitive(issue.values[0])}`;\n }\n // Join values with proper Hebrew formatting\n const stringified = issue.values.map((v) => util.stringifyPrimitive(v));\n if (issue.values.length === 2) {\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${stringified[0]} \u05D0\u05D5 ${stringified[1]}`;\n }\n // For 3+ values: \"a\", \"b\" \u05D0\u05D5 \"c\"\n const lastValue = stringified[stringified.length - 1];\n const restValues = stringified.slice(0, -1).join(\", \");\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${restValues} \u05D0\u05D5 ${lastValue}`;\n }\n case \"too_big\": {\n const sizing = getSizing(issue.origin);\n const subject = withDefinite(issue.origin ?? \"value\");\n if (issue.origin === \"string\") {\n // Special handling for strings - more natural Hebrew\n return `${sizing?.longLabel ?? \"\u05D0\u05E8\u05D5\u05DA\"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue.maximum.toString()} ${sizing?.unit ?? \"\"} ${issue.inclusive ? \"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA\" : \"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8\"}`.trim();\n }\n if (issue.origin === \"number\") {\n // Natural Hebrew for numbers\n const comparison = issue.inclusive ? `\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue.maximum}` : `\u05E7\u05D8\u05DF \u05DE-${issue.maximum}`;\n return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`;\n }\n if (issue.origin === \"array\" || issue.origin === \"set\") {\n // Natural Hebrew for arrays and sets\n const verb = issue.origin === \"set\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4\" : \"\u05E6\u05E8\u05D9\u05DA\";\n const comparison = issue.inclusive\n ? `${issue.maximum} ${sizing?.unit ?? \"\"} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`\n : `\u05E4\u05D7\u05D5\u05EA \u05DE-${issue.maximum} ${sizing?.unit ?? \"\"}`;\n return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim();\n }\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const be = verbFor(issue.origin ?? \"value\");\n if (sizing?.unit) {\n return `${sizing.longLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n }\n return `${sizing?.longLabel ?? \"\u05D2\u05D3\u05D5\u05DC\"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const sizing = getSizing(issue.origin);\n const subject = withDefinite(issue.origin ?? \"value\");\n if (issue.origin === \"string\") {\n // Special handling for strings - more natural Hebrew\n return `${sizing?.shortLabel ?? \"\u05E7\u05E6\u05E8\"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue.minimum.toString()} ${sizing?.unit ?? \"\"} ${issue.inclusive ? \"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8\" : \"\u05DC\u05E4\u05D7\u05D5\u05EA\"}`.trim();\n }\n if (issue.origin === \"number\") {\n // Natural Hebrew for numbers\n const comparison = issue.inclusive ? `\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue.minimum}` : `\u05D2\u05D3\u05D5\u05DC \u05DE-${issue.minimum}`;\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`;\n }\n if (issue.origin === \"array\" || issue.origin === \"set\") {\n // Natural Hebrew for arrays and sets\n const verb = issue.origin === \"set\" ? \"\u05E6\u05E8\u05D9\u05DB\u05D4\" : \"\u05E6\u05E8\u05D9\u05DA\";\n // Special case for singular (minimum === 1)\n if (issue.minimum === 1 && issue.inclusive) {\n const singularPhrase = issue.origin === \"set\" ? \"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3\" : \"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3\";\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${singularPhrase}`;\n }\n const comparison = issue.inclusive\n ? `${issue.minimum} ${sizing?.unit ?? \"\"} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`\n : `\u05D9\u05D5\u05EA\u05E8 \u05DE-${issue.minimum} ${sizing?.unit ?? \"\"}`;\n return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim();\n }\n const adj = issue.inclusive ? \">=\" : \">\";\n const be = verbFor(issue.origin ?? \"value\");\n if (sizing?.unit) {\n return `${sizing.shortLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `${sizing?.shortLabel ?? \"\u05E7\u05D8\u05DF\"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n // These apply to strings \u2014 use feminine grammar + \u05D4\u05F3 \u05D4\u05D9\u05D3\u05D9\u05E2\u05D4\n if (_issue.format === \"starts_with\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${_issue.pattern}`;\n // Handle gender agreement for formats\n const nounEntry = FormatDictionary[_issue.format];\n const noun = nounEntry?.label ?? _issue.format;\n const gender = nounEntry?.gender ?? \"m\";\n const adjective = gender === \"f\" ? \"\u05EA\u05E7\u05D9\u05E0\u05D4\" : \"\u05EA\u05E7\u05D9\u05DF\";\n return `${noun} \u05DC\u05D0 ${adjective}`;\n }\n case \"not_multiple_of\":\n return `\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u05DE\u05E4\u05EA\u05D7${issue.keys.length > 1 ? \"\u05D5\u05EA\" : \"\"} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${issue.keys.length > 1 ? \"\u05D9\u05DD\" : \"\u05D4\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\": {\n return `\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8`;\n }\n case \"invalid_union\":\n return \"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF\";\n case \"invalid_element\": {\n const place = withDefinite(issue.origin ?? \"array\");\n return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${place}`;\n }\n default:\n return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"legyen\" },\n file: { unit: \"byte\", verb: \"legyen\" },\n array: { unit: \"elem\", verb: \"legyen\" },\n set: { unit: \"elem\", verb: \"legyen\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"bemenet\",\n email: \"email c\u00EDm\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO id\u0151b\u00E9lyeg\",\n date: \"ISO d\u00E1tum\",\n time: \"ISO id\u0151\",\n duration: \"ISO id\u0151intervallum\",\n ipv4: \"IPv4 c\u00EDm\",\n ipv6: \"IPv6 c\u00EDm\",\n cidrv4: \"IPv4 tartom\u00E1ny\",\n cidrv6: \"IPv6 tartom\u00E1ny\",\n base64: \"base64-k\u00F3dolt string\",\n base64url: \"base64url-k\u00F3dolt string\",\n json_string: \"JSON string\",\n e164: \"E.164 sz\u00E1m\",\n jwt: \"JWT\",\n template_literal: \"bemenet\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"sz\u00E1m\",\n array: \"t\u00F6mb\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k instanceof ${issue.expected}, a kapott \u00E9rt\u00E9k ${received}`;\n }\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k ${expected}, a kapott \u00E9rt\u00E9k ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u00C9rv\u00E9nytelen bemenet: a v\u00E1rt \u00E9rt\u00E9k ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00C9rv\u00E9nytelen opci\u00F3: valamelyik \u00E9rt\u00E9k v\u00E1rt ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `T\u00FAl nagy: ${issue.origin ?? \"\u00E9rt\u00E9k\"} m\u00E9rete t\u00FAl nagy ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elem\"}`;\n return `T\u00FAl nagy: a bemeneti \u00E9rt\u00E9k ${issue.origin ?? \"\u00E9rt\u00E9k\"} t\u00FAl nagy: ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `T\u00FAl kicsi: a bemeneti \u00E9rt\u00E9k ${issue.origin} m\u00E9rete t\u00FAl kicsi ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `T\u00FAl kicsi: a bemeneti \u00E9rt\u00E9k ${issue.origin} t\u00FAl kicsi ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.prefix}\" \u00E9rt\u00E9kkel kell kezd\u0151dnie`;\n if (_issue.format === \"ends_with\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.suffix}\" \u00E9rt\u00E9kkel kell v\u00E9gz\u0151dnie`;\n if (_issue.format === \"includes\")\n return `\u00C9rv\u00E9nytelen string: \"${_issue.includes}\" \u00E9rt\u00E9ket kell tartalmaznia`;\n if (_issue.format === \"regex\")\n return `\u00C9rv\u00E9nytelen string: ${_issue.pattern} mint\u00E1nak kell megfelelnie`;\n return `\u00C9rv\u00E9nytelen ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u00C9rv\u00E9nytelen sz\u00E1m: ${issue.divisor} t\u00F6bbsz\u00F6r\u00F6s\u00E9nek kell lennie`;\n case \"unrecognized_keys\":\n return `Ismeretlen kulcs${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u00C9rv\u00E9nytelen kulcs ${issue.origin}`;\n case \"invalid_union\":\n return \"\u00C9rv\u00E9nytelen bemenet\";\n case \"invalid_element\":\n return `\u00C9rv\u00E9nytelen \u00E9rt\u00E9k: ${issue.origin}`;\n default:\n return `\u00C9rv\u00E9nytelen bemenet`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getArmenianPlural(count, one, many) {\n return Math.abs(count) === 1 ? one : many;\n}\nfunction withDefiniteArticle(word) {\n if (!word)\n return \"\";\n const vowels = [\"\u0561\", \"\u0565\", \"\u0568\", \"\u056B\", \"\u0578\", \"\u0578\u0582\", \"\u0585\"];\n const lastChar = word[word.length - 1];\n return word + (vowels.includes(lastChar) ? \"\u0576\" : \"\u0568\");\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0576\u0577\u0561\u0576\",\n many: \"\u0576\u0577\u0561\u0576\u0576\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n file: {\n unit: {\n one: \"\u0562\u0561\u0575\u0569\",\n many: \"\u0562\u0561\u0575\u0569\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n array: {\n unit: {\n one: \"\u057F\u0561\u0580\u0580\",\n many: \"\u057F\u0561\u0580\u0580\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n set: {\n unit: {\n one: \"\u057F\u0561\u0580\u0580\",\n many: \"\u057F\u0561\u0580\u0580\u0565\u0580\",\n },\n verb: \"\u0578\u0582\u0576\u0565\u0576\u0561\u056C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0574\u0578\u0582\u057F\u0584\",\n email: \"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565\",\n url: \"URL\",\n emoji: \"\u0567\u0574\u0578\u057B\u056B\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574\",\n date: \"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E\",\n time: \"ISO \u056A\u0561\u0574\",\n duration: \"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576\",\n ipv4: \"IPv4 \u0570\u0561\u057D\u0581\u0565\",\n ipv6: \"IPv6 \u0570\u0561\u057D\u0581\u0565\",\n cidrv4: \"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584\",\n cidrv6: \"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584\",\n base64: \"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572\",\n base64url: \"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572\",\n json_string: \"JSON \u057F\u0578\u0572\",\n e164: \"E.164 \u0570\u0561\u0574\u0561\u0580\",\n jwt: \"JWT\",\n template_literal: \"\u0574\u0578\u0582\u057F\u0584\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0569\u056B\u057E\",\n array: \"\u0566\u0561\u0576\u0563\u057E\u0561\u056E\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${issue.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`;\n }\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${util.stringifyPrimitive(issue.values[1])}`;\n return `\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many);\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin ?? \"\u0561\u0580\u056A\u0565\u0584\")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin ?? \"\u0561\u0580\u056A\u0565\u0584\")} \u056C\u056B\u0576\u056B ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many);\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue.origin)} \u056C\u056B\u0576\u056B ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B \"${_issue.prefix}\"-\u0578\u057E`;\n if (_issue.format === \"ends_with\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B \"${_issue.suffix}\"-\u0578\u057E`;\n if (_issue.format === \"includes\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${_issue.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;\n return `\u054D\u056D\u0561\u056C ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${issue.divisor}-\u056B`;\n case \"unrecognized_keys\":\n return `\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${issue.keys.length > 1 ? \"\u0576\u0565\u0580\" : \"\"}. ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${withDefiniteArticle(issue.origin)}-\u0578\u0582\u0574`;\n case \"invalid_union\":\n return \"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\";\n case \"invalid_element\":\n return `\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${withDefiniteArticle(issue.origin)}-\u0578\u0582\u0574`;\n default:\n return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"memiliki\" },\n file: { unit: \"byte\", verb: \"memiliki\" },\n array: { unit: \"item\", verb: \"memiliki\" },\n set: { unit: \"item\", verb: \"memiliki\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"alamat email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"tanggal dan waktu format ISO\",\n date: \"tanggal format ISO\",\n time: \"jam format ISO\",\n duration: \"durasi format ISO\",\n ipv4: \"alamat IPv4\",\n ipv6: \"alamat IPv6\",\n cidrv4: \"rentang alamat IPv4\",\n cidrv6: \"rentang alamat IPv6\",\n base64: \"string dengan enkode base64\",\n base64url: \"string dengan enkode base64url\",\n json_string: \"string JSON\",\n e164: \"angka E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input tidak valid: diharapkan instanceof ${issue.expected}, diterima ${received}`;\n }\n return `Input tidak valid: diharapkan ${expected}, diterima ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input tidak valid: diharapkan ${util.stringifyPrimitive(issue.values[0])}`;\n return `Pilihan tidak valid: diharapkan salah satu dari ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Terlalu besar: diharapkan ${issue.origin ?? \"value\"} memiliki ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemen\"}`;\n return `Terlalu besar: diharapkan ${issue.origin ?? \"value\"} menjadi ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Terlalu kecil: diharapkan ${issue.origin} memiliki ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Terlalu kecil: diharapkan ${issue.origin} menjadi ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `String tidak valid: harus dimulai dengan \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `String tidak valid: harus berakhir dengan \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `String tidak valid: harus menyertakan \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `String tidak valid: harus sesuai pola ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} tidak valid`;\n }\n case \"not_multiple_of\":\n return `Angka tidak valid: harus kelipatan dari ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kunci tidak dikenali ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kunci tidak valid di ${issue.origin}`;\n case \"invalid_union\":\n return \"Input tidak valid\";\n case \"invalid_element\":\n return `Nilai tidak valid di ${issue.origin}`;\n default:\n return `Input tidak valid`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"stafi\", verb: \"a\u00F0 hafa\" },\n file: { unit: \"b\u00E6ti\", verb: \"a\u00F0 hafa\" },\n array: { unit: \"hluti\", verb: \"a\u00F0 hafa\" },\n set: { unit: \"hluti\", verb: \"a\u00F0 hafa\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"gildi\",\n email: \"netfang\",\n url: \"vefsl\u00F3\u00F0\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dagsetning og t\u00EDmi\",\n date: \"ISO dagsetning\",\n time: \"ISO t\u00EDmi\",\n duration: \"ISO t\u00EDmalengd\",\n ipv4: \"IPv4 address\",\n ipv6: \"IPv6 address\",\n cidrv4: \"IPv4 range\",\n cidrv6: \"IPv6 range\",\n base64: \"base64-encoded strengur\",\n base64url: \"base64url-encoded strengur\",\n json_string: \"JSON strengur\",\n e164: \"E.164 t\u00F6lugildi\",\n jwt: \"JWT\",\n template_literal: \"gildi\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"n\u00FAmer\",\n array: \"fylki\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Rangt gildi: \u00DE\u00FA sl\u00F3st inn ${received} \u00FEar sem \u00E1 a\u00F0 vera instanceof ${issue.expected}`;\n }\n return `Rangt gildi: \u00DE\u00FA sl\u00F3st inn ${received} \u00FEar sem \u00E1 a\u00F0 vera ${expected}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Rangt gildi: gert r\u00E1\u00F0 fyrir ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00D3gilt val: m\u00E1 vera eitt af eftirfarandi ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Of st\u00F3rt: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin ?? \"gildi\"} hafi ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"hluti\"}`;\n return `Of st\u00F3rt: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin ?? \"gildi\"} s\u00E9 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Of l\u00EDti\u00F0: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin} hafi ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Of l\u00EDti\u00F0: gert er r\u00E1\u00F0 fyrir a\u00F0 ${issue.origin} s\u00E9 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 byrja \u00E1 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 enda \u00E1 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 innihalda \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u00D3gildur strengur: ver\u00F0ur a\u00F0 fylgja mynstri ${_issue.pattern}`;\n return `Rangt ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `R\u00F6ng tala: ver\u00F0ur a\u00F0 vera margfeldi af ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u00D3\u00FEekkt ${issue.keys.length > 1 ? \"ir lyklar\" : \"ur lykill\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Rangur lykill \u00ED ${issue.origin}`;\n case \"invalid_union\":\n return \"Rangt gildi\";\n case \"invalid_element\":\n return `Rangt gildi \u00ED ${issue.origin}`;\n default:\n return `Rangt gildi`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caratteri\", verb: \"avere\" },\n file: { unit: \"byte\", verb: \"avere\" },\n array: { unit: \"elementi\", verb: \"avere\" },\n set: { unit: \"elementi\", verb: \"avere\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"indirizzo email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data e ora ISO\",\n date: \"data ISO\",\n time: \"ora ISO\",\n duration: \"durata ISO\",\n ipv4: \"indirizzo IPv4\",\n ipv6: \"indirizzo IPv6\",\n cidrv4: \"intervallo IPv4\",\n cidrv6: \"intervallo IPv6\",\n base64: \"stringa codificata in base64\",\n base64url: \"URL codificata in base64\",\n json_string: \"stringa JSON\",\n e164: \"numero E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"numero\",\n array: \"vettore\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input non valido: atteso instanceof ${issue.expected}, ricevuto ${received}`;\n }\n return `Input non valido: atteso ${expected}, ricevuto ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input non valido: atteso ${util.stringifyPrimitive(issue.values[0])}`;\n return `Opzione non valida: atteso uno tra ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Troppo grande: ${issue.origin ?? \"valore\"} deve avere ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementi\"}`;\n return `Troppo grande: ${issue.origin ?? \"valore\"} deve essere ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Troppo piccolo: ${issue.origin} deve avere ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Troppo piccolo: ${issue.origin} deve essere ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Stringa non valida: deve iniziare con \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Stringa non valida: deve terminare con \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Stringa non valida: deve includere \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;\n return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Numero non valido: deve essere un multiplo di ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Chiav${issue.keys.length > 1 ? \"i\" : \"e\"} non riconosciut${issue.keys.length > 1 ? \"e\" : \"a\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Chiave non valida in ${issue.origin}`;\n case \"invalid_union\":\n return \"Input non valido\";\n case \"invalid_element\":\n return `Valore non valido in ${issue.origin}`;\n default:\n return `Input non valido`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u6587\u5B57\", verb: \"\u3067\u3042\u308B\" },\n file: { unit: \"\u30D0\u30A4\u30C8\", verb: \"\u3067\u3042\u308B\" },\n array: { unit: \"\u8981\u7D20\", verb: \"\u3067\u3042\u308B\" },\n set: { unit: \"\u8981\u7D20\", verb: \"\u3067\u3042\u308B\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u5165\u529B\u5024\",\n email: \"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\",\n url: \"URL\",\n emoji: \"\u7D75\u6587\u5B57\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO\u65E5\u6642\",\n date: \"ISO\u65E5\u4ED8\",\n time: \"ISO\u6642\u523B\",\n duration: \"ISO\u671F\u9593\",\n ipv4: \"IPv4\u30A2\u30C9\u30EC\u30B9\",\n ipv6: \"IPv6\u30A2\u30C9\u30EC\u30B9\",\n cidrv4: \"IPv4\u7BC4\u56F2\",\n cidrv6: \"IPv6\u7BC4\u56F2\",\n base64: \"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217\",\n base64url: \"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217\",\n json_string: \"JSON\u6587\u5B57\u5217\",\n e164: \"E.164\u756A\u53F7\",\n jwt: \"JWT\",\n template_literal: \"\u5165\u529B\u5024\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u6570\u5024\",\n array: \"\u914D\u5217\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u7121\u52B9\u306A\u5165\u529B: instanceof ${issue.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;\n }\n return `\u7121\u52B9\u306A\u5165\u529B: ${expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u7121\u52B9\u306A\u5165\u529B: ${util.stringifyPrimitive(issue.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;\n return `\u7121\u52B9\u306A\u9078\u629E: ${util.joinValues(issue.values, \"\u3001\")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u4EE5\u4E0B\u3067\u3042\u308B\" : \"\u3088\u308A\u5C0F\u3055\u3044\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue.origin ?? \"\u5024\"}\u306F${issue.maximum.toString()}${sizing.unit ?? \"\u8981\u7D20\"}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue.origin ?? \"\u5024\"}\u306F${issue.maximum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u4EE5\u4E0A\u3067\u3042\u308B\" : \"\u3088\u308A\u5927\u304D\u3044\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue.origin}\u306F${issue.minimum.toString()}${sizing.unit}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue.origin}\u306F${issue.minimum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.prefix}\"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"ends_with\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.suffix}\"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"includes\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \"${_issue.includes}\"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n if (_issue.format === \"regex\")\n return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${_issue.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n return `\u7121\u52B9\u306A${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u7121\u52B9\u306A\u6570\u5024: ${issue.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;\n case \"unrecognized_keys\":\n return `\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${issue.keys.length > 1 ? \"\u7FA4\" : \"\"}: ${util.joinValues(issue.keys, \"\u3001\")}`;\n case \"invalid_key\":\n return `${issue.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;\n case \"invalid_union\":\n return \"\u7121\u52B9\u306A\u5165\u529B\";\n case \"invalid_element\":\n return `${issue.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;\n default:\n return `\u7121\u52B9\u306A\u5165\u529B`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n file: { unit: \"\u10D1\u10D0\u10D8\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n array: { unit: \"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n set: { unit: \"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8\", verb: \"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\",\n email: \"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n url: \"URL\",\n emoji: \"\u10D4\u10DB\u10DD\u10EF\u10D8\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD\",\n date: \"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8\",\n time: \"\u10D3\u10E0\u10DD\",\n duration: \"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0\",\n ipv4: \"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n ipv6: \"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8\",\n cidrv4: \"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8\",\n cidrv6: \"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8\",\n base64: \"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8\",\n base64url: \"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8\",\n json_string: \"JSON \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8\",\n e164: \"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8\",\n jwt: \"JWT\",\n template_literal: \"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8\",\n string: \"\u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8\",\n boolean: \"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8\",\n function: \"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0\",\n array: \"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${issue.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`;\n }\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${util.joinValues(issue.values, \"|\")}-\u10D3\u10D0\u10DC`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin ?? \"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin ?? \"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0\"} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue.origin} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \"${_issue.prefix}\"-\u10D8\u10D7`;\n }\n if (_issue.format === \"ends_with\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \"${_issue.suffix}\"-\u10D8\u10D7`;\n if (_issue.format === \"includes\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 \"${_issue.includes}\"-\u10E1`;\n if (_issue.format === \"regex\")\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_issue.pattern}`;\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${issue.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;\n case \"unrecognized_keys\":\n return `\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${issue.keys.length > 1 ? \"\u10D4\u10D1\u10D8\" : \"\u10D8\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${issue.origin}-\u10E8\u10D8`;\n case \"invalid_union\":\n return \"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0\";\n case \"invalid_element\":\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${issue.origin}-\u10E8\u10D8`;\n default:\n return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n file: { unit: \"\u1794\u17C3\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n array: { unit: \"\u1792\u17B6\u178F\u17BB\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n set: { unit: \"\u1792\u17B6\u178F\u17BB\", verb: \"\u1782\u17BD\u179A\u1798\u17B6\u1793\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\",\n email: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B\",\n url: \"URL\",\n emoji: \"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO\",\n date: \"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO\",\n time: \"\u1798\u17C9\u17C4\u1784 ISO\",\n duration: \"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO\",\n ipv4: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4\",\n ipv6: \"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6\",\n cidrv4: \"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4\",\n cidrv6: \"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6\",\n base64: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64\",\n base64url: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url\",\n json_string: \"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON\",\n e164: \"\u179B\u17C1\u1781 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u179B\u17C1\u1781\",\n array: \"\u17A2\u17B6\u179A\u17C1 (Array)\",\n null: \"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${issue.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`;\n }\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin ?? \"\u178F\u1798\u17D2\u179B\u17C3\"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u1792\u17B6\u178F\u17BB\"}`;\n return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin ?? \"\u178F\u1798\u17D2\u179B\u17C3\"} ${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue.origin} ${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${_issue.pattern}`;\n return `\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue.origin}`;\n case \"invalid_union\":\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`;\n case \"invalid_element\":\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue.origin}`;\n default:\n return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import km from \"./km.js\";\n/** @deprecated Use `km` instead. */\nexport default function () {\n return km();\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\uBB38\uC790\", verb: \"to have\" },\n file: { unit: \"\uBC14\uC774\uD2B8\", verb: \"to have\" },\n array: { unit: \"\uAC1C\", verb: \"to have\" },\n set: { unit: \"\uAC1C\", verb: \"to have\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\uC785\uB825\",\n email: \"\uC774\uBA54\uC77C \uC8FC\uC18C\",\n url: \"URL\",\n emoji: \"\uC774\uBAA8\uC9C0\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \uB0A0\uC9DC\uC2DC\uAC04\",\n date: \"ISO \uB0A0\uC9DC\",\n time: \"ISO \uC2DC\uAC04\",\n duration: \"ISO \uAE30\uAC04\",\n ipv4: \"IPv4 \uC8FC\uC18C\",\n ipv6: \"IPv6 \uC8FC\uC18C\",\n cidrv4: \"IPv4 \uBC94\uC704\",\n cidrv6: \"IPv6 \uBC94\uC704\",\n base64: \"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4\",\n base64url: \"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4\",\n json_string: \"JSON \uBB38\uC790\uC5F4\",\n e164: \"E.164 \uBC88\uD638\",\n jwt: \"JWT\",\n template_literal: \"\uC785\uB825\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${issue.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`;\n }\n return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${util.stringifyPrimitive(issue.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;\n return `\uC798\uBABB\uB41C \uC635\uC158: ${util.joinValues(issue.values, \"\uB610\uB294 \")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\uC774\uD558\" : \"\uBBF8\uB9CC\";\n const suffix = adj === \"\uBBF8\uB9CC\" ? \"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4\" : \"\uC5EC\uC57C \uD569\uB2C8\uB2E4\";\n const sizing = getSizing(issue.origin);\n const unit = sizing?.unit ?? \"\uC694\uC18C\";\n if (sizing)\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue.maximum.toString()}${unit} ${adj}${suffix}`;\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue.maximum.toString()} ${adj}${suffix}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\uC774\uC0C1\" : \"\uCD08\uACFC\";\n const suffix = adj === \"\uC774\uC0C1\" ? \"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4\" : \"\uC5EC\uC57C \uD569\uB2C8\uB2E4\";\n const sizing = getSizing(issue.origin);\n const unit = sizing?.unit ?? \"\uC694\uC18C\";\n if (sizing) {\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue.minimum.toString()}${unit} ${adj}${suffix}`;\n }\n return `${issue.origin ?? \"\uAC12\"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue.minimum.toString()} ${adj}${suffix}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.prefix}\"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;\n }\n if (_issue.format === \"ends_with\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.suffix}\"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;\n if (_issue.format === \"includes\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \"${_issue.includes}\"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;\n if (_issue.format === \"regex\")\n return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${_issue.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;\n return `\uC798\uBABB\uB41C ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\uC798\uBABB\uB41C \uC22B\uC790: ${issue.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;\n case \"unrecognized_keys\":\n return `\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\uC798\uBABB\uB41C \uD0A4: ${issue.origin}`;\n case \"invalid_union\":\n return `\uC798\uBABB\uB41C \uC785\uB825`;\n case \"invalid_element\":\n return `\uC798\uBABB\uB41C \uAC12: ${issue.origin}`;\n default:\n return `\uC798\uBABB\uB41C \uC785\uB825`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst capitalizeFirstCharacter = (text) => {\n return text.charAt(0).toUpperCase() + text.slice(1);\n};\nfunction getUnitTypeFromNumber(number) {\n const abs = Math.abs(number);\n const last = abs % 10;\n const last2 = abs % 100;\n if ((last2 >= 11 && last2 <= 19) || last === 0)\n return \"many\";\n if (last === 1)\n return \"one\";\n return \"few\";\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"simbolis\",\n few: \"simboliai\",\n many: \"simboli\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi b\u016Bti ne ilgesn\u0117 kaip\",\n notInclusive: \"turi b\u016Bti trumpesn\u0117 kaip\",\n },\n bigger: {\n inclusive: \"turi b\u016Bti ne trumpesn\u0117 kaip\",\n notInclusive: \"turi b\u016Bti ilgesn\u0117 kaip\",\n },\n },\n },\n file: {\n unit: {\n one: \"baitas\",\n few: \"baitai\",\n many: \"bait\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi b\u016Bti ne didesnis kaip\",\n notInclusive: \"turi b\u016Bti ma\u017Eesnis kaip\",\n },\n bigger: {\n inclusive: \"turi b\u016Bti ne ma\u017Eesnis kaip\",\n notInclusive: \"turi b\u016Bti didesnis kaip\",\n },\n },\n },\n array: {\n unit: {\n one: \"element\u0105\",\n few: \"elementus\",\n many: \"element\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi tur\u0117ti ne daugiau kaip\",\n notInclusive: \"turi tur\u0117ti ma\u017Eiau kaip\",\n },\n bigger: {\n inclusive: \"turi tur\u0117ti ne ma\u017Eiau kaip\",\n notInclusive: \"turi tur\u0117ti daugiau kaip\",\n },\n },\n },\n set: {\n unit: {\n one: \"element\u0105\",\n few: \"elementus\",\n many: \"element\u0173\",\n },\n verb: {\n smaller: {\n inclusive: \"turi tur\u0117ti ne daugiau kaip\",\n notInclusive: \"turi tur\u0117ti ma\u017Eiau kaip\",\n },\n bigger: {\n inclusive: \"turi tur\u0117ti ne ma\u017Eiau kaip\",\n notInclusive: \"turi tur\u0117ti daugiau kaip\",\n },\n },\n },\n };\n function getSizing(origin, unitType, inclusive, targetShouldBe) {\n const result = Sizable[origin] ?? null;\n if (result === null)\n return result;\n return {\n unit: result.unit[unitType],\n verb: result.verb[targetShouldBe][inclusive ? \"inclusive\" : \"notInclusive\"],\n };\n }\n const FormatDictionary = {\n regex: \"\u012Fvestis\",\n email: \"el. pa\u0161to adresas\",\n url: \"URL\",\n emoji: \"jaustukas\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO data ir laikas\",\n date: \"ISO data\",\n time: \"ISO laikas\",\n duration: \"ISO trukm\u0117\",\n ipv4: \"IPv4 adresas\",\n ipv6: \"IPv6 adresas\",\n cidrv4: \"IPv4 tinklo prefiksas (CIDR)\",\n cidrv6: \"IPv6 tinklo prefiksas (CIDR)\",\n base64: \"base64 u\u017Ekoduota eilut\u0117\",\n base64url: \"base64url u\u017Ekoduota eilut\u0117\",\n json_string: \"JSON eilut\u0117\",\n e164: \"E.164 numeris\",\n jwt: \"JWT\",\n template_literal: \"\u012Fvestis\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"skai\u010Dius\",\n bigint: \"sveikasis skai\u010Dius\",\n string: \"eilut\u0117\",\n boolean: \"login\u0117 reik\u0161m\u0117\",\n undefined: \"neapibr\u0117\u017Eta reik\u0161m\u0117\",\n function: \"funkcija\",\n symbol: \"simbolis\",\n array: \"masyvas\",\n object: \"objektas\",\n null: \"nulin\u0117 reik\u0161m\u0117\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Gautas tipas ${received}, o tik\u0117tasi - instanceof ${issue.expected}`;\n }\n return `Gautas tipas ${received}, o tik\u0117tasi - ${expected}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Privalo b\u016Bti ${util.stringifyPrimitive(issue.values[0])}`;\n return `Privalo b\u016Bti vienas i\u0161 ${util.joinValues(issue.values, \"|\")} pasirinkim\u0173`;\n case \"too_big\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, \"smaller\");\n if (sizing?.verb)\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? \"element\u0173\"}`;\n const adj = issue.inclusive ? \"ne didesnis kaip\" : \"ma\u017Eesnis kaip\";\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi b\u016Bti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;\n }\n case \"too_small\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, \"bigger\");\n if (sizing?.verb)\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? \"element\u0173\"}`;\n const adj = issue.inclusive ? \"ne ma\u017Eesnis kaip\" : \"didesnis kaip\";\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi b\u016Bti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Eilut\u0117 privalo prasid\u0117ti \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Eilut\u0117 privalo pasibaigti \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Eilut\u0117 privalo \u012Ftraukti \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Eilut\u0117 privalo atitikti ${_issue.pattern}`;\n return `Neteisingas ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Skai\u010Dius privalo b\u016Bti ${issue.divisor} kartotinis.`;\n case \"unrecognized_keys\":\n return `Neatpa\u017Eint${issue.keys.length > 1 ? \"i\" : \"as\"} rakt${issue.keys.length > 1 ? \"ai\" : \"as\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return \"Rastas klaidingas raktas\";\n case \"invalid_union\":\n return \"Klaidinga \u012Fvestis\";\n case \"invalid_element\": {\n const origin = TypeDictionary[issue.origin] ?? issue.origin;\n return `${capitalizeFirstCharacter(origin ?? issue.origin ?? \"reik\u0161m\u0117\")} turi klaiding\u0105 \u012Fvest\u012F`;\n }\n default:\n return \"Klaidinga \u012Fvestis\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0437\u043D\u0430\u0446\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n file: { unit: \"\u0431\u0430\u0458\u0442\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n array: { unit: \"\u0441\u0442\u0430\u0432\u043A\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n set: { unit: \"\u0441\u0442\u0430\u0432\u043A\u0438\", verb: \"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u043D\u0435\u0441\",\n email: \"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u045F\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435\",\n date: \"ISO \u0434\u0430\u0442\u0443\u043C\",\n time: \"ISO \u0432\u0440\u0435\u043C\u0435\",\n duration: \"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430\",\n cidrv4: \"IPv4 \u043E\u043F\u0441\u0435\u0433\",\n cidrv6: \"IPv6 \u043E\u043F\u0441\u0435\u0433\",\n base64: \"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430\",\n base64url: \"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430\",\n json_string: \"JSON \u043D\u0438\u0437\u0430\",\n e164: \"E.164 \u0431\u0440\u043E\u0458\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u043D\u0435\u0441\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0431\u0440\u043E\u0458\",\n array: \"\u043D\u0438\u0437\u0430\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${issue.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`;\n }\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Invalid input: expected ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin ?? \"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430\"} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\"}`;\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin ?? \"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430\"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${_issue.pattern}`;\n return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438\" : \"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441\";\n case \"invalid_element\":\n return `\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${issue.origin}`;\n default:\n return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"aksara\", verb: \"mempunyai\" },\n file: { unit: \"bait\", verb: \"mempunyai\" },\n array: { unit: \"elemen\", verb: \"mempunyai\" },\n set: { unit: \"elemen\", verb: \"mempunyai\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"alamat e-mel\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"tarikh masa ISO\",\n date: \"tarikh ISO\",\n time: \"masa ISO\",\n duration: \"tempoh ISO\",\n ipv4: \"alamat IPv4\",\n ipv6: \"alamat IPv6\",\n cidrv4: \"julat IPv4\",\n cidrv6: \"julat IPv6\",\n base64: \"string dikodkan base64\",\n base64url: \"string dikodkan base64url\",\n json_string: \"string JSON\",\n e164: \"nombor E.164\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"nombor\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Input tidak sah: dijangka instanceof ${issue.expected}, diterima ${received}`;\n }\n return `Input tidak sah: dijangka ${expected}, diterima ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Input tidak sah: dijangka ${util.stringifyPrimitive(issue.values[0])}`;\n return `Pilihan tidak sah: dijangka salah satu daripada ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Terlalu besar: dijangka ${issue.origin ?? \"nilai\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elemen\"}`;\n return `Terlalu besar: dijangka ${issue.origin ?? \"nilai\"} adalah ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Terlalu kecil: dijangka ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Terlalu kecil: dijangka ${issue.origin} adalah ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `String tidak sah: mesti bermula dengan \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `String tidak sah: mesti berakhir dengan \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `String tidak sah: mesti mengandungi \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} tidak sah`;\n }\n case \"not_multiple_of\":\n return `Nombor tidak sah: perlu gandaan ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kunci tidak dikenali: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kunci tidak sah dalam ${issue.origin}`;\n case \"invalid_union\":\n return \"Input tidak sah\";\n case \"invalid_element\":\n return `Nilai tidak sah dalam ${issue.origin}`;\n default:\n return `Input tidak sah`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tekens\", verb: \"heeft\" },\n file: { unit: \"bytes\", verb: \"heeft\" },\n array: { unit: \"elementen\", verb: \"heeft\" },\n set: { unit: \"elementen\", verb: \"heeft\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"invoer\",\n email: \"emailadres\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum en tijd\",\n date: \"ISO datum\",\n time: \"ISO tijd\",\n duration: \"ISO duur\",\n ipv4: \"IPv4-adres\",\n ipv6: \"IPv6-adres\",\n cidrv4: \"IPv4-bereik\",\n cidrv6: \"IPv6-bereik\",\n base64: \"base64-gecodeerde tekst\",\n base64url: \"base64 URL-gecodeerde tekst\",\n json_string: \"JSON string\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"invoer\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"getal\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ongeldige invoer: verwacht instanceof ${issue.expected}, ontving ${received}`;\n }\n return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ongeldige invoer: verwacht ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ongeldige optie: verwacht \u00E9\u00E9n van ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n const longName = issue.origin === \"date\" ? \"laat\" : issue.origin === \"string\" ? \"lang\" : \"groot\";\n if (sizing)\n return `Te ${longName}: verwacht dat ${issue.origin ?? \"waarde\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementen\"} ${sizing.verb}`;\n return `Te ${longName}: verwacht dat ${issue.origin ?? \"waarde\"} ${adj}${issue.maximum.toString()} is`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n const shortName = issue.origin === \"date\" ? \"vroeg\" : issue.origin === \"string\" ? \"kort\" : \"klein\";\n if (sizing) {\n return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n }\n return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ongeldige tekst: moet met \"${_issue.prefix}\" beginnen`;\n }\n if (_issue.format === \"ends_with\")\n return `Ongeldige tekst: moet op \"${_issue.suffix}\" eindigen`;\n if (_issue.format === \"includes\")\n return `Ongeldige tekst: moet \"${_issue.includes}\" bevatten`;\n if (_issue.format === \"regex\")\n return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;\n return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ongeldig getal: moet een veelvoud van ${issue.divisor} zijn`;\n case \"unrecognized_keys\":\n return `Onbekende key${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ongeldige key in ${issue.origin}`;\n case \"invalid_union\":\n return \"Ongeldige invoer\";\n case \"invalid_element\":\n return `Ongeldige waarde in ${issue.origin}`;\n default:\n return `Ongeldige invoer`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tegn\", verb: \"\u00E5 ha\" },\n file: { unit: \"bytes\", verb: \"\u00E5 ha\" },\n array: { unit: \"elementer\", verb: \"\u00E5 inneholde\" },\n set: { unit: \"elementer\", verb: \"\u00E5 inneholde\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"input\",\n email: \"e-postadresse\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO dato- og klokkeslett\",\n date: \"ISO-dato\",\n time: \"ISO-klokkeslett\",\n duration: \"ISO-varighet\",\n ipv4: \"IPv4-omr\u00E5de\",\n ipv6: \"IPv6-omr\u00E5de\",\n cidrv4: \"IPv4-spekter\",\n cidrv6: \"IPv6-spekter\",\n base64: \"base64-enkodet streng\",\n base64url: \"base64url-enkodet streng\",\n json_string: \"JSON-streng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"tall\",\n array: \"liste\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ugyldig input: forventet instanceof ${issue.expected}, fikk ${received}`;\n }\n return `Ugyldig input: forventet ${expected}, fikk ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ugyldig verdi: forventet ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ugyldig valg: forventet en av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `For stor(t): forventet ${issue.origin ?? \"value\"} til \u00E5 ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementer\"}`;\n return `For stor(t): forventet ${issue.origin ?? \"value\"} til \u00E5 ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `For lite(n): forventet ${issue.origin} til \u00E5 ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `For lite(n): forventet ${issue.origin} til \u00E5 ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ugyldig streng: m\u00E5 starte med \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Ugyldig streng: m\u00E5 ende med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ugyldig streng: m\u00E5 inneholde \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ugyldig streng: m\u00E5 matche m\u00F8nsteret ${_issue.pattern}`;\n return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ugyldig tall: m\u00E5 v\u00E6re et multiplum av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ukjente n\u00F8kler\" : \"Ukjent n\u00F8kkel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ugyldig n\u00F8kkel i ${issue.origin}`;\n case \"invalid_union\":\n return \"Ugyldig input\";\n case \"invalid_element\":\n return `Ugyldig verdi i ${issue.origin}`;\n default:\n return `Ugyldig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"harf\", verb: \"olmal\u0131d\u0131r\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131d\u0131r\" },\n array: { unit: \"unsur\", verb: \"olmal\u0131d\u0131r\" },\n set: { unit: \"unsur\", verb: \"olmal\u0131d\u0131r\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"giren\",\n email: \"epostag\u00E2h\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO heng\u00E2m\u0131\",\n date: \"ISO tarihi\",\n time: \"ISO zaman\u0131\",\n duration: \"ISO m\u00FCddeti\",\n ipv4: \"IPv4 ni\u015F\u00E2n\u0131\",\n ipv6: \"IPv6 ni\u015F\u00E2n\u0131\",\n cidrv4: \"IPv4 menzili\",\n cidrv6: \"IPv6 menzili\",\n base64: \"base64-\u015Fifreli metin\",\n base64url: \"base64url-\u015Fifreli metin\",\n json_string: \"JSON metin\",\n e164: \"E.164 say\u0131s\u0131\",\n jwt: \"JWT\",\n template_literal: \"giren\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"numara\",\n array: \"saf\",\n null: \"gayb\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `F\u00E2sit giren: umulan instanceof ${issue.expected}, al\u0131nan ${received}`;\n }\n return `F\u00E2sit giren: umulan ${expected}, al\u0131nan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `F\u00E2sit giren: umulan ${util.stringifyPrimitive(issue.values[0])}`;\n return `F\u00E2sit tercih: m\u00FBteberler ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Fazla b\u00FCy\u00FCk: ${issue.origin ?? \"value\"}, ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elements\"} sahip olmal\u0131yd\u0131.`;\n return `Fazla b\u00FCy\u00FCk: ${issue.origin ?? \"value\"}, ${adj}${issue.maximum.toString()} olmal\u0131yd\u0131.`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Fazla k\u00FC\u00E7\u00FCk: ${issue.origin}, ${adj}${issue.minimum.toString()} ${sizing.unit} sahip olmal\u0131yd\u0131.`;\n }\n return `Fazla k\u00FC\u00E7\u00FCk: ${issue.origin}, ${adj}${issue.minimum.toString()} olmal\u0131yd\u0131.`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `F\u00E2sit metin: \"${_issue.prefix}\" ile ba\u015Flamal\u0131.`;\n if (_issue.format === \"ends_with\")\n return `F\u00E2sit metin: \"${_issue.suffix}\" ile bitmeli.`;\n if (_issue.format === \"includes\")\n return `F\u00E2sit metin: \"${_issue.includes}\" ihtiv\u00E2 etmeli.`;\n if (_issue.format === \"regex\")\n return `F\u00E2sit metin: ${_issue.pattern} nak\u015F\u0131na uymal\u0131.`;\n return `F\u00E2sit ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `F\u00E2sit say\u0131: ${issue.divisor} kat\u0131 olmal\u0131yd\u0131.`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan anahtar ${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} i\u00E7in tan\u0131nmayan anahtar var.`;\n case \"invalid_union\":\n return \"Giren tan\u0131namad\u0131.\";\n case \"invalid_element\":\n return `${issue.origin} i\u00E7in tan\u0131nmayan k\u0131ymet var.`;\n default:\n return `K\u0131ymet tan\u0131namad\u0131.`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n file: { unit: \"\u0628\u0627\u06CC\u067C\u0633\", verb: \"\u0648\u0644\u0631\u064A\" },\n array: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n set: { unit: \"\u062A\u0648\u06A9\u064A\", verb: \"\u0648\u0644\u0631\u064A\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0648\u0631\u0648\u062F\u064A\",\n email: \"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9\",\n url: \"\u06CC\u0648 \u0622\u0631 \u0627\u0644\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u064A\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A\",\n date: \"\u0646\u06D0\u067C\u0647\",\n time: \"\u0648\u062E\u062A\",\n duration: \"\u0645\u0648\u062F\u0647\",\n ipv4: \"\u062F IPv4 \u067E\u062A\u0647\",\n ipv6: \"\u062F IPv6 \u067E\u062A\u0647\",\n cidrv4: \"\u062F IPv4 \u0633\u0627\u062D\u0647\",\n cidrv6: \"\u062F IPv6 \u0633\u0627\u062D\u0647\",\n base64: \"base64-encoded \u0645\u062A\u0646\",\n base64url: \"base64url-encoded \u0645\u062A\u0646\",\n json_string: \"JSON \u0645\u062A\u0646\",\n e164: \"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647\",\n jwt: \"JWT\",\n template_literal: \"\u0648\u0631\u0648\u062F\u064A\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0639\u062F\u062F\",\n array: \"\u0627\u0631\u06D0\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${issue.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;\n }\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1) {\n return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${util.stringifyPrimitive(issue.values[0])} \u0648\u0627\u06CC`;\n }\n return `\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${util.joinValues(issue.values, \"|\")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue.origin ?? \"\u0627\u0631\u0632\u069A\u062A\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0635\u0631\u0648\u0646\u0647\"} \u0648\u0644\u0631\u064A`;\n }\n return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue.origin ?? \"\u0627\u0631\u0632\u069A\u062A\"} \u0628\u0627\u06CC\u062F ${adj}${issue.maximum.toString()} \u0648\u064A`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} ${sizing.unit} \u0648\u0644\u0631\u064A`;\n }\n return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue.origin} \u0628\u0627\u06CC\u062F ${adj}${issue.minimum.toString()} \u0648\u064A`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F \"${_issue.prefix}\" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;\n }\n if (_issue.format === \"ends_with\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F \"${_issue.suffix}\" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;\n }\n if (_issue.format === \"includes\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \"${_issue.includes}\" \u0648\u0644\u0631\u064A`;\n }\n if (_issue.format === \"regex\") {\n return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${_issue.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;\n }\n return `${FormatDictionary[_issue.format] ?? issue.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`;\n }\n case \"not_multiple_of\":\n return `\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${issue.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;\n case \"unrecognized_keys\":\n return `\u0646\u0627\u0633\u0645 ${issue.keys.length > 1 ? \"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647\" : \"\u06A9\u0644\u06CC\u0689\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${issue.origin} \u06A9\u06D0`;\n case \"invalid_union\":\n return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`;\n case \"invalid_element\":\n return `\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${issue.origin} \u06A9\u06D0`;\n default:\n return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znak\u00F3w\", verb: \"mie\u0107\" },\n file: { unit: \"bajt\u00F3w\", verb: \"mie\u0107\" },\n array: { unit: \"element\u00F3w\", verb: \"mie\u0107\" },\n set: { unit: \"element\u00F3w\", verb: \"mie\u0107\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"wyra\u017Cenie\",\n email: \"adres email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data i godzina w formacie ISO\",\n date: \"data w formacie ISO\",\n time: \"godzina w formacie ISO\",\n duration: \"czas trwania ISO\",\n ipv4: \"adres IPv4\",\n ipv6: \"adres IPv6\",\n cidrv4: \"zakres IPv4\",\n cidrv6: \"zakres IPv6\",\n base64: \"ci\u0105g znak\u00F3w zakodowany w formacie base64\",\n base64url: \"ci\u0105g znak\u00F3w zakodowany w formacie base64url\",\n json_string: \"ci\u0105g znak\u00F3w w formacie JSON\",\n e164: \"liczba E.164\",\n jwt: \"JWT\",\n template_literal: \"wej\u015Bcie\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"liczba\",\n array: \"tablica\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${issue.expected}, otrzymano ${received}`;\n }\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${expected}, otrzymano ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie mie\u0107 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\u00F3w\"}`;\n }\n return `Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie wynosi\u0107 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie mie\u0107 ${adj}${issue.minimum.toString()} ${sizing.unit ?? \"element\u00F3w\"}`;\n }\n return `Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${issue.origin ?? \"warto\u015B\u0107\"} b\u0119dzie wynosi\u0107 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi zaczyna\u0107 si\u0119 od \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi ko\u0144czy\u0107 si\u0119 na \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi zawiera\u0107 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Nieprawid\u0142owy ci\u0105g znak\u00F3w: musi odpowiada\u0107 wzorcowi ${_issue.pattern}`;\n return `Nieprawid\u0142ow(y/a/e) ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Nierozpoznane klucze${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Nieprawid\u0142owy klucz w ${issue.origin}`;\n case \"invalid_union\":\n return \"Nieprawid\u0142owe dane wej\u015Bciowe\";\n case \"invalid_element\":\n return `Nieprawid\u0142owa warto\u015B\u0107 w ${issue.origin}`;\n default:\n return `Nieprawid\u0142owe dane wej\u015Bciowe`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"caracteres\", verb: \"ter\" },\n file: { unit: \"bytes\", verb: \"ter\" },\n array: { unit: \"itens\", verb: \"ter\" },\n set: { unit: \"itens\", verb: \"ter\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"padr\u00E3o\",\n email: \"endere\u00E7o de e-mail\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"data e hora ISO\",\n date: \"data ISO\",\n time: \"hora ISO\",\n duration: \"dura\u00E7\u00E3o ISO\",\n ipv4: \"endere\u00E7o IPv4\",\n ipv6: \"endere\u00E7o IPv6\",\n cidrv4: \"faixa de IPv4\",\n cidrv6: \"faixa de IPv6\",\n base64: \"texto codificado em base64\",\n base64url: \"URL codificada em base64\",\n json_string: \"texto JSON\",\n e164: \"n\u00FAmero E.164\",\n jwt: \"JWT\",\n template_literal: \"entrada\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"n\u00FAmero\",\n null: \"nulo\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Tipo inv\u00E1lido: esperado instanceof ${issue.expected}, recebido ${received}`;\n }\n return `Tipo inv\u00E1lido: esperado ${expected}, recebido ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Entrada inv\u00E1lida: esperado ${util.stringifyPrimitive(issue.values[0])}`;\n return `Op\u00E7\u00E3o inv\u00E1lida: esperada uma das ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Muito grande: esperado que ${issue.origin ?? \"valor\"} tivesse ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementos\"}`;\n return `Muito grande: esperado que ${issue.origin ?? \"valor\"} fosse ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Muito pequeno: esperado que ${issue.origin} tivesse ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Muito pequeno: esperado que ${issue.origin} fosse ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Texto inv\u00E1lido: deve come\u00E7ar com \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Texto inv\u00E1lido: deve terminar com \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Texto inv\u00E1lido: deve incluir \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Texto inv\u00E1lido: deve corresponder ao padr\u00E3o ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} inv\u00E1lido`;\n }\n case \"not_multiple_of\":\n return `N\u00FAmero inv\u00E1lido: deve ser m\u00FAltiplo de ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Chave${issue.keys.length > 1 ? \"s\" : \"\"} desconhecida${issue.keys.length > 1 ? \"s\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Chave inv\u00E1lida em ${issue.origin}`;\n case \"invalid_union\":\n return \"Entrada inv\u00E1lida\";\n case \"invalid_element\":\n return `Valor inv\u00E1lido em ${issue.origin}`;\n default:\n return `Campo inv\u00E1lido`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nfunction getRussianPlural(count, one, few, many) {\n const absCount = Math.abs(count);\n const lastDigit = absCount % 10;\n const lastTwoDigits = absCount % 100;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {\n return many;\n }\n if (lastDigit === 1) {\n return one;\n }\n if (lastDigit >= 2 && lastDigit <= 4) {\n return few;\n }\n return many;\n}\nconst error = () => {\n const Sizable = {\n string: {\n unit: {\n one: \"\u0441\u0438\u043C\u0432\u043E\u043B\",\n few: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0430\",\n many: \"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n file: {\n unit: {\n one: \"\u0431\u0430\u0439\u0442\",\n few: \"\u0431\u0430\u0439\u0442\u0430\",\n many: \"\u0431\u0430\u0439\u0442\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n array: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n set: {\n unit: {\n one: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\",\n few: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\",\n many: \"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432\",\n },\n verb: \"\u0438\u043C\u0435\u0442\u044C\",\n },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0432\u043E\u0434\",\n email: \"email \u0430\u0434\u0440\u0435\u0441\",\n url: \"URL\",\n emoji: \"\u044D\u043C\u043E\u0434\u0437\u0438\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F\",\n date: \"ISO \u0434\u0430\u0442\u0430\",\n time: \"ISO \u0432\u0440\u0435\u043C\u044F\",\n duration: \"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C\",\n ipv4: \"IPv4 \u0430\u0434\u0440\u0435\u0441\",\n ipv6: \"IPv6 \u0430\u0434\u0440\u0435\u0441\",\n cidrv4: \"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n cidrv6: \"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D\",\n base64: \"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64\",\n base64url: \"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url\",\n json_string: \"JSON \u0441\u0442\u0440\u043E\u043A\u0430\",\n e164: \"\u043D\u043E\u043C\u0435\u0440 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0432\u043E\u0434\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${issue.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`;\n }\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const maxValue = Number(issue.maximum);\n const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue.maximum.toString()} ${unit}`;\n }\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\"} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n const minValue = Number(issue.minimum);\n const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue.minimum.toString()} ${unit}`;\n }\n return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue.origin} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${issue.keys.length > 1 ? \"\u044B\u0435\" : \"\u044B\u0439\"} \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u0438\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\";\n case \"invalid_element\":\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${issue.origin}`;\n default:\n return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"znakov\", verb: \"imeti\" },\n file: { unit: \"bajtov\", verb: \"imeti\" },\n array: { unit: \"elementov\", verb: \"imeti\" },\n set: { unit: \"elementov\", verb: \"imeti\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"vnos\",\n email: \"e-po\u0161tni naslov\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO datum in \u010Das\",\n date: \"ISO datum\",\n time: \"ISO \u010Das\",\n duration: \"ISO trajanje\",\n ipv4: \"IPv4 naslov\",\n ipv6: \"IPv6 naslov\",\n cidrv4: \"obseg IPv4\",\n cidrv6: \"obseg IPv6\",\n base64: \"base64 kodiran niz\",\n base64url: \"base64url kodiran niz\",\n json_string: \"JSON niz\",\n e164: \"E.164 \u0161tevilka\",\n jwt: \"JWT\",\n template_literal: \"vnos\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0161tevilo\",\n array: \"tabela\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Neveljaven vnos: pri\u010Dakovano instanceof ${issue.expected}, prejeto ${received}`;\n }\n return `Neveljaven vnos: pri\u010Dakovano ${expected}, prejeto ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Neveljaven vnos: pri\u010Dakovano ${util.stringifyPrimitive(issue.values[0])}`;\n return `Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Preveliko: pri\u010Dakovano, da bo ${issue.origin ?? \"vrednost\"} imelo ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"elementov\"}`;\n return `Preveliko: pri\u010Dakovano, da bo ${issue.origin ?? \"vrednost\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Premajhno: pri\u010Dakovano, da bo ${issue.origin} imelo ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Premajhno: pri\u010Dakovano, da bo ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Neveljaven niz: mora se za\u010Deti z \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Neveljaven niz: mora se kon\u010Dati z \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Neveljaven niz: mora vsebovati \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;\n return `Neveljaven ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Neprepoznan${issue.keys.length > 1 ? \"i klju\u010Di\" : \" klju\u010D\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Neveljaven klju\u010D v ${issue.origin}`;\n case \"invalid_union\":\n return \"Neveljaven vnos\";\n case \"invalid_element\":\n return `Neveljavna vrednost v ${issue.origin}`;\n default:\n return \"Neveljaven vnos\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"tecken\", verb: \"att ha\" },\n file: { unit: \"bytes\", verb: \"att ha\" },\n array: { unit: \"objekt\", verb: \"att inneh\u00E5lla\" },\n set: { unit: \"objekt\", verb: \"att inneh\u00E5lla\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"regulj\u00E4rt uttryck\",\n email: \"e-postadress\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO-datum och tid\",\n date: \"ISO-datum\",\n time: \"ISO-tid\",\n duration: \"ISO-varaktighet\",\n ipv4: \"IPv4-intervall\",\n ipv6: \"IPv6-intervall\",\n cidrv4: \"IPv4-spektrum\",\n cidrv6: \"IPv6-spektrum\",\n base64: \"base64-kodad str\u00E4ng\",\n base64url: \"base64url-kodad str\u00E4ng\",\n json_string: \"JSON-str\u00E4ng\",\n e164: \"E.164-nummer\",\n jwt: \"JWT\",\n template_literal: \"mall-literal\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"antal\",\n array: \"lista\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat instanceof ${issue.expected}, fick ${received}`;\n }\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat ${expected}, fick ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ogiltig inmatning: f\u00F6rv\u00E4ntat ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ogiltigt val: f\u00F6rv\u00E4ntade en av ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `F\u00F6r stor(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"element\"}`;\n }\n return `F\u00F6r stor(t): f\u00F6rv\u00E4ntat ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `F\u00F6r lite(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `F\u00F6r lite(t): f\u00F6rv\u00E4ntade ${issue.origin ?? \"v\u00E4rdet\"} att ha ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `Ogiltig str\u00E4ng: m\u00E5ste b\u00F6rja med \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `Ogiltig str\u00E4ng: m\u00E5ste sluta med \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Ogiltig str\u00E4ng: m\u00E5ste inneh\u00E5lla \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Ogiltig str\u00E4ng: m\u00E5ste matcha m\u00F6nstret \"${_issue.pattern}\"`;\n return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ogiltigt tal: m\u00E5ste vara en multipel av ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `${issue.keys.length > 1 ? \"Ok\u00E4nda nycklar\" : \"Ok\u00E4nd nyckel\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Ogiltig nyckel i ${issue.origin ?? \"v\u00E4rdet\"}`;\n case \"invalid_union\":\n return \"Ogiltig input\";\n case \"invalid_element\":\n return `Ogiltigt v\u00E4rde i ${issue.origin ?? \"v\u00E4rdet\"}`;\n default:\n return `Ogiltig input`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n file: { unit: \"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n array: { unit: \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n set: { unit: \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\", verb: \"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1\",\n email: \"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD\",\n date: \"ISO \u0BA4\u0BC7\u0BA4\u0BBF\",\n time: \"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD\",\n duration: \"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1\",\n ipv4: \"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n ipv6: \"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF\",\n cidrv4: \"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1\",\n cidrv6: \"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1\",\n base64: \"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD\",\n base64url: \"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD\",\n json_string: \"JSON \u0B9A\u0BB0\u0BAE\u0BCD\",\n e164: \"E.164 \u0B8E\u0BA3\u0BCD\",\n jwt: \"JWT\",\n template_literal: \"input\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0B8E\u0BA3\u0BCD\",\n array: \"\u0B85\u0BA3\u0BBF\",\n null: \"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${issue.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`;\n }\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${util.joinValues(issue.values, \"|\")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin ?? \"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD\"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin ?? \"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1\"} ${adj}${issue.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; //\n }\n return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue.origin} ${adj}${issue.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.prefix}\" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"ends_with\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.suffix}\" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"includes\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: \"${_issue.includes}\" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n if (_issue.format === \"regex\")\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${_issue.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${issue.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;\n case \"unrecognized_keys\":\n return `\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${issue.keys.length > 1 ? \"\u0B95\u0BB3\u0BCD\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;\n case \"invalid_union\":\n return \"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1\";\n case \"invalid_element\":\n return `${issue.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;\n default:\n return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n file: { unit: \"\u0E44\u0E1A\u0E15\u0E4C\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n array: { unit: \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n set: { unit: \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\", verb: \"\u0E04\u0E27\u0E23\u0E21\u0E35\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19\",\n email: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25\",\n url: \"URL\",\n emoji: \"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n date: \"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO\",\n time: \"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n duration: \"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO\",\n ipv4: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4\",\n ipv6: \"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6\",\n cidrv4: \"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4\",\n cidrv6: \"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6\",\n base64: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64\",\n base64url: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL\",\n json_string: \"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON\",\n e164: \"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)\",\n jwt: \"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT\",\n template_literal: \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\",\n array: \"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)\",\n null: \"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${issue.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`;\n }\n return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19\" : \"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin ?? \"\u0E04\u0E48\u0E32\"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.maximum.toString()} ${sizing.unit ?? \"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\"}`;\n return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin ?? \"\u0E04\u0E48\u0E32\"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22\" : \"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 \"${_issue.prefix}\"`;\n }\n if (_issue.format === \"ends_with\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 \"${_issue.includes}\" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;\n if (_issue.format === \"regex\")\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${_issue.pattern}`;\n return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${issue.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;\n case \"unrecognized_keys\":\n return `\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49\";\n case \"invalid_element\":\n return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue.origin}`;\n default:\n return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"karakter\", verb: \"olmal\u0131\" },\n file: { unit: \"bayt\", verb: \"olmal\u0131\" },\n array: { unit: \"\u00F6\u011Fe\", verb: \"olmal\u0131\" },\n set: { unit: \"\u00F6\u011Fe\", verb: \"olmal\u0131\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"girdi\",\n email: \"e-posta adresi\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO tarih ve saat\",\n date: \"ISO tarih\",\n time: \"ISO saat\",\n duration: \"ISO s\u00FCre\",\n ipv4: \"IPv4 adresi\",\n ipv6: \"IPv6 adresi\",\n cidrv4: \"IPv4 aral\u0131\u011F\u0131\",\n cidrv6: \"IPv6 aral\u0131\u011F\u0131\",\n base64: \"base64 ile \u015Fifrelenmi\u015F metin\",\n base64url: \"base64url ile \u015Fifrelenmi\u015F metin\",\n json_string: \"JSON dizesi\",\n e164: \"E.164 say\u0131s\u0131\",\n jwt: \"JWT\",\n template_literal: \"\u015Eablon dizesi\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Ge\u00E7ersiz de\u011Fer: beklenen instanceof ${issue.expected}, al\u0131nan ${received}`;\n }\n return `Ge\u00E7ersiz de\u011Fer: beklenen ${expected}, al\u0131nan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Ge\u00E7ersiz de\u011Fer: beklenen ${util.stringifyPrimitive(issue.values[0])}`;\n return `Ge\u00E7ersiz se\u00E7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ok b\u00FCy\u00FCk: beklenen ${issue.origin ?? \"de\u011Fer\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u00F6\u011Fe\"}`;\n return `\u00C7ok b\u00FCy\u00FCk: beklenen ${issue.origin ?? \"de\u011Fer\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u00C7ok k\u00FC\u00E7\u00FCk: beklenen ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n return `\u00C7ok k\u00FC\u00E7\u00FCk: beklenen ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Ge\u00E7ersiz metin: \"${_issue.prefix}\" ile ba\u015Flamal\u0131`;\n if (_issue.format === \"ends_with\")\n return `Ge\u00E7ersiz metin: \"${_issue.suffix}\" ile bitmeli`;\n if (_issue.format === \"includes\")\n return `Ge\u00E7ersiz metin: \"${_issue.includes}\" i\u00E7ermeli`;\n if (_issue.format === \"regex\")\n return `Ge\u00E7ersiz metin: ${_issue.pattern} desenine uymal\u0131`;\n return `Ge\u00E7ersiz ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Ge\u00E7ersiz say\u0131: ${issue.divisor} ile tam b\u00F6l\u00FCnebilmeli`;\n case \"unrecognized_keys\":\n return `Tan\u0131nmayan anahtar${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} i\u00E7inde ge\u00E7ersiz anahtar`;\n case \"invalid_union\":\n return \"Ge\u00E7ersiz de\u011Fer\";\n case \"invalid_element\":\n return `${issue.origin} i\u00E7inde ge\u00E7ersiz de\u011Fer`;\n default:\n return `Ge\u00E7ersiz de\u011Fer`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n file: { unit: \"\u0431\u0430\u0439\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n array: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n set: { unit: \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\", verb: \"\u043C\u0430\u0442\u0438\u043C\u0435\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\",\n email: \"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438\",\n url: \"URL\",\n emoji: \"\u0435\u043C\u043E\u0434\u0437\u0456\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO\",\n date: \"\u0434\u0430\u0442\u0430 ISO\",\n time: \"\u0447\u0430\u0441 ISO\",\n duration: \"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO\",\n ipv4: \"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4\",\n ipv6: \"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6\",\n cidrv4: \"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4\",\n cidrv6: \"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6\",\n base64: \"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64\",\n base64url: \"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url\",\n json_string: \"\u0440\u044F\u0434\u043E\u043A JSON\",\n e164: \"\u043D\u043E\u043C\u0435\u0440 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0447\u0438\u0441\u043B\u043E\",\n array: \"\u043C\u0430\u0441\u0438\u0432\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${issue.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`;\n }\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432\"}`;\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin ?? \"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\"} \u0431\u0443\u0434\u0435 ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue.origin} \u0431\u0443\u0434\u0435 ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${issue.keys.length > 1 ? \"\u0456\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${issue.origin}`;\n case \"invalid_union\":\n return \"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456\";\n case \"invalid_element\":\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${issue.origin}`;\n default:\n return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import uk from \"./uk.js\";\n/** @deprecated Use `uk` instead. */\nexport default function () {\n return uk();\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u062D\u0631\u0648\u0641\", verb: \"\u06C1\u0648\u0646\u0627\" },\n file: { unit: \"\u0628\u0627\u0626\u0679\u0633\", verb: \"\u06C1\u0648\u0646\u0627\" },\n array: { unit: \"\u0622\u0626\u0679\u0645\u0632\", verb: \"\u06C1\u0648\u0646\u0627\" },\n set: { unit: \"\u0622\u0626\u0679\u0645\u0632\", verb: \"\u06C1\u0648\u0646\u0627\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0627\u0646 \u067E\u0679\",\n email: \"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n url: \"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644\",\n emoji: \"\u0627\u06CC\u0645\u0648\u062C\u06CC\",\n uuid: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n uuidv4: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4\",\n uuidv6: \"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6\",\n nanoid: \"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n guid: \"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n cuid: \"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n cuid2: \"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2\",\n ulid: \"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC\",\n xid: \"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC\",\n ksuid: \"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC\",\n datetime: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645\",\n date: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E\",\n time: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A\",\n duration: \"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A\",\n ipv4: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n ipv6: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633\",\n cidrv4: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C\",\n cidrv6: \"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C\",\n base64: \"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF\",\n base64url: \"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF\",\n json_string: \"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF\",\n e164: \"\u0627\u06CC 164 \u0646\u0645\u0628\u0631\",\n jwt: \"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC\",\n template_literal: \"\u0627\u0646 \u067E\u0679\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u0646\u0645\u0628\u0631\",\n array: \"\u0622\u0631\u06D2\",\n null: \"\u0646\u0644\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${issue.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;\n }\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${util.stringifyPrimitive(issue.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n return `\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${util.joinValues(issue.values, \"|\")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue.origin ?? \"\u0648\u06CC\u0644\u06CC\u0648\"} \u06A9\u06D2 ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u0639\u0646\u0627\u0635\u0631\"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;\n return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue.origin ?? \"\u0648\u06CC\u0644\u06CC\u0648\"} \u06A9\u0627 ${adj}${issue.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue.origin} \u06A9\u06D2 ${adj}${issue.minimum.toString()} ${sizing.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;\n }\n return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue.origin} \u06A9\u0627 ${adj}${issue.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.prefix}\" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n }\n if (_issue.format === \"ends_with\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.suffix}\" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n if (_issue.format === \"includes\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \"${_issue.includes}\" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n if (_issue.format === \"regex\")\n return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${_issue.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n return `\u063A\u0644\u0637 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${issue.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;\n case \"unrecognized_keys\":\n return `\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${issue.keys.length > 1 ? \"\u0632\" : \"\"}: ${util.joinValues(issue.keys, \"\u060C \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;\n case \"invalid_union\":\n return \"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679\";\n case \"invalid_element\":\n return `${issue.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;\n default:\n return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"belgi\", verb: \"bo\u2018lishi kerak\" },\n file: { unit: \"bayt\", verb: \"bo\u2018lishi kerak\" },\n array: { unit: \"element\", verb: \"bo\u2018lishi kerak\" },\n set: { unit: \"element\", verb: \"bo\u2018lishi kerak\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"kirish\",\n email: \"elektron pochta manzili\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO sana va vaqti\",\n date: \"ISO sana\",\n time: \"ISO vaqt\",\n duration: \"ISO davomiylik\",\n ipv4: \"IPv4 manzil\",\n ipv6: \"IPv6 manzil\",\n mac: \"MAC manzil\",\n cidrv4: \"IPv4 diapazon\",\n cidrv6: \"IPv6 diapazon\",\n base64: \"base64 kodlangan satr\",\n base64url: \"base64url kodlangan satr\",\n json_string: \"JSON satr\",\n e164: \"E.164 raqam\",\n jwt: \"JWT\",\n template_literal: \"kirish\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"raqam\",\n array: \"massiv\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `Noto\u2018g\u2018ri kirish: kutilgan instanceof ${issue.expected}, qabul qilingan ${received}`;\n }\n return `Noto\u2018g\u2018ri kirish: kutilgan ${expected}, qabul qilingan ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `Noto\u2018g\u2018ri kirish: kutilgan ${util.stringifyPrimitive(issue.values[0])}`;\n return `Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Juda katta: kutilgan ${issue.origin ?? \"qiymat\"} ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;\n return `Juda katta: kutilgan ${issue.origin ?? \"qiymat\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;\n }\n return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.prefix}\" bilan boshlanishi kerak`;\n if (_issue.format === \"ends_with\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.suffix}\" bilan tugashi kerak`;\n if (_issue.format === \"includes\")\n return `Noto\u2018g\u2018ri satr: \"${_issue.includes}\" ni o\u2018z ichiga olishi kerak`;\n if (_issue.format === \"regex\")\n return `Noto\u2018g\u2018ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;\n return `Noto\u2018g\u2018ri ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `Noto\u2018g\u2018ri raqam: ${issue.divisor} ning karralisi bo\u2018lishi kerak`;\n case \"unrecognized_keys\":\n return `Noma\u2019lum kalit${issue.keys.length > 1 ? \"lar\" : \"\"}: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} dagi kalit noto\u2018g\u2018ri`;\n case \"invalid_union\":\n return \"Noto\u2018g\u2018ri kirish\";\n case \"invalid_element\":\n return `${issue.origin} da noto\u2018g\u2018ri qiymat`;\n default:\n return `Noto\u2018g\u2018ri kirish`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"k\u00FD t\u1EF1\", verb: \"c\u00F3\" },\n file: { unit: \"byte\", verb: \"c\u00F3\" },\n array: { unit: \"ph\u1EA7n t\u1EED\", verb: \"c\u00F3\" },\n set: { unit: \"ph\u1EA7n t\u1EED\", verb: \"c\u00F3\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u0111\u1EA7u v\u00E0o\",\n email: \"\u0111\u1ECBa ch\u1EC9 email\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ng\u00E0y gi\u1EDD ISO\",\n date: \"ng\u00E0y ISO\",\n time: \"gi\u1EDD ISO\",\n duration: \"kho\u1EA3ng th\u1EDDi gian ISO\",\n ipv4: \"\u0111\u1ECBa ch\u1EC9 IPv4\",\n ipv6: \"\u0111\u1ECBa ch\u1EC9 IPv6\",\n cidrv4: \"d\u1EA3i IPv4\",\n cidrv6: \"d\u1EA3i IPv6\",\n base64: \"chu\u1ED7i m\u00E3 h\u00F3a base64\",\n base64url: \"chu\u1ED7i m\u00E3 h\u00F3a base64url\",\n json_string: \"chu\u1ED7i JSON\",\n e164: \"s\u1ED1 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u0111\u1EA7u v\u00E0o\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"s\u1ED1\",\n array: \"m\u1EA3ng\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${issue.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`;\n }\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${util.stringifyPrimitive(issue.values[0])}`;\n return `T\u00F9y ch\u1ECDn kh\u00F4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\u00E1c gi\u00E1 tr\u1ECB ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `Qu\u00E1 l\u1EDBn: mong \u0111\u1EE3i ${issue.origin ?? \"gi\u00E1 tr\u1ECB\"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"ph\u1EA7n t\u1EED\"}`;\n return `Qu\u00E1 l\u1EDBn: mong \u0111\u1EE3i ${issue.origin ?? \"gi\u00E1 tr\u1ECB\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `Qu\u00E1 nh\u1ECF: mong \u0111\u1EE3i ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `Qu\u00E1 nh\u1ECF: mong \u0111\u1EE3i ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\u00FAc b\u1EB1ng \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `Chu\u1ED7i kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${_issue.pattern}`;\n return `${FormatDictionary[_issue.format] ?? issue.format} kh\u00F4ng h\u1EE3p l\u1EC7`;\n }\n case \"not_multiple_of\":\n return `S\u1ED1 kh\u00F4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\u00E0 b\u1ED9i s\u1ED1 c\u1EE7a ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `Kh\u00F3a kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `Kh\u00F3a kh\u00F4ng h\u1EE3p l\u1EC7 trong ${issue.origin}`;\n case \"invalid_union\":\n return \"\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7\";\n case \"invalid_element\":\n return `Gi\u00E1 tr\u1ECB kh\u00F4ng h\u1EE3p l\u1EC7 trong ${issue.origin}`;\n default:\n return `\u0110\u1EA7u v\u00E0o kh\u00F4ng h\u1EE3p l\u1EC7`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u5B57\u7B26\", verb: \"\u5305\u542B\" },\n file: { unit: \"\u5B57\u8282\", verb: \"\u5305\u542B\" },\n array: { unit: \"\u9879\", verb: \"\u5305\u542B\" },\n set: { unit: \"\u9879\", verb: \"\u5305\u542B\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u8F93\u5165\",\n email: \"\u7535\u5B50\u90AE\u4EF6\",\n url: \"URL\",\n emoji: \"\u8868\u60C5\u7B26\u53F7\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO\u65E5\u671F\u65F6\u95F4\",\n date: \"ISO\u65E5\u671F\",\n time: \"ISO\u65F6\u95F4\",\n duration: \"ISO\u65F6\u957F\",\n ipv4: \"IPv4\u5730\u5740\",\n ipv6: \"IPv6\u5730\u5740\",\n cidrv4: \"IPv4\u7F51\u6BB5\",\n cidrv6: \"IPv6\u7F51\u6BB5\",\n base64: \"base64\u7F16\u7801\u5B57\u7B26\u4E32\",\n base64url: \"base64url\u7F16\u7801\u5B57\u7B26\u4E32\",\n json_string: \"JSON\u5B57\u7B26\u4E32\",\n e164: \"E.164\u53F7\u7801\",\n jwt: \"JWT\",\n template_literal: \"\u8F93\u5165\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"\u6570\u5B57\",\n array: \"\u6570\u7EC4\",\n null: \"\u7A7A\u503C(null)\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${issue.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`;\n }\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue.origin ?? \"\u503C\"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u4E2A\u5143\u7D20\"}`;\n return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue.origin ?? \"\u503C\"} ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue.origin} ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 \"${_issue.prefix}\" \u5F00\u5934`;\n if (_issue.format === \"ends_with\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 \"${_issue.suffix}\" \u7ED3\u5C3E`;\n if (_issue.format === \"includes\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${_issue.pattern}`;\n return `\u65E0\u6548${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${issue.divisor} \u7684\u500D\u6570`;\n case \"unrecognized_keys\":\n return `\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `${issue.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;\n case \"invalid_union\":\n return \"\u65E0\u6548\u8F93\u5165\";\n case \"invalid_element\":\n return `${issue.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;\n default:\n return `\u65E0\u6548\u8F93\u5165`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u5B57\u5143\", verb: \"\u64C1\u6709\" },\n file: { unit: \"\u4F4D\u5143\u7D44\", verb: \"\u64C1\u6709\" },\n array: { unit: \"\u9805\u76EE\", verb: \"\u64C1\u6709\" },\n set: { unit: \"\u9805\u76EE\", verb: \"\u64C1\u6709\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u8F38\u5165\",\n email: \"\u90F5\u4EF6\u5730\u5740\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"ISO \u65E5\u671F\u6642\u9593\",\n date: \"ISO \u65E5\u671F\",\n time: \"ISO \u6642\u9593\",\n duration: \"ISO \u671F\u9593\",\n ipv4: \"IPv4 \u4F4D\u5740\",\n ipv6: \"IPv6 \u4F4D\u5740\",\n cidrv4: \"IPv4 \u7BC4\u570D\",\n cidrv6: \"IPv6 \u7BC4\u570D\",\n base64: \"base64 \u7DE8\u78BC\u5B57\u4E32\",\n base64url: \"base64url \u7DE8\u78BC\u5B57\u4E32\",\n json_string: \"JSON \u5B57\u4E32\",\n e164: \"E.164 \u6578\u503C\",\n jwt: \"JWT\",\n template_literal: \"\u8F38\u5165\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${issue.expected}\uFF0C\u4F46\u6536\u5230 ${received}`;\n }\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${expected}\uFF0C\u4F46\u6536\u5230 ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue.origin ?? \"\u503C\"} \u61C9\u70BA ${adj}${issue.maximum.toString()} ${sizing.unit ?? \"\u500B\u5143\u7D20\"}`;\n return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue.origin ?? \"\u503C\"} \u61C9\u70BA ${adj}${issue.maximum.toString()}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing) {\n return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue.origin} \u61C9\u70BA ${adj}${issue.minimum.toString()} ${sizing.unit}`;\n }\n return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue.origin} \u61C9\u70BA ${adj}${issue.minimum.toString()}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\") {\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 \"${_issue.prefix}\" \u958B\u982D`;\n }\n if (_issue.format === \"ends_with\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 \"${_issue.suffix}\" \u7D50\u5C3E`;\n if (_issue.format === \"includes\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${_issue.pattern}`;\n return `\u7121\u6548\u7684 ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${issue.divisor} \u7684\u500D\u6578`;\n case \"unrecognized_keys\":\n return `\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${issue.keys.length > 1 ? \"\u5011\" : \"\"}\uFF1A${util.joinValues(issue.keys, \"\u3001\")}`;\n case \"invalid_key\":\n return `${issue.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;\n case \"invalid_union\":\n return \"\u7121\u6548\u7684\u8F38\u5165\u503C\";\n case \"invalid_element\":\n return `${issue.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;\n default:\n return `\u7121\u6548\u7684\u8F38\u5165\u503C`;\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "import * as util from \"../core/util.js\";\nconst error = () => {\n const Sizable = {\n string: { unit: \"\u00E0mi\", verb: \"n\u00ED\" },\n file: { unit: \"bytes\", verb: \"n\u00ED\" },\n array: { unit: \"nkan\", verb: \"n\u00ED\" },\n set: { unit: \"nkan\", verb: \"n\u00ED\" },\n };\n function getSizing(origin) {\n return Sizable[origin] ?? null;\n }\n const FormatDictionary = {\n regex: \"\u1EB9\u0300r\u1ECD \u00ECb\u00E1w\u1ECDl\u00E9\",\n email: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC \u00ECm\u1EB9\u0301l\u00EC\",\n url: \"URL\",\n emoji: \"emoji\",\n uuid: \"UUID\",\n uuidv4: \"UUIDv4\",\n uuidv6: \"UUIDv6\",\n nanoid: \"nanoid\",\n guid: \"GUID\",\n cuid: \"cuid\",\n cuid2: \"cuid2\",\n ulid: \"ULID\",\n xid: \"XID\",\n ksuid: \"KSUID\",\n datetime: \"\u00E0k\u00F3k\u00F2 ISO\",\n date: \"\u1ECDj\u1ECD\u0301 ISO\",\n time: \"\u00E0k\u00F3k\u00F2 ISO\",\n duration: \"\u00E0k\u00F3k\u00F2 t\u00F3 p\u00E9 ISO\",\n ipv4: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC IPv4\",\n ipv6: \"\u00E0d\u00EDr\u1EB9\u0301s\u00EC IPv6\",\n cidrv4: \"\u00E0gb\u00E8gb\u00E8 IPv4\",\n cidrv6: \"\u00E0gb\u00E8gb\u00E8 IPv6\",\n base64: \"\u1ECD\u0300r\u1ECD\u0300 t\u00ED a k\u1ECD\u0301 n\u00ED base64\",\n base64url: \"\u1ECD\u0300r\u1ECD\u0300 base64url\",\n json_string: \"\u1ECD\u0300r\u1ECD\u0300 JSON\",\n e164: \"n\u1ECD\u0301mb\u00E0 E.164\",\n jwt: \"JWT\",\n template_literal: \"\u1EB9\u0300r\u1ECD \u00ECb\u00E1w\u1ECDl\u00E9\",\n };\n const TypeDictionary = {\n nan: \"NaN\",\n number: \"n\u1ECD\u0301mb\u00E0\",\n array: \"akop\u1ECD\",\n };\n return (issue) => {\n switch (issue.code) {\n case \"invalid_type\": {\n const expected = TypeDictionary[issue.expected] ?? issue.expected;\n const receivedType = util.parsedType(issue.input);\n const received = TypeDictionary[receivedType] ?? receivedType;\n if (/^[A-Z]/.test(issue.expected)) {\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi instanceof ${issue.expected}, \u00E0m\u1ECD\u0300 a r\u00ED ${received}`;\n }\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi ${expected}, \u00E0m\u1ECD\u0300 a r\u00ED ${received}`;\n }\n case \"invalid_value\":\n if (issue.values.length === 1)\n return `\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e: a n\u00ED l\u00E1ti fi ${util.stringifyPrimitive(issue.values[0])}`;\n return `\u00C0\u1E63\u00E0y\u00E0n a\u1E63\u00EC\u1E63e: yan \u1ECD\u0300kan l\u00E1ra ${util.joinValues(issue.values, \"|\")}`;\n case \"too_big\": {\n const adj = issue.inclusive ? \"<=\" : \"<\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `T\u00F3 p\u1ECD\u0300 j\u00F9: a n\u00ED l\u00E1ti j\u1EB9\u0301 p\u00E9 ${issue.origin ?? \"iye\"} ${sizing.verb} ${adj}${issue.maximum} ${sizing.unit}`;\n return `T\u00F3 p\u1ECD\u0300 j\u00F9: a n\u00ED l\u00E1ti j\u1EB9\u0301 ${adj}${issue.maximum}`;\n }\n case \"too_small\": {\n const adj = issue.inclusive ? \">=\" : \">\";\n const sizing = getSizing(issue.origin);\n if (sizing)\n return `K\u00E9r\u00E9 ju: a n\u00ED l\u00E1ti j\u1EB9\u0301 p\u00E9 ${issue.origin} ${sizing.verb} ${adj}${issue.minimum} ${sizing.unit}`;\n return `K\u00E9r\u00E9 ju: a n\u00ED l\u00E1ti j\u1EB9\u0301 ${adj}${issue.minimum}`;\n }\n case \"invalid_format\": {\n const _issue = issue;\n if (_issue.format === \"starts_with\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\u00FA \"${_issue.prefix}\"`;\n if (_issue.format === \"ends_with\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\u00ED p\u1EB9\u0300l\u00FA \"${_issue.suffix}\"`;\n if (_issue.format === \"includes\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\u00ED \"${_issue.includes}\"`;\n if (_issue.format === \"regex\")\n return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u00E1 \u00E0p\u1EB9\u1EB9r\u1EB9 mu ${_issue.pattern}`;\n return `A\u1E63\u00EC\u1E63e: ${FormatDictionary[_issue.format] ?? issue.format}`;\n }\n case \"not_multiple_of\":\n return `N\u1ECD\u0301mb\u00E0 a\u1E63\u00EC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \u00E8y\u00E0 p\u00EDp\u00EDn ti ${issue.divisor}`;\n case \"unrecognized_keys\":\n return `B\u1ECDt\u00ECn\u00EC \u00E0\u00ECm\u1ECD\u0300: ${util.joinValues(issue.keys, \", \")}`;\n case \"invalid_key\":\n return `B\u1ECDt\u00ECn\u00EC a\u1E63\u00EC\u1E63e n\u00EDn\u00FA ${issue.origin}`;\n case \"invalid_union\":\n return \"\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e\";\n case \"invalid_element\":\n return `Iye a\u1E63\u00EC\u1E63e n\u00EDn\u00FA ${issue.origin}`;\n default:\n return \"\u00CCb\u00E1w\u1ECDl\u00E9 a\u1E63\u00EC\u1E63e\";\n }\n };\n};\nexport default function () {\n return {\n localeError: error(),\n };\n}\n", "export { default as ar } from \"./ar.js\";\nexport { default as az } from \"./az.js\";\nexport { default as be } from \"./be.js\";\nexport { default as bg } from \"./bg.js\";\nexport { default as ca } from \"./ca.js\";\nexport { default as cs } from \"./cs.js\";\nexport { default as da } from \"./da.js\";\nexport { default as de } from \"./de.js\";\nexport { default as en } from \"./en.js\";\nexport { default as eo } from \"./eo.js\";\nexport { default as es } from \"./es.js\";\nexport { default as fa } from \"./fa.js\";\nexport { default as fi } from \"./fi.js\";\nexport { default as fr } from \"./fr.js\";\nexport { default as frCA } from \"./fr-CA.js\";\nexport { default as he } from \"./he.js\";\nexport { default as hu } from \"./hu.js\";\nexport { default as hy } from \"./hy.js\";\nexport { default as id } from \"./id.js\";\nexport { default as is } from \"./is.js\";\nexport { default as it } from \"./it.js\";\nexport { default as ja } from \"./ja.js\";\nexport { default as ka } from \"./ka.js\";\nexport { default as kh } from \"./kh.js\";\nexport { default as km } from \"./km.js\";\nexport { default as ko } from \"./ko.js\";\nexport { default as lt } from \"./lt.js\";\nexport { default as mk } from \"./mk.js\";\nexport { default as ms } from \"./ms.js\";\nexport { default as nl } from \"./nl.js\";\nexport { default as no } from \"./no.js\";\nexport { default as ota } from \"./ota.js\";\nexport { default as ps } from \"./ps.js\";\nexport { default as pl } from \"./pl.js\";\nexport { default as pt } from \"./pt.js\";\nexport { default as ru } from \"./ru.js\";\nexport { default as sl } from \"./sl.js\";\nexport { default as sv } from \"./sv.js\";\nexport { default as ta } from \"./ta.js\";\nexport { default as th } from \"./th.js\";\nexport { default as tr } from \"./tr.js\";\nexport { default as ua } from \"./ua.js\";\nexport { default as uk } from \"./uk.js\";\nexport { default as ur } from \"./ur.js\";\nexport { default as uz } from \"./uz.js\";\nexport { default as vi } from \"./vi.js\";\nexport { default as zhCN } from \"./zh-CN.js\";\nexport { default as zhTW } from \"./zh-TW.js\";\nexport { default as yo } from \"./yo.js\";\n", "var _a;\nexport const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new WeakMap();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new WeakMap();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\n(_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());\nexport const globalRegistry = globalThis.__zod_globalRegistry;\n", "import * as checks from \"./checks.js\";\nimport * as registries from \"./registries.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\n// @__NO_SIDE_EFFECTS__\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mac(Class, params) {\n return new Class({\n type: \"string\",\n format: \"mac\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\n// @__NO_SIDE_EFFECTS__\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\n// @__NO_SIDE_EFFECTS__\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\n// @__NO_SIDE_EFFECTS__\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\n// @__NO_SIDE_EFFECTS__\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\n// @__NO_SIDE_EFFECTS__\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\n// @__NO_SIDE_EFFECTS__\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\n// @__NO_SIDE_EFFECTS__\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\n// @__NO_SIDE_EFFECTS__\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\n// @__NO_SIDE_EFFECTS__\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\n// @__NO_SIDE_EFFECTS__\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\n// @__NO_SIDE_EFFECTS__\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\n// slugify\n// @__NO_SIDE_EFFECTS__\nexport function _slugify() {\n return _overwrite((input) => util.slugify(input));\n}\n// @__NO_SIDE_EFFECTS__\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _xor(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\n// @__NO_SIDE_EFFECTS__\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\n// @__NO_SIDE_EFFECTS__\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\n// @__NO_SIDE_EFFECTS__\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _superRefine(fn) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n });\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function describe(description) {\n const ch = new checks.$ZodCheck({ check: \"describe\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, description });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function meta(metadata) {\n const ch = new checks.$ZodCheck({ check: \"meta\" });\n ch._zod.onattach = [\n (inst) => {\n const existing = registries.globalRegistry.get(inst) ?? {};\n registries.globalRegistry.add(inst, { ...existing, ...metadata });\n },\n ];\n ch._zod.check = () => { }; // no-op check\n return ch;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Codec = Classes.Codec ?? schemas.$ZodCodec;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const stringSchema = new _String({ type: \"string\", error: params.error });\n const booleanSchema = new _Boolean({ type: \"boolean\", error: params.error });\n const codec = new _Codec({\n type: \"pipe\",\n in: stringSchema,\n out: booleanSchema,\n transform: ((input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: codec,\n continue: false,\n });\n return {};\n }\n }),\n reverseTransform: ((input, _payload) => {\n if (input === true) {\n return truthyArray[0] || \"true\";\n }\n else {\n return falsyArray[0] || \"false\";\n }\n }),\n error: params.error,\n });\n return codec;\n}\n// @__NO_SIDE_EFFECTS__\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n", "import { globalRegistry } from \"./registries.js\";\n// function initializeContext(inputs: JSONSchemaGeneratorParams): ToJSONSchemaContext {\n// return {\n// processor: inputs.processor,\n// metadataRegistry: inputs.metadata ?? globalRegistry,\n// target: inputs.target ?? \"draft-2020-12\",\n// unrepresentable: inputs.unrepresentable ?? \"throw\",\n// };\n// }\nexport function initializeContext(params) {\n // Normalize target: convert old non-hyphenated versions to hyphenated versions\n let target = params?.target ?? \"draft-2020-12\";\n if (target === \"draft-4\")\n target = \"draft-04\";\n if (target === \"draft-7\")\n target = \"draft-07\";\n return {\n processors: params.processors ?? {},\n metadataRegistry: params?.metadata ?? globalRegistry,\n target,\n unrepresentable: params?.unrepresentable ?? \"throw\",\n override: params?.override ?? (() => { }),\n io: params?.io ?? \"output\",\n counter: 0,\n seen: new Map(),\n cycles: params?.cycles ?? \"ref\",\n reused: params?.reused ?? \"inline\",\n external: params?.external ?? undefined,\n };\n}\nexport function process(schema, ctx, _params = { path: [], schemaPath: [] }) {\n var _a;\n const def = schema._zod.def;\n // check for schema in seens\n const seen = ctx.seen.get(schema);\n if (seen) {\n seen.count++;\n // check if cycle\n const isCycle = _params.schemaPath.includes(schema);\n if (isCycle) {\n seen.cycle = _params.path;\n }\n return seen.schema;\n }\n // initialize\n const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };\n ctx.seen.set(schema, result);\n // custom method overrides default behavior\n const overrideSchema = schema._zod.toJSONSchema?.();\n if (overrideSchema) {\n result.schema = overrideSchema;\n }\n else {\n const params = {\n ..._params,\n schemaPath: [..._params.schemaPath, schema],\n path: _params.path,\n };\n if (schema._zod.processJSONSchema) {\n schema._zod.processJSONSchema(ctx, result.schema, params);\n }\n else {\n const _json = result.schema;\n const processor = ctx.processors[def.type];\n if (!processor) {\n throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);\n }\n processor(schema, ctx, _json, params);\n }\n const parent = schema._zod.parent;\n if (parent) {\n // Also set ref if processor didn't (for inheritance)\n if (!result.ref)\n result.ref = parent;\n process(parent, ctx, params);\n ctx.seen.get(parent).isParent = true;\n }\n }\n // metadata\n const meta = ctx.metadataRegistry.get(schema);\n if (meta)\n Object.assign(result.schema, meta);\n if (ctx.io === \"input\" && isTransforming(schema)) {\n // examples/defaults only apply to output type of pipe\n delete result.schema.examples;\n delete result.schema.default;\n }\n // set prefault as default\n if (ctx.io === \"input\" && result.schema._prefault)\n (_a = result.schema).default ?? (_a.default = result.schema._prefault);\n delete result.schema._prefault;\n // pulling fresh from ctx.seen in case it was overwritten\n const _result = ctx.seen.get(schema);\n return _result.schema;\n}\nexport function extractDefs(ctx, schema\n// params: EmitParams\n) {\n // iterate over seen map;\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // Track ids to detect duplicates across different schemas\n const idToSchema = new Map();\n for (const entry of ctx.seen.entries()) {\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n const existing = idToSchema.get(id);\n if (existing && existing !== entry[0]) {\n throw new Error(`Duplicate schema id \"${id}\" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);\n }\n idToSchema.set(id, entry[0]);\n }\n }\n // returns a ref to the schema\n // defId will be empty if the ref points to an external schema (or #)\n const makeURI = (entry) => {\n // comparing the seen objects because sometimes\n // multiple schemas map to the same seen object.\n // e.g. lazy\n // external is configured\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (ctx.external) {\n const externalId = ctx.external.registry.get(entry[0])?.id; // ?? \"__shared\";// `__schema${ctx.counter++}`;\n // check if schema is in the external registry\n const uriGenerator = ctx.external.uri ?? ((id) => id);\n if (externalId) {\n return { ref: uriGenerator(externalId) };\n }\n // otherwise, add to __shared\n const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;\n entry[1].defId = id; // set defId so it will be reused if needed\n return { defId: id, ref: `${uriGenerator(\"__shared\")}#/${defsSegment}/${id}` };\n }\n if (entry[1] === root) {\n return { ref: \"#\" };\n }\n // self-contained schema\n const uriPrefix = `#`;\n const defUriPrefix = `${uriPrefix}/${defsSegment}/`;\n const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;\n return { defId, ref: defUriPrefix + defId };\n };\n // stored cached version in `def` property\n // remove all properties, set $ref\n const extractToDef = (entry) => {\n // if the schema is already a reference, do not extract it\n if (entry[1].schema.$ref) {\n return;\n }\n const seen = entry[1];\n const { ref, defId } = makeURI(entry);\n seen.def = { ...seen.schema };\n // defId won't be set if the schema is a reference to an external schema\n // or if the schema is the root schema\n if (defId)\n seen.defId = defId;\n // wipe away all properties except $ref\n const schema = seen.schema;\n for (const key in schema) {\n delete schema[key];\n }\n schema.$ref = ref;\n };\n // throw on cycles\n // break cycles\n if (ctx.cycles === \"throw\") {\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.cycle) {\n throw new Error(\"Cycle detected: \" +\n `#/${seen.cycle?.join(\"/\")}/` +\n '\\n\\nSet the `cycles` parameter to `\"ref\"` to resolve cyclical schemas with defs.');\n }\n }\n }\n // extract schemas into $defs\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n // convert root schema to # $ref\n if (schema === entry[0]) {\n extractToDef(entry); // this has special handling for the root schema\n continue;\n }\n // extract schemas that are in the external registry\n if (ctx.external) {\n const ext = ctx.external.registry.get(entry[0])?.id;\n if (schema !== entry[0] && ext) {\n extractToDef(entry);\n continue;\n }\n }\n // extract schemas with `id` meta\n const id = ctx.metadataRegistry.get(entry[0])?.id;\n if (id) {\n extractToDef(entry);\n continue;\n }\n // break cycles\n if (seen.cycle) {\n // any\n extractToDef(entry);\n continue;\n }\n // extract reused schemas\n if (seen.count > 1) {\n if (ctx.reused === \"ref\") {\n extractToDef(entry);\n // biome-ignore lint:\n continue;\n }\n }\n }\n}\nexport function finalize(ctx, schema) {\n const root = ctx.seen.get(schema);\n if (!root)\n throw new Error(\"Unprocessed schema. This is a bug in Zod.\");\n // flatten refs - inherit properties from parent schemas\n const flattenRef = (zodSchema) => {\n const seen = ctx.seen.get(zodSchema);\n // already processed\n if (seen.ref === null)\n return;\n const schema = seen.def ?? seen.schema;\n const _cached = { ...schema };\n const ref = seen.ref;\n seen.ref = null; // prevent infinite recursion\n if (ref) {\n flattenRef(ref);\n const refSeen = ctx.seen.get(ref);\n const refSchema = refSeen.schema;\n // merge referenced schema into current\n if (refSchema.$ref && (ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\")) {\n // older drafts can't combine $ref with other properties\n schema.allOf = schema.allOf ?? [];\n schema.allOf.push(refSchema);\n }\n else {\n Object.assign(schema, refSchema);\n }\n // restore child's own properties (child wins)\n Object.assign(schema, _cached);\n const isParentRef = zodSchema._zod.parent === ref;\n // For parent chain, child is a refinement - remove parent-only properties\n if (isParentRef) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (!(key in _cached)) {\n delete schema[key];\n }\n }\n }\n // When ref was extracted to $defs, remove properties that match the definition\n if (refSchema.$ref && refSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in refSeen.def && JSON.stringify(schema[key]) === JSON.stringify(refSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n // If parent was extracted (has $ref), propagate $ref to this schema\n // This handles cases like: readonly().meta({id}).describe()\n // where processor sets ref to innerType but parent should be referenced\n const parent = zodSchema._zod.parent;\n if (parent && parent !== ref) {\n // Ensure parent is processed first so its def has inherited properties\n flattenRef(parent);\n const parentSeen = ctx.seen.get(parent);\n if (parentSeen?.schema.$ref) {\n schema.$ref = parentSeen.schema.$ref;\n // De-duplicate with parent's definition\n if (parentSeen.def) {\n for (const key in schema) {\n if (key === \"$ref\" || key === \"allOf\")\n continue;\n if (key in parentSeen.def && JSON.stringify(schema[key]) === JSON.stringify(parentSeen.def[key])) {\n delete schema[key];\n }\n }\n }\n }\n }\n // execute overrides\n ctx.override({\n zodSchema: zodSchema,\n jsonSchema: schema,\n path: seen.path ?? [],\n });\n };\n for (const entry of [...ctx.seen.entries()].reverse()) {\n flattenRef(entry[0]);\n }\n const result = {};\n if (ctx.target === \"draft-2020-12\") {\n result.$schema = \"https://json-schema.org/draft/2020-12/schema\";\n }\n else if (ctx.target === \"draft-07\") {\n result.$schema = \"http://json-schema.org/draft-07/schema#\";\n }\n else if (ctx.target === \"draft-04\") {\n result.$schema = \"http://json-schema.org/draft-04/schema#\";\n }\n else if (ctx.target === \"openapi-3.0\") {\n // OpenAPI 3.0 schema objects should not include a $schema property\n }\n else {\n // Arbitrary string values are allowed but won't have a $schema property set\n }\n if (ctx.external?.uri) {\n const id = ctx.external.registry.get(schema)?.id;\n if (!id)\n throw new Error(\"Schema is missing an `id` property\");\n result.$id = ctx.external.uri(id);\n }\n Object.assign(result, root.def ?? root.schema);\n // build defs object\n const defs = ctx.external?.defs ?? {};\n for (const entry of ctx.seen.entries()) {\n const seen = entry[1];\n if (seen.def && seen.defId) {\n defs[seen.defId] = seen.def;\n }\n }\n // set definitions in result\n if (ctx.external) {\n }\n else {\n if (Object.keys(defs).length > 0) {\n if (ctx.target === \"draft-2020-12\") {\n result.$defs = defs;\n }\n else {\n result.definitions = defs;\n }\n }\n }\n try {\n // this \"finalizes\" this schema and ensures all cycles are removed\n // each call to finalize() is functionally independent\n // though the seen map is shared\n const finalized = JSON.parse(JSON.stringify(result));\n Object.defineProperty(finalized, \"~standard\", {\n value: {\n ...schema[\"~standard\"],\n jsonSchema: {\n input: createStandardJSONSchemaMethod(schema, \"input\", ctx.processors),\n output: createStandardJSONSchemaMethod(schema, \"output\", ctx.processors),\n },\n },\n enumerable: false,\n writable: false,\n });\n return finalized;\n }\n catch (_err) {\n throw new Error(\"Error converting schema to JSON.\");\n }\n}\nfunction isTransforming(_schema, _ctx) {\n const ctx = _ctx ?? { seen: new Set() };\n if (ctx.seen.has(_schema))\n return false;\n ctx.seen.add(_schema);\n const def = _schema._zod.def;\n if (def.type === \"transform\")\n return true;\n if (def.type === \"array\")\n return isTransforming(def.element, ctx);\n if (def.type === \"set\")\n return isTransforming(def.valueType, ctx);\n if (def.type === \"lazy\")\n return isTransforming(def.getter(), ctx);\n if (def.type === \"promise\" ||\n def.type === \"optional\" ||\n def.type === \"nonoptional\" ||\n def.type === \"nullable\" ||\n def.type === \"readonly\" ||\n def.type === \"default\" ||\n def.type === \"prefault\") {\n return isTransforming(def.innerType, ctx);\n }\n if (def.type === \"intersection\") {\n return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);\n }\n if (def.type === \"record\" || def.type === \"map\") {\n return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);\n }\n if (def.type === \"pipe\") {\n return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);\n }\n if (def.type === \"object\") {\n for (const key in def.shape) {\n if (isTransforming(def.shape[key], ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"union\") {\n for (const option of def.options) {\n if (isTransforming(option, ctx))\n return true;\n }\n return false;\n }\n if (def.type === \"tuple\") {\n for (const item of def.items) {\n if (isTransforming(item, ctx))\n return true;\n }\n if (def.rest && isTransforming(def.rest, ctx))\n return true;\n return false;\n }\n return false;\n}\n/**\n * Creates a toJSONSchema method for a schema instance.\n * This encapsulates the logic of initializing context, processing, extracting defs, and finalizing.\n */\nexport const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {\n const ctx = initializeContext({ ...params, processors });\n process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\nexport const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => {\n const { libraryOptions, target } = params ?? {};\n const ctx = initializeContext({ ...(libraryOptions ?? {}), target, io, processors });\n process(schema, ctx);\n extractDefs(ctx, schema);\n return finalize(ctx, schema);\n};\n", "import { extractDefs, finalize, initializeContext, process, } from \"./to-json-schema.js\";\nimport { getEnumValues } from \"./util.js\";\nconst formatMap = {\n guid: \"uuid\",\n url: \"uri\",\n datetime: \"date-time\",\n json_string: \"json-string\",\n regex: \"\", // do not set\n};\n// ==================== SIMPLE TYPE PROCESSORS ====================\nexport const stringProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n json.type = \"string\";\n const { minimum, maximum, format, patterns, contentEncoding } = schema._zod\n .bag;\n if (typeof minimum === \"number\")\n json.minLength = minimum;\n if (typeof maximum === \"number\")\n json.maxLength = maximum;\n // custom pattern overrides format\n if (format) {\n json.format = formatMap[format] ?? format;\n if (json.format === \"\")\n delete json.format; // empty format is not valid\n // JSON Schema format: \"time\" requires a full time with offset or Z\n // z.iso.time() does not include timezone information, so format: \"time\" should never be used\n if (format === \"time\") {\n delete json.format;\n }\n }\n if (contentEncoding)\n json.contentEncoding = contentEncoding;\n if (patterns && patterns.size > 0) {\n const regexes = [...patterns];\n if (regexes.length === 1)\n json.pattern = regexes[0].source;\n else if (regexes.length > 1) {\n json.allOf = [\n ...regexes.map((regex) => ({\n ...(ctx.target === \"draft-07\" || ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\"\n ? { type: \"string\" }\n : {}),\n pattern: regex.source,\n })),\n ];\n }\n }\n};\nexport const numberProcessor = (schema, ctx, _json, _params) => {\n const json = _json;\n const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;\n if (typeof format === \"string\" && format.includes(\"int\"))\n json.type = \"integer\";\n else\n json.type = \"number\";\n if (typeof exclusiveMinimum === \"number\") {\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.minimum = exclusiveMinimum;\n json.exclusiveMinimum = true;\n }\n else {\n json.exclusiveMinimum = exclusiveMinimum;\n }\n }\n if (typeof minimum === \"number\") {\n json.minimum = minimum;\n if (typeof exclusiveMinimum === \"number\" && ctx.target !== \"draft-04\") {\n if (exclusiveMinimum >= minimum)\n delete json.minimum;\n else\n delete json.exclusiveMinimum;\n }\n }\n if (typeof exclusiveMaximum === \"number\") {\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.maximum = exclusiveMaximum;\n json.exclusiveMaximum = true;\n }\n else {\n json.exclusiveMaximum = exclusiveMaximum;\n }\n }\n if (typeof maximum === \"number\") {\n json.maximum = maximum;\n if (typeof exclusiveMaximum === \"number\" && ctx.target !== \"draft-04\") {\n if (exclusiveMaximum <= maximum)\n delete json.maximum;\n else\n delete json.exclusiveMaximum;\n }\n }\n if (typeof multipleOf === \"number\")\n json.multipleOf = multipleOf;\n};\nexport const booleanProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const bigintProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"BigInt cannot be represented in JSON Schema\");\n }\n};\nexport const symbolProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Symbols cannot be represented in JSON Schema\");\n }\n};\nexport const nullProcessor = (_schema, ctx, json, _params) => {\n if (ctx.target === \"openapi-3.0\") {\n json.type = \"string\";\n json.nullable = true;\n json.enum = [null];\n }\n else {\n json.type = \"null\";\n }\n};\nexport const undefinedProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Undefined cannot be represented in JSON Schema\");\n }\n};\nexport const voidProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Void cannot be represented in JSON Schema\");\n }\n};\nexport const neverProcessor = (_schema, _ctx, json, _params) => {\n json.not = {};\n};\nexport const anyProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const unknownProcessor = (_schema, _ctx, _json, _params) => {\n // empty schema accepts anything\n};\nexport const dateProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Date cannot be represented in JSON Schema\");\n }\n};\nexport const enumProcessor = (schema, _ctx, json, _params) => {\n const def = schema._zod.def;\n const values = getEnumValues(def.entries);\n // Number enums can have both string and number values\n if (values.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (values.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n json.enum = values;\n};\nexport const literalProcessor = (schema, ctx, json, _params) => {\n const def = schema._zod.def;\n const vals = [];\n for (const val of def.values) {\n if (val === undefined) {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Literal `undefined` cannot be represented in JSON Schema\");\n }\n else {\n // do not add to vals\n }\n }\n else if (typeof val === \"bigint\") {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"BigInt literals cannot be represented in JSON Schema\");\n }\n else {\n vals.push(Number(val));\n }\n }\n else {\n vals.push(val);\n }\n }\n if (vals.length === 0) {\n // do nothing (an undefined literal was stripped)\n }\n else if (vals.length === 1) {\n const val = vals[0];\n json.type = val === null ? \"null\" : typeof val;\n if (ctx.target === \"draft-04\" || ctx.target === \"openapi-3.0\") {\n json.enum = [val];\n }\n else {\n json.const = val;\n }\n }\n else {\n if (vals.every((v) => typeof v === \"number\"))\n json.type = \"number\";\n if (vals.every((v) => typeof v === \"string\"))\n json.type = \"string\";\n if (vals.every((v) => typeof v === \"boolean\"))\n json.type = \"boolean\";\n if (vals.every((v) => v === null))\n json.type = \"null\";\n json.enum = vals;\n }\n};\nexport const nanProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"NaN cannot be represented in JSON Schema\");\n }\n};\nexport const templateLiteralProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const pattern = schema._zod.pattern;\n if (!pattern)\n throw new Error(\"Pattern not found in template literal\");\n _json.type = \"string\";\n _json.pattern = pattern.source;\n};\nexport const fileProcessor = (schema, _ctx, json, _params) => {\n const _json = json;\n const file = {\n type: \"string\",\n format: \"binary\",\n contentEncoding: \"binary\",\n };\n const { minimum, maximum, mime } = schema._zod.bag;\n if (minimum !== undefined)\n file.minLength = minimum;\n if (maximum !== undefined)\n file.maxLength = maximum;\n if (mime) {\n if (mime.length === 1) {\n file.contentMediaType = mime[0];\n Object.assign(_json, file);\n }\n else {\n Object.assign(_json, file); // shared props at root\n _json.anyOf = mime.map((m) => ({ contentMediaType: m })); // only contentMediaType differs\n }\n }\n else {\n Object.assign(_json, file);\n }\n};\nexport const successProcessor = (_schema, _ctx, json, _params) => {\n json.type = \"boolean\";\n};\nexport const customProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Custom types cannot be represented in JSON Schema\");\n }\n};\nexport const functionProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Function types cannot be represented in JSON Schema\");\n }\n};\nexport const transformProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Transforms cannot be represented in JSON Schema\");\n }\n};\nexport const mapProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Map cannot be represented in JSON Schema\");\n }\n};\nexport const setProcessor = (_schema, ctx, _json, _params) => {\n if (ctx.unrepresentable === \"throw\") {\n throw new Error(\"Set cannot be represented in JSON Schema\");\n }\n};\n// ==================== COMPOSITE TYPE PROCESSORS ====================\nexport const arrayProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n json.type = \"array\";\n json.items = process(def.element, ctx, { ...params, path: [...params.path, \"items\"] });\n};\nexport const objectProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n json.properties = {};\n const shape = def.shape;\n for (const key in shape) {\n json.properties[key] = process(shape[key], ctx, {\n ...params,\n path: [...params.path, \"properties\", key],\n });\n }\n // required keys\n const allKeys = new Set(Object.keys(shape));\n const requiredKeys = new Set([...allKeys].filter((key) => {\n const v = def.shape[key]._zod;\n if (ctx.io === \"input\") {\n return v.optin === undefined;\n }\n else {\n return v.optout === undefined;\n }\n }));\n if (requiredKeys.size > 0) {\n json.required = Array.from(requiredKeys);\n }\n // catchall\n if (def.catchall?._zod.def.type === \"never\") {\n // strict\n json.additionalProperties = false;\n }\n else if (!def.catchall) {\n // regular\n if (ctx.io === \"output\")\n json.additionalProperties = false;\n }\n else if (def.catchall) {\n json.additionalProperties = process(def.catchall, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n};\nexport const unionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches)\n // This includes both z.xor() and discriminated unions\n const isExclusive = def.inclusive === false;\n const options = def.options.map((x, i) => process(x, ctx, {\n ...params,\n path: [...params.path, isExclusive ? \"oneOf\" : \"anyOf\", i],\n }));\n if (isExclusive) {\n json.oneOf = options;\n }\n else {\n json.anyOf = options;\n }\n};\nexport const intersectionProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const a = process(def.left, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 0],\n });\n const b = process(def.right, ctx, {\n ...params,\n path: [...params.path, \"allOf\", 1],\n });\n const isSimpleIntersection = (val) => \"allOf\" in val && Object.keys(val).length === 1;\n const allOf = [\n ...(isSimpleIntersection(a) ? a.allOf : [a]),\n ...(isSimpleIntersection(b) ? b.allOf : [b]),\n ];\n json.allOf = allOf;\n};\nexport const tupleProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"array\";\n const prefixPath = ctx.target === \"draft-2020-12\" ? \"prefixItems\" : \"items\";\n const restPath = ctx.target === \"draft-2020-12\" ? \"items\" : ctx.target === \"openapi-3.0\" ? \"items\" : \"additionalItems\";\n const prefixItems = def.items.map((x, i) => process(x, ctx, {\n ...params,\n path: [...params.path, prefixPath, i],\n }));\n const rest = def.rest\n ? process(def.rest, ctx, {\n ...params,\n path: [...params.path, restPath, ...(ctx.target === \"openapi-3.0\" ? [def.items.length] : [])],\n })\n : null;\n if (ctx.target === \"draft-2020-12\") {\n json.prefixItems = prefixItems;\n if (rest) {\n json.items = rest;\n }\n }\n else if (ctx.target === \"openapi-3.0\") {\n json.items = {\n anyOf: prefixItems,\n };\n if (rest) {\n json.items.anyOf.push(rest);\n }\n json.minItems = prefixItems.length;\n if (!rest) {\n json.maxItems = prefixItems.length;\n }\n }\n else {\n json.items = prefixItems;\n if (rest) {\n json.additionalItems = rest;\n }\n }\n // length\n const { minimum, maximum } = schema._zod.bag;\n if (typeof minimum === \"number\")\n json.minItems = minimum;\n if (typeof maximum === \"number\")\n json.maxItems = maximum;\n};\nexport const recordProcessor = (schema, ctx, _json, params) => {\n const json = _json;\n const def = schema._zod.def;\n json.type = \"object\";\n // For looseRecord with regex patterns, use patternProperties\n // This correctly represents \"only validate keys matching the pattern\" semantics\n // and composes well with allOf (intersections)\n const keyType = def.keyType;\n const keyBag = keyType._zod.bag;\n const patterns = keyBag?.patterns;\n if (def.mode === \"loose\" && patterns && patterns.size > 0) {\n // Use patternProperties for looseRecord with regex patterns\n const valueSchema = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"patternProperties\", \"*\"],\n });\n json.patternProperties = {};\n for (const pattern of patterns) {\n json.patternProperties[pattern.source] = valueSchema;\n }\n }\n else {\n // Default behavior: use propertyNames + additionalProperties\n if (ctx.target === \"draft-07\" || ctx.target === \"draft-2020-12\") {\n json.propertyNames = process(def.keyType, ctx, {\n ...params,\n path: [...params.path, \"propertyNames\"],\n });\n }\n json.additionalProperties = process(def.valueType, ctx, {\n ...params,\n path: [...params.path, \"additionalProperties\"],\n });\n }\n // Add required for keys with discrete values (enum, literal, etc.)\n const keyValues = keyType._zod.values;\n if (keyValues) {\n const validKeyValues = [...keyValues].filter((v) => typeof v === \"string\" || typeof v === \"number\");\n if (validKeyValues.length > 0) {\n json.required = validKeyValues;\n }\n }\n};\nexport const nullableProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n const inner = process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n if (ctx.target === \"openapi-3.0\") {\n seen.ref = def.innerType;\n json.nullable = true;\n }\n else {\n json.anyOf = [inner, { type: \"null\" }];\n }\n};\nexport const nonoptionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const defaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.default = JSON.parse(JSON.stringify(def.defaultValue));\n};\nexport const prefaultProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n if (ctx.io === \"input\")\n json._prefault = JSON.parse(JSON.stringify(def.defaultValue));\n};\nexport const catchProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n let catchValue;\n try {\n catchValue = def.catchValue(undefined);\n }\n catch {\n throw new Error(\"Dynamic catch values are not supported in JSON Schema\");\n }\n json.default = catchValue;\n};\nexport const pipeProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n const innerType = ctx.io === \"input\" ? (def.in._zod.def.type === \"transform\" ? def.out : def.in) : def.out;\n process(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\nexport const readonlyProcessor = (schema, ctx, json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n json.readOnly = true;\n};\nexport const promiseProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const optionalProcessor = (schema, ctx, _json, params) => {\n const def = schema._zod.def;\n process(def.innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = def.innerType;\n};\nexport const lazyProcessor = (schema, ctx, _json, params) => {\n const innerType = schema._zod.innerType;\n process(innerType, ctx, params);\n const seen = ctx.seen.get(schema);\n seen.ref = innerType;\n};\n// ==================== ALL PROCESSORS ====================\nexport const allProcessors = {\n string: stringProcessor,\n number: numberProcessor,\n boolean: booleanProcessor,\n bigint: bigintProcessor,\n symbol: symbolProcessor,\n null: nullProcessor,\n undefined: undefinedProcessor,\n void: voidProcessor,\n never: neverProcessor,\n any: anyProcessor,\n unknown: unknownProcessor,\n date: dateProcessor,\n enum: enumProcessor,\n literal: literalProcessor,\n nan: nanProcessor,\n template_literal: templateLiteralProcessor,\n file: fileProcessor,\n success: successProcessor,\n custom: customProcessor,\n function: functionProcessor,\n transform: transformProcessor,\n map: mapProcessor,\n set: setProcessor,\n array: arrayProcessor,\n object: objectProcessor,\n union: unionProcessor,\n intersection: intersectionProcessor,\n tuple: tupleProcessor,\n record: recordProcessor,\n nullable: nullableProcessor,\n nonoptional: nonoptionalProcessor,\n default: defaultProcessor,\n prefault: prefaultProcessor,\n catch: catchProcessor,\n pipe: pipeProcessor,\n readonly: readonlyProcessor,\n promise: promiseProcessor,\n optional: optionalProcessor,\n lazy: lazyProcessor,\n};\nexport function toJSONSchema(input, params) {\n if (\"_idmap\" in input) {\n // Registry case\n const registry = input;\n const ctx = initializeContext({ ...params, processors: allProcessors });\n const defs = {};\n // First pass: process all schemas to build the seen map\n for (const entry of registry._idmap.entries()) {\n const [_, schema] = entry;\n process(schema, ctx);\n }\n const schemas = {};\n const external = {\n registry,\n uri: params?.uri,\n defs,\n };\n // Update the context with external configuration\n ctx.external = external;\n // Second pass: emit each schema\n for (const entry of registry._idmap.entries()) {\n const [key, schema] = entry;\n extractDefs(ctx, schema);\n schemas[key] = finalize(ctx, schema);\n }\n if (Object.keys(defs).length > 0) {\n const defsSegment = ctx.target === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n schemas.__shared = {\n [defsSegment]: defs,\n };\n }\n return { schemas };\n }\n // Single schema case\n const ctx = initializeContext({ ...params, processors: allProcessors });\n process(input, ctx);\n extractDefs(ctx, input);\n return finalize(ctx, input);\n}\n", "import { allProcessors } from \"./json-schema-processors.js\";\nimport { extractDefs, finalize, initializeContext, process, } from \"./to-json-schema.js\";\n/**\n * Legacy class-based interface for JSON Schema generation.\n * This class wraps the new functional implementation to provide backward compatibility.\n *\n * @deprecated Use the `toJSONSchema` function instead for new code.\n *\n * @example\n * ```typescript\n * // Legacy usage (still supported)\n * const gen = new JSONSchemaGenerator({ target: \"draft-07\" });\n * gen.process(schema);\n * const result = gen.emit(schema);\n *\n * // Preferred modern usage\n * const result = toJSONSchema(schema, { target: \"draft-07\" });\n * ```\n */\nexport class JSONSchemaGenerator {\n /** @deprecated Access via ctx instead */\n get metadataRegistry() {\n return this.ctx.metadataRegistry;\n }\n /** @deprecated Access via ctx instead */\n get target() {\n return this.ctx.target;\n }\n /** @deprecated Access via ctx instead */\n get unrepresentable() {\n return this.ctx.unrepresentable;\n }\n /** @deprecated Access via ctx instead */\n get override() {\n return this.ctx.override;\n }\n /** @deprecated Access via ctx instead */\n get io() {\n return this.ctx.io;\n }\n /** @deprecated Access via ctx instead */\n get counter() {\n return this.ctx.counter;\n }\n set counter(value) {\n this.ctx.counter = value;\n }\n /** @deprecated Access via ctx instead */\n get seen() {\n return this.ctx.seen;\n }\n constructor(params) {\n // Normalize target for internal context\n let normalizedTarget = params?.target ?? \"draft-2020-12\";\n if (normalizedTarget === \"draft-4\")\n normalizedTarget = \"draft-04\";\n if (normalizedTarget === \"draft-7\")\n normalizedTarget = \"draft-07\";\n this.ctx = initializeContext({\n processors: allProcessors,\n target: normalizedTarget,\n ...(params?.metadata && { metadata: params.metadata }),\n ...(params?.unrepresentable && { unrepresentable: params.unrepresentable }),\n ...(params?.override && { override: params.override }),\n ...(params?.io && { io: params.io }),\n });\n }\n /**\n * Process a schema to prepare it for JSON Schema generation.\n * This must be called before emit().\n */\n process(schema, _params = { path: [], schemaPath: [] }) {\n return process(schema, this.ctx, _params);\n }\n /**\n * Emit the final JSON Schema after processing.\n * Must call process() first.\n */\n emit(schema, _params) {\n // Apply emit params to the context\n if (_params) {\n if (_params.cycles)\n this.ctx.cycles = _params.cycles;\n if (_params.reused)\n this.ctx.reused = _params.reused;\n if (_params.external)\n this.ctx.external = _params.external;\n }\n extractDefs(this.ctx, schema);\n const result = finalize(this.ctx, schema);\n // Strip ~standard property to match old implementation's return type\n const { \"~standard\": _, ...plainResult } = result;\n return plainResult;\n }\n}\n", "export {};\n", "export * from \"./core.js\";\nexport * from \"./parse.js\";\nexport * from \"./errors.js\";\nexport * from \"./schemas.js\";\nexport * from \"./checks.js\";\nexport * from \"./versions.js\";\nexport * as util from \"./util.js\";\nexport * as regexes from \"./regexes.js\";\nexport * as locales from \"../locales/index.js\";\nexport * from \"./registries.js\";\nexport * from \"./doc.js\";\nexport * from \"./api.js\";\nexport * from \"./to-json-schema.js\";\nexport { toJSONSchema } from \"./json-schema-processors.js\";\nexport { JSONSchemaGenerator } from \"./json-schema-generator.js\";\nexport * as JSONSchema from \"./json-schema.js\";\n", "export { _lt as lt, _lte as lte, _gt as gt, _gte as gte, _positive as positive, _negative as negative, _nonpositive as nonpositive, _nonnegative as nonnegative, _multipleOf as multipleOf, _maxSize as maxSize, _minSize as minSize, _size as size, _maxLength as maxLength, _minLength as minLength, _length as length, _regex as regex, _lowercase as lowercase, _uppercase as uppercase, _includes as includes, _startsWith as startsWith, _endsWith as endsWith, _property as property, _mime as mime, _overwrite as overwrite, _normalize as normalize, _trim as trim, _toLowerCase as toLowerCase, _toUpperCase as toUpperCase, _slugify as slugify, } from \"../core/index.js\";\n", "import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n", "import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n", "import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n// Codec functions\nexport const encode = /* @__PURE__ */ core._encode(ZodRealError);\nexport const decode = /* @__PURE__ */ core._decode(ZodRealError);\nexport const encodeAsync = /* @__PURE__ */ core._encodeAsync(ZodRealError);\nexport const decodeAsync = /* @__PURE__ */ core._decodeAsync(ZodRealError);\nexport const safeEncode = /* @__PURE__ */ core._safeEncode(ZodRealError);\nexport const safeDecode = /* @__PURE__ */ core._safeDecode(ZodRealError);\nexport const safeEncodeAsync = /* @__PURE__ */ core._safeEncodeAsync(ZodRealError);\nexport const safeDecodeAsync = /* @__PURE__ */ core._safeDecodeAsync(ZodRealError);\n", "import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as processors from \"../core/json-schema-processors.js\";\nimport { createStandardJSONSchemaMethod, createToJSONSchemaMethod } from \"../core/to-json-schema.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n Object.assign(inst[\"~standard\"], {\n jsonSchema: {\n input: createStandardJSONSchemaMethod(inst, \"input\"),\n output: createStandardJSONSchemaMethod(inst, \"output\"),\n },\n });\n inst.toJSONSchema = createToJSONSchemaMethod(inst, {});\n inst.def = def;\n inst.type = def.type;\n Object.defineProperty(inst, \"_def\", { value: def });\n // base methods\n inst.check = (...checks) => {\n return inst.clone(util.mergeDefs(def, {\n checks: [\n ...(def.checks ?? []),\n ...checks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }), {\n parent: true,\n });\n };\n inst.with = inst.check;\n inst.clone = (def, params) => core.clone(inst, def, params);\n inst.brand = () => inst;\n inst.register = ((reg, meta) => {\n reg.add(inst, meta);\n return inst;\n });\n // parsing\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n // encoding/decoding\n inst.encode = (data, params) => parse.encode(inst, data, params);\n inst.decode = (data, params) => parse.decode(inst, data, params);\n inst.encodeAsync = async (data, params) => parse.encodeAsync(inst, data, params);\n inst.decodeAsync = async (data, params) => parse.decodeAsync(inst, data, params);\n inst.safeEncode = (data, params) => parse.safeEncode(inst, data, params);\n inst.safeDecode = (data, params) => parse.safeDecode(inst, data, params);\n inst.safeEncodeAsync = async (data, params) => parse.safeEncodeAsync(inst, data, params);\n inst.safeDecodeAsync = async (data, params) => parse.safeDecodeAsync(inst, data, params);\n // refinements\n inst.refine = (check, params) => inst.check(refine(check, params));\n inst.superRefine = (refinement) => inst.check(superRefine(refinement));\n inst.overwrite = (fn) => inst.check(checks.overwrite(fn));\n // wrappers\n inst.optional = () => optional(inst);\n inst.exactOptional = () => exactOptional(inst);\n inst.nullable = () => nullable(inst);\n inst.nullish = () => optional(nullable(inst));\n inst.nonoptional = (params) => nonoptional(inst, params);\n inst.array = () => array(inst);\n inst.or = (arg) => union([inst, arg]);\n inst.and = (arg) => intersection(inst, arg);\n inst.transform = (tx) => pipe(inst, transform(tx));\n inst.default = (def) => _default(inst, def);\n inst.prefault = (def) => prefault(inst, def);\n // inst.coalesce = (def, params) => coalesce(inst, def, params);\n inst.catch = (params) => _catch(inst, params);\n inst.pipe = (target) => pipe(inst, target);\n inst.readonly = () => readonly(inst);\n // meta\n inst.describe = (description) => {\n const cl = inst.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n };\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n inst.meta = (...args) => {\n if (args.length === 0) {\n return core.globalRegistry.get(inst);\n }\n const cl = inst.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n };\n // helpers\n inst.isOptional = () => inst.safeParse(undefined).success;\n inst.isNullable = () => inst.safeParse(null).success;\n inst.apply = (fn) => fn(inst);\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.stringProcessor(inst, ctx, json, params);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n // validations\n inst.regex = (...args) => inst.check(checks.regex(...args));\n inst.includes = (...args) => inst.check(checks.includes(...args));\n inst.startsWith = (...args) => inst.check(checks.startsWith(...args));\n inst.endsWith = (...args) => inst.check(checks.endsWith(...args));\n inst.min = (...args) => inst.check(checks.minLength(...args));\n inst.max = (...args) => inst.check(checks.maxLength(...args));\n inst.length = (...args) => inst.check(checks.length(...args));\n inst.nonempty = (...args) => inst.check(checks.minLength(1, ...args));\n inst.lowercase = (params) => inst.check(checks.lowercase(params));\n inst.uppercase = (params) => inst.check(checks.uppercase(params));\n // transforms\n inst.trim = () => inst.check(checks.trim());\n inst.normalize = (...args) => inst.check(checks.normalize(...args));\n inst.toLowerCase = () => inst.check(checks.toLowerCase());\n inst.toUpperCase = () => inst.check(checks.toUpperCase());\n inst.slugify = () => inst.check(checks.slugify());\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport function httpUrl(params) {\n return core._url(ZodURL, {\n protocol: /^https?$/,\n hostname: core.regexes.domain,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodMAC = /*@__PURE__*/ core.$constructor(\"ZodMAC\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodMAC.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function mac(params) {\n return core._mac(ZodMAC, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport function hex(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hex\", core.regexes.hex, _params);\n}\nexport function hash(alg, params) {\n const enc = params?.enc ?? \"hex\";\n const format = `${alg}_${enc}`;\n const regex = core.regexes[format];\n if (!regex)\n throw new Error(`Unrecognized hash format: ${format}`);\n return core._stringFormat(ZodCustomStringFormat, format, regex, params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.numberProcessor(inst, ctx, json, params);\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.int = (params) => inst.check(int(params));\n inst.safe = (params) => inst.check(int(params));\n inst.positive = (params) => inst.check(checks.gt(0, params));\n inst.nonnegative = (params) => inst.check(checks.gte(0, params));\n inst.negative = (params) => inst.check(checks.lt(0, params));\n inst.nonpositive = (params) => inst.check(checks.lte(0, params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n inst.step = (value, params) => inst.check(checks.multipleOf(value, params));\n // inst.finite = (params) => inst.check(core.finite(params));\n inst.finite = () => inst;\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.booleanProcessor(inst, ctx, json, params);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.bigintProcessor(inst, ctx, json, params);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.symbolProcessor(inst, ctx, json, params);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.undefinedProcessor(inst, ctx, json, params);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullProcessor(inst, ctx, json, params);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.anyProcessor(inst, ctx, json, params);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unknownProcessor(inst, ctx, json, params);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.neverProcessor(inst, ctx, json, params);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.voidProcessor(inst, ctx, json, params);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.dateProcessor(inst, ctx, json, params);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.arrayProcessor(inst, ctx, json, params);\n inst.element = def.element;\n inst.min = (minLength, params) => inst.check(checks.minLength(minLength, params));\n inst.nonempty = (params) => inst.check(checks.minLength(1, params));\n inst.max = (maxLength, params) => inst.check(checks.maxLength(maxLength, params));\n inst.length = (len, params) => inst.check(checks.length(len, params));\n inst.unwrap = () => inst.element;\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return _enum(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObjectJIT.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.objectProcessor(inst, ctx, json, params);\n util.defineLazy(inst, \"shape\", () => {\n return def.shape;\n });\n inst.keyof = () => _enum(Object.keys(inst._zod.def.shape));\n inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });\n inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });\n inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });\n inst.extend = (incoming) => {\n return util.extend(inst, incoming);\n };\n inst.safeExtend = (incoming) => {\n return util.safeExtend(inst, incoming);\n };\n inst.merge = (other) => util.merge(inst, other);\n inst.pick = (mask) => util.pick(inst, mask);\n inst.omit = (mask) => util.omit(inst, mask);\n inst.partial = (...args) => util.partial(ZodOptional, inst, args[0]);\n inst.required = (...args) => util.required(ZodNonOptional, inst, args[0]);\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n shape: shape ?? {},\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n shape,\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodXor = /*@__PURE__*/ core.$constructor(\"ZodXor\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodXor.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.unionProcessor(inst, ctx, json, params);\n inst.options = def.options;\n});\n/** Creates an exclusive union (XOR) where exactly one option must match.\n * Unlike regular unions that succeed when any option matches, xor fails if\n * zero or more than one option matches the input. */\nexport function xor(options, params) {\n return new ZodXor({\n type: \"union\",\n options: options,\n inclusive: false,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.intersectionProcessor(inst, ctx, json, params);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.tupleProcessor(inst, ctx, json, params);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.recordProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output;\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function looseRecord(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n mode: \"loose\",\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.mapProcessor(inst, ctx, json, params);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.setProcessor(inst, ctx, json, params);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.enumProcessor(inst, ctx, json, params);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.literalProcessor(inst, ctx, json, params);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.fileProcessor(inst, ctx, json, params);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.transformProcessor(inst, ctx, json, params);\n inst._zod.parse = (payload, _ctx) => {\n if (_ctx.direction === \"backward\") {\n throw new core.$ZodEncodeError(inst.constructor.name);\n }\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n payload.value = output;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodExactOptional = /*@__PURE__*/ core.$constructor(\"ZodExactOptional\", (inst, def) => {\n core.$ZodExactOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.optionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function exactOptional(innerType) {\n return new ZodExactOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nullableProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.defaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.prefaultProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : util.shallowClone(defaultValue);\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nonoptionalProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.successProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.catchProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.nanProcessor(inst, ctx, json, params);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.pipeProcessor(inst, ctx, json, params);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodCodec = /*@__PURE__*/ core.$constructor(\"ZodCodec\", (inst, def) => {\n ZodPipe.init(inst, def);\n core.$ZodCodec.init(inst, def);\n});\nexport function codec(in_, out, params) {\n return new ZodCodec({\n type: \"pipe\",\n in: in_,\n out: out,\n transform: params.decode,\n reverseTransform: params.encode,\n });\n}\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.readonlyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.templateLiteralProcessor(inst, ctx, json, params);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.lazyProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.promiseProcessor(inst, ctx, json, params);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodFunction = /*@__PURE__*/ core.$constructor(\"ZodFunction\", (inst, def) => {\n core.$ZodFunction.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.functionProcessor(inst, ctx, json, params);\n});\nexport function _function(params) {\n return new ZodFunction({\n type: \"function\",\n input: Array.isArray(params?.input) ? tuple(params?.input) : (params?.input ?? array(unknown())),\n output: params?.output ?? unknown(),\n });\n}\nexport { _function as function };\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.processJSONSchema = (ctx, json, params) => processors.customProcessor(inst, ctx, json, params);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn) {\n return core._superRefine(fn);\n}\n// Re-export describe and meta from core\nexport const describe = core.describe;\nexport const meta = core.meta;\nfunction _instanceof(cls, params = {}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n // Override check to emit invalid_type instead of custom\n inst._zod.check = (payload) => {\n if (!(payload.value instanceof cls)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: cls.name,\n input: payload.value,\n inst,\n path: [...(inst._zod.def.path ?? [])],\n });\n }\n };\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Codec: ZodCodec,\n Boolean: ZodBoolean,\n String: ZodString,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\n// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */\nexport function preprocess(fn, schema) {\n return pipe(transform(fn), schema);\n}\n", "// Zod 3 compat layer\nimport * as core from \"../core/index.js\";\n/** @deprecated Use the raw string literal codes instead, e.g. \"invalid_type\". */\nexport const ZodIssueCode = {\n invalid_type: \"invalid_type\",\n too_big: \"too_big\",\n too_small: \"too_small\",\n invalid_format: \"invalid_format\",\n not_multiple_of: \"not_multiple_of\",\n unrecognized_keys: \"unrecognized_keys\",\n invalid_union: \"invalid_union\",\n invalid_key: \"invalid_key\",\n invalid_element: \"invalid_element\",\n invalid_value: \"invalid_value\",\n custom: \"custom\",\n};\nexport { $brand, config } from \"../core/index.js\";\n/** @deprecated Use `z.config(params)` instead. */\nexport function setErrorMap(map) {\n core.config({\n customError: map,\n });\n}\n/** @deprecated Use `z.config()` instead. */\nexport function getErrorMap() {\n return core.config().customError;\n}\n/** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n", "import { globalRegistry } from \"../core/registries.js\";\nimport * as _checks from \"./checks.js\";\nimport * as _iso from \"./iso.js\";\nimport * as _schemas from \"./schemas.js\";\n// Local z object to avoid circular dependency with ../index.js\nconst z = {\n ..._schemas,\n ..._checks,\n iso: _iso,\n};\n// Keys that are recognized and handled by the conversion logic\nconst RECOGNIZED_KEYS = new Set([\n // Schema identification\n \"$schema\",\n \"$ref\",\n \"$defs\",\n \"definitions\",\n // Core schema keywords\n \"$id\",\n \"id\",\n \"$comment\",\n \"$anchor\",\n \"$vocabulary\",\n \"$dynamicRef\",\n \"$dynamicAnchor\",\n // Type\n \"type\",\n \"enum\",\n \"const\",\n // Composition\n \"anyOf\",\n \"oneOf\",\n \"allOf\",\n \"not\",\n // Object\n \"properties\",\n \"required\",\n \"additionalProperties\",\n \"patternProperties\",\n \"propertyNames\",\n \"minProperties\",\n \"maxProperties\",\n // Array\n \"items\",\n \"prefixItems\",\n \"additionalItems\",\n \"minItems\",\n \"maxItems\",\n \"uniqueItems\",\n \"contains\",\n \"minContains\",\n \"maxContains\",\n // String\n \"minLength\",\n \"maxLength\",\n \"pattern\",\n \"format\",\n // Number\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\",\n \"multipleOf\",\n // Already handled metadata\n \"description\",\n \"default\",\n // Content\n \"contentEncoding\",\n \"contentMediaType\",\n \"contentSchema\",\n // Unsupported (error-throwing)\n \"unevaluatedItems\",\n \"unevaluatedProperties\",\n \"if\",\n \"then\",\n \"else\",\n \"dependentSchemas\",\n \"dependentRequired\",\n // OpenAPI\n \"nullable\",\n \"readOnly\",\n]);\nfunction detectVersion(schema, defaultTarget) {\n const $schema = schema.$schema;\n if ($schema === \"https://json-schema.org/draft/2020-12/schema\") {\n return \"draft-2020-12\";\n }\n if ($schema === \"http://json-schema.org/draft-07/schema#\") {\n return \"draft-7\";\n }\n if ($schema === \"http://json-schema.org/draft-04/schema#\") {\n return \"draft-4\";\n }\n // Use defaultTarget if provided, otherwise default to draft-2020-12\n return defaultTarget ?? \"draft-2020-12\";\n}\nfunction resolveRef(ref, ctx) {\n if (!ref.startsWith(\"#\")) {\n throw new Error(\"External $ref is not supported, only local refs (#/...) are allowed\");\n }\n const path = ref.slice(1).split(\"/\").filter(Boolean);\n // Handle root reference \"#\"\n if (path.length === 0) {\n return ctx.rootSchema;\n }\n const defsKey = ctx.version === \"draft-2020-12\" ? \"$defs\" : \"definitions\";\n if (path[0] === defsKey) {\n const key = path[1];\n if (!key || !ctx.defs[key]) {\n throw new Error(`Reference not found: ${ref}`);\n }\n return ctx.defs[key];\n }\n throw new Error(`Reference not found: ${ref}`);\n}\nfunction convertBaseSchema(schema, ctx) {\n // Handle unsupported features\n if (schema.not !== undefined) {\n // Special case: { not: {} } represents never\n if (typeof schema.not === \"object\" && Object.keys(schema.not).length === 0) {\n return z.never();\n }\n throw new Error(\"not is not supported in Zod (except { not: {} } for never)\");\n }\n if (schema.unevaluatedItems !== undefined) {\n throw new Error(\"unevaluatedItems is not supported\");\n }\n if (schema.unevaluatedProperties !== undefined) {\n throw new Error(\"unevaluatedProperties is not supported\");\n }\n if (schema.if !== undefined || schema.then !== undefined || schema.else !== undefined) {\n throw new Error(\"Conditional schemas (if/then/else) are not supported\");\n }\n if (schema.dependentSchemas !== undefined || schema.dependentRequired !== undefined) {\n throw new Error(\"dependentSchemas and dependentRequired are not supported\");\n }\n // Handle $ref\n if (schema.$ref) {\n const refPath = schema.$ref;\n if (ctx.refs.has(refPath)) {\n return ctx.refs.get(refPath);\n }\n if (ctx.processing.has(refPath)) {\n // Circular reference - use lazy\n return z.lazy(() => {\n if (!ctx.refs.has(refPath)) {\n throw new Error(`Circular reference not resolved: ${refPath}`);\n }\n return ctx.refs.get(refPath);\n });\n }\n ctx.processing.add(refPath);\n const resolved = resolveRef(refPath, ctx);\n const zodSchema = convertSchema(resolved, ctx);\n ctx.refs.set(refPath, zodSchema);\n ctx.processing.delete(refPath);\n return zodSchema;\n }\n // Handle enum\n if (schema.enum !== undefined) {\n const enumValues = schema.enum;\n // Special case: OpenAPI 3.0 null representation { type: \"string\", nullable: true, enum: [null] }\n if (ctx.version === \"openapi-3.0\" &&\n schema.nullable === true &&\n enumValues.length === 1 &&\n enumValues[0] === null) {\n return z.null();\n }\n if (enumValues.length === 0) {\n return z.never();\n }\n if (enumValues.length === 1) {\n return z.literal(enumValues[0]);\n }\n // Check if all values are strings\n if (enumValues.every((v) => typeof v === \"string\")) {\n return z.enum(enumValues);\n }\n // Mixed types - use union of literals\n const literalSchemas = enumValues.map((v) => z.literal(v));\n if (literalSchemas.length < 2) {\n return literalSchemas[0];\n }\n return z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]);\n }\n // Handle const\n if (schema.const !== undefined) {\n return z.literal(schema.const);\n }\n // Handle type\n const type = schema.type;\n if (Array.isArray(type)) {\n // Expand type array into anyOf union\n const typeSchemas = type.map((t) => {\n const typeSchema = { ...schema, type: t };\n return convertBaseSchema(typeSchema, ctx);\n });\n if (typeSchemas.length === 0) {\n return z.never();\n }\n if (typeSchemas.length === 1) {\n return typeSchemas[0];\n }\n return z.union(typeSchemas);\n }\n if (!type) {\n // No type specified - empty schema (any)\n return z.any();\n }\n let zodSchema;\n switch (type) {\n case \"string\": {\n let stringSchema = z.string();\n // Apply format using .check() with Zod format functions\n if (schema.format) {\n const format = schema.format;\n // Map common formats to Zod check functions\n if (format === \"email\") {\n stringSchema = stringSchema.check(z.email());\n }\n else if (format === \"uri\" || format === \"uri-reference\") {\n stringSchema = stringSchema.check(z.url());\n }\n else if (format === \"uuid\" || format === \"guid\") {\n stringSchema = stringSchema.check(z.uuid());\n }\n else if (format === \"date-time\") {\n stringSchema = stringSchema.check(z.iso.datetime());\n }\n else if (format === \"date\") {\n stringSchema = stringSchema.check(z.iso.date());\n }\n else if (format === \"time\") {\n stringSchema = stringSchema.check(z.iso.time());\n }\n else if (format === \"duration\") {\n stringSchema = stringSchema.check(z.iso.duration());\n }\n else if (format === \"ipv4\") {\n stringSchema = stringSchema.check(z.ipv4());\n }\n else if (format === \"ipv6\") {\n stringSchema = stringSchema.check(z.ipv6());\n }\n else if (format === \"mac\") {\n stringSchema = stringSchema.check(z.mac());\n }\n else if (format === \"cidr\") {\n stringSchema = stringSchema.check(z.cidrv4());\n }\n else if (format === \"cidr-v6\") {\n stringSchema = stringSchema.check(z.cidrv6());\n }\n else if (format === \"base64\") {\n stringSchema = stringSchema.check(z.base64());\n }\n else if (format === \"base64url\") {\n stringSchema = stringSchema.check(z.base64url());\n }\n else if (format === \"e164\") {\n stringSchema = stringSchema.check(z.e164());\n }\n else if (format === \"jwt\") {\n stringSchema = stringSchema.check(z.jwt());\n }\n else if (format === \"emoji\") {\n stringSchema = stringSchema.check(z.emoji());\n }\n else if (format === \"nanoid\") {\n stringSchema = stringSchema.check(z.nanoid());\n }\n else if (format === \"cuid\") {\n stringSchema = stringSchema.check(z.cuid());\n }\n else if (format === \"cuid2\") {\n stringSchema = stringSchema.check(z.cuid2());\n }\n else if (format === \"ulid\") {\n stringSchema = stringSchema.check(z.ulid());\n }\n else if (format === \"xid\") {\n stringSchema = stringSchema.check(z.xid());\n }\n else if (format === \"ksuid\") {\n stringSchema = stringSchema.check(z.ksuid());\n }\n // Note: json-string format is not currently supported by Zod\n // Custom formats are ignored - keep as plain string\n }\n // Apply constraints\n if (typeof schema.minLength === \"number\") {\n stringSchema = stringSchema.min(schema.minLength);\n }\n if (typeof schema.maxLength === \"number\") {\n stringSchema = stringSchema.max(schema.maxLength);\n }\n if (schema.pattern) {\n // JSON Schema patterns are not implicitly anchored (match anywhere in string)\n stringSchema = stringSchema.regex(new RegExp(schema.pattern));\n }\n zodSchema = stringSchema;\n break;\n }\n case \"number\":\n case \"integer\": {\n let numberSchema = type === \"integer\" ? z.number().int() : z.number();\n // Apply constraints\n if (typeof schema.minimum === \"number\") {\n numberSchema = numberSchema.min(schema.minimum);\n }\n if (typeof schema.maximum === \"number\") {\n numberSchema = numberSchema.max(schema.maximum);\n }\n if (typeof schema.exclusiveMinimum === \"number\") {\n numberSchema = numberSchema.gt(schema.exclusiveMinimum);\n }\n else if (schema.exclusiveMinimum === true && typeof schema.minimum === \"number\") {\n numberSchema = numberSchema.gt(schema.minimum);\n }\n if (typeof schema.exclusiveMaximum === \"number\") {\n numberSchema = numberSchema.lt(schema.exclusiveMaximum);\n }\n else if (schema.exclusiveMaximum === true && typeof schema.maximum === \"number\") {\n numberSchema = numberSchema.lt(schema.maximum);\n }\n if (typeof schema.multipleOf === \"number\") {\n numberSchema = numberSchema.multipleOf(schema.multipleOf);\n }\n zodSchema = numberSchema;\n break;\n }\n case \"boolean\": {\n zodSchema = z.boolean();\n break;\n }\n case \"null\": {\n zodSchema = z.null();\n break;\n }\n case \"object\": {\n const shape = {};\n const properties = schema.properties || {};\n const requiredSet = new Set(schema.required || []);\n // Convert properties - mark optional ones\n for (const [key, propSchema] of Object.entries(properties)) {\n const propZodSchema = convertSchema(propSchema, ctx);\n // If not in required array, make it optional\n shape[key] = requiredSet.has(key) ? propZodSchema : propZodSchema.optional();\n }\n // Handle propertyNames\n if (schema.propertyNames) {\n const keySchema = convertSchema(schema.propertyNames, ctx);\n const valueSchema = schema.additionalProperties && typeof schema.additionalProperties === \"object\"\n ? convertSchema(schema.additionalProperties, ctx)\n : z.any();\n // Case A: No properties (pure record)\n if (Object.keys(shape).length === 0) {\n zodSchema = z.record(keySchema, valueSchema);\n break;\n }\n // Case B: With properties (intersection of object and looseRecord)\n const objectSchema = z.object(shape).passthrough();\n const recordSchema = z.looseRecord(keySchema, valueSchema);\n zodSchema = z.intersection(objectSchema, recordSchema);\n break;\n }\n // Handle patternProperties\n if (schema.patternProperties) {\n // patternProperties: keys matching pattern must satisfy corresponding schema\n // Use loose records so non-matching keys pass through\n const patternProps = schema.patternProperties;\n const patternKeys = Object.keys(patternProps);\n const looseRecords = [];\n for (const pattern of patternKeys) {\n const patternValue = convertSchema(patternProps[pattern], ctx);\n const keySchema = z.string().regex(new RegExp(pattern));\n looseRecords.push(z.looseRecord(keySchema, patternValue));\n }\n // Build intersection: object schema + all pattern property records\n const schemasToIntersect = [];\n if (Object.keys(shape).length > 0) {\n // Use passthrough so patternProperties can validate additional keys\n schemasToIntersect.push(z.object(shape).passthrough());\n }\n schemasToIntersect.push(...looseRecords);\n if (schemasToIntersect.length === 0) {\n zodSchema = z.object({}).passthrough();\n }\n else if (schemasToIntersect.length === 1) {\n zodSchema = schemasToIntersect[0];\n }\n else {\n // Chain intersections: (A & B) & C & D ...\n let result = z.intersection(schemasToIntersect[0], schemasToIntersect[1]);\n for (let i = 2; i < schemasToIntersect.length; i++) {\n result = z.intersection(result, schemasToIntersect[i]);\n }\n zodSchema = result;\n }\n break;\n }\n // Handle additionalProperties\n // In JSON Schema, additionalProperties defaults to true (allow any extra properties)\n // In Zod, objects strip unknown keys by default, so we need to handle this explicitly\n const objectSchema = z.object(shape);\n if (schema.additionalProperties === false) {\n // Strict mode - no extra properties allowed\n zodSchema = objectSchema.strict();\n }\n else if (typeof schema.additionalProperties === \"object\") {\n // Extra properties must match the specified schema\n zodSchema = objectSchema.catchall(convertSchema(schema.additionalProperties, ctx));\n }\n else {\n // additionalProperties is true or undefined - allow any extra properties (passthrough)\n zodSchema = objectSchema.passthrough();\n }\n break;\n }\n case \"array\": {\n // TODO: uniqueItems is not supported\n // TODO: contains/minContains/maxContains are not supported\n // Check if this is a tuple (prefixItems or items as array)\n const prefixItems = schema.prefixItems;\n const items = schema.items;\n if (prefixItems && Array.isArray(prefixItems)) {\n // Tuple with prefixItems (draft-2020-12)\n const tupleItems = prefixItems.map((item) => convertSchema(item, ctx));\n const rest = items && typeof items === \"object\" && !Array.isArray(items)\n ? convertSchema(items, ctx)\n : undefined;\n if (rest) {\n zodSchema = z.tuple(tupleItems).rest(rest);\n }\n else {\n zodSchema = z.tuple(tupleItems);\n }\n // Apply minItems/maxItems constraints to tuples\n if (typeof schema.minItems === \"number\") {\n zodSchema = zodSchema.check(z.minLength(schema.minItems));\n }\n if (typeof schema.maxItems === \"number\") {\n zodSchema = zodSchema.check(z.maxLength(schema.maxItems));\n }\n }\n else if (Array.isArray(items)) {\n // Tuple with items array (draft-7)\n const tupleItems = items.map((item) => convertSchema(item, ctx));\n const rest = schema.additionalItems && typeof schema.additionalItems === \"object\"\n ? convertSchema(schema.additionalItems, ctx)\n : undefined; // additionalItems: false means no rest, handled by default tuple behavior\n if (rest) {\n zodSchema = z.tuple(tupleItems).rest(rest);\n }\n else {\n zodSchema = z.tuple(tupleItems);\n }\n // Apply minItems/maxItems constraints to tuples\n if (typeof schema.minItems === \"number\") {\n zodSchema = zodSchema.check(z.minLength(schema.minItems));\n }\n if (typeof schema.maxItems === \"number\") {\n zodSchema = zodSchema.check(z.maxLength(schema.maxItems));\n }\n }\n else if (items !== undefined) {\n // Regular array\n const element = convertSchema(items, ctx);\n let arraySchema = z.array(element);\n // Apply constraints\n if (typeof schema.minItems === \"number\") {\n arraySchema = arraySchema.min(schema.minItems);\n }\n if (typeof schema.maxItems === \"number\") {\n arraySchema = arraySchema.max(schema.maxItems);\n }\n zodSchema = arraySchema;\n }\n else {\n // No items specified - array of any\n zodSchema = z.array(z.any());\n }\n break;\n }\n default:\n throw new Error(`Unsupported type: ${type}`);\n }\n // Apply metadata\n if (schema.description) {\n zodSchema = zodSchema.describe(schema.description);\n }\n if (schema.default !== undefined) {\n zodSchema = zodSchema.default(schema.default);\n }\n return zodSchema;\n}\nfunction convertSchema(schema, ctx) {\n if (typeof schema === \"boolean\") {\n return schema ? z.any() : z.never();\n }\n // Convert base schema first (ignoring composition keywords)\n let baseSchema = convertBaseSchema(schema, ctx);\n const hasExplicitType = schema.type || schema.enum !== undefined || schema.const !== undefined;\n // Process composition keywords LAST (they can appear together)\n // Handle anyOf - wrap base schema with union\n if (schema.anyOf && Array.isArray(schema.anyOf)) {\n const options = schema.anyOf.map((s) => convertSchema(s, ctx));\n const anyOfUnion = z.union(options);\n baseSchema = hasExplicitType ? z.intersection(baseSchema, anyOfUnion) : anyOfUnion;\n }\n // Handle oneOf - exclusive union (exactly one must match)\n if (schema.oneOf && Array.isArray(schema.oneOf)) {\n const options = schema.oneOf.map((s) => convertSchema(s, ctx));\n const oneOfUnion = z.xor(options);\n baseSchema = hasExplicitType ? z.intersection(baseSchema, oneOfUnion) : oneOfUnion;\n }\n // Handle allOf - wrap base schema with intersection\n if (schema.allOf && Array.isArray(schema.allOf)) {\n if (schema.allOf.length === 0) {\n baseSchema = hasExplicitType ? baseSchema : z.any();\n }\n else {\n let result = hasExplicitType ? baseSchema : convertSchema(schema.allOf[0], ctx);\n const startIdx = hasExplicitType ? 0 : 1;\n for (let i = startIdx; i < schema.allOf.length; i++) {\n result = z.intersection(result, convertSchema(schema.allOf[i], ctx));\n }\n baseSchema = result;\n }\n }\n // Handle nullable (OpenAPI 3.0)\n if (schema.nullable === true && ctx.version === \"openapi-3.0\") {\n baseSchema = z.nullable(baseSchema);\n }\n // Handle readOnly\n if (schema.readOnly === true) {\n baseSchema = z.readonly(baseSchema);\n }\n // Collect metadata: core schema keywords and unrecognized keys\n const extraMeta = {};\n // Core schema keywords that should be captured as metadata\n const coreMetadataKeys = [\"$id\", \"id\", \"$comment\", \"$anchor\", \"$vocabulary\", \"$dynamicRef\", \"$dynamicAnchor\"];\n for (const key of coreMetadataKeys) {\n if (key in schema) {\n extraMeta[key] = schema[key];\n }\n }\n // Content keywords - store as metadata\n const contentMetadataKeys = [\"contentEncoding\", \"contentMediaType\", \"contentSchema\"];\n for (const key of contentMetadataKeys) {\n if (key in schema) {\n extraMeta[key] = schema[key];\n }\n }\n // Unrecognized keys (custom metadata)\n for (const key of Object.keys(schema)) {\n if (!RECOGNIZED_KEYS.has(key)) {\n extraMeta[key] = schema[key];\n }\n }\n if (Object.keys(extraMeta).length > 0) {\n ctx.registry.add(baseSchema, extraMeta);\n }\n return baseSchema;\n}\n/**\n * Converts a JSON Schema to a Zod schema. This function should be considered semi-experimental. It's behavior is liable to change. */\nexport function fromJSONSchema(schema, params) {\n // Handle boolean schemas\n if (typeof schema === \"boolean\") {\n return schema ? z.any() : z.never();\n }\n const version = detectVersion(schema, params?.defaultTarget);\n const defs = (schema.$defs || schema.definitions || {});\n const ctx = {\n version,\n defs,\n refs: new Map(),\n processing: new Set(),\n rootSchema: schema,\n registry: params?.registry ?? globalRegistry,\n };\n return convertSchema(schema, ctx);\n}\n", "import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport function string(params) {\n return core._coercedString(schemas.ZodString, params);\n}\nexport function number(params) {\n return core._coercedNumber(schemas.ZodNumber, params);\n}\nexport function boolean(params) {\n return core._coercedBoolean(schemas.ZodBoolean, params);\n}\nexport function bigint(params) {\n return core._coercedBigint(schemas.ZodBigInt, params);\n}\nexport function date(params) {\n return core._coercedDate(schemas.ZodDate, params);\n}\n", "export * as core from \"../core/index.js\";\nexport * from \"./schemas.js\";\nexport * from \"./checks.js\";\nexport * from \"./errors.js\";\nexport * from \"./parse.js\";\nexport * from \"./compat.js\";\n// zod-specified\nimport { config } from \"../core/index.js\";\nimport en from \"../locales/en.js\";\nconfig(en());\nexport { globalRegistry, registry, config, $output, $input, $brand, clone, regexes, treeifyError, prettifyError, formatError, flattenError, TimePrecision, util, NEVER, } from \"../core/index.js\";\nexport { toJSONSchema } from \"../core/json-schema-processors.js\";\nexport { fromJSONSchema } from \"./from-json-schema.js\";\nexport * as locales from \"../locales/index.js\";\n// iso\n// must be exported from top-level\n// https://github.com/colinhacks/zod/issues/4491\nexport { ZodISODateTime, ZodISODate, ZodISOTime, ZodISODuration } from \"./iso.js\";\nexport * as iso from \"./iso.js\";\nexport * as coerce from \"./coerce.js\";\n", "import * as z from \"./v4/classic/external.js\";\nexport * from \"./v4/classic/external.js\";\nexport { z };\nexport default z;\n", "export const mbnrGeoJson = {\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": {},\n \"geometry\": {\n \"coordinates\": [\n [\n [\n 78.0540565157155,\n 16.750355644371382\n ],\n [\n 78.02147549424018,\n 16.72066473405593\n ],\n [\n 78.03026125246384,\n 16.71696749930787\n ],\n [\n 78.0438058450269,\n 16.72191442229257\n ],\n [\n 78.01378723066603,\n 16.729427120762438\n ],\n [\n 78.01192390645633,\n 16.767270033080678\n ],\n [\n 77.98897480599248,\n 16.78383139678816\n ],\n [\n 77.98650506846502,\n 16.779477610410623\n ],\n [\n 77.99211289459566,\n 16.764294442899583\n ],\n [\n 77.9917733766166,\n 16.760247911187193\n ],\n [\n 77.9871626670851,\n 16.762487176781022\n ],\n [\n 77.98216269568468,\n 16.762520539253813\n ],\n [\n 77.9728079653313,\n 16.75895746646411\n ],\n [\n 77.97076993211158,\n 16.749241850772236\n ],\n [\n 77.97290869571145,\n 16.714289841456335\n ],\n [\n 77.98673742913684,\n 16.716189282573396\n ],\n [\n 78.00286970994557,\n 16.718191131206893\n ],\n [\n 78.02757966423519,\n 16.720603921728966\n ],\n [\n 78.01653780770818,\n 16.73184590223127\n ],\n [\n 78.0064695230268,\n 16.760236966033375\n ],\n [\n 78.0148831108591,\n 16.760801801995825\n ],\n [\n 78.01488756695255,\n 16.75827980335133\n ],\n [\n 78.0244311364159,\n 16.744778942163208\n ],\n [\n 78.03342267256608,\n 16.760773251410058\n ],\n [\n 78.05078586709863,\n 16.763902127913653\n ],\n [\n 78.0540565157155,\n 16.750355644371382\n ]\n ]\n ],\n \"type\": \"Polygon\"\n }\n }\n ]\n};", "export class ApiError extends Error {\n public statusCode: number;\n public details?: any;\n\n constructor(message: string, statusCode: number = 500, details?: any) {\n console.log(message)\n \n super(message);\n this.name = 'ApiError';\n this.statusCode = statusCode;\n this.details = details;\n // Error.captureStackTrace?.(this, ApiError);\n }\n}\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { commonRouter } from '@/src/trpc/apis/common-apis/common'\nimport {\n getStoresSummary,\n healthCheck,\n getCacheVersion,\n} from '@/src/dbService'\nimport type { StoresSummaryResponse } from '@packages/shared'\nimport * as turf from '@turf/turf';\nimport { z } from 'zod';\nimport { mbnrGeoJson } from '@/src/lib/mbnr-geojson'\nimport { generateUploadUrl } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getAllConstValues } from '@/src/lib/const-store'\nimport { CONST_KEYS } from '@/src/lib/const-keys'\nimport { getAssetsDomain, getApiCacheKey } from '@/src/lib/env-exporter'\n\nconst polygon = turf.polygon(mbnrGeoJson.features[0].geometry.coordinates);\n\nexport async function scaffoldEssentialConsts() {\n const consts = await getAllConstValues();\n const cacheVersion = await getCacheVersion()\n\n return {\n freeDeliveryThreshold: consts[CONST_KEYS.freeDeliveryThreshold] ?? 200,\n deliveryCharge: consts[CONST_KEYS.deliveryCharge] ?? 0,\n flashFreeDeliveryThreshold: consts[CONST_KEYS.flashFreeDeliveryThreshold] ?? 500,\n flashDeliveryCharge: consts[CONST_KEYS.flashDeliveryCharge] ?? 69,\n popularItems: consts[CONST_KEYS.popularItems],\n versionNum: consts[CONST_KEYS.versionNum],\n playStoreUrl: consts[CONST_KEYS.playStoreUrl],\n appStoreUrl: consts[CONST_KEYS.appStoreUrl],\n webViewHtml: null,\n isWebviewClosable: true,\n isFlashDeliveryEnabled: consts[CONST_KEYS.isFlashDeliveryEnabled] ?? false,\n supportMobile: consts[CONST_KEYS.supportMobile] ?? '',\n supportEmail: consts[CONST_KEYS.supportEmail] ?? '',\n assetsDomain: getAssetsDomain(),\n apiCacheKey: getApiCacheKey(),\n cacheVersion,\n };\n}\n\nexport const commonApiRouter = router({\n product: commonRouter,\n\n getStoresSummary: publicProcedure\n .query(async (): Promise => {\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { storeInfo } from '@/src/db/schema'\n\n const stores = await db.query.storeInfo.findMany({\n columns: {\n id: true,\n name: true,\n description: true,\n },\n });\n */\n\n const stores = await getStoresSummary();\n\n return {\n stores,\n };\n }),\n\n checkLocationInPolygon: publicProcedure\n .input(z.object({\n lat: z.number().min(-90).max(90),\n lng: z.number().min(-180).max(180),\n }))\n .query(({ input }) => {\n try {\n const { lat, lng } = input;\n const point = turf.point([lng, lat]); // GeoJSON: [longitude, latitude]\n const isInside = turf.booleanPointInPolygon(point, polygon);\n return { isInside };\n } catch (error) {\n throw new Error('Invalid coordinates or polygon data');\n }\n }),\n\n generateUploadUrls: protectedProcedure\n .input(z.object({\n contextString: z.enum(['review', 'review_response', 'product_info', 'notification', 'store', 'complaint', 'profile', 'tags']),\n mimeTypes: z.array(z.string()),\n }))\n .mutation(async ({ input }): Promise<{ uploadUrls: string[] }> => {\n const { contextString, mimeTypes } = input;\n\n const uploadUrls: string[] = [];\n const keys: string[] = [];\n\n for (const mimeType of mimeTypes) {\n // Generate key based on context and mime type\n let folder: string;\n if (contextString === 'review') {\n folder = 'review-images';\n } else if (contextString === 'product_info') {\n folder = 'product-images';\n } else if (contextString === 'store') {\n folder = 'store-images';\n } else if (contextString === 'review_response') {\n folder = 'review-response-images';\n } else if (contextString === 'complaint') {\n folder = 'complaint-images';\n } else if (contextString === 'profile') {\n folder = 'profile-images';\n } else if (contextString === 'tags') {\n folder = 'tags';\n } else {\n folder = '';\n }\n\n const extension = mimeType === 'image/jpeg' ? '.jpg' :\n mimeType === 'image/png' ? '.png' :\n mimeType === 'image/gif' ? '.gif' : '.jpg';\n const key = `${folder}/${Date.now()}${extension}`;\n\n try {\n const uploadUrl = await generateUploadUrl(key, mimeType);\n uploadUrls.push(uploadUrl);\n keys.push(key);\n\n } catch (error) {\n console.error('Error generating upload URL:', error);\n throw new ApiError('Failed to generate upload URL', 500);\n }\n }\n return { uploadUrls };\n }),\n\n healthCheck: publicProcedure\n .query(async () => {\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { keyValStore, productInfo } from '@/src/db/schema'\n\n // Test DB connection by selecting product names\n // await db.select({ name: productInfo.name }).from(productInfo).limit(1);\n await db.select({ key: keyValStore.key }).from(keyValStore).limit(1);\n */\n\n const result = await healthCheck();\n return result;\n }),\n\n essentialConsts: publicProcedure\n .query(async () => {\n const response = await scaffoldEssentialConsts();\n return response;\n }),\n});\n\nexport type CommonApiRouter = typeof commonApiRouter;\n", "import { router, publicProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getTagsByStoreId } from '@/src/stores/product-tag-store'\nimport {\n getUserStoreSummaries as getUserStoreSummariesInDb,\n getUserStoreDetail as getUserStoreDetailInDb,\n} from '@/src/dbService'\nimport type {\n UserStoresResponse,\n UserStoreDetail,\n UserStoreSummary,\n} from '@packages/shared'\n\nexport async function scaffoldStores(): Promise {\n const storesData = await getUserStoreSummariesInDb()\n\n /*\n // Old implementation - direct DB queries:\n const storesData = await db\n .select({\n id: storeInfo.id,\n name: storeInfo.name,\n description: storeInfo.description,\n imageUrl: storeInfo.imageUrl,\n productCount: sql`count(${productInfo.id})`.as('productCount'),\n })\n .from(storeInfo)\n .leftJoin(\n productInfo,\n and(eq(productInfo.storeId, storeInfo.id), eq(productInfo.isSuspended, false))\n )\n .groupBy(storeInfo.id);\n */\n\n const storesWithDetails: UserStoreSummary[] = storesData.map((store) => {\n const signedImageUrl = store.imageUrl ? scaffoldAssetUrl(store.imageUrl) : null\n const sampleProducts = store.sampleProducts.map((product) => ({\n id: product.id,\n name: product.name,\n signedImageUrl: product.images && product.images.length > 0\n ? scaffoldAssetUrl(product.images[0])\n : null,\n }))\n\n return {\n id: store.id,\n name: store.name,\n description: store.description,\n signedImageUrl,\n productCount: store.productCount,\n sampleProducts,\n }\n })\n\n return {\n stores: storesWithDetails,\n }\n}\n\nexport async function scaffoldStoreWithProducts(storeId: number): Promise {\n const storeDetail = await getUserStoreDetailInDb(storeId)\n\n /*\n // Old implementation - direct DB queries:\n const storeData = await db.query.storeInfo.findFirst({\n where: eq(storeInfo.id, storeId),\n columns: {\n id: true,\n name: true,\n description: true,\n imageUrl: true,\n },\n });\n\n if (!storeData) {\n throw new ApiError('Store not found', 404);\n }\n\n const signedImageUrl = storeData.imageUrl ? scaffoldAssetUrl(storeData.imageUrl) : null;\n\n const productsData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n incrementStep: productInfo.incrementStep,\n unitShortNotation: units.shortNotation,\n unitNotation: units.shortNotation,\n productQuantity: productInfo.productQuantity,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(and(eq(productInfo.storeId, storeId), eq(productInfo.isSuspended, false)));\n\n const productsWithSignedUrls = await Promise.all(\n productsData.map(async (product) => ({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n marketPrice: product.marketPrice,\n incrementStep: product.incrementStep,\n unit: product.unitShortNotation,\n unitNotation: product.unitNotation,\n images: scaffoldAssetUrl((product.images as string[]) || []),\n isOutOfStock: product.isOutOfStock,\n productQuantity: product.productQuantity\n }))\n );\n\n const tags = await getTagsByStoreId(storeId);\n\n return {\n store: {\n id: storeData.id,\n name: storeData.name,\n description: storeData.description,\n signedImageUrl,\n },\n products: productsWithSignedUrls,\n tags: tags.map(tag => ({\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription,\n imageUrl: tag.imageUrl,\n productIds: tag.productIds,\n })),\n };\n */\n\n if (!storeDetail) {\n throw new ApiError('Store not found', 404)\n }\n\n const signedImageUrl = storeDetail.store.imageUrl\n ? scaffoldAssetUrl(storeDetail.store.imageUrl)\n : null\n\n const productsWithSignedUrls = storeDetail.products.map((product) => ({\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n marketPrice: product.marketPrice,\n incrementStep: product.incrementStep,\n unit: product.unit,\n unitNotation: product.unitNotation,\n images: scaffoldAssetUrl(product.images || []),\n isOutOfStock: product.isOutOfStock,\n productQuantity: product.productQuantity,\n }))\n\n const tags = await getTagsByStoreId(storeId)\n\n return {\n store: {\n id: storeDetail.store.id,\n name: storeDetail.store.name,\n description: storeDetail.store.description,\n signedImageUrl,\n },\n products: productsWithSignedUrls,\n tags: tags.map(tag => ({\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription,\n imageUrl: tag.imageUrl,\n productIds: tag.productIds,\n })),\n }\n}\n\nexport const storesRouter = router({\n getStores: publicProcedure\n .query(async (): Promise => {\n const response = await scaffoldStores();\n return response;\n }),\n\n getStoreWithProducts: publicProcedure\n .input(z.object({\n storeId: z.number(),\n }))\n .query(async ({ input }): Promise => {\n const { storeId } = input;\n const response = await scaffoldStoreWithProducts(storeId);\n return response;\n }),\n});\n", "import { router, publicProcedure } from \"@/src/trpc/trpc-index\"\nimport { z } from \"zod\"\nimport { getAllSlots as getAllSlotsFromCache, getSlotById as getSlotByIdFromCache } from \"@/src/stores/slot-store\"\nimport dayjs from 'dayjs'\nimport { getUserActiveSlotsList as getUserActiveSlotsListInDb, getUserProductAvailability as getUserProductAvailabilityInDb } from '@/src/dbService'\nimport type { UserSlotData, UserSlotsListResponse, UserSlotsWithProductsResponse } from '@packages/shared'\n\n// Helper method to get formatted slot data by ID\nasync function getSlotData(slotId: number) {\n const slot = await getSlotByIdFromCache(slotId);\n\n if (!slot) {\n return null;\n }\n\n const currentTime = new Date();\n if (dayjs(slot.freezeTime).isBefore(currentTime)) {\n return null;\n }\n\n return {\n deliveryTime: slot.deliveryTime,\n freezeTime: slot.freezeTime,\n slotId: slot.id,\n products: slot.products.filter((product) => !product.isOutOfStock),\n };\n}\n\nexport async function scaffoldSlotsWithProducts(): Promise {\n const allSlots = await getAllSlotsFromCache();\n const currentTime = new Date();\n const validSlots = allSlots\n .filter((slot) => {\n return dayjs(slot.freezeTime).isAfter(currentTime) &&\n dayjs(slot.deliveryTime).isAfter(currentTime) &&\n !slot.isCapacityFull;\n })\n .sort((a, b) => dayjs(a.deliveryTime).valueOf() - dayjs(b.deliveryTime).valueOf());\n\n const productAvailability = await getUserProductAvailabilityInDb()\n\n /*\n // Old implementation - direct DB query:\n const allProducts = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n isOutOfStock: productInfo.isOutOfStock,\n isFlashAvailable: productInfo.isFlashAvailable,\n })\n .from(productInfo)\n .where(eq(productInfo.isSuspended, false));\n\n const productAvailability = allProducts.map(product => ({\n id: product.id,\n name: product.name,\n isOutOfStock: product.isOutOfStock,\n isFlashAvailable: product.isFlashAvailable,\n }));\n */\n\n return {\n slots: validSlots,\n productAvailability,\n count: validSlots.length,\n };\n}\n\nexport const slotsRouter = router({\n getSlots: publicProcedure.query(async (): Promise => {\n const slots = await getUserActiveSlotsListInDb()\n\n /*\n // Old implementation - direct DB query:\n const slots = await db.query.deliverySlotInfo.findMany({\n where: eq(deliverySlotInfo.isActive, true),\n });\n */\n\n return {\n slots,\n count: slots.length,\n }\n }),\n\n getSlotsWithProducts: publicProcedure.query(async (): Promise => {\n const response = await scaffoldSlotsWithProducts();\n return response;\n }),\n\n getSlotById: publicProcedure\n .input(z.object({ slotId: z.number() }))\n .query(async ({ input }): Promise => {\n return await getSlotData(input.slotId);\n }),\n});\n", "import { publicProcedure, router } from '@/src/trpc/trpc-index'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { getUserActiveBanners as getUserActiveBannersInDb } from '@/src/dbService'\nimport type { UserBannersResponse } from '@packages/shared'\n\nexport async function scaffoldBanners(): Promise {\n const banners = await getUserActiveBannersInDb()\n\n /*\n // Old implementation - direct DB queries:\n const banners = await db.query.homeBanners.findMany({\n where: isNotNull(homeBanners.serialNum), // Only show assigned banners\n orderBy: asc(homeBanners.serialNum), // Order by slot number 1-4\n });\n */\n\n const bannersWithSignedUrls = banners.map((banner) => ({\n ...banner,\n imageUrl: banner.imageUrl ? scaffoldAssetUrl(banner.imageUrl) : banner.imageUrl,\n }))\n\n return {\n banners: bannersWithSignedUrls,\n }\n}\n\nexport const bannerRouter = router({\n getBanners: publicProcedure\n .query(async () => {\n const response = await scaffoldBanners();\n return response;\n }),\n});\n", "// Central types export file\n// Re-export all types from the types folder\n\nexport type * from './admin';\nexport type * from './user';\nexport type * from './store.types';\n", "export const CACHE_FILENAMES = {\n products: 'products.json',\n stores: 'stores.json',\n slots: 'slots.json',\n essentialConsts: 'essential-consts.json',\n banners: 'banners.json',\n} as const\n\nexport type CacheFilename = typeof CACHE_FILENAMES[keyof typeof CACHE_FILENAMES]\n\n// Re-export all types from the types folder\nexport * from './types'\n", "export async function retryWithExponentialBackoff(\n fn: () => Promise,\n maxRetries: number = 3,\n delayMs: number = 1000\n): Promise {\n let lastError: Error | undefined\n \n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n try {\n return await fn()\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error))\n \n if (attempt < maxRetries) {\n console.log(`Attempt ${attempt} failed, retrying in ${delayMs}ms...`)\n await new Promise(resolve => setTimeout(resolve, delayMs))\n delayMs *= 2\n }\n }\n }\n \n throw lastError\n}", "import { Buffer } from 'buffer'\nimport axios from 'axios'\nimport { scaffoldProducts } from '@/src/trpc/apis/common-apis/common'\nimport { scaffoldEssentialConsts } from '@/src/trpc/apis/common-apis/common-trpc-index'\nimport { scaffoldStores } from '@/src/trpc/apis/user-apis/apis/stores'\nimport { scaffoldSlotsWithProducts } from '@/src/trpc/apis/user-apis/apis/slots'\nimport { scaffoldBanners } from '@/src/trpc/apis/user-apis/apis/banners'\nimport { scaffoldStoreWithProducts } from '@/src/trpc/apis/user-apis/apis/stores'\nimport { getStoresSummary, incrementCacheVersion } from '@/src/dbService'\nimport { imageUploadS3 } from '@/src/lib/s3-client'\nimport { getApiCacheKey, getCloudflareApiToken, getCloudflareZoneId, getAssetsDomain } from '@/src/lib/env-exporter'\nimport { CACHE_FILENAMES } from '@packages/shared'\nimport { retryWithExponentialBackoff } from '@/src/lib/retry'\n\nconst buildCachePath = (path: string, version: number) => `v-${version}/${path}`\n\nfunction constructCacheUrl(path: string, version: number): string {\n return `${getAssetsDomain()}${getApiCacheKey()}/${buildCachePath(path, version)}`\n}\n\nexport interface CreateAllCacheFilesResult {\n cacheVersion: number\n products: string\n essentialConsts: string\n stores: string\n slots: string\n banners: string\n individualStores: string[]\n}\n\nexport async function createAllCacheFiles(): Promise {\n console.log('Starting creation of all cache files...')\n\n const cacheVersion = await incrementCacheVersion()\n\n // Create all global cache files in parallel\n const [\n productsKey,\n essentialConstsKey,\n storesKey,\n slotsKey,\n bannersKey,\n individualStoreKeys,\n ] = await Promise.all([\n createProductsFileInternal(cacheVersion),\n createEssentialConstsFileInternal(cacheVersion),\n createStoresFileInternal(cacheVersion),\n createSlotsFileInternal(cacheVersion),\n createBannersFileInternal(cacheVersion),\n createAllStoresFilesInternal(cacheVersion),\n ])\n\n const stores = await getStoresSummary()\n\n // Collect all URLs for batch cache purge\n const urls = [\n constructCacheUrl(CACHE_FILENAMES.products, cacheVersion),\n constructCacheUrl(CACHE_FILENAMES.essentialConsts, cacheVersion),\n constructCacheUrl(CACHE_FILENAMES.stores, cacheVersion),\n constructCacheUrl(CACHE_FILENAMES.slots, cacheVersion),\n constructCacheUrl(CACHE_FILENAMES.banners, cacheVersion),\n ...stores.map((store) => constructCacheUrl(`stores/${store.id}.json`, cacheVersion)),\n ]\n\n // Purge all caches in one batch with retry\n try {\n await retryWithExponentialBackoff(() => clearUrlCache(urls))\n console.log(`Cache purged for all ${urls.length} files`)\n } catch (error) {\n console.error(`Failed to purge cache for all files after 3 retries`, error)\n }\n\n console.log('All cache files created successfully')\n\n return {\n cacheVersion,\n products: productsKey,\n essentialConsts: essentialConstsKey,\n stores: storesKey,\n slots: slotsKey,\n banners: bannersKey,\n individualStores: individualStoreKeys,\n }\n}\n\n// Internal versions that skip cache purging (for batch operations)\nasync function createProductsFileInternal(version: number): Promise {\n const productsData = await scaffoldProducts()\n const jsonContent = JSON.stringify(productsData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.products, version)}`\n )\n}\n\nasync function createEssentialConstsFileInternal(version: number): Promise {\n const essentialConstsData = await scaffoldEssentialConsts()\n const jsonContent = JSON.stringify(essentialConstsData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.essentialConsts, version)}`\n )\n}\n\nasync function createStoresFileInternal(version: number): Promise {\n const storesData = await scaffoldStores()\n const jsonContent = JSON.stringify(storesData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.stores, version)}`\n )\n}\n\nasync function createSlotsFileInternal(version: number): Promise {\n const slotsData = await scaffoldSlotsWithProducts()\n const jsonContent = JSON.stringify(slotsData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.slots, version)}`\n )\n}\n\nasync function createBannersFileInternal(version: number): Promise {\n const bannersData = await scaffoldBanners()\n const jsonContent = JSON.stringify(bannersData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n return await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(CACHE_FILENAMES.banners, version)}`\n )\n}\n\nasync function createAllStoresFilesInternal(version: number): Promise {\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { storeInfo } from '@/src/db/schema'\n\n const stores = await db.select({ id: storeInfo.id }).from(storeInfo)\n */\n\n const stores = await getStoresSummary()\n const results: string[] = []\n\n for (const store of stores) {\n const storeData = await scaffoldStoreWithProducts(store.id)\n const jsonContent = JSON.stringify(storeData, null, 2)\n const buffer = Buffer.from(jsonContent, 'utf-8')\n const s3Key = await imageUploadS3(\n buffer,\n 'application/json',\n `${getApiCacheKey()}/${buildCachePath(`stores/${store.id}.json`, version)}`\n )\n results.push(s3Key)\n }\n\n console.log(`Created ${results.length} store cache files`)\n return results\n}\n\nexport async function clearUrlCache(urls: string[]): Promise<{ success: boolean; errors?: string[] }> {\n const cloudflareApiToken = getCloudflareApiToken()\n const cloudflareZoneId = getCloudflareZoneId()\n if (!cloudflareApiToken || !cloudflareZoneId) {\n console.warn('Cloudflare credentials not configured, skipping cache clear')\n return { success: false, errors: ['Cloudflare credentials not configured'] }\n }\n\n try {\n const response = await axios.post(\n `https://api.cloudflare.com/client/v4/zones/${cloudflareZoneId}/purge_cache`,\n { files: urls },\n {\n headers: {\n 'Authorization': `Bearer ${cloudflareApiToken}`,\n 'Content-Type': 'application/json',\n },\n }\n )\n\n const result = response.data as { success: boolean; errors?: { message: string }[] }\n\n if (!result.success) {\n const errorMessages = result.errors?.map(e => e.message) || ['Unknown error']\n console.error(`Cloudflare cache purge failed for URLs: ${urls.join(', ')}`, errorMessages)\n return { success: false, errors: errorMessages }\n }\n\n console.log(`Successfully purged ${urls.length} URLs from Cloudflare cache: ${urls.join(', ')}`)\n return { success: true }\n } catch (error) {\n console.log(error)\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n console.error(`Error clearing Cloudflare cache for URLs: ${urls.join(', ')}`, errorMessage)\n return { success: false, errors: [errorMessage] }\n }\n}\n\nexport async function clearAllCache(): Promise<{ success: boolean; errors?: string[] }> {\n const cloudflareApiToken = getCloudflareApiToken()\n const cloudflareZoneId = getCloudflareZoneId()\n if (!cloudflareApiToken || !cloudflareZoneId) {\n console.warn('Cloudflare credentials not configured, skipping cache clear')\n return { success: false, errors: ['Cloudflare credentials not configured'] }\n }\n\n try {\n const response = await axios.post(\n `https://api.cloudflare.com/client/v4/zones/${cloudflareZoneId}/purge_cache`,\n { purge_everything: true },\n {\n headers: {\n 'Authorization': `Bearer ${cloudflareApiToken}`,\n 'Content-Type': 'application/json',\n },\n }\n )\n\n const result = response.data as { success: boolean; errors?: { message: string }[] }\n\n if (!result.success) {\n const errorMessages = result.errors?.map(e => e.message) || ['Unknown error']\n console.error('Cloudflare cache purge failed:', errorMessages)\n return { success: false, errors: errorMessages }\n }\n\n console.log('Successfully purged all cache from Cloudflare')\n return { success: true }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n console.error('Error clearing Cloudflare cache:', errorMessage)\n return { success: false, errors: [errorMessage] }\n }\n}\n", "import roleManager from '@/src/lib/roles-manager'\nimport { computeConstants } from '@/src/lib/const-store'\nimport { initializeProducts } from '@/src/stores/product-store'\nimport { initializeProductTagStore } from '@/src/stores/product-tag-store'\nimport { initializeSlotStore } from '@/src/stores/slot-store'\nimport { initializeBannerStore } from '@/src/stores/banner-store'\nimport { createAllCacheFiles } from '@/src/lib/cloud_cache'\nimport type { DurableObjectNamespace } from '@cloudflare/workers-types'\n\n/**\n * Initialize all application stores\n * This function handles initialization of:\n * - Role Manager (fetches and caches all roles)\n * - Const Store (syncs constants from DB to Redis)\n * - Product Store (caches all products in Redis)\n * - Product Tag Store (caches all product tags in Redis)\n * - Slot Store (caches all delivery slots with products in Redis)\n * - Banner Store (caches all banners in Redis)\n */\nexport const initializeAllStores = async (): Promise => {\n try {\n console.log('Starting application stores initialization...');\n\n await Promise.all([\n roleManager.fetchRoles(),\n computeConstants(),\n initializeProducts(),\n initializeProductTagStore(),\n initializeSlotStore(),\n initializeBannerStore(),\n ]);\n\n console.log('All application stores initialized successfully');\n\n // Regenerate all cache files (fire-and-forget)\n createAllCacheFiles().catch(error => {\n console.error('Failed to regenerate cache files during store initialization:', error)\n })\n } catch (error) {\n console.error('Application stores initialization failed:', error);\n throw error;\n }\n};\n\nexport const scheduleStoreInitialization = (): void => {\n const env = (globalThis as { ENV?: { CACHE_CREATOR?: DurableObjectNamespace } }).ENV\n if (!env?.CACHE_CREATOR) {\n console.warn('CACHE_CREATOR durable object binding not available for store initialization')\n return\n }\n\n const id = env.CACHE_CREATOR.idFromName('store-init')\n const stub = env.CACHE_CREATOR.get(id)\n void stub.fetch('https://cache-creator/schedule', { method: 'POST' })\n}\n", "export const fetch = (...args) => globalThis.fetch(...args);\nexport const Headers = globalThis.Headers;\nexport const Request = globalThis.Request;\nexport const Response = globalThis.Response;\nexport const AbortController = globalThis.AbortController;\nexport const FetchError = Error;\nexport const AbortError = Error;\nconst redirectStatus = new Set([\n\t301,\n\t302,\n\t303,\n\t307,\n\t308\n]);\nexport const isRedirect = (code) => redirectStatus.has(code);\nfetch.Promise = globalThis.Promise;\nfetch.isRedirect = isRedirect;\nexport default fetch;\n", "import * as esm from 'node-fetch';\nmodule.exports = Object.entries(esm)\n\t\t\t.filter(([k,]) => k !== 'default')\n\t\t\t.reduce((cjs, [k, value]) =>\n\t\t\t\tObject.defineProperty(cjs, k, { value, enumerable: true }),\n\t\t\t\t\"default\" in esm ? esm.default : {}\n\t\t\t);", "import libDefault from 'node:assert';\nmodule.exports = libDefault;", "import libDefault from 'node:zlib';\nmodule.exports = libDefault;", "function limiter (count) {\n var outstanding = 0\n var jobs = []\n\n function remove () {\n outstanding--\n\n if (outstanding < count) {\n dequeue()\n }\n }\n\n function dequeue () {\n var job = jobs.shift()\n semaphore.queue = jobs.length\n\n if (job) {\n run(job.fn).then(job.resolve).catch(job.reject)\n }\n }\n\n function queue (fn) {\n return new Promise(function (resolve, reject) {\n jobs.push({fn: fn, resolve: resolve, reject: reject})\n semaphore.queue = jobs.length\n })\n }\n\n function run (fn) {\n outstanding++\n try {\n return Promise.resolve(fn()).then(function (result) {\n remove()\n return result\n }, function (error) {\n remove()\n throw error\n })\n } catch (err) {\n remove()\n return Promise.reject(err)\n }\n }\n\n var semaphore = function (fn) {\n if (outstanding >= count) {\n return queue(fn)\n } else {\n return run(fn)\n }\n }\n\n return semaphore\n}\n\nfunction map (items, mapper) {\n var failed = false\n\n var limit = this\n\n return Promise.all(items.map(function () {\n var args = arguments\n return limit(function () {\n if (!failed) {\n return mapper.apply(undefined, args).catch(function (e) {\n failed = true\n throw e\n })\n }\n })\n }))\n}\n\nfunction addExtras (fn) {\n fn.queue = 0\n fn.map = map\n return fn\n}\n\nmodule.exports = function (count) {\n if (count) {\n return addExtras(limiter(count))\n } else {\n return addExtras(function (fn) {\n return fn()\n })\n }\n}\n", "'use strict';\n\nfunction assign(obj, props) {\n for (const key in props) {\n Object.defineProperty(obj, key, {\n value: props[key],\n enumerable: true,\n configurable: true,\n });\n }\n\n return obj;\n}\n\nfunction createError(err, code, props) {\n if (!err || typeof err === 'string') {\n throw new TypeError('Please pass an Error to err-code');\n }\n\n if (!props) {\n props = {};\n }\n\n if (typeof code === 'object') {\n props = code;\n code = undefined;\n }\n\n if (code != null) {\n props.code = code;\n }\n\n try {\n return assign(err, props);\n } catch (_) {\n props.message = err.message;\n props.stack = err.stack;\n\n const ErrClass = function () {};\n\n ErrClass.prototype = Object.create(Object.getPrototypeOf(err));\n\n return assign(new ErrClass(), props);\n }\n}\n\nmodule.exports = createError;\n", "function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts;\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(this._errors.length - 1, this._errors.length);\n this._timeouts = this._cachedTimeouts.slice(0);\n timeout = this._timeouts.shift();\n } else {\n return false;\n }\n }\n\n var self = this;\n var timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n", "var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && options.forever,\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n", "module.exports = require('./lib/retry');", "'use strict';\n\nvar errcode = require('err-code');\nvar retry = require('retry');\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\nfunction isRetryError(err) {\n return err && err.code === 'EPROMISERETRY' && hasOwn.call(err, 'retried');\n}\n\nfunction promiseRetry(fn, options) {\n var temp;\n var operation;\n\n if (typeof fn === 'object' && typeof options === 'function') {\n // Swap options and fn when using alternate signature (options, fn)\n temp = options;\n options = fn;\n fn = temp;\n }\n\n operation = retry.operation(options);\n\n return new Promise(function (resolve, reject) {\n operation.attempt(function (number) {\n Promise.resolve()\n .then(function () {\n return fn(function (err) {\n if (isRetryError(err)) {\n err = err.retried;\n }\n\n throw errcode(new Error('Retrying'), 'EPROMISERETRY', { retried: err });\n }, number);\n })\n .then(resolve, function (err) {\n if (isRetryError(err)) {\n err = err.retried;\n\n if (operation.retry(err || new Error())) {\n return;\n }\n }\n\n reject(err);\n });\n });\n });\n}\n\nmodule.exports = promiseRetry;\n", null, "{\n \"name\": \"expo-server-sdk\",\n \"version\": \"4.0.0\",\n \"description\": \"Server-side library for working with Expo using Node.js\",\n \"main\": \"build/ExpoClient.js\",\n \"types\": \"build/ExpoClient.d.ts\",\n \"files\": [\n \"build\"\n ],\n \"engines\": {\n \"node\": \">=20\"\n },\n \"scripts\": {\n \"build\": \"yarn prepack\",\n \"lint\": \"eslint\",\n \"prepack\": \"tsc --project tsconfig.build.json\",\n \"test\": \"jest\",\n \"tsc\": \"tsc\",\n \"watch\": \"tsc --watch\"\n },\n \"jest\": {\n \"coverageDirectory\": \"/../coverage\",\n \"coverageThreshold\": {\n \"global\": {\n \"branches\": 100,\n \"functions\": 100,\n \"lines\": 100,\n \"statements\": 0\n }\n },\n \"preset\": \"ts-jest\",\n \"rootDir\": \"src\",\n \"testEnvironment\": \"node\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/expo/expo-server-sdk-node.git\"\n },\n \"keywords\": [\n \"expo\",\n \"push-notifications\"\n ],\n \"author\": \"support@expo.dev\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/expo/expo-server-sdk-node/issues\"\n },\n \"homepage\": \"https://github.com/expo/expo-server-sdk-node#readme\",\n \"dependencies\": {\n \"node-fetch\": \"^2.6.0\",\n \"promise-limit\": \"^2.7.0\",\n \"promise-retry\": \"^2.0.1\"\n },\n \"devDependencies\": {\n \"@tsconfig/node20\": \"20.1.6\",\n \"@tsconfig/strictest\": \"2.0.5\",\n \"@types/node\": \"22.17.2\",\n \"@types/node-fetch\": \"2.6.12\",\n \"@types/promise-retry\": \"1.1.6\",\n \"eslint\": \"9.33.0\",\n \"eslint-config-universe\": \"15.0.3\",\n \"jest\": \"29.7.0\",\n \"jiti\": \"2.4.2\",\n \"msw\": \"2.10.5\",\n \"prettier\": \"3.6.2\",\n \"ts-jest\": \"29.4.1\",\n \"typescript\": \"5.9.2\"\n },\n \"packageManager\": \"yarn@4.9.2\"\n}\n", null, "type QueueSender = { send: (message: unknown) => Promise }\n\nexport class QueueDataPusher {\n private getEnv() {\n return (globalThis as {\n ENV?: {\n NOTIF_QUEUE?: QueueSender\n ORDER_PLACED_QUEUE?: QueueSender\n ORDER_CANCELLED_QUEUE?: QueueSender\n }\n }).ENV\n }\n\n async pushNotifQueue(message: unknown): Promise {\n const env = this.getEnv()\n if (!env?.NOTIF_QUEUE) {\n console.warn('NOTIF_QUEUE binding not available, skipping enqueue')\n return false\n }\n await env.NOTIF_QUEUE.send(message)\n return true\n }\n\n async pushOrderPlacedQueue(message: { name: 'order-placed'; orderIds: number[] }): Promise {\n const env = this.getEnv()\n if (!env?.ORDER_PLACED_QUEUE) {\n console.warn('ORDER_PLACED_QUEUE binding not available, skipping publish')\n return false\n }\n await env.ORDER_PLACED_QUEUE.send(message)\n return true\n }\n\n async pushOrderCancelledQueue(message: {\n name: 'order-cancelled'\n orderId: number\n cancelledBy: 'user' | 'admin'\n reason: string\n cancelledAt: string\n }): Promise {\n const env = this.getEnv()\n if (!env?.ORDER_CANCELLED_QUEUE) {\n console.warn('ORDER_CANCELLED_QUEUE binding not available, skipping publish')\n return false\n }\n await env.ORDER_CANCELLED_QUEUE.send(message)\n return true\n }\n}\n\nexport const queueDataPusher = new QueueDataPusher()\n", "/**\n * This file contains constants that are used throughout the application\n * to avoid hardcoding strings in multiple places\n */\n\n// User role and designation constants\nexport const READABLE_ORDER_ID_KEY = 'readableOrderId';\n\n// Queue constants\nexport const NOTIFS_QUEUE = 'notifications';\nexport const OTP_COMMENT_NAME='otp-comment'\n\n// Notification message constants\nexport const ORDER_PLACED_MESSAGE = 'Your order has been placed successfully!';\nexport const PAYMENT_FAILED_MESSAGE = 'Payment failed. Please try again.';\nexport const ORDER_PACKAGED_MESSAGE = 'Your order has been packaged and is ready for delivery.';\nexport const ORDER_OUT_FOR_DELIVERY_MESSAGE = 'Your order is out for delivery.';\nexport const ORDER_DELIVERED_MESSAGE = 'Your order has been delivered.';\nexport const ORDER_CANCELLED_MESSAGE = 'Your order has been cancelled.';\nexport const REFUND_INITIATED_MESSAGE = 'Refund has been initiated for your order.';\nexport const WELCOME_MESSAGE = 'Welcome to Farm2Door! Thank you for joining us.';\n\nexport const REFUND_STATUS = {\n PENDING: 'none',\n NOT_APPLICABLE: 'na',\n PROCESSING: 'initiated',\n SUCCESS: 'success',\n};", "// import { Queue, Worker } from 'bullmq';\nimport { Expo } from 'expo-server-sdk';\n// import { db } from '@/src/db/db_index'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { queueDataPusher } from '@/src/lib/queue-data-pusher'\nimport {\n NOTIFS_QUEUE,\n ORDER_PLACED_MESSAGE,\n PAYMENT_FAILED_MESSAGE,\n ORDER_PACKAGED_MESSAGE,\n ORDER_OUT_FOR_DELIVERY_MESSAGE,\n ORDER_DELIVERED_MESSAGE,\n ORDER_CANCELLED_MESSAGE,\n REFUND_INITIATED_MESSAGE\n} from '@/src/lib/const-strings';\n\n\nexport const notificationQueue:any = {};\n\n// export const notificationQueue = new Queue(NOTIFS_QUEUE, {\n// connection: { url: redisUrl },\n// defaultJobOptions: {\n// removeOnComplete: true,\n// removeOnFail: 10,\n// attempts: 3,\n// },\n// });\n\nexport const notificationWorker:any = {};\n// export const notificationWorker = new Worker(NOTIFS_QUEUE, async (job) => {\n// if (!job) return;\n//\n// const { name, data } = job;\n// console.log(`Processing notification job ${job.id} - ${name}`);\n//\n// if (name === 'send-admin-notification') {\n// await sendAdminNotification(data);\n// } else if (name === 'send-notification') {\n// // Handle legacy notification type\n// console.log('Legacy notification job - not implemented yet');\n// }\n// }, {\n// connection: { url: redisUrl },\n// concurrency: 5,\n// });\n\nexport async function sendAdminNotification(data: {\n token: string;\n title: string;\n body: string;\n imageUrl: string | null;\n}) {\n const { token, title, body, imageUrl } = data;\n \n // Validate Expo push token\n if (!Expo.isExpoPushToken(token)) {\n console.error(`Invalid Expo push token: ${token}`);\n return;\n }\n \n // Generate signed URL for image if provided\n const signedImageUrl = imageUrl ? scaffoldAssetUrl(imageUrl) : null;\n \n // Send notification\n const expo = new Expo();\n const message = {\n to: token,\n sound: 'default',\n title,\n body,\n data: { imageUrl },\n ...(signedImageUrl ? {\n attachments: [\n {\n url: signedImageUrl,\n contentType: 'image/jpeg',\n }\n ]\n } : {}),\n };\n \n try {\n const [ticket] = await expo.sendPushNotificationsAsync([message]);\n console.log(`Notification sent:`, ticket);\n } catch (error) {\n console.error(`Failed to send notification:`, error);\n throw error;\n }\n}\n\n// notificationWorker.on('completed', (job) => {\n// if (job) console.log(`Notification job ${job.id} completed`);\n// });\n// notificationWorker.on('failed', (job, err) => {\n// if (job) console.error(`Notification job ${job.id} failed:`, err);\n// });\n\nexport async function scheduleNotification(userId: number, payload: any, options?: { delay?: number; priority?: number }) {\n const jobData = { userId, ...payload };\n await queueDataPusher.pushNotifQueue({ name: 'send-notification', jobData, options })\n}\n\n// Utility methods for specific notification events\nexport async function sendOrderPlacedNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Order Placed',\n body: ORDER_PLACED_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendPaymentFailedNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Payment Failed',\n body: PAYMENT_FAILED_MESSAGE,\n type: 'payment',\n orderId\n });\n}\n\nexport async function sendOrderPackagedNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Order Packaged',\n body: ORDER_PACKAGED_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendOrderOutForDeliveryNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Out for Delivery',\n body: ORDER_OUT_FOR_DELIVERY_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendOrderDeliveredNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Order Delivered',\n body: ORDER_DELIVERED_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendOrderCancelledNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Order Cancelled',\n body: ORDER_CANCELLED_MESSAGE,\n type: 'order',\n orderId\n });\n}\n\nexport async function sendRefundInitiatedNotification(userId: number, orderId?: string) {\n await scheduleNotification(userId, {\n title: 'Refund Initiated',\n body: REFUND_INITIATED_MESSAGE,\n type: 'refund',\n orderId\n });\n}\n//\n// process.on('SIGTERM', async () => {\n// await notificationQueue.close();\n// await notificationWorker.close();\n// });\n", "import axios from 'axios';\nimport { getIsDevMode, getTelegramBotToken, getTelegramChatIds } from '@/src/lib/env-exporter'\n\n/**\n * Send a message to Telegram bot\n * @param message The message text to send\n * @returns Promise indicating success, failure, or null if dev mode\n */\nexport const sendTelegramMessage = async (message: string): Promise => {\n console.log('from send telegram message')\n if (getIsDevMode()) {\n return null;\n }\n const botToken = getTelegramBotToken()\n const chatIds = getTelegramChatIds()\n if (!botToken || chatIds.length === 0) {\n console.warn('Telegram credentials not configured, skipping notification')\n return null\n }\n const telegramApiUrl = `https://api.telegram.org/bot${botToken}`\n console.log(botToken, chatIds, telegramApiUrl)\n try {\n const results = await Promise.all(\n chatIds.map(async (chatId) => {\n try {\n const response = await axios.post(`${telegramApiUrl}/sendMessage`, {\n chat_id: chatId,\n text: message,\n parse_mode: 'HTML',\n });\n\n if (response.data && response.data.ok) {\n console.log(`Telegram message sent successfully to ${chatId}`);\n return true;\n } else {\n console.error(`Telegram API error for ${chatId}:`, response.data);\n return false;\n }\n } catch (error) {\n console.error(`Failed to send Telegram message to ${chatId}:`, error);\n return false;\n }\n })\n ); \n\n console.log('sent telegram message successfully')\n \n\n // Return true if at least one message was sent successfully\n return results.some((result) => result);\n } catch (error) {\n console.error('Failed to send Telegram message:', error);\n return false;\n }\n};\n", "import {\n getOrdersByIdsWithFullData,\n getOrderByIdWithFullData,\n} from '@/src/dbService'\nimport { sendTelegramMessage } from '@/src/lib/telegram-service'\nimport { queueDataPusher } from '@/src/lib/queue-data-pusher'\n\ninterface OrderIdMessage {\n orderIds: number[];\n}\n\ninterface CancellationMessage {\n orderId: number;\n cancelledBy: 'user' | 'admin';\n reason: string;\n cancelledAt: string;\n}\n\nconst formatDateTime = (dateStr: string | null | undefined): string => {\n if (!dateStr) return 'N/A';\n return new Date(dateStr).toLocaleString('en-IN', {\n dateStyle: 'medium',\n timeStyle: 'short',\n timeZone: 'Asia/Kolkata',\n });\n};\n\nconst formatOrderMessageWithFullData = (ordersData: any[]): string => {\n console.log('formatting the msg')\n let message = '\uD83D\uDED2 New Order Placed\\n\\n';\n\n ordersData.forEach((order, index) => {\n message += `Order ${order.id}\\n`;\n\n message += '\uD83D\uDCE6 Items:\\n';\n order.orderItems?.forEach((item: any) => {\n message += ` \u2022 ${item.product?.name || 'Unknown'} x${item.quantity}\\n`;\n });\n\n message += `\\n\uD83D\uDCB0 Total: \u20B9${order.totalAmount}\\n`;\n\n message += `\uD83D\uDE9A Delivery: ${\n order.isFlashDelivery ? 'Flash Delivery' : formatDateTime(order.slot?.deliveryTime)\n }\\n`;\n\n message += `\\n\uD83D\uDCCD Address:\\n`;\n message += ` ${order.address?.name || 'N/A'}\\n`;\n message += ` ${order.address?.addressLine1 || ''}\\n`;\n if (order.address?.addressLine2) {\n message += ` ${order.address.addressLine2}\\n`;\n }\n message += ` ${order.address?.city || ''}, ${order.address?.state || ''} - ${order.address?.pincode || ''}\\n`;\n if (order.address?.phone) {\n message += ` \uD83D\uDCDE ${order.address.phone}\\n`;\n }\n\n if (index < ordersData.length - 1) {\n message += '\\n---\\n\\n';\n }\n });\n\n return message;\n};\n\nconst formatCancellationMessage = (orderData: any, cancellationData: CancellationMessage): string => {\n const message = `\u274C Order Cancelled\n\nOrder #${orderData.id}\n\n\uD83D\uDC64 Name: ${orderData.address?.name || 'N/A'}\n\uD83D\uDCDE Phone: ${orderData.address?.phone || 'N/A'}\n\n\uD83D\uDCE6 Items:\n${orderData.orderItems?.map((item: any) => ` \u2022 ${item.product?.name || 'Unknown'} x${item.quantity}`).join('\\n') || ' N/A'}\n\n\uD83D\uDCB0 Total: \u20B9${orderData.totalAmount}\n\uD83D\uDCB3 Refund: ${orderData.refundStatus === 'na' ? 'N/A (COD)' : orderData.refundStatus || 'Pending'}\n\n\u2753 Reason: ${cancellationData.reason}\n\uD83D\uDC64 Cancelled by: ${cancellationData.cancelledBy === 'admin' ? 'Admin' : 'User'}\n\u23F0 Time: ${formatDateTime(cancellationData.cancelledAt)}\n`;\n\n return message;\n};\n\nexport const handleOrderPlaced = async (orderIds: number[], rawMessage?: string): Promise => {\n try {\n const ordersData = await getOrdersByIdsWithFullData(orderIds)\n console.log({ordersData});\n const telegramMessage = formatOrderMessageWithFullData(ordersData)\n await sendTelegramMessage(telegramMessage)\n } catch (error) {\n console.error('Failed to process order message:', error)\n const fallback = rawMessage ? `\u26A0\uFE0F Error parsing order: ${rawMessage}` : '\u26A0\uFE0F Error parsing order'\n await sendTelegramMessage(fallback)\n }\n}\n\nexport const handleOrderCancelled = async (\n cancellationData: CancellationMessage,\n rawMessage?: string\n): Promise => {\n try {\n console.log('Order cancellation received, sending to Telegram...')\n const orderData = await getOrderByIdWithFullData(cancellationData.orderId)\n\n if (!orderData) {\n console.error('Order not found for cancellation:', cancellationData.orderId)\n await sendTelegramMessage(`\u26A0\uFE0F Order ${cancellationData.orderId} was cancelled but could not be found in database`)\n return\n }\n\n const refundStatus = orderData.refunds?.[0]?.refundStatus || 'pending'\n\n const telegramMessage = formatCancellationMessage({ ...orderData, refundStatus }, cancellationData)\n await sendTelegramMessage(telegramMessage)\n } catch (error) {\n console.error('Failed to process cancellation message:', error)\n const fallback = rawMessage ? `\u26A0\uFE0F Error processing cancellation: ${rawMessage}` : '\u26A0\uFE0F Error processing cancellation'\n await sendTelegramMessage(fallback)\n }\n}\n\n/**\n * Start the post order handler\n * Subscribes to the orders:placed channel and sends to Telegram\n */\nexport const publishOrder = async (orderDetails: OrderIdMessage): Promise => {\n console.log('publishing order')\n try {\n await queueDataPusher.pushOrderPlacedQueue({\n name: 'order-placed',\n orderIds: orderDetails.orderIds,\n })\n return true;\n } catch (error) {\n console.error('Failed to publish order:', error);\n return false;\n }\n};\n\nexport const publishFormattedOrder = async (\n createdOrders: any[],\n ordersBySlot: Map\n): Promise => {\n try {\n const orderIds = createdOrders.map(order => order.id);\n return await publishOrder({ orderIds });\n } catch (error) {\n console.error('Failed to format and publish order:', error);\n return false;\n }\n};\n\nexport const publishCancellation = async (\n orderId: number,\n cancelledBy: 'user' | 'admin',\n reason: string\n): Promise => {\n try {\n const message: CancellationMessage = {\n orderId,\n cancelledBy,\n reason,\n cancelledAt: new Date().toISOString(),\n };\n await queueDataPusher.pushOrderCancelledQueue({\n name: 'order-cancelled',\n ...message,\n })\n console.log('Cancellation published to queue:', orderId);\n return true;\n } catch (error) {\n console.error('Failed to publish cancellation:', error);\n return false;\n }\n};\n", "// src/compose.ts\nvar compose = (middleware, onError, onNotFound) => {\n return (context, next) => {\n let index = -1;\n return dispatch(0);\n async function dispatch(i) {\n if (i <= index) {\n throw new Error(\"next() called multiple times\");\n }\n index = i;\n let res;\n let isError = false;\n let handler;\n if (middleware[i]) {\n handler = middleware[i][0][0];\n context.req.routeIndex = i;\n } else {\n handler = i === middleware.length && next || void 0;\n }\n if (handler) {\n try {\n res = await handler(context, () => dispatch(i + 1));\n } catch (err) {\n if (err instanceof Error && onError) {\n context.error = err;\n res = await onError(err, context);\n isError = true;\n } else {\n throw err;\n }\n }\n } else {\n if (context.finalized === false && onNotFound) {\n res = await onNotFound(context);\n }\n }\n if (res && (context.finalized === false || isError)) {\n context.res = res;\n }\n return context;\n }\n };\n};\nexport {\n compose\n};\n", "// src/http-exception.ts\nvar HTTPException = class extends Error {\n res;\n status;\n /**\n * Creates an instance of `HTTPException`.\n * @param status - HTTP status code for the exception. Defaults to 500.\n * @param options - Additional options for the exception.\n */\n constructor(status = 500, options) {\n super(options?.message, { cause: options?.cause });\n this.res = options?.res;\n this.status = status;\n }\n /**\n * Returns the response object associated with the exception.\n * If a response object is not provided, a new response is created with the error message and status code.\n * @returns The response object.\n */\n getResponse() {\n if (this.res) {\n const newResponse = new Response(this.res.body, {\n status: this.status,\n headers: this.res.headers\n });\n return newResponse;\n }\n return new Response(this.message, {\n status: this.status\n });\n }\n};\nexport {\n HTTPException\n};\n", "// src/request/constants.ts\nvar GET_MATCH_RESULT = /* @__PURE__ */ Symbol();\nexport {\n GET_MATCH_RESULT\n};\n", "// src/utils/body.ts\nimport { HonoRequest } from \"../request.js\";\nvar parseBody = async (request, options = /* @__PURE__ */ Object.create(null)) => {\n const { all = false, dot = false } = options;\n const headers = request instanceof HonoRequest ? request.raw.headers : request.headers;\n const contentType = headers.get(\"Content-Type\");\n if (contentType?.startsWith(\"multipart/form-data\") || contentType?.startsWith(\"application/x-www-form-urlencoded\")) {\n return parseFormData(request, { all, dot });\n }\n return {};\n};\nasync function parseFormData(request, options) {\n const formData = await request.formData();\n if (formData) {\n return convertFormDataToBodyData(formData, options);\n }\n return {};\n}\nfunction convertFormDataToBodyData(formData, options) {\n const form = /* @__PURE__ */ Object.create(null);\n formData.forEach((value, key) => {\n const shouldParseAllValues = options.all || key.endsWith(\"[]\");\n if (!shouldParseAllValues) {\n form[key] = value;\n } else {\n handleParsingAllValues(form, key, value);\n }\n });\n if (options.dot) {\n Object.entries(form).forEach(([key, value]) => {\n const shouldParseDotValues = key.includes(\".\");\n if (shouldParseDotValues) {\n handleParsingNestedValues(form, key, value);\n delete form[key];\n }\n });\n }\n return form;\n}\nvar handleParsingAllValues = (form, key, value) => {\n if (form[key] !== void 0) {\n if (Array.isArray(form[key])) {\n ;\n form[key].push(value);\n } else {\n form[key] = [form[key], value];\n }\n } else {\n if (!key.endsWith(\"[]\")) {\n form[key] = value;\n } else {\n form[key] = [value];\n }\n }\n};\nvar handleParsingNestedValues = (form, key, value) => {\n if (/(?:^|\\.)__proto__\\./.test(key)) {\n return;\n }\n let nestedForm = form;\n const keys = key.split(\".\");\n keys.forEach((key2, index) => {\n if (index === keys.length - 1) {\n nestedForm[key2] = value;\n } else {\n if (!nestedForm[key2] || typeof nestedForm[key2] !== \"object\" || Array.isArray(nestedForm[key2]) || nestedForm[key2] instanceof File) {\n nestedForm[key2] = /* @__PURE__ */ Object.create(null);\n }\n nestedForm = nestedForm[key2];\n }\n });\n};\nexport {\n parseBody\n};\n", "// src/utils/url.ts\nvar splitPath = (path) => {\n const paths = path.split(\"/\");\n if (paths[0] === \"\") {\n paths.shift();\n }\n return paths;\n};\nvar splitRoutingPath = (routePath) => {\n const { groups, path } = extractGroupsFromPath(routePath);\n const paths = splitPath(path);\n return replaceGroupMarks(paths, groups);\n};\nvar extractGroupsFromPath = (path) => {\n const groups = [];\n path = path.replace(/\\{[^}]+\\}/g, (match, index) => {\n const mark = `@${index}`;\n groups.push([mark, match]);\n return mark;\n });\n return { groups, path };\n};\nvar replaceGroupMarks = (paths, groups) => {\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = paths.length - 1; j >= 0; j--) {\n if (paths[j].includes(mark)) {\n paths[j] = paths[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n return paths;\n};\nvar patternCache = {};\nvar getPattern = (label, next) => {\n if (label === \"*\") {\n return \"*\";\n }\n const match = label.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n if (match) {\n const cacheKey = `${label}#${next}`;\n if (!patternCache[cacheKey]) {\n if (match[2]) {\n patternCache[cacheKey] = next && next[0] !== \":\" && next[0] !== \"*\" ? [cacheKey, match[1], new RegExp(`^${match[2]}(?=/${next})`)] : [label, match[1], new RegExp(`^${match[2]}$`)];\n } else {\n patternCache[cacheKey] = [label, match[1], true];\n }\n }\n return patternCache[cacheKey];\n }\n return null;\n};\nvar tryDecode = (str, decoder) => {\n try {\n return decoder(str);\n } catch {\n return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {\n try {\n return decoder(match);\n } catch {\n return match;\n }\n });\n }\n};\nvar tryDecodeURI = (str) => tryDecode(str, decodeURI);\nvar getPath = (request) => {\n const url = request.url;\n const start = url.indexOf(\"/\", url.indexOf(\":\") + 4);\n let i = start;\n for (; i < url.length; i++) {\n const charCode = url.charCodeAt(i);\n if (charCode === 37) {\n const queryIndex = url.indexOf(\"?\", i);\n const hashIndex = url.indexOf(\"#\", i);\n const end = queryIndex === -1 ? hashIndex === -1 ? void 0 : hashIndex : hashIndex === -1 ? queryIndex : Math.min(queryIndex, hashIndex);\n const path = url.slice(start, end);\n return tryDecodeURI(path.includes(\"%25\") ? path.replace(/%25/g, \"%2525\") : path);\n } else if (charCode === 63 || charCode === 35) {\n break;\n }\n }\n return url.slice(start, i);\n};\nvar getQueryStrings = (url) => {\n const queryIndex = url.indexOf(\"?\", 8);\n return queryIndex === -1 ? \"\" : \"?\" + url.slice(queryIndex + 1);\n};\nvar getPathNoStrict = (request) => {\n const result = getPath(request);\n return result.length > 1 && result.at(-1) === \"/\" ? result.slice(0, -1) : result;\n};\nvar mergePath = (base, sub, ...rest) => {\n if (rest.length) {\n sub = mergePath(sub, ...rest);\n }\n return `${base?.[0] === \"/\" ? \"\" : \"/\"}${base}${sub === \"/\" ? \"\" : `${base?.at(-1) === \"/\" ? \"\" : \"/\"}${sub?.[0] === \"/\" ? sub.slice(1) : sub}`}`;\n};\nvar checkOptionalParameter = (path) => {\n if (path.charCodeAt(path.length - 1) !== 63 || !path.includes(\":\")) {\n return null;\n }\n const segments = path.split(\"/\");\n const results = [];\n let basePath = \"\";\n segments.forEach((segment) => {\n if (segment !== \"\" && !/\\:/.test(segment)) {\n basePath += \"/\" + segment;\n } else if (/\\:/.test(segment)) {\n if (/\\?/.test(segment)) {\n if (results.length === 0 && basePath === \"\") {\n results.push(\"/\");\n } else {\n results.push(basePath);\n }\n const optionalSegment = segment.replace(\"?\", \"\");\n basePath += \"/\" + optionalSegment;\n results.push(basePath);\n } else {\n basePath += \"/\" + segment;\n }\n }\n });\n return results.filter((v, i, a) => a.indexOf(v) === i);\n};\nvar _decodeURI = (value) => {\n if (!/[%+]/.test(value)) {\n return value;\n }\n if (value.indexOf(\"+\") !== -1) {\n value = value.replace(/\\+/g, \" \");\n }\n return value.indexOf(\"%\") !== -1 ? tryDecode(value, decodeURIComponent_) : value;\n};\nvar _getQueryParam = (url, key, multiple) => {\n let encoded;\n if (!multiple && key && !/[%+]/.test(key)) {\n let keyIndex2 = url.indexOf(\"?\", 8);\n if (keyIndex2 === -1) {\n return void 0;\n }\n if (!url.startsWith(key, keyIndex2 + 1)) {\n keyIndex2 = url.indexOf(`&${key}`, keyIndex2 + 1);\n }\n while (keyIndex2 !== -1) {\n const trailingKeyCode = url.charCodeAt(keyIndex2 + key.length + 1);\n if (trailingKeyCode === 61) {\n const valueIndex = keyIndex2 + key.length + 2;\n const endIndex = url.indexOf(\"&\", valueIndex);\n return _decodeURI(url.slice(valueIndex, endIndex === -1 ? void 0 : endIndex));\n } else if (trailingKeyCode == 38 || isNaN(trailingKeyCode)) {\n return \"\";\n }\n keyIndex2 = url.indexOf(`&${key}`, keyIndex2 + 1);\n }\n encoded = /[%+]/.test(url);\n if (!encoded) {\n return void 0;\n }\n }\n const results = {};\n encoded ??= /[%+]/.test(url);\n let keyIndex = url.indexOf(\"?\", 8);\n while (keyIndex !== -1) {\n const nextKeyIndex = url.indexOf(\"&\", keyIndex + 1);\n let valueIndex = url.indexOf(\"=\", keyIndex);\n if (valueIndex > nextKeyIndex && nextKeyIndex !== -1) {\n valueIndex = -1;\n }\n let name = url.slice(\n keyIndex + 1,\n valueIndex === -1 ? nextKeyIndex === -1 ? void 0 : nextKeyIndex : valueIndex\n );\n if (encoded) {\n name = _decodeURI(name);\n }\n keyIndex = nextKeyIndex;\n if (name === \"\") {\n continue;\n }\n let value;\n if (valueIndex === -1) {\n value = \"\";\n } else {\n value = url.slice(valueIndex + 1, nextKeyIndex === -1 ? void 0 : nextKeyIndex);\n if (encoded) {\n value = _decodeURI(value);\n }\n }\n if (multiple) {\n if (!(results[name] && Array.isArray(results[name]))) {\n results[name] = [];\n }\n ;\n results[name].push(value);\n } else {\n results[name] ??= value;\n }\n }\n return key ? results[key] : results;\n};\nvar getQueryParam = _getQueryParam;\nvar getQueryParams = (url, key) => {\n return _getQueryParam(url, key, true);\n};\nvar decodeURIComponent_ = decodeURIComponent;\nexport {\n checkOptionalParameter,\n decodeURIComponent_,\n getPath,\n getPathNoStrict,\n getPattern,\n getQueryParam,\n getQueryParams,\n getQueryStrings,\n mergePath,\n splitPath,\n splitRoutingPath,\n tryDecode,\n tryDecodeURI\n};\n", "// src/request.ts\nimport { HTTPException } from \"./http-exception.js\";\nimport { GET_MATCH_RESULT } from \"./request/constants.js\";\nimport { parseBody } from \"./utils/body.js\";\nimport { decodeURIComponent_, getQueryParam, getQueryParams, tryDecode } from \"./utils/url.js\";\nvar tryDecodeURIComponent = (str) => tryDecode(str, decodeURIComponent_);\nvar HonoRequest = class {\n /**\n * `.raw` can get the raw Request object.\n *\n * @see {@link https://hono.dev/docs/api/request#raw}\n *\n * @example\n * ```ts\n * // For Cloudflare Workers\n * app.post('/', async (c) => {\n * const metadata = c.req.raw.cf?.hostMetadata?\n * ...\n * })\n * ```\n */\n raw;\n #validatedData;\n // Short name of validatedData\n #matchResult;\n routeIndex = 0;\n /**\n * `.path` can get the pathname of the request.\n *\n * @see {@link https://hono.dev/docs/api/request#path}\n *\n * @example\n * ```ts\n * app.get('/about/me', (c) => {\n * const pathname = c.req.path // `/about/me`\n * })\n * ```\n */\n path;\n bodyCache = {};\n constructor(request, path = \"/\", matchResult = [[]]) {\n this.raw = request;\n this.path = path;\n this.#matchResult = matchResult;\n this.#validatedData = {};\n }\n param(key) {\n return key ? this.#getDecodedParam(key) : this.#getAllDecodedParams();\n }\n #getDecodedParam(key) {\n const paramKey = this.#matchResult[0][this.routeIndex][1][key];\n const param = this.#getParamValue(paramKey);\n return param && /\\%/.test(param) ? tryDecodeURIComponent(param) : param;\n }\n #getAllDecodedParams() {\n const decoded = {};\n const keys = Object.keys(this.#matchResult[0][this.routeIndex][1]);\n for (const key of keys) {\n const value = this.#getParamValue(this.#matchResult[0][this.routeIndex][1][key]);\n if (value !== void 0) {\n decoded[key] = /\\%/.test(value) ? tryDecodeURIComponent(value) : value;\n }\n }\n return decoded;\n }\n #getParamValue(paramKey) {\n return this.#matchResult[1] ? this.#matchResult[1][paramKey] : paramKey;\n }\n query(key) {\n return getQueryParam(this.url, key);\n }\n queries(key) {\n return getQueryParams(this.url, key);\n }\n header(name) {\n if (name) {\n return this.raw.headers.get(name) ?? void 0;\n }\n const headerData = {};\n this.raw.headers.forEach((value, key) => {\n headerData[key] = value;\n });\n return headerData;\n }\n async parseBody(options) {\n return parseBody(this, options);\n }\n #cachedBody = (key) => {\n const { bodyCache, raw } = this;\n const cachedBody = bodyCache[key];\n if (cachedBody) {\n return cachedBody;\n }\n const anyCachedKey = Object.keys(bodyCache)[0];\n if (anyCachedKey) {\n return bodyCache[anyCachedKey].then((body) => {\n if (anyCachedKey === \"json\") {\n body = JSON.stringify(body);\n }\n return new Response(body)[key]();\n });\n }\n return bodyCache[key] = raw[key]();\n };\n /**\n * `.json()` can parse Request body of type `application/json`\n *\n * @see {@link https://hono.dev/docs/api/request#json}\n *\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.json()\n * })\n * ```\n */\n json() {\n return this.#cachedBody(\"text\").then((text) => JSON.parse(text));\n }\n /**\n * `.text()` can parse Request body of type `text/plain`\n *\n * @see {@link https://hono.dev/docs/api/request#text}\n *\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.text()\n * })\n * ```\n */\n text() {\n return this.#cachedBody(\"text\");\n }\n /**\n * `.arrayBuffer()` parse Request body as an `ArrayBuffer`\n *\n * @see {@link https://hono.dev/docs/api/request#arraybuffer}\n *\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.arrayBuffer()\n * })\n * ```\n */\n arrayBuffer() {\n return this.#cachedBody(\"arrayBuffer\");\n }\n /**\n * Parses the request body as a `Blob`.\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.blob();\n * });\n * ```\n * @see https://hono.dev/docs/api/request#blob\n */\n blob() {\n return this.#cachedBody(\"blob\");\n }\n /**\n * Parses the request body as `FormData`.\n * @example\n * ```ts\n * app.post('/entry', async (c) => {\n * const body = await c.req.formData();\n * });\n * ```\n * @see https://hono.dev/docs/api/request#formdata\n */\n formData() {\n return this.#cachedBody(\"formData\");\n }\n /**\n * Adds validated data to the request.\n *\n * @param target - The target of the validation.\n * @param data - The validated data to add.\n */\n addValidatedData(target, data) {\n this.#validatedData[target] = data;\n }\n valid(target) {\n return this.#validatedData[target];\n }\n /**\n * `.url()` can get the request url strings.\n *\n * @see {@link https://hono.dev/docs/api/request#url}\n *\n * @example\n * ```ts\n * app.get('/about/me', (c) => {\n * const url = c.req.url // `http://localhost:8787/about/me`\n * ...\n * })\n * ```\n */\n get url() {\n return this.raw.url;\n }\n /**\n * `.method()` can get the method name of the request.\n *\n * @see {@link https://hono.dev/docs/api/request#method}\n *\n * @example\n * ```ts\n * app.get('/about/me', (c) => {\n * const method = c.req.method // `GET`\n * })\n * ```\n */\n get method() {\n return this.raw.method;\n }\n get [GET_MATCH_RESULT]() {\n return this.#matchResult;\n }\n /**\n * `.matchedRoutes()` can return a matched route in the handler\n *\n * @deprecated\n *\n * Use matchedRoutes helper defined in \"hono/route\" instead.\n *\n * @see {@link https://hono.dev/docs/api/request#matchedroutes}\n *\n * @example\n * ```ts\n * app.use('*', async function logger(c, next) {\n * await next()\n * c.req.matchedRoutes.forEach(({ handler, method, path }, i) => {\n * const name = handler.name || (handler.length < 2 ? '[handler]' : '[middleware]')\n * console.log(\n * method,\n * ' ',\n * path,\n * ' '.repeat(Math.max(10 - path.length, 0)),\n * name,\n * i === c.req.routeIndex ? '<- respond from here' : ''\n * )\n * })\n * })\n * ```\n */\n get matchedRoutes() {\n return this.#matchResult[0].map(([[, route]]) => route);\n }\n /**\n * `routePath()` can retrieve the path registered within the handler\n *\n * @deprecated\n *\n * Use routePath helper defined in \"hono/route\" instead.\n *\n * @see {@link https://hono.dev/docs/api/request#routepath}\n *\n * @example\n * ```ts\n * app.get('/posts/:id', (c) => {\n * return c.json({ path: c.req.routePath })\n * })\n * ```\n */\n get routePath() {\n return this.#matchResult[0].map(([[, route]]) => route)[this.routeIndex].path;\n }\n};\nvar cloneRawRequest = async (req) => {\n if (!req.raw.bodyUsed) {\n return req.raw.clone();\n }\n const cacheKey = Object.keys(req.bodyCache)[0];\n if (!cacheKey) {\n throw new HTTPException(500, {\n message: \"Cannot clone request: body was already consumed and not cached. Please use HonoRequest methods (e.g., req.json(), req.text()) instead of consuming req.raw directly.\"\n });\n }\n const requestInit = {\n body: await req[cacheKey](),\n cache: req.raw.cache,\n credentials: req.raw.credentials,\n headers: req.header(),\n integrity: req.raw.integrity,\n keepalive: req.raw.keepalive,\n method: req.method,\n mode: req.raw.mode,\n redirect: req.raw.redirect,\n referrer: req.raw.referrer,\n referrerPolicy: req.raw.referrerPolicy,\n signal: req.raw.signal\n };\n return new Request(req.url, requestInit);\n};\nexport {\n HonoRequest,\n cloneRawRequest\n};\n", "// src/utils/html.ts\nvar HtmlEscapedCallbackPhase = {\n Stringify: 1,\n BeforeStream: 2,\n Stream: 3\n};\nvar raw = (value, callbacks) => {\n const escapedString = new String(value);\n escapedString.isEscaped = true;\n escapedString.callbacks = callbacks;\n return escapedString;\n};\nvar escapeRe = /[&<>'\"]/;\nvar stringBufferToString = async (buffer, callbacks) => {\n let str = \"\";\n callbacks ||= [];\n const resolvedBuffer = await Promise.all(buffer);\n for (let i = resolvedBuffer.length - 1; ; i--) {\n str += resolvedBuffer[i];\n i--;\n if (i < 0) {\n break;\n }\n let r = resolvedBuffer[i];\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n const isEscaped = r.isEscaped;\n r = await (typeof r === \"object\" ? r.toString() : r);\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n if (r.isEscaped ?? isEscaped) {\n str += r;\n } else {\n const buf = [str];\n escapeToBuffer(r, buf);\n str = buf[0];\n }\n }\n return raw(str, callbacks);\n};\nvar escapeToBuffer = (str, buffer) => {\n const match = str.search(escapeRe);\n if (match === -1) {\n buffer[0] += str;\n return;\n }\n let escape;\n let index;\n let lastIndex = 0;\n for (index = match; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escape = \""\";\n break;\n case 39:\n escape = \"'\";\n break;\n case 38:\n escape = \"&\";\n break;\n case 60:\n escape = \"<\";\n break;\n case 62:\n escape = \">\";\n break;\n default:\n continue;\n }\n buffer[0] += str.substring(lastIndex, index) + escape;\n lastIndex = index + 1;\n }\n buffer[0] += str.substring(lastIndex, index);\n};\nvar resolveCallbackSync = (str) => {\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return str;\n }\n const buffer = [str];\n const context = {};\n callbacks.forEach((c) => c({ phase: HtmlEscapedCallbackPhase.Stringify, buffer, context }));\n return buffer[0];\n};\nvar resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => {\n if (typeof str === \"object\" && !(str instanceof String)) {\n if (!(str instanceof Promise)) {\n str = str.toString();\n }\n if (str instanceof Promise) {\n str = await str;\n }\n }\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return Promise.resolve(str);\n }\n if (buffer) {\n buffer[0] += str;\n } else {\n buffer = [str];\n }\n const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then(\n (res) => Promise.all(\n res.filter(Boolean).map((str2) => resolveCallback(str2, phase, false, context, buffer))\n ).then(() => buffer[0])\n );\n if (preserveCallbacks) {\n return raw(await resStr, callbacks);\n } else {\n return resStr;\n }\n};\nexport {\n HtmlEscapedCallbackPhase,\n escapeToBuffer,\n raw,\n resolveCallback,\n resolveCallbackSync,\n stringBufferToString\n};\n", "// src/context.ts\nimport { HonoRequest } from \"./request.js\";\nimport { HtmlEscapedCallbackPhase, resolveCallback } from \"./utils/html.js\";\nvar TEXT_PLAIN = \"text/plain; charset=UTF-8\";\nvar setDefaultContentType = (contentType, headers) => {\n return {\n \"Content-Type\": contentType,\n ...headers\n };\n};\nvar createResponseInstance = (body, init) => new Response(body, init);\nvar Context = class {\n #rawRequest;\n #req;\n /**\n * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.\n *\n * @see {@link https://hono.dev/docs/api/context#env}\n *\n * @example\n * ```ts\n * // Environment object for Cloudflare Workers\n * app.get('*', async c => {\n * const counter = c.env.COUNTER\n * })\n * ```\n */\n env = {};\n #var;\n finalized = false;\n /**\n * `.error` can get the error object from the middleware if the Handler throws an error.\n *\n * @see {@link https://hono.dev/docs/api/context#error}\n *\n * @example\n * ```ts\n * app.use('*', async (c, next) => {\n * await next()\n * if (c.error) {\n * // do something...\n * }\n * })\n * ```\n */\n error;\n #status;\n #executionCtx;\n #res;\n #layout;\n #renderer;\n #notFoundHandler;\n #preparedHeaders;\n #matchResult;\n #path;\n /**\n * Creates an instance of the Context class.\n *\n * @param req - The Request object.\n * @param options - Optional configuration options for the context.\n */\n constructor(req, options) {\n this.#rawRequest = req;\n if (options) {\n this.#executionCtx = options.executionCtx;\n this.env = options.env;\n this.#notFoundHandler = options.notFoundHandler;\n this.#path = options.path;\n this.#matchResult = options.matchResult;\n }\n }\n /**\n * `.req` is the instance of {@link HonoRequest}.\n */\n get req() {\n this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);\n return this.#req;\n }\n /**\n * @see {@link https://hono.dev/docs/api/context#event}\n * The FetchEvent associated with the current request.\n *\n * @throws Will throw an error if the context does not have a FetchEvent.\n */\n get event() {\n if (this.#executionCtx && \"respondWith\" in this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no FetchEvent\");\n }\n }\n /**\n * @see {@link https://hono.dev/docs/api/context#executionctx}\n * The ExecutionContext associated with the current request.\n *\n * @throws Will throw an error if the context does not have an ExecutionContext.\n */\n get executionCtx() {\n if (this.#executionCtx) {\n return this.#executionCtx;\n } else {\n throw Error(\"This context has no ExecutionContext\");\n }\n }\n /**\n * @see {@link https://hono.dev/docs/api/context#res}\n * The Response object for the current request.\n */\n get res() {\n return this.#res ||= createResponseInstance(null, {\n headers: this.#preparedHeaders ??= new Headers()\n });\n }\n /**\n * Sets the Response object for the current request.\n *\n * @param _res - The Response object to set.\n */\n set res(_res) {\n if (this.#res && _res) {\n _res = createResponseInstance(_res.body, _res);\n for (const [k, v] of this.#res.headers.entries()) {\n if (k === \"content-type\") {\n continue;\n }\n if (k === \"set-cookie\") {\n const cookies = this.#res.headers.getSetCookie();\n _res.headers.delete(\"set-cookie\");\n for (const cookie of cookies) {\n _res.headers.append(\"set-cookie\", cookie);\n }\n } else {\n _res.headers.set(k, v);\n }\n }\n }\n this.#res = _res;\n this.finalized = true;\n }\n /**\n * `.render()` can create a response within a layout.\n *\n * @see {@link https://hono.dev/docs/api/context#render-setrenderer}\n *\n * @example\n * ```ts\n * app.get('/', (c) => {\n * return c.render('Hello!')\n * })\n * ```\n */\n render = (...args) => {\n this.#renderer ??= (content) => this.html(content);\n return this.#renderer(...args);\n };\n /**\n * Sets the layout for the response.\n *\n * @param layout - The layout to set.\n * @returns The layout function.\n */\n setLayout = (layout) => this.#layout = layout;\n /**\n * Gets the current layout for the response.\n *\n * @returns The current layout function.\n */\n getLayout = () => this.#layout;\n /**\n * `.setRenderer()` can set the layout in the custom middleware.\n *\n * @see {@link https://hono.dev/docs/api/context#render-setrenderer}\n *\n * @example\n * ```tsx\n * app.use('*', async (c, next) => {\n * c.setRenderer((content) => {\n * return c.html(\n * \n * \n *

{content}

\n * \n * \n * )\n * })\n * await next()\n * })\n * ```\n */\n setRenderer = (renderer) => {\n this.#renderer = renderer;\n };\n /**\n * `.header()` can set headers.\n *\n * @see {@link https://hono.dev/docs/api/context#header}\n *\n * @example\n * ```ts\n * app.get('/welcome', (c) => {\n * // Set headers\n * c.header('X-Message', 'Hello!')\n * c.header('Content-Type', 'text/plain')\n *\n * return c.body('Thank you for coming')\n * })\n * ```\n */\n header = (name, value, options) => {\n if (this.finalized) {\n this.#res = createResponseInstance(this.#res.body, this.#res);\n }\n const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();\n if (value === void 0) {\n headers.delete(name);\n } else if (options?.append) {\n headers.append(name, value);\n } else {\n headers.set(name, value);\n }\n };\n status = (status) => {\n this.#status = status;\n };\n /**\n * `.set()` can set the value specified by the key.\n *\n * @see {@link https://hono.dev/docs/api/context#set-get}\n *\n * @example\n * ```ts\n * app.use('*', async (c, next) => {\n * c.set('message', 'Hono is hot!!')\n * await next()\n * })\n * ```\n */\n set = (key, value) => {\n this.#var ??= /* @__PURE__ */ new Map();\n this.#var.set(key, value);\n };\n /**\n * `.get()` can use the value specified by the key.\n *\n * @see {@link https://hono.dev/docs/api/context#set-get}\n *\n * @example\n * ```ts\n * app.get('/', (c) => {\n * const message = c.get('message')\n * return c.text(`The message is \"${message}\"`)\n * })\n * ```\n */\n get = (key) => {\n return this.#var ? this.#var.get(key) : void 0;\n };\n /**\n * `.var` can access the value of a variable.\n *\n * @see {@link https://hono.dev/docs/api/context#var}\n *\n * @example\n * ```ts\n * const result = c.var.client.oneMethod()\n * ```\n */\n // c.var.propName is a read-only\n get var() {\n if (!this.#var) {\n return {};\n }\n return Object.fromEntries(this.#var);\n }\n #newResponse(data, arg, headers) {\n const responseHeaders = this.#res ? new Headers(this.#res.headers) : this.#preparedHeaders ?? new Headers();\n if (typeof arg === \"object\" && \"headers\" in arg) {\n const argHeaders = arg.headers instanceof Headers ? arg.headers : new Headers(arg.headers);\n for (const [key, value] of argHeaders) {\n if (key.toLowerCase() === \"set-cookie\") {\n responseHeaders.append(key, value);\n } else {\n responseHeaders.set(key, value);\n }\n }\n }\n if (headers) {\n for (const [k, v] of Object.entries(headers)) {\n if (typeof v === \"string\") {\n responseHeaders.set(k, v);\n } else {\n responseHeaders.delete(k);\n for (const v2 of v) {\n responseHeaders.append(k, v2);\n }\n }\n }\n }\n const status = typeof arg === \"number\" ? arg : arg?.status ?? this.#status;\n return createResponseInstance(data, { status, headers: responseHeaders });\n }\n newResponse = (...args) => this.#newResponse(...args);\n /**\n * `.body()` can return the HTTP response.\n * You can set headers with `.header()` and set HTTP status code with `.status`.\n * This can also be set in `.text()`, `.json()` and so on.\n *\n * @see {@link https://hono.dev/docs/api/context#body}\n *\n * @example\n * ```ts\n * app.get('/welcome', (c) => {\n * // Set headers\n * c.header('X-Message', 'Hello!')\n * c.header('Content-Type', 'text/plain')\n * // Set HTTP status code\n * c.status(201)\n *\n * // Return the response body\n * return c.body('Thank you for coming')\n * })\n * ```\n */\n body = (data, arg, headers) => this.#newResponse(data, arg, headers);\n /**\n * `.text()` can render text as `Content-Type:text/plain`.\n *\n * @see {@link https://hono.dev/docs/api/context#text}\n *\n * @example\n * ```ts\n * app.get('/say', (c) => {\n * return c.text('Hello!')\n * })\n * ```\n */\n text = (text, arg, headers) => {\n return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(\n text,\n arg,\n setDefaultContentType(TEXT_PLAIN, headers)\n );\n };\n /**\n * `.json()` can render JSON as `Content-Type:application/json`.\n *\n * @see {@link https://hono.dev/docs/api/context#json}\n *\n * @example\n * ```ts\n * app.get('/api', (c) => {\n * return c.json({ message: 'Hello!' })\n * })\n * ```\n */\n json = (object, arg, headers) => {\n return this.#newResponse(\n JSON.stringify(object),\n arg,\n setDefaultContentType(\"application/json\", headers)\n );\n };\n html = (html, arg, headers) => {\n const res = (html2) => this.#newResponse(html2, arg, setDefaultContentType(\"text/html; charset=UTF-8\", headers));\n return typeof html === \"object\" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);\n };\n /**\n * `.redirect()` can Redirect, default status code is 302.\n *\n * @see {@link https://hono.dev/docs/api/context#redirect}\n *\n * @example\n * ```ts\n * app.get('/redirect', (c) => {\n * return c.redirect('/')\n * })\n * app.get('/redirect-permanently', (c) => {\n * return c.redirect('/', 301)\n * })\n * ```\n */\n redirect = (location, status) => {\n const locationString = String(location);\n this.header(\n \"Location\",\n // Multibyes should be encoded\n // eslint-disable-next-line no-control-regex\n !/[^\\x00-\\xFF]/.test(locationString) ? locationString : encodeURI(locationString)\n );\n return this.newResponse(null, status ?? 302);\n };\n /**\n * `.notFound()` can return the Not Found Response.\n *\n * @see {@link https://hono.dev/docs/api/context#notfound}\n *\n * @example\n * ```ts\n * app.get('/notfound', (c) => {\n * return c.notFound()\n * })\n * ```\n */\n notFound = () => {\n this.#notFoundHandler ??= () => createResponseInstance();\n return this.#notFoundHandler(this);\n };\n};\nexport {\n Context,\n TEXT_PLAIN\n};\n", "// src/router.ts\nvar METHOD_NAME_ALL = \"ALL\";\nvar METHOD_NAME_ALL_LOWERCASE = \"all\";\nvar METHODS = [\"get\", \"post\", \"put\", \"delete\", \"options\", \"patch\"];\nvar MESSAGE_MATCHER_IS_ALREADY_BUILT = \"Can not add a route since the matcher is already built.\";\nvar UnsupportedPathError = class extends Error {\n};\nexport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHODS,\n METHOD_NAME_ALL,\n METHOD_NAME_ALL_LOWERCASE,\n UnsupportedPathError\n};\n", "// src/utils/constants.ts\nvar COMPOSED_HANDLER = \"__COMPOSED_HANDLER\";\nexport {\n COMPOSED_HANDLER\n};\n", "// src/hono-base.ts\nimport { compose } from \"./compose.js\";\nimport { Context } from \"./context.js\";\nimport { METHODS, METHOD_NAME_ALL, METHOD_NAME_ALL_LOWERCASE } from \"./router.js\";\nimport { COMPOSED_HANDLER } from \"./utils/constants.js\";\nimport { getPath, getPathNoStrict, mergePath } from \"./utils/url.js\";\nvar notFoundHandler = (c) => {\n return c.text(\"404 Not Found\", 404);\n};\nvar errorHandler = (err, c) => {\n if (\"getResponse\" in err) {\n const res = err.getResponse();\n return c.newResponse(res.body, res);\n }\n console.error(err);\n return c.text(\"Internal Server Error\", 500);\n};\nvar Hono = class _Hono {\n get;\n post;\n put;\n delete;\n options;\n patch;\n all;\n on;\n use;\n /*\n This class is like an abstract class and does not have a router.\n To use it, inherit the class and implement router in the constructor.\n */\n router;\n getPath;\n // Cannot use `#` because it requires visibility at JavaScript runtime.\n _basePath = \"/\";\n #path = \"/\";\n routes = [];\n constructor(options = {}) {\n const allMethods = [...METHODS, METHOD_NAME_ALL_LOWERCASE];\n allMethods.forEach((method) => {\n this[method] = (args1, ...args) => {\n if (typeof args1 === \"string\") {\n this.#path = args1;\n } else {\n this.#addRoute(method, this.#path, args1);\n }\n args.forEach((handler) => {\n this.#addRoute(method, this.#path, handler);\n });\n return this;\n };\n });\n this.on = (method, path, ...handlers) => {\n for (const p of [path].flat()) {\n this.#path = p;\n for (const m of [method].flat()) {\n handlers.map((handler) => {\n this.#addRoute(m.toUpperCase(), this.#path, handler);\n });\n }\n }\n return this;\n };\n this.use = (arg1, ...handlers) => {\n if (typeof arg1 === \"string\") {\n this.#path = arg1;\n } else {\n this.#path = \"*\";\n handlers.unshift(arg1);\n }\n handlers.forEach((handler) => {\n this.#addRoute(METHOD_NAME_ALL, this.#path, handler);\n });\n return this;\n };\n const { strict, ...optionsWithoutStrict } = options;\n Object.assign(this, optionsWithoutStrict);\n this.getPath = strict ?? true ? options.getPath ?? getPath : getPathNoStrict;\n }\n #clone() {\n const clone = new _Hono({\n router: this.router,\n getPath: this.getPath\n });\n clone.errorHandler = this.errorHandler;\n clone.#notFoundHandler = this.#notFoundHandler;\n clone.routes = this.routes;\n return clone;\n }\n #notFoundHandler = notFoundHandler;\n // Cannot use `#` because it requires visibility at JavaScript runtime.\n errorHandler = errorHandler;\n /**\n * `.route()` allows grouping other Hono instance in routes.\n *\n * @see {@link https://hono.dev/docs/api/routing#grouping}\n *\n * @param {string} path - base Path\n * @param {Hono} app - other Hono instance\n * @returns {Hono} routed Hono instance\n *\n * @example\n * ```ts\n * const app = new Hono()\n * const app2 = new Hono()\n *\n * app2.get(\"/user\", (c) => c.text(\"user\"))\n * app.route(\"/api\", app2) // GET /api/user\n * ```\n */\n route(path, app) {\n const subApp = this.basePath(path);\n app.routes.map((r) => {\n let handler;\n if (app.errorHandler === errorHandler) {\n handler = r.handler;\n } else {\n handler = async (c, next) => (await compose([], app.errorHandler)(c, () => r.handler(c, next))).res;\n handler[COMPOSED_HANDLER] = r.handler;\n }\n subApp.#addRoute(r.method, r.path, handler);\n });\n return this;\n }\n /**\n * `.basePath()` allows base paths to be specified.\n *\n * @see {@link https://hono.dev/docs/api/routing#base-path}\n *\n * @param {string} path - base Path\n * @returns {Hono} changed Hono instance\n *\n * @example\n * ```ts\n * const api = new Hono().basePath('/api')\n * ```\n */\n basePath(path) {\n const subApp = this.#clone();\n subApp._basePath = mergePath(this._basePath, path);\n return subApp;\n }\n /**\n * `.onError()` handles an error and returns a customized Response.\n *\n * @see {@link https://hono.dev/docs/api/hono#error-handling}\n *\n * @param {ErrorHandler} handler - request Handler for error\n * @returns {Hono} changed Hono instance\n *\n * @example\n * ```ts\n * app.onError((err, c) => {\n * console.error(`${err}`)\n * return c.text('Custom Error Message', 500)\n * })\n * ```\n */\n onError = (handler) => {\n this.errorHandler = handler;\n return this;\n };\n /**\n * `.notFound()` allows you to customize a Not Found Response.\n *\n * @see {@link https://hono.dev/docs/api/hono#not-found}\n *\n * @param {NotFoundHandler} handler - request handler for not-found\n * @returns {Hono} changed Hono instance\n *\n * @example\n * ```ts\n * app.notFound((c) => {\n * return c.text('Custom 404 Message', 404)\n * })\n * ```\n */\n notFound = (handler) => {\n this.#notFoundHandler = handler;\n return this;\n };\n /**\n * `.mount()` allows you to mount applications built with other frameworks into your Hono application.\n *\n * @see {@link https://hono.dev/docs/api/hono#mount}\n *\n * @param {string} path - base Path\n * @param {Function} applicationHandler - other Request Handler\n * @param {MountOptions} [options] - options of `.mount()`\n * @returns {Hono} mounted Hono instance\n *\n * @example\n * ```ts\n * import { Router as IttyRouter } from 'itty-router'\n * import { Hono } from 'hono'\n * // Create itty-router application\n * const ittyRouter = IttyRouter()\n * // GET /itty-router/hello\n * ittyRouter.get('/hello', () => new Response('Hello from itty-router'))\n *\n * const app = new Hono()\n * app.mount('/itty-router', ittyRouter.handle)\n * ```\n *\n * @example\n * ```ts\n * const app = new Hono()\n * // Send the request to another application without modification.\n * app.mount('/app', anotherApp, {\n * replaceRequest: (req) => req,\n * })\n * ```\n */\n mount(path, applicationHandler, options) {\n let replaceRequest;\n let optionHandler;\n if (options) {\n if (typeof options === \"function\") {\n optionHandler = options;\n } else {\n optionHandler = options.optionHandler;\n if (options.replaceRequest === false) {\n replaceRequest = (request) => request;\n } else {\n replaceRequest = options.replaceRequest;\n }\n }\n }\n const getOptions = optionHandler ? (c) => {\n const options2 = optionHandler(c);\n return Array.isArray(options2) ? options2 : [options2];\n } : (c) => {\n let executionContext = void 0;\n try {\n executionContext = c.executionCtx;\n } catch {\n }\n return [c.env, executionContext];\n };\n replaceRequest ||= (() => {\n const mergedPath = mergePath(this._basePath, path);\n const pathPrefixLength = mergedPath === \"/\" ? 0 : mergedPath.length;\n return (request) => {\n const url = new URL(request.url);\n url.pathname = url.pathname.slice(pathPrefixLength) || \"/\";\n return new Request(url, request);\n };\n })();\n const handler = async (c, next) => {\n const res = await applicationHandler(replaceRequest(c.req.raw), ...getOptions(c));\n if (res) {\n return res;\n }\n await next();\n };\n this.#addRoute(METHOD_NAME_ALL, mergePath(path, \"*\"), handler);\n return this;\n }\n #addRoute(method, path, handler) {\n method = method.toUpperCase();\n path = mergePath(this._basePath, path);\n const r = { basePath: this._basePath, path, method, handler };\n this.router.add(method, path, [handler, r]);\n this.routes.push(r);\n }\n #handleError(err, c) {\n if (err instanceof Error) {\n return this.errorHandler(err, c);\n }\n throw err;\n }\n #dispatch(request, executionCtx, env, method) {\n if (method === \"HEAD\") {\n return (async () => new Response(null, await this.#dispatch(request, executionCtx, env, \"GET\")))();\n }\n const path = this.getPath(request, { env });\n const matchResult = this.router.match(method, path);\n const c = new Context(request, {\n path,\n matchResult,\n env,\n executionCtx,\n notFoundHandler: this.#notFoundHandler\n });\n if (matchResult[0].length === 1) {\n let res;\n try {\n res = matchResult[0][0][0][0](c, async () => {\n c.res = await this.#notFoundHandler(c);\n });\n } catch (err) {\n return this.#handleError(err, c);\n }\n return res instanceof Promise ? res.then(\n (resolved) => resolved || (c.finalized ? c.res : this.#notFoundHandler(c))\n ).catch((err) => this.#handleError(err, c)) : res ?? this.#notFoundHandler(c);\n }\n const composed = compose(matchResult[0], this.errorHandler, this.#notFoundHandler);\n return (async () => {\n try {\n const context = await composed(c);\n if (!context.finalized) {\n throw new Error(\n \"Context is not finalized. Did you forget to return a Response object or `await next()`?\"\n );\n }\n return context.res;\n } catch (err) {\n return this.#handleError(err, c);\n }\n })();\n }\n /**\n * `.fetch()` will be entry point of your app.\n *\n * @see {@link https://hono.dev/docs/api/hono#fetch}\n *\n * @param {Request} request - request Object of request\n * @param {Env} Env - env Object\n * @param {ExecutionContext} - context of execution\n * @returns {Response | Promise} response of request\n *\n */\n fetch = (request, ...rest) => {\n return this.#dispatch(request, rest[1], rest[0], request.method);\n };\n /**\n * `.request()` is a useful method for testing.\n * You can pass a URL or pathname to send a GET request.\n * app will return a Response object.\n * ```ts\n * test('GET /hello is ok', async () => {\n * const res = await app.request('/hello')\n * expect(res.status).toBe(200)\n * })\n * ```\n * @see https://hono.dev/docs/api/hono#request\n */\n request = (input, requestInit, Env, executionCtx) => {\n if (input instanceof Request) {\n return this.fetch(requestInit ? new Request(input, requestInit) : input, Env, executionCtx);\n }\n input = input.toString();\n return this.fetch(\n new Request(\n /^https?:\\/\\//.test(input) ? input : `http://localhost${mergePath(\"/\", input)}`,\n requestInit\n ),\n Env,\n executionCtx\n );\n };\n /**\n * `.fire()` automatically adds a global fetch event listener.\n * This can be useful for environments that adhere to the Service Worker API, such as non-ES module Cloudflare Workers.\n * @deprecated\n * Use `fire` from `hono/service-worker` instead.\n * ```ts\n * import { Hono } from 'hono'\n * import { fire } from 'hono/service-worker'\n *\n * const app = new Hono()\n * // ...\n * fire(app)\n * ```\n * @see https://hono.dev/docs/api/hono#fire\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API\n * @see https://developers.cloudflare.com/workers/reference/migrate-to-module-workers/\n */\n fire = () => {\n addEventListener(\"fetch\", (event) => {\n event.respondWith(this.#dispatch(event.request, event, void 0, event.request.method));\n });\n };\n};\nexport {\n Hono as HonoBase\n};\n", "// src/router/reg-exp-router/matcher.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nvar emptyParam = [];\nfunction match(method, path) {\n const matchers = this.buildAllMatchers();\n const match2 = ((method2, path2) => {\n const matcher = matchers[method2] || matchers[METHOD_NAME_ALL];\n const staticMatch = matcher[2][path2];\n if (staticMatch) {\n return staticMatch;\n }\n const match3 = path2.match(matcher[0]);\n if (!match3) {\n return [[], emptyParam];\n }\n const index = match3.indexOf(\"\", 1);\n return [matcher[1][index], match3];\n });\n this.match = match2;\n return match2(method, path);\n}\nexport {\n emptyParam,\n match\n};\n", "// src/router/reg-exp-router/node.ts\nvar LABEL_REG_EXP_STR = \"[^/]+\";\nvar ONLY_WILDCARD_REG_EXP_STR = \".*\";\nvar TAIL_WILDCARD_REG_EXP_STR = \"(?:|/.*)\";\nvar PATH_ERROR = /* @__PURE__ */ Symbol();\nvar regExpMetaChars = new Set(\".\\\\+*[^]$()\");\nfunction compareKey(a, b) {\n if (a.length === 1) {\n return b.length === 1 ? a < b ? -1 : 1 : -1;\n }\n if (b.length === 1) {\n return 1;\n }\n if (a === ONLY_WILDCARD_REG_EXP_STR || a === TAIL_WILDCARD_REG_EXP_STR) {\n return 1;\n } else if (b === ONLY_WILDCARD_REG_EXP_STR || b === TAIL_WILDCARD_REG_EXP_STR) {\n return -1;\n }\n if (a === LABEL_REG_EXP_STR) {\n return 1;\n } else if (b === LABEL_REG_EXP_STR) {\n return -1;\n }\n return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length;\n}\nvar Node = class _Node {\n #index;\n #varIndex;\n #children = /* @__PURE__ */ Object.create(null);\n insert(tokens, index, paramMap, context, pathErrorCheckOnly) {\n if (tokens.length === 0) {\n if (this.#index !== void 0) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n this.#index = index;\n return;\n }\n const [token, ...restTokens] = tokens;\n const pattern = token === \"*\" ? restTokens.length === 0 ? [\"\", \"\", ONLY_WILDCARD_REG_EXP_STR] : [\"\", \"\", LABEL_REG_EXP_STR] : token === \"/*\" ? [\"\", \"\", TAIL_WILDCARD_REG_EXP_STR] : token.match(/^\\:([^\\{\\}]+)(?:\\{(.+)\\})?$/);\n let node;\n if (pattern) {\n const name = pattern[1];\n let regexpStr = pattern[2] || LABEL_REG_EXP_STR;\n if (name && pattern[2]) {\n if (regexpStr === \".*\") {\n throw PATH_ERROR;\n }\n regexpStr = regexpStr.replace(/^\\((?!\\?:)(?=[^)]+\\)$)/, \"(?:\");\n if (/\\((?!\\?:)/.test(regexpStr)) {\n throw PATH_ERROR;\n }\n }\n node = this.#children[regexpStr];\n if (!node) {\n if (Object.keys(this.#children).some(\n (k) => k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.#children[regexpStr] = new _Node();\n if (name !== \"\") {\n node.#varIndex = context.varIndex++;\n }\n }\n if (!pathErrorCheckOnly && name !== \"\") {\n paramMap.push([name, node.#varIndex]);\n }\n } else {\n node = this.#children[token];\n if (!node) {\n if (Object.keys(this.#children).some(\n (k) => k.length > 1 && k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR\n )) {\n throw PATH_ERROR;\n }\n if (pathErrorCheckOnly) {\n return;\n }\n node = this.#children[token] = new _Node();\n }\n }\n node.insert(restTokens, index, paramMap, context, pathErrorCheckOnly);\n }\n buildRegExpStr() {\n const childKeys = Object.keys(this.#children).sort(compareKey);\n const strList = childKeys.map((k) => {\n const c = this.#children[k];\n return (typeof c.#varIndex === \"number\" ? `(${k})@${c.#varIndex}` : regExpMetaChars.has(k) ? `\\\\${k}` : k) + c.buildRegExpStr();\n });\n if (typeof this.#index === \"number\") {\n strList.unshift(`#${this.#index}`);\n }\n if (strList.length === 0) {\n return \"\";\n }\n if (strList.length === 1) {\n return strList[0];\n }\n return \"(?:\" + strList.join(\"|\") + \")\";\n }\n};\nexport {\n Node,\n PATH_ERROR\n};\n", "// src/router/reg-exp-router/trie.ts\nimport { Node } from \"./node.js\";\nvar Trie = class {\n #context = { varIndex: 0 };\n #root = new Node();\n insert(path, index, pathErrorCheckOnly) {\n const paramAssoc = [];\n const groups = [];\n for (let i = 0; ; ) {\n let replaced = false;\n path = path.replace(/\\{[^}]+\\}/g, (m) => {\n const mark = `@\\\\${i}`;\n groups[i] = [mark, m];\n i++;\n replaced = true;\n return mark;\n });\n if (!replaced) {\n break;\n }\n }\n const tokens = path.match(/(?::[^\\/]+)|(?:\\/\\*$)|./g) || [];\n for (let i = groups.length - 1; i >= 0; i--) {\n const [mark] = groups[i];\n for (let j = tokens.length - 1; j >= 0; j--) {\n if (tokens[j].indexOf(mark) !== -1) {\n tokens[j] = tokens[j].replace(mark, groups[i][1]);\n break;\n }\n }\n }\n this.#root.insert(tokens, index, paramAssoc, this.#context, pathErrorCheckOnly);\n return paramAssoc;\n }\n buildRegExp() {\n let regexp = this.#root.buildRegExpStr();\n if (regexp === \"\") {\n return [/^$/, [], []];\n }\n let captureIndex = 0;\n const indexReplacementMap = [];\n const paramReplacementMap = [];\n regexp = regexp.replace(/#(\\d+)|@(\\d+)|\\.\\*\\$/g, (_, handlerIndex, paramIndex) => {\n if (handlerIndex !== void 0) {\n indexReplacementMap[++captureIndex] = Number(handlerIndex);\n return \"$()\";\n }\n if (paramIndex !== void 0) {\n paramReplacementMap[Number(paramIndex)] = ++captureIndex;\n return \"\";\n }\n return \"\";\n });\n return [new RegExp(`^${regexp}`), indexReplacementMap, paramReplacementMap];\n }\n};\nexport {\n Trie\n};\n", "// src/router/reg-exp-router/router.ts\nimport {\n MESSAGE_MATCHER_IS_ALREADY_BUILT,\n METHOD_NAME_ALL,\n UnsupportedPathError\n} from \"../../router.js\";\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { match, emptyParam } from \"./matcher.js\";\nimport { PATH_ERROR } from \"./node.js\";\nimport { Trie } from \"./trie.js\";\nvar nullMatcher = [/^$/, [], /* @__PURE__ */ Object.create(null)];\nvar wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\nfunction buildWildcardRegExp(path) {\n return wildcardRegExpCache[path] ??= new RegExp(\n path === \"*\" ? \"\" : `^${path.replace(\n /\\/\\*$|([.\\\\+*[^\\]$()])/g,\n (_, metaChar) => metaChar ? `\\\\${metaChar}` : \"(?:|/.*)\"\n )}$`\n );\n}\nfunction clearWildcardRegExpCache() {\n wildcardRegExpCache = /* @__PURE__ */ Object.create(null);\n}\nfunction buildMatcherFromPreprocessedRoutes(routes) {\n const trie = new Trie();\n const handlerData = [];\n if (routes.length === 0) {\n return nullMatcher;\n }\n const routesWithStaticPathFlag = routes.map(\n (route) => [!/\\*|\\/:/.test(route[0]), ...route]\n ).sort(\n ([isStaticA, pathA], [isStaticB, pathB]) => isStaticA ? 1 : isStaticB ? -1 : pathA.length - pathB.length\n );\n const staticMap = /* @__PURE__ */ Object.create(null);\n for (let i = 0, j = -1, len = routesWithStaticPathFlag.length; i < len; i++) {\n const [pathErrorCheckOnly, path, handlers] = routesWithStaticPathFlag[i];\n if (pathErrorCheckOnly) {\n staticMap[path] = [handlers.map(([h]) => [h, /* @__PURE__ */ Object.create(null)]), emptyParam];\n } else {\n j++;\n }\n let paramAssoc;\n try {\n paramAssoc = trie.insert(path, j, pathErrorCheckOnly);\n } catch (e) {\n throw e === PATH_ERROR ? new UnsupportedPathError(path) : e;\n }\n if (pathErrorCheckOnly) {\n continue;\n }\n handlerData[j] = handlers.map(([h, paramCount]) => {\n const paramIndexMap = /* @__PURE__ */ Object.create(null);\n paramCount -= 1;\n for (; paramCount >= 0; paramCount--) {\n const [key, value] = paramAssoc[paramCount];\n paramIndexMap[key] = value;\n }\n return [h, paramIndexMap];\n });\n }\n const [regexp, indexReplacementMap, paramReplacementMap] = trie.buildRegExp();\n for (let i = 0, len = handlerData.length; i < len; i++) {\n for (let j = 0, len2 = handlerData[i].length; j < len2; j++) {\n const map = handlerData[i][j]?.[1];\n if (!map) {\n continue;\n }\n const keys = Object.keys(map);\n for (let k = 0, len3 = keys.length; k < len3; k++) {\n map[keys[k]] = paramReplacementMap[map[keys[k]]];\n }\n }\n }\n const handlerMap = [];\n for (const i in indexReplacementMap) {\n handlerMap[i] = handlerData[indexReplacementMap[i]];\n }\n return [regexp, handlerMap, staticMap];\n}\nfunction findMiddleware(middleware, path) {\n if (!middleware) {\n return void 0;\n }\n for (const k of Object.keys(middleware).sort((a, b) => b.length - a.length)) {\n if (buildWildcardRegExp(k).test(path)) {\n return [...middleware[k]];\n }\n }\n return void 0;\n}\nvar RegExpRouter = class {\n name = \"RegExpRouter\";\n #middleware;\n #routes;\n constructor() {\n this.#middleware = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n this.#routes = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) };\n }\n add(method, path, handler) {\n const middleware = this.#middleware;\n const routes = this.#routes;\n if (!middleware || !routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n if (!middleware[method]) {\n ;\n [middleware, routes].forEach((handlerMap) => {\n handlerMap[method] = /* @__PURE__ */ Object.create(null);\n Object.keys(handlerMap[METHOD_NAME_ALL]).forEach((p) => {\n handlerMap[method][p] = [...handlerMap[METHOD_NAME_ALL][p]];\n });\n });\n }\n if (path === \"/*\") {\n path = \"*\";\n }\n const paramCount = (path.match(/\\/:/g) || []).length;\n if (/\\*$/.test(path)) {\n const re = buildWildcardRegExp(path);\n if (method === METHOD_NAME_ALL) {\n Object.keys(middleware).forEach((m) => {\n middleware[m][path] ||= findMiddleware(middleware[m], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n });\n } else {\n middleware[method][path] ||= findMiddleware(middleware[method], path) || findMiddleware(middleware[METHOD_NAME_ALL], path) || [];\n }\n Object.keys(middleware).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(middleware[m]).forEach((p) => {\n re.test(p) && middleware[m][p].push([handler, paramCount]);\n });\n }\n });\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n Object.keys(routes[m]).forEach(\n (p) => re.test(p) && routes[m][p].push([handler, paramCount])\n );\n }\n });\n return;\n }\n const paths = checkOptionalParameter(path) || [path];\n for (let i = 0, len = paths.length; i < len; i++) {\n const path2 = paths[i];\n Object.keys(routes).forEach((m) => {\n if (method === METHOD_NAME_ALL || method === m) {\n routes[m][path2] ||= [\n ...findMiddleware(middleware[m], path2) || findMiddleware(middleware[METHOD_NAME_ALL], path2) || []\n ];\n routes[m][path2].push([handler, paramCount - len + i + 1]);\n }\n });\n }\n }\n match = match;\n buildAllMatchers() {\n const matchers = /* @__PURE__ */ Object.create(null);\n Object.keys(this.#routes).concat(Object.keys(this.#middleware)).forEach((method) => {\n matchers[method] ||= this.#buildMatcher(method);\n });\n this.#middleware = this.#routes = void 0;\n clearWildcardRegExpCache();\n return matchers;\n }\n #buildMatcher(method) {\n const routes = [];\n let hasOwnRoute = method === METHOD_NAME_ALL;\n [this.#middleware, this.#routes].forEach((r) => {\n const ownRoute = r[method] ? Object.keys(r[method]).map((path) => [path, r[method][path]]) : [];\n if (ownRoute.length !== 0) {\n hasOwnRoute ||= true;\n routes.push(...ownRoute);\n } else if (method !== METHOD_NAME_ALL) {\n routes.push(\n ...Object.keys(r[METHOD_NAME_ALL]).map((path) => [path, r[METHOD_NAME_ALL][path]])\n );\n }\n });\n if (!hasOwnRoute) {\n return null;\n } else {\n return buildMatcherFromPreprocessedRoutes(routes);\n }\n }\n};\nexport {\n RegExpRouter\n};\n", "// src/router/reg-exp-router/prepared-router.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nimport { match, emptyParam } from \"./matcher.js\";\nimport { RegExpRouter } from \"./router.js\";\nvar PreparedRegExpRouter = class {\n name = \"PreparedRegExpRouter\";\n #matchers;\n #relocateMap;\n constructor(matchers, relocateMap) {\n this.#matchers = matchers;\n this.#relocateMap = relocateMap;\n }\n #addWildcard(method, handlerData) {\n const matcher = this.#matchers[method];\n matcher[1].forEach((list) => list && list.push(handlerData));\n Object.values(matcher[2]).forEach((list) => list[0].push(handlerData));\n }\n #addPath(method, path, handler, indexes, map) {\n const matcher = this.#matchers[method];\n if (!map) {\n matcher[2][path][0].push([handler, {}]);\n } else {\n indexes.forEach((index) => {\n if (typeof index === \"number\") {\n matcher[1][index].push([handler, map]);\n } else {\n ;\n matcher[2][index || path][0].push([handler, map]);\n }\n });\n }\n }\n add(method, path, handler) {\n if (!this.#matchers[method]) {\n const all = this.#matchers[METHOD_NAME_ALL];\n const staticMap = {};\n for (const key in all[2]) {\n staticMap[key] = [all[2][key][0].slice(), emptyParam];\n }\n this.#matchers[method] = [\n all[0],\n all[1].map((list) => Array.isArray(list) ? list.slice() : 0),\n staticMap\n ];\n }\n if (path === \"/*\" || path === \"*\") {\n const handlerData = [handler, {}];\n if (method === METHOD_NAME_ALL) {\n for (const m in this.#matchers) {\n this.#addWildcard(m, handlerData);\n }\n } else {\n this.#addWildcard(method, handlerData);\n }\n return;\n }\n const data = this.#relocateMap[path];\n if (!data) {\n throw new Error(`Path ${path} is not registered`);\n }\n for (const [indexes, map] of data) {\n if (method === METHOD_NAME_ALL) {\n for (const m in this.#matchers) {\n this.#addPath(m, path, handler, indexes, map);\n }\n } else {\n this.#addPath(method, path, handler, indexes, map);\n }\n }\n }\n buildAllMatchers() {\n return this.#matchers;\n }\n match = match;\n};\nvar buildInitParams = ({ paths }) => {\n const RegExpRouterWithMatcherExport = class extends RegExpRouter {\n buildAndExportAllMatchers() {\n return this.buildAllMatchers();\n }\n };\n const router = new RegExpRouterWithMatcherExport();\n for (const path of paths) {\n router.add(METHOD_NAME_ALL, path, path);\n }\n const matchers = router.buildAndExportAllMatchers();\n const all = matchers[METHOD_NAME_ALL];\n const relocateMap = {};\n for (const path of paths) {\n if (path === \"/*\" || path === \"*\") {\n continue;\n }\n all[1].forEach((list, i) => {\n list.forEach(([p, map]) => {\n if (p === path) {\n if (relocateMap[path]) {\n relocateMap[path][0][1] = {\n ...relocateMap[path][0][1],\n ...map\n };\n } else {\n relocateMap[path] = [[[], map]];\n }\n if (relocateMap[path][0][0].findIndex((j) => j === i) === -1) {\n relocateMap[path][0][0].push(i);\n }\n }\n });\n });\n for (const path2 in all[2]) {\n all[2][path2][0].forEach(([p]) => {\n if (p === path) {\n relocateMap[path] ||= [[[]]];\n const value = path2 === path ? \"\" : path2;\n if (relocateMap[path][0][0].findIndex((v) => v === value) === -1) {\n relocateMap[path][0][0].push(value);\n }\n }\n });\n }\n }\n for (let i = 0, len = all[1].length; i < len; i++) {\n all[1][i] = all[1][i] ? [] : 0;\n }\n for (const path in all[2]) {\n all[2][path][0] = [];\n }\n return [matchers, relocateMap];\n};\nvar serializeInitParams = ([matchers, relocateMap]) => {\n const matchersStr = JSON.stringify(\n matchers,\n (_, value) => value instanceof RegExp ? `##${value.toString()}##` : value\n ).replace(/\"##(.+?)##\"/g, (_, str) => str.replace(/\\\\\\\\/g, \"\\\\\"));\n const relocateMapStr = JSON.stringify(relocateMap);\n return `[${matchersStr},${relocateMapStr}]`;\n};\nexport {\n PreparedRegExpRouter,\n buildInitParams,\n serializeInitParams\n};\n", "// src/router/reg-exp-router/index.ts\nimport { RegExpRouter } from \"./router.js\";\nimport { PreparedRegExpRouter, buildInitParams, serializeInitParams } from \"./prepared-router.js\";\nexport {\n PreparedRegExpRouter,\n RegExpRouter,\n buildInitParams,\n serializeInitParams\n};\n", "// src/router/smart-router/router.ts\nimport { MESSAGE_MATCHER_IS_ALREADY_BUILT, UnsupportedPathError } from \"../../router.js\";\nvar SmartRouter = class {\n name = \"SmartRouter\";\n #routers = [];\n #routes = [];\n constructor(init) {\n this.#routers = init.routers;\n }\n add(method, path, handler) {\n if (!this.#routes) {\n throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT);\n }\n this.#routes.push([method, path, handler]);\n }\n match(method, path) {\n if (!this.#routes) {\n throw new Error(\"Fatal error\");\n }\n const routers = this.#routers;\n const routes = this.#routes;\n const len = routers.length;\n let i = 0;\n let res;\n for (; i < len; i++) {\n const router = routers[i];\n try {\n for (let i2 = 0, len2 = routes.length; i2 < len2; i2++) {\n router.add(...routes[i2]);\n }\n res = router.match(method, path);\n } catch (e) {\n if (e instanceof UnsupportedPathError) {\n continue;\n }\n throw e;\n }\n this.match = router.match.bind(router);\n this.#routers = [router];\n this.#routes = void 0;\n break;\n }\n if (i === len) {\n throw new Error(\"Fatal error\");\n }\n this.name = `SmartRouter + ${this.activeRouter.name}`;\n return res;\n }\n get activeRouter() {\n if (this.#routes || this.#routers.length !== 1) {\n throw new Error(\"No active router has been determined yet.\");\n }\n return this.#routers[0];\n }\n};\nexport {\n SmartRouter\n};\n", "// src/router/smart-router/index.ts\nimport { SmartRouter } from \"./router.js\";\nexport {\n SmartRouter\n};\n", "// src/router/trie-router/node.ts\nimport { METHOD_NAME_ALL } from \"../../router.js\";\nimport { getPattern, splitPath, splitRoutingPath } from \"../../utils/url.js\";\nvar emptyParams = /* @__PURE__ */ Object.create(null);\nvar hasChildren = (children) => {\n for (const _ in children) {\n return true;\n }\n return false;\n};\nvar Node = class _Node {\n #methods;\n #children;\n #patterns;\n #order = 0;\n #params = emptyParams;\n constructor(method, handler, children) {\n this.#children = children || /* @__PURE__ */ Object.create(null);\n this.#methods = [];\n if (method && handler) {\n const m = /* @__PURE__ */ Object.create(null);\n m[method] = { handler, possibleKeys: [], score: 0 };\n this.#methods = [m];\n }\n this.#patterns = [];\n }\n insert(method, path, handler) {\n this.#order = ++this.#order;\n let curNode = this;\n const parts = splitRoutingPath(path);\n const possibleKeys = [];\n for (let i = 0, len = parts.length; i < len; i++) {\n const p = parts[i];\n const nextP = parts[i + 1];\n const pattern = getPattern(p, nextP);\n const key = Array.isArray(pattern) ? pattern[0] : p;\n if (key in curNode.#children) {\n curNode = curNode.#children[key];\n if (pattern) {\n possibleKeys.push(pattern[1]);\n }\n continue;\n }\n curNode.#children[key] = new _Node();\n if (pattern) {\n curNode.#patterns.push(pattern);\n possibleKeys.push(pattern[1]);\n }\n curNode = curNode.#children[key];\n }\n curNode.#methods.push({\n [method]: {\n handler,\n possibleKeys: possibleKeys.filter((v, i, a) => a.indexOf(v) === i),\n score: this.#order\n }\n });\n return curNode;\n }\n #pushHandlerSets(handlerSets, node, method, nodeParams, params) {\n for (let i = 0, len = node.#methods.length; i < len; i++) {\n const m = node.#methods[i];\n const handlerSet = m[method] || m[METHOD_NAME_ALL];\n const processedSet = {};\n if (handlerSet !== void 0) {\n handlerSet.params = /* @__PURE__ */ Object.create(null);\n handlerSets.push(handlerSet);\n if (nodeParams !== emptyParams || params && params !== emptyParams) {\n for (let i2 = 0, len2 = handlerSet.possibleKeys.length; i2 < len2; i2++) {\n const key = handlerSet.possibleKeys[i2];\n const processed = processedSet[handlerSet.score];\n handlerSet.params[key] = params?.[key] && !processed ? params[key] : nodeParams[key] ?? params?.[key];\n processedSet[handlerSet.score] = true;\n }\n }\n }\n }\n }\n search(method, path) {\n const handlerSets = [];\n this.#params = emptyParams;\n const curNode = this;\n let curNodes = [curNode];\n const parts = splitPath(path);\n const curNodesQueue = [];\n const len = parts.length;\n let partOffsets = null;\n for (let i = 0; i < len; i++) {\n const part = parts[i];\n const isLast = i === len - 1;\n const tempNodes = [];\n for (let j = 0, len2 = curNodes.length; j < len2; j++) {\n const node = curNodes[j];\n const nextNode = node.#children[part];\n if (nextNode) {\n nextNode.#params = node.#params;\n if (isLast) {\n if (nextNode.#children[\"*\"]) {\n this.#pushHandlerSets(handlerSets, nextNode.#children[\"*\"], method, node.#params);\n }\n this.#pushHandlerSets(handlerSets, nextNode, method, node.#params);\n } else {\n tempNodes.push(nextNode);\n }\n }\n for (let k = 0, len3 = node.#patterns.length; k < len3; k++) {\n const pattern = node.#patterns[k];\n const params = node.#params === emptyParams ? {} : { ...node.#params };\n if (pattern === \"*\") {\n const astNode = node.#children[\"*\"];\n if (astNode) {\n this.#pushHandlerSets(handlerSets, astNode, method, node.#params);\n astNode.#params = params;\n tempNodes.push(astNode);\n }\n continue;\n }\n const [key, name, matcher] = pattern;\n if (!part && !(matcher instanceof RegExp)) {\n continue;\n }\n const child = node.#children[key];\n if (matcher instanceof RegExp) {\n if (partOffsets === null) {\n partOffsets = new Array(len);\n let offset = path[0] === \"/\" ? 1 : 0;\n for (let p = 0; p < len; p++) {\n partOffsets[p] = offset;\n offset += parts[p].length + 1;\n }\n }\n const restPathString = path.substring(partOffsets[i]);\n const m = matcher.exec(restPathString);\n if (m) {\n params[name] = m[0];\n this.#pushHandlerSets(handlerSets, child, method, node.#params, params);\n if (hasChildren(child.#children)) {\n child.#params = params;\n const componentCount = m[0].match(/\\//)?.length ?? 0;\n const targetCurNodes = curNodesQueue[componentCount] ||= [];\n targetCurNodes.push(child);\n }\n continue;\n }\n }\n if (matcher === true || matcher.test(part)) {\n params[name] = part;\n if (isLast) {\n this.#pushHandlerSets(handlerSets, child, method, params, node.#params);\n if (child.#children[\"*\"]) {\n this.#pushHandlerSets(\n handlerSets,\n child.#children[\"*\"],\n method,\n params,\n node.#params\n );\n }\n } else {\n child.#params = params;\n tempNodes.push(child);\n }\n }\n }\n }\n const shifted = curNodesQueue.shift();\n curNodes = shifted ? tempNodes.concat(shifted) : tempNodes;\n }\n if (handlerSets.length > 1) {\n handlerSets.sort((a, b) => {\n return a.score - b.score;\n });\n }\n return [handlerSets.map(({ handler, params }) => [handler, params])];\n }\n};\nexport {\n Node\n};\n", "// src/router/trie-router/router.ts\nimport { checkOptionalParameter } from \"../../utils/url.js\";\nimport { Node } from \"./node.js\";\nvar TrieRouter = class {\n name = \"TrieRouter\";\n #node;\n constructor() {\n this.#node = new Node();\n }\n add(method, path, handler) {\n const results = checkOptionalParameter(path);\n if (results) {\n for (let i = 0, len = results.length; i < len; i++) {\n this.#node.insert(method, results[i], handler);\n }\n return;\n }\n this.#node.insert(method, path, handler);\n }\n match(method, path) {\n return this.#node.search(method, path);\n }\n};\nexport {\n TrieRouter\n};\n", "// src/router/trie-router/index.ts\nimport { TrieRouter } from \"./router.js\";\nexport {\n TrieRouter\n};\n", "// src/hono.ts\nimport { HonoBase } from \"./hono-base.js\";\nimport { RegExpRouter } from \"./router/reg-exp-router/index.js\";\nimport { SmartRouter } from \"./router/smart-router/index.js\";\nimport { TrieRouter } from \"./router/trie-router/index.js\";\nvar Hono = class extends HonoBase {\n /**\n * Creates an instance of the Hono class.\n *\n * @param options - Optional configuration options for the Hono instance.\n */\n constructor(options = {}) {\n super(options);\n this.router = options.router ?? new SmartRouter({\n routers: [new RegExpRouter(), new TrieRouter()]\n });\n }\n};\nexport {\n Hono\n};\n", "// src/index.ts\nimport { Hono } from \"./hono.js\";\nexport {\n Hono\n};\n", "// src/middleware/cors/index.ts\nvar cors = (options) => {\n const defaults = {\n origin: \"*\",\n allowMethods: [\"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\", \"PATCH\"],\n allowHeaders: [],\n exposeHeaders: []\n };\n const opts = {\n ...defaults,\n ...options\n };\n const findAllowOrigin = ((optsOrigin) => {\n if (typeof optsOrigin === \"string\") {\n if (optsOrigin === \"*\") {\n if (opts.credentials) {\n return (origin) => origin || null;\n }\n return () => optsOrigin;\n } else {\n return (origin) => optsOrigin === origin ? origin : null;\n }\n } else if (typeof optsOrigin === \"function\") {\n return optsOrigin;\n } else {\n return (origin) => optsOrigin.includes(origin) ? origin : null;\n }\n })(opts.origin);\n const findAllowMethods = ((optsAllowMethods) => {\n if (typeof optsAllowMethods === \"function\") {\n return optsAllowMethods;\n } else if (Array.isArray(optsAllowMethods)) {\n return () => optsAllowMethods;\n } else {\n return () => [];\n }\n })(opts.allowMethods);\n return async function cors2(c, next) {\n function set(key, value) {\n c.res.headers.set(key, value);\n }\n const allowOrigin = await findAllowOrigin(c.req.header(\"origin\") || \"\", c);\n if (allowOrigin) {\n set(\"Access-Control-Allow-Origin\", allowOrigin);\n }\n if (opts.credentials) {\n set(\"Access-Control-Allow-Credentials\", \"true\");\n }\n if (opts.exposeHeaders?.length) {\n set(\"Access-Control-Expose-Headers\", opts.exposeHeaders.join(\",\"));\n }\n if (c.req.method === \"OPTIONS\") {\n if (opts.origin !== \"*\" || opts.credentials) {\n set(\"Vary\", \"Origin\");\n }\n if (opts.maxAge != null) {\n set(\"Access-Control-Max-Age\", opts.maxAge.toString());\n }\n const allowMethods = await findAllowMethods(c.req.header(\"origin\") || \"\", c);\n if (allowMethods.length) {\n set(\"Access-Control-Allow-Methods\", allowMethods.join(\",\"));\n }\n let headers = opts.allowHeaders;\n if (!headers?.length) {\n const requestHeaders = c.req.header(\"Access-Control-Request-Headers\");\n if (requestHeaders) {\n headers = requestHeaders.split(/\\s*,\\s*/);\n }\n }\n if (headers?.length) {\n set(\"Access-Control-Allow-Headers\", headers.join(\",\"));\n c.res.headers.append(\"Vary\", \"Access-Control-Request-Headers\");\n }\n c.res.headers.delete(\"Content-Length\");\n c.res.headers.delete(\"Content-Type\");\n return new Response(null, {\n headers: c.res.headers,\n status: 204,\n statusText: \"No Content\"\n });\n }\n await next();\n if (opts.origin !== \"*\" || opts.credentials) {\n c.header(\"Vary\", \"Origin\", { append: true });\n }\n };\n};\nexport {\n cors\n};\n", "// src/utils/color.ts\nfunction getColorEnabled() {\n const { process, Deno } = globalThis;\n const isNoColor = typeof Deno?.noColor === \"boolean\" ? Deno.noColor : process !== void 0 ? (\n // eslint-disable-next-line no-unsafe-optional-chaining\n \"NO_COLOR\" in process?.env\n ) : false;\n return !isNoColor;\n}\nasync function getColorEnabledAsync() {\n const { navigator } = globalThis;\n const cfWorkers = \"cloudflare:workers\";\n const isNoColor = navigator !== void 0 && navigator.userAgent === \"Cloudflare-Workers\" ? await (async () => {\n try {\n return \"NO_COLOR\" in ((await import(cfWorkers)).env ?? {});\n } catch {\n return false;\n }\n })() : !getColorEnabled();\n return !isNoColor;\n}\nexport {\n getColorEnabled,\n getColorEnabledAsync\n};\n", "// src/middleware/logger/index.ts\nimport { getColorEnabledAsync } from \"../../utils/color.js\";\nvar humanize = (times) => {\n const [delimiter, separator] = [\",\", \".\"];\n const orderTimes = times.map((v) => v.replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1\" + delimiter));\n return orderTimes.join(separator);\n};\nvar time = (start) => {\n const delta = Date.now() - start;\n return humanize([delta < 1e3 ? delta + \"ms\" : Math.round(delta / 1e3) + \"s\"]);\n};\nvar colorStatus = async (status) => {\n const colorEnabled = await getColorEnabledAsync();\n if (colorEnabled) {\n switch (status / 100 | 0) {\n case 5:\n return `\\x1B[31m${status}\\x1B[0m`;\n case 4:\n return `\\x1B[33m${status}\\x1B[0m`;\n case 3:\n return `\\x1B[36m${status}\\x1B[0m`;\n case 2:\n return `\\x1B[32m${status}\\x1B[0m`;\n }\n }\n return `${status}`;\n};\nasync function log(fn, prefix, method, path, status = 0, elapsed) {\n const out = prefix === \"<--\" /* Incoming */ ? `${prefix} ${method} ${path}` : `${prefix} ${method} ${path} ${await colorStatus(status)} ${elapsed}`;\n fn(out);\n}\nvar logger = (fn = console.log) => {\n return async function logger2(c, next) {\n const { method, url } = c.req;\n const path = url.slice(url.indexOf(\"/\", 8));\n await log(fn, \"<--\" /* Incoming */, method, path);\n const start = Date.now();\n await next();\n await log(fn, \"-->\" /* Outgoing */, method, path, c.res.status, time(start));\n };\n};\nexport {\n logger\n};\n", "import type { Result } from '../unstable-core-do-not-import';\nimport type {\n Observable,\n Observer,\n OperatorFunction,\n TeardownLogic,\n UnaryFunction,\n Unsubscribable,\n} from './types';\n\n/** @public */\nexport type inferObservableValue =\n TObservable extends Observable ? TValue : never;\n\n/** @public */\nexport function isObservable(x: unknown): x is Observable {\n return typeof x === 'object' && x !== null && 'subscribe' in x;\n}\n\n/** @public */\nexport function observable(\n subscribe: (observer: Observer) => TeardownLogic,\n): Observable {\n const self: Observable = {\n subscribe(observer) {\n let teardownRef: TeardownLogic | null = null;\n let isDone = false;\n let unsubscribed = false;\n let teardownImmediately = false;\n function unsubscribe() {\n if (teardownRef === null) {\n teardownImmediately = true;\n return;\n }\n if (unsubscribed) {\n return;\n }\n unsubscribed = true;\n\n if (typeof teardownRef === 'function') {\n teardownRef();\n } else if (teardownRef) {\n teardownRef.unsubscribe();\n }\n }\n teardownRef = subscribe({\n next(value) {\n if (isDone) {\n return;\n }\n observer.next?.(value);\n },\n error(err) {\n if (isDone) {\n return;\n }\n isDone = true;\n observer.error?.(err);\n unsubscribe();\n },\n complete() {\n if (isDone) {\n return;\n }\n isDone = true;\n observer.complete?.();\n unsubscribe();\n },\n });\n if (teardownImmediately) {\n unsubscribe();\n }\n return {\n unsubscribe,\n };\n },\n pipe(\n ...operations: OperatorFunction[]\n ): Observable {\n return operations.reduce(pipeReducer, self);\n },\n };\n return self;\n}\n\nfunction pipeReducer(prev: any, fn: UnaryFunction) {\n return fn(prev);\n}\n\n/** @internal */\nexport function observableToPromise(\n observable: Observable,\n) {\n const ac = new AbortController();\n const promise = new Promise((resolve, reject) => {\n let isDone = false;\n function onDone() {\n if (isDone) {\n return;\n }\n isDone = true;\n obs$.unsubscribe();\n }\n ac.signal.addEventListener('abort', () => {\n reject(ac.signal.reason);\n });\n const obs$ = observable.subscribe({\n next(data) {\n isDone = true;\n resolve(data);\n onDone();\n },\n error(data) {\n reject(data);\n },\n complete() {\n ac.abort();\n onDone();\n },\n });\n });\n return promise;\n}\n\n/**\n * @internal\n */\nfunction observableToReadableStream(\n observable: Observable,\n signal: AbortSignal,\n): ReadableStream> {\n let unsub: Unsubscribable | null = null;\n\n const onAbort = () => {\n unsub?.unsubscribe();\n unsub = null;\n signal.removeEventListener('abort', onAbort);\n };\n\n return new ReadableStream>({\n start(controller) {\n unsub = observable.subscribe({\n next(data) {\n controller.enqueue({ ok: true, value: data });\n },\n error(error) {\n controller.enqueue({ ok: false, error });\n controller.close();\n },\n complete() {\n controller.close();\n },\n });\n\n if (signal.aborted) {\n onAbort();\n } else {\n signal.addEventListener('abort', onAbort, { once: true });\n }\n },\n cancel() {\n onAbort();\n },\n });\n}\n\n/** @internal */\nexport function observableToAsyncIterable(\n observable: Observable,\n signal: AbortSignal,\n): AsyncIterable {\n const stream = observableToReadableStream(observable, signal);\n\n const reader = stream.getReader();\n const iterator: AsyncIterator = {\n async next() {\n const value = await reader.read();\n if (value.done) {\n return {\n value: undefined,\n done: true,\n };\n }\n const { value: result } = value;\n if (!result.ok) {\n throw result.error;\n }\n return {\n value: result.value,\n done: false,\n };\n },\n async return() {\n await reader.cancel();\n return {\n value: undefined,\n done: true,\n };\n },\n };\n return {\n [Symbol.asyncIterator]() {\n return iterator;\n },\n };\n}\n", "import { TRPCError } from '../error/TRPCError';\nimport { isObject } from '../utils';\nimport type { TRPCRequestInfo } from './types';\n\nexport function parseConnectionParamsFromUnknown(\n parsed: unknown,\n): TRPCRequestInfo['connectionParams'] {\n try {\n if (parsed === null) {\n return null;\n }\n if (!isObject(parsed)) {\n throw new Error('Expected object');\n }\n const nonStringValues = Object.entries(parsed).filter(\n ([_key, value]) => typeof value !== 'string',\n );\n\n if (nonStringValues.length > 0) {\n throw new Error(\n `Expected connectionParams to be string values. Got ${nonStringValues\n .map(([key, value]) => `${key}: ${typeof value}`)\n .join(', ')}`,\n );\n }\n return parsed as Record;\n } catch (cause) {\n throw new TRPCError({\n code: 'PARSE_ERROR',\n message: 'Invalid connection params shape',\n cause,\n });\n }\n}\nexport function parseConnectionParamsFromString(\n str: string,\n): TRPCRequestInfo['connectionParams'] {\n let parsed: unknown;\n try {\n parsed = JSON.parse(str);\n } catch (cause) {\n throw new TRPCError({\n code: 'PARSE_ERROR',\n message: 'Not JSON-parsable query params',\n cause,\n });\n }\n return parseConnectionParamsFromUnknown(parsed);\n}\n", "import { TRPCError } from '../error/TRPCError';\nimport type { ProcedureType } from '../procedure';\nimport { getProcedureAtPath, type AnyRouter } from '../router';\nimport { emptyObject, isObject } from '../utils';\nimport { parseConnectionParamsFromString } from './parseConnectionParams';\nimport type { TRPCAcceptHeader, TRPCRequestInfo } from './types';\n\nexport function getAcceptHeader(headers: Headers): TRPCAcceptHeader | null {\n return (\n (headers.get('trpc-accept') as TRPCAcceptHeader | null) ??\n (headers\n .get('accept')\n ?.split(',')\n .some((t) => t.trim() === 'application/jsonl')\n ? ('application/jsonl' as TRPCAcceptHeader)\n : null)\n );\n}\n\ntype GetRequestInfoOptions = {\n path: string;\n req: Request;\n url: URL | null;\n searchParams: URLSearchParams;\n headers: Headers;\n router: AnyRouter;\n};\n\ntype ContentTypeHandler = {\n isMatch: (opts: Request) => boolean;\n parse: (opts: GetRequestInfoOptions) => Promise;\n};\n\n/**\n * Memoize a function that takes no arguments\n * @internal\n */\nfunction memo(fn: () => Promise) {\n let promise: Promise | null = null;\n const sym = Symbol.for('@trpc/server/http/memo');\n let value: TReturn | typeof sym = sym;\n return {\n /**\n * Lazily read the value\n */\n read: async (): Promise => {\n if (value !== sym) {\n return value;\n }\n\n // dedupes promises and catches errors\n promise ??= fn().catch((cause) => {\n if (cause instanceof TRPCError) {\n throw cause;\n }\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: cause instanceof Error ? cause.message : 'Invalid input',\n cause,\n });\n });\n\n value = await promise;\n promise = null;\n\n return value;\n },\n /**\n * Get an already stored result\n */\n result: (): TReturn | undefined => {\n return value !== sym ? value : undefined;\n },\n };\n}\n\nconst jsonContentTypeHandler: ContentTypeHandler = {\n isMatch(req) {\n return !!req.headers.get('content-type')?.startsWith('application/json');\n },\n async parse(opts) {\n const { req } = opts;\n const isBatchCall = opts.searchParams.get('batch') === '1';\n const paths = isBatchCall ? opts.path.split(',') : [opts.path];\n\n type InputRecord = Record;\n const getInputs = memo(async (): Promise => {\n let inputs: unknown = undefined;\n if (req.method === 'GET') {\n const queryInput = opts.searchParams.get('input');\n if (queryInput) {\n inputs = JSON.parse(queryInput);\n }\n } else {\n inputs = await req.json();\n }\n if (inputs === undefined) {\n return emptyObject();\n }\n\n if (!isBatchCall) {\n const result: InputRecord = emptyObject();\n result[0] =\n opts.router._def._config.transformer.input.deserialize(inputs);\n return result;\n }\n\n if (!isObject(inputs)) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: '\"input\" needs to be an object when doing a batch call',\n });\n }\n const acc: InputRecord = emptyObject();\n for (const index of paths.keys()) {\n const input = inputs[index];\n if (input !== undefined) {\n acc[index] =\n opts.router._def._config.transformer.input.deserialize(input);\n }\n }\n\n return acc;\n });\n\n const calls = await Promise.all(\n paths.map(\n async (path, index): Promise => {\n const procedure = await getProcedureAtPath(opts.router, path);\n return {\n batchIndex: index,\n path,\n procedure,\n getRawInput: async () => {\n const inputs = await getInputs.read();\n let input = inputs[index];\n\n if (procedure?._def.type === 'subscription') {\n const lastEventId =\n opts.headers.get('last-event-id') ??\n opts.searchParams.get('lastEventId') ??\n opts.searchParams.get('Last-Event-Id');\n\n if (lastEventId) {\n if (isObject(input)) {\n input = {\n ...input,\n lastEventId: lastEventId,\n };\n } else {\n input ??= {\n lastEventId: lastEventId,\n };\n }\n }\n }\n return input;\n },\n result: () => {\n return getInputs.result()?.[index];\n },\n };\n },\n ),\n );\n\n const types = new Set(\n calls.map((call) => call.procedure?._def.type).filter(Boolean),\n );\n\n /* istanbul ignore if -- @preserve */\n if (types.size > 1) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: `Cannot mix procedure types in call: ${Array.from(types).join(\n ', ',\n )}`,\n });\n }\n const type: ProcedureType | 'unknown' =\n types.values().next().value ?? 'unknown';\n\n const connectionParamsStr = opts.searchParams.get('connectionParams');\n\n const info: TRPCRequestInfo = {\n isBatchCall,\n accept: getAcceptHeader(req.headers),\n calls,\n type,\n connectionParams:\n connectionParamsStr === null\n ? null\n : parseConnectionParamsFromString(connectionParamsStr),\n signal: req.signal,\n url: opts.url,\n };\n return info;\n },\n};\n\nconst formDataContentTypeHandler: ContentTypeHandler = {\n isMatch(req) {\n return !!req.headers.get('content-type')?.startsWith('multipart/form-data');\n },\n async parse(opts) {\n const { req } = opts;\n if (req.method !== 'POST') {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message:\n 'Only POST requests are supported for multipart/form-data requests',\n });\n }\n const getInputs = memo(async () => {\n const fd = await req.formData();\n return fd;\n });\n const procedure = await getProcedureAtPath(opts.router, opts.path);\n return {\n accept: null,\n calls: [\n {\n batchIndex: 0,\n path: opts.path,\n getRawInput: getInputs.read,\n result: getInputs.result,\n procedure,\n },\n ],\n isBatchCall: false,\n type: 'mutation',\n connectionParams: null,\n signal: req.signal,\n url: opts.url,\n };\n },\n};\n\nconst octetStreamContentTypeHandler: ContentTypeHandler = {\n isMatch(req) {\n return !!req.headers\n .get('content-type')\n ?.startsWith('application/octet-stream');\n },\n async parse(opts) {\n const { req } = opts;\n if (req.method !== 'POST') {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message:\n 'Only POST requests are supported for application/octet-stream requests',\n });\n }\n const getInputs = memo(async () => {\n return req.body;\n });\n return {\n calls: [\n {\n batchIndex: 0,\n path: opts.path,\n getRawInput: getInputs.read,\n result: getInputs.result,\n procedure: await getProcedureAtPath(opts.router, opts.path),\n },\n ],\n isBatchCall: false,\n accept: null,\n type: 'mutation',\n connectionParams: null,\n signal: req.signal,\n url: opts.url,\n };\n },\n};\n\nconst handlers = [\n jsonContentTypeHandler,\n formDataContentTypeHandler,\n octetStreamContentTypeHandler,\n];\n\nfunction getContentTypeHandler(req: Request): ContentTypeHandler {\n const handler = handlers.find((handler) => handler.isMatch(req));\n if (handler) {\n return handler;\n }\n\n if (!handler && req.method === 'GET') {\n // fallback to JSON for get requests so GET-requests can be opened in browser easily\n return jsonContentTypeHandler;\n }\n\n throw new TRPCError({\n code: 'UNSUPPORTED_MEDIA_TYPE',\n message: req.headers.has('content-type')\n ? `Unsupported content-type \"${req.headers.get('content-type')}`\n : 'Missing content-type header',\n });\n}\n\nexport async function getRequestInfo(\n opts: GetRequestInfoOptions,\n): Promise {\n const handler = getContentTypeHandler(opts.req);\n return await handler.parse(opts);\n}\n", "import { isObject } from '../utils';\n\nexport function isAbortError(\n error: unknown,\n): error is DOMException | Error | { name: 'AbortError' } {\n return isObject(error) && error['name'] === 'AbortError';\n}\n\nexport function throwAbortError(message = 'AbortError'): never {\n throw new DOMException(message, 'AbortError');\n}\n", "/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o: unknown): o is Record {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n \nexport function isPlainObject(o: unknown): o is Record {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n", "/* eslint-disable @typescript-eslint/unbound-method */\n \n \n\nimport type {\n PromiseExecutor,\n PromiseWithResolvers,\n ProxyPromise,\n SubscribedPromise,\n} from \"./types\";\n\n/** Memory safe (weakmapped) cache of the ProxyPromise for each Promise,\n * which is retained for the lifetime of the original Promise.\n */\nconst subscribableCache = new WeakMap<\n PromiseLike,\n ProxyPromise\n>();\n\n/** A NOOP function allowing a consistent interface for settled\n * SubscribedPromises (settled promises are not subscribed - they resolve\n * immediately). */\nconst NOOP = () => {\n // noop\n};\n\n/**\n * Every `Promise` can be shadowed by a single `ProxyPromise`. It is\n * created once, cached and reused throughout the lifetime of the Promise. Get a\n * Promise's ProxyPromise using `Unpromise.proxy(promise)`.\n *\n * The `ProxyPromise` attaches handlers to the original `Promise`\n * `.then()` and `.catch()` just once. Promises derived from it use a\n * subscription- (and unsubscription-) based mechanism that monitors these\n * handlers.\n *\n * Every time you call `.subscribe()`, `.then()` `.catch()` or `.finally()` on a\n * `ProxyPromise` it returns a `SubscribedPromise` having an additional\n * `unsubscribe()` method. Calling `unsubscribe()` detaches reference chains\n * from the original, potentially long-lived Promise, eliminating memory leaks.\n *\n * This approach can eliminate the memory leaks that otherwise come about from\n * repeated `race()` or `any()` calls invoking `.then()` and `.catch()` multiple\n * times on the same long-lived native Promise (subscriptions which can never be\n * cleaned up).\n *\n * `Unpromise.race(promises)` is a reference implementation of `Promise.race`\n * avoiding memory leaks when using long-lived unsettled Promises.\n *\n * `Unpromise.any(promises)` is a reference implementation of `Promise.any`\n * avoiding memory leaks when using long-lived unsettled Promises.\n *\n * `Unpromise.resolve(promise)` returns an ephemeral `SubscribedPromise` for\n * any given `Promise` facilitating arbitrary async/await patterns. Behind\n * the scenes, `resolve` is implemented simply as\n * `Unpromise.proxy(promise).subscribe()`. Don't forget to call `.unsubscribe()`\n * to tidy up!\n *\n */\nexport class Unpromise implements ProxyPromise {\n /** INSTANCE IMPLEMENTATION */\n\n /** The promise shadowed by this Unpromise */\n protected readonly promise: Promise | PromiseLike;\n\n /** Promises expecting eventual settlement (unless unsubscribed first). This list is deleted\n * after the original promise settles - no further notifications will be issued. */\n protected subscribers: ReadonlyArray> | null = [];\n\n /** The Promise's settlement (recorded when it fulfils or rejects). This is consulted when\n * calling .subscribe() .then() .catch() .finally() to see if an immediately-resolving Promise\n * can be returned, and therefore subscription can be bypassed. */\n protected settlement: PromiseSettledResult | null = null;\n\n /** Constructor accepts a normal Promise executor function like `new\n * Unpromise((resolve, reject) => {...})` or accepts a pre-existing Promise\n * like `new Unpromise(existingPromise)`. Adds `.then()` and `.catch()`\n * handlers to the Promise. These handlers pass fulfilment and rejection\n * notifications to downstream subscribers and maintains records of value\n * or error if the Promise ever settles. */\n protected constructor(promise: Promise);\n protected constructor(promise: PromiseLike);\n protected constructor(executor: PromiseExecutor);\n protected constructor(arg: Promise | PromiseLike | PromiseExecutor) {\n // handle either a Promise or a Promise executor function\n if (typeof arg === \"function\") {\n this.promise = new Promise(arg);\n } else {\n this.promise = arg;\n }\n\n // subscribe for eventual fulfilment and rejection\n\n // handle PromiseLike objects (that at least have .then)\n const thenReturn = this.promise.then((value) => {\n // atomically record fulfilment and detach subscriber list\n const { subscribers } = this;\n this.subscribers = null;\n this.settlement = {\n status: \"fulfilled\",\n value,\n };\n // notify fulfilment to subscriber list\n subscribers?.forEach(({ resolve }) => {\n resolve(value);\n });\n });\n\n // handle Promise (that also have a .catch behaviour)\n if (\"catch\" in thenReturn) {\n thenReturn.catch((reason) => {\n // atomically record rejection and detach subscriber list\n const { subscribers } = this;\n this.subscribers = null;\n this.settlement = {\n status: \"rejected\",\n reason,\n };\n // notify rejection to subscriber list\n subscribers?.forEach(({ reject }) => {\n reject(reason);\n });\n });\n }\n }\n\n /** Create a promise that mitigates uncontrolled subscription to a long-lived\n * Promise via .then() and .catch() - otherwise a source of memory leaks.\n *\n * The returned promise has an `unsubscribe()` method which can be called when\n * the Promise is no longer being tracked by application logic, and which\n * ensures that there is no reference chain from the original promise to the\n * new one, and therefore no memory leak.\n *\n * If original promise has not yet settled, this adds a new unique promise\n * that listens to then/catch events, along with an `unsubscribe()` method to\n * detach it.\n *\n * If original promise has settled, then creates a new Promise.resolve() or\n * Promise.reject() and provided unsubscribe is a noop.\n *\n * If you call `unsubscribe()` before the returned Promise has settled, it\n * will never settle.\n */\n subscribe(): SubscribedPromise {\n // in all cases we will combine some promise with its unsubscribe function\n let promise: Promise;\n let unsubscribe: () => void;\n\n const { settlement } = this;\n if (settlement === null) {\n // not yet settled - subscribe new promise. Expect eventual settlement\n if (this.subscribers === null) {\n // invariant - it is not settled, so it must have subscribers\n throw new Error(\"Unpromise settled but still has subscribers\");\n }\n const subscriber = withResolvers();\n this.subscribers = listWithMember(this.subscribers, subscriber);\n promise = subscriber.promise;\n unsubscribe = () => {\n if (this.subscribers !== null) {\n this.subscribers = listWithoutMember(this.subscribers, subscriber);\n }\n };\n } else {\n // settled - don't create subscribed promise. Just resolve or reject\n const { status } = settlement;\n if (status === \"fulfilled\") {\n promise = Promise.resolve(settlement.value);\n } else {\n promise = Promise.reject(settlement.reason);\n }\n unsubscribe = NOOP;\n }\n\n // extend promise signature with the extra method\n return Object.assign(promise, { unsubscribe });\n }\n\n /** STANDARD PROMISE METHODS (but returning a SubscribedPromise) */\n\n then(\n onfulfilled?:\n | ((value: T) => TResult1 | PromiseLike)\n | null\n ,\n onrejected?:\n | ((reason: any) => TResult2 | PromiseLike)\n | null\n \n ): SubscribedPromise {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.then(onfulfilled, onrejected), {\n unsubscribe,\n });\n }\n\n catch(\n onrejected?:\n | ((reason: any) => TResult | PromiseLike)\n | null\n \n ): SubscribedPromise {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.catch(onrejected), {\n unsubscribe,\n });\n }\n\n finally(onfinally?: (() => void) | null ): SubscribedPromise {\n const subscribed = this.subscribe();\n const { unsubscribe } = subscribed;\n return Object.assign(subscribed.finally(onfinally), {\n unsubscribe,\n });\n }\n\n /** TOSTRING SUPPORT */\n\n readonly [Symbol.toStringTag] = \"Unpromise\";\n\n /** Unpromise STATIC METHODS */\n\n /** Create or Retrieve the proxy Unpromise (a re-used Unpromise for the VM lifetime\n * of the provided Promise reference) */\n static proxy(promise: PromiseLike): ProxyPromise {\n const cached = Unpromise.getSubscribablePromise(promise);\n return typeof cached !== \"undefined\"\n ? cached\n : Unpromise.createSubscribablePromise(promise);\n }\n\n /** Create and store an Unpromise keyed by an original Promise. */\n protected static createSubscribablePromise(promise: PromiseLike) {\n const created = new Unpromise(promise);\n subscribableCache.set(promise, created as Unpromise); // resolve promise to unpromise\n subscribableCache.set(created, created as Unpromise); // resolve the unpromise to itself\n return created;\n }\n\n /** Retrieve a previously-created Unpromise keyed by an original Promise. */\n protected static getSubscribablePromise(promise: PromiseLike) {\n return subscribableCache.get(promise) as ProxyPromise | undefined;\n }\n\n /** Promise STATIC METHODS */\n\n /** Lookup the Unpromise for this promise, and derive a SubscribedPromise from\n * it (that can be later unsubscribed to eliminate Memory leaks) */\n static resolve(value: T | PromiseLike) {\n const promise: PromiseLike =\n typeof value === \"object\" &&\n value !== null &&\n \"then\" in value &&\n typeof value.then === \"function\"\n ? value\n : Promise.resolve(value);\n return Unpromise.proxy(promise).subscribe() as SubscribedPromise<\n Awaited\n >;\n }\n\n /** Perform Promise.any() via SubscribedPromises, then unsubscribe them.\n * Equivalent to Promise.any but eliminates memory leaks from long-lived\n * promises accumulating .then() and .catch() subscribers. */\n static async any(\n values: T\n ): Promise>;\n static async any(\n values: Iterable>\n ): Promise> {\n const valuesArray = Array.isArray(values) ? values : [...values];\n const subscribedPromises = valuesArray.map(Unpromise.resolve);\n try {\n return await Promise.any(subscribedPromises);\n } finally {\n subscribedPromises.forEach(({ unsubscribe }) => {\n unsubscribe();\n });\n }\n }\n\n /** Perform Promise.race via SubscribedPromises, then unsubscribe them.\n * Equivalent to Promise.race but eliminates memory leaks from long-lived\n * promises accumulating .then() and .catch() subscribers. */\n static async race(\n values: T\n ): Promise>;\n static async race(\n values: Iterable>\n ): Promise> {\n const valuesArray = Array.isArray(values) ? values : [...values];\n const subscribedPromises = valuesArray.map(Unpromise.resolve);\n try {\n return await Promise.race(subscribedPromises);\n } finally {\n subscribedPromises.forEach(({ unsubscribe }) => {\n unsubscribe();\n });\n }\n }\n\n /** Create a race of SubscribedPromises that will fulfil to a single winning\n * Promise (in a 1-Tuple). Eliminates memory leaks from long-lived promises\n * accumulating .then() and .catch() subscribers. Allows simple logic to\n * consume the result, like...\n * ```ts\n * const [ winner ] = await Unpromise.race([ promiseA, promiseB ]);\n * if(winner === promiseB){\n * const result = await promiseB;\n * // do the thing\n * }\n * ```\n * */\n static async raceReferences>(\n promises: readonly TPromise[]\n ) {\n // map each promise to an eventual 1-tuple containing itself\n const selfPromises = promises.map(resolveSelfTuple);\n\n // now race them. They will fulfil to a readonly [P] or reject.\n try {\n return await Promise.race(selfPromises);\n } finally {\n for (const promise of selfPromises) {\n // unsubscribe proxy promises when the race is over to mitigate memory leaks\n promise.unsubscribe();\n }\n }\n }\n}\n\n/** Promises a 1-tuple containing the original promise when it resolves. Allows\n * awaiting the eventual Promise ***reference*** (easy to destructure and\n * exactly compare with ===). Avoids resolving to the Promise ***value*** (which\n * may be ambiguous and therefore hard to identify as the winner of a race).\n * You can call unsubscribe on the Promise to mitigate memory leaks.\n * */\nexport function resolveSelfTuple>(\n promise: TPromise\n): SubscribedPromise {\n return Unpromise.proxy(promise).then(() => [promise] as const);\n}\n\n/** VENDORED (Future) PROMISE UTILITIES */\n\n/** Reference implementation of https://github.com/tc39/proposal-promise-with-resolvers */\nfunction withResolvers(): PromiseWithResolvers {\n let resolve!: PromiseWithResolvers[\"resolve\"];\n let reject!: PromiseWithResolvers[\"reject\"];\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject,\n };\n}\n\n/** IMMUTABLE LIST OPERATIONS */\n\nfunction listWithMember(arr: readonly T[], member: T): readonly T[] {\n return [...arr, member];\n}\n\nfunction listWithoutIndex(arr: readonly T[], index: number) {\n return [...arr.slice(0, index), ...arr.slice(index + 1)];\n}\n\nfunction listWithoutMember(arr: readonly T[], member: unknown) {\n const index = arr.indexOf(member as T);\n if (index !== -1) {\n return listWithoutIndex(arr, index);\n }\n return arr;\n}\n", "// @ts-expect-error - polyfilling symbol\n// eslint-disable-next-line no-restricted-syntax\nSymbol.dispose ??= Symbol();\n\n// @ts-expect-error - polyfilling symbol\n// eslint-disable-next-line no-restricted-syntax\nSymbol.asyncDispose ??= Symbol();\n\n/**\n * Takes a value and a dispose function and returns a new object that implements the Disposable interface.\n * The returned object is the original value augmented with a Symbol.dispose method.\n * @param thing The value to make disposable\n * @param dispose Function to call when disposing the resource\n * @returns The original value with Symbol.dispose method added\n */\nexport function makeResource(thing: T, dispose: () => void): T & Disposable {\n const it = thing as T & Partial;\n\n // eslint-disable-next-line no-restricted-syntax\n const existing = it[Symbol.dispose];\n\n // eslint-disable-next-line no-restricted-syntax\n it[Symbol.dispose] = () => {\n dispose();\n existing?.();\n };\n\n return it as T & Disposable;\n}\n\n/**\n * Takes a value and an async dispose function and returns a new object that implements the AsyncDisposable interface.\n * The returned object is the original value augmented with a Symbol.asyncDispose method.\n * @param thing The value to make async disposable\n * @param dispose Async function to call when disposing the resource\n * @returns The original value with Symbol.asyncDispose method added\n */\nexport function makeAsyncResource(\n thing: T,\n dispose: () => Promise,\n): T & AsyncDisposable {\n const it = thing as T & Partial;\n\n // eslint-disable-next-line no-restricted-syntax\n const existing = it[Symbol.asyncDispose];\n\n // eslint-disable-next-line no-restricted-syntax\n it[Symbol.asyncDispose] = async () => {\n await dispose();\n await existing?.();\n };\n\n return it as T & AsyncDisposable;\n}\n", "import { makeResource } from './disposable';\n\nexport const disposablePromiseTimerResult = Symbol();\n\nexport function timerResource(ms: number) {\n let timer: ReturnType | null = null;\n\n return makeResource(\n {\n start() {\n if (timer) {\n throw new Error('Timer already started');\n }\n\n const promise = new Promise(\n (resolve) => {\n timer = setTimeout(() => resolve(disposablePromiseTimerResult), ms);\n },\n );\n return promise;\n },\n },\n () => {\n if (timer) {\n clearTimeout(timer);\n }\n },\n );\n}\n", "function _usingCtx() {\n var r = \"function\" == typeof SuppressedError ? SuppressedError : function (r, e) {\n var n = Error();\n return n.name = \"SuppressedError\", n.error = r, n.suppressed = e, n;\n },\n e = {},\n n = [];\n function using(r, e) {\n if (null != e) {\n if (Object(e) !== e) throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");\n if (r) var o = e[Symbol.asyncDispose || Symbol[\"for\"](\"Symbol.asyncDispose\")];\n if (void 0 === o && (o = e[Symbol.dispose || Symbol[\"for\"](\"Symbol.dispose\")], r)) var t = o;\n if (\"function\" != typeof o) throw new TypeError(\"Object is not disposable.\");\n t && (o = function o() {\n try {\n t.call(e);\n } catch (r) {\n return Promise.reject(r);\n }\n }), n.push({\n v: e,\n d: o,\n a: r\n });\n } else r && n.push({\n d: e,\n a: r\n });\n return e;\n }\n return {\n e: e,\n u: using.bind(null, !1),\n a: using.bind(null, !0),\n d: function d() {\n var o,\n t = this.e,\n s = 0;\n function next() {\n for (; o = n.pop();) try {\n if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);\n if (o.d) {\n var r = o.d.call(o.v);\n if (o.a) return s |= 2, Promise.resolve(r).then(next, err);\n } else s |= 1;\n } catch (r) {\n return err(r);\n }\n if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();\n if (t !== e) throw t;\n }\n function err(n) {\n return t = t !== e ? new r(n, t) : n, next();\n }\n return next();\n }\n };\n}\nmodule.exports = _usingCtx, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var OverloadYield = require(\"./OverloadYield.js\");\nfunction _awaitAsyncGenerator(e) {\n return new OverloadYield(e, 0);\n}\nmodule.exports = _awaitAsyncGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var OverloadYield = require(\"./OverloadYield.js\");\nfunction _wrapAsyncGenerator(e) {\n return function () {\n return new AsyncGenerator(e.apply(this, arguments));\n };\n}\nfunction AsyncGenerator(e) {\n var r, t;\n function resume(r, t) {\n try {\n var n = e[r](t),\n o = n.value,\n u = o instanceof OverloadYield;\n Promise.resolve(u ? o.v : o).then(function (t) {\n if (u) {\n var i = \"return\" === r ? \"return\" : \"next\";\n if (!o.k || t.done) return resume(i, t);\n t = e[i](t).value;\n }\n settle(n.done ? \"return\" : \"normal\", t);\n }, function (e) {\n resume(\"throw\", e);\n });\n } catch (e) {\n settle(\"throw\", e);\n }\n }\n function settle(e, n) {\n switch (e) {\n case \"return\":\n r.resolve({\n value: n,\n done: !0\n });\n break;\n case \"throw\":\n r.reject(n);\n break;\n default:\n r.resolve({\n value: n,\n done: !1\n });\n }\n (r = r.next) ? resume(r.key, r.arg) : t = null;\n }\n this._invoke = function (e, n) {\n return new Promise(function (o, u) {\n var i = {\n key: e,\n arg: n,\n resolve: o,\n reject: u,\n next: null\n };\n t ? t = t.next = i : (r = t = i, resume(e, n));\n });\n }, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, AsyncGenerator.prototype.next = function (e) {\n return this._invoke(\"next\", e);\n}, AsyncGenerator.prototype[\"throw\"] = function (e) {\n return this._invoke(\"throw\", e);\n}, AsyncGenerator.prototype[\"return\"] = function (e) {\n return this._invoke(\"return\", e);\n};\nmodule.exports = _wrapAsyncGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import { Unpromise } from '../../../vendor/unpromise';\nimport { throwAbortError } from '../../http/abortError';\nimport { makeAsyncResource } from './disposable';\nimport { disposablePromiseTimerResult, timerResource } from './timerResource';\n\nexport function iteratorResource(\n iterable: AsyncIterable,\n): AsyncIterator & AsyncDisposable {\n const iterator = iterable[Symbol.asyncIterator]();\n\n // @ts-expect-error - this is added in node 24 which we don't officially support yet\n // eslint-disable-next-line no-restricted-syntax\n if (iterator[Symbol.asyncDispose]) {\n return iterator as AsyncIterator & AsyncDisposable;\n }\n\n return makeAsyncResource(iterator, async () => {\n await iterator.return?.();\n });\n}\n\n/**\n * Derives a new {@link AsyncGenerator} based of {@link iterable}, that yields its first\n * {@link count} values. Then, a grace period of {@link gracePeriodMs} is started in which further\n * values may still come through. After this period, the generator aborts.\n */\nexport async function* takeWithGrace(\n iterable: AsyncIterable,\n opts: {\n count: number;\n gracePeriodMs: number;\n },\n): AsyncGenerator {\n await using iterator = iteratorResource(iterable);\n\n // declaration outside the loop for garbage collection reasons\n let result: null | IteratorResult | typeof disposablePromiseTimerResult;\n\n using timer = timerResource(opts.gracePeriodMs);\n\n let count = opts.count;\n\n let timerPromise = new Promise(() => {\n // never resolves\n });\n\n while (true) {\n result = await Unpromise.race([iterator.next(), timerPromise]);\n if (result === disposablePromiseTimerResult) {\n throwAbortError();\n }\n if (result.done) {\n return result.value;\n }\n yield result.value;\n if (--count === 0) {\n timerPromise = timer.start();\n }\n // free up reference for garbage collection\n result = null;\n }\n}\n", "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nexport function createDeferred() {\n let resolve: (value: TValue) => void;\n let reject: (error: unknown) => void;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return { promise, resolve: resolve!, reject: reject! };\n}\nexport type Deferred = ReturnType>;\n", "import { createDeferred } from './createDeferred';\nimport { makeAsyncResource } from './disposable';\n\ntype ManagedIteratorResult =\n | { status: 'yield'; value: TYield }\n | { status: 'return'; value: TReturn }\n | { status: 'error'; error: unknown };\nfunction createManagedIterator(\n iterable: AsyncIterable,\n onResult: (result: ManagedIteratorResult) => void,\n) {\n const iterator = iterable[Symbol.asyncIterator]();\n let state: 'idle' | 'pending' | 'done' = 'idle';\n\n function cleanup() {\n state = 'done';\n onResult = () => {\n // noop\n };\n }\n\n function pull() {\n if (state !== 'idle') {\n return;\n }\n state = 'pending';\n\n const next = iterator.next();\n next\n .then((result) => {\n if (result.done) {\n state = 'done';\n onResult({ status: 'return', value: result.value });\n cleanup();\n return;\n }\n state = 'idle';\n onResult({ status: 'yield', value: result.value });\n })\n .catch((cause) => {\n onResult({ status: 'error', error: cause });\n cleanup();\n });\n }\n\n return {\n pull,\n destroy: async () => {\n cleanup();\n await iterator.return?.();\n },\n };\n}\ntype ManagedIterator = ReturnType<\n typeof createManagedIterator\n>;\n\ninterface MergedAsyncIterables\n extends AsyncIterable {\n add(iterable: AsyncIterable): void;\n}\n\n/**\n * Creates a new async iterable that merges multiple async iterables into a single stream.\n * Values from the input iterables are yielded in the order they resolve, similar to Promise.race().\n *\n * New iterables can be added dynamically using the returned {@link MergedAsyncIterables.add} method, even after iteration has started.\n *\n * If any of the input iterables throws an error, that error will be propagated through the merged stream.\n * Other iterables will not continue to be processed.\n *\n * @template TYield The type of values yielded by the input iterables\n */\nexport function mergeAsyncIterables(): MergedAsyncIterables {\n let state: 'idle' | 'pending' | 'done' = 'idle';\n let flushSignal = createDeferred();\n\n /**\n * used while {@link state} is `idle`\n */\n const iterables: AsyncIterable[] = [];\n /**\n * used while {@link state} is `pending`\n */\n const iterators = new Set>();\n\n const buffer: Array<\n [\n iterator: ManagedIterator,\n result: Exclude<\n ManagedIteratorResult,\n { status: 'return' }\n >,\n ]\n > = [];\n\n function initIterable(iterable: AsyncIterable) {\n if (state !== 'pending') {\n // shouldn't happen\n return;\n }\n const iterator = createManagedIterator(iterable, (result) => {\n if (state !== 'pending') {\n // shouldn't happen\n return;\n }\n switch (result.status) {\n case 'yield':\n buffer.push([iterator, result]);\n break;\n case 'return':\n iterators.delete(iterator);\n break;\n case 'error':\n buffer.push([iterator, result]);\n iterators.delete(iterator);\n break;\n }\n flushSignal.resolve();\n });\n iterators.add(iterator);\n iterator.pull();\n }\n\n return {\n add(iterable: AsyncIterable) {\n switch (state) {\n case 'idle':\n iterables.push(iterable);\n break;\n case 'pending':\n initIterable(iterable);\n break;\n case 'done': {\n // shouldn't happen\n break;\n }\n }\n },\n async *[Symbol.asyncIterator]() {\n if (state !== 'idle') {\n throw new Error('Cannot iterate twice');\n }\n state = 'pending';\n\n await using _finally = makeAsyncResource({}, async () => {\n state = 'done';\n\n const errors: unknown[] = [];\n await Promise.all(\n Array.from(iterators.values()).map(async (it) => {\n try {\n await it.destroy();\n } catch (cause) {\n errors.push(cause);\n }\n }),\n );\n buffer.length = 0;\n iterators.clear();\n flushSignal.resolve();\n\n if (errors.length > 0) {\n throw new AggregateError(errors);\n }\n });\n\n while (iterables.length > 0) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n initIterable(iterables.shift()!);\n }\n\n while (iterators.size > 0) {\n await flushSignal.promise;\n\n while (buffer.length > 0) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const [iterator, result] = buffer.shift()!;\n\n switch (result.status) {\n case 'yield':\n yield result.value;\n iterator.pull();\n break;\n case 'error':\n throw result.error;\n }\n }\n flushSignal = createDeferred();\n }\n },\n };\n}\n", "/**\n * Creates a ReadableStream from an AsyncIterable.\n *\n * @param iterable - The source AsyncIterable to stream from\n * @returns A ReadableStream that yields values from the AsyncIterable\n */\nexport function readableStreamFrom(\n iterable: AsyncIterable,\n): ReadableStream {\n const iterator = iterable[Symbol.asyncIterator]();\n\n return new ReadableStream({\n async cancel() {\n await iterator.return?.();\n },\n\n async pull(controller) {\n const result = await iterator.next();\n\n if (result.done) {\n controller.close();\n return;\n }\n\n controller.enqueue(result.value);\n },\n });\n}\n", "import { Unpromise } from '../../../vendor/unpromise';\nimport { iteratorResource } from './asyncIterable';\nimport { disposablePromiseTimerResult, timerResource } from './timerResource';\n\nexport const PING_SYM = Symbol('ping');\n\n/**\n * Derives a new {@link AsyncGenerator} based of {@link iterable}, that yields {@link PING_SYM}\n * whenever no value has been yielded for {@link pingIntervalMs}.\n */\nexport async function* withPing(\n iterable: AsyncIterable,\n pingIntervalMs: number,\n): AsyncGenerator {\n await using iterator = iteratorResource(iterable);\n\n // declaration outside the loop for garbage collection reasons\n let result:\n | null\n | IteratorResult\n | typeof disposablePromiseTimerResult;\n\n let nextPromise = iterator.next();\n\n while (true) {\n using pingPromise = timerResource(pingIntervalMs);\n\n result = await Unpromise.race([nextPromise, pingPromise.start()]);\n\n if (result === disposablePromiseTimerResult) {\n // cancelled\n\n yield PING_SYM;\n continue;\n }\n\n if (result.done) {\n return result.value;\n }\n\n nextPromise = iterator.next();\n yield result.value;\n\n // free up reference for garbage collection\n result = null;\n }\n}\n", "function _asyncIterator(r) {\n var n,\n t,\n o,\n e = 2;\n for (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n if (t && null != (n = r[t])) return n.call(r);\n if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n t = \"@@asyncIterator\", o = \"@@iterator\";\n }\n throw new TypeError(\"Object is not async iterable\");\n}\nfunction AsyncFromSyncIterator(r) {\n function AsyncFromSyncIteratorContinuation(r) {\n if (Object(r) !== r) return Promise.reject(new TypeError(r + \" is not an object.\"));\n var n = r.done;\n return Promise.resolve(r.value).then(function (r) {\n return {\n value: r,\n done: n\n };\n });\n }\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {\n this.s = r, this.n = r.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.resolve({\n value: r,\n done: !0\n }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n },\n \"throw\": function _throw(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(r);\n}\nmodule.exports = _asyncIterator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import { isPlainObject } from '@trpc/server/vendor/is-plain-object';\nimport {\n emptyObject,\n isAsyncIterable,\n isFunction,\n isObject,\n run,\n} from '../utils';\nimport { iteratorResource } from './utils/asyncIterable';\nimport type { Deferred } from './utils/createDeferred';\nimport { createDeferred } from './utils/createDeferred';\nimport { makeResource } from './utils/disposable';\nimport { mergeAsyncIterables } from './utils/mergeAsyncIterables';\nimport { readableStreamFrom } from './utils/readableStreamFrom';\nimport { PING_SYM, withPing } from './utils/withPing';\n\n/**\n * A subset of the standard ReadableStream properties needed by tRPC internally.\n * @see ReadableStream from lib.dom.d.ts\n */\nexport type WebReadableStreamEsque = {\n getReader: () => ReadableStreamDefaultReader;\n};\n\nexport type NodeJSReadableStreamEsque = {\n on(\n eventName: string | symbol,\n listener: (...args: any[]) => void,\n ): NodeJSReadableStreamEsque;\n};\n\n// ---------- types\nconst CHUNK_VALUE_TYPE_PROMISE = 0;\ntype CHUNK_VALUE_TYPE_PROMISE = typeof CHUNK_VALUE_TYPE_PROMISE;\nconst CHUNK_VALUE_TYPE_ASYNC_ITERABLE = 1;\ntype CHUNK_VALUE_TYPE_ASYNC_ITERABLE = typeof CHUNK_VALUE_TYPE_ASYNC_ITERABLE;\n\nconst PROMISE_STATUS_FULFILLED = 0;\ntype PROMISE_STATUS_FULFILLED = typeof PROMISE_STATUS_FULFILLED;\nconst PROMISE_STATUS_REJECTED = 1;\ntype PROMISE_STATUS_REJECTED = typeof PROMISE_STATUS_REJECTED;\n\nconst ASYNC_ITERABLE_STATUS_RETURN = 0;\ntype ASYNC_ITERABLE_STATUS_RETURN = typeof ASYNC_ITERABLE_STATUS_RETURN;\nconst ASYNC_ITERABLE_STATUS_YIELD = 1;\ntype ASYNC_ITERABLE_STATUS_YIELD = typeof ASYNC_ITERABLE_STATUS_YIELD;\nconst ASYNC_ITERABLE_STATUS_ERROR = 2;\ntype ASYNC_ITERABLE_STATUS_ERROR = typeof ASYNC_ITERABLE_STATUS_ERROR;\n\ntype ChunkDefinitionKey =\n // root should be replaced\n | null\n // at array path\n | number\n // at key path\n | string;\n\ntype ChunkIndex = number & { __chunkIndex: true };\ntype ChunkValueType =\n | CHUNK_VALUE_TYPE_PROMISE\n | CHUNK_VALUE_TYPE_ASYNC_ITERABLE;\ntype ChunkDefinition = [\n key: ChunkDefinitionKey,\n type: ChunkValueType,\n chunkId: ChunkIndex,\n];\ntype EncodedValue = [\n // data\n [unknown] | [],\n // chunk descriptions\n ...ChunkDefinition[],\n];\n\ntype Head = Record;\ntype PromiseChunk =\n | [\n chunkIndex: ChunkIndex,\n status: PROMISE_STATUS_FULFILLED,\n value: EncodedValue,\n ]\n | [chunkIndex: ChunkIndex, status: PROMISE_STATUS_REJECTED, error: unknown];\ntype IterableChunk =\n | [\n chunkIndex: ChunkIndex,\n status: ASYNC_ITERABLE_STATUS_RETURN,\n value: EncodedValue,\n ]\n | [\n chunkIndex: ChunkIndex,\n status: ASYNC_ITERABLE_STATUS_YIELD,\n value: EncodedValue,\n ]\n | [\n chunkIndex: ChunkIndex,\n status: ASYNC_ITERABLE_STATUS_ERROR,\n error: unknown,\n ];\ntype ChunkData = PromiseChunk | IterableChunk;\ntype PlaceholderValue = 0 & { __placeholder: true };\nexport function isPromise(value: unknown): value is Promise {\n return (\n (isObject(value) || isFunction(value)) &&\n typeof value?.['then'] === 'function' &&\n typeof value?.['catch'] === 'function'\n );\n}\n\ntype Serialize = (value: any) => any;\ntype Deserialize = (value: any) => any;\n\ntype PathArray = readonly (string | number)[];\nexport type ProducerOnError = (opts: {\n error: unknown;\n path: PathArray;\n}) => void;\nexport interface JSONLProducerOptions {\n serialize?: Serialize;\n data: Record | unknown[];\n onError?: ProducerOnError;\n formatError?: (opts: { error: unknown; path: PathArray }) => unknown;\n maxDepth?: number;\n /**\n * Interval in milliseconds to send a ping to the client to keep the connection alive\n * This will be sent as a whitespace character\n * @default undefined\n */\n pingMs?: number;\n}\n\nclass MaxDepthError extends Error {\n constructor(public path: (string | number)[]) {\n super('Max depth reached at path: ' + path.join('.'));\n }\n}\n\nasync function* createBatchStreamProducer(\n opts: JSONLProducerOptions,\n): AsyncIterable {\n const { data } = opts;\n let counter = 0 as ChunkIndex;\n const placeholder = 0 as PlaceholderValue;\n\n const mergedIterables = mergeAsyncIterables();\n function registerAsync(\n callback: (idx: ChunkIndex) => AsyncIterable,\n ) {\n const idx = counter++ as ChunkIndex;\n\n const iterable = callback(idx);\n mergedIterables.add(iterable);\n\n return idx;\n }\n\n function encodePromise(promise: Promise, path: (string | number)[]) {\n return registerAsync(async function* (idx) {\n const error = checkMaxDepth(path);\n if (error) {\n // Catch any errors from the original promise to ensure they're reported\n promise.catch((cause) => {\n opts.onError?.({ error: cause, path });\n });\n // Replace the promise with a rejected one containing the max depth error\n promise = Promise.reject(error);\n }\n try {\n const next = await promise;\n yield [idx, PROMISE_STATUS_FULFILLED, encode(next, path)];\n } catch (cause) {\n opts.onError?.({ error: cause, path });\n yield [\n idx,\n PROMISE_STATUS_REJECTED,\n opts.formatError?.({ error: cause, path }),\n ];\n }\n });\n }\n function encodeAsyncIterable(\n iterable: AsyncIterable,\n path: (string | number)[],\n ) {\n return registerAsync(async function* (idx) {\n const error = checkMaxDepth(path);\n if (error) {\n throw error;\n }\n await using iterator = iteratorResource(iterable);\n\n try {\n while (true) {\n const next = await iterator.next();\n if (next.done) {\n yield [idx, ASYNC_ITERABLE_STATUS_RETURN, encode(next.value, path)];\n break;\n }\n yield [idx, ASYNC_ITERABLE_STATUS_YIELD, encode(next.value, path)];\n }\n } catch (cause) {\n opts.onError?.({ error: cause, path });\n\n yield [\n idx,\n ASYNC_ITERABLE_STATUS_ERROR,\n opts.formatError?.({ error: cause, path }),\n ];\n }\n });\n }\n function checkMaxDepth(path: (string | number)[]) {\n if (opts.maxDepth && path.length > opts.maxDepth) {\n return new MaxDepthError(path);\n }\n return null;\n }\n function encodeAsync(\n value: unknown,\n path: (string | number)[],\n ): null | [type: ChunkValueType, chunkId: ChunkIndex] {\n if (isPromise(value)) {\n return [CHUNK_VALUE_TYPE_PROMISE, encodePromise(value, path)];\n }\n if (isAsyncIterable(value)) {\n if (opts.maxDepth && path.length >= opts.maxDepth) {\n throw new Error('Max depth reached');\n }\n return [\n CHUNK_VALUE_TYPE_ASYNC_ITERABLE,\n encodeAsyncIterable(value, path),\n ];\n }\n return null;\n }\n function encode(value: unknown, path: (string | number)[]): EncodedValue {\n if (value === undefined) {\n return [[]];\n }\n const reg = encodeAsync(value, path);\n if (reg) {\n return [[placeholder], [null, ...reg]];\n }\n\n if (!isPlainObject(value)) {\n return [[value]];\n }\n\n const newObj: Record = emptyObject();\n const asyncValues: ChunkDefinition[] = [];\n for (const [key, item] of Object.entries(value)) {\n const transformed = encodeAsync(item, [...path, key]);\n if (!transformed) {\n newObj[key] = item;\n continue;\n }\n newObj[key] = placeholder;\n asyncValues.push([key, ...transformed]);\n }\n return [[newObj], ...asyncValues];\n }\n\n const newHead: Head = emptyObject();\n for (const [key, item] of Object.entries(data)) {\n newHead[key] = encode(item, [key]);\n }\n\n yield newHead;\n\n let iterable: AsyncIterable =\n mergedIterables;\n if (opts.pingMs) {\n iterable = withPing(mergedIterables, opts.pingMs);\n }\n\n for await (const value of iterable) {\n yield value;\n }\n}\n/**\n * JSON Lines stream producer\n * @see https://jsonlines.org/\n */\nexport function jsonlStreamProducer(opts: JSONLProducerOptions) {\n let stream = readableStreamFrom(createBatchStreamProducer(opts));\n\n const { serialize } = opts;\n if (serialize) {\n stream = stream.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n if (chunk === PING_SYM) {\n controller.enqueue(PING_SYM);\n } else {\n controller.enqueue(serialize(chunk));\n }\n },\n }),\n );\n }\n\n return stream\n .pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n if (chunk === PING_SYM) {\n controller.enqueue(' ');\n } else {\n controller.enqueue(JSON.stringify(chunk) + '\\n');\n }\n },\n }),\n )\n .pipeThrough(new TextEncoderStream());\n}\n\nclass AsyncError extends Error {\n constructor(public readonly data: unknown) {\n super('Received error from server');\n }\n}\nexport type ConsumerOnError = (opts: { error: unknown }) => void;\n\nconst nodeJsStreamToReaderEsque = (source: NodeJSReadableStreamEsque) => {\n return {\n getReader() {\n const stream = new ReadableStream({\n start(controller) {\n source.on('data', (chunk) => {\n controller.enqueue(chunk);\n });\n source.on('end', () => {\n controller.close();\n });\n source.on('error', (error) => {\n controller.error(error);\n });\n },\n });\n return stream.getReader();\n },\n };\n};\n\nfunction createLineAccumulator(\n from: NodeJSReadableStreamEsque | WebReadableStreamEsque,\n) {\n const reader =\n 'getReader' in from\n ? from.getReader()\n : nodeJsStreamToReaderEsque(from).getReader();\n\n let lineAggregate = '';\n\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await reader.read();\n\n if (done) {\n controller.close();\n } else {\n controller.enqueue(value);\n }\n },\n cancel() {\n return reader.cancel();\n },\n })\n .pipeThrough(new TextDecoderStream())\n .pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n lineAggregate += chunk;\n const parts = lineAggregate.split('\\n');\n lineAggregate = parts.pop() ?? '';\n for (const part of parts) {\n controller.enqueue(part);\n }\n },\n }),\n );\n}\nfunction createConsumerStream(\n from: NodeJSReadableStreamEsque | WebReadableStreamEsque,\n) {\n const stream = createLineAccumulator(from);\n\n let sentHead = false;\n return stream.pipeThrough(\n new TransformStream({\n transform(line, controller) {\n if (!sentHead) {\n const head = JSON.parse(line);\n controller.enqueue(head as THead);\n sentHead = true;\n } else {\n const chunk: ChunkData = JSON.parse(line);\n controller.enqueue(chunk);\n }\n },\n }),\n );\n}\n\n/**\n * Creates a handler for managing stream controllers and their lifecycle\n */\nfunction createStreamsManager(abortController: AbortController) {\n const controllerMap = new Map<\n ChunkIndex,\n ReturnType\n >();\n\n /**\n * Checks if there are no pending controllers or deferred promises\n */\n function isEmpty() {\n return Array.from(controllerMap.values()).every((c) => c.closed);\n }\n\n /**\n * Creates a stream controller\n */\n function createStreamController() {\n let originalController: ReadableStreamDefaultController;\n const stream = new ReadableStream({\n start(controller) {\n originalController = controller;\n },\n });\n\n const streamController = {\n enqueue: (v: ChunkData) => originalController.enqueue(v),\n close: () => {\n originalController.close();\n\n clear();\n\n if (isEmpty()) {\n abortController.abort();\n }\n },\n closed: false,\n getReaderResource: () => {\n const reader = stream.getReader();\n\n return makeResource(reader, () => {\n streamController.close();\n reader.releaseLock();\n });\n },\n error: (reason: unknown) => {\n originalController.error(reason);\n\n clear();\n },\n };\n function clear() {\n Object.assign(streamController, {\n closed: true,\n close: () => {\n // noop\n },\n enqueue: () => {\n // noop\n },\n getReaderResource: null,\n error: () => {\n // noop\n },\n });\n }\n\n return streamController;\n }\n\n /**\n * Gets or creates a stream controller\n */\n function getOrCreate(chunkId: ChunkIndex) {\n let c = controllerMap.get(chunkId);\n if (!c) {\n c = createStreamController();\n controllerMap.set(chunkId, c);\n }\n return c;\n }\n\n /**\n * Cancels all pending controllers and rejects deferred promises\n */\n function cancelAll(reason: unknown) {\n for (const controller of controllerMap.values()) {\n controller.error(reason);\n }\n }\n\n return {\n getOrCreate,\n cancelAll,\n };\n}\n\n/**\n * JSON Lines stream consumer\n * @see https://jsonlines.org/\n */\nexport async function jsonlStreamConsumer(opts: {\n from: NodeJSReadableStreamEsque | WebReadableStreamEsque;\n deserialize?: Deserialize;\n onError?: ConsumerOnError;\n formatError?: (opts: { error: unknown }) => Error;\n /**\n * This `AbortController` will be triggered when there are no more listeners to the stream.\n */\n abortController: AbortController;\n}) {\n const { deserialize = (v) => v } = opts;\n\n let source = createConsumerStream(opts.from);\n if (deserialize) {\n source = source.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n controller.enqueue(deserialize(chunk));\n },\n }),\n );\n }\n let headDeferred: null | Deferred = createDeferred();\n\n const streamManager = createStreamsManager(opts.abortController);\n\n function decodeChunkDefinition(value: ChunkDefinition) {\n const [_path, type, chunkId] = value;\n\n const controller = streamManager.getOrCreate(chunkId);\n\n switch (type) {\n case CHUNK_VALUE_TYPE_PROMISE: {\n return run(async () => {\n using reader = controller.getReaderResource();\n\n const { value } = await reader.read();\n const [_chunkId, status, data] = value as PromiseChunk;\n switch (status) {\n case PROMISE_STATUS_FULFILLED:\n return decode(data);\n case PROMISE_STATUS_REJECTED:\n throw opts.formatError?.({ error: data }) ?? new AsyncError(data);\n }\n });\n }\n case CHUNK_VALUE_TYPE_ASYNC_ITERABLE: {\n return run(async function* () {\n using reader = controller.getReaderResource();\n\n while (true) {\n const { value } = await reader.read();\n\n const [_chunkId, status, data] = value as IterableChunk;\n\n switch (status) {\n case ASYNC_ITERABLE_STATUS_YIELD:\n yield decode(data);\n break;\n case ASYNC_ITERABLE_STATUS_RETURN:\n return decode(data);\n case ASYNC_ITERABLE_STATUS_ERROR:\n throw (\n opts.formatError?.({ error: data }) ?? new AsyncError(data)\n );\n }\n }\n });\n }\n }\n }\n\n function decode(value: EncodedValue): unknown {\n const [[data], ...asyncProps] = value;\n\n for (const value of asyncProps) {\n const [key] = value;\n const decoded = decodeChunkDefinition(value);\n\n if (key === null) {\n return decoded;\n }\n\n (data as any)[key] = decoded;\n }\n return data;\n }\n\n const closeOrAbort = (reason?: unknown) => {\n headDeferred?.reject(reason);\n streamManager.cancelAll(reason);\n };\n\n source\n .pipeTo(\n new WritableStream({\n write(chunkOrHead) {\n if (headDeferred) {\n const head = chunkOrHead as Record;\n\n for (const [key, value] of Object.entries(chunkOrHead)) {\n const parsed = decode(value as any);\n head[key] = parsed;\n }\n headDeferred.resolve(head as THead);\n headDeferred = null;\n\n return;\n }\n const chunk = chunkOrHead as ChunkData;\n const [idx] = chunk;\n\n const controller = streamManager.getOrCreate(idx);\n controller.enqueue(chunk);\n },\n close: closeOrAbort,\n abort: closeOrAbort,\n }),\n )\n .catch((error) => {\n opts.onError?.({ error });\n closeOrAbort(error);\n });\n\n return [await headDeferred.promise] as const;\n}\n", "var OverloadYield = require(\"./OverloadYield.js\");\nfunction _asyncGeneratorDelegate(t) {\n var e = {},\n n = !1;\n function pump(e, r) {\n return n = !0, r = new Promise(function (n) {\n n(t[e](r));\n }), {\n done: !1,\n value: new OverloadYield(r, 1)\n };\n }\n return e[\"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\"] = function () {\n return this;\n }, e.next = function (t) {\n return n ? (n = !1, t) : pump(\"next\", t);\n }, \"function\" == typeof t[\"throw\"] && (e[\"throw\"] = function (t) {\n if (n) throw n = !1, t;\n return pump(\"throw\", t);\n }), \"function\" == typeof t[\"return\"] && (e[\"return\"] = function (t) {\n return n ? (n = !1, t) : pump(\"return\", t);\n }), e;\n}\nmodule.exports = _asyncGeneratorDelegate, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "import { Unpromise } from '../../vendor/unpromise';\nimport { getTRPCErrorFromUnknown } from '../error/TRPCError';\nimport { isAbortError } from '../http/abortError';\nimport type { MaybePromise } from '../types';\nimport { emptyObject, identity, run } from '../utils';\nimport type { EventSourceLike } from './sse.types';\nimport type { inferTrackedOutput } from './tracked';\nimport { isTrackedEnvelope } from './tracked';\nimport { takeWithGrace } from './utils/asyncIterable';\nimport { makeAsyncResource } from './utils/disposable';\nimport { readableStreamFrom } from './utils/readableStreamFrom';\nimport {\n disposablePromiseTimerResult,\n timerResource,\n} from './utils/timerResource';\nimport { PING_SYM, withPing } from './utils/withPing';\n\ntype Serialize = (value: any) => any;\ntype Deserialize = (value: any) => any;\n\n/**\n * @internal\n */\nexport interface SSEPingOptions {\n /**\n * Enable ping comments sent from the server\n * @default false\n */\n enabled: boolean;\n /**\n * Interval in milliseconds\n * @default 1000\n */\n intervalMs?: number;\n}\n\nexport interface SSEClientOptions {\n /**\n * Timeout and reconnect after inactivity in milliseconds\n * @default undefined\n */\n reconnectAfterInactivityMs?: number;\n}\n\nexport interface SSEStreamProducerOptions {\n serialize?: Serialize;\n data: AsyncIterable;\n\n maxDepth?: number;\n ping?: SSEPingOptions;\n /**\n * Maximum duration in milliseconds for the request before ending the stream\n * @default undefined\n */\n maxDurationMs?: number;\n /**\n * End the request immediately after data is sent\n * Only useful for serverless runtimes that do not support streaming responses\n * @default false\n */\n emitAndEndImmediately?: boolean;\n formatError?: (opts: { error: unknown }) => unknown;\n /**\n * Client-specific options - these will be sent to the client as part of the first message\n * @default {}\n */\n client?: SSEClientOptions;\n}\n\nconst PING_EVENT = 'ping';\nconst SERIALIZED_ERROR_EVENT = 'serialized-error';\nconst CONNECTED_EVENT = 'connected';\nconst RETURN_EVENT = 'return';\n\ninterface SSEvent {\n id?: string;\n data: unknown;\n comment?: string;\n event?: string;\n}\n/**\n *\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html\n */\nexport function sseStreamProducer(\n opts: SSEStreamProducerOptions,\n) {\n const { serialize = identity } = opts;\n\n const ping: Required = {\n enabled: opts.ping?.enabled ?? false,\n intervalMs: opts.ping?.intervalMs ?? 1000,\n };\n const client: SSEClientOptions = opts.client ?? {};\n\n if (\n ping.enabled &&\n client.reconnectAfterInactivityMs &&\n ping.intervalMs > client.reconnectAfterInactivityMs\n ) {\n throw new Error(\n `Ping interval must be less than client reconnect interval to prevent unnecessary reconnection - ping.intervalMs: ${ping.intervalMs} client.reconnectAfterInactivityMs: ${client.reconnectAfterInactivityMs}`,\n );\n }\n\n async function* generator(): AsyncIterable {\n yield {\n event: CONNECTED_EVENT,\n data: JSON.stringify(client),\n };\n\n type TIteratorValue = Awaited | typeof PING_SYM;\n\n let iterable: AsyncIterable = opts.data;\n\n if (opts.emitAndEndImmediately) {\n iterable = takeWithGrace(iterable, {\n count: 1,\n gracePeriodMs: 1,\n });\n }\n\n if (ping.enabled && ping.intervalMs !== Infinity && ping.intervalMs > 0) {\n iterable = withPing(iterable, ping.intervalMs);\n }\n\n // We need those declarations outside the loop for garbage collection reasons. If they were\n // declared inside, they would not be freed until the next value is present.\n let value: null | TIteratorValue;\n let chunk: null | SSEvent;\n\n for await (value of iterable) {\n if (value === PING_SYM) {\n yield { event: PING_EVENT, data: '' };\n continue;\n }\n\n chunk = isTrackedEnvelope(value)\n ? { id: value[0], data: value[1] }\n : { data: value };\n\n chunk.data = JSON.stringify(serialize(chunk.data));\n\n yield chunk;\n\n // free up references for garbage collection\n value = null;\n chunk = null;\n }\n }\n\n async function* generatorWithErrorHandling(): AsyncIterable {\n try {\n yield* generator();\n\n yield {\n event: RETURN_EVENT,\n data: '',\n };\n } catch (cause) {\n if (isAbortError(cause)) {\n // ignore abort errors, send any other errors\n return;\n }\n // `err` must be caused by `opts.data`, `JSON.stringify` or `serialize`.\n // So, a user error in any case.\n const error = getTRPCErrorFromUnknown(cause);\n const data = opts.formatError?.({ error }) ?? null;\n yield {\n event: SERIALIZED_ERROR_EVENT,\n data: JSON.stringify(serialize(data)),\n };\n }\n }\n\n const stream = readableStreamFrom(generatorWithErrorHandling());\n\n return stream\n .pipeThrough(\n new TransformStream({\n transform(chunk, controller: TransformStreamDefaultController) {\n if ('event' in chunk) {\n controller.enqueue(`event: ${chunk.event}\\n`);\n }\n if ('data' in chunk) {\n controller.enqueue(`data: ${chunk.data}\\n`);\n }\n if ('id' in chunk) {\n controller.enqueue(`id: ${chunk.id}\\n`);\n }\n if ('comment' in chunk) {\n controller.enqueue(`: ${chunk.comment}\\n`);\n }\n controller.enqueue('\\n\\n');\n },\n }),\n )\n .pipeThrough(new TextEncoderStream());\n}\n\ninterface ConsumerStreamResultBase {\n eventSource: InstanceType | null;\n}\n\ninterface ConsumerStreamResultData\n extends ConsumerStreamResultBase {\n type: 'data';\n data: inferTrackedOutput;\n}\n\ninterface ConsumerStreamResultError\n extends ConsumerStreamResultBase {\n type: 'serialized-error';\n error: TConfig['error'];\n}\n\ninterface ConsumerStreamResultConnecting\n extends ConsumerStreamResultBase {\n type: 'connecting';\n event: EventSourceLike.EventOf | null;\n}\ninterface ConsumerStreamResultTimeout\n extends ConsumerStreamResultBase {\n type: 'timeout';\n ms: number;\n}\ninterface ConsumerStreamResultPing\n extends ConsumerStreamResultBase {\n type: 'ping';\n}\n\ninterface ConsumerStreamResultConnected\n extends ConsumerStreamResultBase {\n type: 'connected';\n options: SSEClientOptions;\n}\n\ntype ConsumerStreamResult =\n | ConsumerStreamResultData\n | ConsumerStreamResultError\n | ConsumerStreamResultConnecting\n | ConsumerStreamResultTimeout\n | ConsumerStreamResultPing\n | ConsumerStreamResultConnected;\n\nexport interface SSEStreamConsumerOptions {\n url: () => MaybePromise;\n init: () =>\n | MaybePromise>\n | undefined;\n signal: AbortSignal;\n deserialize?: Deserialize;\n EventSource: TConfig['EventSource'];\n}\n\ninterface ConsumerConfig {\n data: unknown;\n error: unknown;\n EventSource: EventSourceLike.AnyConstructor;\n}\n\nasync function withTimeout(opts: {\n promise: Promise;\n timeoutMs: number;\n onTimeout: () => Promise>;\n}): Promise {\n using timeoutPromise = timerResource(opts.timeoutMs);\n const res = await Unpromise.race([opts.promise, timeoutPromise.start()]);\n\n if (res === disposablePromiseTimerResult) {\n return await opts.onTimeout();\n }\n return res;\n}\n\n/**\n * @see https://html.spec.whatwg.org/multipage/server-sent-events.html\n */\nexport function sseStreamConsumer(\n opts: SSEStreamConsumerOptions,\n): AsyncIterable> {\n const { deserialize = (v) => v } = opts;\n\n let clientOptions: SSEClientOptions = emptyObject();\n\n const signal = opts.signal;\n\n let _es: InstanceType | null = null;\n\n const createStream = () =>\n new ReadableStream>({\n async start(controller) {\n const [url, init] = await Promise.all([opts.url(), opts.init()]);\n const eventSource = (_es = new opts.EventSource(\n url,\n init,\n ) as InstanceType);\n\n controller.enqueue({\n type: 'connecting',\n eventSource: _es,\n event: null,\n });\n\n eventSource.addEventListener(CONNECTED_EVENT, (_msg) => {\n const msg = _msg as EventSourceLike.MessageEvent;\n\n const options: SSEClientOptions = JSON.parse(msg.data);\n\n clientOptions = options;\n controller.enqueue({\n type: 'connected',\n options,\n eventSource,\n });\n });\n\n eventSource.addEventListener(SERIALIZED_ERROR_EVENT, (_msg) => {\n const msg = _msg as EventSourceLike.MessageEvent;\n\n controller.enqueue({\n type: 'serialized-error',\n error: deserialize(JSON.parse(msg.data)),\n eventSource,\n });\n });\n eventSource.addEventListener(PING_EVENT, () => {\n controller.enqueue({\n type: 'ping',\n eventSource,\n });\n });\n eventSource.addEventListener(RETURN_EVENT, () => {\n eventSource.close();\n controller.close();\n _es = null;\n });\n eventSource.addEventListener('error', (event) => {\n if (eventSource.readyState === eventSource.CLOSED) {\n controller.error(event);\n } else {\n controller.enqueue({\n type: 'connecting',\n eventSource,\n event,\n });\n }\n });\n eventSource.addEventListener('message', (_msg) => {\n const msg = _msg as EventSourceLike.MessageEvent;\n\n const chunk = deserialize(JSON.parse(msg.data));\n\n const def: SSEvent = {\n data: chunk,\n };\n if (msg.lastEventId) {\n def.id = msg.lastEventId;\n }\n controller.enqueue({\n type: 'data',\n data: def as inferTrackedOutput,\n eventSource,\n });\n });\n\n const onAbort = () => {\n try {\n eventSource.close();\n controller.close();\n } catch {\n // ignore errors in case the controller is already closed\n }\n };\n if (signal.aborted) {\n onAbort();\n } else {\n signal.addEventListener('abort', onAbort);\n }\n },\n cancel() {\n _es?.close();\n },\n });\n\n const getStreamResource = () => {\n let stream = createStream();\n let reader = stream.getReader();\n\n async function dispose() {\n await reader.cancel();\n _es = null;\n }\n\n return makeAsyncResource(\n {\n read() {\n return reader.read();\n },\n async recreate() {\n await dispose();\n\n stream = createStream();\n reader = stream.getReader();\n },\n },\n dispose,\n );\n };\n\n return run(async function* () {\n await using stream = getStreamResource();\n\n while (true) {\n let promise = stream.read();\n\n const timeoutMs = clientOptions.reconnectAfterInactivityMs;\n if (timeoutMs) {\n promise = withTimeout({\n promise,\n timeoutMs,\n onTimeout: async () => {\n const res: Awaited = {\n value: {\n type: 'timeout',\n ms: timeoutMs,\n eventSource: _es,\n },\n done: false,\n };\n // Close and release old reader\n await stream.recreate();\n\n return res;\n },\n });\n }\n\n const result = await promise;\n\n if (result.done) {\n return result.value;\n }\n yield result.value;\n }\n });\n}\n\nexport const sseHeaders = {\n 'Content-Type': 'text/event-stream',\n 'Cache-Control': 'no-cache, no-transform',\n 'X-Accel-Buffering': 'no',\n Connection: 'keep-alive',\n} as const;\n", "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n isObservable,\n observableToAsyncIterable,\n} from '../../observable/observable';\nimport { getErrorShape } from '../error/getErrorShape';\nimport { getTRPCErrorFromUnknown, TRPCError } from '../error/TRPCError';\nimport type { ProcedureType } from '../procedure';\nimport {\n type AnyRouter,\n type inferRouterContext,\n type inferRouterError,\n} from '../router';\nimport type { TRPCResponse } from '../rpc';\nimport { isPromise, jsonlStreamProducer } from '../stream/jsonl';\nimport { sseHeaders, sseStreamProducer } from '../stream/sse';\nimport { transformTRPCResponse } from '../transformer';\nimport {\n abortSignalsAnyPonyfill,\n isAsyncIterable,\n isObject,\n run,\n} from '../utils';\nimport { getAcceptHeader, getRequestInfo } from './contentType';\nimport { getHTTPStatusCode } from './getHTTPStatusCode';\nimport type {\n HTTPBaseHandlerOptions,\n ResolveHTTPRequestOptionsContextFn,\n TRPCRequestInfo,\n} from './types';\n\nfunction errorToAsyncIterable(err: TRPCError): AsyncIterable {\n return run(async function* () {\n throw err;\n });\n}\ntype HTTPMethods =\n | 'GET'\n | 'POST'\n | 'HEAD'\n | 'OPTIONS'\n | 'PUT'\n | 'DELETE'\n | 'PATCH';\n\nfunction combinedAbortController(signal: AbortSignal) {\n const controller = new AbortController();\n const combinedSignal = abortSignalsAnyPonyfill([signal, controller.signal]);\n return {\n signal: combinedSignal,\n controller,\n };\n}\n\nconst TYPE_ACCEPTED_METHOD_MAP: Record = {\n mutation: ['POST'],\n query: ['GET'],\n subscription: ['GET'],\n};\nconst TYPE_ACCEPTED_METHOD_MAP_WITH_METHOD_OVERRIDE: Record<\n ProcedureType,\n HTTPMethods[]\n> = {\n // never allow GET to do a mutation\n mutation: ['POST'],\n query: ['GET', 'POST'],\n subscription: ['GET', 'POST'],\n};\n\ninterface ResolveHTTPRequestOptions\n extends HTTPBaseHandlerOptions {\n createContext: ResolveHTTPRequestOptionsContextFn;\n req: Request;\n path: string;\n /**\n * If the request had an issue before reaching the handler\n */\n error: TRPCError | null;\n}\n\nfunction initResponse(initOpts: {\n ctx: inferRouterContext | undefined;\n info: TRPCRequestInfo | undefined;\n responseMeta?: HTTPBaseHandlerOptions['responseMeta'];\n untransformedJSON:\n | TRPCResponse>\n | TRPCResponse>[]\n | null;\n errors: TRPCError[];\n headers: Headers;\n}) {\n const {\n ctx,\n info,\n responseMeta,\n untransformedJSON,\n errors = [],\n headers,\n } = initOpts;\n\n let status = untransformedJSON ? getHTTPStatusCode(untransformedJSON) : 200;\n\n const eagerGeneration = !untransformedJSON;\n const data = eagerGeneration\n ? []\n : Array.isArray(untransformedJSON)\n ? untransformedJSON\n : [untransformedJSON];\n\n const meta =\n responseMeta?.({\n ctx,\n info,\n paths: info?.calls.map((call) => call.path),\n data,\n errors,\n eagerGeneration,\n type:\n info?.calls.find((call) => call.procedure?._def.type)?.procedure?._def\n .type ?? 'unknown',\n }) ?? {};\n\n if (meta.headers) {\n if (meta.headers instanceof Headers) {\n for (const [key, value] of meta.headers.entries()) {\n headers.append(key, value);\n }\n } else {\n /**\n * @deprecated, delete in v12\n */\n for (const [key, value] of Object.entries(meta.headers)) {\n if (Array.isArray(value)) {\n for (const v of value) {\n headers.append(key, v);\n }\n } else if (typeof value === 'string') {\n headers.set(key, value);\n }\n }\n }\n }\n if (meta.status) {\n status = meta.status;\n }\n\n return {\n status,\n };\n}\n\nfunction caughtErrorToData(\n cause: unknown,\n errorOpts: {\n opts: Pick<\n ResolveHTTPRequestOptions,\n 'onError' | 'req' | 'router'\n >;\n ctx: inferRouterContext | undefined;\n type: ProcedureType | 'unknown';\n path?: string;\n input?: unknown;\n },\n) {\n const { router, req, onError } = errorOpts.opts;\n const error = getTRPCErrorFromUnknown(cause);\n onError?.({\n error,\n path: errorOpts.path,\n input: errorOpts.input,\n ctx: errorOpts.ctx,\n type: errorOpts.type,\n req,\n });\n const untransformedJSON = {\n error: getErrorShape({\n config: router._def._config,\n error,\n type: errorOpts.type,\n path: errorOpts.path,\n input: errorOpts.input,\n ctx: errorOpts.ctx,\n }),\n };\n const transformedJSON = transformTRPCResponse(\n router._def._config,\n untransformedJSON,\n );\n const body = JSON.stringify(transformedJSON);\n return {\n error,\n untransformedJSON,\n body,\n };\n}\n\n/**\n * Check if a value is a stream-like object\n * - if it's an async iterable\n * - if it's an object with async iterables or promises\n */\nfunction isDataStream(v: unknown) {\n if (!isObject(v)) {\n return false;\n }\n\n if (isAsyncIterable(v)) {\n return true;\n }\n\n return (\n Object.values(v).some(isPromise) || Object.values(v).some(isAsyncIterable)\n );\n}\n\ntype ResultTuple = [undefined, T] | [TRPCError, undefined];\n\nexport async function resolveResponse(\n opts: ResolveHTTPRequestOptions,\n): Promise {\n const { router, req } = opts;\n const headers = new Headers([['vary', 'trpc-accept, accept']]);\n const config = router._def._config;\n\n const url = new URL(req.url);\n\n if (req.method === 'HEAD') {\n // can be used for lambda warmup\n return new Response(null, {\n status: 204,\n });\n }\n\n const allowBatching = opts.allowBatching ?? opts.batching?.enabled ?? true;\n const allowMethodOverride =\n (opts.allowMethodOverride ?? false) && req.method === 'POST';\n\n type $Context = inferRouterContext;\n\n const infoTuple: ResultTuple = await run(async () => {\n try {\n return [\n undefined,\n await getRequestInfo({\n req,\n path: decodeURIComponent(opts.path),\n router,\n searchParams: url.searchParams,\n headers: opts.req.headers,\n url,\n }),\n ];\n } catch (cause) {\n return [getTRPCErrorFromUnknown(cause), undefined];\n }\n });\n\n interface ContextManager {\n valueOrUndefined: () => $Context | undefined;\n value: () => $Context;\n create: (info: TRPCRequestInfo) => Promise;\n }\n const ctxManager: ContextManager = run(() => {\n let result: ResultTuple<$Context> | undefined = undefined;\n return {\n valueOrUndefined: () => {\n if (!result) {\n return undefined;\n }\n return result[1];\n },\n value: () => {\n const [err, ctx] = result!;\n if (err) {\n throw err;\n }\n return ctx;\n },\n create: async (info) => {\n if (result) {\n throw new Error(\n 'This should only be called once - report a bug in tRPC',\n );\n }\n try {\n const ctx = await opts.createContext({\n info,\n });\n result = [undefined, ctx];\n } catch (cause) {\n result = [getTRPCErrorFromUnknown(cause), undefined];\n }\n },\n };\n });\n\n const methodMapper = allowMethodOverride\n ? TYPE_ACCEPTED_METHOD_MAP_WITH_METHOD_OVERRIDE\n : TYPE_ACCEPTED_METHOD_MAP;\n\n /**\n * @deprecated\n */\n const isStreamCall = getAcceptHeader(req.headers) === 'application/jsonl';\n\n const experimentalSSE = config.sse?.enabled ?? true;\n try {\n const [infoError, info] = infoTuple;\n if (infoError) {\n throw infoError;\n }\n if (info.isBatchCall && !allowBatching) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: `Batching is not enabled on the server`,\n });\n }\n /* istanbul ignore if -- @preserve */\n if (isStreamCall && !info.isBatchCall) {\n throw new TRPCError({\n message: `Streaming requests must be batched (you can do a batch of 1)`,\n code: 'BAD_REQUEST',\n });\n }\n await ctxManager.create(info);\n\n interface RPCResultOk {\n data: unknown;\n signal?: AbortSignal;\n }\n type RPCResult = ResultTuple;\n const rpcCalls = info.calls.map(async (call): Promise => {\n const proc = call.procedure;\n const combinedAbort = combinedAbortController(opts.req.signal);\n try {\n if (opts.error) {\n throw opts.error;\n }\n\n if (!proc) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No procedure found on path \"${call.path}\"`,\n });\n }\n\n if (!methodMapper[proc._def.type].includes(req.method as HTTPMethods)) {\n throw new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message: `Unsupported ${req.method}-request to ${proc._def.type} procedure at path \"${call.path}\"`,\n });\n }\n\n if (proc._def.type === 'subscription') {\n /* istanbul ignore if -- @preserve */\n if (info.isBatchCall) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: `Cannot batch subscription calls`,\n });\n }\n\n if (config.sse?.maxDurationMs) {\n function cleanup() {\n clearTimeout(timer);\n combinedAbort.signal.removeEventListener('abort', cleanup);\n\n combinedAbort.controller.abort();\n }\n const timer = setTimeout(cleanup, config.sse.maxDurationMs);\n combinedAbort.signal.addEventListener('abort', cleanup);\n }\n }\n const data: unknown = await proc({\n path: call.path,\n getRawInput: call.getRawInput,\n ctx: ctxManager.value(),\n type: proc._def.type,\n signal: combinedAbort.signal,\n batchIndex: call.batchIndex,\n });\n return [\n undefined,\n {\n data,\n signal:\n proc._def.type === 'subscription'\n ? combinedAbort.signal\n : undefined,\n },\n ];\n } catch (cause) {\n const error = getTRPCErrorFromUnknown(cause);\n const input = call.result();\n\n opts.onError?.({\n error,\n path: call.path,\n input,\n ctx: ctxManager.valueOrUndefined(),\n type: call.procedure?._def.type ?? 'unknown',\n req: opts.req,\n });\n\n return [error, undefined];\n }\n });\n\n // ----------- response handlers -----------\n if (!info.isBatchCall) {\n const [call] = info.calls;\n const [error, result] = await rpcCalls[0]!;\n\n switch (info.type) {\n case 'unknown':\n case 'mutation':\n case 'query': {\n // httpLink\n headers.set('content-type', 'application/json');\n\n if (isDataStream(result?.data)) {\n throw new TRPCError({\n code: 'UNSUPPORTED_MEDIA_TYPE',\n message:\n 'Cannot use stream-like response in non-streaming request - use httpBatchStreamLink',\n });\n }\n const res: TRPCResponse> = error\n ? {\n error: getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input: call!.result(),\n path: call!.path,\n type: info.type,\n }),\n }\n : { result: { data: result.data } };\n\n const headResponse = initResponse({\n ctx: ctxManager.valueOrUndefined(),\n info,\n responseMeta: opts.responseMeta,\n errors: error ? [error] : [],\n headers,\n untransformedJSON: [res],\n });\n return new Response(\n JSON.stringify(transformTRPCResponse(config, res)),\n {\n status: headResponse.status,\n headers,\n },\n );\n }\n case 'subscription': {\n // httpSubscriptionLink\n\n const iterable: AsyncIterable = run(() => {\n if (error) {\n return errorToAsyncIterable(error);\n }\n if (!experimentalSSE) {\n return errorToAsyncIterable(\n new TRPCError({\n code: 'METHOD_NOT_SUPPORTED',\n message: 'Missing experimental flag \"sseSubscriptions\"',\n }),\n );\n }\n\n if (!isObservable(result.data) && !isAsyncIterable(result.data)) {\n return errorToAsyncIterable(\n new TRPCError({\n message: `Subscription ${\n call!.path\n } did not return an observable or a AsyncGenerator`,\n code: 'INTERNAL_SERVER_ERROR',\n }),\n );\n }\n const dataAsIterable = isObservable(result.data)\n ? observableToAsyncIterable(result.data, opts.req.signal)\n : result.data;\n return dataAsIterable;\n });\n\n const stream = sseStreamProducer({\n ...config.sse,\n data: iterable,\n serialize: (v) => config.transformer.output.serialize(v),\n formatError(errorOpts) {\n const error = getTRPCErrorFromUnknown(errorOpts.error);\n const input = call?.result();\n const path = call?.path;\n const type = call?.procedure?._def.type ?? 'unknown';\n\n opts.onError?.({\n error,\n path,\n input,\n ctx: ctxManager.valueOrUndefined(),\n req: opts.req,\n type,\n });\n\n const shape = getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input,\n path,\n type,\n });\n\n return shape;\n },\n });\n for (const [key, value] of Object.entries(sseHeaders)) {\n headers.set(key, value);\n }\n\n const headResponse = initResponse({\n ctx: ctxManager.valueOrUndefined(),\n info,\n responseMeta: opts.responseMeta,\n errors: [],\n headers,\n untransformedJSON: null,\n });\n\n const abortSignal = result?.signal;\n let responseBody: ReadableStream = stream;\n\n // Fixes: https://github.com/trpc/trpc/issues/7094\n if (abortSignal) {\n const reader = stream.getReader();\n const onAbort = () => void reader.cancel();\n if (abortSignal.aborted) {\n onAbort();\n } else {\n abortSignal.addEventListener('abort', onAbort, { once: true });\n }\n\n responseBody = new ReadableStream({\n async pull(controller) {\n const chunk = await reader.read();\n if (chunk.done) {\n abortSignal.removeEventListener('abort', onAbort);\n controller.close();\n } else {\n controller.enqueue(chunk.value);\n }\n },\n cancel() {\n abortSignal.removeEventListener('abort', onAbort);\n return reader.cancel();\n },\n });\n }\n\n return new Response(responseBody, {\n headers,\n status: headResponse.status,\n });\n }\n }\n }\n\n // batch response handlers\n if (info.accept === 'application/jsonl') {\n // httpBatchStreamLink\n headers.set('content-type', 'application/json');\n headers.set('transfer-encoding', 'chunked');\n const headResponse = initResponse({\n ctx: ctxManager.valueOrUndefined(),\n info,\n responseMeta: opts.responseMeta,\n errors: [],\n headers,\n untransformedJSON: null,\n });\n const stream = jsonlStreamProducer({\n ...config.jsonl,\n /**\n * Example structure for `maxDepth: 4`:\n * {\n * // 1\n * 0: {\n * // 2\n * result: {\n * // 3\n * data: // 4\n * }\n * }\n * }\n */\n maxDepth: Infinity,\n data: rpcCalls.map(async (res) => {\n const [error, result] = await res;\n\n const call = info.calls[0];\n\n if (error) {\n return {\n error: getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input: call!.result(),\n path: call!.path,\n type: call!.procedure?._def.type ?? 'unknown',\n }),\n };\n }\n\n /**\n * Not very pretty, but we need to wrap nested data in promises\n * Our stream producer will only resolve top-level async values or async values that are directly nested in another async value\n */\n const iterable = isObservable(result.data)\n ? observableToAsyncIterable(result.data, opts.req.signal)\n : Promise.resolve(result.data);\n return {\n result: Promise.resolve({\n data: iterable,\n }),\n };\n }),\n serialize: (data) => config.transformer.output.serialize(data),\n onError: (cause) => {\n opts.onError?.({\n error: getTRPCErrorFromUnknown(cause),\n path: undefined,\n input: undefined,\n ctx: ctxManager.valueOrUndefined(),\n req: opts.req,\n type: info?.type ?? 'unknown',\n });\n },\n\n formatError(errorOpts) {\n const call = info?.calls[errorOpts.path[0] as any];\n\n const error = getTRPCErrorFromUnknown(errorOpts.error);\n const input = call?.result();\n const path = call?.path;\n const type = call?.procedure?._def.type ?? 'unknown';\n\n // no need to call `onError` here as it will be propagated through the stream itself\n\n const shape = getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input,\n path,\n type,\n });\n\n return shape;\n },\n });\n\n return new Response(stream, {\n headers,\n status: headResponse.status,\n });\n }\n\n // httpBatchLink\n /**\n * Non-streaming response:\n * - await all responses in parallel, blocking on the slowest one\n * - create headers with known response body\n * - return a complete HTTPResponse\n */\n headers.set('content-type', 'application/json');\n const results: RPCResult[] = (await Promise.all(rpcCalls)).map(\n (res): RPCResult => {\n const [error, result] = res;\n if (error) {\n return res;\n }\n\n if (isDataStream(result.data)) {\n return [\n new TRPCError({\n code: 'UNSUPPORTED_MEDIA_TYPE',\n message:\n 'Cannot use stream-like response in non-streaming request - use httpBatchStreamLink',\n }),\n undefined,\n ];\n }\n return res;\n },\n );\n const resultAsRPCResponse = results.map(\n (\n [error, result],\n index,\n ): TRPCResponse> => {\n const call = info.calls[index]!;\n if (error) {\n return {\n error: getErrorShape({\n config,\n ctx: ctxManager.valueOrUndefined(),\n error,\n input: call.result(),\n path: call.path,\n type: call.procedure?._def.type ?? 'unknown',\n }),\n };\n }\n return {\n result: { data: result.data },\n };\n },\n );\n\n const errors = results\n .map(([error]) => error)\n .filter(Boolean) as TRPCError[];\n\n const headResponse = initResponse({\n ctx: ctxManager.valueOrUndefined(),\n info,\n responseMeta: opts.responseMeta,\n untransformedJSON: resultAsRPCResponse,\n errors,\n headers,\n });\n\n return new Response(\n JSON.stringify(transformTRPCResponse(config, resultAsRPCResponse)),\n {\n status: headResponse.status,\n headers,\n },\n );\n } catch (cause) {\n const [_infoError, info] = infoTuple;\n const ctx = ctxManager.valueOrUndefined();\n // we get here if\n // - batching is called when it's not enabled\n // - `createContext()` throws\n // - `router._def._config.transformer.output.serialize()` throws\n // - post body is too large\n // - input deserialization fails\n // - `errorFormatter` return value is malformed\n const { error, untransformedJSON, body } = caughtErrorToData(cause, {\n opts,\n ctx: ctxManager.valueOrUndefined(),\n type: info?.type ?? 'unknown',\n });\n\n const headResponse = initResponse({\n ctx,\n info,\n responseMeta: opts.responseMeta,\n untransformedJSON,\n errors: [error],\n headers,\n });\n\n return new Response(body, {\n status: headResponse.status,\n headers,\n });\n }\n}\n", "/**\n * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`\n *\n * @example\n * ```ts\n * import type { AnyTRPCRouter } from '@trpc/server'\n * import type { HTTPBaseHandlerOptions } from '@trpc/server/http'\n * ```\n */\n// @trpc/server\n\nimport type { AnyRouter } from '../../@trpc/server';\nimport type { ResolveHTTPRequestOptionsContextFn } from '../../@trpc/server/http';\nimport { resolveResponse } from '../../@trpc/server/http';\nimport type { FetchHandlerRequestOptions } from './types';\n\nconst trimSlashes = (path: string): string => {\n path = path.startsWith('/') ? path.slice(1) : path;\n path = path.endsWith('/') ? path.slice(0, -1) : path;\n\n return path;\n};\n\nexport async function fetchRequestHandler(\n opts: FetchHandlerRequestOptions,\n): Promise {\n const resHeaders = new Headers();\n\n const createContext: ResolveHTTPRequestOptionsContextFn = async (\n innerOpts,\n ) => {\n return opts.createContext?.({ req: opts.req, resHeaders, ...innerOpts });\n };\n\n const url = new URL(opts.req.url);\n\n const pathname = trimSlashes(url.pathname);\n const endpoint = trimSlashes(opts.endpoint);\n const path = trimSlashes(pathname.slice(endpoint.length));\n\n return await resolveResponse({\n ...opts,\n req: opts.req,\n createContext,\n path,\n error: null,\n onError(o) {\n opts?.onError?.({ ...o, req: opts.req });\n },\n responseMeta(data) {\n const meta = opts.responseMeta?.(data);\n\n if (meta?.headers) {\n if (meta.headers instanceof Headers) {\n for (const [key, value] of meta.headers.entries()) {\n resHeaders.append(key, value);\n }\n } else {\n /**\n * @deprecated, delete in v12\n */\n for (const [key, value] of Object.entries(meta.headers)) {\n if (Array.isArray(value)) {\n for (const v of value) {\n resHeaders.append(key, v);\n }\n } else if (typeof value === 'string') {\n resHeaders.set(key, value);\n }\n }\n }\n }\n\n return {\n headers: resHeaders,\n status: meta?.status,\n };\n },\n });\n}\n", "// src/helper/route/index.ts\nimport { GET_MATCH_RESULT } from \"../../request/constants.js\";\nimport { getPattern, splitRoutingPath } from \"../../utils/url.js\";\nvar matchedRoutes = (c) => (\n // @ts-expect-error c.req[GET_MATCH_RESULT] is not typed\n c.req[GET_MATCH_RESULT][0].map(([[, route]]) => route)\n);\nvar routePath = (c, index) => matchedRoutes(c).at(index ?? c.req.routeIndex)?.path ?? \"\";\nvar baseRoutePath = (c, index) => matchedRoutes(c).at(index ?? c.req.routeIndex)?.basePath ?? \"\";\nvar basePathCacheMap = /* @__PURE__ */ new WeakMap();\nvar basePath = (c, index) => {\n index ??= c.req.routeIndex;\n const cache = basePathCacheMap.get(c) || [];\n if (typeof cache[index] === \"string\") {\n return cache[index];\n }\n let result;\n const rp = baseRoutePath(c, index);\n if (!/[:*]/.test(rp)) {\n result = rp;\n } else {\n const paths = splitRoutingPath(rp);\n const reqPath = c.req.path;\n let basePathLength = 0;\n for (let i = 0, len = paths.length; i < len; i++) {\n const pattern = getPattern(paths[i], paths[i + 1]);\n if (pattern) {\n const re = pattern[2] === true || pattern === \"*\" ? /[^\\/]+/ : pattern[2];\n basePathLength += reqPath.substring(basePathLength + 1).match(re)?.[0].length || 0;\n } else {\n basePathLength += paths[i].length;\n }\n basePathLength += 1;\n }\n result = reqPath.substring(0, basePathLength);\n }\n cache[index] = result;\n basePathCacheMap.set(c, cache);\n return result;\n};\nexport {\n basePath,\n baseRoutePath,\n matchedRoutes,\n routePath\n};\n", "import type { AnyRouter } from '@trpc/server'\nimport type {\n FetchCreateContextFnOptions,\n FetchHandlerRequestOptions,\n} from '@trpc/server/adapters/fetch'\nimport { fetchRequestHandler } from '@trpc/server/adapters/fetch'\nimport type { Context, MiddlewareHandler } from 'hono'\nimport { routePath } from 'hono/route'\n\ntype tRPCOptions = Omit<\n FetchHandlerRequestOptions,\n 'req' | 'endpoint' | 'createContext'\n> &\n Partial, 'endpoint'>> & {\n createContext?(\n opts: FetchCreateContextFnOptions,\n c: Context\n ): Record | Promise>\n }\n\nexport const trpcServer = ({\n endpoint,\n createContext,\n ...rest\n}: tRPCOptions): MiddlewareHandler => {\n const bodyProps = new Set(['arrayBuffer', 'blob', 'formData', 'json', 'text'] as const)\n type BodyProp = typeof bodyProps extends Set ? T : never\n return async (c) => {\n const canWithBody = c.req.method === 'GET' || c.req.method === 'HEAD'\n\n // Auto-detect endpoint from route path if not explicitly provided\n let resolvedEndpoint = endpoint\n if (!endpoint) {\n const path = routePath(c)\n if (path) {\n // Remove wildcard suffix (e.g., \"/v1/*\" -> \"/v1\")\n resolvedEndpoint = path.replace(/\\/\\*+$/, '') || '/trpc'\n } else {\n resolvedEndpoint = '/trpc'\n }\n }\n\n const res = await fetchRequestHandler({\n ...rest,\n createContext: async (opts) => ({\n ...(createContext ? await createContext(opts, c) : {}),\n // propagate env by default\n env: c.env,\n }),\n endpoint: resolvedEndpoint!,\n req: canWithBody\n ? c.req.raw\n : new Proxy(c.req.raw, {\n get(t, p, _r) {\n if (bodyProps.has(p as BodyProp)) {\n return () => c.req[p as BodyProp]()\n }\n return Reflect.get(t, p, t)\n },\n }),\n })\n return res\n }\n}\n", "export const encoder = new TextEncoder();\nexport const decoder = new TextDecoder();\nconst MAX_INT32 = 2 ** 32;\nexport function concat(...buffers) {\n const size = buffers.reduce((acc, { length }) => acc + length, 0);\n const buf = new Uint8Array(size);\n let i = 0;\n for (const buffer of buffers) {\n buf.set(buffer, i);\n i += buffer.length;\n }\n return buf;\n}\nfunction writeUInt32BE(buf, value, offset) {\n if (value < 0 || value >= MAX_INT32) {\n throw new RangeError(`value must be >= 0 and <= ${MAX_INT32 - 1}. Received ${value}`);\n }\n buf.set([value >>> 24, value >>> 16, value >>> 8, value & 0xff], offset);\n}\nexport function uint64be(value) {\n const high = Math.floor(value / MAX_INT32);\n const low = value % MAX_INT32;\n const buf = new Uint8Array(8);\n writeUInt32BE(buf, high, 0);\n writeUInt32BE(buf, low, 4);\n return buf;\n}\nexport function uint32be(value) {\n const buf = new Uint8Array(4);\n writeUInt32BE(buf, value);\n return buf;\n}\nexport function encode(string) {\n const bytes = new Uint8Array(string.length);\n for (let i = 0; i < string.length; i++) {\n const code = string.charCodeAt(i);\n if (code > 127) {\n throw new TypeError('non-ASCII string encountered in encode()');\n }\n bytes[i] = code;\n }\n return bytes;\n}\n", "export function encodeBase64(input) {\n if (Uint8Array.prototype.toBase64) {\n return input.toBase64();\n }\n const CHUNK_SIZE = 0x8000;\n const arr = [];\n for (let i = 0; i < input.length; i += CHUNK_SIZE) {\n arr.push(String.fromCharCode.apply(null, input.subarray(i, i + CHUNK_SIZE)));\n }\n return btoa(arr.join(''));\n}\nexport function decodeBase64(encoded) {\n if (Uint8Array.fromBase64) {\n return Uint8Array.fromBase64(encoded);\n }\n const binary = atob(encoded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\n", "import { encoder, decoder } from '../lib/buffer_utils.js';\nimport { encodeBase64, decodeBase64 } from '../lib/base64.js';\nexport function decode(input) {\n if (Uint8Array.fromBase64) {\n return Uint8Array.fromBase64(typeof input === 'string' ? input : decoder.decode(input), {\n alphabet: 'base64url',\n });\n }\n let encoded = input;\n if (encoded instanceof Uint8Array) {\n encoded = decoder.decode(encoded);\n }\n encoded = encoded.replace(/-/g, '+').replace(/_/g, '/');\n try {\n return decodeBase64(encoded);\n }\n catch {\n throw new TypeError('The input to be decoded is not correctly encoded.');\n }\n}\nexport function encode(input) {\n let unencoded = input;\n if (typeof unencoded === 'string') {\n unencoded = encoder.encode(unencoded);\n }\n if (Uint8Array.prototype.toBase64) {\n return unencoded.toBase64({ alphabet: 'base64url', omitPadding: true });\n }\n return encodeBase64(unencoded).replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\n", "const unusable = (name, prop = 'algorithm.name') => new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);\nconst isAlgorithm = (algorithm, name) => algorithm.name === name;\nfunction getHashLength(hash) {\n return parseInt(hash.name.slice(4), 10);\n}\nfunction checkHashLength(algorithm, expected) {\n const actual = getHashLength(algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n}\nfunction getNamedCurve(alg) {\n switch (alg) {\n case 'ES256':\n return 'P-256';\n case 'ES384':\n return 'P-384';\n case 'ES512':\n return 'P-521';\n default:\n throw new Error('unreachable');\n }\n}\nfunction checkUsage(key, usage) {\n if (usage && !key.usages.includes(usage)) {\n throw new TypeError(`CryptoKey does not support this operation, its usages must include ${usage}.`);\n }\n}\nexport function checkSigCryptoKey(key, alg, usage) {\n switch (alg) {\n case 'HS256':\n case 'HS384':\n case 'HS512': {\n if (!isAlgorithm(key.algorithm, 'HMAC'))\n throw unusable('HMAC');\n checkHashLength(key.algorithm, parseInt(alg.slice(2), 10));\n break;\n }\n case 'RS256':\n case 'RS384':\n case 'RS512': {\n if (!isAlgorithm(key.algorithm, 'RSASSA-PKCS1-v1_5'))\n throw unusable('RSASSA-PKCS1-v1_5');\n checkHashLength(key.algorithm, parseInt(alg.slice(2), 10));\n break;\n }\n case 'PS256':\n case 'PS384':\n case 'PS512': {\n if (!isAlgorithm(key.algorithm, 'RSA-PSS'))\n throw unusable('RSA-PSS');\n checkHashLength(key.algorithm, parseInt(alg.slice(2), 10));\n break;\n }\n case 'Ed25519':\n case 'EdDSA': {\n if (!isAlgorithm(key.algorithm, 'Ed25519'))\n throw unusable('Ed25519');\n break;\n }\n case 'ML-DSA-44':\n case 'ML-DSA-65':\n case 'ML-DSA-87': {\n if (!isAlgorithm(key.algorithm, alg))\n throw unusable(alg);\n break;\n }\n case 'ES256':\n case 'ES384':\n case 'ES512': {\n if (!isAlgorithm(key.algorithm, 'ECDSA'))\n throw unusable('ECDSA');\n const expected = getNamedCurve(alg);\n const actual = key.algorithm.namedCurve;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.namedCurve');\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usage);\n}\nexport function checkEncCryptoKey(key, alg, usage) {\n switch (alg) {\n case 'A128GCM':\n case 'A192GCM':\n case 'A256GCM': {\n if (!isAlgorithm(key.algorithm, 'AES-GCM'))\n throw unusable('AES-GCM');\n const expected = parseInt(alg.slice(1, 4), 10);\n const actual = key.algorithm.length;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.length');\n break;\n }\n case 'A128KW':\n case 'A192KW':\n case 'A256KW': {\n if (!isAlgorithm(key.algorithm, 'AES-KW'))\n throw unusable('AES-KW');\n const expected = parseInt(alg.slice(1, 4), 10);\n const actual = key.algorithm.length;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.length');\n break;\n }\n case 'ECDH': {\n switch (key.algorithm.name) {\n case 'ECDH':\n case 'X25519':\n break;\n default:\n throw unusable('ECDH or X25519');\n }\n break;\n }\n case 'PBES2-HS256+A128KW':\n case 'PBES2-HS384+A192KW':\n case 'PBES2-HS512+A256KW':\n if (!isAlgorithm(key.algorithm, 'PBKDF2'))\n throw unusable('PBKDF2');\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512': {\n if (!isAlgorithm(key.algorithm, 'RSA-OAEP'))\n throw unusable('RSA-OAEP');\n checkHashLength(key.algorithm, parseInt(alg.slice(9), 10) || 1);\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usage);\n}\n", "function message(msg, actual, ...types) {\n types = types.filter(Boolean);\n if (types.length > 2) {\n const last = types.pop();\n msg += `one of type ${types.join(', ')}, or ${last}.`;\n }\n else if (types.length === 2) {\n msg += `one of type ${types[0]} or ${types[1]}.`;\n }\n else {\n msg += `of type ${types[0]}.`;\n }\n if (actual == null) {\n msg += ` Received ${actual}`;\n }\n else if (typeof actual === 'function' && actual.name) {\n msg += ` Received function ${actual.name}`;\n }\n else if (typeof actual === 'object' && actual != null) {\n if (actual.constructor?.name) {\n msg += ` Received an instance of ${actual.constructor.name}`;\n }\n }\n return msg;\n}\nexport const invalidKeyInput = (actual, ...types) => message('Key must be ', actual, ...types);\nexport const withAlg = (alg, actual, ...types) => message(`Key for the ${alg} algorithm must be `, actual, ...types);\n", "export class JOSEError extends Error {\n static code = 'ERR_JOSE_GENERIC';\n code = 'ERR_JOSE_GENERIC';\n constructor(message, options) {\n super(message, options);\n this.name = this.constructor.name;\n Error.captureStackTrace?.(this, this.constructor);\n }\n}\nexport class JWTClaimValidationFailed extends JOSEError {\n static code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n claim;\n reason;\n payload;\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified') {\n super(message, { cause: { claim, reason, payload } });\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nexport class JWTExpired extends JOSEError {\n static code = 'ERR_JWT_EXPIRED';\n code = 'ERR_JWT_EXPIRED';\n claim;\n reason;\n payload;\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified') {\n super(message, { cause: { claim, reason, payload } });\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nexport class JOSEAlgNotAllowed extends JOSEError {\n static code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n}\nexport class JOSENotSupported extends JOSEError {\n static code = 'ERR_JOSE_NOT_SUPPORTED';\n code = 'ERR_JOSE_NOT_SUPPORTED';\n}\nexport class JWEDecryptionFailed extends JOSEError {\n static code = 'ERR_JWE_DECRYPTION_FAILED';\n code = 'ERR_JWE_DECRYPTION_FAILED';\n constructor(message = 'decryption operation failed', options) {\n super(message, options);\n }\n}\nexport class JWEInvalid extends JOSEError {\n static code = 'ERR_JWE_INVALID';\n code = 'ERR_JWE_INVALID';\n}\nexport class JWSInvalid extends JOSEError {\n static code = 'ERR_JWS_INVALID';\n code = 'ERR_JWS_INVALID';\n}\nexport class JWTInvalid extends JOSEError {\n static code = 'ERR_JWT_INVALID';\n code = 'ERR_JWT_INVALID';\n}\nexport class JWKInvalid extends JOSEError {\n static code = 'ERR_JWK_INVALID';\n code = 'ERR_JWK_INVALID';\n}\nexport class JWKSInvalid extends JOSEError {\n static code = 'ERR_JWKS_INVALID';\n code = 'ERR_JWKS_INVALID';\n}\nexport class JWKSNoMatchingKey extends JOSEError {\n static code = 'ERR_JWKS_NO_MATCHING_KEY';\n code = 'ERR_JWKS_NO_MATCHING_KEY';\n constructor(message = 'no applicable key found in the JSON Web Key Set', options) {\n super(message, options);\n }\n}\nexport class JWKSMultipleMatchingKeys extends JOSEError {\n [Symbol.asyncIterator];\n static code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n constructor(message = 'multiple matching keys found in the JSON Web Key Set', options) {\n super(message, options);\n }\n}\nexport class JWKSTimeout extends JOSEError {\n static code = 'ERR_JWKS_TIMEOUT';\n code = 'ERR_JWKS_TIMEOUT';\n constructor(message = 'request timed out', options) {\n super(message, options);\n }\n}\nexport class JWSSignatureVerificationFailed extends JOSEError {\n static code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n constructor(message = 'signature verification failed', options) {\n super(message, options);\n }\n}\n", "export function assertCryptoKey(key) {\n if (!isCryptoKey(key)) {\n throw new Error('CryptoKey instance expected');\n }\n}\nexport const isCryptoKey = (key) => {\n if (key?.[Symbol.toStringTag] === 'CryptoKey')\n return true;\n try {\n return key instanceof CryptoKey;\n }\n catch {\n return false;\n }\n};\nexport const isKeyObject = (key) => key?.[Symbol.toStringTag] === 'KeyObject';\nexport const isKeyLike = (key) => isCryptoKey(key) || isKeyObject(key);\n", "import { decode } from '../util/base64url.js';\nexport const unprotected = Symbol();\nexport function assertNotSet(value, name) {\n if (value) {\n throw new TypeError(`${name} can only be called once`);\n }\n}\nexport function decodeBase64url(value, label, ErrorClass) {\n try {\n return decode(value);\n }\n catch {\n throw new ErrorClass(`Failed to base64url decode the ${label}`);\n }\n}\nexport async function digest(algorithm, data) {\n const subtleDigest = `SHA-${algorithm.slice(-3)}`;\n return new Uint8Array(await crypto.subtle.digest(subtleDigest, data));\n}\n", "const isObjectLike = (value) => typeof value === 'object' && value !== null;\nexport function isObject(input) {\n if (!isObjectLike(input) || Object.prototype.toString.call(input) !== '[object Object]') {\n return false;\n }\n if (Object.getPrototypeOf(input) === null) {\n return true;\n }\n let proto = input;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(input) === proto;\n}\nexport function isDisjoint(...headers) {\n const sources = headers.filter(Boolean);\n if (sources.length === 0 || sources.length === 1) {\n return true;\n }\n let acc;\n for (const header of sources) {\n const parameters = Object.keys(header);\n if (!acc || acc.size === 0) {\n acc = new Set(parameters);\n continue;\n }\n for (const parameter of parameters) {\n if (acc.has(parameter)) {\n return false;\n }\n acc.add(parameter);\n }\n }\n return true;\n}\nexport const isJWK = (key) => isObject(key) && typeof key.kty === 'string';\nexport const isPrivateJWK = (key) => key.kty !== 'oct' &&\n ((key.kty === 'AKP' && typeof key.priv === 'string') || typeof key.d === 'string');\nexport const isPublicJWK = (key) => key.kty !== 'oct' && key.d === undefined && key.priv === undefined;\nexport const isSecretJWK = (key) => key.kty === 'oct' && typeof key.k === 'string';\n", "import { JOSENotSupported } from '../util/errors.js';\nimport { checkSigCryptoKey } from './crypto_key.js';\nimport { invalidKeyInput } from './invalid_key_input.js';\nexport function checkKeyLength(alg, key) {\n if (alg.startsWith('RS') || alg.startsWith('PS')) {\n const { modulusLength } = key.algorithm;\n if (typeof modulusLength !== 'number' || modulusLength < 2048) {\n throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);\n }\n }\n}\nfunction subtleAlgorithm(alg, algorithm) {\n const hash = `SHA-${alg.slice(-3)}`;\n switch (alg) {\n case 'HS256':\n case 'HS384':\n case 'HS512':\n return { hash, name: 'HMAC' };\n case 'PS256':\n case 'PS384':\n case 'PS512':\n return { hash, name: 'RSA-PSS', saltLength: parseInt(alg.slice(-3), 10) >> 3 };\n case 'RS256':\n case 'RS384':\n case 'RS512':\n return { hash, name: 'RSASSA-PKCS1-v1_5' };\n case 'ES256':\n case 'ES384':\n case 'ES512':\n return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };\n case 'Ed25519':\n case 'EdDSA':\n return { name: 'Ed25519' };\n case 'ML-DSA-44':\n case 'ML-DSA-65':\n case 'ML-DSA-87':\n return { name: alg };\n default:\n throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);\n }\n}\nasync function getSigKey(alg, key, usage) {\n if (key instanceof Uint8Array) {\n if (!alg.startsWith('HS')) {\n throw new TypeError(invalidKeyInput(key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n }\n return crypto.subtle.importKey('raw', key, { hash: `SHA-${alg.slice(-3)}`, name: 'HMAC' }, false, [usage]);\n }\n checkSigCryptoKey(key, alg, usage);\n return key;\n}\nexport async function sign(alg, key, data) {\n const cryptoKey = await getSigKey(alg, key, 'sign');\n checkKeyLength(alg, cryptoKey);\n const signature = await crypto.subtle.sign(subtleAlgorithm(alg, cryptoKey.algorithm), cryptoKey, data);\n return new Uint8Array(signature);\n}\nexport async function verify(alg, key, signature, data) {\n const cryptoKey = await getSigKey(alg, key, 'verify');\n checkKeyLength(alg, cryptoKey);\n const algorithm = subtleAlgorithm(alg, cryptoKey.algorithm);\n try {\n return await crypto.subtle.verify(algorithm, cryptoKey, signature, data);\n }\n catch {\n return false;\n }\n}\n", "import { JOSENotSupported } from '../util/errors.js';\nconst unsupportedAlg = 'Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value';\nfunction subtleMapping(jwk) {\n let algorithm;\n let keyUsages;\n switch (jwk.kty) {\n case 'AKP': {\n switch (jwk.alg) {\n case 'ML-DSA-44':\n case 'ML-DSA-65':\n case 'ML-DSA-87':\n algorithm = { name: jwk.alg };\n keyUsages = jwk.priv ? ['sign'] : ['verify'];\n break;\n default:\n throw new JOSENotSupported(unsupportedAlg);\n }\n break;\n }\n case 'RSA': {\n switch (jwk.alg) {\n case 'PS256':\n case 'PS384':\n case 'PS512':\n algorithm = { name: 'RSA-PSS', hash: `SHA-${jwk.alg.slice(-3)}` };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'RS256':\n case 'RS384':\n case 'RS512':\n algorithm = { name: 'RSASSA-PKCS1-v1_5', hash: `SHA-${jwk.alg.slice(-3)}` };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512':\n algorithm = {\n name: 'RSA-OAEP',\n hash: `SHA-${parseInt(jwk.alg.slice(-3), 10) || 1}`,\n };\n keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];\n break;\n default:\n throw new JOSENotSupported(unsupportedAlg);\n }\n break;\n }\n case 'EC': {\n switch (jwk.alg) {\n case 'ES256':\n case 'ES384':\n case 'ES512':\n algorithm = {\n name: 'ECDSA',\n namedCurve: { ES256: 'P-256', ES384: 'P-384', ES512: 'P-521' }[jwk.alg],\n };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = { name: 'ECDH', namedCurve: jwk.crv };\n keyUsages = jwk.d ? ['deriveBits'] : [];\n break;\n default:\n throw new JOSENotSupported(unsupportedAlg);\n }\n break;\n }\n case 'OKP': {\n switch (jwk.alg) {\n case 'Ed25519':\n case 'EdDSA':\n algorithm = { name: 'Ed25519' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = { name: jwk.crv };\n keyUsages = jwk.d ? ['deriveBits'] : [];\n break;\n default:\n throw new JOSENotSupported(unsupportedAlg);\n }\n break;\n }\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"kty\" (Key Type) Parameter value');\n }\n return { algorithm, keyUsages };\n}\nexport async function jwkToKey(jwk) {\n if (!jwk.alg) {\n throw new TypeError('\"alg\" argument is required when \"jwk.alg\" is not present');\n }\n const { algorithm, keyUsages } = subtleMapping(jwk);\n const keyData = { ...jwk };\n if (keyData.kty !== 'AKP') {\n delete keyData.alg;\n }\n delete keyData.use;\n return crypto.subtle.importKey('jwk', keyData, algorithm, jwk.ext ?? (jwk.d || jwk.priv ? false : true), jwk.key_ops ?? keyUsages);\n}\n", "import { isJWK } from './type_checks.js';\nimport { decode } from '../util/base64url.js';\nimport { jwkToKey } from './jwk_to_key.js';\nimport { isCryptoKey, isKeyObject } from './is_key_like.js';\nconst unusableForAlg = 'given KeyObject instance cannot be used for this algorithm';\nlet cache;\nconst handleJWK = async (key, jwk, alg, freeze = false) => {\n cache ||= new WeakMap();\n let cached = cache.get(key);\n if (cached?.[alg]) {\n return cached[alg];\n }\n const cryptoKey = await jwkToKey({ ...jwk, alg });\n if (freeze)\n Object.freeze(key);\n if (!cached) {\n cache.set(key, { [alg]: cryptoKey });\n }\n else {\n cached[alg] = cryptoKey;\n }\n return cryptoKey;\n};\nconst handleKeyObject = (keyObject, alg) => {\n cache ||= new WeakMap();\n let cached = cache.get(keyObject);\n if (cached?.[alg]) {\n return cached[alg];\n }\n const isPublic = keyObject.type === 'public';\n const extractable = isPublic ? true : false;\n let cryptoKey;\n if (keyObject.asymmetricKeyType === 'x25519') {\n switch (alg) {\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n break;\n default:\n throw new TypeError(unusableForAlg);\n }\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, isPublic ? [] : ['deriveBits']);\n }\n if (keyObject.asymmetricKeyType === 'ed25519') {\n if (alg !== 'EdDSA' && alg !== 'Ed25519') {\n throw new TypeError(unusableForAlg);\n }\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, [\n isPublic ? 'verify' : 'sign',\n ]);\n }\n switch (keyObject.asymmetricKeyType) {\n case 'ml-dsa-44':\n case 'ml-dsa-65':\n case 'ml-dsa-87': {\n if (alg !== keyObject.asymmetricKeyType.toUpperCase()) {\n throw new TypeError(unusableForAlg);\n }\n cryptoKey = keyObject.toCryptoKey(keyObject.asymmetricKeyType, extractable, [\n isPublic ? 'verify' : 'sign',\n ]);\n }\n }\n if (keyObject.asymmetricKeyType === 'rsa') {\n let hash;\n switch (alg) {\n case 'RSA-OAEP':\n hash = 'SHA-1';\n break;\n case 'RS256':\n case 'PS256':\n case 'RSA-OAEP-256':\n hash = 'SHA-256';\n break;\n case 'RS384':\n case 'PS384':\n case 'RSA-OAEP-384':\n hash = 'SHA-384';\n break;\n case 'RS512':\n case 'PS512':\n case 'RSA-OAEP-512':\n hash = 'SHA-512';\n break;\n default:\n throw new TypeError(unusableForAlg);\n }\n if (alg.startsWith('RSA-OAEP')) {\n return keyObject.toCryptoKey({\n name: 'RSA-OAEP',\n hash,\n }, extractable, isPublic ? ['encrypt'] : ['decrypt']);\n }\n cryptoKey = keyObject.toCryptoKey({\n name: alg.startsWith('PS') ? 'RSA-PSS' : 'RSASSA-PKCS1-v1_5',\n hash,\n }, extractable, [isPublic ? 'verify' : 'sign']);\n }\n if (keyObject.asymmetricKeyType === 'ec') {\n const nist = new Map([\n ['prime256v1', 'P-256'],\n ['secp384r1', 'P-384'],\n ['secp521r1', 'P-521'],\n ]);\n const namedCurve = nist.get(keyObject.asymmetricKeyDetails?.namedCurve);\n if (!namedCurve) {\n throw new TypeError(unusableForAlg);\n }\n const expectedCurve = { ES256: 'P-256', ES384: 'P-384', ES512: 'P-521' };\n if (expectedCurve[alg] && namedCurve === expectedCurve[alg]) {\n cryptoKey = keyObject.toCryptoKey({\n name: 'ECDSA',\n namedCurve,\n }, extractable, [isPublic ? 'verify' : 'sign']);\n }\n if (alg.startsWith('ECDH-ES')) {\n cryptoKey = keyObject.toCryptoKey({\n name: 'ECDH',\n namedCurve,\n }, extractable, isPublic ? [] : ['deriveBits']);\n }\n }\n if (!cryptoKey) {\n throw new TypeError(unusableForAlg);\n }\n if (!cached) {\n cache.set(keyObject, { [alg]: cryptoKey });\n }\n else {\n cached[alg] = cryptoKey;\n }\n return cryptoKey;\n};\nexport async function normalizeKey(key, alg) {\n if (key instanceof Uint8Array) {\n return key;\n }\n if (isCryptoKey(key)) {\n return key;\n }\n if (isKeyObject(key)) {\n if (key.type === 'secret') {\n return key.export();\n }\n if ('toCryptoKey' in key && typeof key.toCryptoKey === 'function') {\n try {\n return handleKeyObject(key, alg);\n }\n catch (err) {\n if (err instanceof TypeError) {\n throw err;\n }\n }\n }\n let jwk = key.export({ format: 'jwk' });\n return handleJWK(key, jwk, alg);\n }\n if (isJWK(key)) {\n if (key.k) {\n return decode(key.k);\n }\n return handleJWK(key, key, alg, true);\n }\n throw new Error('unreachable');\n}\n", "import { JOSENotSupported, JWEInvalid, JWSInvalid } from '../util/errors.js';\nexport function validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) {\n if (joseHeader.crit !== undefined && protectedHeader?.crit === undefined) {\n throw new Err('\"crit\" (Critical) Header Parameter MUST be integrity protected');\n }\n if (!protectedHeader || protectedHeader.crit === undefined) {\n return new Set();\n }\n if (!Array.isArray(protectedHeader.crit) ||\n protectedHeader.crit.length === 0 ||\n protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) {\n throw new Err('\"crit\" (Critical) Header Parameter MUST be an array of non-empty strings when present');\n }\n let recognized;\n if (recognizedOption !== undefined) {\n recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]);\n }\n else {\n recognized = recognizedDefault;\n }\n for (const parameter of protectedHeader.crit) {\n if (!recognized.has(parameter)) {\n throw new JOSENotSupported(`Extension Header Parameter \"${parameter}\" is not recognized`);\n }\n if (joseHeader[parameter] === undefined) {\n throw new Err(`Extension Header Parameter \"${parameter}\" is missing`);\n }\n if (recognized.get(parameter) && protectedHeader[parameter] === undefined) {\n throw new Err(`Extension Header Parameter \"${parameter}\" MUST be integrity protected`);\n }\n }\n return new Set(protectedHeader.crit);\n}\n", "export function validateAlgorithms(option, algorithms) {\n if (algorithms !== undefined &&\n (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) {\n throw new TypeError(`\"${option}\" option must be an array of strings`);\n }\n if (!algorithms) {\n return undefined;\n }\n return new Set(algorithms);\n}\n", "import { withAlg as invalidKeyInput } from './invalid_key_input.js';\nimport { isKeyLike } from './is_key_like.js';\nimport * as jwk from './type_checks.js';\nconst tag = (key) => key?.[Symbol.toStringTag];\nconst jwkMatchesOp = (alg, key, usage) => {\n if (key.use !== undefined) {\n let expected;\n switch (usage) {\n case 'sign':\n case 'verify':\n expected = 'sig';\n break;\n case 'encrypt':\n case 'decrypt':\n expected = 'enc';\n break;\n }\n if (key.use !== expected) {\n throw new TypeError(`Invalid key for this operation, its \"use\" must be \"${expected}\" when present`);\n }\n }\n if (key.alg !== undefined && key.alg !== alg) {\n throw new TypeError(`Invalid key for this operation, its \"alg\" must be \"${alg}\" when present`);\n }\n if (Array.isArray(key.key_ops)) {\n let expectedKeyOp;\n switch (true) {\n case usage === 'sign' || usage === 'verify':\n case alg === 'dir':\n case alg.includes('CBC-HS'):\n expectedKeyOp = usage;\n break;\n case alg.startsWith('PBES2'):\n expectedKeyOp = 'deriveBits';\n break;\n case /^A\\d{3}(?:GCM)?(?:KW)?$/.test(alg):\n if (!alg.includes('GCM') && alg.endsWith('KW')) {\n expectedKeyOp = usage === 'encrypt' ? 'wrapKey' : 'unwrapKey';\n }\n else {\n expectedKeyOp = usage;\n }\n break;\n case usage === 'encrypt' && alg.startsWith('RSA'):\n expectedKeyOp = 'wrapKey';\n break;\n case usage === 'decrypt':\n expectedKeyOp = alg.startsWith('RSA') ? 'unwrapKey' : 'deriveBits';\n break;\n }\n if (expectedKeyOp && key.key_ops?.includes?.(expectedKeyOp) === false) {\n throw new TypeError(`Invalid key for this operation, its \"key_ops\" must include \"${expectedKeyOp}\" when present`);\n }\n }\n return true;\n};\nconst symmetricTypeCheck = (alg, key, usage) => {\n if (key instanceof Uint8Array)\n return;\n if (jwk.isJWK(key)) {\n if (jwk.isSecretJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for symmetric algorithms must have JWK \"kty\" (Key Type) equal to \"oct\" and the JWK \"k\" (Key Value) present`);\n }\n if (!isKeyLike(key)) {\n throw new TypeError(invalidKeyInput(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key', 'Uint8Array'));\n }\n if (key.type !== 'secret') {\n throw new TypeError(`${tag(key)} instances for symmetric algorithms must be of type \"secret\"`);\n }\n};\nconst asymmetricTypeCheck = (alg, key, usage) => {\n if (jwk.isJWK(key)) {\n switch (usage) {\n case 'decrypt':\n case 'sign':\n if (jwk.isPrivateJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for this operation must be a private JWK`);\n case 'encrypt':\n case 'verify':\n if (jwk.isPublicJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for this operation must be a public JWK`);\n }\n }\n if (!isKeyLike(key)) {\n throw new TypeError(invalidKeyInput(alg, key, 'CryptoKey', 'KeyObject', 'JSON Web Key'));\n }\n if (key.type === 'secret') {\n throw new TypeError(`${tag(key)} instances for asymmetric algorithms must not be of type \"secret\"`);\n }\n if (key.type === 'public') {\n switch (usage) {\n case 'sign':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm signing must be of type \"private\"`);\n case 'decrypt':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm decryption must be of type \"private\"`);\n }\n }\n if (key.type === 'private') {\n switch (usage) {\n case 'verify':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm verifying must be of type \"public\"`);\n case 'encrypt':\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm encryption must be of type \"public\"`);\n }\n }\n};\nexport function checkKeyType(alg, key, usage) {\n switch (alg.substring(0, 2)) {\n case 'A1':\n case 'A2':\n case 'di':\n case 'HS':\n case 'PB':\n symmetricTypeCheck(alg, key, usage);\n break;\n default:\n asymmetricTypeCheck(alg, key, usage);\n }\n}\n", "import { decode as b64u } from '../../util/base64url.js';\nimport { verify } from '../../lib/signing.js';\nimport { JOSEAlgNotAllowed, JWSInvalid, JWSSignatureVerificationFailed } from '../../util/errors.js';\nimport { concat, encoder, decoder, encode } from '../../lib/buffer_utils.js';\nimport { decodeBase64url } from '../../lib/helpers.js';\nimport { isDisjoint } from '../../lib/type_checks.js';\nimport { isObject } from '../../lib/type_checks.js';\nimport { checkKeyType } from '../../lib/check_key_type.js';\nimport { validateCrit } from '../../lib/validate_crit.js';\nimport { validateAlgorithms } from '../../lib/validate_algorithms.js';\nimport { normalizeKey } from '../../lib/normalize_key.js';\nexport async function flattenedVerify(jws, key, options) {\n if (!isObject(jws)) {\n throw new JWSInvalid('Flattened JWS must be an object');\n }\n if (jws.protected === undefined && jws.header === undefined) {\n throw new JWSInvalid('Flattened JWS must have either of the \"protected\" or \"header\" members');\n }\n if (jws.protected !== undefined && typeof jws.protected !== 'string') {\n throw new JWSInvalid('JWS Protected Header incorrect type');\n }\n if (jws.payload === undefined) {\n throw new JWSInvalid('JWS Payload missing');\n }\n if (typeof jws.signature !== 'string') {\n throw new JWSInvalid('JWS Signature missing or incorrect type');\n }\n if (jws.header !== undefined && !isObject(jws.header)) {\n throw new JWSInvalid('JWS Unprotected Header incorrect type');\n }\n let parsedProt = {};\n if (jws.protected) {\n try {\n const protectedHeader = b64u(jws.protected);\n parsedProt = JSON.parse(decoder.decode(protectedHeader));\n }\n catch {\n throw new JWSInvalid('JWS Protected Header is invalid');\n }\n }\n if (!isDisjoint(parsedProt, jws.header)) {\n throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n }\n const joseHeader = {\n ...parsedProt,\n ...jws.header,\n };\n const extensions = validateCrit(JWSInvalid, new Map([['b64', true]]), options?.crit, parsedProt, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = parsedProt.b64;\n if (typeof b64 !== 'boolean') {\n throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n }\n const { alg } = joseHeader;\n if (typeof alg !== 'string' || !alg) {\n throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n }\n const algorithms = options && validateAlgorithms('algorithms', options.algorithms);\n if (algorithms && !algorithms.has(alg)) {\n throw new JOSEAlgNotAllowed('\"alg\" (Algorithm) Header Parameter value not allowed');\n }\n if (b64) {\n if (typeof jws.payload !== 'string') {\n throw new JWSInvalid('JWS Payload must be a string');\n }\n }\n else if (typeof jws.payload !== 'string' && !(jws.payload instanceof Uint8Array)) {\n throw new JWSInvalid('JWS Payload must be a string or an Uint8Array instance');\n }\n let resolvedKey = false;\n if (typeof key === 'function') {\n key = await key(parsedProt, jws);\n resolvedKey = true;\n }\n checkKeyType(alg, key, 'verify');\n const data = concat(jws.protected !== undefined ? encode(jws.protected) : new Uint8Array(), encode('.'), typeof jws.payload === 'string'\n ? b64\n ? encode(jws.payload)\n : encoder.encode(jws.payload)\n : jws.payload);\n const signature = decodeBase64url(jws.signature, 'signature', JWSInvalid);\n const k = await normalizeKey(key, alg);\n const verified = await verify(alg, k, signature, data);\n if (!verified) {\n throw new JWSSignatureVerificationFailed();\n }\n let payload;\n if (b64) {\n payload = decodeBase64url(jws.payload, 'payload', JWSInvalid);\n }\n else if (typeof jws.payload === 'string') {\n payload = encoder.encode(jws.payload);\n }\n else {\n payload = jws.payload;\n }\n const result = { payload };\n if (jws.protected !== undefined) {\n result.protectedHeader = parsedProt;\n }\n if (jws.header !== undefined) {\n result.unprotectedHeader = jws.header;\n }\n if (resolvedKey) {\n return { ...result, key: k };\n }\n return result;\n}\n", "import { flattenedVerify } from '../flattened/verify.js';\nimport { JWSInvalid } from '../../util/errors.js';\nimport { decoder } from '../../lib/buffer_utils.js';\nexport async function compactVerify(jws, key, options) {\n if (jws instanceof Uint8Array) {\n jws = decoder.decode(jws);\n }\n if (typeof jws !== 'string') {\n throw new JWSInvalid('Compact JWS must be a string or Uint8Array');\n }\n const { 0: protectedHeader, 1: payload, 2: signature, length } = jws.split('.');\n if (length !== 3) {\n throw new JWSInvalid('Invalid Compact JWS');\n }\n const verified = await flattenedVerify({ payload, protected: protectedHeader, signature }, key, options);\n const result = { payload: verified.payload, protectedHeader: verified.protectedHeader };\n if (typeof key === 'function') {\n return { ...result, key: verified.key };\n }\n return result;\n}\n", "import { JWTClaimValidationFailed, JWTExpired, JWTInvalid } from '../util/errors.js';\nimport { encoder, decoder } from './buffer_utils.js';\nimport { isObject } from './type_checks.js';\nconst epoch = (date) => Math.floor(date.getTime() / 1000);\nconst minute = 60;\nconst hour = minute * 60;\nconst day = hour * 24;\nconst week = day * 7;\nconst year = day * 365.25;\nconst REGEX = /^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;\nexport function secs(str) {\n const matched = REGEX.exec(str);\n if (!matched || (matched[4] && matched[1])) {\n throw new TypeError('Invalid time period format');\n }\n const value = parseFloat(matched[2]);\n const unit = matched[3].toLowerCase();\n let numericDate;\n switch (unit) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n case 's':\n numericDate = Math.round(value);\n break;\n case 'minute':\n case 'minutes':\n case 'min':\n case 'mins':\n case 'm':\n numericDate = Math.round(value * minute);\n break;\n case 'hour':\n case 'hours':\n case 'hr':\n case 'hrs':\n case 'h':\n numericDate = Math.round(value * hour);\n break;\n case 'day':\n case 'days':\n case 'd':\n numericDate = Math.round(value * day);\n break;\n case 'week':\n case 'weeks':\n case 'w':\n numericDate = Math.round(value * week);\n break;\n default:\n numericDate = Math.round(value * year);\n break;\n }\n if (matched[1] === '-' || matched[4] === 'ago') {\n return -numericDate;\n }\n return numericDate;\n}\nfunction validateInput(label, input) {\n if (!Number.isFinite(input)) {\n throw new TypeError(`Invalid ${label} input`);\n }\n return input;\n}\nconst normalizeTyp = (value) => {\n if (value.includes('/')) {\n return value.toLowerCase();\n }\n return `application/${value.toLowerCase()}`;\n};\nconst checkAudiencePresence = (audPayload, audOption) => {\n if (typeof audPayload === 'string') {\n return audOption.includes(audPayload);\n }\n if (Array.isArray(audPayload)) {\n return audOption.some(Set.prototype.has.bind(new Set(audPayload)));\n }\n return false;\n};\nexport function validateClaimsSet(protectedHeader, encodedPayload, options = {}) {\n let payload;\n try {\n payload = JSON.parse(decoder.decode(encodedPayload));\n }\n catch {\n }\n if (!isObject(payload)) {\n throw new JWTInvalid('JWT Claims Set must be a top-level JSON object');\n }\n const { typ } = options;\n if (typ &&\n (typeof protectedHeader.typ !== 'string' ||\n normalizeTyp(protectedHeader.typ) !== normalizeTyp(typ))) {\n throw new JWTClaimValidationFailed('unexpected \"typ\" JWT header value', payload, 'typ', 'check_failed');\n }\n const { requiredClaims = [], issuer, subject, audience, maxTokenAge } = options;\n const presenceCheck = [...requiredClaims];\n if (maxTokenAge !== undefined)\n presenceCheck.push('iat');\n if (audience !== undefined)\n presenceCheck.push('aud');\n if (subject !== undefined)\n presenceCheck.push('sub');\n if (issuer !== undefined)\n presenceCheck.push('iss');\n for (const claim of new Set(presenceCheck.reverse())) {\n if (!(claim in payload)) {\n throw new JWTClaimValidationFailed(`missing required \"${claim}\" claim`, payload, claim, 'missing');\n }\n }\n if (issuer &&\n !(Array.isArray(issuer) ? issuer : [issuer]).includes(payload.iss)) {\n throw new JWTClaimValidationFailed('unexpected \"iss\" claim value', payload, 'iss', 'check_failed');\n }\n if (subject && payload.sub !== subject) {\n throw new JWTClaimValidationFailed('unexpected \"sub\" claim value', payload, 'sub', 'check_failed');\n }\n if (audience &&\n !checkAudiencePresence(payload.aud, typeof audience === 'string' ? [audience] : audience)) {\n throw new JWTClaimValidationFailed('unexpected \"aud\" claim value', payload, 'aud', 'check_failed');\n }\n let tolerance;\n switch (typeof options.clockTolerance) {\n case 'string':\n tolerance = secs(options.clockTolerance);\n break;\n case 'number':\n tolerance = options.clockTolerance;\n break;\n case 'undefined':\n tolerance = 0;\n break;\n default:\n throw new TypeError('Invalid clockTolerance option type');\n }\n const { currentDate } = options;\n const now = epoch(currentDate || new Date());\n if ((payload.iat !== undefined || maxTokenAge) && typeof payload.iat !== 'number') {\n throw new JWTClaimValidationFailed('\"iat\" claim must be a number', payload, 'iat', 'invalid');\n }\n if (payload.nbf !== undefined) {\n if (typeof payload.nbf !== 'number') {\n throw new JWTClaimValidationFailed('\"nbf\" claim must be a number', payload, 'nbf', 'invalid');\n }\n if (payload.nbf > now + tolerance) {\n throw new JWTClaimValidationFailed('\"nbf\" claim timestamp check failed', payload, 'nbf', 'check_failed');\n }\n }\n if (payload.exp !== undefined) {\n if (typeof payload.exp !== 'number') {\n throw new JWTClaimValidationFailed('\"exp\" claim must be a number', payload, 'exp', 'invalid');\n }\n if (payload.exp <= now - tolerance) {\n throw new JWTExpired('\"exp\" claim timestamp check failed', payload, 'exp', 'check_failed');\n }\n }\n if (maxTokenAge) {\n const age = now - payload.iat;\n const max = typeof maxTokenAge === 'number' ? maxTokenAge : secs(maxTokenAge);\n if (age - tolerance > max) {\n throw new JWTExpired('\"iat\" claim timestamp check failed (too far in the past)', payload, 'iat', 'check_failed');\n }\n if (age < 0 - tolerance) {\n throw new JWTClaimValidationFailed('\"iat\" claim timestamp check failed (it should be in the past)', payload, 'iat', 'check_failed');\n }\n }\n return payload;\n}\nexport class JWTClaimsBuilder {\n #payload;\n constructor(payload) {\n if (!isObject(payload)) {\n throw new TypeError('JWT Claims Set MUST be an object');\n }\n this.#payload = structuredClone(payload);\n }\n data() {\n return encoder.encode(JSON.stringify(this.#payload));\n }\n get iss() {\n return this.#payload.iss;\n }\n set iss(value) {\n this.#payload.iss = value;\n }\n get sub() {\n return this.#payload.sub;\n }\n set sub(value) {\n this.#payload.sub = value;\n }\n get aud() {\n return this.#payload.aud;\n }\n set aud(value) {\n this.#payload.aud = value;\n }\n set jti(value) {\n this.#payload.jti = value;\n }\n set nbf(value) {\n if (typeof value === 'number') {\n this.#payload.nbf = validateInput('setNotBefore', value);\n }\n else if (value instanceof Date) {\n this.#payload.nbf = validateInput('setNotBefore', epoch(value));\n }\n else {\n this.#payload.nbf = epoch(new Date()) + secs(value);\n }\n }\n set exp(value) {\n if (typeof value === 'number') {\n this.#payload.exp = validateInput('setExpirationTime', value);\n }\n else if (value instanceof Date) {\n this.#payload.exp = validateInput('setExpirationTime', epoch(value));\n }\n else {\n this.#payload.exp = epoch(new Date()) + secs(value);\n }\n }\n set iat(value) {\n if (value === undefined) {\n this.#payload.iat = epoch(new Date());\n }\n else if (value instanceof Date) {\n this.#payload.iat = validateInput('setIssuedAt', epoch(value));\n }\n else if (typeof value === 'string') {\n this.#payload.iat = validateInput('setIssuedAt', epoch(new Date()) + secs(value));\n }\n else {\n this.#payload.iat = validateInput('setIssuedAt', value);\n }\n }\n}\n", "import { compactVerify } from '../jws/compact/verify.js';\nimport { validateClaimsSet } from '../lib/jwt_claims_set.js';\nimport { JWTInvalid } from '../util/errors.js';\nexport async function jwtVerify(jwt, key, options) {\n const verified = await compactVerify(jwt, key, options);\n if (verified.protectedHeader.crit?.includes('b64') && verified.protectedHeader.b64 === false) {\n throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n }\n const payload = validateClaimsSet(verified.protectedHeader, verified.payload, options);\n const result = { payload, protectedHeader: verified.protectedHeader };\n if (typeof key === 'function') {\n return { ...result, key: verified.key };\n }\n return result;\n}\n", "import { encode as b64u } from '../../util/base64url.js';\nimport { sign } from '../../lib/signing.js';\nimport { isDisjoint } from '../../lib/type_checks.js';\nimport { JWSInvalid } from '../../util/errors.js';\nimport { concat, encode } from '../../lib/buffer_utils.js';\nimport { checkKeyType } from '../../lib/check_key_type.js';\nimport { validateCrit } from '../../lib/validate_crit.js';\nimport { normalizeKey } from '../../lib/normalize_key.js';\nimport { assertNotSet } from '../../lib/helpers.js';\nexport class FlattenedSign {\n #payload;\n #protectedHeader;\n #unprotectedHeader;\n constructor(payload) {\n if (!(payload instanceof Uint8Array)) {\n throw new TypeError('payload must be an instance of Uint8Array');\n }\n this.#payload = payload;\n }\n setProtectedHeader(protectedHeader) {\n assertNotSet(this.#protectedHeader, 'setProtectedHeader');\n this.#protectedHeader = protectedHeader;\n return this;\n }\n setUnprotectedHeader(unprotectedHeader) {\n assertNotSet(this.#unprotectedHeader, 'setUnprotectedHeader');\n this.#unprotectedHeader = unprotectedHeader;\n return this;\n }\n async sign(key, options) {\n if (!this.#protectedHeader && !this.#unprotectedHeader) {\n throw new JWSInvalid('either setProtectedHeader or setUnprotectedHeader must be called before #sign()');\n }\n if (!isDisjoint(this.#protectedHeader, this.#unprotectedHeader)) {\n throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n }\n const joseHeader = {\n ...this.#protectedHeader,\n ...this.#unprotectedHeader,\n };\n const extensions = validateCrit(JWSInvalid, new Map([['b64', true]]), options?.crit, this.#protectedHeader, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = this.#protectedHeader.b64;\n if (typeof b64 !== 'boolean') {\n throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n }\n const { alg } = joseHeader;\n if (typeof alg !== 'string' || !alg) {\n throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n }\n checkKeyType(alg, key, 'sign');\n let payloadS;\n let payloadB;\n if (b64) {\n payloadS = b64u(this.#payload);\n payloadB = encode(payloadS);\n }\n else {\n payloadB = this.#payload;\n payloadS = '';\n }\n let protectedHeaderString;\n let protectedHeaderBytes;\n if (this.#protectedHeader) {\n protectedHeaderString = b64u(JSON.stringify(this.#protectedHeader));\n protectedHeaderBytes = encode(protectedHeaderString);\n }\n else {\n protectedHeaderString = '';\n protectedHeaderBytes = new Uint8Array();\n }\n const data = concat(protectedHeaderBytes, encode('.'), payloadB);\n const k = await normalizeKey(key, alg);\n const signature = await sign(alg, k, data);\n const jws = {\n signature: b64u(signature),\n payload: payloadS,\n };\n if (this.#unprotectedHeader) {\n jws.header = this.#unprotectedHeader;\n }\n if (this.#protectedHeader) {\n jws.protected = protectedHeaderString;\n }\n return jws;\n }\n}\n", "import { FlattenedSign } from '../flattened/sign.js';\nexport class CompactSign {\n #flattened;\n constructor(payload) {\n this.#flattened = new FlattenedSign(payload);\n }\n setProtectedHeader(protectedHeader) {\n this.#flattened.setProtectedHeader(protectedHeader);\n return this;\n }\n async sign(key, options) {\n const jws = await this.#flattened.sign(key, options);\n if (jws.payload === undefined) {\n throw new TypeError('use the flattened module for creating JWS with b64: false');\n }\n return `${jws.protected}.${jws.payload}.${jws.signature}`;\n }\n}\n", "import { CompactSign } from '../jws/compact/sign.js';\nimport { JWTInvalid } from '../util/errors.js';\nimport { JWTClaimsBuilder } from '../lib/jwt_claims_set.js';\nexport class SignJWT {\n #protectedHeader;\n #jwt;\n constructor(payload = {}) {\n this.#jwt = new JWTClaimsBuilder(payload);\n }\n setIssuer(issuer) {\n this.#jwt.iss = issuer;\n return this;\n }\n setSubject(subject) {\n this.#jwt.sub = subject;\n return this;\n }\n setAudience(audience) {\n this.#jwt.aud = audience;\n return this;\n }\n setJti(jwtId) {\n this.#jwt.jti = jwtId;\n return this;\n }\n setNotBefore(input) {\n this.#jwt.nbf = input;\n return this;\n }\n setExpirationTime(input) {\n this.#jwt.exp = input;\n return this;\n }\n setIssuedAt(input) {\n this.#jwt.iat = input;\n return this;\n }\n setProtectedHeader(protectedHeader) {\n this.#protectedHeader = protectedHeader;\n return this;\n }\n async sign(key, options) {\n const sig = new CompactSign(this.#jwt.data());\n sig.setProtectedHeader(this.#protectedHeader);\n if (Array.isArray(this.#protectedHeader?.crit) &&\n this.#protectedHeader.crit.includes('b64') &&\n this.#protectedHeader.b64 === false) {\n throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n }\n return sig.sign(key, options);\n }\n}\n", "export { compactDecrypt } from './jwe/compact/decrypt.js';\nexport { flattenedDecrypt } from './jwe/flattened/decrypt.js';\nexport { generalDecrypt } from './jwe/general/decrypt.js';\nexport { GeneralEncrypt } from './jwe/general/encrypt.js';\nexport { compactVerify } from './jws/compact/verify.js';\nexport { flattenedVerify } from './jws/flattened/verify.js';\nexport { generalVerify } from './jws/general/verify.js';\nexport { jwtVerify } from './jwt/verify.js';\nexport { jwtDecrypt } from './jwt/decrypt.js';\nexport { CompactEncrypt } from './jwe/compact/encrypt.js';\nexport { FlattenedEncrypt } from './jwe/flattened/encrypt.js';\nexport { CompactSign } from './jws/compact/sign.js';\nexport { FlattenedSign } from './jws/flattened/sign.js';\nexport { GeneralSign } from './jws/general/sign.js';\nexport { SignJWT } from './jwt/sign.js';\nexport { EncryptJWT } from './jwt/encrypt.js';\nexport { calculateJwkThumbprint, calculateJwkThumbprintUri } from './jwk/thumbprint.js';\nexport { EmbeddedJWK } from './jwk/embedded.js';\nexport { createLocalJWKSet } from './jwks/local.js';\nexport { createRemoteJWKSet, jwksCache, customFetch } from './jwks/remote.js';\nexport { UnsecuredJWT } from './jwt/unsecured.js';\nexport { exportPKCS8, exportSPKI, exportJWK } from './key/export.js';\nexport { importSPKI, importPKCS8, importX509, importJWK } from './key/import.js';\nexport { decodeProtectedHeader } from './util/decode_protected_header.js';\nexport { decodeJwt } from './util/decode_jwt.js';\nimport * as errors from './util/errors.js';\nexport { errors };\nexport { generateKeyPair } from './key/generate_key_pair.js';\nexport { generateSecret } from './key/generate_secret.js';\nimport * as base64url from './util/base64url.js';\nexport { base64url };\nexport const cryptoRuntime = 'WebCryptoAPI';\n", "import { Context, Next } from 'hono';\nimport { jwtVerify } from 'jose';\nimport { getStaffUserById } from '@/src/dbService';\nimport { ApiError } from '@/src/lib/api-error';\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter';\n\n/**\n * Verify JWT token and extract payload\n */\nconst verifyStaffToken = async (token: string) => {\n try {\n const { payload } = await jwtVerify(token, getEncodedJwtSecret());\n return payload;\n } catch (error) {\n throw new ApiError('Access denied. Invalid auth credentials', 401);\n }\n};\n\n/**\n * Middleware to authenticate staff users and attach staffUser to context\n */\nexport const authenticateStaff = async (c: Context, next: Next) => {\n try {\n // Extract token from Authorization header\n const authHeader = c.req.header('authorization');\n\n if (!authHeader || !authHeader.startsWith('Bearer ')) {\n throw new ApiError('Staff authentication required', 401);\n }\n\n const token = authHeader.split(' ')[1];\n\n if (!token) {\n throw new ApiError('Staff authentication token missing', 401);\n }\n\n // Verify token and extract payload\n const decoded = await verifyStaffToken(token) as any;\n\n // Verify staffId exists in token\n if (!decoded.staffId) {\n throw new ApiError('Invalid staff token format', 401);\n }\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { staffUsers } from '@/src/db/schema'\n import { eq } from 'drizzle-orm';\n\n const staff = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.id, decoded.staffId),\n });\n */\n\n // Fetch staff user from database\n const staff = await getStaffUserById(decoded.staffId);\n\n if (!staff) {\n throw new ApiError('Staff user not found', 401);\n }\n\n // Attach staff user to context\n c.set('staffUser', {\n id: staff.id,\n name: staff.name,\n });\n\n await next();\n } catch (error) {\n throw error;\n }\n};\n", "import { Hono } from 'hono';\nimport { authenticateStaff } from \"@/src/middleware/staff-auth\";\n\nconst router = new Hono();\n\n// Apply staff authentication to all admin routes\nrouter.use('*', authenticateStaff);\n\nconst avRouter = router;\n\nexport default avRouter;\n", "import { Context } from 'hono';\nimport { scaffoldAssetUrl } from \"@/src/lib/s3-client\"\nimport { getNextDeliveryDate } from \"@/src/trpc/apis/common-apis/common\"\nimport {\n getAllProductsWithUnits,\n type ProductSummaryData,\n} from \"@/src/dbService\"\n\n/**\n * Get all products summary for dropdown\n */\nexport const getAllProductsSummary = async (c: Context) => {\n try {\n const tagId = c.req.query('tagId');\n const tagIdNum = tagId ? parseInt(tagId) : undefined;\n\n // If tagId is provided but no products found, return empty array\n if (tagIdNum) {\n const products = await getAllProductsWithUnits(tagIdNum);\n if (products.length === 0) {\n return c.json({\n products: [],\n count: 0,\n }, 200);\n }\n }\n\n const productsWithUnits = await getAllProductsWithUnits(tagIdNum);\n\n // Generate signed URLs for product images\n const formattedProducts = await Promise.all(\n productsWithUnits.map(async (product: ProductSummaryData) => {\n const nextDeliveryDate = await getNextDeliveryDate(product.id);\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n marketPrice: product.marketPrice,\n unit: product.unitShortNotation,\n productQuantity: product.productQuantity,\n isOutOfStock: product.isOutOfStock,\n nextDeliveryDate: nextDeliveryDate ? nextDeliveryDate.toISOString() : null,\n images: scaffoldAssetUrl((product.images as string[]) || []),\n };\n })\n );\n\n return c.json({\n products: formattedProducts,\n count: formattedProducts.length,\n }, 200);\n } catch (error) {\n console.error(\"Get products summary error:\", error);\n return c.json({ error: \"Failed to fetch products summary\" }, 500);\n }\n};\n\n/*\n// Old implementation - direct DB queries:\nimport { eq, gt, and, sql, inArray } from \"drizzle-orm\";\nimport { db } from \"@/src/db/db_index\"\nimport { productInfo, units, productSlots, deliverySlotInfo, productTags } from \"@/src/db/schema\"\n\nconst getNextDeliveryDate = async (productId: number): Promise => {\n const result = await db\n .select({ deliveryTime: deliverySlotInfo.deliveryTime })\n .from(productSlots)\n .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n .where(\n and(\n eq(productSlots.productId, productId),\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, sql`NOW()`)\n )\n )\n .orderBy(deliverySlotInfo.deliveryTime)\n .limit(1);\n \n return result[0]?.deliveryTime || null;\n};\n\nexport const getAllProductsSummary = async (req: Request, res: Response) => {\n try {\n const { tagId } = req.query;\n const tagIdNum = tagId ? parseInt(tagId as string) : null;\n\n let productIds: number[] | null = null;\n\n // If tagId is provided, get products that have this tag\n if (tagIdNum) {\n const taggedProducts = await db\n .select({ productId: productTags.productId })\n .from(productTags)\n .where(eq(productTags.tagId, tagIdNum));\n\n productIds = taggedProducts.map(tp => tp.productId);\n }\n\n let whereCondition = undefined;\n\n // Filter by product IDs if tag filtering is applied\n if (productIds && productIds.length > 0) {\n whereCondition = inArray(productInfo.id, productIds);\n } else if (tagIdNum) {\n // If tagId was provided but no products found, return empty array\n return res.status(200).json({\n products: [],\n count: 0,\n });\n }\n\n const productsWithUnits = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n productQuantity: productInfo.productQuantity,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(whereCondition);\n\n // Generate signed URLs for product images\n const formattedProducts = await Promise.all(\n productsWithUnits.map(async (product) => {\n const nextDeliveryDate = await getNextDeliveryDate(product.id);\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n marketPrice: product.marketPrice,\n unit: product.unitShortNotation,\n productQuantity: product.productQuantity,\n isOutOfStock: product.isOutOfStock,\n nextDeliveryDate: nextDeliveryDate ? nextDeliveryDate.toISOString() : null,\n images: scaffoldAssetUrl((product.images as string[]) || []),\n };\n })\n );\n\n return res.status(200).json({\n products: formattedProducts,\n count: formattedProducts.length,\n });\n } catch (error) {\n console.error(\"Get products summary error:\", error);\n return res.status(500).json({ error: \"Failed to fetch products summary\" });\n }\n};\n*/\n", "import { Hono } from 'hono';\nimport { getAllProductsSummary } from \"@/src/apis/common-apis/apis/common-product.controller\"\n\nconst router = new Hono();\n\nrouter.get(\"/summary\", getAllProductsSummary);\n\n\nconst commonProductsRouter= router;\nexport default commonProductsRouter;\n", "import { Hono } from 'hono';\nimport commonProductsRouter from \"@/src/apis/common-apis/apis/common-product.router\"\n\nconst router = new Hono();\n\nrouter.route('/products', commonProductsRouter)\n\nconst commonRouter = router;\n\nexport default commonRouter;\n", "import { Hono } from 'hono';\nimport avRouter from \"@/src/apis/admin-apis/apis/av-router\"\nimport commonRouter from \"@/src/apis/common-apis/apis/common.router\"\n\nconst router = new Hono();\n\nrouter.route('/av', avRouter);\nrouter.route('/cm', commonRouter);\n\nconst v1Router = router;\n\nexport default v1Router;\n", "import { Hono } from 'hono';\n\nconst router = new Hono();\n\nrouter.get('/', (c) => {\n return c.json({\n status: 'ok',\n message: 'Health check passed',\n timestamp: new Date().toISOString(),\n });\n});\n\nexport default router;\n", "import { Context, Next } from 'hono';\nimport { jwtVerify } from 'jose';\nimport { getStaffUserById, isUserSuspended } from '@/src/dbService';\nimport { ApiError } from '@/src/lib/api-error';\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter';\n\ninterface UserContext {\n userId: number;\n name?: string;\n email?: string;\n mobile?: string;\n}\n\ninterface StaffContext {\n id: number;\n name: string;\n}\n\nexport const authenticateUser = async (c: Context, next: Next) => {\n try {\n const authHeader = c.req.header('authorization');\n\n if (!authHeader?.startsWith('Bearer ')) {\n throw new ApiError('Authorization token required', 401);\n }\n\n const token = authHeader.substring(7);\n console.log(c.req.header)\n\n const { payload } = await jwtVerify(token, getEncodedJwtSecret());\n const decoded = payload as any;\n\n // Check if this is a staff token (has staffId)\n if (decoded.staffId) {\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { staffUsers } from '@/src/db/schema'\n import { eq } from 'drizzle-orm';\n\n const staff = await db.query.staffUsers.findFirst({\n where: eq(staffUsers.id, decoded.staffId),\n });\n */\n\n // This is a staff token, verify staff exists\n const staff = await getStaffUserById(decoded.staffId);\n\n if (!staff) {\n throw new ApiError('Invalid staff token', 401);\n }\n\n c.set('staffUser', {\n id: staff.id,\n name: staff.name,\n });\n } else {\n // This is a regular user token\n c.set('user', decoded);\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { userDetails } from '@/src/db/schema'\n import { eq } from 'drizzle-orm';\n\n const details = await db.query.userDetails.findFirst({\n where: eq(userDetails.userId, decoded.userId),\n });\n\n if (details?.isSuspended) {\n throw new ApiError('Account suspended', 403);\n }\n */\n\n // Check if user is suspended\n const suspended = await isUserSuspended(decoded.userId);\n\n if (suspended) {\n throw new ApiError('Account suspended', 403);\n }\n }\n\n await next();\n } catch (error) {\n throw error;\n }\n};\n", "import { Hono } from 'hono';\nimport avRouter from \"@/src/apis/admin-apis/apis/av-router\"\nimport { ApiError } from \"@/src/lib/api-error\"\nimport v1Router from \"@/src/v1-router\"\nimport testController from \"@/src/test-controller\"\nimport { authenticateUser } from \"@/src/middleware/auth.middleware\"\n\nconst router = new Hono();\n\n// Health check endpoints (no auth required)\nrouter.get('/health', (c) => {\n return c.json({\n status: 'OK',\n timestamp: new Date().toISOString(),\n uptime: process.uptime(),\n message: 'Hello world'\n });\n});\n\nrouter.get('/seed', (c) => {\n return c.json({\n status: 'OK',\n timestamp: new Date().toISOString(),\n uptime: process.uptime()\n });\n});\n\n// Apply authentication middleware to all subsequent routes\nrouter.use('*', authenticateUser);\n\nrouter.route('/v1', v1Router);\n// router.route('/av', avRouter);\nrouter.route('/test', testController);\n\nconst mainRouter = router;\n\nexport default mainRouter;\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport { generateSignedUrlsFromS3Urls } from '@/src/lib/s3-client'\nimport { getComplaints as getComplaintsFromDb, resolveComplaint as resolveComplaintInDb } from '@/src/dbService'\nimport type { ComplaintWithUser } from '@packages/shared'\n\nexport const complaintRouter = router({\n getAll: protectedProcedure\n .input(z.object({\n cursor: z.number().optional(),\n limit: z.number().default(20),\n }))\n .query(async ({ input }): Promise<{\n complaints: Array<{\n id: number;\n text: string;\n userId: number;\n userName: string | null;\n userMobile: string | null;\n orderId: number | null;\n status: string;\n createdAt: Date;\n images: string[];\n }>;\n nextCursor?: number;\n }> => {\n const { cursor, limit } = input;\n\n // Using dbService helper (new implementation)\n const { complaints: complaintsData, hasMore } = await getComplaintsFromDb(cursor, limit);\n\n /*\n // Old implementation - direct DB query:\n const { cursor, limit } = input;\n\n let whereCondition = cursor \n ? lt(complaints.id, cursor) \n : undefined;\n\n const complaintsData = await db\n .select({\n id: complaints.id,\n complaintBody: complaints.complaintBody,\n userId: complaints.userId,\n orderId: complaints.orderId,\n isResolved: complaints.isResolved,\n createdAt: complaints.createdAt,\n userName: users.name,\n userMobile: users.mobile,\n images: complaints.images,\n })\n .from(complaints)\n .leftJoin(users, eq(complaints.userId, users.id))\n .where(whereCondition)\n .orderBy(desc(complaints.id))\n .limit(limit + 1);\n\n const hasMore = complaintsData.length > limit;\n const complaintsToReturn = hasMore ? complaintsData.slice(0, limit) : complaintsData;\n */\n\n const complaintsToReturn = hasMore ? complaintsData.slice(0, limit) : complaintsData;\n\n const complaintsWithSignedImages = await Promise.all(\n complaintsToReturn.map(async (c: ComplaintWithUser) => {\n const signedImages = c.images\n ? await generateSignedUrlsFromS3Urls(c.images as string[])\n : [];\n\n return {\n id: c.id,\n text: c.complaintBody,\n userId: c.userId,\n userName: c.userName,\n userMobile: c.userMobile,\n orderId: c.orderId,\n status: c.isResolved ? 'resolved' : 'pending',\n createdAt: c.createdAt,\n images: signedImages,\n };\n })\n );\n\n return {\n complaints: complaintsWithSignedImages,\n nextCursor: hasMore\n ? complaintsToReturn[complaintsToReturn.length - 1].id\n : undefined,\n };\n }),\n\n resolve: protectedProcedure\n .input(z.object({ id: z.string(), response: z.string().optional() }))\n .mutation(async ({ input }): Promise<{ message: string }> => {\n // Using dbService helper (new implementation)\n await resolveComplaintInDb(parseInt(input.id), input.response);\n\n /*\n // Old implementation - direct DB query:\n await db\n .update(complaints)\n .set({ isResolved: true, response: input.response })\n .where(eq(complaints.id, parseInt(input.id)));\n */\n\n return { message: 'Complaint resolved successfully' };\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport dayjs from 'dayjs';\nimport {\n // Batch 1 - Non-transaction methods\n getAllCoupons as getAllCouponsFromDb,\n getCouponById as getCouponByIdFromDb,\n invalidateCoupon as invalidateCouponInDb,\n validateCoupon as validateCouponInDb,\n getReservedCoupons as getReservedCouponsFromDb,\n getUsersForCoupon as getUsersForCouponFromDb,\n // Batch 2 - Transaction methods\n createCouponWithRelations,\n updateCouponWithRelations,\n generateCancellationCoupon,\n createReservedCouponWithProducts,\n createCouponForUser,\n checkUsersExist,\n checkCouponExists,\n checkReservedCouponExists,\n getOrderWithUser,\n} from '@/src/dbService'\nimport type { Coupon, CouponValidationResult, UserMiniInfo } from '@packages/shared'\n\nconst createCouponBodySchema = z.object({\n couponCode: z.string().optional(),\n isUserBased: z.boolean().optional(),\n discountPercent: z.number().optional(),\n flatDiscount: z.number().optional(),\n minOrder: z.number().optional(),\n targetUser: z.number().optional(),\n productIds: z.array(z.number()).optional().nullable(),\n applicableUsers: z.array(z.number()).optional(),\n applicableProducts: z.array(z.number()).optional(),\n maxValue: z.number().optional(),\n isApplyForAll: z.boolean().optional(),\n validTill: z.string().optional(),\n maxLimitForUser: z.number().optional(),\n exclusiveApply: z.boolean().optional(),\n});\n\nconst validateCouponBodySchema = z.object({\n code: z.string(),\n userId: z.number(),\n orderAmount: z.number(),\n});\n\nexport const couponRouter = router({\n create: protectedProcedure\n .input(createCouponBodySchema)\n .mutation(async ({ input, ctx }): Promise => {\n const { couponCode, isUserBased, discountPercent, flatDiscount, minOrder, productIds, applicableUsers, applicableProducts, maxValue, isApplyForAll, validTill, maxLimitForUser, exclusiveApply } = input;\n\n // Validation: ensure at least one discount type is provided\n if ((!discountPercent && !flatDiscount) || (discountPercent && flatDiscount)) {\n throw new Error(\"Either discountPercent or flatDiscount must be provided (but not both)\");\n }\n\n // If user-based, applicableUsers is required (unless it's apply for all)\n if (isUserBased && (!applicableUsers || applicableUsers.length === 0) && !isApplyForAll) {\n throw new Error(\"applicableUsers is required for user-based coupons (or set isApplyForAll to true)\");\n }\n\n // Cannot be both user-based and apply for all\n if (isUserBased && isApplyForAll) {\n throw new Error(\"Cannot be both user-based and apply for all users\");\n }\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n\n // Generate coupon code if not provided\n let finalCouponCode = couponCode;\n if (!finalCouponCode) {\n const timestamp = Date.now().toString().slice(-6);\n const random = Math.random().toString(36).substring(2, 8).toUpperCase();\n finalCouponCode = `MF${timestamp}${random}`;\n }\n\n // Using dbService helper (new implementation)\n const codeExists = await checkCouponExists(finalCouponCode);\n if (codeExists) {\n throw new Error(\"Coupon code already exists\");\n }\n\n // If applicableUsers is provided, verify users exist\n if (applicableUsers && applicableUsers.length > 0) {\n const usersExist = await checkUsersExist(applicableUsers);\n if (!usersExist) {\n throw new Error(\"Some applicable users not found\");\n }\n }\n\n const coupon = await createCouponWithRelations(\n {\n couponCode: finalCouponCode,\n isUserBased: isUserBased || false,\n discountPercent: discountPercent?.toString(),\n flatDiscount: flatDiscount?.toString(),\n minOrder: minOrder?.toString(),\n productIds: productIds || null,\n createdBy: staffUserId,\n maxValue: maxValue?.toString(),\n isApplyForAll: isApplyForAll || false,\n validTill: validTill ? dayjs(validTill).toDate() : undefined,\n maxLimitForUser,\n exclusiveApply: exclusiveApply || false,\n },\n applicableUsers,\n applicableProducts\n );\n\n /*\n // Old implementation - direct DB query with transaction:\n const result = await db.insert(coupons).values({\n couponCode: finalCouponCode,\n isUserBased: isUserBased || false,\n discountPercent: discountPercent?.toString(),\n flatDiscount: flatDiscount?.toString(),\n minOrder: minOrder?.toString(),\n productIds: productIds || null,\n createdBy: staffUserId,\n maxValue: maxValue?.toString(),\n isApplyForAll: isApplyForAll || false,\n validTill: validTill ? dayjs(validTill).toDate() : undefined,\n maxLimitForUser,\n exclusiveApply: exclusiveApply || false,\n }).returning();\n\n const coupon = result[0];\n\n // Insert applicable users\n if (applicableUsers && applicableUsers.length > 0) {\n await db.insert(couponApplicableUsers).values(\n applicableUsers.map(userId => ({\n couponId: coupon.id,\n userId,\n }))\n );\n }\n\n // Insert applicable products\n if (applicableProducts && applicableProducts.length > 0) {\n await db.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: coupon.id,\n productId,\n }))\n );\n }\n */\n\n return coupon;\n }),\n\n getAll: protectedProcedure\n .input(z.object({\n cursor: z.number().optional(),\n limit: z.number().default(50),\n search: z.string().optional(),\n }))\n .query(async ({ input }): Promise<{ coupons: any[]; nextCursor?: number }> => {\n const { cursor, limit, search } = input;\n \n const { coupons: couponsList, hasMore } = await getAllCouponsFromDb(cursor, limit, search);\n\n const nextCursor = hasMore ? couponsList[couponsList.length - 1].id : undefined;\n \n return { coupons: couponsList, nextCursor };\n }),\n\n getById: protectedProcedure\n .input(z.object({ id: z.number() }))\n .query(async ({ input }): Promise => {\n const couponId = input.id;\n\n const result = await getCouponByIdFromDb(couponId);\n\n if (!result) {\n throw new Error(\"Coupon not found\");\n }\n\n return {\n ...result,\n productIds: (result.productIds as number[]) || undefined,\n applicableUsers: result.applicableUsers.map((au: any) => au.user),\n applicableProducts: result.applicableProducts.map((ap: any) => ap.product),\n };\n }),\n\n update: protectedProcedure\n .input(z.object({\n id: z.number(),\n updates: createCouponBodySchema.extend({\n isInvalidated: z.boolean().optional(),\n }),\n }))\n .mutation(async ({ input }): Promise => {\n const { id, updates } = input;\n\n // Validation: ensure discount types are valid\n if (updates.discountPercent !== undefined && updates.flatDiscount !== undefined) {\n if (updates.discountPercent && updates.flatDiscount) {\n throw new Error(\"Cannot have both discountPercent and flatDiscount\");\n }\n }\n\n // Prepare update data\n const updateData: any = {};\n if (updates.couponCode !== undefined) updateData.couponCode = updates.couponCode;\n if (updates.isUserBased !== undefined) updateData.isUserBased = updates.isUserBased;\n if (updates.discountPercent !== undefined) updateData.discountPercent = updates.discountPercent?.toString();\n if (updates.flatDiscount !== undefined) updateData.flatDiscount = updates.flatDiscount?.toString();\n if (updates.minOrder !== undefined) updateData.minOrder = updates.minOrder?.toString();\n if (updates.maxValue !== undefined) updateData.maxValue = updates.maxValue?.toString();\n if (updates.isApplyForAll !== undefined) updateData.isApplyForAll = updates.isApplyForAll;\n if (updates.validTill !== undefined) updateData.validTill = updates.validTill ? dayjs(updates.validTill).toDate() : null;\n if (updates.maxLimitForUser !== undefined) updateData.maxLimitForUser = updates.maxLimitForUser;\n if (updates.exclusiveApply !== undefined) updateData.exclusiveApply = updates.exclusiveApply;\n if (updates.isInvalidated !== undefined) updateData.isInvalidated = updates.isInvalidated;\n if (updates.productIds !== undefined) updateData.productIds = updates.productIds;\n\n // Using dbService helper (new implementation)\n const coupon = await updateCouponWithRelations(\n id,\n updateData,\n updates.applicableUsers,\n updates.applicableProducts\n );\n\n /*\n // Old implementation - direct DB query:\n const result = await db.update(coupons)\n .set(updateData)\n .where(eq(coupons.id, id))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Coupon not found\");\n }\n\n // Update applicable users: delete existing and insert new\n if (updates.applicableUsers !== undefined) {\n await db.delete(couponApplicableUsers).where(eq(couponApplicableUsers.couponId, id));\n if (updates.applicableUsers.length > 0) {\n await db.insert(couponApplicableUsers).values(\n updates.applicableUsers.map(userId => ({\n couponId: id,\n userId,\n }))\n );\n }\n }\n\n // Update applicable products: delete existing and insert new\n if (updates.applicableProducts !== undefined) {\n await db.delete(couponApplicableProducts).where(eq(couponApplicableProducts.couponId, id));\n if (updates.applicableProducts.length > 0) {\n await db.insert(couponApplicableProducts).values(\n updates.applicableProducts.map(productId => ({\n couponId: id,\n productId,\n }))\n );\n }\n }\n */\n\n return coupon;\n }),\n\n delete: protectedProcedure\n .input(z.object({ id: z.number() }))\n .mutation(async ({ input }): Promise<{ message: string }> => {\n const { id } = input;\n\n await invalidateCouponInDb(id);\n\n return { message: \"Coupon invalidated successfully\" };\n }),\n\n validate: protectedProcedure\n .input(validateCouponBodySchema)\n .query(async ({ input }): Promise => {\n const { code, userId, orderAmount } = input;\n\n if (!code || typeof code !== 'string') {\n return { valid: false, message: \"Invalid coupon code\" };\n }\n\n const result = await validateCouponInDb(code, userId, orderAmount);\n\n return result;\n }),\n\n generateCancellationCoupon: protectedProcedure\n .input(\n z.object({\n orderId: z.number(),\n })\n )\n .mutation(async ({ input, ctx }): Promise => {\n const { orderId } = input;\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n\n // Using dbService helper (new implementation)\n const order = await getOrderWithUser(orderId);\n\n if (!order) {\n throw new Error(\"Order not found\");\n }\n\n if (!order.user) {\n throw new Error(\"User not found for this order\");\n }\n\n // Generate coupon code: first 3 letters of user name or mobile + orderId\n const userNamePrefix = (order.user.name || order.user.mobile || 'USR').substring(0, 3).toUpperCase();\n const couponCode = `${userNamePrefix}${orderId}`;\n\n // Check if coupon code already exists\n const codeExists = await checkCouponExists(couponCode);\n if (codeExists) {\n throw new Error(\"Coupon code already exists\");\n }\n\n // Get order total amount\n const orderAmount = parseFloat(order.totalAmount);\n\n const coupon = await generateCancellationCoupon(\n orderId,\n staffUserId,\n order.userId,\n orderAmount,\n couponCode\n );\n\n /*\n // Old implementation - direct DB query with transaction:\n const coupon = await db.transaction(async (tx) => {\n // Calculate expiry date (30 days from now)\n const expiryDate = new Date();\n expiryDate.setDate(expiryDate.getDate() + 30);\n\n // Create the coupon\n const result = await tx.insert(coupons).values({\n couponCode,\n isUserBased: true,\n flatDiscount: orderAmount.toString(),\n minOrder: orderAmount.toString(),\n maxValue: orderAmount.toString(),\n validTill: expiryDate,\n maxLimitForUser: 1,\n createdBy: staffUserId,\n isApplyForAll: false,\n }).returning();\n\n const coupon = result[0];\n\n // Insert applicable users\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId: order.userId,\n });\n\n // Update order_status with refund coupon ID\n await tx.update(orderStatus)\n .set({ refundCouponId: coupon.id })\n .where(eq(orderStatus.orderId, orderId));\n\n return coupon;\n });\n */\n\n return coupon;\n }),\n\n getReservedCoupons: protectedProcedure\n .input(z.object({\n cursor: z.number().optional(),\n limit: z.number().default(50),\n search: z.string().optional(),\n }))\n .query(async ({ input }): Promise<{ coupons: any[]; nextCursor?: number }> => {\n const { cursor, limit, search } = input;\n\n const { coupons: result, hasMore } = await getReservedCouponsFromDb(cursor, limit, search);\n\n const nextCursor = hasMore ? result[result.length - 1].id : undefined;\n\n return {\n coupons: result,\n nextCursor,\n };\n }),\n\n createReservedCoupon: protectedProcedure\n .input(createCouponBodySchema)\n .mutation(async ({ input, ctx }): Promise => {\n const { couponCode, isUserBased, discountPercent, flatDiscount, minOrder, productIds, applicableProducts, maxValue, validTill, maxLimitForUser, exclusiveApply } = input;\n\n // Validation: ensure at least one discount type is provided\n if ((!discountPercent && !flatDiscount) || (discountPercent && flatDiscount)) {\n throw new Error(\"Either discountPercent or flatDiscount must be provided (but not both)\");\n }\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n\n // Generate secret code if not provided\n let secretCode = couponCode || `SECRET${Date.now().toString().slice(-6)}${Math.random().toString(36).substring(2, 8).toUpperCase()}`;\n\n // Using dbService helper (new implementation)\n const codeExists = await checkReservedCouponExists(secretCode);\n if (codeExists) {\n throw new Error(\"Secret code already exists\");\n }\n\n const coupon = await createReservedCouponWithProducts(\n {\n secretCode,\n couponCode: couponCode || `RESERVED${Date.now().toString().slice(-6)}`,\n discountPercent: discountPercent?.toString(),\n flatDiscount: flatDiscount?.toString(),\n minOrder: minOrder?.toString(),\n productIds,\n maxValue: maxValue?.toString(),\n validTill: validTill ? dayjs(validTill).toDate() : undefined,\n maxLimitForUser,\n exclusiveApply: exclusiveApply || false,\n createdBy: staffUserId,\n },\n applicableProducts\n );\n\n /*\n // Old implementation - direct DB query:\n const result = await db.insert(reservedCoupons).values({\n secretCode,\n couponCode: couponCode || RESERVED${Date.now().toString().slice(-6)},\n discountPercent: discountPercent?.toString(),\n flatDiscount: flatDiscount?.toString(),\n minOrder: minOrder?.toString(),\n productIds,\n maxValue: maxValue?.toString(),\n validTill: validTill ? dayjs(validTill).toDate() : undefined,\n maxLimitForUser,\n exclusiveApply: exclusiveApply || false,\n createdBy: staffUserId,\n }).returning();\n\n const coupon = result[0];\n\n // Insert applicable products if provided\n if (applicableProducts && applicableProducts.length > 0) {\n await db.insert(couponApplicableProducts).values(\n applicableProducts.map(productId => ({\n couponId: coupon.id,\n productId,\n }))\n );\n }\n */\n\n return coupon;\n }),\n\n getUsersMiniInfo: protectedProcedure\n .input(z.object({\n search: z.string().optional(),\n limit: z.number().min(1).max(50).default(20),\n offset: z.number().min(0).default(0),\n }))\n .query(async ({ input }): Promise<{ users: UserMiniInfo[] }> => {\n const { search, limit, offset } = input;\n\n const result = await getUsersForCouponFromDb(search, limit, offset);\n\n return result;\n }),\n\n createCoupon: protectedProcedure\n .input(z.object({\n mobile: z.string().min(1, 'Mobile number is required'),\n }))\n .mutation(async ({ input, ctx }): Promise<{ success: boolean; coupon: any }> => {\n const { mobile } = input;\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n\n // Clean mobile number (remove non-digits)\n const cleanMobile = mobile.replace(/\\D/g, '');\n\n // Validate: exactly 10 digits\n if (cleanMobile.length !== 10) {\n throw new Error(\"Mobile number must be exactly 10 digits\");\n }\n\n // Generate unique coupon code\n const timestamp = Date.now().toString().slice(-6);\n const random = Math.random().toString(36).substring(2, 6).toUpperCase();\n const couponCode = `MF${cleanMobile.slice(-4)}${timestamp}${random}`;\n\n // Using dbService helper (new implementation)\n const codeExists = await checkCouponExists(couponCode);\n if (codeExists) {\n throw new Error(\"Generated coupon code already exists - please try again\");\n }\n\n const { coupon, user } = await createCouponForUser(cleanMobile, couponCode, staffUserId);\n\n /*\n // Old implementation - direct DB query with transaction:\n // Check if user exists, create if not\n let user = await db.query.users.findFirst({\n where: eq(users.mobile, cleanMobile),\n });\n\n if (!user) {\n const [newUser] = await db.insert(users).values({\n name: null,\n email: null,\n mobile: cleanMobile,\n }).returning();\n user = newUser;\n }\n\n // Create the coupon\n const [coupon] = await db.insert(coupons).values({\n couponCode,\n isUserBased: true,\n discountPercent: \"20\",\n minOrder: \"1000\",\n maxValue: \"500\",\n maxLimitForUser: 1,\n isApplyForAll: false,\n exclusiveApply: false,\n createdBy: staffUserId,\n validTill: dayjs().add(90, 'days').toDate(),\n }).returning();\n\n // Associate coupon with user\n await db.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId: user.id,\n });\n */\n\n return {\n success: true,\n coupon: {\n id: coupon.id,\n couponCode: coupon.couponCode,\n userId: user.id,\n userMobile: user.mobile,\n discountPercent: 20,\n minOrder: 1000,\n maxValue: 500,\n maxLimitForUser: 1,\n },\n };\n }),\n});\n", "// import redisClient from '@/src/lib/redis-client'\nimport {\n getAllUserNegativityScores as getAllUserNegativityScoresFromDb,\n getUserNegativityScore as getUserNegativityScoreFromDb,\n type UserNegativityData,\n} from '@/src/dbService'\n\nexport async function initializeUserNegativityStore(): Promise {\n try {\n console.log('Initializing user negativity store in Redis...')\n\n const results = await getAllUserNegativityScoresFromDb()\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { userIncidents } from '@/src/db/schema'\n import { sum } from 'drizzle-orm'\n\n const results = await db\n .select({\n userId: userIncidents.userId,\n totalNegativityScore: sum(userIncidents.negativityScore).mapWith(Number),\n })\n .from(userIncidents)\n .groupBy(userIncidents.userId);\n */\n\n // for (const { userId, totalNegativityScore } of results) {\n // await redisClient.set(\n // `user:negativity:${userId}`,\n // totalNegativityScore.toString()\n // )\n // }\n\n console.log(`User negativity store initialized for ${results.length} users`)\n } catch (error) {\n console.error('Error initializing user negativity store:', error)\n throw error\n }\n}\n\nexport async function getUserNegativity(userId: number): Promise {\n try {\n // const key = `user:negativity:${userId}`\n // const data = await redisClient.get(key)\n //\n // if (!data) {\n // return 0\n // }\n //\n // return parseInt(data, 10)\n\n return await getUserNegativityScoreFromDb(userId)\n } catch (error) {\n console.error(`Error getting negativity score for user ${userId}:`, error)\n return 0\n }\n}\n\nexport async function getAllUserNegativityScores(): Promise> {\n try {\n // const keys = await redisClient.KEYS('user:negativity:*')\n //\n // if (keys.length === 0) return {}\n //\n // const values = await redisClient.MGET(keys)\n //\n // const result: Record = {}\n // for (let i = 0; i < keys.length; i++) {\n // const key = keys[i]\n // const value = values[i]\n //\n // const match = key.match(/user:negativity:(\\d+)/)\n // if (match && value) {\n // const userId = parseInt(match[1], 10)\n // result[userId] = parseInt(value, 10)\n // }\n // }\n //\n // return result\n\n const results = await getAllUserNegativityScoresFromDb()\n\n const result: Record = {}\n for (const { userId, totalNegativityScore } of results) {\n result[userId] = totalNegativityScore\n }\n return result\n } catch (error) {\n console.error('Error getting all user negativity scores:', error)\n return {}\n }\n}\n\nexport async function getMultipleUserNegativityScores(\n userIds: number[]\n): Promise> {\n try {\n if (userIds.length === 0) return {}\n\n // const keys = userIds.map((id) => `user:negativity:${id}`)\n //\n // const values = await redisClient.MGET(keys)\n //\n // const result: Record = {}\n // for (let i = 0; i < userIds.length; i++) {\n // const value = values[i]\n // if (value) {\n // result[userIds[i]] = parseInt(value, 10)\n // } else {\n // result[userIds[i]] = 0\n // }\n // }\n //\n // return result\n\n const result: Record = {}\n for (const userId of userIds) {\n result[userId] = await getUserNegativityScoreFromDb(userId)\n }\n return result\n } catch (error) {\n console.error('Error getting multiple user negativity scores:', error)\n return {}\n }\n}\n\nexport async function recomputeUserNegativityScore(userId: number): Promise {\n try {\n const totalScore = await getUserNegativityScoreFromDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n import { db } from '@/src/db/db_index'\n import { userIncidents } from '@/src/db/schema'\n import { eq, sum } from 'drizzle-orm'\n\n const [result] = await db\n .select({\n totalNegativityScore: sum(userIncidents.negativityScore).mapWith(Number),\n })\n .from(userIncidents)\n .where(eq(userIncidents.userId, userId))\n .limit(1);\n\n const totalScore = result?.totalNegativityScore || 0;\n */\n\n // const key = `user:negativity:${userId}`\n // await redisClient.set(key, totalScore.toString())\n } catch (error) {\n console.error(`Error recomputing negativity score for user ${userId}:`, error)\n throw error\n }\n}\n", "import { router, protectedProcedure } from \"@/src/trpc/trpc-index\"\nimport { z } from \"zod\";\nimport { ApiError } from \"@/src/lib/api-error\"\nimport {\n sendOrderPackagedNotification,\n sendOrderDeliveredNotification,\n} from \"@/src/lib/notif-job\";\nimport { publishCancellation } from \"@/src/lib/post-order-handler\"\nimport { getMultipleUserNegativityScores } from \"@/src/stores/user-negativity-store\"\nimport {\n updateOrderNotes as updateOrderNotesInDb,\n getOrderDetails as getOrderDetailsInDb,\n updateOrderPackaged as updateOrderPackagedInDb,\n updateOrderDelivered as updateOrderDeliveredInDb,\n updateOrderItemPackaging as updateOrderItemPackagingInDb,\n removeDeliveryCharge as removeDeliveryChargeInDb,\n getSlotOrders as getSlotOrdersInDb,\n updateAddressCoords as updateAddressCoordsInDb,\n getAllOrders as getAllOrdersInDb,\n rebalanceSlots as rebalanceSlotsInDb,\n cancelOrder as cancelOrderInDb,\n deleteOrderById as deleteOrderByIdInDb,\n} from '@/src/dbService'\nimport type {\n AdminCancelOrderResult,\n AdminGetAllOrdersResult,\n AdminGetSlotOrdersResult,\n AdminOrderBasicResult,\n AdminOrderDetails,\n AdminOrderItemPackagingResult,\n AdminOrderMessageResult,\n AdminOrderRow,\n AdminOrderUpdateResult,\n AdminRebalanceSlotsResult,\n} from \"@packages/shared\"\n\nconst updateOrderNotesSchema = z.object({\n orderId: z.number(),\n adminNotes: z.string(),\n});\n\nconst getOrderDetailsSchema = z.object({\n orderId: z.number(),\n});\n\nconst updatePackagedSchema = z.object({\n orderId: z.string(),\n isPackaged: z.boolean(),\n});\n\nconst updateDeliveredSchema = z.object({\n orderId: z.string(),\n isDelivered: z.boolean(),\n});\n\nconst updateOrderItemPackagingSchema = z.object({\n orderItemId: z.number(),\n isPackaged: z.boolean().optional(),\n isPackageVerified: z.boolean().optional(),\n});\n\nconst getSlotOrdersSchema = z.object({\n slotId: z.string(),\n});\n\nconst getAllOrdersSchema = z.object({\n cursor: z.number().optional(),\n limit: z.number().default(20),\n slotId: z.number().optional().nullable(),\n packagedFilter: z\n .enum([\"all\", \"packaged\", \"not_packaged\"])\n .optional()\n .default(\"all\"),\n deliveredFilter: z\n .enum([\"all\", \"delivered\", \"not_delivered\"])\n .optional()\n .default(\"all\"),\n cancellationFilter: z\n .enum([\"all\", \"cancelled\", \"not_cancelled\"])\n .optional()\n .default(\"all\"),\n flashDeliveryFilter: z\n .enum([\"all\", \"flash\", \"regular\"])\n .optional()\n .default(\"all\"),\n});\n\nexport const orderRouter = router({\n updateNotes: protectedProcedure\n .input(updateOrderNotesSchema)\n .mutation(async ({ input }): Promise => {\n const { orderId, adminNotes } = input;\n\n const result = await updateOrderNotesInDb(orderId, adminNotes || null)\n\n /*\n // Old implementation - direct DB query:\n const result = await db\n .update(orders)\n .set({\n adminNotes: adminNotes || null,\n })\n .where(eq(orders.id, orderId))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Order not found\");\n }\n */\n\n if (!result) {\n throw new Error(\"Order not found\")\n }\n\n return result as AdminOrderRow;\n }),\n\n getOrderDetails: protectedProcedure\n .input(getOrderDetailsSchema)\n .query(async ({ input }): Promise => {\n const { orderId } = input;\n\n const orderDetails = await getOrderDetailsInDb(orderId)\n\n /*\n // Old implementation - direct DB queries:\n // Single optimized query with all relations\n const orderData = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n payment: true,\n paymentInfo: true,\n orderStatus: true,\n refunds: true,\n },\n });\n\n if (!orderData) {\n throw new Error(\"Order not found\");\n }\n\n // Get coupon usage for this specific order using new orderId field\n const couponUsageData = await db.query.couponUsage.findMany({\n where: eq(couponUsage.orderId, orderData.id),\n with: {\n coupon: true,\n },\n });\n\n let couponData = null;\n if (couponUsageData.length > 0) {\n // Calculate total discount from multiple coupons\n let totalDiscountAmount = 0;\n const orderTotal = parseFloat(orderData.totalAmount.toString());\n\n for (const usage of couponUsageData) {\n let discountAmount = 0;\n\n if (usage.coupon.discountPercent) {\n discountAmount =\n (orderTotal *\n parseFloat(usage.coupon.discountPercent.toString())) /\n 100;\n } else if (usage.coupon.flatDiscount) {\n discountAmount = parseFloat(usage.coupon.flatDiscount.toString());\n }\n\n // Apply max value limit if set\n if (\n usage.coupon.maxValue &&\n discountAmount > parseFloat(usage.coupon.maxValue.toString())\n ) {\n discountAmount = parseFloat(usage.coupon.maxValue.toString());\n }\n\n totalDiscountAmount += discountAmount;\n }\n\n couponData = {\n couponCode: couponUsageData\n .map((u) => u.coupon.couponCode)\n .join(\", \"),\n couponDescription: `${couponUsageData.length} coupons applied`,\n discountAmount: totalDiscountAmount,\n };\n }\n\n // Status determination from included relation\n const statusRecord = orderData.orderStatus?.[0];\n let status: \"pending\" | \"delivered\" | \"cancelled\" = \"pending\";\n if (statusRecord?.isCancelled) {\n status = \"cancelled\";\n } else if (statusRecord?.isDelivered) {\n status = \"delivered\";\n }\n\n // Always include refund data (will be null/undefined if not cancelled)\n const refund = orderData.refunds?.[0];\n\n return {\n id: orderData.id,\n readableId: orderData.id,\n userId: orderData.user.id,\n customerName: `${orderData.user.name}`,\n customerEmail: orderData.user.email,\n customerMobile: orderData.user.mobile,\n address: {\n name: orderData.address.name,\n line1: orderData.address.addressLine1,\n line2: orderData.address.addressLine2,\n city: orderData.address.city,\n state: orderData.address.state,\n pincode: orderData.address.pincode,\n phone: orderData.address.phone,\n },\n slotInfo: orderData.slot\n ? {\n time: orderData.slot.deliveryTime.toISOString(),\n sequence: orderData.slot.deliverySequence,\n }\n : null,\n isCod: orderData.isCod,\n isOnlinePayment: orderData.isOnlinePayment,\n totalAmount: parseFloat(orderData.totalAmount?.toString() || '0') - parseFloat(orderData.deliveryCharge?.toString() || '0'),\n deliveryCharge: parseFloat(orderData.deliveryCharge?.toString() || '0'),\n adminNotes: orderData.adminNotes,\n userNotes: orderData.userNotes,\n createdAt: orderData.createdAt,\n status,\n isPackaged: statusRecord?.isPackaged || false,\n isDelivered: statusRecord?.isDelivered || false,\n items: orderData.orderItems.map((item) => ({\n id: item.id,\n name: item.product.name,\n quantity: item.quantity,\n productSize: item.product.productQuantity,\n price: item.price,\n unit: item.product.unit?.shortNotation,\n amount:\n parseFloat(item.price.toString()) *\n parseFloat(item.quantity || \"0\"),\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n })),\n payment: orderData.payment\n ? {\n status: orderData.payment.status,\n gateway: orderData.payment.gateway,\n merchantOrderId: orderData.payment.merchantOrderId,\n }\n : null,\n paymentInfo: orderData.paymentInfo\n ? {\n status: orderData.paymentInfo.status,\n gateway: orderData.paymentInfo.gateway,\n merchantOrderId: orderData.paymentInfo.merchantOrderId,\n }\n : null,\n // Cancellation details (always included, null if not cancelled)\n cancelReason: statusRecord?.cancelReason || null,\n cancellationReviewed: statusRecord?.cancellationReviewed || false,\n isRefundDone: refund?.refundStatus === \"processed\" || false,\n refundStatus: refund?.refundStatus as RefundStatus,\n refundAmount: refund?.refundAmount\n ? parseFloat(refund.refundAmount.toString())\n : null,\n // Coupon information\n couponData: couponData,\n couponCode: couponData?.couponCode || null,\n couponDescription: couponData?.couponDescription || null,\n discountAmount: couponData?.discountAmount || null,\n orderStatus: statusRecord,\n refundRecord: refund,\n isFlashDelivery: orderData.isFlashDelivery,\n };\n */\n\n if (!orderDetails) {\n throw new Error('Order not found')\n }\n\n return orderDetails\n }),\n\n updatePackaged: protectedProcedure\n .input(updatePackagedSchema)\n .mutation(async ({ input }): Promise => {\n const { orderId, isPackaged } = input;\n\n const result = await updateOrderPackagedInDb(orderId, isPackaged)\n\n /*\n // Old implementation - direct DB queries:\n // Update all order items to the specified packaged state\n await db\n .update(orderItems)\n .set({ is_packaged: isPackaged })\n .where(eq(orderItems.orderId, parseInt(orderId)));\n\n // Also update the order status table for backward compatibility\n if (!isPackaged) {\n await db\n .update(orderStatus)\n .set({ isPackaged, isDelivered: false })\n .where(eq(orderStatus.orderId, parseInt(orderId)));\n } else {\n await db\n .update(orderStatus)\n .set({ isPackaged })\n .where(eq(orderStatus.orderId, parseInt(orderId)));\n }\n\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, parseInt(orderId)),\n });\n if (order) await sendOrderPackagedNotification(order.userId, orderId);\n\n return { success: true };\n */\n\n if (result.userId) await sendOrderPackagedNotification(result.userId, orderId)\n\n return { success: true, userId: result.userId }\n }),\n\n updateDelivered: protectedProcedure\n .input(updateDeliveredSchema)\n .mutation(async ({ input }): Promise => {\n const { orderId, isDelivered } = input;\n\n const result = await updateOrderDeliveredInDb(orderId, isDelivered)\n\n /*\n // Old implementation - direct DB queries:\n await db\n .update(orderStatus)\n .set({ isDelivered })\n .where(eq(orderStatus.orderId, parseInt(orderId)));\n\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, parseInt(orderId)),\n });\n if (order) await sendOrderDeliveredNotification(order.userId, orderId);\n\n return { success: true };\n */\n\n if (result.userId) await sendOrderDeliveredNotification(result.userId, orderId)\n\n return { success: true, userId: result.userId }\n }),\n\n updateOrderItemPackaging: protectedProcedure\n .input(updateOrderItemPackagingSchema)\n .mutation(async ({ input }): Promise => {\n const { orderItemId, isPackaged, isPackageVerified } = input;\n\n const result = await updateOrderItemPackagingInDb(orderItemId, isPackaged, isPackageVerified)\n\n /*\n // Old implementation - direct DB queries:\n // Validate that orderItem exists\n const orderItem = await db.query.orderItems.findFirst({\n where: eq(orderItems.id, orderItemId),\n });\n\n if (!orderItem) {\n throw new ApiError(\"Order item not found\", 404);\n }\n\n // Build update object with only provided fields\n const updateData: any = {};\n if (isPackaged !== undefined) {\n updateData.is_packaged = isPackaged;\n }\n if (isPackageVerified !== undefined) {\n updateData.is_package_verified = isPackageVerified;\n }\n\n // Update the order item\n await db\n .update(orderItems)\n .set(updateData)\n .where(eq(orderItems.id, orderItemId));\n\n return { success: true };\n */\n\n if (!result.updated) {\n throw new ApiError('Order item not found', 404)\n }\n\n return result\n }),\n\n removeDeliveryCharge: protectedProcedure\n .input(z.object({ orderId: z.number() }))\n .mutation(async ({ input }): Promise => {\n const { orderId } = input;\n\n const result = await removeDeliveryChargeInDb(orderId)\n\n /*\n // Old implementation - direct DB queries:\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n });\n\n if (!order) {\n throw new Error('Order not found');\n }\n\n const currentDeliveryCharge = parseFloat(order.deliveryCharge?.toString() || '0');\n const currentTotalAmount = parseFloat(order.totalAmount?.toString() || '0');\n const newTotalAmount = currentTotalAmount - currentDeliveryCharge;\n\n await db\n .update(orders)\n .set({ \n deliveryCharge: '0',\n totalAmount: newTotalAmount.toString()\n })\n .where(eq(orders.id, orderId));\n\n return { success: true, message: 'Delivery charge removed' };\n */\n\n if (!result) {\n throw new Error('Order not found')\n }\n\n return result\n }),\n\n getSlotOrders: protectedProcedure\n .input(getSlotOrdersSchema)\n .query(async ({ input }): Promise => {\n const { slotId } = input;\n\n const result = await getSlotOrdersInDb(slotId)\n\n /*\n // Old implementation - direct DB queries:\n const slotOrders = await db.query.orders.findMany({\n where: eq(orders.slotId, parseInt(slotId)),\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n },\n });\n\n const filteredOrders = slotOrders.filter((order) => {\n const statusRecord = order.orderStatus[0];\n return (\n order.isCod ||\n (statusRecord && statusRecord.paymentStatus === \"success\")\n );\n });\n\n const formattedOrders = filteredOrders.map((order) => {\n const statusRecord = order.orderStatus[0]; // assuming one status per order\n let status: \"pending\" | \"delivered\" | \"cancelled\" = \"pending\";\n if (statusRecord?.isCancelled) {\n status = \"cancelled\";\n } else if (statusRecord?.isDelivered) {\n status = \"delivered\";\n }\n\n const items = order.orderItems.map((item) => ({\n id: item.id,\n name: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n amount: parseFloat(item.quantity) * parseFloat(item.price.toString()),\n unit: item.product.unit?.shortNotation || \"\",\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n }));\n\n return {\n id: order.id,\n readableId: order.id,\n customerName: order.user.name,\n address: `${order.address.addressLine1}${\n order.address.addressLine2 ? `, ${order.address.addressLine2}` : \"\"\n }, ${order.address.city}, ${order.address.state} - ${\n order.address.pincode\n }, Phone: ${order.address.phone}`,\n addressId: order.addressId,\n latitude: order.address.adminLatitude ?? order.address.latitude,\n longitude: order.address.adminLongitude ?? order.address.longitude,\n totalAmount: parseFloat(order.totalAmount),\n items,\n deliveryTime: order.slot?.deliveryTime.toISOString() || null,\n status,\n isPackaged:\n order.orderItems.every((item) => item.is_packaged) || false,\n isDelivered: statusRecord?.isDelivered || false,\n isCod: order.isCod,\n paymentMode: order.isCod ? \"COD\" : \"Online\",\n paymentStatus: statusRecord?.paymentStatus || \"pending\",\n slotId: order.slotId,\n adminNotes: order.adminNotes,\n userNotes: order.userNotes,\n };\n });\n\n return { success: true, data: formattedOrders };\n */\n\n return result\n }),\n\n updateAddressCoords: protectedProcedure\n .input(\n z.object({\n addressId: z.number(),\n latitude: z.number(),\n longitude: z.number(),\n })\n )\n .mutation(async ({ input }): Promise => {\n const { addressId, latitude, longitude } = input;\n\n const result = await updateAddressCoordsInDb(addressId, latitude, longitude)\n\n /*\n // Old implementation - direct DB queries:\n const result = await db\n .update(addresses)\n .set({\n adminLatitude: latitude,\n adminLongitude: longitude,\n })\n .where(eq(addresses.id, addressId))\n .returning();\n\n if (result.length === 0) {\n throw new ApiError(\"Address not found\", 404);\n }\n\n return { success: true };\n */\n\n if (!result.success) {\n throw new ApiError('Address not found', 404)\n }\n\n return result\n }),\n\n getAll: protectedProcedure\n .input(getAllOrdersSchema)\n .query(async ({ input }): Promise => {\n try {\n const result = await getAllOrdersInDb(input)\n const userIds = [...new Set(result.orders.map((order) => order.userId))]\n const negativityScores = await getMultipleUserNegativityScores(userIds)\n\n const orders = result.orders.map((order) => {\n const { userId, userNegativityScore, ...rest } = order\n return {\n ...rest,\n userNegativityScore: negativityScores[userId] || 0,\n }\n })\n\n /*\n // Old implementation - direct DB queries:\n const {\n cursor,\n limit,\n slotId,\n packagedFilter,\n deliveredFilter,\n cancellationFilter,\n flashDeliveryFilter,\n } = input;\n\n let whereCondition: SQL | undefined = eq(orders.id, orders.id); // always true\n if (cursor) {\n whereCondition = and(whereCondition, lt(orders.id, cursor));\n }\n if (slotId) {\n whereCondition = and(whereCondition, eq(orders.slotId, slotId));\n }\n if (packagedFilter === \"packaged\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isPackaged, true)\n );\n } else if (packagedFilter === \"not_packaged\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isPackaged, false)\n );\n }\n if (deliveredFilter === \"delivered\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isDelivered, true)\n );\n } else if (deliveredFilter === \"not_delivered\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isDelivered, false)\n );\n }\n if (cancellationFilter === \"cancelled\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isCancelled, true)\n );\n } else if (cancellationFilter === \"not_cancelled\") {\n whereCondition = and(\n whereCondition,\n eq(orderStatus.isCancelled, false)\n );\n }\n if (flashDeliveryFilter === \"flash\") {\n whereCondition = and(\n whereCondition,\n eq(orders.isFlashDelivery, true)\n );\n } else if (flashDeliveryFilter === \"regular\") {\n whereCondition = and(\n whereCondition,\n eq(orders.isFlashDelivery, false)\n );\n }\n\n const allOrders = await db.query.orders.findMany({\n where: whereCondition,\n orderBy: desc(orders.createdAt),\n limit: limit + 1, // fetch one extra to check if there's more\n with: {\n user: true,\n address: true,\n slot: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n },\n });\n\n const hasMore = allOrders.length > limit;\n const ordersToReturn = hasMore ? allOrders.slice(0, limit) : allOrders;\n\n const userIds = [...new Set(ordersToReturn.map(o => o.userId))];\n const negativityScores = await getMultipleUserNegativityScores(userIds);\n\n const filteredOrders = ordersToReturn.filter((order) => {\n const statusRecord = order.orderStatus[0];\n return (\n order.isCod ||\n (statusRecord && statusRecord.paymentStatus === \"success\")\n );\n });\n\n const formattedOrders = filteredOrders.map((order) => {\n const statusRecord = order.orderStatus[0];\n let status: \"pending\" | \"delivered\" | \"cancelled\" = \"pending\";\n if (statusRecord?.isCancelled) {\n status = \"cancelled\";\n } else if (statusRecord?.isDelivered) {\n status = \"delivered\";\n }\n\n const items = order.orderItems\n .map((item) => ({\n id: item.id,\n name: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n amount:\n parseFloat(item.quantity) * parseFloat(item.price.toString()),\n unit: item.product.unit?.shortNotation || \"\",\n productSize: item.product.productQuantity,\n isPackaged: item.is_packaged,\n isPackageVerified: item.is_package_verified,\n }))\n .sort((first, second) => first.id - second.id);\n dayjs.extend(utc);\n return {\n id: order.id,\n orderId: order.id.toString(),\n readableId: order.id,\n customerName: order.user.name,\n customerMobile: order.user.mobile,\n address: `${order.address.addressLine1}${\n order.address.addressLine2\n ? `, ${order.address.addressLine2}`\n : \"\"\n }, ${order.address.city}, ${order.address.state} - ${\n order.address.pincode\n }, Phone: ${order.address.phone}`,\n addressId: order.addressId,\n latitude: order.address.adminLatitude ?? order.address.latitude,\n longitude: order.address.adminLongitude ?? order.address.longitude,\n totalAmount: parseFloat(order.totalAmount),\n deliveryCharge: parseFloat(order.deliveryCharge || \"0\"),\n items,\n createdAt: order.createdAt,\n // deliveryTime: order.slot ? dayjs.utc(order.slot.deliveryTime).format('ddd, MMM D \u2022 h:mm A') : 'Not scheduled',\n deliveryTime: order.slot?.deliveryTime.toISOString() || null,\n status,\n isPackaged:\n order.orderItems.every((item) => item.is_packaged) || false,\n isDelivered: statusRecord?.isDelivered || false,\n isCod: order.isCod,\n isFlashDelivery: order.isFlashDelivery,\n userNotes: order.userNotes,\n adminNotes: order.adminNotes,\n userNegativityScore: negativityScores[order.userId] || 0,\n };\n });\n \n return {\n orders: formattedOrders,\n nextCursor: hasMore\n ? ordersToReturn[ordersToReturn.length - 1].id\n : undefined,\n };\n */\n\n return {\n orders,\n nextCursor: result.nextCursor,\n }\n } catch (e) {\n console.log({ e });\n }\n }),\n\n rebalanceSlots: protectedProcedure\n .input(z.object({ slotIds: z.array(z.number()).min(1).max(50) }))\n .mutation(async ({ input }): Promise => {\n const slotIds = input.slotIds;\n\n const result = await rebalanceSlotsInDb(slotIds)\n\n /*\n // Old implementation - direct DB queries:\n const ordersList = await db.query.orders.findMany({\n where: inArray(orders.slotId, slotIds),\n with: {\n orderItems: {\n with: {\n product: true\n }\n },\n couponUsages: {\n with: {\n coupon: true\n }\n },\n }\n });\n\n const processedOrdersData = ordersList.map((order) => {\n\n let newTotal = order.orderItems.reduce((acc,item) => {\n const latestPrice = +item.product.price;\n const amount = (latestPrice * Number(item.quantity));\n return acc+amount;\n },0)\n\n order.orderItems.forEach(item => {\n item.price = item.product.price;\n item.discountedPrice = item.product.price\n })\n\n const coupon = order.couponUsages[0]?.coupon;\n\n let discount = 0;\n if(coupon && !coupon.isInvalidated && (!coupon.validTill || new Date(coupon.validTill) > new Date())) {\n const proportion = Number(order.orderGroupProportion || 1);\n if(coupon.discountPercent) {\n const maxDiscount = Number(coupon.maxValue || Infinity) * proportion;\n discount = Math.min((newTotal * parseFloat(coupon.discountPercent)) / 100, maxDiscount);\n }\n else {\n discount = Number(coupon.flatDiscount) * proportion;\n }\n }\n newTotal -= discount\n\n const { couponUsages, orderItems: orderItemsRaw, ...rest} = order;\n const updatedOrderItems = orderItemsRaw.map(item => {\n const { product, ...rawOrderItem } = item;\n return rawOrderItem;\n })\n return {order: rest, updatedOrderItems, newTotal }\n })\n\n const updatedOrderIds: number[] = [];\n await db.transaction(async (tx) => {\n for (const { order, updatedOrderItems, newTotal } of processedOrdersData) {\n await tx.update(orders).set({ totalAmount: newTotal.toString() }).where(eq(orders.id, order.id));\n updatedOrderIds.push(order.id);\n\n for (const item of updatedOrderItems) {\n await tx.update(orderItems).set({\n price: item.price,\n discountedPrice: item.discountedPrice\n }).where(eq(orderItems.id, item.id));\n }\n }\n });\n\n return { success: true, updatedOrders: updatedOrderIds, message: `Rebalanced ${updatedOrderIds.length} orders.` };\n */\n\n return result\n }),\n\n cancelOrder: protectedProcedure\n .input(z.object({\n orderId: z.number(),\n reason: z.string().min(1, \"Cancellation reason is required\"),\n }))\n .mutation(async ({ input }): Promise => {\n const { orderId, reason } = input;\n\n const result = await cancelOrderInDb(orderId, reason)\n\n /*\n // Old implementation - direct DB queries:\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, orderId),\n with: {\n orderStatus: true,\n },\n });\n\n if (!order) {\n throw new ApiError(\"Order not found\", 404);\n }\n\n const status = order.orderStatus[0];\n if (!status) {\n throw new ApiError(\"Order status not found\", 400);\n }\n\n if (status.isCancelled) {\n throw new ApiError(\"Order is already cancelled\", 400);\n }\n\n if (status.isDelivered) {\n throw new ApiError(\"Cannot cancel delivered order\", 400);\n }\n\n const result = await db.transaction(async (tx) => {\n await tx\n .update(orderStatus)\n .set({\n isCancelled: true,\n isCancelledByAdmin: true,\n cancelReason: reason,\n cancellationAdminNotes: reason,\n cancellationReviewed: true,\n cancellationReviewedAt: new Date(),\n })\n .where(eq(orderStatus.id, status.id));\n\n const refundStatus = order.isCod ? \"na\" : \"pending\";\n\n await tx.insert(refunds).values({\n orderId: order.id,\n refundStatus,\n });\n\n return { orderId: order.id, userId: order.userId };\n });\n\n // Publish to Redis for Telegram notification\n await publishCancellation(result.orderId, 'admin', reason);\n\n return { success: true, message: \"Order cancelled successfully\" };\n */\n\n if (!result.success) {\n if (result.error === 'order_not_found') {\n throw new ApiError(result.message, 404)\n }\n if (result.error === 'status_not_found') {\n throw new ApiError(result.message, 400)\n }\n if (result.error === 'already_cancelled') {\n throw new ApiError(result.message, 400)\n }\n if (result.error === 'already_delivered') {\n throw new ApiError(result.message, 400)\n }\n\n throw new ApiError(result.message, 400)\n }\n\n if (result.orderId) {\n await publishCancellation(result.orderId, 'admin', reason)\n }\n\n return { success: true, message: result.message }\n }),\n});\n\n// {\"id\": \"order_Rhh00qJNdjUp8o\", \"notes\": {\"retry\": \"true\", \"customerOrderId\": \"14\"}, \"amount\": 21000, \"entity\": \"order\", \"status\": \"created\", \"receipt\": \"order_14_retry\", \"attempts\": 0, \"currency\": \"INR\", \"offer_id\": null, \"signature\": \"6df20655021f1d6841340f2a2ef2ef9378cb3d43495ab09e85f08aea1a851583\", \"amount_due\": 21000, \"created_at\": 1763575791, \"payment_id\": \"pay_Rhh15cLL28YM7j\", \"amount_paid\": 0}\n\nexport async function deleteOrderById(orderId: number): Promise {\n await deleteOrderByIdInDb(orderId)\n\n /*\n // Old implementation - direct DB queries:\n await db.transaction(async (tx) => {\n await tx.delete(orderItems).where(eq(orderItems.orderId, orderId));\n await tx.delete(orderStatus).where(eq(orderStatus.orderId, orderId));\n await tx.delete(payments).where(eq(payments.orderId, orderId));\n await tx.delete(refunds).where(eq(refunds.orderId, orderId));\n await tx.delete(couponUsage).where(eq(couponUsage.orderId, orderId));\n await tx.delete(complaints).where(eq(complaints.orderId, orderId));\n await tx.delete(orders).where(eq(orders.id, orderId));\n });\n */\n}\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport dayjs from 'dayjs'\nimport { getAppUrl } from '@/src/lib/env-exporter'\nimport {\n checkVendorSnippetExists as checkVendorSnippetExistsInDb,\n getVendorSnippetById as getVendorSnippetByIdInDb,\n getVendorSnippetByCode as getVendorSnippetByCodeInDb,\n getAllVendorSnippets as getAllVendorSnippetsInDb,\n createVendorSnippet as createVendorSnippetInDb,\n updateVendorSnippet as updateVendorSnippetInDb,\n deleteVendorSnippet as deleteVendorSnippetInDb,\n getProductsByIds as getProductsByIdsInDb,\n getVendorSlotById as getVendorSlotByIdInDb,\n getVendorOrdersBySlotId as getVendorOrdersBySlotIdInDb,\n getVendorOrders as getVendorOrdersInDb,\n updateVendorOrderItemPackaging as updateVendorOrderItemPackagingInDb,\n getSlotsAfterDate as getSlotsAfterDateInDb,\n} from '@/src/dbService'\nimport type {\n AdminVendorSnippet,\n AdminVendorSnippetWithProducts,\n AdminVendorSnippetWithSlot,\n AdminVendorSnippetDeleteResult,\n AdminVendorSnippetOrdersResult,\n AdminVendorSnippetOrdersWithSlotResult,\n AdminVendorOrderSummary,\n AdminUpcomingSlotsResult,\n AdminVendorUpdatePackagingResult,\n} from '@packages/shared'\n\nconst createSnippetSchema = z.object({\n snippetCode: z.string().min(1, \"Snippet code is required\"),\n slotId: z.number().optional(),\n productIds: z.array(z.number().int().positive()).min(1, \"At least one product is required\"),\n validTill: z.string().optional(),\n isPermanent: z.boolean().default(false)\n});\n\nconst updateSnippetSchema = z.object({\n id: z.number().int().positive(),\n updates: createSnippetSchema.partial().extend({\n snippetCode: z.string().min(1).optional(),\n productIds: z.array(z.number().int().positive()).optional(),\n isPermanent: z.boolean().default(false)\n }),\n});\n\nexport const vendorSnippetsRouter = router({\n create: protectedProcedure\n .input(createSnippetSchema)\n .mutation(async ({ input, ctx }): Promise => {\n const { snippetCode, slotId, productIds, validTill, isPermanent } = input;\n\n // Get staff user ID from auth middleware\n const staffUserId = ctx.staffUser?.id;\n if (!staffUserId) {\n throw new Error(\"Unauthorized\");\n }\n \n if(slotId) {\n const slot = await getVendorSlotByIdInDb(slotId)\n if (!slot) {\n throw new Error(\"Invalid slot ID\")\n }\n }\n\n const products = await getProductsByIdsInDb(productIds)\n if (products.length !== productIds.length) {\n throw new Error(\"One or more invalid product IDs\")\n }\n\n const existingSnippet = await checkVendorSnippetExistsInDb(snippetCode)\n if (existingSnippet) {\n throw new Error(\"Snippet code already exists\")\n }\n\n const result = await createVendorSnippetInDb({\n snippetCode,\n slotId,\n productIds,\n isPermanent,\n validTill: validTill ? new Date(validTill) : undefined,\n })\n\n /*\n // Old implementation - direct DB queries:\n // Validate slot exists\n if(slotId) {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n });\n if (!slot) {\n throw new Error(\"Invalid slot ID\");\n }\n }\n\n // Validate products exist\n const products = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, productIds),\n });\n if (products.length !== productIds.length) {\n throw new Error(\"One or more invalid product IDs\");\n }\n\n // Check if snippet code already exists\n const existingSnippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n });\n if (existingSnippet) {\n throw new Error(\"Snippet code already exists\");\n }\n\n const result = await db.insert(vendorSnippets).values({\n snippetCode,\n slotId,\n productIds,\n isPermanent,\n validTill: validTill ? new Date(validTill) : undefined,\n }).returning();\n\n return result[0];\n */\n\n return result\n }),\n\n getAll: protectedProcedure\n .query(async (): Promise => {\n console.log('from the vendor snipptes methods')\n\n try {\n const result = await getAllVendorSnippetsInDb()\n\n const snippetsWithProducts = await Promise.all(\n result.map(async (snippet) => {\n const products = await getProductsByIdsInDb(snippet.productIds)\n\n return {\n ...snippet,\n accessUrl: `${getAppUrl()}/vendor-order-list?id=${snippet.snippetCode}`,\n products,\n }\n })\n )\n\n /*\n // Old implementation - direct DB queries:\n const result = await db.query.vendorSnippets.findMany({\n with: {\n slot: true,\n },\n orderBy: (vendorSnippets, { desc }) => [desc(vendorSnippets.createdAt)],\n });\n\n const snippetsWithProducts = await Promise.all(\n result.map(async (snippet) => {\n const products = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n columns: { id: true, name: true },\n });\n\n return {\n ...snippet,\n accessUrl: `${getAppUrl()}/vendor-order-list?id=${snippet.snippetCode}`,\n products: products.map(p => ({ id: p.id, name: p.name })),\n };\n })\n );\n\n return snippetsWithProducts;\n */\n\n return snippetsWithProducts\n }\n catch(e) {\n console.log(e)\n }\n return []\n }),\n\n getById: protectedProcedure\n .input(z.object({ id: z.number().int().positive() }))\n .query(async ({ input }): Promise => {\n const { id } = input;\n\n const result = await getVendorSnippetByIdInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const result = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.id, id),\n with: {\n slot: true,\n },\n });\n\n if (!result) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n return result;\n */\n\n if (!result) {\n throw new Error('Vendor snippet not found')\n }\n\n return result\n }),\n\n update: protectedProcedure\n .input(updateSnippetSchema)\n .mutation(async ({ input }): Promise => {\n const { id, updates } = input;\n \n const existingSnippet = await getVendorSnippetByIdInDb(id)\n if (!existingSnippet) {\n throw new Error('Vendor snippet not found')\n }\n\n if (updates.slotId) {\n const slot = await getVendorSlotByIdInDb(updates.slotId)\n if (!slot) {\n throw new Error('Invalid slot ID')\n }\n }\n\n if (updates.productIds) {\n const products = await getProductsByIdsInDb(updates.productIds)\n if (products.length !== updates.productIds.length) {\n throw new Error('One or more invalid product IDs')\n }\n }\n\n if (updates.snippetCode && updates.snippetCode !== existingSnippet.snippetCode) {\n const duplicateSnippet = await checkVendorSnippetExistsInDb(updates.snippetCode)\n if (duplicateSnippet) {\n throw new Error('Snippet code already exists')\n }\n }\n\n const updateData = {\n ...updates,\n validTill: updates.validTill !== undefined\n ? (updates.validTill ? new Date(updates.validTill) : null)\n : undefined,\n }\n\n const result = await updateVendorSnippetInDb(id, updateData)\n\n /*\n // Old implementation - direct DB queries:\n const existingSnippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.id, id),\n });\n if (!existingSnippet) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n // Validate slot if being updated\n if (updates.slotId) {\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, updates.slotId),\n });\n if (!slot) {\n throw new Error(\"Invalid slot ID\");\n }\n }\n\n // Validate products if being updated\n if (updates.productIds) {\n const products = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, updates.productIds),\n });\n if (products.length !== updates.productIds.length) {\n throw new Error(\"One or more invalid product IDs\");\n }\n }\n\n // Check snippet code uniqueness if being updated\n if (updates.snippetCode && updates.snippetCode !== existingSnippet.snippetCode) {\n const duplicateSnippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, updates.snippetCode),\n });\n if (duplicateSnippet) {\n throw new Error(\"Snippet code already exists\");\n }\n }\n\n const updateData: any = { ...updates };\n if (updates.validTill !== undefined) {\n updateData.validTill = updates.validTill ? new Date(updates.validTill) : null;\n }\n\n const result = await db.update(vendorSnippets)\n .set(updateData)\n .where(eq(vendorSnippets.id, id))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Failed to update vendor snippet\");\n }\n\n return result[0];\n */\n\n if (!result) {\n throw new Error('Failed to update vendor snippet')\n }\n\n return result\n }),\n\n delete: protectedProcedure\n .input(z.object({ id: z.number().int().positive() }))\n .mutation(async ({ input }): Promise => {\n const { id } = input;\n\n const result = await deleteVendorSnippetInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const result = await db.delete(vendorSnippets)\n .where(eq(vendorSnippets.id, id))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n return { message: \"Vendor snippet deleted successfully\" };\n */\n\n if (!result) {\n throw new Error('Vendor snippet not found')\n }\n\n return { message: 'Vendor snippet deleted successfully' }\n }),\n\n getOrdersBySnippet: publicProcedure\n .input(z.object({\n snippetCode: z.string().min(1, \"Snippet code is required\")\n }))\n .query(async ({ input }): Promise => {\n const { snippetCode } = input;\n\n const snippet = await getVendorSnippetByCodeInDb(snippetCode)\n\n /*\n // Old implementation - direct DB queries:\n // Find the snippet\n const snippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n });\n\n if (!snippet) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n // Check if snippet is still valid\n if (snippet.validTill && new Date(snippet.validTill) < new Date()) {\n throw new Error(\"Vendor snippet has expired\");\n }\n\n // Query orders that match the snippet criteria\n const matchingOrders = await db.query.orders.findMany({\n where: eq(orders.slotId, snippet.slotId!),\n with: {\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n user: true,\n slot: true,\n },\n orderBy: (orders, { desc }) => [desc(orders.createdAt)],\n });\n */\n\n if (!snippet) {\n throw new Error('Vendor snippet not found')\n }\n\n if (snippet.validTill && new Date(snippet.validTill) < new Date()) {\n throw new Error('Vendor snippet has expired')\n }\n\n if (!snippet.slotId) {\n throw new Error('Vendor snippet not associated with a slot')\n }\n\n const matchingOrders = await getVendorOrdersBySlotIdInDb(snippet.slotId)\n\n // Filter orders that contain at least one of the snippet's products\n const filteredOrders = matchingOrders.filter(order => {\n const status = order.orderStatus;\n if (status[0].isCancelled) return false;\n const orderProductIds = order.orderItems.map(item => item.productId);\n return snippet.productIds.some(productId => orderProductIds.includes(productId));\n });\n\n // Format the response\n const formattedOrders = filteredOrders.map(order => {\n // Filter orderItems to only include products attached to the snippet\n const attachedOrderItems = order.orderItems.filter(item =>\n snippet.productIds.includes(item.productId)\n );\n\n const products = attachedOrderItems.map(item => ({\n orderItemId: item.id,\n productId: item.productId,\n productName: item.product.name,\n quantity: parseFloat(item.quantity),\n productSize: item.product.productQuantity,\n price: parseFloat((item.price ?? 0).toString()),\n unit: item.product.unit?.shortNotation || 'unit',\n subtotal: parseFloat((item.price ?? 0).toString()) * parseFloat(item.quantity),\n is_packaged: item.is_packaged,\n is_package_verified: item.is_package_verified,\n }));\n\n const orderTotal = products.reduce((sum, p) => sum + p.subtotal, 0);\n\n return {\n orderId: `ORD${order.id}`,\n orderDate: order.createdAt ? order.createdAt.toISOString() : new Date(0).toISOString(),\n customerName: order.user.name || '',\n totalAmount: orderTotal,\n slotInfo: order.slot ? {\n time: order.slot.deliveryTime ? order.slot.deliveryTime.toISOString() : new Date(0).toISOString(),\n sequence: order.slot.deliverySequence,\n } : null,\n products,\n matchedProducts: snippet.productIds, // All snippet products are considered matched\n snippetCode: snippet.snippetCode,\n };\n });\n\n return {\n success: true,\n data: formattedOrders,\n snippet: {\n id: snippet.id,\n snippetCode: snippet.snippetCode,\n slotId: snippet.slotId,\n productIds: snippet.productIds,\n validTill: snippet.validTill?.toISOString(),\n createdAt: snippet.createdAt.toISOString(),\n isPermanent: snippet.isPermanent,\n },\n }\n }),\n\n getVendorOrders: protectedProcedure\n .query(async (): Promise => {\n const vendorOrders = await getVendorOrdersInDb()\n\n /*\n // Old implementation - direct DB queries:\n const vendorOrders = await db.query.orders.findMany({\n with: {\n user: true,\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n },\n orderBy: (orders, { desc }) => [desc(orders.createdAt)],\n });\n */\n\n return vendorOrders.map(order => ({\n id: order.id,\n status: 'pending',\n orderDate: order.createdAt ? order.createdAt.toISOString() : new Date(0).toISOString(),\n totalQuantity: order.orderItems.reduce((sum, item) => sum + parseFloat(item.quantity || '0'), 0),\n products: order.orderItems.map(item => ({\n name: item.product.name,\n quantity: parseFloat(item.quantity || '0'),\n unit: item.product.unit?.shortNotation || 'unit',\n })),\n }))\n }),\n\n getUpcomingSlots: publicProcedure\n .query(async (): Promise => {\n const threeHoursAgo = dayjs().subtract(3, 'hour').toDate();\n const slots = await getSlotsAfterDateInDb(threeHoursAgo)\n\n /*\n // Old implementation - direct DB queries:\n const slots = await db.query.deliverySlotInfo.findMany({\n where: and(\n eq(deliverySlotInfo.isActive, true),\n gt(deliverySlotInfo.deliveryTime, threeHoursAgo)\n ),\n orderBy: asc(deliverySlotInfo.deliveryTime),\n });\n */\n\n return {\n success: true,\n data: slots.map(slot => ({\n id: slot.id,\n deliveryTime: slot.deliveryTime.toISOString(),\n freezeTime: slot.freezeTime.toISOString(),\n deliverySequence: slot.deliverySequence,\n })),\n }\n }),\n\n getOrdersBySnippetAndSlot: publicProcedure\n .input(z.object({\n snippetCode: z.string().min(1, \"Snippet code is required\"),\n slotId: z.number().int().positive(\"Valid slot ID is required\"),\n }))\n .query(async ({ input }): Promise => {\n const { snippetCode, slotId } = input;\n\n const snippet = await getVendorSnippetByCodeInDb(snippetCode)\n const slot = await getVendorSlotByIdInDb(slotId)\n\n /*\n // Old implementation - direct DB queries:\n // Find the snippet\n const snippet = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippetCode),\n });\n\n if (!snippet) {\n throw new Error(\"Vendor snippet not found\");\n }\n\n // Find the slot\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n });\n\n if (!slot) {\n throw new Error(\"Slot not found\");\n }\n \n // Query orders that match the slot and snippet criteria\n const matchingOrders = await db.query.orders.findMany({\n where: eq(orders.slotId, slotId),\n with: {\n orderItems: {\n with: {\n product: {\n with: {\n unit: true,\n },\n },\n },\n },\n orderStatus: true,\n user: true,\n slot: true,\n },\n orderBy: (orders, { desc }) => [desc(orders.createdAt)],\n });\n */\n\n if (!snippet) {\n throw new Error('Vendor snippet not found')\n }\n\n if (!slot) {\n throw new Error('Slot not found')\n }\n\n const matchingOrders = await getVendorOrdersBySlotIdInDb(slotId)\n\n // Filter orders that contain at least one of the snippet's products\n const filteredOrders = matchingOrders.filter(order => {\n const status = order.orderStatus;\n if (status[0]?.isCancelled) return false;\n const orderProductIds = order.orderItems.map(item => item.productId);\n return snippet.productIds.some(productId => orderProductIds.includes(productId));\n });\n\n // Format the response\n const formattedOrders = filteredOrders.map(order => {\n // Filter orderItems to only include products attached to the snippet\n const attachedOrderItems = order.orderItems.filter(item =>\n snippet.productIds.includes(item.productId)\n );\n\n const products = attachedOrderItems.map(item => ({\n orderItemId: item.id,\n productId: item.productId,\n productName: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat((item.price ?? 0).toString()),\n unit: item.product.unit?.shortNotation || 'unit',\n subtotal: parseFloat((item.price ?? 0).toString()) * parseFloat(item.quantity),\n productSize: item.product.productQuantity,\n is_packaged: item.is_packaged,\n is_package_verified: item.is_package_verified,\n }));\n\n const orderTotal = products.reduce((sum, p) => sum + p.subtotal, 0);\n\n return {\n orderId: `ORD${order.id}`,\n orderDate: order.createdAt ? order.createdAt.toISOString() : new Date(0).toISOString(),\n customerName: order.user.name || '',\n totalAmount: orderTotal,\n slotInfo: order.slot ? {\n time: order.slot.deliveryTime ? order.slot.deliveryTime.toISOString() : new Date(0).toISOString(),\n sequence: order.slot.deliverySequence,\n } : null,\n products,\n matchedProducts: snippet.productIds,\n snippetCode: snippet.snippetCode,\n };\n });\n\n return {\n success: true,\n data: formattedOrders,\n snippet: {\n id: snippet.id,\n snippetCode: snippet.snippetCode,\n slotId: snippet.slotId,\n productIds: snippet.productIds,\n validTill: snippet.validTill?.toISOString(),\n createdAt: snippet.createdAt ? snippet.createdAt.toISOString() : new Date(0).toISOString(),\n isPermanent: snippet.isPermanent,\n },\n selectedSlot: {\n id: slot.id,\n deliveryTime: slot.deliveryTime ? slot.deliveryTime.toISOString() : new Date(0).toISOString(),\n freezeTime: slot.freezeTime ? slot.freezeTime.toISOString() : new Date(0).toISOString(),\n deliverySequence: slot.deliverySequence,\n },\n }\n }),\n\n updateOrderItemPackaging: publicProcedure\n .input(z.object({\n orderItemId: z.number().int().positive(\"Valid order item ID required\"),\n is_packaged: z.boolean()\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const { orderItemId, is_packaged } = input;\n\n // Get staff user ID from auth middleware\n // const staffUserId = ctx.staffUser?.id;\n // if (!staffUserId) {\n // throw new Error(\"Unauthorized\");\n // }\n\n const result = await updateVendorOrderItemPackagingInDb(orderItemId, is_packaged)\n\n /*\n // Old implementation - direct DB queries:\n // Check if order item exists and get related data\n const orderItem = await db.query.orderItems.findFirst({\n where: eq(orderItems.id, orderItemId),\n with: {\n order: {\n with: {\n slot: true\n }\n }\n }\n });\n\n if (!orderItem) {\n throw new Error(\"Order item not found\");\n }\n\n // Check if this order item belongs to a slot that has vendor snippets\n // This ensures only order items from vendor-accessible orders can be updated\n if (!orderItem.order.slotId) {\n throw new Error(\"Order item not associated with a vendor slot\");\n }\n\n const snippetExists = await db.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.slotId, orderItem.order.slotId),\n });\n\n if (!snippetExists) {\n throw new Error(\"No vendor snippet found for this order's slot\");\n }\n\n // Update the is_packaged field\n const result = await db.update(orderItems)\n .set({ is_packaged })\n .where(eq(orderItems.id, orderItemId))\n .returning();\n\n if (result.length === 0) {\n throw new Error(\"Failed to update packaging status\");\n }\n\n return {\n success: true,\n orderItemId,\n is_packaged\n };\n */\n\n if (!result.success) {\n throw new Error(result.message)\n }\n\n return result\n }),\n});\n", "import { router, protectedProcedure } from \"@/src/trpc/trpc-index\"\nimport { TRPCError } from \"@trpc/server\";\nimport { z } from \"zod\";\nimport { ApiError } from \"@/src/lib/api-error\"\nimport { getAppUrl } from \"@/src/lib/env-exporter\"\n// import redisClient from \"@/src/lib/redis-client\"\n// import { getSlotSequenceKey } from \"@/src/lib/redisKeyGetters\"\nimport { scheduleStoreInitialization } from '@/src/stores/store-initializer'\nimport {\n getActiveSlotsWithProducts as getActiveSlotsWithProductsInDb,\n getActiveSlots as getActiveSlotsInDb,\n getSlotsAfterDate as getSlotsAfterDateInDb,\n getSlotByIdWithRelations as getSlotByIdWithRelationsInDb,\n createSlotWithRelations as createSlotWithRelationsInDb,\n updateSlotWithRelations as updateSlotWithRelationsInDb,\n deleteSlotById as deleteSlotByIdInDb,\n updateSlotCapacity as updateSlotCapacityInDb,\n getSlotDeliverySequence as getSlotDeliverySequenceInDb,\n updateSlotDeliverySequence as updateSlotDeliverySequenceInDb,\n updateSlotProducts as updateSlotProductsInDb,\n getSlotsProductIds as getSlotsProductIdsInDb,\n} from '@/src/dbService'\nimport type {\n AdminDeliverySequenceResult,\n AdminSlotResult,\n AdminSlotsResult,\n AdminSlotsListResult,\n AdminSlotCreateResult,\n AdminSlotUpdateResult,\n AdminSlotDeleteResult,\n AdminUpdateDeliverySequenceResult,\n AdminUpdateSlotCapacityResult,\n AdminSlotsProductIdsResult,\n AdminUpdateSlotProductsResult,\n} from '@packages/shared'\n\n\ninterface CachedDeliverySequence {\n [userId: string]: number[];\n}\n\nconst cachedSequenceSchema = z.record(z.string(), z.array(z.number()));\n\nconst createSlotSchema = z.object({\n deliveryTime: z.string(),\n freezeTime: z.string(),\n isActive: z.boolean().optional(),\n productIds: z.array(z.number()).optional(),\n vendorSnippets: z.array(z.object({\n name: z.string().min(1),\n productIds: z.array(z.number().int().positive()).min(1),\n validTill: z.string().optional(),\n })).optional(),\n groupIds: z.array(z.number()).optional(),\n});\n\nconst getSlotByIdSchema = z.object({\n id: z.number(),\n});\n\nconst updateSlotSchema = z.object({\n id: z.number(),\n deliveryTime: z.string(),\n freezeTime: z.string(),\n isActive: z.boolean().optional(),\n productIds: z.array(z.number()).optional(),\n vendorSnippets: z.array(z.object({\n name: z.string().min(1),\n productIds: z.array(z.number().int().positive()).min(1),\n validTill: z.string().optional(),\n })).optional(),\n groupIds: z.array(z.number()).optional(),\n});\n\nconst deleteSlotSchema = z.object({\n id: z.number(),\n});\n\nconst getDeliverySequenceSchema = z.object({\n id: z.string(),\n});\n\nconst updateDeliverySequenceSchema = z.object({\n id: z.number(),\n // deliverySequence: z.array(z.number()),\n deliverySequence: z.any(),\n});\n\nexport const slotsRouter = router({\n // Exact replica of GET /av/slots\n getAll: protectedProcedure.query(async ({ ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const slots = await getActiveSlotsWithProductsInDb()\n\n /*\n // Old implementation - direct DB queries:\n const slots = await db.query.deliverySlotInfo\n .findMany({\n where: eq(deliverySlotInfo.isActive, true),\n orderBy: desc(deliverySlotInfo.deliveryTime),\n with: {\n productSlots: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n },\n })\n .then((slots) =>\n slots.map((slot) => ({\n ...slot,\n deliverySequence: slot.deliverySequence as number[],\n products: slot.productSlots.map((ps) => ps.product),\n }))\n );\n */\n\n return {\n slots,\n count: slots.length,\n }\n }),\n\n // Exact replica of POST /av/products/slots/product-ids\n getSlotsProductIds: protectedProcedure\n .input(z.object({ slotIds: z.array(z.number()) }))\n .query(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { slotIds } = input;\n\n if (!Array.isArray(slotIds)) {\n throw new TRPCError({\n code: \"BAD_REQUEST\",\n message: \"slotIds must be an array\",\n });\n }\n\n const result = await getSlotsProductIdsInDb(slotIds)\n\n /*\n // Old implementation - direct DB queries:\n if (slotIds.length === 0) {\n return {};\n }\n\n // Fetch all associations for the requested slots\n const associations = await db.query.productSlots.findMany({\n where: inArray(productSlots.slotId, slotIds),\n columns: {\n slotId: true,\n productId: true,\n },\n });\n\n // Group by slotId\n const result = associations.reduce((acc, assoc) => {\n if (!acc[assoc.slotId]) {\n acc[assoc.slotId] = [];\n }\n acc[assoc.slotId].push(assoc.productId);\n return acc;\n }, {} as Record);\n\n // Ensure all requested slots have entries (even if empty)\n slotIds.forEach((slotId) => {\n if (!result[slotId]) {\n result[slotId] = [];\n }\n });\n\n return result;\n */\n\n return result\n }),\n\n // Exact replica of PUT /av/products/slots/:slotId/products\n updateSlotProducts: protectedProcedure\n .input(\n z.object({\n slotId: z.number(),\n productIds: z.array(z.number()),\n })\n )\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { slotId, productIds } = input;\n\n if (!Array.isArray(productIds)) {\n throw new TRPCError({\n code: \"BAD_REQUEST\",\n message: \"productIds must be an array\",\n });\n }\n\n const result = await updateSlotProductsInDb(String(slotId), productIds.map(String))\n\n /*\n // Old implementation - direct DB queries:\n // Get current associations\n const currentAssociations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, slotId),\n columns: {\n productId: true,\n },\n });\n\n const currentProductIds = currentAssociations.map(\n (assoc) => assoc.productId\n );\n const newProductIds = productIds;\n\n // Find products to add and remove\n const productsToAdd = newProductIds.filter(\n (id) => !currentProductIds.includes(id)\n );\n const productsToRemove = currentProductIds.filter(\n (id) => !newProductIds.includes(id)\n );\n\n // Remove associations for products that are no longer selected\n if (productsToRemove.length > 0) {\n await db\n .delete(productSlots)\n .where(\n and(\n eq(productSlots.slotId, slotId),\n inArray(productSlots.productId, productsToRemove)\n )\n );\n }\n\n // Add associations for newly selected products\n if (productsToAdd.length > 0) {\n const newAssociations = productsToAdd.map((productId) => ({\n productId,\n slotId,\n }));\n\n await db.insert(productSlots).values(newAssociations);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: \"Slot products updated successfully\",\n added: productsToAdd.length,\n removed: productsToRemove.length,\n };\n */\n\n scheduleStoreInitialization()\n\n return {\n message: result.message,\n added: result.added,\n removed: result.removed,\n }\n }),\n\n createSlot: protectedProcedure\n .input(createSlotSchema)\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { deliveryTime, freezeTime, isActive, productIds, vendorSnippets: snippets, groupIds } = input;\n\n // Validate required fields\n if (!deliveryTime || !freezeTime) {\n throw new ApiError(\"Delivery time and orders close time are required\", 400);\n }\n\n const result = await createSlotWithRelationsInDb({\n deliveryTime,\n freezeTime,\n isActive,\n productIds,\n vendorSnippets: snippets,\n groupIds,\n })\n\n /*\n // Old implementation - direct DB queries:\n const result = await db.transaction(async (tx) => {\n // Create slot\n const [newSlot] = await tx\n .insert(deliverySlotInfo)\n .values({\n deliveryTime: new Date(deliveryTime),\n freezeTime: new Date(freezeTime),\n isActive: isActive !== undefined ? isActive : true,\n groupIds: groupIds !== undefined ? groupIds : [],\n })\n .returning();\n\n // Insert product associations if provided\n if (productIds && productIds.length > 0) {\n const associations = productIds.map((productId) => ({\n productId,\n slotId: newSlot.id,\n }));\n await tx.insert(productSlots).values(associations);\n }\n\n // Create vendor snippets if provided\n let createdSnippets: any[] = [];\n if (snippets && snippets.length > 0) {\n for (const snippet of snippets) {\n // Validate products exist\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n });\n if (products.length !== snippet.productIds.length) {\n throw new ApiError(`One or more invalid product IDs in snippet \"${snippet.name}\"`, 400);\n }\n\n // Check if snippet name already exists\n const existingSnippet = await tx.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippet.name),\n });\n if (existingSnippet) {\n throw new ApiError(`Snippet name \"${snippet.name}\" already exists`, 400);\n }\n\n const [createdSnippet] = await tx.insert(vendorSnippets).values({\n snippetCode: snippet.name,\n slotId: newSlot.id,\n productIds: snippet.productIds,\n validTill: snippet.validTill ? new Date(snippet.validTill) : undefined,\n }).returning();\n\n createdSnippets.push(createdSnippet);\n }\n }\n\n return {\n slot: newSlot,\n createdSnippets,\n message: \"Slot created successfully\",\n };\n });\n */\n\n // Reinitialize stores to reflect changes (outside transaction)\n scheduleStoreInitialization()\n\n return result\n }),\n\n getSlots: protectedProcedure.query(async ({ ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const slots = await getActiveSlotsInDb()\n\n /*\n // Old implementation - direct DB queries:\n const slots = await db.query.deliverySlotInfo.findMany({\n where: eq(deliverySlotInfo.isActive, true),\n });\n */\n\n return {\n slots,\n count: slots.length,\n }\n }),\n\n getSlotById: protectedProcedure\n .input(getSlotByIdSchema)\n .query(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { id } = input;\n\n const slot = await getSlotByIdWithRelationsInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, id),\n with: {\n productSlots: {\n with: {\n product: {\n columns: {\n id: true,\n name: true,\n images: true,\n },\n },\n },\n },\n vendorSnippets: true,\n },\n });\n */\n\n if (!slot) {\n throw new ApiError('Slot not found', 404)\n }\n\n return {\n slot: {\n ...slot,\n vendorSnippets: slot.vendorSnippets.map(snippet => ({\n ...snippet,\n accessUrl: `${getAppUrl()}/vendor-order-list?id=${snippet.snippetCode}`,\n })),\n },\n }\n }),\n\n updateSlot: protectedProcedure\n .input(updateSlotSchema)\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n try{\n const { id, deliveryTime, freezeTime, isActive, productIds, vendorSnippets: snippets, groupIds } = input;\n\n if (!deliveryTime || !freezeTime) {\n throw new ApiError(\"Delivery time and orders close time are required\", 400);\n }\n\n const result = await updateSlotWithRelationsInDb({\n id,\n deliveryTime,\n freezeTime,\n isActive,\n productIds,\n vendorSnippets: snippets,\n groupIds,\n })\n\n /*\n // Old implementation - direct DB queries:\n // Filter groupIds to only include valid (existing) groups\n let validGroupIds = groupIds;\n if (groupIds && groupIds.length > 0) {\n const existingGroups = await db.query.productGroupInfo.findMany({\n where: inArray(productGroupInfo.id, groupIds),\n columns: { id: true },\n });\n validGroupIds = existingGroups.map(g => g.id);\n }\n\n const result = await db.transaction(async (tx) => {\n const [updatedSlot] = await tx\n .update(deliverySlotInfo)\n .set({\n deliveryTime: new Date(deliveryTime),\n freezeTime: new Date(freezeTime),\n isActive: isActive !== undefined ? isActive : true,\n groupIds: validGroupIds !== undefined ? validGroupIds : [],\n })\n .where(eq(deliverySlotInfo.id, id))\n .returning();\n\n if (!updatedSlot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n\n // Update product associations\n if (productIds !== undefined) {\n // Delete existing associations\n await tx.delete(productSlots).where(eq(productSlots.slotId, id));\n\n // Insert new associations\n if (productIds.length > 0) {\n const associations = productIds.map((productId) => ({\n productId,\n slotId: id,\n }));\n await tx.insert(productSlots).values(associations);\n }\n }\n\n // Create vendor snippets if provided\n let createdSnippets: any[] = [];\n if (snippets && snippets.length > 0) {\n for (const snippet of snippets) {\n // Validate products exist\n const products = await tx.query.productInfo.findMany({\n where: inArray(productInfo.id, snippet.productIds),\n });\n if (products.length !== snippet.productIds.length) {\n throw new ApiError(`One or more invalid product IDs in snippet \"${snippet.name}\"`, 400);\n }\n\n // Check if snippet name already exists\n const existingSnippet = await tx.query.vendorSnippets.findFirst({\n where: eq(vendorSnippets.snippetCode, snippet.name),\n });\n if (existingSnippet) {\n throw new ApiError(`Snippet name \"${snippet.name}\" already exists`, 400);\n }\n \n const [createdSnippet] = await tx.insert(vendorSnippets).values({\n snippetCode: snippet.name,\n slotId: id,\n productIds: snippet.productIds,\n validTill: snippet.validTill ? new Date(snippet.validTill) : undefined,\n\n }).returning();\n\n createdSnippets.push(createdSnippet);\n }\n }\n\n return {\n slot: updatedSlot,\n createdSnippets,\n message: \"Slot updated successfully\",\n };\n });\n */\n\n if (!result) {\n throw new ApiError('Slot not found', 404)\n }\n\n // Reinitialize stores to reflect changes (outside transaction)\n scheduleStoreInitialization()\n\n return result\n }\n catch(e) {\n console.log(e)\n throw new ApiError(\"Unable to Update Slot\");\n }\n }),\n\n deleteSlot: protectedProcedure\n .input(deleteSlotSchema)\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { id } = input;\n\n const deletedSlot = await deleteSlotByIdInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const [deletedSlot] = await db\n .update(deliverySlotInfo)\n .set({ isActive: false })\n .where(eq(deliverySlotInfo.id, id))\n .returning();\n\n if (!deletedSlot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n */\n\n if (!deletedSlot) {\n throw new ApiError('Slot not found', 404)\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: 'Slot deleted successfully',\n }\n }),\n\n getDeliverySequence: protectedProcedure\n .input(getDeliverySequenceSchema)\n .query(async ({ input, ctx }): Promise => {\n\n const { id } = input;\n const slotId = parseInt(id);\n // const cacheKey = getSlotSequenceKey(slotId);\n\n // try {\n // const cached = await redisClient.get(cacheKey);\n // if (cached) {\n // const parsed = JSON.parse(cached);\n // const validated = cachedSequenceSchema.parse(parsed);\n // console.log('sending cached response')\n // \n // return { deliverySequence: validated };\n // }\n // } catch (error) {\n // console.warn('Redis cache read/validation failed, falling back to DB:', error);\n // // Continue to DB fallback\n // }\n\n // Fallback to DB\n const slot = await getSlotDeliverySequenceInDb(slotId)\n\n /*\n // Old implementation - direct DB queries:\n const slot = await db.query.deliverySlotInfo.findFirst({\n where: eq(deliverySlotInfo.id, slotId),\n });\n\n if (!slot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n\n const sequence = cachedSequenceSchema.parse(slot.deliverySequence || {});\n */\n\n if (!slot) {\n throw new ApiError('Slot not found', 404)\n }\n\n const sequence = (slot.deliverySequence || {}) as CachedDeliverySequence;\n\n // Cache the validated result\n // try {\n // const validated = cachedSequenceSchema.parse(sequence);\n // await redisClient.set(cacheKey, JSON.stringify(validated), 3600);\n // } catch (cacheError) {\n // console.warn('Redis cache write failed:', cacheError);\n // }\n\n return { deliverySequence: sequence }\n }),\n\n updateDeliverySequence: protectedProcedure\n .input(updateDeliverySequenceSchema)\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { id, deliverySequence } = input;\n\n const updatedSlot = await updateSlotDeliverySequenceInDb(id, deliverySequence)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedSlot] = await db\n .update(deliverySlotInfo)\n .set({ deliverySequence })\n .where(eq(deliverySlotInfo.id, id))\n .returning({\n id: deliverySlotInfo.id,\n deliverySequence: deliverySlotInfo.deliverySequence,\n });\n\n if (!updatedSlot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n */\n\n if (!updatedSlot) {\n throw new ApiError('Slot not found', 404)\n }\n\n // Cache the updated sequence\n // const cacheKey = getSlotSequenceKey(id);\n // try {\n // const validated = cachedSequenceSchema.parse(deliverySequence);\n // await redisClient.set(cacheKey, JSON.stringify(validated), 3600);\n // } catch (cacheError) {\n // console.warn('Redis cache write failed:', cacheError);\n // }\n\n return {\n slot: updatedSlot,\n message: 'Delivery sequence updated successfully',\n }\n }),\n\n updateSlotCapacity: protectedProcedure\n .input(z.object({\n slotId: z.number(),\n isCapacityFull: z.boolean(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n if (!ctx.staffUser?.id) {\n throw new TRPCError({ code: \"UNAUTHORIZED\", message: \"Access denied\" });\n }\n\n const { slotId, isCapacityFull } = input;\n\n const result = await updateSlotCapacityInDb(slotId, isCapacityFull)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedSlot] = await db\n .update(deliverySlotInfo)\n .set({ isCapacityFull })\n .where(eq(deliverySlotInfo.id, slotId))\n .returning();\n\n if (!updatedSlot) {\n throw new ApiError(\"Slot not found\", 404);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n success: true,\n slot: updatedSlot,\n message: `Slot ${isCapacityFull ? 'marked as full capacity' : 'capacity reset'}`,\n };\n */\n\n if (!result) {\n throw new ApiError('Slot not found', 404)\n }\n\n scheduleStoreInitialization()\n\n return result\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport { generateSignedUrlsFromS3Urls, scaffoldAssetUrl, claimUploadUrl, extractKeyFromPresignedUrl, deleteImageUtil } from '@/src/lib/s3-client'\nimport { scheduleStoreInitialization } from '@/src/stores/store-initializer'\nimport {\n getAllProducts as getAllProductsInDb,\n getProductById as getProductByIdInDb,\n deleteProduct as deleteProductInDb,\n toggleProductOutOfStock as toggleProductOutOfStockInDb,\n updateSlotProducts as updateSlotProductsInDb,\n getSlotProductIds as getSlotProductIdsInDb,\n getSlotsProductIds as getSlotsProductIdsInDb,\n getProductReviews as getProductReviewsInDb,\n respondToReview as respondToReviewInDb,\n getAllProductGroups as getAllProductGroupsInDb,\n createProductGroup as createProductGroupInDb,\n updateProductGroup as updateProductGroupInDb,\n deleteProductGroup as deleteProductGroupInDb,\n updateProductPrices as updateProductPricesInDb,\n checkProductExistsByName,\n checkUnitExists,\n createProduct as createProductInDb,\n createSpecialDealsForProduct,\n replaceProductTags,\n getProductImagesById,\n updateProduct as updateProductInDb,\n updateProductDeals,\n checkProductTagExistsByName,\n createProductTag as createProductTagInDb,\n updateProductTag as updateProductTagInDb,\n deleteProductTag as deleteProductTagInDb,\n getAllProductTagInfos as getAllProductTagInfosInDb,\n getProductTagInfoById as getProductTagInfoByIdInDb,\n} from '@/src/dbService'\nimport type {\n AdminProduct,\n AdminSpecialDeal,\n AdminProductGroupsResult,\n AdminProductGroupResponse,\n AdminProductReviewsResult,\n AdminProductReviewResponse,\n AdminProductListResponse,\n AdminProductResponse,\n AdminDeleteProductResult,\n AdminToggleOutOfStockResult,\n AdminUpdateSlotProductsResult,\n AdminSlotProductIdsResult,\n AdminSlotsProductIdsResult,\n AdminUpdateProductPricesResult,\n} from '@packages/shared'\n\n\nexport const productRouter = router({\n getProducts: protectedProcedure\n .query(async (): Promise => {\n const products = await getAllProductsInDb()\n\n /*\n // Old implementation - direct DB query:\n const products = await db.query.productInfo.findMany({\n orderBy: productInfo.name,\n with: {\n unit: true,\n store: true,\n },\n });\n */\n\n const productsWithSignedUrls = await Promise.all(\n products.map(async (product) => ({\n ...product,\n images: await generateSignedUrlsFromS3Urls((product.images as string[]) || []),\n }))\n )\n\n return {\n products: productsWithSignedUrls,\n count: productsWithSignedUrls.length,\n }\n }),\n\n getProductById: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .query(async ({ input }): Promise => {\n const { id } = input;\n\n const product = await getProductByIdInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, id),\n with: {\n unit: true,\n },\n });\n\n if (!product) {\n throw new ApiError(\"Product not found\", 404);\n }\n\n // Fetch special deals for this product\n const deals = await db.query.specialDeals.findMany({\n where: eq(specialDeals.productId, id),\n orderBy: specialDeals.quantity,\n });\n\n // Fetch associated tags for this product\n const productTagsData = await db.query.productTags.findMany({\n where: eq(productTags.productId, id),\n with: {\n tag: true,\n },\n });\n\n // Generate signed URLs for product images\n const productWithSignedUrls = {\n ...product,\n images: await generateSignedUrlsFromS3Urls((product.images as string[]) || []),\n deals,\n tags: productTagsData.map(pt => pt.tag),\n };\n\n return {\n product: productWithSignedUrls,\n };\n */\n\n if (!product) {\n throw new ApiError('Product not found', 404)\n }\n\n const productWithSignedUrls = {\n ...product,\n images: await generateSignedUrlsFromS3Urls((product.images as string[]) || []),\n }\n\n return {\n product: productWithSignedUrls,\n }\n }),\n\n deleteProduct: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .mutation(async ({ input }): Promise => {\n const { id } = input;\n\n const deletedProduct = await deleteProductInDb(id)\n\n /*\n // Old implementation - direct DB query:\n const [deletedProduct] = await db\n .delete(productInfo)\n .where(eq(productInfo.id, id))\n .returning();\n\n if (!deletedProduct) {\n throw new ApiError(\"Product not found\", 404);\n }\n */\n\n if (!deletedProduct) {\n throw new ApiError('Product not found', 404)\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: 'Product deleted successfully',\n }\n }),\n\n toggleOutOfStock: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .mutation(async ({ input }): Promise => {\n const { id } = input;\n\n const updatedProduct = await toggleProductOutOfStockInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, id),\n });\n\n if (!product) {\n throw new ApiError(\"Product not found\", 404);\n }\n\n const [updatedProduct] = await db\n .update(productInfo)\n .set({\n isOutOfStock: !product.isOutOfStock,\n })\n .where(eq(productInfo.id, id))\n .returning();\n */\n\n if (!updatedProduct) {\n throw new ApiError('Product not found', 404)\n }\n\n scheduleStoreInitialization()\n\n return {\n product: updatedProduct,\n message: `Product marked as ${updatedProduct.isOutOfStock ? 'out of stock' : 'in stock'}`,\n }\n }),\n\n createProduct: protectedProcedure\n .input(z.object({\n name: z.string().min(1, 'Name is required'),\n shortDescription: z.string().optional(),\n longDescription: z.string().optional(),\n unitId: z.number().min(1, 'Unit is required'),\n storeId: z.number().min(1, 'Store is required'),\n price: z.number().positive('Price must be positive'),\n marketPrice: z.number().optional(),\n incrementStep: z.number().optional().default(1),\n productQuantity: z.number().optional().default(1),\n isSuspended: z.boolean().optional().default(false),\n isFlashAvailable: z.boolean().optional().default(false),\n flashPrice: z.number().optional(),\n uploadUrls: z.array(z.string()).optional().default([]),\n deals: z.array(z.object({\n quantity: z.number(),\n price: z.number(),\n validTill: z.string(),\n })).optional(),\n tagIds: z.array(z.number()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise<{ product: AdminProduct; deals: AdminSpecialDeal[]; message: string }> => {\n const { name, shortDescription, longDescription, unitId, storeId, price, marketPrice, incrementStep, productQuantity, isSuspended, isFlashAvailable, flashPrice, uploadUrls, deals, tagIds } = input\n\n const existingProduct = await checkProductExistsByName(name.trim())\n if (existingProduct) {\n throw new ApiError('A product with this name already exists', 400)\n }\n\n const unitExists = await checkUnitExists(unitId)\n if (!unitExists) {\n throw new ApiError('Invalid unit ID', 400)\n }\n\n const imageKeys = uploadUrls.map(url => extractKeyFromPresignedUrl(url))\n\n const newProduct = await createProductInDb({\n name,\n shortDescription,\n longDescription,\n unitId,\n storeId,\n price: price.toString(),\n marketPrice: marketPrice?.toString(),\n incrementStep,\n productQuantity,\n isSuspended,\n isFlashAvailable,\n flashPrice: flashPrice?.toString(),\n images: imageKeys,\n })\n\n let createdDeals: AdminSpecialDeal[] = []\n if (deals && deals.length > 0) {\n createdDeals = await createSpecialDealsForProduct(newProduct.id, deals)\n }\n\n if (tagIds.length > 0) {\n await replaceProductTags(newProduct.id, tagIds)\n }\n\n if (uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)))\n }\n\n scheduleStoreInitialization()\n\n return {\n product: newProduct,\n deals: createdDeals,\n message: 'Product created successfully',\n }\n }),\n\n updateProduct: protectedProcedure\n .input(z.object({\n id: z.number(),\n name: z.string().min(1, 'Name is required'),\n shortDescription: z.string().optional(),\n longDescription: z.string().optional(),\n unitId: z.number().min(1, 'Unit is required'),\n storeId: z.number().min(1, 'Store is required'),\n price: z.number().positive('Price must be positive'),\n marketPrice: z.number().optional(),\n incrementStep: z.number().optional().default(1),\n productQuantity: z.number().optional().default(1),\n isSuspended: z.boolean().optional().default(false),\n isFlashAvailable: z.boolean().optional().default(false),\n flashPrice: z.number().nullable().optional(),\n uploadUrls: z.array(z.string()).optional().default([]),\n imagesToDelete: z.array(z.string()).optional().default([]),\n deals: z.array(z.object({\n quantity: z.number(),\n price: z.number(),\n validTill: z.string(),\n })).optional(),\n tagIds: z.array(z.number()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise<{ product: AdminProduct; message: string }> => {\n const { id, name, shortDescription, longDescription, unitId, storeId, price, marketPrice, incrementStep, productQuantity, isSuspended, isFlashAvailable, flashPrice, uploadUrls, imagesToDelete, deals, tagIds } = input\n\n const unitExists = await checkUnitExists(unitId)\n if (!unitExists) {\n throw new ApiError('Invalid unit ID', 400)\n }\n\n const currentImages = await getProductImagesById(id)\n if (!currentImages) {\n throw new ApiError('Product not found', 404)\n }\n\n let updatedImages = currentImages || []\n if (imagesToDelete.length > 0) {\n const imagesToRemove = updatedImages.filter(img => imagesToDelete.includes(img))\n await deleteImageUtil({ keys: imagesToRemove })\n updatedImages = updatedImages.filter(img => !imagesToRemove.includes(img))\n }\n\n const newImageKeys = uploadUrls.map(url => extractKeyFromPresignedUrl(url))\n const finalImages = [...updatedImages, ...newImageKeys]\n\n const updatedProduct = await updateProductInDb(id, {\n name,\n shortDescription,\n longDescription,\n unitId,\n storeId,\n price: price.toString(),\n marketPrice: marketPrice?.toString(),\n incrementStep,\n productQuantity,\n isSuspended,\n isFlashAvailable,\n flashPrice: flashPrice?.toString() ?? null,\n images: finalImages,\n })\n\n if (!updatedProduct) {\n throw new ApiError('Product not found', 404)\n }\n\n if (deals && deals.length > 0) {\n await updateProductDeals(id, deals)\n }\n\n if (tagIds.length > 0) {\n await replaceProductTags(id, tagIds)\n }\n\n if (uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)))\n }\n\n scheduleStoreInitialization()\n\n return {\n product: updatedProduct,\n message: 'Product updated successfully',\n }\n }),\n\n updateSlotProducts: protectedProcedure\n .input(z.object({\n slotId: z.string(),\n productIds: z.array(z.string()),\n }))\n .mutation(async ({ input }): Promise => {\n const { slotId, productIds } = input;\n\n if (!Array.isArray(productIds)) {\n throw new ApiError(\"productIds must be an array\", 400);\n }\n\n const result = await updateSlotProductsInDb(slotId, productIds)\n\n /*\n // Old implementation - direct DB queries:\n // Get current associations\n const currentAssociations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, parseInt(slotId)),\n columns: {\n productId: true,\n },\n });\n\n const currentProductIds = currentAssociations.map(assoc => assoc.productId);\n const newProductIds = productIds.map((id: string) => parseInt(id));\n\n // Find products to add and remove\n const productsToAdd = newProductIds.filter(id => !currentProductIds.includes(id));\n const productsToRemove = currentProductIds.filter(id => !newProductIds.includes(id));\n\n // Remove associations for products that are no longer selected\n if (productsToRemove.length > 0) {\n await db.delete(productSlots).where(\n and(\n eq(productSlots.slotId, parseInt(slotId)),\n inArray(productSlots.productId, productsToRemove)\n )\n );\n }\n\n // Add associations for newly selected products\n if (productsToAdd.length > 0) {\n const newAssociations = productsToAdd.map(productId => ({\n productId,\n slotId: parseInt(slotId),\n }));\n\n await db.insert(productSlots).values(newAssociations);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: \"Slot products updated successfully\",\n added: productsToAdd.length,\n removed: productsToRemove.length,\n };\n */\n\n scheduleStoreInitialization()\n\n return {\n message: 'Slot products updated successfully',\n added: result.added,\n removed: result.removed,\n }\n }),\n\n getSlotProductIds: protectedProcedure\n .input(z.object({\n slotId: z.string(),\n }))\n .query(async ({ input }): Promise => {\n const { slotId } = input;\n\n const productIds = await getSlotProductIdsInDb(slotId)\n\n /*\n // Old implementation - direct DB queries:\n const associations = await db.query.productSlots.findMany({\n where: eq(productSlots.slotId, parseInt(slotId)),\n columns: {\n productId: true,\n },\n });\n\n const productIds = associations.map(assoc => assoc.productId);\n\n return {\n productIds,\n };\n */\n\n return {\n productIds,\n }\n }),\n\n getSlotsProductIds: protectedProcedure\n .input(z.object({\n slotIds: z.array(z.number()),\n }))\n .query(async ({ input }): Promise => {\n const { slotIds } = input;\n\n if (!Array.isArray(slotIds)) {\n throw new ApiError(\"slotIds must be an array\", 400);\n }\n\n const result = await getSlotsProductIdsInDb(slotIds)\n\n /*\n // Old implementation - direct DB queries:\n if (slotIds.length === 0) {\n return {};\n }\n\n // Fetch all associations for the requested slots\n const associations = await db.query.productSlots.findMany({\n where: inArray(productSlots.slotId, slotIds),\n columns: {\n slotId: true,\n productId: true,\n },\n });\n\n // Group by slotId\n const result = associations.reduce((acc, assoc) => {\n if (!acc[assoc.slotId]) {\n acc[assoc.slotId] = [];\n }\n acc[assoc.slotId].push(assoc.productId);\n return acc;\n }, {} as Record);\n\n // Ensure all requested slots have entries (even if empty)\n slotIds.forEach(slotId => {\n if (!result[slotId]) {\n result[slotId] = [];\n }\n });\n\n return result;\n */\n\n return result\n }),\n\n getProductReviews: protectedProcedure\n .input(z.object({\n productId: z.number().int().positive(),\n limit: z.number().int().min(1).max(50).optional().default(10),\n offset: z.number().int().min(0).optional().default(0),\n }))\n .query(async ({ input }): Promise => {\n const { productId, limit, offset } = input;\n\n const { reviews, totalCount } = await getProductReviewsInDb(productId, limit, offset)\n\n /*\n // Old implementation - direct DB queries:\n const reviews = await db\n .select({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n adminResponse: productReviews.adminResponse,\n adminResponseImages: productReviews.adminResponseImages,\n userName: users.name,\n })\n .from(productReviews)\n .innerJoin(users, eq(productReviews.userId, users.id))\n .where(eq(productReviews.productId, productId))\n .orderBy(desc(productReviews.reviewTime))\n .limit(limit)\n .offset(offset);\n\n // Generate signed URLs for images\n const reviewsWithSignedUrls = await Promise.all(\n reviews.map(async (review) => ({\n ...review,\n signedImageUrls: await generateSignedUrlsFromS3Urls((review.imageUrls as string[]) || []),\n signedAdminImageUrls: await generateSignedUrlsFromS3Urls((review.adminResponseImages as string[]) || []),\n }))\n );\n\n // Check if more reviews exist\n const totalCountResult = await db\n .select({ count: sql`count(*)` })\n .from(productReviews)\n .where(eq(productReviews.productId, productId));\n\n const totalCount = Number(totalCountResult[0].count);\n const hasMore = offset + limit < totalCount;\n\n return { reviews: reviewsWithSignedUrls, hasMore };\n */\n\n const reviewsWithSignedUrls = await Promise.all(\n reviews.map(async (review) => ({\n ...review,\n signedImageUrls: await generateSignedUrlsFromS3Urls((review.imageUrls as string[]) || []),\n signedAdminImageUrls: await generateSignedUrlsFromS3Urls((review.adminResponseImages as string[]) || []),\n }))\n )\n\n const hasMore = offset + limit < totalCount\n\n return { reviews: reviewsWithSignedUrls, hasMore }\n }),\n\n respondToReview: protectedProcedure\n .input(z.object({\n reviewId: z.number().int().positive(),\n adminResponse: z.string().optional(),\n adminResponseImages: z.array(z.string()).optional().default([]),\n uploadUrls: z.array(z.string()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise => {\n const { reviewId, adminResponse, adminResponseImages, uploadUrls } = input;\n\n const updatedReview = await respondToReviewInDb(reviewId, adminResponse, adminResponseImages)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedReview] = await db\n .update(productReviews)\n .set({\n adminResponse,\n adminResponseImages,\n })\n .where(eq(productReviews.id, reviewId))\n .returning();\n\n if (!updatedReview) {\n throw new ApiError('Review not found', 404);\n }\n\n // Claim upload URLs\n if (uploadUrls && uploadUrls.length > 0) {\n // const { claimUploadUrl } = await import('@/src/lib/s3-client');\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)));\n }\n\n return { success: true, review: updatedReview };\n */\n\n if (!updatedReview) {\n throw new ApiError('Review not found', 404)\n }\n\n if (uploadUrls && uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)))\n }\n\n return { success: true, review: updatedReview }\n }),\n\n getGroups: protectedProcedure\n .query(async (): Promise => {\n const groups = await getAllProductGroupsInDb()\n\n /*\n // Old implementation - direct DB queries:\n const groups = await db.query.productGroupInfo.findMany({\n with: {\n memberships: {\n with: {\n product: true,\n },\n },\n },\n orderBy: desc(productGroupInfo.createdAt),\n });\n */\n\n return {\n groups: groups.map(group => ({\n ...group,\n products: group.memberships.map((m: any) => ({\n ...(m.product as AdminProduct),\n images: (m.product.images as string[]) || null,\n })),\n productCount: group.memberships.length,\n })),\n }\n }),\n\n createGroup: protectedProcedure\n .input(z.object({\n group_name: z.string().min(1),\n description: z.string().optional(),\n product_ids: z.array(z.number()).default([]),\n }))\n .mutation(async ({ input }): Promise => {\n const { group_name, description, product_ids } = input;\n\n const newGroup = await createProductGroupInDb(group_name, description, product_ids)\n\n /*\n // Old implementation - direct DB queries:\n const [newGroup] = await db\n .insert(productGroupInfo)\n .values({\n groupName: group_name,\n description,\n })\n .returning();\n\n if (product_ids.length > 0) {\n const memberships = product_ids.map(productId => ({\n productId,\n groupId: newGroup.id,\n }));\n\n await db.insert(productGroupMembership).values(memberships);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n group: newGroup,\n message: 'Group created successfully',\n };\n */\n\n scheduleStoreInitialization()\n\n return {\n group: newGroup,\n message: 'Group created successfully',\n }\n }),\n\n updateGroup: protectedProcedure\n .input(z.object({\n id: z.number(),\n group_name: z.string().optional(),\n description: z.string().optional(),\n product_ids: z.array(z.number()).optional(),\n }))\n .mutation(async ({ input }): Promise => {\n const { id, group_name, description, product_ids } = input;\n\n const updatedGroup = await updateProductGroupInDb(id, group_name, description, product_ids)\n\n /*\n // Old implementation - direct DB queries:\n const updateData: any = {};\n if (group_name !== undefined) updateData.groupName = group_name;\n if (description !== undefined) updateData.description = description;\n\n const [updatedGroup] = await db\n .update(productGroupInfo)\n .set(updateData)\n .where(eq(productGroupInfo.id, id))\n .returning();\n\n if (!updatedGroup) {\n throw new ApiError('Group not found', 404);\n }\n\n if (product_ids !== undefined) {\n // Delete existing memberships\n await db.delete(productGroupMembership).where(eq(productGroupMembership.groupId, id));\n\n // Insert new memberships\n if (product_ids.length > 0) {\n const memberships = product_ids.map(productId => ({\n productId,\n groupId: id,\n }));\n\n await db.insert(productGroupMembership).values(memberships);\n }\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n group: updatedGroup,\n message: 'Group updated successfully',\n };\n */\n\n if (!updatedGroup) {\n throw new ApiError('Group not found', 404)\n }\n\n scheduleStoreInitialization()\n\n return {\n group: updatedGroup,\n message: 'Group updated successfully',\n }\n }),\n\n deleteGroup: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .mutation(async ({ input }): Promise => {\n const { id } = input;\n\n const deletedGroup = await deleteProductGroupInDb(id)\n\n /*\n // Old implementation - direct DB queries:\n // Delete memberships first\n await db.delete(productGroupMembership).where(eq(productGroupMembership.groupId, id));\n\n // Delete group\n const [deletedGroup] = await db\n .delete(productGroupInfo)\n .where(eq(productGroupInfo.id, id))\n .returning();\n\n if (!deletedGroup) {\n throw new ApiError('Group not found', 404);\n }\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: 'Group deleted successfully',\n };\n */\n\n if (!deletedGroup) {\n throw new ApiError('Group not found', 404)\n }\n\n scheduleStoreInitialization()\n\n return {\n message: 'Group deleted successfully',\n }\n }),\n\n updateProductPrices: protectedProcedure\n .input(z.object({\n updates: z.array(z.object({\n productId: z.number(),\n price: z.number().optional(),\n marketPrice: z.number().nullable().optional(),\n flashPrice: z.number().nullable().optional(),\n isFlashAvailable: z.boolean().optional(),\n })),\n }))\n .mutation(async ({ input }): Promise => {\n const { updates } = input;\n\n if (updates.length === 0) {\n throw new ApiError('No updates provided', 400)\n }\n\n const result = await updateProductPricesInDb(updates)\n\n /*\n // Old implementation - direct DB queries:\n if (updates.length === 0) {\n throw new ApiError('No updates provided', 400);\n }\n\n // Validate that all productIds exist\n const productIds = updates.map(u => u.productId);\n const existingProducts = await db.query.productInfo.findMany({\n where: inArray(productInfo.id, productIds),\n columns: { id: true },\n });\n\n const existingIds = new Set(existingProducts.map(p => p.id));\n const invalidIds = productIds.filter(id => !existingIds.has(id));\n\n if (invalidIds.length > 0) {\n throw new ApiError(`Invalid product IDs: ${invalidIds.join(', ')}`, 400);\n }\n\n // Perform batch update\n const updatePromises = updates.map(async (update) => {\n const { productId, price, marketPrice, flashPrice, isFlashAvailable } = update;\n const updateData: any = {};\n if (price !== undefined) updateData.price = price;\n if (marketPrice !== undefined) updateData.marketPrice = marketPrice;\n if (flashPrice !== undefined) updateData.flashPrice = flashPrice;\n if (isFlashAvailable !== undefined) updateData.isFlashAvailable = isFlashAvailable;\n\n return db\n .update(productInfo)\n .set(updateData)\n .where(eq(productInfo.id, productId));\n });\n\n await Promise.all(updatePromises);\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n message: `Updated prices for ${updates.length} product(s)`,\n updatedCount: updates.length,\n };\n */\n\n if (result.invalidIds.length > 0) {\n throw new ApiError(`Invalid product IDs: ${result.invalidIds.join(', ')}`, 400)\n }\n\n scheduleStoreInitialization()\n\n return {\n message: `Updated prices for ${result.updatedCount} product(s)`,\n updatedCount: result.updatedCount,\n }\n }),\n\n getProductTags: protectedProcedure\n .query(async (): Promise<{ tags: Array<{ id: number; tagName: string; tagDescription: string | null; imageUrl: string | null; isDashboardTag: boolean; relatedStores: unknown; createdAt: Date }>; message: string }> => {\n const tags = await getAllProductTagInfosInDb()\n\n const tagsWithSignedUrls = await Promise.all(\n tags.map(async (tag) => ({\n ...tag,\n imageUrl: tag.imageUrl ? scaffoldAssetUrl(tag.imageUrl) : null,\n }))\n )\n\n return {\n tags: tagsWithSignedUrls,\n message: 'Tags retrieved successfully',\n }\n }),\n\n getProductTagById: protectedProcedure\n .input(z.object({ id: z.number() }))\n .query(async ({ input }): Promise<{ tag: { id: number; tagName: string; tagDescription: string | null; imageUrl: string | null; isDashboardTag: boolean; relatedStores: unknown; createdAt: Date }; message: string }> => {\n const tag = await getProductTagInfoByIdInDb(input.id)\n\n if (!tag) {\n throw new ApiError('Tag not found', 404)\n }\n\n const tagWithSignedUrl = {\n ...tag,\n imageUrl: tag.imageUrl ? scaffoldAssetUrl(tag.imageUrl) : null,\n }\n\n return {\n tag: tagWithSignedUrl,\n message: 'Tag retrieved successfully',\n }\n }),\n\n createProductTag: protectedProcedure\n .input(z.object({\n tagName: z.string().min(1, 'Tag name is required'),\n tagDescription: z.string().optional(),\n imageUrl: z.string().optional().nullable(),\n isDashboardTag: z.boolean().optional().default(false),\n relatedStores: z.array(z.number()).optional().default([]),\n uploadUrls: z.array(z.string()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise<{ tag: { id: number; tagName: string; tagDescription: string | null; imageUrl: string | null; isDashboardTag: boolean; relatedStores: unknown; createdAt: Date }; message: string }> => {\n const { tagName, tagDescription, imageUrl, isDashboardTag, relatedStores, uploadUrls } = input\n\n const existingTag = await checkProductTagExistsByName(tagName.trim())\n if (existingTag) {\n throw new ApiError('A tag with this name already exists', 400)\n }\n\n const createdTag = await createProductTagInDb({\n tagName: tagName.trim(),\n tagDescription,\n imageUrl: imageUrl ?? null,\n isDashboardTag,\n relatedStores,\n })\n\n if (uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map((url) => claimUploadUrl(url)))\n }\n\n scheduleStoreInitialization()\n\n const { products, ...createdTagInfo } = createdTag\n\n return {\n tag: {\n ...createdTagInfo,\n imageUrl: createdTagInfo.imageUrl ? scaffoldAssetUrl(createdTagInfo.imageUrl) : null,\n },\n message: 'Tag created successfully',\n }\n }),\n\n updateProductTag: protectedProcedure\n .input(z.object({\n id: z.number(),\n tagName: z.string().min(1).optional(),\n tagDescription: z.string().optional().nullable(),\n imageUrl: z.string().optional().nullable(),\n isDashboardTag: z.boolean().optional(),\n relatedStores: z.array(z.number()).optional(),\n uploadUrls: z.array(z.string()).optional().default([]),\n }))\n .mutation(async ({ input }): Promise<{ tag: { id: number; tagName: string; tagDescription: string | null; imageUrl: string | null; isDashboardTag: boolean; relatedStores: unknown; createdAt: Date }; message: string }> => {\n const { id, tagName, tagDescription, imageUrl, isDashboardTag, relatedStores, uploadUrls } = input\n\n const currentTag = await getProductTagInfoByIdInDb(id)\n\n if (!currentTag) {\n throw new ApiError('Tag not found', 404)\n }\n\n if (imageUrl !== undefined && imageUrl !== currentTag.imageUrl) {\n if (currentTag.imageUrl) {\n await deleteImageUtil({ keys: [currentTag.imageUrl] })\n }\n }\n\n const updatedTag = await updateProductTagInDb(id, {\n tagName: tagName?.trim(),\n tagDescription: tagDescription ?? undefined,\n imageUrl: imageUrl ?? undefined,\n isDashboardTag,\n relatedStores,\n })\n\n if (uploadUrls.length > 0) {\n await Promise.all(uploadUrls.map((url) => claimUploadUrl(url)))\n }\n\n scheduleStoreInitialization()\n\n const { products, ...updatedTagInfo } = updatedTag\n\n return {\n tag: {\n ...updatedTagInfo,\n imageUrl: updatedTagInfo.imageUrl ? scaffoldAssetUrl(updatedTagInfo.imageUrl) : null,\n },\n message: 'Tag updated successfully',\n }\n }),\n\n deleteProductTag: protectedProcedure\n .input(z.object({ id: z.number() }))\n .mutation(async ({ input }): Promise<{ message: string }> => {\n const tag = await getProductTagInfoByIdInDb(input.id)\n\n if (!tag) {\n throw new ApiError('Tag not found', 404)\n }\n\n if (tag.imageUrl) {\n await deleteImageUtil({ keys: [tag.imageUrl] })\n }\n\n await deleteProductTagInDb(input.id)\n\n scheduleStoreInitialization()\n\n return { message: 'Tag deleted successfully' }\n }),\n });\n", "export const subtle = globalThis.crypto?.subtle;\nexport const randomUUID = () => {\n\treturn globalThis.crypto?.randomUUID();\n};\nexport const getRandomValues = (array) => {\n\treturn globalThis.crypto?.getRandomValues(array);\n};\n", "import { notImplemented, notImplementedClass } from \"../../../_internal/utils.mjs\";\nimport { getRandomValues } from \"./web.mjs\";\nconst MAX_RANDOM_VALUE_BYTES = 65536;\nexport const webcrypto = new Proxy(globalThis.crypto, { get(_, key) {\n\tif (key === \"CryptoKey\") {\n\t\treturn globalThis.CryptoKey;\n\t}\n\tif (typeof globalThis.crypto[key] === \"function\") {\n\t\treturn globalThis.crypto[key].bind(globalThis.crypto);\n\t}\n\treturn globalThis.crypto[key];\n} });\nexport const randomBytes = (size, cb) => {\n\tconst bytes = Buffer.alloc(size, 0, undefined);\n\tfor (let generated = 0; generated < size; generated += MAX_RANDOM_VALUE_BYTES) {\n\t\tgetRandomValues(\n\t\t\t// Use subarray to get a view of the buffer\n\t\t\tUint8Array.prototype.subarray.call(bytes, generated, generated + MAX_RANDOM_VALUE_BYTES)\n);\n\t}\n\tif (typeof cb === \"function\") {\n\t\tcb(null, bytes);\n\t\treturn undefined;\n\t}\n\treturn bytes;\n};\nexport const rng = randomBytes;\nexport const prng = randomBytes;\nexport const fips = false;\nexport const checkPrime = /*@__PURE__*/ notImplemented(\"crypto.checkPrime\");\nexport const checkPrimeSync = /*@__PURE__*/ notImplemented(\"crypto.checkPrimeSync\");\n/** @deprecated */\nexport const createCipher = /*@__PURE__*/ notImplemented(\"crypto.createCipher\");\n/** @deprecated */\nexport const createDecipher = /*@__PURE__*/ notImplemented(\"crypto.createDecipher\");\nexport const pseudoRandomBytes = /*@__PURE__*/ notImplemented(\"crypto.pseudoRandomBytes\");\nexport const createCipheriv = /*@__PURE__*/ notImplemented(\"crypto.createCipheriv\");\nexport const createDecipheriv = /*@__PURE__*/ notImplemented(\"crypto.createDecipheriv\");\nexport const createDiffieHellman = /*@__PURE__*/ notImplemented(\"crypto.createDiffieHellman\");\nexport const createDiffieHellmanGroup = /*@__PURE__*/ notImplemented(\"crypto.createDiffieHellmanGroup\");\nexport const createECDH = /*@__PURE__*/ notImplemented(\"crypto.createECDH\");\nexport const createHash = /*@__PURE__*/ notImplemented(\"crypto.createHash\");\nexport const createHmac = /*@__PURE__*/ notImplemented(\"crypto.createHmac\");\nexport const createPrivateKey = /*@__PURE__*/ notImplemented(\"crypto.createPrivateKey\");\nexport const createPublicKey = /*@__PURE__*/ notImplemented(\"crypto.createPublicKey\");\nexport const createSecretKey = /*@__PURE__*/ notImplemented(\"crypto.createSecretKey\");\nexport const createSign = /*@__PURE__*/ notImplemented(\"crypto.createSign\");\nexport const createVerify = /*@__PURE__*/ notImplemented(\"crypto.createVerify\");\nexport const diffieHellman = /*@__PURE__*/ notImplemented(\"crypto.diffieHellman\");\nexport const generatePrime = /*@__PURE__*/ notImplemented(\"crypto.generatePrime\");\nexport const generatePrimeSync = /*@__PURE__*/ notImplemented(\"crypto.generatePrimeSync\");\nexport const getCiphers = /*@__PURE__*/ notImplemented(\"crypto.getCiphers\");\nexport const getCipherInfo = /*@__PURE__*/ notImplemented(\"crypto.getCipherInfo\");\nexport const getCurves = /*@__PURE__*/ notImplemented(\"crypto.getCurves\");\nexport const getDiffieHellman = /*@__PURE__*/ notImplemented(\"crypto.getDiffieHellman\");\nexport const getHashes = /*@__PURE__*/ notImplemented(\"crypto.getHashes\");\nexport const hkdf = /*@__PURE__*/ notImplemented(\"crypto.hkdf\");\nexport const hkdfSync = /*@__PURE__*/ notImplemented(\"crypto.hkdfSync\");\nexport const pbkdf2 = /*@__PURE__*/ notImplemented(\"crypto.pbkdf2\");\nexport const pbkdf2Sync = /*@__PURE__*/ notImplemented(\"crypto.pbkdf2Sync\");\nexport const generateKeyPair = /*@__PURE__*/ notImplemented(\"crypto.generateKeyPair\");\nexport const generateKeyPairSync = /*@__PURE__*/ notImplemented(\"crypto.generateKeyPairSync\");\nexport const generateKey = /*@__PURE__*/ notImplemented(\"crypto.generateKey\");\nexport const generateKeySync = /*@__PURE__*/ notImplemented(\"crypto.generateKeySync\");\nexport const privateDecrypt = /*@__PURE__*/ notImplemented(\"crypto.privateDecrypt\");\nexport const privateEncrypt = /*@__PURE__*/ notImplemented(\"crypto.privateEncrypt\");\nexport const publicDecrypt = /*@__PURE__*/ notImplemented(\"crypto.publicDecrypt\");\nexport const publicEncrypt = /*@__PURE__*/ notImplemented(\"crypto.publicEncrypt\");\nexport const randomFill = /*@__PURE__*/ notImplemented(\"crypto.randomFill\");\nexport const randomFillSync = /*@__PURE__*/ notImplemented(\"crypto.randomFillSync\");\nexport const randomInt = /*@__PURE__*/ notImplemented(\"crypto.randomInt\");\nexport const scrypt = /*@__PURE__*/ notImplemented(\"crypto.scrypt\");\nexport const scryptSync = /*@__PURE__*/ notImplemented(\"crypto.scryptSync\");\nexport const sign = /*@__PURE__*/ notImplemented(\"crypto.sign\");\nexport const setEngine = /*@__PURE__*/ notImplemented(\"crypto.setEngine\");\nexport const timingSafeEqual = /*@__PURE__*/ notImplemented(\"crypto.timingSafeEqual\");\nexport const getFips = /*@__PURE__*/ notImplemented(\"crypto.getFips\");\nexport const setFips = /*@__PURE__*/ notImplemented(\"crypto.setFips\");\nexport const verify = /*@__PURE__*/ notImplemented(\"crypto.verify\");\nexport const secureHeapUsed = /*@__PURE__*/ notImplemented(\"crypto.secureHeapUsed\");\nexport const hash = /*@__PURE__*/ notImplemented(\"crypto.hash\");\nexport const Certificate = /*@__PURE__*/ notImplementedClass(\"crypto.Certificate\");\nexport const Cipher = /*@__PURE__*/ notImplementedClass(\"crypto.Cipher\");\nexport const Cipheriv = /*@__PURE__*/ notImplementedClass(\n\t\"crypto.Cipheriv\"\n\t// @ts-expect-error not typed yet\n);\nexport const Decipher = /*@__PURE__*/ notImplementedClass(\"crypto.Decipher\");\nexport const Decipheriv = /*@__PURE__*/ notImplementedClass(\n\t\"crypto.Decipheriv\"\n\t// @ts-expect-error not typed yet\n);\nexport const DiffieHellman = /*@__PURE__*/ notImplementedClass(\"crypto.DiffieHellman\");\nexport const DiffieHellmanGroup = /*@__PURE__*/ notImplementedClass(\"crypto.DiffieHellmanGroup\");\nexport const ECDH = /*@__PURE__*/ notImplementedClass(\"crypto.ECDH\");\nexport const Hash = /*@__PURE__*/ notImplementedClass(\"crypto.Hash\");\nexport const Hmac = /*@__PURE__*/ notImplementedClass(\"crypto.Hmac\");\nexport const KeyObject = /*@__PURE__*/ notImplementedClass(\"crypto.KeyObject\");\nexport const Sign = /*@__PURE__*/ notImplementedClass(\"crypto.Sign\");\nexport const Verify = /*@__PURE__*/ notImplementedClass(\"crypto.Verify\");\nexport const X509Certificate = /*@__PURE__*/ notImplementedClass(\"crypto.X509Certificate\");\n", "export const SSL_OP_ALL = 2147485776;\nexport const SSL_OP_ALLOW_NO_DHE_KEX = 1024;\nexport const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION = 262144;\nexport const SSL_OP_CIPHER_SERVER_PREFERENCE = 4194304;\nexport const SSL_OP_CISCO_ANYCONNECT = 32768;\nexport const SSL_OP_COOKIE_EXCHANGE = 8192;\nexport const SSL_OP_CRYPTOPRO_TLSEXT_BUG = 2147483648;\nexport const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS = 2048;\nexport const SSL_OP_LEGACY_SERVER_CONNECT = 4;\nexport const SSL_OP_NO_COMPRESSION = 131072;\nexport const SSL_OP_NO_ENCRYPT_THEN_MAC = 524288;\nexport const SSL_OP_NO_QUERY_MTU = 4096;\nexport const SSL_OP_NO_RENEGOTIATION = 1073741824;\nexport const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION = 65536;\nexport const SSL_OP_NO_SSLv2 = 0;\nexport const SSL_OP_NO_SSLv3 = 33554432;\nexport const SSL_OP_NO_TICKET = 16384;\nexport const SSL_OP_NO_TLSv1 = 67108864;\nexport const SSL_OP_NO_TLSv1_1 = 268435456;\nexport const SSL_OP_NO_TLSv1_2 = 134217728;\nexport const SSL_OP_NO_TLSv1_3 = 536870912;\nexport const SSL_OP_PRIORITIZE_CHACHA = 2097152;\nexport const SSL_OP_TLS_ROLLBACK_BUG = 8388608;\nexport const ENGINE_METHOD_RSA = 1;\nexport const ENGINE_METHOD_DSA = 2;\nexport const ENGINE_METHOD_DH = 4;\nexport const ENGINE_METHOD_RAND = 8;\nexport const ENGINE_METHOD_EC = 2048;\nexport const ENGINE_METHOD_CIPHERS = 64;\nexport const ENGINE_METHOD_DIGESTS = 128;\nexport const ENGINE_METHOD_PKEY_METHS = 512;\nexport const ENGINE_METHOD_PKEY_ASN1_METHS = 1024;\nexport const ENGINE_METHOD_ALL = 65535;\nexport const ENGINE_METHOD_NONE = 0;\nexport const DH_CHECK_P_NOT_SAFE_PRIME = 2;\nexport const DH_CHECK_P_NOT_PRIME = 1;\nexport const DH_UNABLE_TO_CHECK_GENERATOR = 4;\nexport const DH_NOT_SUITABLE_GENERATOR = 8;\nexport const RSA_PKCS1_PADDING = 1;\nexport const RSA_NO_PADDING = 3;\nexport const RSA_PKCS1_OAEP_PADDING = 4;\nexport const RSA_X931_PADDING = 5;\nexport const RSA_PKCS1_PSS_PADDING = 6;\nexport const RSA_PSS_SALTLEN_DIGEST = -1;\nexport const RSA_PSS_SALTLEN_MAX_SIGN = -2;\nexport const RSA_PSS_SALTLEN_AUTO = -2;\nexport const POINT_CONVERSION_COMPRESSED = 2;\nexport const POINT_CONVERSION_UNCOMPRESSED = 4;\nexport const POINT_CONVERSION_HYBRID = 6;\nexport const defaultCoreCipherList = \"\";\nexport const defaultCipherList = \"\";\nexport const OPENSSL_VERSION_NUMBER = 0;\nexport const TLS1_VERSION = 0;\nexport const TLS1_1_VERSION = 0;\nexport const TLS1_2_VERSION = 0;\nexport const TLS1_3_VERSION = 0;\n", "import { getRandomValues, randomUUID, subtle } from \"./internal/crypto/web.mjs\";\nimport { Certificate, Cipher, Cipheriv, Decipher, Decipheriv, DiffieHellman, DiffieHellmanGroup, ECDH, Hash, Hmac, KeyObject, Sign, Verify, X509Certificate, checkPrime, checkPrimeSync, createCipheriv, createDecipheriv, createDiffieHellman, createDiffieHellmanGroup, createECDH, createHash, createHmac, createPrivateKey, createPublicKey, createSecretKey, createSign, createVerify, diffieHellman, fips, generateKey, generateKeyPair, generateKeyPairSync, generateKeySync, generatePrime, generatePrimeSync, getCipherInfo, getCiphers, getCurves, getDiffieHellman, getFips, getHashes, hash, hkdf, hkdfSync, pbkdf2, pbkdf2Sync, privateDecrypt, privateEncrypt, pseudoRandomBytes, publicDecrypt, prng, publicEncrypt, randomBytes, randomFill, randomFillSync, randomInt, rng, scrypt, scryptSync, secureHeapUsed, setEngine, setFips, sign, timingSafeEqual, verify, webcrypto } from \"./internal/crypto/node.mjs\";\nimport { OPENSSL_VERSION_NUMBER, SSL_OP_ALL, SSL_OP_ALLOW_NO_DHE_KEX, SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION, SSL_OP_CIPHER_SERVER_PREFERENCE, SSL_OP_CISCO_ANYCONNECT, SSL_OP_COOKIE_EXCHANGE, SSL_OP_CRYPTOPRO_TLSEXT_BUG, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS, SSL_OP_LEGACY_SERVER_CONNECT, SSL_OP_NO_COMPRESSION, SSL_OP_NO_ENCRYPT_THEN_MAC, SSL_OP_NO_QUERY_MTU, SSL_OP_NO_RENEGOTIATION, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION, SSL_OP_NO_SSLv2, SSL_OP_NO_SSLv3, SSL_OP_NO_TICKET, SSL_OP_NO_TLSv1, SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2, SSL_OP_NO_TLSv1_3, SSL_OP_PRIORITIZE_CHACHA, SSL_OP_TLS_ROLLBACK_BUG, ENGINE_METHOD_RSA, ENGINE_METHOD_DSA, ENGINE_METHOD_DH, ENGINE_METHOD_RAND, ENGINE_METHOD_EC, ENGINE_METHOD_CIPHERS, ENGINE_METHOD_DIGESTS, ENGINE_METHOD_PKEY_METHS, ENGINE_METHOD_PKEY_ASN1_METHS, ENGINE_METHOD_ALL, ENGINE_METHOD_NONE, DH_CHECK_P_NOT_SAFE_PRIME, DH_CHECK_P_NOT_PRIME, DH_UNABLE_TO_CHECK_GENERATOR, DH_NOT_SUITABLE_GENERATOR, RSA_PKCS1_PADDING, RSA_NO_PADDING, RSA_PKCS1_OAEP_PADDING, RSA_X931_PADDING, RSA_PKCS1_PSS_PADDING, RSA_PSS_SALTLEN_DIGEST, RSA_PSS_SALTLEN_MAX_SIGN, RSA_PSS_SALTLEN_AUTO, defaultCoreCipherList, TLS1_VERSION, TLS1_1_VERSION, TLS1_2_VERSION, TLS1_3_VERSION, POINT_CONVERSION_COMPRESSED, POINT_CONVERSION_UNCOMPRESSED, POINT_CONVERSION_HYBRID, defaultCipherList } from \"./internal/crypto/constants.mjs\";\nexport * from \"./internal/crypto/web.mjs\";\nexport * from \"./internal/crypto/node.mjs\";\nexport const constants = {\n\tOPENSSL_VERSION_NUMBER,\n\tSSL_OP_ALL,\n\tSSL_OP_ALLOW_NO_DHE_KEX,\n\tSSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION,\n\tSSL_OP_CIPHER_SERVER_PREFERENCE,\n\tSSL_OP_CISCO_ANYCONNECT,\n\tSSL_OP_COOKIE_EXCHANGE,\n\tSSL_OP_CRYPTOPRO_TLSEXT_BUG,\n\tSSL_OP_DONT_INSERT_EMPTY_FRAGMENTS,\n\tSSL_OP_LEGACY_SERVER_CONNECT,\n\tSSL_OP_NO_COMPRESSION,\n\tSSL_OP_NO_ENCRYPT_THEN_MAC,\n\tSSL_OP_NO_QUERY_MTU,\n\tSSL_OP_NO_RENEGOTIATION,\n\tSSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION,\n\tSSL_OP_NO_SSLv2,\n\tSSL_OP_NO_SSLv3,\n\tSSL_OP_NO_TICKET,\n\tSSL_OP_NO_TLSv1,\n\tSSL_OP_NO_TLSv1_1,\n\tSSL_OP_NO_TLSv1_2,\n\tSSL_OP_NO_TLSv1_3,\n\tSSL_OP_PRIORITIZE_CHACHA,\n\tSSL_OP_TLS_ROLLBACK_BUG,\n\tENGINE_METHOD_RSA,\n\tENGINE_METHOD_DSA,\n\tENGINE_METHOD_DH,\n\tENGINE_METHOD_RAND,\n\tENGINE_METHOD_EC,\n\tENGINE_METHOD_CIPHERS,\n\tENGINE_METHOD_DIGESTS,\n\tENGINE_METHOD_PKEY_METHS,\n\tENGINE_METHOD_PKEY_ASN1_METHS,\n\tENGINE_METHOD_ALL,\n\tENGINE_METHOD_NONE,\n\tDH_CHECK_P_NOT_SAFE_PRIME,\n\tDH_CHECK_P_NOT_PRIME,\n\tDH_UNABLE_TO_CHECK_GENERATOR,\n\tDH_NOT_SUITABLE_GENERATOR,\n\tRSA_PKCS1_PADDING,\n\tRSA_NO_PADDING,\n\tRSA_PKCS1_OAEP_PADDING,\n\tRSA_X931_PADDING,\n\tRSA_PKCS1_PSS_PADDING,\n\tRSA_PSS_SALTLEN_DIGEST,\n\tRSA_PSS_SALTLEN_MAX_SIGN,\n\tRSA_PSS_SALTLEN_AUTO,\n\tdefaultCoreCipherList,\n\tTLS1_VERSION,\n\tTLS1_1_VERSION,\n\tTLS1_2_VERSION,\n\tTLS1_3_VERSION,\n\tPOINT_CONVERSION_COMPRESSED,\n\tPOINT_CONVERSION_UNCOMPRESSED,\n\tPOINT_CONVERSION_HYBRID,\n\tdefaultCipherList\n};\nexport default {\n\tconstants,\n\tgetRandomValues,\n\trandomUUID,\n\tsubtle,\n\tCertificate,\n\tCipher,\n\tCipheriv,\n\tDecipher,\n\tDecipheriv,\n\tDiffieHellman,\n\tDiffieHellmanGroup,\n\tECDH,\n\tHash,\n\tHmac,\n\tKeyObject,\n\tSign,\n\tVerify,\n\tX509Certificate,\n\tcheckPrime,\n\tcheckPrimeSync,\n\tcreateCipheriv,\n\tcreateDecipheriv,\n\tcreateDiffieHellman,\n\tcreateDiffieHellmanGroup,\n\tcreateECDH,\n\tcreateHash,\n\tcreateHmac,\n\tcreatePrivateKey,\n\tcreatePublicKey,\n\tcreateSecretKey,\n\tcreateSign,\n\tcreateVerify,\n\tdiffieHellman,\n\tfips,\n\tgenerateKey,\n\tgenerateKeyPair,\n\tgenerateKeyPairSync,\n\tgenerateKeySync,\n\tgeneratePrime,\n\tgeneratePrimeSync,\n\tgetCipherInfo,\n\tgetCiphers,\n\tgetCurves,\n\tgetDiffieHellman,\n\tgetFips,\n\tgetHashes,\n\thash,\n\thkdf,\n\thkdfSync,\n\tpbkdf2,\n\tpbkdf2Sync,\n\tprivateDecrypt,\n\tprivateEncrypt,\n\tpseudoRandomBytes,\n\tpublicDecrypt,\n\tprng,\n\tpublicEncrypt,\n\trandomBytes,\n\trandomFill,\n\trandomFillSync,\n\trandomInt,\n\trng,\n\tscrypt,\n\tscryptSync,\n\tsecureHeapUsed,\n\tsetEngine,\n\tsetFips,\n\tsign,\n\ttimingSafeEqual,\n\tverify,\n\twebcrypto\n};\n", "import {\n Cipher,\n Cipheriv,\n constants,\n createCipher,\n createCipheriv,\n createDecipher,\n createDecipheriv,\n createECDH,\n createSign,\n createVerify,\n Decipher,\n Decipheriv,\n diffieHellman,\n ECDH,\n getCipherInfo,\n hash,\n privateDecrypt,\n privateEncrypt,\n pseudoRandomBytes,\n publicDecrypt,\n publicEncrypt,\n Sign,\n sign,\n webcrypto as unenvCryptoWebcrypto,\n Verify,\n verify\n} from \"unenv/node/crypto\";\nexport {\n Cipher,\n Cipheriv,\n Decipher,\n Decipheriv,\n ECDH,\n Sign,\n Verify,\n constants,\n createCipheriv,\n createDecipheriv,\n createECDH,\n createSign,\n createVerify,\n diffieHellman,\n getCipherInfo,\n hash,\n privateDecrypt,\n privateEncrypt,\n publicDecrypt,\n publicEncrypt,\n sign,\n verify\n} from \"unenv/node/crypto\";\nconst workerdCrypto = process.getBuiltinModule(\"node:crypto\");\nexport const {\n Certificate,\n DiffieHellman,\n DiffieHellmanGroup,\n Hash,\n Hmac,\n KeyObject,\n X509Certificate,\n checkPrime,\n checkPrimeSync,\n createDiffieHellman,\n createDiffieHellmanGroup,\n createHash,\n createHmac,\n createPrivateKey,\n createPublicKey,\n createSecretKey,\n generateKey,\n generateKeyPair,\n generateKeyPairSync,\n generateKeySync,\n generatePrime,\n generatePrimeSync,\n getCiphers,\n getCurves,\n getDiffieHellman,\n getFips,\n getHashes,\n hkdf,\n hkdfSync,\n pbkdf2,\n pbkdf2Sync,\n randomBytes,\n randomFill,\n randomFillSync,\n randomInt,\n randomUUID,\n scrypt,\n scryptSync,\n secureHeapUsed,\n setEngine,\n setFips,\n subtle,\n timingSafeEqual\n} = workerdCrypto;\nexport const getRandomValues = workerdCrypto.getRandomValues.bind(\n workerdCrypto.webcrypto\n);\nexport const webcrypto = {\n // @ts-expect-error unenv has unknown type\n CryptoKey: unenvCryptoWebcrypto.CryptoKey,\n getRandomValues,\n randomUUID,\n subtle\n};\nconst fips = workerdCrypto.fips;\nexport default {\n /**\n * manually unroll unenv-polyfilled-symbols to make it tree-shakeable\n */\n Certificate,\n Cipher,\n Cipheriv,\n Decipher,\n Decipheriv,\n ECDH,\n Sign,\n Verify,\n X509Certificate,\n // @ts-expect-error @types/node is out of date - this is a bug in typings\n constants,\n // @ts-expect-error unenv has unknown type\n createCipheriv,\n // @ts-expect-error unenv has unknown type\n createDecipheriv,\n // @ts-expect-error unenv has unknown type\n createECDH,\n // @ts-expect-error unenv has unknown type\n createSign,\n // @ts-expect-error unenv has unknown type\n createVerify,\n // @ts-expect-error unenv has unknown type\n diffieHellman,\n // @ts-expect-error unenv has unknown type\n getCipherInfo,\n // @ts-expect-error unenv has unknown type\n hash,\n // @ts-expect-error unenv has unknown type\n privateDecrypt,\n // @ts-expect-error unenv has unknown type\n privateEncrypt,\n // @ts-expect-error unenv has unknown type\n publicDecrypt,\n // @ts-expect-error unenv has unknown type\n publicEncrypt,\n scrypt,\n scryptSync,\n // @ts-expect-error unenv has unknown type\n sign,\n // @ts-expect-error unenv has unknown type\n verify,\n // default-only export from unenv\n // @ts-expect-error unenv has unknown type\n createCipher,\n // @ts-expect-error unenv has unknown type\n createDecipher,\n // @ts-expect-error unenv has unknown type\n pseudoRandomBytes,\n /**\n * manually unroll workerd-polyfilled-symbols to make it tree-shakeable\n */\n DiffieHellman,\n DiffieHellmanGroup,\n Hash,\n Hmac,\n KeyObject,\n checkPrime,\n checkPrimeSync,\n createDiffieHellman,\n createDiffieHellmanGroup,\n createHash,\n createHmac,\n createPrivateKey,\n createPublicKey,\n createSecretKey,\n generateKey,\n generateKeyPair,\n generateKeyPairSync,\n generateKeySync,\n generatePrime,\n generatePrimeSync,\n getCiphers,\n getCurves,\n getDiffieHellman,\n getFips,\n getHashes,\n getRandomValues,\n hkdf,\n hkdfSync,\n pbkdf2,\n pbkdf2Sync,\n randomBytes,\n randomFill,\n randomFillSync,\n randomInt,\n randomUUID,\n secureHeapUsed,\n setEngine,\n setFips,\n subtle,\n timingSafeEqual,\n // default-only export from workerd\n fips,\n // special-cased deep merged symbols\n webcrypto\n};\n", "/*\n Copyright (c) 2012 Nevins Bartolomeo \n Copyright (c) 2012 Shane Girish \n Copyright (c) 2025 Daniel Wirtz \n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n 3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\n IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n// The Node.js crypto module is used as a fallback for the Web Crypto API. When\n// building for the browser, inclusion of the crypto module should be disabled,\n// which the package hints at in its package.json for bundlers that support it.\nimport nodeCrypto from \"crypto\";\n\n/**\n * The random implementation to use as a fallback.\n * @type {?function(number):!Array.}\n * @inner\n */\nvar randomFallback = null;\n\n/**\n * Generates cryptographically secure random bytes.\n * @function\n * @param {number} len Bytes length\n * @returns {!Array.} Random bytes\n * @throws {Error} If no random implementation is available\n * @inner\n */\nfunction randomBytes(len) {\n // Web Crypto API. Globally available in the browser and in Node.js >=23.\n try {\n return crypto.getRandomValues(new Uint8Array(len));\n } catch {}\n // Node.js crypto module for non-browser environments.\n try {\n return nodeCrypto.randomBytes(len);\n } catch {}\n // Custom fallback specified with `setRandomFallback`.\n if (!randomFallback) {\n throw Error(\n \"Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative\",\n );\n }\n return randomFallback(len);\n}\n\n/**\n * Sets the pseudo random number generator to use as a fallback if neither node's `crypto` module nor the Web Crypto\n * API is available. Please note: It is highly important that the PRNG used is cryptographically secure and that it\n * is seeded properly!\n * @param {?function(number):!Array.} random Function taking the number of bytes to generate as its\n * sole argument, returning the corresponding array of cryptographically secure random byte values.\n * @see http://nodejs.org/api/crypto.html\n * @see http://www.w3.org/TR/WebCryptoAPI/\n */\nexport function setRandomFallback(random) {\n randomFallback = random;\n}\n\n/**\n * Synchronously generates a salt.\n * @param {number=} rounds Number of rounds to use, defaults to 10 if omitted\n * @param {number=} seed_length Not supported.\n * @returns {string} Resulting salt\n * @throws {Error} If a random fallback is required but not set\n */\nexport function genSaltSync(rounds, seed_length) {\n rounds = rounds || GENSALT_DEFAULT_LOG2_ROUNDS;\n if (typeof rounds !== \"number\")\n throw Error(\n \"Illegal arguments: \" + typeof rounds + \", \" + typeof seed_length,\n );\n if (rounds < 4) rounds = 4;\n else if (rounds > 31) rounds = 31;\n var salt = [];\n salt.push(\"$2b$\");\n if (rounds < 10) salt.push(\"0\");\n salt.push(rounds.toString());\n salt.push(\"$\");\n salt.push(base64_encode(randomBytes(BCRYPT_SALT_LEN), BCRYPT_SALT_LEN)); // May throw\n return salt.join(\"\");\n}\n\n/**\n * Asynchronously generates a salt.\n * @param {(number|function(Error, string=))=} rounds Number of rounds to use, defaults to 10 if omitted\n * @param {(number|function(Error, string=))=} seed_length Not supported.\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting salt\n * @returns {!Promise} If `callback` has been omitted\n * @throws {Error} If `callback` is present but not a function\n */\nexport function genSalt(rounds, seed_length, callback) {\n if (typeof seed_length === \"function\")\n (callback = seed_length), (seed_length = undefined); // Not supported.\n if (typeof rounds === \"function\") (callback = rounds), (rounds = undefined);\n if (typeof rounds === \"undefined\") rounds = GENSALT_DEFAULT_LOG2_ROUNDS;\n else if (typeof rounds !== \"number\")\n throw Error(\"illegal arguments: \" + typeof rounds);\n\n function _async(callback) {\n nextTick(function () {\n // Pretty thin, but salting is fast enough\n try {\n callback(null, genSaltSync(rounds));\n } catch (err) {\n callback(err);\n }\n });\n }\n\n if (callback) {\n if (typeof callback !== \"function\")\n throw Error(\"Illegal callback: \" + typeof callback);\n _async(callback);\n } else\n return new Promise(function (resolve, reject) {\n _async(function (err, res) {\n if (err) {\n reject(err);\n return;\n }\n resolve(res);\n });\n });\n}\n\n/**\n * Synchronously generates a hash for the given password.\n * @param {string} password Password to hash\n * @param {(number|string)=} salt Salt length to generate or salt to use, default to 10\n * @returns {string} Resulting hash\n */\nexport function hashSync(password, salt) {\n if (typeof salt === \"undefined\") salt = GENSALT_DEFAULT_LOG2_ROUNDS;\n if (typeof salt === \"number\") salt = genSaltSync(salt);\n if (typeof password !== \"string\" || typeof salt !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof password + \", \" + typeof salt);\n return _hash(password, salt);\n}\n\n/**\n * Asynchronously generates a hash for the given password.\n * @param {string} password Password to hash\n * @param {number|string} salt Salt length to generate or salt to use\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting hash\n * @param {function(number)=} progressCallback Callback successively called with the percentage of rounds completed\n * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.\n * @returns {!Promise} If `callback` has been omitted\n * @throws {Error} If `callback` is present but not a function\n */\nexport function hash(password, salt, callback, progressCallback) {\n function _async(callback) {\n if (typeof password === \"string\" && typeof salt === \"number\")\n genSalt(salt, function (err, salt) {\n _hash(password, salt, callback, progressCallback);\n });\n else if (typeof password === \"string\" && typeof salt === \"string\")\n _hash(password, salt, callback, progressCallback);\n else\n nextTick(\n callback.bind(\n this,\n Error(\"Illegal arguments: \" + typeof password + \", \" + typeof salt),\n ),\n );\n }\n\n if (callback) {\n if (typeof callback !== \"function\")\n throw Error(\"Illegal callback: \" + typeof callback);\n _async(callback);\n } else\n return new Promise(function (resolve, reject) {\n _async(function (err, res) {\n if (err) {\n reject(err);\n return;\n }\n resolve(res);\n });\n });\n}\n\n/**\n * Compares two strings of the same length in constant time.\n * @param {string} known Must be of the correct length\n * @param {string} unknown Must be the same length as `known`\n * @returns {boolean}\n * @inner\n */\nfunction safeStringCompare(known, unknown) {\n var diff = known.length ^ unknown.length;\n for (var i = 0; i < known.length; ++i) {\n diff |= known.charCodeAt(i) ^ unknown.charCodeAt(i);\n }\n return diff === 0;\n}\n\n/**\n * Synchronously tests a password against a hash.\n * @param {string} password Password to compare\n * @param {string} hash Hash to test against\n * @returns {boolean} true if matching, otherwise false\n * @throws {Error} If an argument is illegal\n */\nexport function compareSync(password, hash) {\n if (typeof password !== \"string\" || typeof hash !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof password + \", \" + typeof hash);\n if (hash.length !== 60) return false;\n return safeStringCompare(\n hashSync(password, hash.substring(0, hash.length - 31)),\n hash,\n );\n}\n\n/**\n * Asynchronously tests a password against a hash.\n * @param {string} password Password to compare\n * @param {string} hashValue Hash to test against\n * @param {function(Error, boolean)=} callback Callback receiving the error, if any, otherwise the result\n * @param {function(number)=} progressCallback Callback successively called with the percentage of rounds completed\n * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.\n * @returns {!Promise} If `callback` has been omitted\n * @throws {Error} If `callback` is present but not a function\n */\nexport function compare(password, hashValue, callback, progressCallback) {\n function _async(callback) {\n if (typeof password !== \"string\" || typeof hashValue !== \"string\") {\n nextTick(\n callback.bind(\n this,\n Error(\n \"Illegal arguments: \" + typeof password + \", \" + typeof hashValue,\n ),\n ),\n );\n return;\n }\n if (hashValue.length !== 60) {\n nextTick(callback.bind(this, null, false));\n return;\n }\n hash(\n password,\n hashValue.substring(0, 29),\n function (err, comp) {\n if (err) callback(err);\n else callback(null, safeStringCompare(comp, hashValue));\n },\n progressCallback,\n );\n }\n\n if (callback) {\n if (typeof callback !== \"function\")\n throw Error(\"Illegal callback: \" + typeof callback);\n _async(callback);\n } else\n return new Promise(function (resolve, reject) {\n _async(function (err, res) {\n if (err) {\n reject(err);\n return;\n }\n resolve(res);\n });\n });\n}\n\n/**\n * Gets the number of rounds used to encrypt the specified hash.\n * @param {string} hash Hash to extract the used number of rounds from\n * @returns {number} Number of rounds used\n * @throws {Error} If `hash` is not a string\n */\nexport function getRounds(hash) {\n if (typeof hash !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof hash);\n return parseInt(hash.split(\"$\")[2], 10);\n}\n\n/**\n * Gets the salt portion from a hash. Does not validate the hash.\n * @param {string} hash Hash to extract the salt from\n * @returns {string} Extracted salt part\n * @throws {Error} If `hash` is not a string or otherwise invalid\n */\nexport function getSalt(hash) {\n if (typeof hash !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof hash);\n if (hash.length !== 60)\n throw Error(\"Illegal hash length: \" + hash.length + \" != 60\");\n return hash.substring(0, 29);\n}\n\n/**\n * Tests if a password will be truncated when hashed, that is its length is\n * greater than 72 bytes when converted to UTF-8.\n * @param {string} password The password to test\n * @returns {boolean} `true` if truncated, otherwise `false`\n */\nexport function truncates(password) {\n if (typeof password !== \"string\")\n throw Error(\"Illegal arguments: \" + typeof password);\n return utf8Length(password) > 72;\n}\n\n/**\n * Continues with the callback after yielding to the event loop.\n * @function\n * @param {function(...[*])} callback Callback to execute\n * @inner\n */\nvar nextTick =\n typeof setImmediate === \"function\"\n ? setImmediate\n : typeof scheduler === \"object\" && typeof scheduler.postTask === \"function\"\n ? scheduler.postTask.bind(scheduler)\n : setTimeout;\n\n/** Calculates the byte length of a string encoded as UTF8. */\nfunction utf8Length(string) {\n var len = 0,\n c = 0;\n for (var i = 0; i < string.length; ++i) {\n c = string.charCodeAt(i);\n if (c < 128) len += 1;\n else if (c < 2048) len += 2;\n else if (\n (c & 0xfc00) === 0xd800 &&\n (string.charCodeAt(i + 1) & 0xfc00) === 0xdc00\n ) {\n ++i;\n len += 4;\n } else len += 3;\n }\n return len;\n}\n\n/** Converts a string to an array of UTF8 bytes. */\nfunction utf8Array(string) {\n var offset = 0,\n c1,\n c2;\n var buffer = new Array(utf8Length(string));\n for (var i = 0, k = string.length; i < k; ++i) {\n c1 = string.charCodeAt(i);\n if (c1 < 128) {\n buffer[offset++] = c1;\n } else if (c1 < 2048) {\n buffer[offset++] = (c1 >> 6) | 192;\n buffer[offset++] = (c1 & 63) | 128;\n } else if (\n (c1 & 0xfc00) === 0xd800 &&\n ((c2 = string.charCodeAt(i + 1)) & 0xfc00) === 0xdc00\n ) {\n c1 = 0x10000 + ((c1 & 0x03ff) << 10) + (c2 & 0x03ff);\n ++i;\n buffer[offset++] = (c1 >> 18) | 240;\n buffer[offset++] = ((c1 >> 12) & 63) | 128;\n buffer[offset++] = ((c1 >> 6) & 63) | 128;\n buffer[offset++] = (c1 & 63) | 128;\n } else {\n buffer[offset++] = (c1 >> 12) | 224;\n buffer[offset++] = ((c1 >> 6) & 63) | 128;\n buffer[offset++] = (c1 & 63) | 128;\n }\n }\n return buffer;\n}\n\n// A base64 implementation for the bcrypt algorithm. This is partly non-standard.\n\n/**\n * bcrypt's own non-standard base64 dictionary.\n * @type {!Array.}\n * @const\n * @inner\n **/\nvar BASE64_CODE =\n \"./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".split(\"\");\n\n/**\n * @type {!Array.}\n * @const\n * @inner\n **/\nvar BASE64_INDEX = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n -1, -1, -1, -1, -1, -1, -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, 28,\n 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, -1, -1, -1, -1, -1,\n];\n\n/**\n * Encodes a byte array to base64 with up to len bytes of input.\n * @param {!Array.} b Byte array\n * @param {number} len Maximum input length\n * @returns {string}\n * @inner\n */\nfunction base64_encode(b, len) {\n var off = 0,\n rs = [],\n c1,\n c2;\n if (len <= 0 || len > b.length) throw Error(\"Illegal len: \" + len);\n while (off < len) {\n c1 = b[off++] & 0xff;\n rs.push(BASE64_CODE[(c1 >> 2) & 0x3f]);\n c1 = (c1 & 0x03) << 4;\n if (off >= len) {\n rs.push(BASE64_CODE[c1 & 0x3f]);\n break;\n }\n c2 = b[off++] & 0xff;\n c1 |= (c2 >> 4) & 0x0f;\n rs.push(BASE64_CODE[c1 & 0x3f]);\n c1 = (c2 & 0x0f) << 2;\n if (off >= len) {\n rs.push(BASE64_CODE[c1 & 0x3f]);\n break;\n }\n c2 = b[off++] & 0xff;\n c1 |= (c2 >> 6) & 0x03;\n rs.push(BASE64_CODE[c1 & 0x3f]);\n rs.push(BASE64_CODE[c2 & 0x3f]);\n }\n return rs.join(\"\");\n}\n\n/**\n * Decodes a base64 encoded string to up to len bytes of output.\n * @param {string} s String to decode\n * @param {number} len Maximum output length\n * @returns {!Array.}\n * @inner\n */\nfunction base64_decode(s, len) {\n var off = 0,\n slen = s.length,\n olen = 0,\n rs = [],\n c1,\n c2,\n c3,\n c4,\n o,\n code;\n if (len <= 0) throw Error(\"Illegal len: \" + len);\n while (off < slen - 1 && olen < len) {\n code = s.charCodeAt(off++);\n c1 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\n code = s.charCodeAt(off++);\n c2 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\n if (c1 == -1 || c2 == -1) break;\n o = (c1 << 2) >>> 0;\n o |= (c2 & 0x30) >> 4;\n rs.push(String.fromCharCode(o));\n if (++olen >= len || off >= slen) break;\n code = s.charCodeAt(off++);\n c3 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\n if (c3 == -1) break;\n o = ((c2 & 0x0f) << 4) >>> 0;\n o |= (c3 & 0x3c) >> 2;\n rs.push(String.fromCharCode(o));\n if (++olen >= len || off >= slen) break;\n code = s.charCodeAt(off++);\n c4 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\n o = ((c3 & 0x03) << 6) >>> 0;\n o |= c4;\n rs.push(String.fromCharCode(o));\n ++olen;\n }\n var res = [];\n for (off = 0; off < olen; off++) res.push(rs[off].charCodeAt(0));\n return res;\n}\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar BCRYPT_SALT_LEN = 16;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar GENSALT_DEFAULT_LOG2_ROUNDS = 10;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar BLOWFISH_NUM_ROUNDS = 16;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar MAX_EXECUTION_TIME = 100;\n\n/**\n * @type {Array.}\n * @const\n * @inner\n */\nvar P_ORIG = [\n 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0,\n 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,\n 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b,\n];\n\n/**\n * @type {Array.}\n * @const\n * @inner\n */\nvar S_ORIG = [\n 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96,\n 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,\n 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658,\n 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,\n 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e,\n 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,\n 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, 0x55ca396a, 0x2aab10b6,\n 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,\n 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c,\n 0x7a325381, 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,\n 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d, 0xe98575b1,\n 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,\n 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a,\n 0x670c9c61, 0xabd388f0, 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3,\n 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176,\n 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,\n 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706,\n 0x1bfedf72, 0x429b023d, 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b,\n 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b,\n 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,\n 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c,\n 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3,\n 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a,\n 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,\n 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760,\n 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db,\n 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, 0x695b27b0, 0xbbca58c8,\n 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,\n 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33,\n 0x62fb1341, 0xcee4c6e8, 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,\n 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0, 0xafc725e0,\n 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,\n 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777,\n 0xea752dfe, 0x8b021fa1, 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299,\n 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705,\n 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,\n 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e,\n 0x226800bb, 0x57b8e0af, 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa,\n 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9,\n 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,\n 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f,\n 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664,\n 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a, 0x4b7a70e9, 0xb5b32944,\n 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,\n 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29,\n 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6,\n 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, 0x4cdd2086, 0x8470eb26,\n 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,\n 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c,\n 0x8e7d44ec, 0x5716f2b8, 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,\n 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, 0xd19113f9, 0x7ca92ff6,\n 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,\n 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f,\n 0x3280bba1, 0x183eb331, 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf,\n 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, 0xde9a771f, 0xd9930810,\n 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,\n 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa,\n 0x63094366, 0xc464c3d2, 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16,\n 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, 0x71dff89e, 0x10314e55,\n 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,\n 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1,\n 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f,\n 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, 0xc6150eba, 0x94e2ea78,\n 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,\n 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883,\n 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802,\n 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, 0x1521b628, 0x29076170,\n 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,\n 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7,\n 0x9cab5cab, 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,\n 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, 0x9b540b19, 0x875fa099,\n 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,\n 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263,\n 0x9b83c3ff, 0x1ac24696, 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128,\n 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, 0x5d4a14d9, 0xe864b7e3,\n 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,\n 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7,\n 0xe44b476a, 0x3d816250, 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3,\n 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, 0x095bbf00, 0xad19489d,\n 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,\n 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460,\n 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735,\n 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, 0x9e447a2e, 0xc3453484,\n 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,\n 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a,\n 0xe6e39f2b, 0xdb83adf7, 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934,\n 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, 0xd4082471, 0x3320f46a,\n 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,\n 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785,\n 0x7fac6dd0, 0x31cb8504, 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,\n 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, 0x68dc1462, 0xd7486900,\n 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,\n 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9,\n 0xee39d7ab, 0x3b124e8b, 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2,\n 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397,\n 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,\n 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9,\n 0x5ef47e1c, 0x9029317c, 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3,\n 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f,\n 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,\n 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e,\n 0xaf664fd1, 0xcad18115, 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922,\n 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, 0xd0127845, 0x95b794fd,\n 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,\n 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8,\n 0x991be14c, 0xdb6e6b0d, 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804,\n 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, 0x667b9ffb, 0xcedb7d9c,\n 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,\n 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b,\n 0x12754ccc, 0x782ef11c, 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,\n 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, 0x44421659, 0x0a121386,\n 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,\n 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0,\n 0x7745ae04, 0xd736fccc, 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f,\n 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2,\n 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,\n 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770,\n 0x8cd55591, 0xc902de4c, 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e,\n 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c,\n 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,\n 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa,\n 0xa002b5c4, 0x0de6d027, 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5,\n 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, 0x11e69ed7, 0x2338ea63,\n 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,\n 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9,\n 0x1ac15bb4, 0xd39eb8fc, 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4,\n 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, 0x6fd5c7e7, 0x56e14ec4,\n 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0,\n 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742,\n 0xd3822740, 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,\n 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f, 0xbc946e79,\n 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,\n 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a,\n 0x63ef8ce2, 0x9a86ee22, 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4,\n 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1,\n 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,\n 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797,\n 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28,\n 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6,\n 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,\n 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba,\n 0x03a16125, 0x0564f0bd, 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a,\n 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, 0x7533d928, 0xb155fdf5,\n 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,\n 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce,\n 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680,\n 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, 0xb39a460a, 0x6445c0dd,\n 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,\n 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb,\n 0x8d6612ae, 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,\n 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08, 0x4eb4e2cc,\n 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,\n 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc,\n 0xbb3a792b, 0x344525bd, 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9,\n 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a,\n 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,\n 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a,\n 0x0f91fc71, 0x9b941525, 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1,\n 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b,\n 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,\n 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e,\n 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f,\n 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, 0xf523f357, 0xa6327623,\n 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,\n 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a,\n 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6,\n 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, 0x53113ec0, 0x1640e3d3,\n 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,\n 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c,\n 0x01c36ae4, 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,\n 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6,\n];\n\n/**\n * @type {Array.}\n * @const\n * @inner\n */\nvar C_ORIG = [\n 0x4f727068, 0x65616e42, 0x65686f6c, 0x64657253, 0x63727944, 0x6f756274,\n];\n\n/**\n * @param {Array.} lr\n * @param {number} off\n * @param {Array.} P\n * @param {Array.} S\n * @returns {Array.}\n * @inner\n */\nfunction _encipher(lr, off, P, S) {\n // This is our bottleneck: 1714/1905 ticks / 90% - see profile.txt\n var n,\n l = lr[off],\n r = lr[off + 1];\n\n l ^= P[0];\n\n /*\n for (var i=0, k=BLOWFISH_NUM_ROUNDS-2; i<=k;)\n // Feistel substitution on left word\n n = S[l >>> 24],\n n += S[0x100 | ((l >> 16) & 0xff)],\n n ^= S[0x200 | ((l >> 8) & 0xff)],\n n += S[0x300 | (l & 0xff)],\n r ^= n ^ P[++i],\n // Feistel substitution on right word\n n = S[r >>> 24],\n n += S[0x100 | ((r >> 16) & 0xff)],\n n ^= S[0x200 | ((r >> 8) & 0xff)],\n n += S[0x300 | (r & 0xff)],\n l ^= n ^ P[++i];\n */\n\n //The following is an unrolled version of the above loop.\n //Iteration 0\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[1];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[2];\n //Iteration 1\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[3];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[4];\n //Iteration 2\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[5];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[6];\n //Iteration 3\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[7];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[8];\n //Iteration 4\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[9];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[10];\n //Iteration 5\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[11];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[12];\n //Iteration 6\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[13];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[14];\n //Iteration 7\n n = S[l >>> 24];\n n += S[0x100 | ((l >> 16) & 0xff)];\n n ^= S[0x200 | ((l >> 8) & 0xff)];\n n += S[0x300 | (l & 0xff)];\n r ^= n ^ P[15];\n n = S[r >>> 24];\n n += S[0x100 | ((r >> 16) & 0xff)];\n n ^= S[0x200 | ((r >> 8) & 0xff)];\n n += S[0x300 | (r & 0xff)];\n l ^= n ^ P[16];\n\n lr[off] = r ^ P[BLOWFISH_NUM_ROUNDS + 1];\n lr[off + 1] = l;\n return lr;\n}\n\n/**\n * @param {Array.} data\n * @param {number} offp\n * @returns {{key: number, offp: number}}\n * @inner\n */\nfunction _streamtoword(data, offp) {\n for (var i = 0, word = 0; i < 4; ++i)\n (word = (word << 8) | (data[offp] & 0xff)),\n (offp = (offp + 1) % data.length);\n return { key: word, offp: offp };\n}\n\n/**\n * @param {Array.} key\n * @param {Array.} P\n * @param {Array.} S\n * @inner\n */\nfunction _key(key, P, S) {\n var offset = 0,\n lr = [0, 0],\n plen = P.length,\n slen = S.length,\n sw;\n for (var i = 0; i < plen; i++)\n (sw = _streamtoword(key, offset)),\n (offset = sw.offp),\n (P[i] = P[i] ^ sw.key);\n for (i = 0; i < plen; i += 2)\n (lr = _encipher(lr, 0, P, S)), (P[i] = lr[0]), (P[i + 1] = lr[1]);\n for (i = 0; i < slen; i += 2)\n (lr = _encipher(lr, 0, P, S)), (S[i] = lr[0]), (S[i + 1] = lr[1]);\n}\n\n/**\n * Expensive key schedule Blowfish.\n * @param {Array.} data\n * @param {Array.} key\n * @param {Array.} P\n * @param {Array.} S\n * @inner\n */\nfunction _ekskey(data, key, P, S) {\n var offp = 0,\n lr = [0, 0],\n plen = P.length,\n slen = S.length,\n sw;\n for (var i = 0; i < plen; i++)\n (sw = _streamtoword(key, offp)), (offp = sw.offp), (P[i] = P[i] ^ sw.key);\n offp = 0;\n for (i = 0; i < plen; i += 2)\n (sw = _streamtoword(data, offp)),\n (offp = sw.offp),\n (lr[0] ^= sw.key),\n (sw = _streamtoword(data, offp)),\n (offp = sw.offp),\n (lr[1] ^= sw.key),\n (lr = _encipher(lr, 0, P, S)),\n (P[i] = lr[0]),\n (P[i + 1] = lr[1]);\n for (i = 0; i < slen; i += 2)\n (sw = _streamtoword(data, offp)),\n (offp = sw.offp),\n (lr[0] ^= sw.key),\n (sw = _streamtoword(data, offp)),\n (offp = sw.offp),\n (lr[1] ^= sw.key),\n (lr = _encipher(lr, 0, P, S)),\n (S[i] = lr[0]),\n (S[i + 1] = lr[1]);\n}\n\n/**\n * Internaly crypts a string.\n * @param {Array.} b Bytes to crypt\n * @param {Array.} salt Salt bytes to use\n * @param {number} rounds Number of rounds\n * @param {function(Error, Array.=)=} callback Callback receiving the error, if any, and the resulting bytes. If\n * omitted, the operation will be performed synchronously.\n * @param {function(number)=} progressCallback Callback called with the current progress\n * @returns {!Array.|undefined} Resulting bytes if callback has been omitted, otherwise `undefined`\n * @inner\n */\nfunction _crypt(b, salt, rounds, callback, progressCallback) {\n var cdata = C_ORIG.slice(),\n clen = cdata.length,\n err;\n\n // Validate\n if (rounds < 4 || rounds > 31) {\n err = Error(\"Illegal number of rounds (4-31): \" + rounds);\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n if (salt.length !== BCRYPT_SALT_LEN) {\n err = Error(\n \"Illegal salt length: \" + salt.length + \" != \" + BCRYPT_SALT_LEN,\n );\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n rounds = (1 << rounds) >>> 0;\n\n var P,\n S,\n i = 0,\n j;\n\n //Use typed arrays when available - huge speedup!\n if (typeof Int32Array === \"function\") {\n P = new Int32Array(P_ORIG);\n S = new Int32Array(S_ORIG);\n } else {\n P = P_ORIG.slice();\n S = S_ORIG.slice();\n }\n\n _ekskey(salt, b, P, S);\n\n /**\n * Calcualtes the next round.\n * @returns {Array.|undefined} Resulting array if callback has been omitted, otherwise `undefined`\n * @inner\n */\n function next() {\n if (progressCallback) progressCallback(i / rounds);\n if (i < rounds) {\n var start = Date.now();\n for (; i < rounds; ) {\n i = i + 1;\n _key(b, P, S);\n _key(salt, P, S);\n if (Date.now() - start > MAX_EXECUTION_TIME) break;\n }\n } else {\n for (i = 0; i < 64; i++)\n for (j = 0; j < clen >> 1; j++) _encipher(cdata, j << 1, P, S);\n var ret = [];\n for (i = 0; i < clen; i++)\n ret.push(((cdata[i] >> 24) & 0xff) >>> 0),\n ret.push(((cdata[i] >> 16) & 0xff) >>> 0),\n ret.push(((cdata[i] >> 8) & 0xff) >>> 0),\n ret.push((cdata[i] & 0xff) >>> 0);\n if (callback) {\n callback(null, ret);\n return;\n } else return ret;\n }\n if (callback) nextTick(next);\n }\n\n // Async\n if (typeof callback !== \"undefined\") {\n next();\n\n // Sync\n } else {\n var res;\n while (true) if (typeof (res = next()) !== \"undefined\") return res || [];\n }\n}\n\n/**\n * Internally hashes a password.\n * @param {string} password Password to hash\n * @param {?string} salt Salt to use, actually never null\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting hash. If omitted,\n * hashing is performed synchronously.\n * @param {function(number)=} progressCallback Callback called with the current progress\n * @returns {string|undefined} Resulting hash if callback has been omitted, otherwise `undefined`\n * @inner\n */\nfunction _hash(password, salt, callback, progressCallback) {\n var err;\n if (typeof password !== \"string\" || typeof salt !== \"string\") {\n err = Error(\"Invalid string / salt: Not a string\");\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n\n // Validate the salt\n var minor, offset;\n if (salt.charAt(0) !== \"$\" || salt.charAt(1) !== \"2\") {\n err = Error(\"Invalid salt version: \" + salt.substring(0, 2));\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n if (salt.charAt(2) === \"$\") (minor = String.fromCharCode(0)), (offset = 3);\n else {\n minor = salt.charAt(2);\n if (\n (minor !== \"a\" && minor !== \"b\" && minor !== \"y\") ||\n salt.charAt(3) !== \"$\"\n ) {\n err = Error(\"Invalid salt revision: \" + salt.substring(2, 4));\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n offset = 4;\n }\n\n // Extract number of rounds\n if (salt.charAt(offset + 2) > \"$\") {\n err = Error(\"Missing salt rounds\");\n if (callback) {\n nextTick(callback.bind(this, err));\n return;\n } else throw err;\n }\n var r1 = parseInt(salt.substring(offset, offset + 1), 10) * 10,\n r2 = parseInt(salt.substring(offset + 1, offset + 2), 10),\n rounds = r1 + r2,\n real_salt = salt.substring(offset + 3, offset + 25);\n password += minor >= \"a\" ? \"\\x00\" : \"\";\n\n var passwordb = utf8Array(password),\n saltb = base64_decode(real_salt, BCRYPT_SALT_LEN);\n\n /**\n * Finishes hashing.\n * @param {Array.} bytes Byte array\n * @returns {string}\n * @inner\n */\n function finish(bytes) {\n var res = [];\n res.push(\"$2\");\n if (minor >= \"a\") res.push(minor);\n res.push(\"$\");\n if (rounds < 10) res.push(\"0\");\n res.push(rounds.toString());\n res.push(\"$\");\n res.push(base64_encode(saltb, saltb.length));\n res.push(base64_encode(bytes, C_ORIG.length * 4 - 1));\n return res.join(\"\");\n }\n\n // Sync\n if (typeof callback == \"undefined\")\n return finish(_crypt(passwordb, saltb, rounds));\n // Async\n else {\n _crypt(\n passwordb,\n saltb,\n rounds,\n function (err, bytes) {\n if (err) callback(err, null);\n else callback(null, finish(bytes));\n },\n progressCallback,\n );\n }\n}\n\n/**\n * Encodes a byte array to base64 with up to len bytes of input, using the custom bcrypt alphabet.\n * @function\n * @param {!Array.} bytes Byte array\n * @param {number} length Maximum input length\n * @returns {string}\n */\nexport function encodeBase64(bytes, length) {\n return base64_encode(bytes, length);\n}\n\n/**\n * Decodes a base64 encoded string to up to len bytes of output, using the custom bcrypt alphabet.\n * @function\n * @param {string} string String to decode\n * @param {number} length Maximum output length\n * @returns {!Array.}\n */\nexport function decodeBase64(string, length) {\n return base64_decode(string, length);\n}\n\nexport default {\n setRandomFallback,\n genSaltSync,\n genSalt,\n hashSync,\n hash,\n compareSync,\n compare,\n getRounds,\n getSalt,\n truncates,\n encodeBase64,\n decodeBase64,\n};\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport bcrypt from 'bcryptjs';\nimport { SignJWT } from 'jose';\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter';\nimport { ApiError } from '@/src/lib/api-error'\nimport {\n getStaffUserByName,\n getAllStaff,\n getAllUsers,\n getUserWithDetails,\n upsertUserSuspension,\n checkStaffUserExists,\n checkStaffRoleExists,\n createStaffUser,\n getAllRoles,\n} from '@/src/dbService'\nimport type { StaffUser, StaffRole } from '@packages/shared'\n\nexport const staffUserRouter = router({\n login: publicProcedure\n .input(z.object({\n name: z.string(),\n password: z.string(),\n }))\n .mutation(async ({ input }) => {\n const { name, password } = input;\n\n if (!name || !password) {\n throw new ApiError('Name and password are required', 400);\n }\n\n const staff = await getStaffUserByName(name);\n\n if (!staff) {\n throw new ApiError('Invalid credentials', 401);\n }\n\n const isPasswordValid = await bcrypt.compare(password, staff.password);\n if (!isPasswordValid) {\n throw new ApiError('Invalid credentials', 401);\n }\n\n const token = await new SignJWT({ staffId: staff.id, name: staff.name })\n .setProtectedHeader({ alg: 'HS256' })\n .setExpirationTime('30d')\n .sign(getEncodedJwtSecret());\n\n return {\n message: 'Login successful',\n token,\n staff: { id: staff.id, name: staff.name },\n };\n }),\n\n getStaff: protectedProcedure\n .query(async ({ ctx }) => {\n const staff = await getAllStaff();\n\n // Transform the data to include role and permissions in a cleaner format\n const transformedStaff = staff.map((user) => ({\n id: user.id,\n name: user.name,\n role: user.role ? {\n id: user.role.id,\n name: user.role.roleName,\n } : null,\n permissions: user.role?.rolePermissions.map((rp: any) => ({\n id: rp.permission.id,\n name: rp.permission.permissionName,\n })) || [],\n }));\n\n return {\n staff: transformedStaff,\n };\n }),\n\n getUsers: protectedProcedure\n .input(z.object({\n cursor: z.number().optional(),\n limit: z.number().default(20),\n search: z.string().optional(),\n }))\n .query(async ({ input }) => {\n const { cursor, limit, search } = input;\n\n const { users: usersToReturn, hasMore } = await getAllUsers(cursor, limit, search);\n\n const formattedUsers = usersToReturn.map((user: any) => ({\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n image: user.userDetails?.profileImage || null,\n }));\n\n return {\n users: formattedUsers,\n nextCursor: hasMore ? usersToReturn[usersToReturn.length - 1].id : undefined,\n };\n }),\n\n getUserDetails: protectedProcedure\n .input(z.object({ userId: z.number() }))\n .query(async ({ input }) => {\n const { userId } = input;\n\n const user = await getUserWithDetails(userId);\n\n if (!user) {\n throw new ApiError(\"User not found\", 404);\n }\n\n const lastOrder = user.orders[0];\n\n return {\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n addedOn: user.createdAt,\n lastOrdered: lastOrder?.createdAt || null,\n isSuspended: user.userDetails?.isSuspended || false,\n };\n }),\n\n updateUserSuspension: protectedProcedure\n .input(z.object({ userId: z.number(), isSuspended: z.boolean() }))\n .mutation(async ({ input }) => {\n const { userId, isSuspended } = input;\n\n await upsertUserSuspension(userId, isSuspended);\n\n return { success: true };\n }),\n\n createStaffUser: protectedProcedure\n .input(z.object({\n name: z.string().min(1, 'Name is required'),\n password: z.string().min(6, 'Password must be at least 6 characters'),\n roleId: z.number().int().positive('Role is required'),\n }))\n .mutation(async ({ input, ctx }) => {\n const { name, password, roleId } = input;\n\n // Check if staff user already exists\n const existingUser = await checkStaffUserExists(name);\n\n if (existingUser) {\n throw new ApiError('Staff user with this name already exists', 409);\n }\n\n // Check if role exists\n const roleExists = await checkStaffRoleExists(roleId);\n\n if (!roleExists) {\n throw new ApiError('Invalid role selected', 400);\n }\n\n // Hash password\n const hashedPassword = await bcrypt.hash(password, 12);\n\n // Create staff user\n const newUser = await createStaffUser(name, hashedPassword, roleId);\n\n return { success: true, user: { id: newUser.id, name: newUser.name } };\n }),\n\n getRoles: protectedProcedure\n .query(async ({ ctx }) => {\n const roles = await getAllRoles();\n\n return {\n roles: roles.map((role: any) => ({\n id: role.id,\n name: role.roleName,\n })),\n };\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport { ApiError } from '@/src/lib/api-error'\nimport { extractKeyFromPresignedUrl, deleteImageUtil, scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { scheduleStoreInitialization } from '@/src/stores/store-initializer'\nimport {\n getAllStores as getAllStoresFromDb,\n getStoreById as getStoreByIdFromDb,\n createStore as createStoreInDb,\n updateStore as updateStoreInDb,\n deleteStore as deleteStoreFromDb,\n} from '@/src/dbService'\nimport type { Store } from '@packages/shared'\n\nexport const storeRouter = router({\n getStores: protectedProcedure\n .query(async ({ ctx }): Promise<{ stores: any[]; count: number }> => {\n const stores = await getAllStoresFromDb();\n\n await Promise.all(stores.map(async store => {\n if(store.imageUrl)\n store.imageUrl = scaffoldAssetUrl(store.imageUrl)\n })).catch((e) => {\n throw new ApiError(\"Unable to find store image urls\")\n })\n\n return {\n stores,\n count: stores.length,\n };\n }),\n\n getStoreById: protectedProcedure\n .input(z.object({\n id: z.number(),\n }))\n .query(async ({ input, ctx }): Promise<{ store: any }> => {\n const { id } = input;\n\n const store = await getStoreByIdFromDb(id);\n\n if (!store) {\n throw new ApiError(\"Store not found\", 404);\n }\n store.imageUrl = scaffoldAssetUrl(store.imageUrl);\n return {\n store,\n };\n }),\n\n createStore: protectedProcedure\n .input(z.object({\n name: z.string().min(1, \"Name is required\"),\n description: z.string().optional(),\n imageUrl: z.string().optional(),\n owner: z.number().min(1, \"Owner is required\"),\n products: z.array(z.number()).optional(),\n }))\n .mutation(async ({ input, ctx }): Promise<{ store: Store; message: string }> => {\n const { name, description, imageUrl, owner, products } = input;\n\n const imageKey = imageUrl ? extractKeyFromPresignedUrl(imageUrl) : undefined;\n\n const newStore = await createStoreInDb(\n {\n name,\n description,\n imageUrl: imageKey,\n owner,\n },\n products\n );\n\n /*\n // Old implementation - direct DB query:\n const [newStore] = await db\n .insert(storeInfo)\n .values({\n name,\n description,\n imageUrl: imageKey,\n owner,\n })\n .returning();\n\n // Assign selected products to this store\n if (products && products.length > 0) {\n await db\n .update(productInfo)\n .set({ storeId: newStore.id })\n .where(inArray(productInfo.id, products));\n }\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n store: newStore,\n message: \"Store created successfully\",\n };\n }),\n\n updateStore: protectedProcedure\n .input(z.object({\n id: z.number(),\n name: z.string().min(1, \"Name is required\"),\n description: z.string().optional(),\n imageUrl: z.string().optional(),\n owner: z.number().min(1, \"Owner is required\"),\n products: z.array(z.number()).optional(),\n }))\n .mutation(async ({ input, ctx }): Promise<{ store: Store; message: string }> => {\n const { id, name, description, imageUrl, owner, products } = input;\n\n const existingStore = await getStoreByIdFromDb(id);\n\n if (!existingStore) {\n throw new ApiError(\"Store not found\", 404);\n }\n\n const oldImageKey = existingStore.imageUrl;\n const newImageKey = imageUrl ? extractKeyFromPresignedUrl(imageUrl) : oldImageKey;\n\n // Delete old image only if:\n // 1. New image provided and keys are different, OR\n // 2. No new image but old exists (clearing the image)\n if (oldImageKey && (\n (newImageKey && newImageKey !== oldImageKey) ||\n (!newImageKey)\n )) {\n try {\n await deleteImageUtil({keys: [oldImageKey]});\n } catch (error) {\n console.error('Failed to delete old image:', error);\n // Continue with update even if deletion fails\n }\n }\n\n const updatedStore = await updateStoreInDb(\n id,\n {\n name,\n description,\n imageUrl: newImageKey,\n owner,\n },\n products\n );\n\n /*\n // Old implementation - direct DB query:\n const [updatedStore] = await db\n .update(storeInfo)\n .set({\n name,\n description,\n imageUrl: newImageKey,\n owner,\n })\n .where(eq(storeInfo.id, id))\n .returning();\n\n if (!updatedStore) {\n throw new ApiError(\"Store not found\", 404);\n }\n\n // Update products if provided\n if (products) {\n // First, set storeId to null for products not in the list but currently assigned to this store\n await db\n .update(productInfo)\n .set({ storeId: null })\n .where(eq(productInfo.storeId, id));\n\n // Then, assign the selected products to this store\n if (products.length > 0) {\n await db\n .update(productInfo)\n .set({ storeId: id })\n .where(inArray(productInfo.id, products));\n }\n }\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return {\n store: updatedStore,\n message: \"Store updated successfully\",\n };\n }),\n\n deleteStore: protectedProcedure\n .input(z.object({\n storeId: z.number(),\n }))\n .mutation(async ({ input, ctx }): Promise<{ message: string }> => {\n const { storeId } = input;\n\n const result = await deleteStoreFromDb(storeId);\n\n /*\n // Old implementation - direct DB query with transaction:\n const result = await db.transaction(async (tx) => {\n // First, update all products of this store to set storeId to null\n await tx\n .update(productInfo)\n .set({ storeId: null })\n .where(eq(productInfo.storeId, storeId));\n\n // Then delete the store\n const [deletedStore] = await tx\n .delete(storeInfo)\n .where(eq(storeInfo.id, storeId))\n .returning();\n\n if (!deletedStore) {\n throw new ApiError(\"Store not found\", 404);\n }\n\n return {\n message: \"Store deleted successfully\",\n };\n });\n */\n\n // Reinitialize stores to reflect changes (outside transaction)\n scheduleStoreInitialization()\n\n return result;\n }),\n});\n", "import { router, protectedProcedure } from \"@/src/trpc/trpc-index\"\nimport { z } from \"zod\";\n\nconst initiateRefundSchema = z\n .object({\n orderId: z.number(),\n refundPercent: z.number().min(0).max(100).optional(),\n refundAmount: z.number().min(0).optional(),\n })\n .refine(\n (data) => {\n const hasPercent = data.refundPercent !== undefined;\n const hasAmount = data.refundAmount !== undefined;\n return (hasPercent && !hasAmount) || (!hasPercent && hasAmount);\n },\n {\n message:\n \"Provide either refundPercent or refundAmount, not both or neither\",\n }\n );\n\nexport const adminPaymentsRouter = router({\n initiateRefund: protectedProcedure\n .input(initiateRefundSchema)\n .mutation(async ({ input }) => {\n return {}\n }),\n});\n", "import { z } from 'zod';\nimport { protectedProcedure, router } from '@/src/trpc/trpc-index'\nimport { extractKeyFromPresignedUrl, scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error';\nimport { scheduleStoreInitialization } from '@/src/stores/store-initializer'\nimport {\n getBanners as getBannersFromDb,\n getBannerById as getBannerByIdFromDb,\n createBanner as createBannerInDb,\n updateBanner as updateBannerInDb,\n deleteBanner as deleteBannerFromDb,\n} from '@/src/dbService'\nimport type { Banner } from '@packages/shared'\n\n\nexport const bannerRouter = router({\n // Get all banners\n getBanners: protectedProcedure\n .query(async (): Promise<{ banners: Banner[] }> => {\n try {\n\n // Using dbService helper (new implementation)\n const banners = await getBannersFromDb();\n\n \n // Old implementation - direct DB query:\n // const banners = await db.query.homeBanners.findMany({\n // orderBy: desc(homeBanners.createdAt), // Order by creation date instead\n // Removed product relationship since we now use productIds array\n // });\n \n\n // Convert S3 keys to signed URLs for client\n const bannersWithSignedUrls = await Promise.all(\n banners.map(async (banner) => {\n try {\n return {\n ...banner,\n imageUrl: banner.imageUrl ? scaffoldAssetUrl(banner.imageUrl) : banner.imageUrl,\n // Ensure productIds is always an array\n productIds: banner.productIds || [],\n };\n } catch (error) {\n console.error(`Failed to generate signed URL for banner ${banner.id}:`, error);\n return {\n ...banner,\n imageUrl: banner.imageUrl, // Keep original on error\n // Ensure productIds is always an array\n productIds: banner.productIds || [],\n };\n }\n })\n );\n\n return {\n banners: bannersWithSignedUrls,\n };\n }\n catch(e:any) {\n console.log(e)\n \n throw new ApiError(e.message);\n }\n }),\n\n // Get single banner by ID\n getBanner: protectedProcedure\n .input(z.object({ id: z.number() }))\n .query(async ({ input }): Promise => {\n // Using dbService helper (new implementation)\n const banner = await getBannerByIdFromDb(input.id);\n \n /*\n // Old implementation - direct DB query:\n const banner = await db.query.homeBanners.findFirst({\n where: eq(homeBanners.id, input.id),\n // Removed product relationship since we now use productIds array\n });\n */\n\n if (banner) {\n try {\n // Convert S3 key to signed URL for client\n if (banner.imageUrl) {\n banner.imageUrl = scaffoldAssetUrl(banner.imageUrl);\n }\n } catch (error) {\n console.error(`Failed to generate signed URL for banner ${banner.id}:`, error);\n // Keep original imageUrl on error\n }\n\n // Ensure productIds is always an array (handle migration compatibility)\n if (!banner.productIds) {\n banner.productIds = [];\n }\n }\n\n return banner;\n }),\n\n // Create new banner\n createBanner: protectedProcedure\n .input(z.object({\n name: z.string().min(1),\n imageUrl: z.string().url(),\n description: z.string().optional(),\n productIds: z.array(z.number()).optional(),\n redirectUrl: z.string().url().optional(),\n // serialNum removed completely\n }))\n .mutation(async ({ input }): Promise => {\n try {\n // Using dbService helper (new implementation)\n const imageUrl = extractKeyFromPresignedUrl(input.imageUrl)\n const banner = await createBannerInDb({\n name: input.name,\n imageUrl: imageUrl,\n description: input.description ?? null,\n productIds: input.productIds || [],\n redirectUrl: input.redirectUrl ?? null,\n serialNum: 999, // Default value, not used\n isActive: false, // Default to inactive\n });\n\n /*\n // Old implementation - direct DB query:\n const imageUrl = extractKeyFromPresignedUrl(input.imageUrl)\n const [banner] = await db.insert(homeBanners).values({\n name: input.name,\n imageUrl: imageUrl,\n description: input.description,\n productIds: input.productIds || [],\n redirectUrl: input.redirectUrl,\n serialNum: 999, // Default value, not used\n isActive: false, // Default to inactive\n }).returning();\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return banner;\n } catch (error) {\n console.error('Error creating banner:', error);\n throw error; // Re-throw to maintain tRPC error handling\n }\n }),\n\n // Update banner\n updateBanner: protectedProcedure\n .input(z.object({\n id: z.number(),\n name: z.string().min(1).optional(),\n imageUrl: z.string().url().optional(),\n description: z.string().optional(),\n productIds: z.array(z.number()).optional(),\n redirectUrl: z.string().url().optional(),\n serialNum: z.number().nullable().optional(),\n isActive: z.boolean().optional(),\n }))\n .mutation(async ({ input }): Promise => {\n try {\n // Using dbService helper (new implementation)\n const { id, ...updateData } = input;\n\n // Extract S3 key from presigned URL if imageUrl is provided\n const processedData = {\n ...updateData,\n ...(updateData.imageUrl && {\n imageUrl: extractKeyFromPresignedUrl(updateData.imageUrl)\n }),\n };\n\n // Handle serialNum null case\n if ('serialNum' in processedData && processedData.serialNum === null) {\n processedData.serialNum = null;\n }\n\n const banner = await updateBannerInDb(id, processedData);\n\n /*\n // Old implementation - direct DB query:\n const { id, ...updateData } = input;\n const incomingProductIds = input.productIds;\n // Extract S3 key from presigned URL if imageUrl is provided\n const processedData = {\n ...updateData,\n ...(updateData.imageUrl && {\n imageUrl: extractKeyFromPresignedUrl(updateData.imageUrl)\n }),\n };\n\n // Handle serialNum null case\n const finalData: any = { ...processedData };\n if ('serialNum' in finalData && finalData.serialNum === null) {\n // Set to null explicitly\n finalData.serialNum = null;\n }\n\n const [banner] = await db.update(homeBanners)\n .set({ ...finalData, lastUpdated: new Date(), })\n .where(eq(homeBanners.id, id))\n .returning();\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return banner;\n } catch (error) {\n console.error('Error updating banner:', error);\n throw error;\n }\n }),\n\n // Delete banner\n deleteBanner: protectedProcedure\n .input(z.object({ id: z.number() }))\n .mutation(async ({ input }): Promise<{ success: true }> => {\n // Using dbService helper (new implementation)\n await deleteBannerFromDb(input.id);\n\n /*\n // Old implementation - direct DB query:\n await db.delete(homeBanners).where(eq(homeBanners.id, input.id));\n */\n\n // Reinitialize stores to reflect changes\n scheduleStoreInitialization()\n\n return { success: true };\n }),\n});\n", "import { protectedProcedure } from '@/src/trpc/trpc-index';\nimport { z } from 'zod';\nimport { ApiError } from '@/src/lib/api-error';\nimport { recomputeUserNegativityScore } from '@/src/stores/user-negativity-store';\nimport {\n createUserByMobile,\n getUserByMobile,\n getUnresolvedComplaintsCount,\n getAllUsersWithFilters,\n getOrderCountsByUserIds,\n getLastOrdersByUserIds,\n getSuspensionStatusesByUserIds,\n getUserBasicInfo,\n getUserSuspensionStatus,\n getUserOrders,\n getOrderStatusesByOrderIds,\n getItemCountsByOrderIds,\n upsertUserSuspension,\n searchUsers,\n getAllNotifCreds,\n getAllUnloggedTokens,\n getNotifTokensByUserIds,\n getUserIncidentsWithRelations,\n createUserIncident,\n} from '@/src/dbService';\nimport { queueDataPusher } from '@/src/lib/queue-data-pusher'\n\nexport const userRouter = {\n createUserByMobile: protectedProcedure\n .input(z.object({\n mobile: z.string().min(1, 'Mobile number is required'),\n }))\n .mutation(async ({ input }) => {\n // Clean mobile number (remove non-digits)\n const cleanMobile = input.mobile.replace(/\\D/g, '');\n\n // Validate: exactly 10 digits\n if (cleanMobile.length !== 10) {\n throw new ApiError('Mobile number must be exactly 10 digits', 400);\n }\n\n // Check if user already exists\n const existingUser = await getUserByMobile(cleanMobile);\n\n if (existingUser) {\n throw new ApiError('User with this mobile number already exists', 409);\n }\n\n const newUser = await createUserByMobile(cleanMobile);\n\n return {\n success: true,\n data: newUser,\n };\n }),\n\n getEssentials: protectedProcedure\n .query(async () => {\n const count = await getUnresolvedComplaintsCount();\n \n return {\n unresolvedComplaints: count,\n };\n }),\n\n getAllUsers: protectedProcedure\n .input(z.object({\n limit: z.number().min(1).max(100).default(50),\n cursor: z.number().optional(),\n search: z.string().optional(),\n }))\n .query(async ({ input }) => {\n const { limit, cursor, search } = input;\n \n const { users: usersToReturn, hasMore } = await getAllUsersWithFilters(limit, cursor, search);\n\n // Get order stats for each user\n const userIds = usersToReturn.map((u: any) => u.id);\n \n const orderCounts = await getOrderCountsByUserIds(userIds);\n const lastOrders = await getLastOrdersByUserIds(userIds);\n const suspensionStatuses = await getSuspensionStatusesByUserIds(userIds);\n \n // Create lookup maps\n const orderCountMap = new Map(orderCounts.map(o => [o.userId, o.totalOrders]));\n const lastOrderMap = new Map(lastOrders.map(o => [o.userId, o.lastOrderDate]));\n const suspensionMap = new Map(suspensionStatuses.map(s => [s.userId, s.isSuspended]));\n\n // Combine data\n const usersWithStats = usersToReturn.map((user: any) => ({\n ...user,\n totalOrders: orderCountMap.get(user.id) || 0,\n lastOrderDate: lastOrderMap.get(user.id) || null,\n isSuspended: suspensionMap.get(user.id) ?? false,\n }));\n\n // Get next cursor\n const nextCursor = hasMore ? usersToReturn[usersToReturn.length - 1].id : undefined;\n\n return {\n users: usersWithStats,\n nextCursor,\n hasMore,\n };\n }),\n\n getUserDetails: protectedProcedure\n .input(z.object({\n userId: z.number(),\n }))\n .query(async ({ input }) => {\n const { userId } = input;\n\n // Get user info\n const user = await getUserBasicInfo(userId);\n\n if (!user) {\n throw new ApiError('User not found', 404);\n }\n\n // Get user suspension status\n const isSuspended = await getUserSuspensionStatus(userId);\n\n // Get all orders for this user\n const userOrders = await getUserOrders(userId);\n\n // Get order status for each order\n const orderIds = userOrders.map((o: any) => o.id);\n const orderStatuses = await getOrderStatusesByOrderIds(orderIds);\n\n // Get item counts for each order\n const itemCounts = await getItemCountsByOrderIds(orderIds);\n\n // Create lookup maps\n const statusMap = new Map(orderStatuses.map(s => [s.orderId, s]));\n const itemCountMap = new Map(itemCounts.map(c => [c.orderId, c.itemCount]));\n\n // Determine status string\n const getStatus = (status: { isDelivered: boolean; isCancelled: boolean } | undefined) => {\n if (!status) return 'pending';\n if (status.isCancelled) return 'cancelled';\n if (status.isDelivered) return 'delivered';\n return 'pending';\n };\n\n // Combine data\n const ordersWithDetails = userOrders.map((order: any) => {\n const status = statusMap.get(order.id);\n return {\n id: order.id,\n readableId: order.readableId,\n totalAmount: order.totalAmount,\n createdAt: order.createdAt,\n isFlashDelivery: order.isFlashDelivery,\n status: getStatus(status),\n itemCount: itemCountMap.get(order.id) || 0,\n };\n });\n\n return {\n user: {\n ...user,\n isSuspended,\n },\n orders: ordersWithDetails,\n };\n }),\n\n updateUserSuspension: protectedProcedure\n .input(z.object({\n userId: z.number(),\n isSuspended: z.boolean(),\n }))\n .mutation(async ({ input }) => {\n const { userId, isSuspended } = input;\n\n await upsertUserSuspension(userId, isSuspended);\n\n return {\n success: true,\n message: `User ${isSuspended ? 'suspended' : 'unsuspended'} successfully`,\n };\n }),\n\n getUsersForNotification: protectedProcedure\n .input(z.object({\n search: z.string().optional(),\n }))\n .query(async ({ input }) => {\n const { search } = input;\n\n const usersList = await searchUsers(search);\n\n // Get eligible users (have notif_creds entry)\n const eligibleUsers = await getAllNotifCreds();\n\n const eligibleSet = new Set(eligibleUsers.map(u => u.userId));\n\n return {\n users: usersList.map((user: any) => ({\n id: user.id,\n name: user.name,\n mobile: user.mobile,\n isEligibleForNotif: eligibleSet.has(user.id),\n })),\n };\n }),\n\n sendNotification: protectedProcedure\n .input(z.object({\n userIds: z.array(z.number()).default([]),\n title: z.string().min(1, 'Title is required'),\n text: z.string().min(1, 'Message is required'),\n imageUrl: z.string().optional(),\n }))\n .mutation(async ({ input }) => {\n const { userIds, title, text, imageUrl } = input;\n\n let tokens: string[] = [];\n\n if (userIds.length === 0) {\n // Send to all users - get tokens from both logged-in and unlogged users\n const loggedInTokens = await getAllNotifCreds();\n const unloggedTokens = await getAllUnloggedTokens();\n \n tokens = [\n ...loggedInTokens.map(t => t.token),\n ...unloggedTokens.map(t => t.token)\n ];\n } else {\n // Send to specific users - get their tokens\n const userTokens = await getNotifTokensByUserIds(userIds);\n tokens = userTokens.map(t => t.token);\n }\n\n // Queue one job per token\n let queuedCount = 0;\n for (const token of tokens) {\n try {\n await queueDataPusher.pushNotifQueue({\n name: 'send-admin-notification',\n jobData: {\n token,\n title,\n body: text,\n imageUrl: imageUrl || null,\n },\n options: {\n attempts: 3,\n backoff: {\n type: 'exponential',\n delay: 2000,\n },\n },\n })\n queuedCount++;\n } catch (error) {\n console.error(`Failed to queue notification for token:`, error);\n }\n }\n\n return {\n success: true,\n message: `Notification queued for ${queuedCount} users`,\n };\n }),\n\n getUserIncidents: protectedProcedure\n .input(z.object({\n userId: z.number(),\n }))\n .query(async ({ input }) => {\n const { userId } = input;\n\n const incidents = await getUserIncidentsWithRelations(userId);\n\n return {\n incidents: incidents.map((incident: any) => ({\n id: incident.id,\n userId: incident.userId,\n orderId: incident.orderId,\n dateAdded: incident.dateAdded,\n adminComment: incident.adminComment,\n addedBy: incident.addedBy?.name || 'Unknown',\n negativityScore: incident.negativityScore,\n orderStatus: incident.order?.orderStatus?.[0]?.isCancelled ? 'cancelled' : 'active',\n })),\n };\n }),\n\n addUserIncident: protectedProcedure\n .input(z.object({\n userId: z.number(),\n orderId: z.number().optional(),\n adminComment: z.string().optional(),\n negativityScore: z.number().optional(),\n }))\n .mutation(async ({ input, ctx }) => {\n const { userId, orderId, adminComment, negativityScore } = input;\n \n const adminUserId = ctx.staffUser?.id;\n \n if (!adminUserId) {\n throw new ApiError('Admin user not authenticated', 401);\n }\n\n const incident = await createUserIncident(\n userId,\n orderId,\n adminComment,\n adminUserId,\n negativityScore\n );\n\n recomputeUserNegativityScore(userId);\n\n return {\n success: true,\n data: incident,\n };\n }),\n};\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport { computeConstants } from '@/src/lib/const-store'\nimport { CONST_KEYS } from '@/src/lib/const-keys'\nimport { getAllConstants as getAllConstantsFromDb, upsertConstants as upsertConstantsInDb } from '@/src/dbService'\nimport type { Constant, ConstantUpdateResult } from '@packages/shared'\n\nexport const constRouter = router({\n getConstants: protectedProcedure\n .query(async (): Promise => {\n // Using dbService helper (new implementation)\n const constants = await getAllConstantsFromDb();\n\n /*\n // Old implementation - direct DB query:\n const constants = await db.select().from(keyValStore);\n\n const resp = constants.map(c => ({\n key: c.key,\n value: c.value,\n }));\n */\n \n return constants;\n }),\n\n updateConstants: protectedProcedure\n .input(z.object({\n constants: z.array(z.object({\n key: z.string(),\n value: z.any(),\n })),\n }))\n .mutation(async ({ input }): Promise => {\n const { constants } = input;\n\n const validKeys = Object.values(CONST_KEYS) as string[];\n const invalidKeys = constants\n .filter(c => !validKeys.includes(c.key))\n .map(c => c.key);\n\n if (invalidKeys.length > 0) {\n throw new Error(`Invalid constant keys: ${invalidKeys.join(', ')}`);\n }\n\n console.log(input)\n // Using dbService helper (new implementation)\n await upsertConstantsInDb(constants);\n\n /*\n // Old implementation - direct DB query:\n await db.transaction(async (tx) => {\n for (const { key, value } of constants) {\n await tx.insert(keyValStore)\n .values({ key, value })\n .onConflictDoUpdate({\n target: keyValStore.key,\n set: { value },\n });\n }\n });\n */\n\n // Refresh all constants in Redis after database update\n await computeConstants();\n\n return {\n success: true,\n updatedCount: constants.length,\n keys: constants.map(c => c.key),\n };\n }),\n});\n", "// import { router } from '@/src/trpc/trpc-index';\nimport { router } from '@/src/trpc/trpc-index'\nimport { complaintRouter } from '@/src/trpc/apis/admin-apis/apis/complaint'\nimport { couponRouter } from '@/src/trpc/apis/admin-apis/apis/coupon'\nimport { orderRouter } from '@/src/trpc/apis/admin-apis/apis/order'\nimport { vendorSnippetsRouter } from '@/src/trpc/apis/admin-apis/apis/vendor-snippets'\nimport { slotsRouter } from '@/src/trpc/apis/admin-apis/apis/slots'\nimport { productRouter } from '@/src/trpc/apis/admin-apis/apis/product'\nimport { staffUserRouter } from '@/src/trpc/apis/admin-apis/apis/staff-user'\nimport { storeRouter } from '@/src/trpc/apis/admin-apis/apis/store'\nimport { adminPaymentsRouter } from '@/src/trpc/apis/admin-apis/apis/payments'\nimport { bannerRouter } from '@/src/trpc/apis/admin-apis/apis/banner'\nimport { userRouter } from '@/src/trpc/apis/admin-apis/apis/user'\nimport { constRouter } from '@/src/trpc/apis/admin-apis/apis/const'\n\nexport const adminRouter = router({\n complaint: complaintRouter,\n coupon: couponRouter,\n order: orderRouter,\n vendorSnippets: vendorSnippetsRouter,\n slots: slotsRouter,\n product: productRouter,\n staffUser: staffUserRouter,\n store: storeRouter,\n payments: adminPaymentsRouter,\n banner: bannerRouter,\n user: userRouter,\n const: constRouter,\n});\n\nexport type AdminRouter = typeof adminRouter;\n", "import axios from 'axios';\n\nexport async function extractCoordsFromRedirectUrl(url: string): Promise<{ latitude: string; longitude: string } | null> {\n try {\n await axios.get(url, { maxRedirects: 0 });\n return null;\n } catch (error: any) {\n if (error.response?.status === 302 || error.response?.status === 301) {\n const redirectUrl = error.response.headers.location;\n const coordsMatch = redirectUrl.match(/!3d([-\\d.]+)!4d([-\\d.]+)/);\n if (coordsMatch) {\n return {\n latitude: coordsMatch[1],\n longitude: coordsMatch[2],\n };\n }\n }\n return null;\n }\n}\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { extractCoordsFromRedirectUrl } from '@/src/lib/license-util'\nimport {\n getUserDefaultAddress as getDefaultAddressInDb,\n getUserAddresses as getUserAddressesInDb,\n getUserAddressById as getUserAddressByIdInDb,\n clearUserDefaultAddress as clearDefaultAddressInDb,\n createUserAddress as createUserAddressInDb,\n updateUserAddress as updateUserAddressInDb,\n deleteUserAddress as deleteUserAddressInDb,\n hasOngoingOrdersForAddress as hasOngoingOrdersForAddressInDb,\n} from '@/src/dbService'\nimport type {\n UserAddressResponse,\n UserAddressesResponse,\n UserAddressDeleteResponse,\n} from '@packages/shared'\n\nexport const addressRouter = router({\n getDefaultAddress: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n const defaultAddress = await getDefaultAddressInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const [defaultAddress] = await db\n .select()\n .from(addresses)\n .where(and(eq(addresses.userId, userId), eq(addresses.isDefault, true)))\n .limit(1);\n */\n\n return { success: true, data: defaultAddress }\n }),\n\n getUserAddresses: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n const userAddresses = await getUserAddressesInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const userAddresses = await db.select().from(addresses).where(eq(addresses.userId, userId));\n */\n\n return { success: true, data: userAddresses }\n }),\n\n createAddress: protectedProcedure\n .input(z.object({\n name: z.string().min(1, 'Name is required'),\n phone: z.string().min(1, 'Phone is required'),\n addressLine1: z.string().min(1, 'Address line 1 is required'),\n addressLine2: z.string().optional(),\n city: z.string().min(1, 'City is required'),\n state: z.string().min(1, 'State is required'),\n pincode: z.string().min(1, 'Pincode is required'),\n isDefault: z.boolean().optional(),\n latitude: z.number().optional(),\n longitude: z.number().optional(),\n googleMapsUrl: z.string().optional(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { name, phone, addressLine1, addressLine2, city, state, pincode, isDefault, googleMapsUrl } = input;\n\n let { latitude, longitude } = input;\n\n if (googleMapsUrl && latitude === undefined && longitude === undefined) {\n const coords = await extractCoordsFromRedirectUrl(googleMapsUrl);\n if (coords) {\n latitude = Number(coords.latitude);\n longitude = Number(coords.longitude);\n }\n }\n\n // Validate required fields\n if (!name || !phone || !addressLine1 || !city || !state || !pincode) {\n throw new Error('Missing required fields');\n }\n\n // If setting as default, unset other defaults\n if (isDefault) {\n await clearDefaultAddressInDb(userId)\n }\n\n const newAddress = await createUserAddressInDb({\n userId,\n name,\n phone,\n addressLine1,\n addressLine2,\n city,\n state,\n pincode,\n isDefault: isDefault || false,\n latitude,\n longitude,\n googleMapsUrl,\n })\n\n /*\n // Old implementation - direct DB queries:\n if (isDefault) {\n await db.update(addresses).set({ isDefault: false }).where(eq(addresses.userId, userId));\n }\n\n const [newAddress] = await db.insert(addresses).values({\n userId,\n name,\n phone,\n addressLine1,\n addressLine2,\n city,\n state,\n pincode,\n isDefault: isDefault || false,\n latitude,\n longitude,\n googleMapsUrl,\n }).returning();\n */\n\n return { success: true, data: newAddress }\n }),\n\n updateAddress: protectedProcedure\n .input(z.object({\n id: z.number().int().positive(),\n name: z.string().min(1, 'Name is required'),\n phone: z.string().min(1, 'Phone is required'),\n addressLine1: z.string().min(1, 'Address line 1 is required'),\n addressLine2: z.string().optional(),\n city: z.string().min(1, 'City is required'),\n state: z.string().min(1, 'State is required'),\n pincode: z.string().min(1, 'Pincode is required'),\n isDefault: z.boolean().optional(),\n latitude: z.number().optional(),\n longitude: z.number().optional(),\n googleMapsUrl: z.string().optional(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { id, name, phone, addressLine1, addressLine2, city, state, pincode, isDefault, googleMapsUrl } = input;\n\n let { latitude, longitude } = input;\n\n if (googleMapsUrl && latitude === undefined && longitude === undefined) {\n const coords = await extractCoordsFromRedirectUrl(googleMapsUrl);\n if (coords) {\n latitude = Number(coords.latitude);\n longitude = Number(coords.longitude);\n }\n }\n\n // Check if address exists and belongs to user\n const existingAddress = await getUserAddressByIdInDb(userId, id)\n if (!existingAddress) {\n throw new Error('Address not found')\n }\n\n // If setting as default, unset other defaults\n if (isDefault) {\n await clearDefaultAddressInDb(userId)\n }\n\n const updatedAddress = await updateUserAddressInDb({\n userId,\n addressId: id,\n name,\n phone,\n addressLine1,\n addressLine2,\n city,\n state,\n pincode,\n isDefault: isDefault || false,\n googleMapsUrl,\n latitude,\n longitude,\n })\n\n /*\n // Old implementation - direct DB queries:\n if (isDefault) {\n await db.update(addresses).set({ isDefault: false }).where(eq(addresses.userId, userId));\n }\n\n const updateData: any = {\n name,\n phone,\n addressLine1,\n addressLine2,\n city,\n state,\n pincode,\n isDefault: isDefault || false,\n googleMapsUrl,\n };\n\n if (latitude !== undefined) {\n updateData.latitude = latitude;\n }\n if (longitude !== undefined) {\n updateData.longitude = longitude;\n }\n\n const [updatedAddress] = await db.update(addresses).set(updateData).where(and(eq(addresses.id, id), eq(addresses.userId, userId))).returning();\n */\n\n return { success: true, data: updatedAddress }\n }),\n\n deleteAddress: protectedProcedure\n .input(z.object({\n id: z.number().int().positive(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { id } = input;\n\n const existingAddress = await getUserAddressByIdInDb(userId, id)\n if (!existingAddress) {\n throw new Error('Address not found or does not belong to user')\n }\n\n const hasOngoingOrders = await hasOngoingOrdersForAddressInDb(id)\n if (hasOngoingOrders) {\n throw new Error('Address is attached to an ongoing order. Please cancel the order first.')\n }\n\n if (existingAddress.isDefault) {\n throw new Error('Cannot delete default address. Please set another address as default first.')\n }\n\n const deleted = await deleteUserAddressInDb(userId, id)\n\n /*\n // Old implementation - direct DB queries:\n const existingAddress = await db.select().from(addresses).where(and(eq(addresses.id, id), eq(addresses.userId, userId))).limit(1);\n if (existingAddress.length === 0) {\n throw new Error('Address not found or does not belong to user');\n }\n\n const ongoingOrders = await db.select({\n order: orders,\n status: orderStatus,\n slot: deliverySlotInfo\n })\n .from(orders)\n .innerJoin(orderStatus, eq(orders.id, orderStatus.orderId))\n .innerJoin(deliverySlotInfo, eq(orders.slotId, deliverySlotInfo.id))\n .where(and(\n eq(orders.addressId, id),\n eq(orderStatus.isCancelled, false),\n gte(deliverySlotInfo.deliveryTime, new Date())\n ))\n .limit(1);\n\n if (ongoingOrders.length > 0) {\n throw new Error('Address is attached to an ongoing order. Please cancel the order first.');\n }\n\n if (existingAddress[0].isDefault) {\n throw new Error('Cannot delete default address. Please set another address as default first.');\n }\n\n await db.delete(addresses).where(and(eq(addresses.id, id), eq(addresses.userId, userId)));\n */\n\n if (!deleted) {\n throw new Error('Address not found or does not belong to user')\n }\n\n return { success: true, message: 'Address deleted successfully' }\n }),\n});\n", "import { ApiError } from '@/src/lib/api-error'\nimport { getOtpSenderAuthToken } from '@/src/lib/env-exporter'\n\nconst otpStore = new Map();\n\nconst setOtpCreds = (phone: string, verificationId: string) => {\n otpStore.set(phone, verificationId);\n};\n\nexport function getOtpCreds(mobile: string) {\n const authKey = otpStore.get(mobile);\n\n return authKey || null;\n}\n\nexport const sendOtp = async (phone: string) => {\n if (!phone) {\n throw new ApiError(\"Phone number is required\", 400);\n }\n const reqUrl = `https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=${phone}&timeout=300`;\n const resp = await fetch(reqUrl, {\n headers: {\n authToken: getOtpSenderAuthToken(),\n },\n method: \"POST\",\n });\n const data = await resp.json();\n\n if (data.message === \"SUCCESS\") {\n setOtpCreds(phone, data.data.verificationId);\n return { success: true, message: \"OTP sent successfully\", verificationId: data.data.verificationId };\n }\n if (data.message === \"REQUEST_ALREADY_EXISTS\") {\n return { success: true, message: \"OTP already sent. Last OTP is still valid\" };\n }\n\n throw new ApiError(\"Error while sending OTP. Please try again\", 500);\n};\n\nexport async function verifyOtpUtil(mobile: string, otp: string, verifId: string):Promise {\n const reqUrl = `https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=${verifId}&code=${otp}`;\n const resp = await fetch(reqUrl, {\n method: \"GET\",\n headers: {\n authToken: getOtpSenderAuthToken(),\n },\n });\n\n const rawData = await resp.json();\n if (rawData.data?.verificationStatus === \"VERIFICATION_COMPLETED\") {\n // delete the verificationId from the local storage\n return true;\n }\n return false;\n}\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport bcrypt from 'bcryptjs'\nimport { SignJWT } from 'jose';\nimport { generateSignedUrlFromS3Url } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter'\nimport { sendOtp, verifyOtpUtil, getOtpCreds } from '@/src/lib/otp-utils'\nimport {\n getUserAuthByEmail as getUserAuthByEmailInDb,\n getUserAuthByMobile as getUserAuthByMobileInDb,\n getUserAuthById as getUserAuthByIdInDb,\n getUserAuthCreds as getUserAuthCredsInDb,\n getUserAuthDetails as getUserAuthDetailsInDb,\n createUserAuthWithMobile as createUserAuthWithMobileInDb,\n upsertUserAuthPassword as upsertUserAuthPasswordInDb,\n deleteUserAuthAccount as deleteUserAuthAccountInDb,\n createUserWithProfile as createUserWithProfileInDb,\n updateUserProfile as updateUserProfileInDb,\n getUserDetailsByUserId as getUserDetailsByUserIdInDb,\n} from '@/src/dbService'\nimport type {\n UserAuthResult,\n UserAuthResponse,\n UserOtpVerifyResponse,\n UserPasswordUpdateResponse,\n UserProfileResponse,\n UserDeleteAccountResponse,\n} from '@packages/shared'\n\ninterface LoginRequest {\n identifier: string;\n password: string;\n}\n\ninterface RegisterRequest {\n name: string;\n email: string;\n mobile: string;\n password: string;\n profileImageUrl?: string | null;\n}\n\nconst generateToken = async (userId: number): Promise => {\n return await new SignJWT({ userId })\n .setProtectedHeader({ alg: 'HS256' })\n .setExpirationTime('7d')\n .sign(getEncodedJwtSecret());\n};\n\n\n\nexport const authRouter = router({\n login: publicProcedure\n .input(z.object({\n identifier: z.string().min(1, 'Email/mobile is required'),\n password: z.string().min(1, 'Password is required'),\n }))\n .mutation(async ({ input }): Promise => {\n const { identifier, password }: LoginRequest = input;\n\n if (!identifier || !password) {\n throw new ApiError('Email/mobile and password are required', 400);\n }\n\n // Find user by email or mobile\n const user = await getUserAuthByEmailInDb(identifier.toLowerCase())\n let foundUser = user || null\n\n if (!foundUser) {\n // Try mobile if email didn't work\n const userByMobile = await getUserAuthByMobileInDb(identifier)\n foundUser = userByMobile || null\n }\n\n if (!foundUser) {\n throw new ApiError('Invalid credentials', 401);\n }\n\n // Get user credentials\n const userCredentials = await getUserAuthCredsInDb(foundUser.id)\n\n if (!userCredentials) {\n throw new ApiError('Account setup incomplete. Please contact support.', 401);\n }\n\n // Get user details for profile image\n const userDetail = await getUserAuthDetailsInDb(foundUser.id)\n\n // Generate signed URL for profile image if it exists\n const profileImageSignedUrl = userDetail?.profileImage\n ? await generateSignedUrlFromS3Url(userDetail.profileImage)\n : null;\n\n // Verify password\n const isPasswordValid = await bcrypt.compare(password, userCredentials.userPassword);\n if (!isPasswordValid) {\n throw new ApiError('Invalid credentials', 401);\n }\n\n const token = await generateToken(foundUser.id);\n\n const response: UserAuthResponse = {\n token,\n user: {\n id: foundUser.id,\n name: foundUser.name,\n email: foundUser.email,\n mobile: foundUser.mobile,\n createdAt: foundUser.createdAt.toISOString(),\n profileImage: profileImageSignedUrl,\n bio: userDetail?.bio || null,\n dateOfBirth: userDetail?.dateOfBirth\n ? new Date(userDetail.dateOfBirth as any).toISOString()\n : null,\n gender: userDetail?.gender || null,\n occupation: userDetail?.occupation || null,\n },\n };\n\n return {\n success: true,\n data: response,\n }\n }),\n\n register: publicProcedure\n .input(z.object({\n name: z.string().min(1, 'Name is required'),\n email: z.string().email('Invalid email format'),\n mobile: z.string().min(1, 'Mobile is required'),\n password: z.string().min(1, 'Password is required'),\n profileImageUrl: z.string().nullable().optional(),\n }))\n .mutation(async ({ input }): Promise => {\n const { name, email, mobile, password, profileImageUrl }: RegisterRequest = input;\n\n if (!name || !email || !mobile || !password) {\n throw new ApiError('All fields are required', 400);\n }\n\n // Validate email format\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(email)) {\n throw new ApiError('Invalid email format', 400);\n }\n\n // Validate mobile format (Indian mobile numbers)\n const cleanMobile = mobile.replace(/\\D/g, '');\n if (cleanMobile.length !== 10 || !/^[6-9]/.test(cleanMobile)) {\n throw new ApiError('Invalid mobile number', 400);\n }\n\n // Check if email already exists\n const existingEmail = await getUserAuthByEmailInDb(email.toLowerCase())\n\n if (existingEmail) {\n throw new ApiError('Email already registered', 409);\n }\n\n // Check if mobile already exists\n const existingMobile = await getUserAuthByMobileInDb(cleanMobile)\n\n if (existingMobile) {\n throw new ApiError('Mobile number already registered', 409);\n }\n\n // Hash password\n const hashedPassword = await bcrypt.hash(password, 12);\n\n // Create user and credentials in a transaction\n const newUser = await createUserWithProfileInDb({\n name: name.trim(),\n email: email.toLowerCase().trim(),\n mobile: cleanMobile,\n hashedPassword,\n profileImage: profileImageUrl ?? null,\n })\n\n const token = await generateToken(newUser.id);\n\n const profileImageSignedUrl = profileImageUrl\n ? await generateSignedUrlFromS3Url(profileImageUrl)\n : null\n\n const response: UserAuthResponse = {\n token,\n user: {\n id: newUser.id,\n name: newUser.name,\n email: newUser.email,\n mobile: newUser.mobile,\n createdAt: newUser.createdAt.toISOString(),\n profileImage: profileImageSignedUrl,\n },\n };\n\n return {\n success: true,\n data: response,\n }\n }),\n\n sendOtp: publicProcedure\n .input(z.object({\n mobile: z.string(),\n }))\n .mutation(async ({ input }) => {\n \n return await sendOtp(input.mobile);\n }),\n\n verifyOtp: publicProcedure\n .input(z.object({\n mobile: z.string(),\n otp: z.string(),\n }))\n .mutation(async ({ input }): Promise => {\n const verificationId = getOtpCreds(input.mobile);\n if (!verificationId) {\n throw new ApiError(\"OTP not sent or expired\", 400);\n }\n const isVerified = await verifyOtpUtil(input.mobile, input.otp, verificationId);\n\n if (!isVerified) {\n throw new ApiError(\"Invalid OTP\", 400);\n }\n\n // Find user\n let user = await getUserAuthByMobileInDb(input.mobile)\n\n // If user doesn't exist, create one\n if (!user) {\n user = await createUserAuthWithMobileInDb(input.mobile)\n }\n\n // Generate JWT\n const token = await generateToken(user.id);\n\n return {\n success: true,\n token,\n user: {\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n createdAt: user.createdAt.toISOString(),\n profileImage: null,\n },\n }\n }),\n\n updatePassword: protectedProcedure\n .input(z.object({\n password: z.string().min(6, 'Password must be at least 6 characters'),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const hashedPassword = await bcrypt.hash(input.password, 10);\n\n // Insert if not exists, then update if exists\n await upsertUserAuthPasswordInDb(userId, hashedPassword)\n\n /*\n // Old implementation - direct DB queries:\n try {\n await db.insert(userCreds).values({\n userId: userId,\n userPassword: hashedPassword,\n });\n } catch (error: any) {\n if (error.code === '23505') {\n await db.update(userCreds).set({\n userPassword: hashedPassword,\n }).where(eq(userCreds.userId, userId));\n } else {\n throw error;\n }\n }\n */\n\n return { success: true, message: 'Password updated successfully' }\n }),\n\n updateProfile: protectedProcedure\n .input(z.object({\n name: z.string().min(1).optional(),\n email: z.string().email('Invalid email format').optional(),\n mobile: z.string().min(1).optional(),\n password: z.string().min(6, 'Password must be at least 6 characters').optional(),\n bio: z.string().optional().nullable(),\n dateOfBirth: z.string().optional().nullable(),\n gender: z.string().optional().nullable(),\n occupation: z.string().optional().nullable(),\n profileImageUrl: z.string().optional().nullable(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const { name, email, mobile, password, bio, dateOfBirth, gender, occupation, profileImageUrl } = input\n\n if (email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(email)) {\n throw new ApiError('Invalid email format', 400);\n }\n }\n\n if (mobile) {\n const cleanMobile = mobile.replace(/\\D/g, '');\n if (cleanMobile.length !== 10 || !/^[6-9]/.test(cleanMobile)) {\n throw new ApiError('Invalid mobile number', 400);\n }\n }\n\n if (email) {\n const existingEmail = await getUserAuthByEmailInDb(email.toLowerCase())\n if (existingEmail && existingEmail.id !== userId) {\n throw new ApiError('Email already registered', 409)\n }\n }\n\n if (mobile) {\n const cleanMobile = mobile.replace(/\\D/g, '')\n const existingMobile = await getUserAuthByMobileInDb(cleanMobile)\n if (existingMobile && existingMobile.id !== userId) {\n throw new ApiError('Mobile number already registered', 409)\n }\n }\n\n let hashedPassword: string | undefined;\n if (password) {\n hashedPassword = await bcrypt.hash(password, 12)\n }\n\n const updatedUser = await updateUserProfileInDb(userId, {\n name: name?.trim(),\n email: email?.toLowerCase().trim(),\n mobile: mobile?.replace(/\\D/g, ''),\n hashedPassword,\n profileImage: profileImageUrl ?? undefined,\n bio: bio ?? undefined,\n dateOfBirth: dateOfBirth ? new Date(dateOfBirth) : undefined,\n gender: gender ?? undefined,\n occupation: occupation ?? undefined,\n })\n\n const userDetail = await getUserDetailsByUserIdInDb(userId)\n const profileImageSignedUrl = userDetail?.profileImage\n ? await generateSignedUrlFromS3Url(userDetail.profileImage)\n : null\n\n const authHeader = ctx.req.header('authorization');\n const token = authHeader?.replace('Bearer ', '') || ''\n\n const response: UserAuthResponse = {\n token,\n user: {\n id: updatedUser.id,\n name: updatedUser.name,\n email: updatedUser.email,\n mobile: updatedUser.mobile,\n createdAt: updatedUser.createdAt?.toISOString?.() || new Date().toISOString(),\n profileImage: profileImageSignedUrl,\n bio: userDetail?.bio || null,\n dateOfBirth: userDetail?.dateOfBirth\n ? new Date(userDetail.dateOfBirth as any).toISOString()\n : null,\n gender: userDetail?.gender || null,\n occupation: userDetail?.occupation || null,\n },\n }\n\n return {\n success: true,\n data: response,\n }\n }),\n\n getProfile: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const user = await getUserAuthByIdInDb(userId)\n\n if (!user) {\n throw new ApiError('User not found', 404);\n }\n\n return {\n success: true,\n data: {\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n },\n }\n }),\n\n deleteAccount: protectedProcedure\n .input(z.object({\n mobile: z.string().min(10, 'Mobile number is required'),\n }))\n .mutation(async ({ ctx, input }): Promise => {\n const userId = ctx.user.userId;\n const { mobile } = input;\n \n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n // Double-check: verify user exists and is the authenticated user\n const existingUser = await getUserAuthByIdInDb(userId)\n\n if (!existingUser) {\n throw new ApiError('User not found', 404);\n }\n\n // Additional verification: ensure we're not deleting someone else's data\n // The JWT token should already ensure this, but double-checking\n if (existingUser.id !== userId) {\n throw new ApiError('Unauthorized: Cannot delete another user\\'s account', 403);\n }\n\n // Verify mobile number matches user's registered mobile\n const cleanInputMobile = mobile.replace(/\\D/g, '');\n const cleanUserMobile = existingUser.mobile?.replace(/\\D/g, '');\n\n if (cleanInputMobile !== cleanUserMobile) {\n throw new ApiError('Mobile number does not match your registered number', 400);\n }\n\n // Use transaction for atomic deletion\n await deleteUserAuthAccountInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n await db.transaction(async (tx) => {\n await tx.delete(notifCreds).where(eq(notifCreds.userId, userId));\n await tx.delete(couponApplicableUsers).where(eq(couponApplicableUsers.userId, userId));\n await tx.delete(couponUsage).where(eq(couponUsage.userId, userId));\n await tx.delete(complaints).where(eq(complaints.userId, userId));\n await tx.delete(cartItems).where(eq(cartItems.userId, userId));\n await tx.delete(notifications).where(eq(notifications.userId, userId));\n await tx.delete(productReviews).where(eq(productReviews.userId, userId));\n await tx.update(reservedCoupons)\n .set({ redeemedBy: null })\n .where(eq(reservedCoupons.redeemedBy, userId));\n\n const userOrders = await tx\n .select({ id: orders.id })\n .from(orders)\n .where(eq(orders.userId, userId));\n\n for (const order of userOrders) {\n await tx.delete(orderItems).where(eq(orderItems.orderId, order.id));\n await tx.delete(orderStatus).where(eq(orderStatus.orderId, order.id));\n await tx.delete(payments).where(eq(payments.orderId, order.id));\n await tx.delete(refunds).where(eq(refunds.orderId, order.id));\n await tx.delete(couponUsage).where(eq(couponUsage.orderId, order.id));\n await tx.delete(complaints).where(eq(complaints.orderId, order.id));\n }\n\n await tx.delete(orders).where(eq(orders.userId, userId));\n await tx.delete(addresses).where(eq(addresses.userId, userId));\n await tx.delete(userDetails).where(eq(userDetails.userId, userId));\n await tx.delete(userCreds).where(eq(userCreds.userId, userId));\n await tx.delete(users).where(eq(users.id, userId));\n });\n */\n\n return { success: true, message: 'Account deleted successfully' }\n }),\n});\n", "import { router, protectedProcedure, publicProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { getMultipleProductsSlots } from '@/src/stores/slot-store'\nimport {\n getUserCartItemsWithProducts as getUserCartItemsWithProductsInDb,\n getUserProductById as getUserProductByIdInDb,\n getUserCartItemByUserProduct as getUserCartItemByUserProductInDb,\n incrementUserCartItemQuantity as incrementUserCartItemQuantityInDb,\n insertUserCartItem as insertUserCartItemInDb,\n updateUserCartItemQuantity as updateUserCartItemQuantityInDb,\n deleteUserCartItem as deleteUserCartItemInDb,\n clearUserCart as clearUserCartInDb,\n} from '@/src/dbService'\nimport type { UserCartResponse } from '@packages/shared'\n\nconst getCartData = async (userId: number): Promise => {\n const cartItemsWithProducts = await getUserCartItemsWithProductsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const cartItemsWithProducts = await db\n .select({\n cartId: cartItems.id,\n productId: productInfo.id,\n productName: productInfo.name,\n productPrice: productInfo.price,\n productImages: productInfo.images,\n productQuantity: productInfo.productQuantity,\n isOutOfStock: productInfo.isOutOfStock,\n unitShortNotation: units.shortNotation,\n quantity: cartItems.quantity,\n addedAt: cartItems.addedAt,\n })\n .from(cartItems)\n .innerJoin(productInfo, eq(cartItems.productId, productInfo.id))\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(eq(cartItems.userId, userId));\n */\n\n const cartWithSignedUrls = cartItemsWithProducts.map((item) => ({\n ...item,\n product: {\n ...item.product,\n images: scaffoldAssetUrl(item.product.images || []),\n },\n }))\n\n const totalAmount = cartWithSignedUrls.reduce((sum, item) => sum + item.subtotal, 0)\n\n return {\n items: cartWithSignedUrls,\n totalItems: cartWithSignedUrls.length,\n totalAmount,\n }\n}\n\nexport const cartRouter = router({\n getCart: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n return await getCartData(userId);\n }),\n\n addToCart: protectedProcedure\n .input(z.object({\n productId: z.number().int().positive(),\n quantity: z.number().int().positive(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { productId, quantity } = input;\n\n // Validate input\n if (!productId || !quantity || quantity <= 0) {\n throw new ApiError(\"Product ID and positive quantity required\", 400);\n }\n\n // Check if product exists\n const product = await getUserProductByIdInDb(productId)\n\n if (!product) {\n throw new ApiError('Product not found', 404)\n }\n\n const existingItem = await getUserCartItemByUserProductInDb(userId, productId)\n\n if (existingItem) {\n await incrementUserCartItemQuantityInDb(existingItem.id, quantity)\n } else {\n await insertUserCartItemInDb(userId, productId, quantity)\n }\n\n /*\n // Old implementation - direct DB queries:\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n });\n\n if (!product) {\n throw new ApiError(\"Product not found\", 404);\n }\n\n const existingItem = await db.query.cartItems.findFirst({\n where: and(eq(cartItems.userId, userId), eq(cartItems.productId, productId)),\n });\n\n if (existingItem) {\n await db.update(cartItems)\n .set({\n quantity: sql`${cartItems.quantity} + ${quantity}`,\n })\n .where(eq(cartItems.id, existingItem.id));\n } else {\n await db.insert(cartItems).values({\n userId,\n productId,\n quantity: quantity.toString(),\n });\n }\n */\n\n // Return updated cart\n return await getCartData(userId)\n }),\n\n updateCartItem: protectedProcedure\n .input(z.object({\n itemId: z.number().int().positive(),\n quantity: z.number().int().min(0),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { itemId, quantity } = input;\n\n if (!quantity || quantity <= 0) {\n throw new ApiError(\"Positive quantity required\", 400);\n }\n\n const updated = await updateUserCartItemQuantityInDb(userId, itemId, quantity)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedItem] = await db.update(cartItems)\n .set({ quantity: quantity.toString() })\n .where(and(\n eq(cartItems.id, itemId),\n eq(cartItems.userId, userId)\n ))\n .returning();\n\n if (!updatedItem) {\n throw new ApiError(\"Cart item not found\", 404);\n }\n */\n\n if (!updated) {\n throw new ApiError('Cart item not found', 404)\n }\n\n // Return updated cart\n return await getCartData(userId)\n }),\n\n removeFromCart: protectedProcedure\n .input(z.object({\n itemId: z.number().int().positive(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { itemId } = input;\n\n const deleted = await deleteUserCartItemInDb(userId, itemId)\n\n /*\n // Old implementation - direct DB queries:\n const [deletedItem] = await db.delete(cartItems)\n .where(and(\n eq(cartItems.id, itemId),\n eq(cartItems.userId, userId)\n ))\n .returning();\n\n if (!deletedItem) {\n throw new ApiError(\"Cart item not found\", 404);\n }\n */\n\n if (!deleted) {\n throw new ApiError('Cart item not found', 404)\n }\n\n // Return updated cart\n return await getCartData(userId)\n }),\n\n clearCart: protectedProcedure\n .mutation(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n await clearUserCartInDb(userId)\n\n /*\n // Old implementation - direct DB query:\n await db.delete(cartItems).where(eq(cartItems.userId, userId));\n */\n\n return {\n items: [],\n totalItems: 0,\n totalAmount: 0,\n message: \"Cart cleared successfully\",\n }\n }),\n\n // Original DB-based getCartSlots (commented out)\n // getCartSlots: publicProcedure\n // .input(z.object({\n // productIds: z.array(z.number().int().positive())\n // }))\n // .query(async ({ input }) => {\n // const { productIds } = input;\n //\n // if (productIds.length === 0) {\n // return {};\n // }\n //\n // // Get slots for these products where freeze time is after current time\n // const slotsData = await db\n // .select({\n // productId: productSlots.productId,\n // slotId: deliverySlotInfo.id,\n // deliveryTime: deliverySlotInfo.deliveryTime,\n // freezeTime: deliverySlotInfo.freezeTime,\n // isActive: deliverySlotInfo.isActive,\n // })\n // .from(productSlots)\n // .innerJoin(deliverySlotInfo, eq(productSlots.slotId, deliverySlotInfo.id))\n // .where(and(\n // inArray(productSlots.productId, productIds),\n // gt(deliverySlotInfo.freezeTime, sql`NOW()`),\n // eq(deliverySlotInfo.isActive, true)\n // ));\n //\n // // Group by productId\n // const result: Record = {};\n // slotsData.forEach(slot => {\n // if (!result[slot.productId]) {\n // result[slot.productId] = [];\n // }\n // result[slot.productId].push({\n // id: slot.slotId,\n // deliveryTime: slot.deliveryTime,\n // freezeTime: slot.freezeTime,\n // });\n // });\n //\n // return result;\n // }),\n\n // Cache-based getCartSlots\n getCartSlots: publicProcedure\n .input(z.object({\n productIds: z.array(z.number().int().positive())\n }))\n .query(async ({ input }) => {\n const { productIds } = input;\n\n if (productIds.length === 0) {\n return {};\n }\n\n return await getMultipleProductsSlots(productIds);\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport {\n getUserComplaints as getUserComplaintsInDb,\n createUserComplaint as createUserComplaintInDb,\n} from '@/src/dbService'\nimport type { UserComplaintsResponse, UserRaiseComplaintResponse } from '@packages/shared'\n\nexport const complaintRouter = router({\n getAll: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n const userComplaints = await getUserComplaintsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const userComplaints = await db\n .select({\n id: complaints.id,\n complaintBody: complaints.complaintBody,\n response: complaints.response,\n isResolved: complaints.isResolved,\n createdAt: complaints.createdAt,\n orderId: complaints.orderId,\n })\n .from(complaints)\n .where(eq(complaints.userId, userId))\n .orderBy(complaints.createdAt);\n\n return {\n complaints: userComplaints.map(c => ({\n id: c.id,\n complaintBody: c.complaintBody,\n response: c.response,\n isResolved: c.isResolved,\n createdAt: c.createdAt,\n orderId: c.orderId,\n })),\n };\n */\n\n return {\n complaints: userComplaints,\n }\n }),\n\n raise: protectedProcedure\n .input(z.object({\n orderId: z.string().optional(),\n complaintBody: z.string().min(1, 'Complaint body is required'),\n imageUrls: z.array(z.string()).optional(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { orderId, complaintBody, imageUrls } = input;\n\n let orderIdNum: number | null = null;\n\n if (orderId) {\n const readableIdMatch = orderId.match(/^ORD(\\d+)$/);\n if (readableIdMatch) {\n orderIdNum = parseInt(readableIdMatch[1]);\n }\n }\n\n await createUserComplaintInDb(\n userId,\n orderIdNum,\n complaintBody.trim(),\n imageUrls && imageUrls.length > 0 ? imageUrls : null\n )\n\n /*\n // Old implementation - direct DB query:\n await db.insert(complaints).values({\n userId,\n orderId: orderIdNum,\n complaintBody: complaintBody.trim(),\n });\n */\n\n return { success: true, message: 'Complaint raised successfully' }\n }),\n});\n", "import { router, protectedProcedure } from \"@/src/trpc/trpc-index\";\nimport { z } from \"zod\";\nimport {\n applyDiscountToUserOrder,\n cancelUserOrderTransaction,\n checkUserSuspended,\n db,\n deleteUserCartItemsForOrder,\n getOrderProductById,\n getUserAddressByIdAndUser,\n getUserCouponUsageForOrder,\n getUserOrderBasic,\n getUserOrderByIdWithRelations,\n getUserOrderCount,\n getUserOrdersWithRelations,\n getUserProductIdsFromOrders,\n getUserProductsForRecentOrders,\n getUserRecentlyDeliveredOrderIds,\n getUserSlotCapacityStatus,\n orders,\n orderItems,\n orderStatus,\n placeUserOrderTransaction,\n recordUserCouponUsage,\n updateUserOrderNotes,\n validateAndGetUserCoupon,\n} from \"@/src/dbService\";\nimport { getNextDeliveryDate } from \"@/src/trpc/apis/common-apis/common\";\nimport { scaffoldAssetUrl } from \"@/src/lib/s3-client\";\nimport { ApiError } from \"@/src/lib/api-error\";\nimport {\n sendOrderPlacedNotification,\n sendOrderCancelledNotification,\n} from \"@/src/lib/notif-job\";\nimport { CONST_KEYS, getConstant, getConstants } from \"@/src/lib/const-store\";\nimport { publishFormattedOrder, publishCancellation } from \"@/src/lib/post-order-handler\";\nimport { getSlotById } from \"@/src/stores/slot-store\";\nimport type {\n UserOrdersResponse,\n UserOrderDetail,\n UserCancelOrderResponse,\n UserUpdateNotesResponse,\n UserRecentProductsResponse,\n} from \"@/src/dbService\";\n\nconst placeOrderUtil = async (params: {\n userId: number;\n selectedItems: Array<{\n productId: number;\n quantity: number;\n slotId: number | null;\n }>;\n addressId: number;\n paymentMethod: \"online\" | \"cod\";\n couponId?: number;\n userNotes?: string;\n isFlash?: boolean;\n}) => {\n const {\n userId,\n selectedItems,\n addressId,\n paymentMethod,\n couponId,\n userNotes,\n } = params;\n\n const constants = await getConstants([\n CONST_KEYS.minRegularOrderValue,\n CONST_KEYS.deliveryCharge,\n CONST_KEYS.flashFreeDeliveryThreshold,\n CONST_KEYS.flashDeliveryCharge,\n ]);\n\n const isFlashDelivery = params.isFlash;\n const minOrderValue = (isFlashDelivery ? constants[CONST_KEYS.flashFreeDeliveryThreshold] : constants[CONST_KEYS.minRegularOrderValue]) || 0;\n const deliveryCharge = (isFlashDelivery ? constants[CONST_KEYS.flashDeliveryCharge] : constants[CONST_KEYS.deliveryCharge]) || 0;\n\n const orderGroupId = `${Date.now()}-${userId}`;\n\n const address = await getUserAddressByIdAndUser(addressId, userId);\n if (!address) {\n throw new ApiError(\"Invalid address\", 400);\n }\n\n const ordersBySlot = new Map<\n number | null,\n Array<{\n productId: number;\n quantity: number;\n slotId: number | null;\n product: Awaited>;\n }>\n >();\n\n for (const item of selectedItems) {\n const product = await getOrderProductById(item.productId);\n if (!product) {\n throw new ApiError(`Product ${item.productId} not found`, 400);\n }\n\n if (!ordersBySlot.has(item.slotId)) {\n ordersBySlot.set(item.slotId, []);\n }\n ordersBySlot.get(item.slotId)!.push({ ...item, product });\n }\n\n if (params.isFlash) {\n for (const item of selectedItems) {\n const product = await getOrderProductById(item.productId);\n if (!product?.isFlashAvailable) {\n throw new ApiError(`Product ${item.productId} is not available for flash delivery`, 400);\n }\n }\n }\n\n let totalAmount = 0;\n for (const [slotId, items] of ordersBySlot) {\n const orderTotal = items.reduce(\n (sum, item) => {\n if (!item.product) return sum\n const basePrice = params.isFlash\n ? (item.product.flashPrice ?? item.product.price)\n : item.product.price\n const itemPrice = parseFloat((basePrice ?? 0).toString())\n return sum + itemPrice * item.quantity;\n },\n 0\n );\n totalAmount += orderTotal;\n }\n\n const appliedCoupon = await validateAndGetUserCoupon(couponId, userId, totalAmount);\n\n const expectedDeliveryCharge =\n totalAmount < minOrderValue ? deliveryCharge : 0;\n\n const totalWithDelivery = totalAmount + expectedDeliveryCharge;\n\n type OrderData = {\n order: Omit;\n orderItems: Omit[];\n orderStatus: Omit;\n };\n\n const ordersData: OrderData[] = [];\n let isFirstOrder = true;\n\n for (const [slotId, items] of ordersBySlot) {\n const subOrderTotal = items.reduce(\n (sum, item) => {\n if (!item.product) return sum\n const basePrice = params.isFlash\n ? (item.product.flashPrice ?? item.product.price)\n : item.product.price\n const itemPrice = parseFloat((basePrice ?? 0).toString())\n return sum + itemPrice * item.quantity;\n },\n 0\n );\n const subOrderTotalWithDelivery = subOrderTotal + expectedDeliveryCharge;\n\n const orderGroupProportion = subOrderTotal / totalAmount;\n const orderTotalAmount = isFirstOrder ? subOrderTotalWithDelivery : subOrderTotal;\n\n const { finalOrderTotal: finalOrderAmount } = applyDiscountToUserOrder(\n orderTotalAmount,\n appliedCoupon,\n orderGroupProportion\n );\n\n const order: Omit = {\n userId,\n addressId,\n slotId: params.isFlash ? null : slotId,\n isCod: paymentMethod === \"cod\",\n isOnlinePayment: paymentMethod === \"online\",\n paymentInfoId: null,\n totalAmount: finalOrderAmount.toString(),\n deliveryCharge: isFirstOrder ? expectedDeliveryCharge.toString() : \"0\",\n readableId: -1,\n userNotes: userNotes || null,\n orderGroupId,\n orderGroupProportion: orderGroupProportion.toString(),\n isFlashDelivery: params.isFlash,\n };\n\n const validItems = items.filter(\n (item): item is typeof item & { product: NonNullable } =>\n item.product !== null && item.product !== undefined\n )\n const orderItemsData: Omit[] = validItems.map(\n (item) => {\n const basePrice = params.isFlash\n ? (item.product.flashPrice ?? item.product.price)\n : item.product.price\n const priceString = (basePrice ?? 0).toString()\n\n return {\n orderId: 0,\n productId: item.productId,\n quantity: item.quantity.toString(),\n price: priceString,\n discountedPrice: priceString,\n }\n }\n );\n\n const orderStatusData: Omit = {\n userId,\n orderId: 0,\n paymentStatus: paymentMethod === \"cod\" ? \"cod\" : \"pending\",\n };\n\n ordersData.push({ order, orderItems: orderItemsData, orderStatus: orderStatusData });\n isFirstOrder = false;\n }\n\n const createdOrders = await placeUserOrderTransaction({\n userId,\n ordersData,\n paymentMethod,\n totalWithDelivery,\n });\n\n await deleteUserCartItemsForOrder(\n userId,\n selectedItems.map((item) => item.productId)\n );\n\n if (appliedCoupon && createdOrders.length > 0) {\n await recordUserCouponUsage(\n userId,\n appliedCoupon.id,\n createdOrders[0].id\n );\n }\n\n // for (const order of createdOrders) {\n // sendOrderPlacedNotification(userId, order.id.toString());\n // }\n\n console.log('publishing the order')\n await publishFormattedOrder(createdOrders, ordersBySlot);\n\n return { success: true, data: createdOrders };\n};\n\nexport const orderRouter = router({\n placeOrder: protectedProcedure\n .input(\n z.object({\n selectedItems: z.array(\n z.object({\n productId: z.number().int().positive(),\n quantity: z.number().int().positive(),\n slotId: z.union([z.number().int(), z.null()]),\n })\n ),\n addressId: z.number().int().positive(),\n paymentMethod: z.enum([\"online\", \"cod\"]),\n couponId: z.number().int().positive().optional(),\n userNotes: z.string().optional(),\n isFlashDelivery: z.boolean().optional().default(false),\n })\n )\n .mutation(async ({ input, ctx }) => {\n const userId = ctx.user.userId;\n\n const isSuspended = await checkUserSuspended(userId);\n if (isSuspended) {\n throw new ApiError(\"Unable to place order\", 403);\n }\n\n const {\n selectedItems,\n addressId,\n paymentMethod,\n couponId,\n userNotes,\n isFlashDelivery,\n } = input;\n\n if (isFlashDelivery) {\n const isFlashDeliveryEnabled = await getConstant(CONST_KEYS.isFlashDeliveryEnabled);\n if (!isFlashDeliveryEnabled) {\n throw new ApiError(\"Flash delivery is currently unavailable. Please opt for scheduled delivery.\", 403);\n }\n }\n\n if (!isFlashDelivery) {\n const slotIds = [...new Set(selectedItems.filter(i => i.slotId !== null).map(i => i.slotId as number))];\n for (const slotId of slotIds) {\n const isCapacityFull = await getUserSlotCapacityStatus(slotId);\n if (isCapacityFull) {\n throw new ApiError(\"Selected delivery slot is at full capacity. Please choose another slot.\", 403);\n }\n }\n }\n\n let processedItems = selectedItems;\n\n if (isFlashDelivery) {\n processedItems = selectedItems.map(item => ({\n ...item,\n slotId: null as any,\n }));\n }\n\n return await placeOrderUtil({\n userId,\n selectedItems: processedItems,\n addressId,\n paymentMethod,\n couponId,\n userNotes,\n isFlash: isFlashDelivery,\n });\n }),\n\n getOrders: protectedProcedure\n .input(\n z\n .object({\n page: z.number().min(1).default(1),\n pageSize: z.number().min(1).max(50).default(10),\n })\n .optional()\n )\n .query(async ({ input, ctx }): Promise => {\n const { page = 1, pageSize = 10 } = input || {};\n const userId = ctx.user.userId;\n const offset = (page - 1) * pageSize;\n\n const totalCount = await getUserOrderCount(userId);\n const userOrders = await getUserOrdersWithRelations(userId, offset, pageSize);\n\n const mappedOrders = await Promise.all(\n userOrders.map(async (order) => {\n const status = order.orderStatus[0];\n const refund = order.refunds[0];\n\n type DeliveryStatus = \"cancelled\" | \"success\" | \"pending\" | \"packaged\";\n type OrderStatus = \"cancelled\" | \"success\";\n\n let deliveryStatus: DeliveryStatus;\n let orderStatus: OrderStatus;\n\n const allItemsPackaged = order.orderItems.every(\n (item) => item.is_packaged\n );\n\n if (status?.isCancelled) {\n deliveryStatus = \"cancelled\";\n orderStatus = \"cancelled\";\n } else if (status?.isDelivered) {\n deliveryStatus = \"success\";\n orderStatus = \"success\";\n } else if (allItemsPackaged) {\n deliveryStatus = \"packaged\";\n orderStatus = \"success\";\n } else {\n deliveryStatus = \"pending\";\n orderStatus = \"success\";\n }\n\n const paymentMode = order.isCod ? \"CoD\" : \"Online\";\n const paymentStatus = status?.paymentStatus || \"pending\";\n const refundStatus = refund?.refundStatus || \"none\";\n const refundAmount = refund?.refundAmount\n ? parseFloat(refund.refundAmount.toString())\n : null;\n\n const items = await Promise.all(\n order.orderItems.map(async (item) => {\n const signedImages = item.product.images\n ? scaffoldAssetUrl(\n item.product.images as string[]\n )\n : [];\n return {\n productName: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n discountedPrice: parseFloat(\n item.discountedPrice?.toString() || item.price.toString()\n ),\n amount:\n parseFloat(item.price.toString()) * parseFloat(item.quantity),\n image: signedImages[0] || null,\n };\n })\n );\n\n return {\n id: order.id,\n orderId: `ORD${order.id}`,\n orderDate: order.createdAt.toISOString(),\n deliveryStatus,\n deliveryDate: order.slot?.deliveryTime.toISOString(),\n orderStatus,\n cancelReason: status?.cancelReason || null,\n paymentMode,\n totalAmount: Number(order.totalAmount),\n deliveryCharge: Number(order.deliveryCharge),\n paymentStatus,\n refundStatus,\n refundAmount,\n userNotes: order.userNotes || null,\n items,\n isFlashDelivery: order.isFlashDelivery,\n createdAt: order.createdAt.toISOString(),\n };\n })\n );\n\n return {\n success: true,\n data: mappedOrders,\n pagination: {\n page,\n pageSize,\n totalCount,\n totalPages: Math.ceil(totalCount / pageSize),\n },\n };\n }),\n\n getOrderById: protectedProcedure\n .input(z.object({ orderId: z.string() }))\n .query(async ({ input, ctx }): Promise => {\n const { orderId } = input;\n const userId = ctx.user.userId;\n\n const order = await getUserOrderByIdWithRelations(parseInt(orderId), userId);\n\n if (!order) {\n throw new Error(\"Order not found\");\n }\n\n const couponUsageData = await getUserCouponUsageForOrder(order.id);\n\n let couponData = null;\n if (couponUsageData.length > 0) {\n let totalDiscountAmount = 0;\n const orderTotal = parseFloat(order.totalAmount.toString());\n\n for (const usage of couponUsageData) {\n let discountAmount = 0;\n\n if (usage.coupon.discountPercent) {\n discountAmount =\n (orderTotal *\n parseFloat(usage.coupon.discountPercent.toString())) /\n 100;\n } else if (usage.coupon.flatDiscount) {\n discountAmount = parseFloat(usage.coupon.flatDiscount.toString());\n }\n\n if (\n usage.coupon.maxValue &&\n discountAmount > parseFloat(usage.coupon.maxValue.toString())\n ) {\n discountAmount = parseFloat(usage.coupon.maxValue.toString());\n }\n\n totalDiscountAmount += discountAmount;\n }\n\n couponData = {\n couponCode: couponUsageData\n .map((u) => u.coupon.couponCode)\n .join(\", \"),\n couponDescription: `${couponUsageData.length} coupons applied`,\n discountAmount: totalDiscountAmount,\n };\n }\n\n const status = order.orderStatus[0];\n const refund = order.refunds[0];\n\n type DeliveryStatus = \"cancelled\" | \"success\" | \"pending\" | \"packaged\";\n type OrderStatus = \"cancelled\" | \"success\";\n\n let deliveryStatus: DeliveryStatus;\n let orderStatusResult: OrderStatus;\n\n const allItemsPackaged = order.orderItems.every(\n (item) => item.is_packaged\n );\n\n if (status?.isCancelled) {\n deliveryStatus = \"cancelled\";\n orderStatusResult = \"cancelled\";\n } else if (status?.isDelivered) {\n deliveryStatus = \"success\";\n orderStatusResult = \"success\";\n } else if (allItemsPackaged) {\n deliveryStatus = \"packaged\";\n orderStatusResult = \"success\";\n } else {\n deliveryStatus = \"pending\";\n orderStatusResult = \"success\";\n }\n\n const paymentMode = order.isCod ? \"CoD\" : \"Online\";\n const paymentStatus = status?.paymentStatus || \"pending\";\n const refundStatus = refund?.refundStatus || \"none\";\n const refundAmount = refund?.refundAmount\n ? parseFloat(refund.refundAmount.toString())\n : null;\n\n const items = await Promise.all(\n order.orderItems.map(async (item) => {\n const signedImages = item.product.images\n ? scaffoldAssetUrl(\n item.product.images as string[]\n )\n : [];\n return {\n productName: item.product.name,\n quantity: parseFloat(item.quantity),\n price: parseFloat(item.price.toString()),\n discountedPrice: parseFloat(\n item.discountedPrice?.toString() || item.price.toString()\n ),\n amount:\n parseFloat(item.price.toString()) * parseFloat(item.quantity),\n image: signedImages[0] || null,\n };\n })\n );\n\n return {\n id: order.id,\n orderId: `ORD${order.id}`,\n orderDate: order.createdAt.toISOString(),\n deliveryStatus,\n deliveryDate: order.slot?.deliveryTime.toISOString(),\n orderStatus: orderStatusResult,\n cancellationStatus: orderStatusResult,\n cancelReason: status?.cancelReason || null,\n paymentMode,\n paymentStatus,\n refundStatus,\n refundAmount,\n userNotes: order.userNotes || null,\n items,\n couponCode: couponData?.couponCode || null,\n couponDescription: couponData?.couponDescription || null,\n discountAmount: couponData?.discountAmount || null,\n orderAmount: parseFloat(order.totalAmount.toString()),\n isFlashDelivery: order.isFlashDelivery,\n createdAt: order.createdAt.toISOString(),\n totalAmount: parseFloat(order.totalAmount.toString()),\n deliveryCharge: parseFloat(order.deliveryCharge.toString()),\n };\n }),\n\n cancelOrder: protectedProcedure\n .input(\n z.object({\n id: z.number(),\n reason: z.string().min(1, \"Cancellation reason is required\"),\n })\n )\n .mutation(async ({ input, ctx }): Promise => {\n try {\n const userId = ctx.user.userId;\n const { id, reason } = input;\n\n const order = await getUserOrderBasic(id);\n\n if (!order) {\n console.error(\"Order not found:\", id);\n throw new ApiError(\"Order not found\", 404);\n }\n\n if (order.userId !== userId) {\n console.error(\"Order does not belong to user:\", {\n orderId: id,\n orderUserId: order.userId,\n requestUserId: userId,\n });\n\n throw new ApiError(\"Order not found\", 404);\n }\n\n const status = order.orderStatus[0];\n if (!status) {\n console.error(\"Order status not found for order:\", id);\n throw new ApiError(\"Order status not found\", 400);\n }\n\n if (status.isCancelled) {\n console.error(\"Order is already cancelled:\", id);\n throw new ApiError(\"Order is already cancelled\", 400);\n }\n\n if (status.isDelivered) {\n console.error(\"Cannot cancel delivered order:\", id);\n throw new ApiError(\"Cannot cancel delivered order\", 400);\n }\n\n await cancelUserOrderTransaction(id, status.id, reason, order.isCod);\n\n // await sendOrderCancelledNotification(userId, id.toString());\n\n await publishCancellation(id, 'user', reason);\n\n return { success: true, message: \"Order cancelled successfully\" };\n } catch (e) {\n console.log(e);\n throw new ApiError(\"failed to cancel order\");\n }\n }),\n\n updateUserNotes: protectedProcedure\n .input(\n z.object({\n id: z.number(),\n userNotes: z.string(),\n })\n )\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { id, userNotes } = input;\n\n const order = await getUserOrderBasic(id);\n\n if (!order) {\n console.error(\"Order not found:\", id);\n throw new ApiError(\"Order not found\", 404);\n }\n\n if (order.userId !== userId) {\n console.error(\"Order does not belong to user:\", {\n orderId: id,\n orderUserId: order.userId,\n requestUserId: userId,\n });\n throw new ApiError(\"Order not found\", 404);\n }\n\n const status = order.orderStatus[0];\n if (!status) {\n console.error(\"Order status not found for order:\", id);\n throw new ApiError(\"Order status not found\", 400);\n }\n\n if (status.isDelivered) {\n console.error(\"Cannot update notes for delivered order:\", id);\n throw new ApiError(\"Cannot update notes for delivered order\", 400);\n }\n\n if (status.isCancelled) {\n console.error(\"Cannot update notes for cancelled order:\", id);\n throw new ApiError(\"Cannot update notes for cancelled order\", 400);\n }\n\n await updateUserOrderNotes(id, userNotes);\n\n return { success: true, message: \"Notes updated successfully\" };\n }),\n\n getRecentlyOrderedProducts: protectedProcedure\n .input(\n z\n .object({\n limit: z.number().min(1).max(50).default(20),\n })\n .optional()\n )\n .query(async ({ input, ctx }): Promise => {\n const { limit = 20 } = input || {};\n const userId = ctx.user.userId;\n\n const thirtyDaysAgo = new Date();\n thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);\n\n const recentOrderIds = await getUserRecentlyDeliveredOrderIds(userId, 10, thirtyDaysAgo);\n\n if (recentOrderIds.length === 0) {\n return { success: true, products: [] };\n }\n\n const productIds = await getUserProductIdsFromOrders(recentOrderIds);\n\n if (productIds.length === 0) {\n return { success: true, products: [] };\n }\n\n const productsWithUnits = await getUserProductsForRecentOrders(productIds, limit);\n\n const formattedProducts = await Promise.all(\n productsWithUnits.map(async (product) => {\n const nextDeliveryDate = await getNextDeliveryDate(product.id);\n return {\n id: product.id,\n name: product.name,\n shortDescription: product.shortDescription,\n price: product.price,\n unit: product.unitShortNotation,\n incrementStep: product.incrementStep,\n isOutOfStock: product.isOutOfStock,\n nextDeliveryDate: nextDeliveryDate\n ? nextDeliveryDate.toISOString()\n : null,\n images: scaffoldAssetUrl(\n (product.images as string[]) || []\n ),\n };\n })\n );\n\n return {\n success: true,\n products: formattedProducts,\n };\n }),\n});\n", "import { router, publicProcedure, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { claimUploadUrl, extractKeyFromPresignedUrl, scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getProductById as getProductByIdFromCache, getAllProducts as getAllProductsFromCache } from '@/src/stores/product-store'\nimport dayjs from 'dayjs'\nimport {\n getUserProductDetailById as getUserProductDetailByIdInDb,\n getUserProductReviews as getUserProductReviewsInDb,\n getUserProductByIdBasic as getUserProductByIdBasicInDb,\n createUserProductReview as createUserProductReviewInDb,\n} from '@/src/dbService'\nimport type {\n UserProductDetail,\n UserProductDetailData,\n UserProductReviewsResponse,\n UserCreateReviewResponse,\n UserProductReviewWithSignedUrls,\n} from '@packages/shared'\n\nconst signProductImages = (product: UserProductDetailData): UserProductDetail => ({\n ...product,\n images: scaffoldAssetUrl(product.images || []),\n})\n\nexport const productRouter = router({\n getProductDetails: publicProcedure\n .input(z.object({\n id: z.string().regex(/^\\d+$/, 'Invalid product ID'),\n }))\n .query(async ({ input }): Promise => {\n const { id } = input;\n const productId = parseInt(id);\n\n if (isNaN(productId)) {\n throw new Error('Invalid product ID');\n }\n\n console.log('from the api to get product details')\n\n// First, try to get the product from Redis cache\n const cachedProduct = await getProductByIdFromCache(productId);\n \n if (cachedProduct) {\n // Filter delivery slots to only include those with future freeze times and not at full capacity\n const currentTime = new Date();\n const filteredSlots = cachedProduct.deliverySlots.filter(slot => \n dayjs(slot.freezeTime).isAfter(currentTime) && !slot.isCapacityFull\n );\n \n return {\n ...cachedProduct,\n deliverySlots: filteredSlots\n };\n }\n\n // If not in cache, fetch from database (fallback)\n const productData = await getUserProductDetailByIdInDb(productId)\n\n /*\n // Old implementation - direct DB queries:\n const productData = await db\n .select({\n id: productInfo.id,\n name: productInfo.name,\n shortDescription: productInfo.shortDescription,\n longDescription: productInfo.longDescription,\n price: productInfo.price,\n marketPrice: productInfo.marketPrice,\n images: productInfo.images,\n isOutOfStock: productInfo.isOutOfStock,\n storeId: productInfo.storeId,\n unitShortNotation: units.shortNotation,\n incrementStep: productInfo.incrementStep,\n productQuantity: productInfo.productQuantity,\n isFlashAvailable: productInfo.isFlashAvailable,\n flashPrice: productInfo.flashPrice,\n })\n .from(productInfo)\n .innerJoin(units, eq(productInfo.unitId, units.id))\n .where(eq(productInfo.id, productId))\n .limit(1);\n */\n\n if (!productData) {\n throw new Error('Product not found')\n }\n\n return signProductImages(productData)\n }),\n\n getProductReviews: publicProcedure\n .input(z.object({\n productId: z.number().int().positive(),\n limit: z.number().int().min(1).max(50).optional().default(10),\n offset: z.number().int().min(0).optional().default(0),\n }))\n .query(async ({ input }): Promise => {\n const { productId, limit, offset } = input;\n\n const { reviews, totalCount } = await getUserProductReviewsInDb(productId, limit, offset)\n\n /*\n // Old implementation - direct DB queries:\n const reviews = await db\n .select({\n id: productReviews.id,\n reviewBody: productReviews.reviewBody,\n ratings: productReviews.ratings,\n imageUrls: productReviews.imageUrls,\n reviewTime: productReviews.reviewTime,\n userName: users.name,\n })\n .from(productReviews)\n .innerJoin(users, eq(productReviews.userId, users.id))\n .where(eq(productReviews.productId, productId))\n .orderBy(desc(productReviews.reviewTime))\n .limit(limit)\n .offset(offset);\n\n const totalCountResult = await db\n .select({ count: sql`count(*)` })\n .from(productReviews)\n .where(eq(productReviews.productId, productId));\n\n const totalCount = Number(totalCountResult[0].count);\n const hasMore = offset + limit < totalCount;\n */\n\n const reviewsWithSignedUrls: UserProductReviewWithSignedUrls[] = reviews.map((review) => ({\n ...review,\n signedImageUrls: scaffoldAssetUrl(review.imageUrls || []),\n }))\n\n const hasMore = offset + limit < totalCount\n\n return { reviews: reviewsWithSignedUrls, hasMore }\n }),\n\n createReview: protectedProcedure\n .input(z.object({\n productId: z.number().int().positive(),\n reviewBody: z.string().min(1, 'Review body is required'),\n ratings: z.number().int().min(1).max(5),\n imageUrls: z.array(z.string()).optional().default([]),\n uploadUrls: z.array(z.string()).optional().default([]),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const { productId, reviewBody, ratings, imageUrls, uploadUrls } = input;\n const userId = ctx.user.userId;\n\n const product = await getUserProductByIdBasicInDb(productId)\n if (!product) {\n throw new ApiError('Product not found', 404)\n }\n\n const imageKeys = uploadUrls.map(item => extractKeyFromPresignedUrl(item))\n const newReview = await createUserProductReviewInDb(userId, productId, reviewBody, ratings, imageKeys)\n\n /*\n // Old implementation - direct DB queries:\n const product = await db.query.productInfo.findFirst({\n where: eq(productInfo.id, productId),\n });\n if (!product) {\n throw new ApiError('Product not found', 404);\n }\n\n const [newReview] = await db.insert(productReviews).values({\n userId,\n productId,\n reviewBody,\n ratings,\n imageUrls: uploadUrls.map(item => extractKeyFromPresignedUrl(item)),\n }).returning();\n */\n\n // Claim upload URLs\n if (uploadUrls && uploadUrls.length > 0) {\n try {\n await Promise.all(uploadUrls.map(url => claimUploadUrl(url)));\n } catch (error) {\n console.error('Error claiming upload URLs:', error);\n // Don't fail the review creation\n }\n }\n\n return { success: true, review: newReview }\n }),\n\n \n getAllProductsSummary: publicProcedure\n .query(async (): Promise => {\n // Get all products from cache\n const allCachedProducts = await getAllProductsFromCache();\n\n // Transform the cached products to match the expected summary format\n // (with empty deliverySlots and specialDeals arrays for summary view)\n const transformedProducts: UserProductDetail[] = allCachedProducts.map(product => ({\n ...product,\n images: product.images || [],\n deliverySlots: [],\n specialDeals: [],\n }))\n\n return transformedProducts\n }),\n\n});\n", "import { router, protectedProcedure, publicProcedure } from '@/src/trpc/trpc-index'\nimport { SignJWT } from 'jose'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter'\nimport { scaffoldAssetUrl } from '@/src/lib/s3-client'\nimport {\n getUserProfileById as getUserProfileByIdInDb,\n getUserProfileDetailById as getUserProfileDetailByIdInDb,\n getUserWithCreds as getUserWithCredsInDb,\n upsertUserNotifCred as upsertUserNotifCredInDb,\n deleteUserUnloggedToken as deleteUserUnloggedTokenInDb,\n getUserUnloggedToken as getUserUnloggedTokenInDb,\n upsertUserUnloggedToken as upsertUserUnloggedTokenInDb,\n} from '@/src/dbService'\nimport type {\n UserSelfDataResponse,\n UserProfileCompleteResponse,\n UserSavePushTokenResponse,\n} from '@packages/shared'\n\nconst generateToken = async (userId: number): Promise => {\n return await new SignJWT({ userId })\n .setProtectedHeader({ alg: 'HS256' })\n .setExpirationTime('7d')\n .sign(getEncodedJwtSecret());\n};\n\nexport const userRouter = router({\n getSelfData: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const user = await getUserProfileByIdInDb(userId)\n\n if (!user) {\n throw new ApiError('User not found', 404);\n }\n\n // Get user details for profile image\n const userDetail = await getUserProfileDetailByIdInDb(userId)\n\n // Generate signed URL for profile image if it exists\n const profileImageSignedUrl = userDetail?.profileImage\n ? scaffoldAssetUrl(userDetail.profileImage)\n : null;\n\n return {\n success: true,\n data: {\n user: {\n id: user.id,\n name: user.name,\n email: user.email,\n mobile: user.mobile,\n profileImage: profileImageSignedUrl,\n bio: userDetail?.bio || null,\n dateOfBirth: userDetail?.dateOfBirth\n ? new Date(userDetail.dateOfBirth as any).toISOString()\n : null,\n gender: userDetail?.gender || null,\n occupation: userDetail?.occupation || null,\n },\n },\n }\n }),\n\n checkProfileComplete: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n if (!userId) {\n throw new ApiError('User not authenticated', 401);\n }\n\n const result = await getUserWithCredsInDb(userId)\n\n if (!result) {\n throw new ApiError('User not found', 404)\n }\n\n return {\n isComplete: !!(result.user.name && result.user.email && result.creds),\n };\n }),\n\n savePushToken: publicProcedure\n .input(z.object({ token: z.string() }))\n .mutation(async ({ input, ctx }): Promise => {\n const { token } = input;\n const userId = ctx.user?.userId;\n\n if (userId) {\n // AUTHENTICATED USER\n // Check if token exists in notif_creds for this user\n await upsertUserNotifCredInDb(userId, token)\n await deleteUserUnloggedTokenInDb(token)\n\n } else {\n // UNAUTHENTICATED USER\n // Save/update in unlogged_user_tokens\n const existing = await getUserUnloggedTokenInDb(token)\n if (existing) {\n await upsertUserUnloggedTokenInDb(token)\n } else {\n await upsertUserUnloggedTokenInDb(token)\n }\n }\n\n return { success: true }\n }),\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport {\n getUserActiveCouponsWithRelations as getUserActiveCouponsWithRelationsInDb,\n getUserAllCouponsWithRelations as getUserAllCouponsWithRelationsInDb,\n getUserReservedCouponByCode as getUserReservedCouponByCodeInDb,\n redeemUserReservedCoupon as redeemUserReservedCouponInDb,\n} from '@/src/dbService'\nimport type {\n UserCouponDisplay,\n UserEligibleCouponsResponse,\n UserMyCouponsResponse,\n UserRedeemCouponResponse,\n} from '@packages/shared'\n\nconst generateCouponDescription = (coupon: { discountPercent?: string | null; flatDiscount?: string | null; minOrder?: string | null; maxValue?: string | null }): string => {\n let desc = '';\n\n if (coupon.discountPercent) {\n desc += `${coupon.discountPercent}% off`;\n } else if (coupon.flatDiscount) {\n desc += `\u20B9${coupon.flatDiscount} off`;\n }\n\n if (coupon.minOrder) {\n desc += ` on orders above \u20B9${coupon.minOrder}`;\n }\n\n if (coupon.maxValue) {\n desc += ` (max discount \u20B9${coupon.maxValue})`;\n }\n\n return desc;\n};\n\nexport const userCouponRouter = router({\n getEligible: protectedProcedure\n .query(async ({ ctx }): Promise => {\n try {\n\n const userId = ctx.user.userId;\n \n const allCoupons = await getUserActiveCouponsWithRelationsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const allCoupons = await db.query.coupons.findMany({\n where: and(\n eq(coupons.isInvalidated, false),\n or(\n isNull(coupons.validTill),\n gt(coupons.validTill, new Date())\n )\n ),\n with: {\n usages: {\n where: eq(couponUsage.userId, userId)\n },\n applicableUsers: {\n with: {\n user: true\n }\n },\n applicableProducts: {\n with: {\n product: true\n }\n },\n }\n });\n */\n\n // Filter to only coupons applicable to current user\n const applicableCoupons = allCoupons.filter(coupon => {\n if(!coupon.isUserBased) return true;\n const applicableUsers = coupon.applicableUsers || [];\n return applicableUsers.some(au => au.userId === userId);\n });\n\n return { success: true, data: applicableCoupons };\n }\n catch(e) {\n console.log(e)\n throw new ApiError(\"Unable to get coupons\")\n }\n }),\n\n getProductCoupons: protectedProcedure\n .input(z.object({ productId: z.number().int().positive() }))\n .query(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { productId } = input;\n\n // Get all active, non-expired coupons\n const allCoupons = await getUserActiveCouponsWithRelationsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const allCoupons = await db.query.coupons.findMany({\n where: and(\n eq(coupons.isInvalidated, false),\n or(\n isNull(coupons.validTill),\n gt(coupons.validTill, new Date())\n )\n ),\n with: {\n usages: {\n where: eq(couponUsage.userId, userId)\n },\n applicableUsers: {\n with: {\n user: true\n }\n },\n applicableProducts: {\n with: {\n product: true\n }\n },\n }\n });\n */\n\n // Filter to only coupons applicable to current user and product\n const applicableCoupons = allCoupons.filter(coupon => {\n const applicableUsers = coupon.applicableUsers || [];\n const userApplicable = !coupon.isUserBased || applicableUsers.some(au => au.userId === userId);\n\n const applicableProducts = coupon.applicableProducts || [];\n const productApplicable = applicableProducts.length === 0 || applicableProducts.some(ap => ap.productId === productId);\n\n return userApplicable && productApplicable;\n });\n\n return { success: true, data: applicableCoupons };\n }),\n\n getMyCoupons: protectedProcedure\n .query(async ({ ctx }): Promise => {\n const userId = ctx.user.userId;\n\n const allCoupons = await getUserAllCouponsWithRelationsInDb(userId)\n\n /*\n // Old implementation - direct DB queries:\n const allCoupons = await db.query.coupons.findMany({\n with: {\n usages: {\n where: eq(couponUsage.userId, userId)\n },\n applicableUsers: {\n with: {\n user: true\n }\n }\n }\n });\n */\n\n // Filter coupons in JS: not invalidated, applicable to user, and not expired\n const applicableCoupons = allCoupons.filter(coupon => {\n const isNotInvalidated = !coupon.isInvalidated;\n const applicableUsers = coupon.applicableUsers || [];\n const isApplicable = coupon.isApplyForAll || applicableUsers.some(au => au.userId === userId);\n const isNotExpired = !coupon.validTill || new Date(coupon.validTill) > new Date();\n return isNotInvalidated && isApplicable && isNotExpired;\n });\n\n // Categorize coupons\n const personalCoupons: UserCouponDisplay[] = [];\n const generalCoupons: UserCouponDisplay[] = [];\n\n applicableCoupons.forEach(coupon => {\n const usageCount = coupon.usages.length;\n const isExpired = false; // Already filtered out expired coupons\n const isUsedUp = Boolean(coupon.maxLimitForUser && usageCount >= coupon.maxLimitForUser);\n\n const couponDisplay: UserCouponDisplay = {\n id: coupon.id,\n code: coupon.couponCode,\n discountType: coupon.discountPercent ? 'percentage' : 'flat',\n discountValue: parseFloat(coupon.discountPercent || coupon.flatDiscount || '0'),\n maxValue: coupon.maxValue ? parseFloat(coupon.maxValue) : undefined,\n minOrder: coupon.minOrder ? parseFloat(coupon.minOrder) : undefined,\n description: generateCouponDescription(coupon),\n validTill: coupon.validTill ? new Date(coupon.validTill) : undefined,\n usageCount,\n maxLimitForUser: coupon.maxLimitForUser ? parseInt(coupon.maxLimitForUser.toString()) : undefined,\n isExpired,\n isUsedUp,\n };\n\n if ((coupon.applicableUsers || []).some(au => au.userId === userId) && !coupon.isApplyForAll) {\n // Personal coupon\n personalCoupons.push(couponDisplay);\n } else if (coupon.isApplyForAll) {\n // General coupon\n generalCoupons.push(couponDisplay);\n }\n });\n\n return {\n success: true,\n data: {\n personal: personalCoupons,\n general: generalCoupons,\n }\n };\n }),\n\n redeemReservedCoupon: protectedProcedure\n .input(z.object({ secretCode: z.string() }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { secretCode } = input;\n\n const reservedCoupon = await getUserReservedCouponByCodeInDb(secretCode)\n\n /*\n // Old implementation - direct DB queries:\n const reservedCoupon = await db.query.reservedCoupons.findFirst({\n where: and(\n eq(reservedCoupons.secretCode, secretCode.toUpperCase()),\n eq(reservedCoupons.isRedeemed, false)\n ),\n });\n */\n\n if (!reservedCoupon) {\n throw new ApiError(\"Invalid or already redeemed coupon code\", 400);\n }\n\n // Check if already redeemed by this user (in case of multiple attempts)\n if (reservedCoupon.redeemedBy === userId) {\n throw new ApiError(\"You have already redeemed this coupon\", 400);\n }\n\n const couponResult = await redeemUserReservedCouponInDb(userId, reservedCoupon)\n\n /*\n // Old implementation - direct DB queries:\n const couponResult = await db.transaction(async (tx) => {\n const couponInsert = await tx.insert(coupons).values({\n couponCode: reservedCoupon.couponCode,\n isUserBased: true,\n discountPercent: reservedCoupon.discountPercent,\n flatDiscount: reservedCoupon.flatDiscount,\n minOrder: reservedCoupon.minOrder,\n productIds: reservedCoupon.productIds,\n maxValue: reservedCoupon.maxValue,\n isApplyForAll: false,\n validTill: reservedCoupon.validTill,\n maxLimitForUser: reservedCoupon.maxLimitForUser,\n exclusiveApply: reservedCoupon.exclusiveApply,\n createdBy: reservedCoupon.createdBy,\n }).returning();\n\n const coupon = couponInsert[0];\n\n await tx.insert(couponApplicableUsers).values({\n couponId: coupon.id,\n userId,\n });\n\n await tx.update(reservedCoupons).set({\n isRedeemed: true,\n redeemedBy: userId,\n redeemedAt: new Date(),\n }).where(eq(reservedCoupons.id, reservedCoupon.id));\n\n return coupon;\n });\n */\n\n return { success: true, coupon: couponResult };\n }),\n});\n", "// import Razorpay from \"razorpay\";\n\nexport class RazorpayPaymentService {\n // private static instance = new Razorpay({\n // key_id: razorpayId,\n // key_secret: razorpaySecret,\n // });\n //\n static async createOrder(orderId: number, amount: string) {\n // Create Razorpay order\n // const razorpayOrder = await this.instance.orders.create({\n // amount: parseFloat(amount) * 100, // Convert to paisa\n // currency: 'INR',\n // receipt: `order_${orderId}`,\n // notes: {\n // customerOrderId: orderId.toString(),\n // },\n // });\n //\n // return razorpayOrder;\n }\n\n static async insertPaymentRecord(orderId: number, razorpayOrder: any, tx?: unknown) {\n // Use transaction if provided, otherwise use db\n // const dbInstance = tx || db;\n //\n // // Insert payment record\n // const [payment] = await dbInstance\n // .insert(payments)\n // .values({\n // status: 'pending',\n // gateway: 'razorpay',\n // orderId,\n // token: orderId.toString(),\n // merchantOrderId: razorpayOrder.id,\n // payload: razorpayOrder,\n // })\n // .returning();\n //\n // return payment;\n }\n\n static async initiateRefund(paymentId: string, amount: number) {\n // const refund = await this.instance.payments.refund(paymentId, {\n // amount,\n // });\n // return refund;\n }\n\n static async fetchRefund(refundId: string) {\n // const refund = await this.instance.refunds.fetch(refundId);\n // return refund;\n }\n}\n", "\nimport { router, protectedProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod'\nimport { ApiError } from '@/src/lib/api-error'\nimport { getRazorpayId, getRazorpaySecret } from \"@/src/lib/env-exporter\"\nimport { RazorpayPaymentService } from \"@/src/lib/payments-utils\"\nimport {\n getUserPaymentOrderById as getUserPaymentOrderByIdInDb,\n getUserPaymentByOrderId as getUserPaymentByOrderIdInDb,\n getUserPaymentByMerchantOrderId as getUserPaymentByMerchantOrderIdInDb,\n updateUserPaymentSuccess as updateUserPaymentSuccessInDb,\n updateUserOrderPaymentStatus as updateUserOrderPaymentStatusInDb,\n markUserPaymentFailed as markUserPaymentFailedInDb,\n} from '@/src/dbService'\nimport type {\n UserPaymentOrderResponse,\n UserPaymentVerifyResponse,\n UserPaymentFailResponse,\n} from '@packages/shared'\n\n\n\n\nexport const paymentRouter = router({\n createRazorpayOrder: protectedProcedure //either create a new payment order or return the existing one\n .input(z.object({\n orderId: z.string(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { orderId } = input;\n\n const order = await getUserPaymentOrderByIdInDb(parseInt(orderId))\n\n /*\n // Old implementation - direct DB queries:\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, parseInt(orderId)),\n });\n */\n\n if (!order) {\n throw new ApiError(\"Order not found\", 404)\n }\n\n if (order.userId !== userId) {\n throw new ApiError(\"Order does not belong to user\", 403)\n }\n\n // Check for existing pending payment\n const existingPayment = await getUserPaymentByOrderIdInDb(parseInt(orderId))\n\n /*\n // Old implementation - direct DB queries:\n const existingPayment = await db.query.payments.findFirst({\n where: eq(payments.orderId, parseInt(orderId)),\n });\n */\n\n if (existingPayment && existingPayment.status === 'pending') {\n return {\n razorpayOrderId: existingPayment.merchantOrderId,\n key: getRazorpayId(),\n };\n }\n\n // Create Razorpay order and insert payment record\n if (order.totalAmount === null) {\n throw new ApiError('Order total is missing', 400)\n }\n const razorpayOrder = await RazorpayPaymentService.createOrder(parseInt(orderId), order.totalAmount);\n await RazorpayPaymentService.insertPaymentRecord(parseInt(orderId), razorpayOrder);\n\n return {\n razorpayOrderId: 0,\n key: getRazorpayId(),\n }\n }),\n\n\n\n verifyPayment: protectedProcedure\n .input(z.object({\n razorpay_payment_id: z.string(),\n razorpay_order_id: z.string(),\n razorpay_signature: z.string(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const { razorpay_payment_id, razorpay_order_id, razorpay_signature } = input;\n\n // Verify signature\n const encoder = new TextEncoder()\n const key = await crypto.subtle.importKey(\n 'raw',\n encoder.encode(getRazorpaySecret()),\n { name: 'HMAC', hash: 'SHA-256' },\n false,\n ['sign']\n )\n const signature = await crypto.subtle.sign(\n 'HMAC',\n key,\n encoder.encode(`${razorpay_order_id}|${razorpay_payment_id}`)\n )\n const expectedSignature = Array.from(new Uint8Array(signature))\n .map((byte) => byte.toString(16).padStart(2, '0'))\n .join('')\n\n if (expectedSignature !== razorpay_signature) {\n throw new ApiError(\"Invalid payment signature\", 400);\n }\n\n // Get current payment record\n const currentPayment = await getUserPaymentByMerchantOrderIdInDb(razorpay_order_id)\n\n /*\n // Old implementation - direct DB queries:\n const currentPayment = await db.query.payments.findFirst({\n where: eq(payments.merchantOrderId, razorpay_order_id),\n });\n */\n\n if (!currentPayment) {\n throw new ApiError(\"Payment record not found\", 404);\n }\n\n // Update payment status and payload\n const updatedPayload = {\n ...((currentPayment.payload as any) || {}),\n payment_id: razorpay_payment_id,\n signature: razorpay_signature,\n };\n\n const updatedPayment = await updateUserPaymentSuccessInDb(razorpay_order_id, updatedPayload)\n\n /*\n // Old implementation - direct DB queries:\n const [updatedPayment] = await db\n .update(payments)\n .set({\n status: 'success',\n payload: updatedPayload,\n })\n .where(eq(payments.merchantOrderId, razorpay_order_id))\n .returning();\n\n await db\n .update(orderStatus)\n .set({\n paymentStatus: 'success',\n })\n .where(eq(orderStatus.orderId, updatedPayment.orderId));\n */\n\n if (!updatedPayment) {\n throw new ApiError(\"Payment record not found\", 404)\n }\n\n await updateUserOrderPaymentStatusInDb(updatedPayment.orderId, 'success')\n\n return {\n success: true,\n message: \"Payment verified successfully\",\n }\n }),\n\n markPaymentFailed: protectedProcedure\n .input(z.object({\n merchantOrderId: z.string(),\n }))\n .mutation(async ({ input, ctx }): Promise => {\n const userId = ctx.user.userId;\n const { merchantOrderId } = input;\n\n // Find payment by merchantOrderId\n const payment = await getUserPaymentByMerchantOrderIdInDb(merchantOrderId)\n\n /*\n // Old implementation - direct DB queries:\n const payment = await db.query.payments.findFirst({\n where: eq(payments.merchantOrderId, merchantOrderId),\n });\n */\n\n if (!payment) {\n throw new ApiError(\"Payment not found\", 404);\n }\n\n // Check if payment belongs to user's order\n const order = await getUserPaymentOrderByIdInDb(payment.orderId)\n\n /*\n // Old implementation - direct DB queries:\n const order = await db.query.orders.findFirst({\n where: eq(orders.id, payment.orderId),\n });\n */\n\n if (!order || order.userId !== userId) {\n throw new ApiError(\"Payment does not belong to user\", 403);\n }\n\n // Update payment status to failed\n await markUserPaymentFailedInDb(payment.id)\n\n /*\n // Old implementation - direct DB queries:\n await db\n .update(payments)\n .set({ status: 'failed' })\n .where(eq(payments.id, payment.id));\n */\n\n return {\n success: true,\n message: \"Payment marked as failed\",\n }\n }),\n\n});\n", "import { router, protectedProcedure } from '@/src/trpc/trpc-index';\nimport { z } from 'zod';\nimport { generateUploadUrl } from '@/src/lib/s3-client';\nimport { ApiError } from '@/src/lib/api-error';\n\nexport const fileUploadRouter = router({\n generateUploadUrls: protectedProcedure\n .input(z.object({\n contextString: z.enum(['review', 'product_info', 'notification', 'complaint', 'profile', 'tags']),\n mimeTypes: z.array(z.string()),\n }))\n .mutation(async ({ input }): Promise<{ uploadUrls: string[] }> => {\n const { contextString, mimeTypes } = input;\n\n const uploadUrls: string[] = [];\n const keys: string[] = [];\n\n for (const mimeType of mimeTypes) {\n // Generate key based on context and mime type\n let folder: string;\n if (contextString === 'review') {\n folder = 'review-images';\n } else if(contextString === 'product_info') {\n folder = 'product-images';\n }\n // else if(contextString === 'review_response') {\n // folder = 'review-response-images'\n // } \n else if(contextString === 'notification') {\n folder = 'notification-images'\n } else if (contextString === 'complaint') {\n folder = 'complaint-images'\n } else if (contextString === 'profile') {\n folder = 'profile-images'\n } else if (contextString === 'tags') {\n folder = 'tags'\n } else {\n folder = '';\n }\n\n const extension = mimeType === 'image/jpeg' ? '.jpg' :\n mimeType === 'image/png' ? '.png' :\n mimeType === 'image/gif' ? '.gif' : '.jpg';\n const key = `${folder}/${Date.now()}${extension}`;\n\n try {\n const uploadUrl = await generateUploadUrl(key, mimeType);\n uploadUrls.push(uploadUrl);\n keys.push(key);\n \n } catch (error) {\n console.error('Error generating upload URL:', error);\n throw new ApiError('Failed to generate upload URL', 500);\n }\n }\n \n return { uploadUrls };\n }),\n});\n\nexport type FileUploadRouter = typeof fileUploadRouter;\n", "import { router, publicProcedure } from '@/src/trpc/trpc-index';\nimport { z } from 'zod';\nimport { getTagsByStoreId } from '@/src/stores/product-tag-store';\nimport { ApiError } from '@/src/lib/api-error';\n\nexport const tagsRouter = router({\n getTagsByStore: publicProcedure\n .input(z.object({\n storeId: z.number(),\n }))\n .query(async ({ input }) => {\n const { storeId } = input;\n\n // Get tags from cache that are related to this store\n const tags = await getTagsByStoreId(storeId);\n \n\n return {\n tags: tags.map(tag => ({\n id: tag.id,\n tagName: tag.tagName,\n tagDescription: tag.tagDescription,\n imageUrl: tag.imageUrl,\n productIds: tag.productIds,\n })),\n };\n }),\n});\n", "import { router } from '@/src/trpc/trpc-index';\nimport { addressRouter } from '@/src/trpc/apis/user-apis/apis/address';\nimport { authRouter } from '@/src/trpc/apis/user-apis/apis/auth';\nimport { bannerRouter } from '@/src/trpc/apis/user-apis/apis/banners';\nimport { cartRouter } from '@/src/trpc/apis/user-apis/apis/cart';\nimport { complaintRouter } from '@/src/trpc/apis/user-apis/apis/complaint';\nimport { orderRouter } from '@/src/trpc/apis/user-apis/apis/order';\nimport { productRouter } from '@/src/trpc/apis/user-apis/apis/product';\nimport { slotsRouter } from '@/src/trpc/apis/user-apis/apis/slots';\nimport { userRouter as userDataRouter } from '@/src/trpc/apis/user-apis/apis/user';\nimport { userCouponRouter } from '@/src/trpc/apis/user-apis/apis/coupon';\nimport { paymentRouter } from '@/src/trpc/apis/user-apis/apis/payments';\nimport { storesRouter } from '@/src/trpc/apis/user-apis/apis/stores';\nimport { fileUploadRouter } from '@/src/trpc/apis/user-apis/apis/file-upload';\nimport { tagsRouter } from '@/src/trpc/apis/user-apis/apis/tags';\n\nexport const userRouter = router({\n address: addressRouter,\n auth: authRouter,\n banner: bannerRouter,\n cart: cartRouter,\n complaint: complaintRouter,\n order: orderRouter,\n product: productRouter,\n slots: slotsRouter,\n user: userDataRouter,\n coupon: userCouponRouter,\n payment: paymentRouter,\n stores: storesRouter,\n fileUpload: fileUploadRouter,\n tags: tagsRouter,\n});\n\nexport type UserRouter = typeof userRouter;\n", "import { router, publicProcedure } from '@/src/trpc/trpc-index'\nimport { z } from 'zod';\nimport { adminRouter } from '@/src/trpc/apis/admin-apis/apis/admin-trpc-index'\nimport { userRouter } from '@/src/trpc/apis/user-apis/apis/user-trpc-index'\nimport { commonApiRouter } from '@/src/trpc/apis/common-apis/common-trpc-index'\nimport { scaffoldProducts } from './apis/common-apis/common';\nimport { scaffoldStores, scaffoldStoreWithProducts } from './apis/user-apis/apis/stores';\nimport { scaffoldSlotsWithProducts } from './apis/user-apis/apis/slots';\nimport { scaffoldEssentialConsts } from './apis/common-apis/common-trpc-index';\nimport { scaffoldBanners } from './apis/user-apis/apis/banners';\n\n// Create the main app router\nexport const appRouter = router({\n hello: publicProcedure\n .input(z.object({ name: z.string() }))\n .query(({ input }) => {\n return { greeting: `Hello ${input.name}!` };\n }),\n admin: adminRouter,\n user: userRouter,\n common: commonApiRouter,\n});\n\n\n// Export type definition of API\nexport type AppRouter = typeof appRouter;\n\nexport type AllProductsApiType = Awaited>;\nexport type StoresApiType = Awaited>;\nexport type SlotsApiType = Awaited>;\nexport type EssentialConstsApiType = Awaited>;\nexport type BannersApiType = Awaited>;\nexport type StoreWithProductsApiType = Awaited>;\n", "import { Hono } from 'hono'\nimport { cors } from 'hono/cors'\nimport { logger } from 'hono/logger'\nimport { trpcServer } from '@hono/trpc-server'\nimport { getStaffUserById, isUserSuspended } from '@/src/dbService'\nimport mainRouter from '@/src/main-router'\nimport { appRouter } from '@/src/trpc/router'\nimport { TRPCError } from '@trpc/server'\nimport { jwtVerify } from 'jose'\nimport { getEncodedJwtSecret } from '@/src/lib/env-exporter'\n\nexport const createApp = () => {\n const app = new Hono()\n\n // CORS middleware\n app.use(cors({\n origin: 'http://localhost:5174',\n allowMethods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],\n allowHeaders: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'Authorization'],\n credentials: true,\n }))\n\n // Logger middleware\n app.use(logger())\n\n // tRPC middleware\n app.use('/api/trpc/*', trpcServer({\n router: appRouter,\n createContext: async ({ req }) => {\n let user = null\n let staffUser = null\n const authHeader = req.headers.get('authorization')\n\n if (authHeader?.startsWith('Bearer ')) {\n const token = authHeader.substring(7)\n try {\n const { payload } = await jwtVerify(token, getEncodedJwtSecret())\n const decoded = payload as any\n\n // Check if this is a staff token (has staffId)\n if (decoded.staffId) {\n // This is a staff token, verify staff exists\n const staff = await getStaffUserById(decoded.staffId)\n\n if (staff) {\n user = staffUser\n staffUser = {\n id: staff.id,\n name: staff.name,\n }\n }\n } else {\n // This is a regular user token\n user = decoded\n\n // Check if user is suspended\n const suspended = await isUserSuspended(user.userId)\n\n if (suspended) {\n throw new TRPCError({\n code: 'FORBIDDEN',\n message: 'Account suspended',\n })\n }\n }\n } catch (err) {\n // Invalid token, both user and staffUser remain null\n }\n }\n return { req, user, staffUser }\n },\n onError({ error, path, type, ctx }) {\n console.error('\uD83D\uDEA8 tRPC Error :', {\n path,\n type,\n code: error.code,\n message: error.message,\n userId: ctx?.user?.userId,\n stack: error.stack,\n })\n },\n }))\n\n // Mount main router\n app.route('/api', mainRouter)\n\n // Global error handler\n app.onError((err, c) => {\n console.error(err)\n // Handle different error types\n let status = 500\n let message = 'Internal Server Error'\n\n if (err instanceof TRPCError) {\n // Map TRPC error codes to HTTP status codes\n const trpcStatusMap: Record = {\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n TIMEOUT: 408,\n CONFLICT: 409,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n METHOD_NOT_SUPPORTED: 405,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429,\n INTERNAL_SERVER_ERROR: 500,\n }\n status = trpcStatusMap[err.code] || 500\n message = err.message\n } else if ((err as any).statusCode) {\n status = (err as any).statusCode\n message = err.message\n } else if ((err as any).status) {\n status = (err as any).status\n message = err.message\n } else if (err.message) {\n message = err.message\n }\n\n return c.json({ message }, status as any)\n })\n\n return app\n}\n", "// This loads all middlewares exposed on the middleware object and then starts\n// the invocation chain. The big idea is that we can add these to the middleware\n// export dynamically through wrangler, or we can potentially let users directly\n// add them as a sort of \"plugin\" system.\n\nimport ENTRY, { __INTERNAL_WRANGLER_MIDDLEWARE__ } from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/.wrangler/tmp/bundle-l1tHq1/middleware-insertion-facade.js\";\nimport { __facade_invoke__, __facade_register__, Dispatcher } from \"/Users/mohammedshafiuddin/WebDev/freshyo/node_modules/wrangler/templates/middleware/common.ts\";\nimport type { WorkerEntrypointConstructor } from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/.wrangler/tmp/bundle-l1tHq1/middleware-insertion-facade.js\";\n\n// Preserve all the exports from the worker\nexport * from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/.wrangler/tmp/bundle-l1tHq1/middleware-insertion-facade.js\";\n\nclass __Facade_ScheduledController__ implements ScheduledController {\n\treadonly #noRetry: ScheduledController[\"noRetry\"];\n\n\tconstructor(\n\t\treadonly scheduledTime: number,\n\t\treadonly cron: string,\n\t\tnoRetry: ScheduledController[\"noRetry\"]\n\t) {\n\t\tthis.#noRetry = noRetry;\n\t}\n\n\tnoRetry() {\n\t\tif (!(this instanceof __Facade_ScheduledController__)) {\n\t\t\tthrow new TypeError(\"Illegal invocation\");\n\t\t}\n\t\t// Need to call native method immediately in case uncaught error thrown\n\t\tthis.#noRetry();\n\t}\n}\n\nfunction wrapExportedHandler(worker: ExportedHandler): ExportedHandler {\n\t// If we don't have any middleware defined, just return the handler as is\n\tif (\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__ === undefined ||\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__.length === 0\n\t) {\n\t\treturn worker;\n\t}\n\t// Otherwise, register all middleware once\n\tfor (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {\n\t\t__facade_register__(middleware);\n\t}\n\n\tconst fetchDispatcher: ExportedHandlerFetchHandler = function (\n\t\trequest,\n\t\tenv,\n\t\tctx\n\t) {\n\t\tif (worker.fetch === undefined) {\n\t\t\tthrow new Error(\"Handler does not export a fetch() function.\");\n\t\t}\n\t\treturn worker.fetch(request, env, ctx);\n\t};\n\n\treturn {\n\t\t...worker,\n\t\tfetch(request, env, ctx) {\n\t\t\tconst dispatcher: Dispatcher = function (type, init) {\n\t\t\t\tif (type === \"scheduled\" && worker.scheduled !== undefined) {\n\t\t\t\t\tconst controller = new __Facade_ScheduledController__(\n\t\t\t\t\t\tDate.now(),\n\t\t\t\t\t\tinit.cron ?? \"\",\n\t\t\t\t\t\t() => {}\n\t\t\t\t\t);\n\t\t\t\t\treturn worker.scheduled(controller, env, ctx);\n\t\t\t\t}\n\t\t\t};\n\t\t\treturn __facade_invoke__(request, env, ctx, dispatcher, fetchDispatcher);\n\t\t},\n\t};\n}\n\nfunction wrapWorkerEntrypoint(\n\tklass: WorkerEntrypointConstructor\n): WorkerEntrypointConstructor {\n\t// If we don't have any middleware defined, just return the handler as is\n\tif (\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__ === undefined ||\n\t\t__INTERNAL_WRANGLER_MIDDLEWARE__.length === 0\n\t) {\n\t\treturn klass;\n\t}\n\t// Otherwise, register all middleware once\n\tfor (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {\n\t\t__facade_register__(middleware);\n\t}\n\n\t// `extend`ing `klass` here so other RPC methods remain callable\n\treturn class extends klass {\n\t\t#fetchDispatcher: ExportedHandlerFetchHandler> = (\n\t\t\trequest,\n\t\t\tenv,\n\t\t\tctx\n\t\t) => {\n\t\t\tthis.env = env;\n\t\t\tthis.ctx = ctx;\n\t\t\tif (super.fetch === undefined) {\n\t\t\t\tthrow new Error(\"Entrypoint class does not define a fetch() function.\");\n\t\t\t}\n\t\t\treturn super.fetch(request);\n\t\t};\n\n\t\t#dispatcher: Dispatcher = (type, init) => {\n\t\t\tif (type === \"scheduled\" && super.scheduled !== undefined) {\n\t\t\t\tconst controller = new __Facade_ScheduledController__(\n\t\t\t\t\tDate.now(),\n\t\t\t\t\tinit.cron ?? \"\",\n\t\t\t\t\t() => {}\n\t\t\t\t);\n\t\t\t\treturn super.scheduled(controller);\n\t\t\t}\n\t\t};\n\n\t\tfetch(request: Request) {\n\t\t\treturn __facade_invoke__(\n\t\t\t\trequest,\n\t\t\t\tthis.env,\n\t\t\t\tthis.ctx,\n\t\t\t\tthis.#dispatcher,\n\t\t\t\tthis.#fetchDispatcher\n\t\t\t);\n\t\t}\n\t};\n}\n\nlet WRAPPED_ENTRY: ExportedHandler | WorkerEntrypointConstructor | undefined;\nif (typeof ENTRY === \"object\") {\n\tWRAPPED_ENTRY = wrapExportedHandler(ENTRY);\n} else if (typeof ENTRY === \"function\") {\n\tWRAPPED_ENTRY = wrapWorkerEntrypoint(ENTRY);\n}\nexport default WRAPPED_ENTRY;\n", "\t\t\t\timport worker, * as OTHER_EXPORTS from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/worker.ts\";\n\t\t\t\timport * as __MIDDLEWARE_0__ from \"/Users/mohammedshafiuddin/WebDev/freshyo/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts\";\nimport * as __MIDDLEWARE_1__ from \"/Users/mohammedshafiuddin/WebDev/freshyo/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts\";\n\n\t\t\t\texport * from \"/Users/mohammedshafiuddin/WebDev/freshyo/apps/backend/worker.ts\";\n\n\t\t\t\texport const __INTERNAL_WRANGLER_MIDDLEWARE__ = [\n\t\t\t\t\t\n\t\t\t\t\t__MIDDLEWARE_0__.default,__MIDDLEWARE_1__.default\n\t\t\t\t]\n\t\t\t\texport default worker;", "import type {\n ExecutionContext,\n D1Database,\n DurableObjectNamespace,\n} from '@cloudflare/workers-types'\nimport { CacheCreator } from './src/jobs/cache-creator'\nimport {\n handleNotifQueue,\n handleOrderPlacedQueue,\n handleOrderCancelledQueue,\n} from './src/lib/queue-consumer'\n\nexport { CacheCreator }\n\nexport default {\n async fetch(\n request: Request,\n env: Record & {\n DB?: D1Database\n CACHE_CREATOR: DurableObjectNamespace\n NOTIF_QUEUE: {\n send: (message: unknown) => Promise\n }\n ORDER_PLACED_QUEUE: {\n send: (message: unknown) => Promise\n }\n ORDER_CANCELLED_QUEUE: {\n send: (message: unknown) => Promise\n }\n },\n ctx: ExecutionContext\n ) {\n ;(globalThis as any).ENV = env\n const { createApp } = await import('./src/app')\n const { initDb } = await import('./src/dbService')\n if (env.DB) {\n initDb(env.DB)\n }\n const app = createApp()\n return app.fetch(request, env, ctx)\n },\n async queue(\n batch: any,\n env: Record & {\n NOTIF_QUEUE: {\n send: (message: unknown) => Promise\n }\n ORDER_PLACED_QUEUE: {\n send: (message: unknown) => Promise\n }\n ORDER_CANCELLED_QUEUE: {\n send: (message: unknown) => Promise\n }\n }\n ) {\n if (batch?.queue === 'notif_queue') {\n handleNotifQueue(batch)\n return\n }\n\n if (batch?.queue === 'order_placed_queue') {\n await handleOrderPlacedQueue(batch)\n return\n }\n\n if (batch?.queue === 'order_cancelled_queue') {\n await handleOrderCancelledQueue(batch)\n return\n }\n\n handleNotifQueue(batch)\n },\n}\n", "import dayjs from 'dayjs'\nimport { initializeAllStores } from '@/src/stores/store-initializer'\n\nconst LAST_TRIGGER_KEY = 'lastTrigger'\nconst ALARM_DELAY_MINUTES = 0.5\n// const ALARM_DELAY_MINUTES = 3\n\nexport class CacheCreator {\n private state: any\n\n constructor(state: any) {\n this.state = state\n }\n\n async fetch(request: Request): Promise {\n const url = new URL(request.url)\n if (request.method === 'POST' && url.pathname === '/schedule') {\n const now = Date.now()\n await this.state.storage.put(LAST_TRIGGER_KEY, now)\n const alarmAt = dayjs(now).add(ALARM_DELAY_MINUTES, 'minute').valueOf()\n await this.state.storage.setAlarm(alarmAt)\n return new Response('OK')\n }\n if (request.method === 'POST' && url.pathname === '/clear') {\n await this.state.storage.deleteAll()\n return new Response('OK')\n }\n\n return new Response('CacheCreator ready', { status: 200 })\n }\n\n async alarm(): Promise {\n const lastTrigger = await this.state.storage.get(LAST_TRIGGER_KEY)\n if (!lastTrigger) {\n return\n }\n\n const threshold = dayjs().subtract(ALARM_DELAY_MINUTES, 'minute')\n if (dayjs(lastTrigger).isBefore(threshold)) {\n await initializeAllStores()\n }\n }\n}\n", "import { sendAdminNotification } from '@/src/lib/notif-job'\nimport { handleOrderCancelled, handleOrderPlaced } from '@/src/lib/post-order-handler'\n\nexport const handleNotifQueue = (batch: any) => {\n batch.messages.forEach((message: any) => {\n const body = message?.body\n if (!body) {\n console.log('notif_queue message received with empty body')\n return\n }\n\n if (body.name === 'send-admin-notification' && body.jobData?.token) {\n void sendAdminNotification({\n token: body.jobData.token,\n title: body.jobData.title,\n body: body.jobData.body,\n imageUrl: body.jobData.imageUrl ?? null,\n })\n return\n }\n\n console.log('notif_queue message received', body)\n })\n}\n\nexport const handleOrderPlacedQueue = async (batch: any) => {\n for (const message of batch.messages || []) {\n const body = message?.body\n if (!body || !Array.isArray(body.orderIds)) {\n console.log('order_placed_queue message received', body)\n continue\n }\n\n await handleOrderPlaced(body.orderIds)\n }\n}\n\nexport const handleOrderCancelledQueue = async (batch: any) => {\n for (const message of batch.messages || []) {\n const body = message?.body\n if (!body || !body.orderId) {\n console.log('order_cancelled_queue message received', body)\n continue\n }\n\n await handleOrderCancelled({\n orderId: body.orderId,\n cancelledBy: body.cancelledBy,\n reason: body.reason,\n cancelledAt: body.cancelledAt,\n })\n }\n}\n", "import type { Middleware } from \"./common\";\n\nconst drainBody: Middleware = async (request, env, _ctx, middlewareCtx) => {\n\ttry {\n\t\treturn await middlewareCtx.next(request, env);\n\t} finally {\n\t\ttry {\n\t\t\tif (request.body !== null && !request.bodyUsed) {\n\t\t\t\tconst reader = request.body.getReader();\n\t\t\t\twhile (!(await reader.read()).done) {}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Failed to drain the unused request body.\", e);\n\t\t}\n\t}\n};\n\nexport default drainBody;\n", "import type { Middleware } from \"./common\";\n\ninterface JsonError {\n\tmessage?: string;\n\tname?: string;\n\tstack?: string;\n\tcause?: JsonError;\n}\n\nfunction reduceError(e: any): JsonError {\n\treturn {\n\t\tname: e?.name,\n\t\tmessage: e?.message ?? String(e),\n\t\tstack: e?.stack,\n\t\tcause: e?.cause === undefined ? undefined : reduceError(e.cause),\n\t};\n}\n\n// See comment in `bundle.ts` for details on why this is needed\nconst jsonError: Middleware = async (request, env, _ctx, middlewareCtx) => {\n\ttry {\n\t\treturn await middlewareCtx.next(request, env);\n\t} catch (e: any) {\n\t\tconst error = reduceError(e);\n\t\treturn Response.json(error, {\n\t\t\tstatus: 500,\n\t\t\theaders: { \"MF-Experimental-Error-Stack\": \"true\" },\n\t\t});\n\t}\n};\n\nexport default jsonError;\n", "export type Awaitable = T | Promise;\n// TODO: allow dispatching more events?\nexport type Dispatcher = (\n\ttype: \"scheduled\",\n\tinit: { cron?: string }\n) => Awaitable;\n\nexport type IncomingRequest = Request<\n\tunknown,\n\tIncomingRequestCfProperties\n>;\n\nexport interface MiddlewareContext {\n\tdispatch: Dispatcher;\n\tnext(request: IncomingRequest, env: any): Awaitable;\n}\n\nexport type Middleware = (\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tmiddlewareCtx: MiddlewareContext\n) => Awaitable;\n\nconst __facade_middleware__: Middleware[] = [];\n\n// The register functions allow for the insertion of one or many middleware,\n// We register internal middleware first in the stack, but have no way of controlling\n// the order that addMiddleware is run in service workers so need an internal function.\nexport function __facade_register__(...args: (Middleware | Middleware[])[]) {\n\t__facade_middleware__.push(...args.flat());\n}\nexport function __facade_registerInternal__(\n\t...args: (Middleware | Middleware[])[]\n) {\n\t__facade_middleware__.unshift(...args.flat());\n}\n\nfunction __facade_invokeChain__(\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tdispatch: Dispatcher,\n\tmiddlewareChain: Middleware[]\n): Awaitable {\n\tconst [head, ...tail] = middlewareChain;\n\tconst middlewareCtx: MiddlewareContext = {\n\t\tdispatch,\n\t\tnext(newRequest, newEnv) {\n\t\t\treturn __facade_invokeChain__(newRequest, newEnv, ctx, dispatch, tail);\n\t\t},\n\t};\n\treturn head(request, env, ctx, middlewareCtx);\n}\n\nexport function __facade_invoke__(\n\trequest: IncomingRequest,\n\tenv: any,\n\tctx: ExecutionContext,\n\tdispatch: Dispatcher,\n\tfinalMiddleware: Middleware\n): Awaitable {\n\treturn __facade_invokeChain__(request, env, ctx, dispatch, [\n\t\t...__facade_middleware__,\n\t\tfinalMiddleware,\n\t]);\n}\n"], + "mappings": "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MACA,cAAc,OAAO,OAAO,OAAO;AAAA,QAClC,cAAc;AAAA,QACd,KAAK;AAAA,QACL,UAAU;AAAA,QACV,WAAW;AAAA,QACX,UAAU;AAAA,MACX,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;AAAA,MACpB,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,UAAU;AAAA,MACV,eAAe;AAAA,MACf,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MACpB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,YAAY;AAAA,MACZ,6BAA6B;AAAA,MAC7B,4BAA4B;AAAA,MAC5B,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,iBAAiB;AAAA,IAClB;AAzNa;AAAA;AAAA;;;ACHb,IAEM,eACO,kBACE,MAAM,UAAU,UAGzB,cAMJ,OACA,aACA,6BACA,qCACA,qCACA,aACA,mBACA,MACA,MACA,OACA,OACA,QACA,WACA,mBACA,iBACA,UACA,KACA,WACA,QACA,YACA,MACA,aACA,KACA,YACA,UACA,UACA,cACA,UACA,wBACA,iBACAC,SACA,MACA,WACA,eACA,aACA,IACA,KACA,MACA,KACA,MACA,iBACA,qBACA,cACA,SACA,oBACA,gBACA,QACA,eACA,iBACA,sBACA,QACA,OACA,QACA,OACA,kBACA,kBACA,OACA,QACA,SACA,UACA,QACA,YACA,gBACA,YACA,WACAC,SACA,SACA,MACA,UACA,SACA,SACA,SACA,QACA,WACA,QACA,SACA,SACA,QACA,WACA,QACA,YACA,YACA,SACA,cACA,UACA,eACA,WACA,eACA,iBACA,mBACA,oBACA,OACA,kBACA,WACA,4BACA,2BACA,eACA,aACA,cACA,iBACA,UACA,OACA,gBAEI,UA8GC;AAnOP,IAAAC,gBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA,IAAM,gBAAgB,WAAW,SAAS;AACnC,IAAM,mBAAmB,cAAc;AACvC,KAAM,EAAE,MAAM,UAAU,aAAa;AAAA,MAC1C;AAAA,IACF;AACA,IAAM,eAAe,IAAI,QAAa;AAAA,MACpC,KAAK,cAAc;AAAA,MACnB;AAAA,MACA;AAAA,IACF,CAAC;AACM,KAAM;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE;AACJ,IAAM,WAAW;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAAD;AAAA,EAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA,+BAAAE;AAAA,EAAA;AAAA,4BAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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aAAAA;IAAA,EAfA;AAkBA,IAAM,gBAAgB;MACpB;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MAAY;MACpF;MAAY;MAAY;MA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MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAAY;MACpC;MAAY;MAAY;MAA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G,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,sGAAsG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,4FAA4F,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,iGAAiG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,uFAAuF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,iFAAiF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,uEAAuE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,4EAA4E,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,kEAAkE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,kBAAkB,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,wCAAwC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,yEAAyE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,mDAAmD,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,oFAAoF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,sFAAwF,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,mEAAmE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,wEAAwE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,oDAAoD,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,OAAO,+CAA+C,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,4EAA4E,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,kEAAkE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,kFAAkF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,uEAAuE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE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,EAAE,GAAG,wFAAwF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,8EAA8E,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,mFAAmF,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,2DAA2D,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC,EAAE,GAAG,sEAAsE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,iEAAiE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,mEAAmE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,yDAAyD,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,8DAA8D,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,GAAG,G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ACA,KACA,MACA,MACA,OACA,OACA,KACA,MACA,KACA,OACA,SACA,MACA,KACA,KACA,IACA,KACA,MACA,MACA,QACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,MACA,KACA,MACA,KACA,KACA,KACA,IACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,SACA,MACA,MACA,KACA,OACA,QACA,WACA,MACA,KACA,MACA,MACA,KACA,MACA,MACA,KACA,MACA,KACA,MACA,OACA,MACA,KACA,MACA,MACA,OACA,QACA,OACA,QACA,QACA,OACA,OACA,MACA,KACA,MACA,MACA,QACA,QACA,SACA,OACA,KACA,MACA,OACA,MACA,MACA,OACA,KACA,QACA,MACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,MACA,MACA,OACA,OACA,UACA,UACA,YACA,MACA,OACA,QACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,KACA,MACA,MACA,MACA,OACA,KACA,IACA,MACA,KACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,QACA,QACA,SACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,MACA,OACA,MACA,OACA,KACA,MACA,OACA,OACA,OACA,KACA,MACA,MACA,OACA,MACA,KACA,KACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,MACA,OACA,QACA,OACA,QACA,KACA,MACA,OACA,OACA,KACA,KACA,MACA,OACA,MACA,OACA,MACA,IACA,KACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,KACA,MACA,KACA,OACA,MACA,KACA,OACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,IACA,KACA,MACA,KACA,KACA,MACA,MACA,KACA,KACA,KACA,IACA,MACA,OACA,QACA,SACA,QACA,SACA,QACA,OACA,QACA,OACA,QACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,SACA,MACA,OACA,QACA,QACA,OACA,QACA,OACA,QACA,OACA,OACA,QACA,SACA,QACA,SACA,UACA,QACA,QACA,SACA,SACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,OACA,OACA,OACA,QACA,QACA,MACA,OACA,OACA,QACA,QACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,MACA,MACA,KACA,MACA,OACA,QACA,OACA,OACA,QACA,SACA,OACA,OACA,QACA,QACA,OACA,QACA,QACA,MACA,MACA,OACA,OACA,OACA,MACA,OACA,QACA,OACA,QACA,OACA,OACA,QACA,QACA,KACA,QACA,KACA,QACA,KACA,MACA,KACA,MACA,MACA,QACA,KACA,KACA,MACA,MACA,MACA,IACA,KACA,MACA,KACA,MACA,OACA,KACA,MACA,KACA,KACA,KACA,OACA,QACA,MACA,OACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,OACA,KACA,OACA,MACA,KACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,OACA,MACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,OACA,IACA,KACA,KACA,MACA,KACA,OACA,QACA,QACA,UACA,MACA,IACA,QACA,SACA,KACA,OACA,QACA,QACA,SACA,OACA,QACA,QACA,QACA,SACA,SACA,OACA,QACA,QACA,MACA,MACA,OACA,KACA,MACA,MACA,OACA,OACA,KACA,MACA,MACA,MACA,OACA,OACA,KACA,KACA,OACA,KACA,OACA,MACA,MACA,OACA,OACA,QACA,MACA,KACA,MACA,MACA,MACA,OACA,QACA,OACA,QACA,OACA,KACA,MACA,MACA,OACA,KACA,OACA,MACA,MACA,MACA,IACA,MACA,MACA,KACA,KACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,KACA,MACA,OACA,KACA,KACA,MACA,KACA,MACA,OACA,OACA,KACA,MACA,MACA,KACA,KACA,MACA,KACA,KACA,IACA,KACA,MACA,MACA,KACA,SACA,KACA,MACA,KACA,MACA,OACA,MACA,MACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,IACA,KACA,SACA,KACA,MACA,OACA,KACA,KACA,KACA,MACA,KACA,MACA,MACA,QACA,OACA,QACA,MACA,MACA,QACA,OACA,MACA,SACA,KACA,MACA,KACA,MACA,KACA,OACA,OACA,MACA,MACA,KACA,MACA,KACA,MACA,IACA,OACA,MACA,OACA,QACA,SACA,QACA,OACA,QACA,OACA,MACA,OACA,MACA,OACA,OACA,QACA,QACA,SACA,MACA,OACA,QACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,QACA,MACA,OACA,MACA,OACA,QACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,KACA,MACA,KACA,KACA,KACA,KACA,MACA,KACA,MACA,OACA,OACA,OACA,QACA,QACA,OACA,QACA,QACA,MACA,MACA,OACA,OACA,OACA,MACA,OACA,OACA,KACA,OACA,QACA,KACA,KACA,MACA,OACA,MACA,OACA,KACA,KACA,KACA,MACA,MACA,IACA,KACA,KACA,MACA,MACA,OACA,MACA,KACA,KACA,IACA,OACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,OACA,QACA,OACA,MACA,KACA,KACA,MACA,OACA,MACA,MACA,OACA,MACA,KACA,MACA,MACA,MACA,KACA,OACA,MACA,MACA,OACA,OACA,OACA,MACA,KACA,MACA,OACA,KACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,MACA,MACA,KACA,MACA,KACA,MACA,QACA,MACA,MACA,MACA,MACA,KACA,MACA,OACA,OACA,OACA,KACA,OACA,MACA,MACA,KACA,KACA,MACA,QACA,OACA,OACA,KACA,MACA,KACA,KACA,MACA,MACA,OACA,QACA,OACA,QACA,QACA,UACA,SACA,UACA,WACA,WACA,OACA,QACA,OACA,KACA,MACA,OACA,KACA,KACA,KACA,KACA,MACA,KACA,IACA,KACA,MACA,KACA,MACA,MACA,KACA,MACA,MACA,OACA,KACA,QACA,KACA,MACA,KACA,MACA,MACA,KACA,MACA,OACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,OACA,MACA,KACA,MACA,KACA,MACA,KACA,IACA,SACA,UACA,SACA,UACA,KACA,MACA,KACA,MACA,OACA,QACA,KACA,MACA,OACA,OACA,MACA,MACA,MACA,KACA,IACA,KACA,KACA,MACA,KACA,MACA,KACA,OACA,QACA,MACA,MACA,IACA,KACA,KACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,IACA,KACA,KACA,IACA,KACA,MACA,KACA,KACA,KACA,IACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,KACA,KACA,KACA,MACA,KACA,MACA,IACA,KACA,KACA,KACA,MACA,MACA,OACA,QACA,QACA,OACA,OACA,QACA,QACA,QACA,OACA,SACA,SACA,OACA,OACA,OACA,QACA,SACA,OACA,UACA,OACA,QACA,SACA,SACA,UACA,UACA,UACA,QACA,QACA,YACA,YACA,aACA,SACA,OACA,QACA,OACA,MACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,SACA,SACA,SACA,WACA,YACA,aACA,WACA,YACA,WACA,UACA,WACA,YACA,aACA,YACA,cACA,UACA,WACA,WACA,WACA,YACA,gBACA,eACA,cACA,eACA,WACA,WACA,OACA,QACA,OACA,QACA,OACA,QACA,SACA,UACA,QACA,MACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,QACA,UACA,OACA,QACA,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CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,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AAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,G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AAA,IACjC,GAJqC;AAAA;AAAA;;;ACrBrC,IAEMG,aAkBO;AApBb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA,IAAAC;AACA;AACA,IAAMF,cAAa,8BAAO,QAAQ,UAAU;AACxC,UAAI;AACJ,UAAI;AACA,YAAI,SAAS,MAAM,OAAO,KAAK,IAAI,kBAAkB,KAAK,CAAC;AAC3D,iBAAS;AAAA,MACb,SACO,WAAP;AACI,iBAAS;AACT,YAAI,UAAU,QAAQ,UAAU,QAAQ,YAAY;AAChD,iBAAO,EAAE,OAAO,YAAY,SAAS,OAAO;AAAA,QAChD;AAAA,MACJ;AACA,aAAO,EAAE,OAAO,YAAY,OAAO,OAAO;AAAA,IAC9C,GAbmB;AAkBZ,IAAM,2BAA2B,8BAAO,QAAQ,UAAU;AAC7D,YAAM,kBAAkB,EAAE,UAAU,GAAG,UAAU,IAAI;AACrD,YAAM,SAAS,MAAM,aAAa,EAAE,GAAG,iBAAiB,GAAG,OAAO,GAAG,OAAOA,WAAU;AACtF,aAAO,gBAAgB,MAAM;AAAA,IACjC,GAJwC;AAAA;AAAA;;;ACpBxC,IAqHM,UA6GA,YAMA,SAMO;AA9Ob;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAG;AAAA,IAAAC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,WAAW;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,IAAM,aAAa;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,IAAM,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACO,IAAM,KAAN,cAAiB,SAAS;AAAA,IACjC;AADa;AAEb,2BAAuB,UAAU,IAAI,EAAE,YAAY,QAAQ,CAAC;AAAA;AAAA;;;AChP5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;AC1GA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AAAA;;;ACAA,IAAAC,mBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AAAA;AAAA;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AAAA;;;ACAA,IAAAC,iBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AA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;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA;AAAA;;;AC9DA,IAoDM,eAEJ,aACA,eACA,oBACA,MACA,MACA,WACA,iBACA,YACA,gBACA,qBACA,0BACA,YACA,YACA,kBACA,iBACA,iBACA,aACA,iBACA,qBACA,iBACA,eACA,mBACA,YACA,WACA,kBACA,SACA,WACA,MACA,UACA,QACA,YACA,aACA,YACA,gBACA,WACAC,aACA,QACA,YACA,gBACA,WACA,SACAC,SACA,iBAEW,iBAGAC,YAOP,MACC;AA7GP,IAAAC,eAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA,IAAAD;AAoDA,IAAM,gBAAgB,QAAQ,iBAAiB,aAAa;AACrD,KAAM;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAAH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAC;AAAA,MACA;AAAA,QACE;AACG,IAAM,kBAAkB,cAAc,gBAAgB;AAAA,MAC3D,cAAc;AAAA,IAChB;AACO,IAAMC,aAAY;AAAA;AAAA,MAEvB,WAAW,UAAqB;AAAA,MAChC;AAAA,MACA,YAAAF;AAAA,MACA,QAAAC;AAAA,IACF;AACA,IAAM,OAAO,cAAc;AAC3B,IAAO,iBAAQ;AAAA;AAAA;AAAA;AAAA,MAIb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA,MAAAI;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA,MAAAC;AAAA;AAAA,MAEA,QAAAC;AAAA;AAAA;AAAA,MAGA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA;AAAA;AAAA,MAIA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAAP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAAC;AAAA,MACA;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA,WAAAC;AAAA,IACF;AAAA;AAAA;;;AChKA,SAASM,aAAY,KAAK;AAExB,MAAI;AACF,WAAO,OAAO,gBAAgB,IAAI,WAAW,GAAG,CAAC;AAAA,EACnD,QAAE;AAAA,EAAO;AAET,MAAI;AACF,WAAO,eAAW,YAAY,GAAG;AAAA,EACnC,QAAE;AAAA,EAAO;AAET,MAAI,CAAC,gBAAgB;AACnB,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AACA,SAAO,eAAe,GAAG;AAC3B;AAWO,SAAS,kBAAkB,QAAQ;AACxC,mBAAiB;AACnB;AASO,SAAS,YAAY,QAAQ,aAAa;AAC/C,WAAS,UAAU;AACnB,MAAI,OAAO,WAAW;AACpB,UAAM;AAAA,MACJ,wBAAwB,OAAO,SAAS,OAAO,OAAO;AAAA,IACxD;AACF,MAAI,SAAS;AAAG,aAAS;AAAA,WAChB,SAAS;AAAI,aAAS;AAC/B,MAAI,OAAO,CAAC;AACZ,OAAK,KAAK,MAAM;AAChB,MAAI,SAAS;AAAI,SAAK,KAAK,GAAG;AAC9B,OAAK,KAAK,OAAO,SAAS,CAAC;AAC3B,OAAK,KAAK,GAAG;AACb,OAAK,KAAK,cAAcA,aAAY,eAAe,GAAG,eAAe,CAAC;AACtE,SAAO,KAAK,KAAK,EAAE;AACrB;AAUO,SAAS,QAAQ,QAAQ,aAAa,UAAU;AACrD,MAAI,OAAO,gBAAgB;AACzB,IAAC,WAAW,aAAe,cAAc;AAC3C,MAAI,OAAO,WAAW;AAAY,IAAC,WAAW,QAAU,SAAS;AACjE,MAAI,OAAO,WAAW;AAAa,aAAS;AAAA,WACnC,OAAO,WAAW;AACzB,UAAM,MAAM,wBAAwB,OAAO,MAAM;AAEnD,WAAS,OAAOC,WAAU;AACxB,IAAAC,UAAS,WAAY;AAEnB,UAAI;AACF,QAAAD,UAAS,MAAM,YAAY,MAAM,CAAC;AAAA,MACpC,SAAS,KAAP;AACA,QAAAA,UAAS,GAAG;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AATS;AAWT,MAAI,UAAU;AACZ,QAAI,OAAO,aAAa;AACtB,YAAM,MAAM,uBAAuB,OAAO,QAAQ;AACpD,WAAO,QAAQ;AAAA,EACjB;AACE,WAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAC5C,aAAO,SAAU,KAAK,KAAK;AACzB,YAAI,KAAK;AACP,iBAAO,GAAG;AACV;AAAA,QACF;AACA,gBAAQ,GAAG;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AACL;AAQO,SAAS,SAAS,UAAU,MAAM;AACvC,MAAI,OAAO,SAAS;AAAa,WAAO;AACxC,MAAI,OAAO,SAAS;AAAU,WAAO,YAAY,IAAI;AACrD,MAAI,OAAO,aAAa,YAAY,OAAO,SAAS;AAClD,UAAM,MAAM,wBAAwB,OAAO,WAAW,OAAO,OAAO,IAAI;AAC1E,SAAO,MAAM,UAAU,IAAI;AAC7B;AAYO,SAASE,MAAK,UAAU,MAAM,UAAU,kBAAkB;AAC/D,WAAS,OAAOF,WAAU;AACxB,QAAI,OAAO,aAAa,YAAY,OAAO,SAAS;AAClD,cAAQ,MAAM,SAAU,KAAKG,OAAM;AACjC,cAAM,UAAUA,OAAMH,WAAU,gBAAgB;AAAA,MAClD,CAAC;AAAA,aACM,OAAO,aAAa,YAAY,OAAO,SAAS;AACvD,YAAM,UAAU,MAAMA,WAAU,gBAAgB;AAAA;AAEhD,MAAAC;AAAA,QACED,UAAS;AAAA,UACP;AAAA,UACA,MAAM,wBAAwB,OAAO,WAAW,OAAO,OAAO,IAAI;AAAA,QACpE;AAAA,MACF;AAAA,EACJ;AAdS;AAgBT,MAAI,UAAU;AACZ,QAAI,OAAO,aAAa;AACtB,YAAM,MAAM,uBAAuB,OAAO,QAAQ;AACpD,WAAO,QAAQ;AAAA,EACjB;AACE,WAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAC5C,aAAO,SAAU,KAAK,KAAK;AACzB,YAAI,KAAK;AACP,iBAAO,GAAG;AACV;AAAA,QACF;AACA,gBAAQ,GAAG;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AACL;AASA,SAAS,kBAAkB,OAAOI,UAAS;AACzC,MAAI,OAAO,MAAM,SAASA,SAAQ;AAClC,WAASC,KAAI,GAAGA,KAAI,MAAM,QAAQ,EAAEA,IAAG;AACrC,YAAQ,MAAM,WAAWA,EAAC,IAAID,SAAQ,WAAWC,EAAC;AAAA,EACpD;AACA,SAAO,SAAS;AAClB;AASO,SAAS,YAAY,UAAUH,OAAM;AAC1C,MAAI,OAAO,aAAa,YAAY,OAAOA,UAAS;AAClD,UAAM,MAAM,wBAAwB,OAAO,WAAW,OAAO,OAAOA,KAAI;AAC1E,MAAIA,MAAK,WAAW;AAAI,WAAO;AAC/B,SAAO;AAAA,IACL,SAAS,UAAUA,MAAK,UAAU,GAAGA,MAAK,SAAS,EAAE,CAAC;AAAA,IACtDA;AAAA,EACF;AACF;AAYO,SAAS,QAAQ,UAAU,WAAW,UAAU,kBAAkB;AACvE,WAAS,OAAOF,WAAU;AACxB,QAAI,OAAO,aAAa,YAAY,OAAO,cAAc,UAAU;AACjE,MAAAC;AAAA,QACED,UAAS;AAAA,UACP;AAAA,UACA;AAAA,YACE,wBAAwB,OAAO,WAAW,OAAO,OAAO;AAAA,UAC1D;AAAA,QACF;AAAA,MACF;AACA;AAAA,IACF;AACA,QAAI,UAAU,WAAW,IAAI;AAC3B,MAAAC,UAASD,UAAS,KAAK,MAAM,MAAM,KAAK,CAAC;AACzC;AAAA,IACF;AACA,IAAAE;AAAA,MACE;AAAA,MACA,UAAU,UAAU,GAAG,EAAE;AAAA,MACzB,SAAU,KAAK,MAAM;AACnB,YAAI;AAAK,UAAAF,UAAS,GAAG;AAAA;AAChB,UAAAA,UAAS,MAAM,kBAAkB,MAAM,SAAS,CAAC;AAAA,MACxD;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAzBS;AA2BT,MAAI,UAAU;AACZ,QAAI,OAAO,aAAa;AACtB,YAAM,MAAM,uBAAuB,OAAO,QAAQ;AACpD,WAAO,QAAQ;AAAA,EACjB;AACE,WAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAC5C,aAAO,SAAU,KAAK,KAAK;AACzB,YAAI,KAAK;AACP,iBAAO,GAAG;AACV;AAAA,QACF;AACA,gBAAQ,GAAG;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AACL;AAQO,SAAS,UAAUE,OAAM;AAC9B,MAAI,OAAOA,UAAS;AAClB,UAAM,MAAM,wBAAwB,OAAOA,KAAI;AACjD,SAAO,SAASA,MAAK,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE;AACxC;AAQO,SAAS,QAAQA,OAAM;AAC5B,MAAI,OAAOA,UAAS;AAClB,UAAM,MAAM,wBAAwB,OAAOA,KAAI;AACjD,MAAIA,MAAK,WAAW;AAClB,UAAM,MAAM,0BAA0BA,MAAK,SAAS,QAAQ;AAC9D,SAAOA,MAAK,UAAU,GAAG,EAAE;AAC7B;AAQO,SAAS,UAAU,UAAU;AAClC,MAAI,OAAO,aAAa;AACtB,UAAM,MAAM,wBAAwB,OAAO,QAAQ;AACrD,SAAO,WAAW,QAAQ,IAAI;AAChC;AAgBA,SAAS,WAAWI,SAAQ;AAC1B,MAAI,MAAM,GACRC,KAAI;AACN,WAASF,KAAI,GAAGA,KAAIC,QAAO,QAAQ,EAAED,IAAG;AACtC,IAAAE,KAAID,QAAO,WAAWD,EAAC;AACvB,QAAIE,KAAI;AAAK,aAAO;AAAA,aACXA,KAAI;AAAM,aAAO;AAAA,cAEvBA,KAAI,WAAY,UAChBD,QAAO,WAAWD,KAAI,CAAC,IAAI,WAAY,OACxC;AACA,QAAEA;AACF,aAAO;AAAA,IACT;AAAO,aAAO;AAAA,EAChB;AACA,SAAO;AACT;AAGA,SAAS,UAAUC,SAAQ;AACzB,MAAI,SAAS,GACX,IACA;AACF,MAAI,SAAS,IAAI,MAAM,WAAWA,OAAM,CAAC;AACzC,WAASD,KAAI,GAAGG,KAAIF,QAAO,QAAQD,KAAIG,IAAG,EAAEH,IAAG;AAC7C,SAAKC,QAAO,WAAWD,EAAC;AACxB,QAAI,KAAK,KAAK;AACZ,aAAO,QAAQ,IAAI;AAAA,IACrB,WAAW,KAAK,MAAM;AACpB,aAAO,QAAQ,IAAK,MAAM,IAAK;AAC/B,aAAO,QAAQ,IAAK,KAAK,KAAM;AAAA,IACjC,YACG,KAAK,WAAY,WAChB,KAAKC,QAAO,WAAWD,KAAI,CAAC,KAAK,WAAY,OAC/C;AACA,WAAK,UAAY,KAAK,SAAW,OAAO,KAAK;AAC7C,QAAEA;AACF,aAAO,QAAQ,IAAK,MAAM,KAAM;AAChC,aAAO,QAAQ,IAAM,MAAM,KAAM,KAAM;AACvC,aAAO,QAAQ,IAAM,MAAM,IAAK,KAAM;AACtC,aAAO,QAAQ,IAAK,KAAK,KAAM;AAAA,IACjC,OAAO;AACL,aAAO,QAAQ,IAAK,MAAM,KAAM;AAChC,aAAO,QAAQ,IAAM,MAAM,IAAK,KAAM;AACtC,aAAO,QAAQ,IAAK,KAAK,KAAM;AAAA,IACjC;AAAA,EACF;AACA,SAAO;AACT;AAmCA,SAAS,cAAcI,IAAG,KAAK;AAC7B,MAAIC,OAAM,GACR,KAAK,CAAC,GACN,IACA;AACF,MAAI,OAAO,KAAK,MAAMD,GAAE;AAAQ,UAAM,MAAM,kBAAkB,GAAG;AACjE,SAAOC,OAAM,KAAK;AAChB,SAAKD,GAAEC,MAAK,IAAI;AAChB,OAAG,KAAK,YAAa,MAAM,IAAK,EAAI,CAAC;AACrC,UAAM,KAAK,MAAS;AACpB,QAAIA,QAAO,KAAK;AACd,SAAG,KAAK,YAAY,KAAK,EAAI,CAAC;AAC9B;AAAA,IACF;AACA,SAAKD,GAAEC,MAAK,IAAI;AAChB,UAAO,MAAM,IAAK;AAClB,OAAG,KAAK,YAAY,KAAK,EAAI,CAAC;AAC9B,UAAM,KAAK,OAAS;AACpB,QAAIA,QAAO,KAAK;AACd,SAAG,KAAK,YAAY,KAAK,EAAI,CAAC;AAC9B;AAAA,IACF;AACA,SAAKD,GAAEC,MAAK,IAAI;AAChB,UAAO,MAAM,IAAK;AAClB,OAAG,KAAK,YAAY,KAAK,EAAI,CAAC;AAC9B,OAAG,KAAK,YAAY,KAAK,EAAI,CAAC;AAAA,EAChC;AACA,SAAO,GAAG,KAAK,EAAE;AACnB;AASA,SAAS,cAAcC,IAAG,KAAK;AAC7B,MAAID,OAAM,GACR,OAAOC,GAAE,QACT,OAAO,GACP,KAAK,CAAC,GACN,IACA,IACA,IACA,IACAC,IACA;AACF,MAAI,OAAO;AAAG,UAAM,MAAM,kBAAkB,GAAG;AAC/C,SAAOF,OAAM,OAAO,KAAK,OAAO,KAAK;AACnC,WAAOC,GAAE,WAAWD,MAAK;AACzB,SAAK,OAAO,aAAa,SAAS,aAAa,IAAI,IAAI;AACvD,WAAOC,GAAE,WAAWD,MAAK;AACzB,SAAK,OAAO,aAAa,SAAS,aAAa,IAAI,IAAI;AACvD,QAAI,MAAM,MAAM,MAAM;AAAI;AAC1B,IAAAE,KAAK,MAAM,MAAO;AAClB,IAAAA,OAAM,KAAK,OAAS;AACpB,OAAG,KAAK,OAAO,aAAaA,EAAC,CAAC;AAC9B,QAAI,EAAE,QAAQ,OAAOF,QAAO;AAAM;AAClC,WAAOC,GAAE,WAAWD,MAAK;AACzB,SAAK,OAAO,aAAa,SAAS,aAAa,IAAI,IAAI;AACvD,QAAI,MAAM;AAAI;AACd,IAAAE,MAAM,KAAK,OAAS,MAAO;AAC3B,IAAAA,OAAM,KAAK,OAAS;AACpB,OAAG,KAAK,OAAO,aAAaA,EAAC,CAAC;AAC9B,QAAI,EAAE,QAAQ,OAAOF,QAAO;AAAM;AAClC,WAAOC,GAAE,WAAWD,MAAK;AACzB,SAAK,OAAO,aAAa,SAAS,aAAa,IAAI,IAAI;AACvD,IAAAE,MAAM,KAAK,MAAS,MAAO;AAC3B,IAAAA,MAAK;AACL,OAAG,KAAK,OAAO,aAAaA,EAAC,CAAC;AAC9B,MAAE;AAAA,EACJ;AACA,MAAI,MAAM,CAAC;AACX,OAAKF,OAAM,GAAGA,OAAM,MAAMA;AAAO,QAAI,KAAK,GAAGA,IAAG,EAAE,WAAW,CAAC,CAAC;AAC/D,SAAO;AACT;AA6OA,SAAS,UAAU,IAAIA,MAAKG,IAAGC,IAAG;AAEhC,MAAIC,IACFC,KAAI,GAAGN,IAAG,GACVO,KAAI,GAAGP,OAAM,CAAC;AAEhB,EAAAM,MAAKH,GAAE,CAAC;AAoBR,EAAAE,KAAID,GAAEE,OAAM,EAAE;AACd,EAAAD,MAAKD,GAAE,MAAUE,MAAK,KAAM,GAAK;AACjC,EAAAD,MAAKD,GAAE,MAAUE,MAAK,IAAK,GAAK;AAChC,EAAAD,MAAKD,GAAE,MAASE,KAAI,GAAK;AACzB,EAAAC,MAAKF,KAAIF,GAAE,CAAC;AACZ,EAAAE,KAAID,GAAEG,OAAM,EAAE;AACd,EAAAF,MAAKD,GAAE,MAAUG,MAAK,KAAM,GAAK;AACjC,EAAAF,MAAKD,GAAE,MAAUG,MAAK,IAAK,GAAK;AAChC,EAAAF,MAAKD,GAAE,MAASG,KAAI,GAAK;AACzB,EAAAD,MAAKD,KAAIF,GAAE,CAAC;AAEZ,EAAAE,KAAID,GAAEE,OAAM,EAAE;AACd,EAAAD,MAAKD,GAAE,MAAUE,MAAK,KAAM,GAAK;AACjC,EAAAD,MAAKD,GAAE,MAAUE,MAAK,IAAK,GAAK;AAChC,EAAAD,MAAKD,GAAE,MAASE,KAAI,GAAK;AACzB,EAAAC,MAAKF,KAAIF,GAAE,CAAC;AACZ,EAAAE,KAAID,GAAEG,OAAM,EAAE;AACd,EAAAF,MAAKD,GAAE,MAAUG,MAAK,KAAM,GAAK;AACjC,EAAAF,MAAKD,GAAE,MAAUG,MAAK,IAAK,GAAK;AAChC,EAAAF,MAAKD,GAAE,MAASG,KAAI,GAAK;AACzB,EAAAD,MAAKD,KAAIF,GAAE,CAAC;AAEZ,EAAAE,KAAID,GAAEE,OAAM,EAAE;AACd,EAAAD,MAAKD,GAAE,MAAUE,MAAK,KAAM,GAAK;AACjC,EAAAD,MAAKD,GAAE,MAAUE,MAAK,IAAK,GAAK;AAChC,EAAAD,MAAKD,GAAE,MAASE,KAAI,GAAK;AACzB,EAAAC,MAAKF,KAAIF,GAAE,CAAC;AACZ,EAAAE,KAAID,GAAEG,OAAM,EAAE;AACd,EAAAF,MAAKD,GAAE,MAAUG,MAAK,KAAM,GAAK;AACjC,EAAAF,MAAKD,GAAE,MAAUG,MAAK,IAAK,GAAK;AAChC,EAAAF,MAAKD,GAAE,MAASG,KAAI,GAAK;AACzB,EAAAD,MAAKD,KAAIF,GAAE,CAAC;AAEZ,EAAAE,KAAID,GAAEE,OAAM,EAAE;AACd,EAAAD,MAAKD,GAAE,MAAUE,MAAK,KAAM,GAAK;AACjC,EAAAD,MAAKD,GAAE,MAAUE,MAAK,IAAK,GAAK;AAChC,EAAAD,MAAKD,GAAE,MAASE,KAAI,GAAK;AACzB,EAAAC,MAAKF,KAAIF,GAAE,CAAC;AACZ,EAAAE,KAAID,GAAEG,OAAM,EAAE;AACd,EAAAF,MAAKD,GAAE,MAAUG,MAAK,KAAM,GAAK;AACjC,EAAAF,MAAKD,GAAE,MAAUG,MAAK,IAAK,GAAK;AAChC,EAAAF,MAAKD,GAAE,MAASG,KAAI,GAAK;AACzB,EAAAD,MAAKD,KAAIF,GAAE,CAAC;AAEZ,EAAAE,KAAID,GAAEE,OAAM,EAAE;AACd,EAAAD,MAAKD,GAAE,MAAUE,MAAK,KAAM,GAAK;AACjC,EAAAD,MAAKD,GAAE,MAAUE,MAAK,IAAK,GAAK;AAChC,EAAAD,MAAKD,GAAE,MAASE,KAAI,GAAK;AACzB,EAAAC,MAAKF,KAAIF,GAAE,CAAC;AACZ,EAAAE,KAAID,GAAEG,OAAM,EAAE;AACd,EAAAF,MAAKD,GAAE,MAAUG,MAAK,KAAM,GAAK;AACjC,EAAAF,MAAKD,GAAE,MAAUG,MAAK,IAAK,GAAK;AAChC,EAAAF,MAAKD,GAAE,MAASG,KAAI,GAAK;AACzB,EAAAD,MAAKD,KAAIF,GAAE,EAAE;AAEb,EAAAE,KAAID,GAAEE,OAAM,EAAE;AACd,EAAAD,MAAKD,GAAE,MAAUE,MAAK,KAAM,GAAK;AACjC,EAAAD,MAAKD,GAAE,MAAUE,MAAK,IAAK,GAAK;AAChC,EAAAD,MAAKD,GAAE,MAASE,KAAI,GAAK;AACzB,EAAAC,MAAKF,KAAIF,GAAE,EAAE;AACb,EAAAE,KAAID,GAAEG,OAAM,EAAE;AACd,EAAAF,MAAKD,GAAE,MAAUG,MAAK,KAAM,GAAK;AACjC,EAAAF,MAAKD,GAAE,MAAUG,MAAK,IAAK,GAAK;AAChC,EAAAF,MAAKD,GAAE,MAASG,KAAI,GAAK;AACzB,EAAAD,MAAKD,KAAIF,GAAE,EAAE;AAEb,EAAAE,KAAID,GAAEE,OAAM,EAAE;AACd,EAAAD,MAAKD,GAAE,MAAUE,MAAK,KAAM,GAAK;AACjC,EAAAD,MAAKD,GAAE,MAAUE,MAAK,IAAK,GAAK;AAChC,EAAAD,MAAKD,GAAE,MAASE,KAAI,GAAK;AACzB,EAAAC,MAAKF,KAAIF,GAAE,EAAE;AACb,EAAAE,KAAID,GAAEG,OAAM,EAAE;AACd,EAAAF,MAAKD,GAAE,MAAUG,MAAK,KAAM,GAAK;AACjC,EAAAF,MAAKD,GAAE,MAAUG,MAAK,IAAK,GAAK;AAChC,EAAAF,MAAKD,GAAE,MAASG,KAAI,GAAK;AACzB,EAAAD,MAAKD,KAAIF,GAAE,EAAE;AAEb,EAAAE,KAAID,GAAEE,OAAM,EAAE;AACd,EAAAD,MAAKD,GAAE,MAAUE,MAAK,KAAM,GAAK;AACjC,EAAAD,MAAKD,GAAE,MAAUE,MAAK,IAAK,GAAK;AAChC,EAAAD,MAAKD,GAAE,MAASE,KAAI,GAAK;AACzB,EAAAC,MAAKF,KAAIF,GAAE,EAAE;AACb,EAAAE,KAAID,GAAEG,OAAM,EAAE;AACd,EAAAF,MAAKD,GAAE,MAAUG,MAAK,KAAM,GAAK;AACjC,EAAAF,MAAKD,GAAE,MAAUG,MAAK,IAAK,GAAK;AAChC,EAAAF,MAAKD,GAAE,MAASG,KAAI,GAAK;AACzB,EAAAD,MAAKD,KAAIF,GAAE,EAAE;AAEb,KAAGH,IAAG,IAAIO,KAAIJ,GAAE,sBAAsB,CAAC;AACvC,KAAGH,OAAM,CAAC,IAAIM;AACd,SAAO;AACT;AAQA,SAAS,cAAc,MAAM,MAAM;AACjC,WAASX,KAAI,GAAG,OAAO,GAAGA,KAAI,GAAG,EAAEA;AACjC,IAAC,OAAQ,QAAQ,IAAM,KAAK,IAAI,IAAI,KACjC,QAAQ,OAAO,KAAK,KAAK;AAC9B,SAAO,EAAE,KAAK,MAAM,KAAW;AACjC;AAQA,SAAS,KAAK,KAAKQ,IAAGC,IAAG;AACvB,MAAI,SAAS,GACX,KAAK,CAAC,GAAG,CAAC,GACV,OAAOD,GAAE,QACT,OAAOC,GAAE,QACT;AACF,WAAST,KAAI,GAAGA,KAAI,MAAMA;AACxB,IAAC,KAAK,cAAc,KAAK,MAAM,GAC5B,SAAS,GAAG,MACZQ,GAAER,EAAC,IAAIQ,GAAER,EAAC,IAAI,GAAG;AACtB,OAAKA,KAAI,GAAGA,KAAI,MAAMA,MAAK;AACzB,IAAC,KAAK,UAAU,IAAI,GAAGQ,IAAGC,EAAC,GAAKD,GAAER,EAAC,IAAI,GAAG,CAAC,GAAKQ,GAAER,KAAI,CAAC,IAAI,GAAG,CAAC;AACjE,OAAKA,KAAI,GAAGA,KAAI,MAAMA,MAAK;AACzB,IAAC,KAAK,UAAU,IAAI,GAAGQ,IAAGC,EAAC,GAAKA,GAAET,EAAC,IAAI,GAAG,CAAC,GAAKS,GAAET,KAAI,CAAC,IAAI,GAAG,CAAC;AACnE;AAUA,SAAS,QAAQ,MAAM,KAAKQ,IAAGC,IAAG;AAChC,MAAI,OAAO,GACT,KAAK,CAAC,GAAG,CAAC,GACV,OAAOD,GAAE,QACT,OAAOC,GAAE,QACT;AACF,WAAST,KAAI,GAAGA,KAAI,MAAMA;AACxB,IAAC,KAAK,cAAc,KAAK,IAAI,GAAK,OAAO,GAAG,MAAQQ,GAAER,EAAC,IAAIQ,GAAER,EAAC,IAAI,GAAG;AACvE,SAAO;AACP,OAAKA,KAAI,GAAGA,KAAI,MAAMA,MAAK;AACzB,IAAC,KAAK,cAAc,MAAM,IAAI,GAC3B,OAAO,GAAG,MACV,GAAG,CAAC,KAAK,GAAG,KACZ,KAAK,cAAc,MAAM,IAAI,GAC7B,OAAO,GAAG,MACV,GAAG,CAAC,KAAK,GAAG,KACZ,KAAK,UAAU,IAAI,GAAGQ,IAAGC,EAAC,GAC1BD,GAAER,EAAC,IAAI,GAAG,CAAC,GACXQ,GAAER,KAAI,CAAC,IAAI,GAAG,CAAC;AACpB,OAAKA,KAAI,GAAGA,KAAI,MAAMA,MAAK;AACzB,IAAC,KAAK,cAAc,MAAM,IAAI,GAC3B,OAAO,GAAG,MACV,GAAG,CAAC,KAAK,GAAG,KACZ,KAAK,cAAc,MAAM,IAAI,GAC7B,OAAO,GAAG,MACV,GAAG,CAAC,KAAK,GAAG,KACZ,KAAK,UAAU,IAAI,GAAGQ,IAAGC,EAAC,GAC1BA,GAAET,EAAC,IAAI,GAAG,CAAC,GACXS,GAAET,KAAI,CAAC,IAAI,GAAG,CAAC;AACtB;AAaA,SAAS,OAAOI,IAAG,MAAM,QAAQ,UAAU,kBAAkB;AAC3D,MAAI,QAAQ,OAAO,MAAM,GACvB,OAAO,MAAM,QACb;AAGF,MAAI,SAAS,KAAK,SAAS,IAAI;AAC7B,UAAM,MAAM,sCAAsC,MAAM;AACxD,QAAI,UAAU;AACZ,MAAAR,UAAS,SAAS,KAAK,MAAM,GAAG,CAAC;AACjC;AAAA,IACF;AAAO,YAAM;AAAA,EACf;AACA,MAAI,KAAK,WAAW,iBAAiB;AACnC,UAAM;AAAA,MACJ,0BAA0B,KAAK,SAAS,SAAS;AAAA,IACnD;AACA,QAAI,UAAU;AACZ,MAAAA,UAAS,SAAS,KAAK,MAAM,GAAG,CAAC;AACjC;AAAA,IACF;AAAO,YAAM;AAAA,EACf;AACA,WAAU,KAAK,WAAY;AAE3B,MAAIY,IACFC,IACAT,KAAI,GACJa;AAGF,MAAI,OAAO,eAAe,YAAY;AACpC,IAAAL,KAAI,IAAI,WAAW,MAAM;AACzB,IAAAC,KAAI,IAAI,WAAW,MAAM;AAAA,EAC3B,OAAO;AACL,IAAAD,KAAI,OAAO,MAAM;AACjB,IAAAC,KAAI,OAAO,MAAM;AAAA,EACnB;AAEA,UAAQ,MAAML,IAAGI,IAAGC,EAAC;AAOrB,WAAS,OAAO;AACd,QAAI;AAAkB,uBAAiBT,KAAI,MAAM;AACjD,QAAIA,KAAI,QAAQ;AACd,UAAI,QAAQ,KAAK,IAAI;AACrB,aAAOA,KAAI,UAAU;AACnB,QAAAA,KAAIA,KAAI;AACR,aAAKI,IAAGI,IAAGC,EAAC;AACZ,aAAK,MAAMD,IAAGC,EAAC;AACf,YAAI,KAAK,IAAI,IAAI,QAAQ;AAAoB;AAAA,MAC/C;AAAA,IACF,OAAO;AACL,WAAKT,KAAI,GAAGA,KAAI,IAAIA;AAClB,aAAKa,KAAI,GAAGA,KAAI,QAAQ,GAAGA;AAAK,oBAAU,OAAOA,MAAK,GAAGL,IAAGC,EAAC;AAC/D,UAAI,MAAM,CAAC;AACX,WAAKT,KAAI,GAAGA,KAAI,MAAMA;AACpB,YAAI,MAAO,MAAMA,EAAC,KAAK,KAAM,SAAU,CAAC,GACtC,IAAI,MAAO,MAAMA,EAAC,KAAK,KAAM,SAAU,CAAC,GACxC,IAAI,MAAO,MAAMA,EAAC,KAAK,IAAK,SAAU,CAAC,GACvC,IAAI,MAAM,MAAMA,EAAC,IAAI,SAAU,CAAC;AACpC,UAAI,UAAU;AACZ,iBAAS,MAAM,GAAG;AAClB;AAAA,MACF;AAAO,eAAO;AAAA,IAChB;AACA,QAAI;AAAU,MAAAJ,UAAS,IAAI;AAAA,EAC7B;AAzBS;AA4BT,MAAI,OAAO,aAAa,aAAa;AACnC,SAAK;AAAA,EAGP,OAAO;AACL,QAAI;AACJ,WAAO;AAAM,UAAI,QAAQ,MAAM,KAAK,OAAO;AAAa,eAAO,OAAO,CAAC;AAAA,EACzE;AACF;AAYA,SAAS,MAAM,UAAU,MAAM,UAAU,kBAAkB;AACzD,MAAI;AACJ,MAAI,OAAO,aAAa,YAAY,OAAO,SAAS,UAAU;AAC5D,UAAM,MAAM,qCAAqC;AACjD,QAAI,UAAU;AACZ,MAAAA,UAAS,SAAS,KAAK,MAAM,GAAG,CAAC;AACjC;AAAA,IACF;AAAO,YAAM;AAAA,EACf;AAGA,MAAI,OAAO;AACX,MAAI,KAAK,OAAO,CAAC,MAAM,OAAO,KAAK,OAAO,CAAC,MAAM,KAAK;AACpD,UAAM,MAAM,2BAA2B,KAAK,UAAU,GAAG,CAAC,CAAC;AAC3D,QAAI,UAAU;AACZ,MAAAA,UAAS,SAAS,KAAK,MAAM,GAAG,CAAC;AACjC;AAAA,IACF;AAAO,YAAM;AAAA,EACf;AACA,MAAI,KAAK,OAAO,CAAC,MAAM;AAAK,IAAC,QAAQ,OAAO,aAAa,CAAC,GAAK,SAAS;AAAA,OACnE;AACH,YAAQ,KAAK,OAAO,CAAC;AACrB,QACG,UAAU,OAAO,UAAU,OAAO,UAAU,OAC7C,KAAK,OAAO,CAAC,MAAM,KACnB;AACA,YAAM,MAAM,4BAA4B,KAAK,UAAU,GAAG,CAAC,CAAC;AAC5D,UAAI,UAAU;AACZ,QAAAA,UAAS,SAAS,KAAK,MAAM,GAAG,CAAC;AACjC;AAAA,MACF;AAAO,cAAM;AAAA,IACf;AACA,aAAS;AAAA,EACX;AAGA,MAAI,KAAK,OAAO,SAAS,CAAC,IAAI,KAAK;AACjC,UAAM,MAAM,qBAAqB;AACjC,QAAI,UAAU;AACZ,MAAAA,UAAS,SAAS,KAAK,MAAM,GAAG,CAAC;AACjC;AAAA,IACF;AAAO,YAAM;AAAA,EACf;AACA,MAAI,KAAK,SAAS,KAAK,UAAU,QAAQ,SAAS,CAAC,GAAG,EAAE,IAAI,IAC1D,KAAK,SAAS,KAAK,UAAU,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,GACxD,SAAS,KAAK,IACd,YAAY,KAAK,UAAU,SAAS,GAAG,SAAS,EAAE;AACpD,cAAY,SAAS,MAAM,OAAS;AAEpC,MAAI,YAAY,UAAU,QAAQ,GAChC,QAAQ,cAAc,WAAW,eAAe;AAQlD,WAAS,OAAO,OAAO;AACrB,QAAI,MAAM,CAAC;AACX,QAAI,KAAK,IAAI;AACb,QAAI,SAAS;AAAK,UAAI,KAAK,KAAK;AAChC,QAAI,KAAK,GAAG;AACZ,QAAI,SAAS;AAAI,UAAI,KAAK,GAAG;AAC7B,QAAI,KAAK,OAAO,SAAS,CAAC;AAC1B,QAAI,KAAK,GAAG;AACZ,QAAI,KAAK,cAAc,OAAO,MAAM,MAAM,CAAC;AAC3C,QAAI,KAAK,cAAc,OAAO,OAAO,SAAS,IAAI,CAAC,CAAC;AACpD,WAAO,IAAI,KAAK,EAAE;AAAA,EACpB;AAXS;AAcT,MAAI,OAAO,YAAY;AACrB,WAAO,OAAO,OAAO,WAAW,OAAO,MAAM,CAAC;AAAA,OAE3C;AACH;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAUkB,MAAK,OAAO;AACpB,YAAIA;AAAK,mBAASA,MAAK,IAAI;AAAA;AACtB,mBAAS,MAAM,OAAO,KAAK,CAAC;AAAA,MACnC;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AASO,SAASC,cAAa,OAAO,QAAQ;AAC1C,SAAO,cAAc,OAAO,MAAM;AACpC;AASO,SAASC,cAAaf,SAAQ,QAAQ;AAC3C,SAAO,cAAcA,SAAQ,MAAM;AACrC;AAvnCA,IAsCI,gBAuSAL,WAkEA,aAQA,cAoGA,iBAOA,6BAOA,qBAOA,oBAOA,QAWA,QAmLA,QAoaG;AAznCP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAqB;AA+BA,IAAAC;AAOA,IAAI,iBAAiB;AAUZ,WAAAxB,cAAA;AA2BO;AAWA;AAyBA;AAyCA;AAkBA,WAAAG,OAAA;AAwCP;AAeO;AAoBA;AAkDA;AAYA;AAcA;AAYhB,IAAID,YACF,OAAO,iBAAiB,aACpB,eACA,OAAO,cAAc,YAAY,OAAO,UAAU,aAAa,aAC7D,UAAU,SAAS,KAAK,SAAS,IACjC;AAGC;AAmBA;AAuCT,IAAI,cACF,mEAAmE,MAAM,EAAE;AAO7E,IAAI,eAAe;AAAA,MACjB;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxE;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxE;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAC1E;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxE;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxE;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MACxE;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,IAC1C;AASS;AAqCA;AA8CT,IAAI,kBAAkB;AAOtB,IAAI,8BAA8B;AAOlC,IAAI,sBAAsB;AAO1B,IAAI,qBAAqB;AAOzB,IAAI,SAAS;AAAA,MACX;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,IAC9D;AAOA,IAAI,SAAS;AAAA,MACX;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAC5D;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,IACtC;AAOA,IAAI,SAAS;AAAA,MACX;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,IAC9D;AAUS;AA6HA;AAaA;AAwBA;AA0CA;AA6FA;AAgGO,WAAAmB,eAAA;AAWA,WAAAC,eAAA;AAIhB,IAAO,mBAAQ;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAAnB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAAkB;AAAA,MACA,cAAAC;AAAA,IACF;AAAA;AAAA;;;ACtoCA,IAmBa;AAnBb,IAAAG,mBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAaO,IAAM,kBAAkB,OAAO;AAAA,MACpC,OAAO,gBACJ,MAAM,iBAAE,OAAO;AAAA,QACd,MAAM,iBAAE,OAAO;AAAA,QACf,UAAU,iBAAE,OAAO;AAAA,MACrB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,cAAM,EAAE,MAAM,SAAS,IAAI;AAE3B,YAAI,CAAC,QAAQ,CAAC,UAAU;AACtB,gBAAM,IAAI,SAAS,kCAAkC,GAAG;AAAA,QAC1D;AAEA,cAAM,QAAQ,MAAM,mBAAmB,IAAI;AAE3C,YAAI,CAAC,OAAO;AACV,gBAAM,IAAI,SAAS,uBAAuB,GAAG;AAAA,QAC/C;AAEA,cAAM,kBAAkB,MAAM,iBAAO,QAAQ,UAAU,MAAM,QAAQ;AACrE,YAAI,CAAC,iBAAiB;AACpB,gBAAM,IAAI,SAAS,uBAAuB,GAAG;AAAA,QAC/C;AAEA,cAAM,QAAQ,MAAM,IAAI,QAAQ,EAAE,SAAS,MAAM,IAAI,MAAM,MAAM,KAAK,CAAC,EACpE,mBAAmB,EAAE,KAAK,QAAQ,CAAC,EACnC,kBAAkB,KAAK,EACvB,KAAK,oBAAoB,CAAC;AAE7B,eAAO;AAAA,UACL,SAAS;AAAA,UACT;AAAA,UACA,OAAO,EAAE,IAAI,MAAM,IAAI,MAAM,MAAM,KAAK;AAAA,QAC1C;AAAA,MACF,CAAC;AAAA,MAEH,UAAU,mBACP,MAAM,OAAO,EAAE,IAAI,MAAM;AACxB,cAAM,QAAQ,MAAM,YAAY;AAGhC,cAAM,mBAAmB,MAAM,IAAI,CAAC,UAAU;AAAA,UAC5C,IAAI,KAAK;AAAA,UACT,MAAM,KAAK;AAAA,UACX,MAAM,KAAK,OAAO;AAAA,YAChB,IAAI,KAAK,KAAK;AAAA,YACd,MAAM,KAAK,KAAK;AAAA,UAClB,IAAI;AAAA,UACJ,aAAa,KAAK,MAAM,gBAAgB,IAAI,CAAC,QAAa;AAAA,YACxD,IAAI,GAAG,WAAW;AAAA,YAClB,MAAM,GAAG,WAAW;AAAA,UACtB,EAAE,KAAK,CAAC;AAAA,QACV,EAAE;AAEF,eAAO;AAAA,UACL,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,MAEH,UAAU,mBACP,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC5B,OAAO,iBAAE,OAAO,EAAE,QAAQ,EAAE;AAAA,QAC5B,QAAQ,iBAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,cAAM,EAAE,QAAQ,OAAO,OAAO,IAAI;AAElC,cAAM,EAAE,OAAO,eAAe,QAAQ,IAAI,MAAM,YAAY,QAAQ,OAAO,MAAM;AAEjF,cAAM,iBAAiB,cAAc,IAAI,CAAC,UAAe;AAAA,UACvD,IAAI,KAAK;AAAA,UACT,MAAM,KAAK;AAAA,UACX,OAAO,KAAK;AAAA,UACZ,QAAQ,KAAK;AAAA,UACb,OAAO,KAAK,aAAa,gBAAgB;AAAA,QAC3C,EAAE;AAEF,eAAO;AAAA,UACL,OAAO;AAAA,UACP,YAAY,UAAU,cAAc,cAAc,SAAS,CAAC,EAAE,KAAK;AAAA,QACrE;AAAA,MACF,CAAC;AAAA,MAEH,gBAAgB,mBACb,MAAM,iBAAE,OAAO,EAAE,QAAQ,iBAAE,OAAO,EAAE,CAAC,CAAC,EACtC,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,cAAM,EAAE,OAAO,IAAI;AAEnB,cAAM,OAAO,MAAM,mBAAmB,MAAM;AAE5C,YAAI,CAAC,MAAM;AACT,gBAAM,IAAI,SAAS,kBAAkB,GAAG;AAAA,QAC1C;AAEA,cAAM,YAAY,KAAK,OAAO,CAAC;AAE/B,eAAO;AAAA,UACL,IAAI,KAAK;AAAA,UACT,MAAM,KAAK;AAAA,UACX,OAAO,KAAK;AAAA,UACZ,QAAQ,KAAK;AAAA,UACb,SAAS,KAAK;AAAA,UACd,aAAa,WAAW,aAAa;AAAA,UACrC,aAAa,KAAK,aAAa,eAAe;AAAA,QAChD;AAAA,MACF,CAAC;AAAA,MAEH,sBAAsB,mBACnB,MAAM,iBAAE,OAAO,EAAE,QAAQ,iBAAE,OAAO,GAAG,aAAa,iBAAE,QAAQ,EAAE,CAAC,CAAC,EAChE,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,cAAM,EAAE,QAAQ,YAAY,IAAI;AAEhC,cAAM,qBAAqB,QAAQ,WAAW;AAE9C,eAAO,EAAE,SAAS,KAAK;AAAA,MACzB,CAAC;AAAA,MAEH,iBAAiB,mBACd,MAAM,iBAAE,OAAO;AAAA,QACd,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,QAC1C,UAAU,iBAAE,OAAO,EAAE,IAAI,GAAG,wCAAwC;AAAA,QACpE,QAAQ,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,kBAAkB;AAAA,MACtD,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAM;AAClC,cAAM,EAAE,MAAM,UAAU,OAAO,IAAI;AAGnC,cAAM,eAAe,MAAM,qBAAqB,IAAI;AAEpD,YAAI,cAAc;AAChB,gBAAM,IAAI,SAAS,4CAA4C,GAAG;AAAA,QACpE;AAGA,cAAM,aAAa,MAAM,qBAAqB,MAAM;AAEpD,YAAI,CAAC,YAAY;AACf,gBAAM,IAAI,SAAS,yBAAyB,GAAG;AAAA,QACjD;AAGA,cAAM,iBAAiB,MAAM,iBAAO,KAAK,UAAU,EAAE;AAGrD,cAAM,UAAU,MAAM,gBAAgB,MAAM,gBAAgB,MAAM;AAElE,eAAO,EAAE,SAAS,MAAM,MAAM,EAAE,IAAI,QAAQ,IAAI,MAAM,QAAQ,KAAK,EAAE;AAAA,MACvE,CAAC;AAAA,MAEH,UAAU,mBACP,MAAM,OAAO,EAAE,IAAI,MAAM;AACxB,cAAM,QAAQ,MAAM,YAAY;AAEhC,eAAO;AAAA,UACL,OAAO,MAAM,IAAI,CAAC,UAAe;AAAA,YAC/B,IAAI,KAAK;AAAA,YACT,MAAM,KAAK;AAAA,UACb,EAAE;AAAA,QACJ;AAAA,MACF,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACpLD,IAca;AAdb,IAAAC,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AACA;AASO,IAAM,cAAc,OAAO;AAAA,MAChC,WAAW,mBACR,MAAM,OAAO,EAAE,IAAI,MAAiD;AACnE,cAAM,SAAS,MAAM,aAAmB;AAExC,cAAM,QAAQ,IAAI,OAAO,IAAI,OAAM,UAAS;AAC1C,cAAG,MAAM;AACT,kBAAM,WAAW,iBAAiB,MAAM,QAAQ;AAAA,QAClD,CAAC,CAAC,EAAE,MAAM,CAACC,OAAM;AACf,gBAAM,IAAI,SAAS,iCAAiC;AAAA,QACtD,CAAC;AAED,eAAO;AAAA,UACL;AAAA,UACA,OAAO,OAAO;AAAA,QAChB;AAAA,MACF,CAAC;AAAA,MAEH,cAAc,mBACX,MAAM,iBAAE,OAAO;AAAA,QACd,IAAI,iBAAE,OAAO;AAAA,MACf,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,OAAO,IAAI,MAA+B;AACxD,cAAM,EAAE,GAAG,IAAI;AAEf,cAAM,QAAQ,MAAM,aAAmB,EAAE;AAEzC,YAAI,CAAC,OAAO;AACV,gBAAM,IAAI,SAAS,mBAAmB,GAAG;AAAA,QAC3C;AACA,cAAM,WAAW,iBAAiB,MAAM,QAAQ;AAChD,eAAO;AAAA,UACL;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MAEH,aAAa,mBACV,MAAM,iBAAE,OAAO;AAAA,QACd,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,QAC1C,aAAa,iBAAE,OAAO,EAAE,SAAS;AAAA,QACjC,UAAU,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC9B,OAAO,iBAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;AAAA,QAC5C,UAAU,iBAAE,MAAM,iBAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MACzC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAkD;AAC9E,cAAM,EAAE,MAAM,aAAa,UAAU,OAAO,SAAS,IAAI;AAEzD,cAAM,WAAW,WAAW,2BAA2B,QAAQ,IAAI;AAEnE,cAAM,WAAW,MAAM;AAAA,UACrB;AAAA,YACE;AAAA,YACA;AAAA,YACA,UAAU;AAAA,YACV;AAAA,UACF;AAAA,UACA;AAAA,QACF;AAwBA,oCAA4B;AAE5B,eAAO;AAAA,UACL,OAAO;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF,CAAC;AAAA,MAEH,aAAa,mBACV,MAAM,iBAAE,OAAO;AAAA,QACd,IAAI,iBAAE,OAAO;AAAA,QACb,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,QAC1C,aAAa,iBAAE,OAAO,EAAE,SAAS;AAAA,QACjC,UAAU,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC9B,OAAO,iBAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;AAAA,QAC5C,UAAU,iBAAE,MAAM,iBAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MACzC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAkD;AAC9E,cAAM,EAAE,IAAI,MAAM,aAAa,UAAU,OAAO,SAAS,IAAI;AAE7D,cAAM,gBAAgB,MAAM,aAAmB,EAAE;AAEjD,YAAI,CAAC,eAAe;AAClB,gBAAM,IAAI,SAAS,mBAAmB,GAAG;AAAA,QAC3C;AAEA,cAAM,cAAc,cAAc;AAClC,cAAM,cAAc,WAAW,2BAA2B,QAAQ,IAAI;AAKtE,YAAI,gBACD,eAAe,gBAAgB,eAC/B,CAAC,cACD;AACD,cAAI;AACF,kBAAM,gBAAgB,EAAC,MAAM,CAAC,WAAW,EAAC,CAAC;AAAA,UAC7C,SAASC,SAAP;AACA,oBAAQ,MAAM,+BAA+BA,OAAK;AAAA,UAEpD;AAAA,QACF;AAEA,cAAM,eAAe,MAAM;AAAA,UACzB;AAAA,UACA;AAAA,YACE;AAAA,YACA;AAAA,YACA,UAAU;AAAA,YACV;AAAA,UACF;AAAA,UACA;AAAA,QACF;AAsCA,oCAA4B;AAE5B,eAAO;AAAA,UACL,OAAO;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF,CAAC;AAAA,MAEH,aAAa,mBACV,MAAM,iBAAE,OAAO;AAAA,QACd,SAAS,iBAAE,OAAO;AAAA,MACpB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAoC;AAChE,cAAM,EAAE,QAAQ,IAAI;AAEpB,cAAM,SAAS,MAAM,YAAkB,OAAO;AA4B9C,oCAA4B;AAE5B,eAAO;AAAA,MACT,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACzOD,IAGM,sBAkBO;AArBb,IAAAC,iBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AAEA,IAAM,uBAAuB,iBAC1B,OAAO;AAAA,MACN,SAAS,iBAAE,OAAO;AAAA,MAClB,eAAe,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,MACnD,cAAc,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,IAC3C,CAAC,EACA;AAAA,MACC,CAAC,SAAS;AACR,cAAM,aAAa,KAAK,kBAAkB;AAC1C,cAAM,YAAY,KAAK,iBAAiB;AACxC,eAAQ,cAAc,CAAC,aAAe,CAAC,cAAc;AAAA,MACvD;AAAA,MACA;AAAA,QACE,SACE;AAAA,MACJ;AAAA,IACF;AAEK,IAAM,sBAAsB,OAAO;AAAA,MACxC,gBAAgB,mBACb,MAAM,oBAAoB,EAC1B,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,eAAO,CAAC;AAAA,MACV,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;AC3BD,IAeaC;AAfb,IAAAC,eAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AACA;AAUO,IAAMF,gBAAe,OAAO;AAAA;AAAA,MAEjC,YAAY,mBACT,MAAM,YAA4C;AACjD,YAAI;AAGJ,gBAAM,UAAU,MAAM,WAAiB;AAWvC,gBAAM,wBAAwB,MAAM,QAAQ;AAAA,YAC1C,QAAQ,IAAI,OAAO,WAAW;AAC5B,kBAAI;AACF,uBAAO;AAAA,kBACL,GAAG;AAAA,kBACH,UAAU,OAAO,WAAW,iBAAiB,OAAO,QAAQ,IAAI,OAAO;AAAA;AAAA,kBAEvE,YAAY,OAAO,cAAc,CAAC;AAAA,gBACpC;AAAA,cACF,SAASG,SAAP;AACA,wBAAQ,MAAM,4CAA4C,OAAO,OAAOA,OAAK;AAC7E,uBAAO;AAAA,kBACL,GAAG;AAAA,kBACH,UAAU,OAAO;AAAA;AAAA;AAAA,kBAEjB,YAAY,OAAO,cAAc,CAAC;AAAA,gBACpC;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACH;AAEA,iBAAO;AAAA,YACL,SAAS;AAAA,UACX;AAAA,QACA,SACMC,IAAN;AACE,kBAAQ,IAAIA,EAAC;AAEb,gBAAM,IAAI,SAASA,GAAE,OAAO;AAAA,QAC9B;AAAA,MACF,CAAC;AAAA;AAAA,MAGH,WAAW,mBACR,MAAM,iBAAE,OAAO,EAAE,IAAI,iBAAE,OAAO,EAAE,CAAC,CAAC,EAClC,MAAM,OAAO,EAAE,MAAM,MAA8B;AAElD,cAAM,SAAS,MAAM,cAAoB,MAAM,EAAE;AAUjD,YAAI,QAAQ;AACV,cAAI;AAEF,gBAAI,OAAO,UAAU;AACnB,qBAAO,WAAW,iBAAiB,OAAO,QAAQ;AAAA,YACpD;AAAA,UACF,SAASD,SAAP;AACA,oBAAQ,MAAM,4CAA4C,OAAO,OAAOA,OAAK;AAAA,UAE/E;AAGA,cAAI,CAAC,OAAO,YAAY;AACtB,mBAAO,aAAa,CAAC;AAAA,UACvB;AAAA,QACF;AAEA,eAAO;AAAA,MACT,CAAC;AAAA;AAAA,MAGH,cAAc,mBACX,MAAM,iBAAE,OAAO;AAAA,QACd,MAAM,iBAAE,OAAO,EAAE,IAAI,CAAC;AAAA,QACtB,UAAU,iBAAE,OAAO,EAAE,IAAI;AAAA,QACzB,aAAa,iBAAE,OAAO,EAAE,SAAS;AAAA,QACjC,YAAY,iBAAE,MAAM,iBAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QACzC,aAAa,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA;AAAA,MAEzC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAuB;AAC9C,YAAI;AAEF,gBAAM,WAAW,2BAA2B,MAAM,QAAQ;AAC1D,gBAAM,SAAS,MAAM,aAAiB;AAAA,YACpC,MAAM,MAAM;AAAA,YACZ;AAAA,YACA,aAAa,MAAM,eAAe;AAAA,YAClC,YAAY,MAAM,cAAc,CAAC;AAAA,YACjC,aAAa,MAAM,eAAe;AAAA,YAClC,WAAW;AAAA;AAAA,YACX,UAAU;AAAA;AAAA,UACZ,CAAC;AAiBD,sCAA4B;AAE5B,iBAAO;AAAA,QACT,SAASA,SAAP;AACA,kBAAQ,MAAM,0BAA0BA,OAAK;AAC7C,gBAAMA;AAAA,QACR;AAAA,MACF,CAAC;AAAA;AAAA,MAGH,cAAc,mBACX,MAAM,iBAAE,OAAO;AAAA,QACd,IAAI,iBAAE,OAAO;AAAA,QACb,MAAM,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,QACjC,UAAU,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QACpC,aAAa,iBAAE,OAAO,EAAE,SAAS;AAAA,QACjC,YAAY,iBAAE,MAAM,iBAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QACzC,aAAa,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QACvC,WAAW,iBAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QAC1C,UAAU,iBAAE,QAAQ,EAAE,SAAS;AAAA,MACjC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAuB;AAC9C,YAAI;AAEF,gBAAM,EAAE,IAAI,GAAG,WAAW,IAAI;AAG9B,gBAAM,gBAAgB;AAAA,YACpB,GAAG;AAAA,YACH,GAAI,WAAW,YAAY;AAAA,cACzB,UAAU,2BAA2B,WAAW,QAAQ;AAAA,YAC1D;AAAA,UACF;AAGA,cAAI,eAAe,iBAAiB,cAAc,cAAc,MAAM;AACpE,0BAAc,YAAY;AAAA,UAC5B;AAEA,gBAAM,SAAS,MAAM,aAAiB,IAAI,aAAa;AA4BvD,sCAA4B;AAE5B,iBAAO;AAAA,QACT,SAASA,SAAP;AACA,kBAAQ,MAAM,0BAA0BA,OAAK;AAC7C,gBAAMA;AAAA,QACR;AAAA,MACF,CAAC;AAAA;AAAA,MAGH,cAAc,mBACX,MAAM,iBAAE,OAAO,EAAE,IAAI,iBAAE,OAAO,EAAE,CAAC,CAAC,EAClC,SAAS,OAAO,EAAE,MAAM,MAAkC;AAEzD,cAAM,aAAmB,MAAM,EAAE;AAQjC,oCAA4B;AAE5B,eAAO,EAAE,SAAS,KAAK;AAAA,MACzB,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACxOD,IA2Ba;AA3Bb,IAAAE,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AAqBA;AAEO,IAAM,aAAa;AAAA,MACxB,oBAAoB,mBACjB,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO,EAAE,IAAI,GAAG,2BAA2B;AAAA,MACvD,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAE7B,cAAM,cAAc,MAAM,OAAO,QAAQ,OAAO,EAAE;AAGlD,YAAI,YAAY,WAAW,IAAI;AAC7B,gBAAM,IAAI,SAAS,2CAA2C,GAAG;AAAA,QACnE;AAGA,cAAM,eAAe,MAAM,gBAAgB,WAAW;AAEtD,YAAI,cAAc;AAChB,gBAAM,IAAI,SAAS,+CAA+C,GAAG;AAAA,QACvE;AAEA,cAAM,UAAU,MAAM,mBAAmB,WAAW;AAEpD,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,QACR;AAAA,MACF,CAAC;AAAA,MAEH,eAAe,mBACZ,MAAM,YAAY;AACjB,cAAMC,SAAQ,MAAM,6BAA6B;AAEjD,eAAO;AAAA,UACL,sBAAsBA;AAAA,QACxB;AAAA,MACF,CAAC;AAAA,MAEH,aAAa,mBACV,MAAM,iBAAE,OAAO;AAAA,QACd,OAAO,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE;AAAA,QAC5C,QAAQ,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC5B,QAAQ,iBAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,cAAM,EAAE,OAAO,QAAQ,OAAO,IAAI;AAElC,cAAM,EAAE,OAAO,eAAe,QAAQ,IAAI,MAAM,uBAAuB,OAAO,QAAQ,MAAM;AAG5F,cAAM,UAAU,cAAc,IAAI,CAACC,OAAWA,GAAE,EAAE;AAElD,cAAM,cAAc,MAAM,wBAAwB,OAAO;AACzD,cAAM,aAAa,MAAM,uBAAuB,OAAO;AACvD,cAAM,qBAAqB,MAAM,+BAA+B,OAAO;AAGvE,cAAM,gBAAgB,IAAI,IAAI,YAAY,IAAI,CAAAC,OAAK,CAACA,GAAE,QAAQA,GAAE,WAAW,CAAC,CAAC;AAC7E,cAAM,eAAe,IAAI,IAAI,WAAW,IAAI,CAAAA,OAAK,CAACA,GAAE,QAAQA,GAAE,aAAa,CAAC,CAAC;AAC7E,cAAM,gBAAgB,IAAI,IAAI,mBAAmB,IAAI,CAAAC,OAAK,CAACA,GAAE,QAAQA,GAAE,WAAW,CAAC,CAAC;AAGpF,cAAM,iBAAiB,cAAc,IAAI,CAAC,UAAe;AAAA,UACvD,GAAG;AAAA,UACH,aAAa,cAAc,IAAI,KAAK,EAAE,KAAK;AAAA,UAC3C,eAAe,aAAa,IAAI,KAAK,EAAE,KAAK;AAAA,UAC5C,aAAa,cAAc,IAAI,KAAK,EAAE,KAAK;AAAA,QAC7C,EAAE;AAGF,cAAM,aAAa,UAAU,cAAc,cAAc,SAAS,CAAC,EAAE,KAAK;AAE1E,eAAO;AAAA,UACL,OAAO;AAAA,UACP;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MAEH,gBAAgB,mBACb,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO;AAAA,MACnB,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,cAAM,EAAE,OAAO,IAAI;AAGnB,cAAM,OAAO,MAAM,iBAAiB,MAAM;AAE1C,YAAI,CAAC,MAAM;AACT,gBAAM,IAAI,SAAS,kBAAkB,GAAG;AAAA,QAC1C;AAGA,cAAM,cAAc,MAAM,wBAAwB,MAAM;AAGxD,cAAM,aAAa,MAAM,cAAc,MAAM;AAG7C,cAAM,WAAW,WAAW,IAAI,CAACD,OAAWA,GAAE,EAAE;AAChD,cAAM,gBAAgB,MAAM,2BAA2B,QAAQ;AAG/D,cAAM,aAAa,MAAM,wBAAwB,QAAQ;AAGzD,cAAM,YAAY,IAAI,IAAI,cAAc,IAAI,CAAAC,OAAK,CAACA,GAAE,SAASA,EAAC,CAAC,CAAC;AAChE,cAAM,eAAe,IAAI,IAAI,WAAW,IAAI,CAAAC,OAAK,CAACA,GAAE,SAASA,GAAE,SAAS,CAAC,CAAC;AAG1E,cAAM,YAAY,wBAAC,WAAuE;AACxF,cAAI,CAAC;AAAQ,mBAAO;AACpB,cAAI,OAAO;AAAa,mBAAO;AAC/B,cAAI,OAAO;AAAa,mBAAO;AAC/B,iBAAO;AAAA,QACT,GALkB;AAQlB,cAAM,oBAAoB,WAAW,IAAI,CAAC,UAAe;AACvD,gBAAM,SAAS,UAAU,IAAI,MAAM,EAAE;AACrC,iBAAO;AAAA,YACL,IAAI,MAAM;AAAA,YACV,YAAY,MAAM;AAAA,YAClB,aAAa,MAAM;AAAA,YACnB,WAAW,MAAM;AAAA,YACjB,iBAAiB,MAAM;AAAA,YACvB,QAAQ,UAAU,MAAM;AAAA,YACxB,WAAW,aAAa,IAAI,MAAM,EAAE,KAAK;AAAA,UAC3C;AAAA,QACF,CAAC;AAED,eAAO;AAAA,UACL,MAAM;AAAA,YACJ,GAAG;AAAA,YACH;AAAA,UACF;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF,CAAC;AAAA,MAEH,sBAAsB,mBACnB,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO;AAAA,QACjB,aAAa,iBAAE,QAAQ;AAAA,MACzB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,cAAM,EAAE,QAAQ,YAAY,IAAI;AAEhC,cAAM,qBAAqB,QAAQ,WAAW;AAE9C,eAAO;AAAA,UACL,SAAS;AAAA,UACT,SAAS,QAAQ,cAAc,cAAc;AAAA,QAC/C;AAAA,MACF,CAAC;AAAA,MAEH,yBAAyB,mBACtB,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,cAAM,EAAE,OAAO,IAAI;AAEnB,cAAM,YAAY,MAAM,YAAY,MAAM;AAG1C,cAAM,gBAAgB,MAAM,iBAAiB;AAE7C,cAAM,cAAc,IAAI,IAAI,cAAc,IAAI,CAAAH,OAAKA,GAAE,MAAM,CAAC;AAE5D,eAAO;AAAA,UACL,OAAO,UAAU,IAAI,CAAC,UAAe;AAAA,YACnC,IAAI,KAAK;AAAA,YACT,MAAM,KAAK;AAAA,YACX,QAAQ,KAAK;AAAA,YACb,oBAAoB,YAAY,IAAI,KAAK,EAAE;AAAA,UAC7C,EAAE;AAAA,QACJ;AAAA,MACF,CAAC;AAAA,MAEH,kBAAkB,mBACf,MAAM,iBAAE,OAAO;AAAA,QACd,SAAS,iBAAE,MAAM,iBAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,QACvC,OAAO,iBAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;AAAA,QAC5C,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,qBAAqB;AAAA,QAC7C,UAAU,iBAAE,OAAO,EAAE,SAAS;AAAA,MAChC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,cAAM,EAAE,SAAS,OAAAI,QAAO,MAAAC,OAAM,SAAS,IAAI;AAE3C,YAAI,SAAmB,CAAC;AAExB,YAAI,QAAQ,WAAW,GAAG;AAExB,gBAAM,iBAAiB,MAAM,iBAAiB;AAC9C,gBAAM,iBAAiB,MAAM,qBAAqB;AAElD,mBAAS;AAAA,YACP,GAAG,eAAe,IAAI,CAAAC,OAAKA,GAAE,KAAK;AAAA,YAClC,GAAG,eAAe,IAAI,CAAAA,OAAKA,GAAE,KAAK;AAAA,UACpC;AAAA,QACF,OAAO;AAEL,gBAAM,aAAa,MAAM,wBAAwB,OAAO;AACxD,mBAAS,WAAW,IAAI,CAAAA,OAAKA,GAAE,KAAK;AAAA,QACtC;AAGA,YAAI,cAAc;AAClB,mBAAW,SAAS,QAAQ;AAC1B,cAAI;AACF,kBAAM,gBAAgB,eAAe;AAAA,cACnC,MAAM;AAAA,cACN,SAAS;AAAA,gBACP;AAAA,gBACA,OAAAF;AAAA,gBACA,MAAMC;AAAA,gBACN,UAAU,YAAY;AAAA,cACxB;AAAA,cACA,SAAS;AAAA,gBACP,UAAU;AAAA,gBACV,SAAS;AAAA,kBACP,MAAM;AAAA,kBACN,OAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF,CAAC;AACD;AAAA,UACF,SAASE,SAAP;AACA,oBAAQ,MAAM,2CAA2CA,OAAK;AAAA,UAChE;AAAA,QACF;AAEA,eAAO;AAAA,UACL,SAAS;AAAA,UACT,SAAS,2BAA2B;AAAA,QACtC;AAAA,MACF,CAAC;AAAA,MAEH,kBAAkB,mBACf,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO;AAAA,MACnB,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,cAAM,EAAE,OAAO,IAAI;AAEnB,cAAM,YAAY,MAAM,8BAA8B,MAAM;AAE5D,eAAO;AAAA,UACL,WAAW,UAAU,IAAI,CAAC,cAAmB;AAAA,YAC3C,IAAI,SAAS;AAAA,YACb,QAAQ,SAAS;AAAA,YACjB,SAAS,SAAS;AAAA,YAClB,WAAW,SAAS;AAAA,YACpB,cAAc,SAAS;AAAA,YACvB,SAAS,SAAS,SAAS,QAAQ;AAAA,YACnC,iBAAiB,SAAS;AAAA,YAC1B,aAAa,SAAS,OAAO,cAAc,CAAC,GAAG,cAAc,cAAc;AAAA,UAC7E,EAAE;AAAA,QACJ;AAAA,MACF,CAAC;AAAA,MAEH,iBAAiB,mBACd,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO;AAAA,QACjB,SAAS,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC7B,cAAc,iBAAE,OAAO,EAAE,SAAS;AAAA,QAClC,iBAAiB,iBAAE,OAAO,EAAE,SAAS;AAAA,MACvC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAM;AAClC,cAAM,EAAE,QAAQ,SAAS,cAAc,gBAAgB,IAAI;AAE3D,cAAM,cAAc,IAAI,WAAW;AAEnC,YAAI,CAAC,aAAa;AAChB,gBAAM,IAAI,SAAS,gCAAgC,GAAG;AAAA,QACxD;AAEA,cAAM,WAAW,MAAM;AAAA,UACrB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAEA,qCAA6B,MAAM;AAEnC,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,QACR;AAAA,MACF,CAAC;AAAA,IACL;AAAA;AAAA;;;ACjUA,IAOa;AAPb,IAAAC,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA,IAAAC;AACA;AAGO,IAAM,cAAc,OAAO;AAAA,MAChC,cAAc,mBACX,MAAM,YAAiC;AAEtC,cAAMC,aAAY,MAAM,gBAAsB;AAY9C,eAAOA;AAAA,MACT,CAAC;AAAA,MAEH,iBAAiB,mBACd,MAAM,iBAAE,OAAO;AAAA,QACd,WAAW,iBAAE,MAAM,iBAAE,OAAO;AAAA,UAC1B,KAAK,iBAAE,OAAO;AAAA,UACd,OAAO,iBAAE,IAAI;AAAA,QACf,CAAC,CAAC;AAAA,MACJ,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAqC;AAC5D,cAAM,EAAE,WAAAA,WAAU,IAAI;AAEtB,cAAM,YAAY,OAAO,OAAOC,WAAU;AAC1C,cAAM,cAAcD,WACjB,OAAO,CAAAE,OAAK,CAAC,UAAU,SAASA,GAAE,GAAG,CAAC,EACtC,IAAI,CAAAA,OAAKA,GAAE,GAAG;AAEjB,YAAI,YAAY,SAAS,GAAG;AAC1B,gBAAM,IAAI,MAAM,0BAA0B,YAAY,KAAK,IAAI,GAAG;AAAA,QACpE;AAEA,gBAAQ,IAAI,KAAK;AAEjB,cAAM,gBAAoBF,UAAS;AAiBnC,cAAM,iBAAiB;AAEvB,eAAO;AAAA,UACL,SAAS;AAAA,UACT,cAAcA,WAAU;AAAA,UACxB,MAAMA,WAAU,IAAI,CAAAE,OAAKA,GAAE,GAAG;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACxED,IAea;AAfb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AACA;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AAEO,IAAM,cAAc,OAAO;AAAA,MAChC,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,OAAOC;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQC;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT,CAAC;AAAA;AAAA;;;AC1BD,eAAsB,6BAA6BC,MAAsE;AACvH,MAAI;AACF,UAAM,cAAM,IAAIA,MAAK,EAAE,cAAc,EAAE,CAAC;AACxC,WAAO;AAAA,EACT,SAASC,SAAP;AACA,QAAIA,QAAM,UAAU,WAAW,OAAOA,QAAM,UAAU,WAAW,KAAK;AACpE,YAAM,cAAcA,QAAM,SAAS,QAAQ;AAC3C,YAAM,cAAc,YAAY,MAAM,0BAA0B;AAChE,UAAI,aAAa;AACf,eAAO;AAAA,UACL,UAAU,YAAY,CAAC;AAAA,UACvB,WAAW,YAAY,CAAC;AAAA,QAC1B;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA,IAAAC;AAEsB;AAAA;AAAA;;;ACFtB,IAmBa;AAnBb,IAAAC,gBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AAgBO,IAAM,gBAAgB,OAAO;AAAA,MAClC,mBAAmB,mBAChB,MAAM,OAAO,EAAE,IAAI,MAAoC;AACtD,cAAM,SAAS,IAAI,KAAK;AAExB,cAAM,iBAAiB,MAAM,kBAAsB,MAAM;AAWzD,eAAO,EAAE,SAAS,MAAM,MAAM,eAAe;AAAA,MAC/C,CAAC;AAAA,MAEH,kBAAkB,mBACf,MAAM,OAAO,EAAE,IAAI,MAAsC;AACxD,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,gBAAgB,MAAM,iBAAqB,MAAM;AAOvD,eAAO,EAAE,SAAS,MAAM,MAAM,cAAc;AAAA,MAC9C,CAAC;AAAA,MAEH,eAAe,mBACZ,MAAM,iBAAE,OAAO;AAAA,QACd,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,QAC1C,OAAO,iBAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;AAAA,QAC5C,cAAc,iBAAE,OAAO,EAAE,IAAI,GAAG,4BAA4B;AAAA,QAC5D,cAAc,iBAAE,OAAO,EAAE,SAAS;AAAA,QAClC,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,QAC1C,OAAO,iBAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;AAAA,QAC5C,SAAS,iBAAE,OAAO,EAAE,IAAI,GAAG,qBAAqB;AAAA,QAChD,WAAW,iBAAE,QAAQ,EAAE,SAAS;AAAA,QAChC,UAAU,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC9B,WAAW,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC/B,eAAe,iBAAE,OAAO,EAAE,SAAS;AAAA,MACrC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAoC;AAChE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,MAAM,OAAO,cAAc,cAAc,MAAM,OAAO,SAAS,WAAW,cAAc,IAAI;AAEpG,YAAI,EAAE,UAAU,UAAU,IAAI;AAE9B,YAAI,iBAAiB,aAAa,UAAa,cAAc,QAAW;AACtE,gBAAM,SAAS,MAAM,6BAA6B,aAAa;AAC/D,cAAI,QAAQ;AACV,uBAAW,OAAO,OAAO,QAAQ;AACjC,wBAAY,OAAO,OAAO,SAAS;AAAA,UACrC;AAAA,QACF;AAGA,YAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS;AACnE,gBAAM,IAAI,MAAM,yBAAyB;AAAA,QAC3C;AAGA,YAAI,WAAW;AACb,gBAAM,oBAAwB,MAAM;AAAA,QACtC;AAEA,cAAM,aAAa,MAAM,kBAAsB;AAAA,UAC7C;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW,aAAa;AAAA,UACxB;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAwBD,eAAO,EAAE,SAAS,MAAM,MAAM,WAAW;AAAA,MAC3C,CAAC;AAAA,MAEH,eAAe,mBACZ,MAAM,iBAAE,OAAO;AAAA,QACd,IAAI,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QAC9B,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,QAC1C,OAAO,iBAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;AAAA,QAC5C,cAAc,iBAAE,OAAO,EAAE,IAAI,GAAG,4BAA4B;AAAA,QAC5D,cAAc,iBAAE,OAAO,EAAE,SAAS;AAAA,QAClC,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,QAC1C,OAAO,iBAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;AAAA,QAC5C,SAAS,iBAAE,OAAO,EAAE,IAAI,GAAG,qBAAqB;AAAA,QAChD,WAAW,iBAAE,QAAQ,EAAE,SAAS;AAAA,QAChC,UAAU,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC9B,WAAW,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC/B,eAAe,iBAAE,OAAO,EAAE,SAAS;AAAA,MACrC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAoC;AAChE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,IAAI,MAAM,OAAO,cAAc,cAAc,MAAM,OAAO,SAAS,WAAW,cAAc,IAAI;AAExG,YAAI,EAAE,UAAU,UAAU,IAAI;AAE9B,YAAI,iBAAiB,aAAa,UAAa,cAAc,QAAW;AACtE,gBAAM,SAAS,MAAM,6BAA6B,aAAa;AAC/D,cAAI,QAAQ;AACV,uBAAW,OAAO,OAAO,QAAQ;AACjC,wBAAY,OAAO,OAAO,SAAS;AAAA,UACrC;AAAA,QACF;AAGA,cAAM,kBAAkB,MAAM,mBAAuB,QAAQ,EAAE;AAC/D,YAAI,CAAC,iBAAiB;AACpB,gBAAM,IAAI,MAAM,mBAAmB;AAAA,QACrC;AAGA,YAAI,WAAW;AACb,gBAAM,oBAAwB,MAAM;AAAA,QACtC;AAEA,cAAM,iBAAiB,MAAM,kBAAsB;AAAA,UACjD;AAAA,UACA,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW,aAAa;AAAA,UACxB;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AA8BD,eAAO,EAAE,SAAS,MAAM,MAAM,eAAe;AAAA,MAC9C,CAAC;AAAA,MAEJ,eAAe,mBACZ,MAAM,iBAAE,OAAO;AAAA,QACd,IAAI,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,MAChC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAA0C;AACtE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,GAAG,IAAI;AAEf,cAAM,kBAAkB,MAAM,mBAAuB,QAAQ,EAAE;AAC/D,YAAI,CAAC,iBAAiB;AACpB,gBAAM,IAAI,MAAM,8CAA8C;AAAA,QAChE;AAEA,cAAM,mBAAmB,MAAM,2BAA+B,EAAE;AAChE,YAAI,kBAAkB;AACpB,gBAAM,IAAI,MAAM,yEAAyE;AAAA,QAC3F;AAEA,YAAI,gBAAgB,WAAW;AAC7B,gBAAM,IAAI,MAAM,6EAA6E;AAAA,QAC/F;AAEA,cAAM,UAAU,MAAM,kBAAsB,QAAQ,EAAE;AAmCtD,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,MAAM,8CAA8C;AAAA,QAChE;AAEA,eAAO,EAAE,SAAS,MAAM,SAAS,+BAA+B;AAAA,MAClE,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;AC9QM,SAAS,YAAY,QAAgB;AAC1C,QAAM,UAAU,SAAS,IAAI,MAAM;AAEnC,SAAO,WAAW;AACpB;AA0BA,eAAsB,cAAc,QAAgB,KAAa,SAAkC;AAC/F,QAAM,SAAS,gFAAgF,gBAAgB;AACjH,QAAM,OAAO,MAAM,MAAM,QAAQ;AAAA,IAC/B,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,WAAW,sBAAsB;AAAA,IACnC;AAAA,EACF,CAAC;AAED,QAAM,UAAU,MAAM,KAAK,KAAK;AAChC,MAAI,QAAQ,MAAM,uBAAuB,0BAA0B;AAEjE,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAtDA,IAGM,UAEA,aAUO;AAfb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AAEA,IAAM,WAAW,oBAAI,IAAoB;AAEzC,IAAM,cAAc,wBAAC,OAAe,mBAA2B;AAC7D,eAAS,IAAI,OAAO,cAAc;AAAA,IACpC,GAFoB;AAIJ;AAMT,IAAM,UAAU,8BAAO,UAAkB;AAC9C,UAAI,CAAC,OAAO;AACV,cAAM,IAAI,SAAS,4BAA4B,GAAG;AAAA,MACpD;AACA,YAAM,SAAS,kGAAkG;AACjH,YAAM,OAAO,MAAM,MAAM,QAAQ;AAAA,QAC/B,SAAS;AAAA,UACP,WAAW,sBAAsB;AAAA,QACnC;AAAA,QACA,QAAQ;AAAA,MACV,CAAC;AACD,YAAM,OAAO,MAAM,KAAK,KAAK;AAE7B,UAAI,KAAK,YAAY,WAAW;AAC9B,oBAAY,OAAO,KAAK,KAAK,cAAc;AAC3C,eAAO,EAAE,SAAS,MAAM,SAAS,yBAAyB,gBAAgB,KAAK,KAAK,eAAe;AAAA,MACrG;AACA,UAAI,KAAK,YAAY,0BAA0B;AAC7C,eAAO,EAAE,SAAS,MAAM,SAAS,4CAA4C;AAAA,MAC/E;AAEA,YAAM,IAAI,SAAS,6CAA6C,GAAG;AAAA,IACrE,GAtBuB;AAwBD;AAAA;AAAA;;;ACvCtB,IA2CM,eASO;AApDb,IAAAC,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmCA,IAAM,gBAAgB,8BAAO,WAAoC;AAC/D,aAAO,MAAM,IAAI,QAAQ,EAAE,OAAO,CAAC,EAChC,mBAAmB,EAAE,KAAK,QAAQ,CAAC,EACnC,kBAAkB,IAAI,EACtB,KAAK,oBAAoB,CAAC;AAAA,IAC/B,GALsB;AASf,IAAM,aAAa,OAAO;AAAA,MAC/B,OAAO,gBACJ,MAAM,iBAAE,OAAO;AAAA,QACd,YAAY,iBAAE,OAAO,EAAE,IAAI,GAAG,0BAA0B;AAAA,QACxD,UAAU,iBAAE,OAAO,EAAE,IAAI,GAAG,sBAAsB;AAAA,MACpD,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAA+B;AACtD,cAAM,EAAE,YAAY,SAAS,IAAkB;AAE/C,YAAI,CAAC,cAAc,CAAC,UAAU;AAC5B,gBAAM,IAAI,SAAS,0CAA0C,GAAG;AAAA,QAClE;AAGA,cAAM,OAAO,MAAM,eAAuB,WAAW,YAAY,CAAC;AAClE,YAAI,YAAY,QAAQ;AAExB,YAAI,CAAC,WAAW;AAEd,gBAAM,eAAe,MAAMC,iBAAwB,UAAU;AAC7D,sBAAY,gBAAgB;AAAA,QAC9B;AAEA,YAAI,CAAC,WAAW;AACd,gBAAM,IAAI,SAAS,uBAAuB,GAAG;AAAA,QAC/C;AAGA,cAAM,kBAAkB,MAAM,aAAqB,UAAU,EAAE;AAE/D,YAAI,CAAC,iBAAiB;AACpB,gBAAM,IAAI,SAAS,qDAAqD,GAAG;AAAA,QAC7E;AAGA,cAAM,aAAa,MAAM,eAAuB,UAAU,EAAE;AAG5D,cAAM,wBAAwB,YAAY,eACtC,MAAM,2BAA2B,WAAW,YAAY,IACxD;AAGJ,cAAM,kBAAkB,MAAM,iBAAO,QAAQ,UAAU,gBAAgB,YAAY;AACnF,YAAI,CAAC,iBAAiB;AACpB,gBAAM,IAAI,SAAS,uBAAuB,GAAG;AAAA,QAC/C;AAEA,cAAM,QAAQ,MAAM,cAAc,UAAU,EAAE;AAE9C,cAAM,WAA6B;AAAA,UACjC;AAAA,UACA,MAAM;AAAA,YACJ,IAAI,UAAU;AAAA,YACd,MAAM,UAAU;AAAA,YAChB,OAAO,UAAU;AAAA,YACjB,QAAQ,UAAU;AAAA,YAClB,WAAW,UAAU,UAAU,YAAY;AAAA,YAC3C,cAAc;AAAA,YACd,KAAK,YAAY,OAAO;AAAA,YACxB,aAAa,YAAY,cACrB,IAAI,KAAK,WAAW,WAAkB,EAAE,YAAY,IACpD;AAAA,YACJ,QAAQ,YAAY,UAAU;AAAA,YAC9B,YAAY,YAAY,cAAc;AAAA,UACxC;AAAA,QACF;AAEA,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,QACR;AAAA,MACF,CAAC;AAAA,MAEH,UAAU,gBACP,MAAM,iBAAE,OAAO;AAAA,QACd,MAAM,iBAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,QAC1C,OAAO,iBAAE,OAAO,EAAE,MAAM,sBAAsB;AAAA,QAC9C,QAAQ,iBAAE,OAAO,EAAE,IAAI,GAAG,oBAAoB;AAAA,QAC9C,UAAU,iBAAE,OAAO,EAAE,IAAI,GAAG,sBAAsB;AAAA,QAClD,iBAAiB,iBAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MAClD,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAA+B;AACtD,cAAM,EAAE,MAAM,OAAAC,QAAO,QAAQ,UAAU,gBAAgB,IAAqB;AAE5E,YAAI,CAAC,QAAQ,CAACA,UAAS,CAAC,UAAU,CAAC,UAAU;AAC3C,gBAAM,IAAI,SAAS,2BAA2B,GAAG;AAAA,QACnD;AAGA,cAAM,aAAa;AACnB,YAAI,CAAC,WAAW,KAAKA,MAAK,GAAG;AAC3B,gBAAM,IAAI,SAAS,wBAAwB,GAAG;AAAA,QAChD;AAGA,cAAM,cAAc,OAAO,QAAQ,OAAO,EAAE;AAC5C,YAAI,YAAY,WAAW,MAAM,CAAC,SAAS,KAAK,WAAW,GAAG;AAC5D,gBAAM,IAAI,SAAS,yBAAyB,GAAG;AAAA,QACjD;AAGA,cAAM,gBAAgB,MAAM,eAAuBA,OAAM,YAAY,CAAC;AAEtE,YAAI,eAAe;AACjB,gBAAM,IAAI,SAAS,4BAA4B,GAAG;AAAA,QACpD;AAGA,cAAM,iBAAiB,MAAMD,iBAAwB,WAAW;AAEhE,YAAI,gBAAgB;AAClB,gBAAM,IAAI,SAAS,oCAAoC,GAAG;AAAA,QAC5D;AAGA,cAAM,iBAAiB,MAAM,iBAAO,KAAK,UAAU,EAAE;AAGrD,cAAM,UAAU,MAAM,sBAA0B;AAAA,UAC9C,MAAM,KAAK,KAAK;AAAA,UAChB,OAAOC,OAAM,YAAY,EAAE,KAAK;AAAA,UAChC,QAAQ;AAAA,UACR;AAAA,UACA,cAAc,mBAAmB;AAAA,QACnC,CAAC;AAED,cAAM,QAAQ,MAAM,cAAc,QAAQ,EAAE;AAE5C,cAAM,wBAAwB,kBAC1B,MAAM,2BAA2B,eAAe,IAChD;AAEJ,cAAM,WAA6B;AAAA,UACjC;AAAA,UACA,MAAM;AAAA,YACJ,IAAI,QAAQ;AAAA,YACZ,MAAM,QAAQ;AAAA,YACd,OAAO,QAAQ;AAAA,YACf,QAAQ,QAAQ;AAAA,YAChB,WAAW,QAAQ,UAAU,YAAY;AAAA,YACzC,cAAc;AAAA,UAChB;AAAA,QACF;AAEA,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,QACR;AAAA,MACF,CAAC;AAAA,MAEH,SAAS,gBACN,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO;AAAA,MACnB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAE7B,eAAO,MAAM,QAAQ,MAAM,MAAM;AAAA,MACnC,CAAC;AAAA,MAEH,WAAW,gBACR,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO;AAAA,QACjB,KAAK,iBAAE,OAAO;AAAA,MAChB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAsC;AAC7D,cAAM,iBAAiB,YAAY,MAAM,MAAM;AAC/C,YAAI,CAAC,gBAAgB;AACnB,gBAAM,IAAI,SAAS,2BAA2B,GAAG;AAAA,QACnD;AACA,cAAM,aAAa,MAAM,cAAc,MAAM,QAAQ,MAAM,KAAK,cAAc;AAE9E,YAAI,CAAC,YAAY;AACf,gBAAM,IAAI,SAAS,eAAe,GAAG;AAAA,QACvC;AAGC,YAAI,OAAO,MAAMD,iBAAwB,MAAM,MAAM;AAGnD,YAAI,CAAC,MAAM;AACT,iBAAO,MAAM,qBAA6B,MAAM,MAAM;AAAA,QACxD;AAGD,cAAM,QAAQ,MAAM,cAAc,KAAK,EAAE;AAE1C,eAAO;AAAA,UACL,SAAS;AAAA,UACT;AAAA,UACA,MAAM;AAAA,YACJ,IAAI,KAAK;AAAA,YACT,MAAM,KAAK;AAAA,YACX,OAAO,KAAK;AAAA,YACZ,QAAQ,KAAK;AAAA,YACb,WAAW,KAAK,UAAU,YAAY;AAAA,YACtC,cAAc;AAAA,UAChB;AAAA,QACF;AAAA,MACH,CAAC;AAAA,MAEH,gBAAgB,mBACb,MAAM,iBAAE,OAAO;AAAA,QACd,UAAU,iBAAE,OAAO,EAAE,IAAI,GAAG,wCAAwC;AAAA,MACtE,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAA2C;AACvE,cAAM,SAAS,IAAI,KAAK;AACxB,YAAI,CAAC,QAAQ;AACX,gBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,QAClD;AAEA,cAAM,iBAAiB,MAAM,iBAAO,KAAK,MAAM,UAAU,EAAE;AAG3D,cAAM,mBAA2B,QAAQ,cAAc;AAoBvD,eAAO,EAAE,SAAS,MAAM,SAAS,gCAAgC;AAAA,MACnE,CAAC;AAAA,MAEH,eAAe,mBACZ,MAAM,iBAAE,OAAO;AAAA,QACd,MAAM,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,QACjC,OAAO,iBAAE,OAAO,EAAE,MAAM,sBAAsB,EAAE,SAAS;AAAA,QACzD,QAAQ,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,QACnC,UAAU,iBAAE,OAAO,EAAE,IAAI,GAAG,wCAAwC,EAAE,SAAS;AAAA,QAC/E,KAAK,iBAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QACpC,aAAa,iBAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QAC5C,QAAQ,iBAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QACvC,YAAY,iBAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QAC3C,iBAAiB,iBAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MAClD,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAA+B;AAC3D,cAAM,SAAS,IAAI,KAAK;AAExB,YAAI,CAAC,QAAQ;AACX,gBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,QAClD;AAEA,cAAM,EAAE,MAAM,OAAAC,QAAO,QAAQ,UAAU,KAAK,aAAa,QAAQ,YAAY,gBAAgB,IAAI;AAEjG,YAAIA,QAAO;AACT,gBAAM,aAAa;AACnB,cAAI,CAAC,WAAW,KAAKA,MAAK,GAAG;AAC3B,kBAAM,IAAI,SAAS,wBAAwB,GAAG;AAAA,UAChD;AAAA,QACF;AAEA,YAAI,QAAQ;AACV,gBAAM,cAAc,OAAO,QAAQ,OAAO,EAAE;AAC5C,cAAI,YAAY,WAAW,MAAM,CAAC,SAAS,KAAK,WAAW,GAAG;AAC5D,kBAAM,IAAI,SAAS,yBAAyB,GAAG;AAAA,UACjD;AAAA,QACF;AAEA,YAAIA,QAAO;AACT,gBAAM,gBAAgB,MAAM,eAAuBA,OAAM,YAAY,CAAC;AACtE,cAAI,iBAAiB,cAAc,OAAO,QAAQ;AAChD,kBAAM,IAAI,SAAS,4BAA4B,GAAG;AAAA,UACpD;AAAA,QACF;AAEA,YAAI,QAAQ;AACV,gBAAM,cAAc,OAAO,QAAQ,OAAO,EAAE;AAC5C,gBAAM,iBAAiB,MAAMD,iBAAwB,WAAW;AAChE,cAAI,kBAAkB,eAAe,OAAO,QAAQ;AAClD,kBAAM,IAAI,SAAS,oCAAoC,GAAG;AAAA,UAC5D;AAAA,QACF;AAEA,YAAI;AACJ,YAAI,UAAU;AACZ,2BAAiB,MAAM,iBAAO,KAAK,UAAU,EAAE;AAAA,QACjD;AAEA,cAAM,cAAc,MAAM,kBAAsB,QAAQ;AAAA,UACtD,MAAM,MAAM,KAAK;AAAA,UACjB,OAAOC,QAAO,YAAY,EAAE,KAAK;AAAA,UACjC,QAAQ,QAAQ,QAAQ,OAAO,EAAE;AAAA,UACjC;AAAA,UACA,cAAc,mBAAmB;AAAA,UACjC,KAAK,OAAO;AAAA,UACZ,aAAa,cAAc,IAAI,KAAK,WAAW,IAAI;AAAA,UACnD,QAAQ,UAAU;AAAA,UAClB,YAAY,cAAc;AAAA,QAC5B,CAAC;AAED,cAAM,aAAa,MAAM,uBAA2B,MAAM;AAC1D,cAAM,wBAAwB,YAAY,eACtC,MAAM,2BAA2B,WAAW,YAAY,IACxD;AAEJ,cAAM,aAAa,IAAI,IAAI,OAAO,eAAe;AACjD,cAAM,QAAQ,YAAY,QAAQ,WAAW,EAAE,KAAK;AAEpD,cAAM,WAA6B;AAAA,UACjC;AAAA,UACA,MAAM;AAAA,YACJ,IAAI,YAAY;AAAA,YAChB,MAAM,YAAY;AAAA,YAClB,OAAO,YAAY;AAAA,YACnB,QAAQ,YAAY;AAAA,YACpB,WAAW,YAAY,WAAW,cAAc,MAAK,oBAAI,KAAK,GAAE,YAAY;AAAA,YAC5E,cAAc;AAAA,YACd,KAAK,YAAY,OAAO;AAAA,YACxB,aAAa,YAAY,cACrB,IAAI,KAAK,WAAW,WAAkB,EAAE,YAAY,IACpD;AAAA,YACJ,QAAQ,YAAY,UAAU;AAAA,YAC9B,YAAY,YAAY,cAAc;AAAA,UACxC;AAAA,QACF;AAEA,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,QACR;AAAA,MACF,CAAC;AAAA,MAEH,YAAY,mBACT,MAAM,OAAO,EAAE,IAAI,MAAoC;AACtD,cAAM,SAAS,IAAI,KAAK;AAExB,YAAI,CAAC,QAAQ;AACX,gBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,QAClD;AAEA,cAAM,OAAO,MAAM,YAAoB,MAAM;AAE7C,YAAI,CAAC,MAAM;AACT,gBAAM,IAAI,SAAS,kBAAkB,GAAG;AAAA,QAC1C;AAEA,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,YACJ,IAAI,KAAK;AAAA,YACT,MAAM,KAAK;AAAA,YACX,OAAO,KAAK;AAAA,YACZ,QAAQ,KAAK;AAAA,UACf;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MAEH,eAAe,mBACZ,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO,EAAE,IAAI,IAAI,2BAA2B;AAAA,MACxD,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,KAAK,MAAM,MAA0C;AACtE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,OAAO,IAAI;AAEnB,YAAI,CAAC,QAAQ;AACX,gBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,QAClD;AAGA,cAAM,eAAe,MAAM,YAAoB,MAAM;AAErD,YAAI,CAAC,cAAc;AACjB,gBAAM,IAAI,SAAS,kBAAkB,GAAG;AAAA,QAC1C;AAIA,YAAI,aAAa,OAAO,QAAQ;AAC9B,gBAAM,IAAI,SAAS,sDAAuD,GAAG;AAAA,QAC/E;AAGA,cAAM,mBAAmB,OAAO,QAAQ,OAAO,EAAE;AACjD,cAAM,kBAAkB,aAAa,QAAQ,QAAQ,OAAO,EAAE;AAE9D,YAAI,qBAAqB,iBAAiB;AACxC,gBAAM,IAAI,SAAS,uDAAuD,GAAG;AAAA,QAC/E;AAGA,cAAM,kBAA0B,MAAM;AAsCtC,eAAO,EAAE,SAAS,MAAM,SAAS,+BAA+B;AAAA,MAClE,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACveD,IAiBM,aAyCO;AA1Db,IAAAC,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AACA;AAYA,IAAM,cAAc,8BAAO,WAA8C;AACvE,YAAM,wBAAwB,MAAM,yBAAiC,MAAM;AAuB3E,YAAM,qBAAqB,sBAAsB,IAAI,CAAC,UAAU;AAAA,QAC9D,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,KAAK;AAAA,UACR,QAAQ,iBAAiB,KAAK,QAAQ,UAAU,CAAC,CAAC;AAAA,QACpD;AAAA,MACF,EAAE;AAEF,YAAM,cAAc,mBAAmB,OAAO,CAACC,MAAK,SAASA,OAAM,KAAK,UAAU,CAAC;AAEnF,aAAO;AAAA,QACL,OAAO;AAAA,QACP,YAAY,mBAAmB;AAAA,QAC/B;AAAA,MACF;AAAA,IACF,GAvCoB;AAyCb,IAAM,aAAa,OAAO;AAAA,MAC/B,SAAS,mBACN,MAAM,OAAO,EAAE,IAAI,MAAiC;AACnD,cAAM,SAAS,IAAI,KAAK;AACxB,eAAO,MAAM,YAAY,MAAM;AAAA,MACjC,CAAC;AAAA,MAEH,WAAW,mBACR,MAAM,iBAAE,OAAO;AAAA,QACd,WAAW,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QACrC,UAAU,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,MACtC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAiC;AAC7D,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,WAAW,SAAS,IAAI;AAGhC,YAAI,CAAC,aAAa,CAAC,YAAY,YAAY,GAAG;AAC5C,gBAAM,IAAI,SAAS,6CAA6C,GAAG;AAAA,QACrE;AAGA,cAAM,UAAU,MAAMC,gBAAuB,SAAS;AAEtD,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,SAAS,qBAAqB,GAAG;AAAA,QAC7C;AAEA,cAAM,eAAe,MAAM,yBAAiC,QAAQ,SAAS;AAE7E,YAAI,cAAc;AAChB,gBAAM,0BAAkC,aAAa,IAAI,QAAQ;AAAA,QACnE,OAAO;AACL,gBAAM,eAAuB,QAAQ,WAAW,QAAQ;AAAA,QAC1D;AAgCA,eAAO,MAAM,YAAY,MAAM;AAAA,MACjC,CAAC;AAAA,MAEH,gBAAgB,mBACb,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QAClC,UAAU,iBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AAAA,MAClC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAiC;AAC7D,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,QAAQ,SAAS,IAAI;AAE7B,YAAI,CAAC,YAAY,YAAY,GAAG;AAC9B,gBAAM,IAAI,SAAS,8BAA8B,GAAG;AAAA,QACtD;AAEA,cAAM,UAAU,MAAM,uBAA+B,QAAQ,QAAQ,QAAQ;AAiB7E,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,SAAS,uBAAuB,GAAG;AAAA,QAC/C;AAGA,eAAO,MAAM,YAAY,MAAM;AAAA,MACjC,CAAC;AAAA,MAEH,gBAAgB,mBACb,MAAM,iBAAE,OAAO;AAAA,QACd,QAAQ,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,MACpC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAiC;AAC7D,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,OAAO,IAAI;AAEnB,cAAM,UAAU,MAAM,eAAuB,QAAQ,MAAM;AAgB3D,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,SAAS,uBAAuB,GAAG;AAAA,QAC/C;AAGA,eAAO,MAAM,YAAY,MAAM;AAAA,MACjC,CAAC;AAAA,MAEH,WAAW,mBACR,SAAS,OAAO,EAAE,IAAI,MAAiC;AACtD,cAAM,SAAS,IAAI,KAAK;AAExB,cAAM,cAAkB,MAAM;AAO9B,eAAO;AAAA,UACL,OAAO,CAAC;AAAA,UACR,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,SAAS;AAAA,QACX;AAAA,MACF,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAgDH,cAAc,gBACX,MAAM,iBAAE,OAAO;AAAA,QACd,YAAY,iBAAE,MAAM,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC;AAAA,MACjD,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,cAAM,EAAE,WAAW,IAAI;AAEvB,YAAI,WAAW,WAAW,GAAG;AAC3B,iBAAO,CAAC;AAAA,QACV;AAEA,eAAO,MAAM,yBAAyB,UAAU;AAAA,MAClD,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACnRD,IAQaC;AARb,IAAAC,kBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AAMO,IAAMF,mBAAkB,OAAO;AAAA,MACpC,QAAQ,mBACL,MAAM,OAAO,EAAE,IAAI,MAAuC;AACzD,cAAM,SAAS,IAAI,KAAK;AAExB,cAAM,iBAAiB,MAAM,kBAAsB,MAAM;AA6BzD,eAAO;AAAA,UACL,YAAY;AAAA,QACd;AAAA,MACF,CAAC;AAAA,MAEH,OAAO,mBACJ,MAAM,iBAAE,OAAO;AAAA,QACd,SAAS,iBAAE,OAAO,EAAE,SAAS;AAAA,QAC7B,eAAe,iBAAE,OAAO,EAAE,IAAI,GAAG,4BAA4B;AAAA,QAC7D,WAAW,iBAAE,MAAM,iBAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MAC1C,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAA2C;AACvE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,SAAS,eAAe,UAAU,IAAI;AAE9C,YAAI,aAA4B;AAEhC,YAAI,SAAS;AACX,gBAAM,kBAAkB,QAAQ,MAAM,YAAY;AAClD,cAAI,iBAAiB;AACnB,yBAAa,SAAS,gBAAgB,CAAC,CAAC;AAAA,UAC1C;AAAA,QACF;AAEA,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,cAAc,KAAK;AAAA,UACnB,aAAa,UAAU,SAAS,IAAI,YAAY;AAAA,QAClD;AAWA,eAAO,EAAE,SAAS,MAAM,SAAS,gCAAgC;AAAA,MACnE,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACpFD,IA6CM,gBA2MOG;AAxPb,IAAAC,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AAyBA,IAAAC;AACA;AACA;AAKA;AACA;AAUA,IAAM,iBAAiB,8BAAO,WAYxB;AACJ,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,YAAMC,aAAY,MAAM,aAAqB;AAAA,QAC3CC,YAAW;AAAA,QACXA,YAAW;AAAA,QACXA,YAAW;AAAA,QACXA,YAAW;AAAA,MACb,CAAC;AAED,YAAM,kBAAkB,OAAO;AAC/B,YAAM,iBAAiB,kBAAkBD,WAAUC,YAAW,0BAA0B,IAAID,WAAUC,YAAW,oBAAoB,MAAM;AAC3I,YAAM,kBAAkB,kBAAkBD,WAAUC,YAAW,mBAAmB,IAAID,WAAUC,YAAW,cAAc,MAAM;AAE/H,YAAM,eAAe,GAAG,KAAK,IAAI,KAAK;AAEtC,YAAM,UAAU,MAAM,sBAA0B,WAAW,MAAM;AACjE,UAAI,CAAC,SAAS;AACZ,cAAM,IAAI,SAAS,mBAAmB,GAAG;AAAA,MAC3C;AAEA,YAAM,eAAe,oBAAI,IAQvB;AAEF,iBAAW,QAAQ,eAAe;AAChC,cAAM,UAAU,MAAMC,gBAAoB,KAAK,SAAS;AACxD,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,SAAS,WAAW,KAAK,uBAAuB,GAAG;AAAA,QAC/D;AAEA,YAAI,CAAC,aAAa,IAAI,KAAK,MAAM,GAAG;AAClC,uBAAa,IAAI,KAAK,QAAQ,CAAC,CAAC;AAAA,QAClC;AACA,qBAAa,IAAI,KAAK,MAAM,EAAG,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC;AAAA,MAC1D;AAEA,UAAI,OAAO,SAAS;AAClB,mBAAW,QAAQ,eAAe;AAChC,gBAAM,UAAU,MAAMA,gBAAoB,KAAK,SAAS;AACxD,cAAI,CAAC,SAAS,kBAAkB;AAC9B,kBAAM,IAAI,SAAS,WAAW,KAAK,iDAAiD,GAAG;AAAA,UACzF;AAAA,QACF;AAAA,MACF;AAEA,UAAI,cAAc;AAClB,iBAAW,CAAC,QAAQ,KAAK,KAAK,cAAc;AAC1C,cAAM,aAAa,MAAM;AAAA,UACvB,CAACC,MAAK,SAAS;AACb,gBAAI,CAAC,KAAK;AAAS,qBAAOA;AAC1B,kBAAM,YAAY,OAAO,UACpB,KAAK,QAAQ,cAAc,KAAK,QAAQ,QACzC,KAAK,QAAQ;AACjB,kBAAM,YAAY,YAAY,aAAa,GAAG,SAAS,CAAC;AACxD,mBAAOA,OAAM,YAAY,KAAK;AAAA,UAChC;AAAA,UACA;AAAA,QACF;AACA,uBAAe;AAAA,MACjB;AAEA,YAAM,gBAAgB,MAAM,qBAAyB,UAAU,QAAQ,WAAW;AAElF,YAAM,yBACJ,cAAc,gBAAgB,iBAAiB;AAEjD,YAAM,oBAAoB,cAAc;AAQxC,YAAM,aAA0B,CAAC;AACjC,UAAI,eAAe;AAEnB,iBAAW,CAAC,QAAQ,KAAK,KAAK,cAAc;AAC1C,cAAM,gBAAgB,MAAM;AAAA,UAC1B,CAACA,MAAK,SAAS;AACb,gBAAI,CAAC,KAAK;AAAS,qBAAOA;AAC1B,kBAAM,YAAY,OAAO,UACpB,KAAK,QAAQ,cAAc,KAAK,QAAQ,QACzC,KAAK,QAAQ;AACjB,kBAAM,YAAY,YAAY,aAAa,GAAG,SAAS,CAAC;AACxD,mBAAOA,OAAM,YAAY,KAAK;AAAA,UAChC;AAAA,UACA;AAAA,QACF;AACA,cAAM,4BAA4B,gBAAgB;AAElD,cAAM,uBAAuB,gBAAgB;AAC7C,cAAM,mBAAmB,eAAe,4BAA4B;AAEpE,cAAM,EAAE,iBAAiB,iBAAiB,IAAI;AAAA,UAC5C;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAEA,cAAM,QAAgD;AAAA,UACpD;AAAA,UACA;AAAA,UACA,QAAQ,OAAO,UAAU,OAAO;AAAA,UAChC,OAAO,kBAAkB;AAAA,UACzB,iBAAiB,kBAAkB;AAAA,UACnC,eAAe;AAAA,UACf,aAAa,iBAAiB,SAAS;AAAA,UACvC,gBAAgB,eAAe,uBAAuB,SAAS,IAAI;AAAA,UACnE,YAAY;AAAA,UACZ,WAAW,aAAa;AAAA,UACxB;AAAA,UACA,sBAAsB,qBAAqB,SAAS;AAAA,UACpD,iBAAiB,OAAO;AAAA,QAC1B;AAEA,cAAM,aAAa,MAAM;AAAA,UACvB,CAAC,SACC,KAAK,YAAY,QAAQ,KAAK,YAAY;AAAA,QAC9C;AACA,cAAM,iBAA+D,WAAW;AAAA,UAC9E,CAAC,SAAS;AACR,kBAAM,YAAY,OAAO,UACpB,KAAK,QAAQ,cAAc,KAAK,QAAQ,QACzC,KAAK,QAAQ;AACjB,kBAAM,eAAe,aAAa,GAAG,SAAS;AAE9C,mBAAO;AAAA,cACL,SAAS;AAAA,cACT,WAAW,KAAK;AAAA,cAChB,UAAU,KAAK,SAAS,SAAS;AAAA,cACjC,OAAO;AAAA,cACP,iBAAiB;AAAA,YACnB;AAAA,UACF;AAAA,QACF;AAEA,cAAM,kBAA+D;AAAA,UACnE;AAAA,UACA,SAAS;AAAA,UACT,eAAe,kBAAkB,QAAQ,QAAQ;AAAA,QACnD;AAEA,mBAAW,KAAK,EAAE,OAAO,YAAY,gBAAgB,aAAa,gBAAgB,CAAC;AACnF,uBAAe;AAAA,MACjB;AAEA,YAAM,gBAAgB,MAAM,sBAA0B;AAAA,QACpD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAED,YAAM;AAAA,QACJ;AAAA,QACA,cAAc,IAAI,CAAC,SAAS,KAAK,SAAS;AAAA,MAC5C;AAEA,UAAI,iBAAiB,cAAc,SAAS,GAAG;AAC7C,cAAM;AAAA,UACJ;AAAA,UACA,cAAc;AAAA,UACd,cAAc,CAAC,EAAE;AAAA,QACnB;AAAA,MACF;AAMA,cAAQ,IAAI,sBAAsB;AAClC,YAAM,sBAAsB,eAAe,YAAY;AAEvD,aAAO,EAAE,SAAS,MAAM,MAAM,cAAc;AAAA,IAC9C,GAzMuB;AA2MhB,IAAMP,eAAc,OAAO;AAAA,MAChC,YAAY,mBACT;AAAA,QACC,iBAAE,OAAO;AAAA,UACP,eAAe,iBAAE;AAAA,YACf,iBAAE,OAAO;AAAA,cACP,WAAW,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,cACrC,UAAU,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,cACpC,QAAQ,iBAAE,MAAM,CAAC,iBAAE,OAAO,EAAE,IAAI,GAAG,iBAAE,KAAK,CAAC,CAAC;AAAA,YAC9C,CAAC;AAAA,UACH;AAAA,UACA,WAAW,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,UACrC,eAAe,iBAAE,KAAK,CAAC,UAAU,KAAK,CAAC;AAAA,UACvC,UAAU,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,UAC/C,WAAW,iBAAE,OAAO,EAAE,SAAS;AAAA,UAC/B,iBAAiB,iBAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,KAAK;AAAA,QACvD,CAAC;AAAA,MACH,EACC,SAAS,OAAO,EAAE,OAAO,IAAI,MAAM;AAClC,cAAM,SAAS,IAAI,KAAK;AAExB,cAAM,cAAc,MAAM,mBAAmB,MAAM;AACnD,YAAI,aAAa;AACf,gBAAM,IAAI,SAAS,yBAAyB,GAAG;AAAA,QACjD;AAEA,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,IAAI;AAEJ,YAAI,iBAAiB;AACnB,gBAAM,yBAAyB,MAAM,YAAqBK,YAAW,sBAAsB;AAC3F,cAAI,CAAC,wBAAwB;AAC3B,kBAAM,IAAI,SAAS,+EAA+E,GAAG;AAAA,UACvG;AAAA,QACF;AAEA,YAAI,CAAC,iBAAiB;AACpB,gBAAM,UAAU,CAAC,GAAG,IAAI,IAAI,cAAc,OAAO,CAAAG,OAAKA,GAAE,WAAW,IAAI,EAAE,IAAI,CAAAA,OAAKA,GAAE,MAAgB,CAAC,CAAC;AACtG,qBAAW,UAAU,SAAS;AAC5B,kBAAM,iBAAiB,MAAM,sBAA0B,MAAM;AAC7D,gBAAI,gBAAgB;AAClB,oBAAM,IAAI,SAAS,2EAA2E,GAAG;AAAA,YACnG;AAAA,UACF;AAAA,QACF;AAEA,YAAI,iBAAiB;AAErB,YAAI,iBAAiB;AACnB,2BAAiB,cAAc,IAAI,WAAS;AAAA,YAC1C,GAAG;AAAA,YACH,QAAQ;AAAA,UACV,EAAE;AAAA,QACJ;AAEA,eAAO,MAAM,eAAe;AAAA,UAC1B;AAAA,UACA,eAAe;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,QACX,CAAC;AAAA,MACH,CAAC;AAAA,MAEH,WAAW,mBACR;AAAA,QACC,iBACG,OAAO;AAAA,UACN,MAAM,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;AAAA,UACjC,UAAU,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE;AAAA,QAChD,CAAC,EACA,SAAS;AAAA,MACd,EACC,MAAM,OAAO,EAAE,OAAO,IAAI,MAAmC;AAC5D,cAAM,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,SAAS,CAAC;AAC9C,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,UAAU,OAAO,KAAK;AAE5B,cAAM,aAAa,MAAM,cAAkB,MAAM;AACjD,cAAM,aAAa,MAAM,uBAA2B,QAAQ,QAAQ,QAAQ;AAE5E,cAAM,eAAe,MAAM,QAAQ;AAAA,UACjC,WAAW,IAAI,OAAO,UAAU;AAC9B,kBAAM,SAAS,MAAM,YAAY,CAAC;AAClC,kBAAM,SAAS,MAAM,QAAQ,CAAC;AAK9B,gBAAI;AACJ,gBAAIC;AAEJ,kBAAM,mBAAmB,MAAM,WAAW;AAAA,cACxC,CAAC,SAAS,KAAK;AAAA,YACjB;AAEA,gBAAI,QAAQ,aAAa;AACvB,+BAAiB;AACjB,cAAAA,eAAc;AAAA,YAChB,WAAW,QAAQ,aAAa;AAC9B,+BAAiB;AACjB,cAAAA,eAAc;AAAA,YAChB,WAAW,kBAAkB;AAC3B,+BAAiB;AACjB,cAAAA,eAAc;AAAA,YAChB,OAAO;AACL,+BAAiB;AACjB,cAAAA,eAAc;AAAA,YAChB;AAEA,kBAAM,cAAc,MAAM,QAAQ,QAAQ;AAC1C,kBAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,kBAAM,eAAe,QAAQ,gBAAgB;AAC7C,kBAAM,eAAe,QAAQ,eACzB,WAAW,OAAO,aAAa,SAAS,CAAC,IACzC;AAEJ,kBAAM,QAAQ,MAAM,QAAQ;AAAA,cAC1B,MAAM,WAAW,IAAI,OAAO,SAAS;AACnC,sBAAM,eAAe,KAAK,QAAQ,SAC9B;AAAA,kBACA,KAAK,QAAQ;AAAA,gBACf,IACE,CAAC;AACL,uBAAO;AAAA,kBACL,aAAa,KAAK,QAAQ;AAAA,kBAC1B,UAAU,WAAW,KAAK,QAAQ;AAAA,kBAClC,OAAO,WAAW,KAAK,MAAM,SAAS,CAAC;AAAA,kBACvC,iBAAiB;AAAA,oBACf,KAAK,iBAAiB,SAAS,KAAK,KAAK,MAAM,SAAS;AAAA,kBAC1D;AAAA,kBACA,QACE,WAAW,KAAK,MAAM,SAAS,CAAC,IAAI,WAAW,KAAK,QAAQ;AAAA,kBAC9D,OAAO,aAAa,CAAC,KAAK;AAAA,gBAC5B;AAAA,cACF,CAAC;AAAA,YACH;AAEA,mBAAO;AAAA,cACL,IAAI,MAAM;AAAA,cACV,SAAS,MAAM,MAAM;AAAA,cACrB,WAAW,MAAM,UAAU,YAAY;AAAA,cACvC;AAAA,cACA,cAAc,MAAM,MAAM,aAAa,YAAY;AAAA,cACnD,aAAAA;AAAA,cACA,cAAc,QAAQ,gBAAgB;AAAA,cACtC;AAAA,cACA,aAAa,OAAO,MAAM,WAAW;AAAA,cACrC,gBAAgB,OAAO,MAAM,cAAc;AAAA,cAC3C;AAAA,cACA;AAAA,cACA;AAAA,cACA,WAAW,MAAM,aAAa;AAAA,cAC9B;AAAA,cACA,iBAAiB,MAAM;AAAA,cACvB,WAAW,MAAM,UAAU,YAAY;AAAA,YACzC;AAAA,UACF,CAAC;AAAA,QACH;AAEA,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,UACN,YAAY;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY,KAAK,KAAK,aAAa,QAAQ;AAAA,UAC7C;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MAEH,cAAc,mBACX,MAAM,iBAAE,OAAO,EAAE,SAAS,iBAAE,OAAO,EAAE,CAAC,CAAC,EACvC,MAAM,OAAO,EAAE,OAAO,IAAI,MAAgC;AACzD,cAAM,EAAE,QAAQ,IAAI;AACpB,cAAM,SAAS,IAAI,KAAK;AAExB,cAAM,QAAQ,MAAM,0BAA8B,SAAS,OAAO,GAAG,MAAM;AAE3E,YAAI,CAAC,OAAO;AACV,gBAAM,IAAI,MAAM,iBAAiB;AAAA,QACnC;AAEA,cAAM,kBAAkB,MAAM,uBAA2B,MAAM,EAAE;AAEjE,YAAI,aAAa;AACjB,YAAI,gBAAgB,SAAS,GAAG;AAC9B,cAAI,sBAAsB;AAC1B,gBAAM,aAAa,WAAW,MAAM,YAAY,SAAS,CAAC;AAE1D,qBAAW,SAAS,iBAAiB;AACnC,gBAAI,iBAAiB;AAErB,gBAAI,MAAM,OAAO,iBAAiB;AAChC,+BACG,aACC,WAAW,MAAM,OAAO,gBAAgB,SAAS,CAAC,IACpD;AAAA,YACJ,WAAW,MAAM,OAAO,cAAc;AACpC,+BAAiB,WAAW,MAAM,OAAO,aAAa,SAAS,CAAC;AAAA,YAClE;AAEA,gBACE,MAAM,OAAO,YACb,iBAAiB,WAAW,MAAM,OAAO,SAAS,SAAS,CAAC,GAC5D;AACA,+BAAiB,WAAW,MAAM,OAAO,SAAS,SAAS,CAAC;AAAA,YAC9D;AAEA,mCAAuB;AAAA,UACzB;AAEA,uBAAa;AAAA,YACX,YAAY,gBACT,IAAI,CAACC,OAAMA,GAAE,OAAO,UAAU,EAC9B,KAAK,IAAI;AAAA,YACZ,mBAAmB,GAAG,gBAAgB;AAAA,YACtC,gBAAgB;AAAA,UAClB;AAAA,QACF;AAEA,cAAM,SAAS,MAAM,YAAY,CAAC;AAClC,cAAM,SAAS,MAAM,QAAQ,CAAC;AAK9B,YAAI;AACJ,YAAI;AAEJ,cAAM,mBAAmB,MAAM,WAAW;AAAA,UACxC,CAAC,SAAS,KAAK;AAAA,QACjB;AAEA,YAAI,QAAQ,aAAa;AACvB,2BAAiB;AACjB,8BAAoB;AAAA,QACtB,WAAW,QAAQ,aAAa;AAC9B,2BAAiB;AACjB,8BAAoB;AAAA,QACtB,WAAW,kBAAkB;AAC3B,2BAAiB;AACjB,8BAAoB;AAAA,QACtB,OAAO;AACL,2BAAiB;AACjB,8BAAoB;AAAA,QACtB;AAEA,cAAM,cAAc,MAAM,QAAQ,QAAQ;AAC1C,cAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,cAAM,eAAe,QAAQ,gBAAgB;AAC7C,cAAM,eAAe,QAAQ,eACzB,WAAW,OAAO,aAAa,SAAS,CAAC,IACzC;AAEJ,cAAM,QAAQ,MAAM,QAAQ;AAAA,UAC1B,MAAM,WAAW,IAAI,OAAO,SAAS;AACnC,kBAAM,eAAe,KAAK,QAAQ,SAC9B;AAAA,cACA,KAAK,QAAQ;AAAA,YACf,IACE,CAAC;AACL,mBAAO;AAAA,cACL,aAAa,KAAK,QAAQ;AAAA,cAC1B,UAAU,WAAW,KAAK,QAAQ;AAAA,cAClC,OAAO,WAAW,KAAK,MAAM,SAAS,CAAC;AAAA,cACvC,iBAAiB;AAAA,gBACf,KAAK,iBAAiB,SAAS,KAAK,KAAK,MAAM,SAAS;AAAA,cAC1D;AAAA,cACA,QACE,WAAW,KAAK,MAAM,SAAS,CAAC,IAAI,WAAW,KAAK,QAAQ;AAAA,cAC9D,OAAO,aAAa,CAAC,KAAK;AAAA,YAC5B;AAAA,UACF,CAAC;AAAA,QACH;AAEA,eAAO;AAAA,UACL,IAAI,MAAM;AAAA,UACV,SAAS,MAAM,MAAM;AAAA,UACrB,WAAW,MAAM,UAAU,YAAY;AAAA,UACvC;AAAA,UACA,cAAc,MAAM,MAAM,aAAa,YAAY;AAAA,UACnD,aAAa;AAAA,UACb,oBAAoB;AAAA,UACpB,cAAc,QAAQ,gBAAgB;AAAA,UACtC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW,MAAM,aAAa;AAAA,UAC9B;AAAA,UACA,YAAY,YAAY,cAAc;AAAA,UACtC,mBAAmB,YAAY,qBAAqB;AAAA,UACpD,gBAAgB,YAAY,kBAAkB;AAAA,UAC9C,aAAa,WAAW,MAAM,YAAY,SAAS,CAAC;AAAA,UACpD,iBAAiB,MAAM;AAAA,UACvB,WAAW,MAAM,UAAU,YAAY;AAAA,UACvC,aAAa,WAAW,MAAM,YAAY,SAAS,CAAC;AAAA,UACpD,gBAAgB,WAAW,MAAM,eAAe,SAAS,CAAC;AAAA,QAC5D;AAAA,MACF,CAAC;AAAA,MAEH,aAAa,mBACV;AAAA,QACC,iBAAE,OAAO;AAAA,UACP,IAAI,iBAAE,OAAO;AAAA,UACb,QAAQ,iBAAE,OAAO,EAAE,IAAI,GAAG,iCAAiC;AAAA,QAC7D,CAAC;AAAA,MACH,EACC,SAAS,OAAO,EAAE,OAAO,IAAI,MAAwC;AACpE,YAAI;AACF,gBAAM,SAAS,IAAI,KAAK;AACxB,gBAAM,EAAE,IAAI,OAAO,IAAI;AAEvB,gBAAM,QAAQ,MAAM,cAAkB,EAAE;AAExC,cAAI,CAAC,OAAO;AACV,oBAAQ,MAAM,oBAAoB,EAAE;AACpC,kBAAM,IAAI,SAAS,mBAAmB,GAAG;AAAA,UAC3C;AAEA,cAAI,MAAM,WAAW,QAAQ;AAC3B,oBAAQ,MAAM,kCAAkC;AAAA,cAC9C,SAAS;AAAA,cACT,aAAa,MAAM;AAAA,cACnB,eAAe;AAAA,YACjB,CAAC;AAED,kBAAM,IAAI,SAAS,mBAAmB,GAAG;AAAA,UAC3C;AAEA,gBAAM,SAAS,MAAM,YAAY,CAAC;AAClC,cAAI,CAAC,QAAQ;AACX,oBAAQ,MAAM,qCAAqC,EAAE;AACrD,kBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,UAClD;AAEA,cAAI,OAAO,aAAa;AACtB,oBAAQ,MAAM,+BAA+B,EAAE;AAC/C,kBAAM,IAAI,SAAS,8BAA8B,GAAG;AAAA,UACtD;AAEA,cAAI,OAAO,aAAa;AACtB,oBAAQ,MAAM,kCAAkC,EAAE;AAClD,kBAAM,IAAI,SAAS,iCAAiC,GAAG;AAAA,UACzD;AAEA,gBAAM,uBAA2B,IAAI,OAAO,IAAI,QAAQ,MAAM,KAAK;AAInE,gBAAM,oBAAoB,IAAI,QAAQ,MAAM;AAE5C,iBAAO,EAAE,SAAS,MAAM,SAAS,+BAA+B;AAAA,QAClE,SAASC,IAAP;AACA,kBAAQ,IAAIA,EAAC;AACb,gBAAM,IAAI,SAAS,wBAAwB;AAAA,QAC7C;AAAA,MACF,CAAC;AAAA,MAEH,iBAAiB,mBACd;AAAA,QACC,iBAAE,OAAO;AAAA,UACP,IAAI,iBAAE,OAAO;AAAA,UACb,WAAW,iBAAE,OAAO;AAAA,QACtB,CAAC;AAAA,MACH,EACC,SAAS,OAAO,EAAE,OAAO,IAAI,MAAwC;AACpE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,IAAI,UAAU,IAAI;AAE1B,cAAM,QAAQ,MAAM,cAAkB,EAAE;AAExC,YAAI,CAAC,OAAO;AACV,kBAAQ,MAAM,oBAAoB,EAAE;AACpC,gBAAM,IAAI,SAAS,mBAAmB,GAAG;AAAA,QAC3C;AAEA,YAAI,MAAM,WAAW,QAAQ;AAC3B,kBAAQ,MAAM,kCAAkC;AAAA,YAC9C,SAAS;AAAA,YACT,aAAa,MAAM;AAAA,YACnB,eAAe;AAAA,UACjB,CAAC;AACD,gBAAM,IAAI,SAAS,mBAAmB,GAAG;AAAA,QAC3C;AAEA,cAAM,SAAS,MAAM,YAAY,CAAC;AAClC,YAAI,CAAC,QAAQ;AACX,kBAAQ,MAAM,qCAAqC,EAAE;AACrD,gBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,QAClD;AAEA,YAAI,OAAO,aAAa;AACtB,kBAAQ,MAAM,4CAA4C,EAAE;AAC5D,gBAAM,IAAI,SAAS,2CAA2C,GAAG;AAAA,QACnE;AAEA,YAAI,OAAO,aAAa;AACtB,kBAAQ,MAAM,4CAA4C,EAAE;AAC5D,gBAAM,IAAI,SAAS,2CAA2C,GAAG;AAAA,QACnE;AAEA,cAAMC,kBAAqB,IAAI,SAAS;AAExC,eAAO,EAAE,SAAS,MAAM,SAAS,6BAA6B;AAAA,MAChE,CAAC;AAAA,MAEH,4BAA4B,mBACzB;AAAA,QACC,iBACG,OAAO;AAAA,UACN,OAAO,iBAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE;AAAA,QAC7C,CAAC,EACA,SAAS;AAAA,MACd,EACC,MAAM,OAAO,EAAE,OAAO,IAAI,MAA2C;AACpE,cAAM,EAAE,QAAQ,GAAG,IAAI,SAAS,CAAC;AACjC,cAAM,SAAS,IAAI,KAAK;AAExB,cAAM,gBAAgB,oBAAI,KAAK;AAC/B,sBAAc,QAAQ,cAAc,QAAQ,IAAI,EAAE;AAElD,cAAM,iBAAiB,MAAM,6BAAiC,QAAQ,IAAI,aAAa;AAEvF,YAAI,eAAe,WAAW,GAAG;AAC/B,iBAAO,EAAE,SAAS,MAAM,UAAU,CAAC,EAAE;AAAA,QACvC;AAEA,cAAM,aAAa,MAAM,wBAA4B,cAAc;AAEnE,YAAI,WAAW,WAAW,GAAG;AAC3B,iBAAO,EAAE,SAAS,MAAM,UAAU,CAAC,EAAE;AAAA,QACvC;AAEA,cAAM,oBAAoB,MAAM,2BAA+B,YAAY,KAAK;AAEhF,cAAM,oBAAoB,MAAM,QAAQ;AAAA,UACtC,kBAAkB,IAAI,OAAO,YAAY;AACvC,kBAAM,mBAAmB,MAAM,oBAAoB,QAAQ,EAAE;AAC7D,mBAAO;AAAA,cACL,IAAI,QAAQ;AAAA,cACZ,MAAM,QAAQ;AAAA,cACd,kBAAkB,QAAQ;AAAA,cAC1B,OAAO,QAAQ;AAAA,cACf,MAAM,QAAQ;AAAA,cACd,eAAe,QAAQ;AAAA,cACvB,cAAc,QAAQ;AAAA,cACtB,kBAAkB,mBACd,iBAAiB,YAAY,IAC7B;AAAA,cACJ,QAAQ;AAAA,gBACL,QAAQ,UAAuB,CAAC;AAAA,cACnC;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAEA,eAAO;AAAA,UACL,SAAS;AAAA,UACT,UAAU;AAAA,QACZ;AAAA,MACF,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;AChtBD,IAKAC,eAeM,mBAKOC;AAzBb,IAAAC,gBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AACA,IAAAH,gBAAkB;AAClB;AAcA,IAAM,oBAAoB,wBAAC,aAAuD;AAAA,MAChF,GAAG;AAAA,MACH,QAAQ,iBAAiB,QAAQ,UAAU,CAAC,CAAC;AAAA,IAC/C,IAH0B;AAKnB,IAAMC,iBAAgB,OAAO;AAAA,MAClC,mBAAmB,gBAChB,MAAM,iBAAE,OAAO;AAAA,QACd,IAAI,iBAAE,OAAO,EAAE,MAAM,SAAS,oBAAoB;AAAA,MACpD,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAkC;AACtD,cAAM,EAAE,GAAG,IAAI;AACf,cAAM,YAAY,SAAS,EAAE;AAE7B,YAAI,MAAM,SAAS,GAAG;AACpB,gBAAM,IAAI,MAAM,oBAAoB;AAAA,QACtC;AAEA,gBAAQ,IAAI,qCAAqC;AAGjD,cAAM,gBAAgB,MAAMG,gBAAwB,SAAS;AAE7D,YAAI,eAAe;AAEjB,gBAAM,cAAc,oBAAI,KAAK;AAC7B,gBAAM,gBAAgB,cAAc,cAAc;AAAA,YAAO,cACvD,cAAAC,SAAM,KAAK,UAAU,EAAE,QAAQ,WAAW,KAAK,CAAC,KAAK;AAAA,UACvD;AAEA,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,eAAe;AAAA,UACjB;AAAA,QACF;AAGA,cAAM,cAAc,MAAM,qBAA6B,SAAS;AA2BhE,YAAI,CAAC,aAAa;AAChB,gBAAM,IAAI,MAAM,mBAAmB;AAAA,QACrC;AAEA,eAAO,kBAAkB,WAAW;AAAA,MACrC,CAAC;AAAA,MAEJ,mBAAmB,gBAChB,MAAM,iBAAE,OAAO;AAAA,QACd,WAAW,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QACrC,OAAO,iBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;AAAA,QAC5D,QAAQ,iBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC;AAAA,MACtD,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAA2C;AAC/D,cAAM,EAAE,WAAW,OAAO,OAAO,IAAI;AAErC,cAAM,EAAE,SAAS,WAAW,IAAI,MAAMC,mBAA0B,WAAW,OAAO,MAAM;AA6BxF,cAAM,wBAA2D,QAAQ,IAAI,CAAC,YAAY;AAAA,UACxF,GAAG;AAAA,UACH,iBAAiB,iBAAiB,OAAO,aAAa,CAAC,CAAC;AAAA,QAC1D,EAAE;AAEF,cAAM,UAAU,SAAS,QAAQ;AAEjC,eAAO,EAAE,SAAS,uBAAuB,QAAQ;AAAA,MACnD,CAAC;AAAA,MAEH,cAAc,mBACX,MAAM,iBAAE,OAAO;AAAA,QACd,WAAW,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QACrC,YAAY,iBAAE,OAAO,EAAE,IAAI,GAAG,yBAAyB;AAAA,QACvD,SAAS,iBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,QACtC,WAAW,iBAAE,MAAM,iBAAE,OAAO,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAAA,QACpD,YAAY,iBAAE,MAAM,iBAAE,OAAO,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAAA,MACvD,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAyC;AACrE,cAAM,EAAE,WAAW,YAAY,SAAS,WAAW,WAAW,IAAI;AAClE,cAAM,SAAS,IAAI,KAAK;AAExB,cAAM,UAAU,MAAMF,gBAA4B,SAAS;AAC3D,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,SAAS,qBAAqB,GAAG;AAAA,QAC7C;AAEA,cAAM,YAAY,WAAW,IAAI,UAAQ,2BAA2B,IAAI,CAAC;AACzE,cAAM,YAAY,MAAM,oBAA4B,QAAQ,WAAW,YAAY,SAAS,SAAS;AAqBrG,YAAI,cAAc,WAAW,SAAS,GAAG;AACvC,cAAI;AACF,kBAAM,QAAQ,IAAI,WAAW,IAAI,CAAAG,SAAO,eAAeA,IAAG,CAAC,CAAC;AAAA,UAC9D,SAASC,SAAP;AACA,oBAAQ,MAAM,+BAA+BA,OAAK;AAAA,UAEpD;AAAA,QACF;AAEA,eAAO,EAAE,SAAS,MAAM,QAAQ,UAAU;AAAA,MAC5C,CAAC;AAAA,MAGH,uBAAuB,gBACpB,MAAM,YAA0C;AAE/C,cAAM,oBAAoB,MAAMC,gBAAwB;AAIxD,cAAM,sBAA2C,kBAAkB,IAAI,cAAY;AAAA,UACjF,GAAG;AAAA,UACH,QAAQ,QAAQ,UAAU,CAAC;AAAA,UAC3B,eAAe,CAAC;AAAA,UAChB,cAAc,CAAC;AAAA,QACjB,EAAE;AAEF,eAAO;AAAA,MACT,CAAC;AAAA,IAEL,CAAC;AAAA;AAAA;;;AChND,IA4BaC;AA5Bb,IAAAC,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AAEA;AACA;AACA;AACA;AACA;AAsBO,IAAMF,cAAa,OAAO;AAAA,MAC/B,aAAa,mBACV,MAAM,OAAO,EAAE,IAAI,MAAqC;AACvD,cAAM,SAAS,IAAI,KAAK;AAExB,YAAI,CAAC,QAAQ;AACX,gBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,QAClD;AAEA,cAAM,OAAO,MAAMG,aAAuB,MAAM;AAEhD,YAAI,CAAC,MAAM;AACT,gBAAM,IAAI,SAAS,kBAAkB,GAAG;AAAA,QAC1C;AAGA,cAAM,aAAa,MAAM,sBAA6B,MAAM;AAG5D,cAAM,wBAAwB,YAAY,eACtC,iBAAiB,WAAW,YAAY,IACxC;AAEJ,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,YACJ,MAAM;AAAA,cACJ,IAAI,KAAK;AAAA,cACT,MAAM,KAAK;AAAA,cACX,OAAO,KAAK;AAAA,cACZ,QAAQ,KAAK;AAAA,cACb,cAAc;AAAA,cACd,KAAK,YAAY,OAAO;AAAA,cACxB,aAAa,YAAY,cACrB,IAAI,KAAK,WAAW,WAAkB,EAAE,YAAY,IACpD;AAAA,cACJ,QAAQ,YAAY,UAAU;AAAA,cAC9B,YAAY,YAAY,cAAc;AAAA,YACxC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MAEH,sBAAsB,mBACnB,MAAM,OAAO,EAAE,IAAI,MAA4C;AAC9D,cAAM,SAAS,IAAI,KAAK;AAExB,YAAI,CAAC,QAAQ;AACX,gBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,QAClD;AAEA,cAAM,SAAS,MAAM,iBAAqB,MAAM;AAEhD,YAAI,CAAC,QAAQ;AACX,gBAAM,IAAI,SAAS,kBAAkB,GAAG;AAAA,QAC1C;AAEA,eAAO;AAAA,UACL,YAAY,CAAC,EAAE,OAAO,KAAK,QAAQ,OAAO,KAAK,SAAS,OAAO;AAAA,QACjE;AAAA,MACF,CAAC;AAAA,MAEH,eAAe,gBACZ,MAAM,iBAAE,OAAO,EAAE,OAAO,iBAAE,OAAO,EAAE,CAAC,CAAC,EACrC,SAAS,OAAO,EAAE,OAAO,IAAI,MAA0C;AACtE,cAAM,EAAE,MAAM,IAAI;AAClB,cAAM,SAAS,IAAI,MAAM;AAEzB,YAAI,QAAQ;AAGV,gBAAM,gBAAwB,QAAQ,KAAK;AAC3C,gBAAM,oBAA4B,KAAK;AAAA,QAEzC,OAAO;AAGL,gBAAM,WAAW,MAAM,iBAAyB,KAAK;AACrD,cAAI,UAAU;AACZ,kBAAM,oBAA4B,KAAK;AAAA,UACzC,OAAO;AACL,kBAAM,oBAA4B,KAAK;AAAA,UACzC;AAAA,QACF;AAEA,eAAO,EAAE,SAAS,KAAK;AAAA,MACzB,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACnHD,IAgBM,2BAoBO;AApCb,IAAAC,eAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AAaA,IAAM,4BAA4B,wBAAC,WAA0I;AAC3K,UAAIC,QAAO;AAEX,UAAI,OAAO,iBAAiB;AAC1B,QAAAA,SAAQ,GAAG,OAAO;AAAA,MACpB,WAAW,OAAO,cAAc;AAC9B,QAAAA,SAAQ,SAAI,OAAO;AAAA,MACrB;AAEA,UAAI,OAAO,UAAU;AACnB,QAAAA,SAAQ,0BAAqB,OAAO;AAAA,MACtC;AAEA,UAAI,OAAO,UAAU;AACnB,QAAAA,SAAQ,wBAAmB,OAAO;AAAA,MACpC;AAEA,aAAOA;AAAA,IACT,GAlBkC;AAoB3B,IAAM,mBAAmB,OAAO;AAAA,MACrC,aAAa,mBACV,MAAM,OAAO,EAAE,IAAI,MAA4C;AAC9D,YAAI;AAEJ,gBAAM,SAAS,IAAI,KAAK;AAExB,gBAAM,aAAa,MAAM,8BAAsC,MAAM;AA+BrE,gBAAM,oBAAoB,WAAW,OAAO,YAAU;AACpD,gBAAG,CAAC,OAAO;AAAa,qBAAO;AAC/B,kBAAM,kBAAkB,OAAO,mBAAmB,CAAC;AACnD,mBAAO,gBAAgB,KAAK,CAAAC,QAAMA,IAAG,WAAW,MAAM;AAAA,UACxD,CAAC;AAEA,iBAAO,EAAE,SAAS,MAAM,MAAM,kBAAkB;AAAA,QACnD,SACMC,IAAN;AACE,kBAAQ,IAAIA,EAAC;AACb,gBAAM,IAAI,SAAS,uBAAuB;AAAA,QAC5C;AAAA,MACA,CAAC;AAAA,MAEH,mBAAmB,mBAChB,MAAM,iBAAE,OAAO,EAAE,WAAW,iBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC1D,MAAM,OAAO,EAAE,OAAO,IAAI,MAA4C;AACrE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,UAAU,IAAI;AAGtB,cAAM,aAAa,MAAM,8BAAsC,MAAM;AA+BrE,cAAM,oBAAoB,WAAW,OAAO,YAAU;AACpD,gBAAM,kBAAkB,OAAO,mBAAmB,CAAC;AACnD,gBAAM,iBAAiB,CAAC,OAAO,eAAe,gBAAgB,KAAK,CAAAD,QAAMA,IAAG,WAAW,MAAM;AAE7F,gBAAM,qBAAqB,OAAO,sBAAsB,CAAC;AACzD,gBAAM,oBAAoB,mBAAmB,WAAW,KAAK,mBAAmB,KAAK,CAAAE,QAAMA,IAAG,cAAc,SAAS;AAErH,iBAAO,kBAAkB;AAAA,QAC3B,CAAC;AAED,eAAO,EAAE,SAAS,MAAM,MAAM,kBAAkB;AAAA,MAClD,CAAC;AAAA,MAEH,cAAc,mBACX,MAAM,OAAO,EAAE,IAAI,MAAsC;AACxD,cAAM,SAAS,IAAI,KAAK;AAExB,cAAM,aAAa,MAAM,2BAAmC,MAAM;AAmBlE,cAAM,oBAAoB,WAAW,OAAO,YAAU;AACpD,gBAAM,mBAAmB,CAAC,OAAO;AACjC,gBAAM,kBAAkB,OAAO,mBAAmB,CAAC;AACnD,gBAAM,eAAe,OAAO,iBAAiB,gBAAgB,KAAK,CAAAF,QAAMA,IAAG,WAAW,MAAM;AAC5F,gBAAM,eAAe,CAAC,OAAO,aAAa,IAAI,KAAK,OAAO,SAAS,IAAI,oBAAI,KAAK;AAChF,iBAAO,oBAAoB,gBAAgB;AAAA,QAC7C,CAAC;AAGD,cAAM,kBAAuC,CAAC;AAC9C,cAAM,iBAAsC,CAAC;AAE7C,0BAAkB,QAAQ,YAAU;AAClC,gBAAM,aAAa,OAAO,OAAO;AACjC,gBAAM,YAAY;AAClB,gBAAM,WAAW,QAAQ,OAAO,mBAAmB,cAAc,OAAO,eAAe;AAEvF,gBAAM,gBAAmC;AAAA,YACvC,IAAI,OAAO;AAAA,YACX,MAAM,OAAO;AAAA,YACb,cAAc,OAAO,kBAAkB,eAAe;AAAA,YACtD,eAAe,WAAW,OAAO,mBAAmB,OAAO,gBAAgB,GAAG;AAAA,YAC9E,UAAU,OAAO,WAAW,WAAW,OAAO,QAAQ,IAAI;AAAA,YAC1D,UAAU,OAAO,WAAW,WAAW,OAAO,QAAQ,IAAI;AAAA,YAC1D,aAAa,0BAA0B,MAAM;AAAA,YAC7C,WAAW,OAAO,YAAY,IAAI,KAAK,OAAO,SAAS,IAAI;AAAA,YAC3D;AAAA,YACA,iBAAiB,OAAO,kBAAkB,SAAS,OAAO,gBAAgB,SAAS,CAAC,IAAI;AAAA,YACxF;AAAA,YACA;AAAA,UACF;AAEA,eAAK,OAAO,mBAAmB,CAAC,GAAG,KAAK,CAAAA,QAAMA,IAAG,WAAW,MAAM,KAAK,CAAC,OAAO,eAAe;AAE5F,4BAAgB,KAAK,aAAa;AAAA,UACpC,WAAW,OAAO,eAAe;AAE/B,2BAAe,KAAK,aAAa;AAAA,UACnC;AAAA,QACF,CAAC;AAED,eAAO;AAAA,UACL,SAAS;AAAA,UACT,MAAM;AAAA,YACJ,UAAU;AAAA,YACV,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MAEH,sBAAsB,mBACnB,MAAM,iBAAE,OAAO,EAAE,YAAY,iBAAE,OAAO,EAAE,CAAC,CAAC,EAC1C,SAAS,OAAO,EAAE,OAAO,IAAI,MAAyC;AACrE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,WAAW,IAAI;AAEvB,cAAM,iBAAiB,MAAM,wBAAgC,UAAU;AAYvE,YAAI,CAAC,gBAAgB;AACnB,gBAAM,IAAI,SAAS,2CAA2C,GAAG;AAAA,QACnE;AAGA,YAAI,eAAe,eAAe,QAAQ;AACxC,gBAAM,IAAI,SAAS,yCAAyC,GAAG;AAAA,QACjE;AAEA,cAAM,eAAe,MAAM,qBAA6B,QAAQ,cAAc;AAqC9E,eAAO,EAAE,SAAS,MAAM,QAAQ,aAAa;AAAA,MAC/C,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;ACtRD,IAEa;AAFb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAG;AAEO,IAAM,yBAAN,MAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMlC,aAAa,YAAY,SAAiB,QAAgB;AAAA,MAY1D;AAAA,MAEA,aAAa,oBAAoB,SAAiB,eAAoB,IAAc;AAAA,MAkBpF;AAAA,MAEA,aAAa,eAAe,WAAmB,QAAgB;AAAA,MAK/D;AAAA,MAEA,aAAa,YAAY,UAAkB;AAAA,MAG3C;AAAA,IACF;AAnDa;AAAA;AAAA;;;ACFb,IAuBa;AAvBb,IAAAC,iBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AACA;AACA;AACA;AACA;AACA;AACA;AAiBO,IAAM,gBAAgB,OAAO;AAAA,MAClC,qBAAqB,mBAClB,MAAM,iBAAE,OAAO;AAAA,QACd,SAAS,iBAAE,OAAO;AAAA,MACpB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAyC;AACrE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,QAAQ,IAAI;AAEpB,cAAM,QAAQ,MAAM,aAA4B,SAAS,OAAO,CAAC;AASjE,YAAI,CAAC,OAAO;AACV,gBAAM,IAAI,SAAS,mBAAmB,GAAG;AAAA,QAC3C;AAEC,YAAI,MAAM,WAAW,QAAQ;AAC3B,gBAAM,IAAI,SAAS,iCAAiC,GAAG;AAAA,QACzD;AAGA,cAAM,kBAAkB,MAAM,oBAA4B,SAAS,OAAO,CAAC;AAS3E,YAAI,mBAAmB,gBAAgB,WAAW,WAAW;AAC3D,iBAAO;AAAA,YACJ,iBAAiB,gBAAgB;AAAA,YACjC,KAAK,cAAc;AAAA,UACtB;AAAA,QACF;AAGI,YAAI,MAAM,gBAAgB,MAAM;AAC9B,gBAAM,IAAI,SAAS,0BAA0B,GAAG;AAAA,QAClD;AACA,cAAM,gBAAgB,MAAM,uBAAuB,YAAY,SAAS,OAAO,GAAG,MAAM,WAAW;AACnG,cAAM,uBAAuB,oBAAoB,SAAS,OAAO,GAAG,aAAa;AAEpF,eAAO;AAAA,UACL,iBAAiB;AAAA,UACjB,KAAK,cAAc;AAAA,QACrB;AAAA,MACJ,CAAC;AAAA,MAIH,eAAe,mBACZ,MAAM,iBAAE,OAAO;AAAA,QACd,qBAAqB,iBAAE,OAAO;AAAA,QAC9B,mBAAmB,iBAAE,OAAO;AAAA,QAC5B,oBAAoB,iBAAE,OAAO;AAAA,MAC/B,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAA0C;AACtE,cAAM,EAAE,qBAAqB,mBAAmB,mBAAmB,IAAI;AAGvE,cAAMC,WAAU,IAAI,YAAY;AAChC,cAAM,MAAM,MAAM,OAAO,OAAO;AAAA,UAC9B;AAAA,UACAA,SAAQ,OAAO,kBAAkB,CAAC;AAAA,UAClC,EAAE,MAAM,QAAQ,MAAM,UAAU;AAAA,UAChC;AAAA,UACA,CAAC,MAAM;AAAA,QACT;AACA,cAAM,YAAY,MAAM,OAAO,OAAO;AAAA,UACpC;AAAA,UACA;AAAA,UACAA,SAAQ,OAAO,GAAG,qBAAqB,qBAAqB;AAAA,QAC9D;AACA,cAAM,oBAAoB,MAAM,KAAK,IAAI,WAAW,SAAS,CAAC,EAC3D,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAChD,KAAK,EAAE;AAEV,YAAI,sBAAsB,oBAAoB;AAC5C,gBAAM,IAAI,SAAS,6BAA6B,GAAG;AAAA,QACrD;AAGA,cAAM,iBAAiB,MAAM,4BAAoC,iBAAiB;AASlF,YAAI,CAAC,gBAAgB;AACnB,gBAAM,IAAI,SAAS,4BAA4B,GAAG;AAAA,QACpD;AAGA,cAAM,iBAAiB;AAAA,UACrB,GAAK,eAAe,WAAmB,CAAC;AAAA,UACxC,YAAY;AAAA,UACZ,WAAW;AAAA,QACb;AAEA,cAAM,iBAAiB,MAAM,qBAA6B,mBAAmB,cAAc;AAqB3F,YAAI,CAAC,gBAAgB;AACnB,gBAAM,IAAI,SAAS,4BAA4B,GAAG;AAAA,QACpD;AAEA,cAAM,yBAAiC,eAAe,SAAS,SAAS;AAEvE,eAAO;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,QACX;AAAA,MACF,CAAC;AAAA,MAEH,mBAAmB,mBAChB,MAAM,iBAAE,OAAO;AAAA,QACd,iBAAiB,iBAAE,OAAO;AAAA,MAC5B,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,OAAO,IAAI,MAAwC;AACpE,cAAM,SAAS,IAAI,KAAK;AACxB,cAAM,EAAE,gBAAgB,IAAI;AAG5B,cAAM,UAAU,MAAM,4BAAoC,eAAe;AASzE,YAAI,CAAC,SAAS;AACZ,gBAAM,IAAI,SAAS,qBAAqB,GAAG;AAAA,QAC7C;AAGA,cAAM,QAAQ,MAAM,aAA4B,QAAQ,OAAO;AAS/D,YAAI,CAAC,SAAS,MAAM,WAAW,QAAQ;AACrC,gBAAM,IAAI,SAAS,mCAAmC,GAAG;AAAA,QAC3D;AAGA,cAAM,kBAA0B,QAAQ,EAAE;AAU1C,eAAO;AAAA,UACL,SAAS;AAAA,UACT,SAAS;AAAA,QACX;AAAA,MACF,CAAC;AAAA,IAEL,CAAC;AAAA;AAAA;;;AC3ND,IAKa;AALb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AAEO,IAAM,mBAAmB,OAAO;AAAA,MACrC,oBAAoB,mBACjB,MAAM,iBAAE,OAAO;AAAA,QACd,eAAe,iBAAE,KAAK,CAAC,UAAU,gBAAgB,gBAAgB,aAAa,WAAW,MAAM,CAAC;AAAA,QAChG,WAAW,iBAAE,MAAM,iBAAE,OAAO,CAAC;AAAA,MAC/B,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAyC;AAChE,cAAM,EAAE,eAAe,UAAU,IAAI;AAErC,cAAM,aAAuB,CAAC;AAC9B,cAAM,OAAiB,CAAC;AAExB,mBAAW,YAAY,WAAW;AAEhC,cAAI;AACJ,cAAI,kBAAkB,UAAU;AAC9B,qBAAS;AAAA,UACX,WAAU,kBAAkB,gBAAgB;AAC1C,qBAAS;AAAA,UACX,WAIQ,kBAAkB,gBAAgB;AACxC,qBAAS;AAAA,UACX,WAAW,kBAAkB,aAAa;AACxC,qBAAS;AAAA,UACX,WAAW,kBAAkB,WAAW;AACtC,qBAAS;AAAA,UACX,WAAW,kBAAkB,QAAQ;AACnC,qBAAS;AAAA,UACX,OAAO;AACL,qBAAS;AAAA,UACX;AAEA,gBAAM,YAAY,aAAa,eAAe,SAC5B,aAAa,cAAc,SAC3B,aAAa,cAAc,SAAS;AACtD,gBAAM,MAAM,GAAG,UAAU,KAAK,IAAI,IAAI;AAEtC,cAAI;AACF,kBAAM,YAAY,MAAM,kBAAkB,KAAK,QAAQ;AACvD,uBAAW,KAAK,SAAS;AACzB,iBAAK,KAAK,GAAG;AAAA,UAEf,SAASC,SAAP;AACA,oBAAQ,MAAM,gCAAgCA,OAAK;AACnD,kBAAM,IAAI,SAAS,iCAAiC,GAAG;AAAA,UACzD;AAAA,QACF;AAEA,eAAO,EAAE,WAAW;AAAA,MACtB,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;AC1DD,IAKa;AALb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AAGO,IAAM,aAAa,OAAO;AAAA,MAC/B,gBAAgB,gBACb,MAAM,iBAAE,OAAO;AAAA,QACd,SAAS,iBAAE,OAAO;AAAA,MACpB,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,cAAM,EAAE,QAAQ,IAAI;AAGpB,cAAM,OAAO,MAAM,iBAAiB,OAAO;AAG3C,eAAO;AAAA,UACL,MAAM,KAAK,IAAI,CAAAC,UAAQ;AAAA,YACrB,IAAIA,KAAI;AAAA,YACR,SAASA,KAAI;AAAA,YACb,gBAAgBA,KAAI;AAAA,YACpB,UAAUA,KAAI;AAAA,YACd,YAAYA,KAAI;AAAA,UAClB,EAAE;AAAA,QACJ;AAAA,MACF,CAAC;AAAA,IACL,CAAC;AAAA;AAAA;;;AC3BD,IAgBaC;AAhBb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA,IAAAC;AACA;AACA;AAEO,IAAMb,cAAa,OAAO;AAAA,MAC/B,SAAS;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,WAAWc;AAAA,MACX,OAAOC;AAAA,MACP,SAASC;AAAA,MACT,OAAO;AAAA,MACP,MAAMhB;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,MAAM;AAAA,IACR,CAAC;AAAA;AAAA;;;AC/BD,IAYa;AAZb,IAAAiB,eAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA;AACA;AACA;AACA;AACA;AAQO,IAAM,YAAY,OAAO;AAAA,MAC9B,OAAO,gBACJ,MAAM,iBAAE,OAAO,EAAE,MAAM,iBAAE,OAAO,EAAE,CAAC,CAAC,EACpC,MAAM,CAAC,EAAE,MAAM,MAAM;AACpB,eAAO,EAAE,UAAU,SAAS,MAAM,QAAQ;AAAA,MAC5C,CAAC;AAAA,MACH,OAAO;AAAA,MACP,MAAMC;AAAA,MACN,QAAQ;AAAA,IACV,CAAC;AAAA;AAAA;;;ACrBD;AAAA;AAAA;AAAA;AAAA,IAWa;AAXb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC;AAAA,IAAAC;AACA;AACA,IAAAC;AACA,IAAAD;AACA;AACA;AACA,IAAAE;AACA;AACA;AACA;AAEO,IAAM,YAAY,6BAAM;AAC7B,YAAM,MAAM,IAAIC,MAAK;AAGrB,UAAI,IAAI,KAAK;AAAA,QACX,QAAQ;AAAA,QACR,cAAc,CAAC,OAAO,QAAQ,OAAO,SAAS,UAAU,SAAS;AAAA,QACjE,cAAc,CAAC,UAAU,oBAAoB,gBAAgB,UAAU,eAAe;AAAA,QACtF,aAAa;AAAA,MACf,CAAC,CAAC;AAGF,UAAI,IAAIC,QAAO,CAAC;AAGhB,UAAI,IAAI,eAAe,WAAW;AAAA,QAChC,QAAQ;AAAA,QACR,eAAe,OAAO,EAAE,IAAI,MAAM;AAChC,cAAI,OAAO;AACX,cAAI,YAAY;AAChB,gBAAM,aAAa,IAAI,QAAQ,IAAI,eAAe;AAElD,cAAI,YAAY,WAAW,SAAS,GAAG;AACrC,kBAAM,QAAQ,WAAW,UAAU,CAAC;AACpC,gBAAI;AACF,oBAAM,EAAE,QAAQ,IAAI,MAAM,UAAU,OAAO,oBAAoB,CAAC;AAChE,oBAAM,UAAU;AAGhB,kBAAI,QAAQ,SAAS;AAEnB,sBAAM,QAAQ,MAAM,iBAAiB,QAAQ,OAAO;AAEpD,oBAAI,OAAO;AACT,yBAAO;AACP,8BAAY;AAAA,oBACV,IAAI,MAAM;AAAA,oBACV,MAAM,MAAM;AAAA,kBACd;AAAA,gBACF;AAAA,cACF,OAAO;AAEL,uBAAO;AAGP,sBAAM,YAAY,MAAM,gBAAgB,KAAK,MAAM;AAEnD,oBAAI,WAAW;AACb,wBAAM,IAAI,UAAU;AAAA,oBAClB,MAAM;AAAA,oBACN,SAAS;AAAA,kBACX,CAAC;AAAA,gBACH;AAAA,cACF;AAAA,YACF,SAAS,KAAP;AAAA,YAEF;AAAA,UACF;AACA,iBAAO,EAAE,KAAK,MAAM,UAAU;AAAA,QAChC;AAAA,QACA,QAAQ,EAAE,OAAAC,SAAO,MAAM,MAAM,IAAI,GAAG;AAClC,kBAAQ,MAAM,0BAAmB;AAAA,YAC/B;AAAA,YACA;AAAA,YACA,MAAMA,QAAM;AAAA,YACZ,SAASA,QAAM;AAAA,YACf,QAAQ,KAAK,MAAM;AAAA,YACnB,OAAOA,QAAM;AAAA,UACf,CAAC;AAAA,QACH;AAAA,MACF,CAAC,CAAC;AAGF,UAAI,MAAM,QAAQ,mBAAU;AAG5B,UAAI,QAAQ,CAAC,KAAKC,OAAM;AACtB,gBAAQ,MAAM,GAAG;AAEjB,YAAI,SAAS;AACb,YAAIC,WAAU;AAEd,YAAI,eAAe,WAAW;AAE5B,gBAAM,gBAAwC;AAAA,YAC5C,aAAa;AAAA,YACb,cAAc;AAAA,YACd,WAAW;AAAA,YACX,WAAW;AAAA,YACX,SAAS;AAAA,YACT,UAAU;AAAA,YACV,qBAAqB;AAAA,YACrB,mBAAmB;AAAA,YACnB,sBAAsB;AAAA,YACtB,uBAAuB;AAAA,YACvB,mBAAmB;AAAA,YACnB,uBAAuB;AAAA,UACzB;AACA,mBAAS,cAAc,IAAI,IAAI,KAAK;AACpC,UAAAA,WAAU,IAAI;AAAA,QAChB,WAAY,IAAY,YAAY;AAClC,mBAAU,IAAY;AACtB,UAAAA,WAAU,IAAI;AAAA,QAChB,WAAY,IAAY,QAAQ;AAC9B,mBAAU,IAAY;AACtB,UAAAA,WAAU,IAAI;AAAA,QAChB,WAAW,IAAI,SAAS;AACtB,UAAAA,WAAU,IAAI;AAAA,QAChB;AAEA,eAAOD,GAAE,KAAK,EAAE,SAAAC,SAAQ,GAAG,MAAa;AAAA,MAC1C,CAAC;AAED,aAAO;AAAA,IACT,GAlHyB;AAAA;AAAA;;;ACXzB;AAAA;AAAA;AAAA;AAAAC;;;ACAA;AAAA;AAAA;AAAA;AAAAC;;;ACAA;AAAA;AAAA;AAAA;AAAAC;;;ACAA;AAAA;AAAA;AAAA;AAAAC;AAAA,IAAAC,gBAAkB;AAClB;AAEA,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAGrB,IAAM,eAAN,MAAmB;AAAA,EAChB;AAAA,EAER,YAAY,OAAY;AACtB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,MAAM,MAAM,SAAqC;AAC/C,UAAMC,OAAM,IAAI,IAAI,QAAQ,GAAG;AAC/B,QAAI,QAAQ,WAAW,UAAUA,KAAI,aAAa,aAAa;AAC7D,YAAM,MAAM,KAAK,IAAI;AACrB,YAAM,KAAK,MAAM,QAAQ,IAAI,kBAAkB,GAAG;AAClD,YAAM,cAAU,cAAAC,SAAM,GAAG,EAAE,IAAI,qBAAqB,QAAQ,EAAE,QAAQ;AACtE,YAAM,KAAK,MAAM,QAAQ,SAAS,OAAO;AACzC,aAAO,IAAI,SAAS,IAAI;AAAA,IAC1B;AACA,QAAI,QAAQ,WAAW,UAAUD,KAAI,aAAa,UAAU;AAC1D,YAAM,KAAK,MAAM,QAAQ,UAAU;AACnC,aAAO,IAAI,SAAS,IAAI;AAAA,IAC1B;AAEA,WAAO,IAAI,SAAS,sBAAsB,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC3D;AAAA,EAEA,MAAM,QAAuB;AAC3B,UAAM,cAAc,MAAM,KAAK,MAAM,QAAQ,IAAI,gBAAgB;AACjE,QAAI,CAAC,aAAa;AAChB;AAAA,IACF;AAEA,UAAM,gBAAY,cAAAC,SAAM,EAAE,SAAS,qBAAqB,QAAQ;AAChE,YAAI,cAAAA,SAAM,WAAW,EAAE,SAAS,SAAS,GAAG;AAC1C,YAAM,oBAAoB;AAAA,IAC5B;AAAA,EACF;AACF;AAnCa;;;ACPb;AAAA;AAAA;AAAA;AAAAC;AAAA;AACA;AAEO,IAAM,mBAAmB,wBAAC,UAAe;AAC9C,QAAM,SAAS,QAAQ,CAACC,aAAiB;AACvC,UAAM,OAAOA,UAAS;AACtB,QAAI,CAAC,MAAM;AACT,cAAQ,IAAI,8CAA8C;AAC1D;AAAA,IACF;AAEA,QAAI,KAAK,SAAS,6BAA6B,KAAK,SAAS,OAAO;AAClE,WAAK,sBAAsB;AAAA,QACzB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,KAAK,QAAQ;AAAA,QACpB,MAAM,KAAK,QAAQ;AAAA,QACnB,UAAU,KAAK,QAAQ,YAAY;AAAA,MACrC,CAAC;AACD;AAAA,IACF;AAEA,YAAQ,IAAI,gCAAgC,IAAI;AAAA,EAClD,CAAC;AACH,GApBgC;AAsBzB,IAAM,yBAAyB,8BAAO,UAAe;AAC1D,aAAWA,YAAW,MAAM,YAAY,CAAC,GAAG;AAC1C,UAAM,OAAOA,UAAS;AACtB,QAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,KAAK,QAAQ,GAAG;AAC1C,cAAQ,IAAI,uCAAuC,IAAI;AACvD;AAAA,IACF;AAEA,UAAM,kBAAkB,KAAK,QAAQ;AAAA,EACvC;AACF,GAVsC;AAY/B,IAAM,4BAA4B,8BAAO,UAAe;AAC7D,aAAWA,YAAW,MAAM,YAAY,CAAC,GAAG;AAC1C,UAAM,OAAOA,UAAS;AACtB,QAAI,CAAC,QAAQ,CAAC,KAAK,SAAS;AAC1B,cAAQ,IAAI,0CAA0C,IAAI;AAC1D;AAAA,IACF;AAEA,UAAM,qBAAqB;AAAA,MACzB,SAAS,KAAK;AAAA,MACd,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA,MACb,aAAa,KAAK;AAAA,IACpB,CAAC;AAAA,EACH;AACF,GAfyC;;;AFvBzC,IAAO,iBAAQ;AAAA,EACb,MAAM,MACJ,SACAC,MAaA,KACA;AACA;AAAC,IAAC,WAAmB,MAAMA;AAC3B,UAAM,EAAE,WAAAC,WAAU,IAAI,MAAM;AAC5B,UAAM,EAAE,QAAAC,QAAO,IAAI,MAAM;AACzB,QAAIF,KAAI,IAAI;AACV,MAAAE,QAAOF,KAAI,EAAE;AAAA,IACf;AACA,UAAM,MAAMC,WAAU;AACtB,WAAO,IAAI,MAAM,SAASD,MAAK,GAAG;AAAA,EACpC;AAAA,EACA,MAAM,MACJ,OACAA,MAWA;AACA,QAAI,OAAO,UAAU,eAAe;AAClC,uBAAiB,KAAK;AACtB;AAAA,IACF;AAEA,QAAI,OAAO,UAAU,sBAAsB;AACzC,YAAM,uBAAuB,KAAK;AAClC;AAAA,IACF;AAEA,QAAI,OAAO,UAAU,yBAAyB;AAC5C,YAAM,0BAA0B,KAAK;AACrC;AAAA,IACF;AAEA,qBAAiB,KAAK;AAAA,EACxB;AACF;;;AGxEA;AAAA;AAAA;AAAA;AAAAG;AAEA,IAAM,YAAwB,8BAAO,SAASC,MAAK,MAAM,kBAAkB;AAC1E,MAAI;AACH,WAAO,MAAM,cAAc,KAAK,SAASA,IAAG;AAAA,EAC7C,UAAE;AACD,QAAI;AACH,UAAI,QAAQ,SAAS,QAAQ,CAAC,QAAQ,UAAU;AAC/C,cAAM,SAAS,QAAQ,KAAK,UAAU;AACtC,eAAO,EAAE,MAAM,OAAO,KAAK,GAAG,MAAM;AAAA,QAAC;AAAA,MACtC;AAAA,IACD,SAASC,IAAP;AACD,cAAQ,MAAM,4CAA4CA,EAAC;AAAA,IAC5D;AAAA,EACD;AACD,GAb8B;AAe9B,IAAO,6CAAQ;;;ACjBf;AAAA;AAAA;AAAA;AAAAC;AASA,SAAS,YAAYC,IAAmB;AACvC,SAAO;AAAA,IACN,MAAMA,IAAG;AAAA,IACT,SAASA,IAAG,WAAW,OAAOA,EAAC;AAAA,IAC/B,OAAOA,IAAG;AAAA,IACV,OAAOA,IAAG,UAAU,SAAY,SAAY,YAAYA,GAAE,KAAK;AAAA,EAChE;AACD;AAPS;AAUT,IAAM,YAAwB,8BAAO,SAASC,MAAK,MAAM,kBAAkB;AAC1E,MAAI;AACH,WAAO,MAAM,cAAc,KAAK,SAASA,IAAG;AAAA,EAC7C,SAASD,IAAP;AACD,UAAME,UAAQ,YAAYF,EAAC;AAC3B,WAAO,SAAS,KAAKE,SAAO;AAAA,MAC3B,QAAQ;AAAA,MACR,SAAS,EAAE,+BAA+B,OAAO;AAAA,IAClD,CAAC;AAAA,EACF;AACD,GAV8B;AAY9B,IAAO,2CAAQ;;;ALzBJ,IAAM,mCAAmC;AAAA,EAE9B;AAAA,EAAyB;AAC3C;AACA,IAAO,sCAAQ;;;AMVnB;AAAA;AAAA;AAAA;AAAAC;AAwBA,IAAM,wBAAsC,CAAC;AAKtC,SAAS,uBAAuB,MAAqC;AAC3E,wBAAsB,KAAK,GAAG,KAAK,KAAK,CAAC;AAC1C;AAFgB;AAShB,SAAS,uBACR,SACAC,MACA,KACA,UACA,iBACsB;AACtB,QAAM,CAAC,MAAM,GAAG,IAAI,IAAI;AACxB,QAAM,gBAAmC;AAAA,IACxC;AAAA,IACA,KAAK,YAAY,QAAQ;AACxB,aAAO,uBAAuB,YAAY,QAAQ,KAAK,UAAU,IAAI;AAAA,IACtE;AAAA,EACD;AACA,SAAO,KAAK,SAASA,MAAK,KAAK,aAAa;AAC7C;AAfS;AAiBF,SAAS,kBACf,SACAA,MACA,KACA,UACA,iBACsB;AACtB,SAAO,uBAAuB,SAASA,MAAK,KAAK,UAAU;AAAA,IAC1D,GAAG;AAAA,IACH;AAAA,EACD,CAAC;AACF;AAXgB;;;AP3ChB,IAAM,iCAAN,MAAoE;AAAA,EAGnE,YACU,eACA,MACT,SACC;AAHQ;AACA;AAGT,SAAK,WAAW;AAAA,EACjB;AAAA,EARS;AAAA,EAUT,UAAU;AACT,QAAI,EAAE,gBAAgB,iCAAiC;AACtD,YAAM,IAAI,UAAU,oBAAoB;AAAA,IACzC;AAEA,SAAK,SAAS;AAAA,EACf;AACD;AAlBM;AAoBN,SAAS,oBAAoB,QAA0C;AAEtE,MACC,qCAAqC,UACrC,iCAAiC,WAAW,GAC3C;AACD,WAAO;AAAA,EACR;AAEA,aAAWC,eAAc,kCAAkC;AAC1D,wBAAoBA,WAAU;AAAA,EAC/B;AAEA,QAAM,kBAA+C,gCACpD,SACAC,MACA,KACC;AACD,QAAI,OAAO,UAAU,QAAW;AAC/B,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC9D;AACA,WAAO,OAAO,MAAM,SAASA,MAAK,GAAG;AAAA,EACtC,GATqD;AAWrD,SAAO;AAAA,IACN,GAAG;AAAA,IACH,MAAM,SAASA,MAAK,KAAK;AACxB,YAAM,aAAyB,gCAAU,MAAM,MAAM;AACpD,YAAI,SAAS,eAAe,OAAO,cAAc,QAAW;AAC3D,gBAAM,aAAa,IAAI;AAAA,YACtB,KAAK,IAAI;AAAA,YACT,KAAK,QAAQ;AAAA,YACb,MAAM;AAAA,YAAC;AAAA,UACR;AACA,iBAAO,OAAO,UAAU,YAAYA,MAAK,GAAG;AAAA,QAC7C;AAAA,MACD,GAT+B;AAU/B,aAAO,kBAAkB,SAASA,MAAK,KAAK,YAAY,eAAe;AAAA,IACxE;AAAA,EACD;AACD;AAxCS;AA0CT,SAAS,qBACR,OAC8B;AAE9B,MACC,qCAAqC,UACrC,iCAAiC,WAAW,GAC3C;AACD,WAAO;AAAA,EACR;AAEA,aAAWD,eAAc,kCAAkC;AAC1D,wBAAoBA,WAAU;AAAA,EAC/B;AAGA,SAAO,cAAc,MAAM;AAAA,IAC1B,mBAAyE,CACxE,SACAC,MACA,QACI;AACJ,WAAK,MAAMA;AACX,WAAK,MAAM;AACX,UAAI,MAAM,UAAU,QAAW;AAC9B,cAAM,IAAI,MAAM,sDAAsD;AAAA,MACvE;AACA,aAAO,MAAM,MAAM,OAAO;AAAA,IAC3B;AAAA,IAEA,cAA0B,CAAC,MAAM,SAAS;AACzC,UAAI,SAAS,eAAe,MAAM,cAAc,QAAW;AAC1D,cAAM,aAAa,IAAI;AAAA,UACtB,KAAK,IAAI;AAAA,UACT,KAAK,QAAQ;AAAA,UACb,MAAM;AAAA,UAAC;AAAA,QACR;AACA,eAAO,MAAM,UAAU,UAAU;AAAA,MAClC;AAAA,IACD;AAAA,IAEA,MAAM,SAAwD;AAC7D,aAAO;AAAA,QACN;AAAA,QACA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,MACN;AAAA,IACD;AAAA,EACD;AACD;AAnDS;AAqDT,IAAI;AACJ,IAAI,OAAO,wCAAU,UAAU;AAC9B,kBAAgB,oBAAoB,mCAAK;AAC1C,WAAW,OAAO,wCAAU,YAAY;AACvC,kBAAgB,qBAAqB,mCAAK;AAC3C;AACA,IAAO,kCAAQ;", + "names": ["init_performance", "init_performance", "PerformanceMark", "e", "init_performance", "init_performance", "init_performance", "init_performance", "clear", "count", "countReset", "createTask", "debug", "dir", "dirxml", "error", "group", "groupCollapsed", "groupEnd", "info", "log", "profile", "profileEnd", "table", "time", "timeEnd", "timeLog", "timeStamp", "trace", "warn", "init_console", "init_performance", "init_console", "init_performance", "hrtime", "init_performance", "Socket", "init_performance", "dir", "x", "y", "env", "count", "init_performance", "init_performance", "cwd", "hrtime", "assert", "init_process", "init_performance", "init_process", "init_performance", "init_performance", "t", "e", "n", "r", "i", "s", "u", "a", "o", "c", "f", "h", "d", "l", "y", "M", "m", "v", "g", "D", "p", "S", "w", "O", "b", "$", "k", "init_performance", "error", "init_performance", "_a", "init_performance", "message", "config", "p", "init_performance", "table", "_a", "init_performance", "_a", "init_performance", "table", "config", "_a", "init_performance", "_a", "init_performance", "config", "table", "init_performance", "table", "_a", "init_performance", "i", "value", "startFrom", "array", "init_performance", "_a", "init_performance", "config", "as", "table", "ref", "actions", "range", "v", "a", "_a", "init_performance", "table", "config", "_a", "init_performance", "sql", "version", "init_performance", "init_performance", "version", "otel", "rawTracer", "e", "init_performance", "param", "p", "_a", "init_performance", "config", "i", "decoder", "encoder", "sql", "raw", "placeholder", "name", "SQL", "result", "decoder", "table", "a", "b", "init_utils", "init_performance", "_a", "init_table", "init_performance", "_a", "init_performance", "init_table", "table", "c", "v", "max", "init_performance", "init_performance", "init_performance", "relations", "primaryKey", "table", "config", "f", "decoder", "_a", "init_performance", "table", "c", "_a", "init_performance", "_a", "init_performance", "config", "_a", "init_performance", "_a", "ForeignKeyBuilder", "ForeignKey", "init_foreign_keys", "init_performance", "config", "table", "uniqueKeyName", "table", "_a", "UniqueConstraintBuilder", "UniqueOnConstraintBuilder", "UniqueConstraint", "init_unique_constraint", "init_performance", "_a", "init_common", "init_performance", "init_foreign_keys", "init_unique_constraint", "as", "config", "table", "ref", "actions", "ForeignKeyBuilder", "uniqueKeyName", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "_a", "init_performance", "init_common", "table", "a", "b", "config", "_a", "init_performance", "init_utils", "init_common", "table", "init_performance", "name", "InlineForeignKeys", "table", "_a", "init_table", "init_performance", "_a", "init_performance", "table", "_a", "init_performance", "table", "config", "config", "PrimaryKeyBuilder", "_a", "PrimaryKey", "init_primary_keys", "init_performance", "init_table", "table", "table", "init_utils", "init_performance", "init_table", "_a", "init_performance", "init_table", "init_utils", "table", "i", "_a", "init_performance", "table", "_a", "init_performance", "message", "count", "init_performance", "init_performance", "init_performance", "init_sql", "init_performance", "init_performance", "init_common", "_a", "init_performance", "_a", "init_performance", "init_sql", "init_table", "init_utils", "config", "i", "w", "table", "set", "c", "f", "select", "sql", "joinOn", "field", "e", "_a", "init_performance", "_a", "init_select", "init_performance", "init_utils", "config", "table", "on", "_a", "init_query_builder", "init_performance", "init_select", "as", "self", "_a", "init_performance", "init_table", "init_utils", "init_query_builder", "table", "config", "init_performance", "_a", "init_performance", "init_table", "init_utils", "table", "set", "on", "init_performance", "init_query_builder", "init_select", "_a", "init_performance", "_a", "init_performance", "table", "config", "_a", "init_performance", "_a", "init_performance", "self", "as", "table", "config", "sql", "encoder", "b", "_a", "init_performance", "_key", "init_performance", "init_alias", "init_performance", "_a", "init_performance", "cache", "e", "sql", "init_subquery", "init_performance", "_a", "init_performance", "init_utils", "init_query_builder", "init_table", "config", "init_performance", "init_alias", "init_foreign_keys", "init_primary_keys", "init_subquery", "init_table", "init_unique_constraint", "init_utils", "k", "_a", "init_session", "init_performance", "init_utils", "builtQuery", "i", "config", "logger", "cache", "config", "logger", "db", "_a", "init_performance", "init_session", "init_performance", "init_session", "init_performance", "init_performance", "init_sql", "init_utils", "raw", "date", "numeric", "record", "init_performance", "init_performance", "t", "init_performance", "init_performance", "c", "init_performance", "init_performance", "constants", "c", "record", "init_performance", "init_performance", "u", "init_performance", "record", "tag", "group", "init_performance", "group", "getStringArray", "init_performance", "i", "init_performance", "init_performance", "count", "init_performance", "mapVendorSnippet", "mapDeliverySlot", "init_performance", "init_performance", "init_performance", "getStringArray", "getProductById", "init_performance", "init_complaint", "init_performance", "getStringArray", "init_performance", "getStringArray", "getProductReviews", "getProductById", "init_product", "init_performance", "init_slots", "init_performance", "init_performance", "email", "getUserByMobile", "error", "init_performance", "init_coupon", "init_performance", "getUserById", "init_user", "init_performance", "getProductById", "updateOrderNotes", "init_order", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "staffRoles", "staffPermissions", "staffRolePermissions", "permission", "keyValStore", "init_performance", "init_performance", "init_complaint", "init_product", "init_slots", "init_coupon", "init_user", "init_order", "init_performance", "getProductById", "getUserByMobile", "getProductReviews", "getUserById", "updateOrderNotes", "init_performance", "CONST_KEYS", "CONST_KEYS_ARRAY", "init_const_keys", "init_performance", "init_performance", "init_const_keys", "constants", "error", "c", "CONST_KEYS_ARRAY", "init_performance", "init_performance", "init_performance", "init_auth", "init_performance", "HttpAuthLocation", "init_performance", "HttpApiKeyAuthLocation", "init_performance", "init_performance", "init_performance", "init_performance", "init_auth", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "EndpointURLScheme", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_checksum", "init_performance", "AlgorithmId", "init_performance", "init_performance", "init_extensions", "init_performance", "init_checksum", "init_performance", "init_performance", "FieldPosition", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_identity", "init_performance", "init_logger", "init_performance", "init_performance", "init_performance", "init_performance", "IniSectionType", "init_performance", "init_performance", "init_schema", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "RequestHandlerProtocol", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_auth", "init_extensions", "init_identity", "init_logger", "init_schema", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "e", "init_dist_es", "init_performance", "init_performance", "ChecksumAlgorithm", "ChecksumLocation", "init_performance", "init_performance", "init_performance", "feature", "init_performance", "context", "feature", "init_performance", "init_performance", "init_client", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_utils", "init_performance", "init_performance", "init_dist_es", "init_utils", "context", "config", "identity", "error", "init_performance", "init_dist_es", "init_utils", "identity", "config", "init_performance", "init_performance", "init_performance", "init_getSmithyContext", "init_performance", "context", "init_performance", "init_dist_es", "init_performance", "init_getSmithyContext", "init_performance", "map", "init_performance", "init_dist_es", "config", "context", "init_performance", "config", "init_performance", "init_performance", "init_performance", "init_dist_es", "error", "config", "context", "identity", "init_performance", "config", "init_performance", "normalizeProvider", "init_normalizeProvider", "init_performance", "config", "init_performance", "init_performance", "i", "c", "init_performance", "i", "j", "k", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "i", "j", "k", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_dist_es", "encoder", "transform", "error", "init_performance", "i", "logger", "size", "s", "init_performance", "init_performance", "init_performance", "init_performance", "c", "init_performance", "init_dist_es", "init_performance", "i", "init_dist_es", "init_performance", "url", "init_performance", "init_performance", "abortError", "init_performance", "init_dist_es", "requestTimeout", "url", "body", "config", "blob", "base64", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "i", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "blob", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "context", "c", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "config", "context", "n", "t", "i", "o", "error", "e", "k", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "url", "hostname", "init_performance", "init_dist_es", "init_endpoints", "init_performance", "init_performance", "init_endpoints", "init_dist_es", "config", "context", "n", "t", "i", "o", "config", "init_performance", "Schema", "init_performance", "init_performance", "Schema", "init_performance", "Schema", "init_performance", "Schema", "init_performance", "Schema", "init_performance", "i", "init_performance", "init_performance", "i", "ns", "k", "v", "z", "init_performance", "Schema", "init_sentinels", "init_performance", "init_performance", "k", "v", "r", "registry", "init_schema", "init_performance", "init_sentinels", "init_performance", "init_performance", "message", "s", "date", "year", "init_performance", "match", "day", "time", "init_performance", "init_performance", "i", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_performance", "LazyJsonString", "object", "init_performance", "v", "max", "time", "RFC3339_WITH_OFFSET", "IMF_FIXDATE", "RFC_850_DATE", "ASC_TIME", "init_performance", "date", "sign", "day", "year", "hour", "minute", "i", "init_performance", "init_performance", "z", "i", "v", "init_performance", "string", "object", "init_serde", "init_performance", "init_performance", "init_performance", "init_dist_es", "member", "init_performance", "init_performance", "init_schema", "init_dist_es", "k", "v", "member", "EventStreamSerde", "context", "init_performance", "init_schema", "init_serde", "init_dist_es", "context", "isStreaming", "member", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_schema", "init_serde", "init_dist_es", "format", "init_performance", "init_schema", "init_dist_es", "toString", "init_performance", "init_schema", "init_serde", "init_dist_es", "format", "init_performance", "init_schema", "init_performance", "init_requestBuilder", "init_performance", "setFeature", "context", "feature", "init_setFeature", "init_performance", "init_performance", "config", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "isIdentityExpired", "identity", "init_performance", "init_dist_es", "init_performance", "init_normalizeProvider", "init_requestBuilder", "init_setFeature", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "config", "normalizeProvider", "init_constants", "init_performance", "init_performance", "init_dist_es", "init_constants", "hash", "init_performance", "init_constants", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_constants", "i", "init_performance", "init_dist_es", "HEADER_VALUE_TYPE", "number", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_constants", "init_performance", "init_dist_es", "init_constants", "value", "serialized", "init_performance", "time", "init_performance", "init_dist_es", "hash", "init_performance", "init_dist_es", "init_constants", "hash", "promise", "init_performance", "init_dist_es", "init_performance", "init_constants", "config", "normalizeProvider", "init_performance", "init_client", "init_dist_es", "init_performance", "init_httpAuthSchemes", "init_performance", "init_performance", "i", "init_dist_es", "init_performance", "init_performance", "a", "b", "debug", "middleware", "entry", "context", "init_dist_es", "init_performance", "init_client", "init_performance", "init_dist_es", "config", "cb", "handlers", "init_collect_stream_body", "init_performance", "object", "member", "init_performance", "init_schema", "init_command", "init_performance", "init_dist_es", "logger", "cb", "operation", "init_constants", "init_performance", "init_performance", "commands", "Client", "cb", "command", "paginators", "waiters", "config", "init_performance", "v", "k", "message", "init_performance", "init_performance", "init_emitWarningIfUnsupportedVersion", "init_performance", "init_extended_encode_uri_component", "init_performance", "init_checksum", "init_performance", "init_retry", "init_performance", "init_defaultExtensionConfiguration", "init_performance", "init_checksum", "init_retry", "config", "init_extensions", "init_performance", "init_defaultExtensionConfiguration", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_resolve_path", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_client", "init_collect_stream_body", "init_command", "init_constants", "init_emitWarningIfUnsupportedVersion", "init_extended_encode_uri_component", "init_extensions", "init_resolve_path", "init_serde", "init_performance", "init_schema", "init_dist_es", "m", "registry", "e", "error", "Error", "k", "v", "init_performance", "init_performance", "init_performance", "init_performance", "k", "v", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "hasChildren", "c", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_schema", "buffer", "v", "value", "union", "e", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_schema", "init_serde", "k", "v", "array", "container", "map", "format", "init_performance", "init_performance", "init_schema", "context", "message", "member", "init_protocols", "init_performance", "init_dist_es", "init_performance", "init_client", "init_httpAuthSchemes", "init_protocols", "init_performance", "init_performance", "hasHeader", "init_performance", "init_performance", "init_performance", "init_dist_es", "P", "e", "t", "f", "y", "g", "n", "v", "o", "s", "m", "i", "init_performance", "fromUtf8", "init_fromUtf8_browser", "init_performance", "init_toUint8Array", "init_performance", "init_fromUtf8_browser", "init_toUtf8_browser", "init_performance", "init_dist_es", "init_performance", "init_fromUtf8_browser", "init_toUint8Array", "init_toUtf8_browser", "fromUtf8", "init_performance", "init_dist_es", "init_performance", "init_performance", "a_lookUpTable", "init_performance", "init_performance", "init_performance", "init_module", "AwsCrc32c", "init_module", "init_performance", "Crc32c", "init_performance", "table", "i", "j", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_module", "AwsCrc32", "lookupTable", "Crc32", "init_performance", "init_module", "init_types", "init_performance", "init_performance", "init_module", "init_dist_es", "init_types", "config", "init_performance", "init_dist_es", "hash", "init_performance", "init_dist_es", "config", "context", "getAwsChunkedEncodingStream", "hasHeader", "e", "init_performance", "init_dist_es", "config", "context", "init_performance", "init_types", "init_performance", "number", "init_performance", "init_performance", "init_dist_es", "config", "logger", "error", "init_performance", "init_dist_es", "config", "context", "init_performance", "config", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_performance", "context", "logger", "error", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "context", "message", "init_performance", "init_dist_es", "init_performance", "config", "context", "e", "context", "e", "init_performance", "init_performance", "init_dist_es", "config", "context", "e", "init_performance", "init_performance", "init_performance", "cache", "identity", "error", "init_constants", "init_performance", "init_performance", "init_dist_es", "init_constants", "init_performance", "init_dist_es", "init_constants", "context", "init_performance", "defaultErrorHandler", "defaultSuccessHandler", "init_performance", "init_dist_es", "error", "config", "context", "identity", "init_performance", "init_performance", "collectBody", "init_performance", "init_dist_es", "config", "context", "init_dist_es", "init_performance", "context", "e", "init_performance", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "normalizeProvider", "logger", "init_performance", "init_dist_es", "init_performance", "i", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "message", "init_performance", "init_EndpointRuleObject", "init_performance", "init_ErrorRuleObject", "init_performance", "init_RuleSetObject", "init_performance", "init_TreeRuleObject", "init_performance", "init_shared", "init_performance", "init_types", "init_performance", "init_EndpointRuleObject", "init_ErrorRuleObject", "init_RuleSetObject", "init_TreeRuleObject", "init_shared", "init_performance", "init_performance", "init_types", "init_performance", "init_types", "init_performance", "not", "init_performance", "init_performance", "hostname", "protocol", "url", "k", "v", "error", "init_performance", "init_performance", "init_performance", "c", "init_performance", "init_performance", "not", "init_performance", "init_performance", "group", "init_performance", "init_types", "argv", "init_performance", "init_performance", "init_types", "init_performance", "init_performance", "init_types", "group", "init_performance", "init_types", "init_performance", "init_types", "error", "init_performance", "url", "init_performance", "init_types", "error", "group", "init_performance", "init_types", "init_utils", "init_performance", "init_performance", "init_types", "init_utils", "logger", "v", "k", "init_dist_es", "init_performance", "init_types", "init_isIpAddress", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_isIpAddress", "init_performance", "partition", "init_performance", "partition", "init_performance", "init_dist_es", "init_performance", "init_resolveEndpoint", "init_performance", "init_EndpointError", "init_performance", "init_EndpointRuleObject", "init_performance", "init_ErrorRuleObject", "init_performance", "init_RuleSetObject", "init_performance", "init_TreeRuleObject", "init_performance", "init_shared", "init_performance", "init_types", "init_performance", "init_EndpointError", "init_EndpointRuleObject", "init_ErrorRuleObject", "init_RuleSetObject", "init_TreeRuleObject", "init_shared", "init_dist_es", "init_performance", "init_isIpAddress", "init_resolveEndpoint", "init_types", "init_config", "init_performance", "RETRY_MODES", "init_constants", "init_performance", "init_dist_es", "init_performance", "init_constants", "error", "init_performance", "init_dist_es", "t", "init_constants", "init_performance", "init_performance", "init_constants", "init_performance", "init_constants", "init_performance", "init_config", "init_constants", "error", "init_performance", "init_config", "init_performance", "init_types", "init_performance", "init_dist_es", "init_performance", "init_config", "init_constants", "init_types", "context", "config", "identity", "init_performance", "init_dist_es", "init_constants", "init_performance", "features", "init_performance", "init_performance", "init_dist_es", "init_constants", "context", "version", "config", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_config", "init_performance", "init_performance", "init_dist_es", "check", "init_performance", "init_performance", "init_performance", "init_performance", "init_config", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_performance", "CONTENT_LENGTH_HEADER", "error", "init_dist_es", "init_performance", "init_performance", "partition", "init_performance", "init_performance", "config", "hostname", "init_performance", "toEndpointV1", "init_toEndpointV1", "init_performance", "init_dist_es", "init_performance", "init_toEndpointV1", "context", "toEndpointV1", "init_performance", "init_toEndpointV1", "init_performance", "init_dist_es", "config", "context", "setFeature", "init_performance", "init_performance", "serializerMiddlewareOption", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "serializerMiddlewareOption", "config", "init_performance", "init_dist_es", "init_toEndpointV1", "toEndpointV1", "init_performance", "init_types", "init_performance", "init_dist_es", "init_performance", "init_types", "init_performance", "init_performance", "init_util", "init_performance", "error", "init_StandardRetryStrategy", "init_performance", "init_AdaptiveRetryStrategy", "init_performance", "init_configurations", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_util", "context", "isRequest", "e", "error", "init_dist_es", "init_performance", "init_AdaptiveRetryStrategy", "init_StandardRetryStrategy", "init_configurations", "init_performance", "init_performance", "init_dist_es", "init_dist_es", "init_performance", "init_performance", "init_performance", "init_dist_es", "context", "config", "context", "init_performance", "init_dist_es", "defaultEndpointResolver", "s", "name", "init_performance", "init_performance", "init_dist_es", "init_errors", "init_performance", "init_performance", "init_schema", "init_errors", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "fromUtf8", "init_fromUtf8_browser", "init_performance", "init_toUint8Array", "init_performance", "init_fromUtf8_browser", "init_toUtf8_browser", "init_performance", "init_dist_es", "init_performance", "init_fromUtf8_browser", "init_toUint8Array", "init_toUtf8_browser", "isEmptyData", "init_isEmptyData", "init_performance", "init_constants", "init_performance", "init_dist_es", "init_performance", "convertToBuffer", "fromUtf8", "init_performance", "init_dist_es", "init_isEmptyData", "init_constants", "Sha1", "isEmptyData", "window", "subtle", "getRandomValues", "init_module", "init_performance", "Sha1", "init_performance", "init_module", "init_dist_es", "init_module", "init_performance", "init_constants", "init_performance", "init_performance", "init_constants", "init_dist_es", "Sha256", "init_constants", "init_performance", "init_performance", "init_constants", "RawSha256", "i", "_a", "u", "t1", "t2", "Sha256", "init_constants", "e", "i", "init_module", "init_performance", "Sha256", "init_performance", "init_module", "init_dist_es", "init_module", "init_performance", "init_dist_es", "init_performance", "config", "navigator", "negate", "i", "Int64", "init_performance", "init_dist_es", "number", "HEADER_VALUE_TYPE", "UUID_PATTERN", "init_performance", "init_dist_es", "toUtf8", "fromUtf8", "Int64", "init_performance", "init_module", "init_performance", "init_module", "toUtf8", "fromUtf8", "message", "init_performance", "init_performance", "init_performance", "init_performance", "message", "init_performance", "init_dist_es", "init_performance", "iterator", "init_performance", "toUtf8", "message", "error", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_utils", "init_performance", "iterator", "EventStreamMarshaller", "isReadableStream", "init_EventStreamMarshaller", "init_performance", "init_dist_es", "init_utils", "init_provider", "init_performance", "init_EventStreamMarshaller", "EventStreamMarshaller", "init_dist_es", "init_performance", "init_EventStreamMarshaller", "init_provider", "init_utils", "blob", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "blobHasher", "blob", "hash", "init_performance", "init_performance", "message", "init_dist_es", "init_performance", "BLOCK_SIZE", "DIGEST_LENGTH", "INIT", "init_constants", "init_performance", "q", "a", "b", "x", "s", "t", "c", "d", "isEmptyData", "convertToBuffer", "init_dist_es", "init_performance", "init_constants", "BLOCK_SIZE", "i", "DIGEST_LENGTH", "INIT", "init_constants", "init_performance", "init_performance", "init_dist_es", "init_constants", "navigator", "init_dist_es", "init_performance", "init_performance", "init_dist_es", "init_protocols", "config", "getRuntimeConfig", "init_performance", "init_module", "init_dist_es", "config", "Sha1", "Sha256", "init_extensions", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_extensions", "init_performance", "config", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_schema", "getRuntimeConfig", "config", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "hash", "init_dist_es", "init_performance", "config", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_dist_es", "init_performance", "config", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "Command", "cs", "config", "o", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_waiter", "init_performance", "WaiterState", "init_performance", "init_waiter", "max", "message", "state", "reason", "init_performance", "init_utils", "init_performance", "init_performance", "init_utils", "init_waiter", "promise", "finalize", "aborted", "init_dist_es", "init_performance", "init_waiter", "init_performance", "init_dist_es", "checkState", "init_performance", "init_dist_es", "checkState", "init_performance", "init_dist_es", "checkState", "init_performance", "init_dist_es", "init_performance", "init_dist_es", "init_performance", "init_performance", "init_pagination", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_dist_es", "init_performance", "init_pagination", "init_errors", "hostname", "init_dist_es", "init_performance", "UNSIGNED_PAYLOAD", "SHA256_HEADER", "init_constants", "init_performance", "init_performance", "init_dist_es", "init_constants", "SHA256_HEADER", "UNSIGNED_PAYLOAD", "init_performance", "init_dist_es", "context", "presigned", "init_dist_es", "init_performance", "init_performance", "env", "error", "domain", "url", "u", "init_performance", "init_dist_es", "s3Client", "s", "tag", "error", "getProductById", "productSlots", "d", "t", "getAllProducts", "specialDeals", "productTags", "init_performance", "tag", "p", "error", "init_performance", "error", "s", "pid", "init_performance", "error", "init_performance", "init_performance", "isArrayBuffer", "i", "l", "_key", "merge", "G", "isReadableStream", "toCamelCase", "init_utils", "init_performance", "cache", "prototype", "e", "context", "a", "b", "filter", "m", "hasOwnProperty", "define", "cb", "init_performance", "init_utils", "error", "config", "message", "init_performance", "i", "init_performance", "init_utils", "match", "init_performance", "toString", "encoder", "_encode", "encode", "url", "_encode", "init_performance", "init_utils", "init_performance", "init_utils", "h", "init_performance", "init_performance", "init_performance", "init_performance", "init_performance", "init_utils", "init_performance", "init_performance", "init_utils", "init_performance", "init_utils", "match", "i", "init_performance", "init_utils", "parser", "encoder", "e", "init_performance", "init_utils", "isFormData", "isFileList", "transitional", "init_performance", "init_utils", "i", "parser", "match", "context", "filter", "w", "init_performance", "init_utils", "self", "parser", "i", "format", "prototype", "config", "context", "transform", "init_performance", "init_utils", "init_performance", "init_performance", "message", "config", "validateStatus", "init_performance", "url", "match", "init_performance", "i", "init_performance", "flush", "init_performance", "init_performance", "init_utils", "e", "init_performance", "origin", "url", "init_performance", "init_utils", "domain", "match", "url", "init_performance", "init_performance", "init_performance", "config2", "config", "a", "b", "merge", "init_performance", "init_utils", "init_performance", "init_utils", "config", "init_performance", "init_utils", "config", "transitional", "init_performance", "init_utils", "aborted", "signal", "init_performance", "iterator", "e", "done", "isFunction", "ReadableStream", "TextEncoder", "init_performance", "init_utils", "Request", "Response", "e", "env", "encoder", "config", "url", "flush", "fetch", "i", "map", "config", "adapter", "i", "s", "init_performance", "init_utils", "e", "config", "adapter", "init_performance", "init_performance", "i", "init_performance", "version", "message", "desc", "validators", "init_performance", "init_utils", "config", "e", "transitional", "promise", "i", "error", "url", "init_performance", "i", "promise", "message", "config", "abort", "c", "init_performance", "init_performance", "init_utils", "init_performance", "context", "init_performance", "init_utils", "Axios", "AxiosError", "CanceledError", "isCancel", "CancelToken", "VERSION", "all", "isAxiosError", "spread", "toFormData", "AxiosHeaders", "HttpStatusCode", "getAdapter", "mergeConfig", "init_axios", "init_performance", "obj1: TType", "newObj: TType", "isObject", "value: unknown", "isFunction", "fn: unknown", "it: T", "signals: AbortSignal[]", "ac", "TRPC_ERROR_CODES_BY_NUMBER: InvertKeyValue<\n typeof TRPC_ERROR_CODES_BY_KEY\n>", "retryableRpcCodes: TRPC_ERROR_CODE_NUMBER[]", "fn: () => TValue", "callback: ProxyCallback", "path: readonly string[]", "memo: Record", "memo", "noop", "code: keyof typeof TRPC_ERROR_CODES_BY_KEY", "json: TRPCResponse | TRPCResponse[]", "json", "isObject", "error: TRPCError", "error", "opts: {\n config: RootConfig;\n error: TRPCError;\n type: ProcedureType | 'unknown';\n path: string | undefined;\n input: unknown;\n ctx: TRoot['ctx'] | undefined;\n}", "config", "shape: DefaultErrorShape", "JSONRPC2_TO_HTTP_CODE: Record<\n keyof typeof TRPC_ERROR_CODES_BY_KEY,\n number\n>", "obj: object", "_typeof", "o", "toPrimitive", "t", "r", "e", "i", "toPropertyKey", "cause: unknown", "isObject", "transformer: DataTransformerOptions", "config: RootConfig", "item: TResponseItem", "config", "itemOrItems: TResponse", "once", "fn: () => T", "result: T | typeof uncalled", "input: unknown", "value: unknown", "config: RootConfig", "input: TInput", "v", "procedures: Record", "lazy: Record>", "opts: {\n ref: Lazy;\n path: readonly string[];\n key: string;\n aggregate: RouterRecord;\n }", "router", "lazy", "from: CreateRouterOptions", "path: readonly string[]", "aggregate: RouterRecord", "record", "_def: AnyRouter['_def']", "router: BuiltRouter", "procedureOrRouter: ValueOf", "router: Pick, '_def'>", "path: string", "key", "router: Pick, '_def'>", "ctx: Context | undefined", "isFunction", "r", "defaultFormatter: ErrorFormatter", "defaultTransformer: CombinedDataTransformer", "opts: {\n message?: string;\n code: TRPC_ERROR_CODE_KEY;\n cause?: unknown;\n }", "message", "middlewares: AnyMiddlewareFunction[]", "fn: MiddlewareFunction<\n TContext,\n TMeta,\n object,\n $ContextOverrides,\n TInputOut\n >", "parse: ParseFn", "inputMiddleware: AnyMiddlewareFunction", "parsedInput: ReturnType", "parse", "isObject", "parse: ParseFn", "outputMiddleware: AnyMiddlewareFunction", "procedureParser: Parser", "parser", "def1: AnyProcedureBuilderDef", "def2: Partial", "meta", "import_objectSpread2$1", "initDef: Partial", "_def: AnyProcedureBuilderDef", "builder: AnyProcedureBuilder", "output: Parser", "builder", "resolver: ProcedureResolver", "_defIn: AnyProcedureBuilderDef & { type: ProcedureType }", "resolver: AnyResolver", "_def: AnyProcedure['_def']", "index: number", "opts: ProcedureCallOptions", "middleware", "_nextOpts?: any", "opts: ProcedureCallOptions", "isServerDefault: boolean", "issues: ReadonlyArray", "r", "e", "t", "n", "_objectWithoutProperties", "o", "i", "s", "TRPCBuilder", "opts?: ValidateShape>", "config: RootConfig<$Root>", "isServer: boolean", "config", "init_performance", "t", "createCallerFactory", "init_performance", "duration", "error", "getAllProducts", "init_common", "init_performance", "isNumber", "j", "e", "f", "h", "Q", "hh", "i", "n", "init_util", "init_performance", "ax", "ay", "bx", "by", "cx", "cy", "c", "_i", "t1", "t0", "u3", "B", "u", "D", "init_performance", "init_util", "bc", "ca", "ab", "u", "init_performance", "init_util", "bc", "ca", "ab", "aa", "bb", "cc", "u", "v", "abt", "bct", "cat", "_8", "_16", "fin", "fin2", "init_performance", "init_util", "ab", "bc", "cd", "ac", "bd", "ce", "_8", "_8b", "_16", "_48", "fin", "init_performance", "init_util", "init_performance", "p", "polygon", "i", "ii", "k", "f", "u2", "v2", "x", "y", "init_esm", "init_performance", "point", "polygon", "i", "init_esm", "init_esm", "initializer", "i", "k", "_a", "config", "init_core", "init_performance", "assert", "extend", "isObject", "isPlainObject", "merge", "_x", "v", "k", "array", "set", "match", "object", "i", "chars", "o", "cl", "a", "b", "Class", "x", "_a", "message", "config", "t", "base64", "base64url", "hex", "init_util", "init_performance", "F", "error", "issue", "i", "_a", "a", "b", "init_errors", "init_performance", "init_core", "init_util", "encode", "init_performance", "init_core", "init_errors", "init_util", "_Err", "e", "config", "bigint", "date", "domain", "integer", "time", "init_performance", "init_util", "version", "init_checks", "init_performance", "init_core", "init_util", "_a", "origin", "inst", "integer", "result", "init_performance", "x", "F", "version", "init_performance", "base64", "c", "k", "t", "r", "config", "a", "b", "isPlainObject", "f", "init_performance", "init_checks", "init_core", "init_util", "_a", "version", "ch", "checks", "checkResult", "canary", "result", "_", "v", "url", "date", "time", "bigint", "isDate", "i", "desc", "isObject", "allowsEval", "o", "p", "results", "map", "left", "right", "keyResult", "valueResult", "output", "x", "F", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "count", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "t", "e", "origin", "issue", "v", "be", "error", "init_performance", "init_util", "origin", "issue", "count", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "init_performance", "error", "init_performance", "init_util", "origin", "issue", "number", "error", "init_performance", "init_util", "text", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "count", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "init_performance", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "error", "init_performance", "init_util", "origin", "issue", "init_performance", "_a", "init_performance", "meta", "p", "f", "Class", "_emoji", "_undefined", "_null", "ch", "v", "issue", "codec", "format", "init_performance", "init_checks", "init_util", "process", "_a", "meta", "id", "schema", "init_performance", "registry", "ctx", "process", "init_performance", "init_util", "json", "format", "v", "file", "m", "x", "i", "a", "b", "init_performance", "process", "init_performance", "core_exports", "_emoji", "_null", "_undefined", "config", "encode", "process", "version", "init_core", "init_performance", "init_errors", "init_checks", "init_util", "checks_exports", "init_checks", "init_performance", "init_core", "date", "datetime", "duration", "time", "init_performance", "init_core", "init_schemas", "initializer", "init_errors", "init_performance", "init_core", "init_util", "issue", "issues", "parse", "parseAsync", "safeParse", "safeParseAsync", "encode", "decode", "encodeAsync", "decodeAsync", "safeEncode", "safeDecode", "safeEncodeAsync", "safeDecodeAsync", "init_parse", "init_performance", "init_core", "init_errors", "schemas_exports", "_default", "base64", "base64url", "bigint", "boolean", "_catch", "check", "cidrv4", "cidrv6", "cuid", "cuid2", "date", "describe", "e164", "email", "emoji", "_enum", "guid", "hex", "hostname", "ipv4", "ipv6", "ksuid", "lazy", "mac", "meta", "nanoid", "_null", "nullish", "number", "string", "ulid", "_undefined", "union", "uuid", "_void", "xid", "_emoji", "format", "k", "v", "ch", "init_schemas", "init_performance", "init_core", "init_checks", "init_parse", "def", "parse", "safeParse", "parseAsync", "safeParseAsync", "encode", "decode", "encodeAsync", "decodeAsync", "safeEncode", "safeDecode", "safeEncodeAsync", "safeDecodeAsync", "cl", "json", "datetime", "time", "duration", "c", "issue", "output", "map", "config", "init_performance", "init_core", "ZodFirstPartyTypeKind", "z", "zodSchema", "v", "t", "format", "objectSchema", "i", "s", "version", "init_performance", "init_checks", "init_schemas", "schemas_exports", "checks_exports", "bigint", "boolean", "date", "number", "string", "init_performance", "init_core", "init_schemas", "_default", "base64", "base64url", "bigint", "boolean", "_catch", "check", "cidrv4", "cidrv6", "config", "core_exports", "cuid", "cuid2", "date", "decode", "decodeAsync", "describe", "e164", "email", "emoji", "encode", "encodeAsync", "_enum", "guid", "hex", "hostname", "ipv4", "ipv6", "ksuid", "lazy", "mac", "meta", "nanoid", "_null", "nullish", "number", "parse", "parseAsync", "safeDecode", "safeDecodeAsync", "safeEncode", "safeEncodeAsync", "safeParse", "safeParseAsync", "string", "ulid", "_undefined", "union", "uuid", "_void", "xid", "init_performance", "init_core", "init_schemas", "init_checks", "init_errors", "init_parse", "init_performance", "init_performance", "init_performance", "message", "CONST_KEYS", "polygon", "init_performance", "init_common", "init_esm", "init_const_keys", "point", "error", "tag", "init_stores", "init_performance", "dayjs", "a", "b", "init_slots", "init_performance", "init_banners", "init_performance", "init_types", "init_performance", "init_shared", "init_performance", "init_types", "error", "init_retry", "init_performance", "Buffer", "version", "error", "e", "init_performance", "init_axios", "init_common", "init_stores", "init_slots", "init_banners", "init_shared", "init_retry", "init_performance", "error", "env", "AbortController", "Headers", "Request", "Response", "fetch", "init_performance", "init_performance", "k", "init_performance", "libDefault", "init_performance", "init_performance", "count", "run", "error", "map", "e", "init_performance", "init_performance", "self", "i", "error", "message", "count", "init_performance", "i", "a", "b", "original", "require_retry", "init_performance", "init_performance", "operation", "number", "url", "e", "message", "json", "text", "error", "Expo", "init_performance", "message", "env", "init_performance", "title", "message", "error", "init_performance", "init_performance", "init_axios", "message", "error", "init_performance", "message", "error", "fallback", "init_performance", "middleware", "context", "i", "init_performance", "init_constants", "init_performance", "init_performance", "all", "init_performance", "routePath", "match", "i", "j", "decoder", "url", "v", "a", "init_performance", "init_constants", "raw", "text", "init_performance", "context", "c", "init_performance", "k", "v", "v2", "text", "object", "init_performance", "init_constants", "init_performance", "init_performance", "init_constants", "c", "handlers", "p", "m", "clone", "r", "url", "env", "context", "init_performance", "a", "b", "Node", "init_performance", "context", "k", "c", "init_performance", "Node", "i", "m", "j", "i", "j", "handlers", "h", "e", "map", "k", "middleware", "a", "b", "init_router", "init_performance", "p", "m", "r", "init_performance", "init_router", "init_performance", "init_router", "init_router", "init_performance", "i", "router", "i2", "e", "init_performance", "init_router", "Node", "init_node", "init_performance", "_Node", "m", "i", "p", "v", "a", "i2", "j", "k", "b", "init_router", "init_performance", "init_node", "Node", "i", "init_performance", "init_router", "Hono", "init_performance", "init_dist", "init_performance", "init_performance", "defaults", "origin", "c", "set", "process", "navigator", "init_performance", "log", "time", "logger", "init_logger", "init_performance", "v", "logger2", "c", "url", "x: unknown", "x", "observable: Observable", "signal: AbortSignal", "unsub: Unsubscribable | null", "error", "observable", "iterator: AsyncIterator", "iterator", "parsed: unknown", "isObject", "_key", "str: string", "headers: Headers", "t", "fn: () => Promise", "promise: Promise | null", "value: TReturn | typeof sym", "_promise", "promise", "req: Request", "handler", "opts: GetRequestInfoOptions", "error: unknown", "error", "message", "o: unknown", "o", "isPlainObject", "promise: TPromise", "resolve!: PromiseWithResolvers[\"resolve\"]", "reject!: PromiseWithResolvers[\"reject\"]", "arr: readonly T[]", "member: T", "member", "index: number", "member: unknown", "thing: T", "dispose: () => void", "dispose: () => Promise", "ms: number", "timer: ReturnType | null", "iterable: AsyncIterable", "iterator", "_x", "_x2", "iterable: AsyncIterable", "opts: {\n count: number;\n gracePeriodMs: number;\n }", "result: null | IteratorResult | typeof disposablePromiseTimerResult", "count", "resolve: (value: TValue) => void", "reject: (error: unknown) => void", "iterable: AsyncIterable", "onResult: (result: ManagedIteratorResult) => void", "state: 'idle' | 'pending' | 'done'", "iterables: AsyncIterable[]", "buffer: Array<\n [\n iterator: ManagedIterator,\n result: Exclude<\n ManagedIteratorResult,\n { status: 'return' }\n >,\n ]\n >", "iterable: AsyncIterable", "errors: unknown[]", "iterable: AsyncIterable", "iterable: AsyncIterable", "pingIntervalMs: number", "result:\n | null\n | IteratorResult\n | typeof disposablePromiseTimerResult", "value: unknown", "isFunction", "opts: JSONLProducerOptions", "callback: (idx: ChunkIndex) => AsyncIterable", "iterable", "promise: Promise", "path: (string | number)[]", "encode", "iterable: AsyncIterable", "encodeAsync", "newObj: Record", "asyncValues: ChunkDefinition[]", "newHead: Head", "iterable: AsyncIterable", "opts: SSEStreamProducerOptions", "ping: Required", "client: SSEClientOptions", "iterable: AsyncIterable", "value: null | TIteratorValue", "chunk: null | SSEvent", "controller: TransformStreamDefaultController", "err: TRPCError", "signal: AbortSignal", "initOpts: {\n ctx: inferRouterContext | undefined;\n info: TRPCRequestInfo | undefined;\n responseMeta?: HTTPBaseHandlerOptions['responseMeta'];\n untransformedJSON:\n | TRPCResponse>\n | TRPCResponse>[]\n | null;\n errors: TRPCError[];\n headers: Headers;\n}", "info", "meta", "v", "cause: unknown", "errorOpts: {\n opts: Pick<\n ResolveHTTPRequestOptions,\n 'onError' | 'req' | 'router'\n >;\n ctx: inferRouterContext | undefined;\n type: ProcedureType | 'unknown';\n path?: string;\n input?: unknown;\n }", "router", "v: unknown", "opts: ResolveHTTPRequestOptions", "config", "url", "infoTuple: ResultTuple", "ctxManager: ContextManager", "result: ResultTuple<$Context> | undefined", "data: unknown", "res: TRPCResponse>", "headResponse", "import_objectSpread2", "responseBody: ReadableStream", "results: RPCResult[]", "jsonContentTypeHandler: ContentTypeHandler", "formDataContentTypeHandler: ContentTypeHandler", "octetStreamContentTypeHandler: ContentTypeHandler", "TYPE_ACCEPTED_METHOD_MAP: Record", "TYPE_ACCEPTED_METHOD_MAP_WITH_METHOD_OVERRIDE: Record<\n ProcedureType,\n HTTPMethods[]\n>", "inputs: unknown", "result: InputRecord", "acc: InputRecord", "import_objectSpread2$1", "type: ProcedureType | 'unknown'", "info: TRPCRequestInfo", "Unpromise", "arg: Promise | PromiseLike | PromiseExecutor", "promise: Promise", "unsubscribe: () => void", "onfulfilled?:\n | ((value: T) => TResult1 | PromiseLike)\n | null", "onrejected?:\n | ((reason: any) => TResult2 | PromiseLike)\n | null", "onrejected?:\n | ((reason: any) => TResult | PromiseLike)\n | null", "onfinally?: (() => void) | null", "promise: PromiseLike", "cached", "value: T | PromiseLike", "values: Iterable>", "promises: readonly TPromise[]", "r", "e", "n", "d", "s", "OverloadYield", "_awaitAsyncGenerator", "_wrapAsyncGenerator", "u", "i", "settle", "_asyncIterator", "AsyncFromSyncIterator", "_asyncGeneratorDelegate", "opts: FetchHandlerRequestOptions", "createContext: ResolveHTTPRequestOptionsContextFn", "import_objectSpread2", "url", "o", "meta", "v", "path: string", "init_performance", "init_constants", "c", "c", "t", "p", "i", "encode", "string", "init_performance", "i", "init_performance", "decode", "encode", "init_performance", "hash", "init_performance", "init_performance", "init_errors", "init_performance", "message", "init_performance", "decode", "init_performance", "isObject", "init_performance", "hash", "init_performance", "init_errors", "init_performance", "init_errors", "decode", "cache", "init_performance", "cached", "hash", "init_performance", "init_errors", "s", "init_performance", "init_performance", "isObject", "decode", "encode", "k", "init_performance", "init_errors", "init_verify", "init_performance", "init_errors", "year", "isObject", "max", "init_performance", "init_errors", "date", "jwt", "init_verify", "init_performance", "init_errors", "init_performance", "init_errors", "encode", "k", "init_sign", "init_performance", "init_sign", "init_performance", "init_errors", "init_performance", "init_verify", "init_sign", "init_performance", "error", "c", "router", "init_performance", "init_dist", "Hono", "init_performance", "init_common", "c", "error", "router", "init_performance", "init_dist", "Hono", "router", "commonRouter", "init_performance", "init_dist", "Hono", "router", "init_performance", "init_dist", "Hono", "router", "init_performance", "init_dist", "Hono", "c", "init_performance", "c", "error", "router", "init_performance", "init_dist", "Hono", "c", "init_complaint", "init_performance", "c", "import_dayjs", "init_coupon", "init_performance", "dayjs", "au", "ap", "error", "init_performance", "init_order", "init_performance", "orders", "e", "import_dayjs", "init_vendor_snippets", "init_performance", "e", "sum", "p", "dayjs", "slotsRouter", "init_slots", "init_performance", "e", "init_product", "init_performance", "url", "group", "m", "tag", "init_performance", "sign", "verify", "hash", "init_node", "init_performance", "init_constants", "init_performance", "init_crypto", "init_performance", "init_constants", "init_node", "randomUUID", "subtle", "webcrypto", "init_crypto", "init_performance", "hash", "sign", "verify", "randomBytes", "callback", "nextTick", "hash", "salt", "unknown", "i", "string", "c", "k", "b", "off", "s", "o", "P", "S", "n", "l", "r", "j", "err", "encodeBase64", "decodeBase64", "init_performance", "init_crypto", "init_staff_user", "init_performance", "init_store", "init_performance", "e", "error", "init_payments", "init_performance", "bannerRouter", "init_banner", "init_performance", "error", "e", "init_user", "init_performance", "count", "u", "o", "s", "c", "title", "text", "t", "error", "init_const", "init_performance", "init_const_keys", "constants", "CONST_KEYS", "c", "init_performance", "init_complaint", "init_coupon", "init_order", "init_vendor_snippets", "init_slots", "init_product", "init_staff_user", "init_store", "init_payments", "init_banner", "init_user", "init_const", "slotsRouter", "bannerRouter", "url", "error", "init_performance", "init_axios", "init_address", "init_performance", "init_performance", "init_auth", "init_performance", "getUserByMobile", "email", "init_cart", "init_performance", "sum", "getProductById", "complaintRouter", "init_complaint", "init_performance", "orderRouter", "init_order", "init_performance", "init_common", "constants", "CONST_KEYS", "getProductById", "sum", "i", "orderStatus", "u", "e", "updateOrderNotes", "import_dayjs", "productRouter", "init_product", "init_performance", "getProductById", "dayjs", "getProductReviews", "url", "error", "getAllProducts", "userRouter", "init_user", "init_performance", "getUserById", "init_coupon", "init_performance", "desc", "au", "e", "ap", "init_performance", "init_payments", "init_performance", "encoder", "init_performance", "error", "init_performance", "tag", "userRouter", "init_performance", "init_address", "init_auth", "init_banners", "init_cart", "init_complaint", "init_order", "init_product", "init_slots", "init_user", "init_coupon", "init_payments", "init_stores", "complaintRouter", "orderRouter", "productRouter", "init_router", "init_performance", "userRouter", "init_performance", "init_dist", "init_logger", "init_router", "Hono", "logger", "error", "c", "message", "init_performance", "init_performance", "init_performance", "init_performance", "import_dayjs", "url", "dayjs", "init_performance", "message", "env", "createApp", "initDb", "init_performance", "env", "e", "init_performance", "e", "env", "error", "init_performance", "env", "middleware", "env"] +} diff --git a/apps/backend/migrated.sql b/apps/backend/migrated.sql index 599265a..2c69216 100644 --- a/apps/backend/migrated.sql +++ b/apps/backend/migrated.sql @@ -63,7 +63,7 @@ INSERT INTO addresses VALUES(55,64,1,'Sayeed Pasha','9985383270','Goal masjid ', INSERT INTO addresses VALUES(56,65,1,'Mahesh','9381637374','Beside Dl Narayana tuitions','Panchowrastha','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-27T11:28:27.599Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(57,54,0,'Abdul ahad ','9849759289','Veernapet shareef calony ','Fz water plant patel masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-27T11:43:53.572Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(58,66,1,'Faizan ','9618791714','Near farooq masjid ','Bk reddy colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T01:30:42.348Z',NULL,16.760255999999998266,77.993515000000002146,NULL); -INSERT INTO addresses VALUES(59,6,1,'TANVEER ','9346436140','BN REDDY COLONY ','BESIDE PASULA KISTA REDDY FUNCTION HALL ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T06:33:17.478Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(59,6,1,'TANVEER ','9346436140','BN REDDY COLONY ','BESIDE PASULA KISTA REDDY FUNCTION HALL ','Mahabubnagar','Telangana','509001',16.738604999999999733,78.002030000000006637,'2026-01-28T06:33:17.478Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(60,58,0,'Mohd Bilal','9603333080','Edira road before masjid-e-soulath','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T10:39:59.776Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(63,1,0,'Saniya Shaik','9676651496','Noor Nagar, Nawabpet Road','Near FCI Godown','Mahabubnagar','Telangana','509001',37.785834999999998728,-122.40641999999999356,'2026-01-29T14:11:38.999Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(65,1,0,'John Wick','9676651496','Noor Nagar','Mahabubnagar','Mahabubnagar','Telangana','509001',16.731055999999999706,78.011049999999997339,'2026-01-29T14:54:04.995Z',NULL,NULL,NULL,'https://maps.app.goo.gl/B3X3kkkgXdp6YbGW9'); @@ -129,7 +129,7 @@ INSERT INTO addresses VALUES(130,149,1,'Moulali ','8519862344','Rayeesa masjid ' INSERT INTO addresses VALUES(131,156,0,'Arshed','9381371156','H.no4-2, beside wisdom school ','Ramaiah Bowli ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T23:58:56.880Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(132,99,1,'Saniya','7893499520','H.No: 4-2-7/2a Tayyabnagar Ramaiyah bowli ','Near Almas function hall opp lane ','Mahabubnagar','Telangana','509001',16.740355999999998459,77.991410000000005453,'2026-02-19T01:03:59.675Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(133,159,0,'Mohd.Mujahid','9182114853','14-107/2,suncity colony','Sheshadrinagar,near masjid e razzaq ','Mahabubnagar','Telangana','509001',16.742678000000001503,78.006249999999992539,'2026-02-19T03:40:34.252Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(134,160,1,'Mohmmed pro','9642417025','50','Ibadur raheman masjed opposite road Shiva Shakti road iron shop opposite ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T03:49:45.149Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(134,160,1,'Mohmmed pro','9642417025','50','Ibadur raheman masjed opposite road Shiva Shakti road iron shop opposite ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T03:49:45.149Z',NULL,16.738261999999998863,77.995590000000003527,NULL); INSERT INTO addresses VALUES(135,151,0,'Anjum','9346508676','H۔No:6-5-57/10 Habeeb nagar ','Beside Hanan masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T04:09:11.514Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(136,4,0,'Saniya','8688326100','Marlu , near Ali tower ','','Mahabubnagar','Telangana','509001',16.741472000000001685,78.011610000000004561,'2026-02-19T04:16:33.494Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(137,162,0,'Shaik Hussain','6302798105','Zehra School Noori Nagar','Masjid a noore Ilahi','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T05:08:26.454Z',NULL,NULL,NULL,NULL); @@ -143,7 +143,7 @@ INSERT INTO addresses VALUES(144,170,0,'Raheel','9901294914','1-10-79/B, ShahSah INSERT INTO addresses VALUES(145,176,0,'Arshad Ali','9885578647','14-8-120 Near Masjid e Mustafa','Marlu','Mahabubnagar','Telangana','509001',16.743597000000001173,78.010283999999998627,'2026-02-20T06:01:46.916Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(146,163,0,'farhana begum','7032026589','Marlu , employes colony mbnr','Road no. 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T07:20:46.386Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(147,181,1,'Khaled ','9885252564','1-10-87/3/A','1-10-87/3/A','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T13:34:13.988Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(148,184,1,'Shazia ','9160481161','Near puchamma temple bk reddy colony ','Near puchamma temple bk reddy colony ','Mahabubnagar','Telangana','509001',16.742122999999999422,78.0064849999999943,'2026-02-20T22:47:32.316Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(148,184,0,'Shazia ','9160481161','Near puchamma temple bk reddy colony ','Near puchamma temple bk reddy colony ','Mahabubnagar','Telangana','509001',16.742122999999999422,78.0064849999999943,'2026-02-20T22:47:32.316Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(149,186,0,'Faiz ul Rahman ','9550541366','Masdoos Nagar ','','Mahabubnagar','Telangana','509001',16.732306999999999597,77.990759999999994533,'2026-02-21T03:45:12.460Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(150,187,0,'Mohd Fasi','9703691566','Habeebnagar ','Near Narmada Honda Showroom ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-21T05:40:59.163Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(151,189,0,'Chintu','8019231723','Road no 6B','BHAGEERATHA colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-21T13:02:30.211Z',NULL,NULL,NULL,NULL); @@ -169,10 +169,70 @@ INSERT INTO addresses VALUES(170,225,0,'Akheel ','9666426396','3-3-48','Nagar ma INSERT INTO addresses VALUES(171,226,0,'Anas Affuaf ','9391479179','Near Taiba masjid Ramaiah bowli ','Mahabubnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T08:32:01.241Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(172,228,1,'Abdur rahman','9966138248','Plot 22 Opp children''s park last lane z and z colony ','1 town back side alis mart colony','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T22:39:52.264Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(173,229,1,'Abdul kaleem','9885575791','5-4-85/f/14/2','Opposite Amena masjid tayyab nagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T01:41:59.722Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(174,230,0,'Mehreen','9398645142','Opposite to bright school, marlu','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T01:44:03.723Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(174,230,1,'Mehreen','9398645142',' Near Shabana manzil, SBI road, palkonda','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T01:44:03.723Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(175,219,1,'Naseer','7569573638','5-3-71/2/C masdoos nagar near gouds colony','','Mahabubnagar','Telangana','509001',16.735652999999999224,77.989829999999997767,'2026-02-24T02:55:23.438Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(176,158,0,'Shabana ','9381289050','Wisdom school near','Ramaiah bowli','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T04:02:06.921Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(176,158,0,'Shabana ','9381289050','Wisdom school near','Ramaiah bowli','Mahabubnagar','Telangana','509001',16.73895600000000261,77.992580000000000239,'2026-02-24T04:02:06.921Z',NULL,NULL,NULL,NULL); INSERT INTO addresses VALUES(177,232,1,'Sultan bahiyal','9059525115','Adjcent to laxmi tiffin centre, old hospital road, madina masjid ','','Mahabubnagar','Telangana','509001',16.74373200000000228,77.985489999999995092,'2026-02-24T14:51:10.955Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(178,220,1,'Riyan','7993421951','New mothi nagar mahabubnagar 7993421951 telangana,','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-25T05:03:21.449Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(179,233,0,'Suleman ','8341126404','T.d gutta ,fire station ','Nailbowli , durdkhna , Raju chiranm','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-25T06:52:06.311Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(180,235,1,'Arshad','9985040417','Bk redd6 colony ','Umar Farooq masjid muzammil kiranam','Mahabubnagar','Telangana','509001',16.73972699999999758,78.007990000000004826,'2026-02-25T14:51:02.252Z',NULL,NULL,NULL,'https://maps.app.goo.gl/MMJjLnD4cfQvMdjP6'); +INSERT INTO addresses VALUES(181,236,1,'Rumaan shaikh ','7842596309','6-3-36/C near mehrunissa masjid habeebnagar mahabubnagar ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-25T15:57:40.106Z',NULL,16.730063999999997825,77.98601999999999812,NULL); +INSERT INTO addresses VALUES(182,238,0,'Saud hasan ','8374782337','Shah Sahab Gutta','Shah sahab gutta A1 chicken centre galli','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-26T05:14:35.960Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(183,239,1,'Raheel','9703794486','HNo. 1-10-79/B, shahsaheb Gutta,','Vasavi college lane','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-26T05:50:58.973Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(184,240,1,'Salam Bin Sayeed','8008948187','1-10-95/A/5 Behind Cosmic Sanitary Near Graveyard Main Gate','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-27T01:36:12.104Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(185,243,0,'M A SHAHZAD','9121656851','14-7-91/2/1/C','Marlu jr palace ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-27T04:40:45.605Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(186,172,1,'Irfan','9000912756','Brundavanam colony','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-27T05:01:45.226Z',NULL,NULL,NULL,'Q332+M4V Mahbubnagar, Telangana'); +INSERT INTO addresses VALUES(187,242,1,'MD NASEER','7997193490','Baskar building rabiya nagar marlu','Palkonda road. rabiya nagar marlu','Mahabubnagar','Telangana','509001',16.752990000000000492,78.02979999999999805,'2026-02-27T05:11:34.268Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(188,250,1,'Mehvish ','7893430115','Bk ready colony, beside bc hostel ','Seshadri nagar colony road no 07 ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-02T03:42:40.313Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(189,115,1,'Safia begum','9985232643','H.no.1-10-19/3/6a','Do nal','Mahabubnagar','Telangana','509001',16.743663999999998104,78.007159999999995392,'2026-03-03T06:21:05.806Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(190,254,0,'Bhanu','9391448451','Ayodhyanagar colony cristanpally','Junaid ku maalum hai... ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-03T10:45:36.099Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(191,256,1,'Ayesha ','9030656603','3-3-21/2, syed''s house,','Opp: Expert high school, madina masjid','Mahabubnagar','Telangana','509001',16.74417100000000147,77.984830000000000538,'2026-03-04T03:03:12.844Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(192,257,1,'Jawad ahmed','8686278784','Open minds school, shivashaktinagar ','','Mahabubnagar','Telangana','509001',16.737895999999999219,77.994269999999996656,'2026-03-04T03:51:34.663Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(193,258,1,'Mustafa khan','9985051377','H.no 8-117 MK Constructions','Near Mustafa Masjid Marlu','Mahabubnagar','Telangana','509001',16.743310000000000137,78.010990000000006716,'2026-03-04T04:12:58.367Z',NULL,16.743383000000000571,78.010789999999996524,NULL); +INSERT INTO addresses VALUES(194,259,1,'Prasanna ','6309897814','7-5-143/2/b , laxminagar colony,near community hall, Mahabubnagar ','Laxminagar colony community hall ','Mahabubnagar','Telangana','509001',16.757120000000000459,78.020259999999996836,'2026-03-04T05:09:32.779Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(195,260,1,'Faizan ahmed','6301431611','Srinivasa coloney beside laxmi Narasimha apartment','Beside laxmi Narasimha apartment','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-04T05:45:56.092Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(196,261,1,'nasir','9177629869','hanuman pura masjid e jabar','6-3-44/6/d/2','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-04T07:04:27.455Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(197,262,0,'Sufiyan ','6304591895','Bk reddy colony omar farooq masji ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-04T08:23:15.109Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(198,263,0,'Hariprasad','9985075976','Pavana puthra colony ','Yadira road, Housing board','Mahabubnagar','Telangana','509001',16.751017000000000933,78.052060000000000883,'2026-03-04T14:14:51.427Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(199,264,1,'Sumayya ','8125664580','Christianpally','Bhavani nagar colony','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-05T00:39:54.862Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(200,188,1,'Remaz Fathima','9014920842','H.no.1-10-66/2/C','Shah Sahab Gutta ','Mahabubnagar','Telangana','509001',16.745913999999999077,78.004456000000006454,'2026-03-07T00:44:23.021Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(201,184,1,'Shazia Tabassum','9160481161','Al imran Manzil ','Nearby shebaz kiranam abdul kalam nagar ','Mahabubnagar','Telangana','509001',16.743180999999999869,78.008765999999996054,'2026-03-07T02:45:55.848Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(202,269,0,'Irshad','9133302356','1-3-115, ','Rajendranagar','Mahabubnagar','Telangana','509001',16.754816000000001707,78.003420000000005529,'2026-03-08T02:56:15.032Z',NULL,16.738413000000001318,78.002200000000003754,NULL); +INSERT INTO addresses VALUES(203,271,1,'Ahmed ','9966201557','Near rb Palace function hall ','Mini tank bund road ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-08T04:49:56.636Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(204,244,1,'Syedsufi ','8919820112','Jpr bar opp tipsy topsy bakery youngunda ','Near pista house ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-08T05:40:58.721Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(205,273,1,'Zara','6304796576','Near karishma kiranam','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-09T09:26:38.897Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(206,275,0,'Syed Azharuddin','9440927491','4-2-65/7/2 SS Manzil','Near Wisdom School, Tayyabnagar','Mahabubnagar','Telangana','509001',16.754017000000001047,78.020804999999997519,'2026-03-11T00:07:20.453Z',NULL,16.739249999999998408,77.992429999999997036,NULL); +INSERT INTO addresses VALUES(207,223,0,'Syed','9398876512','Sm function hall street ','Spring garden apartment ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-11T07:26:37.245Z',NULL,NULL,NULL,'https://maps.app.goo.gl/h6b632cZTy4Fnvg49'); +INSERT INTO addresses VALUES(208,277,1,'Dr.AWADH kishore lal ','9873199525','A 2004,aprna sarovar zenith near neo mall','Just opposite to dmart nallagandla ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-12T03:08:16.093Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(209,280,1,'Syed amer','8919256293','Chand sultana masjid ','Rauf baba Darga road ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-13T01:03:16.423Z',NULL,16.745197000000000997,77.980779999999993989,NULL); +INSERT INTO addresses VALUES(210,281,1,'Sha Ali saw mill','9441035086','Opposite pragna high school','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-13T05:28:59.990Z',NULL,NULL,NULL,'https://maps.app.goo.gl/FQfAwCjEUNozfizq6?g_st=ic'); +INSERT INTO addresses VALUES(211,283,0,'Rizwana','8555856361','Mallu labiya Nagar','Palkunda road','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-13T19:54:26.673Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(212,287,0,'Inzamam','9492230173','Sr garden back side','Habeeb nagar ','Mahabubnagar','Telangana','509001',16.734154000000001083,77.989310000000005018,'2026-03-14T12:10:39.547Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(213,288,0,'Syed yaser','8555020585','Sri sanjeevani hospital ','','Mahabubnagar','Telangana','509001',16.752060000000000172,77.99706000000000472,'2026-03-15T02:11:58.447Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(214,291,0,'Vijay','9182167025','C-71','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-15T08:02:39.761Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(215,265,0,'Atif','7095454127','Malabargold beside lane','Near daksha high school ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-16T00:18:39.693Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(216,246,0,'Mohd Mubeen ','9704673754','1-1-75, mothinagar ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-16T22:27:02.588Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(217,292,1,'Mohd Abdul Hameed Taj','9700783002','14-7-160, Abdul Kalam Nagar','Marlu, Near Mustafa Masjid ','Mahabubnagar','Telangana','509001',16.743334000000000827,78.008830000000006776,'2026-03-17T03:47:45.595Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(218,293,0,'Riyyan ','9908691361','Arab gali','Newton ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-17T11:00:47.234Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(219,1,0,'K Varun Kumar','9491629598','Kotha Cheruvu Road, New Gunj','Near New Bridge Circle','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-18T09:10:11.449Z',NULL,NULL,NULL,'https://maps.app.goo.gl/X4MYhjRDEjq7jAag9'); +INSERT INTO addresses VALUES(220,299,1,'Zain','9100751376','A1 chicken centre line vasavidegree collage ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-19T03:56:00.436Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(221,300,1,'Khaja Faisal Khan ','9553810155','Hno: 14-8-119/2/A/1,near masjid e Mustafa, marlu, mahbubnagar. ','Near Mustafa Masjid, Mustafa Heights, marlu mahbubnagar ','Mahabubnagar','Telangana','509001',16.743694000000002297,78.010605000000001751,'2026-03-19T04:40:04.207Z',NULL,NULL,NULL,'https://maps.app.goo.gl/woNGiE3nm3Ev8zhs7'); +INSERT INTO addresses VALUES(222,264,0,'Sumayya Aiman','8125664580','Christianpally, bhavani nagar colony','Mahabubnagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-19T05:17:01.051Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(223,146,1,'Ameena','9392457825','Opposite red bucket biryani Padmavati colony mahabubnagar ','','Mahabubnagar','Telangana','509001',16.752870000000001482,78.021180000000001086,'2026-03-19T07:46:16.090Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(224,302,0,'Gol masjid mbbr','6303651275','Khaja kiranam ','5-7-35/l/9','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-19T11:27:30.669Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(225,227,0,'Samad arsalan','8688806599','Bhageerath colony road ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-20T01:25:32.226Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(226,304,1,'Abdul Muqthadeer ','9502064197','B.k reddy colony auto stand ','Near water plant Aziz manzil','Mahabubnagar','Telangana','509001',16.740663999999998878,78.005973999999991264,'2026-03-21T23:32:35.296Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(227,305,0,'Shafi ulla khan','8499850629','Laxhmenager calone. Hiderabad rud','Lennd mark Anjnelu tempul','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-22T03:01:34.509Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(228,306,1,'Mohd Javeed Ali Khan','7207504319','H no.11-11, Marlu, mahabubnagar','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-23T01:47:53.024Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(229,307,1,'Shaik tauheed','7013004811','H-no-4-1-15, ramaiah bowli, near almas function hall','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-23T02:22:43.685Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(230,310,0,'Amir pasha ','8179659088','Marlu','Rabiya masjid back side ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-25T10:41:14.965Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(231,310,1,'Amir pasha','8179659088','Marlu','Near rabiya masjid back side 2/4/3','Mahabubnagar','Telangana','509001',16.73732400000000009,78.015069999999990812,'2026-03-25T10:47:33.964Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(232,311,0,'Fouzan','8309544607','Makka masjid veeranapet new gate','Before community hall ','Mahabubnagar','Telangana','509001',16.745931999999998929,77.979774000000006139,'2026-03-25T20:40:12.214Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(233,313,0,'Arsh','9908136505','Ramayana bowli ','4-2-7/1','Mahabubnagar','Telangana','509001',16.740386999999998351,77.9911349999999981,'2026-03-26T02:41:49.270Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(234,315,1,'Abdul Imran Siddiqui ','8688993217','5-13-22/D, Polytechnic College ','Hanumanpura ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-27T09:09:03.260Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(235,316,1,'Md khasim','8179806501','H.no:-14-10-89/4/6 ,near shabana manzil,SBI marlu ','Rabiya nagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-27T23:17:02.113Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(236,317,1,'Asma farheen ','9866750424','Shah saheb gutta','Tipu sultan chowk ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-03-28T02:57:38.592Z',NULL,NULL,NULL,NULL); +INSERT INTO addresses VALUES(237,320,1,'Rithigna ','7569051828','H.NO.14-5-202/2/3,no.4,nagi reddy colony COLONY,near reddy hostel, MAHABUBNAGAR','','Mahabubnagar','Telangana','509001',16.736940000000000594,78.004059999999997288,'2026-03-28T08:04:16.367Z',NULL,NULL,NULL,NULL); CREATE TABLE IF NOT EXISTS "cart_items" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "quantity" REAL NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); INSERT INTO cart_items VALUES(32,3,3,1.0,'2025-11-24T06:25:02.963Z'); INSERT INTO cart_items VALUES(48,3,9,2.0,'2025-11-28T09:43:04.203Z'); @@ -211,11 +271,9 @@ INSERT INTO complaints VALUES(22,160,NULL,'Bohot Acha items good and fresh hai INSERT INTO complaints VALUES(23,225,NULL,'Akheel',1,'2026-02-23T06:55:20.175Z','Complaint not clear',NULL); INSERT INTO complaints VALUES(24,225,NULL,'Cash',1,'2026-02-23T06:56:45.780Z','Complaint not clear',NULL); INSERT INTO complaints VALUES(25,225,NULL,'Cash',1,'2026-02-23T07:00:17.914Z','Complaint not clear',NULL); -INSERT INTO complaints VALUES(58,1,385,'No order',0,'2026-03-22T04:45:39.793Z',NULL,'["complaint-images/1774174538370.jpg"]'); -INSERT INTO complaints VALUES(59,1,385,'Hii',0,'2026-03-22T04:57:51.234Z',NULL,'["complaint-images/1774175270043.jpg"]'); -INSERT INTO complaints VALUES(60,1,385,'Another fest',0,'2026-03-22T05:06:02.150Z',NULL,'["complaint-images/1774175760765.jpg"]'); -INSERT INTO complaints VALUES(61,1,384,'Testing again',0,'2026-03-22T05:08:55.745Z',NULL,'["complaint-images/1774175933889.jpg"]'); -INSERT INTO complaints VALUES(62,1,383,'Last test',1,'2026-03-22T05:10:05.820Z','Doneee','["complaint-images/1774176003038.jpg","complaint-images/1774176003229.jpg","complaint-images/1774176003414.jpg"]'); +INSERT INTO complaints VALUES(26,4,NULL,'"Package arrived in perfect condition. Very fast delivery and helpful"!.',1,'2026-03-06T07:38:53.712Z','Thank you',NULL); +INSERT INTO complaints VALUES(27,271,NULL,'Where is my order',1,'2026-03-08T05:40:55.588Z','Order is delivered',NULL); +INSERT INTO complaints VALUES(28,250,NULL,'Unable to camcel',1,'2026-03-24T01:05:13.241Z','Cancelled successfully',NULL); CREATE TABLE IF NOT EXISTS "coupon_applicable_products" ("id" INTEGER PRIMARY KEY, "coupon_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL); INSERT INTO coupon_applicable_products VALUES(1,8,25); CREATE TABLE IF NOT EXISTS "coupon_applicable_users" ("id" INTEGER PRIMARY KEY, "coupon_id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL); @@ -225,6 +283,8 @@ INSERT INTO coupon_applicable_users VALUES(3,13,1); INSERT INTO coupon_applicable_users VALUES(4,14,1); INSERT INTO coupon_applicable_users VALUES(5,15,1); INSERT INTO coupon_applicable_users VALUES(6,18,145); +INSERT INTO coupon_applicable_users VALUES(7,19,1); +INSERT INTO coupon_applicable_users VALUES(8,20,296); CREATE TABLE IF NOT EXISTS "coupon_usage" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "coupon_id" INTEGER NOT NULL, "used_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "order_id" INTEGER, "order_item_id" INTEGER); INSERT INTO coupon_usage VALUES(1,2,4,'2025-11-25T00:59:10.947Z',NULL,NULL); INSERT INTO coupon_usage VALUES(2,1,4,'2025-11-25T05:22:34.453Z',NULL,NULL); @@ -321,25 +381,41 @@ INSERT INTO coupon_usage VALUES(96,120,17,'2026-02-21T22:34:37.455Z',321,NULL); INSERT INTO coupon_usage VALUES(97,193,17,'2026-02-21T22:53:17.777Z',322,NULL); INSERT INTO coupon_usage VALUES(98,130,17,'2026-02-21T23:38:18.551Z',324,NULL); INSERT INTO coupon_usage VALUES(99,223,17,'2026-02-23T03:47:30.752Z',334,NULL); +INSERT INTO coupon_usage VALUES(100,230,17,'2026-02-28T00:41:09.381Z',364,NULL); +INSERT INTO coupon_usage VALUES(101,229,17,'2026-02-28T02:41:38.515Z',365,NULL); +INSERT INTO coupon_usage VALUES(102,176,17,'2026-03-03T03:26:27.084Z',388,NULL); +INSERT INTO coupon_usage VALUES(103,141,17,'2026-03-03T18:06:31.074Z',395,NULL); +INSERT INTO coupon_usage VALUES(104,169,17,'2026-03-04T04:11:39.559Z',399,NULL); +INSERT INTO coupon_usage VALUES(105,230,17,'2026-03-04T23:52:20.113Z',407,NULL); +INSERT INTO coupon_usage VALUES(106,188,17,'2026-03-07T00:44:34.209Z',426,NULL); +INSERT INTO coupon_usage VALUES(107,271,17,'2026-03-08T04:50:18.425Z',439,NULL); +INSERT INTO coupon_usage VALUES(108,141,17,'2026-03-11T18:31:16.168Z',468,NULL); +INSERT INTO coupon_usage VALUES(109,229,17,'2026-03-14T03:39:02.665Z',492,NULL); +INSERT INTO coupon_usage VALUES(110,230,17,'2026-03-18T23:36:01.930Z',527,NULL); +INSERT INTO coupon_usage VALUES(111,115,17,'2026-03-19T04:18:19.297Z',531,NULL); +INSERT INTO coupon_usage VALUES(112,99,17,'2026-03-28T05:08:02.987Z',587,NULL); +INSERT INTO coupon_usage VALUES(113,229,17,'2026-03-29T00:36:58.130Z',594,NULL); CREATE TABLE IF NOT EXISTS "coupons" ("id" INTEGER PRIMARY KEY, "is_user_based" INTEGER NOT NULL DEFAULT false, "discount_percent" REAL, "flat_discount" REAL, "min_order" REAL, "created_by" INTEGER, "max_value" REAL, "is_invalidated" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_apply_for_all" INTEGER NOT NULL DEFAULT false, "valid_till" TEXT, "max_limit_for_user" INTEGER, "coupon_code" TEXT NOT NULL, "product_ids" INTEGER, "exclusive_apply" INTEGER NOT NULL DEFAULT false); -INSERT INTO coupons VALUES(1,0,20.0,NULL,500.0,1,NULL,1,'2025-11-21T08:44:20.264Z',1,'2025-11-29T18:30:00.000Z',NULL,'BIG50',NULL,0); -INSERT INTO coupons VALUES(2,0,50.0,NULL,1000.0,1,500.0,1,'2025-11-22T03:29:29.904Z',1,'2026-01-06T18:30:00.000Z',1,'SAVEMORE',NULL,0); -INSERT INTO coupons VALUES(3,0,20.0,NULL,5000.0,1,NULL,0,'2025-11-24T06:11:19.047Z',1,'2025-12-24T18:30:00.000Z',NULL,'BIG100',NULL,0); -INSERT INTO coupons VALUES(4,0,20.0,NULL,500.0,1,NULL,0,'2025-11-24T06:13:06.090Z',1,'2025-11-29T18:30:00.000Z',NULL,'BIG150',NULL,0); -INSERT INTO coupons VALUES(5,0,NULL,150.0,700.0,1,150.0,0,'2025-11-26T14:20:29.369Z',1,'2026-01-29T14:20:00.000Z',1,'FIRST150',NULL,0); -INSERT INTO coupons VALUES(6,1,NULL,4686.0,0.0,1,4686.0,0,'2025-11-29T01:35:51.215Z',0,'2025-12-29T01:35:51.214Z',1,'MOHORD050',NULL,0); -INSERT INTO coupons VALUES(7,1,NULL,22.0,22.0,1,22.0,0,'2025-12-19T10:00:13.297Z',0,'2026-01-18T10:00:13.297Z',1,'BHA82',NULL,0); -INSERT INTO coupons VALUES(8,0,10.0,20.0,200.0,1,20.0,1,'2025-12-22T05:20:27.988Z',1,'2025-12-29T18:30:00.000Z',6,'135',NULL,0); -INSERT INTO coupons VALUES(9,1,NULL,236.0,236.0,1,236.0,0,'2025-12-27T12:04:22.196Z',0,'2026-01-26T12:04:22.195Z',1,'MOH115',NULL,0); -INSERT INTO coupons VALUES(10,1,NULL,128.41999999999997861,128.41999999999997861,1,128.41999999999997861,0,'2025-12-27T19:11:57.259Z',0,'2026-01-26T19:11:57.259Z',1,'868117',NULL,0); -INSERT INTO coupons VALUES(11,1,20.0,NULL,500.0,1,250.0,0,'2026-01-01T04:39:53.608Z',0,'2026-01-30T04:39:00.000Z',3,'SHAFITEST2',NULL,0); -INSERT INTO coupons VALUES(12,0,10.0,NULL,500.0,1,50.0,0,'2026-01-01T06:39:22.230Z',1,'2026-01-07T06:37:00.000Z',1,'SAVEMORE0',NULL,0); -INSERT INTO coupons VALUES(13,1,30.0,NULL,2000.0,1,850.0,0,'2026-01-06T07:19:44.069Z',0,'2026-01-30T07:19:00.000Z',5,'TESTDISCOUNT',NULL,0); -INSERT INTO coupons VALUES(14,1,20.0,NULL,1200.0,1,600.0,0,'2026-01-06T13:10:01.161Z',0,'2026-02-27T13:09:00.000Z',4,'TESTCOUPON3',NULL,0); -INSERT INTO coupons VALUES(15,1,25.0,NULL,1000.0,1,250.0,0,'2026-01-12T03:28:20.356Z',0,'2026-01-30T07:46:00.000Z',2,'RESERVE_TEST34',NULL,0); -INSERT INTO coupons VALUES(16,0,10.0,NULL,500.0,1,50.0,0,'2026-01-15T10:27:07.302Z',1,'2026-01-19T18:30:00.000Z',2,'SAVEOFF10U',NULL,0); -INSERT INTO coupons VALUES(17,0,10.0,NULL,359.0,1,50.0,0,'2026-01-25T13:00:26.545Z',1,'2026-03-30T18:30:00.000Z',3,'START10',NULL,0); -INSERT INTO coupons VALUES(18,1,10.0,NULL,100.0,1,50.0,0,'2026-02-18T03:44:14.005Z',0,'2026-02-28T03:44:00.000Z',2,'NAHEED10',NULL,0); +INSERT INTO coupons VALUES(1,0,20.0,NULL,500.0,6,NULL,1,'2025-11-21T08:44:20.264Z',1,'2025-11-29T18:30:00.000Z',NULL,'BIG50',NULL,0); +INSERT INTO coupons VALUES(2,0,50.0,NULL,1000.0,6,500.0,1,'2025-11-22T03:29:29.904Z',1,'2026-01-06T18:30:00.000Z',1,'SAVEMORE',NULL,0); +INSERT INTO coupons VALUES(3,0,20.0,NULL,5000.0,6,NULL,0,'2025-11-24T06:11:19.047Z',1,'2025-12-24T18:30:00.000Z',NULL,'BIG100',NULL,0); +INSERT INTO coupons VALUES(4,0,20.0,NULL,500.0,6,NULL,0,'2025-11-24T06:13:06.090Z',1,'2025-11-29T18:30:00.000Z',NULL,'BIG150',NULL,0); +INSERT INTO coupons VALUES(5,0,NULL,150.0,700.0,6,150.0,0,'2025-11-26T14:20:29.369Z',1,'2026-01-29T14:20:00.000Z',1,'FIRST150',NULL,0); +INSERT INTO coupons VALUES(6,1,NULL,4686.0,0.0,6,4686.0,0,'2025-11-29T01:35:51.215Z',0,'2025-12-29T01:35:51.214Z',1,'MOHORD050',NULL,0); +INSERT INTO coupons VALUES(7,1,NULL,22.0,22.0,6,22.0,0,'2025-12-19T10:00:13.297Z',0,'2026-01-18T10:00:13.297Z',1,'BHA82',NULL,0); +INSERT INTO coupons VALUES(8,0,10.0,20.0,200.0,6,20.0,1,'2025-12-22T05:20:27.988Z',1,'2025-12-29T18:30:00.000Z',6,'135',NULL,0); +INSERT INTO coupons VALUES(9,1,NULL,236.0,236.0,6,236.0,0,'2025-12-27T12:04:22.196Z',0,'2026-01-26T12:04:22.195Z',1,'MOH115',NULL,0); +INSERT INTO coupons VALUES(10,1,NULL,128.41999999999997861,128.41999999999997861,6,128.41999999999997861,0,'2025-12-27T19:11:57.259Z',0,'2026-01-26T19:11:57.259Z',1,'868117',NULL,0); +INSERT INTO coupons VALUES(11,1,20.0,NULL,500.0,6,250.0,0,'2026-01-01T04:39:53.608Z',0,'2026-01-30T04:39:00.000Z',3,'SHAFITEST2',NULL,0); +INSERT INTO coupons VALUES(12,0,10.0,NULL,500.0,6,50.0,0,'2026-01-01T06:39:22.230Z',1,'2026-01-07T06:37:00.000Z',1,'SAVEMORE0',NULL,0); +INSERT INTO coupons VALUES(13,1,30.0,NULL,2000.0,6,850.0,0,'2026-01-06T07:19:44.069Z',0,'2026-01-30T07:19:00.000Z',5,'TESTDISCOUNT',NULL,0); +INSERT INTO coupons VALUES(14,1,20.0,NULL,1200.0,6,600.0,0,'2026-01-06T13:10:01.161Z',0,'2026-02-27T13:09:00.000Z',4,'TESTCOUPON3',NULL,0); +INSERT INTO coupons VALUES(15,1,25.0,NULL,1000.0,6,250.0,0,'2026-01-12T03:28:20.356Z',0,'2026-01-30T07:46:00.000Z',2,'RESERVE_TEST34',NULL,0); +INSERT INTO coupons VALUES(16,0,10.0,NULL,500.0,6,50.0,0,'2026-01-15T10:27:07.302Z',1,'2026-01-19T18:30:00.000Z',2,'SAVEOFF10U',NULL,0); +INSERT INTO coupons VALUES(17,0,10.0,NULL,489.0,6,50.0,0,'2026-01-25T13:00:26.545Z',1,'2026-03-30T18:30:00.000Z',3,'START10',NULL,0); +INSERT INTO coupons VALUES(18,1,10.0,NULL,100.0,6,50.0,0,'2026-02-18T03:44:14.005Z',0,'2026-02-28T03:44:00.000Z',2,'NAHEED10',NULL,0); +INSERT INTO coupons VALUES(19,1,20.0,NULL,1000.0,4,500.0,1,'2026-03-03T13:47:10.632Z',0,'2026-06-01T13:47:10.598Z',1,'MF14964305375IIB',NULL,0); +INSERT INTO coupons VALUES(20,1,10.0,NULL,250.0,6,100.0,0,'2026-03-18T09:27:34.307Z',0,'2026-03-30T09:27:00.000Z',1,'D10',NULL,0); CREATE TABLE IF NOT EXISTS "delivery_slot_info" ("id" INTEGER PRIMARY KEY, "delivery_time" TEXT NOT NULL, "freeze_time" TEXT NOT NULL, "is_active" INTEGER NOT NULL DEFAULT true, "delivery_sequence" TEXT, "is_flash" INTEGER NOT NULL DEFAULT false, "group_ids" TEXT, "is_capacity_full" INTEGER NOT NULL DEFAULT false); INSERT INTO delivery_slot_info VALUES(1,'2025-11-25T20:00:00.000Z','2025-11-21T18:00:00.000Z',1,NULL,0,NULL,0); INSERT INTO delivery_slot_info VALUES(2,'2025-11-30T01:39:00.000Z','2025-11-29T01:40:00.000Z',1,NULL,0,NULL,0); @@ -576,120 +652,327 @@ INSERT INTO delivery_slot_info VALUES(234,'2026-02-24T01:00:00.000Z','2026-02-24 INSERT INTO delivery_slot_info VALUES(235,'2026-02-24T04:00:00.000Z','2026-02-24T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); INSERT INTO delivery_slot_info VALUES(236,'2026-02-24T08:00:00.000Z','2026-02-24T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); INSERT INTO delivery_slot_info VALUES(237,'2026-02-24T20:00:00.000Z','2026-02-24T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(238,'2026-02-24T21:00:00.000Z','2026-02-25T08:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(238,'2026-02-24T21:00:00.000Z','2026-02-24T20:50:00.000Z',1,NULL,0,'[5,7,9,10,8,3]',0); INSERT INTO delivery_slot_info VALUES(239,'2026-02-25T00:00:00.000Z','2026-02-25T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); INSERT INTO delivery_slot_info VALUES(240,'2026-02-25T01:00:00.000Z','2026-02-25T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); INSERT INTO delivery_slot_info VALUES(241,'2026-02-25T04:00:00.000Z','2026-02-25T03:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); INSERT INTO delivery_slot_info VALUES(242,'2026-02-25T05:00:00.000Z','2026-02-25T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); INSERT INTO delivery_slot_info VALUES(243,'2026-02-25T08:00:00.000Z','2026-02-25T07:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); INSERT INTO delivery_slot_info VALUES(244,'2026-02-24T05:00:00.000Z','2026-02-24T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(274,'2026-03-04T20:00:00.000Z','2026-03-04T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(275,'2026-03-08T02:04:00.000Z','2026-03-08T02:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(276,'2026-03-08T04:59:17.000Z','2026-03-08T04:44:17.000Z',1,NULL,0,'[]',0); -INSERT INTO delivery_slot_info VALUES(277,'2026-03-08T05:27:40.000Z','2026-03-08T05:12:40.000Z',1,NULL,0,'[7]',0); -INSERT INTO delivery_slot_info VALUES(278,'2026-03-08T06:38:16.000Z','2026-03-08T06:23:16.000Z',1,NULL,0,'[7]',0); -INSERT INTO delivery_slot_info VALUES(279,'2026-03-10T10:00:00.000Z','2026-03-10T08:00:00.000Z',1,NULL,0,'[7,8,9,10,5,3,2,1]',0); -INSERT INTO delivery_slot_info VALUES(280,'2026-03-13T09:00:00.000Z','2026-03-13T08:30:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(281,'2026-03-15T08:00:00.000Z','2026-03-15T07:30:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(282,'2026-03-15T21:00:00.000Z','2026-03-15T20:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(283,'2026-03-20T20:00:00.000Z','2026-03-20T19:50:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(284,'2026-03-22T08:00:00.000Z','2026-03-22T07:45:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(285,'2026-03-23T07:00:00.000Z','2026-03-23T06:28:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(286,'2026-03-27T01:00:00.000Z','2026-03-27T00:04:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(287,'2026-03-27T06:02:00.000Z','2026-03-27T05:54:00.000Z',1,NULL,0,'[9,10,8]',0); +INSERT INTO delivery_slot_info VALUES(245,'2026-02-25T20:00:00.000Z','2026-02-25T19:50:00.000Z',1,NULL,0,'[5,7,9,10,8,3]',1); +INSERT INTO delivery_slot_info VALUES(246,'2026-02-25T21:00:00.000Z','2026-02-25T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',1); +INSERT INTO delivery_slot_info VALUES(247,'2026-02-26T00:00:00.000Z','2026-02-25T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(248,'2026-02-26T01:00:00.000Z','2026-02-26T00:50:00.000Z',1,NULL,0,'[5,7,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(249,'2026-02-26T04:00:00.000Z','2026-02-26T03:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(250,'2026-02-26T05:00:00.000Z','2026-02-26T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(251,'2026-02-26T08:00:00.000Z','2026-02-26T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(252,'2026-02-26T20:00:00.000Z','2026-02-26T19:59:00.000Z',1,NULL,0,'[5,7,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(253,'2026-02-26T21:00:00.000Z','2026-02-26T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(254,'2026-02-27T00:00:00.000Z','2026-02-26T23:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(255,'2026-02-27T01:00:00.000Z','2026-02-27T00:50:00.000Z',1,NULL,0,'[10,9,8,5,3,7]',0); +INSERT INTO delivery_slot_info VALUES(256,'2026-02-27T04:00:00.000Z','2026-02-27T03:51:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(257,'2026-02-27T05:00:00.000Z','2026-02-27T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(258,'2026-02-27T08:00:00.000Z','2026-02-27T07:45:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(259,'2026-02-27T20:00:00.000Z','2026-02-27T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(260,'2026-02-27T21:00:00.000Z','2026-02-27T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(261,'2026-02-28T00:00:00.000Z','2026-02-27T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(262,'2026-02-28T01:00:00.000Z','2026-02-28T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(263,'2026-02-28T04:00:00.000Z','2026-02-28T03:50:00.000Z',1,NULL,0,'[5,7,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(264,'2026-02-28T05:00:00.000Z','2026-02-28T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(265,'2026-02-28T08:00:00.000Z','2026-02-28T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(266,'2026-02-28T20:00:00.000Z','2026-02-28T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(267,'2026-02-28T21:00:00.000Z','2026-02-28T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(268,'2026-03-01T00:00:00.000Z','2026-02-28T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(269,'2026-03-01T01:00:00.000Z','2026-03-01T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(270,'2026-03-01T04:00:00.000Z','2026-03-01T03:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(271,'2026-03-01T05:00:00.000Z','2026-03-01T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(272,'2026-03-01T08:00:00.000Z','2026-03-01T07:50:00.000Z',1,NULL,0,'[10,9,8,3,5]',0); +INSERT INTO delivery_slot_info VALUES(273,'2026-03-01T20:00:00.000Z','2026-03-01T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(274,'2026-03-01T21:00:00.000Z','2026-03-01T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(275,'2026-03-02T00:00:00.000Z','2026-03-01T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(276,'2026-03-02T04:00:00.000Z','2026-03-02T03:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(277,'2026-03-02T05:00:00.000Z','2026-03-02T04:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(278,'2026-03-02T08:00:00.000Z','2026-03-02T07:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(279,'2026-03-02T20:00:00.000Z','2026-03-02T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(280,'2026-03-02T20:00:00.000Z','2026-03-02T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(281,'2026-03-02T21:00:00.000Z','2026-03-02T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(282,'2026-03-03T00:00:00.000Z','2026-03-02T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(283,'2026-03-03T01:00:00.000Z','2026-03-03T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(284,'2026-03-03T04:00:00.000Z','2026-03-03T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(285,'2026-03-03T05:00:00.000Z','2026-03-03T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(286,'2026-03-03T08:00:00.000Z','2026-03-03T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(287,'2026-03-03T20:00:00.000Z','2026-03-03T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(288,'2026-03-03T21:00:00.000Z','2026-03-03T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3,2,1]',0); +INSERT INTO delivery_slot_info VALUES(289,'2026-03-04T00:00:00.000Z','2026-03-03T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3,2,1]',0); +INSERT INTO delivery_slot_info VALUES(290,'2026-03-04T01:00:00.000Z','2026-03-04T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3,2,1]',0); +INSERT INTO delivery_slot_info VALUES(291,'2026-03-04T04:00:00.000Z','2026-03-04T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(292,'2026-03-04T05:00:00.000Z','2026-03-04T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(293,'2026-03-04T08:00:00.000Z','2026-03-04T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(294,'2026-03-04T20:00:00.000Z','2026-03-04T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(295,'2026-03-04T21:00:00.000Z','2026-03-04T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(296,'2026-03-05T00:00:00.000Z','2026-03-04T23:50:00.000Z',1,NULL,0,'[5,7,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(297,'2026-03-05T01:00:00.000Z','2026-03-05T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(298,'2026-03-05T04:00:00.000Z','2026-03-05T03:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(299,'2026-03-05T05:00:00.000Z','2026-03-05T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(300,'2026-03-05T08:00:00.000Z','2026-03-05T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(301,'2026-03-05T20:00:00.000Z','2026-03-05T19:50:00.000Z',1,NULL,0,'[10,9,8,7,3,5]',0); +INSERT INTO delivery_slot_info VALUES(302,'2026-03-05T21:00:00.000Z','2026-03-05T20:51:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(303,'2026-03-06T00:00:00.000Z','2026-03-05T23:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(304,'2026-03-06T01:00:00.000Z','2026-03-06T00:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(305,'2026-03-06T04:00:00.000Z','2026-03-06T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(306,'2026-03-06T05:00:00.000Z','2026-03-06T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(307,'2026-03-06T08:00:00.000Z','2026-03-06T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(308,'2026-03-06T20:00:00.000Z','2026-03-06T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(309,'2026-03-06T21:00:00.000Z','2026-03-06T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(310,'2026-03-07T00:00:00.000Z','2026-03-06T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(311,'2026-03-07T01:00:00.000Z','2026-03-07T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(312,'2026-03-07T04:00:00.000Z','2026-03-07T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(313,'2026-03-07T05:00:00.000Z','2026-03-07T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(314,'2026-03-07T08:00:00.000Z','2026-03-07T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(315,'2026-03-07T20:00:00.000Z','2026-03-07T19:50:00.000Z',1,NULL,0,'[10,9,8,5,7,3]',0); +INSERT INTO delivery_slot_info VALUES(316,'2026-03-07T21:00:00.000Z','2026-03-07T20:51:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(317,'2026-03-08T00:00:00.000Z','2026-03-07T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(318,'2026-03-08T01:00:00.000Z','2026-03-08T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(319,'2026-03-08T04:00:00.000Z','2026-03-08T03:45:00.000Z',1,NULL,0,'[10,9,8,5,3,7]',0); +INSERT INTO delivery_slot_info VALUES(320,'2026-03-08T05:00:00.000Z','2026-03-08T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(321,'2026-03-08T08:00:00.000Z','2026-03-08T07:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); +INSERT INTO delivery_slot_info VALUES(322,'2026-03-08T20:00:00.000Z','2026-03-08T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(323,'2026-03-08T21:00:00.000Z','2026-03-08T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(324,'2026-03-09T00:00:00.000Z','2026-03-08T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(325,'2026-03-09T01:00:00.000Z','2026-03-09T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(326,'2026-03-09T04:00:00.000Z','2026-03-09T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(327,'2026-03-09T05:00:00.000Z','2026-03-09T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(328,'2026-03-09T08:00:00.000Z','2026-03-09T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(329,'2026-03-10T00:00:00.000Z','2026-03-09T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(330,'2026-03-10T01:00:00.000Z','2026-03-10T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(331,'2026-03-10T04:00:00.000Z','2026-03-10T03:50:00.000Z',1,NULL,0,'[5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(332,'2026-03-10T05:00:00.000Z','2026-03-10T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(333,'2026-03-10T08:00:00.000Z','2026-03-10T07:50:00.000Z',1,NULL,0,'[5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(334,'2026-03-10T20:00:00.000Z','2026-03-10T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(335,'2026-03-10T21:00:00.000Z','2026-03-10T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(336,'2026-03-11T00:00:00.000Z','2026-03-10T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3,11]',0); +INSERT INTO delivery_slot_info VALUES(337,'2026-03-11T01:00:00.000Z','2026-03-11T00:51:00.000Z',1,NULL,0,'[10,9,8,7,5,3,11]',0); +INSERT INTO delivery_slot_info VALUES(338,'2026-03-11T04:00:00.000Z','2026-03-11T03:50:00.000Z',1,NULL,0,'[5,7,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(339,'2026-03-11T05:00:00.000Z','2026-03-11T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(340,'2026-03-11T08:00:00.000Z','2026-03-11T07:50:00.000Z',1,NULL,0,'[5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(341,'2026-03-11T20:00:00.000Z','2026-03-11T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(342,'2026-03-11T21:00:00.000Z','2026-03-11T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(343,'2026-03-12T00:00:00.000Z','2026-03-11T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3,11]',0); +INSERT INTO delivery_slot_info VALUES(344,'2026-03-12T01:00:00.000Z','2026-03-12T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3,11]',0); +INSERT INTO delivery_slot_info VALUES(345,'2026-03-12T04:00:00.000Z','2026-03-12T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3,11]',0); +INSERT INTO delivery_slot_info VALUES(346,'2026-03-12T05:00:00.000Z','2026-03-12T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3,11]',0); +INSERT INTO delivery_slot_info VALUES(347,'2026-03-12T08:00:00.000Z','2026-03-12T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3,11]',0); +INSERT INTO delivery_slot_info VALUES(348,'2026-03-12T20:00:00.000Z','2026-03-12T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(349,'2026-03-12T21:00:00.000Z','2026-03-12T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(350,'2026-03-13T00:00:00.000Z','2026-03-12T23:50:00.000Z',1,NULL,0,'[5,7,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(351,'2026-03-13T01:00:00.000Z','2026-03-13T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(352,'2026-03-13T04:00:00.000Z','2026-03-13T03:50:00.000Z',1,NULL,0,'[10,11,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(353,'2026-03-13T05:00:00.000Z','2026-03-13T04:50:00.000Z',1,NULL,0,'[10,11,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(354,'2026-03-13T08:00:00.000Z','2026-03-13T07:50:00.000Z',1,NULL,0,'[10,11,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(355,'2026-03-13T20:00:00.000Z','2026-03-13T19:50:00.000Z',1,NULL,0,'[5,7,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(356,'2026-03-13T21:00:00.000Z','2026-03-13T20:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(357,'2026-03-14T00:00:00.000Z','2026-03-13T23:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(358,'2026-03-14T01:00:00.000Z','2026-03-14T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(359,'2026-03-14T04:00:00.000Z','2026-03-14T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(360,'2026-03-14T20:00:00.000Z','2026-03-14T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(361,'2026-03-14T21:00:00.000Z','2026-03-14T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(362,'2026-03-15T00:00:00.000Z','2026-03-14T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(363,'2026-03-15T01:00:00.000Z','2026-03-15T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(364,'2026-03-15T04:00:00.000Z','2026-03-15T03:50:00.000Z',1,NULL,0,'[10,9,8,5,11]',0); +INSERT INTO delivery_slot_info VALUES(365,'2026-03-15T05:00:00.000Z','2026-03-15T04:50:00.000Z',1,NULL,0,'[10,9,8,5,11]',0); +INSERT INTO delivery_slot_info VALUES(366,'2026-03-15T08:00:00.000Z','2026-03-15T07:50:00.000Z',1,NULL,0,'[10,9,8,5,11]',0); +INSERT INTO delivery_slot_info VALUES(367,'2026-03-15T20:00:00.000Z','2026-03-15T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(368,'2026-03-15T21:00:00.000Z','2026-03-15T20:50:00.000Z',1,NULL,0,'[5,7,9,10,8]',0); +INSERT INTO delivery_slot_info VALUES(369,'2026-03-16T00:00:00.000Z','2026-03-15T23:50:00.000Z',1,NULL,0,'[5,7,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(370,'2026-03-16T01:00:00.000Z','2026-03-16T00:50:00.000Z',1,NULL,0,'[10,9,8,5,7,11]',0); +INSERT INTO delivery_slot_info VALUES(371,'2026-03-16T04:00:00.000Z','2026-03-16T03:50:00.000Z',1,NULL,0,'[5,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(372,'2026-03-16T05:00:00.000Z','2026-03-16T04:50:00.000Z',1,NULL,0,'[10,9,8,5,11]',0); +INSERT INTO delivery_slot_info VALUES(373,'2026-03-16T08:00:00.000Z','2026-03-16T07:50:00.000Z',1,NULL,0,'[10,9,8,5,11]',0); +INSERT INTO delivery_slot_info VALUES(374,'2026-03-16T20:00:00.000Z','2026-03-16T19:50:00.000Z',1,NULL,0,'[10,9,8,5,7]',0); +INSERT INTO delivery_slot_info VALUES(375,'2026-03-16T21:00:00.000Z','2026-03-16T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(376,'2026-03-17T00:00:00.000Z','2026-03-16T23:50:00.000Z',1,NULL,0,'[10,9,8,5,7,11]',0); +INSERT INTO delivery_slot_info VALUES(377,'2026-03-17T01:00:00.000Z','2026-03-17T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(378,'2026-03-17T04:00:00.000Z','2026-03-17T03:50:00.000Z',1,NULL,0,'[10,9,11,8,5,3,2,1]',0); +INSERT INTO delivery_slot_info VALUES(379,'2026-03-17T05:00:00.000Z','2026-03-17T04:50:00.000Z',1,NULL,0,'[11,10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(380,'2026-03-17T08:00:00.000Z','2026-03-17T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(381,'2026-03-17T20:00:00.000Z','2026-03-17T19:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(382,'2026-03-19T00:00:00.000Z','2026-03-18T23:50:00.000Z',1,NULL,0,'[5,7,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(383,'2026-03-17T21:00:00.000Z','2026-03-17T20:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(384,'2026-03-18T00:00:00.000Z','2026-03-17T23:55:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(385,'2026-03-18T01:00:00.000Z','2026-03-18T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(386,'2026-03-18T04:00:00.000Z','2026-03-18T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(387,'2026-03-18T05:00:00.000Z','2026-03-18T04:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(388,'2026-03-18T08:00:00.000Z','2026-03-18T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(389,'2026-03-18T20:00:00.000Z','2026-03-18T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(390,'2026-03-18T21:00:00.000Z','2026-03-18T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(391,'2026-03-19T01:00:00.000Z','2026-03-19T00:50:00.000Z',1,NULL,0,'[5,7,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(392,'2026-03-19T04:00:00.000Z','2026-03-19T03:50:00.000Z',1,NULL,0,'[5,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(393,'2026-03-19T05:00:00.000Z','2026-03-19T04:50:00.000Z',1,NULL,0,'[5,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(394,'2026-03-19T08:00:00.000Z','2026-03-19T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(395,'2026-03-19T20:00:00.000Z','2026-03-19T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(396,'2026-03-19T21:00:00.000Z','2026-03-19T20:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(397,'2026-03-20T00:00:00.000Z','2026-03-19T23:51:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(398,'2026-03-20T01:00:00.000Z','2026-03-20T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(399,'2026-03-20T04:00:00.000Z','2026-03-20T03:50:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(400,'2026-03-20T05:00:00.000Z','2026-03-20T04:50:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(401,'2026-03-20T08:00:00.000Z','2026-03-20T07:50:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(402,'2026-03-20T09:00:00.000Z','2026-03-20T08:50:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(403,'2026-03-21T20:00:00.000Z','2026-03-21T19:45:00.000Z',1,NULL,0,'[5,7,9,10,8]',0); +INSERT INTO delivery_slot_info VALUES(404,'2026-03-21T21:00:00.000Z','2026-03-21T20:50:00.000Z',1,NULL,0,'[11,10,9,8,5,7]',0); +INSERT INTO delivery_slot_info VALUES(405,'2026-03-22T00:00:00.000Z','2026-03-21T23:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(406,'2026-03-22T01:00:00.000Z','2026-03-22T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(407,'2026-03-22T04:00:00.000Z','2026-03-22T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5,3,2]',0); +INSERT INTO delivery_slot_info VALUES(408,'2026-03-22T07:00:00.000Z','2026-03-22T06:50:00.000Z',1,NULL,0,'[2,5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(409,'2026-03-22T05:00:00.000Z','2026-03-22T04:50:00.000Z',1,NULL,0,'[11,10,9,8,5,3,2]',0); +INSERT INTO delivery_slot_info VALUES(410,'2026-03-22T08:00:00.000Z','2026-03-22T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5,3,2]',0); +INSERT INTO delivery_slot_info VALUES(411,'2026-03-22T20:00:00.000Z','2026-03-22T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(412,'2026-03-22T21:00:00.000Z','2026-03-22T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(413,'2026-03-23T00:00:00.000Z','2026-03-22T23:50:00.000Z',1,NULL,0,'[10,9,11,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(414,'2026-03-23T01:00:00.000Z','2026-03-23T00:50:00.000Z',1,NULL,0,'[10,9,11,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(415,'2026-03-23T04:00:00.000Z','2026-03-23T03:50:00.000Z',1,NULL,0,'[10,9,11,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(416,'2026-03-23T05:00:00.000Z','2026-03-23T04:50:00.000Z',1,NULL,0,'[10,9,11,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(417,'2026-03-23T07:00:00.000Z','2026-03-23T06:50:00.000Z',1,NULL,0,'[10,9,11,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(418,'2026-03-23T08:00:00.000Z','2026-03-23T07:50:00.000Z',1,NULL,0,'[10,9,11,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(419,'2026-03-23T20:00:00.000Z','2026-03-23T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(420,'2026-03-23T21:00:00.000Z','2026-03-23T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(421,'2026-03-24T00:00:00.000Z','2026-03-23T23:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(422,'2026-03-24T01:00:00.000Z','2026-03-24T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(423,'2026-03-24T04:00:00.000Z','2026-03-24T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(424,'2026-03-24T05:00:00.000Z','2026-03-24T04:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(425,'2026-03-24T07:00:00.000Z','2026-03-24T06:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(426,'2026-03-24T08:00:00.000Z','2026-03-24T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(427,'2026-03-24T20:00:00.000Z','2026-03-24T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(428,'2026-03-25T00:00:00.000Z','2026-03-25T00:00:00.000Z',1,NULL,0,'[11,10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(429,'2026-03-25T01:00:00.000Z','2026-03-25T00:50:00.000Z',1,NULL,0,'[11,10,9,8,5,7]',0); +INSERT INTO delivery_slot_info VALUES(430,'2026-03-25T04:00:00.000Z','2026-03-25T03:50:00.000Z',1,NULL,0,'[2,5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(431,'2026-03-25T05:00:00.000Z','2026-03-25T04:50:00.000Z',1,NULL,0,'[2,5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(432,'2026-03-25T07:00:00.000Z','2026-03-25T06:50:00.000Z',1,NULL,0,'[11,10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(433,'2026-03-25T08:00:00.000Z','2026-03-25T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(434,'2026-03-25T20:00:00.000Z','2026-03-25T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(435,'2026-03-25T21:00:00.000Z','2026-03-25T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(436,'2026-03-26T00:00:00.000Z','2026-03-25T23:50:00.000Z',1,NULL,0,'[11,9,7,10,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(437,'2026-03-26T01:00:00.000Z','2026-03-26T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(438,'2026-03-26T04:00:00.000Z','2026-03-26T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(439,'2026-03-26T05:00:00.000Z','2026-03-26T04:50:00.000Z',1,NULL,0,'[10,11,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(440,'2026-03-26T07:00:00.000Z','2026-03-26T06:49:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(441,'2026-03-26T08:00:00.000Z','2026-03-26T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(442,'2026-03-26T20:00:00.000Z','2026-03-26T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(443,'2026-03-26T21:00:00.000Z','2026-03-26T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(444,'2026-03-27T00:00:00.000Z','2026-03-26T23:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5,3]',0); +INSERT INTO delivery_slot_info VALUES(445,'2026-03-27T01:00:00.000Z','2026-03-27T00:50:00.000Z',1,NULL,0,'[5,9,10,8,3,11]',0); +INSERT INTO delivery_slot_info VALUES(446,'2026-03-27T04:00:00.000Z','2026-03-27T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5,3]',0); +INSERT INTO delivery_slot_info VALUES(447,'2026-03-27T05:00:00.000Z','2026-03-27T04:51:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(448,'2026-03-27T07:00:00.000Z','2026-03-27T06:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(449,'2026-03-27T08:00:00.000Z','2026-03-27T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(450,'2026-03-27T20:00:00.000Z','2026-03-27T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(451,'2026-03-27T21:00:00.000Z','2026-03-27T20:50:00.000Z',1,NULL,0,'[10,9,8,5,7]',0); +INSERT INTO delivery_slot_info VALUES(452,'2026-03-28T00:00:00.000Z','2026-03-27T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,11]',0); +INSERT INTO delivery_slot_info VALUES(453,'2026-03-28T01:00:00.000Z','2026-03-28T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(454,'2026-03-28T04:00:00.000Z','2026-03-28T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(455,'2026-03-28T05:00:00.000Z','2026-03-28T04:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(456,'2026-03-28T07:00:00.000Z','2026-03-28T06:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(457,'2026-03-28T08:00:00.000Z','2026-03-28T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(458,'2026-03-28T20:00:00.000Z','2026-03-28T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(459,'2026-03-28T21:00:00.000Z','2026-03-28T20:50:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(460,'2026-03-29T00:00:00.000Z','2026-03-28T23:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(461,'2026-03-29T01:00:00.000Z','2026-03-29T00:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(462,'2026-03-29T04:00:00.000Z','2026-03-29T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(463,'2026-03-29T05:00:00.000Z','2026-03-29T04:50:00.000Z',1,NULL,0,'[5,9,10,8,11]',0); +INSERT INTO delivery_slot_info VALUES(464,'2026-03-29T07:00:00.000Z','2026-03-29T06:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(465,'2026-03-29T08:00:00.000Z','2026-03-29T07:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(466,'2026-03-29T21:00:00.000Z','2026-03-29T20:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(467,'2026-03-29T23:00:00.000Z','2026-03-29T22:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(468,'2026-03-30T00:00:00.000Z','2026-03-29T23:50:00.000Z',1,NULL,0,'[11,10,9,8,7,5]',0); +INSERT INTO delivery_slot_info VALUES(469,'2026-03-30T01:00:00.000Z','2026-03-30T00:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(470,'2026-03-30T04:00:00.000Z','2026-03-30T03:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); +INSERT INTO delivery_slot_info VALUES(471,'2026-03-30T05:00:00.000Z','2026-03-30T04:50:00.000Z',1,NULL,0,'[11,10,9,8,5]',0); CREATE TABLE IF NOT EXISTS "home_banners" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "image_url" TEXT NOT NULL, "description" TEXT, "redirect_url" TEXT, "serial_num" INTEGER, "is_active" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_updated" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "product_ids" TEXT); +INSERT INTO home_banners VALUES(8,'10%off ','store-images/1770281045021.jpg',NULL,NULL,NULL,0,'2026-02-05T03:14:06.466Z','2026-02-05T03:14:40.930Z','[]'); INSERT INTO home_banners VALUES(9,'10%off ','store-images/1770281046297.jpg',NULL,NULL,1,0,'2026-02-05T03:14:06.996Z','2026-02-05T03:14:40.930Z','[]'); INSERT INTO home_banners VALUES(11,'Daily veggies ','store-images/1770429593455.jpg','Under 19 ',NULL,2,0,'2026-02-06T20:29:57.566Z','2026-02-06T20:30:39.410Z','[45,72,76,97,70,32,74,77,33]'); -INSERT INTO home_banners VALUES(44,'Demo2','store-images/1774018257330.jpg','Demo to test image upload',NULL,999,0,'2026-03-20T09:20:59.008Z','2026-03-20T09:20:59.008Z','[33]'); -INSERT INTO home_banners VALUES(45,'Demo4','store-images/1774104855151.jpg','Ferocious',NULL,999,0,'2026-03-21T09:24:17.745Z','2026-03-21T09:24:17.745Z','[]'); -INSERT INTO home_banners VALUES(46,'Tests banner','store-images/1774365560714.jpg','Testing things again',NULL,999,0,'2026-03-24T09:49:25.241Z','2026-03-24T09:49:25.241Z','[]'); CREATE TABLE IF NOT EXISTS "key_val_store" ("key" TEXT, "value" TEXT); INSERT INTO key_val_store VALUES('allItemsOrder','[10,57,99,75,33,90,51,27,6,35,67,97,58,29,65,77,79,5,19,20,14,82,25,56,66,16,83,91,64,36,22,11,1,76,43,94,93,17,47,87,81,50,2,44,59,45,38,85,42,13,55,95,37,34,31,28,18,60,9,84,61,80,7,68,49,69,23,53,4,52,98,63,73,21,78,24,8,74,46,89,40,88,100,72,96,41,86,70,92,26,54,71,48,15,32,62,39,12,3,30]'); -INSERT INTO key_val_store VALUES('androidVersion','1.2.0'); INSERT INTO key_val_store VALUES('appStoreUrl','https://info.freshyo.in/qr-based-download'); INSERT INTO key_val_store VALUES('deliveryCharge','12.0'); -INSERT INTO key_val_store VALUES('flashDeliveryCharge','45.0'); -INSERT INTO key_val_store VALUES('flashFreeDeliveryThreshold','500.0'); +INSERT INTO key_val_store VALUES('flashDeliveryCharge','39.0'); +INSERT INTO key_val_store VALUES('flashFreeDeliveryThreshold','799.0'); INSERT INTO key_val_store VALUES('freeDeliveryThreshold','180.0'); -INSERT INTO key_val_store VALUES('iosVersion','1.2.0'); INSERT INTO key_val_store VALUES('isFlashDeliveryEnabled','1.0'); INSERT INTO key_val_store VALUES('minRegularOrderValue','180.0'); INSERT INTO key_val_store VALUES('playStoreUrl','https://info.freshyo.in/qr-based-download'); -INSERT INTO key_val_store VALUES('popularItems','[23,9,75,98,6,24,59]'); +INSERT INTO key_val_store VALUES('popularItems','[23,109,9,75,98,6,24,59]'); INSERT INTO key_val_store VALUES('readableOrderId','160.0'); INSERT INTO key_val_store VALUES('supportEmail','qushammohd@gmail.com'); INSERT INTO key_val_store VALUES('supportMobile','9000885620.0'); INSERT INTO key_val_store VALUES('tester','value41'); INSERT INTO key_val_store VALUES('versionNum','1.2.0'); CREATE TABLE IF NOT EXISTS "notif_creds" ("id" INTEGER PRIMARY KEY, "token" TEXT NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "user_id" INTEGER NOT NULL, "last_verified" TEXT); -INSERT INTO notif_creds VALUES(3,'ExponentPushToken[iv6POIJTUIiGpkElL84fG7]','2026-02-07T11:16:24.831Z',7,'2026-02-24T00:15:43.239Z'); +INSERT INTO notif_creds VALUES(3,'ExponentPushToken[iv6POIJTUIiGpkElL84fG7]','2026-02-07T11:16:24.831Z',7,'2026-02-28T00:08:25.639Z'); INSERT INTO notif_creds VALUES(5,'ExponentPushToken[HnHTZNKG8TO0uuxIEus-PG]','2026-02-07T22:03:08.347Z',91,'2026-02-07T22:03:13.416Z'); -INSERT INTO notif_creds VALUES(6,'ExponentPushToken[UHMotrBnf-vEcprdmbwgIZ]','2026-02-07T23:41:11.318Z',98,'2026-02-08T00:48:44.187Z'); +INSERT INTO notif_creds VALUES(6,'ExponentPushToken[UHMotrBnf-vEcprdmbwgIZ]','2026-02-07T23:41:11.318Z',98,'2026-03-23T09:06:04.856Z'); INSERT INTO notif_creds VALUES(7,'ExponentPushToken[5lelv4B74He5Nhvhsar6bz]','2026-02-08T00:39:52.317Z',121,'2026-02-08T00:42:39.299Z'); INSERT INTO notif_creds VALUES(8,'ExponentPushToken[v9sccYJj1ubyT6IIQxbvnI]','2026-02-08T01:20:56.512Z',121,'2026-02-08T04:34:48.600Z'); -INSERT INTO notif_creds VALUES(9,'ExponentPushToken[Gzd1aWPU7x-2s4MHC66HgW]','2026-02-08T02:59:16.517Z',21,'2026-02-09T02:55:46.044Z'); +INSERT INTO notif_creds VALUES(9,'ExponentPushToken[Gzd1aWPU7x-2s4MHC66HgW]','2026-02-08T02:59:16.517Z',21,'2026-03-04T04:42:51.721Z'); INSERT INTO notif_creds VALUES(10,'ExponentPushToken[qDmbx7D1wEHMyxdeTQj70d]','2026-02-08T04:32:21.955Z',122,'2026-02-08T04:32:21.954Z'); -INSERT INTO notif_creds VALUES(11,'ExponentPushToken[Tsdy4SCnFIXCEU3c2rWW2f]','2026-02-08T04:50:08.729Z',12,'2026-02-14T00:57:01.965Z'); +INSERT INTO notif_creds VALUES(11,'ExponentPushToken[Tsdy4SCnFIXCEU3c2rWW2f]','2026-02-08T04:50:08.729Z',12,'2026-03-03T05:43:34.134Z'); INSERT INTO notif_creds VALUES(12,'ExponentPushToken[TEbTuZC7F2E9OJTzFHNeoa]','2026-02-08T08:30:08.387Z',2,'2026-02-10T09:45:05.213Z'); INSERT INTO notif_creds VALUES(14,'ExponentPushToken[RZKHsOC-WpryYm3Q50I86K]','2026-02-08T11:35:05.556Z',39,'2026-02-15T01:04:02.876Z'); -INSERT INTO notif_creds VALUES(15,'ExponentPushToken[VISDPrNjHVUy58fOF4jDWM]','2026-02-08T13:18:22.587Z',1,'2026-02-25T03:03:24.766Z'); INSERT INTO notif_creds VALUES(16,'ExponentPushToken[w4KTsLKnnp8SbURdl5-Q6x]','2026-02-08T23:42:12.594Z',22,'2026-02-08T23:42:15.073Z'); -INSERT INTO notif_creds VALUES(17,'ExponentPushToken[CvSnNAF6ZN9qCVAsEH21kv]','2026-02-09T03:27:37.036Z',65,'2026-02-16T09:52:41.038Z'); +INSERT INTO notif_creds VALUES(17,'ExponentPushToken[CvSnNAF6ZN9qCVAsEH21kv]','2026-02-09T03:27:37.036Z',65,'2026-03-03T05:59:43.630Z'); INSERT INTO notif_creds VALUES(18,'ExponentPushToken[qjCI58EqTOeyVk5yLFHGRq]','2026-02-09T05:48:51.370Z',123,'2026-02-09T05:48:51.369Z'); INSERT INTO notif_creds VALUES(19,'ExponentPushToken[mZo3TECtB4tDVgxkDOwev6]','2026-02-09T06:32:26.730Z',124,'2026-02-15T05:21:29.871Z'); INSERT INTO notif_creds VALUES(20,'ExponentPushToken[l527a0C4KT5Ez8aJL7K76l]','2026-02-09T06:40:39.831Z',107,'2026-02-09T06:40:43.875Z'); INSERT INTO notif_creds VALUES(21,'ExponentPushToken[WxQDABD09Hd7JBURDocB67]','2026-02-09T07:54:12.209Z',125,'2026-02-11T13:07:59.678Z'); -INSERT INTO notif_creds VALUES(22,'ExponentPushToken[81Io9TG3Qg0s3N0V8L86T-]','2026-02-09T08:42:50.649Z',4,'2026-02-23T03:15:48.191Z'); -INSERT INTO notif_creds VALUES(23,'ExponentPushToken[buJyUUCfCpMmsiXqb1--T4]','2026-02-09T10:27:32.198Z',38,'2026-02-25T00:37:28.465Z'); +INSERT INTO notif_creds VALUES(22,'ExponentPushToken[81Io9TG3Qg0s3N0V8L86T-]','2026-02-09T08:42:50.649Z',4,'2026-03-26T00:15:08.837Z'); +INSERT INTO notif_creds VALUES(23,'ExponentPushToken[buJyUUCfCpMmsiXqb1--T4]','2026-02-09T10:27:32.198Z',38,'2026-03-25T01:07:06.114Z'); INSERT INTO notif_creds VALUES(24,'ExponentPushToken[B2zWnHNaumIgbeFFKO-15D]','2026-02-09T14:23:37.594Z',113,'2026-02-10T02:13:48.632Z'); -INSERT INTO notif_creds VALUES(25,'ExponentPushToken[wIhrdlAmwj0Eytvz3W3TTZ]','2026-02-10T05:39:24.848Z',127,'2026-02-11T10:41:39.340Z'); +INSERT INTO notif_creds VALUES(25,'ExponentPushToken[wIhrdlAmwj0Eytvz3W3TTZ]','2026-02-10T05:39:24.848Z',127,'2026-03-11T12:21:31.598Z'); INSERT INTO notif_creds VALUES(26,'ExponentPushToken[hFUlPFOKMdAUgtDP7EtSzM]','2026-02-10T06:03:43.821Z',3,'2026-02-24T05:46:46.799Z'); -INSERT INTO notif_creds VALUES(27,'ExponentPushToken[NymZTEED3G7YCyDg7ihgBA]','2026-02-10T21:46:04.540Z',2,'2026-02-25T02:12:27.021Z'); -INSERT INTO notif_creds VALUES(28,'ExponentPushToken[ARCT4KD7CJ_pFF_GkywepP]','2026-02-11T06:04:32.238Z',115,'2026-02-22T11:49:39.347Z'); +INSERT INTO notif_creds VALUES(27,'ExponentPushToken[NymZTEED3G7YCyDg7ihgBA]','2026-02-10T21:46:04.540Z',2,'2026-03-28T09:23:08.359Z'); +INSERT INTO notif_creds VALUES(28,'ExponentPushToken[ARCT4KD7CJ_pFF_GkywepP]','2026-02-11T06:04:32.238Z',115,'2026-03-25T01:09:02.495Z'); INSERT INTO notif_creds VALUES(29,'ExponentPushToken[NN4v16BFslBX8ryVXDwQIg]','2026-02-12T03:16:42.421Z',128,'2026-02-17T13:34:12.936Z'); INSERT INTO notif_creds VALUES(30,'ExponentPushToken[qbteKBC1wbLMCe1ltpul7u]','2026-02-12T07:58:00.376Z',129,'2026-02-12T07:58:00.375Z'); INSERT INTO notif_creds VALUES(31,'ExponentPushToken[PfjMc_CTRvSvOWtSNmaHhL]','2026-02-14T04:55:41.451Z',131,'2026-02-21T01:58:28.454Z'); -INSERT INTO notif_creds VALUES(32,'ExponentPushToken[dugZtvNyRBevvIcQED783-]','2026-02-14T13:12:44.549Z',120,'2026-02-21T22:33:17.004Z'); -INSERT INTO notif_creds VALUES(33,'ExponentPushToken[5AOIo1AxGkk5zpoVANRRxq]','2026-02-14T23:05:26.237Z',132,'2026-02-25T02:45:27.434Z'); +INSERT INTO notif_creds VALUES(32,'ExponentPushToken[dugZtvNyRBevvIcQED783-]','2026-02-14T13:12:44.549Z',120,'2026-03-28T22:38:56.796Z'); +INSERT INTO notif_creds VALUES(33,'ExponentPushToken[5AOIo1AxGkk5zpoVANRRxq]','2026-02-14T23:05:26.237Z',132,'2026-03-19T07:21:41.181Z'); INSERT INTO notif_creds VALUES(34,'ExponentPushToken[1ZJ_ubPRINgtgfF4JcRz7Q]','2026-02-15T01:15:32.122Z',133,'2026-02-15T01:15:32.121Z'); INSERT INTO notif_creds VALUES(35,'ExponentPushToken[pIQ2waNDjjSHjQYJbXKD8m]','2026-02-15T01:44:10.912Z',9,'2026-02-15T01:44:10.910Z'); -INSERT INTO notif_creds VALUES(36,'ExponentPushToken[93-_2gEHMwejR3miLX0RGU]','2026-02-15T22:24:33.307Z',1,'2026-03-26T05:56:10.685Z'); INSERT INTO notif_creds VALUES(37,'ExponentPushToken[kq0I8ADfcQ4VcsZ0yK0Mlc]','2026-02-15T22:31:56.375Z',102,'2026-02-15T22:31:56.374Z'); INSERT INTO notif_creds VALUES(38,'ExponentPushToken[8wH85rFtQRMk7ciFszmirX]','2026-02-16T04:00:32.930Z',134,'2026-02-22T01:32:06.467Z'); -INSERT INTO notif_creds VALUES(39,'ExponentPushToken[YJRSQmMUEUbaI2VCZLaoN_]','2026-02-16T04:19:56.439Z',6,'2026-02-22T05:05:18.294Z'); +INSERT INTO notif_creds VALUES(39,'ExponentPushToken[YJRSQmMUEUbaI2VCZLaoN_]','2026-02-16T04:19:56.439Z',6,'2026-03-29T06:31:18.171Z'); INSERT INTO notif_creds VALUES(40,'ExponentPushToken[QoWbURL2N8-3jRhQwfnRP_]','2026-02-17T03:29:14.561Z',135,'2026-02-17T03:29:14.561Z'); INSERT INTO notif_creds VALUES(41,'ExponentPushToken[sz_g75Il_CNAG6KpEAxYUH]','2026-02-17T07:26:33.589Z',136,'2026-02-21T03:12:45.220Z'); INSERT INTO notif_creds VALUES(42,'ExponentPushToken[JMEvkUHKT0n34hcs-MiJAJ]','2026-02-17T08:52:02.805Z',137,'2026-02-17T13:05:14.821Z'); INSERT INTO notif_creds VALUES(43,'ExponentPushToken[1msqBjJghAi4y8iYwJU-mS]','2026-02-17T09:06:43.131Z',138,'2026-02-23T02:25:49.796Z'); INSERT INTO notif_creds VALUES(44,'ExponentPushToken[Wvc-xZKA5atNZTuIldtSIw]','2026-02-17T09:22:56.267Z',139,'2026-02-22T03:54:47.956Z'); INSERT INTO notif_creds VALUES(45,'ExponentPushToken[cZOImkGKtoAxHQZgVtqP2K]','2026-02-17T13:47:10.364Z',140,'2026-02-20T04:17:44.482Z'); -INSERT INTO notif_creds VALUES(46,'ExponentPushToken[Z9RdieHVKXjshIx5Fde2N_]','2026-02-17T19:44:42.642Z',141,'2026-02-23T22:43:32.802Z'); -INSERT INTO notif_creds VALUES(47,'ExponentPushToken[y_gztJB3YIgxaTIe90h081]','2026-02-17T21:39:14.285Z',26,'2026-02-21T01:15:53.015Z'); +INSERT INTO notif_creds VALUES(46,'ExponentPushToken[Z9RdieHVKXjshIx5Fde2N_]','2026-02-17T19:44:42.642Z',141,'2026-03-22T22:47:00.750Z'); +INSERT INTO notif_creds VALUES(47,'ExponentPushToken[y_gztJB3YIgxaTIe90h081]','2026-02-17T21:39:14.285Z',26,'2026-03-16T03:34:10.932Z'); INSERT INTO notif_creds VALUES(48,'ExponentPushToken[PwdA7uENlBKK9zfX0IUQHX]','2026-02-17T22:23:25.609Z',142,'2026-02-17T22:28:05.274Z'); INSERT INTO notif_creds VALUES(49,'ExponentPushToken[I9t84QIYuJ2wkBXTQCrWiO]','2026-02-17T22:54:14.079Z',143,'2026-02-20T01:53:38.305Z'); INSERT INTO notif_creds VALUES(50,'ExponentPushToken[q6CpdyAjzrLcX5h-XyT2qd]','2026-02-18T00:19:05.701Z',119,'2026-02-18T01:54:00.101Z'); INSERT INTO notif_creds VALUES(51,'ExponentPushToken[t9-luuLjLIZy__1AFGQne9]','2026-02-18T03:32:56.669Z',144,'2026-02-18T10:07:23.052Z'); INSERT INTO notif_creds VALUES(52,'ExponentPushToken[LMwZ9hA618rm1SBbnSpLka]','2026-02-18T03:39:58.906Z',145,'2026-02-18T04:47:29.431Z'); -INSERT INTO notif_creds VALUES(53,'ExponentPushToken[Gb4KieGJIaPnwHmzTYtcMv]','2026-02-18T04:29:40.489Z',146,'2026-02-25T01:51:55.372Z'); +INSERT INTO notif_creds VALUES(53,'ExponentPushToken[Gb4KieGJIaPnwHmzTYtcMv]','2026-02-18T04:29:40.489Z',146,'2026-03-19T07:44:04.282Z'); INSERT INTO notif_creds VALUES(54,'ExponentPushToken[B74UidJrvnrP8wBb_rHdAC]','2026-02-18T05:14:13.691Z',147,'2026-02-23T03:08:19.771Z'); -INSERT INTO notif_creds VALUES(55,'ExponentPushToken[x2VSb-OGOkn6ivVxpzk6tX]','2026-02-18T06:52:43.429Z',24,'2026-02-23T02:24:07.334Z'); -INSERT INTO notif_creds VALUES(56,'ExponentPushToken[qh6APjAuydb_LnlN4DqYsO]','2026-02-18T07:16:15.407Z',82,'2026-02-22T17:42:52.899Z'); -INSERT INTO notif_creds VALUES(57,'ExponentPushToken[2o572RMsmVSFjUamLuEcoU]','2026-02-18T07:29:53.266Z',148,'2026-02-20T06:08:25.014Z'); +INSERT INTO notif_creds VALUES(55,'ExponentPushToken[x2VSb-OGOkn6ivVxpzk6tX]','2026-02-18T06:52:43.429Z',24,'2026-03-14T03:30:21.475Z'); +INSERT INTO notif_creds VALUES(56,'ExponentPushToken[qh6APjAuydb_LnlN4DqYsO]','2026-02-18T07:16:15.407Z',82,'2026-03-28T23:51:15.391Z'); +INSERT INTO notif_creds VALUES(57,'ExponentPushToken[2o572RMsmVSFjUamLuEcoU]','2026-02-18T07:29:53.266Z',148,'2026-02-28T06:14:18.100Z'); INSERT INTO notif_creds VALUES(58,'ExponentPushToken[3kQdCMDTdTPoDMGP05IITB]','2026-02-18T09:09:16.947Z',149,'2026-02-24T07:04:44.462Z'); INSERT INTO notif_creds VALUES(59,'ExponentPushToken[oHNDFzFcWPaMrr6UuCUaUd]','2026-02-18T09:11:42.373Z',150,'2026-02-19T04:45:17.727Z'); INSERT INTO notif_creds VALUES(60,'ExponentPushToken[yjbwNxNUlwI3Gg2xmg_zEL]','2026-02-18T09:21:04.075Z',151,'2026-02-23T03:16:34.760Z'); INSERT INTO notif_creds VALUES(61,'ExponentPushToken[WoLNBzF_Z7S79-otdUf4hA]','2026-02-18T10:43:23.031Z',152,'2026-02-18T10:47:26.759Z'); INSERT INTO notif_creds VALUES(62,'ExponentPushToken[VBwbhYESzYkrYBaJNOr_Cd]','2026-02-18T13:29:45.807Z',153,'2026-02-24T13:08:44.803Z'); -INSERT INTO notif_creds VALUES(63,'ExponentPushToken[efBUNsNPuI9UiZMSyisyrS]','2026-02-18T23:28:22.392Z',154,'2026-02-18T23:28:55.761Z'); +INSERT INTO notif_creds VALUES(63,'ExponentPushToken[efBUNsNPuI9UiZMSyisyrS]','2026-02-18T23:28:22.392Z',154,'2026-02-25T07:42:48.160Z'); INSERT INTO notif_creds VALUES(64,'ExponentPushToken[yoRlFwEZScYynd7F-b0EbZ]','2026-02-18T23:41:30.251Z',155,'2026-02-23T09:36:00.904Z'); INSERT INTO notif_creds VALUES(65,'ExponentPushToken[QYu6kOP5XdkvJoa8BrF94D]','2026-02-18T23:57:33.153Z',156,'2026-02-23T06:19:11.964Z'); -INSERT INTO notif_creds VALUES(66,'ExponentPushToken[XB2QNBIw79ZsuLKMvoC75T]','2026-02-19T01:01:38.648Z',99,'2026-02-24T08:37:14.569Z'); +INSERT INTO notif_creds VALUES(66,'ExponentPushToken[XB2QNBIw79ZsuLKMvoC75T]','2026-02-19T01:01:38.648Z',99,'2026-03-28T05:06:41.112Z'); INSERT INTO notif_creds VALUES(67,'ExponentPushToken[JR8jlxCcjA6zSt1sIsEaFs]','2026-02-19T01:25:18.880Z',157,'2026-02-19T01:28:03.367Z'); -INSERT INTO notif_creds VALUES(68,'ExponentPushToken[yF2OgLNRsS-YpjLTkltwb7]','2026-02-19T01:44:36.670Z',158,'2026-02-24T05:24:44.962Z'); -INSERT INTO notif_creds VALUES(69,'ExponentPushToken[x4igFdIV9grI1HW3WI-4pI]','2026-02-19T02:15:42.349Z',66,'2026-02-25T02:57:31.607Z'); +INSERT INTO notif_creds VALUES(68,'ExponentPushToken[yF2OgLNRsS-YpjLTkltwb7]','2026-02-19T01:44:36.670Z',158,'2026-03-18T04:50:01.064Z'); +INSERT INTO notif_creds VALUES(69,'ExponentPushToken[x4igFdIV9grI1HW3WI-4pI]','2026-02-19T02:15:42.349Z',66,'2026-03-27T03:50:10.594Z'); INSERT INTO notif_creds VALUES(70,'ExponentPushToken[UrQXC8Eln55JuaZPjM9Ui-]','2026-02-19T02:26:27.728Z',118,'2026-02-19T02:26:27.727Z'); INSERT INTO notif_creds VALUES(71,'ExponentPushToken[V3hUgLCihO9nsDNBx0uPA6]','2026-02-19T03:38:53.530Z',159,'2026-02-19T05:45:13.240Z'); -INSERT INTO notif_creds VALUES(72,'ExponentPushToken[ivyzcdINsQ3zwCkjlvbAv6]','2026-02-19T03:46:26.528Z',160,'2026-02-23T00:16:28.336Z'); +INSERT INTO notif_creds VALUES(72,'ExponentPushToken[ivyzcdINsQ3zwCkjlvbAv6]','2026-02-19T03:46:26.528Z',160,'2026-03-05T00:06:14.270Z'); INSERT INTO notif_creds VALUES(73,'ExponentPushToken[UBKsoGEwMZLkm4B3wUtx5S]','2026-02-19T03:53:26.723Z',64,'2026-02-21T02:22:49.103Z'); INSERT INTO notif_creds VALUES(74,'ExponentPushToken[8DeRubBDyrcnTSLEd0eYje]','2026-02-19T04:25:24.491Z',161,'2026-02-22T04:34:09.916Z'); INSERT INTO notif_creds VALUES(76,'ExponentPushToken[AYJ8CwAMYzVS9VIFLdgWZw]','2026-02-19T05:06:22.547Z',162,'2026-02-19T05:09:49.327Z'); @@ -698,13 +981,13 @@ INSERT INTO notif_creds VALUES(78,'ExponentPushToken[3ytgOdB6DwYeWZEbsYrcPT]','2 INSERT INTO notif_creds VALUES(79,'ExponentPushToken[jYpwSQIh9pvCLtSH0WYq5F]','2026-02-19T10:26:49.976Z',165,'2026-02-22T04:41:48.209Z'); INSERT INTO notif_creds VALUES(80,'ExponentPushToken[dcm7FmItp3TsKicDlHnkc2]','2026-02-19T12:05:06.988Z',166,'2026-02-19T12:05:06.987Z'); INSERT INTO notif_creds VALUES(83,'ExponentPushToken[4AaCLjFOFe00dA_VppqThU]','2026-02-20T03:19:35.125Z',167,'2026-02-23T07:58:42.730Z'); -INSERT INTO notif_creds VALUES(84,'ExponentPushToken[58ID1kBjfcym3CJINcQD1b]','2026-02-20T03:35:57.056Z',169,'2026-02-20T11:05:08.705Z'); -INSERT INTO notif_creds VALUES(85,'ExponentPushToken[1BrdooOKzJj_P5fDkR3VWJ]','2026-02-20T03:53:54.652Z',170,'2026-02-24T04:56:33.324Z'); -INSERT INTO notif_creds VALUES(86,'ExponentPushToken[j1wJcqI6zGjw3c5oI-Dx9x]','2026-02-20T04:00:53.707Z',172,'2026-02-20T05:14:51.085Z'); +INSERT INTO notif_creds VALUES(84,'ExponentPushToken[58ID1kBjfcym3CJINcQD1b]','2026-02-20T03:35:57.056Z',169,'2026-03-19T05:27:30.280Z'); +INSERT INTO notif_creds VALUES(85,'ExponentPushToken[1BrdooOKzJj_P5fDkR3VWJ]','2026-02-20T03:53:54.652Z',170,'2026-03-11T01:27:45.098Z'); +INSERT INTO notif_creds VALUES(86,'ExponentPushToken[j1wJcqI6zGjw3c5oI-Dx9x]','2026-02-20T04:00:53.707Z',172,'2026-03-20T04:18:18.761Z'); INSERT INTO notif_creds VALUES(89,'ExponentPushToken[6y3qNeJGgyakoSunKhEJT-]','2026-02-20T04:08:13.997Z',173,'2026-02-21T02:20:17.087Z'); INSERT INTO notif_creds VALUES(93,'ExponentPushToken[T7gjPaDVOJQtJ5anemtNYZ]','2026-02-20T05:29:10.123Z',174,'2026-02-21T11:21:22.446Z'); INSERT INTO notif_creds VALUES(94,'ExponentPushToken[bSn2s-AWE2bPZFmNbR3wBr]','2026-02-20T05:49:58.947Z',175,'2026-02-23T11:23:09.680Z'); -INSERT INTO notif_creds VALUES(95,'ExponentPushToken[nP7cTjChjAdo68V5rXbjX2]','2026-02-20T05:59:42.482Z',176,'2026-02-20T08:05:40.295Z'); +INSERT INTO notif_creds VALUES(95,'ExponentPushToken[nP7cTjChjAdo68V5rXbjX2]','2026-02-20T05:59:42.482Z',176,'2026-03-16T07:20:21.716Z'); INSERT INTO notif_creds VALUES(96,'ExponentPushToken[7mwTBgFGWCsZ5bQW2Xn-8j]','2026-02-20T06:50:35.197Z',177,'2026-02-20T09:32:51.775Z'); INSERT INTO notif_creds VALUES(97,'ExponentPushToken[Y1nFTyC4zbqVCw38UPwEh1]','2026-02-20T07:20:34.337Z',74,'2026-02-21T08:16:21.124Z'); INSERT INTO notif_creds VALUES(98,'ExponentPushToken[SiFDTqAbkzt6Gqhy7CDvup]','2026-02-20T08:36:23.058Z',178,'2026-02-21T20:53:16.045Z'); @@ -713,18 +996,18 @@ INSERT INTO notif_creds VALUES(100,'ExponentPushToken[2ZZr7mF_h2lch2VVqcFCLs]',' INSERT INTO notif_creds VALUES(101,'ExponentPushToken[6l-WlJL-dUG2BixclCkzSa]','2026-02-20T13:32:52.357Z',181,'2026-02-21T10:23:21.219Z'); INSERT INTO notif_creds VALUES(102,'ExponentPushToken[GWm8_aOevnr5ec38AN858s]','2026-02-20T17:13:24.944Z',182,'2026-02-20T17:13:24.942Z'); INSERT INTO notif_creds VALUES(103,'ExponentPushToken[IfWmkbPqhvki2Ddpx20WN5]','2026-02-20T18:20:19.602Z',183,'2026-02-20T18:20:19.601Z'); -INSERT INTO notif_creds VALUES(106,'ExponentPushToken[DPeHKsBNbTJ74b4C69d_1e]','2026-02-20T22:45:31.155Z',184,'2026-02-24T05:12:12.438Z'); +INSERT INTO notif_creds VALUES(106,'ExponentPushToken[DPeHKsBNbTJ74b4C69d_1e]','2026-02-20T22:45:31.155Z',184,'2026-03-18T05:34:23.478Z'); INSERT INTO notif_creds VALUES(107,'ExponentPushToken[4mdT-7ILy1RkxkKGHVeFih]','2026-02-21T02:47:55.879Z',185,'2026-02-21T02:48:55.139Z'); INSERT INTO notif_creds VALUES(108,'ExponentPushToken[OYJNU2Hl_BHC8vNmnh5nIa]','2026-02-21T03:35:03.666Z',186,'2026-02-21T18:26:53.165Z'); -INSERT INTO notif_creds VALUES(110,'ExponentPushToken[2KeIQoIW7_xfYnmYKLjIxX]','2026-02-21T07:16:33.392Z',188,'2026-02-21T07:16:33.391Z'); +INSERT INTO notif_creds VALUES(110,'ExponentPushToken[2KeIQoIW7_xfYnmYKLjIxX]','2026-02-21T07:16:33.392Z',188,'2026-03-20T08:05:09.142Z'); INSERT INTO notif_creds VALUES(112,'ExponentPushToken[-o5CHgOgd7yq4gBoUKQdhA]','2026-02-21T13:01:23.842Z',189,'2026-02-21T13:04:47.429Z'); INSERT INTO notif_creds VALUES(113,'ExponentPushToken[QC4khLHZvU0B2xDfMuLxrr]','2026-02-21T13:29:03.311Z',190,'2026-02-24T07:23:45.452Z'); -INSERT INTO notif_creds VALUES(115,'ExponentPushToken[7xOFPzKtSr9Q3QjuGP_1RY]','2026-02-21T17:55:28.063Z',191,'2026-02-23T05:05:54.186Z'); -INSERT INTO notif_creds VALUES(117,'ExponentPushToken[FQkh_ZP1lkQyiNnxXEqr4E]','2026-02-22T00:12:36.263Z',194,'2026-02-25T02:28:06.068Z'); +INSERT INTO notif_creds VALUES(115,'ExponentPushToken[7xOFPzKtSr9Q3QjuGP_1RY]','2026-02-21T17:55:28.063Z',191,'2026-02-26T04:22:08.545Z'); +INSERT INTO notif_creds VALUES(117,'ExponentPushToken[FQkh_ZP1lkQyiNnxXEqr4E]','2026-02-22T00:12:36.263Z',194,'2026-03-13T05:29:48.166Z'); INSERT INTO notif_creds VALUES(118,'ExponentPushToken[FCF4nPGQZlVobJpYtPMA1V]','2026-02-22T00:57:19.376Z',195,'2026-02-22T00:57:19.375Z'); INSERT INTO notif_creds VALUES(119,'ExponentPushToken[IwM94nPyLTuoLgc-dgwPTq]','2026-02-22T00:58:28.876Z',196,'2026-02-22T01:49:01.069Z'); INSERT INTO notif_creds VALUES(120,'ExponentPushToken[jIY_4pLTlau3wASP_0TYDq]','2026-02-22T01:05:29.613Z',197,'2026-02-22T02:22:29.991Z'); -INSERT INTO notif_creds VALUES(121,'ExponentPushToken[HaF3clPj70n8AdWkidFnJY]','2026-02-22T01:07:17.891Z',198,'2026-02-22T04:30:02.306Z'); +INSERT INTO notif_creds VALUES(121,'ExponentPushToken[HaF3clPj70n8AdWkidFnJY]','2026-02-22T01:07:17.891Z',198,'2026-03-28T06:33:58.064Z'); INSERT INTO notif_creds VALUES(122,'ExponentPushToken[dqK4JpEi2SUuPBPRqDHGTE]','2026-02-22T01:14:27.496Z',199,'2026-02-24T23:33:42.767Z'); INSERT INTO notif_creds VALUES(123,'ExponentPushToken[gJFheJE7Ie9y42gYqTz0cv]','2026-02-22T02:01:38.770Z',200,'2026-02-22T02:01:38.769Z'); INSERT INTO notif_creds VALUES(124,'ExponentPushToken[Z07jHhEkYiW820OA8-mYma]','2026-02-22T02:01:45.615Z',201,'2026-02-22T02:01:45.614Z'); @@ -732,9 +1015,9 @@ INSERT INTO notif_creds VALUES(125,'ExponentPushToken[I4TLMrA8fhjU4YDnC9ssrj]',' INSERT INTO notif_creds VALUES(126,'ExponentPushToken[zOk8M4FBYHztnQIxr7ZhzY]','2026-02-22T03:02:38.558Z',203,'2026-02-22T03:02:38.558Z'); INSERT INTO notif_creds VALUES(127,'ExponentPushToken[H94IyWDEhTwZiV_PsomZ86]','2026-02-22T03:19:56.829Z',204,'2026-02-22T07:59:51.430Z'); INSERT INTO notif_creds VALUES(128,'ExponentPushToken[700fYUMqIA-ft5HcmU1tmR]','2026-02-22T03:22:47.498Z',205,'2026-02-22T03:53:07.395Z'); -INSERT INTO notif_creds VALUES(129,'ExponentPushToken[1Mq1TLEfmyCHBvCoTdYzlA]','2026-02-22T04:20:20.012Z',206,'2026-02-22T05:05:52.419Z'); +INSERT INTO notif_creds VALUES(129,'ExponentPushToken[1Mq1TLEfmyCHBvCoTdYzlA]','2026-02-22T04:20:20.012Z',206,'2026-03-01T01:29:41.829Z'); INSERT INTO notif_creds VALUES(130,'ExponentPushToken[_4SQFkNreSaKN8HJCwkO0d]','2026-02-22T04:24:10.912Z',207,'2026-02-22T04:24:10.911Z'); -INSERT INTO notif_creds VALUES(131,'ExponentPushToken[nMmoPDNa2B-FzS0tTKUVJq]','2026-02-22T04:37:00.262Z',208,'2026-02-25T03:26:36.919Z'); +INSERT INTO notif_creds VALUES(131,'ExponentPushToken[nMmoPDNa2B-FzS0tTKUVJq]','2026-02-22T04:37:00.262Z',208,'2026-03-25T10:53:55.116Z'); INSERT INTO notif_creds VALUES(132,'ExponentPushToken[_KlKvdPBjid4uWtGl9oj1w]','2026-02-22T04:43:50.020Z',209,'2026-02-22T04:43:50.019Z'); INSERT INTO notif_creds VALUES(133,'ExponentPushToken[lUQnqhGJAN_4YY4wQ9AsxU]','2026-02-22T05:14:35.973Z',210,'2026-02-22T05:14:35.972Z'); INSERT INTO notif_creds VALUES(134,'ExponentPushToken[9MdSNKGJEuTvO7e_pUGutQ]','2026-02-22T06:00:13.290Z',212,'2026-02-23T00:39:33.185Z'); @@ -742,21 +1025,114 @@ INSERT INTO notif_creds VALUES(135,'ExponentPushToken[O8hwqtKbEc8aWG_xDyiTng]',' INSERT INTO notif_creds VALUES(136,'ExponentPushToken[8C19GxE0u9UAVhJurTSUCD]','2026-02-22T06:33:55.924Z',214,'2026-02-22T06:33:55.924Z'); INSERT INTO notif_creds VALUES(137,'ExponentPushToken[O-HudjMpRjEPPtOY7P8xNf]','2026-02-22T06:59:10.922Z',215,'2026-02-22T06:59:10.921Z'); INSERT INTO notif_creds VALUES(138,'ExponentPushToken[3vLy4aIVVz6JhDs28edZ7A]','2026-02-22T07:13:12.618Z',216,'2026-02-22T07:13:12.618Z'); -INSERT INTO notif_creds VALUES(139,'ExponentPushToken[gd9P-IJzX8mPS8WIQ4L_aO]','2026-02-22T07:30:21.756Z',217,'2026-02-24T03:15:03.767Z'); -INSERT INTO notif_creds VALUES(140,'ExponentPushToken[Lyp_JhEp-mzptQkxT2gV5j]','2026-02-22T14:03:46.271Z',50,'2026-02-24T23:40:50.787Z'); -INSERT INTO notif_creds VALUES(141,'ExponentPushToken[bKljnNAKOQhNtEuFH61wdv]','2026-02-23T00:50:17.502Z',219,'2026-02-24T02:54:24.861Z'); -INSERT INTO notif_creds VALUES(143,'ExponentPushToken[4MaEIUHLXJTeIUk5Tw2Bre]','2026-02-23T01:39:34.734Z',220,'2026-02-23T01:39:34.734Z'); +INSERT INTO notif_creds VALUES(139,'ExponentPushToken[gd9P-IJzX8mPS8WIQ4L_aO]','2026-02-22T07:30:21.756Z',217,'2026-02-28T13:41:45.274Z'); +INSERT INTO notif_creds VALUES(140,'ExponentPushToken[Lyp_JhEp-mzptQkxT2gV5j]','2026-02-22T14:03:46.271Z',50,'2026-03-28T03:02:42.924Z'); +INSERT INTO notif_creds VALUES(141,'ExponentPushToken[bKljnNAKOQhNtEuFH61wdv]','2026-02-23T00:50:17.502Z',219,'2026-02-27T07:26:44.618Z'); +INSERT INTO notif_creds VALUES(143,'ExponentPushToken[4MaEIUHLXJTeIUk5Tw2Bre]','2026-02-23T01:39:34.734Z',220,'2026-02-25T04:48:45.152Z'); INSERT INTO notif_creds VALUES(144,'ExponentPushToken[WFqHJnGXt5zJQgezyZMT-F]','2026-02-23T02:13:14.745Z',221,'2026-02-23T02:13:14.744Z'); -INSERT INTO notif_creds VALUES(146,'ExponentPushToken[_w34c8IpadSoTyzQIgfiRf]','2026-02-23T03:24:04.981Z',222,'2026-02-23T07:32:10.879Z'); +INSERT INTO notif_creds VALUES(146,'ExponentPushToken[_w34c8IpadSoTyzQIgfiRf]','2026-02-23T03:24:04.981Z',222,'2026-02-25T13:31:27.103Z'); INSERT INTO notif_creds VALUES(147,'ExponentPushToken[BAMOz8A3uZ98l8lIIF5cvC]','2026-02-23T03:32:38.907Z',218,'2026-02-24T23:29:49.706Z'); -INSERT INTO notif_creds VALUES(148,'ExponentPushToken[PnJS6KN--CeuepgdgEOUKz]','2026-02-23T03:46:06.431Z',223,'2026-02-23T06:35:54.102Z'); -INSERT INTO notif_creds VALUES(149,'ExponentPushToken[q6LVtfMMHCmI-CVuzkjete]','2026-02-23T04:36:52.684Z',224,'2026-02-24T03:00:47.885Z'); +INSERT INTO notif_creds VALUES(148,'ExponentPushToken[PnJS6KN--CeuepgdgEOUKz]','2026-02-23T03:46:06.431Z',223,'2026-03-11T08:53:44.109Z'); +INSERT INTO notif_creds VALUES(149,'ExponentPushToken[q6LVtfMMHCmI-CVuzkjete]','2026-02-23T04:36:52.684Z',224,'2026-03-06T05:44:45.011Z'); INSERT INTO notif_creds VALUES(151,'ExponentPushToken[qFtLZVFHGA-08finEVoLvk]','2026-02-23T06:41:17.865Z',225,'2026-02-23T11:53:56.553Z'); INSERT INTO notif_creds VALUES(152,'ExponentPushToken[f8BfgiIMzCgsrT8D0GrcbC]','2026-02-23T08:30:40.686Z',226,'2026-02-24T01:31:30.979Z'); INSERT INTO notif_creds VALUES(153,'ExponentPushToken[Tlj0Y5ENGMH1gqQMOE4Vet]','2026-02-23T22:38:49.132Z',228,'2026-02-23T22:38:49.131Z'); INSERT INTO notif_creds VALUES(154,'ExponentPushToken[xpA3OSLWnk2-oUz2J_jq9V]','2026-02-24T07:52:52.533Z',15,'2026-02-24T07:52:52.532Z'); INSERT INTO notif_creds VALUES(155,'ExponentPushToken[LkHZ5lKBW9CMi6UWZ1jZvJ]','2026-02-24T12:27:39.430Z',231,'2026-02-24T12:27:39.429Z'); INSERT INTO notif_creds VALUES(156,'ExponentPushToken[HpS7v_O9a0YX-ctUWczWc9]','2026-02-24T14:49:55.883Z',232,'2026-02-24T14:49:55.882Z'); +INSERT INTO notif_creds VALUES(157,'ExponentPushToken[mrZzELHE2ZzIjq_g9c8zBt]','2026-02-25T07:44:50.622Z',154,'2026-02-25T07:44:50.621Z'); +INSERT INTO notif_creds VALUES(158,'ExponentPushToken[F-I7PMADM4NX-5627VQTx8]','2026-02-25T08:51:36.646Z',234,'2026-02-25T08:51:36.645Z'); +INSERT INTO notif_creds VALUES(159,'ExponentPushToken[8HgCUFBsI9nZNuh-hjMOJ_]','2026-02-25T14:41:46.042Z',235,'2026-03-11T11:04:22.911Z'); +INSERT INTO notif_creds VALUES(160,'ExponentPushToken[SQrh7BHq1d_fyLyy81oMx7]','2026-02-26T04:57:18.144Z',237,'2026-02-26T04:57:18.144Z'); +INSERT INTO notif_creds VALUES(161,'ExponentPushToken[RYvsY_DqG7Y6pgtJ5qX-K0]','2026-02-26T05:04:55.500Z',236,'2026-03-20T20:24:49.843Z'); +INSERT INTO notif_creds VALUES(162,'ExponentPushToken[1NpIs7E8yNJwZot2vsITWr]','2026-02-26T05:11:28.309Z',238,'2026-02-26T06:17:25.799Z'); +INSERT INTO notif_creds VALUES(163,'ExponentPushToken[E_fFIxJ3kQLlxD9P_-4hAC]','2026-02-26T05:47:49.879Z',239,'2026-02-26T05:48:23.955Z'); +INSERT INTO notif_creds VALUES(165,'ExponentPushToken[K511csDWcit0dWEirbgbzi]','2026-02-27T01:34:00.681Z',240,'2026-02-28T10:11:55.679Z'); +INSERT INTO notif_creds VALUES(166,'ExponentPushToken[MfRngZOhpCB7E3V9RdMZSv]','2026-02-27T03:23:11.807Z',241,'2026-03-03T06:53:45.086Z'); +INSERT INTO notif_creds VALUES(167,'ExponentPushToken[7_2BsnHaPnqeRmS1UhKxVV]','2026-02-27T03:25:32.911Z',242,'2026-02-27T05:08:00.341Z'); +INSERT INTO notif_creds VALUES(168,'ExponentPushToken[O97M2AI7zuVbU5f4uM4VQt]','2026-02-27T04:39:30.960Z',243,'2026-03-06T04:02:41.352Z'); +INSERT INTO notif_creds VALUES(169,'ExponentPushToken[1OiPCiNz2M-HNY_r1Rqp6W]','2026-02-27T06:21:20.794Z',244,'2026-03-08T05:39:06.330Z'); +INSERT INTO notif_creds VALUES(170,'ExponentPushToken[9AiqjsI6hJ6YjGJ_KcgO2I]','2026-02-28T00:01:18.743Z',246,'2026-03-24T06:53:25.228Z'); +INSERT INTO notif_creds VALUES(171,'ExponentPushToken[OuDYj9C40QvJdE0mjvGnJJ]','2026-03-01T02:37:04.795Z',247,'2026-03-01T03:02:20.173Z'); +INSERT INTO notif_creds VALUES(172,'ExponentPushToken[EhQ5xpIqjKR1dYQeye8QJ9]','2026-03-01T02:49:19.051Z',245,'2026-03-04T09:32:44.108Z'); +INSERT INTO notif_creds VALUES(173,'ExponentPushToken[c6dahyP6YmPF9fCuqgt8CC]','2026-03-01T03:44:36.286Z',93,'2026-03-01T03:44:36.286Z'); +INSERT INTO notif_creds VALUES(174,'ExponentPushToken[gNBguFFceE2kNkLWRCdUma]','2026-03-02T01:38:01.400Z',249,'2026-03-04T06:25:06.746Z'); +INSERT INTO notif_creds VALUES(175,'ExponentPushToken[1wOEHBCH7bCIx3LzleZLnu]','2026-03-02T03:40:41.738Z',250,'2026-03-29T01:26:42.557Z'); +INSERT INTO notif_creds VALUES(176,'ExponentPushToken[KNnVd_Ou8eRzSOPqN-GpUG]','2026-03-03T04:27:37.076Z',251,'2026-03-10T03:00:45.112Z'); +INSERT INTO notif_creds VALUES(178,'ExponentPushToken[7GSJrGD9NaX281KgJzBLLH]','2026-03-03T08:36:35.808Z',253,'2026-03-03T08:36:35.807Z'); +INSERT INTO notif_creds VALUES(179,'ExponentPushToken[UcUA5tEEV70FB2Ntz-oFJ2]','2026-03-03T10:36:53.662Z',254,'2026-03-20T02:26:23.132Z'); +INSERT INTO notif_creds VALUES(180,'ExponentPushToken[VISDPrNjHVUy58fOF4jDWM]','2026-03-03T13:23:30.548Z',1,'2026-03-12T07:23:42.880Z'); +INSERT INTO notif_creds VALUES(181,'ExponentPushToken[1ls_ZXJwn3uuvQh4ePvAne]','2026-03-03T22:43:02.637Z',255,'2026-03-03T22:50:17.120Z'); +INSERT INTO notif_creds VALUES(182,'ExponentPushToken[M_HyPqPheUp3I3i9Z5stZt]','2026-03-04T03:01:03.048Z',256,'2026-03-29T07:42:30.865Z'); +INSERT INTO notif_creds VALUES(183,'ExponentPushToken[qvh_3nP9G4GL0AEDqg7SGg]','2026-03-04T03:49:36.095Z',257,'2026-03-10T14:25:04.631Z'); +INSERT INTO notif_creds VALUES(184,'ExponentPushToken[E_ph_sC9qUQOUhnQmTcaCO]','2026-03-04T04:08:31.976Z',258,'2026-03-16T06:55:30.120Z'); +INSERT INTO notif_creds VALUES(185,'ExponentPushToken[GrgPQsDgwa5N3D4zYWM6Bq]','2026-03-04T05:07:39.397Z',259,'2026-03-09T10:11:51.843Z'); +INSERT INTO notif_creds VALUES(188,'ExponentPushToken[jbO_CmG1fNSI6C8H7gMynW]','2026-03-04T08:19:49.638Z',262,'2026-03-04T08:19:49.635Z'); +INSERT INTO notif_creds VALUES(189,'ExponentPushToken[maIvRtPY6x8uRtvsdsN8CV]','2026-03-04T14:11:48.743Z',263,'2026-03-10T01:06:20.538Z'); +INSERT INTO notif_creds VALUES(190,'ExponentPushToken[93-_2gEHMwejR3miLX0RGU]','2026-03-05T05:33:08.664Z',1,'2026-03-24T22:41:41.480Z'); +INSERT INTO notif_creds VALUES(191,'ExponentPushToken[N2eYJUG94IpJDmwf5uMKWO]','2026-03-05T22:23:06.574Z',92,'2026-03-17T05:45:35.386Z'); +INSERT INTO notif_creds VALUES(192,'ExponentPushToken[10ByBoOOJtIbixAFhUnzh6]','2026-03-06T03:48:08.994Z',265,'2026-03-20T10:49:18.350Z'); +INSERT INTO notif_creds VALUES(193,'ExponentPushToken[mMaLNcO1vNYObmRiycjckA]','2026-03-06T04:45:46.830Z',56,'2026-03-06T06:50:27.129Z'); +INSERT INTO notif_creds VALUES(194,'ExponentPushToken[D1y3-WC74YBu0kdebAokgj]','2026-03-06T05:59:23.504Z',16,'2026-03-06T08:07:02.276Z'); +INSERT INTO notif_creds VALUES(195,'ExponentPushToken[vu1j8DJrDoN4oFM8oeIkFo]','2026-03-06T07:01:06.984Z',266,'2026-03-06T07:01:06.983Z'); +INSERT INTO notif_creds VALUES(196,'ExponentPushToken[siO-DrLqdDas8BRZtVKM_B]','2026-03-07T05:22:51.334Z',267,'2026-03-07T05:22:51.333Z'); +INSERT INTO notif_creds VALUES(197,'ExponentPushToken[Ig04x1M-xkyeOzTGWR_Lzq]','2026-03-08T02:05:26.817Z',268,'2026-03-08T02:05:26.816Z'); +INSERT INTO notif_creds VALUES(198,'ExponentPushToken[PGac92H3zsDq2H6khZrq1u]','2026-03-08T02:54:01.212Z',269,'2026-03-08T03:54:22.918Z'); +INSERT INTO notif_creds VALUES(199,'ExponentPushToken[B8MmENNR0OAkYqG2JMAHhQ]','2026-03-08T03:32:37.636Z',224,'2026-03-09T06:08:53.558Z'); +INSERT INTO notif_creds VALUES(200,'ExponentPushToken[qIKKebOWqpHQxT1wu3FTu4]','2026-03-08T04:47:02.826Z',270,'2026-03-08T04:47:02.825Z'); +INSERT INTO notif_creds VALUES(201,'ExponentPushToken[LwdEqdM2dH5SNeqGaQ8gyb]','2026-03-08T04:48:18.974Z',271,'2026-03-08T06:01:50.512Z'); +INSERT INTO notif_creds VALUES(202,'ExponentPushToken[IdGYR5FwDyPZ442s2FOrKW]','2026-03-08T06:11:49.473Z',272,'2026-03-11T04:40:03.087Z'); +INSERT INTO notif_creds VALUES(203,'ExponentPushToken[6_xWwiCFukekBIjNDL-Zsd]','2026-03-09T09:25:48.471Z',273,'2026-03-09T09:25:48.470Z'); +INSERT INTO notif_creds VALUES(204,'ExponentPushToken[4QHIzADKKkWhxXjUd6aznx]','2026-03-10T01:01:41.078Z',274,'2026-03-12T12:22:44.802Z'); +INSERT INTO notif_creds VALUES(205,'ExponentPushToken[OIlLL4PfhhYyoEr8iAJDka]','2026-03-10T05:24:07.403Z',224,'2026-03-27T08:33:22.335Z'); +INSERT INTO notif_creds VALUES(206,'ExponentPushToken[5S-B1HATqPbK4lv21SxXH2]','2026-03-11T00:05:29.538Z',275,'2026-03-17T03:01:08.416Z'); +INSERT INTO notif_creds VALUES(207,'ExponentPushToken[oLfd8nPS-XNaEZvrw7N0Ij]','2026-03-11T04:35:51.542Z',276,'2026-03-15T21:36:40.229Z'); +INSERT INTO notif_creds VALUES(208,'ExponentPushToken[V4dq4-IFImgRjjk0deNN_5]','2026-03-12T03:03:11.970Z',277,'2026-03-12T03:03:11.970Z'); +INSERT INTO notif_creds VALUES(209,'ExponentPushToken[0JRCqAEHTkOWGO3rY4MmTW]','2026-03-12T04:18:31.976Z',278,'2026-03-12T23:32:01.789Z'); +INSERT INTO notif_creds VALUES(210,'ExponentPushToken[KmCVoND_5wsMi-ABy5hx57]','2026-03-12T13:32:23.163Z',279,'2026-03-12T13:32:23.163Z'); +INSERT INTO notif_creds VALUES(211,'ExponentPushToken[gzEOGFDNCSTyBKASagLzY4]','2026-03-13T00:40:33.575Z',280,'2026-03-27T09:57:28.139Z'); +INSERT INTO notif_creds VALUES(212,'ExponentPushToken[GhHDnHP-BWVA7KoQ8sXWmq]','2026-03-13T05:26:41.537Z',281,'2026-03-13T05:26:41.536Z'); +INSERT INTO notif_creds VALUES(213,'ExponentPushToken[4Mu9NaAW08f1pjX4a2KWoI]','2026-03-13T07:20:31.642Z',282,'2026-03-13T07:20:31.642Z'); +INSERT INTO notif_creds VALUES(214,'ExponentPushToken[fsRMwWMInMTZ70JGapBj9_]','2026-03-13T19:49:58.545Z',283,'2026-03-19T22:30:20.220Z'); +INSERT INTO notif_creds VALUES(215,'ExponentPushToken[mPQO_6GZUkVC4RQgz14Ipx]','2026-03-13T21:35:14.077Z',284,'2026-03-13T21:52:16.502Z'); +INSERT INTO notif_creds VALUES(216,'ExponentPushToken[ri-mUQFP8QtpNh-mueTJrz]','2026-03-14T09:16:02.790Z',285,'2026-03-15T02:19:13.862Z'); +INSERT INTO notif_creds VALUES(217,'ExponentPushToken[Wv_Q5bC0MXmcBmx9zcKs14]','2026-03-14T09:50:51.539Z',286,'2026-03-15T02:16:00.148Z'); +INSERT INTO notif_creds VALUES(220,'ExponentPushToken[k3KE59L6x39K9X62E_1z8v]','2026-03-15T02:10:53.395Z',288,'2026-03-15T03:59:13.292Z'); +INSERT INTO notif_creds VALUES(221,'ExponentPushToken[OAlxJTMsqbz0E4VGR-uNax]','2026-03-15T02:47:22.488Z',1,'2026-03-18T13:32:27.031Z'); +INSERT INTO notif_creds VALUES(222,'ExponentPushToken[wUpe6pCwbztiKaS54kzNMN]','2026-03-15T04:08:31.232Z',289,'2026-03-15T04:08:31.231Z'); +INSERT INTO notif_creds VALUES(223,'ExponentPushToken[CLDxOGMungXGinCaQfeN6U]','2026-03-15T04:54:49.316Z',264,'2026-03-28T01:28:19.159Z'); +INSERT INTO notif_creds VALUES(224,'ExponentPushToken[PSSDeBO73alQ7aaPDxybI7]','2026-03-17T03:46:21.432Z',292,'2026-03-17T12:34:05.769Z'); +INSERT INTO notif_creds VALUES(225,'ExponentPushToken[bZiGm-HkqKcpBm0Dj3x8DJ]','2026-03-17T10:57:40.296Z',293,'2026-03-17T15:35:29.296Z'); +INSERT INTO notif_creds VALUES(226,'ExponentPushToken[6uMDJFCqLhV5LE5qEB_NFY]','2026-03-17T23:18:15.554Z',294,'2026-03-17T23:28:29.587Z'); +INSERT INTO notif_creds VALUES(227,'ExponentPushToken[KrzenZDKrmKjs9nnlDdqVp]','2026-03-18T06:37:56.003Z',295,'2026-03-20T10:47:15.569Z'); +INSERT INTO notif_creds VALUES(228,'ExponentPushToken[6jP5awEVcOkUF3xzx3sY7g]','2026-03-18T09:23:18.855Z',296,'2026-03-20T09:40:45.983Z'); +INSERT INTO notif_creds VALUES(229,'ExponentPushToken[SjZtCwG48V9kckmazhCxBU]','2026-03-18T09:30:21.098Z',297,'2026-03-18T09:30:21.097Z'); +INSERT INTO notif_creds VALUES(230,'ExponentPushToken[4VLV_PLSbgxLfKYSwZHxpk]','2026-03-19T03:54:17.902Z',299,'2026-03-28T23:18:29.918Z'); +INSERT INTO notif_creds VALUES(231,'ExponentPushToken[YZHGJjG1PTLMLMrm4X4YAv]','2026-03-19T04:32:09.265Z',300,'2026-03-20T05:51:41.947Z'); +INSERT INTO notif_creds VALUES(233,'ExponentPushToken[QzIvHhP38LpZlCk4Yoy7YW]','2026-03-20T01:24:00.415Z',227,'2026-03-21T09:59:41.502Z'); +INSERT INTO notif_creds VALUES(236,'ExponentPushToken[aYViaUOIQOkf4RLpcMFgWY]','2026-03-20T19:54:29.259Z',303,'2026-03-26T09:43:31.451Z'); +INSERT INTO notif_creds VALUES(237,'ExponentPushToken[IZRew9NHviVWaatERpGto7]','2026-03-21T23:30:08.627Z',304,'2026-03-21T23:30:08.626Z'); +INSERT INTO notif_creds VALUES(238,'ExponentPushToken[LQZgYkFG_3CweaUbv0fBKJ]','2026-03-22T00:50:59.067Z',1,'2026-03-28T10:37:15.819Z'); +INSERT INTO notif_creds VALUES(239,'ExponentPushToken[WLD1P1H52bZKWtZ0RvVTkO]','2026-03-22T02:53:41.104Z',305,'2026-03-22T09:31:10.213Z'); +INSERT INTO notif_creds VALUES(240,'ExponentPushToken[jFUu5YBQxu_hiHyWX_cfPr]','2026-03-23T01:47:07.799Z',306,'2026-03-23T22:06:21.793Z'); +INSERT INTO notif_creds VALUES(241,'ExponentPushToken[ewAktVMg5erCHK3FXoQcJk]','2026-03-23T02:21:16.130Z',307,'2026-03-27T01:31:12.455Z'); +INSERT INTO notif_creds VALUES(242,'ExponentPushToken[HkmPvcP38H5fuExdl_yns4]','2026-03-24T02:48:31.331Z',308,'2026-03-25T01:51:01.550Z'); +INSERT INTO notif_creds VALUES(243,'ExponentPushToken[MGyhwqMTwfoCFgzToX49sn]','2026-03-25T04:37:35.322Z',309,'2026-03-25T04:37:35.321Z'); +INSERT INTO notif_creds VALUES(244,'ExponentPushToken[g-_HBiDNqp0LRGS4D8fLEl]','2026-03-25T05:14:27.998Z',103,'2026-03-28T22:35:07.533Z'); +INSERT INTO notif_creds VALUES(245,'ExponentPushToken[Kg1r3RJsHvzB3nLLtrEk0c]','2026-03-25T10:39:43.265Z',310,'2026-03-28T22:18:19.305Z'); +INSERT INTO notif_creds VALUES(246,'ExponentPushToken[-VidkdFC5War1iRVFHCLSf]','2026-03-25T20:38:49.963Z',311,'2026-03-25T20:38:49.962Z'); +INSERT INTO notif_creds VALUES(247,'ExponentPushToken[lH3ucmEbR2YdxpJ_G1lkBi]','2026-03-26T01:08:06.896Z',312,'2026-03-27T06:38:12.544Z'); +INSERT INTO notif_creds VALUES(248,'ExponentPushToken[QqY4jJOU1Rj7DSuJG1_Cc6]','2026-03-26T02:41:04.583Z',313,'2026-03-29T07:04:55.630Z'); +INSERT INTO notif_creds VALUES(249,'ExponentPushToken[TRC6ezIxQd5GQxA0LhEqvl]','2026-03-27T07:53:23.158Z',314,'2026-03-27T07:57:33.055Z'); +INSERT INTO notif_creds VALUES(250,'ExponentPushToken[9yJJ1qLc70Aghym1-9DVd5]','2026-03-27T09:05:57.893Z',315,'2026-03-27T09:05:57.893Z'); +INSERT INTO notif_creds VALUES(251,'ExponentPushToken[5CAeYmDhETtoa0SNbwm1ah]','2026-03-27T23:13:06.738Z',316,'2026-03-27T23:13:06.737Z'); +INSERT INTO notif_creds VALUES(252,'ExponentPushToken[sLfnnKCPWFiJZ_DmPsBUeO]','2026-03-28T02:56:40.783Z',317,'2026-03-28T04:24:45.083Z'); +INSERT INTO notif_creds VALUES(253,'ExponentPushToken[Sn9zkuIv5IFzJQT45M-0Vp]','2026-03-28T03:39:26.041Z',318,'2026-03-28T03:39:26.041Z'); +INSERT INTO notif_creds VALUES(254,'ExponentPushToken[_bla2cGWPX5Mxb2I3OZh3O]','2026-03-28T07:35:09.914Z',319,'2026-03-28T07:42:35.804Z'); +INSERT INTO notif_creds VALUES(255,'ExponentPushToken[MTkgHrPCaUKkm0Ek8cQT6h]','2026-03-28T09:19:17.618Z',321,'2026-03-28T09:34:41.684Z'); +INSERT INTO notif_creds VALUES(256,'ExponentPushToken[PFJ_4-NmW_2PJ2COTjx6Md]','2026-03-28T23:01:53.045Z',322,'2026-03-28T23:49:55.950Z'); +INSERT INTO notif_creds VALUES(257,'ExponentPushToken[P0ha8xJtmI9PQ3qo1dI6f-]','2026-03-28T23:07:41.888Z',323,'2026-03-29T08:03:48.766Z'); +INSERT INTO notif_creds VALUES(258,'ExponentPushToken[J-MBAdN3Gtc2_Gu_fPwm-p]','2026-03-29T02:14:07.367Z',324,'2026-03-29T02:14:07.324Z'); CREATE TABLE IF NOT EXISTS "notifications" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "title" TEXT NOT NULL, "body" TEXT NOT NULL, "type" TEXT, "is_read" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); CREATE TABLE IF NOT EXISTS "order_items" ("id" INTEGER PRIMARY KEY, "order_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "quantity" TEXT NOT NULL, "price" REAL NOT NULL, "discounted_price" REAL, "is_packaged" INTEGER NOT NULL DEFAULT false, "is_package_verified" INTEGER NOT NULL DEFAULT false); INSERT INTO order_items VALUES(1,1,6,'2',22.0,NULL,0,0); @@ -1231,7 +1607,7 @@ INSERT INTO order_items VALUES(474,277,66,'1',27.0,27.0,1,1); INSERT INTO order_items VALUES(475,277,65,'1',28.0,28.0,1,1); INSERT INTO order_items VALUES(476,277,76,'1',19.0,19.0,1,1); INSERT INTO order_items VALUES(477,278,24,'2',198.0,198.0,1,0); -INSERT INTO order_items VALUES(478,279,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(478,279,98,'1',419.0,419.0,1,1); INSERT INTO order_items VALUES(479,280,45,'1',19.0,19.0,1,1); INSERT INTO order_items VALUES(480,280,76,'1',19.0,19.0,1,1); INSERT INTO order_items VALUES(481,280,72,'1',14.0,14.0,1,1); @@ -1447,7 +1823,7 @@ INSERT INTO order_items VALUES(690,345,7,'1',49.0,49.0,1,0); INSERT INTO order_items VALUES(691,345,59,'1',98.0,98.0,1,0); INSERT INTO order_items VALUES(692,345,44,'1',119.0,119.0,1,0); INSERT INTO order_items VALUES(693,345,60,'1',78.0,78.0,1,0); -INSERT INTO order_items VALUES(694,345,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(694,345,48,'1',55.0,55.0,1,1); INSERT INTO order_items VALUES(695,346,31,'1',29.0,29.0,1,1); INSERT INTO order_items VALUES(696,346,67,'1',28.0,28.0,1,1); INSERT INTO order_items VALUES(697,346,71,'1',15.0,15.0,1,1); @@ -1468,18 +1844,861 @@ INSERT INTO order_items VALUES(711,347,72,'1',14.0,14.0,1,1); INSERT INTO order_items VALUES(712,347,32,'1',29.0,29.0,1,1); INSERT INTO order_items VALUES(713,347,33,'1',15.0,15.0,1,1); INSERT INTO order_items VALUES(714,347,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(715,348,35,'1',429.0,429.0,0,0); -INSERT INTO order_items VALUES(748,381,1,'1',99.0,99.0,0,0); -INSERT INTO order_items VALUES(749,381,9,'1',296.0,296.0,0,0); -INSERT INTO order_items VALUES(750,382,91,'1',39.0,39.0,0,0); -INSERT INTO order_items VALUES(751,382,25,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(752,382,31,'1',29.0,29.0,0,0); -INSERT INTO order_items VALUES(753,383,25,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(754,384,84,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(755,384,36,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(756,385,79,'2',39.0,39.0,0,0); -INSERT INTO order_items VALUES(757,385,23,'2',133.0,133.0,0,0); -INSERT INTO order_items VALUES(758,386,91,'1',39.0,39.0,0,0); +INSERT INTO order_items VALUES(715,348,35,'1',429.0,429.0,1,0); +INSERT INTO order_items VALUES(716,349,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(717,349,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(718,350,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(719,350,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(720,350,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(721,351,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(722,351,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(723,351,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(724,351,68,'1',32.0,32.0,1,0); +INSERT INTO order_items VALUES(725,351,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(726,351,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(727,352,78,'1',29.0,29.0,1,1); +INSERT INTO order_items VALUES(728,352,31,'1',29.0,29.0,1,1); +INSERT INTO order_items VALUES(729,352,45,'1',19.0,19.0,1,1); +INSERT INTO order_items VALUES(730,352,72,'2',14.0,14.0,1,1); +INSERT INTO order_items VALUES(731,352,32,'1',29.0,29.0,1,1); +INSERT INTO order_items VALUES(732,352,27,'1',24.0,24.0,1,1); +INSERT INTO order_items VALUES(733,352,77,'1',16.0,16.0,1,1); +INSERT INTO order_items VALUES(734,352,33,'1',15.0,15.0,1,1); +INSERT INTO order_items VALUES(735,353,40,'2',150.0,150.0,1,0); +INSERT INTO order_items VALUES(736,353,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(737,353,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(738,353,19,'1',50.0,50.0,1,0); +INSERT INTO order_items VALUES(739,354,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(740,354,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(741,354,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(742,355,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(743,355,56,'1',67.0,67.0,1,1); +INSERT INTO order_items VALUES(744,355,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(745,356,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(746,356,88,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(747,356,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(748,356,46,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(749,357,23,'2',133.0,133.0,1,0); +INSERT INTO order_items VALUES(750,357,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(751,358,41,'1',189.0,189.0,1,0); +INSERT INTO order_items VALUES(752,359,9,'1',296.0,296.0,1,1); +INSERT INTO order_items VALUES(753,360,19,'1',50.0,50.0,1,0); +INSERT INTO order_items VALUES(754,360,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(755,360,47,'1',119.0,119.0,1,1); +INSERT INTO order_items VALUES(756,360,48,'1',55.0,55.0,1,1); +INSERT INTO order_items VALUES(757,360,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(758,360,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(759,360,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(760,360,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(761,360,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(762,360,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(763,361,23,'1',139.0,139.0,1,0); +INSERT INTO order_items VALUES(764,361,41,'1',189.0,189.0,1,0); +INSERT INTO order_items VALUES(765,362,23,'1',139.0,139.0,1,0); +INSERT INTO order_items VALUES(766,362,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(767,362,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(768,362,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(769,362,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(770,363,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(771,363,60,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(772,364,100,'1',99.0,99.0,1,1); +INSERT INTO order_items VALUES(773,364,46,'1',109.0,109.0,1,1); +INSERT INTO order_items VALUES(774,364,60,'1',78.0,78.0,1,1); +INSERT INTO order_items VALUES(775,364,73,'2',59.0,59.0,1,1); +INSERT INTO order_items VALUES(776,364,59,'1',98.0,98.0,1,1); +INSERT INTO order_items VALUES(777,364,7,'1',49.0,49.0,1,1); +INSERT INTO order_items VALUES(778,365,61,'1',99.0,99.0,1,1); +INSERT INTO order_items VALUES(779,365,48,'2',55.0,55.0,1,1); +INSERT INTO order_items VALUES(780,365,11,'1',119.0,119.0,1,1); +INSERT INTO order_items VALUES(781,365,60,'1',78.0,78.0,1,1); +INSERT INTO order_items VALUES(782,365,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(783,365,73,'4',59.0,59.0,1,1); +INSERT INTO order_items VALUES(784,365,6,'1',109.0,109.0,1,1); +INSERT INTO order_items VALUES(785,366,24,'1',198.0,198.0,1,0); +INSERT INTO order_items VALUES(786,366,9,'1',296.0,296.0,1,0); +INSERT INTO order_items VALUES(787,367,23,'1',149.0,149.0,1,1); +INSERT INTO order_items VALUES(788,367,101,'2',12.0,12.0,1,1); +INSERT INTO order_items VALUES(789,368,73,'5',59.0,59.0,1,0); +INSERT INTO order_items VALUES(790,369,14,'1',389.0,389.0,1,0); +INSERT INTO order_items VALUES(791,370,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(792,371,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(793,371,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(794,371,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(795,371,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(796,371,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(797,371,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(798,371,89,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(799,371,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(800,372,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(801,372,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(802,372,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(803,372,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(804,373,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(805,373,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(806,373,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(807,373,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(808,373,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(809,373,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(810,373,62,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(811,374,66,'1',27.0,27.0,1,0); +INSERT INTO order_items VALUES(812,374,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(813,374,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(814,374,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(815,374,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(816,375,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(817,375,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(818,375,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(819,376,73,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(820,377,75,'1',600.0,600.0,0,0); +INSERT INTO order_items VALUES(821,378,75,'1',489.0,489.0,0,0); +INSERT INTO order_items VALUES(822,379,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(823,379,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(824,379,9,'1',296.0,296.0,1,0); +INSERT INTO order_items VALUES(825,380,46,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(826,380,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(827,380,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(828,380,44,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(829,380,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(830,381,73,'2',59.0,59.0,1,0); +INSERT INTO order_items VALUES(831,382,66,'1',27.0,27.0,1,0); +INSERT INTO order_items VALUES(832,382,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(833,382,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(834,382,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(835,382,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(836,382,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(837,382,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(838,382,89,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(839,383,91,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(840,383,32,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(841,383,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(842,383,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(843,384,40,'2',156.0,156.0,1,0); +INSERT INTO order_items VALUES(844,385,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(845,385,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(846,385,24,'2',240.0,240.0,1,0); +INSERT INTO order_items VALUES(847,385,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(848,385,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(849,386,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(850,386,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(851,386,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(852,386,95,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(853,386,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(854,386,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(855,386,92,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(856,386,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(857,387,41,'2',189.0,189.0,1,0); +INSERT INTO order_items VALUES(858,387,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(859,387,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(860,388,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(861,388,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(862,388,100,'2',99.0,99.0,1,0); +INSERT INTO order_items VALUES(863,388,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(864,388,96,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(865,389,41,'1',229.0,229.0,1,0); +INSERT INTO order_items VALUES(866,389,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(867,390,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(868,390,44,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(869,390,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(870,390,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(871,391,67,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(872,391,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(873,391,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(874,391,31,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(875,391,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(876,391,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(877,391,95,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(878,391,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(879,391,19,'1',50.0,50.0,1,1); +INSERT INTO order_items VALUES(880,391,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(881,391,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(882,392,29,'1',29.0,29.0,0,0); +INSERT INTO order_items VALUES(883,393,73,'1',59.0,59.0,0,0); +INSERT INTO order_items VALUES(884,394,23,'1',156.0,156.0,1,0); +INSERT INTO order_items VALUES(885,395,35,'1',429.0,429.0,1,0); +INSERT INTO order_items VALUES(886,396,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(887,397,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(888,397,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(889,397,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(890,397,73,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(891,398,45,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(892,398,72,'2',14.0,14.0,1,1); +INSERT INTO order_items VALUES(893,398,67,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(894,398,91,'1',39.0,39.0,1,1); +INSERT INTO order_items VALUES(895,399,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(896,399,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(897,399,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(898,399,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(899,399,95,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(900,399,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(901,399,45,'2',19.0,19.0,1,0); +INSERT INTO order_items VALUES(902,399,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(903,399,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(904,399,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(905,399,92,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(906,399,19,'2',23.0,23.0,1,0); +INSERT INTO order_items VALUES(907,399,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(908,399,77,'2',16.0,16.0,1,0); +INSERT INTO order_items VALUES(909,399,56,'1',67.0,67.0,1,0); +INSERT INTO order_items VALUES(910,399,38,'1',76.0,76.0,1,1); +INSERT INTO order_items VALUES(911,399,60,'1',78.0,78.0,1,1); +INSERT INTO order_items VALUES(912,399,23,'2',156.0,156.0,1,0); +INSERT INTO order_items VALUES(913,399,9,'1',296.0,296.0,1,0); +INSERT INTO order_items VALUES(914,400,59,'2',98.0,98.0,1,0); +INSERT INTO order_items VALUES(915,400,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(916,400,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(917,400,96,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(918,401,8,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(919,401,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(920,401,54,'1',280.0,280.0,1,0); +INSERT INTO order_items VALUES(921,402,98,'2',419.0,419.0,1,0); +INSERT INTO order_items VALUES(922,403,59,'2',98.0,98.0,1,0); +INSERT INTO order_items VALUES(923,404,73,'2',59.0,59.0,1,0); +INSERT INTO order_items VALUES(924,405,24,'1',240.0,240.0,1,0); +INSERT INTO order_items VALUES(925,405,40,'1',160.0,160.0,1,0); +INSERT INTO order_items VALUES(926,406,10,'1',289.0,289.0,0,0); +INSERT INTO order_items VALUES(927,407,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(928,407,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(929,408,48,'2',55.0,55.0,1,0); +INSERT INTO order_items VALUES(930,408,59,'2',98.0,98.0,1,0); +INSERT INTO order_items VALUES(931,409,41,'1',229.0,229.0,1,0); +INSERT INTO order_items VALUES(932,409,24,'1',231.0,231.0,1,0); +INSERT INTO order_items VALUES(933,410,41,'1',229.0,229.0,1,0); +INSERT INTO order_items VALUES(934,410,2,'1',229.0,229.0,1,0); +INSERT INTO order_items VALUES(935,410,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(936,410,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(937,410,7,'3',49.0,49.0,1,0); +INSERT INTO order_items VALUES(938,411,54,'1',280.0,280.0,1,0); +INSERT INTO order_items VALUES(939,412,74,'1',18.0,18.0,1,0); +INSERT INTO order_items VALUES(940,412,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(941,412,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(942,412,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(943,412,25,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(944,413,23,'1',156.0,156.0,1,0); +INSERT INTO order_items VALUES(945,413,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(946,414,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(947,415,40,'2',156.0,156.0,1,0); +INSERT INTO order_items VALUES(948,415,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(949,415,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(950,416,45,'3',19.0,19.0,1,0); +INSERT INTO order_items VALUES(951,416,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(952,416,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(953,416,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(954,416,16,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(955,417,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(956,417,44,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(957,417,62,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(958,418,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(959,418,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(960,418,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(961,418,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(962,419,73,'2',59.0,59.0,1,0); +INSERT INTO order_items VALUES(963,420,2,'1',229.0,229.0,1,0); +INSERT INTO order_items VALUES(964,420,41,'1',229.0,229.0,1,0); +INSERT INTO order_items VALUES(965,421,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(966,421,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(967,421,30,'1',34.0,34.0,1,0); +INSERT INTO order_items VALUES(968,421,65,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(969,421,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(970,421,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(971,422,23,'1',160.0,160.0,0,0); +INSERT INTO order_items VALUES(972,423,23,'1',160.0,160.0,0,0); +INSERT INTO order_items VALUES(973,424,23,'2',156.0,156.0,1,0); +INSERT INTO order_items VALUES(974,425,73,'5',59.0,59.0,1,0); +INSERT INTO order_items VALUES(975,426,40,'3',160.0,160.0,1,0); +INSERT INTO order_items VALUES(976,426,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(977,426,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(978,426,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(979,427,73,'2',59.0,59.0,1,0); +INSERT INTO order_items VALUES(980,428,58,'1',59.0,59.0,0,0); +INSERT INTO order_items VALUES(981,428,68,'2',32.0,32.0,0,0); +INSERT INTO order_items VALUES(982,428,79,'2',39.0,39.0,0,0); +INSERT INTO order_items VALUES(983,429,98,'1',419.0,419.0,0,0); +INSERT INTO order_items VALUES(984,430,24,'3',231.0,231.0,1,1); +INSERT INTO order_items VALUES(985,430,35,'1',429.0,429.0,1,0); +INSERT INTO order_items VALUES(986,431,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(987,432,23,'2',156.0,156.0,1,0); +INSERT INTO order_items VALUES(988,433,9,'1',296.0,296.0,1,0); +INSERT INTO order_items VALUES(989,434,77,'1',16.0,16.0,1,1); +INSERT INTO order_items VALUES(990,434,78,'1',29.0,29.0,1,1); +INSERT INTO order_items VALUES(991,434,33,'1',15.0,15.0,1,1); +INSERT INTO order_items VALUES(992,434,56,'1',67.0,67.0,1,1); +INSERT INTO order_items VALUES(993,434,58,'1',59.0,59.0,1,1); +INSERT INTO order_items VALUES(994,434,23,'1',156.0,156.0,1,1); +INSERT INTO order_items VALUES(995,435,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(996,435,73,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(997,435,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(998,436,14,'1',389.0,389.0,1,0); +INSERT INTO order_items VALUES(999,436,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1000,436,45,'2',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1001,436,19,'4',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1002,436,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1003,436,77,'2',16.0,16.0,1,0); +INSERT INTO order_items VALUES(1004,436,33,'2',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1005,437,23,'2',156.0,156.0,1,1); +INSERT INTO order_items VALUES(1006,437,91,'2',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1007,438,45,'2',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1008,438,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1009,438,30,'1',34.0,34.0,1,0); +INSERT INTO order_items VALUES(1010,438,48,'4',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1011,438,59,'2',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1012,438,2,'1',229.0,229.0,1,0); +INSERT INTO order_items VALUES(1013,439,4,'1',819.0,819.0,1,0); +INSERT INTO order_items VALUES(1014,440,59,'2',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1015,441,40,'1',160.0,160.0,1,0); +INSERT INTO order_items VALUES(1016,441,2,'1',240.0,240.0,1,0); +INSERT INTO order_items VALUES(1017,441,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1018,442,96,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1019,443,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1020,443,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1021,443,62,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1022,443,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1023,443,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1024,443,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1025,443,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1026,443,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1027,444,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1028,444,37,'1',79.0,79.0,1,0); +INSERT INTO order_items VALUES(1029,444,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1030,444,92,'1',36.0,36.0,1,0); +INSERT INTO order_items VALUES(1031,444,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1032,444,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1033,444,24,'1',231.0,231.0,1,0); +INSERT INTO order_items VALUES(1034,445,24,'2',231.0,231.0,0,0); +INSERT INTO order_items VALUES(1035,446,10,'1',289.0,289.0,0,0); +INSERT INTO order_items VALUES(1036,447,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1037,448,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1038,448,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1039,448,31,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1040,448,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1041,448,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1042,448,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1043,448,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1044,448,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1045,448,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1046,448,77,'1',16.0,16.0,1,0); +INSERT INTO order_items VALUES(1047,448,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1048,449,75,'1',489.0,489.0,1,0); +INSERT INTO order_items VALUES(1049,449,23,'1',156.0,156.0,1,0); +INSERT INTO order_items VALUES(1050,450,23,'1',156.0,156.0,1,0); +INSERT INTO order_items VALUES(1051,450,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1052,450,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1053,450,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1054,450,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1055,451,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1056,451,73,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1057,452,107,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1058,453,24,'2',231.0,231.0,1,0); +INSERT INTO order_items VALUES(1059,453,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1060,453,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1061,453,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1062,453,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1063,454,110,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1064,455,91,'3',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1065,455,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1066,455,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(1067,456,24,'1',231.0,231.0,1,0); +INSERT INTO order_items VALUES(1068,457,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1069,457,30,'1',34.0,34.0,1,0); +INSERT INTO order_items VALUES(1070,457,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1071,457,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1072,457,92,'1',36.0,36.0,1,0); +INSERT INTO order_items VALUES(1073,457,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1074,457,37,'1',79.0,79.0,1,0); +INSERT INTO order_items VALUES(1075,457,31,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1076,458,14,'1',389.0,389.0,1,0); +INSERT INTO order_items VALUES(1077,459,35,'1',429.0,429.0,1,0); +INSERT INTO order_items VALUES(1078,459,99,'1',635.0,635.0,1,0); +INSERT INTO order_items VALUES(1079,460,23,'1',156.0,156.0,1,0); +INSERT INTO order_items VALUES(1080,461,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1081,461,96,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1082,461,60,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1083,462,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1084,462,73,'5',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1085,462,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1086,462,8,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(1087,463,59,'1',98.0,98.0,0,0); +INSERT INTO order_items VALUES(1088,463,58,'1',59.0,59.0,0,0); +INSERT INTO order_items VALUES(1089,464,107,'2',49.0,49.0,0,0); +INSERT INTO order_items VALUES(1090,465,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1091,465,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1092,466,107,'2',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1093,467,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1094,467,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1095,467,31,'1',29.0,29.0,1,1); +INSERT INTO order_items VALUES(1096,467,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1097,467,45,'2',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1098,467,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1099,467,19,'2',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1100,467,32,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1101,467,79,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1102,467,33,'2',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1103,467,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1104,467,65,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(1105,467,5,'1',26.0,26.0,1,1); +INSERT INTO order_items VALUES(1106,468,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1107,468,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1108,468,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1109,468,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1110,469,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1111,470,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1112,470,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(1113,471,13,'1',69.0,69.0,1,0); +INSERT INTO order_items VALUES(1114,471,64,'1',69.0,69.0,1,0); +INSERT INTO order_items VALUES(1115,471,107,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1116,472,107,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1117,473,107,'1',49.0,49.0,0,0); +INSERT INTO order_items VALUES(1118,474,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1119,474,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1120,474,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1121,474,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1122,475,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1123,475,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1124,475,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1125,475,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1126,476,40,'2',156.0,156.0,1,0); +INSERT INTO order_items VALUES(1127,476,32,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1128,477,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1129,477,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1130,477,79,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1131,477,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1132,478,19,'2',50.0,50.0,1,0); +INSERT INTO order_items VALUES(1133,478,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1134,478,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1135,478,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1136,478,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1137,478,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1138,478,67,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(1139,478,76,'2',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1140,478,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(1141,478,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1142,478,23,'1',160.0,160.0,1,0); +INSERT INTO order_items VALUES(1143,479,27,'1',24.0,24.0,0,0); +INSERT INTO order_items VALUES(1144,479,71,'1',15.0,15.0,0,0); +INSERT INTO order_items VALUES(1145,479,78,'1',29.0,29.0,0,0); +INSERT INTO order_items VALUES(1146,479,31,'1',29.0,29.0,0,0); +INSERT INTO order_items VALUES(1147,479,95,'1',39.0,39.0,0,0); +INSERT INTO order_items VALUES(1148,479,76,'1',19.0,19.0,0,0); +INSERT INTO order_items VALUES(1149,479,45,'1',26.0,26.0,0,0); +INSERT INTO order_items VALUES(1150,479,67,'1',28.0,28.0,0,0); +INSERT INTO order_items VALUES(1151,479,29,'1',29.0,29.0,0,0); +INSERT INTO order_items VALUES(1152,479,72,'1',14.0,14.0,0,0); +INSERT INTO order_items VALUES(1153,479,103,'1',29.0,29.0,0,0); +INSERT INTO order_items VALUES(1154,479,19,'1',23.0,23.0,0,0); +INSERT INTO order_items VALUES(1155,479,101,'1',12.0,12.0,0,0); +INSERT INTO order_items VALUES(1156,479,97,'1',19.0,19.0,0,0); +INSERT INTO order_items VALUES(1157,479,33,'1',15.0,15.0,0,0); +INSERT INTO order_items VALUES(1158,480,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1159,480,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1160,480,46,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1161,480,62,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1162,481,41,'1',229.0,229.0,1,0); +INSERT INTO order_items VALUES(1163,482,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1164,482,11,'1',119.0,119.0,1,1); +INSERT INTO order_items VALUES(1165,482,46,'1',109.0,109.0,1,1); +INSERT INTO order_items VALUES(1166,482,96,'1',109.0,109.0,1,1); +INSERT INTO order_items VALUES(1167,482,100,'1',99.0,99.0,1,1); +INSERT INTO order_items VALUES(1168,482,7,'1',49.0,49.0,1,1); +INSERT INTO order_items VALUES(1169,483,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1170,483,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1171,483,107,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1172,483,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1173,483,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1174,484,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1175,484,62,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1176,484,48,'2',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1177,485,41,'1',237.0,237.0,1,0); +INSERT INTO order_items VALUES(1178,485,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1179,485,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1180,485,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1181,485,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1182,486,35,'1',429.0,429.0,1,0); +INSERT INTO order_items VALUES(1183,487,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1184,487,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1185,487,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1186,487,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(1187,488,10,'3',312.0,312.0,1,0); +INSERT INTO order_items VALUES(1188,489,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1189,489,95,'2',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1190,489,23,'1',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1191,489,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1192,489,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1193,489,5,'2',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1194,490,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1195,490,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1196,490,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1197,490,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1198,491,23,'1',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1199,491,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1200,491,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1201,492,2,'1',237.0,237.0,1,0); +INSERT INTO order_items VALUES(1202,492,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1203,492,46,'2',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1204,492,100,'2',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1205,492,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1206,492,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1207,492,7,'3',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1208,492,48,'3',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1209,493,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1210,493,46,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1211,493,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1212,493,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1213,493,96,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1214,494,7,'1',49.0,49.0,0,0); +INSERT INTO order_items VALUES(1215,494,58,'1',59.0,59.0,0,0); +INSERT INTO order_items VALUES(1216,495,59,'1',98.0,98.0,0,0); +INSERT INTO order_items VALUES(1217,496,73,'2',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1218,497,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1219,498,23,'1',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1220,498,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1221,498,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1222,498,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1223,499,107,'2',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1224,500,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1225,501,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1226,501,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1227,501,76,'3',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1228,501,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1229,501,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1230,501,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1231,501,32,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1232,501,45,'2',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1233,501,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1234,501,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1235,501,97,'3',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1236,502,68,'1',32.0,32.0,1,0); +INSERT INTO order_items VALUES(1237,502,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1238,502,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1239,502,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1240,502,37,'1',79.0,79.0,1,0); +INSERT INTO order_items VALUES(1241,502,95,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1242,502,76,'1',19.0,19.0,1,1); +INSERT INTO order_items VALUES(1243,502,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1244,502,30,'1',34.0,34.0,1,0); +INSERT INTO order_items VALUES(1245,502,72,'1',14.0,14.0,1,1); +INSERT INTO order_items VALUES(1246,502,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1247,502,101,'1',12.0,12.0,1,1); +INSERT INTO order_items VALUES(1248,502,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1249,502,97,'1',19.0,19.0,1,1); +INSERT INTO order_items VALUES(1250,502,65,'1',28.0,28.0,1,1); +INSERT INTO order_items VALUES(1251,502,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1252,503,9,'1',296.0,296.0,1,0); +INSERT INTO order_items VALUES(1253,504,60,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1254,504,56,'1',67.0,67.0,1,0); +INSERT INTO order_items VALUES(1255,504,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1256,504,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1257,505,60,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1258,505,23,'1',165.0,165.0,1,0); +INSERT INTO order_items VALUES(1259,505,101,'2',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1260,505,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1261,505,24,'1',240.0,240.0,1,0); +INSERT INTO order_items VALUES(1262,506,23,'1',162.0,162.0,0,0); +INSERT INTO order_items VALUES(1263,507,73,'2',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1264,508,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(1265,509,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1266,509,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1267,509,74,'1',18.0,18.0,1,0); +INSERT INTO order_items VALUES(1268,509,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1269,509,89,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1270,510,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1271,510,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1272,510,60,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1273,511,73,'4',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1274,512,27,'1',24.0,24.0,1,1); +INSERT INTO order_items VALUES(1275,512,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1276,512,95,'1',39.0,39.0,1,1); +INSERT INTO order_items VALUES(1277,513,40,'1',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1278,513,35,'1',429.0,429.0,1,0); +INSERT INTO order_items VALUES(1279,514,40,'1',165.0,165.0,1,0); +INSERT INTO order_items VALUES(1280,514,91,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1281,514,32,'1',45.0,45.0,1,0); +INSERT INTO order_items VALUES(1282,515,6,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1283,515,46,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1284,515,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1285,515,108,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1286,516,32,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1287,516,10,'1',312.0,312.0,1,0); +INSERT INTO order_items VALUES(1288,516,24,'3',237.0,237.0,1,0); +INSERT INTO order_items VALUES(1289,517,40,'2',162.0,162.0,0,0); +INSERT INTO order_items VALUES(1290,518,107,'2',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1291,519,106,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1292,519,104,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1293,520,24,'1',237.0,237.0,1,0); +INSERT INTO order_items VALUES(1294,520,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1295,520,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1296,520,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1297,520,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1298,521,35,'1',429.0,429.0,1,0); +INSERT INTO order_items VALUES(1299,521,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1300,521,67,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(1301,521,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1302,521,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1303,521,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1304,521,23,'2',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1305,522,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1306,522,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1307,522,56,'1',67.0,67.0,1,0); +INSERT INTO order_items VALUES(1308,522,46,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1309,522,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1310,522,25,'2',119.0,119.0,1,0); +INSERT INTO order_items VALUES(1311,522,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1312,523,23,'1',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1313,523,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1314,523,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1315,523,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1316,523,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1317,524,75,'1',489.0,489.0,0,0); +INSERT INTO order_items VALUES(1318,525,23,'1',165.0,165.0,1,0); +INSERT INTO order_items VALUES(1319,526,7,'1',49.0,49.0,0,0); +INSERT INTO order_items VALUES(1320,527,7,'1',49.0,49.0,1,1); +INSERT INTO order_items VALUES(1321,527,58,'1',59.0,59.0,1,1); +INSERT INTO order_items VALUES(1322,527,59,'1',98.0,98.0,1,1); +INSERT INTO order_items VALUES(1323,527,4,'1',819.0,819.0,1,1); +INSERT INTO order_items VALUES(1324,527,98,'1',419.0,419.0,1,1); +INSERT INTO order_items VALUES(1325,527,78,'1',29.0,29.0,1,1); +INSERT INTO order_items VALUES(1326,528,46,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1327,528,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1328,528,19,'1',50.0,50.0,1,0); +INSERT INTO order_items VALUES(1329,528,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1330,528,97,'2',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1331,528,76,'2',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1332,528,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1333,528,96,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1334,528,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1335,529,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1336,529,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1337,529,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1338,529,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1339,529,95,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1340,529,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1341,529,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1342,529,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1343,529,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1344,529,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1345,529,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1346,529,32,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1347,529,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(1348,529,23,'2',162.0,162.0,1,1); +INSERT INTO order_items VALUES(1349,529,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1350,529,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1351,529,116,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1352,530,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1353,530,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1354,530,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1355,530,25,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(1356,530,60,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1357,531,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1358,531,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1359,531,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1360,531,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1361,531,23,'6',162.0,162.0,1,1); +INSERT INTO order_items VALUES(1362,532,48,'1',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1363,532,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(1364,533,23,'2',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1365,534,23,'1',165.0,165.0,1,0); +INSERT INTO order_items VALUES(1366,534,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1367,535,23,'2',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1368,536,40,'2',162.0,162.0,0,0); +INSERT INTO order_items VALUES(1369,536,69,'1',29.0,29.0,0,0); +INSERT INTO order_items VALUES(1370,536,32,'1',39.0,39.0,0,0); +INSERT INTO order_items VALUES(1371,537,32,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1372,537,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1373,537,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1374,537,40,'2',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1375,538,40,'2',162.0,162.0,0,0); +INSERT INTO order_items VALUES(1376,539,107,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1377,539,108,'2',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1378,539,110,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1379,540,40,'3',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1380,540,32,'2',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1381,540,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1382,540,107,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1383,540,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1384,541,23,'4',162.0,162.0,1,0); +INSERT INTO order_items VALUES(1385,542,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1386,543,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1387,544,98,'2',419.0,419.0,0,0); +INSERT INTO order_items VALUES(1388,544,23,'2',162.0,162.0,0,0); +INSERT INTO order_items VALUES(1389,544,32,'1',39.0,39.0,0,0); +INSERT INTO order_items VALUES(1390,545,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1391,545,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1392,545,89,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1393,545,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1394,545,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1395,545,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1396,545,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1397,545,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1398,545,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1399,545,32,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1400,545,97,'2',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1401,545,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1402,545,67,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(1403,545,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1404,545,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1405,545,56,'1',67.0,67.0,1,0); +INSERT INTO order_items VALUES(1406,546,48,'1',55.0,55.0,0,0); +INSERT INTO order_items VALUES(1407,546,32,'1',45.0,45.0,0,0); +INSERT INTO order_items VALUES(1408,546,46,'1',109.0,109.0,0,0); +INSERT INTO order_items VALUES(1409,546,96,'1',109.0,109.0,0,0); +INSERT INTO order_items VALUES(1410,546,59,'1',98.0,98.0,0,0); +INSERT INTO order_items VALUES(1411,547,2,'1',240.0,240.0,1,0); +INSERT INTO order_items VALUES(1412,548,75,'1',489.0,489.0,1,0); +INSERT INTO order_items VALUES(1413,549,9,'1',296.0,296.0,1,0); +INSERT INTO order_items VALUES(1414,550,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1419,555,23,'2',178.0,178.0,0,0); +INSERT INTO order_items VALUES(1420,556,23,'1',178.0,178.0,0,0); +INSERT INTO order_items VALUES(1421,557,109,'1',49.0,49.0,0,0); +INSERT INTO order_items VALUES(1422,558,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1423,558,45,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1424,558,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1425,558,74,'1',18.0,18.0,1,0); +INSERT INTO order_items VALUES(1426,558,77,'1',16.0,16.0,1,0); +INSERT INTO order_items VALUES(1427,558,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1428,558,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1429,558,89,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1430,558,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1431,559,48,'2',55.0,55.0,1,0); +INSERT INTO order_items VALUES(1432,559,73,'4',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1433,560,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(1434,560,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1435,560,31,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1436,560,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1437,560,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1438,560,68,'2',32.0,32.0,1,0); +INSERT INTO order_items VALUES(1439,561,23,'1',178.0,178.0,1,0); +INSERT INTO order_items VALUES(1440,561,45,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1441,561,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1442,561,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(1443,561,100,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1444,561,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1445,561,32,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1446,562,98,'1',419.0,419.0,0,0); +INSERT INTO order_items VALUES(1447,563,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1448,563,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1449,563,89,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1450,563,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1451,563,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1452,563,45,'2',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1453,563,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1454,563,67,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(1455,563,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1456,563,92,'1',36.0,36.0,1,0); +INSERT INTO order_items VALUES(1457,563,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1458,563,77,'1',16.0,16.0,1,0); +INSERT INTO order_items VALUES(1459,563,7,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1460,564,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1461,564,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1462,564,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1463,564,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1464,564,66,'1',27.0,27.0,1,0); +INSERT INTO order_items VALUES(1465,564,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(1466,564,64,'1',69.0,69.0,1,0); +INSERT INTO order_items VALUES(1467,564,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1468,565,45,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1469,565,75,'1',489.0,489.0,1,0); +INSERT INTO order_items VALUES(1470,566,45,'2',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1471,566,76,'2',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1472,566,101,'2',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1473,566,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1474,566,71,'2',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1475,566,31,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1476,566,29,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1477,566,30,'1',34.0,34.0,1,0); +INSERT INTO order_items VALUES(1478,566,103,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1479,566,19,'2',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1480,566,32,'2',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1481,566,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1482,566,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1483,566,64,'1',69.0,69.0,1,0); +INSERT INTO order_items VALUES(1484,566,89,'2',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1485,566,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1486,566,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1487,567,14,'1',389.0,389.0,1,0); +INSERT INTO order_items VALUES(1488,568,60,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1489,568,73,'2',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1490,568,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1491,568,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(1492,569,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1493,570,13,'2',69.0,69.0,1,0); +INSERT INTO order_items VALUES(1494,571,92,'1',36.0,36.0,1,0); +INSERT INTO order_items VALUES(1495,571,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1496,571,45,'2',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1497,571,72,'2',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1498,571,37,'1',79.0,79.0,1,0); +INSERT INTO order_items VALUES(1499,571,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1500,571,67,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(1501,571,23,'1',185.0,185.0,1,0); +INSERT INTO order_items VALUES(1502,571,107,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1503,572,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(1504,572,71,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1505,572,78,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1506,572,31,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1507,572,70,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1508,572,76,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1509,572,45,'2',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1510,572,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1511,572,68,'1',32.0,32.0,1,0); +INSERT INTO order_items VALUES(1512,572,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1513,572,92,'1',36.0,36.0,1,0); +INSERT INTO order_items VALUES(1514,572,74,'1',18.0,18.0,1,0); +INSERT INTO order_items VALUES(1515,572,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1516,572,16,'1',28.0,28.0,1,0); +INSERT INTO order_items VALUES(1517,572,77,'1',16.0,16.0,1,0); +INSERT INTO order_items VALUES(1518,572,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1519,572,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1520,573,85,'1',259.0,259.0,1,0); +INSERT INTO order_items VALUES(1521,573,109,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1522,573,111,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1523,573,117,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1524,574,105,'1',49.0,49.0,1,0); +INSERT INTO order_items VALUES(1525,574,115,'1',99.0,99.0,1,0); +INSERT INTO order_items VALUES(1526,574,108,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1527,575,23,'1',185.0,185.0,0,0); +INSERT INTO order_items VALUES(1528,576,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1529,577,72,'1',14.0,14.0,1,0); +INSERT INTO order_items VALUES(1530,577,103,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1531,578,69,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1532,578,45,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1533,578,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1534,578,5,'1',26.0,26.0,1,0); +INSERT INTO order_items VALUES(1535,578,27,'1',24.0,24.0,1,0); +INSERT INTO order_items VALUES(1536,578,94,'1',29.0,29.0,1,0); +INSERT INTO order_items VALUES(1537,579,4,'1',839.0,839.0,0,0); +INSERT INTO order_items VALUES(1538,580,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1539,580,13,'1',69.0,69.0,1,0); +INSERT INTO order_items VALUES(1540,581,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1541,582,59,'1',98.0,98.0,1,0); +INSERT INTO order_items VALUES(1542,582,60,'1',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1543,583,4,'1',839.0,839.0,1,0); +INSERT INTO order_items VALUES(1544,583,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1545,584,101,'1',12.0,12.0,1,0); +INSERT INTO order_items VALUES(1546,584,25,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(1547,584,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1548,584,19,'1',23.0,23.0,1,0); +INSERT INTO order_items VALUES(1549,584,33,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1550,585,23,'2',185.0,185.0,1,0); +INSERT INTO order_items VALUES(1551,586,23,'2',145.0,145.0,1,0); +INSERT INTO order_items VALUES(1552,587,23,'4',145.0,145.0,1,0); +INSERT INTO order_items VALUES(1553,587,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1554,587,32,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1555,588,45,'2',20.0,20.0,1,0); +INSERT INTO order_items VALUES(1556,588,25,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(1557,589,35,'1',429.0,429.0,1,0); +INSERT INTO order_items VALUES(1558,590,58,'1',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1559,591,98,'1',419.0,419.0,1,0); +INSERT INTO order_items VALUES(1560,592,24,'2',215.0,215.0,1,0); +INSERT INTO order_items VALUES(1561,592,4,'1',839.0,839.0,1,0); +INSERT INTO order_items VALUES(1562,592,45,'1',15.0,15.0,1,0); +INSERT INTO order_items VALUES(1563,593,73,'2',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1564,593,60,'2',78.0,78.0,1,0); +INSERT INTO order_items VALUES(1565,593,11,'1',119.0,119.0,1,0); +INSERT INTO order_items VALUES(1566,594,13,'1',69.0,69.0,1,0); +INSERT INTO order_items VALUES(1567,594,32,'1',39.0,39.0,1,0); +INSERT INTO order_items VALUES(1568,594,73,'4',59.0,59.0,1,0); +INSERT INTO order_items VALUES(1569,594,24,'1',215.0,215.0,1,0); +INSERT INTO order_items VALUES(1570,595,38,'1',76.0,76.0,1,0); +INSERT INTO order_items VALUES(1571,595,6,'1',109.0,109.0,1,0); +INSERT INTO order_items VALUES(1572,595,97,'1',19.0,19.0,1,0); +INSERT INTO order_items VALUES(1573,595,101,'1',12.0,12.0,1,0); CREATE TABLE IF NOT EXISTS "order_status" ("id" INTEGER PRIMARY KEY, "order_time" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "user_id" INTEGER NOT NULL, "order_id" INTEGER NOT NULL, "is_packaged" INTEGER NOT NULL DEFAULT false, "is_delivered" INTEGER NOT NULL DEFAULT false, "is_cancelled" INTEGER NOT NULL DEFAULT false, "cancel_reason" TEXT, "payment_state" TEXT NOT NULL DEFAULT 'pending', "cancellation_user_notes" TEXT, "cancellation_admin_notes" TEXT, "cancellation_reviewed" INTEGER NOT NULL DEFAULT false, "cancellation_reviewed_at" TEXT, "refund_coupon_id" INTEGER, "is_cancelled_by_admin" INTEGER); INSERT INTO order_status VALUES(1,'2025-11-19T09:21:36.005Z',3,1,1,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(2,'2025-11-19T09:38:30.002Z',1,2,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); @@ -1543,7 +2762,7 @@ INSERT INTO order_status VALUES(59,'2025-12-13T11:23:12.720Z',1,59,0,0,0,NULL,'c INSERT INTO order_status VALUES(60,'2025-12-13T11:23:12.720Z',1,60,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(61,'2025-12-13T11:24:58.073Z',1,61,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(62,'2025-12-13T11:24:58.073Z',1,62,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(63,'2025-12-13T11:30:04.358Z',1,63,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(63,'2025-12-13T11:30:04.358Z',1,63,0,0,1,'Not delivered','pending','Not delivered',NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(64,'2025-12-13T11:31:12.284Z',1,64,0,0,1,'just for fun','pending','just for fun',NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(65,'2025-12-13T11:31:12.284Z',1,65,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(66,'2025-12-15T09:42:52.294Z',1,66,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); @@ -1594,7 +2813,7 @@ INSERT INTO order_status VALUES(110,'2025-12-25T07:48:48.478Z',1,110,0,0,0,NULL, INSERT INTO order_status VALUES(111,'2025-12-25T10:06:02.108Z',1,111,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(112,'2025-12-25T10:06:02.108Z',1,112,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(113,'2025-12-25T10:32:45.526Z',1,113,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(114,'2025-12-26T19:38:17.686Z',16,114,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(114,'2025-12-26T19:38:17.686Z',16,114,0,0,1,'No','cod','No',NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(115,'2025-12-26T23:02:15.299Z',1,115,0,0,0,NULL,'cod',NULL,NULL,0,NULL,9,NULL); INSERT INTO order_status VALUES(116,'2025-12-26T23:02:15.299Z',1,116,1,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(117,'2025-12-27T12:09:01.944Z',2,117,1,1,0,NULL,'cod',NULL,NULL,0,NULL,10,NULL); @@ -1824,13 +3043,250 @@ INSERT INTO order_status VALUES(344,'2026-02-24T04:15:41.683Z',158,344,1,1,0,NUL INSERT INTO order_status VALUES(345,'2026-02-24T05:47:59.572Z',3,345,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(346,'2026-02-24T07:17:54.419Z',149,346,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); INSERT INTO order_status VALUES(347,'2026-02-24T12:55:21.432Z',50,347,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(348,'2026-02-25T02:47:44.024Z',132,348,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(381,'2026-02-26T11:24:06.998Z',1,381,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(382,'2026-02-26T11:30:33.419Z',1,382,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(383,'2026-02-26T11:34:03.543Z',1,383,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(384,'2026-02-26T11:36:20.560Z',1,384,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(385,'2026-03-09T10:16:59.219Z',1,385,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(386,'2026-03-26T01:19:29.108Z',1,386,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(348,'2026-02-25T02:47:44.024Z',132,348,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(349,'2026-02-25T04:40:19.195Z',24,349,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(350,'2026-02-25T05:03:27.872Z',220,350,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(351,'2026-02-25T06:52:19.308Z',233,351,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(352,'2026-02-25T14:52:54.324Z',235,352,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(353,'2026-02-26T03:44:04.545Z',82,353,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(354,'2026-02-26T05:11:01.135Z',236,354,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(355,'2026-02-26T05:14:50.861Z',238,355,1,1,1,'Wrong time','cod','Wrong time',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(356,'2026-02-26T05:51:13.822Z',239,356,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(357,'2026-02-26T18:33:11.505Z',38,357,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(358,'2026-02-27T02:47:09.270Z',38,358,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(359,'2026-02-27T05:02:36.157Z',172,359,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(360,'2026-02-27T05:20:40.267Z',242,360,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(361,'2026-02-27T05:26:22.536Z',230,361,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(362,'2026-02-27T05:48:47.430Z',4,362,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(363,'2026-02-27T06:57:06.554Z',224,363,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(364,'2026-02-28T00:41:09.365Z',230,364,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(365,'2026-02-28T02:41:38.501Z',229,365,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(366,'2026-02-28T05:08:01.859Z',132,366,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(367,'2026-02-28T09:28:30.211Z',236,367,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(368,'2026-02-28T10:25:07.126Z',176,368,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(369,'2026-02-28T12:40:27.781Z',1,369,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(370,'2026-03-01T00:50:02.190Z',120,370,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(371,'2026-03-01T02:46:03.502Z',99,371,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(372,'2026-03-01T04:22:18.426Z',230,372,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(373,'2026-03-01T05:20:38.451Z',194,373,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(374,'2026-03-01T05:58:44.007Z',4,374,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(375,'2026-03-01T06:21:44.289Z',224,375,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(376,'2026-03-01T06:22:09.918Z',224,376,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(377,'2026-03-01T08:07:06.028Z',224,377,0,0,1,'By mistake ','cod','By mistake ',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(378,'2026-03-01T09:40:50.821Z',1,378,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(379,'2026-03-02T03:36:51.234Z',230,379,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(380,'2026-03-02T04:33:10.418Z',250,380,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(381,'2026-03-02T19:26:50.713Z',141,381,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(382,'2026-03-02T19:26:50.713Z',141,382,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(383,'2026-03-03T01:23:02.964Z',250,383,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(384,'2026-03-03T01:49:07.899Z',194,384,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(385,'2026-03-03T01:51:47.992Z',82,385,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(386,'2026-03-03T02:13:40.902Z',24,386,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(387,'2026-03-03T02:40:34.418Z',230,387,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(388,'2026-03-03T03:26:27.071Z',176,388,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(389,'2026-03-03T04:05:39.945Z',4,389,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(390,'2026-03-03T05:38:03.902Z',224,390,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(391,'2026-03-03T06:21:30.279Z',115,391,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(392,'2026-03-03T08:35:22.245Z',224,392,0,0,1,'We want Tommorow ','cod','We want Tommorow ',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(393,'2026-03-03T09:06:36.076Z',224,393,0,0,1,'We want Tommorow ','cod','We want Tommorow ',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(394,'2026-03-03T10:45:41.804Z',254,394,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(395,'2026-03-03T18:06:31.043Z',141,395,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(396,'2026-03-03T18:06:31.043Z',141,396,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(397,'2026-03-04T03:24:32.319Z',224,397,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(398,'2026-03-04T03:52:31.884Z',257,398,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(399,'2026-03-04T04:11:39.541Z',169,399,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(400,'2026-03-04T04:13:07.848Z',258,400,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(401,'2026-03-04T07:04:33.514Z',261,401,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(402,'2026-03-04T08:11:12.175Z',82,402,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(403,'2026-03-04T08:11:12.175Z',82,403,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(404,'2026-03-04T08:23:30.038Z',262,404,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(405,'2026-03-04T09:08:20.425Z',236,405,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(406,'2026-03-04T09:12:17.605Z',6,406,0,0,1,'Demo','cod',NULL,'Demo',1,'2026-03-04T09:18:10.625Z',NULL,1); +INSERT INTO order_status VALUES(407,'2026-03-04T23:52:20.098Z',230,407,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(408,'2026-03-05T00:09:56.049Z',160,408,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(409,'2026-03-05T00:40:20.546Z',264,409,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(410,'2026-03-05T02:37:50.120Z',170,410,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(411,'2026-03-05T02:42:10.504Z',256,411,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(412,'2026-03-05T02:42:10.504Z',256,412,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(413,'2026-03-05T04:43:40.598Z',24,413,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(414,'2026-03-05T04:45:42.677Z',1,414,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(415,'2026-03-05T06:53:09.992Z',82,415,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(416,'2026-03-05T13:51:50.725Z',235,416,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(417,'2026-03-05T22:23:37.895Z',92,417,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(418,'2026-03-06T02:27:34.046Z',224,418,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(419,'2026-03-06T02:28:09.933Z',224,419,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(420,'2026-03-06T03:28:35.967Z',208,420,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(421,'2026-03-06T06:07:35.265Z',16,421,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(422,'2026-03-06T06:28:21.224Z',176,422,0,0,1,replace('Double order \n','\n',char(10)),'cod',replace('Double order \n','\n',char(10)),NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(423,'2026-03-06T06:29:21.289Z',176,423,0,0,1,replace('Double order \n','\n',char(10)),'cod',replace('Double order \n','\n',char(10)),NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(424,'2026-03-06T06:48:32.350Z',4,424,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(425,'2026-03-06T07:26:04.986Z',176,425,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(426,'2026-03-07T00:44:34.197Z',188,426,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(427,'2026-03-07T02:01:22.826Z',230,427,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(428,'2026-03-07T02:46:44.746Z',184,428,0,0,1,'Order by mistake ','cod','Order by mistake ',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(429,'2026-03-07T05:05:50.345Z',132,429,0,0,1,'No delivery for today','cod','No delivery for today',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(430,'2026-03-07T07:31:50.033Z',82,430,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(431,'2026-03-07T19:30:07.951Z',120,431,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(432,'2026-03-07T23:21:11.753Z',141,432,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(433,'2026-03-08T02:56:40.712Z',269,433,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(434,'2026-03-08T03:12:58.326Z',230,434,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(435,'2026-03-08T03:33:10.917Z',224,435,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(436,'2026-03-08T03:36:24.927Z',115,436,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(437,'2026-03-08T03:36:24.927Z',115,437,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(438,'2026-03-08T04:41:33.408Z',229,438,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(439,'2026-03-08T04:50:18.412Z',271,439,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(440,'2026-03-08T05:41:18.310Z',244,440,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(441,'2026-03-08T09:47:26.737Z',236,441,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(442,'2026-03-09T02:24:58.978Z',1,442,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(443,'2026-03-09T03:51:42.545Z',194,443,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(444,'2026-03-09T04:13:07.025Z',132,444,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(445,'2026-03-09T23:55:19.548Z',1,445,0,0,1,'Test','cod','Test',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(446,'2026-03-09T23:55:19.548Z',1,446,0,0,1,'Test','cod','Test',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(447,'2026-03-09T23:55:19.548Z',1,447,1,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(448,'2026-03-10T02:19:09.522Z',127,448,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(449,'2026-03-10T03:06:13.165Z',250,449,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(450,'2026-03-10T03:37:44.174Z',230,450,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(451,'2026-03-10T05:24:20.512Z',224,451,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(452,'2026-03-10T05:26:45.000Z',224,452,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(453,'2026-03-10T05:38:43.231Z',82,453,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(454,'2026-03-10T05:41:30.298Z',224,454,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(455,'2026-03-10T08:39:09.380Z',115,455,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(456,'2026-03-10T22:45:28.065Z',141,456,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(457,'2026-03-11T00:09:56.593Z',275,457,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(458,'2026-03-11T00:24:21.627Z',275,458,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(459,'2026-03-11T01:35:28.164Z',170,459,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(460,'2026-03-11T03:32:45.242Z',26,460,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(461,'2026-03-11T05:08:37.599Z',92,461,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(462,'2026-03-11T05:34:45.627Z',176,462,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(463,'2026-03-11T05:41:19.461Z',224,463,0,0,1,'Time ','cod','Time ',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(464,'2026-03-11T05:52:29.504Z',224,464,0,0,1,'Time ','cod','Time ',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(465,'2026-03-11T05:54:44.762Z',224,465,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(466,'2026-03-11T05:55:22.062Z',224,466,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(467,'2026-03-11T07:27:04.000Z',223,467,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(468,'2026-03-11T18:31:16.154Z',141,468,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(469,'2026-03-11T18:42:46.192Z',158,469,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(470,'2026-03-12T01:50:43.577Z',66,470,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(471,'2026-03-12T05:55:38.636Z',224,471,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(472,'2026-03-12T06:21:27.067Z',224,472,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(473,'2026-03-12T06:21:27.315Z',224,473,0,0,1,'Double order ','cod','Double order ',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(474,'2026-03-12T06:28:00.008Z',114,474,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(475,'2026-03-12T06:30:18.310Z',114,475,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(476,'2026-03-12T07:06:44.469Z',82,476,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(477,'2026-03-12T19:54:53.196Z',184,477,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(478,'2026-03-13T01:08:26.786Z',280,478,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(479,'2026-03-13T01:10:32.516Z',280,479,0,0,1,'Double ','cod',NULL,'Double ',1,'2026-03-13T05:15:56.325Z',NULL,1); +INSERT INTO order_status VALUES(480,'2026-03-13T04:16:08.579Z',194,480,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(481,'2026-03-13T04:24:23.952Z',132,481,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(482,'2026-03-13T04:31:27.383Z',132,482,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(483,'2026-03-13T04:51:24.301Z',224,483,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(484,'2026-03-13T05:27:37.985Z',92,484,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(485,'2026-03-13T05:31:38.984Z',230,485,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(486,'2026-03-13T19:54:39.344Z',283,486,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(487,'2026-03-13T23:51:07.501Z',82,487,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(488,'2026-03-13T23:51:07.501Z',82,488,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(489,'2026-03-14T00:39:17.223Z',256,489,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(490,'2026-03-14T02:28:15.991Z',230,490,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(491,'2026-03-14T03:30:52.801Z',24,491,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(492,'2026-03-14T03:39:02.649Z',229,492,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(493,'2026-03-14T06:14:52.151Z',236,493,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(494,'2026-03-14T12:11:26.101Z',287,494,0,0,1,'Chicken hona hai','cod','Chicken hona hai',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(495,'2026-03-14T12:11:26.101Z',287,495,0,0,1,'Chicken mangana hai','cod','Chicken mangana hai',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(496,'2026-03-14T12:13:00.996Z',287,496,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(497,'2026-03-14T23:41:00.156Z',120,497,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(498,'2026-03-15T01:30:56.253Z',230,498,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(499,'2026-03-15T02:12:03.808Z',288,499,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(500,'2026-03-15T02:29:47.286Z',224,500,1,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(501,'2026-03-15T02:42:10.816Z',224,501,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(502,'2026-03-15T02:49:32.710Z',132,502,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(503,'2026-03-15T02:50:57.342Z',132,503,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(504,'2026-03-15T04:11:31.749Z',184,504,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(505,'2026-03-15T04:43:46.687Z',258,505,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(506,'2026-03-15T12:12:21.197Z',1,506,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(507,'2026-03-16T00:18:47.319Z',265,507,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(508,'2026-03-16T01:44:23.551Z',66,508,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(509,'2026-03-16T04:32:13.136Z',114,509,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(510,'2026-03-16T05:37:56.999Z',114,510,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(511,'2026-03-16T06:56:00.745Z',176,511,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(512,'2026-03-16T22:27:45.880Z',246,512,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(513,'2026-03-16T23:47:18.917Z',283,513,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(514,'2026-03-17T01:27:26.048Z',250,514,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(515,'2026-03-17T04:32:04.077Z',92,515,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(516,'2026-03-17T08:33:39.794Z',82,516,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(517,'2026-03-17T08:44:41.902Z',82,517,0,0,1,'Demo','cod',NULL,'Demo',1,'2026-03-18T10:38:18.850Z',NULL,1); +INSERT INTO order_status VALUES(518,'2026-03-17T15:02:20.451Z',82,518,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(519,'2026-03-17T15:02:20.451Z',82,519,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(520,'2026-03-17T17:56:28.225Z',141,520,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(521,'2026-03-17T23:09:49.395Z',250,521,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(522,'2026-03-18T04:35:52.158Z',256,522,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(523,'2026-03-18T05:20:43.458Z',4,523,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(524,'2026-03-18T05:25:09.769Z',230,524,0,0,1,'Not suppose to buy now','cod','Not suppose to buy now',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(525,'2026-03-18T09:10:53.306Z',1,525,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(526,'2026-03-18T09:59:01.611Z',66,526,0,0,1,'S','cod','S',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(527,'2026-03-18T23:36:01.916Z',230,527,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(528,'2026-03-19T04:05:55.973Z',299,528,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(529,'2026-03-19T04:08:20.237Z',169,529,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(530,'2026-03-19T04:15:45.735Z',141,530,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(531,'2026-03-19T04:18:19.284Z',115,531,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(532,'2026-03-19T04:52:52.251Z',66,532,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(533,'2026-03-19T05:17:14.122Z',264,533,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(534,'2026-03-19T07:46:20.281Z',146,534,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(535,'2026-03-19T11:29:42.785Z',302,535,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(536,'2026-03-19T19:27:52.921Z',283,536,0,0,1,'Demo ','cod',NULL,'Demo ',1,'2026-03-19T22:46:20.239Z',NULL,1); +INSERT INTO order_status VALUES(537,'2026-03-19T19:31:45.053Z',283,537,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(538,'2026-03-19T19:36:29.750Z',283,538,0,0,1,'Demo ','cod',NULL,'Demo ',1,'2026-03-19T22:45:24.143Z',NULL,1); +INSERT INTO order_status VALUES(539,'2026-03-19T21:08:04.556Z',82,539,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(540,'2026-03-20T00:25:13.174Z',82,540,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(541,'2026-03-20T00:50:41.264Z',264,541,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(542,'2026-03-20T00:51:16.093Z',264,542,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(543,'2026-03-20T01:25:37.796Z',227,543,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(544,'2026-03-20T03:24:20.204Z',4,544,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(545,'2026-03-20T04:07:50.717Z',172,545,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(546,'2026-03-20T06:28:32.797Z',236,546,0,0,1,'There was a glitch issue.','cod','There was a glitch issue.',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(547,'2026-03-20T06:39:18.134Z',188,547,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(548,'2026-03-21T21:06:54.579Z',230,548,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(549,'2026-03-21T23:32:39.281Z',304,549,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(550,'2026-03-22T00:25:09.280Z',120,550,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(555,'2026-03-22T10:39:30.546Z',1,555,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(556,'2026-03-22T10:46:49.951Z',1,556,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(557,'2026-03-22T10:46:49.951Z',1,557,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(558,'2026-03-23T01:48:06.538Z',306,558,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(559,'2026-03-23T02:05:01.355Z',208,559,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(560,'2026-03-23T02:25:14.500Z',307,560,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(561,'2026-03-24T01:01:06.498Z',250,561,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(562,'2026-03-24T01:01:06.498Z',250,562,0,0,1,'Want to order now ','cod','Want to order now ',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(563,'2026-03-24T01:42:50.900Z',99,563,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(564,'2026-03-24T02:43:32.488Z',4,564,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(565,'2026-03-24T04:42:22.300Z',114,565,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(566,'2026-03-24T05:17:57.327Z',224,566,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(567,'2026-03-24T06:54:55.898Z',246,567,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(568,'2026-03-24T16:43:16.098Z',82,568,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(569,'2026-03-24T22:39:25.925Z',1,569,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(570,'2026-03-24T22:57:50.644Z',38,570,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(571,'2026-03-25T01:20:58.880Z',115,571,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(572,'2026-03-25T01:44:52.706Z',280,572,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(573,'2026-03-25T01:57:51.537Z',50,573,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(574,'2026-03-25T05:15:03.684Z',103,574,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(575,'2026-03-25T10:51:19.272Z',310,575,0,0,1,'Demo','cod','Demo',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(576,'2026-03-25T20:40:19.622Z',311,576,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(577,'2026-03-26T01:21:37.722Z',114,577,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(578,'2026-03-26T02:42:25.413Z',313,578,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(579,'2026-03-26T20:39:07.981Z',299,579,0,0,1,'We will be not in our home today','cod','We will be not in our home today',NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(580,'2026-03-26T22:09:00.013Z',230,580,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(581,'2026-03-26T23:29:28.602Z',310,581,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(582,'2026-03-27T03:52:45.991Z',66,582,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(583,'2026-03-27T23:17:15.898Z',316,583,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(584,'2026-03-27T23:33:31.845Z',256,584,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(585,'2026-03-27T23:47:24.901Z',264,585,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(586,'2026-03-28T03:05:09.068Z',250,586,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(587,'2026-03-28T05:08:02.973Z',99,587,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(588,'2026-03-28T06:18:36.001Z',198,588,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(589,'2026-03-28T20:51:08.409Z',299,589,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(590,'2026-03-28T22:29:46.522Z',310,590,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(591,'2026-03-28T22:46:02.040Z',120,591,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(592,'2026-03-28T23:51:51.488Z',82,592,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(593,'2026-03-28T23:53:23.718Z',82,593,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(594,'2026-03-29T00:36:58.116Z',229,594,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); +INSERT INTO order_status VALUES(595,'2026-03-29T01:46:23.829Z',250,595,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); CREATE TABLE IF NOT EXISTS "orders" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "address_id" INTEGER NOT NULL, "slot_id" INTEGER, "total_amount" REAL NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_cod" INTEGER NOT NULL DEFAULT false, "is_online_payment" INTEGER NOT NULL DEFAULT false, "payment_info_id" INTEGER, "readable_id" INTEGER NOT NULL, "admin_notes" TEXT, "user_notes" TEXT, "delivery_charge" REAL NOT NULL DEFAULT '0', "order_group_id" TEXT, "order_group_proportion" REAL, "is_flash_delivery" INTEGER NOT NULL DEFAULT false); INSERT INTO orders VALUES(1,3,1,1,44.0,'2025-11-19T09:21:36.005Z',0,1,1,1,NULL,NULL,0.0,NULL,NULL,0); INSERT INTO orders VALUES(2,1,17,1,220.0,'2025-11-19T09:38:30.002Z',0,1,2,2,NULL,NULL,0.0,NULL,NULL,0); @@ -2176,12 +3632,249 @@ INSERT INTO orders VALUES(345,3,16,NULL,399.0,'2026-02-24T05:47:59.572Z',1,0,NUL INSERT INTO orders VALUES(346,149,130,236,181.0,'2026-02-24T07:17:54.419Z',1,0,NULL,-1,NULL,NULL,0.0,'1771937274400-149',1.0,0); INSERT INTO orders VALUES(347,50,45,238,281.0,'2026-02-24T12:55:21.432Z',1,0,NULL,-1,NULL,'If I don''t attend the call please call to this number 86888065996',0.0,'1771957521407-50',1.0,0); INSERT INTO orders VALUES(348,132,123,242,429.0,'2026-02-25T02:47:44.024Z',1,0,NULL,-1,NULL,NULL,0.0,'1772007464014-132',1.0,0); -INSERT INTO orders VALUES(381,1,17,NULL,395.0,'2026-02-26T11:24:06.998Z',1,0,NULL,-1,NULL,NULL,0.0,'1772124844672-1',1.0,1); -INSERT INTO orders VALUES(382,1,17,NULL,187.0,'2026-02-26T11:30:33.419Z',1,0,NULL,-1,NULL,NULL,0.0,'1772125229922-1',1.0,1); -INSERT INTO orders VALUES(383,1,17,NULL,164.0,'2026-02-26T11:34:03.543Z',1,0,NULL,-1,NULL,NULL,45.0,'1772125441817-1',1.0,1); -INSERT INTO orders VALUES(384,1,17,NULL,444.0,'2026-02-26T11:36:20.560Z',1,0,NULL,-1,NULL,NULL,45.0,'1772125578199-1',1.0,1); -INSERT INTO orders VALUES(385,1,17,279,344.0,'2026-03-09T10:16:59.219Z',1,0,NULL,-1,NULL,NULL,0.0,'1773071219214-1',1.0,0); -INSERT INTO orders VALUES(386,1,17,286,51.0,'2026-03-26T01:19:29.108Z',1,0,NULL,-1,NULL,NULL,12.0,'1774507768653-1',1.0,0); +INSERT INTO orders VALUES(349,24,92,242,129.0,'2026-02-25T04:40:19.195Z',1,0,NULL,-1,NULL,NULL,12.0,'1772014219188-24',1.0,0); +INSERT INTO orders VALUES(350,220,178,242,204.0,'2026-02-25T05:03:27.872Z',1,0,NULL,-1,NULL,NULL,0.0,'1772015607864-220',1.0,0); +INSERT INTO orders VALUES(351,233,179,243,175.0,'2026-02-25T06:52:19.308Z',1,0,NULL,-1,NULL,NULL,12.0,'1772022139286-233',1.0,0); +INSERT INTO orders VALUES(352,235,180,247,189.0,'2026-02-25T14:52:54.324Z',1,0,NULL,-1,NULL,NULL,0.0,'1772050974295-235',1.0,0); +INSERT INTO orders VALUES(353,82,72,NULL,507.0,'2026-02-26T03:44:04.545Z',1,0,NULL,-1,NULL,NULL,0.0,'1772097244524-82',1.0,1); +INSERT INTO orders VALUES(354,236,181,NULL,182.0,'2026-02-26T05:11:01.135Z',1,0,NULL,-1,NULL,NULL,0.0,'1772102461107-236',1.0,1); +INSERT INTO orders VALUES(355,238,182,251,241.0,'2026-02-26T05:14:50.861Z',1,0,NULL,-1,NULL,NULL,0.0,'1772102690849-238',1.0,0); +INSERT INTO orders VALUES(356,239,183,NULL,263.0,'2026-02-26T05:51:13.822Z',1,0,NULL,-1,NULL,NULL,0.0,'1772104873801-239',1.0,1); +INSERT INTO orders VALUES(357,38,66,254,285.0,'2026-02-26T18:33:11.505Z',1,0,NULL,-1,NULL,NULL,0.0,'1772150591492-38',1.0,0); +INSERT INTO orders VALUES(358,38,66,256,189.0,'2026-02-27T02:47:09.270Z',1,0,NULL,-1,NULL,NULL,0.0,'1772180229265-38',1.0,0); +INSERT INTO orders VALUES(359,172,186,NULL,335.0,'2026-02-27T05:02:36.157Z',1,0,NULL,-1,NULL,NULL,39.0,'1772188356145-172',1.0,1); +INSERT INTO orders VALUES(360,242,187,NULL,531.0,'2026-02-27T05:20:40.267Z',1,0,NULL,-1,NULL,NULL,39.0,'1772189440227-242',1.0,1); +INSERT INTO orders VALUES(361,230,174,258,328.0,'2026-02-27T05:26:22.536Z',1,0,NULL,-1,NULL,NULL,0.0,'1772189782524-230',1.0,0); +INSERT INTO orders VALUES(362,4,136,258,216.0,'2026-02-27T05:48:47.430Z',1,0,NULL,-1,NULL,replace('Hello bhaiya...!\n Jaldi leke aao...','\n',char(10)),0.0,'1772191127414-4',1.0,0); +INSERT INTO orders VALUES(363,224,169,256,188.0,'2026-02-27T06:57:06.554Z',1,0,NULL,-1,NULL,NULL,12.0,'1772195226548-224',1.0,0); +INSERT INTO orders VALUES(364,230,174,264,501.0,'2026-02-28T00:41:09.365Z',1,0,NULL,-1,NULL,NULL,0.0,'1772259069342-230',1.0,0); +INSERT INTO orders VALUES(365,229,173,264,715.0,'2026-02-28T02:41:38.501Z',1,0,NULL,-1,NULL,NULL,0.0,'1772266298480-229',1.0,0); +INSERT INTO orders VALUES(366,132,123,265,494.0,'2026-02-28T05:08:01.859Z',1,0,NULL,-1,NULL,NULL,0.0,'1772275081852-132',1.0,0); +INSERT INTO orders VALUES(367,236,181,NULL,212.0,'2026-02-28T09:28:30.211Z',1,0,NULL,-1,NULL,NULL,39.0,'1772290710201-236',1.0,1); +INSERT INTO orders VALUES(368,176,145,266,295.0,'2026-02-28T10:25:07.126Z',1,0,NULL,-1,NULL,NULL,0.0,'1772294107121-176',1.0,0); +INSERT INTO orders VALUES(369,1,17,267,389.0,'2026-02-28T12:40:27.781Z',1,0,NULL,-1,NULL,NULL,0.0,'1772302227779-1',1.0,0); +INSERT INTO orders VALUES(370,120,108,269,419.0,'2026-03-01T00:50:02.190Z',1,0,NULL,-1,NULL,'Deliver soon please ',0.0,'1772346002180-120',1.0,0); +INSERT INTO orders VALUES(371,99,132,270,190.0,'2026-03-01T02:46:03.502Z',1,0,NULL,-1,NULL,NULL,0.0,'1772352963478-99',1.0,0); +INSERT INTO orders VALUES(372,230,174,271,176.0,'2026-03-01T04:22:18.426Z',1,0,NULL,-1,NULL,NULL,12.0,'1772358738415-230',1.0,0); +INSERT INTO orders VALUES(373,194,154,272,314.0,'2026-03-01T05:20:38.451Z',1,0,NULL,-1,NULL,NULL,0.0,'1772362238431-194',1.0,0); +INSERT INTO orders VALUES(374,4,136,272,165.0,'2026-03-01T05:58:44.007Z',1,0,NULL,-1,NULL,NULL,12.0,'1772364523996-4',1.0,0); +INSERT INTO orders VALUES(375,224,169,NULL,92.0,'2026-03-01T06:21:44.289Z',1,0,NULL,-1,NULL,NULL,39.0,'1772365904277-224',1.0,1); +INSERT INTO orders VALUES(376,224,169,272,71.0,'2026-03-01T06:22:09.918Z',1,0,NULL,-1,NULL,NULL,12.0,'1772365929909-224',1.0,0); +INSERT INTO orders VALUES(377,224,169,NULL,600.0,'2026-03-01T08:07:06.028Z',1,0,NULL,-1,NULL,NULL,0.0,'1772372226021-224',1.0,1); +INSERT INTO orders VALUES(378,1,17,274,489.0,'2026-03-01T09:40:50.821Z',1,0,NULL,-1,NULL,NULL,0.0,'1772377850816-1',1.0,0); +INSERT INTO orders VALUES(379,230,174,276,404.0,'2026-03-02T03:36:51.234Z',1,0,NULL,-1,NULL,NULL,0.0,'1772442411226-230',1.0,0); +INSERT INTO orders VALUES(380,250,188,NULL,501.0,'2026-03-02T04:33:10.418Z',1,0,NULL,-1,NULL,'Call me after reaching wait till I call ',0.0,'1772445790399-250',1.0,1); +INSERT INTO orders VALUES(381,141,120,279,118.0,'2026-03-02T19:26:50.713Z',1,0,NULL,-1,NULL,NULL,0.0,'1772499410687-141',0.28920000000000003481,0); +INSERT INTO orders VALUES(382,141,120,281,290.0,'2026-03-02T19:26:50.713Z',1,0,NULL,-1,NULL,NULL,0.0,'1772499410687-141',0.71079999999999996518,0); +INSERT INTO orders VALUES(383,250,188,NULL,167.0,'2026-03-03T01:23:02.964Z',1,0,NULL,-1,NULL,NULL,39.0,'1772520782944-250',1.0,1); +INSERT INTO orders VALUES(384,194,154,284,312.0,'2026-03-03T01:49:07.899Z',1,0,NULL,-1,NULL,NULL,0.0,'1772522347894-194',1.0,0); +INSERT INTO orders VALUES(385,82,72,NULL,665.0,'2026-03-03T01:51:47.992Z',1,0,NULL,-1,NULL,NULL,0.0,'1772522507968-82',1.0,1); +INSERT INTO orders VALUES(386,24,92,284,275.0,'2026-03-03T02:13:40.902Z',1,0,NULL,-1,NULL,NULL,0.0,'1772523820879-24',1.0,0); +INSERT INTO orders VALUES(387,230,174,284,407.0,'2026-03-03T02:40:34.418Z',1,0,NULL,-1,NULL,NULL,0.0,'1772525434405-230',1.0,0); +INSERT INTO orders VALUES(388,176,145,NULL,480.0,'2026-03-03T03:26:27.071Z',1,0,NULL,-1,NULL,NULL,39.0,'1772528187046-176',1.0,1); +INSERT INTO orders VALUES(389,4,136,285,258.0,'2026-03-03T04:05:39.945Z',1,0,NULL,-1,NULL,NULL,0.0,'1772530539940-4',1.0,0); +INSERT INTO orders VALUES(390,224,169,284,331.0,'2026-03-03T05:38:03.902Z',1,0,NULL,-1,NULL,NULL,0.0,'1772536083887-224',1.0,0); +INSERT INTO orders VALUES(391,115,105,NULL,401.0,'2026-03-03T06:21:30.279Z',1,0,NULL,-1,NULL,NULL,39.0,'1772538690235-115',1.0,1); +INSERT INTO orders VALUES(392,224,169,287,41.0,'2026-03-03T08:35:22.245Z',1,0,NULL,-1,NULL,NULL,12.0,'1772546722240-224',1.0,0); +INSERT INTO orders VALUES(393,224,169,287,71.0,'2026-03-03T09:06:36.076Z',1,0,NULL,-1,NULL,NULL,12.0,'1772548596071-224',1.0,0); +INSERT INTO orders VALUES(394,254,190,288,168.0,'2026-03-03T10:45:41.804Z',1,0,NULL,-1,NULL,NULL,12.0,'1772554541798-254',1.0,0); +INSERT INTO orders VALUES(395,141,120,288,403.70999999999996887,'2026-03-03T18:06:31.043Z',1,0,NULL,-1,NULL,NULL,0.0,'1772580991024-141',0.50590000000000001634,0); +INSERT INTO orders VALUES(396,141,120,289,394.29000000000002046,'2026-03-03T18:06:31.043Z',1,0,NULL,-1,NULL,NULL,0.0,'1772580991024-141',0.49409999999999998365,0); +INSERT INTO orders VALUES(397,224,169,291,292.0,'2026-03-04T03:24:32.319Z',1,0,NULL,-1,NULL,NULL,0.0,'1772614472310-224',1.0,0); +INSERT INTO orders VALUES(398,257,192,291,126.0,'2026-03-04T03:52:31.884Z',1,0,NULL,-1,NULL,NULL,12.0,'1772616151875-257',1.0,0); +INSERT INTO orders VALUES(399,169,142,292,1196.0,'2026-03-04T04:11:39.541Z',1,0,NULL,-1,NULL,NULL,0.0,'1772617299504-169',1.0,0); +INSERT INTO orders VALUES(400,258,193,NULL,448.0,'2026-03-04T04:13:07.848Z',1,0,NULL,-1,NULL,NULL,39.0,'1772617387831-258',1.0,1); +INSERT INTO orders VALUES(401,261,196,293,475.0,'2026-03-04T07:04:33.514Z',1,0,NULL,-1,NULL,NULL,0.0,'1772627673505-261',1.0,0); +INSERT INTO orders VALUES(402,82,72,294,838.0,'2026-03-04T08:11:12.175Z',1,0,NULL,-1,NULL,NULL,0.0,'1772631672169-82',0.81039999999999992041,0); +INSERT INTO orders VALUES(403,82,72,296,196.0,'2026-03-04T08:11:12.175Z',1,0,NULL,-1,NULL,NULL,0.0,'1772631672169-82',0.18959999999999999076,0); +INSERT INTO orders VALUES(404,262,197,NULL,157.0,'2026-03-04T08:23:30.038Z',1,0,NULL,-1,NULL,NULL,39.0,'1772632410029-262',1.0,1); +INSERT INTO orders VALUES(405,236,181,NULL,439.0,'2026-03-04T09:08:20.425Z',1,0,NULL,-1,NULL,NULL,39.0,'1772635100412-236',1.0,1); +INSERT INTO orders VALUES(406,6,59,294,289.0,'2026-03-04T09:12:17.605Z',1,0,NULL,-1,NULL,NULL,0.0,'1772635337599-6',1.0,0); +INSERT INTO orders VALUES(407,230,174,297,467.0,'2026-03-04T23:52:20.098Z',1,0,NULL,-1,NULL,NULL,0.0,'1772688140084-230',1.0,0); +INSERT INTO orders VALUES(408,160,134,297,306.0,'2026-03-05T00:09:56.049Z',1,0,NULL,-1,NULL,NULL,0.0,'1772689196043-160',1.0,0); +INSERT INTO orders VALUES(409,264,199,298,460.0,'2026-03-05T00:40:20.546Z',1,0,NULL,-1,NULL,NULL,0.0,'1772691020539-264',1.0,0); +INSERT INTO orders VALUES(410,170,144,298,736.0,'2026-03-05T02:37:50.120Z',1,0,NULL,-1,NULL,NULL,0.0,'1772698070096-170',1.0,0); +INSERT INTO orders VALUES(411,256,191,298,280.0,'2026-03-05T02:42:10.504Z',1,0,NULL,-1,NULL,NULL,0.0,'1772698330488-256',0.5748999999999999666,0); +INSERT INTO orders VALUES(412,256,191,299,207.0,'2026-03-05T02:42:10.504Z',1,0,NULL,-1,NULL,NULL,0.0,'1772698330488-256',0.42509999999999994457,0); +INSERT INTO orders VALUES(413,24,92,299,254.0,'2026-03-05T04:43:40.598Z',1,0,NULL,-1,NULL,NULL,0.0,'1772705620591-24',1.0,0); +INSERT INTO orders VALUES(414,1,17,299,110.0,'2026-03-05T04:45:42.677Z',1,0,NULL,-1,NULL,NULL,12.0,'1772705742672-1',1.0,0); +INSERT INTO orders VALUES(415,82,72,300,360.0,'2026-03-05T06:53:09.992Z',1,0,NULL,-1,NULL,NULL,0.0,'1772713389984-82',1.0,0); +INSERT INTO orders VALUES(416,235,180,303,152.0,'2026-03-05T13:51:50.725Z',1,0,NULL,-1,NULL,NULL,12.0,'1772738510714-235',1.0,0); +INSERT INTO orders VALUES(417,92,86,304,246.0,'2026-03-05T22:23:37.895Z',1,0,NULL,-1,NULL,NULL,0.0,'1772769217880-92',1.0,0); +INSERT INTO orders VALUES(418,224,169,305,84.0,'2026-03-06T02:27:34.046Z',1,0,NULL,-1,NULL,NULL,12.0,'1772783854037-224',1.0,0); +INSERT INTO orders VALUES(419,224,169,305,130.0,'2026-03-06T02:28:09.933Z',1,0,NULL,-1,NULL,NULL,12.0,'1772783889922-224',1.0,0); +INSERT INTO orders VALUES(420,208,163,305,458.0,'2026-03-06T03:28:35.967Z',1,0,NULL,-1,NULL,NULL,0.0,'1772787515961-208',1.0,0); +INSERT INTO orders VALUES(421,16,32,307,195.0,'2026-03-06T06:07:35.265Z',1,0,NULL,-1,NULL,NULL,0.0,'1772797055248-16',1.0,0); +INSERT INTO orders VALUES(422,176,145,NULL,199.0,'2026-03-06T06:28:21.224Z',1,0,NULL,-1,NULL,NULL,39.0,'1772798301213-176',1.0,1); +INSERT INTO orders VALUES(423,176,145,NULL,199.0,'2026-03-06T06:29:21.289Z',1,0,NULL,-1,NULL,NULL,39.0,'1772798361278-176',1.0,1); +INSERT INTO orders VALUES(424,4,136,307,312.0,'2026-03-06T06:48:32.350Z',1,0,NULL,-1,NULL,NULL,0.0,'1772799512346-4',1.0,0); +INSERT INTO orders VALUES(425,176,145,307,295.0,'2026-03-06T07:26:04.986Z',1,0,NULL,-1,NULL,NULL,0.0,'1772801764981-176',1.0,0); +INSERT INTO orders VALUES(426,188,200,NULL,490.0,'2026-03-07T00:44:34.197Z',1,0,NULL,-1,NULL,NULL,0.0,'1772864074174-188',1.0,1); +INSERT INTO orders VALUES(427,230,174,312,130.0,'2026-03-07T02:01:22.826Z',1,0,NULL,-1,NULL,NULL,12.0,'1772868682816-230',1.0,0); +INSERT INTO orders VALUES(428,184,201,313,201.0,'2026-03-07T02:46:44.746Z',1,0,NULL,-1,NULL,NULL,0.0,'1772871404737-184',1.0,0); +INSERT INTO orders VALUES(429,132,123,315,419.0,'2026-03-07T05:05:50.345Z',1,0,NULL,-1,NULL,NULL,0.0,'1772879750338-132',1.0,0); +INSERT INTO orders VALUES(430,82,72,316,1122.0,'2026-03-07T07:31:50.033Z',1,0,NULL,-1,NULL,NULL,0.0,'1772888510027-82',1.0,0); +INSERT INTO orders VALUES(431,120,108,317,419.0,'2026-03-07T19:30:07.951Z',1,0,NULL,-1,NULL,replace('CALL MOHD SIRAJ\n+91 87122 17977\nDeliver to him\n\n','\n',char(10)),0.0,'1772931607941-120',1.0,0); +INSERT INTO orders VALUES(432,141,120,317,312.0,'2026-03-07T23:21:11.753Z',1,0,NULL,-1,NULL,NULL,0.0,'1772945471746-141',1.0,0); +INSERT INTO orders VALUES(433,269,202,NULL,335.0,'2026-03-08T02:56:40.712Z',1,0,NULL,-1,NULL,NULL,39.0,'1772958400699-269',1.0,1); +INSERT INTO orders VALUES(434,230,174,319,342.0,'2026-03-08T03:12:58.326Z',1,0,NULL,-1,NULL,NULL,0.0,'1772959378314-230',1.0,0); +INSERT INTO orders VALUES(435,224,169,319,233.0,'2026-03-08T03:33:10.917Z',1,0,NULL,-1,NULL,NULL,0.0,'1772960590910-224',1.0,0); +INSERT INTO orders VALUES(436,115,189,319,652.0,'2026-03-08T03:36:24.927Z',1,0,NULL,-1,NULL,NULL,0.0,'1772960784907-115',0.62570000000000005613,0); +INSERT INTO orders VALUES(437,115,189,320,390.0,'2026-03-08T03:36:24.927Z',1,0,NULL,-1,NULL,NULL,0.0,'1772960784907-115',0.37430000000000003268,0); +INSERT INTO orders VALUES(438,229,173,320,760.0,'2026-03-08T04:41:33.408Z',1,0,NULL,-1,NULL,NULL,0.0,'1772964693397-229',1.0,0); +INSERT INTO orders VALUES(439,271,203,NULL,769.0,'2026-03-08T04:50:18.412Z',1,0,NULL,-1,NULL,'Neat Leg meat request ',0.0,'1772965218403-271',1.0,1); +INSERT INTO orders VALUES(440,244,204,NULL,235.0,'2026-03-08T05:41:18.310Z',1,0,NULL,-1,NULL,NULL,39.0,'1772968278303-244',1.0,1); +INSERT INTO orders VALUES(441,236,181,NULL,454.0,'2026-03-08T09:47:26.737Z',1,0,NULL,-1,NULL,NULL,39.0,'1772983046721-236',1.0,1); +INSERT INTO orders VALUES(442,1,17,326,121.0,'2026-03-09T02:24:58.978Z',1,0,NULL,-1,NULL,NULL,12.0,'1773042898973-1',1.0,0); +INSERT INTO orders VALUES(443,194,154,326,347.0,'2026-03-09T03:51:42.545Z',1,0,NULL,-1,NULL,NULL,0.0,'1773048102527-194',1.0,0); +INSERT INTO orders VALUES(444,132,123,327,428.0,'2026-03-09T04:13:07.025Z',1,0,NULL,-1,NULL,NULL,0.0,'1773049387007-132',1.0,0); +INSERT INTO orders VALUES(445,1,17,329,462.0,'2026-03-09T23:55:19.548Z',1,0,NULL,-1,NULL,NULL,0.0,'1773120319533-1',0.60309999999999996944,0); +INSERT INTO orders VALUES(446,1,17,330,289.0,'2026-03-09T23:55:19.548Z',1,0,NULL,-1,NULL,NULL,0.0,'1773120319533-1',0.37730000000000001314,0); +INSERT INTO orders VALUES(447,1,17,331,15.0,'2026-03-09T23:55:19.548Z',1,0,NULL,-1,NULL,NULL,0.0,'1773120319533-1',0.019599999999999999644,0); +INSERT INTO orders VALUES(448,127,113,331,277.0,'2026-03-10T02:19:09.522Z',1,0,NULL,-1,NULL,NULL,0.0,'1773128949499-127',1.0,0); +INSERT INTO orders VALUES(449,250,188,331,645.0,'2026-03-10T03:06:13.165Z',1,0,NULL,-1,NULL,NULL,0.0,'1773131773159-250',1.0,0); +INSERT INTO orders VALUES(450,230,174,331,359.0,'2026-03-10T03:37:44.174Z',1,0,NULL,-1,NULL,NULL,0.0,'1773133664164-230',1.0,0); +INSERT INTO orders VALUES(451,224,169,332,169.0,'2026-03-10T05:24:20.512Z',1,0,NULL,-1,NULL,NULL,12.0,'1773140060506-224',1.0,0); +INSERT INTO orders VALUES(452,224,169,332,61.0,'2026-03-10T05:26:45.000Z',1,0,NULL,-1,NULL,NULL,12.0,'1773140204995-224',1.0,0); +INSERT INTO orders VALUES(453,82,72,333,644.0,'2026-03-10T05:38:43.231Z',1,0,NULL,-1,NULL,NULL,0.0,'1773140923213-82',1.0,0); +INSERT INTO orders VALUES(454,224,169,332,61.0,'2026-03-10T05:41:30.298Z',1,0,NULL,-1,NULL,NULL,12.0,'1773141090288-224',1.0,0); +INSERT INTO orders VALUES(455,115,189,NULL,209.0,'2026-03-10T08:39:09.380Z',1,0,NULL,-1,NULL,NULL,39.0,'1773151749363-115',1.0,1); +INSERT INTO orders VALUES(456,141,120,336,231.0,'2026-03-10T22:45:28.065Z',1,0,NULL,-1,NULL,NULL,0.0,'1773202528061-141',1.0,0); +INSERT INTO orders VALUES(457,275,206,337,313.0,'2026-03-11T00:09:56.593Z',1,0,NULL,-1,NULL,'All veggies should be fresh and neatly packed',0.0,'1773207596570-275',1.0,0); +INSERT INTO orders VALUES(458,275,206,337,389.0,'2026-03-11T00:24:21.627Z',1,0,NULL,-1,NULL,replace('Make sure it is HALAL.\nBoti should be of a male sheep, and have good quantity of liver added','\n',char(10)),0.0,'1773208461616-275',1.0,0); +INSERT INTO orders VALUES(459,170,144,338,1064.0,'2026-03-11T01:35:28.164Z',1,0,NULL,-1,NULL,NULL,0.0,'1773212728158-170',1.0,0); +INSERT INTO orders VALUES(460,26,34,338,168.0,'2026-03-11T03:32:45.242Z',1,0,NULL,-1,NULL,NULL,12.0,'1773219765237-26',1.0,0); +INSERT INTO orders VALUES(461,92,86,NULL,275.0,'2026-03-11T05:08:37.599Z',1,0,NULL,-1,NULL,NULL,39.0,'1773225517582-92',1.0,1); +INSERT INTO orders VALUES(462,176,145,340,561.0,'2026-03-11T05:34:45.627Z',1,0,NULL,-1,NULL,NULL,0.0,'1773227085614-176',1.0,0); +INSERT INTO orders VALUES(463,224,169,339,169.0,'2026-03-11T05:41:19.461Z',1,0,NULL,-1,NULL,NULL,12.0,'1773227479454-224',1.0,0); +INSERT INTO orders VALUES(464,224,169,340,110.0,'2026-03-11T05:52:29.504Z',1,0,NULL,-1,NULL,NULL,12.0,'1773228149499-224',1.0,0); +INSERT INTO orders VALUES(465,224,169,339,169.0,'2026-03-11T05:54:44.762Z',1,0,NULL,-1,NULL,NULL,12.0,'1773228284756-224',1.0,0); +INSERT INTO orders VALUES(466,224,169,339,110.0,'2026-03-11T05:55:22.062Z',1,0,NULL,-1,NULL,NULL,12.0,'1773228322058-224',1.0,0); +INSERT INTO orders VALUES(467,223,207,340,389.0,'2026-03-11T07:27:04.000Z',1,0,NULL,-1,NULL,NULL,0.0,'1773233823971-223',1.0,0); +INSERT INTO orders VALUES(468,141,120,342,443.70000000000002771,'2026-03-11T18:31:16.154Z',1,0,NULL,-1,NULL,NULL,0.0,'1773273676136-141',1.0,0); +INSERT INTO orders VALUES(469,158,176,342,419.0,'2026-03-11T18:42:46.192Z',1,0,NULL,-1,NULL,NULL,0.0,'1773274366187-158',1.0,0); +INSERT INTO orders VALUES(470,66,58,345,143.0,'2026-03-12T01:50:43.577Z',1,0,NULL,-1,NULL,NULL,12.0,'1773300043571-66',1.0,0); +INSERT INTO orders VALUES(471,224,169,347,187.0,'2026-03-12T05:55:38.636Z',1,0,NULL,-1,NULL,NULL,0.0,'1773314738624-224',1.0,0); +INSERT INTO orders VALUES(472,224,169,346,61.0,'2026-03-12T06:21:27.067Z',1,0,NULL,-1,NULL,NULL,12.0,'1773316287062-224',1.0,0); +INSERT INTO orders VALUES(473,224,169,346,61.0,'2026-03-12T06:21:27.315Z',1,0,NULL,-1,NULL,NULL,12.0,'1773316287309-224',1.0,0); +INSERT INTO orders VALUES(474,114,103,347,113.0,'2026-03-12T06:28:00.008Z',1,0,NULL,-1,NULL,NULL,12.0,'1773316679994-114',1.0,0); +INSERT INTO orders VALUES(475,114,103,347,113.0,'2026-03-12T06:30:18.310Z',1,0,NULL,-1,NULL,NULL,12.0,'1773316818301-114',1.0,0); +INSERT INTO orders VALUES(476,82,72,347,370.0,'2026-03-12T07:06:44.469Z',1,0,NULL,-1,NULL,NULL,0.0,'1773319004465-82',1.0,0); +INSERT INTO orders VALUES(477,184,148,348,246.0,'2026-03-12T19:54:53.196Z',1,0,NULL,-1,NULL,NULL,0.0,'1773365093181-184',1.0,0); +INSERT INTO orders VALUES(478,280,209,NULL,521.0,'2026-03-13T01:08:26.786Z',1,0,NULL,-1,NULL,NULL,39.0,'1773383906744-280',1.0,1); +INSERT INTO orders VALUES(479,280,209,352,350.0,'2026-03-13T01:10:32.516Z',1,0,NULL,-1,NULL,NULL,0.0,'1773384032490-280',1.0,0); +INSERT INTO orders VALUES(480,194,154,353,355.0,'2026-03-13T04:16:08.579Z',1,0,NULL,-1,NULL,NULL,0.0,'1773395168569-194',1.0,0); +INSERT INTO orders VALUES(481,132,123,353,229.0,'2026-03-13T04:24:23.952Z',1,0,NULL,-1,NULL,NULL,0.0,'1773395663947-132',1.0,0); +INSERT INTO orders VALUES(482,132,123,353,583.0,'2026-03-13T04:31:27.383Z',1,0,NULL,-1,NULL,NULL,0.0,'1773396087371-132',1.0,0); +INSERT INTO orders VALUES(483,224,169,353,200.0,'2026-03-13T04:51:24.301Z',1,0,NULL,-1,NULL,NULL,0.0,'1773397284287-224',1.0,0); +INSERT INTO orders VALUES(484,92,86,NULL,346.0,'2026-03-13T05:27:37.985Z',1,0,NULL,-1,NULL,NULL,39.0,'1773399457973-92',1.0,1); +INSERT INTO orders VALUES(485,230,174,354,353.0,'2026-03-13T05:31:38.984Z',1,0,NULL,-1,NULL,NULL,0.0,'1773399698967-230',1.0,0); +INSERT INTO orders VALUES(486,283,211,356,429.0,'2026-03-13T19:54:39.344Z',1,0,NULL,-1,NULL,NULL,0.0,'1773451479332-283',1.0,0); +INSERT INTO orders VALUES(487,82,72,357,91.0,'2026-03-13T23:51:07.501Z',1,0,NULL,-1,NULL,NULL,0.0,'1773465667491-82',0.088599999999999994315,0); +INSERT INTO orders VALUES(488,82,72,358,936.0,'2026-03-13T23:51:07.501Z',1,0,NULL,-1,NULL,NULL,0.0,'1773465667491-82',0.91140000000000007673,0); +INSERT INTO orders VALUES(489,256,191,358,376.0,'2026-03-14T00:39:17.223Z',1,0,NULL,-1,NULL,NULL,0.0,'1773468557211-256',1.0,0); +INSERT INTO orders VALUES(490,230,174,359,214.0,'2026-03-14T02:28:15.991Z',1,0,NULL,-1,NULL,NULL,0.0,'1773475095982-230',1.0,0); +INSERT INTO orders VALUES(491,24,92,359,286.0,'2026-03-14T03:30:52.801Z',1,0,NULL,-1,NULL,NULL,0.0,'1773478852794-24',1.0,0); +INSERT INTO orders VALUES(492,229,173,359,970.0,'2026-03-14T03:39:02.649Z',1,0,NULL,-1,NULL,NULL,0.0,'1773479342628-229',1.0,0); +INSERT INTO orders VALUES(493,236,181,NULL,460.0,'2026-03-14T06:14:52.151Z',1,0,NULL,-1,NULL,NULL,39.0,'1773488692132-236',1.0,1); +INSERT INTO orders VALUES(494,287,212,360,108.0,'2026-03-14T12:11:26.101Z',1,0,NULL,-1,NULL,'3-4 pm shedule nhi nila',0.0,'1773510086092-287',0.52430000000000003268,0); +INSERT INTO orders VALUES(495,287,212,364,98.0,'2026-03-14T12:11:26.101Z',1,0,NULL,-1,NULL,'Aram se aao jaldi nhi he',0.0,'1773510086092-287',0.47569999999999996731,0); +INSERT INTO orders VALUES(496,287,212,360,130.0,'2026-03-14T12:13:00.996Z',1,0,NULL,-1,NULL,'Arram se Lana bhaiya 10 baje tak bhi chalta kuch bhi jldi nhi he',12.0,'1773510180986-287',1.0,0); +INSERT INTO orders VALUES(497,120,108,362,419.0,'2026-03-14T23:41:00.156Z',1,0,NULL,-1,NULL,replace('For delivery address\nCall md siraj\n+91 87122 17977\n','\n',char(10)),0.0,'1773551460152-120',1.0,0); +INSERT INTO orders VALUES(498,230,174,364,336.0,'2026-03-15T01:30:56.253Z',1,0,NULL,-1,NULL,NULL,0.0,'1773558056244-230',1.0,0); +INSERT INTO orders VALUES(499,288,213,364,110.0,'2026-03-15T02:12:03.808Z',1,0,NULL,-1,NULL,NULL,12.0,'1773560523802-288',1.0,0); +INSERT INTO orders VALUES(500,224,169,360,419.0,'2026-03-15T02:29:47.286Z',1,0,NULL,-1,NULL,NULL,0.0,'1773561587281-224',1.0,0); +INSERT INTO orders VALUES(501,224,169,364,392.0,'2026-03-15T02:42:10.816Z',1,0,NULL,-1,NULL,NULL,0.0,'1773562330795-224',1.0,0); +INSERT INTO orders VALUES(502,132,123,364,442.0,'2026-03-15T02:49:32.710Z',1,0,NULL,-1,NULL,NULL,0.0,'1773562772684-132',1.0,0); +INSERT INTO orders VALUES(503,132,123,364,296.0,'2026-03-15T02:50:57.342Z',1,0,NULL,-1,NULL,NULL,0.0,'1773562857337-132',1.0,0); +INSERT INTO orders VALUES(504,184,148,365,213.0,'2026-03-15T04:11:31.749Z',1,0,NULL,-1,NULL,replace('Call me \n','\n',char(10)),0.0,'1773567691739-184',1.0,0); +INSERT INTO orders VALUES(505,258,193,NULL,644.0,'2026-03-15T04:43:46.687Z',1,0,NULL,-1,NULL,NULL,39.0,'1773569626666-258',1.0,1); +INSERT INTO orders VALUES(506,1,17,367,174.0,'2026-03-15T12:12:21.197Z',1,0,NULL,-1,NULL,NULL,12.0,'1773596541190-1',1.0,0); +INSERT INTO orders VALUES(507,265,215,370,130.0,'2026-03-16T00:18:47.319Z',1,0,NULL,-1,NULL,NULL,12.0,'1773640127313-265',1.0,0); +INSERT INTO orders VALUES(508,66,58,371,88.0,'2026-03-16T01:44:23.551Z',1,0,NULL,-1,NULL,NULL,12.0,'1773645263545-66',1.0,0); +INSERT INTO orders VALUES(509,114,103,372,119.0,'2026-03-16T04:32:13.136Z',1,0,NULL,-1,NULL,NULL,12.0,'1773655333120-114',1.0,0); +INSERT INTO orders VALUES(510,114,103,373,225.0,'2026-03-16T05:37:56.999Z',1,0,NULL,-1,NULL,NULL,0.0,'1773659276992-114',1.0,0); +INSERT INTO orders VALUES(511,176,145,367,236.0,'2026-03-16T06:56:00.745Z',1,0,NULL,-1,NULL,NULL,0.0,'1773663960740-176',1.0,0); +INSERT INTO orders VALUES(512,246,216,376,104.0,'2026-03-16T22:27:45.880Z',1,0,NULL,-1,NULL,NULL,12.0,'1773719865864-246',1.0,0); +INSERT INTO orders VALUES(513,283,211,376,591.0,'2026-03-16T23:47:18.917Z',1,0,NULL,-1,NULL,NULL,0.0,'1773724638911-283',1.0,0); +INSERT INTO orders VALUES(514,250,188,NULL,288.0,'2026-03-17T01:27:26.048Z',1,0,NULL,-1,NULL,NULL,39.0,'1773730646026-250',1.0,1); +INSERT INTO orders VALUES(515,92,86,379,306.0,'2026-03-17T04:32:04.077Z',1,0,NULL,-1,NULL,NULL,0.0,'1773741724062-92',1.0,0); +INSERT INTO orders VALUES(516,82,72,384,1062.0,'2026-03-17T08:33:39.794Z',1,0,NULL,-1,NULL,NULL,0.0,'1773756219786-82',1.0,0); +INSERT INTO orders VALUES(517,82,72,384,324.0,'2026-03-17T08:44:41.902Z',1,0,NULL,-1,NULL,NULL,0.0,'1773756881891-82',1.0,0); +INSERT INTO orders VALUES(518,82,72,381,98.0,'2026-03-17T15:02:20.451Z',1,0,NULL,-1,NULL,NULL,0.0,'1773779540438-82',0.52690000000000001278,0); +INSERT INTO orders VALUES(519,82,72,386,88.0,'2026-03-17T15:02:20.451Z',1,0,NULL,-1,NULL,NULL,0.0,'1773779540438-82',0.47309999999999998721,0); +INSERT INTO orders VALUES(520,141,120,383,352.0,'2026-03-17T17:56:28.225Z',1,0,NULL,-1,NULL,NULL,0.0,'1773789988215-141',1.0,0); +INSERT INTO orders VALUES(521,250,188,384,869.0,'2026-03-17T23:09:49.395Z',1,0,NULL,-1,NULL,NULL,0.0,'1773808789383-250',1.0,0); +INSERT INTO orders VALUES(522,256,191,387,715.0,'2026-03-18T04:35:52.158Z',1,0,NULL,-1,NULL,NULL,0.0,'1773828352140-256',1.0,0); +INSERT INTO orders VALUES(523,4,136,388,246.0,'2026-03-18T05:20:43.458Z',1,0,NULL,-1,NULL,NULL,0.0,'1773831043448-4',1.0,0); +INSERT INTO orders VALUES(524,230,174,388,489.0,'2026-03-18T05:25:09.769Z',1,0,NULL,-1,NULL,NULL,0.0,'1773831309763-230',1.0,0); +INSERT INTO orders VALUES(525,1,219,NULL,204.0,'2026-03-18T09:10:53.306Z',1,0,NULL,-1,NULL,NULL,39.0,'1773844853293-1',1.0,1); +INSERT INTO orders VALUES(526,66,58,390,61.0,'2026-03-18T09:59:01.611Z',1,0,NULL,-1,NULL,NULL,12.0,'1773847741605-66',1.0,0); +INSERT INTO orders VALUES(527,230,174,382,1423.0,'2026-03-18T23:36:01.916Z',1,0,NULL,-1,NULL,NULL,0.0,'1773896761897-230',1.0,0); +INSERT INTO orders VALUES(528,299,220,NULL,614.0,'2026-03-19T04:05:55.973Z',1,0,NULL,-1,NULL,NULL,39.0,'1773912955944-299',1.0,1); +INSERT INTO orders VALUES(529,169,142,393,878.0,'2026-03-19T04:08:20.237Z',1,0,NULL,-1,NULL,NULL,0.0,'1773913100205-169',1.0,0); +INSERT INTO orders VALUES(530,141,120,393,443.0,'2026-03-19T04:15:45.735Z',1,0,NULL,-1,NULL,NULL,0.0,'1773913545724-141',1.0,0); +INSERT INTO orders VALUES(531,115,105,393,1014.0,'2026-03-19T04:18:19.284Z',1,0,NULL,-1,NULL,NULL,0.0,'1773913699266-115',1.0,0); +INSERT INTO orders VALUES(532,66,58,394,143.0,'2026-03-19T04:52:52.251Z',1,0,NULL,-1,NULL,NULL,12.0,'1773915772246-66',1.0,0); +INSERT INTO orders VALUES(533,264,222,394,324.0,'2026-03-19T05:17:14.122Z',1,0,NULL,-1,NULL,NULL,0.0,'1773917234116-264',1.0,0); +INSERT INTO orders VALUES(534,146,223,NULL,216.0,'2026-03-19T07:46:20.281Z',1,0,NULL,-1,NULL,NULL,39.0,'1773926180273-146',1.0,1); +INSERT INTO orders VALUES(535,302,224,400,324.0,'2026-03-19T11:29:42.785Z',1,0,NULL,-1,NULL,',,,,',0.0,'1773939582776-302',1.0,0); +INSERT INTO orders VALUES(536,283,211,396,392.0,'2026-03-19T19:27:52.921Z',1,0,NULL,-1,NULL,NULL,0.0,'1773968272909-283',1.0,0); +INSERT INTO orders VALUES(537,283,211,396,418.0,'2026-03-19T19:31:45.053Z',1,0,NULL,-1,NULL,NULL,0.0,'1773968505043-283',1.0,0); +INSERT INTO orders VALUES(538,283,211,396,324.0,'2026-03-19T19:36:29.750Z',1,0,NULL,-1,NULL,NULL,0.0,'1773968789738-283',1.0,0); +INSERT INTO orders VALUES(539,82,72,398,188.0,'2026-03-19T21:08:04.556Z',1,0,NULL,-1,NULL,NULL,12.0,'1773974284550-82',1.0,0); +INSERT INTO orders VALUES(540,82,72,398,644.0,'2026-03-20T00:25:13.174Z',1,0,NULL,-1,NULL,NULL,0.0,'1773986113158-82',1.0,0); +INSERT INTO orders VALUES(541,264,199,401,648.0,'2026-03-20T00:50:41.264Z',1,0,NULL,-1,NULL,NULL,0.0,'1773987641255-264',1.0,0); +INSERT INTO orders VALUES(542,264,199,401,419.0,'2026-03-20T00:51:16.093Z',1,0,NULL,-1,NULL,NULL,0.0,'1773987676088-264',1.0,0); +INSERT INTO orders VALUES(543,227,225,400,419.0,'2026-03-20T01:25:37.796Z',1,0,NULL,-1,NULL,NULL,0.0,'1773989737790-227',1.0,0); +INSERT INTO orders VALUES(544,4,136,399,1201.0,'2026-03-20T03:24:20.204Z',1,0,NULL,-1,NULL,NULL,0.0,'1773996860190-4',1.0,0); +INSERT INTO orders VALUES(545,172,186,400,572.0,'2026-03-20T04:07:50.717Z',1,0,NULL,-1,NULL,NULL,0.0,'1773999470686-172',1.0,0); +INSERT INTO orders VALUES(546,236,181,NULL,455.0,'2026-03-20T06:28:32.797Z',1,0,NULL,-1,NULL,NULL,39.0,'1774007912779-236',1.0,1); +INSERT INTO orders VALUES(547,188,200,NULL,279.0,'2026-03-20T06:39:18.134Z',1,0,NULL,-1,NULL,NULL,39.0,'1774008558128-188',1.0,1); +INSERT INTO orders VALUES(548,230,174,405,489.0,'2026-03-21T21:06:54.579Z',1,0,NULL,-1,NULL,NULL,0.0,'1774147014574-230',1.0,0); +INSERT INTO orders VALUES(549,304,226,405,296.0,'2026-03-21T23:32:39.281Z',1,0,NULL,-1,NULL,NULL,0.0,'1774155759275-304',1.0,0); +INSERT INTO orders VALUES(550,120,108,405,419.0,'2026-03-22T00:25:09.280Z',1,0,NULL,-1,NULL,NULL,0.0,'1774158909275-120',1.0,0); +INSERT INTO orders VALUES(555,1,17,411,356.0,'2026-03-22T10:39:30.546Z',1,0,NULL,-1,NULL,NULL,0.0,'1774195770542-1',1.0,0); +INSERT INTO orders VALUES(556,1,17,411,178.0,'2026-03-22T10:46:49.951Z',1,0,NULL,-1,NULL,NULL,0.0,'1774196209939-1',0.78410000000000001918,0); +INSERT INTO orders VALUES(557,1,17,413,49.0,'2026-03-22T10:46:49.951Z',1,0,NULL,-1,NULL,NULL,0.0,'1774196209939-1',0.21590000000000002522,0); +INSERT INTO orders VALUES(558,306,228,415,199.0,'2026-03-23T01:48:06.538Z',1,0,NULL,-1,NULL,NULL,0.0,'1774250286509-306',1.0,0); +INSERT INTO orders VALUES(559,208,163,415,346.0,'2026-03-23T02:05:01.355Z',1,0,NULL,-1,NULL,NULL,0.0,'1774251301345-208',1.0,0); +INSERT INTO orders VALUES(560,307,229,415,233.0,'2026-03-23T02:25:14.500Z',1,0,NULL,-1,NULL,NULL,0.0,'1774252514483-307',1.0,0); +INSERT INTO orders VALUES(561,250,188,423,495.0,'2026-03-24T01:01:06.498Z',1,0,NULL,-1,NULL,NULL,0.0,'1774333866478-250',0.54159999999999994813,0); +INSERT INTO orders VALUES(562,250,188,427,419.0,'2026-03-24T01:01:06.498Z',1,0,NULL,-1,NULL,NULL,0.0,'1774333866478-250',0.45839999999999996305,0); +INSERT INTO orders VALUES(563,99,132,423,381.0,'2026-03-24T01:42:50.900Z',1,0,NULL,-1,NULL,NULL,0.0,'1774336370874-99',1.0,0); +INSERT INTO orders VALUES(564,4,136,423,230.0,'2026-03-24T02:43:32.488Z',1,0,NULL,-1,NULL,NULL,0.0,'1774340012467-4',1.0,0); +INSERT INTO orders VALUES(565,114,103,424,504.0,'2026-03-24T04:42:22.300Z',1,0,NULL,-1,NULL,NULL,0.0,'1774347142285-114',1.0,0); +INSERT INTO orders VALUES(566,224,169,425,669.0,'2026-03-24T05:17:57.327Z',1,0,NULL,-1,NULL,NULL,0.0,'1774349277276-224',1.0,0); +INSERT INTO orders VALUES(567,246,216,427,389.0,'2026-03-24T06:54:55.898Z',1,0,NULL,-1,NULL,NULL,0.0,'1774355095892-246',1.0,0); +INSERT INTO orders VALUES(568,82,72,427,331.0,'2026-03-24T16:43:16.098Z',1,0,NULL,-1,NULL,NULL,0.0,'1774390396089-82',1.0,0); +INSERT INTO orders VALUES(569,1,17,428,419.0,'2026-03-24T22:39:25.925Z',1,0,NULL,-1,NULL,NULL,0.0,'1774411765920-1',1.0,0); +INSERT INTO orders VALUES(570,38,66,429,150.0,'2026-03-24T22:57:50.644Z',1,0,NULL,-1,NULL,'No mutton',12.0,'1774412870639-38',1.0,0); +INSERT INTO orders VALUES(571,115,189,430,493.0,'2026-03-25T01:20:58.880Z',1,0,NULL,-1,NULL,NULL,0.0,'1774421458862-115',1.0,0); +INSERT INTO orders VALUES(572,280,209,430,410.0,'2026-03-25T01:44:52.706Z',1,0,NULL,-1,NULL,NULL,0.0,'1774422892675-280',1.0,0); +INSERT INTO orders VALUES(573,50,45,430,396.0,'2026-03-25T01:57:51.537Z',1,0,NULL,-1,NULL,NULL,0.0,'1774423671528-50',1.0,0); +INSERT INTO orders VALUES(574,103,96,432,187.0,'2026-03-25T05:15:03.684Z',1,0,NULL,-1,NULL,NULL,0.0,'1774435503670-103',1.0,0); +INSERT INTO orders VALUES(575,310,231,435,185.0,'2026-03-25T10:51:19.272Z',1,0,NULL,-1,NULL,NULL,0.0,'1774455679267-310',1.0,0); +INSERT INTO orders VALUES(576,311,232,435,419.0,'2026-03-25T20:40:19.622Z',1,0,NULL,-1,NULL,NULL,0.0,'1774491019617-311',1.0,0); +INSERT INTO orders VALUES(577,114,103,438,55.0,'2026-03-26T01:21:37.722Z',1,0,NULL,-1,NULL,NULL,12.0,'1774507897716-114',1.0,0); +INSERT INTO orders VALUES(578,313,233,438,158.0,'2026-03-26T02:42:25.413Z',1,0,NULL,-1,NULL,NULL,12.0,'1774512745402-313',1.0,0); +INSERT INTO orders VALUES(579,299,220,443,839.0,'2026-03-26T20:39:07.981Z',1,0,NULL,-1,NULL,NULL,0.0,'1774577347976-299',1.0,0); +INSERT INTO orders VALUES(580,230,174,444,488.0,'2026-03-26T22:09:00.013Z',1,0,NULL,-1,NULL,NULL,0.0,'1774582740000-230',1.0,0); +INSERT INTO orders VALUES(581,310,231,444,71.0,'2026-03-26T23:29:28.602Z',1,0,NULL,-1,NULL,NULL,12.0,'1774587568593-310',1.0,0); +INSERT INTO orders VALUES(582,66,58,447,188.0,'2026-03-27T03:52:45.991Z',1,0,NULL,-1,NULL,NULL,12.0,'1774603365985-66',1.0,0); +INSERT INTO orders VALUES(583,316,235,452,1258.0,'2026-03-27T23:17:15.898Z',1,0,NULL,-1,NULL,NULL,0.0,'1774673235891-316',1.0,0); +INSERT INTO orders VALUES(584,256,191,452,588.0,'2026-03-27T23:33:31.845Z',1,0,NULL,-1,NULL,NULL,0.0,'1774674211837-256',1.0,0); +INSERT INTO orders VALUES(585,264,199,452,370.0,'2026-03-27T23:47:24.901Z',1,0,NULL,-1,NULL,NULL,0.0,'1774675044897-264',1.0,0); +INSERT INTO orders VALUES(586,250,188,454,290.0,'2026-03-28T03:05:09.068Z',1,0,NULL,-1,NULL,NULL,0.0,'1774686909063-250',1.0,0); +INSERT INTO orders VALUES(587,99,132,456,588.0,'2026-03-28T05:08:02.973Z',1,0,NULL,-1,NULL,NULL,0.0,'1774694282955-99',1.0,0); +INSERT INTO orders VALUES(588,198,158,NULL,198.0,'2026-03-28T06:18:36.001Z',1,0,NULL,-1,NULL,NULL,39.0,'1774698515986-198',1.0,1); +INSERT INTO orders VALUES(589,299,220,459,429.0,'2026-03-28T20:51:08.409Z',1,0,NULL,-1,NULL,NULL,0.0,'1774750868404-299',1.0,0); +INSERT INTO orders VALUES(590,310,231,460,71.0,'2026-03-28T22:29:46.522Z',1,0,NULL,-1,NULL,NULL,12.0,'1774756786510-310',1.0,0); +INSERT INTO orders VALUES(591,120,108,460,419.0,'2026-03-28T22:46:02.040Z',1,0,NULL,-1,NULL,replace('Less bones in the mutton please. (Haddiya kam dalo bhai)\n\n','\n',char(10)),0.0,'1774757762029-120',1.0,0); +INSERT INTO orders VALUES(592,82,72,460,1284.0,'2026-03-28T23:51:51.488Z',1,0,NULL,-1,NULL,NULL,0.0,'1774761711480-82',1.0,0); +INSERT INTO orders VALUES(593,82,72,461,393.0,'2026-03-28T23:53:23.718Z',1,0,NULL,-1,NULL,NULL,0.0,'1774761803711-82',1.0,0); +INSERT INTO orders VALUES(594,229,173,461,509.0,'2026-03-29T00:36:58.116Z',1,0,NULL,-1,NULL,NULL,0.0,'1774764418104-229',1.0,0); +INSERT INTO orders VALUES(595,250,188,462,216.0,'2026-03-29T01:46:23.829Z',1,0,NULL,-1,NULL,NULL,0.0,'1774768583820-250',1.0,0); CREATE TABLE IF NOT EXISTS "payment_info" ("id" INTEGER PRIMARY KEY, "status" TEXT NOT NULL, "gateway" TEXT NOT NULL, "order_id" TEXT, "token" TEXT, "merchant_order_id" TEXT NOT NULL, "payload" TEXT); INSERT INTO payment_info VALUES(1,'pending','phonepe',NULL,NULL,'order_1763563896010',NULL); INSERT INTO payment_info VALUES(2,'pending','phonepe',NULL,NULL,'order_1763564910006',NULL); @@ -2292,10 +3985,6 @@ INSERT INTO payments VALUES(58,64,'failed','razorpay','64','order_RrAeVlINAOaLMi INSERT INTO payments VALUES(59,19,'pending','razorpay','19','order_Rx3m1bvIbeGnQy','{"id":"order_Rx3m1bvIbeGnQy","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931095,"amount_paid":0}'); INSERT INTO payments VALUES(60,19,'pending','razorpay','19','order_Rx3m23b4jndeAR','{"id":"order_Rx3m23b4jndeAR","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931096,"amount_paid":0}'); INSERT INTO payments VALUES(61,19,'pending','razorpay','19','order_Rx3m2DF1gpeu8L','{"id":"order_Rx3m2DF1gpeu8L","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931096,"amount_paid":0}'); -CREATE TABLE IF NOT EXISTS "product_availability_schedules" ("id" INTEGER PRIMARY KEY, "time" TEXT NOT NULL, "schedule_name" TEXT NOT NULL, "action" TEXT NOT NULL, "product_ids" TEXT NOT NULL DEFAULT '[]', "group_ids" TEXT NOT NULL DEFAULT '[]', "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_updated" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_availability_schedules VALUES(1,'22:00','Demo schedule','in','[9,83,81,75,82,22,102,6,14,35,86,4,99,98]','[9,7]','2026-03-19T08:25:27.311Z','2026-03-19T08:25:27.311Z'); -INSERT INTO product_availability_schedules VALUES(3,'00:22','Test4','in','[50]','[]','2026-03-19T13:20:01.972Z','2026-03-19T13:20:01.972Z'); -INSERT INTO product_availability_schedules VALUES(4,'12:00','Mutton off','out','[6,14,35,86,4,99,98]','[7]','2026-03-20T11:27:20.629Z','2026-03-20T11:27:20.629Z'); CREATE TABLE IF NOT EXISTS "product_categories" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "description" TEXT); CREATE TABLE IF NOT EXISTS "product_group_info" ("id" INTEGER PRIMARY KEY, "group_name" TEXT NOT NULL, "description" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); INSERT INTO product_group_info VALUES(1,'Vegetables','All Market Vegetables','2025-12-31T22:12:45.110Z'); @@ -2306,70 +3995,71 @@ INSERT INTO product_group_info VALUES(7,'All mutton items','All mutton items ',' INSERT INTO product_group_info VALUES(8,'All vegetables items ','All vegetables items ','2026-01-25T08:35:03.380Z'); INSERT INTO product_group_info VALUES(9,'All fish ','All fish ','2026-01-25T08:57:31.702Z'); INSERT INTO product_group_info VALUES(10,'All fruits items ','','2026-01-30T09:39:13.561Z'); +INSERT INTO product_group_info VALUES(11,'All fruits juices ','','2026-03-10T03:30:27.292Z'); CREATE TABLE IF NOT EXISTS "product_group_membership" ("product_id" INTEGER NOT NULL, "group_id" INTEGER NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); INSERT INTO product_group_membership VALUES(1,2,'2025-12-31T22:13:41.542Z'); INSERT INTO product_group_membership VALUES(2,2,'2025-12-31T22:13:41.542Z'); INSERT INTO product_group_membership VALUES(2,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(3,2,'2025-12-31T22:13:41.542Z'); INSERT INTO product_group_membership VALUES(3,5,'2026-01-25T08:24:51.778Z'); +INSERT INTO product_group_membership VALUES(3,2,'2025-12-31T22:13:41.542Z'); INSERT INTO product_group_membership VALUES(4,7,'2026-02-07T22:17:04.063Z'); INSERT INTO product_group_membership VALUES(5,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(6,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(6,7,'2026-02-07T22:17:04.063Z'); INSERT INTO product_group_membership VALUES(6,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(6,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(7,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(7,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(8,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(7,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(8,10,'2026-02-18T12:21:50.395Z'); +INSERT INTO product_group_membership VALUES(8,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(9,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(10,5,'2026-01-25T08:24:51.778Z'); INSERT INTO product_group_membership VALUES(10,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(11,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(10,5,'2026-01-25T08:24:51.778Z'); INSERT INTO product_group_membership VALUES(11,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(13,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(13,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(11,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(13,10,'2026-02-18T12:21:50.395Z'); +INSERT INTO product_group_membership VALUES(13,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(13,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(14,7,'2026-02-07T22:17:04.063Z'); INSERT INTO product_group_membership VALUES(15,2,'2025-12-31T22:13:41.542Z'); INSERT INTO product_group_membership VALUES(16,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(17,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(17,8,'2026-02-23T03:23:13.305Z'); +INSERT INTO product_group_membership VALUES(17,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(18,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(18,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(19,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(19,1,'2025-12-31T22:12:45.118Z'); +INSERT INTO product_group_membership VALUES(19,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(21,5,'2026-01-25T08:24:51.778Z'); INSERT INTO product_group_membership VALUES(21,2,'2025-12-31T22:13:41.542Z'); INSERT INTO product_group_membership VALUES(22,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(23,5,'2026-01-25T08:24:51.778Z'); INSERT INTO product_group_membership VALUES(23,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(24,5,'2026-01-25T08:24:51.778Z'); +INSERT INTO product_group_membership VALUES(23,5,'2026-01-25T08:24:51.778Z'); INSERT INTO product_group_membership VALUES(24,2,'2025-12-31T22:13:41.542Z'); +INSERT INTO product_group_membership VALUES(24,5,'2026-01-25T08:24:51.778Z'); INSERT INTO product_group_membership VALUES(25,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(25,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(26,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(26,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(27,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(27,8,'2026-02-23T03:23:13.305Z'); +INSERT INTO product_group_membership VALUES(27,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(28,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(28,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(29,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(29,8,'2026-02-23T03:23:13.305Z'); +INSERT INTO product_group_membership VALUES(29,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(30,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(30,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(31,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(31,1,'2025-12-31T22:12:45.118Z'); +INSERT INTO product_group_membership VALUES(31,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(32,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(32,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(33,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(33,8,'2026-02-23T03:23:13.305Z'); +INSERT INTO product_group_membership VALUES(33,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(34,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(35,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(36,2,'2025-12-31T22:13:41.542Z'); INSERT INTO product_group_membership VALUES(36,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(37,1,'2025-12-31T22:12:45.118Z'); +INSERT INTO product_group_membership VALUES(36,2,'2025-12-31T22:13:41.542Z'); INSERT INTO product_group_membership VALUES(37,8,'2026-02-23T03:23:13.305Z'); +INSERT INTO product_group_membership VALUES(37,1,'2025-12-31T22:12:45.118Z'); INSERT INTO product_group_membership VALUES(38,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(38,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(39,10,'2026-02-18T12:21:50.395Z'); @@ -2384,23 +4074,23 @@ INSERT INTO product_group_membership VALUES(44,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(45,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(46,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(46,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(47,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(47,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(47,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(48,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(49,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(49,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(50,10,'2026-02-18T12:21:50.395Z'); +INSERT INTO product_group_membership VALUES(49,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(50,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(51,10,'2026-02-18T12:21:50.395Z'); +INSERT INTO product_group_membership VALUES(50,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(51,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(51,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(52,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(52,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(53,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(53,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(54,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(54,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(55,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(55,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(55,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(56,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(56,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(57,3,'2026-02-23T03:23:47.142Z'); @@ -2409,8 +4099,8 @@ INSERT INTO product_group_membership VALUES(58,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(58,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(59,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(59,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(60,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(60,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(60,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(61,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(61,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(62,10,'2026-02-18T12:21:50.395Z'); @@ -2426,8 +4116,8 @@ INSERT INTO product_group_membership VALUES(69,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(70,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(71,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(72,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(73,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(73,3,'2026-02-23T03:23:47.142Z'); +INSERT INTO product_group_membership VALUES(73,10,'2026-02-18T12:21:50.395Z'); INSERT INTO product_group_membership VALUES(74,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(75,9,'2026-02-18T12:20:51.332Z'); INSERT INTO product_group_membership VALUES(76,8,'2026-02-23T03:23:13.305Z'); @@ -2456,115 +4146,139 @@ INSERT INTO product_group_membership VALUES(100,3,'2026-02-23T03:23:47.142Z'); INSERT INTO product_group_membership VALUES(101,8,'2026-02-23T03:23:13.305Z'); INSERT INTO product_group_membership VALUES(102,9,'2026-02-18T12:20:51.332Z'); INSERT INTO product_group_membership VALUES(103,8,'2026-02-23T03:23:13.305Z'); -CREATE TABLE IF NOT EXISTS "product_info" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "short_description" TEXT, "long_description" TEXT, "unit_id" INTEGER NOT NULL, "price" REAL NOT NULL, "images" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_out_of_stock" INTEGER NOT NULL DEFAULT false, "market_price" REAL, "store_id" INTEGER, "is_suspended" INTEGER NOT NULL DEFAULT false, "increment_step" REAL NOT NULL DEFAULT 1, "is_flash_available" INTEGER NOT NULL DEFAULT false, "flash_price" REAL, "product_quantity" REAL NOT NULL DEFAULT 1, "scheduled_availability" INTEGER NOT NULL DEFAULT true); -INSERT INTO product_info VALUES(1,'Chicken Liver','Liver sourced from the farm hens.',replace('Bring home the deep, hearty taste of fresh Chicken Liver, sourced from healthy, farm-raised chickens. Each piece is carefully cleaned and handled with care to retain its natural richness, smooth texture, and vibrant color.\n\nPerfect for making creamy pâtés, spicy fry dishes, gravies, or traditional home-style recipes, our chicken liver delivers authentic flavor and exceptional freshness in every bite.','\n',char(10)),1,99.0,'["product-images/1768478127128-0","product-images/1768478472220-0"]','2025-11-18T08:06:27.505Z',0,110.0,1,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(2,'Chicken Breast 500 g','Farm Chicken Breast uncut and solid.',replace('Experience the rich taste of fresh, premium-quality chicken sourced directly from trusted farms. Each bird is carefully cleaned, processed hygienically, and delivered chilled to preserve its natural flavor, tenderness, and juiciness.\n\nWhether you''re preparing a hearty curry, roasting for a family meal, or grilling for a weekend cookout, our whole chicken offers consistent texture, rich aroma, and superior taste in every bite.','\n',char(10)),1,198.0,'["product-images/1768397780093-0","product-images/1768479562478-0"]','2025-11-18T08:32:49.003Z',0,220.0,1,0,1.0,1,230.0,0.5,1); -INSERT INTO product_info VALUES(3,'Chicken Lollipops','Chicken cut for lollipop starter dish',replace('Turn any meal into a celebration with our premium Chicken Lollipop Cuts, expertly carved from fresh chicken drumettes and wings. Each piece is shaped cleanly into the classic “lollipop” form—perfect for frying, grilling, or tossing in your favorite tangy sauces.\n\nEnjoy the ideal balance of meatiness, tenderness, and crunch potential, making it a must-have for home chefs, party hosts, and spice lovers alike.','\n',char(10)),1,76.0,'["product-images/1768475599800-0"]','2025-11-18T08:56:07.106Z',1,89.0,1,0,1.0,0,120.0,0.25,1); -INSERT INTO product_info VALUES(4,'Mutton','Fresh, tender mutton cut from quality goat meat, cleaned and prepared hygienically for rich taste and authentic curries.',replace('Our mutton is sourced from healthy, quality goats and cut fresh to ensure natural flavor and tenderness. Each piece is carefully cleaned and processed under hygienic conditions to retain its juiciness and traditional taste. Known for its deep, rich flavor, this mutton is ideal for curries, biryanis, gravies, roasts, and slow-cooked dishes. No chemicals, no preservatives—just pure mutton that cooks well, absorbs spices properly, and delivers the taste people actually expect from good meat.\n','\n',char(10)),1,819.0,'["product-images/1767636171845-0"]','2025-11-18T08:57:53.779Z',1,860.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(5,'Cucumber(Kheera)','High water content, helps hydration, and keeps the body cool.',replace('\nThis fresh cucumber is crisp, juicy, and mild in taste, making it perfect for everyday use. Carefully selected for firmness and freshness, it’s ideal for salads, raita, juices, and garnishing. With high water content and a clean, refreshing bite, cucumber is best enjoyed fresh and chilled.','\n',char(10)),1,26.0,'["product-images/1768710099841-0"]','2025-11-18T08:59:53.556Z',0,33.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(6,'Apple ( pack of 3) ','Kashmiri Apples',replace('These apples are fresh, firm, and crisp with a clean, naturally sweet flavor. Handpicked for quality and freshness, they’re ideal for everyday snacking, salads, or cooking. Simple, reliable fruit that fits easily into daily meals.\n','\n',char(10)),4,109.0,'["product-images/1768640936747-0"]','2025-11-18T09:02:29.167Z',1,120.0,2,0,1.0,1,NULL,3.0,1); -INSERT INTO product_info VALUES(7,'Banana','Fresh bananas with a naturally sweet taste and soft, creamy texture.','Bananas supporting heart health through potassium, improving digestion with fiber, and providing an energy boost from carbohydrates. ',3,49.0,'["product-images/1768640009078-0"]','2025-11-22T01:37:58.613Z',0,60.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(8,'Kiwi','Fresh kiwis with sweet-tart flavor, juicy green flesh, and edible seeds.','Kiwi is rich in Vitamin C, which boosts immunity and keeps the body strong. It also has fiber that helps in digestion and keeps the stomach healthy. Eating kiwi improves skin glow and supports heart health.',4,119.0,'["product-images/1768647119198-0"]','2025-11-22T01:49:17.573Z',0,130.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(9,'Apollo Fish',replace('Boneless\nFresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.','\n',char(10)),'Fresh sea-caught tuna fish with firm texture and rich flavor. Widely used for curries, steaks, grilling, and shallow frying. Naturally high in protein and omega-3 fatty acids, supporting muscle health and heart health. Cleaned and cut hygienically to retain freshness and taste.',1,296.0,'["product-images/1768832690994-0"]','2025-11-22T22:17:08.582Z',0,340.0,1,0,1.0,0,355.0,0.7,1); -INSERT INTO product_info VALUES(10,'Chicken leg piece ','6 pieces ','Fresh, meaty leg pieces with rich flavor and soft texture. Ideal for tandoori, BBQ, and home-style recipes.',4,249.0,'["product-images/1768390245969-0"]','2025-11-22T22:28:25.741Z',0,269.0,1,0,1.0,1,270.0,6.0,1); -INSERT INTO product_info VALUES(11,'Nagpur orange (pack 5)','Fresh oranges with juicy, sweet-tangy flesh and a refreshing citrus taste.','These oranges have a naturally juicy interior with a balanced sweet and tangy flavor. Though green on the outside, the flesh inside is bright, fresh, and full of citrus goodness. Ideal for everyday eating, fresh juice, or adding a refreshing twist to meals.',4,119.0,'["product-images/1768641635898-0"]','2025-11-22T22:30:28.878Z',0,150.0,2,0,1.0,1,150.0,5.0,1); -INSERT INTO product_info VALUES(12,'Lamb Mutton','','"Indulge in the rich, savory experience of our premium mutton. Sourced from the finest cuts, our muttons offers unparalleled tenderness and flavor. Whether you''re grilling a juicy steak, slow-cooking a tender roast, or creating a hearty stew, our mutton is the perfect choice for any culinary creation. Experience the difference quality makes – savor every delicious bite."',1,850.0,'["product-images/1764500702143-0","product-images/1764500702144-1"]','2025-11-30T05:35:04.520Z',1,870.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(13,'Amla (Gooseberry)','Fresh amla with a tangy, slightly sour taste and firm texture.','These fresh amlas are firm, tangy, and packed with natural goodness. Carefully selected for size and freshness, they’re perfect for eating raw, making juice, pickles, or adding to traditional recipes. A healthy fruit full of Vitamin C, with a natural bite and authentic flavor.',1,69.0,'["product-images/1768641988607-0"]','2025-11-30T05:46:29.900Z',0,79.0,2,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(14,'Mutton Boti (Goat Intestines)','Fresh mutton boti, rich in protein and iron, ideal for traditional curries and spicy dishes.','Freshly cleaned mutton boti sourced from healthy goats. Carefully washed and prepared for cooking traditional recipes like boti curry and spicy gravies. Rich in protein and iron, commonly used in regional cuisines. Cleaned hygienically and packed fresh.',1,389.0,'["product-images/1768834170995-0"]','2025-12-04T22:10:55.354Z',1,400.0,1,0,1.0,0,420.0,1.0,1); -INSERT INTO product_info VALUES(15,'Chicken Gizard','Fresh, cleaned chicken gizzards with a rich, meaty texture-ideal for curries, fry recipes, and traditional dishes.','Chicken gizzard is a flavorful and nutrient-rich cut known for its firm texture and deep taste. Carefully cleaned and hygienically packed, our gizzards are sourced fresh to ensure quality and freshness. Perfect for slow-cooked curries, spicy fries, stir-fries, and regional delicacies, chicken gizzard absorbs spices beautifully and delivers a hearty bite in every dish.',1,210.0,'["product-images/1768477813647-0","product-images/1768477813648-1"]','2025-12-06T12:35:43.241Z',1,250.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(16,'Arvi (Arbi) – Colocasia Root','Fresh arvi with soft texture when cooked, ideal for curries, fries, and dry sabzi.','Arvi, also known as colocasia or taro root, is a popular root vegetable used in many Indian dishes. When cooked properly, it becomes soft and creamy with a mildly nutty flavour. Arvi is commonly used in dry sabzis, gravies, and fried preparations. It absorbs spices well and pairs perfectly with both mild and spicy masalas. Naturally rich in dietary fiber and essential nutrients, arvi supports digestion and provides long-lasting energy. Freshly sourced and cleaned to ensure quality and taste. Must be washed and cooked thoroughly before consumption.',1,28.0,'["product-images/1769397372526-0"]','2025-12-12T03:09:59.286Z',0,33.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(17,'Tomato ','Healthy, tasty, and fresh tomatoes','Fresh, red, and juicy tomatoes to make your meals healthier and tastier.',1,28.0,'["product-images/1768640233068-0"]','2025-12-18T02:22:23.436Z',1,35.0,4,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(18,'Onions ','Fresh and flavorful onions for everyday cooking.','Healthy, fresh onions at the best quality and price',1,44.0,'["product-images/1769351976737-0"]','2025-12-18T03:37:08.849Z',0,48.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(19,'Potato','Fresh, healthy potatoes perfect for every dish.','A versatile vegetable every kitchen needs.',1,23.0,'["product-images/1768639707515-0"]','2025-12-18T03:40:28.496Z',0,29.0,4,0,1.0,1,50.0,0.5,1); -INSERT INTO product_info VALUES(20,'Mutton Head','Fresh mutton head rich in protein and collagen, ideal for traditional curries and soups.','Freshly sourced goat head, commonly used in traditional dishes and slow-cooked recipes. Contains head meat (sira) and bones that release rich flavor and collagen when cooked slowly. Popular in regional cuisines for its taste and nourishment. Cleaned thoroughly and packed hygienically.',4,379.0,'["product-images/1769353802270-0"]','2025-12-19T03:42:31.946Z',0,400.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(21,'Whole chicken - fresh cut','Fresh, tender whole chicken cleaned and cut hygienically for rich taste and high protein meals.','Our Whole Chicken is farm-fresh, carefully cleaned, and hygienically processed to lock in natural tenderness and flavor. Rich in protein and essential nutrients, it''s perfect for curries, roasting, grilling, or slow cooking. Delivered fresh to your doorstep, ensuring quality, taste, and nutrition in every bite.',1,559.0,'["product-images/1768539930897-0","product-images/1768539930899-1"]','2025-12-19T03:45:54.143Z',0,620.0,1,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(22,'Tuna Fish boneless ','Fresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.',replace('Fresh sea-caught tuna with firm texture and rich flavor. Suitable for curry preparations, steaks, grilling, and shallow frying. Naturally high in protein and omega-3 fatty acids, supporting muscle and heart health. Cleaned and cut hygienically to retain freshness.\nBrutal truth','\n',char(10)),1,469.0,'["product-images/1768834996932-0"]','2025-12-19T03:53:12.867Z',0,529.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(23,'Chicken ( regular cut )- Small pieces ','Fresh, bone-in chicken pieces ideal for making rich and flavorful curries.','Freshly cut, bone-in chicken pieces perfect for rich, flavorful curries. Cleaned and hygienically packed to lock in tenderness and taste for a delicious home-style meal every time.',1,140.0,'["product-images/1767635527063-0"]','2025-12-19T03:53:53.748Z',1,160.0,1,0,1.0,1,149.0,0.5,1); -INSERT INTO product_info VALUES(24,'Chicken boneless','Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.','Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.',1,198.0,'["product-images/1768484106870-0"]','2025-12-19T03:59:46.418Z',0,220.0,1,0,1.0,1,230.0,0.5,1); -INSERT INTO product_info VALUES(25,'White Dragon Fruit','Fresh white dragon fruit with mild sweetness and soft, juicy flesh.','This white dragon fruit is fresh, mildly sweet, and refreshing with soft white flesh and tiny edible seeds. Carefully selected for size and freshness, it’s ideal for eating fresh, adding to fruit bowls, or blending into smoothies. Light on taste, easy to digest, and perfect for everyday healthy eating.',4,119.0,'["product-images/1768649838027-0"]','2025-12-19T07:39:11.874Z',0,130.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(26,'Fig (Anjeer)','Fresh fig with a soft flesh and mild, naturally sweet flavor.','These fresh figs are soft, juicy, and mildly sweet with a delicate texture. Carefully selected to avoid overripeness, they’re best enjoyed fresh or paired with desserts and salads. A premium fruit meant to be eaten gently and enjoyed slowly.',1,78.0,'["product-images/1768640645444-0"]','2025-12-22T05:34:50.001Z',1,94.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(27,'Brinjal ','Fresh medium-sized brinjal, rich in fiber, low in calories, and ideal for everyday curries and fries.','Freshly harvested brinjal with smooth skin and tender flesh. Mild in taste and versatile in cooking, it is commonly used in curries, stir-fries, bharta, and gravies. Naturally rich in fiber and antioxidants, making it suitable for regular home cooking. Washed and packed hygienically.',1,24.0,'["product-images/1768639645423-0"]','2025-12-22T06:01:30.466Z',0,30.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(28,'Mutton Boneless ','Tender boneless mutton rich in protein, ideal for quick curries, fry, and kebabs.','Freshly cut boneless mutton pieces with minimal fat and strong natural flavour. Suitable for fast-cooking dishes such as gravies, stir-fries, kebabs, and biryani. High in protein and essential minerals, supporting strength and energy. Cleaned and packed hygienically to ensure freshness and quality.',1,855.0,'["product-images/1769356702593-0"]','2025-12-22T06:14:24.499Z',1,879.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(29,' Bottle Gourd (Lauki)','Fresh medium-sized bottle gourd, low in calories, high in water content, easy to digest, and ideal for healthy everyday cooking.','Fresh bottle gourd with smooth green skin and soft, tender flesh. Light in taste and easy to digest, it is widely used in Indian home cooking for curries, dals, soups, and juices. Naturally low in calories and rich in water content, making it suitable for daily meals. Handpicked for freshness and packed hygienically.',4,29.0,'["product-images/1768823985921-0"]','2025-12-22T06:15:31.316Z',0,32.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(30,' Bitter Gourd (Karela)','Fresh bitter gourd, known to help control blood sugar and support digestion.','Fresh bitter gourd with firm texture and deep green color. Widely used in Indian cooking for stir-fries, curries, and juices. Naturally low in calories and rich in fiber, vitamins, and antioxidants. Commonly consumed for its potential benefits in blood sugar management and digestion. Wash thoroughly before use.',1,34.0,'["product-images/1768726783083-0"]','2025-12-22T06:16:16.981Z',0,42.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(31,'Lady Finger (Okra / Bhindi)','Fresh tender lady finger, soft and non-fibrous, ideal for fries and curries.','Lady finger, also known as okra or bhindi, is a popular vegetable used in everyday Indian cooking. Tender lady finger has a soft texture and mild flavour, making it perfect for fries, stir-fries, curries, and gravies. When fresh, it cooks evenly without becoming too sticky. Rich in dietary fiber, vitamins, and antioxidants, it supports digestion and overall health. Carefully sourced and packed to maintain freshness and tenderness. Wash well and trim the ends before cooking.',1,29.0,'["product-images/1769574792720-0"]','2025-12-22T06:17:07.804Z',0,34.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(32,'Lemons ','Farm-fresh lemons with high juice content and natural tangy flavor. Perfect for daily cooking, juices, and salads.','Fresh, handpicked lemons known for their strong aroma, thin skin, and high juice yield. Ideal for nimbu pani, curries, marinades, chutneys, and garnishing. Carefully selected to ensure firmness, freshness, and bright yellow color. Stored and delivered with proper care to maintain natural taste and quality.',4,29.0,'["product-images/1766406273176-0","product-images/1766406273178-1"]','2025-12-22T06:54:35.209Z',0,36.0,4,0,1.0,1,NULL,6.0,1); -INSERT INTO product_info VALUES(33,'Small Methi / Baby Fenugreek Leaves','Fresh small methi leaves with a mild bitterness, perfect for everyday cooking and quick stir-fries.','Small methi, also known as baby fenugreek leaves, is a tender and flavorful leafy vegetable widely used in Indian kitchens. Compared to regular methi, these leaves are smaller, softer, and less bitter, making them ideal for curries, dal, parathas, and simple stir-fries. They cook quickly and blend well with spices without overpowering the dish. Small methi is naturally rich in fiber, iron, and essential nutrients that support digestion and overall health. Carefully cleaned and freshly sourced, these leaves bring authentic taste and freshness to your daily meals.',4,15.0,'["product-images/1769396046557-0"]','2025-12-22T06:55:49.838Z',0,20.0,4,0,1.0,0,NULL,8.0,1); -INSERT INTO product_info VALUES(34,' Mutton Boneless – Mini Pack','Tender boneless mutton, high in protein, easy to cook, ideal for quick curries and fry.','Freshly cut boneless mutton pieces with minimal fat, perfect for quick cooking dishes like stir-fries, gravies, and kebabs. High in protein and rich in flavor, this mini pack is ideal for small families or single meals. Cleaned and packed hygienically to ensure freshness.',1,465.0,'["product-images/1769356039418-0"]','2025-12-22T06:56:25.537Z',1,489.0,1,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(35,'Mutton kheema','Freshly minced premium mutton, finely ground for rich flavor and juicy texture—perfect for kebabs, keema curry, cutlets, and stuffing.','Our mutton mince is prepared from carefully selected fresh cuts, hygienically cleaned and finely minced to deliver bold, authentic flavor in every bite. It has the ideal fat balance to stay juicy while cooking, making it suitable for keema curry, seekh kebabs, koftas, samosas, and stuffed parathas. No additives, no preservatives—just pure, high-quality mutton processed under strict hygiene standards for consistent taste, texture, and freshness.',1,429.0,'["product-images/1767636561867-0"]','2025-12-24T22:43:30.811Z',1,450.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(36,'Chicken Leg With Thigh Pack of 3','Fresh chicken leg with thigh, cut from tender, juicy chicken. Rich in flavor, naturally succulent, and ideal for frying, roasting, grilling, and curries.',replace('Chicken leg with thigh is a flavorful cut taken from the lower and upper leg portion of the chicken, known for its juicy texture and rich taste. This cut retains moisture during cooking, making it perfect for deep frying, tandoori, grilling, roasting, and slow-cooked curries. Hygienically cleaned and neatly cut to ensure freshness and quality. High in protein and full of natural flavor, it delivers a satisfying, tender bite in every dish.\nIf this is for a premium app, we can refine the tone.\nIf it’s for mass-market, this is already more than enough.\nStop being unclear—next time, say where it will be used.','\n',char(10)),1,266.0,'["product-images/1768413754684-0"]','2025-12-24T22:44:23.272Z',0,280.0,1,0,1.0,1,280.0,1.0,1); -INSERT INTO product_info VALUES(37,'Drum sticks ','Rich in fiber, vitamins, supports digestion.','Fresh, tender moringa pods used in sambar, curries, and stir-fries.',4,79.0,'["product-images/1766636589779-0"]','2025-12-24T22:53:10.791Z',0,89.0,4,0,1.0,0,NULL,6.0,1); -INSERT INTO product_info VALUES(38,'Sapota (Chikoo)','Fresh sapota with a soft texture and naturally sweet, malty flavor.','This sapota is fresh, ripe, and naturally sweet with a soft, grainy texture. Selected for good ripeness and flavor, it’s perfect for eating as it is or adding to desserts and milkshakes. A classic fruit with a rich taste and satisfying bite.',1,76.0,'["product-images/1768640403001-0"]','2025-12-24T22:53:56.874Z',1,85.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(39,'Mango','Fresh seasonal mangoes with juicy flesh and natural sweetness.','These mangoes are fresh, ripe, and full of natural sweetness with juicy, flavorful flesh. Carefully selected for ripeness and quality, they’re perfect for eating fresh, making juices, smoothies, or desserts. A seasonal favorite that brings rich taste and aroma to every bite.',1,149.0,'["product-images/1768650081183-0"]','2025-12-24T22:55:16.935Z',1,169.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(40,'Chicken (regular cut) Large pieces ','Fresh chicken curry cut with large pieces, high in protein and ideal for rich gravies and slow cooking.','Fresh broiler chicken cut into large curry-sized pieces for hearty home-style cooking. Ideal for slow-cooked curries, biryanis, and gravies where bigger pieces retain juiciness and flavor. High in protein and prepared hygienically to ensure freshness and quality.',1,133.0,'["product-images/1767637606890-0"]','2026-01-05T12:56:48.180Z',0,145.0,1,0,1.0,1,150.0,0.5,1); -INSERT INTO product_info VALUES(41,'Chicken mince/kheema 500 g','Fresh, lean chicken mince made from premium chicken meat. Finely ground, high in protein, low in fat—perfect for kebabs, cutlets, burgers, curries, and wraps.',replace('Our chicken mince is prepared from carefully selected, fresh chicken meat and finely ground to achieve a smooth, consistent texture. It is naturally lean, rich in high-quality protein, and free from added preservatives, fillers, or artificial colors.\nThis mince cooks quickly and absorbs spices exceptionally well, making it ideal for a wide range of dishes—from juicy kebabs, patties, and meatballs to flavorful curries, stuffed parathas, and wraps. Every batch is hygienically processed and packed to retain freshness, flavor, and nutritional value.\nIf you’re serious about clean eating, muscle-friendly meals, or simply better taste, this chicken mince does the job without compromises.','\n',char(10)),1,189.0,'["product-images/1768307047191-0"]','2026-01-13T06:54:08.959Z',0,200.0,1,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(42,'Chicken Breast Boneless - Mini Pack','Fresh boneless chicken breast mini pack. Lean, tender, and high in protein—perfect for quick meals, salads, grilling, and stir-fries.','Our boneless chicken breast mini pack is made from premium, skinless chicken breast, carefully trimmed and hygienically processed. This cut is lean, low in fat, and rich in protein, making it ideal for healthy cooking. The mini pack size is perfect for small households or single meals, ensuring minimal waste and maximum freshness. Suitable for grilling, pan-frying, boiling, salads, wraps, and meal prep recipes. Free from added preservatives and artificial colors.',1,139.0,'["product-images/1768393778962-0"]','2026-01-14T06:59:39.928Z',0,150.0,1,0,1.0,1,160.0,0.25,1); -INSERT INTO product_info VALUES(43,'Strawberry ','Fresh, juicy strawberries with a natural sweetness and soft bite. Handpicked for vibrant color, rich aroma, and everyday freshness.','Bright red, naturally sweet, and bursting with juice — these strawberries are selected at peak ripeness for their bold flavor and smooth texture. Perfect for desserts, smoothies, or eating straight from the box.',1,135.0,'["product-images/1768638795991-0"]','2026-01-17T03:03:16.953Z',1,160.0,2,0,1.0,0,NULL,0.2,1); -INSERT INTO product_info VALUES(44,'Kinu Oranges (pack of 5)','Fresh, juicy oranges with a natural balance of sweetness and tang. Perfect for snacking or fresh juice.','These oranges are naturally juicy, refreshing, and full of real citrus flavor. Grown and picked at the right time, they have a firm peel, bright color, and a sweet-tangy taste inside. Ideal for everyday eating, fresh juice, or adding a fresh citrus touch to your meals.',4,119.0,'["product-images/1768639090932-0"]','2026-01-17T03:08:11.731Z',0,130.0,2,0,1.0,1,NULL,5.0,1); -INSERT INTO product_info VALUES(45,replace('Tomato\n','\n',char(10)),replace('Indian Tomato\n\nJuicy, tangy & ideal for all Indian curries\n500 g','\n',char(10)),'',1,19.0,'["product-images/1768639292540-0"]','2026-01-17T03:11:32.838Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(46,'Pomegranate ','Fresh pomegranate with deep red seeds and a naturally sweet-tangy taste.','This pomegranate is fresh, juicy, and full of vibrant red seeds with a balanced sweet and slightly tangy flavor. Carefully selected for firmness and freshness, it’s perfect for eating on its own, adding to salads, or using in fresh juice. No artificial shine — just real fruit with real taste.',4,109.0,'["product-images/1768639705530-0"]','2026-01-17T03:18:26.329Z',0,130.0,2,0,1.0,1,NULL,3.0,1); -INSERT INTO product_info VALUES(47,'Green Apple (pack 2) ','Crisp green apples with a tangy-sweet taste and firm, juicy texture.','These green apples are fresh, firm, and naturally crisp with a tangy-sweet flavor. Handpicked for quality and freshness, they’re perfect for snacking, making salads, or juicing. A refreshing fruit that adds a burst of natural flavor to any meal or snack.',4,119.0,'["product-images/1768642455479-0"]','2026-01-17T04:04:16.269Z',0,130.0,2,0,1.0,1,NULL,2.0,1); -INSERT INTO product_info VALUES(48,'Guava (Jama Kaya)','Fresh guavas with a sweet-tangy flavor and crisp, juicy texture.','These guavas are fresh, firm, and packed with natural sweetness and tang. Carefully selected for ripeness and flavor, they’re perfect for eating raw, adding to salads, or making juice. A nutritious fruit that’s rich in vitamins and refreshing in every bite.',1,55.0,'["product-images/1768642724520-0"]','2026-01-17T04:08:44.824Z',0,68.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(49,'Pear','Fresh pears with soft, juicy texture and a naturally sweet flavor.','These fresh pears are firm yet tender, naturally juicy, and mildly sweet. Handpicked for quality and ripeness, they’re perfect for eating as-is, adding to fruit salads, or using in desserts. A refreshing fruit that balances sweetness and softness in every bite.',4,119.0,'["product-images/1768643138910-0"]','2026-01-17T04:15:39.802Z',1,159.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(50,'Alu Bukhara (Plum / Prunes)','Fresh plums (Alu Bukhara) with a juicy, sweet‑tart flavor, perfect for snacking or making chutneys and juices.','Alu Bukhara refers to ripe plums with rich, juicy flesh and a natural sweet‑tart taste. These plums are refreshing and flavorful, great for eating fresh or using in chutneys, jams, and traditional dishes. When dried, they’re also known as prunes — a nutritious, fiber‑rich snack with long shelf life. Packed with vitamins and antioxidants, they’re a wholesome addition to your fruit selection. ',4,119.0,'["product-images/1768643354251-0"]','2026-01-17T04:19:14.555Z',0,128.0,2,0,1.0,0,NULL,4.0,1); -INSERT INTO product_info VALUES(51,'Shahtoot (Mulberry)','Fresh mulberries with a naturally sweet flavor and juicy, soft texture.','These fresh mulberries are ripe, juicy, and naturally sweet with a delicate texture. Perfect for snacking, smoothies, desserts, or topping cereals and salads. Carefully selected for freshness and flavor, mulberries are also packed with vitamins and antioxidants, making them a healthy and delicious choice.',1,169.0,'["product-images/1768646295695-0"]','2026-01-17T05:08:16.491Z',1,180.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(52,'Sugarcane','Fresh sugarcane stalks with natural sweetness, juicy and perfect for chewing or juice extraction.','These sugarcane stalks are fresh, juicy, and naturally sweet. Perfect for chewing directly or extracting fresh sugarcane juice at home. Carefully selected for quality and ripeness, sugarcane provides a refreshing, natural source of energy and flavor.',4,29.0,'["product-images/1768646744949-0"]','2026-01-17T05:15:45.254Z',1,40.0,2,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(53,'Hass Avocado','Creamy Hass avocados with rich, buttery texture and mild, nutty flavor.','Hass avocados are known for their distinct creamy texture and mild, nutty flavor. With thick, bumpy skin that darkens as it ripens, these avocados offer smooth, rich green flesh perfect for salads, smoothies, sandwiches, or spreads like guacamole. Packed with healthy fats, fiber, and essential vitamins, they’re a nutritious addition to any diet. Treat them gently and ripen at room temperature for best taste and texture.',4,239.0,'["product-images/1768646932088-0"]','2026-01-17T05:18:52.342Z',0,250.0,2,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(54,'Blueberry','Fresh blueberries with a sweet-tart flavor, juicy texture, and rich purple color.','These fresh blueberries are plump, juicy, and naturally sweet-tart with deep purple color. Perfect for snacking, adding to cereals, desserts, or smoothies. Packed with antioxidants, vitamins, and flavor, blueberries are a nutritious and premium fruit choice. Handle carefully as they’re delicate and perishable.',1,280.0,'["product-images/1768649454994-0"]','2026-01-17T06:00:55.308Z',0,310.0,2,0,1.0,0,NULL,0.15,1); -INSERT INTO product_info VALUES(55,'Muscat Grapes','Fresh seasonal mangoes with juicy flesh and natural sweetness.','These mangoes are fresh, ripe, and full of natural sweetness with juicy, flavorful flesh. Carefully selected for ripeness and quality, they’re perfect for eating fresh, making juices, smoothies, or desserts. A seasonal favorite that brings rich taste and aroma to every bite.',1,69.0,'["product-images/1768650709484-0"]','2026-01-17T06:21:49.844Z',1,80.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(56,'Muskmelon (Kharbuja)','For bigger-sized muskmelon, choose the 1 kg option.','This fresh muskmelon (kharbuja) has a naturally sweet aroma and soft, juicy orange flesh. Carefully selected for ripeness, it’s refreshing, hydrating, and perfect for eating fresh, fruit salads, or summer juices. Best enjoyed chilled for maximum sweetness and flavor.',1,67.0,'["product-images/1768651334320-0"]','2026-01-17T06:32:14.675Z',0,72.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(57,'Pineapple','Note: This is a medium-size pineapple.','This fresh pineapple is naturally juicy with a sweet and slightly tangy flavor. Selected for ripeness and freshness, it’s perfect for eating fresh, juices, salads, and desserts. Best enjoyed chilled for maximum taste.',4,59.0,'["product-images/1768651774899-0"]','2026-01-17T06:39:35.228Z',1,69.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(58,'Papaya','Note: This is a medium-size papaya.','This fresh papaya is naturally soft, mildly sweet, and easy to digest. Carefully selected for ripeness, it’s ideal for eating fresh, fruit bowls, smoothies, or breakfast plates. Best consumed ripe for smooth texture and better taste.',4,59.0,'["product-images/1768652061701-0"]','2026-01-17T06:44:22.034Z',0,75.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(59,'Watermelon','Add 1kg if you want watermelon in big size','This fresh watermelon has bright red, juicy flesh with natural sweetness and high water content. Perfect for summer refreshment, fruit salads, juices, or eating chilled. Carefully selected for freshness and firmness.',1,98.0,'["product-images/1768653009851-0"]','2026-01-17T07:00:10.168Z',0,110.0,2,0,1.0,1,NULL,2.5,1); -INSERT INTO product_info VALUES(60,'Green Grapes','Supports immunity, provides natural energy, and is rich in antioxidants.','These fresh green grapes are handpicked for firm texture and sweet, juicy flavor. Perfect for snacking, fruit salads, juices, or desserts, they’re packed with vitamins and antioxidants. Carefully stored to maintain freshness from farm to table.',1,78.0,'["product-images/1768653997561-0"]','2026-01-17T07:16:37.967Z',0,90.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(61,'Red Globe Grapes','High in antioxidants, supports immunity, and provides natural energy. Seeded','These Red Globe grapes are large, plump, and naturally sweet with firm, juicy flesh. Carefully selected for size and freshness, they’re perfect for snacking, fruit salads, desserts, or making fresh juice. Packed with vitamins and antioxidants, Red Globe grapes are a healthy and premium choice for everyday consumption.',1,99.0,'["product-images/1768654475850-0"]','2026-01-17T07:24:36.247Z',0,119.0,2,0,1.0,1,NULL,0.25,1); -INSERT INTO product_info VALUES(62,'Black Grapes','Supports immunity, rich in antioxidants, and provides natural energy.','These black grapes are handpicked for firm texture, juiciness, and natural sweetness. Perfect for snacking, fruit salads, desserts, or making fresh juice. Rich in vitamins and antioxidants, they’re a healthy and refreshing fruit for everyday consumption.',1,78.0,'["product-images/1768654740988-0"]','2026-01-17T07:29:01.488Z',0,91.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(63,'Pink Dragon Fruit','Boosts immunity, rich in antioxidants, supports digestion, and provides natural energy.','This pink dragon fruit is fresh, juicy, and mildly sweet with soft flesh and tiny edible seeds. Carefully selected for ripeness and quality, it’s perfect for eating fresh, adding to fruit bowls, smoothies, or desserts. Exotic in appearance, nutritious, and rich in antioxidants.',4,269.0,'["product-images/1768658094891-0"]','2026-01-17T08:24:55.423Z',1,289.0,2,0,1.0,1,NULL,2.0,1); -INSERT INTO product_info VALUES(64,'Broccoli',replace('Note: This is a medium-size broccoli.\nRich in fiber and vitamins, supports digestion and overall nutrition.','\n',char(10)),'This fresh broccoli is crisp, green, and carefully selected for firmness and freshness. Ideal for stir-fries, salads, soups, or steaming. Mild in taste and versatile in cooking, it’s best used fresh for good texture and flavor.',1,59.0,'["product-images/1768709567040-0"]','2026-01-17T22:42:48.248Z',1,69.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(65,'Beetroot','Supports blood health, rich in fiber, and helps maintain energy levels.','This fresh beetroot is firm, clean, and naturally rich in color. Carefully selected for freshness, it’s ideal for cooking, salads, juices, and curries. Mildly sweet when cooked and earthy in flavor, beetroot is a versatile vegetable used in everyday meals.',1,28.0,'["product-images/1768710434326-0"]','2026-01-17T22:57:14.620Z',0,35.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(66,'Cabbage(Patta Gobhi)',replace('Note: This is a medium-size cabbage.\nRich in fiber, supports digestion, and low in calories.','\n',char(10)),'This fresh green cabbage is medium-sized, firm, and tightly packed with pale green leaves. It has a mild flavor and crunchy texture, making it ideal for curries, stir-fries, salads, soups, and fried snacks. Carefully selected for freshness and cleanliness, this cabbage is suitable for everyday cooking.',4,27.0,'["product-images/1768710760133-0"]','2026-01-17T23:02:40.448Z',0,35.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(67,'Cauliflower(Phool Gobhi)',replace('Note: This is a medium-size cauliflower.\nHigh in fiber and vitamin C, supports digestion and immunity.','\n',char(10)),'This fresh medium-sized cauliflower has compact, creamy-white florets and crisp green leaves. Carefully selected for firmness and freshness, it is ideal for curries, stir-fries, fried snacks, soups, and biryani-style dishes. Clean and naturally grown, suitable for daily home cooking.',4,28.0,'["product-images/1768711261174-0"]','2026-01-17T23:11:02.227Z',0,32.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(68,'Sweet Potato','High in fiber, supports digestion, and provides natural energy.','These medium-sized red sweet potatoes have smooth skin and pale, creamy flesh with a mildly sweet taste. Ideal for boiling, roasting, frying, and traditional Indian dishes, they cook evenly and remain soft inside. Carefully selected for freshness and quality, suitable for daily home cooking.',1,32.0,'["product-images/1768711919135-0"]','2026-01-17T23:21:59.416Z',0,34.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(69,'Carrot','Rich in vitamin A, supports eye health and immunity.','These fresh medium-sized carrots are firm, smooth-skinned, and bright in color. They have a crisp texture and mildly sweet taste, making them perfect for salads, curries, stir-fries, juices, and snacks. Carefully selected for freshness and quality, suitable for everyday cooking.',1,29.0,'["product-images/1768712093829-0"]','2026-01-17T23:24:54.154Z',0,35.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(70,'White Radish(Mooli)','Aids digestion, rich in fibre, supports gut health.','Fresh white radish (mullangi) is crisp, juicy, and naturally pungent with a refreshing bite. Ideal for sambar, curries, stir-fries, salads, and chutneys. Carefully sourced to ensure firmness, clean skin, and freshness for daily home cooking.',4,19.0,'["product-images/1768712490280-0"]','2026-01-17T23:31:30.647Z',0,25.0,4,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(71,replace('Curry Leaves(Karivepak)\n','\n',char(10)),replace('1 bunch\nAdds aroma, supports digestion, and enhances flavour in cooking.','\n',char(10)),'These fresh curry leaves are aromatic, clean, and deep green in colour. Carefully selected to enhance flavour, they are essential for tempering and everyday South Indian cooking. Best used fresh for maximum aroma and taste.',4,15.0,'["product-images/1768713206145-0"]','2026-01-17T23:43:26.487Z',0,22.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(72,'Spinach (Palak)','Rich in iron, supports blood health, and boosts immunity.','Fresh spinach (palak) leaves are medium-sized, crisp, and bright green. Carefully selected for freshness, they are ideal for curries, soups, smoothies, salads, and dals. Best consumed fresh to retain nutrients, flavor, and texture.',4,14.0,'["product-images/1768713537512-0"]','2026-01-17T23:48:57.829Z',0,19.0,4,0,1.0,1,NULL,7.0,1); -INSERT INTO product_info VALUES(73,'Coconut','Rich in natural electrolytes, supports hydration, and provides energy.','This fresh medium-sized coconut is carefully selected for quality and freshness. Ideal for drinking tender coconut water, making coconut milk, chutneys, desserts, or cooking. Naturally nutritious and rich in flavor, it’s perfect for daily home use.',4,59.0,'["product-images/1768718685357-0"]','2026-01-17T23:51:54.586Z',0,79.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(74,'Fenugreek Leaves(Methi)','Rich in vitamins, supports digestion, and enhances flavor in cooking.','These fresh fenugreek leaves (methi) are medium-sized, aromatic, and vibrant green. Carefully selected for freshness, they are ideal for curries, parathas, dals, and seasoning. Best used fresh to retain aroma, flavor, and nutritional value.',4,18.0,'["product-images/1768713886512-0"]','2026-01-17T23:54:47.138Z',0,25.0,4,0,1.0,0,NULL,10.0,1); -INSERT INTO product_info VALUES(75,'Murrel / Korameenu / కోరమీను - Live','Fresh murrel fish, high in protein, known for aiding recovery and boosting strength.',' Fresh freshwater murrel fish (snakehead) known for its firm flesh and rich taste. Highly valued in Indian households for its nutritional benefits, especially during recovery and post-illness diets. Rich in protein and essential nutrients. Ideal for curries and traditional preparations. Cleaned and packed hygienically to retain freshness.',1,489.0,'["product-images/1768817786453-0","product-images/1768817786455-1"]','2026-01-18T00:08:16.173Z',0,580.0,1,0,1.0,1,600.0,1.0,1); -INSERT INTO product_info VALUES(76,'Coriander Leaves (Kothimeer)','Fresh coriander leaves with a strong aroma, perfect for garnishing and cooking.','Freshly harvested coriander leaves with tender stems and vibrant green color. Widely used in Indian cooking for garnishing curries, chutneys, salads, and rice dishes. Adds a refreshing flavor and aroma to everyday meals. Wash thoroughly before use.',4,19.0,'["product-images/1768727264220-0"]','2026-01-18T03:37:45.047Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(77,'Gongura (Sorrel Leaves)','Fresh gongura leaves with a natural tangy taste, perfect for traditional Andhra dishes and chutneys.','Gongura, also known as sorrel leaves, is a popular leafy vegetable widely used in Andhra and Telangana cuisine. Known for its unique sour and refreshing flavour, gongura adds a distinctive taste to dals, curries, chutneys, and pickles. The leaves are tender and aromatic, making them ideal for both cooking and grinding. Naturally rich in iron, antioxidants, and essential vitamins, gongura supports digestion and overall health. Freshly sourced and carefully cleaned to retain its natural taste and quality. Wash thoroughly before use and cook fresh for the best flavour.',4,16.0,'["product-images/1769396724595-0"]','2026-01-18T08:56:30.867Z',0,19.0,4,0,1.0,0,NULL,6.0,1); -INSERT INTO product_info VALUES(78,'Green Chillies','Fresh green chillies rich in vitamin C, add heat and flavor to everyday cooking.',' Fresh green chillies with bright green color and firm texture. Commonly used in Indian cooking to add spice and aroma to curries, stir-fries, chutneys, and snacks. Naturally rich in vitamin C and antioxidants. Wash thoroughly before use. Packed fresh for daily kitchen needs.',1,29.0,'["product-images/1769241234003-0"]','2026-01-18T09:03:36.108Z',0,32.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(79,'Red Carrot ','Big-sized red carrots with natural sweetness, ideal for salads, juices, and cooking.','Fresh big-sized red carrots with deep red color and firm texture. Naturally sweet and juicy, these carrots are rich in beta-carotene, fiber, and antioxidants. Perfect for raw salads, juices, halwa, soups, and everyday cooking. Carefully selected for size and freshness, cleaned and packed hygienically.',1,39.0,'["product-images/1768822893380-0"]','2026-01-19T06:11:34.210Z',0,47.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(80,'Country Chicken (Desi / Natu Kodi)','Fresh country chicken, high in protein and rich in natural flavor, ideal for traditional slow-cooked dishes.','Freshly sourced country chicken known for its firm texture and strong taste. Preferred for traditional curries, soups, and slow-cooked recipes. Naturally high in protein and considered more nutritious than broiler chicken. Cleaned and cut hygienically for safe cooking.',1,849.0,'["product-images/1769063336125-0"]','2026-01-22T00:58:57.053Z',0,920.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(81,'Tigers prawns large ','Premium tiger prawns rich in protein and omega-3, ideal for grilling, frying, and special dishes.','Fresh premium tiger prawns known for their large size, firm texture, and rich taste. Perfect for grilling, frying, curries, and restaurant-style recipes. High in protein and omega-3 fatty acids, supporting muscle and heart health. Available cleaned or uncleaned and packed hygienically to maintain freshness.',1,669.0,'["product-images/1769063467386-0"]','2026-01-22T01:01:08.364Z',0,700.0,1,0,1.0,0,NULL,0.65,1); -INSERT INTO product_info VALUES(82,'Fresh Prawns – Medium (Cleaned & Deveined)','High in protein and omega-3, supports muscle growth and heart health.','Fresh prawns with firm texture and natural sweetness. Ideal for curries, fry, grills, and Asian-style dishes. Rich in protein and omega-3 fatty acids, supporting muscle and heart health. Available cleaned or uncleaned and packed hygienically to maintain freshness.',1,389.0,'["product-images/1769063660493-0"]','2026-01-22T01:04:21.712Z',0,419.0,1,0,1.0,0,NULL,0.65,1); -INSERT INTO product_info VALUES(83,'Rohu- రోహు live ','Fresh rohu fish rich in protein and omega-3, ideal for everyday curries and home cooking.','Freshwater rohu fish with soft texture and mild flavor, widely used in Indian households for daily meals. Suitable for curry preparations and light frying. Naturally rich in protein and omega-3 fatty acids, supporting muscle health and balanced nutrition. Cleaned and cut hygienically to ensure freshness and quality.',1,159.0,'["product-images/1769149204037-0"]','2026-01-23T00:50:05.311Z',0,180.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(84,'Mutton Brain (Bheja). మటన్ బ్రెయిన్ (భేజా)','Fresh mutton brain, rich in healthy fats and protein, ideal for traditional bheja fry and curries.','Freshly sourced mutton brain (bheja) from healthy goats. Known for its soft texture and rich taste, it is commonly used in traditional dishes like bheja fry and masala. Rich in healthy fats and nutrients. Cleaned carefully and packed hygienically to maintain freshness.',4,119.0,'["product-images/1769149707440-0"]','2026-01-23T00:56:40.140Z',0,130.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(85,'Mutton Paya (Goat Trotters)','Fresh mutton paya rich in collagen and minerals, ideal for nourishing paya soup.','Freshly cleaned mutton paya (goat trotters) commonly used to prepare traditional paya soup. When slow-cooked, paya releases natural collagen and minerals, making the soup rich, flavorful, and nourishing. Popular for strength recovery and home-style remedies. Cleaned thoroughly and packed hygienically for freshness.',4,259.0,'["product-images/1769150471654-0","product-images/1769150471655-1"]','2026-01-23T01:11:12.693Z',0,270.0,1,0,1.0,0,NULL,4.0,1); -INSERT INTO product_info VALUES(86,'Mutton Chops - మటన్ చాప్స్','Fresh mutton chops, rich in protein and iron, ideal for curries and slow cooking.','Fresh mutton chops cut from tender sections with bone, known for rich flavor and juiciness. Perfect for slow-cooked curries, gravies, and traditional dishes where bone enhances taste. High in protein and iron, supporting strength and energy. Cleaned and cut hygienically for freshness.',1,419.0,'["product-images/1769151216776-0"]','2026-01-23T01:23:37.665Z',1,440.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(87,'Mutton Soup Bones -మటన్ సూప్ ఎముకలు','Fresh mutton soup bones rich in collagen and minerals, ideal for nourishing soups and broths.',' Fresh mutton soup bones cut from healthy goat meat, perfect for preparing rich and flavorful soups and bone broths. Slowly cooked bones release natural collagen, minerals, and nutrients, making them ideal for strength recovery and traditional home remedies. Cleaned hygienically and packed fresh for daily cooking.',1,149.0,'["product-images/1769151844424-0"]','2026-01-23T01:34:05.440Z',0,179.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(88,'Purple Cabbage (Red Cabbage)',replace('Medium-sized purple cabbage\nFresh purple cabbage rich in antioxidants and fiber, supports digestion and immunity.','\n',char(10)),'Fresh purple (red) cabbage with crisp texture and vibrant color. Commonly used in salads, stir-fries, slaws, and garnishing. Naturally rich in antioxidants, fiber, and vitamin C, helping support digestion and overall health. Wash thoroughly before use. Packed fresh for daily cooking.',4,99.0,'["product-images/1769394457296-0"]','2026-01-25T20:57:37.763Z',0,110.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(89,'Light Purple Brinjal','Fresh light purple brinjal rich in fiber and antioxidants, ideal for curries and fries.','Fresh light purple brinjal with smooth skin and tender flesh, handpicked for everyday cooking. This variety cooks quickly and absorbs spices well, making it perfect for curries, fries, bharta, and stir-fried dishes. Mild in taste and easy to digest, it is a regular choice in Indian kitchens. Rich in fiber and antioxidants, it supports digestion and overall health. Wash thoroughly before use. Best used fresh for maximum taste and texture.',1,29.0,'["product-images/1769395184980-0"]','2026-01-25T21:09:46.227Z',0,40.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(90,'Indian Yellow Cucumber (Madras / Dosakai)','Fresh Indian yellow cucumber, also known as Madras cucumber, mild and crisp, perfect for salads, pickles, and cooking.','Indian yellow cucumber, also called Madras cucumber, is a rare and vibrant variety with tender yellow skin and crisp, juicy flesh. Favored in Indian kitchens, it is perfect for fresh salads, traditional pickles, or lightly cooked curries. Naturally rich in fiber, vitamins, and antioxidants, it promotes digestion and overall wellness. Carefully harvested and packed to retain freshness, this cucumber delivers mild sweetness and a refreshing crunch to everyday meals. Wash thoroughly before use and consume fresh for maximum taste.',1,27.0,'["product-images/1769398103853-0"]','2026-01-25T21:58:24.668Z',0,29.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(91,'Green Peas','Fresh green peas with natural sweetness, ideal for curries, pulao, and snacks.','Fresh green peas, carefully harvested for their sweetness, tenderness, and bright green color. Perfect for adding to Indian curries, pulao, stir-fries, soups, and snacks. Rich in protein, fiber, vitamins, and minerals, green peas support digestion and overall health. Available fresh or shelled for convenience, these peas are packed to retain their crisp texture and natural flavor. Wash thoroughly before use and cook fresh for the best taste.',1,39.0,'["product-images/1769398710713-0"]','2026-01-25T22:08:31.554Z',0,44.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(92,'French Beans (Chikkudukaya)','Fresh Benis with crisp texture, ideal for stir-fries, curries, and salads.','Fresh Benis, also known as French beans or cluster beans, are tender and crisp vegetables widely used in Indian cooking. Perfect for stir-fries, curries, and salads, these beans cook quickly and absorb spices well. Naturally rich in fiber, vitamins, and minerals, Benis supports digestion and overall wellness. Carefully handpicked and packed to retain freshness, these beans bring color, crunch, and nutrition to your daily meals. Wash thoroughly before cooking.',1,29.0,'["product-images/1769399617573-0"]','2026-01-25T22:23:38.391Z',0,32.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(93,'Red & Yellow Capsicum (Bell Peppers)','Fresh red and yellow capsicum with crisp texture and mild sweetness, perfect for cooking and salads.','Red and yellow capsicum, also known as bell peppers, are vibrant, crunchy vegetables with a naturally mild and slightly sweet flavour. Commonly used in stir-fries, curries, salads, and continental dishes, these capsicums add colour and nutrition to meals. Rich in vitamin C, antioxidants, and dietary fiber, they help support immunity and overall health. Carefully selected and packed to maintain freshness, firmness, and bright colour. Wash thoroughly and cut as required before use.',1,89.0,'["product-images/1769571126092-0"]','2026-01-27T22:02:07.050Z',0,96.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(94,'Gawar Beans (Cluster Beans)','Fresh tender gawar beans, ideal for stir-fries, curries, and traditional dishes.','Gawar beans, also known as cluster beans, are a traditional vegetable widely used in Indian cooking. These tender green pods have a slightly earthy flavour and firm texture, making them perfect for stir-fries, dry sabzis, curries, and dals. Rich in dietary fiber, vitamins, and minerals, gawar beans support digestion and help maintain blood sugar balance. Carefully sourced and packed to retain freshness, tenderness, and natural colour. Wash thoroughly, trim ends, and cook well before consumption.',1,29.0,'["product-images/1769571810861-0"]','2026-01-27T22:13:31.656Z',0,35.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(95,'Dondakaya (Ivy Gourd)','Fresh tender ivy gourd, ideal for fries, stir-fries, and curries.',replace('Long Description (human-written, not robotic)\nIvy gourd, commonly known as tindora or dondakaya, is a popular vegetable used in daily Indian cooking. These small green gourds have a mild taste and firm texture that works perfectly for shallow frying, stir-fries, and traditional curries. Tender ivy gourd cooks quickly and absorbs spices well without turning mushy. It is naturally low in calories and rich in fiber, making it suitable for light and healthy meals. Carefully selected to ensure freshness, uniform size, and good cooking quality.','\n',char(10)),1,39.0,'["product-images/1769571978680-0"]','2026-01-27T22:16:18.992Z',0,50.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(96,'Pineapple – Large','Large-sized fresh pineapple with juicy, sweet-tangy flesh.','This large pineapple is carefully selected for size and ripeness, offering juicy golden flesh with a naturally sweet and mildly tangy taste. Perfect for fresh juices, fruit salads, desserts, and cooking, it delivers more pulp and better value. Ideal for families or recipes that need a generous quantity of fresh pineapple.',4,109.0,'["product-images/1769576743718-0"]','2026-01-27T23:35:44.520Z',0,120.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(97,'Pudina (Mint Leaves)','Fresh aromatic mint leaves, ideal for chutneys, curries, and drinks.','Pudina, also known as mint leaves, is a fragrant herb widely used in Indian cooking. Its refreshing aroma and cooling taste make it perfect for chutneys, raitas, biryani, curries, and beverages like mint water and mojito. Carefully selected for freshness, these tender green leaves add both flavor and aroma to everyday dishes and are best used fresh.',4,19.0,'["product-images/1769577010969-0"]','2026-01-27T23:40:11.263Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(98,'Mutton Curry Cut (Regular)– 500 g','Fresh mutton curry cut with bone, suitable for everyday curries.','Mutton curry cut (regular) includes a balanced mix of bone and meat, making it ideal for everyday home-style curries and gravies. Cut from fresh goat meat, these pieces cook well in slow and pressure-cooked dishes, releasing rich flavour into the gravy. Cleaned and cut hygienically, this pack is suitable for regular family meals.',1,419.0,'["product-images/1770051810386-0"]','2026-02-02T11:33:31.411Z',1,459.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(99,'Mutton Curry Cut (Regular) – 750 g','Fresh mutton curry cut with bone, ideal for family-sized curries.','Mutton curry cut (regular) – 750 g includes a well-balanced mix of bone and meat, perfect for preparing rich and flavorful curries. Cut from fresh goat meat, these pieces are suitable for slow cooking and pressure cooking, allowing the meat to turn tender while enhancing the taste of the gravy. Cleaned and cut hygienically, this pack is ideal for medium to large family meals.',1,635.0,'["product-images/1770051959669-0"]','2026-02-02T11:36:00.205Z',1,660.0,1,0,1.0,0,NULL,0.75,1); -INSERT INTO product_info VALUES(100,'Irani Apple. Pack of (4)','Fresh Irani apples with crisp texture and mildly sweet taste.','Irani apples, also known as Iranian apples, are known for their firm texture, long shelf life, and mildly sweet flavor. These apples are crisp and juicy, making them suitable for fresh consumption, fruit salads, and juicing. Carefully selected for quality and freshness, Irani apples are a popular everyday fruit choice due to their balanced taste and good keeping quality. Wash thoroughly before consumption.',4,99.0,'["product-images/1770212631435-0"]','2026-02-04T08:13:52.295Z',0,119.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(101,'Coriander Leaves (Kothimeer) small 1 ','','',4,12.0,'["product-images/1771249922306-0"]','2026-02-16T08:22:03.573Z',0,15.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(102,' Basa Fish Fillets','','',1,499.0,'["product-images/1771411526889-0"]','2026-02-18T05:15:27.907Z',0,550.0,1,0,1.0,0,NULL,0.8,1); -INSERT INTO product_info VALUES(103,'Ridge Gourd (Turai) ..(Beerkaya)','','',1,29.0,'["product-images/1771647812442-0"]','2026-02-20T22:53:33.321Z',0,35.0,4,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(136,'Demo product','Demo product demo','Demo Product and just for fun description',1,222.0,'[]','2026-03-21T10:37:26.835Z',0,233.0,8,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(137,'Demo3','Demo3','Demo3',1,233.0,'["product-images/1774110996916.jpg","product-images/1774111917349.jpg","product-images/1774111977156.jpg"]','2026-03-21T10:39:54.216Z',0,233.0,1,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(138,'Demo4','Demo4','Demo4',1,233.0,'["product-images/1774109641982.jpg","product-images/1774109642211.jpg"]','2026-03-21T10:44:05.635Z',0,233.0,8,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(139,'Demo5','Demo5','Demo5 ',1,233.0,'["product-images/1774109875092.jpg","product-images/1774109875283.jpg"]','2026-03-21T10:47:58.585Z',0,235.0,1,0,1.0,1,235.0,1.0,1); -INSERT INTO product_info VALUES(140,'Demo Productsz','Demooo','Demoooo',1,250.0,'["product-images/1774524524649.jpg","product-images/1774524524845.jpg","product-images/1774524525034.jpg","product-images/1774525511146.jpg"]','2026-03-26T05:58:47.322Z',0,285.0,1,0,1.0,1,300.0,1.0,1); +INSERT INTO product_group_membership VALUES(104,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(105,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(106,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(107,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(108,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(109,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(110,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(111,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(112,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(113,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(114,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(115,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(116,11,'2026-03-11T04:20:06.551Z'); +INSERT INTO product_group_membership VALUES(117,11,'2026-03-11T04:20:06.551Z'); +CREATE TABLE IF NOT EXISTS "product_info" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "short_description" TEXT, "long_description" TEXT, "unit_id" INTEGER NOT NULL, "price" REAL NOT NULL, "images" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_out_of_stock" INTEGER NOT NULL DEFAULT false, "market_price" REAL, "store_id" INTEGER, "is_suspended" INTEGER NOT NULL DEFAULT false, "increment_step" REAL NOT NULL DEFAULT 1, "is_flash_available" INTEGER NOT NULL DEFAULT false, "flash_price" REAL, "product_quantity" REAL NOT NULL DEFAULT 1); +INSERT INTO product_info VALUES(1,'Chicken Liver','Liver sourced from the farm hens.',replace('Bring home the deep, hearty taste of fresh Chicken Liver, sourced from healthy, farm-raised chickens. Each piece is carefully cleaned and handled with care to retain its natural richness, smooth texture, and vibrant color.\n\nPerfect for making creamy pâtés, spicy fry dishes, gravies, or traditional home-style recipes, our chicken liver delivers authentic flavor and exceptional freshness in every bite.','\n',char(10)),1,99.0,'["product-images/1768478127128-0","product-images/1768478472220-0"]','2025-11-18T08:06:27.505Z',0,110.0,1,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(2,'Chicken Breast 500 g','Farm Chicken Breast uncut and solid.',replace('Experience the rich taste of fresh, premium-quality chicken sourced directly from trusted farms. Each bird is carefully cleaned, processed hygienically, and delivered chilled to preserve its natural flavor, tenderness, and juiciness.\n\nWhether you''re preparing a hearty curry, roasting for a family meal, or grilling for a weekend cookout, our whole chicken offers consistent texture, rich aroma, and superior taste in every bite.','\n',char(10)),1,215.0,'["product-images/1768397780093-0","product-images/1768479562478-0"]','2025-11-18T08:32:49.003Z',0,225.0,1,0,1.0,1,219.0,0.5); +INSERT INTO product_info VALUES(3,'Chicken Lollipops','Chicken cut for lollipop starter dish',replace('Turn any meal into a celebration with our premium Chicken Lollipop Cuts, expertly carved from fresh chicken drumettes and wings. Each piece is shaped cleanly into the classic “lollipop” form—perfect for frying, grilling, or tossing in your favorite tangy sauces.\n\nEnjoy the ideal balance of meatiness, tenderness, and crunch potential, making it a must-have for home chefs, party hosts, and spice lovers alike.','\n',char(10)),1,76.0,'["product-images/1768475599800-0"]','2025-11-18T08:56:07.106Z',1,89.0,1,0,1.0,0,120.0,0.25); +INSERT INTO product_info VALUES(4,'Mutton','Fresh, tender mutton cut from quality goat meat, cleaned and prepared hygienically for rich taste and authentic curries.',replace('Our mutton is sourced from healthy, quality goats and cut fresh to ensure natural flavor and tenderness. Each piece is carefully cleaned and processed under hygienic conditions to retain its juiciness and traditional taste. Known for its deep, rich flavor, this mutton is ideal for curries, biryanis, gravies, roasts, and slow-cooked dishes. No chemicals, no preservatives—just pure mutton that cooks well, absorbs spices properly, and delivers the taste people actually expect from good meat.\n','\n',char(10)),1,839.0,'["product-images/1767636171845-0"]','2025-11-18T08:57:53.779Z',0,860.0,1,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(5,'Cucumber(Kheera)','High water content, helps hydration, and keeps the body cool.',replace('\nThis fresh cucumber is crisp, juicy, and mild in taste, making it perfect for everyday use. Carefully selected for firmness and freshness, it’s ideal for salads, raita, juices, and garnishing. With high water content and a clean, refreshing bite, cucumber is best enjoyed fresh and chilled.','\n',char(10)),1,26.0,'["product-images/1768710099841-0"]','2025-11-18T08:59:53.556Z',0,33.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(6,'Apple ( pack of 3) ','Kashmiri Apples',replace('These apples are fresh, firm, and crisp with a clean, naturally sweet flavor. Handpicked for quality and freshness, they’re ideal for everyday snacking, salads, or cooking. Simple, reliable fruit that fits easily into daily meals.\n','\n',char(10)),4,109.0,'["product-images/1768640936747-0"]','2025-11-18T09:02:29.167Z',0,120.0,2,0,1.0,1,NULL,3.0); +INSERT INTO product_info VALUES(7,'Banana','Fresh bananas with a naturally sweet taste and soft, creamy texture.','Bananas supporting heart health through potassium, improving digestion with fiber, and providing an energy boost from carbohydrates. ',3,49.0,'["product-images/1768640009078-0"]','2025-11-22T01:37:58.613Z',0,60.0,2,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(8,'Kiwi','Fresh kiwis with sweet-tart flavor, juicy green flesh, and edible seeds.','Kiwi is rich in Vitamin C, which boosts immunity and keeps the body strong. It also has fiber that helps in digestion and keeps the stomach healthy. Eating kiwi improves skin glow and supports heart health.',4,139.0,'["product-images/1768647119198-0"]','2025-11-22T01:49:17.573Z',0,150.0,2,0,1.0,1,139.0,4.0); +INSERT INTO product_info VALUES(9,'Apollo Fish',replace('Boneless\nFresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.','\n',char(10)),'Fresh sea-caught tuna fish with firm texture and rich flavor. Widely used for curries, steaks, grilling, and shallow frying. Naturally high in protein and omega-3 fatty acids, supporting muscle health and heart health. Cleaned and cut hygienically to retain freshness and taste.',1,296.0,'["product-images/1768832690994-0"]','2025-11-22T22:17:08.582Z',0,340.0,1,0,1.0,1,NULL,0.7); +INSERT INTO product_info VALUES(10,'Chicken leg piece ','6 pieces ','Fresh, meaty leg pieces with rich flavor and soft texture. Ideal for tandoori, BBQ, and home-style recipes.',4,279.0,'["product-images/1768390245969-0"]','2025-11-22T22:28:25.741Z',0,300.0,1,0,1.0,1,300.0,6.0); +INSERT INTO product_info VALUES(11,'Nagpur orange (pack 5)','Fresh oranges with juicy, sweet-tangy flesh and a refreshing citrus taste.','These oranges have a naturally juicy interior with a balanced sweet and tangy flavor. Though green on the outside, the flesh inside is bright, fresh, and full of citrus goodness. Ideal for everyday eating, fresh juice, or adding a refreshing twist to meals.',4,119.0,'["product-images/1768641635898-0"]','2025-11-22T22:30:28.878Z',0,150.0,2,0,1.0,1,150.0,5.0); +INSERT INTO product_info VALUES(12,'Lamb Mutton','','"Indulge in the rich, savory experience of our premium mutton. Sourced from the finest cuts, our muttons offers unparalleled tenderness and flavor. Whether you''re grilling a juicy steak, slow-cooking a tender roast, or creating a hearty stew, our mutton is the perfect choice for any culinary creation. Experience the difference quality makes – savor every delicious bite."',1,850.0,'["product-images/1764500702143-0","product-images/1764500702144-1"]','2025-11-30T05:35:04.520Z',1,870.0,1,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(13,'Amla (Gooseberry)','Fresh amla with a tangy, slightly sour taste and firm texture.','These fresh amlas are firm, tangy, and packed with natural goodness. Carefully selected for size and freshness, they’re perfect for eating raw, making juice, pickles, or adding to traditional recipes. A healthy fruit full of Vitamin C, with a natural bite and authentic flavor.',1,69.0,'["product-images/1768641988607-0"]','2025-11-30T05:46:29.900Z',0,79.0,2,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(14,'Mutton Boti (Goat Intestines)','Fresh mutton boti, rich in protein and iron, ideal for traditional curries and spicy dishes.','Freshly cleaned mutton boti sourced from healthy goats. Carefully washed and prepared for cooking traditional recipes like boti curry and spicy gravies. Rich in protein and iron, commonly used in regional cuisines. Cleaned hygienically and packed fresh.',1,389.0,'["product-images/1768834170995-0"]','2025-12-04T22:10:55.354Z',0,400.0,1,0,1.0,0,420.0,1.0); +INSERT INTO product_info VALUES(15,'Chicken Gizard','Fresh, cleaned chicken gizzards with a rich, meaty texture-ideal for curries, fry recipes, and traditional dishes.','Chicken gizzard is a flavorful and nutrient-rich cut known for its firm texture and deep taste. Carefully cleaned and hygienically packed, our gizzards are sourced fresh to ensure quality and freshness. Perfect for slow-cooked curries, spicy fries, stir-fries, and regional delicacies, chicken gizzard absorbs spices beautifully and delivers a hearty bite in every dish.',1,210.0,'["product-images/1768477813647-0","product-images/1768477813648-1"]','2025-12-06T12:35:43.241Z',1,250.0,1,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(16,'Arvi (Arbi) – Colocasia Root','Fresh arvi with soft texture when cooked, ideal for curries, fries, and dry sabzi.','Arvi, also known as colocasia or taro root, is a popular root vegetable used in many Indian dishes. When cooked properly, it becomes soft and creamy with a mildly nutty flavour. Arvi is commonly used in dry sabzis, gravies, and fried preparations. It absorbs spices well and pairs perfectly with both mild and spicy masalas. Naturally rich in dietary fiber and essential nutrients, arvi supports digestion and provides long-lasting energy. Freshly sourced and cleaned to ensure quality and taste. Must be washed and cooked thoroughly before consumption.',1,28.0,'["product-images/1769397372526-0"]','2025-12-12T03:09:59.286Z',0,33.0,4,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(17,'Tomato ','Healthy, tasty, and fresh tomatoes','Fresh, red, and juicy tomatoes to make your meals healthier and tastier.',1,28.0,'["product-images/1768640233068-0"]','2025-12-18T02:22:23.436Z',1,35.0,4,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(18,'Onions ','Fresh and flavorful onions for everyday cooking.','Healthy, fresh onions at the best quality and price',1,39.0,'["product-images/1769351976737-0"]','2025-12-18T03:37:08.849Z',0,45.0,4,0,1.0,1,39.0,1.0); +INSERT INTO product_info VALUES(19,'Potato','Fresh, healthy potatoes perfect for every dish.','A versatile vegetable every kitchen needs.',1,15.0,'["product-images/1768639707515-0"]','2025-12-18T03:40:28.496Z',0,19.0,4,0,1.0,1,19.0,0.5); +INSERT INTO product_info VALUES(20,'Mutton Head','Fresh mutton head rich in protein and collagen, ideal for traditional curries and soups.','Freshly sourced goat head, commonly used in traditional dishes and slow-cooked recipes. Contains head meat (sira) and bones that release rich flavor and collagen when cooked slowly. Popular in regional cuisines for its taste and nourishment. Cleaned thoroughly and packed hygienically.',4,379.0,'["product-images/1769353802270-0"]','2025-12-19T03:42:31.946Z',0,400.0,1,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(21,'Whole chicken - fresh cut','Fresh, tender whole chicken cleaned and cut hygienically for rich taste and high protein meals.','Our Whole Chicken is farm-fresh, carefully cleaned, and hygienically processed to lock in natural tenderness and flavor. Rich in protein and essential nutrients, it''s perfect for curries, roasting, grilling, or slow cooking. Delivered fresh to your doorstep, ensuring quality, taste, and nutrition in every bite.',1,559.0,'["product-images/1768539930897-0","product-images/1768539930899-1"]','2025-12-19T03:45:54.143Z',0,620.0,1,0,1.0,0,NULL,2.0); +INSERT INTO product_info VALUES(22,'Tuna Fish boneless ','Fresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.',replace('Fresh sea-caught tuna with firm texture and rich flavor. Suitable for curry preparations, steaks, grilling, and shallow frying. Naturally high in protein and omega-3 fatty acids, supporting muscle and heart health. Cleaned and cut hygienically to retain freshness.\nBrutal truth','\n',char(10)),1,469.0,'["product-images/1768834996932-0"]','2025-12-19T03:53:12.867Z',1,529.0,1,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(23,'Chicken ( regular cut )- Small pieces ','Fresh, bone-in chicken pieces ideal for making rich and flavorful curries.','Freshly cut, bone-in chicken pieces perfect for rich, flavorful curries. Cleaned and hygienically packed to lock in tenderness and taste for a delicious home-style meal every time.',1,145.0,'["product-images/1767635527063-0"]','2025-12-19T03:53:53.748Z',0,155.0,1,0,1.0,1,149.0,0.5); +INSERT INTO product_info VALUES(24,'Chicken boneless','Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.','Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.',1,215.0,'["product-images/1768484106870-0"]','2025-12-19T03:59:46.418Z',0,225.0,1,0,1.0,1,220.0,0.5); +INSERT INTO product_info VALUES(25,'White Dragon Fruit','Fresh white dragon fruit with mild sweetness and soft, juicy flesh.','This white dragon fruit is fresh, mildly sweet, and refreshing with soft white flesh and tiny edible seeds. Carefully selected for size and freshness, it’s ideal for eating fresh, adding to fruit bowls, or blending into smoothies. Light on taste, easy to digest, and perfect for everyday healthy eating.',4,119.0,'["product-images/1768649838027-0"]','2025-12-19T07:39:11.874Z',0,130.0,2,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(26,'Fig (Anjeer)','Fresh fig with a soft flesh and mild, naturally sweet flavor.','These fresh figs are soft, juicy, and mildly sweet with a delicate texture. Carefully selected to avoid overripeness, they’re best enjoyed fresh or paired with desserts and salads. A premium fruit meant to be eaten gently and enjoyed slowly.',1,78.0,'["product-images/1768640645444-0"]','2025-12-22T05:34:50.001Z',1,94.0,2,0,1.0,0,NULL,0.25); +INSERT INTO product_info VALUES(27,'Brinjal ','Fresh medium-sized brinjal, rich in fiber, low in calories, and ideal for everyday curries and fries.','Freshly harvested brinjal with smooth skin and tender flesh. Mild in taste and versatile in cooking, it is commonly used in curries, stir-fries, bharta, and gravies. Naturally rich in fiber and antioxidants, making it suitable for regular home cooking. Washed and packed hygienically.',1,24.0,'["product-images/1768639645423-0"]','2025-12-22T06:01:30.466Z',0,30.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(28,'Mutton Boneless ','Tender boneless mutton rich in protein, ideal for quick curries, fry, and kebabs.','Freshly cut boneless mutton pieces with minimal fat and strong natural flavour. Suitable for fast-cooking dishes such as gravies, stir-fries, kebabs, and biryani. High in protein and essential minerals, supporting strength and energy. Cleaned and packed hygienically to ensure freshness and quality.',1,855.0,'["product-images/1769356702593-0"]','2025-12-22T06:14:24.499Z',1,879.0,1,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(29,' Bottle Gourd (Lauki)','Fresh medium-sized bottle gourd, low in calories, high in water content, easy to digest, and ideal for healthy everyday cooking.','Fresh bottle gourd with smooth green skin and soft, tender flesh. Light in taste and easy to digest, it is widely used in Indian home cooking for curries, dals, soups, and juices. Naturally low in calories and rich in water content, making it suitable for daily meals. Handpicked for freshness and packed hygienically.',4,29.0,'["product-images/1768823985921-0"]','2025-12-22T06:15:31.316Z',0,32.0,4,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(30,' Bitter Gourd (Karela)','Fresh bitter gourd, known to help control blood sugar and support digestion.','Fresh bitter gourd with firm texture and deep green color. Widely used in Indian cooking for stir-fries, curries, and juices. Naturally low in calories and rich in fiber, vitamins, and antioxidants. Commonly consumed for its potential benefits in blood sugar management and digestion. Wash thoroughly before use.',1,34.0,'["product-images/1768726783083-0"]','2025-12-22T06:16:16.981Z',0,42.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(31,'Lady Finger (Okra / Bhindi)','Fresh tender lady finger, soft and non-fibrous, ideal for fries and curries.','Lady finger, also known as okra or bhindi, is a popular vegetable used in everyday Indian cooking. Tender lady finger has a soft texture and mild flavour, making it perfect for fries, stir-fries, curries, and gravies. When fresh, it cooks evenly without becoming too sticky. Rich in dietary fiber, vitamins, and antioxidants, it supports digestion and overall health. Carefully sourced and packed to maintain freshness and tenderness. Wash well and trim the ends before cooking.',1,25.0,'["product-images/1769574792720-0"]','2025-12-22T06:17:07.804Z',0,30.0,4,0,1.0,1,30.0,0.5); +INSERT INTO product_info VALUES(32,'Lemons ','Farm-fresh lemons with high juice content and natural tangy flavor. Perfect for daily cooking, juices, and salads.','Fresh, handpicked lemons known for their strong aroma, thin skin, and high juice yield. Ideal for nimbu pani, curries, marinades, chutneys, and garnishing. Carefully selected to ensure firmness, freshness, and bright yellow color. Stored and delivered with proper care to maintain natural taste and quality.',4,39.0,'["product-images/1766406273176-0","product-images/1766406273178-1"]','2025-12-22T06:54:35.209Z',0,45.0,4,0,1.0,1,45.0,6.0); +INSERT INTO product_info VALUES(33,'Small Methi / Baby Fenugreek Leaves','Fresh small methi leaves with a mild bitterness, perfect for everyday cooking and quick stir-fries.','Small methi, also known as baby fenugreek leaves, is a tender and flavorful leafy vegetable widely used in Indian kitchens. Compared to regular methi, these leaves are smaller, softer, and less bitter, making them ideal for curries, dal, parathas, and simple stir-fries. They cook quickly and blend well with spices without overpowering the dish. Small methi is naturally rich in fiber, iron, and essential nutrients that support digestion and overall health. Carefully cleaned and freshly sourced, these leaves bring authentic taste and freshness to your daily meals.',4,15.0,'["product-images/1769396046557-0"]','2025-12-22T06:55:49.838Z',0,20.0,4,0,1.0,0,NULL,8.0); +INSERT INTO product_info VALUES(34,' Mutton Boneless – Mini Pack','Tender boneless mutton, high in protein, easy to cook, ideal for quick curries and fry.','Freshly cut boneless mutton pieces with minimal fat, perfect for quick cooking dishes like stir-fries, gravies, and kebabs. High in protein and rich in flavor, this mini pack is ideal for small families or single meals. Cleaned and packed hygienically to ensure freshness.',1,465.0,'["product-images/1769356039418-0"]','2025-12-22T06:56:25.537Z',1,489.0,1,0,1.0,0,NULL,0.25); +INSERT INTO product_info VALUES(35,'Mutton kheema','Freshly minced premium mutton, finely ground for rich flavor and juicy texture—perfect for kebabs, keema curry, cutlets, and stuffing.','Our mutton mince is prepared from carefully selected fresh cuts, hygienically cleaned and finely minced to deliver bold, authentic flavor in every bite. It has the ideal fat balance to stay juicy while cooking, making it suitable for keema curry, seekh kebabs, koftas, samosas, and stuffed parathas. No additives, no preservatives—just pure, high-quality mutton processed under strict hygiene standards for consistent taste, texture, and freshness.',1,429.0,'["product-images/1767636561867-0"]','2025-12-24T22:43:30.811Z',0,450.0,1,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(36,'Chicken Leg With Thigh Pack of 3','Fresh chicken leg with thigh, cut from tender, juicy chicken. Rich in flavor, naturally succulent, and ideal for frying, roasting, grilling, and curries.',replace('Chicken leg with thigh is a flavorful cut taken from the lower and upper leg portion of the chicken, known for its juicy texture and rich taste. This cut retains moisture during cooking, making it perfect for deep frying, tandoori, grilling, roasting, and slow-cooked curries. Hygienically cleaned and neatly cut to ensure freshness and quality. High in protein and full of natural flavor, it delivers a satisfying, tender bite in every dish.\nIf this is for a premium app, we can refine the tone.\nIf it’s for mass-market, this is already more than enough.\nStop being unclear—next time, say where it will be used.','\n',char(10)),1,279.0,'["product-images/1768413754684-0"]','2025-12-24T22:44:23.272Z',0,299.0,1,0,1.0,1,299.0,1.0); +INSERT INTO product_info VALUES(37,'Drum sticks ','Rich in fiber, vitamins, supports digestion.','Fresh, tender moringa pods used in sambar, curries, and stir-fries.',4,59.0,'["product-images/1766636589779-0"]','2025-12-24T22:53:10.791Z',0,65.0,4,0,1.0,0,59.0,6.0); +INSERT INTO product_info VALUES(38,'Sapota (Chikoo)','Fresh sapota with a soft texture and naturally sweet, malty flavor.','This sapota is fresh, ripe, and naturally sweet with a soft, grainy texture. Selected for good ripeness and flavor, it’s perfect for eating as it is or adding to desserts and milkshakes. A classic fruit with a rich taste and satisfying bite.',1,76.0,'["product-images/1768640403001-0"]','2025-12-24T22:53:56.874Z',0,85.0,2,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(39,'Mango','Fresh seasonal mangoes with juicy flesh and natural sweetness.','These mangoes are fresh, ripe, and full of natural sweetness with juicy, flavorful flesh. Carefully selected for ripeness and quality, they’re perfect for eating fresh, making juices, smoothies, or desserts. A seasonal favorite that brings rich taste and aroma to every bite.',1,149.0,'["product-images/1768650081183-0"]','2025-12-24T22:55:16.935Z',1,169.0,2,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(40,'Chicken (regular cut) Large pieces ','Fresh chicken curry cut with large pieces, high in protein and ideal for rich gravies and slow cooking.','Fresh broiler chicken cut into large curry-sized pieces for hearty home-style cooking. Ideal for slow-cooked curries, biryanis, and gravies where bigger pieces retain juiciness and flavor. High in protein and prepared hygienically to ensure freshness and quality.',1,145.0,'["product-images/1767637606890-0"]','2026-01-05T12:56:48.180Z',0,155.0,1,0,1.0,1,149.0,0.5); +INSERT INTO product_info VALUES(41,'Chicken mince/kheema 500 g','Fresh, lean chicken mince made from premium chicken meat. Finely ground, high in protein, low in fat—perfect for kebabs, cutlets, burgers, curries, and wraps.',replace('Our chicken mince is prepared from carefully selected, fresh chicken meat and finely ground to achieve a smooth, consistent texture. It is naturally lean, rich in high-quality protein, and free from added preservatives, fillers, or artificial colors.\nThis mince cooks quickly and absorbs spices exceptionally well, making it ideal for a wide range of dishes—from juicy kebabs, patties, and meatballs to flavorful curries, stuffed parathas, and wraps. Every batch is hygienically processed and packed to retain freshness, flavor, and nutritional value.\nIf you’re serious about clean eating, muscle-friendly meals, or simply better taste, this chicken mince does the job without compromises.','\n',char(10)),1,215.0,'["product-images/1768307047191-0"]','2026-01-13T06:54:08.959Z',0,225.0,1,0,1.0,1,219.0,0.5); +INSERT INTO product_info VALUES(42,'Chicken Breast Boneless - Mini Pack','Fresh boneless chicken breast mini pack. Lean, tender, and high in protein—perfect for quick meals, salads, grilling, and stir-fries.','Our boneless chicken breast mini pack is made from premium, skinless chicken breast, carefully trimmed and hygienically processed. This cut is lean, low in fat, and rich in protein, making it ideal for healthy cooking. The mini pack size is perfect for small households or single meals, ensuring minimal waste and maximum freshness. Suitable for grilling, pan-frying, boiling, salads, wraps, and meal prep recipes. Free from added preservatives and artificial colors.',1,139.0,'["product-images/1768393778962-0"]','2026-01-14T06:59:39.928Z',0,150.0,1,0,1.0,1,160.0,0.25); +INSERT INTO product_info VALUES(43,'Strawberry ','Fresh, juicy strawberries with a natural sweetness and soft bite. Handpicked for vibrant color, rich aroma, and everyday freshness.','Bright red, naturally sweet, and bursting with juice — these strawberries are selected at peak ripeness for their bold flavor and smooth texture. Perfect for desserts, smoothies, or eating straight from the box.',1,135.0,'["product-images/1768638795991-0"]','2026-01-17T03:03:16.953Z',1,160.0,2,0,1.0,0,NULL,0.2); +INSERT INTO product_info VALUES(44,'Kinu Oranges (pack of 5)','Fresh, juicy oranges with a natural balance of sweetness and tang. Perfect for snacking or fresh juice.','These oranges are naturally juicy, refreshing, and full of real citrus flavor. Grown and picked at the right time, they have a firm peel, bright color, and a sweet-tangy taste inside. Ideal for everyday eating, fresh juice, or adding a fresh citrus touch to your meals.',4,119.0,'["product-images/1768639090932-0"]','2026-01-17T03:08:11.731Z',0,130.0,2,0,1.0,1,NULL,5.0); +INSERT INTO product_info VALUES(45,replace('Tomato\n','\n',char(10)),replace('Indian Tomato\n\nJuicy, tangy & ideal for all Indian curries\n500 g','\n',char(10)),'',1,15.0,'["product-images/1768639292540-0"]','2026-01-17T03:11:32.838Z',0,20.0,4,0,1.0,1,20.0,1.0); +INSERT INTO product_info VALUES(46,'Pomegranate ','Fresh pomegranate with deep red seeds and a naturally sweet-tangy taste.','This pomegranate is fresh, juicy, and full of vibrant red seeds with a balanced sweet and slightly tangy flavor. Carefully selected for firmness and freshness, it’s perfect for eating on its own, adding to salads, or using in fresh juice. No artificial shine — just real fruit with real taste.',4,109.0,'["product-images/1768639705530-0"]','2026-01-17T03:18:26.329Z',0,130.0,2,0,1.0,1,NULL,3.0); +INSERT INTO product_info VALUES(47,'Green Apple (pack 2) ','Crisp green apples with a tangy-sweet taste and firm, juicy texture.','These green apples are fresh, firm, and naturally crisp with a tangy-sweet flavor. Handpicked for quality and freshness, they’re perfect for snacking, making salads, or juicing. A refreshing fruit that adds a burst of natural flavor to any meal or snack.',4,119.0,'["product-images/1768642455479-0"]','2026-01-17T04:04:16.269Z',0,130.0,2,0,1.0,1,NULL,2.0); +INSERT INTO product_info VALUES(48,'Guava (Jama Kaya)','Fresh guavas with a sweet-tangy flavor and crisp, juicy texture.','These guavas are fresh, firm, and packed with natural sweetness and tang. Carefully selected for ripeness and flavor, they’re perfect for eating raw, adding to salads, or making juice. A nutritious fruit that’s rich in vitamins and refreshing in every bite.',1,55.0,'["product-images/1768642724520-0"]','2026-01-17T04:08:44.824Z',0,68.0,2,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(49,'Pear','Fresh pears with soft, juicy texture and a naturally sweet flavor.','These fresh pears are firm yet tender, naturally juicy, and mildly sweet. Handpicked for quality and ripeness, they’re perfect for eating as-is, adding to fruit salads, or using in desserts. A refreshing fruit that balances sweetness and softness in every bite.',4,119.0,'["product-images/1768643138910-0"]','2026-01-17T04:15:39.802Z',1,159.0,2,0,1.0,1,NULL,4.0); +INSERT INTO product_info VALUES(50,'Alu Bukhara (Plum / Prunes)','Fresh plums (Alu Bukhara) with a juicy, sweet‑tart flavor, perfect for snacking or making chutneys and juices.','Alu Bukhara refers to ripe plums with rich, juicy flesh and a natural sweet‑tart taste. These plums are refreshing and flavorful, great for eating fresh or using in chutneys, jams, and traditional dishes. When dried, they’re also known as prunes — a nutritious, fiber‑rich snack with long shelf life. Packed with vitamins and antioxidants, they’re a wholesome addition to your fruit selection. ',4,119.0,'["product-images/1768643354251-0"]','2026-01-17T04:19:14.555Z',0,128.0,2,0,1.0,0,NULL,4.0); +INSERT INTO product_info VALUES(51,'Shahtoot (Mulberry)','Fresh mulberries with a naturally sweet flavor and juicy, soft texture.','These fresh mulberries are ripe, juicy, and naturally sweet with a delicate texture. Perfect for snacking, smoothies, desserts, or topping cereals and salads. Carefully selected for freshness and flavor, mulberries are also packed with vitamins and antioxidants, making them a healthy and delicious choice.',1,169.0,'["product-images/1768646295695-0"]','2026-01-17T05:08:16.491Z',1,180.0,2,0,1.0,0,NULL,0.25); +INSERT INTO product_info VALUES(52,'Sugarcane','Fresh sugarcane stalks with natural sweetness, juicy and perfect for chewing or juice extraction.','These sugarcane stalks are fresh, juicy, and naturally sweet. Perfect for chewing directly or extracting fresh sugarcane juice at home. Carefully selected for quality and ripeness, sugarcane provides a refreshing, natural source of energy and flavor.',4,29.0,'["product-images/1768646744949-0"]','2026-01-17T05:15:45.254Z',1,40.0,2,0,1.0,0,NULL,2.0); +INSERT INTO product_info VALUES(53,'Hass Avocado','Creamy Hass avocados with rich, buttery texture and mild, nutty flavor.','Hass avocados are known for their distinct creamy texture and mild, nutty flavor. With thick, bumpy skin that darkens as it ripens, these avocados offer smooth, rich green flesh perfect for salads, smoothies, sandwiches, or spreads like guacamole. Packed with healthy fats, fiber, and essential vitamins, they’re a nutritious addition to any diet. Treat them gently and ripen at room temperature for best taste and texture.',4,239.0,'["product-images/1768646932088-0"]','2026-01-17T05:18:52.342Z',0,250.0,2,0,1.0,0,NULL,2.0); +INSERT INTO product_info VALUES(54,'Blueberry','Fresh blueberries with a sweet-tart flavor, juicy texture, and rich purple color.','These fresh blueberries are plump, juicy, and naturally sweet-tart with deep purple color. Perfect for snacking, adding to cereals, desserts, or smoothies. Packed with antioxidants, vitamins, and flavor, blueberries are a nutritious and premium fruit choice. Handle carefully as they’re delicate and perishable.',1,280.0,'["product-images/1768649454994-0"]','2026-01-17T06:00:55.308Z',0,310.0,2,0,1.0,0,NULL,0.15); +INSERT INTO product_info VALUES(55,'Muscat Grapes','Fresh seasonal mangoes with juicy flesh and natural sweetness.','These mangoes are fresh, ripe, and full of natural sweetness with juicy, flavorful flesh. Carefully selected for ripeness and quality, they’re perfect for eating fresh, making juices, smoothies, or desserts. A seasonal favorite that brings rich taste and aroma to every bite.',1,69.0,'["product-images/1768650709484-0"]','2026-01-17T06:21:49.844Z',1,80.0,2,0,1.0,0,NULL,0.25); +INSERT INTO product_info VALUES(56,'Muskmelon (Kharbuja)','For bigger-sized muskmelon, choose the 1 kg option.','This fresh muskmelon (kharbuja) has a naturally sweet aroma and soft, juicy orange flesh. Carefully selected for ripeness, it’s refreshing, hydrating, and perfect for eating fresh, fruit salads, or summer juices. Best enjoyed chilled for maximum sweetness and flavor.',1,67.0,'["product-images/1768651334320-0"]','2026-01-17T06:32:14.675Z',0,72.0,2,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(57,'Pineapple','Note: This is a medium-size pineapple.','This fresh pineapple is naturally juicy with a sweet and slightly tangy flavor. Selected for ripeness and freshness, it’s perfect for eating fresh, juices, salads, and desserts. Best enjoyed chilled for maximum taste.',4,59.0,'["product-images/1768651774899-0"]','2026-01-17T06:39:35.228Z',1,69.0,2,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(58,'Papaya','Note: This is a medium-size papaya.','This fresh papaya is naturally soft, mildly sweet, and easy to digest. Carefully selected for ripeness, it’s ideal for eating fresh, fruit bowls, smoothies, or breakfast plates. Best consumed ripe for smooth texture and better taste.',4,59.0,'["product-images/1768652061701-0"]','2026-01-17T06:44:22.034Z',0,75.0,2,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(59,'Watermelon','Add 1kg if you want watermelon in big size','This fresh watermelon has bright red, juicy flesh with natural sweetness and high water content. Perfect for summer refreshment, fruit salads, juices, or eating chilled. Carefully selected for freshness and firmness.',1,98.0,'["product-images/1768653009851-0"]','2026-01-17T07:00:10.168Z',0,110.0,2,0,1.0,1,NULL,2.5); +INSERT INTO product_info VALUES(60,'Green Grapes','Supports immunity, provides natural energy, and is rich in antioxidants.','These fresh green grapes are handpicked for firm texture and sweet, juicy flavor. Perfect for snacking, fruit salads, juices, or desserts, they’re packed with vitamins and antioxidants. Carefully stored to maintain freshness from farm to table.',1,69.0,'["product-images/1768653997561-0"]','2026-01-17T07:16:37.967Z',0,79.0,2,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(61,'Red Globe Grapes','High in antioxidants, supports immunity, and provides natural energy. Seeded','These Red Globe grapes are large, plump, and naturally sweet with firm, juicy flesh. Carefully selected for size and freshness, they’re perfect for snacking, fruit salads, desserts, or making fresh juice. Packed with vitamins and antioxidants, Red Globe grapes are a healthy and premium choice for everyday consumption.',1,99.0,'["product-images/1768654475850-0"]','2026-01-17T07:24:36.247Z',1,119.0,2,0,1.0,1,NULL,0.25); +INSERT INTO product_info VALUES(62,'Black beauty Grapes','Supports immunity, rich in antioxidants, and provides natural energy.','These black grapes are handpicked for firm texture, juiciness, and natural sweetness. Perfect for snacking, fruit salads, desserts, or making fresh juice. Rich in vitamins and antioxidants, they’re a healthy and refreshing fruit for everyday consumption.',1,99.0,'["product-images/1768654740988-0"]','2026-01-17T07:29:01.488Z',0,110.0,2,0,1.0,1,NULL,0.25); +INSERT INTO product_info VALUES(63,'Pink Dragon Fruit','Boosts immunity, rich in antioxidants, supports digestion, and provides natural energy.','This pink dragon fruit is fresh, juicy, and mildly sweet with soft flesh and tiny edible seeds. Carefully selected for ripeness and quality, it’s perfect for eating fresh, adding to fruit bowls, smoothies, or desserts. Exotic in appearance, nutritious, and rich in antioxidants.',4,269.0,'["product-images/1768658094891-0"]','2026-01-17T08:24:55.423Z',1,289.0,2,0,1.0,1,NULL,2.0); +INSERT INTO product_info VALUES(64,'Broccoli',replace('Note: This is a medium-size broccoli.\nRich in fiber and vitamins, supports digestion and overall nutrition.','\n',char(10)),'This fresh broccoli is crisp, green, and carefully selected for firmness and freshness. Ideal for stir-fries, salads, soups, or steaming. Mild in taste and versatile in cooking, it’s best used fresh for good texture and flavor.',4,69.0,'["product-images/1768709567040-0"]','2026-01-17T22:42:48.248Z',0,76.0,4,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(65,'Beetroot','Supports blood health, rich in fiber, and helps maintain energy levels.','This fresh beetroot is firm, clean, and naturally rich in color. Carefully selected for freshness, it’s ideal for cooking, salads, juices, and curries. Mildly sweet when cooked and earthy in flavor, beetroot is a versatile vegetable used in everyday meals.',1,28.0,'["product-images/1768710434326-0"]','2026-01-17T22:57:14.620Z',0,35.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(66,'Cabbage(Patta Gobhi)',replace('Note: This is a medium-size cabbage.\nRich in fiber, supports digestion, and low in calories.','\n',char(10)),'This fresh green cabbage is medium-sized, firm, and tightly packed with pale green leaves. It has a mild flavor and crunchy texture, making it ideal for curries, stir-fries, salads, soups, and fried snacks. Carefully selected for freshness and cleanliness, this cabbage is suitable for everyday cooking.',4,27.0,'["product-images/1768710760133-0"]','2026-01-17T23:02:40.448Z',0,35.0,4,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(67,'Cauliflower(Phool Gobhi)',replace('Note: This is a medium-size cauliflower.\nHigh in fiber and vitamin C, supports digestion and immunity.','\n',char(10)),'This fresh medium-sized cauliflower has compact, creamy-white florets and crisp green leaves. Carefully selected for firmness and freshness, it is ideal for curries, stir-fries, fried snacks, soups, and biryani-style dishes. Clean and naturally grown, suitable for daily home cooking.',4,28.0,'["product-images/1768711261174-0"]','2026-01-17T23:11:02.227Z',0,32.0,4,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(68,'Sweet Potato','High in fiber, supports digestion, and provides natural energy.','These medium-sized red sweet potatoes have smooth skin and pale, creamy flesh with a mildly sweet taste. Ideal for boiling, roasting, frying, and traditional Indian dishes, they cook evenly and remain soft inside. Carefully selected for freshness and quality, suitable for daily home cooking.',1,32.0,'["product-images/1768711919135-0"]','2026-01-17T23:21:59.416Z',0,34.0,4,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(69,'Carrot','Rich in vitamin A, supports eye health and immunity.','These fresh medium-sized carrots are firm, smooth-skinned, and bright in color. They have a crisp texture and mildly sweet taste, making them perfect for salads, curries, stir-fries, juices, and snacks. Carefully selected for freshness and quality, suitable for everyday cooking.',1,29.0,'["product-images/1768712093829-0"]','2026-01-17T23:24:54.154Z',0,35.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(70,'White Radish(Mooli)','Aids digestion, rich in fibre, supports gut health.','Fresh white radish (mullangi) is crisp, juicy, and naturally pungent with a refreshing bite. Ideal for sambar, curries, stir-fries, salads, and chutneys. Carefully sourced to ensure firmness, clean skin, and freshness for daily home cooking.',4,19.0,'["product-images/1768712490280-0"]','2026-01-17T23:31:30.647Z',0,25.0,4,0,1.0,0,NULL,2.0); +INSERT INTO product_info VALUES(71,replace('Curry Leaves(Karivepak)\n','\n',char(10)),replace('1 bunch\nAdds aroma, supports digestion, and enhances flavour in cooking.','\n',char(10)),'These fresh curry leaves are aromatic, clean, and deep green in colour. Carefully selected to enhance flavour, they are essential for tempering and everyday South Indian cooking. Best used fresh for maximum aroma and taste.',4,15.0,'["product-images/1768713206145-0"]','2026-01-17T23:43:26.487Z',0,22.0,4,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(72,'Spinach (Palak)','Rich in iron, supports blood health, and boosts immunity.','Fresh spinach (palak) leaves are medium-sized, crisp, and bright green. Carefully selected for freshness, they are ideal for curries, soups, smoothies, salads, and dals. Best consumed fresh to retain nutrients, flavor, and texture.',4,12.0,'["product-images/1768713537512-0"]','2026-01-17T23:48:57.829Z',0,15.0,4,0,1.0,1,15.0,7.0); +INSERT INTO product_info VALUES(73,'Coconut','Rich in natural electrolytes, supports hydration, and provides energy.','This fresh medium-sized coconut is carefully selected for quality and freshness. Ideal for drinking tender coconut water, making coconut milk, chutneys, desserts, or cooking. Naturally nutritious and rich in flavor, it’s perfect for daily home use.',4,59.0,'["product-images/1768718685357-0"]','2026-01-17T23:51:54.586Z',0,79.0,2,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(74,'Fenugreek Leaves(Methi)','Rich in vitamins, supports digestion, and enhances flavor in cooking.','These fresh fenugreek leaves (methi) are medium-sized, aromatic, and vibrant green. Carefully selected for freshness, they are ideal for curries, parathas, dals, and seasoning. Best used fresh to retain aroma, flavor, and nutritional value.',4,15.0,'["product-images/1768713886512-0"]','2026-01-17T23:54:47.138Z',0,19.0,4,0,1.0,0,19.0,10.0); +INSERT INTO product_info VALUES(75,'Murrel / Korameenu / కోరమీను - Live','Fresh murrel fish, high in protein, known for aiding recovery and boosting strength.',' Fresh freshwater murrel fish (snakehead) known for its firm flesh and rich taste. Highly valued in Indian households for its nutritional benefits, especially during recovery and post-illness diets. Rich in protein and essential nutrients. Ideal for curries and traditional preparations. Cleaned and packed hygienically to retain freshness.',1,489.0,'["product-images/1768817786453-0","product-images/1768817786455-1"]','2026-01-18T00:08:16.173Z',0,550.0,1,0,1.0,0,600.0,1.0); +INSERT INTO product_info VALUES(76,'Coriander Leaves (Kothimeer)','Fresh coriander leaves with a strong aroma, perfect for garnishing and cooking.','Freshly harvested coriander leaves with tender stems and vibrant green color. Widely used in Indian cooking for garnishing curries, chutneys, salads, and rice dishes. Adds a refreshing flavor and aroma to everyday meals. Wash thoroughly before use.',4,19.0,'["product-images/1768727264220-0"]','2026-01-18T03:37:45.047Z',0,25.0,4,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(77,'Gongura (Sorrel Leaves)','Fresh gongura leaves with a natural tangy taste, perfect for traditional Andhra dishes and chutneys.','Gongura, also known as sorrel leaves, is a popular leafy vegetable widely used in Andhra and Telangana cuisine. Known for its unique sour and refreshing flavour, gongura adds a distinctive taste to dals, curries, chutneys, and pickles. The leaves are tender and aromatic, making them ideal for both cooking and grinding. Naturally rich in iron, antioxidants, and essential vitamins, gongura supports digestion and overall health. Freshly sourced and carefully cleaned to retain its natural taste and quality. Wash thoroughly before use and cook fresh for the best flavour.',4,12.0,'["product-images/1769396724595-0"]','2026-01-18T08:56:30.867Z',0,15.0,4,0,1.0,0,15.0,6.0); +INSERT INTO product_info VALUES(78,'Green Chillies','Fresh green chillies rich in vitamin C, add heat and flavor to everyday cooking.',' Fresh green chillies with bright green color and firm texture. Commonly used in Indian cooking to add spice and aroma to curries, stir-fries, chutneys, and snacks. Naturally rich in vitamin C and antioxidants. Wash thoroughly before use. Packed fresh for daily kitchen needs.',1,29.0,'["product-images/1769241234003-0"]','2026-01-18T09:03:36.108Z',0,32.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(79,'Red Carrot ','Big-sized red carrots with natural sweetness, ideal for salads, juices, and cooking.','Fresh big-sized red carrots with deep red color and firm texture. Naturally sweet and juicy, these carrots are rich in beta-carotene, fiber, and antioxidants. Perfect for raw salads, juices, halwa, soups, and everyday cooking. Carefully selected for size and freshness, cleaned and packed hygienically.',1,39.0,'["product-images/1768822893380-0"]','2026-01-19T06:11:34.210Z',1,47.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(80,'Country Chicken (Desi / Natu Kodi)','Fresh country chicken, high in protein and rich in natural flavor, ideal for traditional slow-cooked dishes.','Freshly sourced country chicken known for its firm texture and strong taste. Preferred for traditional curries, soups, and slow-cooked recipes. Naturally high in protein and considered more nutritious than broiler chicken. Cleaned and cut hygienically for safe cooking.',1,849.0,'["product-images/1769063336125-0"]','2026-01-22T00:58:57.053Z',0,920.0,1,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(81,'Tigers prawns large ','Premium tiger prawns rich in protein and omega-3, ideal for grilling, frying, and special dishes.','Fresh premium tiger prawns known for their large size, firm texture, and rich taste. Perfect for grilling, frying, curries, and restaurant-style recipes. High in protein and omega-3 fatty acids, supporting muscle and heart health. Available cleaned or uncleaned and packed hygienically to maintain freshness.',1,669.0,'["product-images/1769063467386-0"]','2026-01-22T01:01:08.364Z',1,700.0,1,0,1.0,0,NULL,0.65); +INSERT INTO product_info VALUES(82,'Fresh Prawns – Medium (Cleaned & Deveined)','High in protein and omega-3, supports muscle growth and heart health.','Fresh prawns with firm texture and natural sweetness. Ideal for curries, fry, grills, and Asian-style dishes. Rich in protein and omega-3 fatty acids, supporting muscle and heart health. Available cleaned or uncleaned and packed hygienically to maintain freshness.',1,389.0,'["product-images/1769063660493-0"]','2026-01-22T01:04:21.712Z',0,419.0,1,0,1.0,1,NULL,0.65); +INSERT INTO product_info VALUES(83,'Rohu- రోహు live ','Fresh rohu fish rich in protein and omega-3, ideal for everyday curries and home cooking.','Freshwater rohu fish with soft texture and mild flavor, widely used in Indian households for daily meals. Suitable for curry preparations and light frying. Naturally rich in protein and omega-3 fatty acids, supporting muscle health and balanced nutrition. Cleaned and cut hygienically to ensure freshness and quality.',1,159.0,'["product-images/1769149204037-0"]','2026-01-23T00:50:05.311Z',1,180.0,1,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(84,'Mutton Brain (Bheja). మటన్ బ్రెయిన్ (భేజా)','Fresh mutton brain, rich in healthy fats and protein, ideal for traditional bheja fry and curries.','Freshly sourced mutton brain (bheja) from healthy goats. Known for its soft texture and rich taste, it is commonly used in traditional dishes like bheja fry and masala. Rich in healthy fats and nutrients. Cleaned carefully and packed hygienically to maintain freshness.',4,119.0,'["product-images/1769149707440-0"]','2026-01-23T00:56:40.140Z',0,130.0,1,0,1.0,0,NULL,1.0); +INSERT INTO product_info VALUES(85,'Mutton Paya (Goat Trotters)','Fresh mutton paya rich in collagen and minerals, ideal for nourishing paya soup.','Freshly cleaned mutton paya (goat trotters) commonly used to prepare traditional paya soup. When slow-cooked, paya releases natural collagen and minerals, making the soup rich, flavorful, and nourishing. Popular for strength recovery and home-style remedies. Cleaned thoroughly and packed hygienically for freshness.',4,259.0,'["product-images/1769150471654-0","product-images/1769150471655-1"]','2026-01-23T01:11:12.693Z',0,270.0,1,0,1.0,0,NULL,4.0); +INSERT INTO product_info VALUES(86,'Mutton Chops - మటన్ చాప్స్','Fresh mutton chops, rich in protein and iron, ideal for curries and slow cooking.','Fresh mutton chops cut from tender sections with bone, known for rich flavor and juiciness. Perfect for slow-cooked curries, gravies, and traditional dishes where bone enhances taste. High in protein and iron, supporting strength and energy. Cleaned and cut hygienically for freshness.',1,419.0,'["product-images/1769151216776-0"]','2026-01-23T01:23:37.665Z',0,440.0,1,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(87,'Mutton Soup Bones -మటన్ సూప్ ఎముకలు','Fresh mutton soup bones rich in collagen and minerals, ideal for nourishing soups and broths.',' Fresh mutton soup bones cut from healthy goat meat, perfect for preparing rich and flavorful soups and bone broths. Slowly cooked bones release natural collagen, minerals, and nutrients, making them ideal for strength recovery and traditional home remedies. Cleaned hygienically and packed fresh for daily cooking.',1,149.0,'["product-images/1769151844424-0"]','2026-01-23T01:34:05.440Z',0,179.0,1,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(88,'Purple Cabbage (Red Cabbage)',replace('Medium-sized purple cabbage\nFresh purple cabbage rich in antioxidants and fiber, supports digestion and immunity.','\n',char(10)),'Fresh purple (red) cabbage with crisp texture and vibrant color. Commonly used in salads, stir-fries, slaws, and garnishing. Naturally rich in antioxidants, fiber, and vitamin C, helping support digestion and overall health. Wash thoroughly before use. Packed fresh for daily cooking.',4,99.0,'["product-images/1769394457296-0"]','2026-01-25T20:57:37.763Z',0,110.0,4,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(89,'Light Purple Brinjal','Fresh light purple brinjal rich in fiber and antioxidants, ideal for curries and fries.','Fresh light purple brinjal with smooth skin and tender flesh, handpicked for everyday cooking. This variety cooks quickly and absorbs spices well, making it perfect for curries, fries, bharta, and stir-fried dishes. Mild in taste and easy to digest, it is a regular choice in Indian kitchens. Rich in fiber and antioxidants, it supports digestion and overall health. Wash thoroughly before use. Best used fresh for maximum taste and texture.',1,25.0,'["product-images/1769395184980-0"]','2026-01-25T21:09:46.227Z',0,30.0,4,0,1.0,0,30.0,0.5); +INSERT INTO product_info VALUES(90,'Indian Yellow Cucumber (Madras / Dosakai)','Fresh Indian yellow cucumber, also known as Madras cucumber, mild and crisp, perfect for salads, pickles, and cooking.','Indian yellow cucumber, also called Madras cucumber, is a rare and vibrant variety with tender yellow skin and crisp, juicy flesh. Favored in Indian kitchens, it is perfect for fresh salads, traditional pickles, or lightly cooked curries. Naturally rich in fiber, vitamins, and antioxidants, it promotes digestion and overall wellness. Carefully harvested and packed to retain freshness, this cucumber delivers mild sweetness and a refreshing crunch to everyday meals. Wash thoroughly before use and consume fresh for maximum taste.',1,27.0,'["product-images/1769398103853-0"]','2026-01-25T21:58:24.668Z',0,29.0,4,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(91,'Green Peas','Fresh green peas with natural sweetness, ideal for curries, pulao, and snacks.','Fresh green peas, carefully harvested for their sweetness, tenderness, and bright green color. Perfect for adding to Indian curries, pulao, stir-fries, soups, and snacks. Rich in protein, fiber, vitamins, and minerals, green peas support digestion and overall health. Available fresh or shelled for convenience, these peas are packed to retain their crisp texture and natural flavor. Wash thoroughly before use and cook fresh for the best taste.',1,39.0,'["product-images/1769398710713-0"]','2026-01-25T22:08:31.554Z',1,44.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(92,'French Beans (Chikkudukaya)','Fresh Benis with crisp texture, ideal for stir-fries, curries, and salads.','Fresh Benis, also known as French beans or cluster beans, are tender and crisp vegetables widely used in Indian cooking. Perfect for stir-fries, curries, and salads, these beans cook quickly and absorb spices well. Naturally rich in fiber, vitamins, and minerals, Benis supports digestion and overall wellness. Carefully handpicked and packed to retain freshness, these beans bring color, crunch, and nutrition to your daily meals. Wash thoroughly before cooking.',1,36.0,'["product-images/1769399617573-0"]','2026-01-25T22:23:38.391Z',0,40.0,4,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(93,'Red & Yellow Capsicum (Bell Peppers)','Fresh red and yellow capsicum with crisp texture and mild sweetness, perfect for cooking and salads.','Red and yellow capsicum, also known as bell peppers, are vibrant, crunchy vegetables with a naturally mild and slightly sweet flavour. Commonly used in stir-fries, curries, salads, and continental dishes, these capsicums add colour and nutrition to meals. Rich in vitamin C, antioxidants, and dietary fiber, they help support immunity and overall health. Carefully selected and packed to maintain freshness, firmness, and bright colour. Wash thoroughly and cut as required before use.',1,89.0,'["product-images/1769571126092-0"]','2026-01-27T22:02:07.050Z',0,96.0,4,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(94,'Gawar Beans (Cluster Beans)','Fresh tender gawar beans, ideal for stir-fries, curries, and traditional dishes.','Gawar beans, also known as cluster beans, are a traditional vegetable widely used in Indian cooking. These tender green pods have a slightly earthy flavour and firm texture, making them perfect for stir-fries, dry sabzis, curries, and dals. Rich in dietary fiber, vitamins, and minerals, gawar beans support digestion and help maintain blood sugar balance. Carefully sourced and packed to retain freshness, tenderness, and natural colour. Wash thoroughly, trim ends, and cook well before consumption.',1,29.0,'["product-images/1769571810861-0"]','2026-01-27T22:13:31.656Z',0,35.0,4,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(95,'Dondakaya (Ivy Gourd)','Fresh tender ivy gourd, ideal for fries, stir-fries, and curries.',replace('Long Description (human-written, not robotic)\nIvy gourd, commonly known as tindora or dondakaya, is a popular vegetable used in daily Indian cooking. These small green gourds have a mild taste and firm texture that works perfectly for shallow frying, stir-fries, and traditional curries. Tender ivy gourd cooks quickly and absorbs spices well without turning mushy. It is naturally low in calories and rich in fiber, making it suitable for light and healthy meals. Carefully selected to ensure freshness, uniform size, and good cooking quality.','\n',char(10)),1,29.0,'["product-images/1769571978680-0"]','2026-01-27T22:16:18.992Z',0,35.0,4,0,1.0,1,NULL,0.5); +INSERT INTO product_info VALUES(96,'Pineapple – Large','Large-sized fresh pineapple with juicy, sweet-tangy flesh.','This large pineapple is carefully selected for size and ripeness, offering juicy golden flesh with a naturally sweet and mildly tangy taste. Perfect for fresh juices, fruit salads, desserts, and cooking, it delivers more pulp and better value. Ideal for families or recipes that need a generous quantity of fresh pineapple.',4,109.0,'["product-images/1769576743718-0"]','2026-01-27T23:35:44.520Z',0,120.0,2,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(97,'Pudina (Mint Leaves)','Fresh aromatic mint leaves, ideal for chutneys, curries, and drinks.','Pudina, also known as mint leaves, is a fragrant herb widely used in Indian cooking. Its refreshing aroma and cooling taste make it perfect for chutneys, raitas, biryani, curries, and beverages like mint water and mojito. Carefully selected for freshness, these tender green leaves add both flavor and aroma to everyday dishes and are best used fresh.',4,19.0,'["product-images/1769577010969-0"]','2026-01-27T23:40:11.263Z',0,25.0,4,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(98,'Mutton Curry Cut (Regular)– 500 g','Fresh mutton curry cut with bone, suitable for everyday curries.','Mutton curry cut (regular) includes a balanced mix of bone and meat, making it ideal for everyday home-style curries and gravies. Cut from fresh goat meat, these pieces cook well in slow and pressure-cooked dishes, releasing rich flavour into the gravy. Cleaned and cut hygienically, this pack is suitable for regular family meals.',1,419.0,'["product-images/1770051810386-0"]','2026-02-02T11:33:31.411Z',0,459.0,1,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(99,'Mutton Curry Cut (Regular) – 750 g','Fresh mutton curry cut with bone, ideal for family-sized curries.','Mutton curry cut (regular) – 750 g includes a well-balanced mix of bone and meat, perfect for preparing rich and flavorful curries. Cut from fresh goat meat, these pieces are suitable for slow cooking and pressure cooking, allowing the meat to turn tender while enhancing the taste of the gravy. Cleaned and cut hygienically, this pack is ideal for medium to large family meals.',1,635.0,'["product-images/1770051959669-0"]','2026-02-02T11:36:00.205Z',0,660.0,1,0,1.0,0,NULL,0.75); +INSERT INTO product_info VALUES(100,'Irani Apple. Pack of (4)','Fresh Irani apples with crisp texture and mildly sweet taste.','Irani apples, also known as Iranian apples, are known for their firm texture, long shelf life, and mildly sweet flavor. These apples are crisp and juicy, making them suitable for fresh consumption, fruit salads, and juicing. Carefully selected for quality and freshness, Irani apples are a popular everyday fruit choice due to their balanced taste and good keeping quality. Wash thoroughly before consumption.',4,99.0,'["product-images/1770212631435-0"]','2026-02-04T08:13:52.295Z',0,119.0,2,0,1.0,1,NULL,4.0); +INSERT INTO product_info VALUES(101,'Coriander Leaves (Kothimeer) small 1 ','','',4,12.0,'["product-images/1771249922306-0"]','2026-02-16T08:22:03.573Z',0,15.0,4,0,1.0,1,NULL,1.0); +INSERT INTO product_info VALUES(102,' Basa Fish Fillets','','',1,499.0,'["product-images/1771411526889-0"]','2026-02-18T05:15:27.907Z',0,550.0,1,0,1.0,1,NULL,0.8); +INSERT INTO product_info VALUES(103,'Ridge Gourd (Turai) ..(Beerkaya)','','',1,29.0,'["product-images/1771647812442-0"]','2026-02-20T22:53:33.321Z',0,35.0,4,0,1.0,0,NULL,0.5); +INSERT INTO product_info VALUES(104,'Green grape fresh juice','Refreshing juice made from freshly crushed sweet green grapes.','Huuu Enjoy the naturally sweet and refreshing taste of Green Grape Fresh Juice made from high-quality fresh grapes. This delicious drink is rich in antioxidants and vitamins that help refresh your body and boost energy. Perfect for hot days, this juice is served fresh to give you a natural fruity flavor with every sip.',2,49.0,'["product-images/1773126251435-0"]','2026-03-10T01:34:12.610Z',0,59.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(105,'Fresh fig juice (anjeer) ','Naturally sweet juice made from fresh and ripe figs','Fresh Fig Juice is a rich and naturally sweet drink prepared from premium ripe figs. Known for its unique flavor and smooth texture, this juice is packed with natural nutrients, fiber, and antioxidants that help keep your body healthy and energized. Served fresh to give you the authentic taste of figs in every refreshing sip.',2,49.0,'["product-images/1773126524403-0"]','2026-03-10T01:38:44.807Z',0,59.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(106,'Chikoo (sapota)fresh juice','Creamy and naturally sweet juice made juice from fresh ripe chikoo','Sapodilla Fresh Juice, also known as Chikoo Juice, is a rich and creamy drink prepared from naturally sweet ripe sapodilla fruits. This delicious juice has a smooth texture and a unique caramel-like flavor that makes it very refreshing and satisfying. Packed with natural energy and nutrients, it is a perfect healthy drink to enjoy anytime.',2,39.0,'["product-images/1773127805418-0"]','2026-03-10T02:00:06.402Z',0,49.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(107,'Fresh mango juice','Sweet and refreshing juice made from freshly blended ripe mangoes','Fresh Mango Juice is a delicious tropical drink prepared from juicy and ripe mangoes. Known as the king of fruits, mango gives this juice a naturally sweet taste and rich flavor. This refreshing drink is full of vitamins and natural energy, making it a perfect choice to enjoy a healthy and tasty refreshment anytime.',2,49.0,'["product-images/1773128056033-0"]','2026-03-10T02:04:16.317Z',0,59.0,8,0,1.0,0,NULL,0.2); +INSERT INTO product_info VALUES(108,'Fresh orange juice','Refreshing juice made from freshly squeezed sweet oranges','Fresh Orange Juice is a healthy and refreshing drink made from naturally ripe oranges. It is rich in Vitamin C and antioxidants that help boost immunity and keep your body energized. With its sweet and slightly tangy flavor, this fresh juice is perfect for a refreshing and healthy drink anytime. ',2,39.0,'["product-images/1773128303272-0"]','2026-03-10T02:08:23.552Z',0,49.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(109,'Fresh apple juice','Naturally sweet and refreshing juice made from fresh apples','Fresh Apple Juice is a delicious and refreshing drink made from carefully selected ripe apples. It has a naturally sweet taste and is rich in vitamins and antioxidants that help keep your body healthy and energized. Served fresh, this juice offers a crisp and refreshing flavor that is perfect for any time of the day.',2,49.0,'["product-images/1773129061191-0"]','2026-03-10T02:21:02.205Z',0,59.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(110,'Fresh strawberry juice','Sweet and refreshing juice made from fresh ripe strawberries','Fresh Strawberry Juice is a delicious and refreshing drink made from juicy ripe strawberries. It has a naturally sweet and slightly tangy flavor that makes it very enjoyable. Rich in vitamins, antioxidants, and natural goodness, this fresh juice is a perfect choice for a healthy and refreshing drink anytime.',2,49.0,'["product-images/1773129209100-0"]','2026-03-10T02:23:29.397Z',0,59.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(111,'Fresh watermelon juice','Cool and refreshing juice made from juicy fresh watermelon','Fresh Watermelon Juice is a light and refreshing drink made from naturally sweet and juicy watermelons. It is perfect for cooling down and staying hydrated, especially on hot days. Rich in vitamins and natural goodness, this fresh juice offers a deliciously sweet taste and a refreshing experience in every sip.',2,29.0,'["product-images/1773566003997-0"]','2026-03-10T02:35:09.004Z',0,39.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(112,'Fresh avocado juice','Creamy and nutritious juice made from fresh ripe avocados','Fresh Avocado Juice is a rich and creamy drink prepared from perfectly ripe avocados. Known for its smooth texture and mild buttery taste, this juice is packed with healthy fats, vitamins, and nutrients that help boost energy and support overall health. It is a delicious and refreshing choice for a naturally healthy drink.',2,99.0,'["product-images/1773130741608-0"]','2026-03-10T02:49:01.932Z',0,109.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(113,'Fresh muskmelon juice','Naturally sweet and refreshing juice made from fresh muskmelon (karbuja) ','Fresh Muskmelon Juice, also known as Kharbuja Juice, is a light and refreshing drink made from juicy ripe muskmelon. It has a naturally sweet flavor and is rich in vitamins and hydration, making it a perfect drink for hot days. Served fresh, this juice provides a cooling and delicious taste that refreshes your body instantly.',2,39.0,'["product-images/1773566035297-0"]','2026-03-11T00:14:20.905Z',0,49.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(114,'Fresh papaya juice','Naturally sweet and healthy juice made from ripe fresh papaya','Fresh Papaya Juice is a nutritious and refreshing drink made from perfectly ripe papayas. It has a smooth texture and a naturally sweet taste. Rich in vitamins, antioxidants, and digestive enzymes, this juice helps support digestion and overall health while giving you a refreshing and healthy drink.',2,49.0,'["product-images/1773566115806-0"]','2026-03-11T00:20:55.903Z',0,56.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(115,'Fresh kiwi juice','Tangy and refreshing juice made from fresh ripe kiwi fruits','Fresh Kiwi Juice is a delicious and refreshing drink made from juicy ripe kiwis. It has a unique sweet and tangy flavor that makes it very refreshing. Rich in Vitamin C, antioxidants, and natural nutrients, this juice helps boost immunity and keep you energized. Served fresh to give you a healthy and flavorful drink.',2,99.0,'["product-images/1773566605539-0"]','2026-03-11T00:31:50.044Z',0,109.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(116,'Fresh banana juice','Creamy and naturally sweet juice made from fresh ripe bananas ',replace('Long Description:\nFresh Banana Juice is a rich and creamy drink prepared from perfectly ripe bananas. It has a naturally sweet taste and smooth texture that makes it very satisfying. Packed with natural energy, potassium, and essential nutrients, this juice is a healthy and filling drink that keeps you refreshed and energized','\n',char(10)),2,29.0,'["product-images/1773209103816-0"]','2026-03-11T00:35:04.128Z',0,39.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(117,'Fresh black grape juice','Sweet and refreshing juice made from fresh black grapes','Fresh Black Grape Juice is a delicious and refreshing drink made from naturally sweet and juicy black grapes. It has a rich flavor and smooth texture that makes every sip enjoyable. Packed with antioxidants and natural nutrients, this juice helps refresh your body and boost energy, making it a perfect healthy drink anytime.',2,59.0,'["product-images/1773222507937-0"]','2026-03-11T04:18:29.477Z',0,69.0,8,0,1.0,1,NULL,0.2); +INSERT INTO product_info VALUES(118,'Fresh mosambi juice','Refreshing and naturally sweet juice made from fresh mosambi (sweet lime) ','Fresh Mosambi Juice, also known as Sweet Lime Juice, is a light and refreshing drink made from juicy ripe mosambi fruits. It has a mild sweet and slightly tangy taste that makes it very refreshing. Rich in Vitamin C and natural nutrients, this juice helps boost immunity and keep your body hydrated and energized.',2,39.0,'["product-images/1773224238549-0"]','2026-03-11T04:47:19.339Z',0,49.0,8,0,1.0,1,NULL,1.0); CREATE TABLE IF NOT EXISTS "product_reviews" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "review_body" TEXT NOT NULL, "image_urls" TEXT, "review_time" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "ratings" REAL NOT NULL, "admin_response" TEXT, "admin_response_images" TEXT); INSERT INTO product_reviews VALUES(1,1,9,'Nice','["review-images/1765087473110.jpg","review-images/1765087473110.jpg"]','2025-12-07T00:35:23.088Z',4.0,'Thank Youu','["review-images/1765108852104.jpg"]'); INSERT INTO product_reviews VALUES(2,1,9,'Nice','["review-images/1765093365201.jpg"]','2025-12-07T02:12:47.173Z',4.0,'','["review-images/1765106307190.jpg"]'); @@ -2634,7 +4348,16 @@ INSERT INTO product_slots VALUES(1,67); INSERT INTO product_slots VALUES(1,72); INSERT INTO product_slots VALUES(1,73); INSERT INTO product_slots VALUES(1,74); -INSERT INTO product_slots VALUES(1,279); +INSERT INTO product_slots VALUES(1,288); +INSERT INTO product_slots VALUES(1,289); +INSERT INTO product_slots VALUES(1,290); +INSERT INTO product_slots VALUES(1,378); +INSERT INTO product_slots VALUES(1,407); +INSERT INTO product_slots VALUES(1,408); +INSERT INTO product_slots VALUES(1,409); +INSERT INTO product_slots VALUES(1,410); +INSERT INTO product_slots VALUES(1,430); +INSERT INTO product_slots VALUES(1,431); INSERT INTO product_slots VALUES(2,1); INSERT INTO product_slots VALUES(2,2); INSERT INTO product_slots VALUES(2,3); @@ -2856,12 +4579,233 @@ INSERT INTO product_slots VALUES(2,241); INSERT INTO product_slots VALUES(2,242); INSERT INTO product_slots VALUES(2,243); INSERT INTO product_slots VALUES(2,244); +INSERT INTO product_slots VALUES(2,245); +INSERT INTO product_slots VALUES(2,246); +INSERT INTO product_slots VALUES(2,247); +INSERT INTO product_slots VALUES(2,248); +INSERT INTO product_slots VALUES(2,249); +INSERT INTO product_slots VALUES(2,250); +INSERT INTO product_slots VALUES(2,251); +INSERT INTO product_slots VALUES(2,252); +INSERT INTO product_slots VALUES(2,253); +INSERT INTO product_slots VALUES(2,254); +INSERT INTO product_slots VALUES(2,255); +INSERT INTO product_slots VALUES(2,256); +INSERT INTO product_slots VALUES(2,257); +INSERT INTO product_slots VALUES(2,258); +INSERT INTO product_slots VALUES(2,259); +INSERT INTO product_slots VALUES(2,260); +INSERT INTO product_slots VALUES(2,261); +INSERT INTO product_slots VALUES(2,262); +INSERT INTO product_slots VALUES(2,263); +INSERT INTO product_slots VALUES(2,264); +INSERT INTO product_slots VALUES(2,265); +INSERT INTO product_slots VALUES(2,266); +INSERT INTO product_slots VALUES(2,267); +INSERT INTO product_slots VALUES(2,268); +INSERT INTO product_slots VALUES(2,269); +INSERT INTO product_slots VALUES(2,270); +INSERT INTO product_slots VALUES(2,271); +INSERT INTO product_slots VALUES(2,272); +INSERT INTO product_slots VALUES(2,273); INSERT INTO product_slots VALUES(2,274); INSERT INTO product_slots VALUES(2,275); +INSERT INTO product_slots VALUES(2,276); +INSERT INTO product_slots VALUES(2,277); +INSERT INTO product_slots VALUES(2,278); INSERT INTO product_slots VALUES(2,279); INSERT INTO product_slots VALUES(2,280); INSERT INTO product_slots VALUES(2,281); INSERT INTO product_slots VALUES(2,282); +INSERT INTO product_slots VALUES(2,283); +INSERT INTO product_slots VALUES(2,284); +INSERT INTO product_slots VALUES(2,285); +INSERT INTO product_slots VALUES(2,286); +INSERT INTO product_slots VALUES(2,287); +INSERT INTO product_slots VALUES(2,288); +INSERT INTO product_slots VALUES(2,289); +INSERT INTO product_slots VALUES(2,290); +INSERT INTO product_slots VALUES(2,291); +INSERT INTO product_slots VALUES(2,292); +INSERT INTO product_slots VALUES(2,293); +INSERT INTO product_slots VALUES(2,294); +INSERT INTO product_slots VALUES(2,295); +INSERT INTO product_slots VALUES(2,296); +INSERT INTO product_slots VALUES(2,297); +INSERT INTO product_slots VALUES(2,298); +INSERT INTO product_slots VALUES(2,299); +INSERT INTO product_slots VALUES(2,300); +INSERT INTO product_slots VALUES(2,301); +INSERT INTO product_slots VALUES(2,302); +INSERT INTO product_slots VALUES(2,303); +INSERT INTO product_slots VALUES(2,304); +INSERT INTO product_slots VALUES(2,305); +INSERT INTO product_slots VALUES(2,306); +INSERT INTO product_slots VALUES(2,307); +INSERT INTO product_slots VALUES(2,308); +INSERT INTO product_slots VALUES(2,309); +INSERT INTO product_slots VALUES(2,310); +INSERT INTO product_slots VALUES(2,311); +INSERT INTO product_slots VALUES(2,312); +INSERT INTO product_slots VALUES(2,313); +INSERT INTO product_slots VALUES(2,314); +INSERT INTO product_slots VALUES(2,315); +INSERT INTO product_slots VALUES(2,316); +INSERT INTO product_slots VALUES(2,317); +INSERT INTO product_slots VALUES(2,318); +INSERT INTO product_slots VALUES(2,319); +INSERT INTO product_slots VALUES(2,320); +INSERT INTO product_slots VALUES(2,321); +INSERT INTO product_slots VALUES(2,322); +INSERT INTO product_slots VALUES(2,323); +INSERT INTO product_slots VALUES(2,324); +INSERT INTO product_slots VALUES(2,325); +INSERT INTO product_slots VALUES(2,326); +INSERT INTO product_slots VALUES(2,327); +INSERT INTO product_slots VALUES(2,328); +INSERT INTO product_slots VALUES(2,329); +INSERT INTO product_slots VALUES(2,330); +INSERT INTO product_slots VALUES(2,331); +INSERT INTO product_slots VALUES(2,332); +INSERT INTO product_slots VALUES(2,333); +INSERT INTO product_slots VALUES(2,334); +INSERT INTO product_slots VALUES(2,335); +INSERT INTO product_slots VALUES(2,336); +INSERT INTO product_slots VALUES(2,337); +INSERT INTO product_slots VALUES(2,338); +INSERT INTO product_slots VALUES(2,339); +INSERT INTO product_slots VALUES(2,340); +INSERT INTO product_slots VALUES(2,341); +INSERT INTO product_slots VALUES(2,342); +INSERT INTO product_slots VALUES(2,343); +INSERT INTO product_slots VALUES(2,344); +INSERT INTO product_slots VALUES(2,345); +INSERT INTO product_slots VALUES(2,346); +INSERT INTO product_slots VALUES(2,347); +INSERT INTO product_slots VALUES(2,348); +INSERT INTO product_slots VALUES(2,349); +INSERT INTO product_slots VALUES(2,350); +INSERT INTO product_slots VALUES(2,351); +INSERT INTO product_slots VALUES(2,352); +INSERT INTO product_slots VALUES(2,353); +INSERT INTO product_slots VALUES(2,354); +INSERT INTO product_slots VALUES(2,355); +INSERT INTO product_slots VALUES(2,356); +INSERT INTO product_slots VALUES(2,357); +INSERT INTO product_slots VALUES(2,358); +INSERT INTO product_slots VALUES(2,359); +INSERT INTO product_slots VALUES(2,360); +INSERT INTO product_slots VALUES(2,361); +INSERT INTO product_slots VALUES(2,362); +INSERT INTO product_slots VALUES(2,363); +INSERT INTO product_slots VALUES(2,364); +INSERT INTO product_slots VALUES(2,365); +INSERT INTO product_slots VALUES(2,366); +INSERT INTO product_slots VALUES(2,367); +INSERT INTO product_slots VALUES(2,368); +INSERT INTO product_slots VALUES(2,369); +INSERT INTO product_slots VALUES(2,370); +INSERT INTO product_slots VALUES(2,371); +INSERT INTO product_slots VALUES(2,372); +INSERT INTO product_slots VALUES(2,373); +INSERT INTO product_slots VALUES(2,374); +INSERT INTO product_slots VALUES(2,375); +INSERT INTO product_slots VALUES(2,376); +INSERT INTO product_slots VALUES(2,377); +INSERT INTO product_slots VALUES(2,378); +INSERT INTO product_slots VALUES(2,379); +INSERT INTO product_slots VALUES(2,380); +INSERT INTO product_slots VALUES(2,381); +INSERT INTO product_slots VALUES(2,382); +INSERT INTO product_slots VALUES(2,383); +INSERT INTO product_slots VALUES(2,384); +INSERT INTO product_slots VALUES(2,385); +INSERT INTO product_slots VALUES(2,386); +INSERT INTO product_slots VALUES(2,387); +INSERT INTO product_slots VALUES(2,388); +INSERT INTO product_slots VALUES(2,389); +INSERT INTO product_slots VALUES(2,390); +INSERT INTO product_slots VALUES(2,391); +INSERT INTO product_slots VALUES(2,392); +INSERT INTO product_slots VALUES(2,393); +INSERT INTO product_slots VALUES(2,394); +INSERT INTO product_slots VALUES(2,395); +INSERT INTO product_slots VALUES(2,396); +INSERT INTO product_slots VALUES(2,397); +INSERT INTO product_slots VALUES(2,398); +INSERT INTO product_slots VALUES(2,399); +INSERT INTO product_slots VALUES(2,400); +INSERT INTO product_slots VALUES(2,401); +INSERT INTO product_slots VALUES(2,402); +INSERT INTO product_slots VALUES(2,403); +INSERT INTO product_slots VALUES(2,404); +INSERT INTO product_slots VALUES(2,405); +INSERT INTO product_slots VALUES(2,406); +INSERT INTO product_slots VALUES(2,407); +INSERT INTO product_slots VALUES(2,408); +INSERT INTO product_slots VALUES(2,409); +INSERT INTO product_slots VALUES(2,410); +INSERT INTO product_slots VALUES(2,411); +INSERT INTO product_slots VALUES(2,412); +INSERT INTO product_slots VALUES(2,413); +INSERT INTO product_slots VALUES(2,414); +INSERT INTO product_slots VALUES(2,415); +INSERT INTO product_slots VALUES(2,416); +INSERT INTO product_slots VALUES(2,417); +INSERT INTO product_slots VALUES(2,418); +INSERT INTO product_slots VALUES(2,419); +INSERT INTO product_slots VALUES(2,420); +INSERT INTO product_slots VALUES(2,421); +INSERT INTO product_slots VALUES(2,422); +INSERT INTO product_slots VALUES(2,423); +INSERT INTO product_slots VALUES(2,424); +INSERT INTO product_slots VALUES(2,425); +INSERT INTO product_slots VALUES(2,426); +INSERT INTO product_slots VALUES(2,427); +INSERT INTO product_slots VALUES(2,428); +INSERT INTO product_slots VALUES(2,429); +INSERT INTO product_slots VALUES(2,430); +INSERT INTO product_slots VALUES(2,431); +INSERT INTO product_slots VALUES(2,432); +INSERT INTO product_slots VALUES(2,433); +INSERT INTO product_slots VALUES(2,434); +INSERT INTO product_slots VALUES(2,435); +INSERT INTO product_slots VALUES(2,436); +INSERT INTO product_slots VALUES(2,437); +INSERT INTO product_slots VALUES(2,438); +INSERT INTO product_slots VALUES(2,439); +INSERT INTO product_slots VALUES(2,440); +INSERT INTO product_slots VALUES(2,441); +INSERT INTO product_slots VALUES(2,442); +INSERT INTO product_slots VALUES(2,443); +INSERT INTO product_slots VALUES(2,444); +INSERT INTO product_slots VALUES(2,445); +INSERT INTO product_slots VALUES(2,446); +INSERT INTO product_slots VALUES(2,447); +INSERT INTO product_slots VALUES(2,448); +INSERT INTO product_slots VALUES(2,449); +INSERT INTO product_slots VALUES(2,450); +INSERT INTO product_slots VALUES(2,451); +INSERT INTO product_slots VALUES(2,452); +INSERT INTO product_slots VALUES(2,453); +INSERT INTO product_slots VALUES(2,454); +INSERT INTO product_slots VALUES(2,455); +INSERT INTO product_slots VALUES(2,456); +INSERT INTO product_slots VALUES(2,457); +INSERT INTO product_slots VALUES(2,458); +INSERT INTO product_slots VALUES(2,459); +INSERT INTO product_slots VALUES(2,460); +INSERT INTO product_slots VALUES(2,461); +INSERT INTO product_slots VALUES(2,462); +INSERT INTO product_slots VALUES(2,463); +INSERT INTO product_slots VALUES(2,464); +INSERT INTO product_slots VALUES(2,465); +INSERT INTO product_slots VALUES(2,466); +INSERT INTO product_slots VALUES(2,467); +INSERT INTO product_slots VALUES(2,468); +INSERT INTO product_slots VALUES(2,469); +INSERT INTO product_slots VALUES(2,470); +INSERT INTO product_slots VALUES(2,471); INSERT INTO product_slots VALUES(3,1); INSERT INTO product_slots VALUES(3,2); INSERT INTO product_slots VALUES(3,3); @@ -3085,12 +5029,233 @@ INSERT INTO product_slots VALUES(3,241); INSERT INTO product_slots VALUES(3,242); INSERT INTO product_slots VALUES(3,243); INSERT INTO product_slots VALUES(3,244); +INSERT INTO product_slots VALUES(3,245); +INSERT INTO product_slots VALUES(3,246); +INSERT INTO product_slots VALUES(3,247); +INSERT INTO product_slots VALUES(3,248); +INSERT INTO product_slots VALUES(3,249); +INSERT INTO product_slots VALUES(3,250); +INSERT INTO product_slots VALUES(3,251); +INSERT INTO product_slots VALUES(3,252); +INSERT INTO product_slots VALUES(3,253); +INSERT INTO product_slots VALUES(3,254); +INSERT INTO product_slots VALUES(3,255); +INSERT INTO product_slots VALUES(3,256); +INSERT INTO product_slots VALUES(3,257); +INSERT INTO product_slots VALUES(3,258); +INSERT INTO product_slots VALUES(3,259); +INSERT INTO product_slots VALUES(3,260); +INSERT INTO product_slots VALUES(3,261); +INSERT INTO product_slots VALUES(3,262); +INSERT INTO product_slots VALUES(3,263); +INSERT INTO product_slots VALUES(3,264); +INSERT INTO product_slots VALUES(3,265); +INSERT INTO product_slots VALUES(3,266); +INSERT INTO product_slots VALUES(3,267); +INSERT INTO product_slots VALUES(3,268); +INSERT INTO product_slots VALUES(3,269); +INSERT INTO product_slots VALUES(3,270); +INSERT INTO product_slots VALUES(3,271); +INSERT INTO product_slots VALUES(3,272); +INSERT INTO product_slots VALUES(3,273); INSERT INTO product_slots VALUES(3,274); INSERT INTO product_slots VALUES(3,275); +INSERT INTO product_slots VALUES(3,276); +INSERT INTO product_slots VALUES(3,277); +INSERT INTO product_slots VALUES(3,278); INSERT INTO product_slots VALUES(3,279); INSERT INTO product_slots VALUES(3,280); INSERT INTO product_slots VALUES(3,281); INSERT INTO product_slots VALUES(3,282); +INSERT INTO product_slots VALUES(3,283); +INSERT INTO product_slots VALUES(3,284); +INSERT INTO product_slots VALUES(3,285); +INSERT INTO product_slots VALUES(3,286); +INSERT INTO product_slots VALUES(3,287); +INSERT INTO product_slots VALUES(3,288); +INSERT INTO product_slots VALUES(3,289); +INSERT INTO product_slots VALUES(3,290); +INSERT INTO product_slots VALUES(3,291); +INSERT INTO product_slots VALUES(3,292); +INSERT INTO product_slots VALUES(3,293); +INSERT INTO product_slots VALUES(3,294); +INSERT INTO product_slots VALUES(3,295); +INSERT INTO product_slots VALUES(3,296); +INSERT INTO product_slots VALUES(3,297); +INSERT INTO product_slots VALUES(3,298); +INSERT INTO product_slots VALUES(3,299); +INSERT INTO product_slots VALUES(3,300); +INSERT INTO product_slots VALUES(3,301); +INSERT INTO product_slots VALUES(3,302); +INSERT INTO product_slots VALUES(3,303); +INSERT INTO product_slots VALUES(3,304); +INSERT INTO product_slots VALUES(3,305); +INSERT INTO product_slots VALUES(3,306); +INSERT INTO product_slots VALUES(3,307); +INSERT INTO product_slots VALUES(3,308); +INSERT INTO product_slots VALUES(3,309); +INSERT INTO product_slots VALUES(3,310); +INSERT INTO product_slots VALUES(3,311); +INSERT INTO product_slots VALUES(3,312); +INSERT INTO product_slots VALUES(3,313); +INSERT INTO product_slots VALUES(3,314); +INSERT INTO product_slots VALUES(3,315); +INSERT INTO product_slots VALUES(3,316); +INSERT INTO product_slots VALUES(3,317); +INSERT INTO product_slots VALUES(3,318); +INSERT INTO product_slots VALUES(3,319); +INSERT INTO product_slots VALUES(3,320); +INSERT INTO product_slots VALUES(3,321); +INSERT INTO product_slots VALUES(3,322); +INSERT INTO product_slots VALUES(3,323); +INSERT INTO product_slots VALUES(3,324); +INSERT INTO product_slots VALUES(3,325); +INSERT INTO product_slots VALUES(3,326); +INSERT INTO product_slots VALUES(3,327); +INSERT INTO product_slots VALUES(3,328); +INSERT INTO product_slots VALUES(3,329); +INSERT INTO product_slots VALUES(3,330); +INSERT INTO product_slots VALUES(3,331); +INSERT INTO product_slots VALUES(3,332); +INSERT INTO product_slots VALUES(3,333); +INSERT INTO product_slots VALUES(3,334); +INSERT INTO product_slots VALUES(3,335); +INSERT INTO product_slots VALUES(3,336); +INSERT INTO product_slots VALUES(3,337); +INSERT INTO product_slots VALUES(3,338); +INSERT INTO product_slots VALUES(3,339); +INSERT INTO product_slots VALUES(3,340); +INSERT INTO product_slots VALUES(3,341); +INSERT INTO product_slots VALUES(3,342); +INSERT INTO product_slots VALUES(3,343); +INSERT INTO product_slots VALUES(3,344); +INSERT INTO product_slots VALUES(3,345); +INSERT INTO product_slots VALUES(3,346); +INSERT INTO product_slots VALUES(3,347); +INSERT INTO product_slots VALUES(3,348); +INSERT INTO product_slots VALUES(3,349); +INSERT INTO product_slots VALUES(3,350); +INSERT INTO product_slots VALUES(3,351); +INSERT INTO product_slots VALUES(3,352); +INSERT INTO product_slots VALUES(3,353); +INSERT INTO product_slots VALUES(3,354); +INSERT INTO product_slots VALUES(3,355); +INSERT INTO product_slots VALUES(3,356); +INSERT INTO product_slots VALUES(3,357); +INSERT INTO product_slots VALUES(3,358); +INSERT INTO product_slots VALUES(3,359); +INSERT INTO product_slots VALUES(3,360); +INSERT INTO product_slots VALUES(3,361); +INSERT INTO product_slots VALUES(3,362); +INSERT INTO product_slots VALUES(3,363); +INSERT INTO product_slots VALUES(3,364); +INSERT INTO product_slots VALUES(3,365); +INSERT INTO product_slots VALUES(3,366); +INSERT INTO product_slots VALUES(3,367); +INSERT INTO product_slots VALUES(3,368); +INSERT INTO product_slots VALUES(3,369); +INSERT INTO product_slots VALUES(3,370); +INSERT INTO product_slots VALUES(3,371); +INSERT INTO product_slots VALUES(3,372); +INSERT INTO product_slots VALUES(3,373); +INSERT INTO product_slots VALUES(3,374); +INSERT INTO product_slots VALUES(3,375); +INSERT INTO product_slots VALUES(3,376); +INSERT INTO product_slots VALUES(3,377); +INSERT INTO product_slots VALUES(3,378); +INSERT INTO product_slots VALUES(3,379); +INSERT INTO product_slots VALUES(3,380); +INSERT INTO product_slots VALUES(3,381); +INSERT INTO product_slots VALUES(3,382); +INSERT INTO product_slots VALUES(3,383); +INSERT INTO product_slots VALUES(3,384); +INSERT INTO product_slots VALUES(3,385); +INSERT INTO product_slots VALUES(3,386); +INSERT INTO product_slots VALUES(3,387); +INSERT INTO product_slots VALUES(3,388); +INSERT INTO product_slots VALUES(3,389); +INSERT INTO product_slots VALUES(3,390); +INSERT INTO product_slots VALUES(3,391); +INSERT INTO product_slots VALUES(3,392); +INSERT INTO product_slots VALUES(3,393); +INSERT INTO product_slots VALUES(3,394); +INSERT INTO product_slots VALUES(3,395); +INSERT INTO product_slots VALUES(3,396); +INSERT INTO product_slots VALUES(3,397); +INSERT INTO product_slots VALUES(3,398); +INSERT INTO product_slots VALUES(3,399); +INSERT INTO product_slots VALUES(3,400); +INSERT INTO product_slots VALUES(3,401); +INSERT INTO product_slots VALUES(3,402); +INSERT INTO product_slots VALUES(3,403); +INSERT INTO product_slots VALUES(3,404); +INSERT INTO product_slots VALUES(3,405); +INSERT INTO product_slots VALUES(3,406); +INSERT INTO product_slots VALUES(3,407); +INSERT INTO product_slots VALUES(3,408); +INSERT INTO product_slots VALUES(3,409); +INSERT INTO product_slots VALUES(3,410); +INSERT INTO product_slots VALUES(3,411); +INSERT INTO product_slots VALUES(3,412); +INSERT INTO product_slots VALUES(3,413); +INSERT INTO product_slots VALUES(3,414); +INSERT INTO product_slots VALUES(3,415); +INSERT INTO product_slots VALUES(3,416); +INSERT INTO product_slots VALUES(3,417); +INSERT INTO product_slots VALUES(3,418); +INSERT INTO product_slots VALUES(3,419); +INSERT INTO product_slots VALUES(3,420); +INSERT INTO product_slots VALUES(3,421); +INSERT INTO product_slots VALUES(3,422); +INSERT INTO product_slots VALUES(3,423); +INSERT INTO product_slots VALUES(3,424); +INSERT INTO product_slots VALUES(3,425); +INSERT INTO product_slots VALUES(3,426); +INSERT INTO product_slots VALUES(3,427); +INSERT INTO product_slots VALUES(3,428); +INSERT INTO product_slots VALUES(3,429); +INSERT INTO product_slots VALUES(3,430); +INSERT INTO product_slots VALUES(3,431); +INSERT INTO product_slots VALUES(3,432); +INSERT INTO product_slots VALUES(3,433); +INSERT INTO product_slots VALUES(3,434); +INSERT INTO product_slots VALUES(3,435); +INSERT INTO product_slots VALUES(3,436); +INSERT INTO product_slots VALUES(3,437); +INSERT INTO product_slots VALUES(3,438); +INSERT INTO product_slots VALUES(3,439); +INSERT INTO product_slots VALUES(3,440); +INSERT INTO product_slots VALUES(3,441); +INSERT INTO product_slots VALUES(3,442); +INSERT INTO product_slots VALUES(3,443); +INSERT INTO product_slots VALUES(3,444); +INSERT INTO product_slots VALUES(3,445); +INSERT INTO product_slots VALUES(3,446); +INSERT INTO product_slots VALUES(3,447); +INSERT INTO product_slots VALUES(3,448); +INSERT INTO product_slots VALUES(3,449); +INSERT INTO product_slots VALUES(3,450); +INSERT INTO product_slots VALUES(3,451); +INSERT INTO product_slots VALUES(3,452); +INSERT INTO product_slots VALUES(3,453); +INSERT INTO product_slots VALUES(3,454); +INSERT INTO product_slots VALUES(3,455); +INSERT INTO product_slots VALUES(3,456); +INSERT INTO product_slots VALUES(3,457); +INSERT INTO product_slots VALUES(3,458); +INSERT INTO product_slots VALUES(3,459); +INSERT INTO product_slots VALUES(3,460); +INSERT INTO product_slots VALUES(3,461); +INSERT INTO product_slots VALUES(3,462); +INSERT INTO product_slots VALUES(3,463); +INSERT INTO product_slots VALUES(3,464); +INSERT INTO product_slots VALUES(3,465); +INSERT INTO product_slots VALUES(3,466); +INSERT INTO product_slots VALUES(3,467); +INSERT INTO product_slots VALUES(3,468); +INSERT INTO product_slots VALUES(3,469); +INSERT INTO product_slots VALUES(3,470); +INSERT INTO product_slots VALUES(3,471); INSERT INTO product_slots VALUES(4,1); INSERT INTO product_slots VALUES(4,2); INSERT INTO product_slots VALUES(4,3); @@ -3250,11 +5415,136 @@ INSERT INTO product_slots VALUES(4,237); INSERT INTO product_slots VALUES(4,238); INSERT INTO product_slots VALUES(4,239); INSERT INTO product_slots VALUES(4,240); +INSERT INTO product_slots VALUES(4,245); +INSERT INTO product_slots VALUES(4,246); +INSERT INTO product_slots VALUES(4,247); +INSERT INTO product_slots VALUES(4,248); +INSERT INTO product_slots VALUES(4,252); +INSERT INTO product_slots VALUES(4,253); +INSERT INTO product_slots VALUES(4,255); +INSERT INTO product_slots VALUES(4,259); +INSERT INTO product_slots VALUES(4,260); +INSERT INTO product_slots VALUES(4,261); +INSERT INTO product_slots VALUES(4,262); +INSERT INTO product_slots VALUES(4,263); +INSERT INTO product_slots VALUES(4,266); +INSERT INTO product_slots VALUES(4,267); +INSERT INTO product_slots VALUES(4,268); +INSERT INTO product_slots VALUES(4,269); +INSERT INTO product_slots VALUES(4,270); +INSERT INTO product_slots VALUES(4,273); INSERT INTO product_slots VALUES(4,274); INSERT INTO product_slots VALUES(4,275); INSERT INTO product_slots VALUES(4,277); INSERT INTO product_slots VALUES(4,278); INSERT INTO product_slots VALUES(4,279); +INSERT INTO product_slots VALUES(4,280); +INSERT INTO product_slots VALUES(4,281); +INSERT INTO product_slots VALUES(4,282); +INSERT INTO product_slots VALUES(4,283); +INSERT INTO product_slots VALUES(4,287); +INSERT INTO product_slots VALUES(4,288); +INSERT INTO product_slots VALUES(4,289); +INSERT INTO product_slots VALUES(4,290); +INSERT INTO product_slots VALUES(4,294); +INSERT INTO product_slots VALUES(4,295); +INSERT INTO product_slots VALUES(4,296); +INSERT INTO product_slots VALUES(4,297); +INSERT INTO product_slots VALUES(4,301); +INSERT INTO product_slots VALUES(4,302); +INSERT INTO product_slots VALUES(4,308); +INSERT INTO product_slots VALUES(4,309); +INSERT INTO product_slots VALUES(4,310); +INSERT INTO product_slots VALUES(4,311); +INSERT INTO product_slots VALUES(4,315); +INSERT INTO product_slots VALUES(4,316); +INSERT INTO product_slots VALUES(4,317); +INSERT INTO product_slots VALUES(4,318); +INSERT INTO product_slots VALUES(4,319); +INSERT INTO product_slots VALUES(4,322); +INSERT INTO product_slots VALUES(4,323); +INSERT INTO product_slots VALUES(4,324); +INSERT INTO product_slots VALUES(4,325); +INSERT INTO product_slots VALUES(4,329); +INSERT INTO product_slots VALUES(4,330); +INSERT INTO product_slots VALUES(4,334); +INSERT INTO product_slots VALUES(4,335); +INSERT INTO product_slots VALUES(4,336); +INSERT INTO product_slots VALUES(4,337); +INSERT INTO product_slots VALUES(4,338); +INSERT INTO product_slots VALUES(4,341); +INSERT INTO product_slots VALUES(4,342); +INSERT INTO product_slots VALUES(4,343); +INSERT INTO product_slots VALUES(4,344); +INSERT INTO product_slots VALUES(4,348); +INSERT INTO product_slots VALUES(4,349); +INSERT INTO product_slots VALUES(4,350); +INSERT INTO product_slots VALUES(4,351); +INSERT INTO product_slots VALUES(4,355); +INSERT INTO product_slots VALUES(4,356); +INSERT INTO product_slots VALUES(4,357); +INSERT INTO product_slots VALUES(4,358); +INSERT INTO product_slots VALUES(4,360); +INSERT INTO product_slots VALUES(4,361); +INSERT INTO product_slots VALUES(4,362); +INSERT INTO product_slots VALUES(4,363); +INSERT INTO product_slots VALUES(4,367); +INSERT INTO product_slots VALUES(4,368); +INSERT INTO product_slots VALUES(4,369); +INSERT INTO product_slots VALUES(4,370); +INSERT INTO product_slots VALUES(4,374); +INSERT INTO product_slots VALUES(4,375); +INSERT INTO product_slots VALUES(4,376); +INSERT INTO product_slots VALUES(4,377); +INSERT INTO product_slots VALUES(4,381); +INSERT INTO product_slots VALUES(4,382); +INSERT INTO product_slots VALUES(4,383); +INSERT INTO product_slots VALUES(4,384); +INSERT INTO product_slots VALUES(4,385); +INSERT INTO product_slots VALUES(4,389); +INSERT INTO product_slots VALUES(4,390); +INSERT INTO product_slots VALUES(4,391); +INSERT INTO product_slots VALUES(4,395); +INSERT INTO product_slots VALUES(4,396); +INSERT INTO product_slots VALUES(4,397); +INSERT INTO product_slots VALUES(4,398); +INSERT INTO product_slots VALUES(4,399); +INSERT INTO product_slots VALUES(4,400); +INSERT INTO product_slots VALUES(4,401); +INSERT INTO product_slots VALUES(4,402); +INSERT INTO product_slots VALUES(4,403); +INSERT INTO product_slots VALUES(4,404); +INSERT INTO product_slots VALUES(4,405); +INSERT INTO product_slots VALUES(4,406); +INSERT INTO product_slots VALUES(4,411); +INSERT INTO product_slots VALUES(4,412); +INSERT INTO product_slots VALUES(4,413); +INSERT INTO product_slots VALUES(4,414); +INSERT INTO product_slots VALUES(4,419); +INSERT INTO product_slots VALUES(4,420); +INSERT INTO product_slots VALUES(4,421); +INSERT INTO product_slots VALUES(4,422); +INSERT INTO product_slots VALUES(4,427); +INSERT INTO product_slots VALUES(4,428); +INSERT INTO product_slots VALUES(4,429); +INSERT INTO product_slots VALUES(4,434); +INSERT INTO product_slots VALUES(4,435); +INSERT INTO product_slots VALUES(4,436); +INSERT INTO product_slots VALUES(4,437); +INSERT INTO product_slots VALUES(4,442); +INSERT INTO product_slots VALUES(4,443); +INSERT INTO product_slots VALUES(4,444); +INSERT INTO product_slots VALUES(4,450); +INSERT INTO product_slots VALUES(4,451); +INSERT INTO product_slots VALUES(4,452); +INSERT INTO product_slots VALUES(4,453); +INSERT INTO product_slots VALUES(4,458); +INSERT INTO product_slots VALUES(4,459); +INSERT INTO product_slots VALUES(4,460); +INSERT INTO product_slots VALUES(4,461); +INSERT INTO product_slots VALUES(4,466); +INSERT INTO product_slots VALUES(4,467); +INSERT INTO product_slots VALUES(4,468); INSERT INTO product_slots VALUES(5,1); INSERT INTO product_slots VALUES(5,3); INSERT INTO product_slots VALUES(5,4); @@ -3476,8 +5766,40 @@ INSERT INTO product_slots VALUES(5,241); INSERT INTO product_slots VALUES(5,242); INSERT INTO product_slots VALUES(5,243); INSERT INTO product_slots VALUES(5,244); +INSERT INTO product_slots VALUES(5,245); +INSERT INTO product_slots VALUES(5,246); +INSERT INTO product_slots VALUES(5,247); +INSERT INTO product_slots VALUES(5,248); +INSERT INTO product_slots VALUES(5,249); +INSERT INTO product_slots VALUES(5,250); +INSERT INTO product_slots VALUES(5,251); +INSERT INTO product_slots VALUES(5,252); +INSERT INTO product_slots VALUES(5,253); +INSERT INTO product_slots VALUES(5,254); +INSERT INTO product_slots VALUES(5,255); +INSERT INTO product_slots VALUES(5,256); +INSERT INTO product_slots VALUES(5,257); +INSERT INTO product_slots VALUES(5,258); +INSERT INTO product_slots VALUES(5,259); +INSERT INTO product_slots VALUES(5,260); +INSERT INTO product_slots VALUES(5,261); +INSERT INTO product_slots VALUES(5,262); +INSERT INTO product_slots VALUES(5,263); +INSERT INTO product_slots VALUES(5,264); +INSERT INTO product_slots VALUES(5,265); +INSERT INTO product_slots VALUES(5,266); +INSERT INTO product_slots VALUES(5,267); +INSERT INTO product_slots VALUES(5,268); +INSERT INTO product_slots VALUES(5,269); +INSERT INTO product_slots VALUES(5,270); +INSERT INTO product_slots VALUES(5,271); +INSERT INTO product_slots VALUES(5,272); +INSERT INTO product_slots VALUES(5,273); INSERT INTO product_slots VALUES(5,274); INSERT INTO product_slots VALUES(5,275); +INSERT INTO product_slots VALUES(5,276); +INSERT INTO product_slots VALUES(5,277); +INSERT INTO product_slots VALUES(5,278); INSERT INTO product_slots VALUES(5,279); INSERT INTO product_slots VALUES(5,280); INSERT INTO product_slots VALUES(5,281); @@ -3487,6 +5809,190 @@ INSERT INTO product_slots VALUES(5,284); INSERT INTO product_slots VALUES(5,285); INSERT INTO product_slots VALUES(5,286); INSERT INTO product_slots VALUES(5,287); +INSERT INTO product_slots VALUES(5,288); +INSERT INTO product_slots VALUES(5,289); +INSERT INTO product_slots VALUES(5,290); +INSERT INTO product_slots VALUES(5,291); +INSERT INTO product_slots VALUES(5,292); +INSERT INTO product_slots VALUES(5,293); +INSERT INTO product_slots VALUES(5,294); +INSERT INTO product_slots VALUES(5,295); +INSERT INTO product_slots VALUES(5,296); +INSERT INTO product_slots VALUES(5,297); +INSERT INTO product_slots VALUES(5,298); +INSERT INTO product_slots VALUES(5,299); +INSERT INTO product_slots VALUES(5,300); +INSERT INTO product_slots VALUES(5,301); +INSERT INTO product_slots VALUES(5,302); +INSERT INTO product_slots VALUES(5,303); +INSERT INTO product_slots VALUES(5,304); +INSERT INTO product_slots VALUES(5,305); +INSERT INTO product_slots VALUES(5,306); +INSERT INTO product_slots VALUES(5,307); +INSERT INTO product_slots VALUES(5,308); +INSERT INTO product_slots VALUES(5,309); +INSERT INTO product_slots VALUES(5,310); +INSERT INTO product_slots VALUES(5,311); +INSERT INTO product_slots VALUES(5,312); +INSERT INTO product_slots VALUES(5,313); +INSERT INTO product_slots VALUES(5,314); +INSERT INTO product_slots VALUES(5,315); +INSERT INTO product_slots VALUES(5,316); +INSERT INTO product_slots VALUES(5,317); +INSERT INTO product_slots VALUES(5,318); +INSERT INTO product_slots VALUES(5,319); +INSERT INTO product_slots VALUES(5,320); +INSERT INTO product_slots VALUES(5,321); +INSERT INTO product_slots VALUES(5,322); +INSERT INTO product_slots VALUES(5,323); +INSERT INTO product_slots VALUES(5,324); +INSERT INTO product_slots VALUES(5,325); +INSERT INTO product_slots VALUES(5,326); +INSERT INTO product_slots VALUES(5,327); +INSERT INTO product_slots VALUES(5,328); +INSERT INTO product_slots VALUES(5,329); +INSERT INTO product_slots VALUES(5,330); +INSERT INTO product_slots VALUES(5,331); +INSERT INTO product_slots VALUES(5,332); +INSERT INTO product_slots VALUES(5,333); +INSERT INTO product_slots VALUES(5,334); +INSERT INTO product_slots VALUES(5,335); +INSERT INTO product_slots VALUES(5,336); +INSERT INTO product_slots VALUES(5,337); +INSERT INTO product_slots VALUES(5,338); +INSERT INTO product_slots VALUES(5,339); +INSERT INTO product_slots VALUES(5,340); +INSERT INTO product_slots VALUES(5,341); +INSERT INTO product_slots VALUES(5,342); +INSERT INTO product_slots VALUES(5,343); +INSERT INTO product_slots VALUES(5,344); +INSERT INTO product_slots VALUES(5,345); +INSERT INTO product_slots VALUES(5,346); +INSERT INTO product_slots VALUES(5,347); +INSERT INTO product_slots VALUES(5,348); +INSERT INTO product_slots VALUES(5,349); +INSERT INTO product_slots VALUES(5,350); +INSERT INTO product_slots VALUES(5,351); +INSERT INTO product_slots VALUES(5,352); +INSERT INTO product_slots VALUES(5,353); +INSERT INTO product_slots VALUES(5,354); +INSERT INTO product_slots VALUES(5,355); +INSERT INTO product_slots VALUES(5,356); +INSERT INTO product_slots VALUES(5,357); +INSERT INTO product_slots VALUES(5,358); +INSERT INTO product_slots VALUES(5,359); +INSERT INTO product_slots VALUES(5,360); +INSERT INTO product_slots VALUES(5,361); +INSERT INTO product_slots VALUES(5,362); +INSERT INTO product_slots VALUES(5,363); +INSERT INTO product_slots VALUES(5,364); +INSERT INTO product_slots VALUES(5,365); +INSERT INTO product_slots VALUES(5,366); +INSERT INTO product_slots VALUES(5,367); +INSERT INTO product_slots VALUES(5,368); +INSERT INTO product_slots VALUES(5,369); +INSERT INTO product_slots VALUES(5,370); +INSERT INTO product_slots VALUES(5,371); +INSERT INTO product_slots VALUES(5,372); +INSERT INTO product_slots VALUES(5,373); +INSERT INTO product_slots VALUES(5,374); +INSERT INTO product_slots VALUES(5,375); +INSERT INTO product_slots VALUES(5,376); +INSERT INTO product_slots VALUES(5,377); +INSERT INTO product_slots VALUES(5,378); +INSERT INTO product_slots VALUES(5,379); +INSERT INTO product_slots VALUES(5,380); +INSERT INTO product_slots VALUES(5,381); +INSERT INTO product_slots VALUES(5,382); +INSERT INTO product_slots VALUES(5,383); +INSERT INTO product_slots VALUES(5,384); +INSERT INTO product_slots VALUES(5,385); +INSERT INTO product_slots VALUES(5,386); +INSERT INTO product_slots VALUES(5,387); +INSERT INTO product_slots VALUES(5,388); +INSERT INTO product_slots VALUES(5,389); +INSERT INTO product_slots VALUES(5,390); +INSERT INTO product_slots VALUES(5,391); +INSERT INTO product_slots VALUES(5,392); +INSERT INTO product_slots VALUES(5,393); +INSERT INTO product_slots VALUES(5,394); +INSERT INTO product_slots VALUES(5,395); +INSERT INTO product_slots VALUES(5,396); +INSERT INTO product_slots VALUES(5,397); +INSERT INTO product_slots VALUES(5,398); +INSERT INTO product_slots VALUES(5,399); +INSERT INTO product_slots VALUES(5,400); +INSERT INTO product_slots VALUES(5,401); +INSERT INTO product_slots VALUES(5,402); +INSERT INTO product_slots VALUES(5,403); +INSERT INTO product_slots VALUES(5,404); +INSERT INTO product_slots VALUES(5,405); +INSERT INTO product_slots VALUES(5,406); +INSERT INTO product_slots VALUES(5,407); +INSERT INTO product_slots VALUES(5,408); +INSERT INTO product_slots VALUES(5,409); +INSERT INTO product_slots VALUES(5,410); +INSERT INTO product_slots VALUES(5,411); +INSERT INTO product_slots VALUES(5,412); +INSERT INTO product_slots VALUES(5,413); +INSERT INTO product_slots VALUES(5,414); +INSERT INTO product_slots VALUES(5,415); +INSERT INTO product_slots VALUES(5,416); +INSERT INTO product_slots VALUES(5,417); +INSERT INTO product_slots VALUES(5,418); +INSERT INTO product_slots VALUES(5,419); +INSERT INTO product_slots VALUES(5,420); +INSERT INTO product_slots VALUES(5,421); +INSERT INTO product_slots VALUES(5,422); +INSERT INTO product_slots VALUES(5,423); +INSERT INTO product_slots VALUES(5,424); +INSERT INTO product_slots VALUES(5,425); +INSERT INTO product_slots VALUES(5,426); +INSERT INTO product_slots VALUES(5,427); +INSERT INTO product_slots VALUES(5,428); +INSERT INTO product_slots VALUES(5,429); +INSERT INTO product_slots VALUES(5,430); +INSERT INTO product_slots VALUES(5,431); +INSERT INTO product_slots VALUES(5,432); +INSERT INTO product_slots VALUES(5,433); +INSERT INTO product_slots VALUES(5,434); +INSERT INTO product_slots VALUES(5,435); +INSERT INTO product_slots VALUES(5,436); +INSERT INTO product_slots VALUES(5,437); +INSERT INTO product_slots VALUES(5,438); +INSERT INTO product_slots VALUES(5,439); +INSERT INTO product_slots VALUES(5,440); +INSERT INTO product_slots VALUES(5,441); +INSERT INTO product_slots VALUES(5,442); +INSERT INTO product_slots VALUES(5,443); +INSERT INTO product_slots VALUES(5,444); +INSERT INTO product_slots VALUES(5,445); +INSERT INTO product_slots VALUES(5,446); +INSERT INTO product_slots VALUES(5,447); +INSERT INTO product_slots VALUES(5,448); +INSERT INTO product_slots VALUES(5,449); +INSERT INTO product_slots VALUES(5,450); +INSERT INTO product_slots VALUES(5,451); +INSERT INTO product_slots VALUES(5,452); +INSERT INTO product_slots VALUES(5,453); +INSERT INTO product_slots VALUES(5,454); +INSERT INTO product_slots VALUES(5,455); +INSERT INTO product_slots VALUES(5,456); +INSERT INTO product_slots VALUES(5,457); +INSERT INTO product_slots VALUES(5,458); +INSERT INTO product_slots VALUES(5,459); +INSERT INTO product_slots VALUES(5,460); +INSERT INTO product_slots VALUES(5,461); +INSERT INTO product_slots VALUES(5,462); +INSERT INTO product_slots VALUES(5,463); +INSERT INTO product_slots VALUES(5,464); +INSERT INTO product_slots VALUES(5,465); +INSERT INTO product_slots VALUES(5,466); +INSERT INTO product_slots VALUES(5,467); +INSERT INTO product_slots VALUES(5,468); +INSERT INTO product_slots VALUES(5,469); +INSERT INTO product_slots VALUES(5,470); +INSERT INTO product_slots VALUES(5,471); INSERT INTO product_slots VALUES(6,1); INSERT INTO product_slots VALUES(6,2); INSERT INTO product_slots VALUES(6,3); @@ -3689,16 +6195,187 @@ INSERT INTO product_slots VALUES(6,238); INSERT INTO product_slots VALUES(6,239); INSERT INTO product_slots VALUES(6,240); INSERT INTO product_slots VALUES(6,244); +INSERT INTO product_slots VALUES(6,245); +INSERT INTO product_slots VALUES(6,246); +INSERT INTO product_slots VALUES(6,247); +INSERT INTO product_slots VALUES(6,248); +INSERT INTO product_slots VALUES(6,251); +INSERT INTO product_slots VALUES(6,252); +INSERT INTO product_slots VALUES(6,253); +INSERT INTO product_slots VALUES(6,254); +INSERT INTO product_slots VALUES(6,255); +INSERT INTO product_slots VALUES(6,256); +INSERT INTO product_slots VALUES(6,257); +INSERT INTO product_slots VALUES(6,258); +INSERT INTO product_slots VALUES(6,259); +INSERT INTO product_slots VALUES(6,260); +INSERT INTO product_slots VALUES(6,261); +INSERT INTO product_slots VALUES(6,262); +INSERT INTO product_slots VALUES(6,263); +INSERT INTO product_slots VALUES(6,264); +INSERT INTO product_slots VALUES(6,265); +INSERT INTO product_slots VALUES(6,266); +INSERT INTO product_slots VALUES(6,267); +INSERT INTO product_slots VALUES(6,268); +INSERT INTO product_slots VALUES(6,269); +INSERT INTO product_slots VALUES(6,270); +INSERT INTO product_slots VALUES(6,271); +INSERT INTO product_slots VALUES(6,272); +INSERT INTO product_slots VALUES(6,273); INSERT INTO product_slots VALUES(6,274); INSERT INTO product_slots VALUES(6,275); INSERT INTO product_slots VALUES(6,277); INSERT INTO product_slots VALUES(6,278); INSERT INTO product_slots VALUES(6,279); +INSERT INTO product_slots VALUES(6,280); +INSERT INTO product_slots VALUES(6,281); +INSERT INTO product_slots VALUES(6,282); INSERT INTO product_slots VALUES(6,283); INSERT INTO product_slots VALUES(6,284); INSERT INTO product_slots VALUES(6,285); INSERT INTO product_slots VALUES(6,286); INSERT INTO product_slots VALUES(6,287); +INSERT INTO product_slots VALUES(6,288); +INSERT INTO product_slots VALUES(6,289); +INSERT INTO product_slots VALUES(6,290); +INSERT INTO product_slots VALUES(6,292); +INSERT INTO product_slots VALUES(6,293); +INSERT INTO product_slots VALUES(6,294); +INSERT INTO product_slots VALUES(6,295); +INSERT INTO product_slots VALUES(6,296); +INSERT INTO product_slots VALUES(6,297); +INSERT INTO product_slots VALUES(6,301); +INSERT INTO product_slots VALUES(6,302); +INSERT INTO product_slots VALUES(6,306); +INSERT INTO product_slots VALUES(6,307); +INSERT INTO product_slots VALUES(6,308); +INSERT INTO product_slots VALUES(6,309); +INSERT INTO product_slots VALUES(6,310); +INSERT INTO product_slots VALUES(6,311); +INSERT INTO product_slots VALUES(6,315); +INSERT INTO product_slots VALUES(6,316); +INSERT INTO product_slots VALUES(6,317); +INSERT INTO product_slots VALUES(6,318); +INSERT INTO product_slots VALUES(6,319); +INSERT INTO product_slots VALUES(6,320); +INSERT INTO product_slots VALUES(6,322); +INSERT INTO product_slots VALUES(6,323); +INSERT INTO product_slots VALUES(6,324); +INSERT INTO product_slots VALUES(6,325); +INSERT INTO product_slots VALUES(6,326); +INSERT INTO product_slots VALUES(6,327); +INSERT INTO product_slots VALUES(6,328); +INSERT INTO product_slots VALUES(6,329); +INSERT INTO product_slots VALUES(6,330); +INSERT INTO product_slots VALUES(6,334); +INSERT INTO product_slots VALUES(6,335); +INSERT INTO product_slots VALUES(6,336); +INSERT INTO product_slots VALUES(6,337); +INSERT INTO product_slots VALUES(6,338); +INSERT INTO product_slots VALUES(6,341); +INSERT INTO product_slots VALUES(6,342); +INSERT INTO product_slots VALUES(6,343); +INSERT INTO product_slots VALUES(6,344); +INSERT INTO product_slots VALUES(6,348); +INSERT INTO product_slots VALUES(6,349); +INSERT INTO product_slots VALUES(6,350); +INSERT INTO product_slots VALUES(6,351); +INSERT INTO product_slots VALUES(6,352); +INSERT INTO product_slots VALUES(6,353); +INSERT INTO product_slots VALUES(6,354); +INSERT INTO product_slots VALUES(6,355); +INSERT INTO product_slots VALUES(6,356); +INSERT INTO product_slots VALUES(6,357); +INSERT INTO product_slots VALUES(6,358); +INSERT INTO product_slots VALUES(6,360); +INSERT INTO product_slots VALUES(6,361); +INSERT INTO product_slots VALUES(6,362); +INSERT INTO product_slots VALUES(6,363); +INSERT INTO product_slots VALUES(6,367); +INSERT INTO product_slots VALUES(6,368); +INSERT INTO product_slots VALUES(6,369); +INSERT INTO product_slots VALUES(6,370); +INSERT INTO product_slots VALUES(6,374); +INSERT INTO product_slots VALUES(6,375); +INSERT INTO product_slots VALUES(6,376); +INSERT INTO product_slots VALUES(6,377); +INSERT INTO product_slots VALUES(6,378); +INSERT INTO product_slots VALUES(6,379); +INSERT INTO product_slots VALUES(6,380); +INSERT INTO product_slots VALUES(6,381); +INSERT INTO product_slots VALUES(6,382); +INSERT INTO product_slots VALUES(6,383); +INSERT INTO product_slots VALUES(6,384); +INSERT INTO product_slots VALUES(6,385); +INSERT INTO product_slots VALUES(6,389); +INSERT INTO product_slots VALUES(6,390); +INSERT INTO product_slots VALUES(6,391); +INSERT INTO product_slots VALUES(6,394); +INSERT INTO product_slots VALUES(6,395); +INSERT INTO product_slots VALUES(6,396); +INSERT INTO product_slots VALUES(6,397); +INSERT INTO product_slots VALUES(6,398); +INSERT INTO product_slots VALUES(6,399); +INSERT INTO product_slots VALUES(6,400); +INSERT INTO product_slots VALUES(6,401); +INSERT INTO product_slots VALUES(6,402); +INSERT INTO product_slots VALUES(6,403); +INSERT INTO product_slots VALUES(6,404); +INSERT INTO product_slots VALUES(6,405); +INSERT INTO product_slots VALUES(6,406); +INSERT INTO product_slots VALUES(6,407); +INSERT INTO product_slots VALUES(6,408); +INSERT INTO product_slots VALUES(6,409); +INSERT INTO product_slots VALUES(6,410); +INSERT INTO product_slots VALUES(6,411); +INSERT INTO product_slots VALUES(6,412); +INSERT INTO product_slots VALUES(6,413); +INSERT INTO product_slots VALUES(6,414); +INSERT INTO product_slots VALUES(6,419); +INSERT INTO product_slots VALUES(6,420); +INSERT INTO product_slots VALUES(6,421); +INSERT INTO product_slots VALUES(6,422); +INSERT INTO product_slots VALUES(6,427); +INSERT INTO product_slots VALUES(6,428); +INSERT INTO product_slots VALUES(6,429); +INSERT INTO product_slots VALUES(6,430); +INSERT INTO product_slots VALUES(6,431); +INSERT INTO product_slots VALUES(6,432); +INSERT INTO product_slots VALUES(6,433); +INSERT INTO product_slots VALUES(6,434); +INSERT INTO product_slots VALUES(6,435); +INSERT INTO product_slots VALUES(6,436); +INSERT INTO product_slots VALUES(6,437); +INSERT INTO product_slots VALUES(6,438); +INSERT INTO product_slots VALUES(6,440); +INSERT INTO product_slots VALUES(6,441); +INSERT INTO product_slots VALUES(6,442); +INSERT INTO product_slots VALUES(6,443); +INSERT INTO product_slots VALUES(6,444); +INSERT INTO product_slots VALUES(6,446); +INSERT INTO product_slots VALUES(6,447); +INSERT INTO product_slots VALUES(6,448); +INSERT INTO product_slots VALUES(6,449); +INSERT INTO product_slots VALUES(6,450); +INSERT INTO product_slots VALUES(6,451); +INSERT INTO product_slots VALUES(6,452); +INSERT INTO product_slots VALUES(6,453); +INSERT INTO product_slots VALUES(6,455); +INSERT INTO product_slots VALUES(6,456); +INSERT INTO product_slots VALUES(6,457); +INSERT INTO product_slots VALUES(6,458); +INSERT INTO product_slots VALUES(6,459); +INSERT INTO product_slots VALUES(6,460); +INSERT INTO product_slots VALUES(6,461); +INSERT INTO product_slots VALUES(6,462); +INSERT INTO product_slots VALUES(6,463); +INSERT INTO product_slots VALUES(6,464); +INSERT INTO product_slots VALUES(6,465); +INSERT INTO product_slots VALUES(6,466); +INSERT INTO product_slots VALUES(6,467); +INSERT INTO product_slots VALUES(6,468); +INSERT INTO product_slots VALUES(6,470); +INSERT INTO product_slots VALUES(6,471); INSERT INTO product_slots VALUES(7,1); INSERT INTO product_slots VALUES(7,2); INSERT INTO product_slots VALUES(7,3); @@ -3912,8 +6589,40 @@ INSERT INTO product_slots VALUES(7,241); INSERT INTO product_slots VALUES(7,242); INSERT INTO product_slots VALUES(7,243); INSERT INTO product_slots VALUES(7,244); +INSERT INTO product_slots VALUES(7,245); +INSERT INTO product_slots VALUES(7,246); +INSERT INTO product_slots VALUES(7,247); +INSERT INTO product_slots VALUES(7,248); +INSERT INTO product_slots VALUES(7,249); +INSERT INTO product_slots VALUES(7,250); +INSERT INTO product_slots VALUES(7,251); +INSERT INTO product_slots VALUES(7,252); +INSERT INTO product_slots VALUES(7,253); +INSERT INTO product_slots VALUES(7,254); +INSERT INTO product_slots VALUES(7,255); +INSERT INTO product_slots VALUES(7,256); +INSERT INTO product_slots VALUES(7,257); +INSERT INTO product_slots VALUES(7,258); +INSERT INTO product_slots VALUES(7,259); +INSERT INTO product_slots VALUES(7,260); +INSERT INTO product_slots VALUES(7,261); +INSERT INTO product_slots VALUES(7,262); +INSERT INTO product_slots VALUES(7,263); +INSERT INTO product_slots VALUES(7,264); +INSERT INTO product_slots VALUES(7,265); +INSERT INTO product_slots VALUES(7,266); +INSERT INTO product_slots VALUES(7,267); +INSERT INTO product_slots VALUES(7,268); +INSERT INTO product_slots VALUES(7,269); +INSERT INTO product_slots VALUES(7,270); +INSERT INTO product_slots VALUES(7,271); +INSERT INTO product_slots VALUES(7,272); +INSERT INTO product_slots VALUES(7,273); INSERT INTO product_slots VALUES(7,274); INSERT INTO product_slots VALUES(7,275); +INSERT INTO product_slots VALUES(7,276); +INSERT INTO product_slots VALUES(7,277); +INSERT INTO product_slots VALUES(7,278); INSERT INTO product_slots VALUES(7,279); INSERT INTO product_slots VALUES(7,280); INSERT INTO product_slots VALUES(7,281); @@ -3923,6 +6632,189 @@ INSERT INTO product_slots VALUES(7,284); INSERT INTO product_slots VALUES(7,285); INSERT INTO product_slots VALUES(7,286); INSERT INTO product_slots VALUES(7,287); +INSERT INTO product_slots VALUES(7,288); +INSERT INTO product_slots VALUES(7,289); +INSERT INTO product_slots VALUES(7,290); +INSERT INTO product_slots VALUES(7,291); +INSERT INTO product_slots VALUES(7,292); +INSERT INTO product_slots VALUES(7,293); +INSERT INTO product_slots VALUES(7,294); +INSERT INTO product_slots VALUES(7,295); +INSERT INTO product_slots VALUES(7,296); +INSERT INTO product_slots VALUES(7,297); +INSERT INTO product_slots VALUES(7,298); +INSERT INTO product_slots VALUES(7,299); +INSERT INTO product_slots VALUES(7,300); +INSERT INTO product_slots VALUES(7,301); +INSERT INTO product_slots VALUES(7,302); +INSERT INTO product_slots VALUES(7,303); +INSERT INTO product_slots VALUES(7,304); +INSERT INTO product_slots VALUES(7,305); +INSERT INTO product_slots VALUES(7,306); +INSERT INTO product_slots VALUES(7,307); +INSERT INTO product_slots VALUES(7,308); +INSERT INTO product_slots VALUES(7,309); +INSERT INTO product_slots VALUES(7,310); +INSERT INTO product_slots VALUES(7,311); +INSERT INTO product_slots VALUES(7,312); +INSERT INTO product_slots VALUES(7,313); +INSERT INTO product_slots VALUES(7,314); +INSERT INTO product_slots VALUES(7,315); +INSERT INTO product_slots VALUES(7,316); +INSERT INTO product_slots VALUES(7,317); +INSERT INTO product_slots VALUES(7,318); +INSERT INTO product_slots VALUES(7,319); +INSERT INTO product_slots VALUES(7,320); +INSERT INTO product_slots VALUES(7,321); +INSERT INTO product_slots VALUES(7,322); +INSERT INTO product_slots VALUES(7,323); +INSERT INTO product_slots VALUES(7,324); +INSERT INTO product_slots VALUES(7,325); +INSERT INTO product_slots VALUES(7,326); +INSERT INTO product_slots VALUES(7,327); +INSERT INTO product_slots VALUES(7,328); +INSERT INTO product_slots VALUES(7,329); +INSERT INTO product_slots VALUES(7,330); +INSERT INTO product_slots VALUES(7,331); +INSERT INTO product_slots VALUES(7,332); +INSERT INTO product_slots VALUES(7,333); +INSERT INTO product_slots VALUES(7,334); +INSERT INTO product_slots VALUES(7,335); +INSERT INTO product_slots VALUES(7,336); +INSERT INTO product_slots VALUES(7,337); +INSERT INTO product_slots VALUES(7,338); +INSERT INTO product_slots VALUES(7,339); +INSERT INTO product_slots VALUES(7,340); +INSERT INTO product_slots VALUES(7,341); +INSERT INTO product_slots VALUES(7,342); +INSERT INTO product_slots VALUES(7,343); +INSERT INTO product_slots VALUES(7,344); +INSERT INTO product_slots VALUES(7,345); +INSERT INTO product_slots VALUES(7,346); +INSERT INTO product_slots VALUES(7,347); +INSERT INTO product_slots VALUES(7,348); +INSERT INTO product_slots VALUES(7,349); +INSERT INTO product_slots VALUES(7,350); +INSERT INTO product_slots VALUES(7,351); +INSERT INTO product_slots VALUES(7,352); +INSERT INTO product_slots VALUES(7,353); +INSERT INTO product_slots VALUES(7,354); +INSERT INTO product_slots VALUES(7,355); +INSERT INTO product_slots VALUES(7,356); +INSERT INTO product_slots VALUES(7,357); +INSERT INTO product_slots VALUES(7,358); +INSERT INTO product_slots VALUES(7,359); +INSERT INTO product_slots VALUES(7,360); +INSERT INTO product_slots VALUES(7,361); +INSERT INTO product_slots VALUES(7,362); +INSERT INTO product_slots VALUES(7,363); +INSERT INTO product_slots VALUES(7,364); +INSERT INTO product_slots VALUES(7,365); +INSERT INTO product_slots VALUES(7,366); +INSERT INTO product_slots VALUES(7,367); +INSERT INTO product_slots VALUES(7,368); +INSERT INTO product_slots VALUES(7,369); +INSERT INTO product_slots VALUES(7,370); +INSERT INTO product_slots VALUES(7,371); +INSERT INTO product_slots VALUES(7,372); +INSERT INTO product_slots VALUES(7,373); +INSERT INTO product_slots VALUES(7,374); +INSERT INTO product_slots VALUES(7,375); +INSERT INTO product_slots VALUES(7,376); +INSERT INTO product_slots VALUES(7,377); +INSERT INTO product_slots VALUES(7,378); +INSERT INTO product_slots VALUES(7,379); +INSERT INTO product_slots VALUES(7,380); +INSERT INTO product_slots VALUES(7,381); +INSERT INTO product_slots VALUES(7,382); +INSERT INTO product_slots VALUES(7,383); +INSERT INTO product_slots VALUES(7,384); +INSERT INTO product_slots VALUES(7,385); +INSERT INTO product_slots VALUES(7,386); +INSERT INTO product_slots VALUES(7,387); +INSERT INTO product_slots VALUES(7,388); +INSERT INTO product_slots VALUES(7,389); +INSERT INTO product_slots VALUES(7,390); +INSERT INTO product_slots VALUES(7,391); +INSERT INTO product_slots VALUES(7,392); +INSERT INTO product_slots VALUES(7,393); +INSERT INTO product_slots VALUES(7,394); +INSERT INTO product_slots VALUES(7,395); +INSERT INTO product_slots VALUES(7,396); +INSERT INTO product_slots VALUES(7,397); +INSERT INTO product_slots VALUES(7,398); +INSERT INTO product_slots VALUES(7,399); +INSERT INTO product_slots VALUES(7,400); +INSERT INTO product_slots VALUES(7,401); +INSERT INTO product_slots VALUES(7,402); +INSERT INTO product_slots VALUES(7,403); +INSERT INTO product_slots VALUES(7,404); +INSERT INTO product_slots VALUES(7,405); +INSERT INTO product_slots VALUES(7,406); +INSERT INTO product_slots VALUES(7,407); +INSERT INTO product_slots VALUES(7,408); +INSERT INTO product_slots VALUES(7,409); +INSERT INTO product_slots VALUES(7,410); +INSERT INTO product_slots VALUES(7,411); +INSERT INTO product_slots VALUES(7,412); +INSERT INTO product_slots VALUES(7,413); +INSERT INTO product_slots VALUES(7,414); +INSERT INTO product_slots VALUES(7,415); +INSERT INTO product_slots VALUES(7,416); +INSERT INTO product_slots VALUES(7,417); +INSERT INTO product_slots VALUES(7,418); +INSERT INTO product_slots VALUES(7,419); +INSERT INTO product_slots VALUES(7,420); +INSERT INTO product_slots VALUES(7,421); +INSERT INTO product_slots VALUES(7,422); +INSERT INTO product_slots VALUES(7,423); +INSERT INTO product_slots VALUES(7,424); +INSERT INTO product_slots VALUES(7,425); +INSERT INTO product_slots VALUES(7,426); +INSERT INTO product_slots VALUES(7,427); +INSERT INTO product_slots VALUES(7,428); +INSERT INTO product_slots VALUES(7,429); +INSERT INTO product_slots VALUES(7,430); +INSERT INTO product_slots VALUES(7,431); +INSERT INTO product_slots VALUES(7,432); +INSERT INTO product_slots VALUES(7,433); +INSERT INTO product_slots VALUES(7,434); +INSERT INTO product_slots VALUES(7,435); +INSERT INTO product_slots VALUES(7,436); +INSERT INTO product_slots VALUES(7,437); +INSERT INTO product_slots VALUES(7,438); +INSERT INTO product_slots VALUES(7,439); +INSERT INTO product_slots VALUES(7,440); +INSERT INTO product_slots VALUES(7,441); +INSERT INTO product_slots VALUES(7,442); +INSERT INTO product_slots VALUES(7,443); +INSERT INTO product_slots VALUES(7,444); +INSERT INTO product_slots VALUES(7,445); +INSERT INTO product_slots VALUES(7,446); +INSERT INTO product_slots VALUES(7,447); +INSERT INTO product_slots VALUES(7,448); +INSERT INTO product_slots VALUES(7,449); +INSERT INTO product_slots VALUES(7,450); +INSERT INTO product_slots VALUES(7,451); +INSERT INTO product_slots VALUES(7,452); +INSERT INTO product_slots VALUES(7,453); +INSERT INTO product_slots VALUES(7,455); +INSERT INTO product_slots VALUES(7,456); +INSERT INTO product_slots VALUES(7,457); +INSERT INTO product_slots VALUES(7,458); +INSERT INTO product_slots VALUES(7,459); +INSERT INTO product_slots VALUES(7,460); +INSERT INTO product_slots VALUES(7,461); +INSERT INTO product_slots VALUES(7,462); +INSERT INTO product_slots VALUES(7,463); +INSERT INTO product_slots VALUES(7,464); +INSERT INTO product_slots VALUES(7,465); +INSERT INTO product_slots VALUES(7,466); +INSERT INTO product_slots VALUES(7,467); +INSERT INTO product_slots VALUES(7,468); +INSERT INTO product_slots VALUES(7,469); +INSERT INTO product_slots VALUES(7,470); +INSERT INTO product_slots VALUES(7,471); INSERT INTO product_slots VALUES(8,1); INSERT INTO product_slots VALUES(8,2); INSERT INTO product_slots VALUES(8,3); @@ -4135,8 +7027,40 @@ INSERT INTO product_slots VALUES(8,241); INSERT INTO product_slots VALUES(8,242); INSERT INTO product_slots VALUES(8,243); INSERT INTO product_slots VALUES(8,244); +INSERT INTO product_slots VALUES(8,245); +INSERT INTO product_slots VALUES(8,246); +INSERT INTO product_slots VALUES(8,247); +INSERT INTO product_slots VALUES(8,248); +INSERT INTO product_slots VALUES(8,249); +INSERT INTO product_slots VALUES(8,250); +INSERT INTO product_slots VALUES(8,251); +INSERT INTO product_slots VALUES(8,252); +INSERT INTO product_slots VALUES(8,253); +INSERT INTO product_slots VALUES(8,254); +INSERT INTO product_slots VALUES(8,255); +INSERT INTO product_slots VALUES(8,256); +INSERT INTO product_slots VALUES(8,257); +INSERT INTO product_slots VALUES(8,258); +INSERT INTO product_slots VALUES(8,259); +INSERT INTO product_slots VALUES(8,260); +INSERT INTO product_slots VALUES(8,261); +INSERT INTO product_slots VALUES(8,262); +INSERT INTO product_slots VALUES(8,263); +INSERT INTO product_slots VALUES(8,264); +INSERT INTO product_slots VALUES(8,265); +INSERT INTO product_slots VALUES(8,266); +INSERT INTO product_slots VALUES(8,267); +INSERT INTO product_slots VALUES(8,268); +INSERT INTO product_slots VALUES(8,269); +INSERT INTO product_slots VALUES(8,270); +INSERT INTO product_slots VALUES(8,271); +INSERT INTO product_slots VALUES(8,272); +INSERT INTO product_slots VALUES(8,273); INSERT INTO product_slots VALUES(8,274); INSERT INTO product_slots VALUES(8,275); +INSERT INTO product_slots VALUES(8,276); +INSERT INTO product_slots VALUES(8,277); +INSERT INTO product_slots VALUES(8,278); INSERT INTO product_slots VALUES(8,279); INSERT INTO product_slots VALUES(8,280); INSERT INTO product_slots VALUES(8,281); @@ -4146,6 +7070,189 @@ INSERT INTO product_slots VALUES(8,284); INSERT INTO product_slots VALUES(8,285); INSERT INTO product_slots VALUES(8,286); INSERT INTO product_slots VALUES(8,287); +INSERT INTO product_slots VALUES(8,288); +INSERT INTO product_slots VALUES(8,289); +INSERT INTO product_slots VALUES(8,290); +INSERT INTO product_slots VALUES(8,291); +INSERT INTO product_slots VALUES(8,292); +INSERT INTO product_slots VALUES(8,293); +INSERT INTO product_slots VALUES(8,294); +INSERT INTO product_slots VALUES(8,295); +INSERT INTO product_slots VALUES(8,296); +INSERT INTO product_slots VALUES(8,297); +INSERT INTO product_slots VALUES(8,298); +INSERT INTO product_slots VALUES(8,299); +INSERT INTO product_slots VALUES(8,300); +INSERT INTO product_slots VALUES(8,301); +INSERT INTO product_slots VALUES(8,302); +INSERT INTO product_slots VALUES(8,303); +INSERT INTO product_slots VALUES(8,304); +INSERT INTO product_slots VALUES(8,305); +INSERT INTO product_slots VALUES(8,306); +INSERT INTO product_slots VALUES(8,307); +INSERT INTO product_slots VALUES(8,308); +INSERT INTO product_slots VALUES(8,309); +INSERT INTO product_slots VALUES(8,310); +INSERT INTO product_slots VALUES(8,311); +INSERT INTO product_slots VALUES(8,312); +INSERT INTO product_slots VALUES(8,313); +INSERT INTO product_slots VALUES(8,314); +INSERT INTO product_slots VALUES(8,315); +INSERT INTO product_slots VALUES(8,316); +INSERT INTO product_slots VALUES(8,317); +INSERT INTO product_slots VALUES(8,318); +INSERT INTO product_slots VALUES(8,319); +INSERT INTO product_slots VALUES(8,320); +INSERT INTO product_slots VALUES(8,321); +INSERT INTO product_slots VALUES(8,322); +INSERT INTO product_slots VALUES(8,323); +INSERT INTO product_slots VALUES(8,324); +INSERT INTO product_slots VALUES(8,325); +INSERT INTO product_slots VALUES(8,326); +INSERT INTO product_slots VALUES(8,327); +INSERT INTO product_slots VALUES(8,328); +INSERT INTO product_slots VALUES(8,329); +INSERT INTO product_slots VALUES(8,330); +INSERT INTO product_slots VALUES(8,331); +INSERT INTO product_slots VALUES(8,332); +INSERT INTO product_slots VALUES(8,333); +INSERT INTO product_slots VALUES(8,334); +INSERT INTO product_slots VALUES(8,335); +INSERT INTO product_slots VALUES(8,336); +INSERT INTO product_slots VALUES(8,337); +INSERT INTO product_slots VALUES(8,338); +INSERT INTO product_slots VALUES(8,339); +INSERT INTO product_slots VALUES(8,340); +INSERT INTO product_slots VALUES(8,341); +INSERT INTO product_slots VALUES(8,342); +INSERT INTO product_slots VALUES(8,343); +INSERT INTO product_slots VALUES(8,344); +INSERT INTO product_slots VALUES(8,345); +INSERT INTO product_slots VALUES(8,346); +INSERT INTO product_slots VALUES(8,347); +INSERT INTO product_slots VALUES(8,348); +INSERT INTO product_slots VALUES(8,349); +INSERT INTO product_slots VALUES(8,350); +INSERT INTO product_slots VALUES(8,351); +INSERT INTO product_slots VALUES(8,352); +INSERT INTO product_slots VALUES(8,353); +INSERT INTO product_slots VALUES(8,354); +INSERT INTO product_slots VALUES(8,355); +INSERT INTO product_slots VALUES(8,356); +INSERT INTO product_slots VALUES(8,357); +INSERT INTO product_slots VALUES(8,358); +INSERT INTO product_slots VALUES(8,359); +INSERT INTO product_slots VALUES(8,360); +INSERT INTO product_slots VALUES(8,361); +INSERT INTO product_slots VALUES(8,362); +INSERT INTO product_slots VALUES(8,363); +INSERT INTO product_slots VALUES(8,364); +INSERT INTO product_slots VALUES(8,365); +INSERT INTO product_slots VALUES(8,366); +INSERT INTO product_slots VALUES(8,367); +INSERT INTO product_slots VALUES(8,368); +INSERT INTO product_slots VALUES(8,369); +INSERT INTO product_slots VALUES(8,370); +INSERT INTO product_slots VALUES(8,371); +INSERT INTO product_slots VALUES(8,372); +INSERT INTO product_slots VALUES(8,373); +INSERT INTO product_slots VALUES(8,374); +INSERT INTO product_slots VALUES(8,375); +INSERT INTO product_slots VALUES(8,376); +INSERT INTO product_slots VALUES(8,377); +INSERT INTO product_slots VALUES(8,378); +INSERT INTO product_slots VALUES(8,379); +INSERT INTO product_slots VALUES(8,380); +INSERT INTO product_slots VALUES(8,381); +INSERT INTO product_slots VALUES(8,382); +INSERT INTO product_slots VALUES(8,383); +INSERT INTO product_slots VALUES(8,384); +INSERT INTO product_slots VALUES(8,385); +INSERT INTO product_slots VALUES(8,386); +INSERT INTO product_slots VALUES(8,387); +INSERT INTO product_slots VALUES(8,388); +INSERT INTO product_slots VALUES(8,389); +INSERT INTO product_slots VALUES(8,390); +INSERT INTO product_slots VALUES(8,391); +INSERT INTO product_slots VALUES(8,392); +INSERT INTO product_slots VALUES(8,393); +INSERT INTO product_slots VALUES(8,394); +INSERT INTO product_slots VALUES(8,395); +INSERT INTO product_slots VALUES(8,396); +INSERT INTO product_slots VALUES(8,397); +INSERT INTO product_slots VALUES(8,398); +INSERT INTO product_slots VALUES(8,399); +INSERT INTO product_slots VALUES(8,400); +INSERT INTO product_slots VALUES(8,401); +INSERT INTO product_slots VALUES(8,402); +INSERT INTO product_slots VALUES(8,403); +INSERT INTO product_slots VALUES(8,404); +INSERT INTO product_slots VALUES(8,405); +INSERT INTO product_slots VALUES(8,406); +INSERT INTO product_slots VALUES(8,407); +INSERT INTO product_slots VALUES(8,408); +INSERT INTO product_slots VALUES(8,409); +INSERT INTO product_slots VALUES(8,410); +INSERT INTO product_slots VALUES(8,411); +INSERT INTO product_slots VALUES(8,412); +INSERT INTO product_slots VALUES(8,413); +INSERT INTO product_slots VALUES(8,414); +INSERT INTO product_slots VALUES(8,415); +INSERT INTO product_slots VALUES(8,416); +INSERT INTO product_slots VALUES(8,417); +INSERT INTO product_slots VALUES(8,418); +INSERT INTO product_slots VALUES(8,419); +INSERT INTO product_slots VALUES(8,420); +INSERT INTO product_slots VALUES(8,421); +INSERT INTO product_slots VALUES(8,422); +INSERT INTO product_slots VALUES(8,423); +INSERT INTO product_slots VALUES(8,424); +INSERT INTO product_slots VALUES(8,425); +INSERT INTO product_slots VALUES(8,426); +INSERT INTO product_slots VALUES(8,427); +INSERT INTO product_slots VALUES(8,428); +INSERT INTO product_slots VALUES(8,429); +INSERT INTO product_slots VALUES(8,430); +INSERT INTO product_slots VALUES(8,431); +INSERT INTO product_slots VALUES(8,432); +INSERT INTO product_slots VALUES(8,433); +INSERT INTO product_slots VALUES(8,434); +INSERT INTO product_slots VALUES(8,435); +INSERT INTO product_slots VALUES(8,436); +INSERT INTO product_slots VALUES(8,437); +INSERT INTO product_slots VALUES(8,438); +INSERT INTO product_slots VALUES(8,439); +INSERT INTO product_slots VALUES(8,440); +INSERT INTO product_slots VALUES(8,441); +INSERT INTO product_slots VALUES(8,442); +INSERT INTO product_slots VALUES(8,443); +INSERT INTO product_slots VALUES(8,444); +INSERT INTO product_slots VALUES(8,445); +INSERT INTO product_slots VALUES(8,446); +INSERT INTO product_slots VALUES(8,447); +INSERT INTO product_slots VALUES(8,448); +INSERT INTO product_slots VALUES(8,449); +INSERT INTO product_slots VALUES(8,450); +INSERT INTO product_slots VALUES(8,451); +INSERT INTO product_slots VALUES(8,452); +INSERT INTO product_slots VALUES(8,453); +INSERT INTO product_slots VALUES(8,455); +INSERT INTO product_slots VALUES(8,456); +INSERT INTO product_slots VALUES(8,457); +INSERT INTO product_slots VALUES(8,458); +INSERT INTO product_slots VALUES(8,459); +INSERT INTO product_slots VALUES(8,460); +INSERT INTO product_slots VALUES(8,461); +INSERT INTO product_slots VALUES(8,462); +INSERT INTO product_slots VALUES(8,463); +INSERT INTO product_slots VALUES(8,464); +INSERT INTO product_slots VALUES(8,465); +INSERT INTO product_slots VALUES(8,466); +INSERT INTO product_slots VALUES(8,467); +INSERT INTO product_slots VALUES(8,468); +INSERT INTO product_slots VALUES(8,469); +INSERT INTO product_slots VALUES(8,470); +INSERT INTO product_slots VALUES(8,471); INSERT INTO product_slots VALUES(9,1); INSERT INTO product_slots VALUES(9,2); INSERT INTO product_slots VALUES(9,3); @@ -4333,8 +7440,40 @@ INSERT INTO product_slots VALUES(9,241); INSERT INTO product_slots VALUES(9,242); INSERT INTO product_slots VALUES(9,243); INSERT INTO product_slots VALUES(9,244); +INSERT INTO product_slots VALUES(9,245); +INSERT INTO product_slots VALUES(9,246); +INSERT INTO product_slots VALUES(9,247); +INSERT INTO product_slots VALUES(9,248); +INSERT INTO product_slots VALUES(9,249); +INSERT INTO product_slots VALUES(9,250); +INSERT INTO product_slots VALUES(9,251); +INSERT INTO product_slots VALUES(9,252); +INSERT INTO product_slots VALUES(9,253); +INSERT INTO product_slots VALUES(9,254); +INSERT INTO product_slots VALUES(9,255); +INSERT INTO product_slots VALUES(9,256); +INSERT INTO product_slots VALUES(9,257); +INSERT INTO product_slots VALUES(9,258); +INSERT INTO product_slots VALUES(9,259); +INSERT INTO product_slots VALUES(9,260); +INSERT INTO product_slots VALUES(9,261); +INSERT INTO product_slots VALUES(9,262); +INSERT INTO product_slots VALUES(9,263); +INSERT INTO product_slots VALUES(9,264); +INSERT INTO product_slots VALUES(9,265); +INSERT INTO product_slots VALUES(9,266); +INSERT INTO product_slots VALUES(9,267); +INSERT INTO product_slots VALUES(9,268); +INSERT INTO product_slots VALUES(9,269); +INSERT INTO product_slots VALUES(9,270); +INSERT INTO product_slots VALUES(9,271); +INSERT INTO product_slots VALUES(9,272); +INSERT INTO product_slots VALUES(9,273); INSERT INTO product_slots VALUES(9,274); INSERT INTO product_slots VALUES(9,275); +INSERT INTO product_slots VALUES(9,276); +INSERT INTO product_slots VALUES(9,277); +INSERT INTO product_slots VALUES(9,278); INSERT INTO product_slots VALUES(9,279); INSERT INTO product_slots VALUES(9,280); INSERT INTO product_slots VALUES(9,281); @@ -4344,6 +7483,190 @@ INSERT INTO product_slots VALUES(9,284); INSERT INTO product_slots VALUES(9,285); INSERT INTO product_slots VALUES(9,286); INSERT INTO product_slots VALUES(9,287); +INSERT INTO product_slots VALUES(9,288); +INSERT INTO product_slots VALUES(9,289); +INSERT INTO product_slots VALUES(9,290); +INSERT INTO product_slots VALUES(9,291); +INSERT INTO product_slots VALUES(9,292); +INSERT INTO product_slots VALUES(9,293); +INSERT INTO product_slots VALUES(9,294); +INSERT INTO product_slots VALUES(9,295); +INSERT INTO product_slots VALUES(9,296); +INSERT INTO product_slots VALUES(9,297); +INSERT INTO product_slots VALUES(9,298); +INSERT INTO product_slots VALUES(9,299); +INSERT INTO product_slots VALUES(9,300); +INSERT INTO product_slots VALUES(9,301); +INSERT INTO product_slots VALUES(9,302); +INSERT INTO product_slots VALUES(9,303); +INSERT INTO product_slots VALUES(9,304); +INSERT INTO product_slots VALUES(9,305); +INSERT INTO product_slots VALUES(9,306); +INSERT INTO product_slots VALUES(9,307); +INSERT INTO product_slots VALUES(9,308); +INSERT INTO product_slots VALUES(9,309); +INSERT INTO product_slots VALUES(9,310); +INSERT INTO product_slots VALUES(9,311); +INSERT INTO product_slots VALUES(9,312); +INSERT INTO product_slots VALUES(9,313); +INSERT INTO product_slots VALUES(9,314); +INSERT INTO product_slots VALUES(9,315); +INSERT INTO product_slots VALUES(9,316); +INSERT INTO product_slots VALUES(9,317); +INSERT INTO product_slots VALUES(9,318); +INSERT INTO product_slots VALUES(9,319); +INSERT INTO product_slots VALUES(9,320); +INSERT INTO product_slots VALUES(9,321); +INSERT INTO product_slots VALUES(9,322); +INSERT INTO product_slots VALUES(9,323); +INSERT INTO product_slots VALUES(9,324); +INSERT INTO product_slots VALUES(9,325); +INSERT INTO product_slots VALUES(9,326); +INSERT INTO product_slots VALUES(9,327); +INSERT INTO product_slots VALUES(9,328); +INSERT INTO product_slots VALUES(9,329); +INSERT INTO product_slots VALUES(9,330); +INSERT INTO product_slots VALUES(9,331); +INSERT INTO product_slots VALUES(9,332); +INSERT INTO product_slots VALUES(9,333); +INSERT INTO product_slots VALUES(9,334); +INSERT INTO product_slots VALUES(9,335); +INSERT INTO product_slots VALUES(9,336); +INSERT INTO product_slots VALUES(9,337); +INSERT INTO product_slots VALUES(9,338); +INSERT INTO product_slots VALUES(9,339); +INSERT INTO product_slots VALUES(9,340); +INSERT INTO product_slots VALUES(9,341); +INSERT INTO product_slots VALUES(9,342); +INSERT INTO product_slots VALUES(9,343); +INSERT INTO product_slots VALUES(9,344); +INSERT INTO product_slots VALUES(9,345); +INSERT INTO product_slots VALUES(9,346); +INSERT INTO product_slots VALUES(9,347); +INSERT INTO product_slots VALUES(9,348); +INSERT INTO product_slots VALUES(9,349); +INSERT INTO product_slots VALUES(9,350); +INSERT INTO product_slots VALUES(9,351); +INSERT INTO product_slots VALUES(9,352); +INSERT INTO product_slots VALUES(9,353); +INSERT INTO product_slots VALUES(9,354); +INSERT INTO product_slots VALUES(9,355); +INSERT INTO product_slots VALUES(9,356); +INSERT INTO product_slots VALUES(9,357); +INSERT INTO product_slots VALUES(9,358); +INSERT INTO product_slots VALUES(9,359); +INSERT INTO product_slots VALUES(9,360); +INSERT INTO product_slots VALUES(9,361); +INSERT INTO product_slots VALUES(9,362); +INSERT INTO product_slots VALUES(9,363); +INSERT INTO product_slots VALUES(9,364); +INSERT INTO product_slots VALUES(9,365); +INSERT INTO product_slots VALUES(9,366); +INSERT INTO product_slots VALUES(9,367); +INSERT INTO product_slots VALUES(9,368); +INSERT INTO product_slots VALUES(9,369); +INSERT INTO product_slots VALUES(9,370); +INSERT INTO product_slots VALUES(9,371); +INSERT INTO product_slots VALUES(9,372); +INSERT INTO product_slots VALUES(9,373); +INSERT INTO product_slots VALUES(9,374); +INSERT INTO product_slots VALUES(9,375); +INSERT INTO product_slots VALUES(9,376); +INSERT INTO product_slots VALUES(9,377); +INSERT INTO product_slots VALUES(9,378); +INSERT INTO product_slots VALUES(9,379); +INSERT INTO product_slots VALUES(9,380); +INSERT INTO product_slots VALUES(9,381); +INSERT INTO product_slots VALUES(9,382); +INSERT INTO product_slots VALUES(9,383); +INSERT INTO product_slots VALUES(9,384); +INSERT INTO product_slots VALUES(9,385); +INSERT INTO product_slots VALUES(9,386); +INSERT INTO product_slots VALUES(9,387); +INSERT INTO product_slots VALUES(9,388); +INSERT INTO product_slots VALUES(9,389); +INSERT INTO product_slots VALUES(9,390); +INSERT INTO product_slots VALUES(9,391); +INSERT INTO product_slots VALUES(9,392); +INSERT INTO product_slots VALUES(9,393); +INSERT INTO product_slots VALUES(9,394); +INSERT INTO product_slots VALUES(9,395); +INSERT INTO product_slots VALUES(9,396); +INSERT INTO product_slots VALUES(9,397); +INSERT INTO product_slots VALUES(9,398); +INSERT INTO product_slots VALUES(9,399); +INSERT INTO product_slots VALUES(9,400); +INSERT INTO product_slots VALUES(9,401); +INSERT INTO product_slots VALUES(9,402); +INSERT INTO product_slots VALUES(9,403); +INSERT INTO product_slots VALUES(9,404); +INSERT INTO product_slots VALUES(9,405); +INSERT INTO product_slots VALUES(9,406); +INSERT INTO product_slots VALUES(9,407); +INSERT INTO product_slots VALUES(9,408); +INSERT INTO product_slots VALUES(9,409); +INSERT INTO product_slots VALUES(9,410); +INSERT INTO product_slots VALUES(9,411); +INSERT INTO product_slots VALUES(9,412); +INSERT INTO product_slots VALUES(9,413); +INSERT INTO product_slots VALUES(9,414); +INSERT INTO product_slots VALUES(9,415); +INSERT INTO product_slots VALUES(9,416); +INSERT INTO product_slots VALUES(9,417); +INSERT INTO product_slots VALUES(9,418); +INSERT INTO product_slots VALUES(9,419); +INSERT INTO product_slots VALUES(9,420); +INSERT INTO product_slots VALUES(9,421); +INSERT INTO product_slots VALUES(9,422); +INSERT INTO product_slots VALUES(9,423); +INSERT INTO product_slots VALUES(9,424); +INSERT INTO product_slots VALUES(9,425); +INSERT INTO product_slots VALUES(9,426); +INSERT INTO product_slots VALUES(9,427); +INSERT INTO product_slots VALUES(9,428); +INSERT INTO product_slots VALUES(9,429); +INSERT INTO product_slots VALUES(9,430); +INSERT INTO product_slots VALUES(9,431); +INSERT INTO product_slots VALUES(9,432); +INSERT INTO product_slots VALUES(9,433); +INSERT INTO product_slots VALUES(9,434); +INSERT INTO product_slots VALUES(9,435); +INSERT INTO product_slots VALUES(9,436); +INSERT INTO product_slots VALUES(9,437); +INSERT INTO product_slots VALUES(9,438); +INSERT INTO product_slots VALUES(9,439); +INSERT INTO product_slots VALUES(9,440); +INSERT INTO product_slots VALUES(9,441); +INSERT INTO product_slots VALUES(9,442); +INSERT INTO product_slots VALUES(9,443); +INSERT INTO product_slots VALUES(9,444); +INSERT INTO product_slots VALUES(9,445); +INSERT INTO product_slots VALUES(9,446); +INSERT INTO product_slots VALUES(9,447); +INSERT INTO product_slots VALUES(9,448); +INSERT INTO product_slots VALUES(9,449); +INSERT INTO product_slots VALUES(9,450); +INSERT INTO product_slots VALUES(9,451); +INSERT INTO product_slots VALUES(9,452); +INSERT INTO product_slots VALUES(9,453); +INSERT INTO product_slots VALUES(9,454); +INSERT INTO product_slots VALUES(9,455); +INSERT INTO product_slots VALUES(9,456); +INSERT INTO product_slots VALUES(9,457); +INSERT INTO product_slots VALUES(9,458); +INSERT INTO product_slots VALUES(9,459); +INSERT INTO product_slots VALUES(9,460); +INSERT INTO product_slots VALUES(9,461); +INSERT INTO product_slots VALUES(9,462); +INSERT INTO product_slots VALUES(9,463); +INSERT INTO product_slots VALUES(9,464); +INSERT INTO product_slots VALUES(9,465); +INSERT INTO product_slots VALUES(9,466); +INSERT INTO product_slots VALUES(9,467); +INSERT INTO product_slots VALUES(9,468); +INSERT INTO product_slots VALUES(9,469); +INSERT INTO product_slots VALUES(9,470); +INSERT INTO product_slots VALUES(9,471); INSERT INTO product_slots VALUES(10,1); INSERT INTO product_slots VALUES(10,3); INSERT INTO product_slots VALUES(10,4); @@ -4565,12 +7888,233 @@ INSERT INTO product_slots VALUES(10,241); INSERT INTO product_slots VALUES(10,242); INSERT INTO product_slots VALUES(10,243); INSERT INTO product_slots VALUES(10,244); +INSERT INTO product_slots VALUES(10,245); +INSERT INTO product_slots VALUES(10,246); +INSERT INTO product_slots VALUES(10,247); +INSERT INTO product_slots VALUES(10,248); +INSERT INTO product_slots VALUES(10,249); +INSERT INTO product_slots VALUES(10,250); +INSERT INTO product_slots VALUES(10,251); +INSERT INTO product_slots VALUES(10,252); +INSERT INTO product_slots VALUES(10,253); +INSERT INTO product_slots VALUES(10,254); +INSERT INTO product_slots VALUES(10,255); +INSERT INTO product_slots VALUES(10,256); +INSERT INTO product_slots VALUES(10,257); +INSERT INTO product_slots VALUES(10,258); +INSERT INTO product_slots VALUES(10,259); +INSERT INTO product_slots VALUES(10,260); +INSERT INTO product_slots VALUES(10,261); +INSERT INTO product_slots VALUES(10,262); +INSERT INTO product_slots VALUES(10,263); +INSERT INTO product_slots VALUES(10,264); +INSERT INTO product_slots VALUES(10,265); +INSERT INTO product_slots VALUES(10,266); +INSERT INTO product_slots VALUES(10,267); +INSERT INTO product_slots VALUES(10,268); +INSERT INTO product_slots VALUES(10,269); +INSERT INTO product_slots VALUES(10,270); +INSERT INTO product_slots VALUES(10,271); +INSERT INTO product_slots VALUES(10,272); +INSERT INTO product_slots VALUES(10,273); INSERT INTO product_slots VALUES(10,274); INSERT INTO product_slots VALUES(10,275); +INSERT INTO product_slots VALUES(10,276); +INSERT INTO product_slots VALUES(10,277); +INSERT INTO product_slots VALUES(10,278); INSERT INTO product_slots VALUES(10,279); INSERT INTO product_slots VALUES(10,280); INSERT INTO product_slots VALUES(10,281); INSERT INTO product_slots VALUES(10,282); +INSERT INTO product_slots VALUES(10,283); +INSERT INTO product_slots VALUES(10,284); +INSERT INTO product_slots VALUES(10,285); +INSERT INTO product_slots VALUES(10,286); +INSERT INTO product_slots VALUES(10,287); +INSERT INTO product_slots VALUES(10,288); +INSERT INTO product_slots VALUES(10,289); +INSERT INTO product_slots VALUES(10,290); +INSERT INTO product_slots VALUES(10,291); +INSERT INTO product_slots VALUES(10,292); +INSERT INTO product_slots VALUES(10,293); +INSERT INTO product_slots VALUES(10,294); +INSERT INTO product_slots VALUES(10,295); +INSERT INTO product_slots VALUES(10,296); +INSERT INTO product_slots VALUES(10,297); +INSERT INTO product_slots VALUES(10,298); +INSERT INTO product_slots VALUES(10,299); +INSERT INTO product_slots VALUES(10,300); +INSERT INTO product_slots VALUES(10,301); +INSERT INTO product_slots VALUES(10,302); +INSERT INTO product_slots VALUES(10,303); +INSERT INTO product_slots VALUES(10,304); +INSERT INTO product_slots VALUES(10,305); +INSERT INTO product_slots VALUES(10,306); +INSERT INTO product_slots VALUES(10,307); +INSERT INTO product_slots VALUES(10,308); +INSERT INTO product_slots VALUES(10,309); +INSERT INTO product_slots VALUES(10,310); +INSERT INTO product_slots VALUES(10,311); +INSERT INTO product_slots VALUES(10,312); +INSERT INTO product_slots VALUES(10,313); +INSERT INTO product_slots VALUES(10,314); +INSERT INTO product_slots VALUES(10,315); +INSERT INTO product_slots VALUES(10,316); +INSERT INTO product_slots VALUES(10,317); +INSERT INTO product_slots VALUES(10,318); +INSERT INTO product_slots VALUES(10,319); +INSERT INTO product_slots VALUES(10,320); +INSERT INTO product_slots VALUES(10,321); +INSERT INTO product_slots VALUES(10,322); +INSERT INTO product_slots VALUES(10,323); +INSERT INTO product_slots VALUES(10,324); +INSERT INTO product_slots VALUES(10,325); +INSERT INTO product_slots VALUES(10,326); +INSERT INTO product_slots VALUES(10,327); +INSERT INTO product_slots VALUES(10,328); +INSERT INTO product_slots VALUES(10,329); +INSERT INTO product_slots VALUES(10,330); +INSERT INTO product_slots VALUES(10,331); +INSERT INTO product_slots VALUES(10,332); +INSERT INTO product_slots VALUES(10,333); +INSERT INTO product_slots VALUES(10,334); +INSERT INTO product_slots VALUES(10,335); +INSERT INTO product_slots VALUES(10,336); +INSERT INTO product_slots VALUES(10,337); +INSERT INTO product_slots VALUES(10,338); +INSERT INTO product_slots VALUES(10,339); +INSERT INTO product_slots VALUES(10,340); +INSERT INTO product_slots VALUES(10,341); +INSERT INTO product_slots VALUES(10,342); +INSERT INTO product_slots VALUES(10,343); +INSERT INTO product_slots VALUES(10,344); +INSERT INTO product_slots VALUES(10,345); +INSERT INTO product_slots VALUES(10,346); +INSERT INTO product_slots VALUES(10,347); +INSERT INTO product_slots VALUES(10,348); +INSERT INTO product_slots VALUES(10,349); +INSERT INTO product_slots VALUES(10,350); +INSERT INTO product_slots VALUES(10,351); +INSERT INTO product_slots VALUES(10,352); +INSERT INTO product_slots VALUES(10,353); +INSERT INTO product_slots VALUES(10,354); +INSERT INTO product_slots VALUES(10,355); +INSERT INTO product_slots VALUES(10,356); +INSERT INTO product_slots VALUES(10,357); +INSERT INTO product_slots VALUES(10,358); +INSERT INTO product_slots VALUES(10,359); +INSERT INTO product_slots VALUES(10,360); +INSERT INTO product_slots VALUES(10,361); +INSERT INTO product_slots VALUES(10,362); +INSERT INTO product_slots VALUES(10,363); +INSERT INTO product_slots VALUES(10,364); +INSERT INTO product_slots VALUES(10,365); +INSERT INTO product_slots VALUES(10,366); +INSERT INTO product_slots VALUES(10,367); +INSERT INTO product_slots VALUES(10,368); +INSERT INTO product_slots VALUES(10,369); +INSERT INTO product_slots VALUES(10,370); +INSERT INTO product_slots VALUES(10,371); +INSERT INTO product_slots VALUES(10,372); +INSERT INTO product_slots VALUES(10,373); +INSERT INTO product_slots VALUES(10,374); +INSERT INTO product_slots VALUES(10,375); +INSERT INTO product_slots VALUES(10,376); +INSERT INTO product_slots VALUES(10,377); +INSERT INTO product_slots VALUES(10,378); +INSERT INTO product_slots VALUES(10,379); +INSERT INTO product_slots VALUES(10,380); +INSERT INTO product_slots VALUES(10,381); +INSERT INTO product_slots VALUES(10,382); +INSERT INTO product_slots VALUES(10,383); +INSERT INTO product_slots VALUES(10,384); +INSERT INTO product_slots VALUES(10,385); +INSERT INTO product_slots VALUES(10,386); +INSERT INTO product_slots VALUES(10,387); +INSERT INTO product_slots VALUES(10,388); +INSERT INTO product_slots VALUES(10,389); +INSERT INTO product_slots VALUES(10,390); +INSERT INTO product_slots VALUES(10,391); +INSERT INTO product_slots VALUES(10,392); +INSERT INTO product_slots VALUES(10,393); +INSERT INTO product_slots VALUES(10,394); +INSERT INTO product_slots VALUES(10,395); +INSERT INTO product_slots VALUES(10,396); +INSERT INTO product_slots VALUES(10,397); +INSERT INTO product_slots VALUES(10,398); +INSERT INTO product_slots VALUES(10,399); +INSERT INTO product_slots VALUES(10,400); +INSERT INTO product_slots VALUES(10,401); +INSERT INTO product_slots VALUES(10,402); +INSERT INTO product_slots VALUES(10,403); +INSERT INTO product_slots VALUES(10,404); +INSERT INTO product_slots VALUES(10,405); +INSERT INTO product_slots VALUES(10,406); +INSERT INTO product_slots VALUES(10,407); +INSERT INTO product_slots VALUES(10,408); +INSERT INTO product_slots VALUES(10,409); +INSERT INTO product_slots VALUES(10,410); +INSERT INTO product_slots VALUES(10,411); +INSERT INTO product_slots VALUES(10,412); +INSERT INTO product_slots VALUES(10,413); +INSERT INTO product_slots VALUES(10,414); +INSERT INTO product_slots VALUES(10,415); +INSERT INTO product_slots VALUES(10,416); +INSERT INTO product_slots VALUES(10,417); +INSERT INTO product_slots VALUES(10,418); +INSERT INTO product_slots VALUES(10,419); +INSERT INTO product_slots VALUES(10,420); +INSERT INTO product_slots VALUES(10,421); +INSERT INTO product_slots VALUES(10,422); +INSERT INTO product_slots VALUES(10,423); +INSERT INTO product_slots VALUES(10,424); +INSERT INTO product_slots VALUES(10,425); +INSERT INTO product_slots VALUES(10,426); +INSERT INTO product_slots VALUES(10,427); +INSERT INTO product_slots VALUES(10,428); +INSERT INTO product_slots VALUES(10,429); +INSERT INTO product_slots VALUES(10,430); +INSERT INTO product_slots VALUES(10,431); +INSERT INTO product_slots VALUES(10,432); +INSERT INTO product_slots VALUES(10,433); +INSERT INTO product_slots VALUES(10,434); +INSERT INTO product_slots VALUES(10,435); +INSERT INTO product_slots VALUES(10,436); +INSERT INTO product_slots VALUES(10,437); +INSERT INTO product_slots VALUES(10,438); +INSERT INTO product_slots VALUES(10,439); +INSERT INTO product_slots VALUES(10,440); +INSERT INTO product_slots VALUES(10,441); +INSERT INTO product_slots VALUES(10,442); +INSERT INTO product_slots VALUES(10,443); +INSERT INTO product_slots VALUES(10,444); +INSERT INTO product_slots VALUES(10,445); +INSERT INTO product_slots VALUES(10,446); +INSERT INTO product_slots VALUES(10,447); +INSERT INTO product_slots VALUES(10,448); +INSERT INTO product_slots VALUES(10,449); +INSERT INTO product_slots VALUES(10,450); +INSERT INTO product_slots VALUES(10,451); +INSERT INTO product_slots VALUES(10,452); +INSERT INTO product_slots VALUES(10,453); +INSERT INTO product_slots VALUES(10,454); +INSERT INTO product_slots VALUES(10,455); +INSERT INTO product_slots VALUES(10,456); +INSERT INTO product_slots VALUES(10,457); +INSERT INTO product_slots VALUES(10,458); +INSERT INTO product_slots VALUES(10,459); +INSERT INTO product_slots VALUES(10,460); +INSERT INTO product_slots VALUES(10,461); +INSERT INTO product_slots VALUES(10,462); +INSERT INTO product_slots VALUES(10,463); +INSERT INTO product_slots VALUES(10,464); +INSERT INTO product_slots VALUES(10,465); +INSERT INTO product_slots VALUES(10,466); +INSERT INTO product_slots VALUES(10,467); +INSERT INTO product_slots VALUES(10,468); +INSERT INTO product_slots VALUES(10,469); +INSERT INTO product_slots VALUES(10,470); +INSERT INTO product_slots VALUES(10,471); INSERT INTO product_slots VALUES(11,1); INSERT INTO product_slots VALUES(11,3); INSERT INTO product_slots VALUES(11,4); @@ -4770,8 +8314,40 @@ INSERT INTO product_slots VALUES(11,241); INSERT INTO product_slots VALUES(11,242); INSERT INTO product_slots VALUES(11,243); INSERT INTO product_slots VALUES(11,244); +INSERT INTO product_slots VALUES(11,245); +INSERT INTO product_slots VALUES(11,246); +INSERT INTO product_slots VALUES(11,247); +INSERT INTO product_slots VALUES(11,248); +INSERT INTO product_slots VALUES(11,249); +INSERT INTO product_slots VALUES(11,250); +INSERT INTO product_slots VALUES(11,251); +INSERT INTO product_slots VALUES(11,252); +INSERT INTO product_slots VALUES(11,253); +INSERT INTO product_slots VALUES(11,254); +INSERT INTO product_slots VALUES(11,255); +INSERT INTO product_slots VALUES(11,256); +INSERT INTO product_slots VALUES(11,257); +INSERT INTO product_slots VALUES(11,258); +INSERT INTO product_slots VALUES(11,259); +INSERT INTO product_slots VALUES(11,260); +INSERT INTO product_slots VALUES(11,261); +INSERT INTO product_slots VALUES(11,262); +INSERT INTO product_slots VALUES(11,263); +INSERT INTO product_slots VALUES(11,264); +INSERT INTO product_slots VALUES(11,265); +INSERT INTO product_slots VALUES(11,266); +INSERT INTO product_slots VALUES(11,267); +INSERT INTO product_slots VALUES(11,268); +INSERT INTO product_slots VALUES(11,269); +INSERT INTO product_slots VALUES(11,270); +INSERT INTO product_slots VALUES(11,271); +INSERT INTO product_slots VALUES(11,272); +INSERT INTO product_slots VALUES(11,273); INSERT INTO product_slots VALUES(11,274); INSERT INTO product_slots VALUES(11,275); +INSERT INTO product_slots VALUES(11,276); +INSERT INTO product_slots VALUES(11,277); +INSERT INTO product_slots VALUES(11,278); INSERT INTO product_slots VALUES(11,279); INSERT INTO product_slots VALUES(11,280); INSERT INTO product_slots VALUES(11,281); @@ -4781,6 +8357,189 @@ INSERT INTO product_slots VALUES(11,284); INSERT INTO product_slots VALUES(11,285); INSERT INTO product_slots VALUES(11,286); INSERT INTO product_slots VALUES(11,287); +INSERT INTO product_slots VALUES(11,288); +INSERT INTO product_slots VALUES(11,289); +INSERT INTO product_slots VALUES(11,290); +INSERT INTO product_slots VALUES(11,291); +INSERT INTO product_slots VALUES(11,292); +INSERT INTO product_slots VALUES(11,293); +INSERT INTO product_slots VALUES(11,294); +INSERT INTO product_slots VALUES(11,295); +INSERT INTO product_slots VALUES(11,296); +INSERT INTO product_slots VALUES(11,297); +INSERT INTO product_slots VALUES(11,298); +INSERT INTO product_slots VALUES(11,299); +INSERT INTO product_slots VALUES(11,300); +INSERT INTO product_slots VALUES(11,301); +INSERT INTO product_slots VALUES(11,302); +INSERT INTO product_slots VALUES(11,303); +INSERT INTO product_slots VALUES(11,304); +INSERT INTO product_slots VALUES(11,305); +INSERT INTO product_slots VALUES(11,306); +INSERT INTO product_slots VALUES(11,307); +INSERT INTO product_slots VALUES(11,308); +INSERT INTO product_slots VALUES(11,309); +INSERT INTO product_slots VALUES(11,310); +INSERT INTO product_slots VALUES(11,311); +INSERT INTO product_slots VALUES(11,312); +INSERT INTO product_slots VALUES(11,313); +INSERT INTO product_slots VALUES(11,314); +INSERT INTO product_slots VALUES(11,315); +INSERT INTO product_slots VALUES(11,316); +INSERT INTO product_slots VALUES(11,317); +INSERT INTO product_slots VALUES(11,318); +INSERT INTO product_slots VALUES(11,319); +INSERT INTO product_slots VALUES(11,320); +INSERT INTO product_slots VALUES(11,321); +INSERT INTO product_slots VALUES(11,322); +INSERT INTO product_slots VALUES(11,323); +INSERT INTO product_slots VALUES(11,324); +INSERT INTO product_slots VALUES(11,325); +INSERT INTO product_slots VALUES(11,326); +INSERT INTO product_slots VALUES(11,327); +INSERT INTO product_slots VALUES(11,328); +INSERT INTO product_slots VALUES(11,329); +INSERT INTO product_slots VALUES(11,330); +INSERT INTO product_slots VALUES(11,331); +INSERT INTO product_slots VALUES(11,332); +INSERT INTO product_slots VALUES(11,333); +INSERT INTO product_slots VALUES(11,334); +INSERT INTO product_slots VALUES(11,335); +INSERT INTO product_slots VALUES(11,336); +INSERT INTO product_slots VALUES(11,337); +INSERT INTO product_slots VALUES(11,338); +INSERT INTO product_slots VALUES(11,339); +INSERT INTO product_slots VALUES(11,340); +INSERT INTO product_slots VALUES(11,341); +INSERT INTO product_slots VALUES(11,342); +INSERT INTO product_slots VALUES(11,343); +INSERT INTO product_slots VALUES(11,344); +INSERT INTO product_slots VALUES(11,345); +INSERT INTO product_slots VALUES(11,346); +INSERT INTO product_slots VALUES(11,347); +INSERT INTO product_slots VALUES(11,348); +INSERT INTO product_slots VALUES(11,349); +INSERT INTO product_slots VALUES(11,350); +INSERT INTO product_slots VALUES(11,351); +INSERT INTO product_slots VALUES(11,352); +INSERT INTO product_slots VALUES(11,353); +INSERT INTO product_slots VALUES(11,354); +INSERT INTO product_slots VALUES(11,355); +INSERT INTO product_slots VALUES(11,356); +INSERT INTO product_slots VALUES(11,357); +INSERT INTO product_slots VALUES(11,358); +INSERT INTO product_slots VALUES(11,359); +INSERT INTO product_slots VALUES(11,360); +INSERT INTO product_slots VALUES(11,361); +INSERT INTO product_slots VALUES(11,362); +INSERT INTO product_slots VALUES(11,363); +INSERT INTO product_slots VALUES(11,364); +INSERT INTO product_slots VALUES(11,365); +INSERT INTO product_slots VALUES(11,366); +INSERT INTO product_slots VALUES(11,367); +INSERT INTO product_slots VALUES(11,368); +INSERT INTO product_slots VALUES(11,369); +INSERT INTO product_slots VALUES(11,370); +INSERT INTO product_slots VALUES(11,371); +INSERT INTO product_slots VALUES(11,372); +INSERT INTO product_slots VALUES(11,373); +INSERT INTO product_slots VALUES(11,374); +INSERT INTO product_slots VALUES(11,375); +INSERT INTO product_slots VALUES(11,376); +INSERT INTO product_slots VALUES(11,377); +INSERT INTO product_slots VALUES(11,378); +INSERT INTO product_slots VALUES(11,379); +INSERT INTO product_slots VALUES(11,380); +INSERT INTO product_slots VALUES(11,381); +INSERT INTO product_slots VALUES(11,382); +INSERT INTO product_slots VALUES(11,383); +INSERT INTO product_slots VALUES(11,384); +INSERT INTO product_slots VALUES(11,385); +INSERT INTO product_slots VALUES(11,386); +INSERT INTO product_slots VALUES(11,387); +INSERT INTO product_slots VALUES(11,388); +INSERT INTO product_slots VALUES(11,389); +INSERT INTO product_slots VALUES(11,390); +INSERT INTO product_slots VALUES(11,391); +INSERT INTO product_slots VALUES(11,392); +INSERT INTO product_slots VALUES(11,393); +INSERT INTO product_slots VALUES(11,394); +INSERT INTO product_slots VALUES(11,395); +INSERT INTO product_slots VALUES(11,396); +INSERT INTO product_slots VALUES(11,397); +INSERT INTO product_slots VALUES(11,398); +INSERT INTO product_slots VALUES(11,399); +INSERT INTO product_slots VALUES(11,400); +INSERT INTO product_slots VALUES(11,401); +INSERT INTO product_slots VALUES(11,402); +INSERT INTO product_slots VALUES(11,403); +INSERT INTO product_slots VALUES(11,404); +INSERT INTO product_slots VALUES(11,405); +INSERT INTO product_slots VALUES(11,406); +INSERT INTO product_slots VALUES(11,407); +INSERT INTO product_slots VALUES(11,408); +INSERT INTO product_slots VALUES(11,409); +INSERT INTO product_slots VALUES(11,410); +INSERT INTO product_slots VALUES(11,411); +INSERT INTO product_slots VALUES(11,412); +INSERT INTO product_slots VALUES(11,413); +INSERT INTO product_slots VALUES(11,414); +INSERT INTO product_slots VALUES(11,415); +INSERT INTO product_slots VALUES(11,416); +INSERT INTO product_slots VALUES(11,417); +INSERT INTO product_slots VALUES(11,418); +INSERT INTO product_slots VALUES(11,419); +INSERT INTO product_slots VALUES(11,420); +INSERT INTO product_slots VALUES(11,421); +INSERT INTO product_slots VALUES(11,422); +INSERT INTO product_slots VALUES(11,423); +INSERT INTO product_slots VALUES(11,424); +INSERT INTO product_slots VALUES(11,425); +INSERT INTO product_slots VALUES(11,426); +INSERT INTO product_slots VALUES(11,427); +INSERT INTO product_slots VALUES(11,428); +INSERT INTO product_slots VALUES(11,429); +INSERT INTO product_slots VALUES(11,430); +INSERT INTO product_slots VALUES(11,431); +INSERT INTO product_slots VALUES(11,432); +INSERT INTO product_slots VALUES(11,433); +INSERT INTO product_slots VALUES(11,434); +INSERT INTO product_slots VALUES(11,435); +INSERT INTO product_slots VALUES(11,436); +INSERT INTO product_slots VALUES(11,437); +INSERT INTO product_slots VALUES(11,438); +INSERT INTO product_slots VALUES(11,439); +INSERT INTO product_slots VALUES(11,440); +INSERT INTO product_slots VALUES(11,441); +INSERT INTO product_slots VALUES(11,442); +INSERT INTO product_slots VALUES(11,443); +INSERT INTO product_slots VALUES(11,444); +INSERT INTO product_slots VALUES(11,445); +INSERT INTO product_slots VALUES(11,446); +INSERT INTO product_slots VALUES(11,447); +INSERT INTO product_slots VALUES(11,448); +INSERT INTO product_slots VALUES(11,449); +INSERT INTO product_slots VALUES(11,450); +INSERT INTO product_slots VALUES(11,451); +INSERT INTO product_slots VALUES(11,452); +INSERT INTO product_slots VALUES(11,453); +INSERT INTO product_slots VALUES(11,455); +INSERT INTO product_slots VALUES(11,456); +INSERT INTO product_slots VALUES(11,457); +INSERT INTO product_slots VALUES(11,458); +INSERT INTO product_slots VALUES(11,459); +INSERT INTO product_slots VALUES(11,460); +INSERT INTO product_slots VALUES(11,461); +INSERT INTO product_slots VALUES(11,462); +INSERT INTO product_slots VALUES(11,463); +INSERT INTO product_slots VALUES(11,464); +INSERT INTO product_slots VALUES(11,465); +INSERT INTO product_slots VALUES(11,466); +INSERT INTO product_slots VALUES(11,467); +INSERT INTO product_slots VALUES(11,468); +INSERT INTO product_slots VALUES(11,469); +INSERT INTO product_slots VALUES(11,470); +INSERT INTO product_slots VALUES(11,471); INSERT INTO product_slots VALUES(12,5); INSERT INTO product_slots VALUES(12,6); INSERT INTO product_slots VALUES(12,7); @@ -5009,8 +8768,40 @@ INSERT INTO product_slots VALUES(13,241); INSERT INTO product_slots VALUES(13,242); INSERT INTO product_slots VALUES(13,243); INSERT INTO product_slots VALUES(13,244); +INSERT INTO product_slots VALUES(13,245); +INSERT INTO product_slots VALUES(13,246); +INSERT INTO product_slots VALUES(13,247); +INSERT INTO product_slots VALUES(13,248); +INSERT INTO product_slots VALUES(13,249); +INSERT INTO product_slots VALUES(13,250); +INSERT INTO product_slots VALUES(13,251); +INSERT INTO product_slots VALUES(13,252); +INSERT INTO product_slots VALUES(13,253); +INSERT INTO product_slots VALUES(13,254); +INSERT INTO product_slots VALUES(13,255); +INSERT INTO product_slots VALUES(13,256); +INSERT INTO product_slots VALUES(13,257); +INSERT INTO product_slots VALUES(13,258); +INSERT INTO product_slots VALUES(13,259); +INSERT INTO product_slots VALUES(13,260); +INSERT INTO product_slots VALUES(13,261); +INSERT INTO product_slots VALUES(13,262); +INSERT INTO product_slots VALUES(13,263); +INSERT INTO product_slots VALUES(13,264); +INSERT INTO product_slots VALUES(13,265); +INSERT INTO product_slots VALUES(13,266); +INSERT INTO product_slots VALUES(13,267); +INSERT INTO product_slots VALUES(13,268); +INSERT INTO product_slots VALUES(13,269); +INSERT INTO product_slots VALUES(13,270); +INSERT INTO product_slots VALUES(13,271); +INSERT INTO product_slots VALUES(13,272); +INSERT INTO product_slots VALUES(13,273); INSERT INTO product_slots VALUES(13,274); INSERT INTO product_slots VALUES(13,275); +INSERT INTO product_slots VALUES(13,276); +INSERT INTO product_slots VALUES(13,277); +INSERT INTO product_slots VALUES(13,278); INSERT INTO product_slots VALUES(13,279); INSERT INTO product_slots VALUES(13,280); INSERT INTO product_slots VALUES(13,281); @@ -5020,6 +8811,189 @@ INSERT INTO product_slots VALUES(13,284); INSERT INTO product_slots VALUES(13,285); INSERT INTO product_slots VALUES(13,286); INSERT INTO product_slots VALUES(13,287); +INSERT INTO product_slots VALUES(13,288); +INSERT INTO product_slots VALUES(13,289); +INSERT INTO product_slots VALUES(13,290); +INSERT INTO product_slots VALUES(13,291); +INSERT INTO product_slots VALUES(13,292); +INSERT INTO product_slots VALUES(13,293); +INSERT INTO product_slots VALUES(13,294); +INSERT INTO product_slots VALUES(13,295); +INSERT INTO product_slots VALUES(13,296); +INSERT INTO product_slots VALUES(13,297); +INSERT INTO product_slots VALUES(13,298); +INSERT INTO product_slots VALUES(13,299); +INSERT INTO product_slots VALUES(13,300); +INSERT INTO product_slots VALUES(13,301); +INSERT INTO product_slots VALUES(13,302); +INSERT INTO product_slots VALUES(13,303); +INSERT INTO product_slots VALUES(13,304); +INSERT INTO product_slots VALUES(13,305); +INSERT INTO product_slots VALUES(13,306); +INSERT INTO product_slots VALUES(13,307); +INSERT INTO product_slots VALUES(13,308); +INSERT INTO product_slots VALUES(13,309); +INSERT INTO product_slots VALUES(13,310); +INSERT INTO product_slots VALUES(13,311); +INSERT INTO product_slots VALUES(13,312); +INSERT INTO product_slots VALUES(13,313); +INSERT INTO product_slots VALUES(13,314); +INSERT INTO product_slots VALUES(13,315); +INSERT INTO product_slots VALUES(13,316); +INSERT INTO product_slots VALUES(13,317); +INSERT INTO product_slots VALUES(13,318); +INSERT INTO product_slots VALUES(13,319); +INSERT INTO product_slots VALUES(13,320); +INSERT INTO product_slots VALUES(13,321); +INSERT INTO product_slots VALUES(13,322); +INSERT INTO product_slots VALUES(13,323); +INSERT INTO product_slots VALUES(13,324); +INSERT INTO product_slots VALUES(13,325); +INSERT INTO product_slots VALUES(13,326); +INSERT INTO product_slots VALUES(13,327); +INSERT INTO product_slots VALUES(13,328); +INSERT INTO product_slots VALUES(13,329); +INSERT INTO product_slots VALUES(13,330); +INSERT INTO product_slots VALUES(13,331); +INSERT INTO product_slots VALUES(13,332); +INSERT INTO product_slots VALUES(13,333); +INSERT INTO product_slots VALUES(13,334); +INSERT INTO product_slots VALUES(13,335); +INSERT INTO product_slots VALUES(13,336); +INSERT INTO product_slots VALUES(13,337); +INSERT INTO product_slots VALUES(13,338); +INSERT INTO product_slots VALUES(13,339); +INSERT INTO product_slots VALUES(13,340); +INSERT INTO product_slots VALUES(13,341); +INSERT INTO product_slots VALUES(13,342); +INSERT INTO product_slots VALUES(13,343); +INSERT INTO product_slots VALUES(13,344); +INSERT INTO product_slots VALUES(13,345); +INSERT INTO product_slots VALUES(13,346); +INSERT INTO product_slots VALUES(13,347); +INSERT INTO product_slots VALUES(13,348); +INSERT INTO product_slots VALUES(13,349); +INSERT INTO product_slots VALUES(13,350); +INSERT INTO product_slots VALUES(13,351); +INSERT INTO product_slots VALUES(13,352); +INSERT INTO product_slots VALUES(13,353); +INSERT INTO product_slots VALUES(13,354); +INSERT INTO product_slots VALUES(13,355); +INSERT INTO product_slots VALUES(13,356); +INSERT INTO product_slots VALUES(13,357); +INSERT INTO product_slots VALUES(13,358); +INSERT INTO product_slots VALUES(13,359); +INSERT INTO product_slots VALUES(13,360); +INSERT INTO product_slots VALUES(13,361); +INSERT INTO product_slots VALUES(13,362); +INSERT INTO product_slots VALUES(13,363); +INSERT INTO product_slots VALUES(13,364); +INSERT INTO product_slots VALUES(13,365); +INSERT INTO product_slots VALUES(13,366); +INSERT INTO product_slots VALUES(13,367); +INSERT INTO product_slots VALUES(13,368); +INSERT INTO product_slots VALUES(13,369); +INSERT INTO product_slots VALUES(13,370); +INSERT INTO product_slots VALUES(13,371); +INSERT INTO product_slots VALUES(13,372); +INSERT INTO product_slots VALUES(13,373); +INSERT INTO product_slots VALUES(13,374); +INSERT INTO product_slots VALUES(13,375); +INSERT INTO product_slots VALUES(13,376); +INSERT INTO product_slots VALUES(13,377); +INSERT INTO product_slots VALUES(13,378); +INSERT INTO product_slots VALUES(13,379); +INSERT INTO product_slots VALUES(13,380); +INSERT INTO product_slots VALUES(13,381); +INSERT INTO product_slots VALUES(13,382); +INSERT INTO product_slots VALUES(13,383); +INSERT INTO product_slots VALUES(13,384); +INSERT INTO product_slots VALUES(13,385); +INSERT INTO product_slots VALUES(13,386); +INSERT INTO product_slots VALUES(13,387); +INSERT INTO product_slots VALUES(13,388); +INSERT INTO product_slots VALUES(13,389); +INSERT INTO product_slots VALUES(13,390); +INSERT INTO product_slots VALUES(13,391); +INSERT INTO product_slots VALUES(13,392); +INSERT INTO product_slots VALUES(13,393); +INSERT INTO product_slots VALUES(13,394); +INSERT INTO product_slots VALUES(13,395); +INSERT INTO product_slots VALUES(13,396); +INSERT INTO product_slots VALUES(13,397); +INSERT INTO product_slots VALUES(13,398); +INSERT INTO product_slots VALUES(13,399); +INSERT INTO product_slots VALUES(13,400); +INSERT INTO product_slots VALUES(13,401); +INSERT INTO product_slots VALUES(13,402); +INSERT INTO product_slots VALUES(13,403); +INSERT INTO product_slots VALUES(13,404); +INSERT INTO product_slots VALUES(13,405); +INSERT INTO product_slots VALUES(13,406); +INSERT INTO product_slots VALUES(13,407); +INSERT INTO product_slots VALUES(13,408); +INSERT INTO product_slots VALUES(13,409); +INSERT INTO product_slots VALUES(13,410); +INSERT INTO product_slots VALUES(13,411); +INSERT INTO product_slots VALUES(13,412); +INSERT INTO product_slots VALUES(13,413); +INSERT INTO product_slots VALUES(13,414); +INSERT INTO product_slots VALUES(13,415); +INSERT INTO product_slots VALUES(13,416); +INSERT INTO product_slots VALUES(13,417); +INSERT INTO product_slots VALUES(13,418); +INSERT INTO product_slots VALUES(13,419); +INSERT INTO product_slots VALUES(13,420); +INSERT INTO product_slots VALUES(13,421); +INSERT INTO product_slots VALUES(13,422); +INSERT INTO product_slots VALUES(13,423); +INSERT INTO product_slots VALUES(13,424); +INSERT INTO product_slots VALUES(13,425); +INSERT INTO product_slots VALUES(13,426); +INSERT INTO product_slots VALUES(13,427); +INSERT INTO product_slots VALUES(13,428); +INSERT INTO product_slots VALUES(13,429); +INSERT INTO product_slots VALUES(13,430); +INSERT INTO product_slots VALUES(13,431); +INSERT INTO product_slots VALUES(13,432); +INSERT INTO product_slots VALUES(13,433); +INSERT INTO product_slots VALUES(13,434); +INSERT INTO product_slots VALUES(13,435); +INSERT INTO product_slots VALUES(13,436); +INSERT INTO product_slots VALUES(13,437); +INSERT INTO product_slots VALUES(13,438); +INSERT INTO product_slots VALUES(13,439); +INSERT INTO product_slots VALUES(13,440); +INSERT INTO product_slots VALUES(13,441); +INSERT INTO product_slots VALUES(13,442); +INSERT INTO product_slots VALUES(13,443); +INSERT INTO product_slots VALUES(13,444); +INSERT INTO product_slots VALUES(13,445); +INSERT INTO product_slots VALUES(13,446); +INSERT INTO product_slots VALUES(13,447); +INSERT INTO product_slots VALUES(13,448); +INSERT INTO product_slots VALUES(13,449); +INSERT INTO product_slots VALUES(13,450); +INSERT INTO product_slots VALUES(13,451); +INSERT INTO product_slots VALUES(13,452); +INSERT INTO product_slots VALUES(13,453); +INSERT INTO product_slots VALUES(13,455); +INSERT INTO product_slots VALUES(13,456); +INSERT INTO product_slots VALUES(13,457); +INSERT INTO product_slots VALUES(13,458); +INSERT INTO product_slots VALUES(13,459); +INSERT INTO product_slots VALUES(13,460); +INSERT INTO product_slots VALUES(13,461); +INSERT INTO product_slots VALUES(13,462); +INSERT INTO product_slots VALUES(13,463); +INSERT INTO product_slots VALUES(13,464); +INSERT INTO product_slots VALUES(13,465); +INSERT INTO product_slots VALUES(13,466); +INSERT INTO product_slots VALUES(13,467); +INSERT INTO product_slots VALUES(13,468); +INSERT INTO product_slots VALUES(13,469); +INSERT INTO product_slots VALUES(13,470); +INSERT INTO product_slots VALUES(13,471); INSERT INTO product_slots VALUES(14,5); INSERT INTO product_slots VALUES(14,6); INSERT INTO product_slots VALUES(14,7); @@ -5171,11 +9145,136 @@ INSERT INTO product_slots VALUES(14,237); INSERT INTO product_slots VALUES(14,238); INSERT INTO product_slots VALUES(14,239); INSERT INTO product_slots VALUES(14,240); +INSERT INTO product_slots VALUES(14,245); +INSERT INTO product_slots VALUES(14,246); +INSERT INTO product_slots VALUES(14,247); +INSERT INTO product_slots VALUES(14,248); +INSERT INTO product_slots VALUES(14,252); +INSERT INTO product_slots VALUES(14,253); +INSERT INTO product_slots VALUES(14,255); +INSERT INTO product_slots VALUES(14,259); +INSERT INTO product_slots VALUES(14,260); +INSERT INTO product_slots VALUES(14,261); +INSERT INTO product_slots VALUES(14,262); +INSERT INTO product_slots VALUES(14,263); +INSERT INTO product_slots VALUES(14,266); +INSERT INTO product_slots VALUES(14,267); +INSERT INTO product_slots VALUES(14,268); +INSERT INTO product_slots VALUES(14,269); +INSERT INTO product_slots VALUES(14,270); +INSERT INTO product_slots VALUES(14,273); INSERT INTO product_slots VALUES(14,274); INSERT INTO product_slots VALUES(14,275); INSERT INTO product_slots VALUES(14,277); INSERT INTO product_slots VALUES(14,278); INSERT INTO product_slots VALUES(14,279); +INSERT INTO product_slots VALUES(14,280); +INSERT INTO product_slots VALUES(14,281); +INSERT INTO product_slots VALUES(14,282); +INSERT INTO product_slots VALUES(14,283); +INSERT INTO product_slots VALUES(14,287); +INSERT INTO product_slots VALUES(14,288); +INSERT INTO product_slots VALUES(14,289); +INSERT INTO product_slots VALUES(14,290); +INSERT INTO product_slots VALUES(14,294); +INSERT INTO product_slots VALUES(14,295); +INSERT INTO product_slots VALUES(14,296); +INSERT INTO product_slots VALUES(14,297); +INSERT INTO product_slots VALUES(14,301); +INSERT INTO product_slots VALUES(14,302); +INSERT INTO product_slots VALUES(14,308); +INSERT INTO product_slots VALUES(14,309); +INSERT INTO product_slots VALUES(14,310); +INSERT INTO product_slots VALUES(14,311); +INSERT INTO product_slots VALUES(14,315); +INSERT INTO product_slots VALUES(14,316); +INSERT INTO product_slots VALUES(14,317); +INSERT INTO product_slots VALUES(14,318); +INSERT INTO product_slots VALUES(14,319); +INSERT INTO product_slots VALUES(14,322); +INSERT INTO product_slots VALUES(14,323); +INSERT INTO product_slots VALUES(14,324); +INSERT INTO product_slots VALUES(14,325); +INSERT INTO product_slots VALUES(14,329); +INSERT INTO product_slots VALUES(14,330); +INSERT INTO product_slots VALUES(14,334); +INSERT INTO product_slots VALUES(14,335); +INSERT INTO product_slots VALUES(14,336); +INSERT INTO product_slots VALUES(14,337); +INSERT INTO product_slots VALUES(14,338); +INSERT INTO product_slots VALUES(14,341); +INSERT INTO product_slots VALUES(14,342); +INSERT INTO product_slots VALUES(14,343); +INSERT INTO product_slots VALUES(14,344); +INSERT INTO product_slots VALUES(14,348); +INSERT INTO product_slots VALUES(14,349); +INSERT INTO product_slots VALUES(14,350); +INSERT INTO product_slots VALUES(14,351); +INSERT INTO product_slots VALUES(14,355); +INSERT INTO product_slots VALUES(14,356); +INSERT INTO product_slots VALUES(14,357); +INSERT INTO product_slots VALUES(14,358); +INSERT INTO product_slots VALUES(14,360); +INSERT INTO product_slots VALUES(14,361); +INSERT INTO product_slots VALUES(14,362); +INSERT INTO product_slots VALUES(14,363); +INSERT INTO product_slots VALUES(14,367); +INSERT INTO product_slots VALUES(14,368); +INSERT INTO product_slots VALUES(14,369); +INSERT INTO product_slots VALUES(14,370); +INSERT INTO product_slots VALUES(14,374); +INSERT INTO product_slots VALUES(14,375); +INSERT INTO product_slots VALUES(14,376); +INSERT INTO product_slots VALUES(14,377); +INSERT INTO product_slots VALUES(14,381); +INSERT INTO product_slots VALUES(14,382); +INSERT INTO product_slots VALUES(14,383); +INSERT INTO product_slots VALUES(14,384); +INSERT INTO product_slots VALUES(14,385); +INSERT INTO product_slots VALUES(14,389); +INSERT INTO product_slots VALUES(14,390); +INSERT INTO product_slots VALUES(14,391); +INSERT INTO product_slots VALUES(14,395); +INSERT INTO product_slots VALUES(14,396); +INSERT INTO product_slots VALUES(14,397); +INSERT INTO product_slots VALUES(14,398); +INSERT INTO product_slots VALUES(14,399); +INSERT INTO product_slots VALUES(14,400); +INSERT INTO product_slots VALUES(14,401); +INSERT INTO product_slots VALUES(14,402); +INSERT INTO product_slots VALUES(14,403); +INSERT INTO product_slots VALUES(14,404); +INSERT INTO product_slots VALUES(14,405); +INSERT INTO product_slots VALUES(14,406); +INSERT INTO product_slots VALUES(14,411); +INSERT INTO product_slots VALUES(14,412); +INSERT INTO product_slots VALUES(14,413); +INSERT INTO product_slots VALUES(14,414); +INSERT INTO product_slots VALUES(14,419); +INSERT INTO product_slots VALUES(14,420); +INSERT INTO product_slots VALUES(14,421); +INSERT INTO product_slots VALUES(14,422); +INSERT INTO product_slots VALUES(14,427); +INSERT INTO product_slots VALUES(14,428); +INSERT INTO product_slots VALUES(14,429); +INSERT INTO product_slots VALUES(14,434); +INSERT INTO product_slots VALUES(14,435); +INSERT INTO product_slots VALUES(14,436); +INSERT INTO product_slots VALUES(14,437); +INSERT INTO product_slots VALUES(14,442); +INSERT INTO product_slots VALUES(14,443); +INSERT INTO product_slots VALUES(14,444); +INSERT INTO product_slots VALUES(14,450); +INSERT INTO product_slots VALUES(14,451); +INSERT INTO product_slots VALUES(14,452); +INSERT INTO product_slots VALUES(14,453); +INSERT INTO product_slots VALUES(14,458); +INSERT INTO product_slots VALUES(14,459); +INSERT INTO product_slots VALUES(14,460); +INSERT INTO product_slots VALUES(14,461); +INSERT INTO product_slots VALUES(14,466); +INSERT INTO product_slots VALUES(14,467); +INSERT INTO product_slots VALUES(14,468); INSERT INTO product_slots VALUES(15,5); INSERT INTO product_slots VALUES(15,6); INSERT INTO product_slots VALUES(15,7); @@ -5204,7 +9303,16 @@ INSERT INTO product_slots VALUES(15,66); INSERT INTO product_slots VALUES(15,67); INSERT INTO product_slots VALUES(15,72); INSERT INTO product_slots VALUES(15,73); -INSERT INTO product_slots VALUES(15,279); +INSERT INTO product_slots VALUES(15,288); +INSERT INTO product_slots VALUES(15,289); +INSERT INTO product_slots VALUES(15,290); +INSERT INTO product_slots VALUES(15,378); +INSERT INTO product_slots VALUES(15,407); +INSERT INTO product_slots VALUES(15,408); +INSERT INTO product_slots VALUES(15,409); +INSERT INTO product_slots VALUES(15,410); +INSERT INTO product_slots VALUES(15,430); +INSERT INTO product_slots VALUES(15,431); INSERT INTO product_slots VALUES(16,16); INSERT INTO product_slots VALUES(16,18); INSERT INTO product_slots VALUES(16,20); @@ -5409,8 +9517,40 @@ INSERT INTO product_slots VALUES(16,241); INSERT INTO product_slots VALUES(16,242); INSERT INTO product_slots VALUES(16,243); INSERT INTO product_slots VALUES(16,244); +INSERT INTO product_slots VALUES(16,245); +INSERT INTO product_slots VALUES(16,246); +INSERT INTO product_slots VALUES(16,247); +INSERT INTO product_slots VALUES(16,248); +INSERT INTO product_slots VALUES(16,249); +INSERT INTO product_slots VALUES(16,250); +INSERT INTO product_slots VALUES(16,251); +INSERT INTO product_slots VALUES(16,252); +INSERT INTO product_slots VALUES(16,253); +INSERT INTO product_slots VALUES(16,254); +INSERT INTO product_slots VALUES(16,255); +INSERT INTO product_slots VALUES(16,256); +INSERT INTO product_slots VALUES(16,257); +INSERT INTO product_slots VALUES(16,258); +INSERT INTO product_slots VALUES(16,259); +INSERT INTO product_slots VALUES(16,260); +INSERT INTO product_slots VALUES(16,261); +INSERT INTO product_slots VALUES(16,262); +INSERT INTO product_slots VALUES(16,263); +INSERT INTO product_slots VALUES(16,264); +INSERT INTO product_slots VALUES(16,265); +INSERT INTO product_slots VALUES(16,266); +INSERT INTO product_slots VALUES(16,267); +INSERT INTO product_slots VALUES(16,268); +INSERT INTO product_slots VALUES(16,269); +INSERT INTO product_slots VALUES(16,270); +INSERT INTO product_slots VALUES(16,271); +INSERT INTO product_slots VALUES(16,272); +INSERT INTO product_slots VALUES(16,273); INSERT INTO product_slots VALUES(16,274); INSERT INTO product_slots VALUES(16,275); +INSERT INTO product_slots VALUES(16,276); +INSERT INTO product_slots VALUES(16,277); +INSERT INTO product_slots VALUES(16,278); INSERT INTO product_slots VALUES(16,279); INSERT INTO product_slots VALUES(16,280); INSERT INTO product_slots VALUES(16,281); @@ -5420,6 +9560,190 @@ INSERT INTO product_slots VALUES(16,284); INSERT INTO product_slots VALUES(16,285); INSERT INTO product_slots VALUES(16,286); INSERT INTO product_slots VALUES(16,287); +INSERT INTO product_slots VALUES(16,288); +INSERT INTO product_slots VALUES(16,289); +INSERT INTO product_slots VALUES(16,290); +INSERT INTO product_slots VALUES(16,291); +INSERT INTO product_slots VALUES(16,292); +INSERT INTO product_slots VALUES(16,293); +INSERT INTO product_slots VALUES(16,294); +INSERT INTO product_slots VALUES(16,295); +INSERT INTO product_slots VALUES(16,296); +INSERT INTO product_slots VALUES(16,297); +INSERT INTO product_slots VALUES(16,298); +INSERT INTO product_slots VALUES(16,299); +INSERT INTO product_slots VALUES(16,300); +INSERT INTO product_slots VALUES(16,301); +INSERT INTO product_slots VALUES(16,302); +INSERT INTO product_slots VALUES(16,303); +INSERT INTO product_slots VALUES(16,304); +INSERT INTO product_slots VALUES(16,305); +INSERT INTO product_slots VALUES(16,306); +INSERT INTO product_slots VALUES(16,307); +INSERT INTO product_slots VALUES(16,308); +INSERT INTO product_slots VALUES(16,309); +INSERT INTO product_slots VALUES(16,310); +INSERT INTO product_slots VALUES(16,311); +INSERT INTO product_slots VALUES(16,312); +INSERT INTO product_slots VALUES(16,313); +INSERT INTO product_slots VALUES(16,314); +INSERT INTO product_slots VALUES(16,315); +INSERT INTO product_slots VALUES(16,316); +INSERT INTO product_slots VALUES(16,317); +INSERT INTO product_slots VALUES(16,318); +INSERT INTO product_slots VALUES(16,319); +INSERT INTO product_slots VALUES(16,320); +INSERT INTO product_slots VALUES(16,321); +INSERT INTO product_slots VALUES(16,322); +INSERT INTO product_slots VALUES(16,323); +INSERT INTO product_slots VALUES(16,324); +INSERT INTO product_slots VALUES(16,325); +INSERT INTO product_slots VALUES(16,326); +INSERT INTO product_slots VALUES(16,327); +INSERT INTO product_slots VALUES(16,328); +INSERT INTO product_slots VALUES(16,329); +INSERT INTO product_slots VALUES(16,330); +INSERT INTO product_slots VALUES(16,331); +INSERT INTO product_slots VALUES(16,332); +INSERT INTO product_slots VALUES(16,333); +INSERT INTO product_slots VALUES(16,334); +INSERT INTO product_slots VALUES(16,335); +INSERT INTO product_slots VALUES(16,336); +INSERT INTO product_slots VALUES(16,337); +INSERT INTO product_slots VALUES(16,338); +INSERT INTO product_slots VALUES(16,339); +INSERT INTO product_slots VALUES(16,340); +INSERT INTO product_slots VALUES(16,341); +INSERT INTO product_slots VALUES(16,342); +INSERT INTO product_slots VALUES(16,343); +INSERT INTO product_slots VALUES(16,344); +INSERT INTO product_slots VALUES(16,345); +INSERT INTO product_slots VALUES(16,346); +INSERT INTO product_slots VALUES(16,347); +INSERT INTO product_slots VALUES(16,348); +INSERT INTO product_slots VALUES(16,349); +INSERT INTO product_slots VALUES(16,350); +INSERT INTO product_slots VALUES(16,351); +INSERT INTO product_slots VALUES(16,352); +INSERT INTO product_slots VALUES(16,353); +INSERT INTO product_slots VALUES(16,354); +INSERT INTO product_slots VALUES(16,355); +INSERT INTO product_slots VALUES(16,356); +INSERT INTO product_slots VALUES(16,357); +INSERT INTO product_slots VALUES(16,358); +INSERT INTO product_slots VALUES(16,359); +INSERT INTO product_slots VALUES(16,360); +INSERT INTO product_slots VALUES(16,361); +INSERT INTO product_slots VALUES(16,362); +INSERT INTO product_slots VALUES(16,363); +INSERT INTO product_slots VALUES(16,364); +INSERT INTO product_slots VALUES(16,365); +INSERT INTO product_slots VALUES(16,366); +INSERT INTO product_slots VALUES(16,367); +INSERT INTO product_slots VALUES(16,368); +INSERT INTO product_slots VALUES(16,369); +INSERT INTO product_slots VALUES(16,370); +INSERT INTO product_slots VALUES(16,371); +INSERT INTO product_slots VALUES(16,372); +INSERT INTO product_slots VALUES(16,373); +INSERT INTO product_slots VALUES(16,374); +INSERT INTO product_slots VALUES(16,375); +INSERT INTO product_slots VALUES(16,376); +INSERT INTO product_slots VALUES(16,377); +INSERT INTO product_slots VALUES(16,378); +INSERT INTO product_slots VALUES(16,379); +INSERT INTO product_slots VALUES(16,380); +INSERT INTO product_slots VALUES(16,381); +INSERT INTO product_slots VALUES(16,382); +INSERT INTO product_slots VALUES(16,383); +INSERT INTO product_slots VALUES(16,384); +INSERT INTO product_slots VALUES(16,385); +INSERT INTO product_slots VALUES(16,386); +INSERT INTO product_slots VALUES(16,387); +INSERT INTO product_slots VALUES(16,388); +INSERT INTO product_slots VALUES(16,389); +INSERT INTO product_slots VALUES(16,390); +INSERT INTO product_slots VALUES(16,391); +INSERT INTO product_slots VALUES(16,392); +INSERT INTO product_slots VALUES(16,393); +INSERT INTO product_slots VALUES(16,394); +INSERT INTO product_slots VALUES(16,395); +INSERT INTO product_slots VALUES(16,396); +INSERT INTO product_slots VALUES(16,397); +INSERT INTO product_slots VALUES(16,398); +INSERT INTO product_slots VALUES(16,399); +INSERT INTO product_slots VALUES(16,400); +INSERT INTO product_slots VALUES(16,401); +INSERT INTO product_slots VALUES(16,402); +INSERT INTO product_slots VALUES(16,403); +INSERT INTO product_slots VALUES(16,404); +INSERT INTO product_slots VALUES(16,405); +INSERT INTO product_slots VALUES(16,406); +INSERT INTO product_slots VALUES(16,407); +INSERT INTO product_slots VALUES(16,408); +INSERT INTO product_slots VALUES(16,409); +INSERT INTO product_slots VALUES(16,410); +INSERT INTO product_slots VALUES(16,411); +INSERT INTO product_slots VALUES(16,412); +INSERT INTO product_slots VALUES(16,413); +INSERT INTO product_slots VALUES(16,414); +INSERT INTO product_slots VALUES(16,415); +INSERT INTO product_slots VALUES(16,416); +INSERT INTO product_slots VALUES(16,417); +INSERT INTO product_slots VALUES(16,418); +INSERT INTO product_slots VALUES(16,419); +INSERT INTO product_slots VALUES(16,420); +INSERT INTO product_slots VALUES(16,421); +INSERT INTO product_slots VALUES(16,422); +INSERT INTO product_slots VALUES(16,423); +INSERT INTO product_slots VALUES(16,424); +INSERT INTO product_slots VALUES(16,425); +INSERT INTO product_slots VALUES(16,426); +INSERT INTO product_slots VALUES(16,427); +INSERT INTO product_slots VALUES(16,428); +INSERT INTO product_slots VALUES(16,429); +INSERT INTO product_slots VALUES(16,430); +INSERT INTO product_slots VALUES(16,431); +INSERT INTO product_slots VALUES(16,432); +INSERT INTO product_slots VALUES(16,433); +INSERT INTO product_slots VALUES(16,434); +INSERT INTO product_slots VALUES(16,435); +INSERT INTO product_slots VALUES(16,436); +INSERT INTO product_slots VALUES(16,437); +INSERT INTO product_slots VALUES(16,438); +INSERT INTO product_slots VALUES(16,439); +INSERT INTO product_slots VALUES(16,440); +INSERT INTO product_slots VALUES(16,441); +INSERT INTO product_slots VALUES(16,442); +INSERT INTO product_slots VALUES(16,443); +INSERT INTO product_slots VALUES(16,444); +INSERT INTO product_slots VALUES(16,445); +INSERT INTO product_slots VALUES(16,446); +INSERT INTO product_slots VALUES(16,447); +INSERT INTO product_slots VALUES(16,448); +INSERT INTO product_slots VALUES(16,449); +INSERT INTO product_slots VALUES(16,450); +INSERT INTO product_slots VALUES(16,451); +INSERT INTO product_slots VALUES(16,452); +INSERT INTO product_slots VALUES(16,453); +INSERT INTO product_slots VALUES(16,454); +INSERT INTO product_slots VALUES(16,455); +INSERT INTO product_slots VALUES(16,456); +INSERT INTO product_slots VALUES(16,457); +INSERT INTO product_slots VALUES(16,458); +INSERT INTO product_slots VALUES(16,459); +INSERT INTO product_slots VALUES(16,460); +INSERT INTO product_slots VALUES(16,461); +INSERT INTO product_slots VALUES(16,462); +INSERT INTO product_slots VALUES(16,463); +INSERT INTO product_slots VALUES(16,464); +INSERT INTO product_slots VALUES(16,465); +INSERT INTO product_slots VALUES(16,466); +INSERT INTO product_slots VALUES(16,467); +INSERT INTO product_slots VALUES(16,468); +INSERT INTO product_slots VALUES(16,469); +INSERT INTO product_slots VALUES(16,470); +INSERT INTO product_slots VALUES(16,471); INSERT INTO product_slots VALUES(17,12); INSERT INTO product_slots VALUES(17,18); INSERT INTO product_slots VALUES(17,20); @@ -5633,8 +9957,40 @@ INSERT INTO product_slots VALUES(17,241); INSERT INTO product_slots VALUES(17,242); INSERT INTO product_slots VALUES(17,243); INSERT INTO product_slots VALUES(17,244); +INSERT INTO product_slots VALUES(17,245); +INSERT INTO product_slots VALUES(17,246); +INSERT INTO product_slots VALUES(17,247); +INSERT INTO product_slots VALUES(17,248); +INSERT INTO product_slots VALUES(17,249); +INSERT INTO product_slots VALUES(17,250); +INSERT INTO product_slots VALUES(17,251); +INSERT INTO product_slots VALUES(17,252); +INSERT INTO product_slots VALUES(17,253); +INSERT INTO product_slots VALUES(17,254); +INSERT INTO product_slots VALUES(17,255); +INSERT INTO product_slots VALUES(17,256); +INSERT INTO product_slots VALUES(17,257); +INSERT INTO product_slots VALUES(17,258); +INSERT INTO product_slots VALUES(17,259); +INSERT INTO product_slots VALUES(17,260); +INSERT INTO product_slots VALUES(17,261); +INSERT INTO product_slots VALUES(17,262); +INSERT INTO product_slots VALUES(17,263); +INSERT INTO product_slots VALUES(17,264); +INSERT INTO product_slots VALUES(17,265); +INSERT INTO product_slots VALUES(17,266); +INSERT INTO product_slots VALUES(17,267); +INSERT INTO product_slots VALUES(17,268); +INSERT INTO product_slots VALUES(17,269); +INSERT INTO product_slots VALUES(17,270); +INSERT INTO product_slots VALUES(17,271); +INSERT INTO product_slots VALUES(17,272); +INSERT INTO product_slots VALUES(17,273); INSERT INTO product_slots VALUES(17,274); INSERT INTO product_slots VALUES(17,275); +INSERT INTO product_slots VALUES(17,276); +INSERT INTO product_slots VALUES(17,277); +INSERT INTO product_slots VALUES(17,278); INSERT INTO product_slots VALUES(17,279); INSERT INTO product_slots VALUES(17,280); INSERT INTO product_slots VALUES(17,281); @@ -5644,6 +10000,190 @@ INSERT INTO product_slots VALUES(17,284); INSERT INTO product_slots VALUES(17,285); INSERT INTO product_slots VALUES(17,286); INSERT INTO product_slots VALUES(17,287); +INSERT INTO product_slots VALUES(17,288); +INSERT INTO product_slots VALUES(17,289); +INSERT INTO product_slots VALUES(17,290); +INSERT INTO product_slots VALUES(17,291); +INSERT INTO product_slots VALUES(17,292); +INSERT INTO product_slots VALUES(17,293); +INSERT INTO product_slots VALUES(17,294); +INSERT INTO product_slots VALUES(17,295); +INSERT INTO product_slots VALUES(17,296); +INSERT INTO product_slots VALUES(17,297); +INSERT INTO product_slots VALUES(17,298); +INSERT INTO product_slots VALUES(17,299); +INSERT INTO product_slots VALUES(17,300); +INSERT INTO product_slots VALUES(17,301); +INSERT INTO product_slots VALUES(17,302); +INSERT INTO product_slots VALUES(17,303); +INSERT INTO product_slots VALUES(17,304); +INSERT INTO product_slots VALUES(17,305); +INSERT INTO product_slots VALUES(17,306); +INSERT INTO product_slots VALUES(17,307); +INSERT INTO product_slots VALUES(17,308); +INSERT INTO product_slots VALUES(17,309); +INSERT INTO product_slots VALUES(17,310); +INSERT INTO product_slots VALUES(17,311); +INSERT INTO product_slots VALUES(17,312); +INSERT INTO product_slots VALUES(17,313); +INSERT INTO product_slots VALUES(17,314); +INSERT INTO product_slots VALUES(17,315); +INSERT INTO product_slots VALUES(17,316); +INSERT INTO product_slots VALUES(17,317); +INSERT INTO product_slots VALUES(17,318); +INSERT INTO product_slots VALUES(17,319); +INSERT INTO product_slots VALUES(17,320); +INSERT INTO product_slots VALUES(17,321); +INSERT INTO product_slots VALUES(17,322); +INSERT INTO product_slots VALUES(17,323); +INSERT INTO product_slots VALUES(17,324); +INSERT INTO product_slots VALUES(17,325); +INSERT INTO product_slots VALUES(17,326); +INSERT INTO product_slots VALUES(17,327); +INSERT INTO product_slots VALUES(17,328); +INSERT INTO product_slots VALUES(17,329); +INSERT INTO product_slots VALUES(17,330); +INSERT INTO product_slots VALUES(17,331); +INSERT INTO product_slots VALUES(17,332); +INSERT INTO product_slots VALUES(17,333); +INSERT INTO product_slots VALUES(17,334); +INSERT INTO product_slots VALUES(17,335); +INSERT INTO product_slots VALUES(17,336); +INSERT INTO product_slots VALUES(17,337); +INSERT INTO product_slots VALUES(17,338); +INSERT INTO product_slots VALUES(17,339); +INSERT INTO product_slots VALUES(17,340); +INSERT INTO product_slots VALUES(17,341); +INSERT INTO product_slots VALUES(17,342); +INSERT INTO product_slots VALUES(17,343); +INSERT INTO product_slots VALUES(17,344); +INSERT INTO product_slots VALUES(17,345); +INSERT INTO product_slots VALUES(17,346); +INSERT INTO product_slots VALUES(17,347); +INSERT INTO product_slots VALUES(17,348); +INSERT INTO product_slots VALUES(17,349); +INSERT INTO product_slots VALUES(17,350); +INSERT INTO product_slots VALUES(17,351); +INSERT INTO product_slots VALUES(17,352); +INSERT INTO product_slots VALUES(17,353); +INSERT INTO product_slots VALUES(17,354); +INSERT INTO product_slots VALUES(17,355); +INSERT INTO product_slots VALUES(17,356); +INSERT INTO product_slots VALUES(17,357); +INSERT INTO product_slots VALUES(17,358); +INSERT INTO product_slots VALUES(17,359); +INSERT INTO product_slots VALUES(17,360); +INSERT INTO product_slots VALUES(17,361); +INSERT INTO product_slots VALUES(17,362); +INSERT INTO product_slots VALUES(17,363); +INSERT INTO product_slots VALUES(17,364); +INSERT INTO product_slots VALUES(17,365); +INSERT INTO product_slots VALUES(17,366); +INSERT INTO product_slots VALUES(17,367); +INSERT INTO product_slots VALUES(17,368); +INSERT INTO product_slots VALUES(17,369); +INSERT INTO product_slots VALUES(17,370); +INSERT INTO product_slots VALUES(17,371); +INSERT INTO product_slots VALUES(17,372); +INSERT INTO product_slots VALUES(17,373); +INSERT INTO product_slots VALUES(17,374); +INSERT INTO product_slots VALUES(17,375); +INSERT INTO product_slots VALUES(17,376); +INSERT INTO product_slots VALUES(17,377); +INSERT INTO product_slots VALUES(17,378); +INSERT INTO product_slots VALUES(17,379); +INSERT INTO product_slots VALUES(17,380); +INSERT INTO product_slots VALUES(17,381); +INSERT INTO product_slots VALUES(17,382); +INSERT INTO product_slots VALUES(17,383); +INSERT INTO product_slots VALUES(17,384); +INSERT INTO product_slots VALUES(17,385); +INSERT INTO product_slots VALUES(17,386); +INSERT INTO product_slots VALUES(17,387); +INSERT INTO product_slots VALUES(17,388); +INSERT INTO product_slots VALUES(17,389); +INSERT INTO product_slots VALUES(17,390); +INSERT INTO product_slots VALUES(17,391); +INSERT INTO product_slots VALUES(17,392); +INSERT INTO product_slots VALUES(17,393); +INSERT INTO product_slots VALUES(17,394); +INSERT INTO product_slots VALUES(17,395); +INSERT INTO product_slots VALUES(17,396); +INSERT INTO product_slots VALUES(17,397); +INSERT INTO product_slots VALUES(17,398); +INSERT INTO product_slots VALUES(17,399); +INSERT INTO product_slots VALUES(17,400); +INSERT INTO product_slots VALUES(17,401); +INSERT INTO product_slots VALUES(17,402); +INSERT INTO product_slots VALUES(17,403); +INSERT INTO product_slots VALUES(17,404); +INSERT INTO product_slots VALUES(17,405); +INSERT INTO product_slots VALUES(17,406); +INSERT INTO product_slots VALUES(17,407); +INSERT INTO product_slots VALUES(17,408); +INSERT INTO product_slots VALUES(17,409); +INSERT INTO product_slots VALUES(17,410); +INSERT INTO product_slots VALUES(17,411); +INSERT INTO product_slots VALUES(17,412); +INSERT INTO product_slots VALUES(17,413); +INSERT INTO product_slots VALUES(17,414); +INSERT INTO product_slots VALUES(17,415); +INSERT INTO product_slots VALUES(17,416); +INSERT INTO product_slots VALUES(17,417); +INSERT INTO product_slots VALUES(17,418); +INSERT INTO product_slots VALUES(17,419); +INSERT INTO product_slots VALUES(17,420); +INSERT INTO product_slots VALUES(17,421); +INSERT INTO product_slots VALUES(17,422); +INSERT INTO product_slots VALUES(17,423); +INSERT INTO product_slots VALUES(17,424); +INSERT INTO product_slots VALUES(17,425); +INSERT INTO product_slots VALUES(17,426); +INSERT INTO product_slots VALUES(17,427); +INSERT INTO product_slots VALUES(17,428); +INSERT INTO product_slots VALUES(17,429); +INSERT INTO product_slots VALUES(17,430); +INSERT INTO product_slots VALUES(17,431); +INSERT INTO product_slots VALUES(17,432); +INSERT INTO product_slots VALUES(17,433); +INSERT INTO product_slots VALUES(17,434); +INSERT INTO product_slots VALUES(17,435); +INSERT INTO product_slots VALUES(17,436); +INSERT INTO product_slots VALUES(17,437); +INSERT INTO product_slots VALUES(17,438); +INSERT INTO product_slots VALUES(17,439); +INSERT INTO product_slots VALUES(17,440); +INSERT INTO product_slots VALUES(17,441); +INSERT INTO product_slots VALUES(17,442); +INSERT INTO product_slots VALUES(17,443); +INSERT INTO product_slots VALUES(17,444); +INSERT INTO product_slots VALUES(17,445); +INSERT INTO product_slots VALUES(17,446); +INSERT INTO product_slots VALUES(17,447); +INSERT INTO product_slots VALUES(17,448); +INSERT INTO product_slots VALUES(17,449); +INSERT INTO product_slots VALUES(17,450); +INSERT INTO product_slots VALUES(17,451); +INSERT INTO product_slots VALUES(17,452); +INSERT INTO product_slots VALUES(17,453); +INSERT INTO product_slots VALUES(17,454); +INSERT INTO product_slots VALUES(17,455); +INSERT INTO product_slots VALUES(17,456); +INSERT INTO product_slots VALUES(17,457); +INSERT INTO product_slots VALUES(17,458); +INSERT INTO product_slots VALUES(17,459); +INSERT INTO product_slots VALUES(17,460); +INSERT INTO product_slots VALUES(17,461); +INSERT INTO product_slots VALUES(17,462); +INSERT INTO product_slots VALUES(17,463); +INSERT INTO product_slots VALUES(17,464); +INSERT INTO product_slots VALUES(17,465); +INSERT INTO product_slots VALUES(17,466); +INSERT INTO product_slots VALUES(17,467); +INSERT INTO product_slots VALUES(17,468); +INSERT INTO product_slots VALUES(17,469); +INSERT INTO product_slots VALUES(17,470); +INSERT INTO product_slots VALUES(17,471); INSERT INTO product_slots VALUES(18,12); INSERT INTO product_slots VALUES(18,18); INSERT INTO product_slots VALUES(18,20); @@ -5854,8 +10394,40 @@ INSERT INTO product_slots VALUES(18,241); INSERT INTO product_slots VALUES(18,242); INSERT INTO product_slots VALUES(18,243); INSERT INTO product_slots VALUES(18,244); +INSERT INTO product_slots VALUES(18,245); +INSERT INTO product_slots VALUES(18,246); +INSERT INTO product_slots VALUES(18,247); +INSERT INTO product_slots VALUES(18,248); +INSERT INTO product_slots VALUES(18,249); +INSERT INTO product_slots VALUES(18,250); +INSERT INTO product_slots VALUES(18,251); +INSERT INTO product_slots VALUES(18,252); +INSERT INTO product_slots VALUES(18,253); +INSERT INTO product_slots VALUES(18,254); +INSERT INTO product_slots VALUES(18,255); +INSERT INTO product_slots VALUES(18,256); +INSERT INTO product_slots VALUES(18,257); +INSERT INTO product_slots VALUES(18,258); +INSERT INTO product_slots VALUES(18,259); +INSERT INTO product_slots VALUES(18,260); +INSERT INTO product_slots VALUES(18,261); +INSERT INTO product_slots VALUES(18,262); +INSERT INTO product_slots VALUES(18,263); +INSERT INTO product_slots VALUES(18,264); +INSERT INTO product_slots VALUES(18,265); +INSERT INTO product_slots VALUES(18,266); +INSERT INTO product_slots VALUES(18,267); +INSERT INTO product_slots VALUES(18,268); +INSERT INTO product_slots VALUES(18,269); +INSERT INTO product_slots VALUES(18,270); +INSERT INTO product_slots VALUES(18,271); +INSERT INTO product_slots VALUES(18,272); +INSERT INTO product_slots VALUES(18,273); INSERT INTO product_slots VALUES(18,274); INSERT INTO product_slots VALUES(18,275); +INSERT INTO product_slots VALUES(18,276); +INSERT INTO product_slots VALUES(18,277); +INSERT INTO product_slots VALUES(18,278); INSERT INTO product_slots VALUES(18,279); INSERT INTO product_slots VALUES(18,280); INSERT INTO product_slots VALUES(18,281); @@ -5865,6 +10437,190 @@ INSERT INTO product_slots VALUES(18,284); INSERT INTO product_slots VALUES(18,285); INSERT INTO product_slots VALUES(18,286); INSERT INTO product_slots VALUES(18,287); +INSERT INTO product_slots VALUES(18,288); +INSERT INTO product_slots VALUES(18,289); +INSERT INTO product_slots VALUES(18,290); +INSERT INTO product_slots VALUES(18,291); +INSERT INTO product_slots VALUES(18,292); +INSERT INTO product_slots VALUES(18,293); +INSERT INTO product_slots VALUES(18,294); +INSERT INTO product_slots VALUES(18,295); +INSERT INTO product_slots VALUES(18,296); +INSERT INTO product_slots VALUES(18,297); +INSERT INTO product_slots VALUES(18,298); +INSERT INTO product_slots VALUES(18,299); +INSERT INTO product_slots VALUES(18,300); +INSERT INTO product_slots VALUES(18,301); +INSERT INTO product_slots VALUES(18,302); +INSERT INTO product_slots VALUES(18,303); +INSERT INTO product_slots VALUES(18,304); +INSERT INTO product_slots VALUES(18,305); +INSERT INTO product_slots VALUES(18,306); +INSERT INTO product_slots VALUES(18,307); +INSERT INTO product_slots VALUES(18,308); +INSERT INTO product_slots VALUES(18,309); +INSERT INTO product_slots VALUES(18,310); +INSERT INTO product_slots VALUES(18,311); +INSERT INTO product_slots VALUES(18,312); +INSERT INTO product_slots VALUES(18,313); +INSERT INTO product_slots VALUES(18,314); +INSERT INTO product_slots VALUES(18,315); +INSERT INTO product_slots VALUES(18,316); +INSERT INTO product_slots VALUES(18,317); +INSERT INTO product_slots VALUES(18,318); +INSERT INTO product_slots VALUES(18,319); +INSERT INTO product_slots VALUES(18,320); +INSERT INTO product_slots VALUES(18,321); +INSERT INTO product_slots VALUES(18,322); +INSERT INTO product_slots VALUES(18,323); +INSERT INTO product_slots VALUES(18,324); +INSERT INTO product_slots VALUES(18,325); +INSERT INTO product_slots VALUES(18,326); +INSERT INTO product_slots VALUES(18,327); +INSERT INTO product_slots VALUES(18,328); +INSERT INTO product_slots VALUES(18,329); +INSERT INTO product_slots VALUES(18,330); +INSERT INTO product_slots VALUES(18,331); +INSERT INTO product_slots VALUES(18,332); +INSERT INTO product_slots VALUES(18,333); +INSERT INTO product_slots VALUES(18,334); +INSERT INTO product_slots VALUES(18,335); +INSERT INTO product_slots VALUES(18,336); +INSERT INTO product_slots VALUES(18,337); +INSERT INTO product_slots VALUES(18,338); +INSERT INTO product_slots VALUES(18,339); +INSERT INTO product_slots VALUES(18,340); +INSERT INTO product_slots VALUES(18,341); +INSERT INTO product_slots VALUES(18,342); +INSERT INTO product_slots VALUES(18,343); +INSERT INTO product_slots VALUES(18,344); +INSERT INTO product_slots VALUES(18,345); +INSERT INTO product_slots VALUES(18,346); +INSERT INTO product_slots VALUES(18,347); +INSERT INTO product_slots VALUES(18,348); +INSERT INTO product_slots VALUES(18,349); +INSERT INTO product_slots VALUES(18,350); +INSERT INTO product_slots VALUES(18,351); +INSERT INTO product_slots VALUES(18,352); +INSERT INTO product_slots VALUES(18,353); +INSERT INTO product_slots VALUES(18,354); +INSERT INTO product_slots VALUES(18,355); +INSERT INTO product_slots VALUES(18,356); +INSERT INTO product_slots VALUES(18,357); +INSERT INTO product_slots VALUES(18,358); +INSERT INTO product_slots VALUES(18,359); +INSERT INTO product_slots VALUES(18,360); +INSERT INTO product_slots VALUES(18,361); +INSERT INTO product_slots VALUES(18,362); +INSERT INTO product_slots VALUES(18,363); +INSERT INTO product_slots VALUES(18,364); +INSERT INTO product_slots VALUES(18,365); +INSERT INTO product_slots VALUES(18,366); +INSERT INTO product_slots VALUES(18,367); +INSERT INTO product_slots VALUES(18,368); +INSERT INTO product_slots VALUES(18,369); +INSERT INTO product_slots VALUES(18,370); +INSERT INTO product_slots VALUES(18,371); +INSERT INTO product_slots VALUES(18,372); +INSERT INTO product_slots VALUES(18,373); +INSERT INTO product_slots VALUES(18,374); +INSERT INTO product_slots VALUES(18,375); +INSERT INTO product_slots VALUES(18,376); +INSERT INTO product_slots VALUES(18,377); +INSERT INTO product_slots VALUES(18,378); +INSERT INTO product_slots VALUES(18,379); +INSERT INTO product_slots VALUES(18,380); +INSERT INTO product_slots VALUES(18,381); +INSERT INTO product_slots VALUES(18,382); +INSERT INTO product_slots VALUES(18,383); +INSERT INTO product_slots VALUES(18,384); +INSERT INTO product_slots VALUES(18,385); +INSERT INTO product_slots VALUES(18,386); +INSERT INTO product_slots VALUES(18,387); +INSERT INTO product_slots VALUES(18,388); +INSERT INTO product_slots VALUES(18,389); +INSERT INTO product_slots VALUES(18,390); +INSERT INTO product_slots VALUES(18,391); +INSERT INTO product_slots VALUES(18,392); +INSERT INTO product_slots VALUES(18,393); +INSERT INTO product_slots VALUES(18,394); +INSERT INTO product_slots VALUES(18,395); +INSERT INTO product_slots VALUES(18,396); +INSERT INTO product_slots VALUES(18,397); +INSERT INTO product_slots VALUES(18,398); +INSERT INTO product_slots VALUES(18,399); +INSERT INTO product_slots VALUES(18,400); +INSERT INTO product_slots VALUES(18,401); +INSERT INTO product_slots VALUES(18,402); +INSERT INTO product_slots VALUES(18,403); +INSERT INTO product_slots VALUES(18,404); +INSERT INTO product_slots VALUES(18,405); +INSERT INTO product_slots VALUES(18,406); +INSERT INTO product_slots VALUES(18,407); +INSERT INTO product_slots VALUES(18,408); +INSERT INTO product_slots VALUES(18,409); +INSERT INTO product_slots VALUES(18,410); +INSERT INTO product_slots VALUES(18,411); +INSERT INTO product_slots VALUES(18,412); +INSERT INTO product_slots VALUES(18,413); +INSERT INTO product_slots VALUES(18,414); +INSERT INTO product_slots VALUES(18,415); +INSERT INTO product_slots VALUES(18,416); +INSERT INTO product_slots VALUES(18,417); +INSERT INTO product_slots VALUES(18,418); +INSERT INTO product_slots VALUES(18,419); +INSERT INTO product_slots VALUES(18,420); +INSERT INTO product_slots VALUES(18,421); +INSERT INTO product_slots VALUES(18,422); +INSERT INTO product_slots VALUES(18,423); +INSERT INTO product_slots VALUES(18,424); +INSERT INTO product_slots VALUES(18,425); +INSERT INTO product_slots VALUES(18,426); +INSERT INTO product_slots VALUES(18,427); +INSERT INTO product_slots VALUES(18,428); +INSERT INTO product_slots VALUES(18,429); +INSERT INTO product_slots VALUES(18,430); +INSERT INTO product_slots VALUES(18,431); +INSERT INTO product_slots VALUES(18,432); +INSERT INTO product_slots VALUES(18,433); +INSERT INTO product_slots VALUES(18,434); +INSERT INTO product_slots VALUES(18,435); +INSERT INTO product_slots VALUES(18,436); +INSERT INTO product_slots VALUES(18,437); +INSERT INTO product_slots VALUES(18,438); +INSERT INTO product_slots VALUES(18,439); +INSERT INTO product_slots VALUES(18,440); +INSERT INTO product_slots VALUES(18,441); +INSERT INTO product_slots VALUES(18,442); +INSERT INTO product_slots VALUES(18,443); +INSERT INTO product_slots VALUES(18,444); +INSERT INTO product_slots VALUES(18,445); +INSERT INTO product_slots VALUES(18,446); +INSERT INTO product_slots VALUES(18,447); +INSERT INTO product_slots VALUES(18,448); +INSERT INTO product_slots VALUES(18,449); +INSERT INTO product_slots VALUES(18,450); +INSERT INTO product_slots VALUES(18,451); +INSERT INTO product_slots VALUES(18,452); +INSERT INTO product_slots VALUES(18,453); +INSERT INTO product_slots VALUES(18,454); +INSERT INTO product_slots VALUES(18,455); +INSERT INTO product_slots VALUES(18,456); +INSERT INTO product_slots VALUES(18,457); +INSERT INTO product_slots VALUES(18,458); +INSERT INTO product_slots VALUES(18,459); +INSERT INTO product_slots VALUES(18,460); +INSERT INTO product_slots VALUES(18,461); +INSERT INTO product_slots VALUES(18,462); +INSERT INTO product_slots VALUES(18,463); +INSERT INTO product_slots VALUES(18,464); +INSERT INTO product_slots VALUES(18,465); +INSERT INTO product_slots VALUES(18,466); +INSERT INTO product_slots VALUES(18,467); +INSERT INTO product_slots VALUES(18,468); +INSERT INTO product_slots VALUES(18,469); +INSERT INTO product_slots VALUES(18,470); +INSERT INTO product_slots VALUES(18,471); INSERT INTO product_slots VALUES(19,10); INSERT INTO product_slots VALUES(19,12); INSERT INTO product_slots VALUES(19,18); @@ -6079,8 +10835,40 @@ INSERT INTO product_slots VALUES(19,241); INSERT INTO product_slots VALUES(19,242); INSERT INTO product_slots VALUES(19,243); INSERT INTO product_slots VALUES(19,244); +INSERT INTO product_slots VALUES(19,245); +INSERT INTO product_slots VALUES(19,246); +INSERT INTO product_slots VALUES(19,247); +INSERT INTO product_slots VALUES(19,248); +INSERT INTO product_slots VALUES(19,249); +INSERT INTO product_slots VALUES(19,250); +INSERT INTO product_slots VALUES(19,251); +INSERT INTO product_slots VALUES(19,252); +INSERT INTO product_slots VALUES(19,253); +INSERT INTO product_slots VALUES(19,254); +INSERT INTO product_slots VALUES(19,255); +INSERT INTO product_slots VALUES(19,256); +INSERT INTO product_slots VALUES(19,257); +INSERT INTO product_slots VALUES(19,258); +INSERT INTO product_slots VALUES(19,259); +INSERT INTO product_slots VALUES(19,260); +INSERT INTO product_slots VALUES(19,261); +INSERT INTO product_slots VALUES(19,262); +INSERT INTO product_slots VALUES(19,263); +INSERT INTO product_slots VALUES(19,264); +INSERT INTO product_slots VALUES(19,265); +INSERT INTO product_slots VALUES(19,266); +INSERT INTO product_slots VALUES(19,267); +INSERT INTO product_slots VALUES(19,268); +INSERT INTO product_slots VALUES(19,269); +INSERT INTO product_slots VALUES(19,270); +INSERT INTO product_slots VALUES(19,271); +INSERT INTO product_slots VALUES(19,272); +INSERT INTO product_slots VALUES(19,273); INSERT INTO product_slots VALUES(19,274); INSERT INTO product_slots VALUES(19,275); +INSERT INTO product_slots VALUES(19,276); +INSERT INTO product_slots VALUES(19,277); +INSERT INTO product_slots VALUES(19,278); INSERT INTO product_slots VALUES(19,279); INSERT INTO product_slots VALUES(19,280); INSERT INTO product_slots VALUES(19,281); @@ -6090,6 +10878,190 @@ INSERT INTO product_slots VALUES(19,284); INSERT INTO product_slots VALUES(19,285); INSERT INTO product_slots VALUES(19,286); INSERT INTO product_slots VALUES(19,287); +INSERT INTO product_slots VALUES(19,288); +INSERT INTO product_slots VALUES(19,289); +INSERT INTO product_slots VALUES(19,290); +INSERT INTO product_slots VALUES(19,291); +INSERT INTO product_slots VALUES(19,292); +INSERT INTO product_slots VALUES(19,293); +INSERT INTO product_slots VALUES(19,294); +INSERT INTO product_slots VALUES(19,295); +INSERT INTO product_slots VALUES(19,296); +INSERT INTO product_slots VALUES(19,297); +INSERT INTO product_slots VALUES(19,298); +INSERT INTO product_slots VALUES(19,299); +INSERT INTO product_slots VALUES(19,300); +INSERT INTO product_slots VALUES(19,301); +INSERT INTO product_slots VALUES(19,302); +INSERT INTO product_slots VALUES(19,303); +INSERT INTO product_slots VALUES(19,304); +INSERT INTO product_slots VALUES(19,305); +INSERT INTO product_slots VALUES(19,306); +INSERT INTO product_slots VALUES(19,307); +INSERT INTO product_slots VALUES(19,308); +INSERT INTO product_slots VALUES(19,309); +INSERT INTO product_slots VALUES(19,310); +INSERT INTO product_slots VALUES(19,311); +INSERT INTO product_slots VALUES(19,312); +INSERT INTO product_slots VALUES(19,313); +INSERT INTO product_slots VALUES(19,314); +INSERT INTO product_slots VALUES(19,315); +INSERT INTO product_slots VALUES(19,316); +INSERT INTO product_slots VALUES(19,317); +INSERT INTO product_slots VALUES(19,318); +INSERT INTO product_slots VALUES(19,319); +INSERT INTO product_slots VALUES(19,320); +INSERT INTO product_slots VALUES(19,321); +INSERT INTO product_slots VALUES(19,322); +INSERT INTO product_slots VALUES(19,323); +INSERT INTO product_slots VALUES(19,324); +INSERT INTO product_slots VALUES(19,325); +INSERT INTO product_slots VALUES(19,326); +INSERT INTO product_slots VALUES(19,327); +INSERT INTO product_slots VALUES(19,328); +INSERT INTO product_slots VALUES(19,329); +INSERT INTO product_slots VALUES(19,330); +INSERT INTO product_slots VALUES(19,331); +INSERT INTO product_slots VALUES(19,332); +INSERT INTO product_slots VALUES(19,333); +INSERT INTO product_slots VALUES(19,334); +INSERT INTO product_slots VALUES(19,335); +INSERT INTO product_slots VALUES(19,336); +INSERT INTO product_slots VALUES(19,337); +INSERT INTO product_slots VALUES(19,338); +INSERT INTO product_slots VALUES(19,339); +INSERT INTO product_slots VALUES(19,340); +INSERT INTO product_slots VALUES(19,341); +INSERT INTO product_slots VALUES(19,342); +INSERT INTO product_slots VALUES(19,343); +INSERT INTO product_slots VALUES(19,344); +INSERT INTO product_slots VALUES(19,345); +INSERT INTO product_slots VALUES(19,346); +INSERT INTO product_slots VALUES(19,347); +INSERT INTO product_slots VALUES(19,348); +INSERT INTO product_slots VALUES(19,349); +INSERT INTO product_slots VALUES(19,350); +INSERT INTO product_slots VALUES(19,351); +INSERT INTO product_slots VALUES(19,352); +INSERT INTO product_slots VALUES(19,353); +INSERT INTO product_slots VALUES(19,354); +INSERT INTO product_slots VALUES(19,355); +INSERT INTO product_slots VALUES(19,356); +INSERT INTO product_slots VALUES(19,357); +INSERT INTO product_slots VALUES(19,358); +INSERT INTO product_slots VALUES(19,359); +INSERT INTO product_slots VALUES(19,360); +INSERT INTO product_slots VALUES(19,361); +INSERT INTO product_slots VALUES(19,362); +INSERT INTO product_slots VALUES(19,363); +INSERT INTO product_slots VALUES(19,364); +INSERT INTO product_slots VALUES(19,365); +INSERT INTO product_slots VALUES(19,366); +INSERT INTO product_slots VALUES(19,367); +INSERT INTO product_slots VALUES(19,368); +INSERT INTO product_slots VALUES(19,369); +INSERT INTO product_slots VALUES(19,370); +INSERT INTO product_slots VALUES(19,371); +INSERT INTO product_slots VALUES(19,372); +INSERT INTO product_slots VALUES(19,373); +INSERT INTO product_slots VALUES(19,374); +INSERT INTO product_slots VALUES(19,375); +INSERT INTO product_slots VALUES(19,376); +INSERT INTO product_slots VALUES(19,377); +INSERT INTO product_slots VALUES(19,378); +INSERT INTO product_slots VALUES(19,379); +INSERT INTO product_slots VALUES(19,380); +INSERT INTO product_slots VALUES(19,381); +INSERT INTO product_slots VALUES(19,382); +INSERT INTO product_slots VALUES(19,383); +INSERT INTO product_slots VALUES(19,384); +INSERT INTO product_slots VALUES(19,385); +INSERT INTO product_slots VALUES(19,386); +INSERT INTO product_slots VALUES(19,387); +INSERT INTO product_slots VALUES(19,388); +INSERT INTO product_slots VALUES(19,389); +INSERT INTO product_slots VALUES(19,390); +INSERT INTO product_slots VALUES(19,391); +INSERT INTO product_slots VALUES(19,392); +INSERT INTO product_slots VALUES(19,393); +INSERT INTO product_slots VALUES(19,394); +INSERT INTO product_slots VALUES(19,395); +INSERT INTO product_slots VALUES(19,396); +INSERT INTO product_slots VALUES(19,397); +INSERT INTO product_slots VALUES(19,398); +INSERT INTO product_slots VALUES(19,399); +INSERT INTO product_slots VALUES(19,400); +INSERT INTO product_slots VALUES(19,401); +INSERT INTO product_slots VALUES(19,402); +INSERT INTO product_slots VALUES(19,403); +INSERT INTO product_slots VALUES(19,404); +INSERT INTO product_slots VALUES(19,405); +INSERT INTO product_slots VALUES(19,406); +INSERT INTO product_slots VALUES(19,407); +INSERT INTO product_slots VALUES(19,408); +INSERT INTO product_slots VALUES(19,409); +INSERT INTO product_slots VALUES(19,410); +INSERT INTO product_slots VALUES(19,411); +INSERT INTO product_slots VALUES(19,412); +INSERT INTO product_slots VALUES(19,413); +INSERT INTO product_slots VALUES(19,414); +INSERT INTO product_slots VALUES(19,415); +INSERT INTO product_slots VALUES(19,416); +INSERT INTO product_slots VALUES(19,417); +INSERT INTO product_slots VALUES(19,418); +INSERT INTO product_slots VALUES(19,419); +INSERT INTO product_slots VALUES(19,420); +INSERT INTO product_slots VALUES(19,421); +INSERT INTO product_slots VALUES(19,422); +INSERT INTO product_slots VALUES(19,423); +INSERT INTO product_slots VALUES(19,424); +INSERT INTO product_slots VALUES(19,425); +INSERT INTO product_slots VALUES(19,426); +INSERT INTO product_slots VALUES(19,427); +INSERT INTO product_slots VALUES(19,428); +INSERT INTO product_slots VALUES(19,429); +INSERT INTO product_slots VALUES(19,430); +INSERT INTO product_slots VALUES(19,431); +INSERT INTO product_slots VALUES(19,432); +INSERT INTO product_slots VALUES(19,433); +INSERT INTO product_slots VALUES(19,434); +INSERT INTO product_slots VALUES(19,435); +INSERT INTO product_slots VALUES(19,436); +INSERT INTO product_slots VALUES(19,437); +INSERT INTO product_slots VALUES(19,438); +INSERT INTO product_slots VALUES(19,439); +INSERT INTO product_slots VALUES(19,440); +INSERT INTO product_slots VALUES(19,441); +INSERT INTO product_slots VALUES(19,442); +INSERT INTO product_slots VALUES(19,443); +INSERT INTO product_slots VALUES(19,444); +INSERT INTO product_slots VALUES(19,445); +INSERT INTO product_slots VALUES(19,446); +INSERT INTO product_slots VALUES(19,447); +INSERT INTO product_slots VALUES(19,448); +INSERT INTO product_slots VALUES(19,449); +INSERT INTO product_slots VALUES(19,450); +INSERT INTO product_slots VALUES(19,451); +INSERT INTO product_slots VALUES(19,452); +INSERT INTO product_slots VALUES(19,453); +INSERT INTO product_slots VALUES(19,454); +INSERT INTO product_slots VALUES(19,455); +INSERT INTO product_slots VALUES(19,456); +INSERT INTO product_slots VALUES(19,457); +INSERT INTO product_slots VALUES(19,458); +INSERT INTO product_slots VALUES(19,459); +INSERT INTO product_slots VALUES(19,460); +INSERT INTO product_slots VALUES(19,461); +INSERT INTO product_slots VALUES(19,462); +INSERT INTO product_slots VALUES(19,463); +INSERT INTO product_slots VALUES(19,464); +INSERT INTO product_slots VALUES(19,465); +INSERT INTO product_slots VALUES(19,466); +INSERT INTO product_slots VALUES(19,467); +INSERT INTO product_slots VALUES(19,468); +INSERT INTO product_slots VALUES(19,469); +INSERT INTO product_slots VALUES(19,470); +INSERT INTO product_slots VALUES(19,471); INSERT INTO product_slots VALUES(20,12); INSERT INTO product_slots VALUES(20,18); INSERT INTO product_slots VALUES(20,20); @@ -6120,6 +11092,8 @@ INSERT INTO product_slots VALUES(20,134); INSERT INTO product_slots VALUES(20,135); INSERT INTO product_slots VALUES(20,136); INSERT INTO product_slots VALUES(20,187); +INSERT INTO product_slots VALUES(20,430); +INSERT INTO product_slots VALUES(20,431); INSERT INTO product_slots VALUES(21,12); INSERT INTO product_slots VALUES(21,18); INSERT INTO product_slots VALUES(21,19); @@ -6335,12 +11309,233 @@ INSERT INTO product_slots VALUES(21,241); INSERT INTO product_slots VALUES(21,242); INSERT INTO product_slots VALUES(21,243); INSERT INTO product_slots VALUES(21,244); +INSERT INTO product_slots VALUES(21,245); +INSERT INTO product_slots VALUES(21,246); +INSERT INTO product_slots VALUES(21,247); +INSERT INTO product_slots VALUES(21,248); +INSERT INTO product_slots VALUES(21,249); +INSERT INTO product_slots VALUES(21,250); +INSERT INTO product_slots VALUES(21,251); +INSERT INTO product_slots VALUES(21,252); +INSERT INTO product_slots VALUES(21,253); +INSERT INTO product_slots VALUES(21,254); +INSERT INTO product_slots VALUES(21,255); +INSERT INTO product_slots VALUES(21,256); +INSERT INTO product_slots VALUES(21,257); +INSERT INTO product_slots VALUES(21,258); +INSERT INTO product_slots VALUES(21,259); +INSERT INTO product_slots VALUES(21,260); +INSERT INTO product_slots VALUES(21,261); +INSERT INTO product_slots VALUES(21,262); +INSERT INTO product_slots VALUES(21,263); +INSERT INTO product_slots VALUES(21,264); +INSERT INTO product_slots VALUES(21,265); +INSERT INTO product_slots VALUES(21,266); +INSERT INTO product_slots VALUES(21,267); +INSERT INTO product_slots VALUES(21,268); +INSERT INTO product_slots VALUES(21,269); +INSERT INTO product_slots VALUES(21,270); +INSERT INTO product_slots VALUES(21,271); +INSERT INTO product_slots VALUES(21,272); +INSERT INTO product_slots VALUES(21,273); INSERT INTO product_slots VALUES(21,274); INSERT INTO product_slots VALUES(21,275); +INSERT INTO product_slots VALUES(21,276); +INSERT INTO product_slots VALUES(21,277); +INSERT INTO product_slots VALUES(21,278); INSERT INTO product_slots VALUES(21,279); INSERT INTO product_slots VALUES(21,280); INSERT INTO product_slots VALUES(21,281); INSERT INTO product_slots VALUES(21,282); +INSERT INTO product_slots VALUES(21,283); +INSERT INTO product_slots VALUES(21,284); +INSERT INTO product_slots VALUES(21,285); +INSERT INTO product_slots VALUES(21,286); +INSERT INTO product_slots VALUES(21,287); +INSERT INTO product_slots VALUES(21,288); +INSERT INTO product_slots VALUES(21,289); +INSERT INTO product_slots VALUES(21,290); +INSERT INTO product_slots VALUES(21,291); +INSERT INTO product_slots VALUES(21,292); +INSERT INTO product_slots VALUES(21,293); +INSERT INTO product_slots VALUES(21,294); +INSERT INTO product_slots VALUES(21,295); +INSERT INTO product_slots VALUES(21,296); +INSERT INTO product_slots VALUES(21,297); +INSERT INTO product_slots VALUES(21,298); +INSERT INTO product_slots VALUES(21,299); +INSERT INTO product_slots VALUES(21,300); +INSERT INTO product_slots VALUES(21,301); +INSERT INTO product_slots VALUES(21,302); +INSERT INTO product_slots VALUES(21,303); +INSERT INTO product_slots VALUES(21,304); +INSERT INTO product_slots VALUES(21,305); +INSERT INTO product_slots VALUES(21,306); +INSERT INTO product_slots VALUES(21,307); +INSERT INTO product_slots VALUES(21,308); +INSERT INTO product_slots VALUES(21,309); +INSERT INTO product_slots VALUES(21,310); +INSERT INTO product_slots VALUES(21,311); +INSERT INTO product_slots VALUES(21,312); +INSERT INTO product_slots VALUES(21,313); +INSERT INTO product_slots VALUES(21,314); +INSERT INTO product_slots VALUES(21,315); +INSERT INTO product_slots VALUES(21,316); +INSERT INTO product_slots VALUES(21,317); +INSERT INTO product_slots VALUES(21,318); +INSERT INTO product_slots VALUES(21,319); +INSERT INTO product_slots VALUES(21,320); +INSERT INTO product_slots VALUES(21,321); +INSERT INTO product_slots VALUES(21,322); +INSERT INTO product_slots VALUES(21,323); +INSERT INTO product_slots VALUES(21,324); +INSERT INTO product_slots VALUES(21,325); +INSERT INTO product_slots VALUES(21,326); +INSERT INTO product_slots VALUES(21,327); +INSERT INTO product_slots VALUES(21,328); +INSERT INTO product_slots VALUES(21,329); +INSERT INTO product_slots VALUES(21,330); +INSERT INTO product_slots VALUES(21,331); +INSERT INTO product_slots VALUES(21,332); +INSERT INTO product_slots VALUES(21,333); +INSERT INTO product_slots VALUES(21,334); +INSERT INTO product_slots VALUES(21,335); +INSERT INTO product_slots VALUES(21,336); +INSERT INTO product_slots VALUES(21,337); +INSERT INTO product_slots VALUES(21,338); +INSERT INTO product_slots VALUES(21,339); +INSERT INTO product_slots VALUES(21,340); +INSERT INTO product_slots VALUES(21,341); +INSERT INTO product_slots VALUES(21,342); +INSERT INTO product_slots VALUES(21,343); +INSERT INTO product_slots VALUES(21,344); +INSERT INTO product_slots VALUES(21,345); +INSERT INTO product_slots VALUES(21,346); +INSERT INTO product_slots VALUES(21,347); +INSERT INTO product_slots VALUES(21,348); +INSERT INTO product_slots VALUES(21,349); +INSERT INTO product_slots VALUES(21,350); +INSERT INTO product_slots VALUES(21,351); +INSERT INTO product_slots VALUES(21,352); +INSERT INTO product_slots VALUES(21,353); +INSERT INTO product_slots VALUES(21,354); +INSERT INTO product_slots VALUES(21,355); +INSERT INTO product_slots VALUES(21,356); +INSERT INTO product_slots VALUES(21,357); +INSERT INTO product_slots VALUES(21,358); +INSERT INTO product_slots VALUES(21,359); +INSERT INTO product_slots VALUES(21,360); +INSERT INTO product_slots VALUES(21,361); +INSERT INTO product_slots VALUES(21,362); +INSERT INTO product_slots VALUES(21,363); +INSERT INTO product_slots VALUES(21,364); +INSERT INTO product_slots VALUES(21,365); +INSERT INTO product_slots VALUES(21,366); +INSERT INTO product_slots VALUES(21,367); +INSERT INTO product_slots VALUES(21,368); +INSERT INTO product_slots VALUES(21,369); +INSERT INTO product_slots VALUES(21,370); +INSERT INTO product_slots VALUES(21,371); +INSERT INTO product_slots VALUES(21,372); +INSERT INTO product_slots VALUES(21,373); +INSERT INTO product_slots VALUES(21,374); +INSERT INTO product_slots VALUES(21,375); +INSERT INTO product_slots VALUES(21,376); +INSERT INTO product_slots VALUES(21,377); +INSERT INTO product_slots VALUES(21,378); +INSERT INTO product_slots VALUES(21,379); +INSERT INTO product_slots VALUES(21,380); +INSERT INTO product_slots VALUES(21,381); +INSERT INTO product_slots VALUES(21,382); +INSERT INTO product_slots VALUES(21,383); +INSERT INTO product_slots VALUES(21,384); +INSERT INTO product_slots VALUES(21,385); +INSERT INTO product_slots VALUES(21,386); +INSERT INTO product_slots VALUES(21,387); +INSERT INTO product_slots VALUES(21,388); +INSERT INTO product_slots VALUES(21,389); +INSERT INTO product_slots VALUES(21,390); +INSERT INTO product_slots VALUES(21,391); +INSERT INTO product_slots VALUES(21,392); +INSERT INTO product_slots VALUES(21,393); +INSERT INTO product_slots VALUES(21,394); +INSERT INTO product_slots VALUES(21,395); +INSERT INTO product_slots VALUES(21,396); +INSERT INTO product_slots VALUES(21,397); +INSERT INTO product_slots VALUES(21,398); +INSERT INTO product_slots VALUES(21,399); +INSERT INTO product_slots VALUES(21,400); +INSERT INTO product_slots VALUES(21,401); +INSERT INTO product_slots VALUES(21,402); +INSERT INTO product_slots VALUES(21,403); +INSERT INTO product_slots VALUES(21,404); +INSERT INTO product_slots VALUES(21,405); +INSERT INTO product_slots VALUES(21,406); +INSERT INTO product_slots VALUES(21,407); +INSERT INTO product_slots VALUES(21,408); +INSERT INTO product_slots VALUES(21,409); +INSERT INTO product_slots VALUES(21,410); +INSERT INTO product_slots VALUES(21,411); +INSERT INTO product_slots VALUES(21,412); +INSERT INTO product_slots VALUES(21,413); +INSERT INTO product_slots VALUES(21,414); +INSERT INTO product_slots VALUES(21,415); +INSERT INTO product_slots VALUES(21,416); +INSERT INTO product_slots VALUES(21,417); +INSERT INTO product_slots VALUES(21,418); +INSERT INTO product_slots VALUES(21,419); +INSERT INTO product_slots VALUES(21,420); +INSERT INTO product_slots VALUES(21,421); +INSERT INTO product_slots VALUES(21,422); +INSERT INTO product_slots VALUES(21,423); +INSERT INTO product_slots VALUES(21,424); +INSERT INTO product_slots VALUES(21,425); +INSERT INTO product_slots VALUES(21,426); +INSERT INTO product_slots VALUES(21,427); +INSERT INTO product_slots VALUES(21,428); +INSERT INTO product_slots VALUES(21,429); +INSERT INTO product_slots VALUES(21,430); +INSERT INTO product_slots VALUES(21,431); +INSERT INTO product_slots VALUES(21,432); +INSERT INTO product_slots VALUES(21,433); +INSERT INTO product_slots VALUES(21,434); +INSERT INTO product_slots VALUES(21,435); +INSERT INTO product_slots VALUES(21,436); +INSERT INTO product_slots VALUES(21,437); +INSERT INTO product_slots VALUES(21,438); +INSERT INTO product_slots VALUES(21,439); +INSERT INTO product_slots VALUES(21,440); +INSERT INTO product_slots VALUES(21,441); +INSERT INTO product_slots VALUES(21,442); +INSERT INTO product_slots VALUES(21,443); +INSERT INTO product_slots VALUES(21,444); +INSERT INTO product_slots VALUES(21,445); +INSERT INTO product_slots VALUES(21,446); +INSERT INTO product_slots VALUES(21,447); +INSERT INTO product_slots VALUES(21,448); +INSERT INTO product_slots VALUES(21,449); +INSERT INTO product_slots VALUES(21,450); +INSERT INTO product_slots VALUES(21,451); +INSERT INTO product_slots VALUES(21,452); +INSERT INTO product_slots VALUES(21,453); +INSERT INTO product_slots VALUES(21,454); +INSERT INTO product_slots VALUES(21,455); +INSERT INTO product_slots VALUES(21,456); +INSERT INTO product_slots VALUES(21,457); +INSERT INTO product_slots VALUES(21,458); +INSERT INTO product_slots VALUES(21,459); +INSERT INTO product_slots VALUES(21,460); +INSERT INTO product_slots VALUES(21,461); +INSERT INTO product_slots VALUES(21,462); +INSERT INTO product_slots VALUES(21,463); +INSERT INTO product_slots VALUES(21,464); +INSERT INTO product_slots VALUES(21,465); +INSERT INTO product_slots VALUES(21,466); +INSERT INTO product_slots VALUES(21,467); +INSERT INTO product_slots VALUES(21,468); +INSERT INTO product_slots VALUES(21,469); +INSERT INTO product_slots VALUES(21,470); +INSERT INTO product_slots VALUES(21,471); INSERT INTO product_slots VALUES(22,12); INSERT INTO product_slots VALUES(22,18); INSERT INTO product_slots VALUES(22,20); @@ -6393,8 +11588,40 @@ INSERT INTO product_slots VALUES(22,241); INSERT INTO product_slots VALUES(22,242); INSERT INTO product_slots VALUES(22,243); INSERT INTO product_slots VALUES(22,244); +INSERT INTO product_slots VALUES(22,245); +INSERT INTO product_slots VALUES(22,246); +INSERT INTO product_slots VALUES(22,247); +INSERT INTO product_slots VALUES(22,248); +INSERT INTO product_slots VALUES(22,249); +INSERT INTO product_slots VALUES(22,250); +INSERT INTO product_slots VALUES(22,251); +INSERT INTO product_slots VALUES(22,252); +INSERT INTO product_slots VALUES(22,253); +INSERT INTO product_slots VALUES(22,254); +INSERT INTO product_slots VALUES(22,255); +INSERT INTO product_slots VALUES(22,256); +INSERT INTO product_slots VALUES(22,257); +INSERT INTO product_slots VALUES(22,258); +INSERT INTO product_slots VALUES(22,259); +INSERT INTO product_slots VALUES(22,260); +INSERT INTO product_slots VALUES(22,261); +INSERT INTO product_slots VALUES(22,262); +INSERT INTO product_slots VALUES(22,263); +INSERT INTO product_slots VALUES(22,264); +INSERT INTO product_slots VALUES(22,265); +INSERT INTO product_slots VALUES(22,266); +INSERT INTO product_slots VALUES(22,267); +INSERT INTO product_slots VALUES(22,268); +INSERT INTO product_slots VALUES(22,269); +INSERT INTO product_slots VALUES(22,270); +INSERT INTO product_slots VALUES(22,271); +INSERT INTO product_slots VALUES(22,272); +INSERT INTO product_slots VALUES(22,273); INSERT INTO product_slots VALUES(22,274); INSERT INTO product_slots VALUES(22,275); +INSERT INTO product_slots VALUES(22,276); +INSERT INTO product_slots VALUES(22,277); +INSERT INTO product_slots VALUES(22,278); INSERT INTO product_slots VALUES(22,279); INSERT INTO product_slots VALUES(22,280); INSERT INTO product_slots VALUES(22,281); @@ -6404,6 +11631,190 @@ INSERT INTO product_slots VALUES(22,284); INSERT INTO product_slots VALUES(22,285); INSERT INTO product_slots VALUES(22,286); INSERT INTO product_slots VALUES(22,287); +INSERT INTO product_slots VALUES(22,288); +INSERT INTO product_slots VALUES(22,289); +INSERT INTO product_slots VALUES(22,290); +INSERT INTO product_slots VALUES(22,291); +INSERT INTO product_slots VALUES(22,292); +INSERT INTO product_slots VALUES(22,293); +INSERT INTO product_slots VALUES(22,294); +INSERT INTO product_slots VALUES(22,295); +INSERT INTO product_slots VALUES(22,296); +INSERT INTO product_slots VALUES(22,297); +INSERT INTO product_slots VALUES(22,298); +INSERT INTO product_slots VALUES(22,299); +INSERT INTO product_slots VALUES(22,300); +INSERT INTO product_slots VALUES(22,301); +INSERT INTO product_slots VALUES(22,302); +INSERT INTO product_slots VALUES(22,303); +INSERT INTO product_slots VALUES(22,304); +INSERT INTO product_slots VALUES(22,305); +INSERT INTO product_slots VALUES(22,306); +INSERT INTO product_slots VALUES(22,307); +INSERT INTO product_slots VALUES(22,308); +INSERT INTO product_slots VALUES(22,309); +INSERT INTO product_slots VALUES(22,310); +INSERT INTO product_slots VALUES(22,311); +INSERT INTO product_slots VALUES(22,312); +INSERT INTO product_slots VALUES(22,313); +INSERT INTO product_slots VALUES(22,314); +INSERT INTO product_slots VALUES(22,315); +INSERT INTO product_slots VALUES(22,316); +INSERT INTO product_slots VALUES(22,317); +INSERT INTO product_slots VALUES(22,318); +INSERT INTO product_slots VALUES(22,319); +INSERT INTO product_slots VALUES(22,320); +INSERT INTO product_slots VALUES(22,321); +INSERT INTO product_slots VALUES(22,322); +INSERT INTO product_slots VALUES(22,323); +INSERT INTO product_slots VALUES(22,324); +INSERT INTO product_slots VALUES(22,325); +INSERT INTO product_slots VALUES(22,326); +INSERT INTO product_slots VALUES(22,327); +INSERT INTO product_slots VALUES(22,328); +INSERT INTO product_slots VALUES(22,329); +INSERT INTO product_slots VALUES(22,330); +INSERT INTO product_slots VALUES(22,331); +INSERT INTO product_slots VALUES(22,332); +INSERT INTO product_slots VALUES(22,333); +INSERT INTO product_slots VALUES(22,334); +INSERT INTO product_slots VALUES(22,335); +INSERT INTO product_slots VALUES(22,336); +INSERT INTO product_slots VALUES(22,337); +INSERT INTO product_slots VALUES(22,338); +INSERT INTO product_slots VALUES(22,339); +INSERT INTO product_slots VALUES(22,340); +INSERT INTO product_slots VALUES(22,341); +INSERT INTO product_slots VALUES(22,342); +INSERT INTO product_slots VALUES(22,343); +INSERT INTO product_slots VALUES(22,344); +INSERT INTO product_slots VALUES(22,345); +INSERT INTO product_slots VALUES(22,346); +INSERT INTO product_slots VALUES(22,347); +INSERT INTO product_slots VALUES(22,348); +INSERT INTO product_slots VALUES(22,349); +INSERT INTO product_slots VALUES(22,350); +INSERT INTO product_slots VALUES(22,351); +INSERT INTO product_slots VALUES(22,352); +INSERT INTO product_slots VALUES(22,353); +INSERT INTO product_slots VALUES(22,354); +INSERT INTO product_slots VALUES(22,355); +INSERT INTO product_slots VALUES(22,356); +INSERT INTO product_slots VALUES(22,357); +INSERT INTO product_slots VALUES(22,358); +INSERT INTO product_slots VALUES(22,359); +INSERT INTO product_slots VALUES(22,360); +INSERT INTO product_slots VALUES(22,361); +INSERT INTO product_slots VALUES(22,362); +INSERT INTO product_slots VALUES(22,363); +INSERT INTO product_slots VALUES(22,364); +INSERT INTO product_slots VALUES(22,365); +INSERT INTO product_slots VALUES(22,366); +INSERT INTO product_slots VALUES(22,367); +INSERT INTO product_slots VALUES(22,368); +INSERT INTO product_slots VALUES(22,369); +INSERT INTO product_slots VALUES(22,370); +INSERT INTO product_slots VALUES(22,371); +INSERT INTO product_slots VALUES(22,372); +INSERT INTO product_slots VALUES(22,373); +INSERT INTO product_slots VALUES(22,374); +INSERT INTO product_slots VALUES(22,375); +INSERT INTO product_slots VALUES(22,376); +INSERT INTO product_slots VALUES(22,377); +INSERT INTO product_slots VALUES(22,378); +INSERT INTO product_slots VALUES(22,379); +INSERT INTO product_slots VALUES(22,380); +INSERT INTO product_slots VALUES(22,381); +INSERT INTO product_slots VALUES(22,382); +INSERT INTO product_slots VALUES(22,383); +INSERT INTO product_slots VALUES(22,384); +INSERT INTO product_slots VALUES(22,385); +INSERT INTO product_slots VALUES(22,386); +INSERT INTO product_slots VALUES(22,387); +INSERT INTO product_slots VALUES(22,388); +INSERT INTO product_slots VALUES(22,389); +INSERT INTO product_slots VALUES(22,390); +INSERT INTO product_slots VALUES(22,391); +INSERT INTO product_slots VALUES(22,392); +INSERT INTO product_slots VALUES(22,393); +INSERT INTO product_slots VALUES(22,394); +INSERT INTO product_slots VALUES(22,395); +INSERT INTO product_slots VALUES(22,396); +INSERT INTO product_slots VALUES(22,397); +INSERT INTO product_slots VALUES(22,398); +INSERT INTO product_slots VALUES(22,399); +INSERT INTO product_slots VALUES(22,400); +INSERT INTO product_slots VALUES(22,401); +INSERT INTO product_slots VALUES(22,402); +INSERT INTO product_slots VALUES(22,403); +INSERT INTO product_slots VALUES(22,404); +INSERT INTO product_slots VALUES(22,405); +INSERT INTO product_slots VALUES(22,406); +INSERT INTO product_slots VALUES(22,407); +INSERT INTO product_slots VALUES(22,408); +INSERT INTO product_slots VALUES(22,409); +INSERT INTO product_slots VALUES(22,410); +INSERT INTO product_slots VALUES(22,411); +INSERT INTO product_slots VALUES(22,412); +INSERT INTO product_slots VALUES(22,413); +INSERT INTO product_slots VALUES(22,414); +INSERT INTO product_slots VALUES(22,415); +INSERT INTO product_slots VALUES(22,416); +INSERT INTO product_slots VALUES(22,417); +INSERT INTO product_slots VALUES(22,418); +INSERT INTO product_slots VALUES(22,419); +INSERT INTO product_slots VALUES(22,420); +INSERT INTO product_slots VALUES(22,421); +INSERT INTO product_slots VALUES(22,422); +INSERT INTO product_slots VALUES(22,423); +INSERT INTO product_slots VALUES(22,424); +INSERT INTO product_slots VALUES(22,425); +INSERT INTO product_slots VALUES(22,426); +INSERT INTO product_slots VALUES(22,427); +INSERT INTO product_slots VALUES(22,428); +INSERT INTO product_slots VALUES(22,429); +INSERT INTO product_slots VALUES(22,430); +INSERT INTO product_slots VALUES(22,431); +INSERT INTO product_slots VALUES(22,432); +INSERT INTO product_slots VALUES(22,433); +INSERT INTO product_slots VALUES(22,434); +INSERT INTO product_slots VALUES(22,435); +INSERT INTO product_slots VALUES(22,436); +INSERT INTO product_slots VALUES(22,437); +INSERT INTO product_slots VALUES(22,438); +INSERT INTO product_slots VALUES(22,439); +INSERT INTO product_slots VALUES(22,440); +INSERT INTO product_slots VALUES(22,441); +INSERT INTO product_slots VALUES(22,442); +INSERT INTO product_slots VALUES(22,443); +INSERT INTO product_slots VALUES(22,444); +INSERT INTO product_slots VALUES(22,445); +INSERT INTO product_slots VALUES(22,446); +INSERT INTO product_slots VALUES(22,447); +INSERT INTO product_slots VALUES(22,448); +INSERT INTO product_slots VALUES(22,449); +INSERT INTO product_slots VALUES(22,450); +INSERT INTO product_slots VALUES(22,451); +INSERT INTO product_slots VALUES(22,452); +INSERT INTO product_slots VALUES(22,453); +INSERT INTO product_slots VALUES(22,454); +INSERT INTO product_slots VALUES(22,455); +INSERT INTO product_slots VALUES(22,456); +INSERT INTO product_slots VALUES(22,457); +INSERT INTO product_slots VALUES(22,458); +INSERT INTO product_slots VALUES(22,459); +INSERT INTO product_slots VALUES(22,460); +INSERT INTO product_slots VALUES(22,461); +INSERT INTO product_slots VALUES(22,462); +INSERT INTO product_slots VALUES(22,463); +INSERT INTO product_slots VALUES(22,464); +INSERT INTO product_slots VALUES(22,465); +INSERT INTO product_slots VALUES(22,466); +INSERT INTO product_slots VALUES(22,467); +INSERT INTO product_slots VALUES(22,468); +INSERT INTO product_slots VALUES(22,469); +INSERT INTO product_slots VALUES(22,470); +INSERT INTO product_slots VALUES(22,471); INSERT INTO product_slots VALUES(23,12); INSERT INTO product_slots VALUES(23,18); INSERT INTO product_slots VALUES(23,19); @@ -6619,12 +12030,233 @@ INSERT INTO product_slots VALUES(23,241); INSERT INTO product_slots VALUES(23,242); INSERT INTO product_slots VALUES(23,243); INSERT INTO product_slots VALUES(23,244); +INSERT INTO product_slots VALUES(23,245); +INSERT INTO product_slots VALUES(23,246); +INSERT INTO product_slots VALUES(23,247); +INSERT INTO product_slots VALUES(23,248); +INSERT INTO product_slots VALUES(23,249); +INSERT INTO product_slots VALUES(23,250); +INSERT INTO product_slots VALUES(23,251); +INSERT INTO product_slots VALUES(23,252); +INSERT INTO product_slots VALUES(23,253); +INSERT INTO product_slots VALUES(23,254); +INSERT INTO product_slots VALUES(23,255); +INSERT INTO product_slots VALUES(23,256); +INSERT INTO product_slots VALUES(23,257); +INSERT INTO product_slots VALUES(23,258); +INSERT INTO product_slots VALUES(23,259); +INSERT INTO product_slots VALUES(23,260); +INSERT INTO product_slots VALUES(23,261); +INSERT INTO product_slots VALUES(23,262); +INSERT INTO product_slots VALUES(23,263); +INSERT INTO product_slots VALUES(23,264); +INSERT INTO product_slots VALUES(23,265); +INSERT INTO product_slots VALUES(23,266); +INSERT INTO product_slots VALUES(23,267); +INSERT INTO product_slots VALUES(23,268); +INSERT INTO product_slots VALUES(23,269); +INSERT INTO product_slots VALUES(23,270); +INSERT INTO product_slots VALUES(23,271); +INSERT INTO product_slots VALUES(23,272); +INSERT INTO product_slots VALUES(23,273); INSERT INTO product_slots VALUES(23,274); INSERT INTO product_slots VALUES(23,275); +INSERT INTO product_slots VALUES(23,276); +INSERT INTO product_slots VALUES(23,277); +INSERT INTO product_slots VALUES(23,278); INSERT INTO product_slots VALUES(23,279); INSERT INTO product_slots VALUES(23,280); INSERT INTO product_slots VALUES(23,281); INSERT INTO product_slots VALUES(23,282); +INSERT INTO product_slots VALUES(23,283); +INSERT INTO product_slots VALUES(23,284); +INSERT INTO product_slots VALUES(23,285); +INSERT INTO product_slots VALUES(23,286); +INSERT INTO product_slots VALUES(23,287); +INSERT INTO product_slots VALUES(23,288); +INSERT INTO product_slots VALUES(23,289); +INSERT INTO product_slots VALUES(23,290); +INSERT INTO product_slots VALUES(23,291); +INSERT INTO product_slots VALUES(23,292); +INSERT INTO product_slots VALUES(23,293); +INSERT INTO product_slots VALUES(23,294); +INSERT INTO product_slots VALUES(23,295); +INSERT INTO product_slots VALUES(23,296); +INSERT INTO product_slots VALUES(23,297); +INSERT INTO product_slots VALUES(23,298); +INSERT INTO product_slots VALUES(23,299); +INSERT INTO product_slots VALUES(23,300); +INSERT INTO product_slots VALUES(23,301); +INSERT INTO product_slots VALUES(23,302); +INSERT INTO product_slots VALUES(23,303); +INSERT INTO product_slots VALUES(23,304); +INSERT INTO product_slots VALUES(23,305); +INSERT INTO product_slots VALUES(23,306); +INSERT INTO product_slots VALUES(23,307); +INSERT INTO product_slots VALUES(23,308); +INSERT INTO product_slots VALUES(23,309); +INSERT INTO product_slots VALUES(23,310); +INSERT INTO product_slots VALUES(23,311); +INSERT INTO product_slots VALUES(23,312); +INSERT INTO product_slots VALUES(23,313); +INSERT INTO product_slots VALUES(23,314); +INSERT INTO product_slots VALUES(23,315); +INSERT INTO product_slots VALUES(23,316); +INSERT INTO product_slots VALUES(23,317); +INSERT INTO product_slots VALUES(23,318); +INSERT INTO product_slots VALUES(23,319); +INSERT INTO product_slots VALUES(23,320); +INSERT INTO product_slots VALUES(23,321); +INSERT INTO product_slots VALUES(23,322); +INSERT INTO product_slots VALUES(23,323); +INSERT INTO product_slots VALUES(23,324); +INSERT INTO product_slots VALUES(23,325); +INSERT INTO product_slots VALUES(23,326); +INSERT INTO product_slots VALUES(23,327); +INSERT INTO product_slots VALUES(23,328); +INSERT INTO product_slots VALUES(23,329); +INSERT INTO product_slots VALUES(23,330); +INSERT INTO product_slots VALUES(23,331); +INSERT INTO product_slots VALUES(23,332); +INSERT INTO product_slots VALUES(23,333); +INSERT INTO product_slots VALUES(23,334); +INSERT INTO product_slots VALUES(23,335); +INSERT INTO product_slots VALUES(23,336); +INSERT INTO product_slots VALUES(23,337); +INSERT INTO product_slots VALUES(23,338); +INSERT INTO product_slots VALUES(23,339); +INSERT INTO product_slots VALUES(23,340); +INSERT INTO product_slots VALUES(23,341); +INSERT INTO product_slots VALUES(23,342); +INSERT INTO product_slots VALUES(23,343); +INSERT INTO product_slots VALUES(23,344); +INSERT INTO product_slots VALUES(23,345); +INSERT INTO product_slots VALUES(23,346); +INSERT INTO product_slots VALUES(23,347); +INSERT INTO product_slots VALUES(23,348); +INSERT INTO product_slots VALUES(23,349); +INSERT INTO product_slots VALUES(23,350); +INSERT INTO product_slots VALUES(23,351); +INSERT INTO product_slots VALUES(23,352); +INSERT INTO product_slots VALUES(23,353); +INSERT INTO product_slots VALUES(23,354); +INSERT INTO product_slots VALUES(23,355); +INSERT INTO product_slots VALUES(23,356); +INSERT INTO product_slots VALUES(23,357); +INSERT INTO product_slots VALUES(23,358); +INSERT INTO product_slots VALUES(23,359); +INSERT INTO product_slots VALUES(23,360); +INSERT INTO product_slots VALUES(23,361); +INSERT INTO product_slots VALUES(23,362); +INSERT INTO product_slots VALUES(23,363); +INSERT INTO product_slots VALUES(23,364); +INSERT INTO product_slots VALUES(23,365); +INSERT INTO product_slots VALUES(23,366); +INSERT INTO product_slots VALUES(23,367); +INSERT INTO product_slots VALUES(23,368); +INSERT INTO product_slots VALUES(23,369); +INSERT INTO product_slots VALUES(23,370); +INSERT INTO product_slots VALUES(23,371); +INSERT INTO product_slots VALUES(23,372); +INSERT INTO product_slots VALUES(23,373); +INSERT INTO product_slots VALUES(23,374); +INSERT INTO product_slots VALUES(23,375); +INSERT INTO product_slots VALUES(23,376); +INSERT INTO product_slots VALUES(23,377); +INSERT INTO product_slots VALUES(23,378); +INSERT INTO product_slots VALUES(23,379); +INSERT INTO product_slots VALUES(23,380); +INSERT INTO product_slots VALUES(23,381); +INSERT INTO product_slots VALUES(23,382); +INSERT INTO product_slots VALUES(23,383); +INSERT INTO product_slots VALUES(23,384); +INSERT INTO product_slots VALUES(23,385); +INSERT INTO product_slots VALUES(23,386); +INSERT INTO product_slots VALUES(23,387); +INSERT INTO product_slots VALUES(23,388); +INSERT INTO product_slots VALUES(23,389); +INSERT INTO product_slots VALUES(23,390); +INSERT INTO product_slots VALUES(23,391); +INSERT INTO product_slots VALUES(23,392); +INSERT INTO product_slots VALUES(23,393); +INSERT INTO product_slots VALUES(23,394); +INSERT INTO product_slots VALUES(23,395); +INSERT INTO product_slots VALUES(23,396); +INSERT INTO product_slots VALUES(23,397); +INSERT INTO product_slots VALUES(23,398); +INSERT INTO product_slots VALUES(23,399); +INSERT INTO product_slots VALUES(23,400); +INSERT INTO product_slots VALUES(23,401); +INSERT INTO product_slots VALUES(23,402); +INSERT INTO product_slots VALUES(23,403); +INSERT INTO product_slots VALUES(23,404); +INSERT INTO product_slots VALUES(23,405); +INSERT INTO product_slots VALUES(23,406); +INSERT INTO product_slots VALUES(23,407); +INSERT INTO product_slots VALUES(23,408); +INSERT INTO product_slots VALUES(23,409); +INSERT INTO product_slots VALUES(23,410); +INSERT INTO product_slots VALUES(23,411); +INSERT INTO product_slots VALUES(23,412); +INSERT INTO product_slots VALUES(23,413); +INSERT INTO product_slots VALUES(23,414); +INSERT INTO product_slots VALUES(23,415); +INSERT INTO product_slots VALUES(23,416); +INSERT INTO product_slots VALUES(23,417); +INSERT INTO product_slots VALUES(23,418); +INSERT INTO product_slots VALUES(23,419); +INSERT INTO product_slots VALUES(23,420); +INSERT INTO product_slots VALUES(23,421); +INSERT INTO product_slots VALUES(23,422); +INSERT INTO product_slots VALUES(23,423); +INSERT INTO product_slots VALUES(23,424); +INSERT INTO product_slots VALUES(23,425); +INSERT INTO product_slots VALUES(23,426); +INSERT INTO product_slots VALUES(23,427); +INSERT INTO product_slots VALUES(23,428); +INSERT INTO product_slots VALUES(23,429); +INSERT INTO product_slots VALUES(23,430); +INSERT INTO product_slots VALUES(23,431); +INSERT INTO product_slots VALUES(23,432); +INSERT INTO product_slots VALUES(23,433); +INSERT INTO product_slots VALUES(23,434); +INSERT INTO product_slots VALUES(23,435); +INSERT INTO product_slots VALUES(23,436); +INSERT INTO product_slots VALUES(23,437); +INSERT INTO product_slots VALUES(23,438); +INSERT INTO product_slots VALUES(23,439); +INSERT INTO product_slots VALUES(23,440); +INSERT INTO product_slots VALUES(23,441); +INSERT INTO product_slots VALUES(23,442); +INSERT INTO product_slots VALUES(23,443); +INSERT INTO product_slots VALUES(23,444); +INSERT INTO product_slots VALUES(23,445); +INSERT INTO product_slots VALUES(23,446); +INSERT INTO product_slots VALUES(23,447); +INSERT INTO product_slots VALUES(23,448); +INSERT INTO product_slots VALUES(23,449); +INSERT INTO product_slots VALUES(23,450); +INSERT INTO product_slots VALUES(23,451); +INSERT INTO product_slots VALUES(23,452); +INSERT INTO product_slots VALUES(23,453); +INSERT INTO product_slots VALUES(23,454); +INSERT INTO product_slots VALUES(23,455); +INSERT INTO product_slots VALUES(23,456); +INSERT INTO product_slots VALUES(23,457); +INSERT INTO product_slots VALUES(23,458); +INSERT INTO product_slots VALUES(23,459); +INSERT INTO product_slots VALUES(23,460); +INSERT INTO product_slots VALUES(23,461); +INSERT INTO product_slots VALUES(23,462); +INSERT INTO product_slots VALUES(23,463); +INSERT INTO product_slots VALUES(23,464); +INSERT INTO product_slots VALUES(23,465); +INSERT INTO product_slots VALUES(23,466); +INSERT INTO product_slots VALUES(23,467); +INSERT INTO product_slots VALUES(23,468); +INSERT INTO product_slots VALUES(23,469); +INSERT INTO product_slots VALUES(23,470); +INSERT INTO product_slots VALUES(23,471); INSERT INTO product_slots VALUES(24,12); INSERT INTO product_slots VALUES(24,18); INSERT INTO product_slots VALUES(24,19); @@ -6840,12 +12472,233 @@ INSERT INTO product_slots VALUES(24,241); INSERT INTO product_slots VALUES(24,242); INSERT INTO product_slots VALUES(24,243); INSERT INTO product_slots VALUES(24,244); +INSERT INTO product_slots VALUES(24,245); +INSERT INTO product_slots VALUES(24,246); +INSERT INTO product_slots VALUES(24,247); +INSERT INTO product_slots VALUES(24,248); +INSERT INTO product_slots VALUES(24,249); +INSERT INTO product_slots VALUES(24,250); +INSERT INTO product_slots VALUES(24,251); +INSERT INTO product_slots VALUES(24,252); +INSERT INTO product_slots VALUES(24,253); +INSERT INTO product_slots VALUES(24,254); +INSERT INTO product_slots VALUES(24,255); +INSERT INTO product_slots VALUES(24,256); +INSERT INTO product_slots VALUES(24,257); +INSERT INTO product_slots VALUES(24,258); +INSERT INTO product_slots VALUES(24,259); +INSERT INTO product_slots VALUES(24,260); +INSERT INTO product_slots VALUES(24,261); +INSERT INTO product_slots VALUES(24,262); +INSERT INTO product_slots VALUES(24,263); +INSERT INTO product_slots VALUES(24,264); +INSERT INTO product_slots VALUES(24,265); +INSERT INTO product_slots VALUES(24,266); +INSERT INTO product_slots VALUES(24,267); +INSERT INTO product_slots VALUES(24,268); +INSERT INTO product_slots VALUES(24,269); +INSERT INTO product_slots VALUES(24,270); +INSERT INTO product_slots VALUES(24,271); +INSERT INTO product_slots VALUES(24,272); +INSERT INTO product_slots VALUES(24,273); INSERT INTO product_slots VALUES(24,274); INSERT INTO product_slots VALUES(24,275); +INSERT INTO product_slots VALUES(24,276); +INSERT INTO product_slots VALUES(24,277); +INSERT INTO product_slots VALUES(24,278); INSERT INTO product_slots VALUES(24,279); INSERT INTO product_slots VALUES(24,280); INSERT INTO product_slots VALUES(24,281); INSERT INTO product_slots VALUES(24,282); +INSERT INTO product_slots VALUES(24,283); +INSERT INTO product_slots VALUES(24,284); +INSERT INTO product_slots VALUES(24,285); +INSERT INTO product_slots VALUES(24,286); +INSERT INTO product_slots VALUES(24,287); +INSERT INTO product_slots VALUES(24,288); +INSERT INTO product_slots VALUES(24,289); +INSERT INTO product_slots VALUES(24,290); +INSERT INTO product_slots VALUES(24,291); +INSERT INTO product_slots VALUES(24,292); +INSERT INTO product_slots VALUES(24,293); +INSERT INTO product_slots VALUES(24,294); +INSERT INTO product_slots VALUES(24,295); +INSERT INTO product_slots VALUES(24,296); +INSERT INTO product_slots VALUES(24,297); +INSERT INTO product_slots VALUES(24,298); +INSERT INTO product_slots VALUES(24,299); +INSERT INTO product_slots VALUES(24,300); +INSERT INTO product_slots VALUES(24,301); +INSERT INTO product_slots VALUES(24,302); +INSERT INTO product_slots VALUES(24,303); +INSERT INTO product_slots VALUES(24,304); +INSERT INTO product_slots VALUES(24,305); +INSERT INTO product_slots VALUES(24,306); +INSERT INTO product_slots VALUES(24,307); +INSERT INTO product_slots VALUES(24,308); +INSERT INTO product_slots VALUES(24,309); +INSERT INTO product_slots VALUES(24,310); +INSERT INTO product_slots VALUES(24,311); +INSERT INTO product_slots VALUES(24,312); +INSERT INTO product_slots VALUES(24,313); +INSERT INTO product_slots VALUES(24,314); +INSERT INTO product_slots VALUES(24,315); +INSERT INTO product_slots VALUES(24,316); +INSERT INTO product_slots VALUES(24,317); +INSERT INTO product_slots VALUES(24,318); +INSERT INTO product_slots VALUES(24,319); +INSERT INTO product_slots VALUES(24,320); +INSERT INTO product_slots VALUES(24,321); +INSERT INTO product_slots VALUES(24,322); +INSERT INTO product_slots VALUES(24,323); +INSERT INTO product_slots VALUES(24,324); +INSERT INTO product_slots VALUES(24,325); +INSERT INTO product_slots VALUES(24,326); +INSERT INTO product_slots VALUES(24,327); +INSERT INTO product_slots VALUES(24,328); +INSERT INTO product_slots VALUES(24,329); +INSERT INTO product_slots VALUES(24,330); +INSERT INTO product_slots VALUES(24,331); +INSERT INTO product_slots VALUES(24,332); +INSERT INTO product_slots VALUES(24,333); +INSERT INTO product_slots VALUES(24,334); +INSERT INTO product_slots VALUES(24,335); +INSERT INTO product_slots VALUES(24,336); +INSERT INTO product_slots VALUES(24,337); +INSERT INTO product_slots VALUES(24,338); +INSERT INTO product_slots VALUES(24,339); +INSERT INTO product_slots VALUES(24,340); +INSERT INTO product_slots VALUES(24,341); +INSERT INTO product_slots VALUES(24,342); +INSERT INTO product_slots VALUES(24,343); +INSERT INTO product_slots VALUES(24,344); +INSERT INTO product_slots VALUES(24,345); +INSERT INTO product_slots VALUES(24,346); +INSERT INTO product_slots VALUES(24,347); +INSERT INTO product_slots VALUES(24,348); +INSERT INTO product_slots VALUES(24,349); +INSERT INTO product_slots VALUES(24,350); +INSERT INTO product_slots VALUES(24,351); +INSERT INTO product_slots VALUES(24,352); +INSERT INTO product_slots VALUES(24,353); +INSERT INTO product_slots VALUES(24,354); +INSERT INTO product_slots VALUES(24,355); +INSERT INTO product_slots VALUES(24,356); +INSERT INTO product_slots VALUES(24,357); +INSERT INTO product_slots VALUES(24,358); +INSERT INTO product_slots VALUES(24,359); +INSERT INTO product_slots VALUES(24,360); +INSERT INTO product_slots VALUES(24,361); +INSERT INTO product_slots VALUES(24,362); +INSERT INTO product_slots VALUES(24,363); +INSERT INTO product_slots VALUES(24,364); +INSERT INTO product_slots VALUES(24,365); +INSERT INTO product_slots VALUES(24,366); +INSERT INTO product_slots VALUES(24,367); +INSERT INTO product_slots VALUES(24,368); +INSERT INTO product_slots VALUES(24,369); +INSERT INTO product_slots VALUES(24,370); +INSERT INTO product_slots VALUES(24,371); +INSERT INTO product_slots VALUES(24,372); +INSERT INTO product_slots VALUES(24,373); +INSERT INTO product_slots VALUES(24,374); +INSERT INTO product_slots VALUES(24,375); +INSERT INTO product_slots VALUES(24,376); +INSERT INTO product_slots VALUES(24,377); +INSERT INTO product_slots VALUES(24,378); +INSERT INTO product_slots VALUES(24,379); +INSERT INTO product_slots VALUES(24,380); +INSERT INTO product_slots VALUES(24,381); +INSERT INTO product_slots VALUES(24,382); +INSERT INTO product_slots VALUES(24,383); +INSERT INTO product_slots VALUES(24,384); +INSERT INTO product_slots VALUES(24,385); +INSERT INTO product_slots VALUES(24,386); +INSERT INTO product_slots VALUES(24,387); +INSERT INTO product_slots VALUES(24,388); +INSERT INTO product_slots VALUES(24,389); +INSERT INTO product_slots VALUES(24,390); +INSERT INTO product_slots VALUES(24,391); +INSERT INTO product_slots VALUES(24,392); +INSERT INTO product_slots VALUES(24,393); +INSERT INTO product_slots VALUES(24,394); +INSERT INTO product_slots VALUES(24,395); +INSERT INTO product_slots VALUES(24,396); +INSERT INTO product_slots VALUES(24,397); +INSERT INTO product_slots VALUES(24,398); +INSERT INTO product_slots VALUES(24,399); +INSERT INTO product_slots VALUES(24,400); +INSERT INTO product_slots VALUES(24,401); +INSERT INTO product_slots VALUES(24,402); +INSERT INTO product_slots VALUES(24,403); +INSERT INTO product_slots VALUES(24,404); +INSERT INTO product_slots VALUES(24,405); +INSERT INTO product_slots VALUES(24,406); +INSERT INTO product_slots VALUES(24,407); +INSERT INTO product_slots VALUES(24,408); +INSERT INTO product_slots VALUES(24,409); +INSERT INTO product_slots VALUES(24,410); +INSERT INTO product_slots VALUES(24,411); +INSERT INTO product_slots VALUES(24,412); +INSERT INTO product_slots VALUES(24,413); +INSERT INTO product_slots VALUES(24,414); +INSERT INTO product_slots VALUES(24,415); +INSERT INTO product_slots VALUES(24,416); +INSERT INTO product_slots VALUES(24,417); +INSERT INTO product_slots VALUES(24,418); +INSERT INTO product_slots VALUES(24,419); +INSERT INTO product_slots VALUES(24,420); +INSERT INTO product_slots VALUES(24,421); +INSERT INTO product_slots VALUES(24,422); +INSERT INTO product_slots VALUES(24,423); +INSERT INTO product_slots VALUES(24,424); +INSERT INTO product_slots VALUES(24,425); +INSERT INTO product_slots VALUES(24,426); +INSERT INTO product_slots VALUES(24,427); +INSERT INTO product_slots VALUES(24,428); +INSERT INTO product_slots VALUES(24,429); +INSERT INTO product_slots VALUES(24,430); +INSERT INTO product_slots VALUES(24,431); +INSERT INTO product_slots VALUES(24,432); +INSERT INTO product_slots VALUES(24,433); +INSERT INTO product_slots VALUES(24,434); +INSERT INTO product_slots VALUES(24,435); +INSERT INTO product_slots VALUES(24,436); +INSERT INTO product_slots VALUES(24,437); +INSERT INTO product_slots VALUES(24,438); +INSERT INTO product_slots VALUES(24,439); +INSERT INTO product_slots VALUES(24,440); +INSERT INTO product_slots VALUES(24,441); +INSERT INTO product_slots VALUES(24,442); +INSERT INTO product_slots VALUES(24,443); +INSERT INTO product_slots VALUES(24,444); +INSERT INTO product_slots VALUES(24,445); +INSERT INTO product_slots VALUES(24,446); +INSERT INTO product_slots VALUES(24,447); +INSERT INTO product_slots VALUES(24,448); +INSERT INTO product_slots VALUES(24,449); +INSERT INTO product_slots VALUES(24,450); +INSERT INTO product_slots VALUES(24,451); +INSERT INTO product_slots VALUES(24,452); +INSERT INTO product_slots VALUES(24,453); +INSERT INTO product_slots VALUES(24,454); +INSERT INTO product_slots VALUES(24,455); +INSERT INTO product_slots VALUES(24,456); +INSERT INTO product_slots VALUES(24,457); +INSERT INTO product_slots VALUES(24,458); +INSERT INTO product_slots VALUES(24,459); +INSERT INTO product_slots VALUES(24,460); +INSERT INTO product_slots VALUES(24,461); +INSERT INTO product_slots VALUES(24,462); +INSERT INTO product_slots VALUES(24,463); +INSERT INTO product_slots VALUES(24,464); +INSERT INTO product_slots VALUES(24,465); +INSERT INTO product_slots VALUES(24,466); +INSERT INTO product_slots VALUES(24,467); +INSERT INTO product_slots VALUES(24,468); +INSERT INTO product_slots VALUES(24,469); +INSERT INTO product_slots VALUES(24,470); +INSERT INTO product_slots VALUES(24,471); INSERT INTO product_slots VALUES(25,10); INSERT INTO product_slots VALUES(25,11); INSERT INTO product_slots VALUES(25,12); @@ -7053,8 +12906,40 @@ INSERT INTO product_slots VALUES(25,241); INSERT INTO product_slots VALUES(25,242); INSERT INTO product_slots VALUES(25,243); INSERT INTO product_slots VALUES(25,244); +INSERT INTO product_slots VALUES(25,245); +INSERT INTO product_slots VALUES(25,246); +INSERT INTO product_slots VALUES(25,247); +INSERT INTO product_slots VALUES(25,248); +INSERT INTO product_slots VALUES(25,249); +INSERT INTO product_slots VALUES(25,250); +INSERT INTO product_slots VALUES(25,251); +INSERT INTO product_slots VALUES(25,252); +INSERT INTO product_slots VALUES(25,253); +INSERT INTO product_slots VALUES(25,254); +INSERT INTO product_slots VALUES(25,255); +INSERT INTO product_slots VALUES(25,256); +INSERT INTO product_slots VALUES(25,257); +INSERT INTO product_slots VALUES(25,258); +INSERT INTO product_slots VALUES(25,259); +INSERT INTO product_slots VALUES(25,260); +INSERT INTO product_slots VALUES(25,261); +INSERT INTO product_slots VALUES(25,262); +INSERT INTO product_slots VALUES(25,263); +INSERT INTO product_slots VALUES(25,264); +INSERT INTO product_slots VALUES(25,265); +INSERT INTO product_slots VALUES(25,266); +INSERT INTO product_slots VALUES(25,267); +INSERT INTO product_slots VALUES(25,268); +INSERT INTO product_slots VALUES(25,269); +INSERT INTO product_slots VALUES(25,270); +INSERT INTO product_slots VALUES(25,271); +INSERT INTO product_slots VALUES(25,272); +INSERT INTO product_slots VALUES(25,273); INSERT INTO product_slots VALUES(25,274); INSERT INTO product_slots VALUES(25,275); +INSERT INTO product_slots VALUES(25,276); +INSERT INTO product_slots VALUES(25,277); +INSERT INTO product_slots VALUES(25,278); INSERT INTO product_slots VALUES(25,279); INSERT INTO product_slots VALUES(25,280); INSERT INTO product_slots VALUES(25,281); @@ -7064,6 +12949,189 @@ INSERT INTO product_slots VALUES(25,284); INSERT INTO product_slots VALUES(25,285); INSERT INTO product_slots VALUES(25,286); INSERT INTO product_slots VALUES(25,287); +INSERT INTO product_slots VALUES(25,288); +INSERT INTO product_slots VALUES(25,289); +INSERT INTO product_slots VALUES(25,290); +INSERT INTO product_slots VALUES(25,291); +INSERT INTO product_slots VALUES(25,292); +INSERT INTO product_slots VALUES(25,293); +INSERT INTO product_slots VALUES(25,294); +INSERT INTO product_slots VALUES(25,295); +INSERT INTO product_slots VALUES(25,296); +INSERT INTO product_slots VALUES(25,297); +INSERT INTO product_slots VALUES(25,298); +INSERT INTO product_slots VALUES(25,299); +INSERT INTO product_slots VALUES(25,300); +INSERT INTO product_slots VALUES(25,301); +INSERT INTO product_slots VALUES(25,302); +INSERT INTO product_slots VALUES(25,303); +INSERT INTO product_slots VALUES(25,304); +INSERT INTO product_slots VALUES(25,305); +INSERT INTO product_slots VALUES(25,306); +INSERT INTO product_slots VALUES(25,307); +INSERT INTO product_slots VALUES(25,308); +INSERT INTO product_slots VALUES(25,309); +INSERT INTO product_slots VALUES(25,310); +INSERT INTO product_slots VALUES(25,311); +INSERT INTO product_slots VALUES(25,312); +INSERT INTO product_slots VALUES(25,313); +INSERT INTO product_slots VALUES(25,314); +INSERT INTO product_slots VALUES(25,315); +INSERT INTO product_slots VALUES(25,316); +INSERT INTO product_slots VALUES(25,317); +INSERT INTO product_slots VALUES(25,318); +INSERT INTO product_slots VALUES(25,319); +INSERT INTO product_slots VALUES(25,320); +INSERT INTO product_slots VALUES(25,321); +INSERT INTO product_slots VALUES(25,322); +INSERT INTO product_slots VALUES(25,323); +INSERT INTO product_slots VALUES(25,324); +INSERT INTO product_slots VALUES(25,325); +INSERT INTO product_slots VALUES(25,326); +INSERT INTO product_slots VALUES(25,327); +INSERT INTO product_slots VALUES(25,328); +INSERT INTO product_slots VALUES(25,329); +INSERT INTO product_slots VALUES(25,330); +INSERT INTO product_slots VALUES(25,331); +INSERT INTO product_slots VALUES(25,332); +INSERT INTO product_slots VALUES(25,333); +INSERT INTO product_slots VALUES(25,334); +INSERT INTO product_slots VALUES(25,335); +INSERT INTO product_slots VALUES(25,336); +INSERT INTO product_slots VALUES(25,337); +INSERT INTO product_slots VALUES(25,338); +INSERT INTO product_slots VALUES(25,339); +INSERT INTO product_slots VALUES(25,340); +INSERT INTO product_slots VALUES(25,341); +INSERT INTO product_slots VALUES(25,342); +INSERT INTO product_slots VALUES(25,343); +INSERT INTO product_slots VALUES(25,344); +INSERT INTO product_slots VALUES(25,345); +INSERT INTO product_slots VALUES(25,346); +INSERT INTO product_slots VALUES(25,347); +INSERT INTO product_slots VALUES(25,348); +INSERT INTO product_slots VALUES(25,349); +INSERT INTO product_slots VALUES(25,350); +INSERT INTO product_slots VALUES(25,351); +INSERT INTO product_slots VALUES(25,352); +INSERT INTO product_slots VALUES(25,353); +INSERT INTO product_slots VALUES(25,354); +INSERT INTO product_slots VALUES(25,355); +INSERT INTO product_slots VALUES(25,356); +INSERT INTO product_slots VALUES(25,357); +INSERT INTO product_slots VALUES(25,358); +INSERT INTO product_slots VALUES(25,359); +INSERT INTO product_slots VALUES(25,360); +INSERT INTO product_slots VALUES(25,361); +INSERT INTO product_slots VALUES(25,362); +INSERT INTO product_slots VALUES(25,363); +INSERT INTO product_slots VALUES(25,364); +INSERT INTO product_slots VALUES(25,365); +INSERT INTO product_slots VALUES(25,366); +INSERT INTO product_slots VALUES(25,367); +INSERT INTO product_slots VALUES(25,368); +INSERT INTO product_slots VALUES(25,369); +INSERT INTO product_slots VALUES(25,370); +INSERT INTO product_slots VALUES(25,371); +INSERT INTO product_slots VALUES(25,372); +INSERT INTO product_slots VALUES(25,373); +INSERT INTO product_slots VALUES(25,374); +INSERT INTO product_slots VALUES(25,375); +INSERT INTO product_slots VALUES(25,376); +INSERT INTO product_slots VALUES(25,377); +INSERT INTO product_slots VALUES(25,378); +INSERT INTO product_slots VALUES(25,379); +INSERT INTO product_slots VALUES(25,380); +INSERT INTO product_slots VALUES(25,381); +INSERT INTO product_slots VALUES(25,382); +INSERT INTO product_slots VALUES(25,383); +INSERT INTO product_slots VALUES(25,384); +INSERT INTO product_slots VALUES(25,385); +INSERT INTO product_slots VALUES(25,386); +INSERT INTO product_slots VALUES(25,387); +INSERT INTO product_slots VALUES(25,388); +INSERT INTO product_slots VALUES(25,389); +INSERT INTO product_slots VALUES(25,390); +INSERT INTO product_slots VALUES(25,391); +INSERT INTO product_slots VALUES(25,392); +INSERT INTO product_slots VALUES(25,393); +INSERT INTO product_slots VALUES(25,394); +INSERT INTO product_slots VALUES(25,395); +INSERT INTO product_slots VALUES(25,396); +INSERT INTO product_slots VALUES(25,397); +INSERT INTO product_slots VALUES(25,398); +INSERT INTO product_slots VALUES(25,399); +INSERT INTO product_slots VALUES(25,400); +INSERT INTO product_slots VALUES(25,401); +INSERT INTO product_slots VALUES(25,402); +INSERT INTO product_slots VALUES(25,403); +INSERT INTO product_slots VALUES(25,404); +INSERT INTO product_slots VALUES(25,405); +INSERT INTO product_slots VALUES(25,406); +INSERT INTO product_slots VALUES(25,407); +INSERT INTO product_slots VALUES(25,408); +INSERT INTO product_slots VALUES(25,409); +INSERT INTO product_slots VALUES(25,410); +INSERT INTO product_slots VALUES(25,411); +INSERT INTO product_slots VALUES(25,412); +INSERT INTO product_slots VALUES(25,413); +INSERT INTO product_slots VALUES(25,414); +INSERT INTO product_slots VALUES(25,415); +INSERT INTO product_slots VALUES(25,416); +INSERT INTO product_slots VALUES(25,417); +INSERT INTO product_slots VALUES(25,418); +INSERT INTO product_slots VALUES(25,419); +INSERT INTO product_slots VALUES(25,420); +INSERT INTO product_slots VALUES(25,421); +INSERT INTO product_slots VALUES(25,422); +INSERT INTO product_slots VALUES(25,423); +INSERT INTO product_slots VALUES(25,424); +INSERT INTO product_slots VALUES(25,425); +INSERT INTO product_slots VALUES(25,426); +INSERT INTO product_slots VALUES(25,427); +INSERT INTO product_slots VALUES(25,428); +INSERT INTO product_slots VALUES(25,429); +INSERT INTO product_slots VALUES(25,430); +INSERT INTO product_slots VALUES(25,431); +INSERT INTO product_slots VALUES(25,432); +INSERT INTO product_slots VALUES(25,433); +INSERT INTO product_slots VALUES(25,434); +INSERT INTO product_slots VALUES(25,435); +INSERT INTO product_slots VALUES(25,436); +INSERT INTO product_slots VALUES(25,437); +INSERT INTO product_slots VALUES(25,438); +INSERT INTO product_slots VALUES(25,439); +INSERT INTO product_slots VALUES(25,440); +INSERT INTO product_slots VALUES(25,441); +INSERT INTO product_slots VALUES(25,442); +INSERT INTO product_slots VALUES(25,443); +INSERT INTO product_slots VALUES(25,444); +INSERT INTO product_slots VALUES(25,445); +INSERT INTO product_slots VALUES(25,446); +INSERT INTO product_slots VALUES(25,447); +INSERT INTO product_slots VALUES(25,448); +INSERT INTO product_slots VALUES(25,449); +INSERT INTO product_slots VALUES(25,450); +INSERT INTO product_slots VALUES(25,451); +INSERT INTO product_slots VALUES(25,452); +INSERT INTO product_slots VALUES(25,453); +INSERT INTO product_slots VALUES(25,455); +INSERT INTO product_slots VALUES(25,456); +INSERT INTO product_slots VALUES(25,457); +INSERT INTO product_slots VALUES(25,458); +INSERT INTO product_slots VALUES(25,459); +INSERT INTO product_slots VALUES(25,460); +INSERT INTO product_slots VALUES(25,461); +INSERT INTO product_slots VALUES(25,462); +INSERT INTO product_slots VALUES(25,463); +INSERT INTO product_slots VALUES(25,464); +INSERT INTO product_slots VALUES(25,465); +INSERT INTO product_slots VALUES(25,466); +INSERT INTO product_slots VALUES(25,467); +INSERT INTO product_slots VALUES(25,468); +INSERT INTO product_slots VALUES(25,469); +INSERT INTO product_slots VALUES(25,470); +INSERT INTO product_slots VALUES(25,471); INSERT INTO product_slots VALUES(26,17); INSERT INTO product_slots VALUES(26,18); INSERT INTO product_slots VALUES(26,20); @@ -7251,8 +13319,40 @@ INSERT INTO product_slots VALUES(26,241); INSERT INTO product_slots VALUES(26,242); INSERT INTO product_slots VALUES(26,243); INSERT INTO product_slots VALUES(26,244); +INSERT INTO product_slots VALUES(26,245); +INSERT INTO product_slots VALUES(26,246); +INSERT INTO product_slots VALUES(26,247); +INSERT INTO product_slots VALUES(26,248); +INSERT INTO product_slots VALUES(26,249); +INSERT INTO product_slots VALUES(26,250); +INSERT INTO product_slots VALUES(26,251); +INSERT INTO product_slots VALUES(26,252); +INSERT INTO product_slots VALUES(26,253); +INSERT INTO product_slots VALUES(26,254); +INSERT INTO product_slots VALUES(26,255); +INSERT INTO product_slots VALUES(26,256); +INSERT INTO product_slots VALUES(26,257); +INSERT INTO product_slots VALUES(26,258); +INSERT INTO product_slots VALUES(26,259); +INSERT INTO product_slots VALUES(26,260); +INSERT INTO product_slots VALUES(26,261); +INSERT INTO product_slots VALUES(26,262); +INSERT INTO product_slots VALUES(26,263); +INSERT INTO product_slots VALUES(26,264); +INSERT INTO product_slots VALUES(26,265); +INSERT INTO product_slots VALUES(26,266); +INSERT INTO product_slots VALUES(26,267); +INSERT INTO product_slots VALUES(26,268); +INSERT INTO product_slots VALUES(26,269); +INSERT INTO product_slots VALUES(26,270); +INSERT INTO product_slots VALUES(26,271); +INSERT INTO product_slots VALUES(26,272); +INSERT INTO product_slots VALUES(26,273); INSERT INTO product_slots VALUES(26,274); INSERT INTO product_slots VALUES(26,275); +INSERT INTO product_slots VALUES(26,276); +INSERT INTO product_slots VALUES(26,277); +INSERT INTO product_slots VALUES(26,278); INSERT INTO product_slots VALUES(26,279); INSERT INTO product_slots VALUES(26,280); INSERT INTO product_slots VALUES(26,281); @@ -7262,6 +13362,189 @@ INSERT INTO product_slots VALUES(26,284); INSERT INTO product_slots VALUES(26,285); INSERT INTO product_slots VALUES(26,286); INSERT INTO product_slots VALUES(26,287); +INSERT INTO product_slots VALUES(26,288); +INSERT INTO product_slots VALUES(26,289); +INSERT INTO product_slots VALUES(26,290); +INSERT INTO product_slots VALUES(26,291); +INSERT INTO product_slots VALUES(26,292); +INSERT INTO product_slots VALUES(26,293); +INSERT INTO product_slots VALUES(26,294); +INSERT INTO product_slots VALUES(26,295); +INSERT INTO product_slots VALUES(26,296); +INSERT INTO product_slots VALUES(26,297); +INSERT INTO product_slots VALUES(26,298); +INSERT INTO product_slots VALUES(26,299); +INSERT INTO product_slots VALUES(26,300); +INSERT INTO product_slots VALUES(26,301); +INSERT INTO product_slots VALUES(26,302); +INSERT INTO product_slots VALUES(26,303); +INSERT INTO product_slots VALUES(26,304); +INSERT INTO product_slots VALUES(26,305); +INSERT INTO product_slots VALUES(26,306); +INSERT INTO product_slots VALUES(26,307); +INSERT INTO product_slots VALUES(26,308); +INSERT INTO product_slots VALUES(26,309); +INSERT INTO product_slots VALUES(26,310); +INSERT INTO product_slots VALUES(26,311); +INSERT INTO product_slots VALUES(26,312); +INSERT INTO product_slots VALUES(26,313); +INSERT INTO product_slots VALUES(26,314); +INSERT INTO product_slots VALUES(26,315); +INSERT INTO product_slots VALUES(26,316); +INSERT INTO product_slots VALUES(26,317); +INSERT INTO product_slots VALUES(26,318); +INSERT INTO product_slots VALUES(26,319); +INSERT INTO product_slots VALUES(26,320); +INSERT INTO product_slots VALUES(26,321); +INSERT INTO product_slots VALUES(26,322); +INSERT INTO product_slots VALUES(26,323); +INSERT INTO product_slots VALUES(26,324); +INSERT INTO product_slots VALUES(26,325); +INSERT INTO product_slots VALUES(26,326); +INSERT INTO product_slots VALUES(26,327); +INSERT INTO product_slots VALUES(26,328); +INSERT INTO product_slots VALUES(26,329); +INSERT INTO product_slots VALUES(26,330); +INSERT INTO product_slots VALUES(26,331); +INSERT INTO product_slots VALUES(26,332); +INSERT INTO product_slots VALUES(26,333); +INSERT INTO product_slots VALUES(26,334); +INSERT INTO product_slots VALUES(26,335); +INSERT INTO product_slots VALUES(26,336); +INSERT INTO product_slots VALUES(26,337); +INSERT INTO product_slots VALUES(26,338); +INSERT INTO product_slots VALUES(26,339); +INSERT INTO product_slots VALUES(26,340); +INSERT INTO product_slots VALUES(26,341); +INSERT INTO product_slots VALUES(26,342); +INSERT INTO product_slots VALUES(26,343); +INSERT INTO product_slots VALUES(26,344); +INSERT INTO product_slots VALUES(26,345); +INSERT INTO product_slots VALUES(26,346); +INSERT INTO product_slots VALUES(26,347); +INSERT INTO product_slots VALUES(26,348); +INSERT INTO product_slots VALUES(26,349); +INSERT INTO product_slots VALUES(26,350); +INSERT INTO product_slots VALUES(26,351); +INSERT INTO product_slots VALUES(26,352); +INSERT INTO product_slots VALUES(26,353); +INSERT INTO product_slots VALUES(26,354); +INSERT INTO product_slots VALUES(26,355); +INSERT INTO product_slots VALUES(26,356); +INSERT INTO product_slots VALUES(26,357); +INSERT INTO product_slots VALUES(26,358); +INSERT INTO product_slots VALUES(26,359); +INSERT INTO product_slots VALUES(26,360); +INSERT INTO product_slots VALUES(26,361); +INSERT INTO product_slots VALUES(26,362); +INSERT INTO product_slots VALUES(26,363); +INSERT INTO product_slots VALUES(26,364); +INSERT INTO product_slots VALUES(26,365); +INSERT INTO product_slots VALUES(26,366); +INSERT INTO product_slots VALUES(26,367); +INSERT INTO product_slots VALUES(26,368); +INSERT INTO product_slots VALUES(26,369); +INSERT INTO product_slots VALUES(26,370); +INSERT INTO product_slots VALUES(26,371); +INSERT INTO product_slots VALUES(26,372); +INSERT INTO product_slots VALUES(26,373); +INSERT INTO product_slots VALUES(26,374); +INSERT INTO product_slots VALUES(26,375); +INSERT INTO product_slots VALUES(26,376); +INSERT INTO product_slots VALUES(26,377); +INSERT INTO product_slots VALUES(26,378); +INSERT INTO product_slots VALUES(26,379); +INSERT INTO product_slots VALUES(26,380); +INSERT INTO product_slots VALUES(26,381); +INSERT INTO product_slots VALUES(26,382); +INSERT INTO product_slots VALUES(26,383); +INSERT INTO product_slots VALUES(26,384); +INSERT INTO product_slots VALUES(26,385); +INSERT INTO product_slots VALUES(26,386); +INSERT INTO product_slots VALUES(26,387); +INSERT INTO product_slots VALUES(26,388); +INSERT INTO product_slots VALUES(26,389); +INSERT INTO product_slots VALUES(26,390); +INSERT INTO product_slots VALUES(26,391); +INSERT INTO product_slots VALUES(26,392); +INSERT INTO product_slots VALUES(26,393); +INSERT INTO product_slots VALUES(26,394); +INSERT INTO product_slots VALUES(26,395); +INSERT INTO product_slots VALUES(26,396); +INSERT INTO product_slots VALUES(26,397); +INSERT INTO product_slots VALUES(26,398); +INSERT INTO product_slots VALUES(26,399); +INSERT INTO product_slots VALUES(26,400); +INSERT INTO product_slots VALUES(26,401); +INSERT INTO product_slots VALUES(26,402); +INSERT INTO product_slots VALUES(26,403); +INSERT INTO product_slots VALUES(26,404); +INSERT INTO product_slots VALUES(26,405); +INSERT INTO product_slots VALUES(26,406); +INSERT INTO product_slots VALUES(26,407); +INSERT INTO product_slots VALUES(26,408); +INSERT INTO product_slots VALUES(26,409); +INSERT INTO product_slots VALUES(26,410); +INSERT INTO product_slots VALUES(26,411); +INSERT INTO product_slots VALUES(26,412); +INSERT INTO product_slots VALUES(26,413); +INSERT INTO product_slots VALUES(26,414); +INSERT INTO product_slots VALUES(26,415); +INSERT INTO product_slots VALUES(26,416); +INSERT INTO product_slots VALUES(26,417); +INSERT INTO product_slots VALUES(26,418); +INSERT INTO product_slots VALUES(26,419); +INSERT INTO product_slots VALUES(26,420); +INSERT INTO product_slots VALUES(26,421); +INSERT INTO product_slots VALUES(26,422); +INSERT INTO product_slots VALUES(26,423); +INSERT INTO product_slots VALUES(26,424); +INSERT INTO product_slots VALUES(26,425); +INSERT INTO product_slots VALUES(26,426); +INSERT INTO product_slots VALUES(26,427); +INSERT INTO product_slots VALUES(26,428); +INSERT INTO product_slots VALUES(26,429); +INSERT INTO product_slots VALUES(26,430); +INSERT INTO product_slots VALUES(26,431); +INSERT INTO product_slots VALUES(26,432); +INSERT INTO product_slots VALUES(26,433); +INSERT INTO product_slots VALUES(26,434); +INSERT INTO product_slots VALUES(26,435); +INSERT INTO product_slots VALUES(26,436); +INSERT INTO product_slots VALUES(26,437); +INSERT INTO product_slots VALUES(26,438); +INSERT INTO product_slots VALUES(26,439); +INSERT INTO product_slots VALUES(26,440); +INSERT INTO product_slots VALUES(26,441); +INSERT INTO product_slots VALUES(26,442); +INSERT INTO product_slots VALUES(26,443); +INSERT INTO product_slots VALUES(26,444); +INSERT INTO product_slots VALUES(26,445); +INSERT INTO product_slots VALUES(26,446); +INSERT INTO product_slots VALUES(26,447); +INSERT INTO product_slots VALUES(26,448); +INSERT INTO product_slots VALUES(26,449); +INSERT INTO product_slots VALUES(26,450); +INSERT INTO product_slots VALUES(26,451); +INSERT INTO product_slots VALUES(26,452); +INSERT INTO product_slots VALUES(26,453); +INSERT INTO product_slots VALUES(26,455); +INSERT INTO product_slots VALUES(26,456); +INSERT INTO product_slots VALUES(26,457); +INSERT INTO product_slots VALUES(26,458); +INSERT INTO product_slots VALUES(26,459); +INSERT INTO product_slots VALUES(26,460); +INSERT INTO product_slots VALUES(26,461); +INSERT INTO product_slots VALUES(26,462); +INSERT INTO product_slots VALUES(26,463); +INSERT INTO product_slots VALUES(26,464); +INSERT INTO product_slots VALUES(26,465); +INSERT INTO product_slots VALUES(26,466); +INSERT INTO product_slots VALUES(26,467); +INSERT INTO product_slots VALUES(26,468); +INSERT INTO product_slots VALUES(26,469); +INSERT INTO product_slots VALUES(26,470); +INSERT INTO product_slots VALUES(26,471); INSERT INTO product_slots VALUES(27,18); INSERT INTO product_slots VALUES(27,20); INSERT INTO product_slots VALUES(27,21); @@ -7474,8 +13757,40 @@ INSERT INTO product_slots VALUES(27,241); INSERT INTO product_slots VALUES(27,242); INSERT INTO product_slots VALUES(27,243); INSERT INTO product_slots VALUES(27,244); +INSERT INTO product_slots VALUES(27,245); +INSERT INTO product_slots VALUES(27,246); +INSERT INTO product_slots VALUES(27,247); +INSERT INTO product_slots VALUES(27,248); +INSERT INTO product_slots VALUES(27,249); +INSERT INTO product_slots VALUES(27,250); +INSERT INTO product_slots VALUES(27,251); +INSERT INTO product_slots VALUES(27,252); +INSERT INTO product_slots VALUES(27,253); +INSERT INTO product_slots VALUES(27,254); +INSERT INTO product_slots VALUES(27,255); +INSERT INTO product_slots VALUES(27,256); +INSERT INTO product_slots VALUES(27,257); +INSERT INTO product_slots VALUES(27,258); +INSERT INTO product_slots VALUES(27,259); +INSERT INTO product_slots VALUES(27,260); +INSERT INTO product_slots VALUES(27,261); +INSERT INTO product_slots VALUES(27,262); +INSERT INTO product_slots VALUES(27,263); +INSERT INTO product_slots VALUES(27,264); +INSERT INTO product_slots VALUES(27,265); +INSERT INTO product_slots VALUES(27,266); +INSERT INTO product_slots VALUES(27,267); +INSERT INTO product_slots VALUES(27,268); +INSERT INTO product_slots VALUES(27,269); +INSERT INTO product_slots VALUES(27,270); +INSERT INTO product_slots VALUES(27,271); +INSERT INTO product_slots VALUES(27,272); +INSERT INTO product_slots VALUES(27,273); INSERT INTO product_slots VALUES(27,274); INSERT INTO product_slots VALUES(27,275); +INSERT INTO product_slots VALUES(27,276); +INSERT INTO product_slots VALUES(27,277); +INSERT INTO product_slots VALUES(27,278); INSERT INTO product_slots VALUES(27,279); INSERT INTO product_slots VALUES(27,280); INSERT INTO product_slots VALUES(27,281); @@ -7485,6 +13800,190 @@ INSERT INTO product_slots VALUES(27,284); INSERT INTO product_slots VALUES(27,285); INSERT INTO product_slots VALUES(27,286); INSERT INTO product_slots VALUES(27,287); +INSERT INTO product_slots VALUES(27,288); +INSERT INTO product_slots VALUES(27,289); +INSERT INTO product_slots VALUES(27,290); +INSERT INTO product_slots VALUES(27,291); +INSERT INTO product_slots VALUES(27,292); +INSERT INTO product_slots VALUES(27,293); +INSERT INTO product_slots VALUES(27,294); +INSERT INTO product_slots VALUES(27,295); +INSERT INTO product_slots VALUES(27,296); +INSERT INTO product_slots VALUES(27,297); +INSERT INTO product_slots VALUES(27,298); +INSERT INTO product_slots VALUES(27,299); +INSERT INTO product_slots VALUES(27,300); +INSERT INTO product_slots VALUES(27,301); +INSERT INTO product_slots VALUES(27,302); +INSERT INTO product_slots VALUES(27,303); +INSERT INTO product_slots VALUES(27,304); +INSERT INTO product_slots VALUES(27,305); +INSERT INTO product_slots VALUES(27,306); +INSERT INTO product_slots VALUES(27,307); +INSERT INTO product_slots VALUES(27,308); +INSERT INTO product_slots VALUES(27,309); +INSERT INTO product_slots VALUES(27,310); +INSERT INTO product_slots VALUES(27,311); +INSERT INTO product_slots VALUES(27,312); +INSERT INTO product_slots VALUES(27,313); +INSERT INTO product_slots VALUES(27,314); +INSERT INTO product_slots VALUES(27,315); +INSERT INTO product_slots VALUES(27,316); +INSERT INTO product_slots VALUES(27,317); +INSERT INTO product_slots VALUES(27,318); +INSERT INTO product_slots VALUES(27,319); +INSERT INTO product_slots VALUES(27,320); +INSERT INTO product_slots VALUES(27,321); +INSERT INTO product_slots VALUES(27,322); +INSERT INTO product_slots VALUES(27,323); +INSERT INTO product_slots VALUES(27,324); +INSERT INTO product_slots VALUES(27,325); +INSERT INTO product_slots VALUES(27,326); +INSERT INTO product_slots VALUES(27,327); +INSERT INTO product_slots VALUES(27,328); +INSERT INTO product_slots VALUES(27,329); +INSERT INTO product_slots VALUES(27,330); +INSERT INTO product_slots VALUES(27,331); +INSERT INTO product_slots VALUES(27,332); +INSERT INTO product_slots VALUES(27,333); +INSERT INTO product_slots VALUES(27,334); +INSERT INTO product_slots VALUES(27,335); +INSERT INTO product_slots VALUES(27,336); +INSERT INTO product_slots VALUES(27,337); +INSERT INTO product_slots VALUES(27,338); +INSERT INTO product_slots VALUES(27,339); +INSERT INTO product_slots VALUES(27,340); +INSERT INTO product_slots VALUES(27,341); +INSERT INTO product_slots VALUES(27,342); +INSERT INTO product_slots VALUES(27,343); +INSERT INTO product_slots VALUES(27,344); +INSERT INTO product_slots VALUES(27,345); +INSERT INTO product_slots VALUES(27,346); +INSERT INTO product_slots VALUES(27,347); +INSERT INTO product_slots VALUES(27,348); +INSERT INTO product_slots VALUES(27,349); +INSERT INTO product_slots VALUES(27,350); +INSERT INTO product_slots VALUES(27,351); +INSERT INTO product_slots VALUES(27,352); +INSERT INTO product_slots VALUES(27,353); +INSERT INTO product_slots VALUES(27,354); +INSERT INTO product_slots VALUES(27,355); +INSERT INTO product_slots VALUES(27,356); +INSERT INTO product_slots VALUES(27,357); +INSERT INTO product_slots VALUES(27,358); +INSERT INTO product_slots VALUES(27,359); +INSERT INTO product_slots VALUES(27,360); +INSERT INTO product_slots VALUES(27,361); +INSERT INTO product_slots VALUES(27,362); +INSERT INTO product_slots VALUES(27,363); +INSERT INTO product_slots VALUES(27,364); +INSERT INTO product_slots VALUES(27,365); +INSERT INTO product_slots VALUES(27,366); +INSERT INTO product_slots VALUES(27,367); +INSERT INTO product_slots VALUES(27,368); +INSERT INTO product_slots VALUES(27,369); +INSERT INTO product_slots VALUES(27,370); +INSERT INTO product_slots VALUES(27,371); +INSERT INTO product_slots VALUES(27,372); +INSERT INTO product_slots VALUES(27,373); +INSERT INTO product_slots VALUES(27,374); +INSERT INTO product_slots VALUES(27,375); +INSERT INTO product_slots VALUES(27,376); +INSERT INTO product_slots VALUES(27,377); +INSERT INTO product_slots VALUES(27,378); +INSERT INTO product_slots VALUES(27,379); +INSERT INTO product_slots VALUES(27,380); +INSERT INTO product_slots VALUES(27,381); +INSERT INTO product_slots VALUES(27,382); +INSERT INTO product_slots VALUES(27,383); +INSERT INTO product_slots VALUES(27,384); +INSERT INTO product_slots VALUES(27,385); +INSERT INTO product_slots VALUES(27,386); +INSERT INTO product_slots VALUES(27,387); +INSERT INTO product_slots VALUES(27,388); +INSERT INTO product_slots VALUES(27,389); +INSERT INTO product_slots VALUES(27,390); +INSERT INTO product_slots VALUES(27,391); +INSERT INTO product_slots VALUES(27,392); +INSERT INTO product_slots VALUES(27,393); +INSERT INTO product_slots VALUES(27,394); +INSERT INTO product_slots VALUES(27,395); +INSERT INTO product_slots VALUES(27,396); +INSERT INTO product_slots VALUES(27,397); +INSERT INTO product_slots VALUES(27,398); +INSERT INTO product_slots VALUES(27,399); +INSERT INTO product_slots VALUES(27,400); +INSERT INTO product_slots VALUES(27,401); +INSERT INTO product_slots VALUES(27,402); +INSERT INTO product_slots VALUES(27,403); +INSERT INTO product_slots VALUES(27,404); +INSERT INTO product_slots VALUES(27,405); +INSERT INTO product_slots VALUES(27,406); +INSERT INTO product_slots VALUES(27,407); +INSERT INTO product_slots VALUES(27,408); +INSERT INTO product_slots VALUES(27,409); +INSERT INTO product_slots VALUES(27,410); +INSERT INTO product_slots VALUES(27,411); +INSERT INTO product_slots VALUES(27,412); +INSERT INTO product_slots VALUES(27,413); +INSERT INTO product_slots VALUES(27,414); +INSERT INTO product_slots VALUES(27,415); +INSERT INTO product_slots VALUES(27,416); +INSERT INTO product_slots VALUES(27,417); +INSERT INTO product_slots VALUES(27,418); +INSERT INTO product_slots VALUES(27,419); +INSERT INTO product_slots VALUES(27,420); +INSERT INTO product_slots VALUES(27,421); +INSERT INTO product_slots VALUES(27,422); +INSERT INTO product_slots VALUES(27,423); +INSERT INTO product_slots VALUES(27,424); +INSERT INTO product_slots VALUES(27,425); +INSERT INTO product_slots VALUES(27,426); +INSERT INTO product_slots VALUES(27,427); +INSERT INTO product_slots VALUES(27,428); +INSERT INTO product_slots VALUES(27,429); +INSERT INTO product_slots VALUES(27,430); +INSERT INTO product_slots VALUES(27,431); +INSERT INTO product_slots VALUES(27,432); +INSERT INTO product_slots VALUES(27,433); +INSERT INTO product_slots VALUES(27,434); +INSERT INTO product_slots VALUES(27,435); +INSERT INTO product_slots VALUES(27,436); +INSERT INTO product_slots VALUES(27,437); +INSERT INTO product_slots VALUES(27,438); +INSERT INTO product_slots VALUES(27,439); +INSERT INTO product_slots VALUES(27,440); +INSERT INTO product_slots VALUES(27,441); +INSERT INTO product_slots VALUES(27,442); +INSERT INTO product_slots VALUES(27,443); +INSERT INTO product_slots VALUES(27,444); +INSERT INTO product_slots VALUES(27,445); +INSERT INTO product_slots VALUES(27,446); +INSERT INTO product_slots VALUES(27,447); +INSERT INTO product_slots VALUES(27,448); +INSERT INTO product_slots VALUES(27,449); +INSERT INTO product_slots VALUES(27,450); +INSERT INTO product_slots VALUES(27,451); +INSERT INTO product_slots VALUES(27,452); +INSERT INTO product_slots VALUES(27,453); +INSERT INTO product_slots VALUES(27,454); +INSERT INTO product_slots VALUES(27,455); +INSERT INTO product_slots VALUES(27,456); +INSERT INTO product_slots VALUES(27,457); +INSERT INTO product_slots VALUES(27,458); +INSERT INTO product_slots VALUES(27,459); +INSERT INTO product_slots VALUES(27,460); +INSERT INTO product_slots VALUES(27,461); +INSERT INTO product_slots VALUES(27,462); +INSERT INTO product_slots VALUES(27,463); +INSERT INTO product_slots VALUES(27,464); +INSERT INTO product_slots VALUES(27,465); +INSERT INTO product_slots VALUES(27,466); +INSERT INTO product_slots VALUES(27,467); +INSERT INTO product_slots VALUES(27,468); +INSERT INTO product_slots VALUES(27,469); +INSERT INTO product_slots VALUES(27,470); +INSERT INTO product_slots VALUES(27,471); INSERT INTO product_slots VALUES(28,18); INSERT INTO product_slots VALUES(28,20); INSERT INTO product_slots VALUES(28,21); @@ -7693,8 +14192,40 @@ INSERT INTO product_slots VALUES(28,241); INSERT INTO product_slots VALUES(28,242); INSERT INTO product_slots VALUES(28,243); INSERT INTO product_slots VALUES(28,244); +INSERT INTO product_slots VALUES(28,245); +INSERT INTO product_slots VALUES(28,246); +INSERT INTO product_slots VALUES(28,247); +INSERT INTO product_slots VALUES(28,248); +INSERT INTO product_slots VALUES(28,249); +INSERT INTO product_slots VALUES(28,250); +INSERT INTO product_slots VALUES(28,251); +INSERT INTO product_slots VALUES(28,252); +INSERT INTO product_slots VALUES(28,253); +INSERT INTO product_slots VALUES(28,254); +INSERT INTO product_slots VALUES(28,255); +INSERT INTO product_slots VALUES(28,256); +INSERT INTO product_slots VALUES(28,257); +INSERT INTO product_slots VALUES(28,258); +INSERT INTO product_slots VALUES(28,259); +INSERT INTO product_slots VALUES(28,260); +INSERT INTO product_slots VALUES(28,261); +INSERT INTO product_slots VALUES(28,262); +INSERT INTO product_slots VALUES(28,263); +INSERT INTO product_slots VALUES(28,264); +INSERT INTO product_slots VALUES(28,265); +INSERT INTO product_slots VALUES(28,266); +INSERT INTO product_slots VALUES(28,267); +INSERT INTO product_slots VALUES(28,268); +INSERT INTO product_slots VALUES(28,269); +INSERT INTO product_slots VALUES(28,270); +INSERT INTO product_slots VALUES(28,271); +INSERT INTO product_slots VALUES(28,272); +INSERT INTO product_slots VALUES(28,273); INSERT INTO product_slots VALUES(28,274); INSERT INTO product_slots VALUES(28,275); +INSERT INTO product_slots VALUES(28,276); +INSERT INTO product_slots VALUES(28,277); +INSERT INTO product_slots VALUES(28,278); INSERT INTO product_slots VALUES(28,279); INSERT INTO product_slots VALUES(28,280); INSERT INTO product_slots VALUES(28,281); @@ -7704,6 +14235,190 @@ INSERT INTO product_slots VALUES(28,284); INSERT INTO product_slots VALUES(28,285); INSERT INTO product_slots VALUES(28,286); INSERT INTO product_slots VALUES(28,287); +INSERT INTO product_slots VALUES(28,288); +INSERT INTO product_slots VALUES(28,289); +INSERT INTO product_slots VALUES(28,290); +INSERT INTO product_slots VALUES(28,291); +INSERT INTO product_slots VALUES(28,292); +INSERT INTO product_slots VALUES(28,293); +INSERT INTO product_slots VALUES(28,294); +INSERT INTO product_slots VALUES(28,295); +INSERT INTO product_slots VALUES(28,296); +INSERT INTO product_slots VALUES(28,297); +INSERT INTO product_slots VALUES(28,298); +INSERT INTO product_slots VALUES(28,299); +INSERT INTO product_slots VALUES(28,300); +INSERT INTO product_slots VALUES(28,301); +INSERT INTO product_slots VALUES(28,302); +INSERT INTO product_slots VALUES(28,303); +INSERT INTO product_slots VALUES(28,304); +INSERT INTO product_slots VALUES(28,305); +INSERT INTO product_slots VALUES(28,306); +INSERT INTO product_slots VALUES(28,307); +INSERT INTO product_slots VALUES(28,308); +INSERT INTO product_slots VALUES(28,309); +INSERT INTO product_slots VALUES(28,310); +INSERT INTO product_slots VALUES(28,311); +INSERT INTO product_slots VALUES(28,312); +INSERT INTO product_slots VALUES(28,313); +INSERT INTO product_slots VALUES(28,314); +INSERT INTO product_slots VALUES(28,315); +INSERT INTO product_slots VALUES(28,316); +INSERT INTO product_slots VALUES(28,317); +INSERT INTO product_slots VALUES(28,318); +INSERT INTO product_slots VALUES(28,319); +INSERT INTO product_slots VALUES(28,320); +INSERT INTO product_slots VALUES(28,321); +INSERT INTO product_slots VALUES(28,322); +INSERT INTO product_slots VALUES(28,323); +INSERT INTO product_slots VALUES(28,324); +INSERT INTO product_slots VALUES(28,325); +INSERT INTO product_slots VALUES(28,326); +INSERT INTO product_slots VALUES(28,327); +INSERT INTO product_slots VALUES(28,328); +INSERT INTO product_slots VALUES(28,329); +INSERT INTO product_slots VALUES(28,330); +INSERT INTO product_slots VALUES(28,331); +INSERT INTO product_slots VALUES(28,332); +INSERT INTO product_slots VALUES(28,333); +INSERT INTO product_slots VALUES(28,334); +INSERT INTO product_slots VALUES(28,335); +INSERT INTO product_slots VALUES(28,336); +INSERT INTO product_slots VALUES(28,337); +INSERT INTO product_slots VALUES(28,338); +INSERT INTO product_slots VALUES(28,339); +INSERT INTO product_slots VALUES(28,340); +INSERT INTO product_slots VALUES(28,341); +INSERT INTO product_slots VALUES(28,342); +INSERT INTO product_slots VALUES(28,343); +INSERT INTO product_slots VALUES(28,344); +INSERT INTO product_slots VALUES(28,345); +INSERT INTO product_slots VALUES(28,346); +INSERT INTO product_slots VALUES(28,347); +INSERT INTO product_slots VALUES(28,348); +INSERT INTO product_slots VALUES(28,349); +INSERT INTO product_slots VALUES(28,350); +INSERT INTO product_slots VALUES(28,351); +INSERT INTO product_slots VALUES(28,352); +INSERT INTO product_slots VALUES(28,353); +INSERT INTO product_slots VALUES(28,354); +INSERT INTO product_slots VALUES(28,355); +INSERT INTO product_slots VALUES(28,356); +INSERT INTO product_slots VALUES(28,357); +INSERT INTO product_slots VALUES(28,358); +INSERT INTO product_slots VALUES(28,359); +INSERT INTO product_slots VALUES(28,360); +INSERT INTO product_slots VALUES(28,361); +INSERT INTO product_slots VALUES(28,362); +INSERT INTO product_slots VALUES(28,363); +INSERT INTO product_slots VALUES(28,364); +INSERT INTO product_slots VALUES(28,365); +INSERT INTO product_slots VALUES(28,366); +INSERT INTO product_slots VALUES(28,367); +INSERT INTO product_slots VALUES(28,368); +INSERT INTO product_slots VALUES(28,369); +INSERT INTO product_slots VALUES(28,370); +INSERT INTO product_slots VALUES(28,371); +INSERT INTO product_slots VALUES(28,372); +INSERT INTO product_slots VALUES(28,373); +INSERT INTO product_slots VALUES(28,374); +INSERT INTO product_slots VALUES(28,375); +INSERT INTO product_slots VALUES(28,376); +INSERT INTO product_slots VALUES(28,377); +INSERT INTO product_slots VALUES(28,378); +INSERT INTO product_slots VALUES(28,379); +INSERT INTO product_slots VALUES(28,380); +INSERT INTO product_slots VALUES(28,381); +INSERT INTO product_slots VALUES(28,382); +INSERT INTO product_slots VALUES(28,383); +INSERT INTO product_slots VALUES(28,384); +INSERT INTO product_slots VALUES(28,385); +INSERT INTO product_slots VALUES(28,386); +INSERT INTO product_slots VALUES(28,387); +INSERT INTO product_slots VALUES(28,388); +INSERT INTO product_slots VALUES(28,389); +INSERT INTO product_slots VALUES(28,390); +INSERT INTO product_slots VALUES(28,391); +INSERT INTO product_slots VALUES(28,392); +INSERT INTO product_slots VALUES(28,393); +INSERT INTO product_slots VALUES(28,394); +INSERT INTO product_slots VALUES(28,395); +INSERT INTO product_slots VALUES(28,396); +INSERT INTO product_slots VALUES(28,397); +INSERT INTO product_slots VALUES(28,398); +INSERT INTO product_slots VALUES(28,399); +INSERT INTO product_slots VALUES(28,400); +INSERT INTO product_slots VALUES(28,401); +INSERT INTO product_slots VALUES(28,402); +INSERT INTO product_slots VALUES(28,403); +INSERT INTO product_slots VALUES(28,404); +INSERT INTO product_slots VALUES(28,405); +INSERT INTO product_slots VALUES(28,406); +INSERT INTO product_slots VALUES(28,407); +INSERT INTO product_slots VALUES(28,408); +INSERT INTO product_slots VALUES(28,409); +INSERT INTO product_slots VALUES(28,410); +INSERT INTO product_slots VALUES(28,411); +INSERT INTO product_slots VALUES(28,412); +INSERT INTO product_slots VALUES(28,413); +INSERT INTO product_slots VALUES(28,414); +INSERT INTO product_slots VALUES(28,415); +INSERT INTO product_slots VALUES(28,416); +INSERT INTO product_slots VALUES(28,417); +INSERT INTO product_slots VALUES(28,418); +INSERT INTO product_slots VALUES(28,419); +INSERT INTO product_slots VALUES(28,420); +INSERT INTO product_slots VALUES(28,421); +INSERT INTO product_slots VALUES(28,422); +INSERT INTO product_slots VALUES(28,423); +INSERT INTO product_slots VALUES(28,424); +INSERT INTO product_slots VALUES(28,425); +INSERT INTO product_slots VALUES(28,426); +INSERT INTO product_slots VALUES(28,427); +INSERT INTO product_slots VALUES(28,428); +INSERT INTO product_slots VALUES(28,429); +INSERT INTO product_slots VALUES(28,430); +INSERT INTO product_slots VALUES(28,431); +INSERT INTO product_slots VALUES(28,432); +INSERT INTO product_slots VALUES(28,433); +INSERT INTO product_slots VALUES(28,434); +INSERT INTO product_slots VALUES(28,435); +INSERT INTO product_slots VALUES(28,436); +INSERT INTO product_slots VALUES(28,437); +INSERT INTO product_slots VALUES(28,438); +INSERT INTO product_slots VALUES(28,439); +INSERT INTO product_slots VALUES(28,440); +INSERT INTO product_slots VALUES(28,441); +INSERT INTO product_slots VALUES(28,442); +INSERT INTO product_slots VALUES(28,443); +INSERT INTO product_slots VALUES(28,444); +INSERT INTO product_slots VALUES(28,445); +INSERT INTO product_slots VALUES(28,446); +INSERT INTO product_slots VALUES(28,447); +INSERT INTO product_slots VALUES(28,448); +INSERT INTO product_slots VALUES(28,449); +INSERT INTO product_slots VALUES(28,450); +INSERT INTO product_slots VALUES(28,451); +INSERT INTO product_slots VALUES(28,452); +INSERT INTO product_slots VALUES(28,453); +INSERT INTO product_slots VALUES(28,454); +INSERT INTO product_slots VALUES(28,455); +INSERT INTO product_slots VALUES(28,456); +INSERT INTO product_slots VALUES(28,457); +INSERT INTO product_slots VALUES(28,458); +INSERT INTO product_slots VALUES(28,459); +INSERT INTO product_slots VALUES(28,460); +INSERT INTO product_slots VALUES(28,461); +INSERT INTO product_slots VALUES(28,462); +INSERT INTO product_slots VALUES(28,463); +INSERT INTO product_slots VALUES(28,464); +INSERT INTO product_slots VALUES(28,465); +INSERT INTO product_slots VALUES(28,466); +INSERT INTO product_slots VALUES(28,467); +INSERT INTO product_slots VALUES(28,468); +INSERT INTO product_slots VALUES(28,469); +INSERT INTO product_slots VALUES(28,470); +INSERT INTO product_slots VALUES(28,471); INSERT INTO product_slots VALUES(29,18); INSERT INTO product_slots VALUES(29,20); INSERT INTO product_slots VALUES(29,21); @@ -7916,8 +14631,40 @@ INSERT INTO product_slots VALUES(29,241); INSERT INTO product_slots VALUES(29,242); INSERT INTO product_slots VALUES(29,243); INSERT INTO product_slots VALUES(29,244); +INSERT INTO product_slots VALUES(29,245); +INSERT INTO product_slots VALUES(29,246); +INSERT INTO product_slots VALUES(29,247); +INSERT INTO product_slots VALUES(29,248); +INSERT INTO product_slots VALUES(29,249); +INSERT INTO product_slots VALUES(29,250); +INSERT INTO product_slots VALUES(29,251); +INSERT INTO product_slots VALUES(29,252); +INSERT INTO product_slots VALUES(29,253); +INSERT INTO product_slots VALUES(29,254); +INSERT INTO product_slots VALUES(29,255); +INSERT INTO product_slots VALUES(29,256); +INSERT INTO product_slots VALUES(29,257); +INSERT INTO product_slots VALUES(29,258); +INSERT INTO product_slots VALUES(29,259); +INSERT INTO product_slots VALUES(29,260); +INSERT INTO product_slots VALUES(29,261); +INSERT INTO product_slots VALUES(29,262); +INSERT INTO product_slots VALUES(29,263); +INSERT INTO product_slots VALUES(29,264); +INSERT INTO product_slots VALUES(29,265); +INSERT INTO product_slots VALUES(29,266); +INSERT INTO product_slots VALUES(29,267); +INSERT INTO product_slots VALUES(29,268); +INSERT INTO product_slots VALUES(29,269); +INSERT INTO product_slots VALUES(29,270); +INSERT INTO product_slots VALUES(29,271); +INSERT INTO product_slots VALUES(29,272); +INSERT INTO product_slots VALUES(29,273); INSERT INTO product_slots VALUES(29,274); INSERT INTO product_slots VALUES(29,275); +INSERT INTO product_slots VALUES(29,276); +INSERT INTO product_slots VALUES(29,277); +INSERT INTO product_slots VALUES(29,278); INSERT INTO product_slots VALUES(29,279); INSERT INTO product_slots VALUES(29,280); INSERT INTO product_slots VALUES(29,281); @@ -7927,6 +14674,190 @@ INSERT INTO product_slots VALUES(29,284); INSERT INTO product_slots VALUES(29,285); INSERT INTO product_slots VALUES(29,286); INSERT INTO product_slots VALUES(29,287); +INSERT INTO product_slots VALUES(29,288); +INSERT INTO product_slots VALUES(29,289); +INSERT INTO product_slots VALUES(29,290); +INSERT INTO product_slots VALUES(29,291); +INSERT INTO product_slots VALUES(29,292); +INSERT INTO product_slots VALUES(29,293); +INSERT INTO product_slots VALUES(29,294); +INSERT INTO product_slots VALUES(29,295); +INSERT INTO product_slots VALUES(29,296); +INSERT INTO product_slots VALUES(29,297); +INSERT INTO product_slots VALUES(29,298); +INSERT INTO product_slots VALUES(29,299); +INSERT INTO product_slots VALUES(29,300); +INSERT INTO product_slots VALUES(29,301); +INSERT INTO product_slots VALUES(29,302); +INSERT INTO product_slots VALUES(29,303); +INSERT INTO product_slots VALUES(29,304); +INSERT INTO product_slots VALUES(29,305); +INSERT INTO product_slots VALUES(29,306); +INSERT INTO product_slots VALUES(29,307); +INSERT INTO product_slots VALUES(29,308); +INSERT INTO product_slots VALUES(29,309); +INSERT INTO product_slots VALUES(29,310); +INSERT INTO product_slots VALUES(29,311); +INSERT INTO product_slots VALUES(29,312); +INSERT INTO product_slots VALUES(29,313); +INSERT INTO product_slots VALUES(29,314); +INSERT INTO product_slots VALUES(29,315); +INSERT INTO product_slots VALUES(29,316); +INSERT INTO product_slots VALUES(29,317); +INSERT INTO product_slots VALUES(29,318); +INSERT INTO product_slots VALUES(29,319); +INSERT INTO product_slots VALUES(29,320); +INSERT INTO product_slots VALUES(29,321); +INSERT INTO product_slots VALUES(29,322); +INSERT INTO product_slots VALUES(29,323); +INSERT INTO product_slots VALUES(29,324); +INSERT INTO product_slots VALUES(29,325); +INSERT INTO product_slots VALUES(29,326); +INSERT INTO product_slots VALUES(29,327); +INSERT INTO product_slots VALUES(29,328); +INSERT INTO product_slots VALUES(29,329); +INSERT INTO product_slots VALUES(29,330); +INSERT INTO product_slots VALUES(29,331); +INSERT INTO product_slots VALUES(29,332); +INSERT INTO product_slots VALUES(29,333); +INSERT INTO product_slots VALUES(29,334); +INSERT INTO product_slots VALUES(29,335); +INSERT INTO product_slots VALUES(29,336); +INSERT INTO product_slots VALUES(29,337); +INSERT INTO product_slots VALUES(29,338); +INSERT INTO product_slots VALUES(29,339); +INSERT INTO product_slots VALUES(29,340); +INSERT INTO product_slots VALUES(29,341); +INSERT INTO product_slots VALUES(29,342); +INSERT INTO product_slots VALUES(29,343); +INSERT INTO product_slots VALUES(29,344); +INSERT INTO product_slots VALUES(29,345); +INSERT INTO product_slots VALUES(29,346); +INSERT INTO product_slots VALUES(29,347); +INSERT INTO product_slots VALUES(29,348); +INSERT INTO product_slots VALUES(29,349); +INSERT INTO product_slots VALUES(29,350); +INSERT INTO product_slots VALUES(29,351); +INSERT INTO product_slots VALUES(29,352); +INSERT INTO product_slots VALUES(29,353); +INSERT INTO product_slots VALUES(29,354); +INSERT INTO product_slots VALUES(29,355); +INSERT INTO product_slots VALUES(29,356); +INSERT INTO product_slots VALUES(29,357); +INSERT INTO product_slots VALUES(29,358); +INSERT INTO product_slots VALUES(29,359); +INSERT INTO product_slots VALUES(29,360); +INSERT INTO product_slots VALUES(29,361); +INSERT INTO product_slots VALUES(29,362); +INSERT INTO product_slots VALUES(29,363); +INSERT INTO product_slots VALUES(29,364); +INSERT INTO product_slots VALUES(29,365); +INSERT INTO product_slots VALUES(29,366); +INSERT INTO product_slots VALUES(29,367); +INSERT INTO product_slots VALUES(29,368); +INSERT INTO product_slots VALUES(29,369); +INSERT INTO product_slots VALUES(29,370); +INSERT INTO product_slots VALUES(29,371); +INSERT INTO product_slots VALUES(29,372); +INSERT INTO product_slots VALUES(29,373); +INSERT INTO product_slots VALUES(29,374); +INSERT INTO product_slots VALUES(29,375); +INSERT INTO product_slots VALUES(29,376); +INSERT INTO product_slots VALUES(29,377); +INSERT INTO product_slots VALUES(29,378); +INSERT INTO product_slots VALUES(29,379); +INSERT INTO product_slots VALUES(29,380); +INSERT INTO product_slots VALUES(29,381); +INSERT INTO product_slots VALUES(29,382); +INSERT INTO product_slots VALUES(29,383); +INSERT INTO product_slots VALUES(29,384); +INSERT INTO product_slots VALUES(29,385); +INSERT INTO product_slots VALUES(29,386); +INSERT INTO product_slots VALUES(29,387); +INSERT INTO product_slots VALUES(29,388); +INSERT INTO product_slots VALUES(29,389); +INSERT INTO product_slots VALUES(29,390); +INSERT INTO product_slots VALUES(29,391); +INSERT INTO product_slots VALUES(29,392); +INSERT INTO product_slots VALUES(29,393); +INSERT INTO product_slots VALUES(29,394); +INSERT INTO product_slots VALUES(29,395); +INSERT INTO product_slots VALUES(29,396); +INSERT INTO product_slots VALUES(29,397); +INSERT INTO product_slots VALUES(29,398); +INSERT INTO product_slots VALUES(29,399); +INSERT INTO product_slots VALUES(29,400); +INSERT INTO product_slots VALUES(29,401); +INSERT INTO product_slots VALUES(29,402); +INSERT INTO product_slots VALUES(29,403); +INSERT INTO product_slots VALUES(29,404); +INSERT INTO product_slots VALUES(29,405); +INSERT INTO product_slots VALUES(29,406); +INSERT INTO product_slots VALUES(29,407); +INSERT INTO product_slots VALUES(29,408); +INSERT INTO product_slots VALUES(29,409); +INSERT INTO product_slots VALUES(29,410); +INSERT INTO product_slots VALUES(29,411); +INSERT INTO product_slots VALUES(29,412); +INSERT INTO product_slots VALUES(29,413); +INSERT INTO product_slots VALUES(29,414); +INSERT INTO product_slots VALUES(29,415); +INSERT INTO product_slots VALUES(29,416); +INSERT INTO product_slots VALUES(29,417); +INSERT INTO product_slots VALUES(29,418); +INSERT INTO product_slots VALUES(29,419); +INSERT INTO product_slots VALUES(29,420); +INSERT INTO product_slots VALUES(29,421); +INSERT INTO product_slots VALUES(29,422); +INSERT INTO product_slots VALUES(29,423); +INSERT INTO product_slots VALUES(29,424); +INSERT INTO product_slots VALUES(29,425); +INSERT INTO product_slots VALUES(29,426); +INSERT INTO product_slots VALUES(29,427); +INSERT INTO product_slots VALUES(29,428); +INSERT INTO product_slots VALUES(29,429); +INSERT INTO product_slots VALUES(29,430); +INSERT INTO product_slots VALUES(29,431); +INSERT INTO product_slots VALUES(29,432); +INSERT INTO product_slots VALUES(29,433); +INSERT INTO product_slots VALUES(29,434); +INSERT INTO product_slots VALUES(29,435); +INSERT INTO product_slots VALUES(29,436); +INSERT INTO product_slots VALUES(29,437); +INSERT INTO product_slots VALUES(29,438); +INSERT INTO product_slots VALUES(29,439); +INSERT INTO product_slots VALUES(29,440); +INSERT INTO product_slots VALUES(29,441); +INSERT INTO product_slots VALUES(29,442); +INSERT INTO product_slots VALUES(29,443); +INSERT INTO product_slots VALUES(29,444); +INSERT INTO product_slots VALUES(29,445); +INSERT INTO product_slots VALUES(29,446); +INSERT INTO product_slots VALUES(29,447); +INSERT INTO product_slots VALUES(29,448); +INSERT INTO product_slots VALUES(29,449); +INSERT INTO product_slots VALUES(29,450); +INSERT INTO product_slots VALUES(29,451); +INSERT INTO product_slots VALUES(29,452); +INSERT INTO product_slots VALUES(29,453); +INSERT INTO product_slots VALUES(29,454); +INSERT INTO product_slots VALUES(29,455); +INSERT INTO product_slots VALUES(29,456); +INSERT INTO product_slots VALUES(29,457); +INSERT INTO product_slots VALUES(29,458); +INSERT INTO product_slots VALUES(29,459); +INSERT INTO product_slots VALUES(29,460); +INSERT INTO product_slots VALUES(29,461); +INSERT INTO product_slots VALUES(29,462); +INSERT INTO product_slots VALUES(29,463); +INSERT INTO product_slots VALUES(29,464); +INSERT INTO product_slots VALUES(29,465); +INSERT INTO product_slots VALUES(29,466); +INSERT INTO product_slots VALUES(29,467); +INSERT INTO product_slots VALUES(29,468); +INSERT INTO product_slots VALUES(29,469); +INSERT INTO product_slots VALUES(29,470); +INSERT INTO product_slots VALUES(29,471); INSERT INTO product_slots VALUES(30,18); INSERT INTO product_slots VALUES(30,20); INSERT INTO product_slots VALUES(30,21); @@ -8139,8 +15070,40 @@ INSERT INTO product_slots VALUES(30,241); INSERT INTO product_slots VALUES(30,242); INSERT INTO product_slots VALUES(30,243); INSERT INTO product_slots VALUES(30,244); +INSERT INTO product_slots VALUES(30,245); +INSERT INTO product_slots VALUES(30,246); +INSERT INTO product_slots VALUES(30,247); +INSERT INTO product_slots VALUES(30,248); +INSERT INTO product_slots VALUES(30,249); +INSERT INTO product_slots VALUES(30,250); +INSERT INTO product_slots VALUES(30,251); +INSERT INTO product_slots VALUES(30,252); +INSERT INTO product_slots VALUES(30,253); +INSERT INTO product_slots VALUES(30,254); +INSERT INTO product_slots VALUES(30,255); +INSERT INTO product_slots VALUES(30,256); +INSERT INTO product_slots VALUES(30,257); +INSERT INTO product_slots VALUES(30,258); +INSERT INTO product_slots VALUES(30,259); +INSERT INTO product_slots VALUES(30,260); +INSERT INTO product_slots VALUES(30,261); +INSERT INTO product_slots VALUES(30,262); +INSERT INTO product_slots VALUES(30,263); +INSERT INTO product_slots VALUES(30,264); +INSERT INTO product_slots VALUES(30,265); +INSERT INTO product_slots VALUES(30,266); +INSERT INTO product_slots VALUES(30,267); +INSERT INTO product_slots VALUES(30,268); +INSERT INTO product_slots VALUES(30,269); +INSERT INTO product_slots VALUES(30,270); +INSERT INTO product_slots VALUES(30,271); +INSERT INTO product_slots VALUES(30,272); +INSERT INTO product_slots VALUES(30,273); INSERT INTO product_slots VALUES(30,274); INSERT INTO product_slots VALUES(30,275); +INSERT INTO product_slots VALUES(30,276); +INSERT INTO product_slots VALUES(30,277); +INSERT INTO product_slots VALUES(30,278); INSERT INTO product_slots VALUES(30,279); INSERT INTO product_slots VALUES(30,280); INSERT INTO product_slots VALUES(30,281); @@ -8150,6 +15113,190 @@ INSERT INTO product_slots VALUES(30,284); INSERT INTO product_slots VALUES(30,285); INSERT INTO product_slots VALUES(30,286); INSERT INTO product_slots VALUES(30,287); +INSERT INTO product_slots VALUES(30,288); +INSERT INTO product_slots VALUES(30,289); +INSERT INTO product_slots VALUES(30,290); +INSERT INTO product_slots VALUES(30,291); +INSERT INTO product_slots VALUES(30,292); +INSERT INTO product_slots VALUES(30,293); +INSERT INTO product_slots VALUES(30,294); +INSERT INTO product_slots VALUES(30,295); +INSERT INTO product_slots VALUES(30,296); +INSERT INTO product_slots VALUES(30,297); +INSERT INTO product_slots VALUES(30,298); +INSERT INTO product_slots VALUES(30,299); +INSERT INTO product_slots VALUES(30,300); +INSERT INTO product_slots VALUES(30,301); +INSERT INTO product_slots VALUES(30,302); +INSERT INTO product_slots VALUES(30,303); +INSERT INTO product_slots VALUES(30,304); +INSERT INTO product_slots VALUES(30,305); +INSERT INTO product_slots VALUES(30,306); +INSERT INTO product_slots VALUES(30,307); +INSERT INTO product_slots VALUES(30,308); +INSERT INTO product_slots VALUES(30,309); +INSERT INTO product_slots VALUES(30,310); +INSERT INTO product_slots VALUES(30,311); +INSERT INTO product_slots VALUES(30,312); +INSERT INTO product_slots VALUES(30,313); +INSERT INTO product_slots VALUES(30,314); +INSERT INTO product_slots VALUES(30,315); +INSERT INTO product_slots VALUES(30,316); +INSERT INTO product_slots VALUES(30,317); +INSERT INTO product_slots VALUES(30,318); +INSERT INTO product_slots VALUES(30,319); +INSERT INTO product_slots VALUES(30,320); +INSERT INTO product_slots VALUES(30,321); +INSERT INTO product_slots VALUES(30,322); +INSERT INTO product_slots VALUES(30,323); +INSERT INTO product_slots VALUES(30,324); +INSERT INTO product_slots VALUES(30,325); +INSERT INTO product_slots VALUES(30,326); +INSERT INTO product_slots VALUES(30,327); +INSERT INTO product_slots VALUES(30,328); +INSERT INTO product_slots VALUES(30,329); +INSERT INTO product_slots VALUES(30,330); +INSERT INTO product_slots VALUES(30,331); +INSERT INTO product_slots VALUES(30,332); +INSERT INTO product_slots VALUES(30,333); +INSERT INTO product_slots VALUES(30,334); +INSERT INTO product_slots VALUES(30,335); +INSERT INTO product_slots VALUES(30,336); +INSERT INTO product_slots VALUES(30,337); +INSERT INTO product_slots VALUES(30,338); +INSERT INTO product_slots VALUES(30,339); +INSERT INTO product_slots VALUES(30,340); +INSERT INTO product_slots VALUES(30,341); +INSERT INTO product_slots VALUES(30,342); +INSERT INTO product_slots VALUES(30,343); +INSERT INTO product_slots VALUES(30,344); +INSERT INTO product_slots VALUES(30,345); +INSERT INTO product_slots VALUES(30,346); +INSERT INTO product_slots VALUES(30,347); +INSERT INTO product_slots VALUES(30,348); +INSERT INTO product_slots VALUES(30,349); +INSERT INTO product_slots VALUES(30,350); +INSERT INTO product_slots VALUES(30,351); +INSERT INTO product_slots VALUES(30,352); +INSERT INTO product_slots VALUES(30,353); +INSERT INTO product_slots VALUES(30,354); +INSERT INTO product_slots VALUES(30,355); +INSERT INTO product_slots VALUES(30,356); +INSERT INTO product_slots VALUES(30,357); +INSERT INTO product_slots VALUES(30,358); +INSERT INTO product_slots VALUES(30,359); +INSERT INTO product_slots VALUES(30,360); +INSERT INTO product_slots VALUES(30,361); +INSERT INTO product_slots VALUES(30,362); +INSERT INTO product_slots VALUES(30,363); +INSERT INTO product_slots VALUES(30,364); +INSERT INTO product_slots VALUES(30,365); +INSERT INTO product_slots VALUES(30,366); +INSERT INTO product_slots VALUES(30,367); +INSERT INTO product_slots VALUES(30,368); +INSERT INTO product_slots VALUES(30,369); +INSERT INTO product_slots VALUES(30,370); +INSERT INTO product_slots VALUES(30,371); +INSERT INTO product_slots VALUES(30,372); +INSERT INTO product_slots VALUES(30,373); +INSERT INTO product_slots VALUES(30,374); +INSERT INTO product_slots VALUES(30,375); +INSERT INTO product_slots VALUES(30,376); +INSERT INTO product_slots VALUES(30,377); +INSERT INTO product_slots VALUES(30,378); +INSERT INTO product_slots VALUES(30,379); +INSERT INTO product_slots VALUES(30,380); +INSERT INTO product_slots VALUES(30,381); +INSERT INTO product_slots VALUES(30,382); +INSERT INTO product_slots VALUES(30,383); +INSERT INTO product_slots VALUES(30,384); +INSERT INTO product_slots VALUES(30,385); +INSERT INTO product_slots VALUES(30,386); +INSERT INTO product_slots VALUES(30,387); +INSERT INTO product_slots VALUES(30,388); +INSERT INTO product_slots VALUES(30,389); +INSERT INTO product_slots VALUES(30,390); +INSERT INTO product_slots VALUES(30,391); +INSERT INTO product_slots VALUES(30,392); +INSERT INTO product_slots VALUES(30,393); +INSERT INTO product_slots VALUES(30,394); +INSERT INTO product_slots VALUES(30,395); +INSERT INTO product_slots VALUES(30,396); +INSERT INTO product_slots VALUES(30,397); +INSERT INTO product_slots VALUES(30,398); +INSERT INTO product_slots VALUES(30,399); +INSERT INTO product_slots VALUES(30,400); +INSERT INTO product_slots VALUES(30,401); +INSERT INTO product_slots VALUES(30,402); +INSERT INTO product_slots VALUES(30,403); +INSERT INTO product_slots VALUES(30,404); +INSERT INTO product_slots VALUES(30,405); +INSERT INTO product_slots VALUES(30,406); +INSERT INTO product_slots VALUES(30,407); +INSERT INTO product_slots VALUES(30,408); +INSERT INTO product_slots VALUES(30,409); +INSERT INTO product_slots VALUES(30,410); +INSERT INTO product_slots VALUES(30,411); +INSERT INTO product_slots VALUES(30,412); +INSERT INTO product_slots VALUES(30,413); +INSERT INTO product_slots VALUES(30,414); +INSERT INTO product_slots VALUES(30,415); +INSERT INTO product_slots VALUES(30,416); +INSERT INTO product_slots VALUES(30,417); +INSERT INTO product_slots VALUES(30,418); +INSERT INTO product_slots VALUES(30,419); +INSERT INTO product_slots VALUES(30,420); +INSERT INTO product_slots VALUES(30,421); +INSERT INTO product_slots VALUES(30,422); +INSERT INTO product_slots VALUES(30,423); +INSERT INTO product_slots VALUES(30,424); +INSERT INTO product_slots VALUES(30,425); +INSERT INTO product_slots VALUES(30,426); +INSERT INTO product_slots VALUES(30,427); +INSERT INTO product_slots VALUES(30,428); +INSERT INTO product_slots VALUES(30,429); +INSERT INTO product_slots VALUES(30,430); +INSERT INTO product_slots VALUES(30,431); +INSERT INTO product_slots VALUES(30,432); +INSERT INTO product_slots VALUES(30,433); +INSERT INTO product_slots VALUES(30,434); +INSERT INTO product_slots VALUES(30,435); +INSERT INTO product_slots VALUES(30,436); +INSERT INTO product_slots VALUES(30,437); +INSERT INTO product_slots VALUES(30,438); +INSERT INTO product_slots VALUES(30,439); +INSERT INTO product_slots VALUES(30,440); +INSERT INTO product_slots VALUES(30,441); +INSERT INTO product_slots VALUES(30,442); +INSERT INTO product_slots VALUES(30,443); +INSERT INTO product_slots VALUES(30,444); +INSERT INTO product_slots VALUES(30,445); +INSERT INTO product_slots VALUES(30,446); +INSERT INTO product_slots VALUES(30,447); +INSERT INTO product_slots VALUES(30,448); +INSERT INTO product_slots VALUES(30,449); +INSERT INTO product_slots VALUES(30,450); +INSERT INTO product_slots VALUES(30,451); +INSERT INTO product_slots VALUES(30,452); +INSERT INTO product_slots VALUES(30,453); +INSERT INTO product_slots VALUES(30,454); +INSERT INTO product_slots VALUES(30,455); +INSERT INTO product_slots VALUES(30,456); +INSERT INTO product_slots VALUES(30,457); +INSERT INTO product_slots VALUES(30,458); +INSERT INTO product_slots VALUES(30,459); +INSERT INTO product_slots VALUES(30,460); +INSERT INTO product_slots VALUES(30,461); +INSERT INTO product_slots VALUES(30,462); +INSERT INTO product_slots VALUES(30,463); +INSERT INTO product_slots VALUES(30,464); +INSERT INTO product_slots VALUES(30,465); +INSERT INTO product_slots VALUES(30,466); +INSERT INTO product_slots VALUES(30,467); +INSERT INTO product_slots VALUES(30,468); +INSERT INTO product_slots VALUES(30,469); +INSERT INTO product_slots VALUES(30,470); +INSERT INTO product_slots VALUES(30,471); INSERT INTO product_slots VALUES(31,18); INSERT INTO product_slots VALUES(31,20); INSERT INTO product_slots VALUES(31,21); @@ -8359,8 +15506,40 @@ INSERT INTO product_slots VALUES(31,241); INSERT INTO product_slots VALUES(31,242); INSERT INTO product_slots VALUES(31,243); INSERT INTO product_slots VALUES(31,244); +INSERT INTO product_slots VALUES(31,245); +INSERT INTO product_slots VALUES(31,246); +INSERT INTO product_slots VALUES(31,247); +INSERT INTO product_slots VALUES(31,248); +INSERT INTO product_slots VALUES(31,249); +INSERT INTO product_slots VALUES(31,250); +INSERT INTO product_slots VALUES(31,251); +INSERT INTO product_slots VALUES(31,252); +INSERT INTO product_slots VALUES(31,253); +INSERT INTO product_slots VALUES(31,254); +INSERT INTO product_slots VALUES(31,255); +INSERT INTO product_slots VALUES(31,256); +INSERT INTO product_slots VALUES(31,257); +INSERT INTO product_slots VALUES(31,258); +INSERT INTO product_slots VALUES(31,259); +INSERT INTO product_slots VALUES(31,260); +INSERT INTO product_slots VALUES(31,261); +INSERT INTO product_slots VALUES(31,262); +INSERT INTO product_slots VALUES(31,263); +INSERT INTO product_slots VALUES(31,264); +INSERT INTO product_slots VALUES(31,265); +INSERT INTO product_slots VALUES(31,266); +INSERT INTO product_slots VALUES(31,267); +INSERT INTO product_slots VALUES(31,268); +INSERT INTO product_slots VALUES(31,269); +INSERT INTO product_slots VALUES(31,270); +INSERT INTO product_slots VALUES(31,271); +INSERT INTO product_slots VALUES(31,272); +INSERT INTO product_slots VALUES(31,273); INSERT INTO product_slots VALUES(31,274); INSERT INTO product_slots VALUES(31,275); +INSERT INTO product_slots VALUES(31,276); +INSERT INTO product_slots VALUES(31,277); +INSERT INTO product_slots VALUES(31,278); INSERT INTO product_slots VALUES(31,279); INSERT INTO product_slots VALUES(31,280); INSERT INTO product_slots VALUES(31,281); @@ -8370,6 +15549,190 @@ INSERT INTO product_slots VALUES(31,284); INSERT INTO product_slots VALUES(31,285); INSERT INTO product_slots VALUES(31,286); INSERT INTO product_slots VALUES(31,287); +INSERT INTO product_slots VALUES(31,288); +INSERT INTO product_slots VALUES(31,289); +INSERT INTO product_slots VALUES(31,290); +INSERT INTO product_slots VALUES(31,291); +INSERT INTO product_slots VALUES(31,292); +INSERT INTO product_slots VALUES(31,293); +INSERT INTO product_slots VALUES(31,294); +INSERT INTO product_slots VALUES(31,295); +INSERT INTO product_slots VALUES(31,296); +INSERT INTO product_slots VALUES(31,297); +INSERT INTO product_slots VALUES(31,298); +INSERT INTO product_slots VALUES(31,299); +INSERT INTO product_slots VALUES(31,300); +INSERT INTO product_slots VALUES(31,301); +INSERT INTO product_slots VALUES(31,302); +INSERT INTO product_slots VALUES(31,303); +INSERT INTO product_slots VALUES(31,304); +INSERT INTO product_slots VALUES(31,305); +INSERT INTO product_slots VALUES(31,306); +INSERT INTO product_slots VALUES(31,307); +INSERT INTO product_slots VALUES(31,308); +INSERT INTO product_slots VALUES(31,309); +INSERT INTO product_slots VALUES(31,310); +INSERT INTO product_slots VALUES(31,311); +INSERT INTO product_slots VALUES(31,312); +INSERT INTO product_slots VALUES(31,313); +INSERT INTO product_slots VALUES(31,314); +INSERT INTO product_slots VALUES(31,315); +INSERT INTO product_slots VALUES(31,316); +INSERT INTO product_slots VALUES(31,317); +INSERT INTO product_slots VALUES(31,318); +INSERT INTO product_slots VALUES(31,319); +INSERT INTO product_slots VALUES(31,320); +INSERT INTO product_slots VALUES(31,321); +INSERT INTO product_slots VALUES(31,322); +INSERT INTO product_slots VALUES(31,323); +INSERT INTO product_slots VALUES(31,324); +INSERT INTO product_slots VALUES(31,325); +INSERT INTO product_slots VALUES(31,326); +INSERT INTO product_slots VALUES(31,327); +INSERT INTO product_slots VALUES(31,328); +INSERT INTO product_slots VALUES(31,329); +INSERT INTO product_slots VALUES(31,330); +INSERT INTO product_slots VALUES(31,331); +INSERT INTO product_slots VALUES(31,332); +INSERT INTO product_slots VALUES(31,333); +INSERT INTO product_slots VALUES(31,334); +INSERT INTO product_slots VALUES(31,335); +INSERT INTO product_slots VALUES(31,336); +INSERT INTO product_slots VALUES(31,337); +INSERT INTO product_slots VALUES(31,338); +INSERT INTO product_slots VALUES(31,339); +INSERT INTO product_slots VALUES(31,340); +INSERT INTO product_slots VALUES(31,341); +INSERT INTO product_slots VALUES(31,342); +INSERT INTO product_slots VALUES(31,343); +INSERT INTO product_slots VALUES(31,344); +INSERT INTO product_slots VALUES(31,345); +INSERT INTO product_slots VALUES(31,346); +INSERT INTO product_slots VALUES(31,347); +INSERT INTO product_slots VALUES(31,348); +INSERT INTO product_slots VALUES(31,349); +INSERT INTO product_slots VALUES(31,350); +INSERT INTO product_slots VALUES(31,351); +INSERT INTO product_slots VALUES(31,352); +INSERT INTO product_slots VALUES(31,353); +INSERT INTO product_slots VALUES(31,354); +INSERT INTO product_slots VALUES(31,355); +INSERT INTO product_slots VALUES(31,356); +INSERT INTO product_slots VALUES(31,357); +INSERT INTO product_slots VALUES(31,358); +INSERT INTO product_slots VALUES(31,359); +INSERT INTO product_slots VALUES(31,360); +INSERT INTO product_slots VALUES(31,361); +INSERT INTO product_slots VALUES(31,362); +INSERT INTO product_slots VALUES(31,363); +INSERT INTO product_slots VALUES(31,364); +INSERT INTO product_slots VALUES(31,365); +INSERT INTO product_slots VALUES(31,366); +INSERT INTO product_slots VALUES(31,367); +INSERT INTO product_slots VALUES(31,368); +INSERT INTO product_slots VALUES(31,369); +INSERT INTO product_slots VALUES(31,370); +INSERT INTO product_slots VALUES(31,371); +INSERT INTO product_slots VALUES(31,372); +INSERT INTO product_slots VALUES(31,373); +INSERT INTO product_slots VALUES(31,374); +INSERT INTO product_slots VALUES(31,375); +INSERT INTO product_slots VALUES(31,376); +INSERT INTO product_slots VALUES(31,377); +INSERT INTO product_slots VALUES(31,378); +INSERT INTO product_slots VALUES(31,379); +INSERT INTO product_slots VALUES(31,380); +INSERT INTO product_slots VALUES(31,381); +INSERT INTO product_slots VALUES(31,382); +INSERT INTO product_slots VALUES(31,383); +INSERT INTO product_slots VALUES(31,384); +INSERT INTO product_slots VALUES(31,385); +INSERT INTO product_slots VALUES(31,386); +INSERT INTO product_slots VALUES(31,387); +INSERT INTO product_slots VALUES(31,388); +INSERT INTO product_slots VALUES(31,389); +INSERT INTO product_slots VALUES(31,390); +INSERT INTO product_slots VALUES(31,391); +INSERT INTO product_slots VALUES(31,392); +INSERT INTO product_slots VALUES(31,393); +INSERT INTO product_slots VALUES(31,394); +INSERT INTO product_slots VALUES(31,395); +INSERT INTO product_slots VALUES(31,396); +INSERT INTO product_slots VALUES(31,397); +INSERT INTO product_slots VALUES(31,398); +INSERT INTO product_slots VALUES(31,399); +INSERT INTO product_slots VALUES(31,400); +INSERT INTO product_slots VALUES(31,401); +INSERT INTO product_slots VALUES(31,402); +INSERT INTO product_slots VALUES(31,403); +INSERT INTO product_slots VALUES(31,404); +INSERT INTO product_slots VALUES(31,405); +INSERT INTO product_slots VALUES(31,406); +INSERT INTO product_slots VALUES(31,407); +INSERT INTO product_slots VALUES(31,408); +INSERT INTO product_slots VALUES(31,409); +INSERT INTO product_slots VALUES(31,410); +INSERT INTO product_slots VALUES(31,411); +INSERT INTO product_slots VALUES(31,412); +INSERT INTO product_slots VALUES(31,413); +INSERT INTO product_slots VALUES(31,414); +INSERT INTO product_slots VALUES(31,415); +INSERT INTO product_slots VALUES(31,416); +INSERT INTO product_slots VALUES(31,417); +INSERT INTO product_slots VALUES(31,418); +INSERT INTO product_slots VALUES(31,419); +INSERT INTO product_slots VALUES(31,420); +INSERT INTO product_slots VALUES(31,421); +INSERT INTO product_slots VALUES(31,422); +INSERT INTO product_slots VALUES(31,423); +INSERT INTO product_slots VALUES(31,424); +INSERT INTO product_slots VALUES(31,425); +INSERT INTO product_slots VALUES(31,426); +INSERT INTO product_slots VALUES(31,427); +INSERT INTO product_slots VALUES(31,428); +INSERT INTO product_slots VALUES(31,429); +INSERT INTO product_slots VALUES(31,430); +INSERT INTO product_slots VALUES(31,431); +INSERT INTO product_slots VALUES(31,432); +INSERT INTO product_slots VALUES(31,433); +INSERT INTO product_slots VALUES(31,434); +INSERT INTO product_slots VALUES(31,435); +INSERT INTO product_slots VALUES(31,436); +INSERT INTO product_slots VALUES(31,437); +INSERT INTO product_slots VALUES(31,438); +INSERT INTO product_slots VALUES(31,439); +INSERT INTO product_slots VALUES(31,440); +INSERT INTO product_slots VALUES(31,441); +INSERT INTO product_slots VALUES(31,442); +INSERT INTO product_slots VALUES(31,443); +INSERT INTO product_slots VALUES(31,444); +INSERT INTO product_slots VALUES(31,445); +INSERT INTO product_slots VALUES(31,446); +INSERT INTO product_slots VALUES(31,447); +INSERT INTO product_slots VALUES(31,448); +INSERT INTO product_slots VALUES(31,449); +INSERT INTO product_slots VALUES(31,450); +INSERT INTO product_slots VALUES(31,451); +INSERT INTO product_slots VALUES(31,452); +INSERT INTO product_slots VALUES(31,453); +INSERT INTO product_slots VALUES(31,454); +INSERT INTO product_slots VALUES(31,455); +INSERT INTO product_slots VALUES(31,456); +INSERT INTO product_slots VALUES(31,457); +INSERT INTO product_slots VALUES(31,458); +INSERT INTO product_slots VALUES(31,459); +INSERT INTO product_slots VALUES(31,460); +INSERT INTO product_slots VALUES(31,461); +INSERT INTO product_slots VALUES(31,462); +INSERT INTO product_slots VALUES(31,463); +INSERT INTO product_slots VALUES(31,464); +INSERT INTO product_slots VALUES(31,465); +INSERT INTO product_slots VALUES(31,466); +INSERT INTO product_slots VALUES(31,467); +INSERT INTO product_slots VALUES(31,468); +INSERT INTO product_slots VALUES(31,469); +INSERT INTO product_slots VALUES(31,470); +INSERT INTO product_slots VALUES(31,471); INSERT INTO product_slots VALUES(32,18); INSERT INTO product_slots VALUES(32,20); INSERT INTO product_slots VALUES(32,21); @@ -8582,8 +15945,40 @@ INSERT INTO product_slots VALUES(32,241); INSERT INTO product_slots VALUES(32,242); INSERT INTO product_slots VALUES(32,243); INSERT INTO product_slots VALUES(32,244); +INSERT INTO product_slots VALUES(32,245); +INSERT INTO product_slots VALUES(32,246); +INSERT INTO product_slots VALUES(32,247); +INSERT INTO product_slots VALUES(32,248); +INSERT INTO product_slots VALUES(32,249); +INSERT INTO product_slots VALUES(32,250); +INSERT INTO product_slots VALUES(32,251); +INSERT INTO product_slots VALUES(32,252); +INSERT INTO product_slots VALUES(32,253); +INSERT INTO product_slots VALUES(32,254); +INSERT INTO product_slots VALUES(32,255); +INSERT INTO product_slots VALUES(32,256); +INSERT INTO product_slots VALUES(32,257); +INSERT INTO product_slots VALUES(32,258); +INSERT INTO product_slots VALUES(32,259); +INSERT INTO product_slots VALUES(32,260); +INSERT INTO product_slots VALUES(32,261); +INSERT INTO product_slots VALUES(32,262); +INSERT INTO product_slots VALUES(32,263); +INSERT INTO product_slots VALUES(32,264); +INSERT INTO product_slots VALUES(32,265); +INSERT INTO product_slots VALUES(32,266); +INSERT INTO product_slots VALUES(32,267); +INSERT INTO product_slots VALUES(32,268); +INSERT INTO product_slots VALUES(32,269); +INSERT INTO product_slots VALUES(32,270); +INSERT INTO product_slots VALUES(32,271); +INSERT INTO product_slots VALUES(32,272); +INSERT INTO product_slots VALUES(32,273); INSERT INTO product_slots VALUES(32,274); INSERT INTO product_slots VALUES(32,275); +INSERT INTO product_slots VALUES(32,276); +INSERT INTO product_slots VALUES(32,277); +INSERT INTO product_slots VALUES(32,278); INSERT INTO product_slots VALUES(32,279); INSERT INTO product_slots VALUES(32,280); INSERT INTO product_slots VALUES(32,281); @@ -8593,6 +15988,190 @@ INSERT INTO product_slots VALUES(32,284); INSERT INTO product_slots VALUES(32,285); INSERT INTO product_slots VALUES(32,286); INSERT INTO product_slots VALUES(32,287); +INSERT INTO product_slots VALUES(32,288); +INSERT INTO product_slots VALUES(32,289); +INSERT INTO product_slots VALUES(32,290); +INSERT INTO product_slots VALUES(32,291); +INSERT INTO product_slots VALUES(32,292); +INSERT INTO product_slots VALUES(32,293); +INSERT INTO product_slots VALUES(32,294); +INSERT INTO product_slots VALUES(32,295); +INSERT INTO product_slots VALUES(32,296); +INSERT INTO product_slots VALUES(32,297); +INSERT INTO product_slots VALUES(32,298); +INSERT INTO product_slots VALUES(32,299); +INSERT INTO product_slots VALUES(32,300); +INSERT INTO product_slots VALUES(32,301); +INSERT INTO product_slots VALUES(32,302); +INSERT INTO product_slots VALUES(32,303); +INSERT INTO product_slots VALUES(32,304); +INSERT INTO product_slots VALUES(32,305); +INSERT INTO product_slots VALUES(32,306); +INSERT INTO product_slots VALUES(32,307); +INSERT INTO product_slots VALUES(32,308); +INSERT INTO product_slots VALUES(32,309); +INSERT INTO product_slots VALUES(32,310); +INSERT INTO product_slots VALUES(32,311); +INSERT INTO product_slots VALUES(32,312); +INSERT INTO product_slots VALUES(32,313); +INSERT INTO product_slots VALUES(32,314); +INSERT INTO product_slots VALUES(32,315); +INSERT INTO product_slots VALUES(32,316); +INSERT INTO product_slots VALUES(32,317); +INSERT INTO product_slots VALUES(32,318); +INSERT INTO product_slots VALUES(32,319); +INSERT INTO product_slots VALUES(32,320); +INSERT INTO product_slots VALUES(32,321); +INSERT INTO product_slots VALUES(32,322); +INSERT INTO product_slots VALUES(32,323); +INSERT INTO product_slots VALUES(32,324); +INSERT INTO product_slots VALUES(32,325); +INSERT INTO product_slots VALUES(32,326); +INSERT INTO product_slots VALUES(32,327); +INSERT INTO product_slots VALUES(32,328); +INSERT INTO product_slots VALUES(32,329); +INSERT INTO product_slots VALUES(32,330); +INSERT INTO product_slots VALUES(32,331); +INSERT INTO product_slots VALUES(32,332); +INSERT INTO product_slots VALUES(32,333); +INSERT INTO product_slots VALUES(32,334); +INSERT INTO product_slots VALUES(32,335); +INSERT INTO product_slots VALUES(32,336); +INSERT INTO product_slots VALUES(32,337); +INSERT INTO product_slots VALUES(32,338); +INSERT INTO product_slots VALUES(32,339); +INSERT INTO product_slots VALUES(32,340); +INSERT INTO product_slots VALUES(32,341); +INSERT INTO product_slots VALUES(32,342); +INSERT INTO product_slots VALUES(32,343); +INSERT INTO product_slots VALUES(32,344); +INSERT INTO product_slots VALUES(32,345); +INSERT INTO product_slots VALUES(32,346); +INSERT INTO product_slots VALUES(32,347); +INSERT INTO product_slots VALUES(32,348); +INSERT INTO product_slots VALUES(32,349); +INSERT INTO product_slots VALUES(32,350); +INSERT INTO product_slots VALUES(32,351); +INSERT INTO product_slots VALUES(32,352); +INSERT INTO product_slots VALUES(32,353); +INSERT INTO product_slots VALUES(32,354); +INSERT INTO product_slots VALUES(32,355); +INSERT INTO product_slots VALUES(32,356); +INSERT INTO product_slots VALUES(32,357); +INSERT INTO product_slots VALUES(32,358); +INSERT INTO product_slots VALUES(32,359); +INSERT INTO product_slots VALUES(32,360); +INSERT INTO product_slots VALUES(32,361); +INSERT INTO product_slots VALUES(32,362); +INSERT INTO product_slots VALUES(32,363); +INSERT INTO product_slots VALUES(32,364); +INSERT INTO product_slots VALUES(32,365); +INSERT INTO product_slots VALUES(32,366); +INSERT INTO product_slots VALUES(32,367); +INSERT INTO product_slots VALUES(32,368); +INSERT INTO product_slots VALUES(32,369); +INSERT INTO product_slots VALUES(32,370); +INSERT INTO product_slots VALUES(32,371); +INSERT INTO product_slots VALUES(32,372); +INSERT INTO product_slots VALUES(32,373); +INSERT INTO product_slots VALUES(32,374); +INSERT INTO product_slots VALUES(32,375); +INSERT INTO product_slots VALUES(32,376); +INSERT INTO product_slots VALUES(32,377); +INSERT INTO product_slots VALUES(32,378); +INSERT INTO product_slots VALUES(32,379); +INSERT INTO product_slots VALUES(32,380); +INSERT INTO product_slots VALUES(32,381); +INSERT INTO product_slots VALUES(32,382); +INSERT INTO product_slots VALUES(32,383); +INSERT INTO product_slots VALUES(32,384); +INSERT INTO product_slots VALUES(32,385); +INSERT INTO product_slots VALUES(32,386); +INSERT INTO product_slots VALUES(32,387); +INSERT INTO product_slots VALUES(32,388); +INSERT INTO product_slots VALUES(32,389); +INSERT INTO product_slots VALUES(32,390); +INSERT INTO product_slots VALUES(32,391); +INSERT INTO product_slots VALUES(32,392); +INSERT INTO product_slots VALUES(32,393); +INSERT INTO product_slots VALUES(32,394); +INSERT INTO product_slots VALUES(32,395); +INSERT INTO product_slots VALUES(32,396); +INSERT INTO product_slots VALUES(32,397); +INSERT INTO product_slots VALUES(32,398); +INSERT INTO product_slots VALUES(32,399); +INSERT INTO product_slots VALUES(32,400); +INSERT INTO product_slots VALUES(32,401); +INSERT INTO product_slots VALUES(32,402); +INSERT INTO product_slots VALUES(32,403); +INSERT INTO product_slots VALUES(32,404); +INSERT INTO product_slots VALUES(32,405); +INSERT INTO product_slots VALUES(32,406); +INSERT INTO product_slots VALUES(32,407); +INSERT INTO product_slots VALUES(32,408); +INSERT INTO product_slots VALUES(32,409); +INSERT INTO product_slots VALUES(32,410); +INSERT INTO product_slots VALUES(32,411); +INSERT INTO product_slots VALUES(32,412); +INSERT INTO product_slots VALUES(32,413); +INSERT INTO product_slots VALUES(32,414); +INSERT INTO product_slots VALUES(32,415); +INSERT INTO product_slots VALUES(32,416); +INSERT INTO product_slots VALUES(32,417); +INSERT INTO product_slots VALUES(32,418); +INSERT INTO product_slots VALUES(32,419); +INSERT INTO product_slots VALUES(32,420); +INSERT INTO product_slots VALUES(32,421); +INSERT INTO product_slots VALUES(32,422); +INSERT INTO product_slots VALUES(32,423); +INSERT INTO product_slots VALUES(32,424); +INSERT INTO product_slots VALUES(32,425); +INSERT INTO product_slots VALUES(32,426); +INSERT INTO product_slots VALUES(32,427); +INSERT INTO product_slots VALUES(32,428); +INSERT INTO product_slots VALUES(32,429); +INSERT INTO product_slots VALUES(32,430); +INSERT INTO product_slots VALUES(32,431); +INSERT INTO product_slots VALUES(32,432); +INSERT INTO product_slots VALUES(32,433); +INSERT INTO product_slots VALUES(32,434); +INSERT INTO product_slots VALUES(32,435); +INSERT INTO product_slots VALUES(32,436); +INSERT INTO product_slots VALUES(32,437); +INSERT INTO product_slots VALUES(32,438); +INSERT INTO product_slots VALUES(32,439); +INSERT INTO product_slots VALUES(32,440); +INSERT INTO product_slots VALUES(32,441); +INSERT INTO product_slots VALUES(32,442); +INSERT INTO product_slots VALUES(32,443); +INSERT INTO product_slots VALUES(32,444); +INSERT INTO product_slots VALUES(32,445); +INSERT INTO product_slots VALUES(32,446); +INSERT INTO product_slots VALUES(32,447); +INSERT INTO product_slots VALUES(32,448); +INSERT INTO product_slots VALUES(32,449); +INSERT INTO product_slots VALUES(32,450); +INSERT INTO product_slots VALUES(32,451); +INSERT INTO product_slots VALUES(32,452); +INSERT INTO product_slots VALUES(32,453); +INSERT INTO product_slots VALUES(32,454); +INSERT INTO product_slots VALUES(32,455); +INSERT INTO product_slots VALUES(32,456); +INSERT INTO product_slots VALUES(32,457); +INSERT INTO product_slots VALUES(32,458); +INSERT INTO product_slots VALUES(32,459); +INSERT INTO product_slots VALUES(32,460); +INSERT INTO product_slots VALUES(32,461); +INSERT INTO product_slots VALUES(32,462); +INSERT INTO product_slots VALUES(32,463); +INSERT INTO product_slots VALUES(32,464); +INSERT INTO product_slots VALUES(32,465); +INSERT INTO product_slots VALUES(32,466); +INSERT INTO product_slots VALUES(32,467); +INSERT INTO product_slots VALUES(32,468); +INSERT INTO product_slots VALUES(32,469); +INSERT INTO product_slots VALUES(32,470); +INSERT INTO product_slots VALUES(32,471); INSERT INTO product_slots VALUES(33,18); INSERT INTO product_slots VALUES(33,20); INSERT INTO product_slots VALUES(33,21); @@ -8802,8 +16381,40 @@ INSERT INTO product_slots VALUES(33,241); INSERT INTO product_slots VALUES(33,242); INSERT INTO product_slots VALUES(33,243); INSERT INTO product_slots VALUES(33,244); +INSERT INTO product_slots VALUES(33,245); +INSERT INTO product_slots VALUES(33,246); +INSERT INTO product_slots VALUES(33,247); +INSERT INTO product_slots VALUES(33,248); +INSERT INTO product_slots VALUES(33,249); +INSERT INTO product_slots VALUES(33,250); +INSERT INTO product_slots VALUES(33,251); +INSERT INTO product_slots VALUES(33,252); +INSERT INTO product_slots VALUES(33,253); +INSERT INTO product_slots VALUES(33,254); +INSERT INTO product_slots VALUES(33,255); +INSERT INTO product_slots VALUES(33,256); +INSERT INTO product_slots VALUES(33,257); +INSERT INTO product_slots VALUES(33,258); +INSERT INTO product_slots VALUES(33,259); +INSERT INTO product_slots VALUES(33,260); +INSERT INTO product_slots VALUES(33,261); +INSERT INTO product_slots VALUES(33,262); +INSERT INTO product_slots VALUES(33,263); +INSERT INTO product_slots VALUES(33,264); +INSERT INTO product_slots VALUES(33,265); +INSERT INTO product_slots VALUES(33,266); +INSERT INTO product_slots VALUES(33,267); +INSERT INTO product_slots VALUES(33,268); +INSERT INTO product_slots VALUES(33,269); +INSERT INTO product_slots VALUES(33,270); +INSERT INTO product_slots VALUES(33,271); +INSERT INTO product_slots VALUES(33,272); +INSERT INTO product_slots VALUES(33,273); INSERT INTO product_slots VALUES(33,274); INSERT INTO product_slots VALUES(33,275); +INSERT INTO product_slots VALUES(33,276); +INSERT INTO product_slots VALUES(33,277); +INSERT INTO product_slots VALUES(33,278); INSERT INTO product_slots VALUES(33,279); INSERT INTO product_slots VALUES(33,280); INSERT INTO product_slots VALUES(33,281); @@ -8813,6 +16424,190 @@ INSERT INTO product_slots VALUES(33,284); INSERT INTO product_slots VALUES(33,285); INSERT INTO product_slots VALUES(33,286); INSERT INTO product_slots VALUES(33,287); +INSERT INTO product_slots VALUES(33,288); +INSERT INTO product_slots VALUES(33,289); +INSERT INTO product_slots VALUES(33,290); +INSERT INTO product_slots VALUES(33,291); +INSERT INTO product_slots VALUES(33,292); +INSERT INTO product_slots VALUES(33,293); +INSERT INTO product_slots VALUES(33,294); +INSERT INTO product_slots VALUES(33,295); +INSERT INTO product_slots VALUES(33,296); +INSERT INTO product_slots VALUES(33,297); +INSERT INTO product_slots VALUES(33,298); +INSERT INTO product_slots VALUES(33,299); +INSERT INTO product_slots VALUES(33,300); +INSERT INTO product_slots VALUES(33,301); +INSERT INTO product_slots VALUES(33,302); +INSERT INTO product_slots VALUES(33,303); +INSERT INTO product_slots VALUES(33,304); +INSERT INTO product_slots VALUES(33,305); +INSERT INTO product_slots VALUES(33,306); +INSERT INTO product_slots VALUES(33,307); +INSERT INTO product_slots VALUES(33,308); +INSERT INTO product_slots VALUES(33,309); +INSERT INTO product_slots VALUES(33,310); +INSERT INTO product_slots VALUES(33,311); +INSERT INTO product_slots VALUES(33,312); +INSERT INTO product_slots VALUES(33,313); +INSERT INTO product_slots VALUES(33,314); +INSERT INTO product_slots VALUES(33,315); +INSERT INTO product_slots VALUES(33,316); +INSERT INTO product_slots VALUES(33,317); +INSERT INTO product_slots VALUES(33,318); +INSERT INTO product_slots VALUES(33,319); +INSERT INTO product_slots VALUES(33,320); +INSERT INTO product_slots VALUES(33,321); +INSERT INTO product_slots VALUES(33,322); +INSERT INTO product_slots VALUES(33,323); +INSERT INTO product_slots VALUES(33,324); +INSERT INTO product_slots VALUES(33,325); +INSERT INTO product_slots VALUES(33,326); +INSERT INTO product_slots VALUES(33,327); +INSERT INTO product_slots VALUES(33,328); +INSERT INTO product_slots VALUES(33,329); +INSERT INTO product_slots VALUES(33,330); +INSERT INTO product_slots VALUES(33,331); +INSERT INTO product_slots VALUES(33,332); +INSERT INTO product_slots VALUES(33,333); +INSERT INTO product_slots VALUES(33,334); +INSERT INTO product_slots VALUES(33,335); +INSERT INTO product_slots VALUES(33,336); +INSERT INTO product_slots VALUES(33,337); +INSERT INTO product_slots VALUES(33,338); +INSERT INTO product_slots VALUES(33,339); +INSERT INTO product_slots VALUES(33,340); +INSERT INTO product_slots VALUES(33,341); +INSERT INTO product_slots VALUES(33,342); +INSERT INTO product_slots VALUES(33,343); +INSERT INTO product_slots VALUES(33,344); +INSERT INTO product_slots VALUES(33,345); +INSERT INTO product_slots VALUES(33,346); +INSERT INTO product_slots VALUES(33,347); +INSERT INTO product_slots VALUES(33,348); +INSERT INTO product_slots VALUES(33,349); +INSERT INTO product_slots VALUES(33,350); +INSERT INTO product_slots VALUES(33,351); +INSERT INTO product_slots VALUES(33,352); +INSERT INTO product_slots VALUES(33,353); +INSERT INTO product_slots VALUES(33,354); +INSERT INTO product_slots VALUES(33,355); +INSERT INTO product_slots VALUES(33,356); +INSERT INTO product_slots VALUES(33,357); +INSERT INTO product_slots VALUES(33,358); +INSERT INTO product_slots VALUES(33,359); +INSERT INTO product_slots VALUES(33,360); +INSERT INTO product_slots VALUES(33,361); +INSERT INTO product_slots VALUES(33,362); +INSERT INTO product_slots VALUES(33,363); +INSERT INTO product_slots VALUES(33,364); +INSERT INTO product_slots VALUES(33,365); +INSERT INTO product_slots VALUES(33,366); +INSERT INTO product_slots VALUES(33,367); +INSERT INTO product_slots VALUES(33,368); +INSERT INTO product_slots VALUES(33,369); +INSERT INTO product_slots VALUES(33,370); +INSERT INTO product_slots VALUES(33,371); +INSERT INTO product_slots VALUES(33,372); +INSERT INTO product_slots VALUES(33,373); +INSERT INTO product_slots VALUES(33,374); +INSERT INTO product_slots VALUES(33,375); +INSERT INTO product_slots VALUES(33,376); +INSERT INTO product_slots VALUES(33,377); +INSERT INTO product_slots VALUES(33,378); +INSERT INTO product_slots VALUES(33,379); +INSERT INTO product_slots VALUES(33,380); +INSERT INTO product_slots VALUES(33,381); +INSERT INTO product_slots VALUES(33,382); +INSERT INTO product_slots VALUES(33,383); +INSERT INTO product_slots VALUES(33,384); +INSERT INTO product_slots VALUES(33,385); +INSERT INTO product_slots VALUES(33,386); +INSERT INTO product_slots VALUES(33,387); +INSERT INTO product_slots VALUES(33,388); +INSERT INTO product_slots VALUES(33,389); +INSERT INTO product_slots VALUES(33,390); +INSERT INTO product_slots VALUES(33,391); +INSERT INTO product_slots VALUES(33,392); +INSERT INTO product_slots VALUES(33,393); +INSERT INTO product_slots VALUES(33,394); +INSERT INTO product_slots VALUES(33,395); +INSERT INTO product_slots VALUES(33,396); +INSERT INTO product_slots VALUES(33,397); +INSERT INTO product_slots VALUES(33,398); +INSERT INTO product_slots VALUES(33,399); +INSERT INTO product_slots VALUES(33,400); +INSERT INTO product_slots VALUES(33,401); +INSERT INTO product_slots VALUES(33,402); +INSERT INTO product_slots VALUES(33,403); +INSERT INTO product_slots VALUES(33,404); +INSERT INTO product_slots VALUES(33,405); +INSERT INTO product_slots VALUES(33,406); +INSERT INTO product_slots VALUES(33,407); +INSERT INTO product_slots VALUES(33,408); +INSERT INTO product_slots VALUES(33,409); +INSERT INTO product_slots VALUES(33,410); +INSERT INTO product_slots VALUES(33,411); +INSERT INTO product_slots VALUES(33,412); +INSERT INTO product_slots VALUES(33,413); +INSERT INTO product_slots VALUES(33,414); +INSERT INTO product_slots VALUES(33,415); +INSERT INTO product_slots VALUES(33,416); +INSERT INTO product_slots VALUES(33,417); +INSERT INTO product_slots VALUES(33,418); +INSERT INTO product_slots VALUES(33,419); +INSERT INTO product_slots VALUES(33,420); +INSERT INTO product_slots VALUES(33,421); +INSERT INTO product_slots VALUES(33,422); +INSERT INTO product_slots VALUES(33,423); +INSERT INTO product_slots VALUES(33,424); +INSERT INTO product_slots VALUES(33,425); +INSERT INTO product_slots VALUES(33,426); +INSERT INTO product_slots VALUES(33,427); +INSERT INTO product_slots VALUES(33,428); +INSERT INTO product_slots VALUES(33,429); +INSERT INTO product_slots VALUES(33,430); +INSERT INTO product_slots VALUES(33,431); +INSERT INTO product_slots VALUES(33,432); +INSERT INTO product_slots VALUES(33,433); +INSERT INTO product_slots VALUES(33,434); +INSERT INTO product_slots VALUES(33,435); +INSERT INTO product_slots VALUES(33,436); +INSERT INTO product_slots VALUES(33,437); +INSERT INTO product_slots VALUES(33,438); +INSERT INTO product_slots VALUES(33,439); +INSERT INTO product_slots VALUES(33,440); +INSERT INTO product_slots VALUES(33,441); +INSERT INTO product_slots VALUES(33,442); +INSERT INTO product_slots VALUES(33,443); +INSERT INTO product_slots VALUES(33,444); +INSERT INTO product_slots VALUES(33,445); +INSERT INTO product_slots VALUES(33,446); +INSERT INTO product_slots VALUES(33,447); +INSERT INTO product_slots VALUES(33,448); +INSERT INTO product_slots VALUES(33,449); +INSERT INTO product_slots VALUES(33,450); +INSERT INTO product_slots VALUES(33,451); +INSERT INTO product_slots VALUES(33,452); +INSERT INTO product_slots VALUES(33,453); +INSERT INTO product_slots VALUES(33,454); +INSERT INTO product_slots VALUES(33,455); +INSERT INTO product_slots VALUES(33,456); +INSERT INTO product_slots VALUES(33,457); +INSERT INTO product_slots VALUES(33,458); +INSERT INTO product_slots VALUES(33,459); +INSERT INTO product_slots VALUES(33,460); +INSERT INTO product_slots VALUES(33,461); +INSERT INTO product_slots VALUES(33,462); +INSERT INTO product_slots VALUES(33,463); +INSERT INTO product_slots VALUES(33,464); +INSERT INTO product_slots VALUES(33,465); +INSERT INTO product_slots VALUES(33,466); +INSERT INTO product_slots VALUES(33,467); +INSERT INTO product_slots VALUES(33,468); +INSERT INTO product_slots VALUES(33,469); +INSERT INTO product_slots VALUES(33,470); +INSERT INTO product_slots VALUES(33,471); INSERT INTO product_slots VALUES(34,18); INSERT INTO product_slots VALUES(34,20); INSERT INTO product_slots VALUES(34,21); @@ -8823,7 +16618,10 @@ INSERT INTO product_slots VALUES(34,38); INSERT INTO product_slots VALUES(34,40); INSERT INTO product_slots VALUES(34,82); INSERT INTO product_slots VALUES(34,87); -INSERT INTO product_slots VALUES(34,279); +INSERT INTO product_slots VALUES(34,288); +INSERT INTO product_slots VALUES(34,289); +INSERT INTO product_slots VALUES(34,290); +INSERT INTO product_slots VALUES(34,378); INSERT INTO product_slots VALUES(35,18); INSERT INTO product_slots VALUES(35,19); INSERT INTO product_slots VALUES(35,20); @@ -8972,11 +16770,136 @@ INSERT INTO product_slots VALUES(35,237); INSERT INTO product_slots VALUES(35,238); INSERT INTO product_slots VALUES(35,239); INSERT INTO product_slots VALUES(35,240); +INSERT INTO product_slots VALUES(35,245); +INSERT INTO product_slots VALUES(35,246); +INSERT INTO product_slots VALUES(35,247); +INSERT INTO product_slots VALUES(35,248); +INSERT INTO product_slots VALUES(35,252); +INSERT INTO product_slots VALUES(35,253); +INSERT INTO product_slots VALUES(35,255); +INSERT INTO product_slots VALUES(35,259); +INSERT INTO product_slots VALUES(35,260); +INSERT INTO product_slots VALUES(35,261); +INSERT INTO product_slots VALUES(35,262); +INSERT INTO product_slots VALUES(35,263); +INSERT INTO product_slots VALUES(35,266); +INSERT INTO product_slots VALUES(35,267); +INSERT INTO product_slots VALUES(35,268); +INSERT INTO product_slots VALUES(35,269); +INSERT INTO product_slots VALUES(35,270); +INSERT INTO product_slots VALUES(35,273); INSERT INTO product_slots VALUES(35,274); INSERT INTO product_slots VALUES(35,275); INSERT INTO product_slots VALUES(35,277); INSERT INTO product_slots VALUES(35,278); INSERT INTO product_slots VALUES(35,279); +INSERT INTO product_slots VALUES(35,280); +INSERT INTO product_slots VALUES(35,281); +INSERT INTO product_slots VALUES(35,282); +INSERT INTO product_slots VALUES(35,283); +INSERT INTO product_slots VALUES(35,287); +INSERT INTO product_slots VALUES(35,288); +INSERT INTO product_slots VALUES(35,289); +INSERT INTO product_slots VALUES(35,290); +INSERT INTO product_slots VALUES(35,294); +INSERT INTO product_slots VALUES(35,295); +INSERT INTO product_slots VALUES(35,296); +INSERT INTO product_slots VALUES(35,297); +INSERT INTO product_slots VALUES(35,301); +INSERT INTO product_slots VALUES(35,302); +INSERT INTO product_slots VALUES(35,308); +INSERT INTO product_slots VALUES(35,309); +INSERT INTO product_slots VALUES(35,310); +INSERT INTO product_slots VALUES(35,311); +INSERT INTO product_slots VALUES(35,315); +INSERT INTO product_slots VALUES(35,316); +INSERT INTO product_slots VALUES(35,317); +INSERT INTO product_slots VALUES(35,318); +INSERT INTO product_slots VALUES(35,319); +INSERT INTO product_slots VALUES(35,322); +INSERT INTO product_slots VALUES(35,323); +INSERT INTO product_slots VALUES(35,324); +INSERT INTO product_slots VALUES(35,325); +INSERT INTO product_slots VALUES(35,329); +INSERT INTO product_slots VALUES(35,330); +INSERT INTO product_slots VALUES(35,334); +INSERT INTO product_slots VALUES(35,335); +INSERT INTO product_slots VALUES(35,336); +INSERT INTO product_slots VALUES(35,337); +INSERT INTO product_slots VALUES(35,338); +INSERT INTO product_slots VALUES(35,341); +INSERT INTO product_slots VALUES(35,342); +INSERT INTO product_slots VALUES(35,343); +INSERT INTO product_slots VALUES(35,344); +INSERT INTO product_slots VALUES(35,348); +INSERT INTO product_slots VALUES(35,349); +INSERT INTO product_slots VALUES(35,350); +INSERT INTO product_slots VALUES(35,351); +INSERT INTO product_slots VALUES(35,355); +INSERT INTO product_slots VALUES(35,356); +INSERT INTO product_slots VALUES(35,357); +INSERT INTO product_slots VALUES(35,358); +INSERT INTO product_slots VALUES(35,360); +INSERT INTO product_slots VALUES(35,361); +INSERT INTO product_slots VALUES(35,362); +INSERT INTO product_slots VALUES(35,363); +INSERT INTO product_slots VALUES(35,367); +INSERT INTO product_slots VALUES(35,368); +INSERT INTO product_slots VALUES(35,369); +INSERT INTO product_slots VALUES(35,370); +INSERT INTO product_slots VALUES(35,374); +INSERT INTO product_slots VALUES(35,375); +INSERT INTO product_slots VALUES(35,376); +INSERT INTO product_slots VALUES(35,377); +INSERT INTO product_slots VALUES(35,381); +INSERT INTO product_slots VALUES(35,382); +INSERT INTO product_slots VALUES(35,383); +INSERT INTO product_slots VALUES(35,384); +INSERT INTO product_slots VALUES(35,385); +INSERT INTO product_slots VALUES(35,389); +INSERT INTO product_slots VALUES(35,390); +INSERT INTO product_slots VALUES(35,391); +INSERT INTO product_slots VALUES(35,395); +INSERT INTO product_slots VALUES(35,396); +INSERT INTO product_slots VALUES(35,397); +INSERT INTO product_slots VALUES(35,398); +INSERT INTO product_slots VALUES(35,399); +INSERT INTO product_slots VALUES(35,400); +INSERT INTO product_slots VALUES(35,401); +INSERT INTO product_slots VALUES(35,402); +INSERT INTO product_slots VALUES(35,403); +INSERT INTO product_slots VALUES(35,404); +INSERT INTO product_slots VALUES(35,405); +INSERT INTO product_slots VALUES(35,406); +INSERT INTO product_slots VALUES(35,411); +INSERT INTO product_slots VALUES(35,412); +INSERT INTO product_slots VALUES(35,413); +INSERT INTO product_slots VALUES(35,414); +INSERT INTO product_slots VALUES(35,419); +INSERT INTO product_slots VALUES(35,420); +INSERT INTO product_slots VALUES(35,421); +INSERT INTO product_slots VALUES(35,422); +INSERT INTO product_slots VALUES(35,427); +INSERT INTO product_slots VALUES(35,428); +INSERT INTO product_slots VALUES(35,429); +INSERT INTO product_slots VALUES(35,434); +INSERT INTO product_slots VALUES(35,435); +INSERT INTO product_slots VALUES(35,436); +INSERT INTO product_slots VALUES(35,437); +INSERT INTO product_slots VALUES(35,442); +INSERT INTO product_slots VALUES(35,443); +INSERT INTO product_slots VALUES(35,444); +INSERT INTO product_slots VALUES(35,450); +INSERT INTO product_slots VALUES(35,451); +INSERT INTO product_slots VALUES(35,452); +INSERT INTO product_slots VALUES(35,453); +INSERT INTO product_slots VALUES(35,458); +INSERT INTO product_slots VALUES(35,459); +INSERT INTO product_slots VALUES(35,460); +INSERT INTO product_slots VALUES(35,461); +INSERT INTO product_slots VALUES(35,466); +INSERT INTO product_slots VALUES(35,467); +INSERT INTO product_slots VALUES(35,468); INSERT INTO product_slots VALUES(36,18); INSERT INTO product_slots VALUES(36,19); INSERT INTO product_slots VALUES(36,20); @@ -9191,12 +17114,233 @@ INSERT INTO product_slots VALUES(36,241); INSERT INTO product_slots VALUES(36,242); INSERT INTO product_slots VALUES(36,243); INSERT INTO product_slots VALUES(36,244); +INSERT INTO product_slots VALUES(36,245); +INSERT INTO product_slots VALUES(36,246); +INSERT INTO product_slots VALUES(36,247); +INSERT INTO product_slots VALUES(36,248); +INSERT INTO product_slots VALUES(36,249); +INSERT INTO product_slots VALUES(36,250); +INSERT INTO product_slots VALUES(36,251); +INSERT INTO product_slots VALUES(36,252); +INSERT INTO product_slots VALUES(36,253); +INSERT INTO product_slots VALUES(36,254); +INSERT INTO product_slots VALUES(36,255); +INSERT INTO product_slots VALUES(36,256); +INSERT INTO product_slots VALUES(36,257); +INSERT INTO product_slots VALUES(36,258); +INSERT INTO product_slots VALUES(36,259); +INSERT INTO product_slots VALUES(36,260); +INSERT INTO product_slots VALUES(36,261); +INSERT INTO product_slots VALUES(36,262); +INSERT INTO product_slots VALUES(36,263); +INSERT INTO product_slots VALUES(36,264); +INSERT INTO product_slots VALUES(36,265); +INSERT INTO product_slots VALUES(36,266); +INSERT INTO product_slots VALUES(36,267); +INSERT INTO product_slots VALUES(36,268); +INSERT INTO product_slots VALUES(36,269); +INSERT INTO product_slots VALUES(36,270); +INSERT INTO product_slots VALUES(36,271); +INSERT INTO product_slots VALUES(36,272); +INSERT INTO product_slots VALUES(36,273); INSERT INTO product_slots VALUES(36,274); INSERT INTO product_slots VALUES(36,275); +INSERT INTO product_slots VALUES(36,276); +INSERT INTO product_slots VALUES(36,277); +INSERT INTO product_slots VALUES(36,278); INSERT INTO product_slots VALUES(36,279); INSERT INTO product_slots VALUES(36,280); INSERT INTO product_slots VALUES(36,281); INSERT INTO product_slots VALUES(36,282); +INSERT INTO product_slots VALUES(36,283); +INSERT INTO product_slots VALUES(36,284); +INSERT INTO product_slots VALUES(36,285); +INSERT INTO product_slots VALUES(36,286); +INSERT INTO product_slots VALUES(36,287); +INSERT INTO product_slots VALUES(36,288); +INSERT INTO product_slots VALUES(36,289); +INSERT INTO product_slots VALUES(36,290); +INSERT INTO product_slots VALUES(36,291); +INSERT INTO product_slots VALUES(36,292); +INSERT INTO product_slots VALUES(36,293); +INSERT INTO product_slots VALUES(36,294); +INSERT INTO product_slots VALUES(36,295); +INSERT INTO product_slots VALUES(36,296); +INSERT INTO product_slots VALUES(36,297); +INSERT INTO product_slots VALUES(36,298); +INSERT INTO product_slots VALUES(36,299); +INSERT INTO product_slots VALUES(36,300); +INSERT INTO product_slots VALUES(36,301); +INSERT INTO product_slots VALUES(36,302); +INSERT INTO product_slots VALUES(36,303); +INSERT INTO product_slots VALUES(36,304); +INSERT INTO product_slots VALUES(36,305); +INSERT INTO product_slots VALUES(36,306); +INSERT INTO product_slots VALUES(36,307); +INSERT INTO product_slots VALUES(36,308); +INSERT INTO product_slots VALUES(36,309); +INSERT INTO product_slots VALUES(36,310); +INSERT INTO product_slots VALUES(36,311); +INSERT INTO product_slots VALUES(36,312); +INSERT INTO product_slots VALUES(36,313); +INSERT INTO product_slots VALUES(36,314); +INSERT INTO product_slots VALUES(36,315); +INSERT INTO product_slots VALUES(36,316); +INSERT INTO product_slots VALUES(36,317); +INSERT INTO product_slots VALUES(36,318); +INSERT INTO product_slots VALUES(36,319); +INSERT INTO product_slots VALUES(36,320); +INSERT INTO product_slots VALUES(36,321); +INSERT INTO product_slots VALUES(36,322); +INSERT INTO product_slots VALUES(36,323); +INSERT INTO product_slots VALUES(36,324); +INSERT INTO product_slots VALUES(36,325); +INSERT INTO product_slots VALUES(36,326); +INSERT INTO product_slots VALUES(36,327); +INSERT INTO product_slots VALUES(36,328); +INSERT INTO product_slots VALUES(36,329); +INSERT INTO product_slots VALUES(36,330); +INSERT INTO product_slots VALUES(36,331); +INSERT INTO product_slots VALUES(36,332); +INSERT INTO product_slots VALUES(36,333); +INSERT INTO product_slots VALUES(36,334); +INSERT INTO product_slots VALUES(36,335); +INSERT INTO product_slots VALUES(36,336); +INSERT INTO product_slots VALUES(36,337); +INSERT INTO product_slots VALUES(36,338); +INSERT INTO product_slots VALUES(36,339); +INSERT INTO product_slots VALUES(36,340); +INSERT INTO product_slots VALUES(36,341); +INSERT INTO product_slots VALUES(36,342); +INSERT INTO product_slots VALUES(36,343); +INSERT INTO product_slots VALUES(36,344); +INSERT INTO product_slots VALUES(36,345); +INSERT INTO product_slots VALUES(36,346); +INSERT INTO product_slots VALUES(36,347); +INSERT INTO product_slots VALUES(36,348); +INSERT INTO product_slots VALUES(36,349); +INSERT INTO product_slots VALUES(36,350); +INSERT INTO product_slots VALUES(36,351); +INSERT INTO product_slots VALUES(36,352); +INSERT INTO product_slots VALUES(36,353); +INSERT INTO product_slots VALUES(36,354); +INSERT INTO product_slots VALUES(36,355); +INSERT INTO product_slots VALUES(36,356); +INSERT INTO product_slots VALUES(36,357); +INSERT INTO product_slots VALUES(36,358); +INSERT INTO product_slots VALUES(36,359); +INSERT INTO product_slots VALUES(36,360); +INSERT INTO product_slots VALUES(36,361); +INSERT INTO product_slots VALUES(36,362); +INSERT INTO product_slots VALUES(36,363); +INSERT INTO product_slots VALUES(36,364); +INSERT INTO product_slots VALUES(36,365); +INSERT INTO product_slots VALUES(36,366); +INSERT INTO product_slots VALUES(36,367); +INSERT INTO product_slots VALUES(36,368); +INSERT INTO product_slots VALUES(36,369); +INSERT INTO product_slots VALUES(36,370); +INSERT INTO product_slots VALUES(36,371); +INSERT INTO product_slots VALUES(36,372); +INSERT INTO product_slots VALUES(36,373); +INSERT INTO product_slots VALUES(36,374); +INSERT INTO product_slots VALUES(36,375); +INSERT INTO product_slots VALUES(36,376); +INSERT INTO product_slots VALUES(36,377); +INSERT INTO product_slots VALUES(36,378); +INSERT INTO product_slots VALUES(36,379); +INSERT INTO product_slots VALUES(36,380); +INSERT INTO product_slots VALUES(36,381); +INSERT INTO product_slots VALUES(36,382); +INSERT INTO product_slots VALUES(36,383); +INSERT INTO product_slots VALUES(36,384); +INSERT INTO product_slots VALUES(36,385); +INSERT INTO product_slots VALUES(36,386); +INSERT INTO product_slots VALUES(36,387); +INSERT INTO product_slots VALUES(36,388); +INSERT INTO product_slots VALUES(36,389); +INSERT INTO product_slots VALUES(36,390); +INSERT INTO product_slots VALUES(36,391); +INSERT INTO product_slots VALUES(36,392); +INSERT INTO product_slots VALUES(36,393); +INSERT INTO product_slots VALUES(36,394); +INSERT INTO product_slots VALUES(36,395); +INSERT INTO product_slots VALUES(36,396); +INSERT INTO product_slots VALUES(36,397); +INSERT INTO product_slots VALUES(36,398); +INSERT INTO product_slots VALUES(36,399); +INSERT INTO product_slots VALUES(36,400); +INSERT INTO product_slots VALUES(36,401); +INSERT INTO product_slots VALUES(36,402); +INSERT INTO product_slots VALUES(36,403); +INSERT INTO product_slots VALUES(36,404); +INSERT INTO product_slots VALUES(36,405); +INSERT INTO product_slots VALUES(36,406); +INSERT INTO product_slots VALUES(36,407); +INSERT INTO product_slots VALUES(36,408); +INSERT INTO product_slots VALUES(36,409); +INSERT INTO product_slots VALUES(36,410); +INSERT INTO product_slots VALUES(36,411); +INSERT INTO product_slots VALUES(36,412); +INSERT INTO product_slots VALUES(36,413); +INSERT INTO product_slots VALUES(36,414); +INSERT INTO product_slots VALUES(36,415); +INSERT INTO product_slots VALUES(36,416); +INSERT INTO product_slots VALUES(36,417); +INSERT INTO product_slots VALUES(36,418); +INSERT INTO product_slots VALUES(36,419); +INSERT INTO product_slots VALUES(36,420); +INSERT INTO product_slots VALUES(36,421); +INSERT INTO product_slots VALUES(36,422); +INSERT INTO product_slots VALUES(36,423); +INSERT INTO product_slots VALUES(36,424); +INSERT INTO product_slots VALUES(36,425); +INSERT INTO product_slots VALUES(36,426); +INSERT INTO product_slots VALUES(36,427); +INSERT INTO product_slots VALUES(36,428); +INSERT INTO product_slots VALUES(36,429); +INSERT INTO product_slots VALUES(36,430); +INSERT INTO product_slots VALUES(36,431); +INSERT INTO product_slots VALUES(36,432); +INSERT INTO product_slots VALUES(36,433); +INSERT INTO product_slots VALUES(36,434); +INSERT INTO product_slots VALUES(36,435); +INSERT INTO product_slots VALUES(36,436); +INSERT INTO product_slots VALUES(36,437); +INSERT INTO product_slots VALUES(36,438); +INSERT INTO product_slots VALUES(36,439); +INSERT INTO product_slots VALUES(36,440); +INSERT INTO product_slots VALUES(36,441); +INSERT INTO product_slots VALUES(36,442); +INSERT INTO product_slots VALUES(36,443); +INSERT INTO product_slots VALUES(36,444); +INSERT INTO product_slots VALUES(36,445); +INSERT INTO product_slots VALUES(36,446); +INSERT INTO product_slots VALUES(36,447); +INSERT INTO product_slots VALUES(36,448); +INSERT INTO product_slots VALUES(36,449); +INSERT INTO product_slots VALUES(36,450); +INSERT INTO product_slots VALUES(36,451); +INSERT INTO product_slots VALUES(36,452); +INSERT INTO product_slots VALUES(36,453); +INSERT INTO product_slots VALUES(36,454); +INSERT INTO product_slots VALUES(36,455); +INSERT INTO product_slots VALUES(36,456); +INSERT INTO product_slots VALUES(36,457); +INSERT INTO product_slots VALUES(36,458); +INSERT INTO product_slots VALUES(36,459); +INSERT INTO product_slots VALUES(36,460); +INSERT INTO product_slots VALUES(36,461); +INSERT INTO product_slots VALUES(36,462); +INSERT INTO product_slots VALUES(36,463); +INSERT INTO product_slots VALUES(36,464); +INSERT INTO product_slots VALUES(36,465); +INSERT INTO product_slots VALUES(36,466); +INSERT INTO product_slots VALUES(36,467); +INSERT INTO product_slots VALUES(36,468); +INSERT INTO product_slots VALUES(36,469); +INSERT INTO product_slots VALUES(36,470); +INSERT INTO product_slots VALUES(36,471); INSERT INTO product_slots VALUES(37,18); INSERT INTO product_slots VALUES(37,20); INSERT INTO product_slots VALUES(37,21); @@ -9409,8 +17553,40 @@ INSERT INTO product_slots VALUES(37,241); INSERT INTO product_slots VALUES(37,242); INSERT INTO product_slots VALUES(37,243); INSERT INTO product_slots VALUES(37,244); +INSERT INTO product_slots VALUES(37,245); +INSERT INTO product_slots VALUES(37,246); +INSERT INTO product_slots VALUES(37,247); +INSERT INTO product_slots VALUES(37,248); +INSERT INTO product_slots VALUES(37,249); +INSERT INTO product_slots VALUES(37,250); +INSERT INTO product_slots VALUES(37,251); +INSERT INTO product_slots VALUES(37,252); +INSERT INTO product_slots VALUES(37,253); +INSERT INTO product_slots VALUES(37,254); +INSERT INTO product_slots VALUES(37,255); +INSERT INTO product_slots VALUES(37,256); +INSERT INTO product_slots VALUES(37,257); +INSERT INTO product_slots VALUES(37,258); +INSERT INTO product_slots VALUES(37,259); +INSERT INTO product_slots VALUES(37,260); +INSERT INTO product_slots VALUES(37,261); +INSERT INTO product_slots VALUES(37,262); +INSERT INTO product_slots VALUES(37,263); +INSERT INTO product_slots VALUES(37,264); +INSERT INTO product_slots VALUES(37,265); +INSERT INTO product_slots VALUES(37,266); +INSERT INTO product_slots VALUES(37,267); +INSERT INTO product_slots VALUES(37,268); +INSERT INTO product_slots VALUES(37,269); +INSERT INTO product_slots VALUES(37,270); +INSERT INTO product_slots VALUES(37,271); +INSERT INTO product_slots VALUES(37,272); +INSERT INTO product_slots VALUES(37,273); INSERT INTO product_slots VALUES(37,274); INSERT INTO product_slots VALUES(37,275); +INSERT INTO product_slots VALUES(37,276); +INSERT INTO product_slots VALUES(37,277); +INSERT INTO product_slots VALUES(37,278); INSERT INTO product_slots VALUES(37,279); INSERT INTO product_slots VALUES(37,280); INSERT INTO product_slots VALUES(37,281); @@ -9420,6 +17596,190 @@ INSERT INTO product_slots VALUES(37,284); INSERT INTO product_slots VALUES(37,285); INSERT INTO product_slots VALUES(37,286); INSERT INTO product_slots VALUES(37,287); +INSERT INTO product_slots VALUES(37,288); +INSERT INTO product_slots VALUES(37,289); +INSERT INTO product_slots VALUES(37,290); +INSERT INTO product_slots VALUES(37,291); +INSERT INTO product_slots VALUES(37,292); +INSERT INTO product_slots VALUES(37,293); +INSERT INTO product_slots VALUES(37,294); +INSERT INTO product_slots VALUES(37,295); +INSERT INTO product_slots VALUES(37,296); +INSERT INTO product_slots VALUES(37,297); +INSERT INTO product_slots VALUES(37,298); +INSERT INTO product_slots VALUES(37,299); +INSERT INTO product_slots VALUES(37,300); +INSERT INTO product_slots VALUES(37,301); +INSERT INTO product_slots VALUES(37,302); +INSERT INTO product_slots VALUES(37,303); +INSERT INTO product_slots VALUES(37,304); +INSERT INTO product_slots VALUES(37,305); +INSERT INTO product_slots VALUES(37,306); +INSERT INTO product_slots VALUES(37,307); +INSERT INTO product_slots VALUES(37,308); +INSERT INTO product_slots VALUES(37,309); +INSERT INTO product_slots VALUES(37,310); +INSERT INTO product_slots VALUES(37,311); +INSERT INTO product_slots VALUES(37,312); +INSERT INTO product_slots VALUES(37,313); +INSERT INTO product_slots VALUES(37,314); +INSERT INTO product_slots VALUES(37,315); +INSERT INTO product_slots VALUES(37,316); +INSERT INTO product_slots VALUES(37,317); +INSERT INTO product_slots VALUES(37,318); +INSERT INTO product_slots VALUES(37,319); +INSERT INTO product_slots VALUES(37,320); +INSERT INTO product_slots VALUES(37,321); +INSERT INTO product_slots VALUES(37,322); +INSERT INTO product_slots VALUES(37,323); +INSERT INTO product_slots VALUES(37,324); +INSERT INTO product_slots VALUES(37,325); +INSERT INTO product_slots VALUES(37,326); +INSERT INTO product_slots VALUES(37,327); +INSERT INTO product_slots VALUES(37,328); +INSERT INTO product_slots VALUES(37,329); +INSERT INTO product_slots VALUES(37,330); +INSERT INTO product_slots VALUES(37,331); +INSERT INTO product_slots VALUES(37,332); +INSERT INTO product_slots VALUES(37,333); +INSERT INTO product_slots VALUES(37,334); +INSERT INTO product_slots VALUES(37,335); +INSERT INTO product_slots VALUES(37,336); +INSERT INTO product_slots VALUES(37,337); +INSERT INTO product_slots VALUES(37,338); +INSERT INTO product_slots VALUES(37,339); +INSERT INTO product_slots VALUES(37,340); +INSERT INTO product_slots VALUES(37,341); +INSERT INTO product_slots VALUES(37,342); +INSERT INTO product_slots VALUES(37,343); +INSERT INTO product_slots VALUES(37,344); +INSERT INTO product_slots VALUES(37,345); +INSERT INTO product_slots VALUES(37,346); +INSERT INTO product_slots VALUES(37,347); +INSERT INTO product_slots VALUES(37,348); +INSERT INTO product_slots VALUES(37,349); +INSERT INTO product_slots VALUES(37,350); +INSERT INTO product_slots VALUES(37,351); +INSERT INTO product_slots VALUES(37,352); +INSERT INTO product_slots VALUES(37,353); +INSERT INTO product_slots VALUES(37,354); +INSERT INTO product_slots VALUES(37,355); +INSERT INTO product_slots VALUES(37,356); +INSERT INTO product_slots VALUES(37,357); +INSERT INTO product_slots VALUES(37,358); +INSERT INTO product_slots VALUES(37,359); +INSERT INTO product_slots VALUES(37,360); +INSERT INTO product_slots VALUES(37,361); +INSERT INTO product_slots VALUES(37,362); +INSERT INTO product_slots VALUES(37,363); +INSERT INTO product_slots VALUES(37,364); +INSERT INTO product_slots VALUES(37,365); +INSERT INTO product_slots VALUES(37,366); +INSERT INTO product_slots VALUES(37,367); +INSERT INTO product_slots VALUES(37,368); +INSERT INTO product_slots VALUES(37,369); +INSERT INTO product_slots VALUES(37,370); +INSERT INTO product_slots VALUES(37,371); +INSERT INTO product_slots VALUES(37,372); +INSERT INTO product_slots VALUES(37,373); +INSERT INTO product_slots VALUES(37,374); +INSERT INTO product_slots VALUES(37,375); +INSERT INTO product_slots VALUES(37,376); +INSERT INTO product_slots VALUES(37,377); +INSERT INTO product_slots VALUES(37,378); +INSERT INTO product_slots VALUES(37,379); +INSERT INTO product_slots VALUES(37,380); +INSERT INTO product_slots VALUES(37,381); +INSERT INTO product_slots VALUES(37,382); +INSERT INTO product_slots VALUES(37,383); +INSERT INTO product_slots VALUES(37,384); +INSERT INTO product_slots VALUES(37,385); +INSERT INTO product_slots VALUES(37,386); +INSERT INTO product_slots VALUES(37,387); +INSERT INTO product_slots VALUES(37,388); +INSERT INTO product_slots VALUES(37,389); +INSERT INTO product_slots VALUES(37,390); +INSERT INTO product_slots VALUES(37,391); +INSERT INTO product_slots VALUES(37,392); +INSERT INTO product_slots VALUES(37,393); +INSERT INTO product_slots VALUES(37,394); +INSERT INTO product_slots VALUES(37,395); +INSERT INTO product_slots VALUES(37,396); +INSERT INTO product_slots VALUES(37,397); +INSERT INTO product_slots VALUES(37,398); +INSERT INTO product_slots VALUES(37,399); +INSERT INTO product_slots VALUES(37,400); +INSERT INTO product_slots VALUES(37,401); +INSERT INTO product_slots VALUES(37,402); +INSERT INTO product_slots VALUES(37,403); +INSERT INTO product_slots VALUES(37,404); +INSERT INTO product_slots VALUES(37,405); +INSERT INTO product_slots VALUES(37,406); +INSERT INTO product_slots VALUES(37,407); +INSERT INTO product_slots VALUES(37,408); +INSERT INTO product_slots VALUES(37,409); +INSERT INTO product_slots VALUES(37,410); +INSERT INTO product_slots VALUES(37,411); +INSERT INTO product_slots VALUES(37,412); +INSERT INTO product_slots VALUES(37,413); +INSERT INTO product_slots VALUES(37,414); +INSERT INTO product_slots VALUES(37,415); +INSERT INTO product_slots VALUES(37,416); +INSERT INTO product_slots VALUES(37,417); +INSERT INTO product_slots VALUES(37,418); +INSERT INTO product_slots VALUES(37,419); +INSERT INTO product_slots VALUES(37,420); +INSERT INTO product_slots VALUES(37,421); +INSERT INTO product_slots VALUES(37,422); +INSERT INTO product_slots VALUES(37,423); +INSERT INTO product_slots VALUES(37,424); +INSERT INTO product_slots VALUES(37,425); +INSERT INTO product_slots VALUES(37,426); +INSERT INTO product_slots VALUES(37,427); +INSERT INTO product_slots VALUES(37,428); +INSERT INTO product_slots VALUES(37,429); +INSERT INTO product_slots VALUES(37,430); +INSERT INTO product_slots VALUES(37,431); +INSERT INTO product_slots VALUES(37,432); +INSERT INTO product_slots VALUES(37,433); +INSERT INTO product_slots VALUES(37,434); +INSERT INTO product_slots VALUES(37,435); +INSERT INTO product_slots VALUES(37,436); +INSERT INTO product_slots VALUES(37,437); +INSERT INTO product_slots VALUES(37,438); +INSERT INTO product_slots VALUES(37,439); +INSERT INTO product_slots VALUES(37,440); +INSERT INTO product_slots VALUES(37,441); +INSERT INTO product_slots VALUES(37,442); +INSERT INTO product_slots VALUES(37,443); +INSERT INTO product_slots VALUES(37,444); +INSERT INTO product_slots VALUES(37,445); +INSERT INTO product_slots VALUES(37,446); +INSERT INTO product_slots VALUES(37,447); +INSERT INTO product_slots VALUES(37,448); +INSERT INTO product_slots VALUES(37,449); +INSERT INTO product_slots VALUES(37,450); +INSERT INTO product_slots VALUES(37,451); +INSERT INTO product_slots VALUES(37,452); +INSERT INTO product_slots VALUES(37,453); +INSERT INTO product_slots VALUES(37,454); +INSERT INTO product_slots VALUES(37,455); +INSERT INTO product_slots VALUES(37,456); +INSERT INTO product_slots VALUES(37,457); +INSERT INTO product_slots VALUES(37,458); +INSERT INTO product_slots VALUES(37,459); +INSERT INTO product_slots VALUES(37,460); +INSERT INTO product_slots VALUES(37,461); +INSERT INTO product_slots VALUES(37,462); +INSERT INTO product_slots VALUES(37,463); +INSERT INTO product_slots VALUES(37,464); +INSERT INTO product_slots VALUES(37,465); +INSERT INTO product_slots VALUES(37,466); +INSERT INTO product_slots VALUES(37,467); +INSERT INTO product_slots VALUES(37,468); +INSERT INTO product_slots VALUES(37,469); +INSERT INTO product_slots VALUES(37,470); +INSERT INTO product_slots VALUES(37,471); INSERT INTO product_slots VALUES(38,18); INSERT INTO product_slots VALUES(38,20); INSERT INTO product_slots VALUES(38,21); @@ -9623,8 +17983,40 @@ INSERT INTO product_slots VALUES(38,241); INSERT INTO product_slots VALUES(38,242); INSERT INTO product_slots VALUES(38,243); INSERT INTO product_slots VALUES(38,244); +INSERT INTO product_slots VALUES(38,245); +INSERT INTO product_slots VALUES(38,246); +INSERT INTO product_slots VALUES(38,247); +INSERT INTO product_slots VALUES(38,248); +INSERT INTO product_slots VALUES(38,249); +INSERT INTO product_slots VALUES(38,250); +INSERT INTO product_slots VALUES(38,251); +INSERT INTO product_slots VALUES(38,252); +INSERT INTO product_slots VALUES(38,253); +INSERT INTO product_slots VALUES(38,254); +INSERT INTO product_slots VALUES(38,255); +INSERT INTO product_slots VALUES(38,256); +INSERT INTO product_slots VALUES(38,257); +INSERT INTO product_slots VALUES(38,258); +INSERT INTO product_slots VALUES(38,259); +INSERT INTO product_slots VALUES(38,260); +INSERT INTO product_slots VALUES(38,261); +INSERT INTO product_slots VALUES(38,262); +INSERT INTO product_slots VALUES(38,263); +INSERT INTO product_slots VALUES(38,264); +INSERT INTO product_slots VALUES(38,265); +INSERT INTO product_slots VALUES(38,266); +INSERT INTO product_slots VALUES(38,267); +INSERT INTO product_slots VALUES(38,268); +INSERT INTO product_slots VALUES(38,269); +INSERT INTO product_slots VALUES(38,270); +INSERT INTO product_slots VALUES(38,271); +INSERT INTO product_slots VALUES(38,272); +INSERT INTO product_slots VALUES(38,273); INSERT INTO product_slots VALUES(38,274); INSERT INTO product_slots VALUES(38,275); +INSERT INTO product_slots VALUES(38,276); +INSERT INTO product_slots VALUES(38,277); +INSERT INTO product_slots VALUES(38,278); INSERT INTO product_slots VALUES(38,279); INSERT INTO product_slots VALUES(38,280); INSERT INTO product_slots VALUES(38,281); @@ -9634,6 +18026,189 @@ INSERT INTO product_slots VALUES(38,284); INSERT INTO product_slots VALUES(38,285); INSERT INTO product_slots VALUES(38,286); INSERT INTO product_slots VALUES(38,287); +INSERT INTO product_slots VALUES(38,288); +INSERT INTO product_slots VALUES(38,289); +INSERT INTO product_slots VALUES(38,290); +INSERT INTO product_slots VALUES(38,291); +INSERT INTO product_slots VALUES(38,292); +INSERT INTO product_slots VALUES(38,293); +INSERT INTO product_slots VALUES(38,294); +INSERT INTO product_slots VALUES(38,295); +INSERT INTO product_slots VALUES(38,296); +INSERT INTO product_slots VALUES(38,297); +INSERT INTO product_slots VALUES(38,298); +INSERT INTO product_slots VALUES(38,299); +INSERT INTO product_slots VALUES(38,300); +INSERT INTO product_slots VALUES(38,301); +INSERT INTO product_slots VALUES(38,302); +INSERT INTO product_slots VALUES(38,303); +INSERT INTO product_slots VALUES(38,304); +INSERT INTO product_slots VALUES(38,305); +INSERT INTO product_slots VALUES(38,306); +INSERT INTO product_slots VALUES(38,307); +INSERT INTO product_slots VALUES(38,308); +INSERT INTO product_slots VALUES(38,309); +INSERT INTO product_slots VALUES(38,310); +INSERT INTO product_slots VALUES(38,311); +INSERT INTO product_slots VALUES(38,312); +INSERT INTO product_slots VALUES(38,313); +INSERT INTO product_slots VALUES(38,314); +INSERT INTO product_slots VALUES(38,315); +INSERT INTO product_slots VALUES(38,316); +INSERT INTO product_slots VALUES(38,317); +INSERT INTO product_slots VALUES(38,318); +INSERT INTO product_slots VALUES(38,319); +INSERT INTO product_slots VALUES(38,320); +INSERT INTO product_slots VALUES(38,321); +INSERT INTO product_slots VALUES(38,322); +INSERT INTO product_slots VALUES(38,323); +INSERT INTO product_slots VALUES(38,324); +INSERT INTO product_slots VALUES(38,325); +INSERT INTO product_slots VALUES(38,326); +INSERT INTO product_slots VALUES(38,327); +INSERT INTO product_slots VALUES(38,328); +INSERT INTO product_slots VALUES(38,329); +INSERT INTO product_slots VALUES(38,330); +INSERT INTO product_slots VALUES(38,331); +INSERT INTO product_slots VALUES(38,332); +INSERT INTO product_slots VALUES(38,333); +INSERT INTO product_slots VALUES(38,334); +INSERT INTO product_slots VALUES(38,335); +INSERT INTO product_slots VALUES(38,336); +INSERT INTO product_slots VALUES(38,337); +INSERT INTO product_slots VALUES(38,338); +INSERT INTO product_slots VALUES(38,339); +INSERT INTO product_slots VALUES(38,340); +INSERT INTO product_slots VALUES(38,341); +INSERT INTO product_slots VALUES(38,342); +INSERT INTO product_slots VALUES(38,343); +INSERT INTO product_slots VALUES(38,344); +INSERT INTO product_slots VALUES(38,345); +INSERT INTO product_slots VALUES(38,346); +INSERT INTO product_slots VALUES(38,347); +INSERT INTO product_slots VALUES(38,348); +INSERT INTO product_slots VALUES(38,349); +INSERT INTO product_slots VALUES(38,350); +INSERT INTO product_slots VALUES(38,351); +INSERT INTO product_slots VALUES(38,352); +INSERT INTO product_slots VALUES(38,353); +INSERT INTO product_slots VALUES(38,354); +INSERT INTO product_slots VALUES(38,355); +INSERT INTO product_slots VALUES(38,356); +INSERT INTO product_slots VALUES(38,357); +INSERT INTO product_slots VALUES(38,358); +INSERT INTO product_slots VALUES(38,359); +INSERT INTO product_slots VALUES(38,360); +INSERT INTO product_slots VALUES(38,361); +INSERT INTO product_slots VALUES(38,362); +INSERT INTO product_slots VALUES(38,363); +INSERT INTO product_slots VALUES(38,364); +INSERT INTO product_slots VALUES(38,365); +INSERT INTO product_slots VALUES(38,366); +INSERT INTO product_slots VALUES(38,367); +INSERT INTO product_slots VALUES(38,368); +INSERT INTO product_slots VALUES(38,369); +INSERT INTO product_slots VALUES(38,370); +INSERT INTO product_slots VALUES(38,371); +INSERT INTO product_slots VALUES(38,372); +INSERT INTO product_slots VALUES(38,373); +INSERT INTO product_slots VALUES(38,374); +INSERT INTO product_slots VALUES(38,375); +INSERT INTO product_slots VALUES(38,376); +INSERT INTO product_slots VALUES(38,377); +INSERT INTO product_slots VALUES(38,378); +INSERT INTO product_slots VALUES(38,379); +INSERT INTO product_slots VALUES(38,380); +INSERT INTO product_slots VALUES(38,381); +INSERT INTO product_slots VALUES(38,382); +INSERT INTO product_slots VALUES(38,383); +INSERT INTO product_slots VALUES(38,384); +INSERT INTO product_slots VALUES(38,385); +INSERT INTO product_slots VALUES(38,386); +INSERT INTO product_slots VALUES(38,387); +INSERT INTO product_slots VALUES(38,388); +INSERT INTO product_slots VALUES(38,389); +INSERT INTO product_slots VALUES(38,390); +INSERT INTO product_slots VALUES(38,391); +INSERT INTO product_slots VALUES(38,392); +INSERT INTO product_slots VALUES(38,393); +INSERT INTO product_slots VALUES(38,394); +INSERT INTO product_slots VALUES(38,395); +INSERT INTO product_slots VALUES(38,396); +INSERT INTO product_slots VALUES(38,397); +INSERT INTO product_slots VALUES(38,398); +INSERT INTO product_slots VALUES(38,399); +INSERT INTO product_slots VALUES(38,400); +INSERT INTO product_slots VALUES(38,401); +INSERT INTO product_slots VALUES(38,402); +INSERT INTO product_slots VALUES(38,403); +INSERT INTO product_slots VALUES(38,404); +INSERT INTO product_slots VALUES(38,405); +INSERT INTO product_slots VALUES(38,406); +INSERT INTO product_slots VALUES(38,407); +INSERT INTO product_slots VALUES(38,408); +INSERT INTO product_slots VALUES(38,409); +INSERT INTO product_slots VALUES(38,410); +INSERT INTO product_slots VALUES(38,411); +INSERT INTO product_slots VALUES(38,412); +INSERT INTO product_slots VALUES(38,413); +INSERT INTO product_slots VALUES(38,414); +INSERT INTO product_slots VALUES(38,415); +INSERT INTO product_slots VALUES(38,416); +INSERT INTO product_slots VALUES(38,417); +INSERT INTO product_slots VALUES(38,418); +INSERT INTO product_slots VALUES(38,419); +INSERT INTO product_slots VALUES(38,420); +INSERT INTO product_slots VALUES(38,421); +INSERT INTO product_slots VALUES(38,422); +INSERT INTO product_slots VALUES(38,423); +INSERT INTO product_slots VALUES(38,424); +INSERT INTO product_slots VALUES(38,425); +INSERT INTO product_slots VALUES(38,426); +INSERT INTO product_slots VALUES(38,427); +INSERT INTO product_slots VALUES(38,428); +INSERT INTO product_slots VALUES(38,429); +INSERT INTO product_slots VALUES(38,430); +INSERT INTO product_slots VALUES(38,431); +INSERT INTO product_slots VALUES(38,432); +INSERT INTO product_slots VALUES(38,433); +INSERT INTO product_slots VALUES(38,434); +INSERT INTO product_slots VALUES(38,435); +INSERT INTO product_slots VALUES(38,436); +INSERT INTO product_slots VALUES(38,437); +INSERT INTO product_slots VALUES(38,438); +INSERT INTO product_slots VALUES(38,439); +INSERT INTO product_slots VALUES(38,440); +INSERT INTO product_slots VALUES(38,441); +INSERT INTO product_slots VALUES(38,442); +INSERT INTO product_slots VALUES(38,443); +INSERT INTO product_slots VALUES(38,444); +INSERT INTO product_slots VALUES(38,445); +INSERT INTO product_slots VALUES(38,446); +INSERT INTO product_slots VALUES(38,447); +INSERT INTO product_slots VALUES(38,448); +INSERT INTO product_slots VALUES(38,449); +INSERT INTO product_slots VALUES(38,450); +INSERT INTO product_slots VALUES(38,451); +INSERT INTO product_slots VALUES(38,452); +INSERT INTO product_slots VALUES(38,453); +INSERT INTO product_slots VALUES(38,455); +INSERT INTO product_slots VALUES(38,456); +INSERT INTO product_slots VALUES(38,457); +INSERT INTO product_slots VALUES(38,458); +INSERT INTO product_slots VALUES(38,459); +INSERT INTO product_slots VALUES(38,460); +INSERT INTO product_slots VALUES(38,461); +INSERT INTO product_slots VALUES(38,462); +INSERT INTO product_slots VALUES(38,463); +INSERT INTO product_slots VALUES(38,464); +INSERT INTO product_slots VALUES(38,465); +INSERT INTO product_slots VALUES(38,466); +INSERT INTO product_slots VALUES(38,467); +INSERT INTO product_slots VALUES(38,468); +INSERT INTO product_slots VALUES(38,469); +INSERT INTO product_slots VALUES(38,470); +INSERT INTO product_slots VALUES(38,471); INSERT INTO product_slots VALUES(39,18); INSERT INTO product_slots VALUES(39,20); INSERT INTO product_slots VALUES(39,21); @@ -9820,8 +18395,40 @@ INSERT INTO product_slots VALUES(39,241); INSERT INTO product_slots VALUES(39,242); INSERT INTO product_slots VALUES(39,243); INSERT INTO product_slots VALUES(39,244); +INSERT INTO product_slots VALUES(39,245); +INSERT INTO product_slots VALUES(39,246); +INSERT INTO product_slots VALUES(39,247); +INSERT INTO product_slots VALUES(39,248); +INSERT INTO product_slots VALUES(39,249); +INSERT INTO product_slots VALUES(39,250); +INSERT INTO product_slots VALUES(39,251); +INSERT INTO product_slots VALUES(39,252); +INSERT INTO product_slots VALUES(39,253); +INSERT INTO product_slots VALUES(39,254); +INSERT INTO product_slots VALUES(39,255); +INSERT INTO product_slots VALUES(39,256); +INSERT INTO product_slots VALUES(39,257); +INSERT INTO product_slots VALUES(39,258); +INSERT INTO product_slots VALUES(39,259); +INSERT INTO product_slots VALUES(39,260); +INSERT INTO product_slots VALUES(39,261); +INSERT INTO product_slots VALUES(39,262); +INSERT INTO product_slots VALUES(39,263); +INSERT INTO product_slots VALUES(39,264); +INSERT INTO product_slots VALUES(39,265); +INSERT INTO product_slots VALUES(39,266); +INSERT INTO product_slots VALUES(39,267); +INSERT INTO product_slots VALUES(39,268); +INSERT INTO product_slots VALUES(39,269); +INSERT INTO product_slots VALUES(39,270); +INSERT INTO product_slots VALUES(39,271); +INSERT INTO product_slots VALUES(39,272); +INSERT INTO product_slots VALUES(39,273); INSERT INTO product_slots VALUES(39,274); INSERT INTO product_slots VALUES(39,275); +INSERT INTO product_slots VALUES(39,276); +INSERT INTO product_slots VALUES(39,277); +INSERT INTO product_slots VALUES(39,278); INSERT INTO product_slots VALUES(39,279); INSERT INTO product_slots VALUES(39,280); INSERT INTO product_slots VALUES(39,281); @@ -9831,6 +18438,189 @@ INSERT INTO product_slots VALUES(39,284); INSERT INTO product_slots VALUES(39,285); INSERT INTO product_slots VALUES(39,286); INSERT INTO product_slots VALUES(39,287); +INSERT INTO product_slots VALUES(39,288); +INSERT INTO product_slots VALUES(39,289); +INSERT INTO product_slots VALUES(39,290); +INSERT INTO product_slots VALUES(39,291); +INSERT INTO product_slots VALUES(39,292); +INSERT INTO product_slots VALUES(39,293); +INSERT INTO product_slots VALUES(39,294); +INSERT INTO product_slots VALUES(39,295); +INSERT INTO product_slots VALUES(39,296); +INSERT INTO product_slots VALUES(39,297); +INSERT INTO product_slots VALUES(39,298); +INSERT INTO product_slots VALUES(39,299); +INSERT INTO product_slots VALUES(39,300); +INSERT INTO product_slots VALUES(39,301); +INSERT INTO product_slots VALUES(39,302); +INSERT INTO product_slots VALUES(39,303); +INSERT INTO product_slots VALUES(39,304); +INSERT INTO product_slots VALUES(39,305); +INSERT INTO product_slots VALUES(39,306); +INSERT INTO product_slots VALUES(39,307); +INSERT INTO product_slots VALUES(39,308); +INSERT INTO product_slots VALUES(39,309); +INSERT INTO product_slots VALUES(39,310); +INSERT INTO product_slots VALUES(39,311); +INSERT INTO product_slots VALUES(39,312); +INSERT INTO product_slots VALUES(39,313); +INSERT INTO product_slots VALUES(39,314); +INSERT INTO product_slots VALUES(39,315); +INSERT INTO product_slots VALUES(39,316); +INSERT INTO product_slots VALUES(39,317); +INSERT INTO product_slots VALUES(39,318); +INSERT INTO product_slots VALUES(39,319); +INSERT INTO product_slots VALUES(39,320); +INSERT INTO product_slots VALUES(39,321); +INSERT INTO product_slots VALUES(39,322); +INSERT INTO product_slots VALUES(39,323); +INSERT INTO product_slots VALUES(39,324); +INSERT INTO product_slots VALUES(39,325); +INSERT INTO product_slots VALUES(39,326); +INSERT INTO product_slots VALUES(39,327); +INSERT INTO product_slots VALUES(39,328); +INSERT INTO product_slots VALUES(39,329); +INSERT INTO product_slots VALUES(39,330); +INSERT INTO product_slots VALUES(39,331); +INSERT INTO product_slots VALUES(39,332); +INSERT INTO product_slots VALUES(39,333); +INSERT INTO product_slots VALUES(39,334); +INSERT INTO product_slots VALUES(39,335); +INSERT INTO product_slots VALUES(39,336); +INSERT INTO product_slots VALUES(39,337); +INSERT INTO product_slots VALUES(39,338); +INSERT INTO product_slots VALUES(39,339); +INSERT INTO product_slots VALUES(39,340); +INSERT INTO product_slots VALUES(39,341); +INSERT INTO product_slots VALUES(39,342); +INSERT INTO product_slots VALUES(39,343); +INSERT INTO product_slots VALUES(39,344); +INSERT INTO product_slots VALUES(39,345); +INSERT INTO product_slots VALUES(39,346); +INSERT INTO product_slots VALUES(39,347); +INSERT INTO product_slots VALUES(39,348); +INSERT INTO product_slots VALUES(39,349); +INSERT INTO product_slots VALUES(39,350); +INSERT INTO product_slots VALUES(39,351); +INSERT INTO product_slots VALUES(39,352); +INSERT INTO product_slots VALUES(39,353); +INSERT INTO product_slots VALUES(39,354); +INSERT INTO product_slots VALUES(39,355); +INSERT INTO product_slots VALUES(39,356); +INSERT INTO product_slots VALUES(39,357); +INSERT INTO product_slots VALUES(39,358); +INSERT INTO product_slots VALUES(39,359); +INSERT INTO product_slots VALUES(39,360); +INSERT INTO product_slots VALUES(39,361); +INSERT INTO product_slots VALUES(39,362); +INSERT INTO product_slots VALUES(39,363); +INSERT INTO product_slots VALUES(39,364); +INSERT INTO product_slots VALUES(39,365); +INSERT INTO product_slots VALUES(39,366); +INSERT INTO product_slots VALUES(39,367); +INSERT INTO product_slots VALUES(39,368); +INSERT INTO product_slots VALUES(39,369); +INSERT INTO product_slots VALUES(39,370); +INSERT INTO product_slots VALUES(39,371); +INSERT INTO product_slots VALUES(39,372); +INSERT INTO product_slots VALUES(39,373); +INSERT INTO product_slots VALUES(39,374); +INSERT INTO product_slots VALUES(39,375); +INSERT INTO product_slots VALUES(39,376); +INSERT INTO product_slots VALUES(39,377); +INSERT INTO product_slots VALUES(39,378); +INSERT INTO product_slots VALUES(39,379); +INSERT INTO product_slots VALUES(39,380); +INSERT INTO product_slots VALUES(39,381); +INSERT INTO product_slots VALUES(39,382); +INSERT INTO product_slots VALUES(39,383); +INSERT INTO product_slots VALUES(39,384); +INSERT INTO product_slots VALUES(39,385); +INSERT INTO product_slots VALUES(39,386); +INSERT INTO product_slots VALUES(39,387); +INSERT INTO product_slots VALUES(39,388); +INSERT INTO product_slots VALUES(39,389); +INSERT INTO product_slots VALUES(39,390); +INSERT INTO product_slots VALUES(39,391); +INSERT INTO product_slots VALUES(39,392); +INSERT INTO product_slots VALUES(39,393); +INSERT INTO product_slots VALUES(39,394); +INSERT INTO product_slots VALUES(39,395); +INSERT INTO product_slots VALUES(39,396); +INSERT INTO product_slots VALUES(39,397); +INSERT INTO product_slots VALUES(39,398); +INSERT INTO product_slots VALUES(39,399); +INSERT INTO product_slots VALUES(39,400); +INSERT INTO product_slots VALUES(39,401); +INSERT INTO product_slots VALUES(39,402); +INSERT INTO product_slots VALUES(39,403); +INSERT INTO product_slots VALUES(39,404); +INSERT INTO product_slots VALUES(39,405); +INSERT INTO product_slots VALUES(39,406); +INSERT INTO product_slots VALUES(39,407); +INSERT INTO product_slots VALUES(39,408); +INSERT INTO product_slots VALUES(39,409); +INSERT INTO product_slots VALUES(39,410); +INSERT INTO product_slots VALUES(39,411); +INSERT INTO product_slots VALUES(39,412); +INSERT INTO product_slots VALUES(39,413); +INSERT INTO product_slots VALUES(39,414); +INSERT INTO product_slots VALUES(39,415); +INSERT INTO product_slots VALUES(39,416); +INSERT INTO product_slots VALUES(39,417); +INSERT INTO product_slots VALUES(39,418); +INSERT INTO product_slots VALUES(39,419); +INSERT INTO product_slots VALUES(39,420); +INSERT INTO product_slots VALUES(39,421); +INSERT INTO product_slots VALUES(39,422); +INSERT INTO product_slots VALUES(39,423); +INSERT INTO product_slots VALUES(39,424); +INSERT INTO product_slots VALUES(39,425); +INSERT INTO product_slots VALUES(39,426); +INSERT INTO product_slots VALUES(39,427); +INSERT INTO product_slots VALUES(39,428); +INSERT INTO product_slots VALUES(39,429); +INSERT INTO product_slots VALUES(39,430); +INSERT INTO product_slots VALUES(39,431); +INSERT INTO product_slots VALUES(39,432); +INSERT INTO product_slots VALUES(39,433); +INSERT INTO product_slots VALUES(39,434); +INSERT INTO product_slots VALUES(39,435); +INSERT INTO product_slots VALUES(39,436); +INSERT INTO product_slots VALUES(39,437); +INSERT INTO product_slots VALUES(39,438); +INSERT INTO product_slots VALUES(39,439); +INSERT INTO product_slots VALUES(39,440); +INSERT INTO product_slots VALUES(39,441); +INSERT INTO product_slots VALUES(39,442); +INSERT INTO product_slots VALUES(39,443); +INSERT INTO product_slots VALUES(39,444); +INSERT INTO product_slots VALUES(39,445); +INSERT INTO product_slots VALUES(39,446); +INSERT INTO product_slots VALUES(39,447); +INSERT INTO product_slots VALUES(39,448); +INSERT INTO product_slots VALUES(39,449); +INSERT INTO product_slots VALUES(39,450); +INSERT INTO product_slots VALUES(39,451); +INSERT INTO product_slots VALUES(39,452); +INSERT INTO product_slots VALUES(39,453); +INSERT INTO product_slots VALUES(39,455); +INSERT INTO product_slots VALUES(39,456); +INSERT INTO product_slots VALUES(39,457); +INSERT INTO product_slots VALUES(39,458); +INSERT INTO product_slots VALUES(39,459); +INSERT INTO product_slots VALUES(39,460); +INSERT INTO product_slots VALUES(39,461); +INSERT INTO product_slots VALUES(39,462); +INSERT INTO product_slots VALUES(39,463); +INSERT INTO product_slots VALUES(39,464); +INSERT INTO product_slots VALUES(39,465); +INSERT INTO product_slots VALUES(39,466); +INSERT INTO product_slots VALUES(39,467); +INSERT INTO product_slots VALUES(39,468); +INSERT INTO product_slots VALUES(39,469); +INSERT INTO product_slots VALUES(39,470); +INSERT INTO product_slots VALUES(39,471); INSERT INTO product_slots VALUES(40,31); INSERT INTO product_slots VALUES(40,39); INSERT INTO product_slots VALUES(40,41); @@ -10035,12 +18825,233 @@ INSERT INTO product_slots VALUES(40,241); INSERT INTO product_slots VALUES(40,242); INSERT INTO product_slots VALUES(40,243); INSERT INTO product_slots VALUES(40,244); +INSERT INTO product_slots VALUES(40,245); +INSERT INTO product_slots VALUES(40,246); +INSERT INTO product_slots VALUES(40,247); +INSERT INTO product_slots VALUES(40,248); +INSERT INTO product_slots VALUES(40,249); +INSERT INTO product_slots VALUES(40,250); +INSERT INTO product_slots VALUES(40,251); +INSERT INTO product_slots VALUES(40,252); +INSERT INTO product_slots VALUES(40,253); +INSERT INTO product_slots VALUES(40,254); +INSERT INTO product_slots VALUES(40,255); +INSERT INTO product_slots VALUES(40,256); +INSERT INTO product_slots VALUES(40,257); +INSERT INTO product_slots VALUES(40,258); +INSERT INTO product_slots VALUES(40,259); +INSERT INTO product_slots VALUES(40,260); +INSERT INTO product_slots VALUES(40,261); +INSERT INTO product_slots VALUES(40,262); +INSERT INTO product_slots VALUES(40,263); +INSERT INTO product_slots VALUES(40,264); +INSERT INTO product_slots VALUES(40,265); +INSERT INTO product_slots VALUES(40,266); +INSERT INTO product_slots VALUES(40,267); +INSERT INTO product_slots VALUES(40,268); +INSERT INTO product_slots VALUES(40,269); +INSERT INTO product_slots VALUES(40,270); +INSERT INTO product_slots VALUES(40,271); +INSERT INTO product_slots VALUES(40,272); +INSERT INTO product_slots VALUES(40,273); INSERT INTO product_slots VALUES(40,274); INSERT INTO product_slots VALUES(40,275); +INSERT INTO product_slots VALUES(40,276); +INSERT INTO product_slots VALUES(40,277); +INSERT INTO product_slots VALUES(40,278); INSERT INTO product_slots VALUES(40,279); INSERT INTO product_slots VALUES(40,280); INSERT INTO product_slots VALUES(40,281); INSERT INTO product_slots VALUES(40,282); +INSERT INTO product_slots VALUES(40,283); +INSERT INTO product_slots VALUES(40,284); +INSERT INTO product_slots VALUES(40,285); +INSERT INTO product_slots VALUES(40,286); +INSERT INTO product_slots VALUES(40,287); +INSERT INTO product_slots VALUES(40,288); +INSERT INTO product_slots VALUES(40,289); +INSERT INTO product_slots VALUES(40,290); +INSERT INTO product_slots VALUES(40,291); +INSERT INTO product_slots VALUES(40,292); +INSERT INTO product_slots VALUES(40,293); +INSERT INTO product_slots VALUES(40,294); +INSERT INTO product_slots VALUES(40,295); +INSERT INTO product_slots VALUES(40,296); +INSERT INTO product_slots VALUES(40,297); +INSERT INTO product_slots VALUES(40,298); +INSERT INTO product_slots VALUES(40,299); +INSERT INTO product_slots VALUES(40,300); +INSERT INTO product_slots VALUES(40,301); +INSERT INTO product_slots VALUES(40,302); +INSERT INTO product_slots VALUES(40,303); +INSERT INTO product_slots VALUES(40,304); +INSERT INTO product_slots VALUES(40,305); +INSERT INTO product_slots VALUES(40,306); +INSERT INTO product_slots VALUES(40,307); +INSERT INTO product_slots VALUES(40,308); +INSERT INTO product_slots VALUES(40,309); +INSERT INTO product_slots VALUES(40,310); +INSERT INTO product_slots VALUES(40,311); +INSERT INTO product_slots VALUES(40,312); +INSERT INTO product_slots VALUES(40,313); +INSERT INTO product_slots VALUES(40,314); +INSERT INTO product_slots VALUES(40,315); +INSERT INTO product_slots VALUES(40,316); +INSERT INTO product_slots VALUES(40,317); +INSERT INTO product_slots VALUES(40,318); +INSERT INTO product_slots VALUES(40,319); +INSERT INTO product_slots VALUES(40,320); +INSERT INTO product_slots VALUES(40,321); +INSERT INTO product_slots VALUES(40,322); +INSERT INTO product_slots VALUES(40,323); +INSERT INTO product_slots VALUES(40,324); +INSERT INTO product_slots VALUES(40,325); +INSERT INTO product_slots VALUES(40,326); +INSERT INTO product_slots VALUES(40,327); +INSERT INTO product_slots VALUES(40,328); +INSERT INTO product_slots VALUES(40,329); +INSERT INTO product_slots VALUES(40,330); +INSERT INTO product_slots VALUES(40,331); +INSERT INTO product_slots VALUES(40,332); +INSERT INTO product_slots VALUES(40,333); +INSERT INTO product_slots VALUES(40,334); +INSERT INTO product_slots VALUES(40,335); +INSERT INTO product_slots VALUES(40,336); +INSERT INTO product_slots VALUES(40,337); +INSERT INTO product_slots VALUES(40,338); +INSERT INTO product_slots VALUES(40,339); +INSERT INTO product_slots VALUES(40,340); +INSERT INTO product_slots VALUES(40,341); +INSERT INTO product_slots VALUES(40,342); +INSERT INTO product_slots VALUES(40,343); +INSERT INTO product_slots VALUES(40,344); +INSERT INTO product_slots VALUES(40,345); +INSERT INTO product_slots VALUES(40,346); +INSERT INTO product_slots VALUES(40,347); +INSERT INTO product_slots VALUES(40,348); +INSERT INTO product_slots VALUES(40,349); +INSERT INTO product_slots VALUES(40,350); +INSERT INTO product_slots VALUES(40,351); +INSERT INTO product_slots VALUES(40,352); +INSERT INTO product_slots VALUES(40,353); +INSERT INTO product_slots VALUES(40,354); +INSERT INTO product_slots VALUES(40,355); +INSERT INTO product_slots VALUES(40,356); +INSERT INTO product_slots VALUES(40,357); +INSERT INTO product_slots VALUES(40,358); +INSERT INTO product_slots VALUES(40,359); +INSERT INTO product_slots VALUES(40,360); +INSERT INTO product_slots VALUES(40,361); +INSERT INTO product_slots VALUES(40,362); +INSERT INTO product_slots VALUES(40,363); +INSERT INTO product_slots VALUES(40,364); +INSERT INTO product_slots VALUES(40,365); +INSERT INTO product_slots VALUES(40,366); +INSERT INTO product_slots VALUES(40,367); +INSERT INTO product_slots VALUES(40,368); +INSERT INTO product_slots VALUES(40,369); +INSERT INTO product_slots VALUES(40,370); +INSERT INTO product_slots VALUES(40,371); +INSERT INTO product_slots VALUES(40,372); +INSERT INTO product_slots VALUES(40,373); +INSERT INTO product_slots VALUES(40,374); +INSERT INTO product_slots VALUES(40,375); +INSERT INTO product_slots VALUES(40,376); +INSERT INTO product_slots VALUES(40,377); +INSERT INTO product_slots VALUES(40,378); +INSERT INTO product_slots VALUES(40,379); +INSERT INTO product_slots VALUES(40,380); +INSERT INTO product_slots VALUES(40,381); +INSERT INTO product_slots VALUES(40,382); +INSERT INTO product_slots VALUES(40,383); +INSERT INTO product_slots VALUES(40,384); +INSERT INTO product_slots VALUES(40,385); +INSERT INTO product_slots VALUES(40,386); +INSERT INTO product_slots VALUES(40,387); +INSERT INTO product_slots VALUES(40,388); +INSERT INTO product_slots VALUES(40,389); +INSERT INTO product_slots VALUES(40,390); +INSERT INTO product_slots VALUES(40,391); +INSERT INTO product_slots VALUES(40,392); +INSERT INTO product_slots VALUES(40,393); +INSERT INTO product_slots VALUES(40,394); +INSERT INTO product_slots VALUES(40,395); +INSERT INTO product_slots VALUES(40,396); +INSERT INTO product_slots VALUES(40,397); +INSERT INTO product_slots VALUES(40,398); +INSERT INTO product_slots VALUES(40,399); +INSERT INTO product_slots VALUES(40,400); +INSERT INTO product_slots VALUES(40,401); +INSERT INTO product_slots VALUES(40,402); +INSERT INTO product_slots VALUES(40,403); +INSERT INTO product_slots VALUES(40,404); +INSERT INTO product_slots VALUES(40,405); +INSERT INTO product_slots VALUES(40,406); +INSERT INTO product_slots VALUES(40,407); +INSERT INTO product_slots VALUES(40,408); +INSERT INTO product_slots VALUES(40,409); +INSERT INTO product_slots VALUES(40,410); +INSERT INTO product_slots VALUES(40,411); +INSERT INTO product_slots VALUES(40,412); +INSERT INTO product_slots VALUES(40,413); +INSERT INTO product_slots VALUES(40,414); +INSERT INTO product_slots VALUES(40,415); +INSERT INTO product_slots VALUES(40,416); +INSERT INTO product_slots VALUES(40,417); +INSERT INTO product_slots VALUES(40,418); +INSERT INTO product_slots VALUES(40,419); +INSERT INTO product_slots VALUES(40,420); +INSERT INTO product_slots VALUES(40,421); +INSERT INTO product_slots VALUES(40,422); +INSERT INTO product_slots VALUES(40,423); +INSERT INTO product_slots VALUES(40,424); +INSERT INTO product_slots VALUES(40,425); +INSERT INTO product_slots VALUES(40,426); +INSERT INTO product_slots VALUES(40,427); +INSERT INTO product_slots VALUES(40,428); +INSERT INTO product_slots VALUES(40,429); +INSERT INTO product_slots VALUES(40,430); +INSERT INTO product_slots VALUES(40,431); +INSERT INTO product_slots VALUES(40,432); +INSERT INTO product_slots VALUES(40,433); +INSERT INTO product_slots VALUES(40,434); +INSERT INTO product_slots VALUES(40,435); +INSERT INTO product_slots VALUES(40,436); +INSERT INTO product_slots VALUES(40,437); +INSERT INTO product_slots VALUES(40,438); +INSERT INTO product_slots VALUES(40,439); +INSERT INTO product_slots VALUES(40,440); +INSERT INTO product_slots VALUES(40,441); +INSERT INTO product_slots VALUES(40,442); +INSERT INTO product_slots VALUES(40,443); +INSERT INTO product_slots VALUES(40,444); +INSERT INTO product_slots VALUES(40,445); +INSERT INTO product_slots VALUES(40,446); +INSERT INTO product_slots VALUES(40,447); +INSERT INTO product_slots VALUES(40,448); +INSERT INTO product_slots VALUES(40,449); +INSERT INTO product_slots VALUES(40,450); +INSERT INTO product_slots VALUES(40,451); +INSERT INTO product_slots VALUES(40,452); +INSERT INTO product_slots VALUES(40,453); +INSERT INTO product_slots VALUES(40,454); +INSERT INTO product_slots VALUES(40,455); +INSERT INTO product_slots VALUES(40,456); +INSERT INTO product_slots VALUES(40,457); +INSERT INTO product_slots VALUES(40,458); +INSERT INTO product_slots VALUES(40,459); +INSERT INTO product_slots VALUES(40,460); +INSERT INTO product_slots VALUES(40,461); +INSERT INTO product_slots VALUES(40,462); +INSERT INTO product_slots VALUES(40,463); +INSERT INTO product_slots VALUES(40,464); +INSERT INTO product_slots VALUES(40,465); +INSERT INTO product_slots VALUES(40,466); +INSERT INTO product_slots VALUES(40,467); +INSERT INTO product_slots VALUES(40,468); +INSERT INTO product_slots VALUES(40,469); +INSERT INTO product_slots VALUES(40,470); +INSERT INTO product_slots VALUES(40,471); INSERT INTO product_slots VALUES(41,31); INSERT INTO product_slots VALUES(41,39); INSERT INTO product_slots VALUES(41,41); @@ -10245,12 +19256,233 @@ INSERT INTO product_slots VALUES(41,241); INSERT INTO product_slots VALUES(41,242); INSERT INTO product_slots VALUES(41,243); INSERT INTO product_slots VALUES(41,244); +INSERT INTO product_slots VALUES(41,245); +INSERT INTO product_slots VALUES(41,246); +INSERT INTO product_slots VALUES(41,247); +INSERT INTO product_slots VALUES(41,248); +INSERT INTO product_slots VALUES(41,249); +INSERT INTO product_slots VALUES(41,250); +INSERT INTO product_slots VALUES(41,251); +INSERT INTO product_slots VALUES(41,252); +INSERT INTO product_slots VALUES(41,253); +INSERT INTO product_slots VALUES(41,254); +INSERT INTO product_slots VALUES(41,255); +INSERT INTO product_slots VALUES(41,256); +INSERT INTO product_slots VALUES(41,257); +INSERT INTO product_slots VALUES(41,258); +INSERT INTO product_slots VALUES(41,259); +INSERT INTO product_slots VALUES(41,260); +INSERT INTO product_slots VALUES(41,261); +INSERT INTO product_slots VALUES(41,262); +INSERT INTO product_slots VALUES(41,263); +INSERT INTO product_slots VALUES(41,264); +INSERT INTO product_slots VALUES(41,265); +INSERT INTO product_slots VALUES(41,266); +INSERT INTO product_slots VALUES(41,267); +INSERT INTO product_slots VALUES(41,268); +INSERT INTO product_slots VALUES(41,269); +INSERT INTO product_slots VALUES(41,270); +INSERT INTO product_slots VALUES(41,271); +INSERT INTO product_slots VALUES(41,272); +INSERT INTO product_slots VALUES(41,273); INSERT INTO product_slots VALUES(41,274); INSERT INTO product_slots VALUES(41,275); +INSERT INTO product_slots VALUES(41,276); +INSERT INTO product_slots VALUES(41,277); +INSERT INTO product_slots VALUES(41,278); INSERT INTO product_slots VALUES(41,279); INSERT INTO product_slots VALUES(41,280); INSERT INTO product_slots VALUES(41,281); INSERT INTO product_slots VALUES(41,282); +INSERT INTO product_slots VALUES(41,283); +INSERT INTO product_slots VALUES(41,284); +INSERT INTO product_slots VALUES(41,285); +INSERT INTO product_slots VALUES(41,286); +INSERT INTO product_slots VALUES(41,287); +INSERT INTO product_slots VALUES(41,288); +INSERT INTO product_slots VALUES(41,289); +INSERT INTO product_slots VALUES(41,290); +INSERT INTO product_slots VALUES(41,291); +INSERT INTO product_slots VALUES(41,292); +INSERT INTO product_slots VALUES(41,293); +INSERT INTO product_slots VALUES(41,294); +INSERT INTO product_slots VALUES(41,295); +INSERT INTO product_slots VALUES(41,296); +INSERT INTO product_slots VALUES(41,297); +INSERT INTO product_slots VALUES(41,298); +INSERT INTO product_slots VALUES(41,299); +INSERT INTO product_slots VALUES(41,300); +INSERT INTO product_slots VALUES(41,301); +INSERT INTO product_slots VALUES(41,302); +INSERT INTO product_slots VALUES(41,303); +INSERT INTO product_slots VALUES(41,304); +INSERT INTO product_slots VALUES(41,305); +INSERT INTO product_slots VALUES(41,306); +INSERT INTO product_slots VALUES(41,307); +INSERT INTO product_slots VALUES(41,308); +INSERT INTO product_slots VALUES(41,309); +INSERT INTO product_slots VALUES(41,310); +INSERT INTO product_slots VALUES(41,311); +INSERT INTO product_slots VALUES(41,312); +INSERT INTO product_slots VALUES(41,313); +INSERT INTO product_slots VALUES(41,314); +INSERT INTO product_slots VALUES(41,315); +INSERT INTO product_slots VALUES(41,316); +INSERT INTO product_slots VALUES(41,317); +INSERT INTO product_slots VALUES(41,318); +INSERT INTO product_slots VALUES(41,319); +INSERT INTO product_slots VALUES(41,320); +INSERT INTO product_slots VALUES(41,321); +INSERT INTO product_slots VALUES(41,322); +INSERT INTO product_slots VALUES(41,323); +INSERT INTO product_slots VALUES(41,324); +INSERT INTO product_slots VALUES(41,325); +INSERT INTO product_slots VALUES(41,326); +INSERT INTO product_slots VALUES(41,327); +INSERT INTO product_slots VALUES(41,328); +INSERT INTO product_slots VALUES(41,329); +INSERT INTO product_slots VALUES(41,330); +INSERT INTO product_slots VALUES(41,331); +INSERT INTO product_slots VALUES(41,332); +INSERT INTO product_slots VALUES(41,333); +INSERT INTO product_slots VALUES(41,334); +INSERT INTO product_slots VALUES(41,335); +INSERT INTO product_slots VALUES(41,336); +INSERT INTO product_slots VALUES(41,337); +INSERT INTO product_slots VALUES(41,338); +INSERT INTO product_slots VALUES(41,339); +INSERT INTO product_slots VALUES(41,340); +INSERT INTO product_slots VALUES(41,341); +INSERT INTO product_slots VALUES(41,342); +INSERT INTO product_slots VALUES(41,343); +INSERT INTO product_slots VALUES(41,344); +INSERT INTO product_slots VALUES(41,345); +INSERT INTO product_slots VALUES(41,346); +INSERT INTO product_slots VALUES(41,347); +INSERT INTO product_slots VALUES(41,348); +INSERT INTO product_slots VALUES(41,349); +INSERT INTO product_slots VALUES(41,350); +INSERT INTO product_slots VALUES(41,351); +INSERT INTO product_slots VALUES(41,352); +INSERT INTO product_slots VALUES(41,353); +INSERT INTO product_slots VALUES(41,354); +INSERT INTO product_slots VALUES(41,355); +INSERT INTO product_slots VALUES(41,356); +INSERT INTO product_slots VALUES(41,357); +INSERT INTO product_slots VALUES(41,358); +INSERT INTO product_slots VALUES(41,359); +INSERT INTO product_slots VALUES(41,360); +INSERT INTO product_slots VALUES(41,361); +INSERT INTO product_slots VALUES(41,362); +INSERT INTO product_slots VALUES(41,363); +INSERT INTO product_slots VALUES(41,364); +INSERT INTO product_slots VALUES(41,365); +INSERT INTO product_slots VALUES(41,366); +INSERT INTO product_slots VALUES(41,367); +INSERT INTO product_slots VALUES(41,368); +INSERT INTO product_slots VALUES(41,369); +INSERT INTO product_slots VALUES(41,370); +INSERT INTO product_slots VALUES(41,371); +INSERT INTO product_slots VALUES(41,372); +INSERT INTO product_slots VALUES(41,373); +INSERT INTO product_slots VALUES(41,374); +INSERT INTO product_slots VALUES(41,375); +INSERT INTO product_slots VALUES(41,376); +INSERT INTO product_slots VALUES(41,377); +INSERT INTO product_slots VALUES(41,378); +INSERT INTO product_slots VALUES(41,379); +INSERT INTO product_slots VALUES(41,380); +INSERT INTO product_slots VALUES(41,381); +INSERT INTO product_slots VALUES(41,382); +INSERT INTO product_slots VALUES(41,383); +INSERT INTO product_slots VALUES(41,384); +INSERT INTO product_slots VALUES(41,385); +INSERT INTO product_slots VALUES(41,386); +INSERT INTO product_slots VALUES(41,387); +INSERT INTO product_slots VALUES(41,388); +INSERT INTO product_slots VALUES(41,389); +INSERT INTO product_slots VALUES(41,390); +INSERT INTO product_slots VALUES(41,391); +INSERT INTO product_slots VALUES(41,392); +INSERT INTO product_slots VALUES(41,393); +INSERT INTO product_slots VALUES(41,394); +INSERT INTO product_slots VALUES(41,395); +INSERT INTO product_slots VALUES(41,396); +INSERT INTO product_slots VALUES(41,397); +INSERT INTO product_slots VALUES(41,398); +INSERT INTO product_slots VALUES(41,399); +INSERT INTO product_slots VALUES(41,400); +INSERT INTO product_slots VALUES(41,401); +INSERT INTO product_slots VALUES(41,402); +INSERT INTO product_slots VALUES(41,403); +INSERT INTO product_slots VALUES(41,404); +INSERT INTO product_slots VALUES(41,405); +INSERT INTO product_slots VALUES(41,406); +INSERT INTO product_slots VALUES(41,407); +INSERT INTO product_slots VALUES(41,408); +INSERT INTO product_slots VALUES(41,409); +INSERT INTO product_slots VALUES(41,410); +INSERT INTO product_slots VALUES(41,411); +INSERT INTO product_slots VALUES(41,412); +INSERT INTO product_slots VALUES(41,413); +INSERT INTO product_slots VALUES(41,414); +INSERT INTO product_slots VALUES(41,415); +INSERT INTO product_slots VALUES(41,416); +INSERT INTO product_slots VALUES(41,417); +INSERT INTO product_slots VALUES(41,418); +INSERT INTO product_slots VALUES(41,419); +INSERT INTO product_slots VALUES(41,420); +INSERT INTO product_slots VALUES(41,421); +INSERT INTO product_slots VALUES(41,422); +INSERT INTO product_slots VALUES(41,423); +INSERT INTO product_slots VALUES(41,424); +INSERT INTO product_slots VALUES(41,425); +INSERT INTO product_slots VALUES(41,426); +INSERT INTO product_slots VALUES(41,427); +INSERT INTO product_slots VALUES(41,428); +INSERT INTO product_slots VALUES(41,429); +INSERT INTO product_slots VALUES(41,430); +INSERT INTO product_slots VALUES(41,431); +INSERT INTO product_slots VALUES(41,432); +INSERT INTO product_slots VALUES(41,433); +INSERT INTO product_slots VALUES(41,434); +INSERT INTO product_slots VALUES(41,435); +INSERT INTO product_slots VALUES(41,436); +INSERT INTO product_slots VALUES(41,437); +INSERT INTO product_slots VALUES(41,438); +INSERT INTO product_slots VALUES(41,439); +INSERT INTO product_slots VALUES(41,440); +INSERT INTO product_slots VALUES(41,441); +INSERT INTO product_slots VALUES(41,442); +INSERT INTO product_slots VALUES(41,443); +INSERT INTO product_slots VALUES(41,444); +INSERT INTO product_slots VALUES(41,445); +INSERT INTO product_slots VALUES(41,446); +INSERT INTO product_slots VALUES(41,447); +INSERT INTO product_slots VALUES(41,448); +INSERT INTO product_slots VALUES(41,449); +INSERT INTO product_slots VALUES(41,450); +INSERT INTO product_slots VALUES(41,451); +INSERT INTO product_slots VALUES(41,452); +INSERT INTO product_slots VALUES(41,453); +INSERT INTO product_slots VALUES(41,454); +INSERT INTO product_slots VALUES(41,455); +INSERT INTO product_slots VALUES(41,456); +INSERT INTO product_slots VALUES(41,457); +INSERT INTO product_slots VALUES(41,458); +INSERT INTO product_slots VALUES(41,459); +INSERT INTO product_slots VALUES(41,460); +INSERT INTO product_slots VALUES(41,461); +INSERT INTO product_slots VALUES(41,462); +INSERT INTO product_slots VALUES(41,463); +INSERT INTO product_slots VALUES(41,464); +INSERT INTO product_slots VALUES(41,465); +INSERT INTO product_slots VALUES(41,466); +INSERT INTO product_slots VALUES(41,467); +INSERT INTO product_slots VALUES(41,468); +INSERT INTO product_slots VALUES(41,469); +INSERT INTO product_slots VALUES(41,470); +INSERT INTO product_slots VALUES(41,471); INSERT INTO product_slots VALUES(42,31); INSERT INTO product_slots VALUES(42,39); INSERT INTO product_slots VALUES(42,41); @@ -10455,12 +19687,233 @@ INSERT INTO product_slots VALUES(42,241); INSERT INTO product_slots VALUES(42,242); INSERT INTO product_slots VALUES(42,243); INSERT INTO product_slots VALUES(42,244); +INSERT INTO product_slots VALUES(42,245); +INSERT INTO product_slots VALUES(42,246); +INSERT INTO product_slots VALUES(42,247); +INSERT INTO product_slots VALUES(42,248); +INSERT INTO product_slots VALUES(42,249); +INSERT INTO product_slots VALUES(42,250); +INSERT INTO product_slots VALUES(42,251); +INSERT INTO product_slots VALUES(42,252); +INSERT INTO product_slots VALUES(42,253); +INSERT INTO product_slots VALUES(42,254); +INSERT INTO product_slots VALUES(42,255); +INSERT INTO product_slots VALUES(42,256); +INSERT INTO product_slots VALUES(42,257); +INSERT INTO product_slots VALUES(42,258); +INSERT INTO product_slots VALUES(42,259); +INSERT INTO product_slots VALUES(42,260); +INSERT INTO product_slots VALUES(42,261); +INSERT INTO product_slots VALUES(42,262); +INSERT INTO product_slots VALUES(42,263); +INSERT INTO product_slots VALUES(42,264); +INSERT INTO product_slots VALUES(42,265); +INSERT INTO product_slots VALUES(42,266); +INSERT INTO product_slots VALUES(42,267); +INSERT INTO product_slots VALUES(42,268); +INSERT INTO product_slots VALUES(42,269); +INSERT INTO product_slots VALUES(42,270); +INSERT INTO product_slots VALUES(42,271); +INSERT INTO product_slots VALUES(42,272); +INSERT INTO product_slots VALUES(42,273); INSERT INTO product_slots VALUES(42,274); INSERT INTO product_slots VALUES(42,275); +INSERT INTO product_slots VALUES(42,276); +INSERT INTO product_slots VALUES(42,277); +INSERT INTO product_slots VALUES(42,278); INSERT INTO product_slots VALUES(42,279); INSERT INTO product_slots VALUES(42,280); INSERT INTO product_slots VALUES(42,281); INSERT INTO product_slots VALUES(42,282); +INSERT INTO product_slots VALUES(42,283); +INSERT INTO product_slots VALUES(42,284); +INSERT INTO product_slots VALUES(42,285); +INSERT INTO product_slots VALUES(42,286); +INSERT INTO product_slots VALUES(42,287); +INSERT INTO product_slots VALUES(42,288); +INSERT INTO product_slots VALUES(42,289); +INSERT INTO product_slots VALUES(42,290); +INSERT INTO product_slots VALUES(42,291); +INSERT INTO product_slots VALUES(42,292); +INSERT INTO product_slots VALUES(42,293); +INSERT INTO product_slots VALUES(42,294); +INSERT INTO product_slots VALUES(42,295); +INSERT INTO product_slots VALUES(42,296); +INSERT INTO product_slots VALUES(42,297); +INSERT INTO product_slots VALUES(42,298); +INSERT INTO product_slots VALUES(42,299); +INSERT INTO product_slots VALUES(42,300); +INSERT INTO product_slots VALUES(42,301); +INSERT INTO product_slots VALUES(42,302); +INSERT INTO product_slots VALUES(42,303); +INSERT INTO product_slots VALUES(42,304); +INSERT INTO product_slots VALUES(42,305); +INSERT INTO product_slots VALUES(42,306); +INSERT INTO product_slots VALUES(42,307); +INSERT INTO product_slots VALUES(42,308); +INSERT INTO product_slots VALUES(42,309); +INSERT INTO product_slots VALUES(42,310); +INSERT INTO product_slots VALUES(42,311); +INSERT INTO product_slots VALUES(42,312); +INSERT INTO product_slots VALUES(42,313); +INSERT INTO product_slots VALUES(42,314); +INSERT INTO product_slots VALUES(42,315); +INSERT INTO product_slots VALUES(42,316); +INSERT INTO product_slots VALUES(42,317); +INSERT INTO product_slots VALUES(42,318); +INSERT INTO product_slots VALUES(42,319); +INSERT INTO product_slots VALUES(42,320); +INSERT INTO product_slots VALUES(42,321); +INSERT INTO product_slots VALUES(42,322); +INSERT INTO product_slots VALUES(42,323); +INSERT INTO product_slots VALUES(42,324); +INSERT INTO product_slots VALUES(42,325); +INSERT INTO product_slots VALUES(42,326); +INSERT INTO product_slots VALUES(42,327); +INSERT INTO product_slots VALUES(42,328); +INSERT INTO product_slots VALUES(42,329); +INSERT INTO product_slots VALUES(42,330); +INSERT INTO product_slots VALUES(42,331); +INSERT INTO product_slots VALUES(42,332); +INSERT INTO product_slots VALUES(42,333); +INSERT INTO product_slots VALUES(42,334); +INSERT INTO product_slots VALUES(42,335); +INSERT INTO product_slots VALUES(42,336); +INSERT INTO product_slots VALUES(42,337); +INSERT INTO product_slots VALUES(42,338); +INSERT INTO product_slots VALUES(42,339); +INSERT INTO product_slots VALUES(42,340); +INSERT INTO product_slots VALUES(42,341); +INSERT INTO product_slots VALUES(42,342); +INSERT INTO product_slots VALUES(42,343); +INSERT INTO product_slots VALUES(42,344); +INSERT INTO product_slots VALUES(42,345); +INSERT INTO product_slots VALUES(42,346); +INSERT INTO product_slots VALUES(42,347); +INSERT INTO product_slots VALUES(42,348); +INSERT INTO product_slots VALUES(42,349); +INSERT INTO product_slots VALUES(42,350); +INSERT INTO product_slots VALUES(42,351); +INSERT INTO product_slots VALUES(42,352); +INSERT INTO product_slots VALUES(42,353); +INSERT INTO product_slots VALUES(42,354); +INSERT INTO product_slots VALUES(42,355); +INSERT INTO product_slots VALUES(42,356); +INSERT INTO product_slots VALUES(42,357); +INSERT INTO product_slots VALUES(42,358); +INSERT INTO product_slots VALUES(42,359); +INSERT INTO product_slots VALUES(42,360); +INSERT INTO product_slots VALUES(42,361); +INSERT INTO product_slots VALUES(42,362); +INSERT INTO product_slots VALUES(42,363); +INSERT INTO product_slots VALUES(42,364); +INSERT INTO product_slots VALUES(42,365); +INSERT INTO product_slots VALUES(42,366); +INSERT INTO product_slots VALUES(42,367); +INSERT INTO product_slots VALUES(42,368); +INSERT INTO product_slots VALUES(42,369); +INSERT INTO product_slots VALUES(42,370); +INSERT INTO product_slots VALUES(42,371); +INSERT INTO product_slots VALUES(42,372); +INSERT INTO product_slots VALUES(42,373); +INSERT INTO product_slots VALUES(42,374); +INSERT INTO product_slots VALUES(42,375); +INSERT INTO product_slots VALUES(42,376); +INSERT INTO product_slots VALUES(42,377); +INSERT INTO product_slots VALUES(42,378); +INSERT INTO product_slots VALUES(42,379); +INSERT INTO product_slots VALUES(42,380); +INSERT INTO product_slots VALUES(42,381); +INSERT INTO product_slots VALUES(42,382); +INSERT INTO product_slots VALUES(42,383); +INSERT INTO product_slots VALUES(42,384); +INSERT INTO product_slots VALUES(42,385); +INSERT INTO product_slots VALUES(42,386); +INSERT INTO product_slots VALUES(42,387); +INSERT INTO product_slots VALUES(42,388); +INSERT INTO product_slots VALUES(42,389); +INSERT INTO product_slots VALUES(42,390); +INSERT INTO product_slots VALUES(42,391); +INSERT INTO product_slots VALUES(42,392); +INSERT INTO product_slots VALUES(42,393); +INSERT INTO product_slots VALUES(42,394); +INSERT INTO product_slots VALUES(42,395); +INSERT INTO product_slots VALUES(42,396); +INSERT INTO product_slots VALUES(42,397); +INSERT INTO product_slots VALUES(42,398); +INSERT INTO product_slots VALUES(42,399); +INSERT INTO product_slots VALUES(42,400); +INSERT INTO product_slots VALUES(42,401); +INSERT INTO product_slots VALUES(42,402); +INSERT INTO product_slots VALUES(42,403); +INSERT INTO product_slots VALUES(42,404); +INSERT INTO product_slots VALUES(42,405); +INSERT INTO product_slots VALUES(42,406); +INSERT INTO product_slots VALUES(42,407); +INSERT INTO product_slots VALUES(42,408); +INSERT INTO product_slots VALUES(42,409); +INSERT INTO product_slots VALUES(42,410); +INSERT INTO product_slots VALUES(42,411); +INSERT INTO product_slots VALUES(42,412); +INSERT INTO product_slots VALUES(42,413); +INSERT INTO product_slots VALUES(42,414); +INSERT INTO product_slots VALUES(42,415); +INSERT INTO product_slots VALUES(42,416); +INSERT INTO product_slots VALUES(42,417); +INSERT INTO product_slots VALUES(42,418); +INSERT INTO product_slots VALUES(42,419); +INSERT INTO product_slots VALUES(42,420); +INSERT INTO product_slots VALUES(42,421); +INSERT INTO product_slots VALUES(42,422); +INSERT INTO product_slots VALUES(42,423); +INSERT INTO product_slots VALUES(42,424); +INSERT INTO product_slots VALUES(42,425); +INSERT INTO product_slots VALUES(42,426); +INSERT INTO product_slots VALUES(42,427); +INSERT INTO product_slots VALUES(42,428); +INSERT INTO product_slots VALUES(42,429); +INSERT INTO product_slots VALUES(42,430); +INSERT INTO product_slots VALUES(42,431); +INSERT INTO product_slots VALUES(42,432); +INSERT INTO product_slots VALUES(42,433); +INSERT INTO product_slots VALUES(42,434); +INSERT INTO product_slots VALUES(42,435); +INSERT INTO product_slots VALUES(42,436); +INSERT INTO product_slots VALUES(42,437); +INSERT INTO product_slots VALUES(42,438); +INSERT INTO product_slots VALUES(42,439); +INSERT INTO product_slots VALUES(42,440); +INSERT INTO product_slots VALUES(42,441); +INSERT INTO product_slots VALUES(42,442); +INSERT INTO product_slots VALUES(42,443); +INSERT INTO product_slots VALUES(42,444); +INSERT INTO product_slots VALUES(42,445); +INSERT INTO product_slots VALUES(42,446); +INSERT INTO product_slots VALUES(42,447); +INSERT INTO product_slots VALUES(42,448); +INSERT INTO product_slots VALUES(42,449); +INSERT INTO product_slots VALUES(42,450); +INSERT INTO product_slots VALUES(42,451); +INSERT INTO product_slots VALUES(42,452); +INSERT INTO product_slots VALUES(42,453); +INSERT INTO product_slots VALUES(42,454); +INSERT INTO product_slots VALUES(42,455); +INSERT INTO product_slots VALUES(42,456); +INSERT INTO product_slots VALUES(42,457); +INSERT INTO product_slots VALUES(42,458); +INSERT INTO product_slots VALUES(42,459); +INSERT INTO product_slots VALUES(42,460); +INSERT INTO product_slots VALUES(42,461); +INSERT INTO product_slots VALUES(42,462); +INSERT INTO product_slots VALUES(42,463); +INSERT INTO product_slots VALUES(42,464); +INSERT INTO product_slots VALUES(42,465); +INSERT INTO product_slots VALUES(42,466); +INSERT INTO product_slots VALUES(42,467); +INSERT INTO product_slots VALUES(42,468); +INSERT INTO product_slots VALUES(42,469); +INSERT INTO product_slots VALUES(42,470); +INSERT INTO product_slots VALUES(42,471); INSERT INTO product_slots VALUES(43,39); INSERT INTO product_slots VALUES(43,40); INSERT INTO product_slots VALUES(43,43); @@ -10656,8 +20109,40 @@ INSERT INTO product_slots VALUES(43,241); INSERT INTO product_slots VALUES(43,242); INSERT INTO product_slots VALUES(43,243); INSERT INTO product_slots VALUES(43,244); +INSERT INTO product_slots VALUES(43,245); +INSERT INTO product_slots VALUES(43,246); +INSERT INTO product_slots VALUES(43,247); +INSERT INTO product_slots VALUES(43,248); +INSERT INTO product_slots VALUES(43,249); +INSERT INTO product_slots VALUES(43,250); +INSERT INTO product_slots VALUES(43,251); +INSERT INTO product_slots VALUES(43,252); +INSERT INTO product_slots VALUES(43,253); +INSERT INTO product_slots VALUES(43,254); +INSERT INTO product_slots VALUES(43,255); +INSERT INTO product_slots VALUES(43,256); +INSERT INTO product_slots VALUES(43,257); +INSERT INTO product_slots VALUES(43,258); +INSERT INTO product_slots VALUES(43,259); +INSERT INTO product_slots VALUES(43,260); +INSERT INTO product_slots VALUES(43,261); +INSERT INTO product_slots VALUES(43,262); +INSERT INTO product_slots VALUES(43,263); +INSERT INTO product_slots VALUES(43,264); +INSERT INTO product_slots VALUES(43,265); +INSERT INTO product_slots VALUES(43,266); +INSERT INTO product_slots VALUES(43,267); +INSERT INTO product_slots VALUES(43,268); +INSERT INTO product_slots VALUES(43,269); +INSERT INTO product_slots VALUES(43,270); +INSERT INTO product_slots VALUES(43,271); +INSERT INTO product_slots VALUES(43,272); +INSERT INTO product_slots VALUES(43,273); INSERT INTO product_slots VALUES(43,274); INSERT INTO product_slots VALUES(43,275); +INSERT INTO product_slots VALUES(43,276); +INSERT INTO product_slots VALUES(43,277); +INSERT INTO product_slots VALUES(43,278); INSERT INTO product_slots VALUES(43,279); INSERT INTO product_slots VALUES(43,280); INSERT INTO product_slots VALUES(43,281); @@ -10667,6 +20152,189 @@ INSERT INTO product_slots VALUES(43,284); INSERT INTO product_slots VALUES(43,285); INSERT INTO product_slots VALUES(43,286); INSERT INTO product_slots VALUES(43,287); +INSERT INTO product_slots VALUES(43,288); +INSERT INTO product_slots VALUES(43,289); +INSERT INTO product_slots VALUES(43,290); +INSERT INTO product_slots VALUES(43,291); +INSERT INTO product_slots VALUES(43,292); +INSERT INTO product_slots VALUES(43,293); +INSERT INTO product_slots VALUES(43,294); +INSERT INTO product_slots VALUES(43,295); +INSERT INTO product_slots VALUES(43,296); +INSERT INTO product_slots VALUES(43,297); +INSERT INTO product_slots VALUES(43,298); +INSERT INTO product_slots VALUES(43,299); +INSERT INTO product_slots VALUES(43,300); +INSERT INTO product_slots VALUES(43,301); +INSERT INTO product_slots VALUES(43,302); +INSERT INTO product_slots VALUES(43,303); +INSERT INTO product_slots VALUES(43,304); +INSERT INTO product_slots VALUES(43,305); +INSERT INTO product_slots VALUES(43,306); +INSERT INTO product_slots VALUES(43,307); +INSERT INTO product_slots VALUES(43,308); +INSERT INTO product_slots VALUES(43,309); +INSERT INTO product_slots VALUES(43,310); +INSERT INTO product_slots VALUES(43,311); +INSERT INTO product_slots VALUES(43,312); +INSERT INTO product_slots VALUES(43,313); +INSERT INTO product_slots VALUES(43,314); +INSERT INTO product_slots VALUES(43,315); +INSERT INTO product_slots VALUES(43,316); +INSERT INTO product_slots VALUES(43,317); +INSERT INTO product_slots VALUES(43,318); +INSERT INTO product_slots VALUES(43,319); +INSERT INTO product_slots VALUES(43,320); +INSERT INTO product_slots VALUES(43,321); +INSERT INTO product_slots VALUES(43,322); +INSERT INTO product_slots VALUES(43,323); +INSERT INTO product_slots VALUES(43,324); +INSERT INTO product_slots VALUES(43,325); +INSERT INTO product_slots VALUES(43,326); +INSERT INTO product_slots VALUES(43,327); +INSERT INTO product_slots VALUES(43,328); +INSERT INTO product_slots VALUES(43,329); +INSERT INTO product_slots VALUES(43,330); +INSERT INTO product_slots VALUES(43,331); +INSERT INTO product_slots VALUES(43,332); +INSERT INTO product_slots VALUES(43,333); +INSERT INTO product_slots VALUES(43,334); +INSERT INTO product_slots VALUES(43,335); +INSERT INTO product_slots VALUES(43,336); +INSERT INTO product_slots VALUES(43,337); +INSERT INTO product_slots VALUES(43,338); +INSERT INTO product_slots VALUES(43,339); +INSERT INTO product_slots VALUES(43,340); +INSERT INTO product_slots VALUES(43,341); +INSERT INTO product_slots VALUES(43,342); +INSERT INTO product_slots VALUES(43,343); +INSERT INTO product_slots VALUES(43,344); +INSERT INTO product_slots VALUES(43,345); +INSERT INTO product_slots VALUES(43,346); +INSERT INTO product_slots VALUES(43,347); +INSERT INTO product_slots VALUES(43,348); +INSERT INTO product_slots VALUES(43,349); +INSERT INTO product_slots VALUES(43,350); +INSERT INTO product_slots VALUES(43,351); +INSERT INTO product_slots VALUES(43,352); +INSERT INTO product_slots VALUES(43,353); +INSERT INTO product_slots VALUES(43,354); +INSERT INTO product_slots VALUES(43,355); +INSERT INTO product_slots VALUES(43,356); +INSERT INTO product_slots VALUES(43,357); +INSERT INTO product_slots VALUES(43,358); +INSERT INTO product_slots VALUES(43,359); +INSERT INTO product_slots VALUES(43,360); +INSERT INTO product_slots VALUES(43,361); +INSERT INTO product_slots VALUES(43,362); +INSERT INTO product_slots VALUES(43,363); +INSERT INTO product_slots VALUES(43,364); +INSERT INTO product_slots VALUES(43,365); +INSERT INTO product_slots VALUES(43,366); +INSERT INTO product_slots VALUES(43,367); +INSERT INTO product_slots VALUES(43,368); +INSERT INTO product_slots VALUES(43,369); +INSERT INTO product_slots VALUES(43,370); +INSERT INTO product_slots VALUES(43,371); +INSERT INTO product_slots VALUES(43,372); +INSERT INTO product_slots VALUES(43,373); +INSERT INTO product_slots VALUES(43,374); +INSERT INTO product_slots VALUES(43,375); +INSERT INTO product_slots VALUES(43,376); +INSERT INTO product_slots VALUES(43,377); +INSERT INTO product_slots VALUES(43,378); +INSERT INTO product_slots VALUES(43,379); +INSERT INTO product_slots VALUES(43,380); +INSERT INTO product_slots VALUES(43,381); +INSERT INTO product_slots VALUES(43,382); +INSERT INTO product_slots VALUES(43,383); +INSERT INTO product_slots VALUES(43,384); +INSERT INTO product_slots VALUES(43,385); +INSERT INTO product_slots VALUES(43,386); +INSERT INTO product_slots VALUES(43,387); +INSERT INTO product_slots VALUES(43,388); +INSERT INTO product_slots VALUES(43,389); +INSERT INTO product_slots VALUES(43,390); +INSERT INTO product_slots VALUES(43,391); +INSERT INTO product_slots VALUES(43,392); +INSERT INTO product_slots VALUES(43,393); +INSERT INTO product_slots VALUES(43,394); +INSERT INTO product_slots VALUES(43,395); +INSERT INTO product_slots VALUES(43,396); +INSERT INTO product_slots VALUES(43,397); +INSERT INTO product_slots VALUES(43,398); +INSERT INTO product_slots VALUES(43,399); +INSERT INTO product_slots VALUES(43,400); +INSERT INTO product_slots VALUES(43,401); +INSERT INTO product_slots VALUES(43,402); +INSERT INTO product_slots VALUES(43,403); +INSERT INTO product_slots VALUES(43,404); +INSERT INTO product_slots VALUES(43,405); +INSERT INTO product_slots VALUES(43,406); +INSERT INTO product_slots VALUES(43,407); +INSERT INTO product_slots VALUES(43,408); +INSERT INTO product_slots VALUES(43,409); +INSERT INTO product_slots VALUES(43,410); +INSERT INTO product_slots VALUES(43,411); +INSERT INTO product_slots VALUES(43,412); +INSERT INTO product_slots VALUES(43,413); +INSERT INTO product_slots VALUES(43,414); +INSERT INTO product_slots VALUES(43,415); +INSERT INTO product_slots VALUES(43,416); +INSERT INTO product_slots VALUES(43,417); +INSERT INTO product_slots VALUES(43,418); +INSERT INTO product_slots VALUES(43,419); +INSERT INTO product_slots VALUES(43,420); +INSERT INTO product_slots VALUES(43,421); +INSERT INTO product_slots VALUES(43,422); +INSERT INTO product_slots VALUES(43,423); +INSERT INTO product_slots VALUES(43,424); +INSERT INTO product_slots VALUES(43,425); +INSERT INTO product_slots VALUES(43,426); +INSERT INTO product_slots VALUES(43,427); +INSERT INTO product_slots VALUES(43,428); +INSERT INTO product_slots VALUES(43,429); +INSERT INTO product_slots VALUES(43,430); +INSERT INTO product_slots VALUES(43,431); +INSERT INTO product_slots VALUES(43,432); +INSERT INTO product_slots VALUES(43,433); +INSERT INTO product_slots VALUES(43,434); +INSERT INTO product_slots VALUES(43,435); +INSERT INTO product_slots VALUES(43,436); +INSERT INTO product_slots VALUES(43,437); +INSERT INTO product_slots VALUES(43,438); +INSERT INTO product_slots VALUES(43,439); +INSERT INTO product_slots VALUES(43,440); +INSERT INTO product_slots VALUES(43,441); +INSERT INTO product_slots VALUES(43,442); +INSERT INTO product_slots VALUES(43,443); +INSERT INTO product_slots VALUES(43,444); +INSERT INTO product_slots VALUES(43,445); +INSERT INTO product_slots VALUES(43,446); +INSERT INTO product_slots VALUES(43,447); +INSERT INTO product_slots VALUES(43,448); +INSERT INTO product_slots VALUES(43,449); +INSERT INTO product_slots VALUES(43,450); +INSERT INTO product_slots VALUES(43,451); +INSERT INTO product_slots VALUES(43,452); +INSERT INTO product_slots VALUES(43,453); +INSERT INTO product_slots VALUES(43,455); +INSERT INTO product_slots VALUES(43,456); +INSERT INTO product_slots VALUES(43,457); +INSERT INTO product_slots VALUES(43,458); +INSERT INTO product_slots VALUES(43,459); +INSERT INTO product_slots VALUES(43,460); +INSERT INTO product_slots VALUES(43,461); +INSERT INTO product_slots VALUES(43,462); +INSERT INTO product_slots VALUES(43,463); +INSERT INTO product_slots VALUES(43,464); +INSERT INTO product_slots VALUES(43,465); +INSERT INTO product_slots VALUES(43,466); +INSERT INTO product_slots VALUES(43,467); +INSERT INTO product_slots VALUES(43,468); +INSERT INTO product_slots VALUES(43,469); +INSERT INTO product_slots VALUES(43,470); +INSERT INTO product_slots VALUES(43,471); INSERT INTO product_slots VALUES(44,39); INSERT INTO product_slots VALUES(44,40); INSERT INTO product_slots VALUES(44,43); @@ -10862,8 +20530,40 @@ INSERT INTO product_slots VALUES(44,241); INSERT INTO product_slots VALUES(44,242); INSERT INTO product_slots VALUES(44,243); INSERT INTO product_slots VALUES(44,244); +INSERT INTO product_slots VALUES(44,245); +INSERT INTO product_slots VALUES(44,246); +INSERT INTO product_slots VALUES(44,247); +INSERT INTO product_slots VALUES(44,248); +INSERT INTO product_slots VALUES(44,249); +INSERT INTO product_slots VALUES(44,250); +INSERT INTO product_slots VALUES(44,251); +INSERT INTO product_slots VALUES(44,252); +INSERT INTO product_slots VALUES(44,253); +INSERT INTO product_slots VALUES(44,254); +INSERT INTO product_slots VALUES(44,255); +INSERT INTO product_slots VALUES(44,256); +INSERT INTO product_slots VALUES(44,257); +INSERT INTO product_slots VALUES(44,258); +INSERT INTO product_slots VALUES(44,259); +INSERT INTO product_slots VALUES(44,260); +INSERT INTO product_slots VALUES(44,261); +INSERT INTO product_slots VALUES(44,262); +INSERT INTO product_slots VALUES(44,263); +INSERT INTO product_slots VALUES(44,264); +INSERT INTO product_slots VALUES(44,265); +INSERT INTO product_slots VALUES(44,266); +INSERT INTO product_slots VALUES(44,267); +INSERT INTO product_slots VALUES(44,268); +INSERT INTO product_slots VALUES(44,269); +INSERT INTO product_slots VALUES(44,270); +INSERT INTO product_slots VALUES(44,271); +INSERT INTO product_slots VALUES(44,272); +INSERT INTO product_slots VALUES(44,273); INSERT INTO product_slots VALUES(44,274); INSERT INTO product_slots VALUES(44,275); +INSERT INTO product_slots VALUES(44,276); +INSERT INTO product_slots VALUES(44,277); +INSERT INTO product_slots VALUES(44,278); INSERT INTO product_slots VALUES(44,279); INSERT INTO product_slots VALUES(44,280); INSERT INTO product_slots VALUES(44,281); @@ -10873,6 +20573,189 @@ INSERT INTO product_slots VALUES(44,284); INSERT INTO product_slots VALUES(44,285); INSERT INTO product_slots VALUES(44,286); INSERT INTO product_slots VALUES(44,287); +INSERT INTO product_slots VALUES(44,288); +INSERT INTO product_slots VALUES(44,289); +INSERT INTO product_slots VALUES(44,290); +INSERT INTO product_slots VALUES(44,291); +INSERT INTO product_slots VALUES(44,292); +INSERT INTO product_slots VALUES(44,293); +INSERT INTO product_slots VALUES(44,294); +INSERT INTO product_slots VALUES(44,295); +INSERT INTO product_slots VALUES(44,296); +INSERT INTO product_slots VALUES(44,297); +INSERT INTO product_slots VALUES(44,298); +INSERT INTO product_slots VALUES(44,299); +INSERT INTO product_slots VALUES(44,300); +INSERT INTO product_slots VALUES(44,301); +INSERT INTO product_slots VALUES(44,302); +INSERT INTO product_slots VALUES(44,303); +INSERT INTO product_slots VALUES(44,304); +INSERT INTO product_slots VALUES(44,305); +INSERT INTO product_slots VALUES(44,306); +INSERT INTO product_slots VALUES(44,307); +INSERT INTO product_slots VALUES(44,308); +INSERT INTO product_slots VALUES(44,309); +INSERT INTO product_slots VALUES(44,310); +INSERT INTO product_slots VALUES(44,311); +INSERT INTO product_slots VALUES(44,312); +INSERT INTO product_slots VALUES(44,313); +INSERT INTO product_slots VALUES(44,314); +INSERT INTO product_slots VALUES(44,315); +INSERT INTO product_slots VALUES(44,316); +INSERT INTO product_slots VALUES(44,317); +INSERT INTO product_slots VALUES(44,318); +INSERT INTO product_slots VALUES(44,319); +INSERT INTO product_slots VALUES(44,320); +INSERT INTO product_slots VALUES(44,321); +INSERT INTO product_slots VALUES(44,322); +INSERT INTO product_slots VALUES(44,323); +INSERT INTO product_slots VALUES(44,324); +INSERT INTO product_slots VALUES(44,325); +INSERT INTO product_slots VALUES(44,326); +INSERT INTO product_slots VALUES(44,327); +INSERT INTO product_slots VALUES(44,328); +INSERT INTO product_slots VALUES(44,329); +INSERT INTO product_slots VALUES(44,330); +INSERT INTO product_slots VALUES(44,331); +INSERT INTO product_slots VALUES(44,332); +INSERT INTO product_slots VALUES(44,333); +INSERT INTO product_slots VALUES(44,334); +INSERT INTO product_slots VALUES(44,335); +INSERT INTO product_slots VALUES(44,336); +INSERT INTO product_slots VALUES(44,337); +INSERT INTO product_slots VALUES(44,338); +INSERT INTO product_slots VALUES(44,339); +INSERT INTO product_slots VALUES(44,340); +INSERT INTO product_slots VALUES(44,341); +INSERT INTO product_slots VALUES(44,342); +INSERT INTO product_slots VALUES(44,343); +INSERT INTO product_slots VALUES(44,344); +INSERT INTO product_slots VALUES(44,345); +INSERT INTO product_slots VALUES(44,346); +INSERT INTO product_slots VALUES(44,347); +INSERT INTO product_slots VALUES(44,348); +INSERT INTO product_slots VALUES(44,349); +INSERT INTO product_slots VALUES(44,350); +INSERT INTO product_slots VALUES(44,351); +INSERT INTO product_slots VALUES(44,352); +INSERT INTO product_slots VALUES(44,353); +INSERT INTO product_slots VALUES(44,354); +INSERT INTO product_slots VALUES(44,355); +INSERT INTO product_slots VALUES(44,356); +INSERT INTO product_slots VALUES(44,357); +INSERT INTO product_slots VALUES(44,358); +INSERT INTO product_slots VALUES(44,359); +INSERT INTO product_slots VALUES(44,360); +INSERT INTO product_slots VALUES(44,361); +INSERT INTO product_slots VALUES(44,362); +INSERT INTO product_slots VALUES(44,363); +INSERT INTO product_slots VALUES(44,364); +INSERT INTO product_slots VALUES(44,365); +INSERT INTO product_slots VALUES(44,366); +INSERT INTO product_slots VALUES(44,367); +INSERT INTO product_slots VALUES(44,368); +INSERT INTO product_slots VALUES(44,369); +INSERT INTO product_slots VALUES(44,370); +INSERT INTO product_slots VALUES(44,371); +INSERT INTO product_slots VALUES(44,372); +INSERT INTO product_slots VALUES(44,373); +INSERT INTO product_slots VALUES(44,374); +INSERT INTO product_slots VALUES(44,375); +INSERT INTO product_slots VALUES(44,376); +INSERT INTO product_slots VALUES(44,377); +INSERT INTO product_slots VALUES(44,378); +INSERT INTO product_slots VALUES(44,379); +INSERT INTO product_slots VALUES(44,380); +INSERT INTO product_slots VALUES(44,381); +INSERT INTO product_slots VALUES(44,382); +INSERT INTO product_slots VALUES(44,383); +INSERT INTO product_slots VALUES(44,384); +INSERT INTO product_slots VALUES(44,385); +INSERT INTO product_slots VALUES(44,386); +INSERT INTO product_slots VALUES(44,387); +INSERT INTO product_slots VALUES(44,388); +INSERT INTO product_slots VALUES(44,389); +INSERT INTO product_slots VALUES(44,390); +INSERT INTO product_slots VALUES(44,391); +INSERT INTO product_slots VALUES(44,392); +INSERT INTO product_slots VALUES(44,393); +INSERT INTO product_slots VALUES(44,394); +INSERT INTO product_slots VALUES(44,395); +INSERT INTO product_slots VALUES(44,396); +INSERT INTO product_slots VALUES(44,397); +INSERT INTO product_slots VALUES(44,398); +INSERT INTO product_slots VALUES(44,399); +INSERT INTO product_slots VALUES(44,400); +INSERT INTO product_slots VALUES(44,401); +INSERT INTO product_slots VALUES(44,402); +INSERT INTO product_slots VALUES(44,403); +INSERT INTO product_slots VALUES(44,404); +INSERT INTO product_slots VALUES(44,405); +INSERT INTO product_slots VALUES(44,406); +INSERT INTO product_slots VALUES(44,407); +INSERT INTO product_slots VALUES(44,408); +INSERT INTO product_slots VALUES(44,409); +INSERT INTO product_slots VALUES(44,410); +INSERT INTO product_slots VALUES(44,411); +INSERT INTO product_slots VALUES(44,412); +INSERT INTO product_slots VALUES(44,413); +INSERT INTO product_slots VALUES(44,414); +INSERT INTO product_slots VALUES(44,415); +INSERT INTO product_slots VALUES(44,416); +INSERT INTO product_slots VALUES(44,417); +INSERT INTO product_slots VALUES(44,418); +INSERT INTO product_slots VALUES(44,419); +INSERT INTO product_slots VALUES(44,420); +INSERT INTO product_slots VALUES(44,421); +INSERT INTO product_slots VALUES(44,422); +INSERT INTO product_slots VALUES(44,423); +INSERT INTO product_slots VALUES(44,424); +INSERT INTO product_slots VALUES(44,425); +INSERT INTO product_slots VALUES(44,426); +INSERT INTO product_slots VALUES(44,427); +INSERT INTO product_slots VALUES(44,428); +INSERT INTO product_slots VALUES(44,429); +INSERT INTO product_slots VALUES(44,430); +INSERT INTO product_slots VALUES(44,431); +INSERT INTO product_slots VALUES(44,432); +INSERT INTO product_slots VALUES(44,433); +INSERT INTO product_slots VALUES(44,434); +INSERT INTO product_slots VALUES(44,435); +INSERT INTO product_slots VALUES(44,436); +INSERT INTO product_slots VALUES(44,437); +INSERT INTO product_slots VALUES(44,438); +INSERT INTO product_slots VALUES(44,439); +INSERT INTO product_slots VALUES(44,440); +INSERT INTO product_slots VALUES(44,441); +INSERT INTO product_slots VALUES(44,442); +INSERT INTO product_slots VALUES(44,443); +INSERT INTO product_slots VALUES(44,444); +INSERT INTO product_slots VALUES(44,445); +INSERT INTO product_slots VALUES(44,446); +INSERT INTO product_slots VALUES(44,447); +INSERT INTO product_slots VALUES(44,448); +INSERT INTO product_slots VALUES(44,449); +INSERT INTO product_slots VALUES(44,450); +INSERT INTO product_slots VALUES(44,451); +INSERT INTO product_slots VALUES(44,452); +INSERT INTO product_slots VALUES(44,453); +INSERT INTO product_slots VALUES(44,455); +INSERT INTO product_slots VALUES(44,456); +INSERT INTO product_slots VALUES(44,457); +INSERT INTO product_slots VALUES(44,458); +INSERT INTO product_slots VALUES(44,459); +INSERT INTO product_slots VALUES(44,460); +INSERT INTO product_slots VALUES(44,461); +INSERT INTO product_slots VALUES(44,462); +INSERT INTO product_slots VALUES(44,463); +INSERT INTO product_slots VALUES(44,464); +INSERT INTO product_slots VALUES(44,465); +INSERT INTO product_slots VALUES(44,466); +INSERT INTO product_slots VALUES(44,467); +INSERT INTO product_slots VALUES(44,468); +INSERT INTO product_slots VALUES(44,469); +INSERT INTO product_slots VALUES(44,470); +INSERT INTO product_slots VALUES(44,471); INSERT INTO product_slots VALUES(45,39); INSERT INTO product_slots VALUES(45,41); INSERT INTO product_slots VALUES(45,43); @@ -11077,8 +20960,40 @@ INSERT INTO product_slots VALUES(45,241); INSERT INTO product_slots VALUES(45,242); INSERT INTO product_slots VALUES(45,243); INSERT INTO product_slots VALUES(45,244); +INSERT INTO product_slots VALUES(45,245); +INSERT INTO product_slots VALUES(45,246); +INSERT INTO product_slots VALUES(45,247); +INSERT INTO product_slots VALUES(45,248); +INSERT INTO product_slots VALUES(45,249); +INSERT INTO product_slots VALUES(45,250); +INSERT INTO product_slots VALUES(45,251); +INSERT INTO product_slots VALUES(45,252); +INSERT INTO product_slots VALUES(45,253); +INSERT INTO product_slots VALUES(45,254); +INSERT INTO product_slots VALUES(45,255); +INSERT INTO product_slots VALUES(45,256); +INSERT INTO product_slots VALUES(45,257); +INSERT INTO product_slots VALUES(45,258); +INSERT INTO product_slots VALUES(45,259); +INSERT INTO product_slots VALUES(45,260); +INSERT INTO product_slots VALUES(45,261); +INSERT INTO product_slots VALUES(45,262); +INSERT INTO product_slots VALUES(45,263); +INSERT INTO product_slots VALUES(45,264); +INSERT INTO product_slots VALUES(45,265); +INSERT INTO product_slots VALUES(45,266); +INSERT INTO product_slots VALUES(45,267); +INSERT INTO product_slots VALUES(45,268); +INSERT INTO product_slots VALUES(45,269); +INSERT INTO product_slots VALUES(45,270); +INSERT INTO product_slots VALUES(45,271); +INSERT INTO product_slots VALUES(45,272); +INSERT INTO product_slots VALUES(45,273); INSERT INTO product_slots VALUES(45,274); INSERT INTO product_slots VALUES(45,275); +INSERT INTO product_slots VALUES(45,276); +INSERT INTO product_slots VALUES(45,277); +INSERT INTO product_slots VALUES(45,278); INSERT INTO product_slots VALUES(45,279); INSERT INTO product_slots VALUES(45,280); INSERT INTO product_slots VALUES(45,281); @@ -11088,6 +21003,190 @@ INSERT INTO product_slots VALUES(45,284); INSERT INTO product_slots VALUES(45,285); INSERT INTO product_slots VALUES(45,286); INSERT INTO product_slots VALUES(45,287); +INSERT INTO product_slots VALUES(45,288); +INSERT INTO product_slots VALUES(45,289); +INSERT INTO product_slots VALUES(45,290); +INSERT INTO product_slots VALUES(45,291); +INSERT INTO product_slots VALUES(45,292); +INSERT INTO product_slots VALUES(45,293); +INSERT INTO product_slots VALUES(45,294); +INSERT INTO product_slots VALUES(45,295); +INSERT INTO product_slots VALUES(45,296); +INSERT INTO product_slots VALUES(45,297); +INSERT INTO product_slots VALUES(45,298); +INSERT INTO product_slots VALUES(45,299); +INSERT INTO product_slots VALUES(45,300); +INSERT INTO product_slots VALUES(45,301); +INSERT INTO product_slots VALUES(45,302); +INSERT INTO product_slots VALUES(45,303); +INSERT INTO product_slots VALUES(45,304); +INSERT INTO product_slots VALUES(45,305); +INSERT INTO product_slots VALUES(45,306); +INSERT INTO product_slots VALUES(45,307); +INSERT INTO product_slots VALUES(45,308); +INSERT INTO product_slots VALUES(45,309); +INSERT INTO product_slots VALUES(45,310); +INSERT INTO product_slots VALUES(45,311); +INSERT INTO product_slots VALUES(45,312); +INSERT INTO product_slots VALUES(45,313); +INSERT INTO product_slots VALUES(45,314); +INSERT INTO product_slots VALUES(45,315); +INSERT INTO product_slots VALUES(45,316); +INSERT INTO product_slots VALUES(45,317); +INSERT INTO product_slots VALUES(45,318); +INSERT INTO product_slots VALUES(45,319); +INSERT INTO product_slots VALUES(45,320); +INSERT INTO product_slots VALUES(45,321); +INSERT INTO product_slots VALUES(45,322); +INSERT INTO product_slots VALUES(45,323); +INSERT INTO product_slots VALUES(45,324); +INSERT INTO product_slots VALUES(45,325); +INSERT INTO product_slots VALUES(45,326); +INSERT INTO product_slots VALUES(45,327); +INSERT INTO product_slots VALUES(45,328); +INSERT INTO product_slots VALUES(45,329); +INSERT INTO product_slots VALUES(45,330); +INSERT INTO product_slots VALUES(45,331); +INSERT INTO product_slots VALUES(45,332); +INSERT INTO product_slots VALUES(45,333); +INSERT INTO product_slots VALUES(45,334); +INSERT INTO product_slots VALUES(45,335); +INSERT INTO product_slots VALUES(45,336); +INSERT INTO product_slots VALUES(45,337); +INSERT INTO product_slots VALUES(45,338); +INSERT INTO product_slots VALUES(45,339); +INSERT INTO product_slots VALUES(45,340); +INSERT INTO product_slots VALUES(45,341); +INSERT INTO product_slots VALUES(45,342); +INSERT INTO product_slots VALUES(45,343); +INSERT INTO product_slots VALUES(45,344); +INSERT INTO product_slots VALUES(45,345); +INSERT INTO product_slots VALUES(45,346); +INSERT INTO product_slots VALUES(45,347); +INSERT INTO product_slots VALUES(45,348); +INSERT INTO product_slots VALUES(45,349); +INSERT INTO product_slots VALUES(45,350); +INSERT INTO product_slots VALUES(45,351); +INSERT INTO product_slots VALUES(45,352); +INSERT INTO product_slots VALUES(45,353); +INSERT INTO product_slots VALUES(45,354); +INSERT INTO product_slots VALUES(45,355); +INSERT INTO product_slots VALUES(45,356); +INSERT INTO product_slots VALUES(45,357); +INSERT INTO product_slots VALUES(45,358); +INSERT INTO product_slots VALUES(45,359); +INSERT INTO product_slots VALUES(45,360); +INSERT INTO product_slots VALUES(45,361); +INSERT INTO product_slots VALUES(45,362); +INSERT INTO product_slots VALUES(45,363); +INSERT INTO product_slots VALUES(45,364); +INSERT INTO product_slots VALUES(45,365); +INSERT INTO product_slots VALUES(45,366); +INSERT INTO product_slots VALUES(45,367); +INSERT INTO product_slots VALUES(45,368); +INSERT INTO product_slots VALUES(45,369); +INSERT INTO product_slots VALUES(45,370); +INSERT INTO product_slots VALUES(45,371); +INSERT INTO product_slots VALUES(45,372); +INSERT INTO product_slots VALUES(45,373); +INSERT INTO product_slots VALUES(45,374); +INSERT INTO product_slots VALUES(45,375); +INSERT INTO product_slots VALUES(45,376); +INSERT INTO product_slots VALUES(45,377); +INSERT INTO product_slots VALUES(45,378); +INSERT INTO product_slots VALUES(45,379); +INSERT INTO product_slots VALUES(45,380); +INSERT INTO product_slots VALUES(45,381); +INSERT INTO product_slots VALUES(45,382); +INSERT INTO product_slots VALUES(45,383); +INSERT INTO product_slots VALUES(45,384); +INSERT INTO product_slots VALUES(45,385); +INSERT INTO product_slots VALUES(45,386); +INSERT INTO product_slots VALUES(45,387); +INSERT INTO product_slots VALUES(45,388); +INSERT INTO product_slots VALUES(45,389); +INSERT INTO product_slots VALUES(45,390); +INSERT INTO product_slots VALUES(45,391); +INSERT INTO product_slots VALUES(45,392); +INSERT INTO product_slots VALUES(45,393); +INSERT INTO product_slots VALUES(45,394); +INSERT INTO product_slots VALUES(45,395); +INSERT INTO product_slots VALUES(45,396); +INSERT INTO product_slots VALUES(45,397); +INSERT INTO product_slots VALUES(45,398); +INSERT INTO product_slots VALUES(45,399); +INSERT INTO product_slots VALUES(45,400); +INSERT INTO product_slots VALUES(45,401); +INSERT INTO product_slots VALUES(45,402); +INSERT INTO product_slots VALUES(45,403); +INSERT INTO product_slots VALUES(45,404); +INSERT INTO product_slots VALUES(45,405); +INSERT INTO product_slots VALUES(45,406); +INSERT INTO product_slots VALUES(45,407); +INSERT INTO product_slots VALUES(45,408); +INSERT INTO product_slots VALUES(45,409); +INSERT INTO product_slots VALUES(45,410); +INSERT INTO product_slots VALUES(45,411); +INSERT INTO product_slots VALUES(45,412); +INSERT INTO product_slots VALUES(45,413); +INSERT INTO product_slots VALUES(45,414); +INSERT INTO product_slots VALUES(45,415); +INSERT INTO product_slots VALUES(45,416); +INSERT INTO product_slots VALUES(45,417); +INSERT INTO product_slots VALUES(45,418); +INSERT INTO product_slots VALUES(45,419); +INSERT INTO product_slots VALUES(45,420); +INSERT INTO product_slots VALUES(45,421); +INSERT INTO product_slots VALUES(45,422); +INSERT INTO product_slots VALUES(45,423); +INSERT INTO product_slots VALUES(45,424); +INSERT INTO product_slots VALUES(45,425); +INSERT INTO product_slots VALUES(45,426); +INSERT INTO product_slots VALUES(45,427); +INSERT INTO product_slots VALUES(45,428); +INSERT INTO product_slots VALUES(45,429); +INSERT INTO product_slots VALUES(45,430); +INSERT INTO product_slots VALUES(45,431); +INSERT INTO product_slots VALUES(45,432); +INSERT INTO product_slots VALUES(45,433); +INSERT INTO product_slots VALUES(45,434); +INSERT INTO product_slots VALUES(45,435); +INSERT INTO product_slots VALUES(45,436); +INSERT INTO product_slots VALUES(45,437); +INSERT INTO product_slots VALUES(45,438); +INSERT INTO product_slots VALUES(45,439); +INSERT INTO product_slots VALUES(45,440); +INSERT INTO product_slots VALUES(45,441); +INSERT INTO product_slots VALUES(45,442); +INSERT INTO product_slots VALUES(45,443); +INSERT INTO product_slots VALUES(45,444); +INSERT INTO product_slots VALUES(45,445); +INSERT INTO product_slots VALUES(45,446); +INSERT INTO product_slots VALUES(45,447); +INSERT INTO product_slots VALUES(45,448); +INSERT INTO product_slots VALUES(45,449); +INSERT INTO product_slots VALUES(45,450); +INSERT INTO product_slots VALUES(45,451); +INSERT INTO product_slots VALUES(45,452); +INSERT INTO product_slots VALUES(45,453); +INSERT INTO product_slots VALUES(45,454); +INSERT INTO product_slots VALUES(45,455); +INSERT INTO product_slots VALUES(45,456); +INSERT INTO product_slots VALUES(45,457); +INSERT INTO product_slots VALUES(45,458); +INSERT INTO product_slots VALUES(45,459); +INSERT INTO product_slots VALUES(45,460); +INSERT INTO product_slots VALUES(45,461); +INSERT INTO product_slots VALUES(45,462); +INSERT INTO product_slots VALUES(45,463); +INSERT INTO product_slots VALUES(45,464); +INSERT INTO product_slots VALUES(45,465); +INSERT INTO product_slots VALUES(45,466); +INSERT INTO product_slots VALUES(45,467); +INSERT INTO product_slots VALUES(45,468); +INSERT INTO product_slots VALUES(45,469); +INSERT INTO product_slots VALUES(45,470); +INSERT INTO product_slots VALUES(45,471); INSERT INTO product_slots VALUES(46,39); INSERT INTO product_slots VALUES(46,40); INSERT INTO product_slots VALUES(46,43); @@ -11283,8 +21382,40 @@ INSERT INTO product_slots VALUES(46,241); INSERT INTO product_slots VALUES(46,242); INSERT INTO product_slots VALUES(46,243); INSERT INTO product_slots VALUES(46,244); +INSERT INTO product_slots VALUES(46,245); +INSERT INTO product_slots VALUES(46,246); +INSERT INTO product_slots VALUES(46,247); +INSERT INTO product_slots VALUES(46,248); +INSERT INTO product_slots VALUES(46,249); +INSERT INTO product_slots VALUES(46,250); +INSERT INTO product_slots VALUES(46,251); +INSERT INTO product_slots VALUES(46,252); +INSERT INTO product_slots VALUES(46,253); +INSERT INTO product_slots VALUES(46,254); +INSERT INTO product_slots VALUES(46,255); +INSERT INTO product_slots VALUES(46,256); +INSERT INTO product_slots VALUES(46,257); +INSERT INTO product_slots VALUES(46,258); +INSERT INTO product_slots VALUES(46,259); +INSERT INTO product_slots VALUES(46,260); +INSERT INTO product_slots VALUES(46,261); +INSERT INTO product_slots VALUES(46,262); +INSERT INTO product_slots VALUES(46,263); +INSERT INTO product_slots VALUES(46,264); +INSERT INTO product_slots VALUES(46,265); +INSERT INTO product_slots VALUES(46,266); +INSERT INTO product_slots VALUES(46,267); +INSERT INTO product_slots VALUES(46,268); +INSERT INTO product_slots VALUES(46,269); +INSERT INTO product_slots VALUES(46,270); +INSERT INTO product_slots VALUES(46,271); +INSERT INTO product_slots VALUES(46,272); +INSERT INTO product_slots VALUES(46,273); INSERT INTO product_slots VALUES(46,274); INSERT INTO product_slots VALUES(46,275); +INSERT INTO product_slots VALUES(46,276); +INSERT INTO product_slots VALUES(46,277); +INSERT INTO product_slots VALUES(46,278); INSERT INTO product_slots VALUES(46,279); INSERT INTO product_slots VALUES(46,280); INSERT INTO product_slots VALUES(46,281); @@ -11294,6 +21425,189 @@ INSERT INTO product_slots VALUES(46,284); INSERT INTO product_slots VALUES(46,285); INSERT INTO product_slots VALUES(46,286); INSERT INTO product_slots VALUES(46,287); +INSERT INTO product_slots VALUES(46,288); +INSERT INTO product_slots VALUES(46,289); +INSERT INTO product_slots VALUES(46,290); +INSERT INTO product_slots VALUES(46,291); +INSERT INTO product_slots VALUES(46,292); +INSERT INTO product_slots VALUES(46,293); +INSERT INTO product_slots VALUES(46,294); +INSERT INTO product_slots VALUES(46,295); +INSERT INTO product_slots VALUES(46,296); +INSERT INTO product_slots VALUES(46,297); +INSERT INTO product_slots VALUES(46,298); +INSERT INTO product_slots VALUES(46,299); +INSERT INTO product_slots VALUES(46,300); +INSERT INTO product_slots VALUES(46,301); +INSERT INTO product_slots VALUES(46,302); +INSERT INTO product_slots VALUES(46,303); +INSERT INTO product_slots VALUES(46,304); +INSERT INTO product_slots VALUES(46,305); +INSERT INTO product_slots VALUES(46,306); +INSERT INTO product_slots VALUES(46,307); +INSERT INTO product_slots VALUES(46,308); +INSERT INTO product_slots VALUES(46,309); +INSERT INTO product_slots VALUES(46,310); +INSERT INTO product_slots VALUES(46,311); +INSERT INTO product_slots VALUES(46,312); +INSERT INTO product_slots VALUES(46,313); +INSERT INTO product_slots VALUES(46,314); +INSERT INTO product_slots VALUES(46,315); +INSERT INTO product_slots VALUES(46,316); +INSERT INTO product_slots VALUES(46,317); +INSERT INTO product_slots VALUES(46,318); +INSERT INTO product_slots VALUES(46,319); +INSERT INTO product_slots VALUES(46,320); +INSERT INTO product_slots VALUES(46,321); +INSERT INTO product_slots VALUES(46,322); +INSERT INTO product_slots VALUES(46,323); +INSERT INTO product_slots VALUES(46,324); +INSERT INTO product_slots VALUES(46,325); +INSERT INTO product_slots VALUES(46,326); +INSERT INTO product_slots VALUES(46,327); +INSERT INTO product_slots VALUES(46,328); +INSERT INTO product_slots VALUES(46,329); +INSERT INTO product_slots VALUES(46,330); +INSERT INTO product_slots VALUES(46,331); +INSERT INTO product_slots VALUES(46,332); +INSERT INTO product_slots VALUES(46,333); +INSERT INTO product_slots VALUES(46,334); +INSERT INTO product_slots VALUES(46,335); +INSERT INTO product_slots VALUES(46,336); +INSERT INTO product_slots VALUES(46,337); +INSERT INTO product_slots VALUES(46,338); +INSERT INTO product_slots VALUES(46,339); +INSERT INTO product_slots VALUES(46,340); +INSERT INTO product_slots VALUES(46,341); +INSERT INTO product_slots VALUES(46,342); +INSERT INTO product_slots VALUES(46,343); +INSERT INTO product_slots VALUES(46,344); +INSERT INTO product_slots VALUES(46,345); +INSERT INTO product_slots VALUES(46,346); +INSERT INTO product_slots VALUES(46,347); +INSERT INTO product_slots VALUES(46,348); +INSERT INTO product_slots VALUES(46,349); +INSERT INTO product_slots VALUES(46,350); +INSERT INTO product_slots VALUES(46,351); +INSERT INTO product_slots VALUES(46,352); +INSERT INTO product_slots VALUES(46,353); +INSERT INTO product_slots VALUES(46,354); +INSERT INTO product_slots VALUES(46,355); +INSERT INTO product_slots VALUES(46,356); +INSERT INTO product_slots VALUES(46,357); +INSERT INTO product_slots VALUES(46,358); +INSERT INTO product_slots VALUES(46,359); +INSERT INTO product_slots VALUES(46,360); +INSERT INTO product_slots VALUES(46,361); +INSERT INTO product_slots VALUES(46,362); +INSERT INTO product_slots VALUES(46,363); +INSERT INTO product_slots VALUES(46,364); +INSERT INTO product_slots VALUES(46,365); +INSERT INTO product_slots VALUES(46,366); +INSERT INTO product_slots VALUES(46,367); +INSERT INTO product_slots VALUES(46,368); +INSERT INTO product_slots VALUES(46,369); +INSERT INTO product_slots VALUES(46,370); +INSERT INTO product_slots VALUES(46,371); +INSERT INTO product_slots VALUES(46,372); +INSERT INTO product_slots VALUES(46,373); +INSERT INTO product_slots VALUES(46,374); +INSERT INTO product_slots VALUES(46,375); +INSERT INTO product_slots VALUES(46,376); +INSERT INTO product_slots VALUES(46,377); +INSERT INTO product_slots VALUES(46,378); +INSERT INTO product_slots VALUES(46,379); +INSERT INTO product_slots VALUES(46,380); +INSERT INTO product_slots VALUES(46,381); +INSERT INTO product_slots VALUES(46,382); +INSERT INTO product_slots VALUES(46,383); +INSERT INTO product_slots VALUES(46,384); +INSERT INTO product_slots VALUES(46,385); +INSERT INTO product_slots VALUES(46,386); +INSERT INTO product_slots VALUES(46,387); +INSERT INTO product_slots VALUES(46,388); +INSERT INTO product_slots VALUES(46,389); +INSERT INTO product_slots VALUES(46,390); +INSERT INTO product_slots VALUES(46,391); +INSERT INTO product_slots VALUES(46,392); +INSERT INTO product_slots VALUES(46,393); +INSERT INTO product_slots VALUES(46,394); +INSERT INTO product_slots VALUES(46,395); +INSERT INTO product_slots VALUES(46,396); +INSERT INTO product_slots VALUES(46,397); +INSERT INTO product_slots VALUES(46,398); +INSERT INTO product_slots VALUES(46,399); +INSERT INTO product_slots VALUES(46,400); +INSERT INTO product_slots VALUES(46,401); +INSERT INTO product_slots VALUES(46,402); +INSERT INTO product_slots VALUES(46,403); +INSERT INTO product_slots VALUES(46,404); +INSERT INTO product_slots VALUES(46,405); +INSERT INTO product_slots VALUES(46,406); +INSERT INTO product_slots VALUES(46,407); +INSERT INTO product_slots VALUES(46,408); +INSERT INTO product_slots VALUES(46,409); +INSERT INTO product_slots VALUES(46,410); +INSERT INTO product_slots VALUES(46,411); +INSERT INTO product_slots VALUES(46,412); +INSERT INTO product_slots VALUES(46,413); +INSERT INTO product_slots VALUES(46,414); +INSERT INTO product_slots VALUES(46,415); +INSERT INTO product_slots VALUES(46,416); +INSERT INTO product_slots VALUES(46,417); +INSERT INTO product_slots VALUES(46,418); +INSERT INTO product_slots VALUES(46,419); +INSERT INTO product_slots VALUES(46,420); +INSERT INTO product_slots VALUES(46,421); +INSERT INTO product_slots VALUES(46,422); +INSERT INTO product_slots VALUES(46,423); +INSERT INTO product_slots VALUES(46,424); +INSERT INTO product_slots VALUES(46,425); +INSERT INTO product_slots VALUES(46,426); +INSERT INTO product_slots VALUES(46,427); +INSERT INTO product_slots VALUES(46,428); +INSERT INTO product_slots VALUES(46,429); +INSERT INTO product_slots VALUES(46,430); +INSERT INTO product_slots VALUES(46,431); +INSERT INTO product_slots VALUES(46,432); +INSERT INTO product_slots VALUES(46,433); +INSERT INTO product_slots VALUES(46,434); +INSERT INTO product_slots VALUES(46,435); +INSERT INTO product_slots VALUES(46,436); +INSERT INTO product_slots VALUES(46,437); +INSERT INTO product_slots VALUES(46,438); +INSERT INTO product_slots VALUES(46,439); +INSERT INTO product_slots VALUES(46,440); +INSERT INTO product_slots VALUES(46,441); +INSERT INTO product_slots VALUES(46,442); +INSERT INTO product_slots VALUES(46,443); +INSERT INTO product_slots VALUES(46,444); +INSERT INTO product_slots VALUES(46,445); +INSERT INTO product_slots VALUES(46,446); +INSERT INTO product_slots VALUES(46,447); +INSERT INTO product_slots VALUES(46,448); +INSERT INTO product_slots VALUES(46,449); +INSERT INTO product_slots VALUES(46,450); +INSERT INTO product_slots VALUES(46,451); +INSERT INTO product_slots VALUES(46,452); +INSERT INTO product_slots VALUES(46,453); +INSERT INTO product_slots VALUES(46,455); +INSERT INTO product_slots VALUES(46,456); +INSERT INTO product_slots VALUES(46,457); +INSERT INTO product_slots VALUES(46,458); +INSERT INTO product_slots VALUES(46,459); +INSERT INTO product_slots VALUES(46,460); +INSERT INTO product_slots VALUES(46,461); +INSERT INTO product_slots VALUES(46,462); +INSERT INTO product_slots VALUES(46,463); +INSERT INTO product_slots VALUES(46,464); +INSERT INTO product_slots VALUES(46,465); +INSERT INTO product_slots VALUES(46,466); +INSERT INTO product_slots VALUES(46,467); +INSERT INTO product_slots VALUES(46,468); +INSERT INTO product_slots VALUES(46,469); +INSERT INTO product_slots VALUES(46,470); +INSERT INTO product_slots VALUES(46,471); INSERT INTO product_slots VALUES(47,39); INSERT INTO product_slots VALUES(47,40); INSERT INTO product_slots VALUES(47,43); @@ -11489,8 +21803,40 @@ INSERT INTO product_slots VALUES(47,241); INSERT INTO product_slots VALUES(47,242); INSERT INTO product_slots VALUES(47,243); INSERT INTO product_slots VALUES(47,244); +INSERT INTO product_slots VALUES(47,245); +INSERT INTO product_slots VALUES(47,246); +INSERT INTO product_slots VALUES(47,247); +INSERT INTO product_slots VALUES(47,248); +INSERT INTO product_slots VALUES(47,249); +INSERT INTO product_slots VALUES(47,250); +INSERT INTO product_slots VALUES(47,251); +INSERT INTO product_slots VALUES(47,252); +INSERT INTO product_slots VALUES(47,253); +INSERT INTO product_slots VALUES(47,254); +INSERT INTO product_slots VALUES(47,255); +INSERT INTO product_slots VALUES(47,256); +INSERT INTO product_slots VALUES(47,257); +INSERT INTO product_slots VALUES(47,258); +INSERT INTO product_slots VALUES(47,259); +INSERT INTO product_slots VALUES(47,260); +INSERT INTO product_slots VALUES(47,261); +INSERT INTO product_slots VALUES(47,262); +INSERT INTO product_slots VALUES(47,263); +INSERT INTO product_slots VALUES(47,264); +INSERT INTO product_slots VALUES(47,265); +INSERT INTO product_slots VALUES(47,266); +INSERT INTO product_slots VALUES(47,267); +INSERT INTO product_slots VALUES(47,268); +INSERT INTO product_slots VALUES(47,269); +INSERT INTO product_slots VALUES(47,270); +INSERT INTO product_slots VALUES(47,271); +INSERT INTO product_slots VALUES(47,272); +INSERT INTO product_slots VALUES(47,273); INSERT INTO product_slots VALUES(47,274); INSERT INTO product_slots VALUES(47,275); +INSERT INTO product_slots VALUES(47,276); +INSERT INTO product_slots VALUES(47,277); +INSERT INTO product_slots VALUES(47,278); INSERT INTO product_slots VALUES(47,279); INSERT INTO product_slots VALUES(47,280); INSERT INTO product_slots VALUES(47,281); @@ -11500,6 +21846,189 @@ INSERT INTO product_slots VALUES(47,284); INSERT INTO product_slots VALUES(47,285); INSERT INTO product_slots VALUES(47,286); INSERT INTO product_slots VALUES(47,287); +INSERT INTO product_slots VALUES(47,288); +INSERT INTO product_slots VALUES(47,289); +INSERT INTO product_slots VALUES(47,290); +INSERT INTO product_slots VALUES(47,291); +INSERT INTO product_slots VALUES(47,292); +INSERT INTO product_slots VALUES(47,293); +INSERT INTO product_slots VALUES(47,294); +INSERT INTO product_slots VALUES(47,295); +INSERT INTO product_slots VALUES(47,296); +INSERT INTO product_slots VALUES(47,297); +INSERT INTO product_slots VALUES(47,298); +INSERT INTO product_slots VALUES(47,299); +INSERT INTO product_slots VALUES(47,300); +INSERT INTO product_slots VALUES(47,301); +INSERT INTO product_slots VALUES(47,302); +INSERT INTO product_slots VALUES(47,303); +INSERT INTO product_slots VALUES(47,304); +INSERT INTO product_slots VALUES(47,305); +INSERT INTO product_slots VALUES(47,306); +INSERT INTO product_slots VALUES(47,307); +INSERT INTO product_slots VALUES(47,308); +INSERT INTO product_slots VALUES(47,309); +INSERT INTO product_slots VALUES(47,310); +INSERT INTO product_slots VALUES(47,311); +INSERT INTO product_slots VALUES(47,312); +INSERT INTO product_slots VALUES(47,313); +INSERT INTO product_slots VALUES(47,314); +INSERT INTO product_slots VALUES(47,315); +INSERT INTO product_slots VALUES(47,316); +INSERT INTO product_slots VALUES(47,317); +INSERT INTO product_slots VALUES(47,318); +INSERT INTO product_slots VALUES(47,319); +INSERT INTO product_slots VALUES(47,320); +INSERT INTO product_slots VALUES(47,321); +INSERT INTO product_slots VALUES(47,322); +INSERT INTO product_slots VALUES(47,323); +INSERT INTO product_slots VALUES(47,324); +INSERT INTO product_slots VALUES(47,325); +INSERT INTO product_slots VALUES(47,326); +INSERT INTO product_slots VALUES(47,327); +INSERT INTO product_slots VALUES(47,328); +INSERT INTO product_slots VALUES(47,329); +INSERT INTO product_slots VALUES(47,330); +INSERT INTO product_slots VALUES(47,331); +INSERT INTO product_slots VALUES(47,332); +INSERT INTO product_slots VALUES(47,333); +INSERT INTO product_slots VALUES(47,334); +INSERT INTO product_slots VALUES(47,335); +INSERT INTO product_slots VALUES(47,336); +INSERT INTO product_slots VALUES(47,337); +INSERT INTO product_slots VALUES(47,338); +INSERT INTO product_slots VALUES(47,339); +INSERT INTO product_slots VALUES(47,340); +INSERT INTO product_slots VALUES(47,341); +INSERT INTO product_slots VALUES(47,342); +INSERT INTO product_slots VALUES(47,343); +INSERT INTO product_slots VALUES(47,344); +INSERT INTO product_slots VALUES(47,345); +INSERT INTO product_slots VALUES(47,346); +INSERT INTO product_slots VALUES(47,347); +INSERT INTO product_slots VALUES(47,348); +INSERT INTO product_slots VALUES(47,349); +INSERT INTO product_slots VALUES(47,350); +INSERT INTO product_slots VALUES(47,351); +INSERT INTO product_slots VALUES(47,352); +INSERT INTO product_slots VALUES(47,353); +INSERT INTO product_slots VALUES(47,354); +INSERT INTO product_slots VALUES(47,355); +INSERT INTO product_slots VALUES(47,356); +INSERT INTO product_slots VALUES(47,357); +INSERT INTO product_slots VALUES(47,358); +INSERT INTO product_slots VALUES(47,359); +INSERT INTO product_slots VALUES(47,360); +INSERT INTO product_slots VALUES(47,361); +INSERT INTO product_slots VALUES(47,362); +INSERT INTO product_slots VALUES(47,363); +INSERT INTO product_slots VALUES(47,364); +INSERT INTO product_slots VALUES(47,365); +INSERT INTO product_slots VALUES(47,366); +INSERT INTO product_slots VALUES(47,367); +INSERT INTO product_slots VALUES(47,368); +INSERT INTO product_slots VALUES(47,369); +INSERT INTO product_slots VALUES(47,370); +INSERT INTO product_slots VALUES(47,371); +INSERT INTO product_slots VALUES(47,372); +INSERT INTO product_slots VALUES(47,373); +INSERT INTO product_slots VALUES(47,374); +INSERT INTO product_slots VALUES(47,375); +INSERT INTO product_slots VALUES(47,376); +INSERT INTO product_slots VALUES(47,377); +INSERT INTO product_slots VALUES(47,378); +INSERT INTO product_slots VALUES(47,379); +INSERT INTO product_slots VALUES(47,380); +INSERT INTO product_slots VALUES(47,381); +INSERT INTO product_slots VALUES(47,382); +INSERT INTO product_slots VALUES(47,383); +INSERT INTO product_slots VALUES(47,384); +INSERT INTO product_slots VALUES(47,385); +INSERT INTO product_slots VALUES(47,386); +INSERT INTO product_slots VALUES(47,387); +INSERT INTO product_slots VALUES(47,388); +INSERT INTO product_slots VALUES(47,389); +INSERT INTO product_slots VALUES(47,390); +INSERT INTO product_slots VALUES(47,391); +INSERT INTO product_slots VALUES(47,392); +INSERT INTO product_slots VALUES(47,393); +INSERT INTO product_slots VALUES(47,394); +INSERT INTO product_slots VALUES(47,395); +INSERT INTO product_slots VALUES(47,396); +INSERT INTO product_slots VALUES(47,397); +INSERT INTO product_slots VALUES(47,398); +INSERT INTO product_slots VALUES(47,399); +INSERT INTO product_slots VALUES(47,400); +INSERT INTO product_slots VALUES(47,401); +INSERT INTO product_slots VALUES(47,402); +INSERT INTO product_slots VALUES(47,403); +INSERT INTO product_slots VALUES(47,404); +INSERT INTO product_slots VALUES(47,405); +INSERT INTO product_slots VALUES(47,406); +INSERT INTO product_slots VALUES(47,407); +INSERT INTO product_slots VALUES(47,408); +INSERT INTO product_slots VALUES(47,409); +INSERT INTO product_slots VALUES(47,410); +INSERT INTO product_slots VALUES(47,411); +INSERT INTO product_slots VALUES(47,412); +INSERT INTO product_slots VALUES(47,413); +INSERT INTO product_slots VALUES(47,414); +INSERT INTO product_slots VALUES(47,415); +INSERT INTO product_slots VALUES(47,416); +INSERT INTO product_slots VALUES(47,417); +INSERT INTO product_slots VALUES(47,418); +INSERT INTO product_slots VALUES(47,419); +INSERT INTO product_slots VALUES(47,420); +INSERT INTO product_slots VALUES(47,421); +INSERT INTO product_slots VALUES(47,422); +INSERT INTO product_slots VALUES(47,423); +INSERT INTO product_slots VALUES(47,424); +INSERT INTO product_slots VALUES(47,425); +INSERT INTO product_slots VALUES(47,426); +INSERT INTO product_slots VALUES(47,427); +INSERT INTO product_slots VALUES(47,428); +INSERT INTO product_slots VALUES(47,429); +INSERT INTO product_slots VALUES(47,430); +INSERT INTO product_slots VALUES(47,431); +INSERT INTO product_slots VALUES(47,432); +INSERT INTO product_slots VALUES(47,433); +INSERT INTO product_slots VALUES(47,434); +INSERT INTO product_slots VALUES(47,435); +INSERT INTO product_slots VALUES(47,436); +INSERT INTO product_slots VALUES(47,437); +INSERT INTO product_slots VALUES(47,438); +INSERT INTO product_slots VALUES(47,439); +INSERT INTO product_slots VALUES(47,440); +INSERT INTO product_slots VALUES(47,441); +INSERT INTO product_slots VALUES(47,442); +INSERT INTO product_slots VALUES(47,443); +INSERT INTO product_slots VALUES(47,444); +INSERT INTO product_slots VALUES(47,445); +INSERT INTO product_slots VALUES(47,446); +INSERT INTO product_slots VALUES(47,447); +INSERT INTO product_slots VALUES(47,448); +INSERT INTO product_slots VALUES(47,449); +INSERT INTO product_slots VALUES(47,450); +INSERT INTO product_slots VALUES(47,451); +INSERT INTO product_slots VALUES(47,452); +INSERT INTO product_slots VALUES(47,453); +INSERT INTO product_slots VALUES(47,455); +INSERT INTO product_slots VALUES(47,456); +INSERT INTO product_slots VALUES(47,457); +INSERT INTO product_slots VALUES(47,458); +INSERT INTO product_slots VALUES(47,459); +INSERT INTO product_slots VALUES(47,460); +INSERT INTO product_slots VALUES(47,461); +INSERT INTO product_slots VALUES(47,462); +INSERT INTO product_slots VALUES(47,463); +INSERT INTO product_slots VALUES(47,464); +INSERT INTO product_slots VALUES(47,465); +INSERT INTO product_slots VALUES(47,466); +INSERT INTO product_slots VALUES(47,467); +INSERT INTO product_slots VALUES(47,468); +INSERT INTO product_slots VALUES(47,469); +INSERT INTO product_slots VALUES(47,470); +INSERT INTO product_slots VALUES(47,471); INSERT INTO product_slots VALUES(48,39); INSERT INTO product_slots VALUES(48,43); INSERT INTO product_slots VALUES(48,45); @@ -11693,8 +22222,40 @@ INSERT INTO product_slots VALUES(48,241); INSERT INTO product_slots VALUES(48,242); INSERT INTO product_slots VALUES(48,243); INSERT INTO product_slots VALUES(48,244); +INSERT INTO product_slots VALUES(48,245); +INSERT INTO product_slots VALUES(48,246); +INSERT INTO product_slots VALUES(48,247); +INSERT INTO product_slots VALUES(48,248); +INSERT INTO product_slots VALUES(48,249); +INSERT INTO product_slots VALUES(48,250); +INSERT INTO product_slots VALUES(48,251); +INSERT INTO product_slots VALUES(48,252); +INSERT INTO product_slots VALUES(48,253); +INSERT INTO product_slots VALUES(48,254); +INSERT INTO product_slots VALUES(48,255); +INSERT INTO product_slots VALUES(48,256); +INSERT INTO product_slots VALUES(48,257); +INSERT INTO product_slots VALUES(48,258); +INSERT INTO product_slots VALUES(48,259); +INSERT INTO product_slots VALUES(48,260); +INSERT INTO product_slots VALUES(48,261); +INSERT INTO product_slots VALUES(48,262); +INSERT INTO product_slots VALUES(48,263); +INSERT INTO product_slots VALUES(48,264); +INSERT INTO product_slots VALUES(48,265); +INSERT INTO product_slots VALUES(48,266); +INSERT INTO product_slots VALUES(48,267); +INSERT INTO product_slots VALUES(48,268); +INSERT INTO product_slots VALUES(48,269); +INSERT INTO product_slots VALUES(48,270); +INSERT INTO product_slots VALUES(48,271); +INSERT INTO product_slots VALUES(48,272); +INSERT INTO product_slots VALUES(48,273); INSERT INTO product_slots VALUES(48,274); INSERT INTO product_slots VALUES(48,275); +INSERT INTO product_slots VALUES(48,276); +INSERT INTO product_slots VALUES(48,277); +INSERT INTO product_slots VALUES(48,278); INSERT INTO product_slots VALUES(48,279); INSERT INTO product_slots VALUES(48,280); INSERT INTO product_slots VALUES(48,281); @@ -11704,6 +22265,190 @@ INSERT INTO product_slots VALUES(48,284); INSERT INTO product_slots VALUES(48,285); INSERT INTO product_slots VALUES(48,286); INSERT INTO product_slots VALUES(48,287); +INSERT INTO product_slots VALUES(48,288); +INSERT INTO product_slots VALUES(48,289); +INSERT INTO product_slots VALUES(48,290); +INSERT INTO product_slots VALUES(48,291); +INSERT INTO product_slots VALUES(48,292); +INSERT INTO product_slots VALUES(48,293); +INSERT INTO product_slots VALUES(48,294); +INSERT INTO product_slots VALUES(48,295); +INSERT INTO product_slots VALUES(48,296); +INSERT INTO product_slots VALUES(48,297); +INSERT INTO product_slots VALUES(48,298); +INSERT INTO product_slots VALUES(48,299); +INSERT INTO product_slots VALUES(48,300); +INSERT INTO product_slots VALUES(48,301); +INSERT INTO product_slots VALUES(48,302); +INSERT INTO product_slots VALUES(48,303); +INSERT INTO product_slots VALUES(48,304); +INSERT INTO product_slots VALUES(48,305); +INSERT INTO product_slots VALUES(48,306); +INSERT INTO product_slots VALUES(48,307); +INSERT INTO product_slots VALUES(48,308); +INSERT INTO product_slots VALUES(48,309); +INSERT INTO product_slots VALUES(48,310); +INSERT INTO product_slots VALUES(48,311); +INSERT INTO product_slots VALUES(48,312); +INSERT INTO product_slots VALUES(48,313); +INSERT INTO product_slots VALUES(48,314); +INSERT INTO product_slots VALUES(48,315); +INSERT INTO product_slots VALUES(48,316); +INSERT INTO product_slots VALUES(48,317); +INSERT INTO product_slots VALUES(48,318); +INSERT INTO product_slots VALUES(48,319); +INSERT INTO product_slots VALUES(48,320); +INSERT INTO product_slots VALUES(48,321); +INSERT INTO product_slots VALUES(48,322); +INSERT INTO product_slots VALUES(48,323); +INSERT INTO product_slots VALUES(48,324); +INSERT INTO product_slots VALUES(48,325); +INSERT INTO product_slots VALUES(48,326); +INSERT INTO product_slots VALUES(48,327); +INSERT INTO product_slots VALUES(48,328); +INSERT INTO product_slots VALUES(48,329); +INSERT INTO product_slots VALUES(48,330); +INSERT INTO product_slots VALUES(48,331); +INSERT INTO product_slots VALUES(48,332); +INSERT INTO product_slots VALUES(48,333); +INSERT INTO product_slots VALUES(48,334); +INSERT INTO product_slots VALUES(48,335); +INSERT INTO product_slots VALUES(48,336); +INSERT INTO product_slots VALUES(48,337); +INSERT INTO product_slots VALUES(48,338); +INSERT INTO product_slots VALUES(48,339); +INSERT INTO product_slots VALUES(48,340); +INSERT INTO product_slots VALUES(48,341); +INSERT INTO product_slots VALUES(48,342); +INSERT INTO product_slots VALUES(48,343); +INSERT INTO product_slots VALUES(48,344); +INSERT INTO product_slots VALUES(48,345); +INSERT INTO product_slots VALUES(48,346); +INSERT INTO product_slots VALUES(48,347); +INSERT INTO product_slots VALUES(48,348); +INSERT INTO product_slots VALUES(48,349); +INSERT INTO product_slots VALUES(48,350); +INSERT INTO product_slots VALUES(48,351); +INSERT INTO product_slots VALUES(48,352); +INSERT INTO product_slots VALUES(48,353); +INSERT INTO product_slots VALUES(48,354); +INSERT INTO product_slots VALUES(48,355); +INSERT INTO product_slots VALUES(48,356); +INSERT INTO product_slots VALUES(48,357); +INSERT INTO product_slots VALUES(48,358); +INSERT INTO product_slots VALUES(48,359); +INSERT INTO product_slots VALUES(48,360); +INSERT INTO product_slots VALUES(48,361); +INSERT INTO product_slots VALUES(48,362); +INSERT INTO product_slots VALUES(48,363); +INSERT INTO product_slots VALUES(48,364); +INSERT INTO product_slots VALUES(48,365); +INSERT INTO product_slots VALUES(48,366); +INSERT INTO product_slots VALUES(48,367); +INSERT INTO product_slots VALUES(48,368); +INSERT INTO product_slots VALUES(48,369); +INSERT INTO product_slots VALUES(48,370); +INSERT INTO product_slots VALUES(48,371); +INSERT INTO product_slots VALUES(48,372); +INSERT INTO product_slots VALUES(48,373); +INSERT INTO product_slots VALUES(48,374); +INSERT INTO product_slots VALUES(48,375); +INSERT INTO product_slots VALUES(48,376); +INSERT INTO product_slots VALUES(48,377); +INSERT INTO product_slots VALUES(48,378); +INSERT INTO product_slots VALUES(48,379); +INSERT INTO product_slots VALUES(48,380); +INSERT INTO product_slots VALUES(48,381); +INSERT INTO product_slots VALUES(48,382); +INSERT INTO product_slots VALUES(48,383); +INSERT INTO product_slots VALUES(48,384); +INSERT INTO product_slots VALUES(48,385); +INSERT INTO product_slots VALUES(48,386); +INSERT INTO product_slots VALUES(48,387); +INSERT INTO product_slots VALUES(48,388); +INSERT INTO product_slots VALUES(48,389); +INSERT INTO product_slots VALUES(48,390); +INSERT INTO product_slots VALUES(48,391); +INSERT INTO product_slots VALUES(48,392); +INSERT INTO product_slots VALUES(48,393); +INSERT INTO product_slots VALUES(48,394); +INSERT INTO product_slots VALUES(48,395); +INSERT INTO product_slots VALUES(48,396); +INSERT INTO product_slots VALUES(48,397); +INSERT INTO product_slots VALUES(48,398); +INSERT INTO product_slots VALUES(48,399); +INSERT INTO product_slots VALUES(48,400); +INSERT INTO product_slots VALUES(48,401); +INSERT INTO product_slots VALUES(48,402); +INSERT INTO product_slots VALUES(48,403); +INSERT INTO product_slots VALUES(48,404); +INSERT INTO product_slots VALUES(48,405); +INSERT INTO product_slots VALUES(48,406); +INSERT INTO product_slots VALUES(48,407); +INSERT INTO product_slots VALUES(48,408); +INSERT INTO product_slots VALUES(48,409); +INSERT INTO product_slots VALUES(48,410); +INSERT INTO product_slots VALUES(48,411); +INSERT INTO product_slots VALUES(48,412); +INSERT INTO product_slots VALUES(48,413); +INSERT INTO product_slots VALUES(48,414); +INSERT INTO product_slots VALUES(48,415); +INSERT INTO product_slots VALUES(48,416); +INSERT INTO product_slots VALUES(48,417); +INSERT INTO product_slots VALUES(48,418); +INSERT INTO product_slots VALUES(48,419); +INSERT INTO product_slots VALUES(48,420); +INSERT INTO product_slots VALUES(48,421); +INSERT INTO product_slots VALUES(48,422); +INSERT INTO product_slots VALUES(48,423); +INSERT INTO product_slots VALUES(48,424); +INSERT INTO product_slots VALUES(48,425); +INSERT INTO product_slots VALUES(48,426); +INSERT INTO product_slots VALUES(48,427); +INSERT INTO product_slots VALUES(48,428); +INSERT INTO product_slots VALUES(48,429); +INSERT INTO product_slots VALUES(48,430); +INSERT INTO product_slots VALUES(48,431); +INSERT INTO product_slots VALUES(48,432); +INSERT INTO product_slots VALUES(48,433); +INSERT INTO product_slots VALUES(48,434); +INSERT INTO product_slots VALUES(48,435); +INSERT INTO product_slots VALUES(48,436); +INSERT INTO product_slots VALUES(48,437); +INSERT INTO product_slots VALUES(48,438); +INSERT INTO product_slots VALUES(48,439); +INSERT INTO product_slots VALUES(48,440); +INSERT INTO product_slots VALUES(48,441); +INSERT INTO product_slots VALUES(48,442); +INSERT INTO product_slots VALUES(48,443); +INSERT INTO product_slots VALUES(48,444); +INSERT INTO product_slots VALUES(48,445); +INSERT INTO product_slots VALUES(48,446); +INSERT INTO product_slots VALUES(48,447); +INSERT INTO product_slots VALUES(48,448); +INSERT INTO product_slots VALUES(48,449); +INSERT INTO product_slots VALUES(48,450); +INSERT INTO product_slots VALUES(48,451); +INSERT INTO product_slots VALUES(48,452); +INSERT INTO product_slots VALUES(48,453); +INSERT INTO product_slots VALUES(48,454); +INSERT INTO product_slots VALUES(48,455); +INSERT INTO product_slots VALUES(48,456); +INSERT INTO product_slots VALUES(48,457); +INSERT INTO product_slots VALUES(48,458); +INSERT INTO product_slots VALUES(48,459); +INSERT INTO product_slots VALUES(48,460); +INSERT INTO product_slots VALUES(48,461); +INSERT INTO product_slots VALUES(48,462); +INSERT INTO product_slots VALUES(48,463); +INSERT INTO product_slots VALUES(48,464); +INSERT INTO product_slots VALUES(48,465); +INSERT INTO product_slots VALUES(48,466); +INSERT INTO product_slots VALUES(48,467); +INSERT INTO product_slots VALUES(48,468); +INSERT INTO product_slots VALUES(48,469); +INSERT INTO product_slots VALUES(48,470); +INSERT INTO product_slots VALUES(48,471); INSERT INTO product_slots VALUES(49,40); INSERT INTO product_slots VALUES(49,74); INSERT INTO product_slots VALUES(49,75); @@ -11853,8 +22598,40 @@ INSERT INTO product_slots VALUES(49,241); INSERT INTO product_slots VALUES(49,242); INSERT INTO product_slots VALUES(49,243); INSERT INTO product_slots VALUES(49,244); +INSERT INTO product_slots VALUES(49,245); +INSERT INTO product_slots VALUES(49,246); +INSERT INTO product_slots VALUES(49,247); +INSERT INTO product_slots VALUES(49,248); +INSERT INTO product_slots VALUES(49,249); +INSERT INTO product_slots VALUES(49,250); +INSERT INTO product_slots VALUES(49,251); +INSERT INTO product_slots VALUES(49,252); +INSERT INTO product_slots VALUES(49,253); +INSERT INTO product_slots VALUES(49,254); +INSERT INTO product_slots VALUES(49,255); +INSERT INTO product_slots VALUES(49,256); +INSERT INTO product_slots VALUES(49,257); +INSERT INTO product_slots VALUES(49,258); +INSERT INTO product_slots VALUES(49,259); +INSERT INTO product_slots VALUES(49,260); +INSERT INTO product_slots VALUES(49,261); +INSERT INTO product_slots VALUES(49,262); +INSERT INTO product_slots VALUES(49,263); +INSERT INTO product_slots VALUES(49,264); +INSERT INTO product_slots VALUES(49,265); +INSERT INTO product_slots VALUES(49,266); +INSERT INTO product_slots VALUES(49,267); +INSERT INTO product_slots VALUES(49,268); +INSERT INTO product_slots VALUES(49,269); +INSERT INTO product_slots VALUES(49,270); +INSERT INTO product_slots VALUES(49,271); +INSERT INTO product_slots VALUES(49,272); +INSERT INTO product_slots VALUES(49,273); INSERT INTO product_slots VALUES(49,274); INSERT INTO product_slots VALUES(49,275); +INSERT INTO product_slots VALUES(49,276); +INSERT INTO product_slots VALUES(49,277); +INSERT INTO product_slots VALUES(49,278); INSERT INTO product_slots VALUES(49,279); INSERT INTO product_slots VALUES(49,280); INSERT INTO product_slots VALUES(49,281); @@ -11864,6 +22641,189 @@ INSERT INTO product_slots VALUES(49,284); INSERT INTO product_slots VALUES(49,285); INSERT INTO product_slots VALUES(49,286); INSERT INTO product_slots VALUES(49,287); +INSERT INTO product_slots VALUES(49,288); +INSERT INTO product_slots VALUES(49,289); +INSERT INTO product_slots VALUES(49,290); +INSERT INTO product_slots VALUES(49,291); +INSERT INTO product_slots VALUES(49,292); +INSERT INTO product_slots VALUES(49,293); +INSERT INTO product_slots VALUES(49,294); +INSERT INTO product_slots VALUES(49,295); +INSERT INTO product_slots VALUES(49,296); +INSERT INTO product_slots VALUES(49,297); +INSERT INTO product_slots VALUES(49,298); +INSERT INTO product_slots VALUES(49,299); +INSERT INTO product_slots VALUES(49,300); +INSERT INTO product_slots VALUES(49,301); +INSERT INTO product_slots VALUES(49,302); +INSERT INTO product_slots VALUES(49,303); +INSERT INTO product_slots VALUES(49,304); +INSERT INTO product_slots VALUES(49,305); +INSERT INTO product_slots VALUES(49,306); +INSERT INTO product_slots VALUES(49,307); +INSERT INTO product_slots VALUES(49,308); +INSERT INTO product_slots VALUES(49,309); +INSERT INTO product_slots VALUES(49,310); +INSERT INTO product_slots VALUES(49,311); +INSERT INTO product_slots VALUES(49,312); +INSERT INTO product_slots VALUES(49,313); +INSERT INTO product_slots VALUES(49,314); +INSERT INTO product_slots VALUES(49,315); +INSERT INTO product_slots VALUES(49,316); +INSERT INTO product_slots VALUES(49,317); +INSERT INTO product_slots VALUES(49,318); +INSERT INTO product_slots VALUES(49,319); +INSERT INTO product_slots VALUES(49,320); +INSERT INTO product_slots VALUES(49,321); +INSERT INTO product_slots VALUES(49,322); +INSERT INTO product_slots VALUES(49,323); +INSERT INTO product_slots VALUES(49,324); +INSERT INTO product_slots VALUES(49,325); +INSERT INTO product_slots VALUES(49,326); +INSERT INTO product_slots VALUES(49,327); +INSERT INTO product_slots VALUES(49,328); +INSERT INTO product_slots VALUES(49,329); +INSERT INTO product_slots VALUES(49,330); +INSERT INTO product_slots VALUES(49,331); +INSERT INTO product_slots VALUES(49,332); +INSERT INTO product_slots VALUES(49,333); +INSERT INTO product_slots VALUES(49,334); +INSERT INTO product_slots VALUES(49,335); +INSERT INTO product_slots VALUES(49,336); +INSERT INTO product_slots VALUES(49,337); +INSERT INTO product_slots VALUES(49,338); +INSERT INTO product_slots VALUES(49,339); +INSERT INTO product_slots VALUES(49,340); +INSERT INTO product_slots VALUES(49,341); +INSERT INTO product_slots VALUES(49,342); +INSERT INTO product_slots VALUES(49,343); +INSERT INTO product_slots VALUES(49,344); +INSERT INTO product_slots VALUES(49,345); +INSERT INTO product_slots VALUES(49,346); +INSERT INTO product_slots VALUES(49,347); +INSERT INTO product_slots VALUES(49,348); +INSERT INTO product_slots VALUES(49,349); +INSERT INTO product_slots VALUES(49,350); +INSERT INTO product_slots VALUES(49,351); +INSERT INTO product_slots VALUES(49,352); +INSERT INTO product_slots VALUES(49,353); +INSERT INTO product_slots VALUES(49,354); +INSERT INTO product_slots VALUES(49,355); +INSERT INTO product_slots VALUES(49,356); +INSERT INTO product_slots VALUES(49,357); +INSERT INTO product_slots VALUES(49,358); +INSERT INTO product_slots VALUES(49,359); +INSERT INTO product_slots VALUES(49,360); +INSERT INTO product_slots VALUES(49,361); +INSERT INTO product_slots VALUES(49,362); +INSERT INTO product_slots VALUES(49,363); +INSERT INTO product_slots VALUES(49,364); +INSERT INTO product_slots VALUES(49,365); +INSERT INTO product_slots VALUES(49,366); +INSERT INTO product_slots VALUES(49,367); +INSERT INTO product_slots VALUES(49,368); +INSERT INTO product_slots VALUES(49,369); +INSERT INTO product_slots VALUES(49,370); +INSERT INTO product_slots VALUES(49,371); +INSERT INTO product_slots VALUES(49,372); +INSERT INTO product_slots VALUES(49,373); +INSERT INTO product_slots VALUES(49,374); +INSERT INTO product_slots VALUES(49,375); +INSERT INTO product_slots VALUES(49,376); +INSERT INTO product_slots VALUES(49,377); +INSERT INTO product_slots VALUES(49,378); +INSERT INTO product_slots VALUES(49,379); +INSERT INTO product_slots VALUES(49,380); +INSERT INTO product_slots VALUES(49,381); +INSERT INTO product_slots VALUES(49,382); +INSERT INTO product_slots VALUES(49,383); +INSERT INTO product_slots VALUES(49,384); +INSERT INTO product_slots VALUES(49,385); +INSERT INTO product_slots VALUES(49,386); +INSERT INTO product_slots VALUES(49,387); +INSERT INTO product_slots VALUES(49,388); +INSERT INTO product_slots VALUES(49,389); +INSERT INTO product_slots VALUES(49,390); +INSERT INTO product_slots VALUES(49,391); +INSERT INTO product_slots VALUES(49,392); +INSERT INTO product_slots VALUES(49,393); +INSERT INTO product_slots VALUES(49,394); +INSERT INTO product_slots VALUES(49,395); +INSERT INTO product_slots VALUES(49,396); +INSERT INTO product_slots VALUES(49,397); +INSERT INTO product_slots VALUES(49,398); +INSERT INTO product_slots VALUES(49,399); +INSERT INTO product_slots VALUES(49,400); +INSERT INTO product_slots VALUES(49,401); +INSERT INTO product_slots VALUES(49,402); +INSERT INTO product_slots VALUES(49,403); +INSERT INTO product_slots VALUES(49,404); +INSERT INTO product_slots VALUES(49,405); +INSERT INTO product_slots VALUES(49,406); +INSERT INTO product_slots VALUES(49,407); +INSERT INTO product_slots VALUES(49,408); +INSERT INTO product_slots VALUES(49,409); +INSERT INTO product_slots VALUES(49,410); +INSERT INTO product_slots VALUES(49,411); +INSERT INTO product_slots VALUES(49,412); +INSERT INTO product_slots VALUES(49,413); +INSERT INTO product_slots VALUES(49,414); +INSERT INTO product_slots VALUES(49,415); +INSERT INTO product_slots VALUES(49,416); +INSERT INTO product_slots VALUES(49,417); +INSERT INTO product_slots VALUES(49,418); +INSERT INTO product_slots VALUES(49,419); +INSERT INTO product_slots VALUES(49,420); +INSERT INTO product_slots VALUES(49,421); +INSERT INTO product_slots VALUES(49,422); +INSERT INTO product_slots VALUES(49,423); +INSERT INTO product_slots VALUES(49,424); +INSERT INTO product_slots VALUES(49,425); +INSERT INTO product_slots VALUES(49,426); +INSERT INTO product_slots VALUES(49,427); +INSERT INTO product_slots VALUES(49,428); +INSERT INTO product_slots VALUES(49,429); +INSERT INTO product_slots VALUES(49,430); +INSERT INTO product_slots VALUES(49,431); +INSERT INTO product_slots VALUES(49,432); +INSERT INTO product_slots VALUES(49,433); +INSERT INTO product_slots VALUES(49,434); +INSERT INTO product_slots VALUES(49,435); +INSERT INTO product_slots VALUES(49,436); +INSERT INTO product_slots VALUES(49,437); +INSERT INTO product_slots VALUES(49,438); +INSERT INTO product_slots VALUES(49,439); +INSERT INTO product_slots VALUES(49,440); +INSERT INTO product_slots VALUES(49,441); +INSERT INTO product_slots VALUES(49,442); +INSERT INTO product_slots VALUES(49,443); +INSERT INTO product_slots VALUES(49,444); +INSERT INTO product_slots VALUES(49,445); +INSERT INTO product_slots VALUES(49,446); +INSERT INTO product_slots VALUES(49,447); +INSERT INTO product_slots VALUES(49,448); +INSERT INTO product_slots VALUES(49,449); +INSERT INTO product_slots VALUES(49,450); +INSERT INTO product_slots VALUES(49,451); +INSERT INTO product_slots VALUES(49,452); +INSERT INTO product_slots VALUES(49,453); +INSERT INTO product_slots VALUES(49,455); +INSERT INTO product_slots VALUES(49,456); +INSERT INTO product_slots VALUES(49,457); +INSERT INTO product_slots VALUES(49,458); +INSERT INTO product_slots VALUES(49,459); +INSERT INTO product_slots VALUES(49,460); +INSERT INTO product_slots VALUES(49,461); +INSERT INTO product_slots VALUES(49,462); +INSERT INTO product_slots VALUES(49,463); +INSERT INTO product_slots VALUES(49,464); +INSERT INTO product_slots VALUES(49,465); +INSERT INTO product_slots VALUES(49,466); +INSERT INTO product_slots VALUES(49,467); +INSERT INTO product_slots VALUES(49,468); +INSERT INTO product_slots VALUES(49,469); +INSERT INTO product_slots VALUES(49,470); +INSERT INTO product_slots VALUES(49,471); INSERT INTO product_slots VALUES(50,39); INSERT INTO product_slots VALUES(50,40); INSERT INTO product_slots VALUES(50,43); @@ -12059,8 +23019,40 @@ INSERT INTO product_slots VALUES(50,241); INSERT INTO product_slots VALUES(50,242); INSERT INTO product_slots VALUES(50,243); INSERT INTO product_slots VALUES(50,244); +INSERT INTO product_slots VALUES(50,245); +INSERT INTO product_slots VALUES(50,246); +INSERT INTO product_slots VALUES(50,247); +INSERT INTO product_slots VALUES(50,248); +INSERT INTO product_slots VALUES(50,249); +INSERT INTO product_slots VALUES(50,250); +INSERT INTO product_slots VALUES(50,251); +INSERT INTO product_slots VALUES(50,252); +INSERT INTO product_slots VALUES(50,253); +INSERT INTO product_slots VALUES(50,254); +INSERT INTO product_slots VALUES(50,255); +INSERT INTO product_slots VALUES(50,256); +INSERT INTO product_slots VALUES(50,257); +INSERT INTO product_slots VALUES(50,258); +INSERT INTO product_slots VALUES(50,259); +INSERT INTO product_slots VALUES(50,260); +INSERT INTO product_slots VALUES(50,261); +INSERT INTO product_slots VALUES(50,262); +INSERT INTO product_slots VALUES(50,263); +INSERT INTO product_slots VALUES(50,264); +INSERT INTO product_slots VALUES(50,265); +INSERT INTO product_slots VALUES(50,266); +INSERT INTO product_slots VALUES(50,267); +INSERT INTO product_slots VALUES(50,268); +INSERT INTO product_slots VALUES(50,269); +INSERT INTO product_slots VALUES(50,270); +INSERT INTO product_slots VALUES(50,271); +INSERT INTO product_slots VALUES(50,272); +INSERT INTO product_slots VALUES(50,273); INSERT INTO product_slots VALUES(50,274); INSERT INTO product_slots VALUES(50,275); +INSERT INTO product_slots VALUES(50,276); +INSERT INTO product_slots VALUES(50,277); +INSERT INTO product_slots VALUES(50,278); INSERT INTO product_slots VALUES(50,279); INSERT INTO product_slots VALUES(50,280); INSERT INTO product_slots VALUES(50,281); @@ -12070,6 +23062,189 @@ INSERT INTO product_slots VALUES(50,284); INSERT INTO product_slots VALUES(50,285); INSERT INTO product_slots VALUES(50,286); INSERT INTO product_slots VALUES(50,287); +INSERT INTO product_slots VALUES(50,288); +INSERT INTO product_slots VALUES(50,289); +INSERT INTO product_slots VALUES(50,290); +INSERT INTO product_slots VALUES(50,291); +INSERT INTO product_slots VALUES(50,292); +INSERT INTO product_slots VALUES(50,293); +INSERT INTO product_slots VALUES(50,294); +INSERT INTO product_slots VALUES(50,295); +INSERT INTO product_slots VALUES(50,296); +INSERT INTO product_slots VALUES(50,297); +INSERT INTO product_slots VALUES(50,298); +INSERT INTO product_slots VALUES(50,299); +INSERT INTO product_slots VALUES(50,300); +INSERT INTO product_slots VALUES(50,301); +INSERT INTO product_slots VALUES(50,302); +INSERT INTO product_slots VALUES(50,303); +INSERT INTO product_slots VALUES(50,304); +INSERT INTO product_slots VALUES(50,305); +INSERT INTO product_slots VALUES(50,306); +INSERT INTO product_slots VALUES(50,307); +INSERT INTO product_slots VALUES(50,308); +INSERT INTO product_slots VALUES(50,309); +INSERT INTO product_slots VALUES(50,310); +INSERT INTO product_slots VALUES(50,311); +INSERT INTO product_slots VALUES(50,312); +INSERT INTO product_slots VALUES(50,313); +INSERT INTO product_slots VALUES(50,314); +INSERT INTO product_slots VALUES(50,315); +INSERT INTO product_slots VALUES(50,316); +INSERT INTO product_slots VALUES(50,317); +INSERT INTO product_slots VALUES(50,318); +INSERT INTO product_slots VALUES(50,319); +INSERT INTO product_slots VALUES(50,320); +INSERT INTO product_slots VALUES(50,321); +INSERT INTO product_slots VALUES(50,322); +INSERT INTO product_slots VALUES(50,323); +INSERT INTO product_slots VALUES(50,324); +INSERT INTO product_slots VALUES(50,325); +INSERT INTO product_slots VALUES(50,326); +INSERT INTO product_slots VALUES(50,327); +INSERT INTO product_slots VALUES(50,328); +INSERT INTO product_slots VALUES(50,329); +INSERT INTO product_slots VALUES(50,330); +INSERT INTO product_slots VALUES(50,331); +INSERT INTO product_slots VALUES(50,332); +INSERT INTO product_slots VALUES(50,333); +INSERT INTO product_slots VALUES(50,334); +INSERT INTO product_slots VALUES(50,335); +INSERT INTO product_slots VALUES(50,336); +INSERT INTO product_slots VALUES(50,337); +INSERT INTO product_slots VALUES(50,338); +INSERT INTO product_slots VALUES(50,339); +INSERT INTO product_slots VALUES(50,340); +INSERT INTO product_slots VALUES(50,341); +INSERT INTO product_slots VALUES(50,342); +INSERT INTO product_slots VALUES(50,343); +INSERT INTO product_slots VALUES(50,344); +INSERT INTO product_slots VALUES(50,345); +INSERT INTO product_slots VALUES(50,346); +INSERT INTO product_slots VALUES(50,347); +INSERT INTO product_slots VALUES(50,348); +INSERT INTO product_slots VALUES(50,349); +INSERT INTO product_slots VALUES(50,350); +INSERT INTO product_slots VALUES(50,351); +INSERT INTO product_slots VALUES(50,352); +INSERT INTO product_slots VALUES(50,353); +INSERT INTO product_slots VALUES(50,354); +INSERT INTO product_slots VALUES(50,355); +INSERT INTO product_slots VALUES(50,356); +INSERT INTO product_slots VALUES(50,357); +INSERT INTO product_slots VALUES(50,358); +INSERT INTO product_slots VALUES(50,359); +INSERT INTO product_slots VALUES(50,360); +INSERT INTO product_slots VALUES(50,361); +INSERT INTO product_slots VALUES(50,362); +INSERT INTO product_slots VALUES(50,363); +INSERT INTO product_slots VALUES(50,364); +INSERT INTO product_slots VALUES(50,365); +INSERT INTO product_slots VALUES(50,366); +INSERT INTO product_slots VALUES(50,367); +INSERT INTO product_slots VALUES(50,368); +INSERT INTO product_slots VALUES(50,369); +INSERT INTO product_slots VALUES(50,370); +INSERT INTO product_slots VALUES(50,371); +INSERT INTO product_slots VALUES(50,372); +INSERT INTO product_slots VALUES(50,373); +INSERT INTO product_slots VALUES(50,374); +INSERT INTO product_slots VALUES(50,375); +INSERT INTO product_slots VALUES(50,376); +INSERT INTO product_slots VALUES(50,377); +INSERT INTO product_slots VALUES(50,378); +INSERT INTO product_slots VALUES(50,379); +INSERT INTO product_slots VALUES(50,380); +INSERT INTO product_slots VALUES(50,381); +INSERT INTO product_slots VALUES(50,382); +INSERT INTO product_slots VALUES(50,383); +INSERT INTO product_slots VALUES(50,384); +INSERT INTO product_slots VALUES(50,385); +INSERT INTO product_slots VALUES(50,386); +INSERT INTO product_slots VALUES(50,387); +INSERT INTO product_slots VALUES(50,388); +INSERT INTO product_slots VALUES(50,389); +INSERT INTO product_slots VALUES(50,390); +INSERT INTO product_slots VALUES(50,391); +INSERT INTO product_slots VALUES(50,392); +INSERT INTO product_slots VALUES(50,393); +INSERT INTO product_slots VALUES(50,394); +INSERT INTO product_slots VALUES(50,395); +INSERT INTO product_slots VALUES(50,396); +INSERT INTO product_slots VALUES(50,397); +INSERT INTO product_slots VALUES(50,398); +INSERT INTO product_slots VALUES(50,399); +INSERT INTO product_slots VALUES(50,400); +INSERT INTO product_slots VALUES(50,401); +INSERT INTO product_slots VALUES(50,402); +INSERT INTO product_slots VALUES(50,403); +INSERT INTO product_slots VALUES(50,404); +INSERT INTO product_slots VALUES(50,405); +INSERT INTO product_slots VALUES(50,406); +INSERT INTO product_slots VALUES(50,407); +INSERT INTO product_slots VALUES(50,408); +INSERT INTO product_slots VALUES(50,409); +INSERT INTO product_slots VALUES(50,410); +INSERT INTO product_slots VALUES(50,411); +INSERT INTO product_slots VALUES(50,412); +INSERT INTO product_slots VALUES(50,413); +INSERT INTO product_slots VALUES(50,414); +INSERT INTO product_slots VALUES(50,415); +INSERT INTO product_slots VALUES(50,416); +INSERT INTO product_slots VALUES(50,417); +INSERT INTO product_slots VALUES(50,418); +INSERT INTO product_slots VALUES(50,419); +INSERT INTO product_slots VALUES(50,420); +INSERT INTO product_slots VALUES(50,421); +INSERT INTO product_slots VALUES(50,422); +INSERT INTO product_slots VALUES(50,423); +INSERT INTO product_slots VALUES(50,424); +INSERT INTO product_slots VALUES(50,425); +INSERT INTO product_slots VALUES(50,426); +INSERT INTO product_slots VALUES(50,427); +INSERT INTO product_slots VALUES(50,428); +INSERT INTO product_slots VALUES(50,429); +INSERT INTO product_slots VALUES(50,430); +INSERT INTO product_slots VALUES(50,431); +INSERT INTO product_slots VALUES(50,432); +INSERT INTO product_slots VALUES(50,433); +INSERT INTO product_slots VALUES(50,434); +INSERT INTO product_slots VALUES(50,435); +INSERT INTO product_slots VALUES(50,436); +INSERT INTO product_slots VALUES(50,437); +INSERT INTO product_slots VALUES(50,438); +INSERT INTO product_slots VALUES(50,439); +INSERT INTO product_slots VALUES(50,440); +INSERT INTO product_slots VALUES(50,441); +INSERT INTO product_slots VALUES(50,442); +INSERT INTO product_slots VALUES(50,443); +INSERT INTO product_slots VALUES(50,444); +INSERT INTO product_slots VALUES(50,445); +INSERT INTO product_slots VALUES(50,446); +INSERT INTO product_slots VALUES(50,447); +INSERT INTO product_slots VALUES(50,448); +INSERT INTO product_slots VALUES(50,449); +INSERT INTO product_slots VALUES(50,450); +INSERT INTO product_slots VALUES(50,451); +INSERT INTO product_slots VALUES(50,452); +INSERT INTO product_slots VALUES(50,453); +INSERT INTO product_slots VALUES(50,455); +INSERT INTO product_slots VALUES(50,456); +INSERT INTO product_slots VALUES(50,457); +INSERT INTO product_slots VALUES(50,458); +INSERT INTO product_slots VALUES(50,459); +INSERT INTO product_slots VALUES(50,460); +INSERT INTO product_slots VALUES(50,461); +INSERT INTO product_slots VALUES(50,462); +INSERT INTO product_slots VALUES(50,463); +INSERT INTO product_slots VALUES(50,464); +INSERT INTO product_slots VALUES(50,465); +INSERT INTO product_slots VALUES(50,466); +INSERT INTO product_slots VALUES(50,467); +INSERT INTO product_slots VALUES(50,468); +INSERT INTO product_slots VALUES(50,469); +INSERT INTO product_slots VALUES(50,470); +INSERT INTO product_slots VALUES(50,471); INSERT INTO product_slots VALUES(51,40); INSERT INTO product_slots VALUES(51,64); INSERT INTO product_slots VALUES(51,65); @@ -12248,8 +23423,40 @@ INSERT INTO product_slots VALUES(51,241); INSERT INTO product_slots VALUES(51,242); INSERT INTO product_slots VALUES(51,243); INSERT INTO product_slots VALUES(51,244); +INSERT INTO product_slots VALUES(51,245); +INSERT INTO product_slots VALUES(51,246); +INSERT INTO product_slots VALUES(51,247); +INSERT INTO product_slots VALUES(51,248); +INSERT INTO product_slots VALUES(51,249); +INSERT INTO product_slots VALUES(51,250); +INSERT INTO product_slots VALUES(51,251); +INSERT INTO product_slots VALUES(51,252); +INSERT INTO product_slots VALUES(51,253); +INSERT INTO product_slots VALUES(51,254); +INSERT INTO product_slots VALUES(51,255); +INSERT INTO product_slots VALUES(51,256); +INSERT INTO product_slots VALUES(51,257); +INSERT INTO product_slots VALUES(51,258); +INSERT INTO product_slots VALUES(51,259); +INSERT INTO product_slots VALUES(51,260); +INSERT INTO product_slots VALUES(51,261); +INSERT INTO product_slots VALUES(51,262); +INSERT INTO product_slots VALUES(51,263); +INSERT INTO product_slots VALUES(51,264); +INSERT INTO product_slots VALUES(51,265); +INSERT INTO product_slots VALUES(51,266); +INSERT INTO product_slots VALUES(51,267); +INSERT INTO product_slots VALUES(51,268); +INSERT INTO product_slots VALUES(51,269); +INSERT INTO product_slots VALUES(51,270); +INSERT INTO product_slots VALUES(51,271); +INSERT INTO product_slots VALUES(51,272); +INSERT INTO product_slots VALUES(51,273); INSERT INTO product_slots VALUES(51,274); INSERT INTO product_slots VALUES(51,275); +INSERT INTO product_slots VALUES(51,276); +INSERT INTO product_slots VALUES(51,277); +INSERT INTO product_slots VALUES(51,278); INSERT INTO product_slots VALUES(51,279); INSERT INTO product_slots VALUES(51,280); INSERT INTO product_slots VALUES(51,281); @@ -12259,6 +23466,189 @@ INSERT INTO product_slots VALUES(51,284); INSERT INTO product_slots VALUES(51,285); INSERT INTO product_slots VALUES(51,286); INSERT INTO product_slots VALUES(51,287); +INSERT INTO product_slots VALUES(51,288); +INSERT INTO product_slots VALUES(51,289); +INSERT INTO product_slots VALUES(51,290); +INSERT INTO product_slots VALUES(51,291); +INSERT INTO product_slots VALUES(51,292); +INSERT INTO product_slots VALUES(51,293); +INSERT INTO product_slots VALUES(51,294); +INSERT INTO product_slots VALUES(51,295); +INSERT INTO product_slots VALUES(51,296); +INSERT INTO product_slots VALUES(51,297); +INSERT INTO product_slots VALUES(51,298); +INSERT INTO product_slots VALUES(51,299); +INSERT INTO product_slots VALUES(51,300); +INSERT INTO product_slots VALUES(51,301); +INSERT INTO product_slots VALUES(51,302); +INSERT INTO product_slots VALUES(51,303); +INSERT INTO product_slots VALUES(51,304); +INSERT INTO product_slots VALUES(51,305); +INSERT INTO product_slots VALUES(51,306); +INSERT INTO product_slots VALUES(51,307); +INSERT INTO product_slots VALUES(51,308); +INSERT INTO product_slots VALUES(51,309); +INSERT INTO product_slots VALUES(51,310); +INSERT INTO product_slots VALUES(51,311); +INSERT INTO product_slots VALUES(51,312); +INSERT INTO product_slots VALUES(51,313); +INSERT INTO product_slots VALUES(51,314); +INSERT INTO product_slots VALUES(51,315); +INSERT INTO product_slots VALUES(51,316); +INSERT INTO product_slots VALUES(51,317); +INSERT INTO product_slots VALUES(51,318); +INSERT INTO product_slots VALUES(51,319); +INSERT INTO product_slots VALUES(51,320); +INSERT INTO product_slots VALUES(51,321); +INSERT INTO product_slots VALUES(51,322); +INSERT INTO product_slots VALUES(51,323); +INSERT INTO product_slots VALUES(51,324); +INSERT INTO product_slots VALUES(51,325); +INSERT INTO product_slots VALUES(51,326); +INSERT INTO product_slots VALUES(51,327); +INSERT INTO product_slots VALUES(51,328); +INSERT INTO product_slots VALUES(51,329); +INSERT INTO product_slots VALUES(51,330); +INSERT INTO product_slots VALUES(51,331); +INSERT INTO product_slots VALUES(51,332); +INSERT INTO product_slots VALUES(51,333); +INSERT INTO product_slots VALUES(51,334); +INSERT INTO product_slots VALUES(51,335); +INSERT INTO product_slots VALUES(51,336); +INSERT INTO product_slots VALUES(51,337); +INSERT INTO product_slots VALUES(51,338); +INSERT INTO product_slots VALUES(51,339); +INSERT INTO product_slots VALUES(51,340); +INSERT INTO product_slots VALUES(51,341); +INSERT INTO product_slots VALUES(51,342); +INSERT INTO product_slots VALUES(51,343); +INSERT INTO product_slots VALUES(51,344); +INSERT INTO product_slots VALUES(51,345); +INSERT INTO product_slots VALUES(51,346); +INSERT INTO product_slots VALUES(51,347); +INSERT INTO product_slots VALUES(51,348); +INSERT INTO product_slots VALUES(51,349); +INSERT INTO product_slots VALUES(51,350); +INSERT INTO product_slots VALUES(51,351); +INSERT INTO product_slots VALUES(51,352); +INSERT INTO product_slots VALUES(51,353); +INSERT INTO product_slots VALUES(51,354); +INSERT INTO product_slots VALUES(51,355); +INSERT INTO product_slots VALUES(51,356); +INSERT INTO product_slots VALUES(51,357); +INSERT INTO product_slots VALUES(51,358); +INSERT INTO product_slots VALUES(51,359); +INSERT INTO product_slots VALUES(51,360); +INSERT INTO product_slots VALUES(51,361); +INSERT INTO product_slots VALUES(51,362); +INSERT INTO product_slots VALUES(51,363); +INSERT INTO product_slots VALUES(51,364); +INSERT INTO product_slots VALUES(51,365); +INSERT INTO product_slots VALUES(51,366); +INSERT INTO product_slots VALUES(51,367); +INSERT INTO product_slots VALUES(51,368); +INSERT INTO product_slots VALUES(51,369); +INSERT INTO product_slots VALUES(51,370); +INSERT INTO product_slots VALUES(51,371); +INSERT INTO product_slots VALUES(51,372); +INSERT INTO product_slots VALUES(51,373); +INSERT INTO product_slots VALUES(51,374); +INSERT INTO product_slots VALUES(51,375); +INSERT INTO product_slots VALUES(51,376); +INSERT INTO product_slots VALUES(51,377); +INSERT INTO product_slots VALUES(51,378); +INSERT INTO product_slots VALUES(51,379); +INSERT INTO product_slots VALUES(51,380); +INSERT INTO product_slots VALUES(51,381); +INSERT INTO product_slots VALUES(51,382); +INSERT INTO product_slots VALUES(51,383); +INSERT INTO product_slots VALUES(51,384); +INSERT INTO product_slots VALUES(51,385); +INSERT INTO product_slots VALUES(51,386); +INSERT INTO product_slots VALUES(51,387); +INSERT INTO product_slots VALUES(51,388); +INSERT INTO product_slots VALUES(51,389); +INSERT INTO product_slots VALUES(51,390); +INSERT INTO product_slots VALUES(51,391); +INSERT INTO product_slots VALUES(51,392); +INSERT INTO product_slots VALUES(51,393); +INSERT INTO product_slots VALUES(51,394); +INSERT INTO product_slots VALUES(51,395); +INSERT INTO product_slots VALUES(51,396); +INSERT INTO product_slots VALUES(51,397); +INSERT INTO product_slots VALUES(51,398); +INSERT INTO product_slots VALUES(51,399); +INSERT INTO product_slots VALUES(51,400); +INSERT INTO product_slots VALUES(51,401); +INSERT INTO product_slots VALUES(51,402); +INSERT INTO product_slots VALUES(51,403); +INSERT INTO product_slots VALUES(51,404); +INSERT INTO product_slots VALUES(51,405); +INSERT INTO product_slots VALUES(51,406); +INSERT INTO product_slots VALUES(51,407); +INSERT INTO product_slots VALUES(51,408); +INSERT INTO product_slots VALUES(51,409); +INSERT INTO product_slots VALUES(51,410); +INSERT INTO product_slots VALUES(51,411); +INSERT INTO product_slots VALUES(51,412); +INSERT INTO product_slots VALUES(51,413); +INSERT INTO product_slots VALUES(51,414); +INSERT INTO product_slots VALUES(51,415); +INSERT INTO product_slots VALUES(51,416); +INSERT INTO product_slots VALUES(51,417); +INSERT INTO product_slots VALUES(51,418); +INSERT INTO product_slots VALUES(51,419); +INSERT INTO product_slots VALUES(51,420); +INSERT INTO product_slots VALUES(51,421); +INSERT INTO product_slots VALUES(51,422); +INSERT INTO product_slots VALUES(51,423); +INSERT INTO product_slots VALUES(51,424); +INSERT INTO product_slots VALUES(51,425); +INSERT INTO product_slots VALUES(51,426); +INSERT INTO product_slots VALUES(51,427); +INSERT INTO product_slots VALUES(51,428); +INSERT INTO product_slots VALUES(51,429); +INSERT INTO product_slots VALUES(51,430); +INSERT INTO product_slots VALUES(51,431); +INSERT INTO product_slots VALUES(51,432); +INSERT INTO product_slots VALUES(51,433); +INSERT INTO product_slots VALUES(51,434); +INSERT INTO product_slots VALUES(51,435); +INSERT INTO product_slots VALUES(51,436); +INSERT INTO product_slots VALUES(51,437); +INSERT INTO product_slots VALUES(51,438); +INSERT INTO product_slots VALUES(51,439); +INSERT INTO product_slots VALUES(51,440); +INSERT INTO product_slots VALUES(51,441); +INSERT INTO product_slots VALUES(51,442); +INSERT INTO product_slots VALUES(51,443); +INSERT INTO product_slots VALUES(51,444); +INSERT INTO product_slots VALUES(51,445); +INSERT INTO product_slots VALUES(51,446); +INSERT INTO product_slots VALUES(51,447); +INSERT INTO product_slots VALUES(51,448); +INSERT INTO product_slots VALUES(51,449); +INSERT INTO product_slots VALUES(51,450); +INSERT INTO product_slots VALUES(51,451); +INSERT INTO product_slots VALUES(51,452); +INSERT INTO product_slots VALUES(51,453); +INSERT INTO product_slots VALUES(51,455); +INSERT INTO product_slots VALUES(51,456); +INSERT INTO product_slots VALUES(51,457); +INSERT INTO product_slots VALUES(51,458); +INSERT INTO product_slots VALUES(51,459); +INSERT INTO product_slots VALUES(51,460); +INSERT INTO product_slots VALUES(51,461); +INSERT INTO product_slots VALUES(51,462); +INSERT INTO product_slots VALUES(51,463); +INSERT INTO product_slots VALUES(51,464); +INSERT INTO product_slots VALUES(51,465); +INSERT INTO product_slots VALUES(51,466); +INSERT INTO product_slots VALUES(51,467); +INSERT INTO product_slots VALUES(51,468); +INSERT INTO product_slots VALUES(51,469); +INSERT INTO product_slots VALUES(51,470); +INSERT INTO product_slots VALUES(51,471); INSERT INTO product_slots VALUES(52,40); INSERT INTO product_slots VALUES(52,64); INSERT INTO product_slots VALUES(52,65); @@ -12437,8 +23827,40 @@ INSERT INTO product_slots VALUES(52,241); INSERT INTO product_slots VALUES(52,242); INSERT INTO product_slots VALUES(52,243); INSERT INTO product_slots VALUES(52,244); +INSERT INTO product_slots VALUES(52,245); +INSERT INTO product_slots VALUES(52,246); +INSERT INTO product_slots VALUES(52,247); +INSERT INTO product_slots VALUES(52,248); +INSERT INTO product_slots VALUES(52,249); +INSERT INTO product_slots VALUES(52,250); +INSERT INTO product_slots VALUES(52,251); +INSERT INTO product_slots VALUES(52,252); +INSERT INTO product_slots VALUES(52,253); +INSERT INTO product_slots VALUES(52,254); +INSERT INTO product_slots VALUES(52,255); +INSERT INTO product_slots VALUES(52,256); +INSERT INTO product_slots VALUES(52,257); +INSERT INTO product_slots VALUES(52,258); +INSERT INTO product_slots VALUES(52,259); +INSERT INTO product_slots VALUES(52,260); +INSERT INTO product_slots VALUES(52,261); +INSERT INTO product_slots VALUES(52,262); +INSERT INTO product_slots VALUES(52,263); +INSERT INTO product_slots VALUES(52,264); +INSERT INTO product_slots VALUES(52,265); +INSERT INTO product_slots VALUES(52,266); +INSERT INTO product_slots VALUES(52,267); +INSERT INTO product_slots VALUES(52,268); +INSERT INTO product_slots VALUES(52,269); +INSERT INTO product_slots VALUES(52,270); +INSERT INTO product_slots VALUES(52,271); +INSERT INTO product_slots VALUES(52,272); +INSERT INTO product_slots VALUES(52,273); INSERT INTO product_slots VALUES(52,274); INSERT INTO product_slots VALUES(52,275); +INSERT INTO product_slots VALUES(52,276); +INSERT INTO product_slots VALUES(52,277); +INSERT INTO product_slots VALUES(52,278); INSERT INTO product_slots VALUES(52,279); INSERT INTO product_slots VALUES(52,280); INSERT INTO product_slots VALUES(52,281); @@ -12448,6 +23870,189 @@ INSERT INTO product_slots VALUES(52,284); INSERT INTO product_slots VALUES(52,285); INSERT INTO product_slots VALUES(52,286); INSERT INTO product_slots VALUES(52,287); +INSERT INTO product_slots VALUES(52,288); +INSERT INTO product_slots VALUES(52,289); +INSERT INTO product_slots VALUES(52,290); +INSERT INTO product_slots VALUES(52,291); +INSERT INTO product_slots VALUES(52,292); +INSERT INTO product_slots VALUES(52,293); +INSERT INTO product_slots VALUES(52,294); +INSERT INTO product_slots VALUES(52,295); +INSERT INTO product_slots VALUES(52,296); +INSERT INTO product_slots VALUES(52,297); +INSERT INTO product_slots VALUES(52,298); +INSERT INTO product_slots VALUES(52,299); +INSERT INTO product_slots VALUES(52,300); +INSERT INTO product_slots VALUES(52,301); +INSERT INTO product_slots VALUES(52,302); +INSERT INTO product_slots VALUES(52,303); +INSERT INTO product_slots VALUES(52,304); +INSERT INTO product_slots VALUES(52,305); +INSERT INTO product_slots VALUES(52,306); +INSERT INTO product_slots VALUES(52,307); +INSERT INTO product_slots VALUES(52,308); +INSERT INTO product_slots VALUES(52,309); +INSERT INTO product_slots VALUES(52,310); +INSERT INTO product_slots VALUES(52,311); +INSERT INTO product_slots VALUES(52,312); +INSERT INTO product_slots VALUES(52,313); +INSERT INTO product_slots VALUES(52,314); +INSERT INTO product_slots VALUES(52,315); +INSERT INTO product_slots VALUES(52,316); +INSERT INTO product_slots VALUES(52,317); +INSERT INTO product_slots VALUES(52,318); +INSERT INTO product_slots VALUES(52,319); +INSERT INTO product_slots VALUES(52,320); +INSERT INTO product_slots VALUES(52,321); +INSERT INTO product_slots VALUES(52,322); +INSERT INTO product_slots VALUES(52,323); +INSERT INTO product_slots VALUES(52,324); +INSERT INTO product_slots VALUES(52,325); +INSERT INTO product_slots VALUES(52,326); +INSERT INTO product_slots VALUES(52,327); +INSERT INTO product_slots VALUES(52,328); +INSERT INTO product_slots VALUES(52,329); +INSERT INTO product_slots VALUES(52,330); +INSERT INTO product_slots VALUES(52,331); +INSERT INTO product_slots VALUES(52,332); +INSERT INTO product_slots VALUES(52,333); +INSERT INTO product_slots VALUES(52,334); +INSERT INTO product_slots VALUES(52,335); +INSERT INTO product_slots VALUES(52,336); +INSERT INTO product_slots VALUES(52,337); +INSERT INTO product_slots VALUES(52,338); +INSERT INTO product_slots VALUES(52,339); +INSERT INTO product_slots VALUES(52,340); +INSERT INTO product_slots VALUES(52,341); +INSERT INTO product_slots VALUES(52,342); +INSERT INTO product_slots VALUES(52,343); +INSERT INTO product_slots VALUES(52,344); +INSERT INTO product_slots VALUES(52,345); +INSERT INTO product_slots VALUES(52,346); +INSERT INTO product_slots VALUES(52,347); +INSERT INTO product_slots VALUES(52,348); +INSERT INTO product_slots VALUES(52,349); +INSERT INTO product_slots VALUES(52,350); +INSERT INTO product_slots VALUES(52,351); +INSERT INTO product_slots VALUES(52,352); +INSERT INTO product_slots VALUES(52,353); +INSERT INTO product_slots VALUES(52,354); +INSERT INTO product_slots VALUES(52,355); +INSERT INTO product_slots VALUES(52,356); +INSERT INTO product_slots VALUES(52,357); +INSERT INTO product_slots VALUES(52,358); +INSERT INTO product_slots VALUES(52,359); +INSERT INTO product_slots VALUES(52,360); +INSERT INTO product_slots VALUES(52,361); +INSERT INTO product_slots VALUES(52,362); +INSERT INTO product_slots VALUES(52,363); +INSERT INTO product_slots VALUES(52,364); +INSERT INTO product_slots VALUES(52,365); +INSERT INTO product_slots VALUES(52,366); +INSERT INTO product_slots VALUES(52,367); +INSERT INTO product_slots VALUES(52,368); +INSERT INTO product_slots VALUES(52,369); +INSERT INTO product_slots VALUES(52,370); +INSERT INTO product_slots VALUES(52,371); +INSERT INTO product_slots VALUES(52,372); +INSERT INTO product_slots VALUES(52,373); +INSERT INTO product_slots VALUES(52,374); +INSERT INTO product_slots VALUES(52,375); +INSERT INTO product_slots VALUES(52,376); +INSERT INTO product_slots VALUES(52,377); +INSERT INTO product_slots VALUES(52,378); +INSERT INTO product_slots VALUES(52,379); +INSERT INTO product_slots VALUES(52,380); +INSERT INTO product_slots VALUES(52,381); +INSERT INTO product_slots VALUES(52,382); +INSERT INTO product_slots VALUES(52,383); +INSERT INTO product_slots VALUES(52,384); +INSERT INTO product_slots VALUES(52,385); +INSERT INTO product_slots VALUES(52,386); +INSERT INTO product_slots VALUES(52,387); +INSERT INTO product_slots VALUES(52,388); +INSERT INTO product_slots VALUES(52,389); +INSERT INTO product_slots VALUES(52,390); +INSERT INTO product_slots VALUES(52,391); +INSERT INTO product_slots VALUES(52,392); +INSERT INTO product_slots VALUES(52,393); +INSERT INTO product_slots VALUES(52,394); +INSERT INTO product_slots VALUES(52,395); +INSERT INTO product_slots VALUES(52,396); +INSERT INTO product_slots VALUES(52,397); +INSERT INTO product_slots VALUES(52,398); +INSERT INTO product_slots VALUES(52,399); +INSERT INTO product_slots VALUES(52,400); +INSERT INTO product_slots VALUES(52,401); +INSERT INTO product_slots VALUES(52,402); +INSERT INTO product_slots VALUES(52,403); +INSERT INTO product_slots VALUES(52,404); +INSERT INTO product_slots VALUES(52,405); +INSERT INTO product_slots VALUES(52,406); +INSERT INTO product_slots VALUES(52,407); +INSERT INTO product_slots VALUES(52,408); +INSERT INTO product_slots VALUES(52,409); +INSERT INTO product_slots VALUES(52,410); +INSERT INTO product_slots VALUES(52,411); +INSERT INTO product_slots VALUES(52,412); +INSERT INTO product_slots VALUES(52,413); +INSERT INTO product_slots VALUES(52,414); +INSERT INTO product_slots VALUES(52,415); +INSERT INTO product_slots VALUES(52,416); +INSERT INTO product_slots VALUES(52,417); +INSERT INTO product_slots VALUES(52,418); +INSERT INTO product_slots VALUES(52,419); +INSERT INTO product_slots VALUES(52,420); +INSERT INTO product_slots VALUES(52,421); +INSERT INTO product_slots VALUES(52,422); +INSERT INTO product_slots VALUES(52,423); +INSERT INTO product_slots VALUES(52,424); +INSERT INTO product_slots VALUES(52,425); +INSERT INTO product_slots VALUES(52,426); +INSERT INTO product_slots VALUES(52,427); +INSERT INTO product_slots VALUES(52,428); +INSERT INTO product_slots VALUES(52,429); +INSERT INTO product_slots VALUES(52,430); +INSERT INTO product_slots VALUES(52,431); +INSERT INTO product_slots VALUES(52,432); +INSERT INTO product_slots VALUES(52,433); +INSERT INTO product_slots VALUES(52,434); +INSERT INTO product_slots VALUES(52,435); +INSERT INTO product_slots VALUES(52,436); +INSERT INTO product_slots VALUES(52,437); +INSERT INTO product_slots VALUES(52,438); +INSERT INTO product_slots VALUES(52,439); +INSERT INTO product_slots VALUES(52,440); +INSERT INTO product_slots VALUES(52,441); +INSERT INTO product_slots VALUES(52,442); +INSERT INTO product_slots VALUES(52,443); +INSERT INTO product_slots VALUES(52,444); +INSERT INTO product_slots VALUES(52,445); +INSERT INTO product_slots VALUES(52,446); +INSERT INTO product_slots VALUES(52,447); +INSERT INTO product_slots VALUES(52,448); +INSERT INTO product_slots VALUES(52,449); +INSERT INTO product_slots VALUES(52,450); +INSERT INTO product_slots VALUES(52,451); +INSERT INTO product_slots VALUES(52,452); +INSERT INTO product_slots VALUES(52,453); +INSERT INTO product_slots VALUES(52,455); +INSERT INTO product_slots VALUES(52,456); +INSERT INTO product_slots VALUES(52,457); +INSERT INTO product_slots VALUES(52,458); +INSERT INTO product_slots VALUES(52,459); +INSERT INTO product_slots VALUES(52,460); +INSERT INTO product_slots VALUES(52,461); +INSERT INTO product_slots VALUES(52,462); +INSERT INTO product_slots VALUES(52,463); +INSERT INTO product_slots VALUES(52,464); +INSERT INTO product_slots VALUES(52,465); +INSERT INTO product_slots VALUES(52,466); +INSERT INTO product_slots VALUES(52,467); +INSERT INTO product_slots VALUES(52,468); +INSERT INTO product_slots VALUES(52,469); +INSERT INTO product_slots VALUES(52,470); +INSERT INTO product_slots VALUES(52,471); INSERT INTO product_slots VALUES(53,39); INSERT INTO product_slots VALUES(53,40); INSERT INTO product_slots VALUES(53,43); @@ -12643,8 +24248,40 @@ INSERT INTO product_slots VALUES(53,241); INSERT INTO product_slots VALUES(53,242); INSERT INTO product_slots VALUES(53,243); INSERT INTO product_slots VALUES(53,244); +INSERT INTO product_slots VALUES(53,245); +INSERT INTO product_slots VALUES(53,246); +INSERT INTO product_slots VALUES(53,247); +INSERT INTO product_slots VALUES(53,248); +INSERT INTO product_slots VALUES(53,249); +INSERT INTO product_slots VALUES(53,250); +INSERT INTO product_slots VALUES(53,251); +INSERT INTO product_slots VALUES(53,252); +INSERT INTO product_slots VALUES(53,253); +INSERT INTO product_slots VALUES(53,254); +INSERT INTO product_slots VALUES(53,255); +INSERT INTO product_slots VALUES(53,256); +INSERT INTO product_slots VALUES(53,257); +INSERT INTO product_slots VALUES(53,258); +INSERT INTO product_slots VALUES(53,259); +INSERT INTO product_slots VALUES(53,260); +INSERT INTO product_slots VALUES(53,261); +INSERT INTO product_slots VALUES(53,262); +INSERT INTO product_slots VALUES(53,263); +INSERT INTO product_slots VALUES(53,264); +INSERT INTO product_slots VALUES(53,265); +INSERT INTO product_slots VALUES(53,266); +INSERT INTO product_slots VALUES(53,267); +INSERT INTO product_slots VALUES(53,268); +INSERT INTO product_slots VALUES(53,269); +INSERT INTO product_slots VALUES(53,270); +INSERT INTO product_slots VALUES(53,271); +INSERT INTO product_slots VALUES(53,272); +INSERT INTO product_slots VALUES(53,273); INSERT INTO product_slots VALUES(53,274); INSERT INTO product_slots VALUES(53,275); +INSERT INTO product_slots VALUES(53,276); +INSERT INTO product_slots VALUES(53,277); +INSERT INTO product_slots VALUES(53,278); INSERT INTO product_slots VALUES(53,279); INSERT INTO product_slots VALUES(53,280); INSERT INTO product_slots VALUES(53,281); @@ -12654,6 +24291,189 @@ INSERT INTO product_slots VALUES(53,284); INSERT INTO product_slots VALUES(53,285); INSERT INTO product_slots VALUES(53,286); INSERT INTO product_slots VALUES(53,287); +INSERT INTO product_slots VALUES(53,288); +INSERT INTO product_slots VALUES(53,289); +INSERT INTO product_slots VALUES(53,290); +INSERT INTO product_slots VALUES(53,291); +INSERT INTO product_slots VALUES(53,292); +INSERT INTO product_slots VALUES(53,293); +INSERT INTO product_slots VALUES(53,294); +INSERT INTO product_slots VALUES(53,295); +INSERT INTO product_slots VALUES(53,296); +INSERT INTO product_slots VALUES(53,297); +INSERT INTO product_slots VALUES(53,298); +INSERT INTO product_slots VALUES(53,299); +INSERT INTO product_slots VALUES(53,300); +INSERT INTO product_slots VALUES(53,301); +INSERT INTO product_slots VALUES(53,302); +INSERT INTO product_slots VALUES(53,303); +INSERT INTO product_slots VALUES(53,304); +INSERT INTO product_slots VALUES(53,305); +INSERT INTO product_slots VALUES(53,306); +INSERT INTO product_slots VALUES(53,307); +INSERT INTO product_slots VALUES(53,308); +INSERT INTO product_slots VALUES(53,309); +INSERT INTO product_slots VALUES(53,310); +INSERT INTO product_slots VALUES(53,311); +INSERT INTO product_slots VALUES(53,312); +INSERT INTO product_slots VALUES(53,313); +INSERT INTO product_slots VALUES(53,314); +INSERT INTO product_slots VALUES(53,315); +INSERT INTO product_slots VALUES(53,316); +INSERT INTO product_slots VALUES(53,317); +INSERT INTO product_slots VALUES(53,318); +INSERT INTO product_slots VALUES(53,319); +INSERT INTO product_slots VALUES(53,320); +INSERT INTO product_slots VALUES(53,321); +INSERT INTO product_slots VALUES(53,322); +INSERT INTO product_slots VALUES(53,323); +INSERT INTO product_slots VALUES(53,324); +INSERT INTO product_slots VALUES(53,325); +INSERT INTO product_slots VALUES(53,326); +INSERT INTO product_slots VALUES(53,327); +INSERT INTO product_slots VALUES(53,328); +INSERT INTO product_slots VALUES(53,329); +INSERT INTO product_slots VALUES(53,330); +INSERT INTO product_slots VALUES(53,331); +INSERT INTO product_slots VALUES(53,332); +INSERT INTO product_slots VALUES(53,333); +INSERT INTO product_slots VALUES(53,334); +INSERT INTO product_slots VALUES(53,335); +INSERT INTO product_slots VALUES(53,336); +INSERT INTO product_slots VALUES(53,337); +INSERT INTO product_slots VALUES(53,338); +INSERT INTO product_slots VALUES(53,339); +INSERT INTO product_slots VALUES(53,340); +INSERT INTO product_slots VALUES(53,341); +INSERT INTO product_slots VALUES(53,342); +INSERT INTO product_slots VALUES(53,343); +INSERT INTO product_slots VALUES(53,344); +INSERT INTO product_slots VALUES(53,345); +INSERT INTO product_slots VALUES(53,346); +INSERT INTO product_slots VALUES(53,347); +INSERT INTO product_slots VALUES(53,348); +INSERT INTO product_slots VALUES(53,349); +INSERT INTO product_slots VALUES(53,350); +INSERT INTO product_slots VALUES(53,351); +INSERT INTO product_slots VALUES(53,352); +INSERT INTO product_slots VALUES(53,353); +INSERT INTO product_slots VALUES(53,354); +INSERT INTO product_slots VALUES(53,355); +INSERT INTO product_slots VALUES(53,356); +INSERT INTO product_slots VALUES(53,357); +INSERT INTO product_slots VALUES(53,358); +INSERT INTO product_slots VALUES(53,359); +INSERT INTO product_slots VALUES(53,360); +INSERT INTO product_slots VALUES(53,361); +INSERT INTO product_slots VALUES(53,362); +INSERT INTO product_slots VALUES(53,363); +INSERT INTO product_slots VALUES(53,364); +INSERT INTO product_slots VALUES(53,365); +INSERT INTO product_slots VALUES(53,366); +INSERT INTO product_slots VALUES(53,367); +INSERT INTO product_slots VALUES(53,368); +INSERT INTO product_slots VALUES(53,369); +INSERT INTO product_slots VALUES(53,370); +INSERT INTO product_slots VALUES(53,371); +INSERT INTO product_slots VALUES(53,372); +INSERT INTO product_slots VALUES(53,373); +INSERT INTO product_slots VALUES(53,374); +INSERT INTO product_slots VALUES(53,375); +INSERT INTO product_slots VALUES(53,376); +INSERT INTO product_slots VALUES(53,377); +INSERT INTO product_slots VALUES(53,378); +INSERT INTO product_slots VALUES(53,379); +INSERT INTO product_slots VALUES(53,380); +INSERT INTO product_slots VALUES(53,381); +INSERT INTO product_slots VALUES(53,382); +INSERT INTO product_slots VALUES(53,383); +INSERT INTO product_slots VALUES(53,384); +INSERT INTO product_slots VALUES(53,385); +INSERT INTO product_slots VALUES(53,386); +INSERT INTO product_slots VALUES(53,387); +INSERT INTO product_slots VALUES(53,388); +INSERT INTO product_slots VALUES(53,389); +INSERT INTO product_slots VALUES(53,390); +INSERT INTO product_slots VALUES(53,391); +INSERT INTO product_slots VALUES(53,392); +INSERT INTO product_slots VALUES(53,393); +INSERT INTO product_slots VALUES(53,394); +INSERT INTO product_slots VALUES(53,395); +INSERT INTO product_slots VALUES(53,396); +INSERT INTO product_slots VALUES(53,397); +INSERT INTO product_slots VALUES(53,398); +INSERT INTO product_slots VALUES(53,399); +INSERT INTO product_slots VALUES(53,400); +INSERT INTO product_slots VALUES(53,401); +INSERT INTO product_slots VALUES(53,402); +INSERT INTO product_slots VALUES(53,403); +INSERT INTO product_slots VALUES(53,404); +INSERT INTO product_slots VALUES(53,405); +INSERT INTO product_slots VALUES(53,406); +INSERT INTO product_slots VALUES(53,407); +INSERT INTO product_slots VALUES(53,408); +INSERT INTO product_slots VALUES(53,409); +INSERT INTO product_slots VALUES(53,410); +INSERT INTO product_slots VALUES(53,411); +INSERT INTO product_slots VALUES(53,412); +INSERT INTO product_slots VALUES(53,413); +INSERT INTO product_slots VALUES(53,414); +INSERT INTO product_slots VALUES(53,415); +INSERT INTO product_slots VALUES(53,416); +INSERT INTO product_slots VALUES(53,417); +INSERT INTO product_slots VALUES(53,418); +INSERT INTO product_slots VALUES(53,419); +INSERT INTO product_slots VALUES(53,420); +INSERT INTO product_slots VALUES(53,421); +INSERT INTO product_slots VALUES(53,422); +INSERT INTO product_slots VALUES(53,423); +INSERT INTO product_slots VALUES(53,424); +INSERT INTO product_slots VALUES(53,425); +INSERT INTO product_slots VALUES(53,426); +INSERT INTO product_slots VALUES(53,427); +INSERT INTO product_slots VALUES(53,428); +INSERT INTO product_slots VALUES(53,429); +INSERT INTO product_slots VALUES(53,430); +INSERT INTO product_slots VALUES(53,431); +INSERT INTO product_slots VALUES(53,432); +INSERT INTO product_slots VALUES(53,433); +INSERT INTO product_slots VALUES(53,434); +INSERT INTO product_slots VALUES(53,435); +INSERT INTO product_slots VALUES(53,436); +INSERT INTO product_slots VALUES(53,437); +INSERT INTO product_slots VALUES(53,438); +INSERT INTO product_slots VALUES(53,439); +INSERT INTO product_slots VALUES(53,440); +INSERT INTO product_slots VALUES(53,441); +INSERT INTO product_slots VALUES(53,442); +INSERT INTO product_slots VALUES(53,443); +INSERT INTO product_slots VALUES(53,444); +INSERT INTO product_slots VALUES(53,445); +INSERT INTO product_slots VALUES(53,446); +INSERT INTO product_slots VALUES(53,447); +INSERT INTO product_slots VALUES(53,448); +INSERT INTO product_slots VALUES(53,449); +INSERT INTO product_slots VALUES(53,450); +INSERT INTO product_slots VALUES(53,451); +INSERT INTO product_slots VALUES(53,452); +INSERT INTO product_slots VALUES(53,453); +INSERT INTO product_slots VALUES(53,455); +INSERT INTO product_slots VALUES(53,456); +INSERT INTO product_slots VALUES(53,457); +INSERT INTO product_slots VALUES(53,458); +INSERT INTO product_slots VALUES(53,459); +INSERT INTO product_slots VALUES(53,460); +INSERT INTO product_slots VALUES(53,461); +INSERT INTO product_slots VALUES(53,462); +INSERT INTO product_slots VALUES(53,463); +INSERT INTO product_slots VALUES(53,464); +INSERT INTO product_slots VALUES(53,465); +INSERT INTO product_slots VALUES(53,466); +INSERT INTO product_slots VALUES(53,467); +INSERT INTO product_slots VALUES(53,468); +INSERT INTO product_slots VALUES(53,469); +INSERT INTO product_slots VALUES(53,470); +INSERT INTO product_slots VALUES(53,471); INSERT INTO product_slots VALUES(54,40); INSERT INTO product_slots VALUES(54,62); INSERT INTO product_slots VALUES(54,63); @@ -12834,8 +24654,40 @@ INSERT INTO product_slots VALUES(54,241); INSERT INTO product_slots VALUES(54,242); INSERT INTO product_slots VALUES(54,243); INSERT INTO product_slots VALUES(54,244); +INSERT INTO product_slots VALUES(54,245); +INSERT INTO product_slots VALUES(54,246); +INSERT INTO product_slots VALUES(54,247); +INSERT INTO product_slots VALUES(54,248); +INSERT INTO product_slots VALUES(54,249); +INSERT INTO product_slots VALUES(54,250); +INSERT INTO product_slots VALUES(54,251); +INSERT INTO product_slots VALUES(54,252); +INSERT INTO product_slots VALUES(54,253); +INSERT INTO product_slots VALUES(54,254); +INSERT INTO product_slots VALUES(54,255); +INSERT INTO product_slots VALUES(54,256); +INSERT INTO product_slots VALUES(54,257); +INSERT INTO product_slots VALUES(54,258); +INSERT INTO product_slots VALUES(54,259); +INSERT INTO product_slots VALUES(54,260); +INSERT INTO product_slots VALUES(54,261); +INSERT INTO product_slots VALUES(54,262); +INSERT INTO product_slots VALUES(54,263); +INSERT INTO product_slots VALUES(54,264); +INSERT INTO product_slots VALUES(54,265); +INSERT INTO product_slots VALUES(54,266); +INSERT INTO product_slots VALUES(54,267); +INSERT INTO product_slots VALUES(54,268); +INSERT INTO product_slots VALUES(54,269); +INSERT INTO product_slots VALUES(54,270); +INSERT INTO product_slots VALUES(54,271); +INSERT INTO product_slots VALUES(54,272); +INSERT INTO product_slots VALUES(54,273); INSERT INTO product_slots VALUES(54,274); INSERT INTO product_slots VALUES(54,275); +INSERT INTO product_slots VALUES(54,276); +INSERT INTO product_slots VALUES(54,277); +INSERT INTO product_slots VALUES(54,278); INSERT INTO product_slots VALUES(54,279); INSERT INTO product_slots VALUES(54,280); INSERT INTO product_slots VALUES(54,281); @@ -12845,6 +24697,189 @@ INSERT INTO product_slots VALUES(54,284); INSERT INTO product_slots VALUES(54,285); INSERT INTO product_slots VALUES(54,286); INSERT INTO product_slots VALUES(54,287); +INSERT INTO product_slots VALUES(54,288); +INSERT INTO product_slots VALUES(54,289); +INSERT INTO product_slots VALUES(54,290); +INSERT INTO product_slots VALUES(54,291); +INSERT INTO product_slots VALUES(54,292); +INSERT INTO product_slots VALUES(54,293); +INSERT INTO product_slots VALUES(54,294); +INSERT INTO product_slots VALUES(54,295); +INSERT INTO product_slots VALUES(54,296); +INSERT INTO product_slots VALUES(54,297); +INSERT INTO product_slots VALUES(54,298); +INSERT INTO product_slots VALUES(54,299); +INSERT INTO product_slots VALUES(54,300); +INSERT INTO product_slots VALUES(54,301); +INSERT INTO product_slots VALUES(54,302); +INSERT INTO product_slots VALUES(54,303); +INSERT INTO product_slots VALUES(54,304); +INSERT INTO product_slots VALUES(54,305); +INSERT INTO product_slots VALUES(54,306); +INSERT INTO product_slots VALUES(54,307); +INSERT INTO product_slots VALUES(54,308); +INSERT INTO product_slots VALUES(54,309); +INSERT INTO product_slots VALUES(54,310); +INSERT INTO product_slots VALUES(54,311); +INSERT INTO product_slots VALUES(54,312); +INSERT INTO product_slots VALUES(54,313); +INSERT INTO product_slots VALUES(54,314); +INSERT INTO product_slots VALUES(54,315); +INSERT INTO product_slots VALUES(54,316); +INSERT INTO product_slots VALUES(54,317); +INSERT INTO product_slots VALUES(54,318); +INSERT INTO product_slots VALUES(54,319); +INSERT INTO product_slots VALUES(54,320); +INSERT INTO product_slots VALUES(54,321); +INSERT INTO product_slots VALUES(54,322); +INSERT INTO product_slots VALUES(54,323); +INSERT INTO product_slots VALUES(54,324); +INSERT INTO product_slots VALUES(54,325); +INSERT INTO product_slots VALUES(54,326); +INSERT INTO product_slots VALUES(54,327); +INSERT INTO product_slots VALUES(54,328); +INSERT INTO product_slots VALUES(54,329); +INSERT INTO product_slots VALUES(54,330); +INSERT INTO product_slots VALUES(54,331); +INSERT INTO product_slots VALUES(54,332); +INSERT INTO product_slots VALUES(54,333); +INSERT INTO product_slots VALUES(54,334); +INSERT INTO product_slots VALUES(54,335); +INSERT INTO product_slots VALUES(54,336); +INSERT INTO product_slots VALUES(54,337); +INSERT INTO product_slots VALUES(54,338); +INSERT INTO product_slots VALUES(54,339); +INSERT INTO product_slots VALUES(54,340); +INSERT INTO product_slots VALUES(54,341); +INSERT INTO product_slots VALUES(54,342); +INSERT INTO product_slots VALUES(54,343); +INSERT INTO product_slots VALUES(54,344); +INSERT INTO product_slots VALUES(54,345); +INSERT INTO product_slots VALUES(54,346); +INSERT INTO product_slots VALUES(54,347); +INSERT INTO product_slots VALUES(54,348); +INSERT INTO product_slots VALUES(54,349); +INSERT INTO product_slots VALUES(54,350); +INSERT INTO product_slots VALUES(54,351); +INSERT INTO product_slots VALUES(54,352); +INSERT INTO product_slots VALUES(54,353); +INSERT INTO product_slots VALUES(54,354); +INSERT INTO product_slots VALUES(54,355); +INSERT INTO product_slots VALUES(54,356); +INSERT INTO product_slots VALUES(54,357); +INSERT INTO product_slots VALUES(54,358); +INSERT INTO product_slots VALUES(54,359); +INSERT INTO product_slots VALUES(54,360); +INSERT INTO product_slots VALUES(54,361); +INSERT INTO product_slots VALUES(54,362); +INSERT INTO product_slots VALUES(54,363); +INSERT INTO product_slots VALUES(54,364); +INSERT INTO product_slots VALUES(54,365); +INSERT INTO product_slots VALUES(54,366); +INSERT INTO product_slots VALUES(54,367); +INSERT INTO product_slots VALUES(54,368); +INSERT INTO product_slots VALUES(54,369); +INSERT INTO product_slots VALUES(54,370); +INSERT INTO product_slots VALUES(54,371); +INSERT INTO product_slots VALUES(54,372); +INSERT INTO product_slots VALUES(54,373); +INSERT INTO product_slots VALUES(54,374); +INSERT INTO product_slots VALUES(54,375); +INSERT INTO product_slots VALUES(54,376); +INSERT INTO product_slots VALUES(54,377); +INSERT INTO product_slots VALUES(54,378); +INSERT INTO product_slots VALUES(54,379); +INSERT INTO product_slots VALUES(54,380); +INSERT INTO product_slots VALUES(54,381); +INSERT INTO product_slots VALUES(54,382); +INSERT INTO product_slots VALUES(54,383); +INSERT INTO product_slots VALUES(54,384); +INSERT INTO product_slots VALUES(54,385); +INSERT INTO product_slots VALUES(54,386); +INSERT INTO product_slots VALUES(54,387); +INSERT INTO product_slots VALUES(54,388); +INSERT INTO product_slots VALUES(54,389); +INSERT INTO product_slots VALUES(54,390); +INSERT INTO product_slots VALUES(54,391); +INSERT INTO product_slots VALUES(54,392); +INSERT INTO product_slots VALUES(54,393); +INSERT INTO product_slots VALUES(54,394); +INSERT INTO product_slots VALUES(54,395); +INSERT INTO product_slots VALUES(54,396); +INSERT INTO product_slots VALUES(54,397); +INSERT INTO product_slots VALUES(54,398); +INSERT INTO product_slots VALUES(54,399); +INSERT INTO product_slots VALUES(54,400); +INSERT INTO product_slots VALUES(54,401); +INSERT INTO product_slots VALUES(54,402); +INSERT INTO product_slots VALUES(54,403); +INSERT INTO product_slots VALUES(54,404); +INSERT INTO product_slots VALUES(54,405); +INSERT INTO product_slots VALUES(54,406); +INSERT INTO product_slots VALUES(54,407); +INSERT INTO product_slots VALUES(54,408); +INSERT INTO product_slots VALUES(54,409); +INSERT INTO product_slots VALUES(54,410); +INSERT INTO product_slots VALUES(54,411); +INSERT INTO product_slots VALUES(54,412); +INSERT INTO product_slots VALUES(54,413); +INSERT INTO product_slots VALUES(54,414); +INSERT INTO product_slots VALUES(54,415); +INSERT INTO product_slots VALUES(54,416); +INSERT INTO product_slots VALUES(54,417); +INSERT INTO product_slots VALUES(54,418); +INSERT INTO product_slots VALUES(54,419); +INSERT INTO product_slots VALUES(54,420); +INSERT INTO product_slots VALUES(54,421); +INSERT INTO product_slots VALUES(54,422); +INSERT INTO product_slots VALUES(54,423); +INSERT INTO product_slots VALUES(54,424); +INSERT INTO product_slots VALUES(54,425); +INSERT INTO product_slots VALUES(54,426); +INSERT INTO product_slots VALUES(54,427); +INSERT INTO product_slots VALUES(54,428); +INSERT INTO product_slots VALUES(54,429); +INSERT INTO product_slots VALUES(54,430); +INSERT INTO product_slots VALUES(54,431); +INSERT INTO product_slots VALUES(54,432); +INSERT INTO product_slots VALUES(54,433); +INSERT INTO product_slots VALUES(54,434); +INSERT INTO product_slots VALUES(54,435); +INSERT INTO product_slots VALUES(54,436); +INSERT INTO product_slots VALUES(54,437); +INSERT INTO product_slots VALUES(54,438); +INSERT INTO product_slots VALUES(54,439); +INSERT INTO product_slots VALUES(54,440); +INSERT INTO product_slots VALUES(54,441); +INSERT INTO product_slots VALUES(54,442); +INSERT INTO product_slots VALUES(54,443); +INSERT INTO product_slots VALUES(54,444); +INSERT INTO product_slots VALUES(54,445); +INSERT INTO product_slots VALUES(54,446); +INSERT INTO product_slots VALUES(54,447); +INSERT INTO product_slots VALUES(54,448); +INSERT INTO product_slots VALUES(54,449); +INSERT INTO product_slots VALUES(54,450); +INSERT INTO product_slots VALUES(54,451); +INSERT INTO product_slots VALUES(54,452); +INSERT INTO product_slots VALUES(54,453); +INSERT INTO product_slots VALUES(54,455); +INSERT INTO product_slots VALUES(54,456); +INSERT INTO product_slots VALUES(54,457); +INSERT INTO product_slots VALUES(54,458); +INSERT INTO product_slots VALUES(54,459); +INSERT INTO product_slots VALUES(54,460); +INSERT INTO product_slots VALUES(54,461); +INSERT INTO product_slots VALUES(54,462); +INSERT INTO product_slots VALUES(54,463); +INSERT INTO product_slots VALUES(54,464); +INSERT INTO product_slots VALUES(54,465); +INSERT INTO product_slots VALUES(54,466); +INSERT INTO product_slots VALUES(54,467); +INSERT INTO product_slots VALUES(54,468); +INSERT INTO product_slots VALUES(54,469); +INSERT INTO product_slots VALUES(54,470); +INSERT INTO product_slots VALUES(54,471); INSERT INTO product_slots VALUES(55,40); INSERT INTO product_slots VALUES(55,59); INSERT INTO product_slots VALUES(55,62); @@ -13026,8 +25061,40 @@ INSERT INTO product_slots VALUES(55,241); INSERT INTO product_slots VALUES(55,242); INSERT INTO product_slots VALUES(55,243); INSERT INTO product_slots VALUES(55,244); +INSERT INTO product_slots VALUES(55,245); +INSERT INTO product_slots VALUES(55,246); +INSERT INTO product_slots VALUES(55,247); +INSERT INTO product_slots VALUES(55,248); +INSERT INTO product_slots VALUES(55,249); +INSERT INTO product_slots VALUES(55,250); +INSERT INTO product_slots VALUES(55,251); +INSERT INTO product_slots VALUES(55,252); +INSERT INTO product_slots VALUES(55,253); +INSERT INTO product_slots VALUES(55,254); +INSERT INTO product_slots VALUES(55,255); +INSERT INTO product_slots VALUES(55,256); +INSERT INTO product_slots VALUES(55,257); +INSERT INTO product_slots VALUES(55,258); +INSERT INTO product_slots VALUES(55,259); +INSERT INTO product_slots VALUES(55,260); +INSERT INTO product_slots VALUES(55,261); +INSERT INTO product_slots VALUES(55,262); +INSERT INTO product_slots VALUES(55,263); +INSERT INTO product_slots VALUES(55,264); +INSERT INTO product_slots VALUES(55,265); +INSERT INTO product_slots VALUES(55,266); +INSERT INTO product_slots VALUES(55,267); +INSERT INTO product_slots VALUES(55,268); +INSERT INTO product_slots VALUES(55,269); +INSERT INTO product_slots VALUES(55,270); +INSERT INTO product_slots VALUES(55,271); +INSERT INTO product_slots VALUES(55,272); +INSERT INTO product_slots VALUES(55,273); INSERT INTO product_slots VALUES(55,274); INSERT INTO product_slots VALUES(55,275); +INSERT INTO product_slots VALUES(55,276); +INSERT INTO product_slots VALUES(55,277); +INSERT INTO product_slots VALUES(55,278); INSERT INTO product_slots VALUES(55,279); INSERT INTO product_slots VALUES(55,280); INSERT INTO product_slots VALUES(55,281); @@ -13037,6 +25104,189 @@ INSERT INTO product_slots VALUES(55,284); INSERT INTO product_slots VALUES(55,285); INSERT INTO product_slots VALUES(55,286); INSERT INTO product_slots VALUES(55,287); +INSERT INTO product_slots VALUES(55,288); +INSERT INTO product_slots VALUES(55,289); +INSERT INTO product_slots VALUES(55,290); +INSERT INTO product_slots VALUES(55,291); +INSERT INTO product_slots VALUES(55,292); +INSERT INTO product_slots VALUES(55,293); +INSERT INTO product_slots VALUES(55,294); +INSERT INTO product_slots VALUES(55,295); +INSERT INTO product_slots VALUES(55,296); +INSERT INTO product_slots VALUES(55,297); +INSERT INTO product_slots VALUES(55,298); +INSERT INTO product_slots VALUES(55,299); +INSERT INTO product_slots VALUES(55,300); +INSERT INTO product_slots VALUES(55,301); +INSERT INTO product_slots VALUES(55,302); +INSERT INTO product_slots VALUES(55,303); +INSERT INTO product_slots VALUES(55,304); +INSERT INTO product_slots VALUES(55,305); +INSERT INTO product_slots VALUES(55,306); +INSERT INTO product_slots VALUES(55,307); +INSERT INTO product_slots VALUES(55,308); +INSERT INTO product_slots VALUES(55,309); +INSERT INTO product_slots VALUES(55,310); +INSERT INTO product_slots VALUES(55,311); +INSERT INTO product_slots VALUES(55,312); +INSERT INTO product_slots VALUES(55,313); +INSERT INTO product_slots VALUES(55,314); +INSERT INTO product_slots VALUES(55,315); +INSERT INTO product_slots VALUES(55,316); +INSERT INTO product_slots VALUES(55,317); +INSERT INTO product_slots VALUES(55,318); +INSERT INTO product_slots VALUES(55,319); +INSERT INTO product_slots VALUES(55,320); +INSERT INTO product_slots VALUES(55,321); +INSERT INTO product_slots VALUES(55,322); +INSERT INTO product_slots VALUES(55,323); +INSERT INTO product_slots VALUES(55,324); +INSERT INTO product_slots VALUES(55,325); +INSERT INTO product_slots VALUES(55,326); +INSERT INTO product_slots VALUES(55,327); +INSERT INTO product_slots VALUES(55,328); +INSERT INTO product_slots VALUES(55,329); +INSERT INTO product_slots VALUES(55,330); +INSERT INTO product_slots VALUES(55,331); +INSERT INTO product_slots VALUES(55,332); +INSERT INTO product_slots VALUES(55,333); +INSERT INTO product_slots VALUES(55,334); +INSERT INTO product_slots VALUES(55,335); +INSERT INTO product_slots VALUES(55,336); +INSERT INTO product_slots VALUES(55,337); +INSERT INTO product_slots VALUES(55,338); +INSERT INTO product_slots VALUES(55,339); +INSERT INTO product_slots VALUES(55,340); +INSERT INTO product_slots VALUES(55,341); +INSERT INTO product_slots VALUES(55,342); +INSERT INTO product_slots VALUES(55,343); +INSERT INTO product_slots VALUES(55,344); +INSERT INTO product_slots VALUES(55,345); +INSERT INTO product_slots VALUES(55,346); +INSERT INTO product_slots VALUES(55,347); +INSERT INTO product_slots VALUES(55,348); +INSERT INTO product_slots VALUES(55,349); +INSERT INTO product_slots VALUES(55,350); +INSERT INTO product_slots VALUES(55,351); +INSERT INTO product_slots VALUES(55,352); +INSERT INTO product_slots VALUES(55,353); +INSERT INTO product_slots VALUES(55,354); +INSERT INTO product_slots VALUES(55,355); +INSERT INTO product_slots VALUES(55,356); +INSERT INTO product_slots VALUES(55,357); +INSERT INTO product_slots VALUES(55,358); +INSERT INTO product_slots VALUES(55,359); +INSERT INTO product_slots VALUES(55,360); +INSERT INTO product_slots VALUES(55,361); +INSERT INTO product_slots VALUES(55,362); +INSERT INTO product_slots VALUES(55,363); +INSERT INTO product_slots VALUES(55,364); +INSERT INTO product_slots VALUES(55,365); +INSERT INTO product_slots VALUES(55,366); +INSERT INTO product_slots VALUES(55,367); +INSERT INTO product_slots VALUES(55,368); +INSERT INTO product_slots VALUES(55,369); +INSERT INTO product_slots VALUES(55,370); +INSERT INTO product_slots VALUES(55,371); +INSERT INTO product_slots VALUES(55,372); +INSERT INTO product_slots VALUES(55,373); +INSERT INTO product_slots VALUES(55,374); +INSERT INTO product_slots VALUES(55,375); +INSERT INTO product_slots VALUES(55,376); +INSERT INTO product_slots VALUES(55,377); +INSERT INTO product_slots VALUES(55,378); +INSERT INTO product_slots VALUES(55,379); +INSERT INTO product_slots VALUES(55,380); +INSERT INTO product_slots VALUES(55,381); +INSERT INTO product_slots VALUES(55,382); +INSERT INTO product_slots VALUES(55,383); +INSERT INTO product_slots VALUES(55,384); +INSERT INTO product_slots VALUES(55,385); +INSERT INTO product_slots VALUES(55,386); +INSERT INTO product_slots VALUES(55,387); +INSERT INTO product_slots VALUES(55,388); +INSERT INTO product_slots VALUES(55,389); +INSERT INTO product_slots VALUES(55,390); +INSERT INTO product_slots VALUES(55,391); +INSERT INTO product_slots VALUES(55,392); +INSERT INTO product_slots VALUES(55,393); +INSERT INTO product_slots VALUES(55,394); +INSERT INTO product_slots VALUES(55,395); +INSERT INTO product_slots VALUES(55,396); +INSERT INTO product_slots VALUES(55,397); +INSERT INTO product_slots VALUES(55,398); +INSERT INTO product_slots VALUES(55,399); +INSERT INTO product_slots VALUES(55,400); +INSERT INTO product_slots VALUES(55,401); +INSERT INTO product_slots VALUES(55,402); +INSERT INTO product_slots VALUES(55,403); +INSERT INTO product_slots VALUES(55,404); +INSERT INTO product_slots VALUES(55,405); +INSERT INTO product_slots VALUES(55,406); +INSERT INTO product_slots VALUES(55,407); +INSERT INTO product_slots VALUES(55,408); +INSERT INTO product_slots VALUES(55,409); +INSERT INTO product_slots VALUES(55,410); +INSERT INTO product_slots VALUES(55,411); +INSERT INTO product_slots VALUES(55,412); +INSERT INTO product_slots VALUES(55,413); +INSERT INTO product_slots VALUES(55,414); +INSERT INTO product_slots VALUES(55,415); +INSERT INTO product_slots VALUES(55,416); +INSERT INTO product_slots VALUES(55,417); +INSERT INTO product_slots VALUES(55,418); +INSERT INTO product_slots VALUES(55,419); +INSERT INTO product_slots VALUES(55,420); +INSERT INTO product_slots VALUES(55,421); +INSERT INTO product_slots VALUES(55,422); +INSERT INTO product_slots VALUES(55,423); +INSERT INTO product_slots VALUES(55,424); +INSERT INTO product_slots VALUES(55,425); +INSERT INTO product_slots VALUES(55,426); +INSERT INTO product_slots VALUES(55,427); +INSERT INTO product_slots VALUES(55,428); +INSERT INTO product_slots VALUES(55,429); +INSERT INTO product_slots VALUES(55,430); +INSERT INTO product_slots VALUES(55,431); +INSERT INTO product_slots VALUES(55,432); +INSERT INTO product_slots VALUES(55,433); +INSERT INTO product_slots VALUES(55,434); +INSERT INTO product_slots VALUES(55,435); +INSERT INTO product_slots VALUES(55,436); +INSERT INTO product_slots VALUES(55,437); +INSERT INTO product_slots VALUES(55,438); +INSERT INTO product_slots VALUES(55,439); +INSERT INTO product_slots VALUES(55,440); +INSERT INTO product_slots VALUES(55,441); +INSERT INTO product_slots VALUES(55,442); +INSERT INTO product_slots VALUES(55,443); +INSERT INTO product_slots VALUES(55,444); +INSERT INTO product_slots VALUES(55,445); +INSERT INTO product_slots VALUES(55,446); +INSERT INTO product_slots VALUES(55,447); +INSERT INTO product_slots VALUES(55,448); +INSERT INTO product_slots VALUES(55,449); +INSERT INTO product_slots VALUES(55,450); +INSERT INTO product_slots VALUES(55,451); +INSERT INTO product_slots VALUES(55,452); +INSERT INTO product_slots VALUES(55,453); +INSERT INTO product_slots VALUES(55,455); +INSERT INTO product_slots VALUES(55,456); +INSERT INTO product_slots VALUES(55,457); +INSERT INTO product_slots VALUES(55,458); +INSERT INTO product_slots VALUES(55,459); +INSERT INTO product_slots VALUES(55,460); +INSERT INTO product_slots VALUES(55,461); +INSERT INTO product_slots VALUES(55,462); +INSERT INTO product_slots VALUES(55,463); +INSERT INTO product_slots VALUES(55,464); +INSERT INTO product_slots VALUES(55,465); +INSERT INTO product_slots VALUES(55,466); +INSERT INTO product_slots VALUES(55,467); +INSERT INTO product_slots VALUES(55,468); +INSERT INTO product_slots VALUES(55,469); +INSERT INTO product_slots VALUES(55,470); +INSERT INTO product_slots VALUES(55,471); INSERT INTO product_slots VALUES(56,39); INSERT INTO product_slots VALUES(56,40); INSERT INTO product_slots VALUES(56,43); @@ -13232,8 +25482,40 @@ INSERT INTO product_slots VALUES(56,241); INSERT INTO product_slots VALUES(56,242); INSERT INTO product_slots VALUES(56,243); INSERT INTO product_slots VALUES(56,244); +INSERT INTO product_slots VALUES(56,245); +INSERT INTO product_slots VALUES(56,246); +INSERT INTO product_slots VALUES(56,247); +INSERT INTO product_slots VALUES(56,248); +INSERT INTO product_slots VALUES(56,249); +INSERT INTO product_slots VALUES(56,250); +INSERT INTO product_slots VALUES(56,251); +INSERT INTO product_slots VALUES(56,252); +INSERT INTO product_slots VALUES(56,253); +INSERT INTO product_slots VALUES(56,254); +INSERT INTO product_slots VALUES(56,255); +INSERT INTO product_slots VALUES(56,256); +INSERT INTO product_slots VALUES(56,257); +INSERT INTO product_slots VALUES(56,258); +INSERT INTO product_slots VALUES(56,259); +INSERT INTO product_slots VALUES(56,260); +INSERT INTO product_slots VALUES(56,261); +INSERT INTO product_slots VALUES(56,262); +INSERT INTO product_slots VALUES(56,263); +INSERT INTO product_slots VALUES(56,264); +INSERT INTO product_slots VALUES(56,265); +INSERT INTO product_slots VALUES(56,266); +INSERT INTO product_slots VALUES(56,267); +INSERT INTO product_slots VALUES(56,268); +INSERT INTO product_slots VALUES(56,269); +INSERT INTO product_slots VALUES(56,270); +INSERT INTO product_slots VALUES(56,271); +INSERT INTO product_slots VALUES(56,272); +INSERT INTO product_slots VALUES(56,273); INSERT INTO product_slots VALUES(56,274); INSERT INTO product_slots VALUES(56,275); +INSERT INTO product_slots VALUES(56,276); +INSERT INTO product_slots VALUES(56,277); +INSERT INTO product_slots VALUES(56,278); INSERT INTO product_slots VALUES(56,279); INSERT INTO product_slots VALUES(56,280); INSERT INTO product_slots VALUES(56,281); @@ -13243,6 +25525,189 @@ INSERT INTO product_slots VALUES(56,284); INSERT INTO product_slots VALUES(56,285); INSERT INTO product_slots VALUES(56,286); INSERT INTO product_slots VALUES(56,287); +INSERT INTO product_slots VALUES(56,288); +INSERT INTO product_slots VALUES(56,289); +INSERT INTO product_slots VALUES(56,290); +INSERT INTO product_slots VALUES(56,291); +INSERT INTO product_slots VALUES(56,292); +INSERT INTO product_slots VALUES(56,293); +INSERT INTO product_slots VALUES(56,294); +INSERT INTO product_slots VALUES(56,295); +INSERT INTO product_slots VALUES(56,296); +INSERT INTO product_slots VALUES(56,297); +INSERT INTO product_slots VALUES(56,298); +INSERT INTO product_slots VALUES(56,299); +INSERT INTO product_slots VALUES(56,300); +INSERT INTO product_slots VALUES(56,301); +INSERT INTO product_slots VALUES(56,302); +INSERT INTO product_slots VALUES(56,303); +INSERT INTO product_slots VALUES(56,304); +INSERT INTO product_slots VALUES(56,305); +INSERT INTO product_slots VALUES(56,306); +INSERT INTO product_slots VALUES(56,307); +INSERT INTO product_slots VALUES(56,308); +INSERT INTO product_slots VALUES(56,309); +INSERT INTO product_slots VALUES(56,310); +INSERT INTO product_slots VALUES(56,311); +INSERT INTO product_slots VALUES(56,312); +INSERT INTO product_slots VALUES(56,313); +INSERT INTO product_slots VALUES(56,314); +INSERT INTO product_slots VALUES(56,315); +INSERT INTO product_slots VALUES(56,316); +INSERT INTO product_slots VALUES(56,317); +INSERT INTO product_slots VALUES(56,318); +INSERT INTO product_slots VALUES(56,319); +INSERT INTO product_slots VALUES(56,320); +INSERT INTO product_slots VALUES(56,321); +INSERT INTO product_slots VALUES(56,322); +INSERT INTO product_slots VALUES(56,323); +INSERT INTO product_slots VALUES(56,324); +INSERT INTO product_slots VALUES(56,325); +INSERT INTO product_slots VALUES(56,326); +INSERT INTO product_slots VALUES(56,327); +INSERT INTO product_slots VALUES(56,328); +INSERT INTO product_slots VALUES(56,329); +INSERT INTO product_slots VALUES(56,330); +INSERT INTO product_slots VALUES(56,331); +INSERT INTO product_slots VALUES(56,332); +INSERT INTO product_slots VALUES(56,333); +INSERT INTO product_slots VALUES(56,334); +INSERT INTO product_slots VALUES(56,335); +INSERT INTO product_slots VALUES(56,336); +INSERT INTO product_slots VALUES(56,337); +INSERT INTO product_slots VALUES(56,338); +INSERT INTO product_slots VALUES(56,339); +INSERT INTO product_slots VALUES(56,340); +INSERT INTO product_slots VALUES(56,341); +INSERT INTO product_slots VALUES(56,342); +INSERT INTO product_slots VALUES(56,343); +INSERT INTO product_slots VALUES(56,344); +INSERT INTO product_slots VALUES(56,345); +INSERT INTO product_slots VALUES(56,346); +INSERT INTO product_slots VALUES(56,347); +INSERT INTO product_slots VALUES(56,348); +INSERT INTO product_slots VALUES(56,349); +INSERT INTO product_slots VALUES(56,350); +INSERT INTO product_slots VALUES(56,351); +INSERT INTO product_slots VALUES(56,352); +INSERT INTO product_slots VALUES(56,353); +INSERT INTO product_slots VALUES(56,354); +INSERT INTO product_slots VALUES(56,355); +INSERT INTO product_slots VALUES(56,356); +INSERT INTO product_slots VALUES(56,357); +INSERT INTO product_slots VALUES(56,358); +INSERT INTO product_slots VALUES(56,359); +INSERT INTO product_slots VALUES(56,360); +INSERT INTO product_slots VALUES(56,361); +INSERT INTO product_slots VALUES(56,362); +INSERT INTO product_slots VALUES(56,363); +INSERT INTO product_slots VALUES(56,364); +INSERT INTO product_slots VALUES(56,365); +INSERT INTO product_slots VALUES(56,366); +INSERT INTO product_slots VALUES(56,367); +INSERT INTO product_slots VALUES(56,368); +INSERT INTO product_slots VALUES(56,369); +INSERT INTO product_slots VALUES(56,370); +INSERT INTO product_slots VALUES(56,371); +INSERT INTO product_slots VALUES(56,372); +INSERT INTO product_slots VALUES(56,373); +INSERT INTO product_slots VALUES(56,374); +INSERT INTO product_slots VALUES(56,375); +INSERT INTO product_slots VALUES(56,376); +INSERT INTO product_slots VALUES(56,377); +INSERT INTO product_slots VALUES(56,378); +INSERT INTO product_slots VALUES(56,379); +INSERT INTO product_slots VALUES(56,380); +INSERT INTO product_slots VALUES(56,381); +INSERT INTO product_slots VALUES(56,382); +INSERT INTO product_slots VALUES(56,383); +INSERT INTO product_slots VALUES(56,384); +INSERT INTO product_slots VALUES(56,385); +INSERT INTO product_slots VALUES(56,386); +INSERT INTO product_slots VALUES(56,387); +INSERT INTO product_slots VALUES(56,388); +INSERT INTO product_slots VALUES(56,389); +INSERT INTO product_slots VALUES(56,390); +INSERT INTO product_slots VALUES(56,391); +INSERT INTO product_slots VALUES(56,392); +INSERT INTO product_slots VALUES(56,393); +INSERT INTO product_slots VALUES(56,394); +INSERT INTO product_slots VALUES(56,395); +INSERT INTO product_slots VALUES(56,396); +INSERT INTO product_slots VALUES(56,397); +INSERT INTO product_slots VALUES(56,398); +INSERT INTO product_slots VALUES(56,399); +INSERT INTO product_slots VALUES(56,400); +INSERT INTO product_slots VALUES(56,401); +INSERT INTO product_slots VALUES(56,402); +INSERT INTO product_slots VALUES(56,403); +INSERT INTO product_slots VALUES(56,404); +INSERT INTO product_slots VALUES(56,405); +INSERT INTO product_slots VALUES(56,406); +INSERT INTO product_slots VALUES(56,407); +INSERT INTO product_slots VALUES(56,408); +INSERT INTO product_slots VALUES(56,409); +INSERT INTO product_slots VALUES(56,410); +INSERT INTO product_slots VALUES(56,411); +INSERT INTO product_slots VALUES(56,412); +INSERT INTO product_slots VALUES(56,413); +INSERT INTO product_slots VALUES(56,414); +INSERT INTO product_slots VALUES(56,415); +INSERT INTO product_slots VALUES(56,416); +INSERT INTO product_slots VALUES(56,417); +INSERT INTO product_slots VALUES(56,418); +INSERT INTO product_slots VALUES(56,419); +INSERT INTO product_slots VALUES(56,420); +INSERT INTO product_slots VALUES(56,421); +INSERT INTO product_slots VALUES(56,422); +INSERT INTO product_slots VALUES(56,423); +INSERT INTO product_slots VALUES(56,424); +INSERT INTO product_slots VALUES(56,425); +INSERT INTO product_slots VALUES(56,426); +INSERT INTO product_slots VALUES(56,427); +INSERT INTO product_slots VALUES(56,428); +INSERT INTO product_slots VALUES(56,429); +INSERT INTO product_slots VALUES(56,430); +INSERT INTO product_slots VALUES(56,431); +INSERT INTO product_slots VALUES(56,432); +INSERT INTO product_slots VALUES(56,433); +INSERT INTO product_slots VALUES(56,434); +INSERT INTO product_slots VALUES(56,435); +INSERT INTO product_slots VALUES(56,436); +INSERT INTO product_slots VALUES(56,437); +INSERT INTO product_slots VALUES(56,438); +INSERT INTO product_slots VALUES(56,439); +INSERT INTO product_slots VALUES(56,440); +INSERT INTO product_slots VALUES(56,441); +INSERT INTO product_slots VALUES(56,442); +INSERT INTO product_slots VALUES(56,443); +INSERT INTO product_slots VALUES(56,444); +INSERT INTO product_slots VALUES(56,445); +INSERT INTO product_slots VALUES(56,446); +INSERT INTO product_slots VALUES(56,447); +INSERT INTO product_slots VALUES(56,448); +INSERT INTO product_slots VALUES(56,449); +INSERT INTO product_slots VALUES(56,450); +INSERT INTO product_slots VALUES(56,451); +INSERT INTO product_slots VALUES(56,452); +INSERT INTO product_slots VALUES(56,453); +INSERT INTO product_slots VALUES(56,455); +INSERT INTO product_slots VALUES(56,456); +INSERT INTO product_slots VALUES(56,457); +INSERT INTO product_slots VALUES(56,458); +INSERT INTO product_slots VALUES(56,459); +INSERT INTO product_slots VALUES(56,460); +INSERT INTO product_slots VALUES(56,461); +INSERT INTO product_slots VALUES(56,462); +INSERT INTO product_slots VALUES(56,463); +INSERT INTO product_slots VALUES(56,464); +INSERT INTO product_slots VALUES(56,465); +INSERT INTO product_slots VALUES(56,466); +INSERT INTO product_slots VALUES(56,467); +INSERT INTO product_slots VALUES(56,468); +INSERT INTO product_slots VALUES(56,469); +INSERT INTO product_slots VALUES(56,470); +INSERT INTO product_slots VALUES(56,471); INSERT INTO product_slots VALUES(57,39); INSERT INTO product_slots VALUES(57,40); INSERT INTO product_slots VALUES(57,43); @@ -13438,8 +25903,40 @@ INSERT INTO product_slots VALUES(57,241); INSERT INTO product_slots VALUES(57,242); INSERT INTO product_slots VALUES(57,243); INSERT INTO product_slots VALUES(57,244); +INSERT INTO product_slots VALUES(57,245); +INSERT INTO product_slots VALUES(57,246); +INSERT INTO product_slots VALUES(57,247); +INSERT INTO product_slots VALUES(57,248); +INSERT INTO product_slots VALUES(57,249); +INSERT INTO product_slots VALUES(57,250); +INSERT INTO product_slots VALUES(57,251); +INSERT INTO product_slots VALUES(57,252); +INSERT INTO product_slots VALUES(57,253); +INSERT INTO product_slots VALUES(57,254); +INSERT INTO product_slots VALUES(57,255); +INSERT INTO product_slots VALUES(57,256); +INSERT INTO product_slots VALUES(57,257); +INSERT INTO product_slots VALUES(57,258); +INSERT INTO product_slots VALUES(57,259); +INSERT INTO product_slots VALUES(57,260); +INSERT INTO product_slots VALUES(57,261); +INSERT INTO product_slots VALUES(57,262); +INSERT INTO product_slots VALUES(57,263); +INSERT INTO product_slots VALUES(57,264); +INSERT INTO product_slots VALUES(57,265); +INSERT INTO product_slots VALUES(57,266); +INSERT INTO product_slots VALUES(57,267); +INSERT INTO product_slots VALUES(57,268); +INSERT INTO product_slots VALUES(57,269); +INSERT INTO product_slots VALUES(57,270); +INSERT INTO product_slots VALUES(57,271); +INSERT INTO product_slots VALUES(57,272); +INSERT INTO product_slots VALUES(57,273); INSERT INTO product_slots VALUES(57,274); INSERT INTO product_slots VALUES(57,275); +INSERT INTO product_slots VALUES(57,276); +INSERT INTO product_slots VALUES(57,277); +INSERT INTO product_slots VALUES(57,278); INSERT INTO product_slots VALUES(57,279); INSERT INTO product_slots VALUES(57,280); INSERT INTO product_slots VALUES(57,281); @@ -13449,6 +25946,189 @@ INSERT INTO product_slots VALUES(57,284); INSERT INTO product_slots VALUES(57,285); INSERT INTO product_slots VALUES(57,286); INSERT INTO product_slots VALUES(57,287); +INSERT INTO product_slots VALUES(57,288); +INSERT INTO product_slots VALUES(57,289); +INSERT INTO product_slots VALUES(57,290); +INSERT INTO product_slots VALUES(57,291); +INSERT INTO product_slots VALUES(57,292); +INSERT INTO product_slots VALUES(57,293); +INSERT INTO product_slots VALUES(57,294); +INSERT INTO product_slots VALUES(57,295); +INSERT INTO product_slots VALUES(57,296); +INSERT INTO product_slots VALUES(57,297); +INSERT INTO product_slots VALUES(57,298); +INSERT INTO product_slots VALUES(57,299); +INSERT INTO product_slots VALUES(57,300); +INSERT INTO product_slots VALUES(57,301); +INSERT INTO product_slots VALUES(57,302); +INSERT INTO product_slots VALUES(57,303); +INSERT INTO product_slots VALUES(57,304); +INSERT INTO product_slots VALUES(57,305); +INSERT INTO product_slots VALUES(57,306); +INSERT INTO product_slots VALUES(57,307); +INSERT INTO product_slots VALUES(57,308); +INSERT INTO product_slots VALUES(57,309); +INSERT INTO product_slots VALUES(57,310); +INSERT INTO product_slots VALUES(57,311); +INSERT INTO product_slots VALUES(57,312); +INSERT INTO product_slots VALUES(57,313); +INSERT INTO product_slots VALUES(57,314); +INSERT INTO product_slots VALUES(57,315); +INSERT INTO product_slots VALUES(57,316); +INSERT INTO product_slots VALUES(57,317); +INSERT INTO product_slots VALUES(57,318); +INSERT INTO product_slots VALUES(57,319); +INSERT INTO product_slots VALUES(57,320); +INSERT INTO product_slots VALUES(57,321); +INSERT INTO product_slots VALUES(57,322); +INSERT INTO product_slots VALUES(57,323); +INSERT INTO product_slots VALUES(57,324); +INSERT INTO product_slots VALUES(57,325); +INSERT INTO product_slots VALUES(57,326); +INSERT INTO product_slots VALUES(57,327); +INSERT INTO product_slots VALUES(57,328); +INSERT INTO product_slots VALUES(57,329); +INSERT INTO product_slots VALUES(57,330); +INSERT INTO product_slots VALUES(57,331); +INSERT INTO product_slots VALUES(57,332); +INSERT INTO product_slots VALUES(57,333); +INSERT INTO product_slots VALUES(57,334); +INSERT INTO product_slots VALUES(57,335); +INSERT INTO product_slots VALUES(57,336); +INSERT INTO product_slots VALUES(57,337); +INSERT INTO product_slots VALUES(57,338); +INSERT INTO product_slots VALUES(57,339); +INSERT INTO product_slots VALUES(57,340); +INSERT INTO product_slots VALUES(57,341); +INSERT INTO product_slots VALUES(57,342); +INSERT INTO product_slots VALUES(57,343); +INSERT INTO product_slots VALUES(57,344); +INSERT INTO product_slots VALUES(57,345); +INSERT INTO product_slots VALUES(57,346); +INSERT INTO product_slots VALUES(57,347); +INSERT INTO product_slots VALUES(57,348); +INSERT INTO product_slots VALUES(57,349); +INSERT INTO product_slots VALUES(57,350); +INSERT INTO product_slots VALUES(57,351); +INSERT INTO product_slots VALUES(57,352); +INSERT INTO product_slots VALUES(57,353); +INSERT INTO product_slots VALUES(57,354); +INSERT INTO product_slots VALUES(57,355); +INSERT INTO product_slots VALUES(57,356); +INSERT INTO product_slots VALUES(57,357); +INSERT INTO product_slots VALUES(57,358); +INSERT INTO product_slots VALUES(57,359); +INSERT INTO product_slots VALUES(57,360); +INSERT INTO product_slots VALUES(57,361); +INSERT INTO product_slots VALUES(57,362); +INSERT INTO product_slots VALUES(57,363); +INSERT INTO product_slots VALUES(57,364); +INSERT INTO product_slots VALUES(57,365); +INSERT INTO product_slots VALUES(57,366); +INSERT INTO product_slots VALUES(57,367); +INSERT INTO product_slots VALUES(57,368); +INSERT INTO product_slots VALUES(57,369); +INSERT INTO product_slots VALUES(57,370); +INSERT INTO product_slots VALUES(57,371); +INSERT INTO product_slots VALUES(57,372); +INSERT INTO product_slots VALUES(57,373); +INSERT INTO product_slots VALUES(57,374); +INSERT INTO product_slots VALUES(57,375); +INSERT INTO product_slots VALUES(57,376); +INSERT INTO product_slots VALUES(57,377); +INSERT INTO product_slots VALUES(57,378); +INSERT INTO product_slots VALUES(57,379); +INSERT INTO product_slots VALUES(57,380); +INSERT INTO product_slots VALUES(57,381); +INSERT INTO product_slots VALUES(57,382); +INSERT INTO product_slots VALUES(57,383); +INSERT INTO product_slots VALUES(57,384); +INSERT INTO product_slots VALUES(57,385); +INSERT INTO product_slots VALUES(57,386); +INSERT INTO product_slots VALUES(57,387); +INSERT INTO product_slots VALUES(57,388); +INSERT INTO product_slots VALUES(57,389); +INSERT INTO product_slots VALUES(57,390); +INSERT INTO product_slots VALUES(57,391); +INSERT INTO product_slots VALUES(57,392); +INSERT INTO product_slots VALUES(57,393); +INSERT INTO product_slots VALUES(57,394); +INSERT INTO product_slots VALUES(57,395); +INSERT INTO product_slots VALUES(57,396); +INSERT INTO product_slots VALUES(57,397); +INSERT INTO product_slots VALUES(57,398); +INSERT INTO product_slots VALUES(57,399); +INSERT INTO product_slots VALUES(57,400); +INSERT INTO product_slots VALUES(57,401); +INSERT INTO product_slots VALUES(57,402); +INSERT INTO product_slots VALUES(57,403); +INSERT INTO product_slots VALUES(57,404); +INSERT INTO product_slots VALUES(57,405); +INSERT INTO product_slots VALUES(57,406); +INSERT INTO product_slots VALUES(57,407); +INSERT INTO product_slots VALUES(57,408); +INSERT INTO product_slots VALUES(57,409); +INSERT INTO product_slots VALUES(57,410); +INSERT INTO product_slots VALUES(57,411); +INSERT INTO product_slots VALUES(57,412); +INSERT INTO product_slots VALUES(57,413); +INSERT INTO product_slots VALUES(57,414); +INSERT INTO product_slots VALUES(57,415); +INSERT INTO product_slots VALUES(57,416); +INSERT INTO product_slots VALUES(57,417); +INSERT INTO product_slots VALUES(57,418); +INSERT INTO product_slots VALUES(57,419); +INSERT INTO product_slots VALUES(57,420); +INSERT INTO product_slots VALUES(57,421); +INSERT INTO product_slots VALUES(57,422); +INSERT INTO product_slots VALUES(57,423); +INSERT INTO product_slots VALUES(57,424); +INSERT INTO product_slots VALUES(57,425); +INSERT INTO product_slots VALUES(57,426); +INSERT INTO product_slots VALUES(57,427); +INSERT INTO product_slots VALUES(57,428); +INSERT INTO product_slots VALUES(57,429); +INSERT INTO product_slots VALUES(57,430); +INSERT INTO product_slots VALUES(57,431); +INSERT INTO product_slots VALUES(57,432); +INSERT INTO product_slots VALUES(57,433); +INSERT INTO product_slots VALUES(57,434); +INSERT INTO product_slots VALUES(57,435); +INSERT INTO product_slots VALUES(57,436); +INSERT INTO product_slots VALUES(57,437); +INSERT INTO product_slots VALUES(57,438); +INSERT INTO product_slots VALUES(57,439); +INSERT INTO product_slots VALUES(57,440); +INSERT INTO product_slots VALUES(57,441); +INSERT INTO product_slots VALUES(57,442); +INSERT INTO product_slots VALUES(57,443); +INSERT INTO product_slots VALUES(57,444); +INSERT INTO product_slots VALUES(57,445); +INSERT INTO product_slots VALUES(57,446); +INSERT INTO product_slots VALUES(57,447); +INSERT INTO product_slots VALUES(57,448); +INSERT INTO product_slots VALUES(57,449); +INSERT INTO product_slots VALUES(57,450); +INSERT INTO product_slots VALUES(57,451); +INSERT INTO product_slots VALUES(57,452); +INSERT INTO product_slots VALUES(57,453); +INSERT INTO product_slots VALUES(57,455); +INSERT INTO product_slots VALUES(57,456); +INSERT INTO product_slots VALUES(57,457); +INSERT INTO product_slots VALUES(57,458); +INSERT INTO product_slots VALUES(57,459); +INSERT INTO product_slots VALUES(57,460); +INSERT INTO product_slots VALUES(57,461); +INSERT INTO product_slots VALUES(57,462); +INSERT INTO product_slots VALUES(57,463); +INSERT INTO product_slots VALUES(57,464); +INSERT INTO product_slots VALUES(57,465); +INSERT INTO product_slots VALUES(57,466); +INSERT INTO product_slots VALUES(57,467); +INSERT INTO product_slots VALUES(57,468); +INSERT INTO product_slots VALUES(57,469); +INSERT INTO product_slots VALUES(57,470); +INSERT INTO product_slots VALUES(57,471); INSERT INTO product_slots VALUES(58,39); INSERT INTO product_slots VALUES(58,40); INSERT INTO product_slots VALUES(58,43); @@ -13644,8 +26324,40 @@ INSERT INTO product_slots VALUES(58,241); INSERT INTO product_slots VALUES(58,242); INSERT INTO product_slots VALUES(58,243); INSERT INTO product_slots VALUES(58,244); +INSERT INTO product_slots VALUES(58,245); +INSERT INTO product_slots VALUES(58,246); +INSERT INTO product_slots VALUES(58,247); +INSERT INTO product_slots VALUES(58,248); +INSERT INTO product_slots VALUES(58,249); +INSERT INTO product_slots VALUES(58,250); +INSERT INTO product_slots VALUES(58,251); +INSERT INTO product_slots VALUES(58,252); +INSERT INTO product_slots VALUES(58,253); +INSERT INTO product_slots VALUES(58,254); +INSERT INTO product_slots VALUES(58,255); +INSERT INTO product_slots VALUES(58,256); +INSERT INTO product_slots VALUES(58,257); +INSERT INTO product_slots VALUES(58,258); +INSERT INTO product_slots VALUES(58,259); +INSERT INTO product_slots VALUES(58,260); +INSERT INTO product_slots VALUES(58,261); +INSERT INTO product_slots VALUES(58,262); +INSERT INTO product_slots VALUES(58,263); +INSERT INTO product_slots VALUES(58,264); +INSERT INTO product_slots VALUES(58,265); +INSERT INTO product_slots VALUES(58,266); +INSERT INTO product_slots VALUES(58,267); +INSERT INTO product_slots VALUES(58,268); +INSERT INTO product_slots VALUES(58,269); +INSERT INTO product_slots VALUES(58,270); +INSERT INTO product_slots VALUES(58,271); +INSERT INTO product_slots VALUES(58,272); +INSERT INTO product_slots VALUES(58,273); INSERT INTO product_slots VALUES(58,274); INSERT INTO product_slots VALUES(58,275); +INSERT INTO product_slots VALUES(58,276); +INSERT INTO product_slots VALUES(58,277); +INSERT INTO product_slots VALUES(58,278); INSERT INTO product_slots VALUES(58,279); INSERT INTO product_slots VALUES(58,280); INSERT INTO product_slots VALUES(58,281); @@ -13655,6 +26367,189 @@ INSERT INTO product_slots VALUES(58,284); INSERT INTO product_slots VALUES(58,285); INSERT INTO product_slots VALUES(58,286); INSERT INTO product_slots VALUES(58,287); +INSERT INTO product_slots VALUES(58,288); +INSERT INTO product_slots VALUES(58,289); +INSERT INTO product_slots VALUES(58,290); +INSERT INTO product_slots VALUES(58,291); +INSERT INTO product_slots VALUES(58,292); +INSERT INTO product_slots VALUES(58,293); +INSERT INTO product_slots VALUES(58,294); +INSERT INTO product_slots VALUES(58,295); +INSERT INTO product_slots VALUES(58,296); +INSERT INTO product_slots VALUES(58,297); +INSERT INTO product_slots VALUES(58,298); +INSERT INTO product_slots VALUES(58,299); +INSERT INTO product_slots VALUES(58,300); +INSERT INTO product_slots VALUES(58,301); +INSERT INTO product_slots VALUES(58,302); +INSERT INTO product_slots VALUES(58,303); +INSERT INTO product_slots VALUES(58,304); +INSERT INTO product_slots VALUES(58,305); +INSERT INTO product_slots VALUES(58,306); +INSERT INTO product_slots VALUES(58,307); +INSERT INTO product_slots VALUES(58,308); +INSERT INTO product_slots VALUES(58,309); +INSERT INTO product_slots VALUES(58,310); +INSERT INTO product_slots VALUES(58,311); +INSERT INTO product_slots VALUES(58,312); +INSERT INTO product_slots VALUES(58,313); +INSERT INTO product_slots VALUES(58,314); +INSERT INTO product_slots VALUES(58,315); +INSERT INTO product_slots VALUES(58,316); +INSERT INTO product_slots VALUES(58,317); +INSERT INTO product_slots VALUES(58,318); +INSERT INTO product_slots VALUES(58,319); +INSERT INTO product_slots VALUES(58,320); +INSERT INTO product_slots VALUES(58,321); +INSERT INTO product_slots VALUES(58,322); +INSERT INTO product_slots VALUES(58,323); +INSERT INTO product_slots VALUES(58,324); +INSERT INTO product_slots VALUES(58,325); +INSERT INTO product_slots VALUES(58,326); +INSERT INTO product_slots VALUES(58,327); +INSERT INTO product_slots VALUES(58,328); +INSERT INTO product_slots VALUES(58,329); +INSERT INTO product_slots VALUES(58,330); +INSERT INTO product_slots VALUES(58,331); +INSERT INTO product_slots VALUES(58,332); +INSERT INTO product_slots VALUES(58,333); +INSERT INTO product_slots VALUES(58,334); +INSERT INTO product_slots VALUES(58,335); +INSERT INTO product_slots VALUES(58,336); +INSERT INTO product_slots VALUES(58,337); +INSERT INTO product_slots VALUES(58,338); +INSERT INTO product_slots VALUES(58,339); +INSERT INTO product_slots VALUES(58,340); +INSERT INTO product_slots VALUES(58,341); +INSERT INTO product_slots VALUES(58,342); +INSERT INTO product_slots VALUES(58,343); +INSERT INTO product_slots VALUES(58,344); +INSERT INTO product_slots VALUES(58,345); +INSERT INTO product_slots VALUES(58,346); +INSERT INTO product_slots VALUES(58,347); +INSERT INTO product_slots VALUES(58,348); +INSERT INTO product_slots VALUES(58,349); +INSERT INTO product_slots VALUES(58,350); +INSERT INTO product_slots VALUES(58,351); +INSERT INTO product_slots VALUES(58,352); +INSERT INTO product_slots VALUES(58,353); +INSERT INTO product_slots VALUES(58,354); +INSERT INTO product_slots VALUES(58,355); +INSERT INTO product_slots VALUES(58,356); +INSERT INTO product_slots VALUES(58,357); +INSERT INTO product_slots VALUES(58,358); +INSERT INTO product_slots VALUES(58,359); +INSERT INTO product_slots VALUES(58,360); +INSERT INTO product_slots VALUES(58,361); +INSERT INTO product_slots VALUES(58,362); +INSERT INTO product_slots VALUES(58,363); +INSERT INTO product_slots VALUES(58,364); +INSERT INTO product_slots VALUES(58,365); +INSERT INTO product_slots VALUES(58,366); +INSERT INTO product_slots VALUES(58,367); +INSERT INTO product_slots VALUES(58,368); +INSERT INTO product_slots VALUES(58,369); +INSERT INTO product_slots VALUES(58,370); +INSERT INTO product_slots VALUES(58,371); +INSERT INTO product_slots VALUES(58,372); +INSERT INTO product_slots VALUES(58,373); +INSERT INTO product_slots VALUES(58,374); +INSERT INTO product_slots VALUES(58,375); +INSERT INTO product_slots VALUES(58,376); +INSERT INTO product_slots VALUES(58,377); +INSERT INTO product_slots VALUES(58,378); +INSERT INTO product_slots VALUES(58,379); +INSERT INTO product_slots VALUES(58,380); +INSERT INTO product_slots VALUES(58,381); +INSERT INTO product_slots VALUES(58,382); +INSERT INTO product_slots VALUES(58,383); +INSERT INTO product_slots VALUES(58,384); +INSERT INTO product_slots VALUES(58,385); +INSERT INTO product_slots VALUES(58,386); +INSERT INTO product_slots VALUES(58,387); +INSERT INTO product_slots VALUES(58,388); +INSERT INTO product_slots VALUES(58,389); +INSERT INTO product_slots VALUES(58,390); +INSERT INTO product_slots VALUES(58,391); +INSERT INTO product_slots VALUES(58,392); +INSERT INTO product_slots VALUES(58,393); +INSERT INTO product_slots VALUES(58,394); +INSERT INTO product_slots VALUES(58,395); +INSERT INTO product_slots VALUES(58,396); +INSERT INTO product_slots VALUES(58,397); +INSERT INTO product_slots VALUES(58,398); +INSERT INTO product_slots VALUES(58,399); +INSERT INTO product_slots VALUES(58,400); +INSERT INTO product_slots VALUES(58,401); +INSERT INTO product_slots VALUES(58,402); +INSERT INTO product_slots VALUES(58,403); +INSERT INTO product_slots VALUES(58,404); +INSERT INTO product_slots VALUES(58,405); +INSERT INTO product_slots VALUES(58,406); +INSERT INTO product_slots VALUES(58,407); +INSERT INTO product_slots VALUES(58,408); +INSERT INTO product_slots VALUES(58,409); +INSERT INTO product_slots VALUES(58,410); +INSERT INTO product_slots VALUES(58,411); +INSERT INTO product_slots VALUES(58,412); +INSERT INTO product_slots VALUES(58,413); +INSERT INTO product_slots VALUES(58,414); +INSERT INTO product_slots VALUES(58,415); +INSERT INTO product_slots VALUES(58,416); +INSERT INTO product_slots VALUES(58,417); +INSERT INTO product_slots VALUES(58,418); +INSERT INTO product_slots VALUES(58,419); +INSERT INTO product_slots VALUES(58,420); +INSERT INTO product_slots VALUES(58,421); +INSERT INTO product_slots VALUES(58,422); +INSERT INTO product_slots VALUES(58,423); +INSERT INTO product_slots VALUES(58,424); +INSERT INTO product_slots VALUES(58,425); +INSERT INTO product_slots VALUES(58,426); +INSERT INTO product_slots VALUES(58,427); +INSERT INTO product_slots VALUES(58,428); +INSERT INTO product_slots VALUES(58,429); +INSERT INTO product_slots VALUES(58,430); +INSERT INTO product_slots VALUES(58,431); +INSERT INTO product_slots VALUES(58,432); +INSERT INTO product_slots VALUES(58,433); +INSERT INTO product_slots VALUES(58,434); +INSERT INTO product_slots VALUES(58,435); +INSERT INTO product_slots VALUES(58,436); +INSERT INTO product_slots VALUES(58,437); +INSERT INTO product_slots VALUES(58,438); +INSERT INTO product_slots VALUES(58,439); +INSERT INTO product_slots VALUES(58,440); +INSERT INTO product_slots VALUES(58,441); +INSERT INTO product_slots VALUES(58,442); +INSERT INTO product_slots VALUES(58,443); +INSERT INTO product_slots VALUES(58,444); +INSERT INTO product_slots VALUES(58,445); +INSERT INTO product_slots VALUES(58,446); +INSERT INTO product_slots VALUES(58,447); +INSERT INTO product_slots VALUES(58,448); +INSERT INTO product_slots VALUES(58,449); +INSERT INTO product_slots VALUES(58,450); +INSERT INTO product_slots VALUES(58,451); +INSERT INTO product_slots VALUES(58,452); +INSERT INTO product_slots VALUES(58,453); +INSERT INTO product_slots VALUES(58,455); +INSERT INTO product_slots VALUES(58,456); +INSERT INTO product_slots VALUES(58,457); +INSERT INTO product_slots VALUES(58,458); +INSERT INTO product_slots VALUES(58,459); +INSERT INTO product_slots VALUES(58,460); +INSERT INTO product_slots VALUES(58,461); +INSERT INTO product_slots VALUES(58,462); +INSERT INTO product_slots VALUES(58,463); +INSERT INTO product_slots VALUES(58,464); +INSERT INTO product_slots VALUES(58,465); +INSERT INTO product_slots VALUES(58,466); +INSERT INTO product_slots VALUES(58,467); +INSERT INTO product_slots VALUES(58,468); +INSERT INTO product_slots VALUES(58,469); +INSERT INTO product_slots VALUES(58,470); +INSERT INTO product_slots VALUES(58,471); INSERT INTO product_slots VALUES(59,39); INSERT INTO product_slots VALUES(59,40); INSERT INTO product_slots VALUES(59,43); @@ -13850,8 +26745,40 @@ INSERT INTO product_slots VALUES(59,241); INSERT INTO product_slots VALUES(59,242); INSERT INTO product_slots VALUES(59,243); INSERT INTO product_slots VALUES(59,244); +INSERT INTO product_slots VALUES(59,245); +INSERT INTO product_slots VALUES(59,246); +INSERT INTO product_slots VALUES(59,247); +INSERT INTO product_slots VALUES(59,248); +INSERT INTO product_slots VALUES(59,249); +INSERT INTO product_slots VALUES(59,250); +INSERT INTO product_slots VALUES(59,251); +INSERT INTO product_slots VALUES(59,252); +INSERT INTO product_slots VALUES(59,253); +INSERT INTO product_slots VALUES(59,254); +INSERT INTO product_slots VALUES(59,255); +INSERT INTO product_slots VALUES(59,256); +INSERT INTO product_slots VALUES(59,257); +INSERT INTO product_slots VALUES(59,258); +INSERT INTO product_slots VALUES(59,259); +INSERT INTO product_slots VALUES(59,260); +INSERT INTO product_slots VALUES(59,261); +INSERT INTO product_slots VALUES(59,262); +INSERT INTO product_slots VALUES(59,263); +INSERT INTO product_slots VALUES(59,264); +INSERT INTO product_slots VALUES(59,265); +INSERT INTO product_slots VALUES(59,266); +INSERT INTO product_slots VALUES(59,267); +INSERT INTO product_slots VALUES(59,268); +INSERT INTO product_slots VALUES(59,269); +INSERT INTO product_slots VALUES(59,270); +INSERT INTO product_slots VALUES(59,271); +INSERT INTO product_slots VALUES(59,272); +INSERT INTO product_slots VALUES(59,273); INSERT INTO product_slots VALUES(59,274); INSERT INTO product_slots VALUES(59,275); +INSERT INTO product_slots VALUES(59,276); +INSERT INTO product_slots VALUES(59,277); +INSERT INTO product_slots VALUES(59,278); INSERT INTO product_slots VALUES(59,279); INSERT INTO product_slots VALUES(59,280); INSERT INTO product_slots VALUES(59,281); @@ -13861,6 +26788,189 @@ INSERT INTO product_slots VALUES(59,284); INSERT INTO product_slots VALUES(59,285); INSERT INTO product_slots VALUES(59,286); INSERT INTO product_slots VALUES(59,287); +INSERT INTO product_slots VALUES(59,288); +INSERT INTO product_slots VALUES(59,289); +INSERT INTO product_slots VALUES(59,290); +INSERT INTO product_slots VALUES(59,291); +INSERT INTO product_slots VALUES(59,292); +INSERT INTO product_slots VALUES(59,293); +INSERT INTO product_slots VALUES(59,294); +INSERT INTO product_slots VALUES(59,295); +INSERT INTO product_slots VALUES(59,296); +INSERT INTO product_slots VALUES(59,297); +INSERT INTO product_slots VALUES(59,298); +INSERT INTO product_slots VALUES(59,299); +INSERT INTO product_slots VALUES(59,300); +INSERT INTO product_slots VALUES(59,301); +INSERT INTO product_slots VALUES(59,302); +INSERT INTO product_slots VALUES(59,303); +INSERT INTO product_slots VALUES(59,304); +INSERT INTO product_slots VALUES(59,305); +INSERT INTO product_slots VALUES(59,306); +INSERT INTO product_slots VALUES(59,307); +INSERT INTO product_slots VALUES(59,308); +INSERT INTO product_slots VALUES(59,309); +INSERT INTO product_slots VALUES(59,310); +INSERT INTO product_slots VALUES(59,311); +INSERT INTO product_slots VALUES(59,312); +INSERT INTO product_slots VALUES(59,313); +INSERT INTO product_slots VALUES(59,314); +INSERT INTO product_slots VALUES(59,315); +INSERT INTO product_slots VALUES(59,316); +INSERT INTO product_slots VALUES(59,317); +INSERT INTO product_slots VALUES(59,318); +INSERT INTO product_slots VALUES(59,319); +INSERT INTO product_slots VALUES(59,320); +INSERT INTO product_slots VALUES(59,321); +INSERT INTO product_slots VALUES(59,322); +INSERT INTO product_slots VALUES(59,323); +INSERT INTO product_slots VALUES(59,324); +INSERT INTO product_slots VALUES(59,325); +INSERT INTO product_slots VALUES(59,326); +INSERT INTO product_slots VALUES(59,327); +INSERT INTO product_slots VALUES(59,328); +INSERT INTO product_slots VALUES(59,329); +INSERT INTO product_slots VALUES(59,330); +INSERT INTO product_slots VALUES(59,331); +INSERT INTO product_slots VALUES(59,332); +INSERT INTO product_slots VALUES(59,333); +INSERT INTO product_slots VALUES(59,334); +INSERT INTO product_slots VALUES(59,335); +INSERT INTO product_slots VALUES(59,336); +INSERT INTO product_slots VALUES(59,337); +INSERT INTO product_slots VALUES(59,338); +INSERT INTO product_slots VALUES(59,339); +INSERT INTO product_slots VALUES(59,340); +INSERT INTO product_slots VALUES(59,341); +INSERT INTO product_slots VALUES(59,342); +INSERT INTO product_slots VALUES(59,343); +INSERT INTO product_slots VALUES(59,344); +INSERT INTO product_slots VALUES(59,345); +INSERT INTO product_slots VALUES(59,346); +INSERT INTO product_slots VALUES(59,347); +INSERT INTO product_slots VALUES(59,348); +INSERT INTO product_slots VALUES(59,349); +INSERT INTO product_slots VALUES(59,350); +INSERT INTO product_slots VALUES(59,351); +INSERT INTO product_slots VALUES(59,352); +INSERT INTO product_slots VALUES(59,353); +INSERT INTO product_slots VALUES(59,354); +INSERT INTO product_slots VALUES(59,355); +INSERT INTO product_slots VALUES(59,356); +INSERT INTO product_slots VALUES(59,357); +INSERT INTO product_slots VALUES(59,358); +INSERT INTO product_slots VALUES(59,359); +INSERT INTO product_slots VALUES(59,360); +INSERT INTO product_slots VALUES(59,361); +INSERT INTO product_slots VALUES(59,362); +INSERT INTO product_slots VALUES(59,363); +INSERT INTO product_slots VALUES(59,364); +INSERT INTO product_slots VALUES(59,365); +INSERT INTO product_slots VALUES(59,366); +INSERT INTO product_slots VALUES(59,367); +INSERT INTO product_slots VALUES(59,368); +INSERT INTO product_slots VALUES(59,369); +INSERT INTO product_slots VALUES(59,370); +INSERT INTO product_slots VALUES(59,371); +INSERT INTO product_slots VALUES(59,372); +INSERT INTO product_slots VALUES(59,373); +INSERT INTO product_slots VALUES(59,374); +INSERT INTO product_slots VALUES(59,375); +INSERT INTO product_slots VALUES(59,376); +INSERT INTO product_slots VALUES(59,377); +INSERT INTO product_slots VALUES(59,378); +INSERT INTO product_slots VALUES(59,379); +INSERT INTO product_slots VALUES(59,380); +INSERT INTO product_slots VALUES(59,381); +INSERT INTO product_slots VALUES(59,382); +INSERT INTO product_slots VALUES(59,383); +INSERT INTO product_slots VALUES(59,384); +INSERT INTO product_slots VALUES(59,385); +INSERT INTO product_slots VALUES(59,386); +INSERT INTO product_slots VALUES(59,387); +INSERT INTO product_slots VALUES(59,388); +INSERT INTO product_slots VALUES(59,389); +INSERT INTO product_slots VALUES(59,390); +INSERT INTO product_slots VALUES(59,391); +INSERT INTO product_slots VALUES(59,392); +INSERT INTO product_slots VALUES(59,393); +INSERT INTO product_slots VALUES(59,394); +INSERT INTO product_slots VALUES(59,395); +INSERT INTO product_slots VALUES(59,396); +INSERT INTO product_slots VALUES(59,397); +INSERT INTO product_slots VALUES(59,398); +INSERT INTO product_slots VALUES(59,399); +INSERT INTO product_slots VALUES(59,400); +INSERT INTO product_slots VALUES(59,401); +INSERT INTO product_slots VALUES(59,402); +INSERT INTO product_slots VALUES(59,403); +INSERT INTO product_slots VALUES(59,404); +INSERT INTO product_slots VALUES(59,405); +INSERT INTO product_slots VALUES(59,406); +INSERT INTO product_slots VALUES(59,407); +INSERT INTO product_slots VALUES(59,408); +INSERT INTO product_slots VALUES(59,409); +INSERT INTO product_slots VALUES(59,410); +INSERT INTO product_slots VALUES(59,411); +INSERT INTO product_slots VALUES(59,412); +INSERT INTO product_slots VALUES(59,413); +INSERT INTO product_slots VALUES(59,414); +INSERT INTO product_slots VALUES(59,415); +INSERT INTO product_slots VALUES(59,416); +INSERT INTO product_slots VALUES(59,417); +INSERT INTO product_slots VALUES(59,418); +INSERT INTO product_slots VALUES(59,419); +INSERT INTO product_slots VALUES(59,420); +INSERT INTO product_slots VALUES(59,421); +INSERT INTO product_slots VALUES(59,422); +INSERT INTO product_slots VALUES(59,423); +INSERT INTO product_slots VALUES(59,424); +INSERT INTO product_slots VALUES(59,425); +INSERT INTO product_slots VALUES(59,426); +INSERT INTO product_slots VALUES(59,427); +INSERT INTO product_slots VALUES(59,428); +INSERT INTO product_slots VALUES(59,429); +INSERT INTO product_slots VALUES(59,430); +INSERT INTO product_slots VALUES(59,431); +INSERT INTO product_slots VALUES(59,432); +INSERT INTO product_slots VALUES(59,433); +INSERT INTO product_slots VALUES(59,434); +INSERT INTO product_slots VALUES(59,435); +INSERT INTO product_slots VALUES(59,436); +INSERT INTO product_slots VALUES(59,437); +INSERT INTO product_slots VALUES(59,438); +INSERT INTO product_slots VALUES(59,439); +INSERT INTO product_slots VALUES(59,440); +INSERT INTO product_slots VALUES(59,441); +INSERT INTO product_slots VALUES(59,442); +INSERT INTO product_slots VALUES(59,443); +INSERT INTO product_slots VALUES(59,444); +INSERT INTO product_slots VALUES(59,445); +INSERT INTO product_slots VALUES(59,446); +INSERT INTO product_slots VALUES(59,447); +INSERT INTO product_slots VALUES(59,448); +INSERT INTO product_slots VALUES(59,449); +INSERT INTO product_slots VALUES(59,450); +INSERT INTO product_slots VALUES(59,451); +INSERT INTO product_slots VALUES(59,452); +INSERT INTO product_slots VALUES(59,453); +INSERT INTO product_slots VALUES(59,455); +INSERT INTO product_slots VALUES(59,456); +INSERT INTO product_slots VALUES(59,457); +INSERT INTO product_slots VALUES(59,458); +INSERT INTO product_slots VALUES(59,459); +INSERT INTO product_slots VALUES(59,460); +INSERT INTO product_slots VALUES(59,461); +INSERT INTO product_slots VALUES(59,462); +INSERT INTO product_slots VALUES(59,463); +INSERT INTO product_slots VALUES(59,464); +INSERT INTO product_slots VALUES(59,465); +INSERT INTO product_slots VALUES(59,466); +INSERT INTO product_slots VALUES(59,467); +INSERT INTO product_slots VALUES(59,468); +INSERT INTO product_slots VALUES(59,469); +INSERT INTO product_slots VALUES(59,470); +INSERT INTO product_slots VALUES(59,471); INSERT INTO product_slots VALUES(60,39); INSERT INTO product_slots VALUES(60,40); INSERT INTO product_slots VALUES(60,43); @@ -14056,8 +27166,40 @@ INSERT INTO product_slots VALUES(60,241); INSERT INTO product_slots VALUES(60,242); INSERT INTO product_slots VALUES(60,243); INSERT INTO product_slots VALUES(60,244); +INSERT INTO product_slots VALUES(60,245); +INSERT INTO product_slots VALUES(60,246); +INSERT INTO product_slots VALUES(60,247); +INSERT INTO product_slots VALUES(60,248); +INSERT INTO product_slots VALUES(60,249); +INSERT INTO product_slots VALUES(60,250); +INSERT INTO product_slots VALUES(60,251); +INSERT INTO product_slots VALUES(60,252); +INSERT INTO product_slots VALUES(60,253); +INSERT INTO product_slots VALUES(60,254); +INSERT INTO product_slots VALUES(60,255); +INSERT INTO product_slots VALUES(60,256); +INSERT INTO product_slots VALUES(60,257); +INSERT INTO product_slots VALUES(60,258); +INSERT INTO product_slots VALUES(60,259); +INSERT INTO product_slots VALUES(60,260); +INSERT INTO product_slots VALUES(60,261); +INSERT INTO product_slots VALUES(60,262); +INSERT INTO product_slots VALUES(60,263); +INSERT INTO product_slots VALUES(60,264); +INSERT INTO product_slots VALUES(60,265); +INSERT INTO product_slots VALUES(60,266); +INSERT INTO product_slots VALUES(60,267); +INSERT INTO product_slots VALUES(60,268); +INSERT INTO product_slots VALUES(60,269); +INSERT INTO product_slots VALUES(60,270); +INSERT INTO product_slots VALUES(60,271); +INSERT INTO product_slots VALUES(60,272); +INSERT INTO product_slots VALUES(60,273); INSERT INTO product_slots VALUES(60,274); INSERT INTO product_slots VALUES(60,275); +INSERT INTO product_slots VALUES(60,276); +INSERT INTO product_slots VALUES(60,277); +INSERT INTO product_slots VALUES(60,278); INSERT INTO product_slots VALUES(60,279); INSERT INTO product_slots VALUES(60,280); INSERT INTO product_slots VALUES(60,281); @@ -14067,6 +27209,189 @@ INSERT INTO product_slots VALUES(60,284); INSERT INTO product_slots VALUES(60,285); INSERT INTO product_slots VALUES(60,286); INSERT INTO product_slots VALUES(60,287); +INSERT INTO product_slots VALUES(60,288); +INSERT INTO product_slots VALUES(60,289); +INSERT INTO product_slots VALUES(60,290); +INSERT INTO product_slots VALUES(60,291); +INSERT INTO product_slots VALUES(60,292); +INSERT INTO product_slots VALUES(60,293); +INSERT INTO product_slots VALUES(60,294); +INSERT INTO product_slots VALUES(60,295); +INSERT INTO product_slots VALUES(60,296); +INSERT INTO product_slots VALUES(60,297); +INSERT INTO product_slots VALUES(60,298); +INSERT INTO product_slots VALUES(60,299); +INSERT INTO product_slots VALUES(60,300); +INSERT INTO product_slots VALUES(60,301); +INSERT INTO product_slots VALUES(60,302); +INSERT INTO product_slots VALUES(60,303); +INSERT INTO product_slots VALUES(60,304); +INSERT INTO product_slots VALUES(60,305); +INSERT INTO product_slots VALUES(60,306); +INSERT INTO product_slots VALUES(60,307); +INSERT INTO product_slots VALUES(60,308); +INSERT INTO product_slots VALUES(60,309); +INSERT INTO product_slots VALUES(60,310); +INSERT INTO product_slots VALUES(60,311); +INSERT INTO product_slots VALUES(60,312); +INSERT INTO product_slots VALUES(60,313); +INSERT INTO product_slots VALUES(60,314); +INSERT INTO product_slots VALUES(60,315); +INSERT INTO product_slots VALUES(60,316); +INSERT INTO product_slots VALUES(60,317); +INSERT INTO product_slots VALUES(60,318); +INSERT INTO product_slots VALUES(60,319); +INSERT INTO product_slots VALUES(60,320); +INSERT INTO product_slots VALUES(60,321); +INSERT INTO product_slots VALUES(60,322); +INSERT INTO product_slots VALUES(60,323); +INSERT INTO product_slots VALUES(60,324); +INSERT INTO product_slots VALUES(60,325); +INSERT INTO product_slots VALUES(60,326); +INSERT INTO product_slots VALUES(60,327); +INSERT INTO product_slots VALUES(60,328); +INSERT INTO product_slots VALUES(60,329); +INSERT INTO product_slots VALUES(60,330); +INSERT INTO product_slots VALUES(60,331); +INSERT INTO product_slots VALUES(60,332); +INSERT INTO product_slots VALUES(60,333); +INSERT INTO product_slots VALUES(60,334); +INSERT INTO product_slots VALUES(60,335); +INSERT INTO product_slots VALUES(60,336); +INSERT INTO product_slots VALUES(60,337); +INSERT INTO product_slots VALUES(60,338); +INSERT INTO product_slots VALUES(60,339); +INSERT INTO product_slots VALUES(60,340); +INSERT INTO product_slots VALUES(60,341); +INSERT INTO product_slots VALUES(60,342); +INSERT INTO product_slots VALUES(60,343); +INSERT INTO product_slots VALUES(60,344); +INSERT INTO product_slots VALUES(60,345); +INSERT INTO product_slots VALUES(60,346); +INSERT INTO product_slots VALUES(60,347); +INSERT INTO product_slots VALUES(60,348); +INSERT INTO product_slots VALUES(60,349); +INSERT INTO product_slots VALUES(60,350); +INSERT INTO product_slots VALUES(60,351); +INSERT INTO product_slots VALUES(60,352); +INSERT INTO product_slots VALUES(60,353); +INSERT INTO product_slots VALUES(60,354); +INSERT INTO product_slots VALUES(60,355); +INSERT INTO product_slots VALUES(60,356); +INSERT INTO product_slots VALUES(60,357); +INSERT INTO product_slots VALUES(60,358); +INSERT INTO product_slots VALUES(60,359); +INSERT INTO product_slots VALUES(60,360); +INSERT INTO product_slots VALUES(60,361); +INSERT INTO product_slots VALUES(60,362); +INSERT INTO product_slots VALUES(60,363); +INSERT INTO product_slots VALUES(60,364); +INSERT INTO product_slots VALUES(60,365); +INSERT INTO product_slots VALUES(60,366); +INSERT INTO product_slots VALUES(60,367); +INSERT INTO product_slots VALUES(60,368); +INSERT INTO product_slots VALUES(60,369); +INSERT INTO product_slots VALUES(60,370); +INSERT INTO product_slots VALUES(60,371); +INSERT INTO product_slots VALUES(60,372); +INSERT INTO product_slots VALUES(60,373); +INSERT INTO product_slots VALUES(60,374); +INSERT INTO product_slots VALUES(60,375); +INSERT INTO product_slots VALUES(60,376); +INSERT INTO product_slots VALUES(60,377); +INSERT INTO product_slots VALUES(60,378); +INSERT INTO product_slots VALUES(60,379); +INSERT INTO product_slots VALUES(60,380); +INSERT INTO product_slots VALUES(60,381); +INSERT INTO product_slots VALUES(60,382); +INSERT INTO product_slots VALUES(60,383); +INSERT INTO product_slots VALUES(60,384); +INSERT INTO product_slots VALUES(60,385); +INSERT INTO product_slots VALUES(60,386); +INSERT INTO product_slots VALUES(60,387); +INSERT INTO product_slots VALUES(60,388); +INSERT INTO product_slots VALUES(60,389); +INSERT INTO product_slots VALUES(60,390); +INSERT INTO product_slots VALUES(60,391); +INSERT INTO product_slots VALUES(60,392); +INSERT INTO product_slots VALUES(60,393); +INSERT INTO product_slots VALUES(60,394); +INSERT INTO product_slots VALUES(60,395); +INSERT INTO product_slots VALUES(60,396); +INSERT INTO product_slots VALUES(60,397); +INSERT INTO product_slots VALUES(60,398); +INSERT INTO product_slots VALUES(60,399); +INSERT INTO product_slots VALUES(60,400); +INSERT INTO product_slots VALUES(60,401); +INSERT INTO product_slots VALUES(60,402); +INSERT INTO product_slots VALUES(60,403); +INSERT INTO product_slots VALUES(60,404); +INSERT INTO product_slots VALUES(60,405); +INSERT INTO product_slots VALUES(60,406); +INSERT INTO product_slots VALUES(60,407); +INSERT INTO product_slots VALUES(60,408); +INSERT INTO product_slots VALUES(60,409); +INSERT INTO product_slots VALUES(60,410); +INSERT INTO product_slots VALUES(60,411); +INSERT INTO product_slots VALUES(60,412); +INSERT INTO product_slots VALUES(60,413); +INSERT INTO product_slots VALUES(60,414); +INSERT INTO product_slots VALUES(60,415); +INSERT INTO product_slots VALUES(60,416); +INSERT INTO product_slots VALUES(60,417); +INSERT INTO product_slots VALUES(60,418); +INSERT INTO product_slots VALUES(60,419); +INSERT INTO product_slots VALUES(60,420); +INSERT INTO product_slots VALUES(60,421); +INSERT INTO product_slots VALUES(60,422); +INSERT INTO product_slots VALUES(60,423); +INSERT INTO product_slots VALUES(60,424); +INSERT INTO product_slots VALUES(60,425); +INSERT INTO product_slots VALUES(60,426); +INSERT INTO product_slots VALUES(60,427); +INSERT INTO product_slots VALUES(60,428); +INSERT INTO product_slots VALUES(60,429); +INSERT INTO product_slots VALUES(60,430); +INSERT INTO product_slots VALUES(60,431); +INSERT INTO product_slots VALUES(60,432); +INSERT INTO product_slots VALUES(60,433); +INSERT INTO product_slots VALUES(60,434); +INSERT INTO product_slots VALUES(60,435); +INSERT INTO product_slots VALUES(60,436); +INSERT INTO product_slots VALUES(60,437); +INSERT INTO product_slots VALUES(60,438); +INSERT INTO product_slots VALUES(60,439); +INSERT INTO product_slots VALUES(60,440); +INSERT INTO product_slots VALUES(60,441); +INSERT INTO product_slots VALUES(60,442); +INSERT INTO product_slots VALUES(60,443); +INSERT INTO product_slots VALUES(60,444); +INSERT INTO product_slots VALUES(60,445); +INSERT INTO product_slots VALUES(60,446); +INSERT INTO product_slots VALUES(60,447); +INSERT INTO product_slots VALUES(60,448); +INSERT INTO product_slots VALUES(60,449); +INSERT INTO product_slots VALUES(60,450); +INSERT INTO product_slots VALUES(60,451); +INSERT INTO product_slots VALUES(60,452); +INSERT INTO product_slots VALUES(60,453); +INSERT INTO product_slots VALUES(60,455); +INSERT INTO product_slots VALUES(60,456); +INSERT INTO product_slots VALUES(60,457); +INSERT INTO product_slots VALUES(60,458); +INSERT INTO product_slots VALUES(60,459); +INSERT INTO product_slots VALUES(60,460); +INSERT INTO product_slots VALUES(60,461); +INSERT INTO product_slots VALUES(60,462); +INSERT INTO product_slots VALUES(60,463); +INSERT INTO product_slots VALUES(60,464); +INSERT INTO product_slots VALUES(60,465); +INSERT INTO product_slots VALUES(60,466); +INSERT INTO product_slots VALUES(60,467); +INSERT INTO product_slots VALUES(60,468); +INSERT INTO product_slots VALUES(60,469); +INSERT INTO product_slots VALUES(60,470); +INSERT INTO product_slots VALUES(60,471); INSERT INTO product_slots VALUES(61,39); INSERT INTO product_slots VALUES(61,40); INSERT INTO product_slots VALUES(61,43); @@ -14262,8 +27587,40 @@ INSERT INTO product_slots VALUES(61,241); INSERT INTO product_slots VALUES(61,242); INSERT INTO product_slots VALUES(61,243); INSERT INTO product_slots VALUES(61,244); +INSERT INTO product_slots VALUES(61,245); +INSERT INTO product_slots VALUES(61,246); +INSERT INTO product_slots VALUES(61,247); +INSERT INTO product_slots VALUES(61,248); +INSERT INTO product_slots VALUES(61,249); +INSERT INTO product_slots VALUES(61,250); +INSERT INTO product_slots VALUES(61,251); +INSERT INTO product_slots VALUES(61,252); +INSERT INTO product_slots VALUES(61,253); +INSERT INTO product_slots VALUES(61,254); +INSERT INTO product_slots VALUES(61,255); +INSERT INTO product_slots VALUES(61,256); +INSERT INTO product_slots VALUES(61,257); +INSERT INTO product_slots VALUES(61,258); +INSERT INTO product_slots VALUES(61,259); +INSERT INTO product_slots VALUES(61,260); +INSERT INTO product_slots VALUES(61,261); +INSERT INTO product_slots VALUES(61,262); +INSERT INTO product_slots VALUES(61,263); +INSERT INTO product_slots VALUES(61,264); +INSERT INTO product_slots VALUES(61,265); +INSERT INTO product_slots VALUES(61,266); +INSERT INTO product_slots VALUES(61,267); +INSERT INTO product_slots VALUES(61,268); +INSERT INTO product_slots VALUES(61,269); +INSERT INTO product_slots VALUES(61,270); +INSERT INTO product_slots VALUES(61,271); +INSERT INTO product_slots VALUES(61,272); +INSERT INTO product_slots VALUES(61,273); INSERT INTO product_slots VALUES(61,274); INSERT INTO product_slots VALUES(61,275); +INSERT INTO product_slots VALUES(61,276); +INSERT INTO product_slots VALUES(61,277); +INSERT INTO product_slots VALUES(61,278); INSERT INTO product_slots VALUES(61,279); INSERT INTO product_slots VALUES(61,280); INSERT INTO product_slots VALUES(61,281); @@ -14273,6 +27630,189 @@ INSERT INTO product_slots VALUES(61,284); INSERT INTO product_slots VALUES(61,285); INSERT INTO product_slots VALUES(61,286); INSERT INTO product_slots VALUES(61,287); +INSERT INTO product_slots VALUES(61,288); +INSERT INTO product_slots VALUES(61,289); +INSERT INTO product_slots VALUES(61,290); +INSERT INTO product_slots VALUES(61,291); +INSERT INTO product_slots VALUES(61,292); +INSERT INTO product_slots VALUES(61,293); +INSERT INTO product_slots VALUES(61,294); +INSERT INTO product_slots VALUES(61,295); +INSERT INTO product_slots VALUES(61,296); +INSERT INTO product_slots VALUES(61,297); +INSERT INTO product_slots VALUES(61,298); +INSERT INTO product_slots VALUES(61,299); +INSERT INTO product_slots VALUES(61,300); +INSERT INTO product_slots VALUES(61,301); +INSERT INTO product_slots VALUES(61,302); +INSERT INTO product_slots VALUES(61,303); +INSERT INTO product_slots VALUES(61,304); +INSERT INTO product_slots VALUES(61,305); +INSERT INTO product_slots VALUES(61,306); +INSERT INTO product_slots VALUES(61,307); +INSERT INTO product_slots VALUES(61,308); +INSERT INTO product_slots VALUES(61,309); +INSERT INTO product_slots VALUES(61,310); +INSERT INTO product_slots VALUES(61,311); +INSERT INTO product_slots VALUES(61,312); +INSERT INTO product_slots VALUES(61,313); +INSERT INTO product_slots VALUES(61,314); +INSERT INTO product_slots VALUES(61,315); +INSERT INTO product_slots VALUES(61,316); +INSERT INTO product_slots VALUES(61,317); +INSERT INTO product_slots VALUES(61,318); +INSERT INTO product_slots VALUES(61,319); +INSERT INTO product_slots VALUES(61,320); +INSERT INTO product_slots VALUES(61,321); +INSERT INTO product_slots VALUES(61,322); +INSERT INTO product_slots VALUES(61,323); +INSERT INTO product_slots VALUES(61,324); +INSERT INTO product_slots VALUES(61,325); +INSERT INTO product_slots VALUES(61,326); +INSERT INTO product_slots VALUES(61,327); +INSERT INTO product_slots VALUES(61,328); +INSERT INTO product_slots VALUES(61,329); +INSERT INTO product_slots VALUES(61,330); +INSERT INTO product_slots VALUES(61,331); +INSERT INTO product_slots VALUES(61,332); +INSERT INTO product_slots VALUES(61,333); +INSERT INTO product_slots VALUES(61,334); +INSERT INTO product_slots VALUES(61,335); +INSERT INTO product_slots VALUES(61,336); +INSERT INTO product_slots VALUES(61,337); +INSERT INTO product_slots VALUES(61,338); +INSERT INTO product_slots VALUES(61,339); +INSERT INTO product_slots VALUES(61,340); +INSERT INTO product_slots VALUES(61,341); +INSERT INTO product_slots VALUES(61,342); +INSERT INTO product_slots VALUES(61,343); +INSERT INTO product_slots VALUES(61,344); +INSERT INTO product_slots VALUES(61,345); +INSERT INTO product_slots VALUES(61,346); +INSERT INTO product_slots VALUES(61,347); +INSERT INTO product_slots VALUES(61,348); +INSERT INTO product_slots VALUES(61,349); +INSERT INTO product_slots VALUES(61,350); +INSERT INTO product_slots VALUES(61,351); +INSERT INTO product_slots VALUES(61,352); +INSERT INTO product_slots VALUES(61,353); +INSERT INTO product_slots VALUES(61,354); +INSERT INTO product_slots VALUES(61,355); +INSERT INTO product_slots VALUES(61,356); +INSERT INTO product_slots VALUES(61,357); +INSERT INTO product_slots VALUES(61,358); +INSERT INTO product_slots VALUES(61,359); +INSERT INTO product_slots VALUES(61,360); +INSERT INTO product_slots VALUES(61,361); +INSERT INTO product_slots VALUES(61,362); +INSERT INTO product_slots VALUES(61,363); +INSERT INTO product_slots VALUES(61,364); +INSERT INTO product_slots VALUES(61,365); +INSERT INTO product_slots VALUES(61,366); +INSERT INTO product_slots VALUES(61,367); +INSERT INTO product_slots VALUES(61,368); +INSERT INTO product_slots VALUES(61,369); +INSERT INTO product_slots VALUES(61,370); +INSERT INTO product_slots VALUES(61,371); +INSERT INTO product_slots VALUES(61,372); +INSERT INTO product_slots VALUES(61,373); +INSERT INTO product_slots VALUES(61,374); +INSERT INTO product_slots VALUES(61,375); +INSERT INTO product_slots VALUES(61,376); +INSERT INTO product_slots VALUES(61,377); +INSERT INTO product_slots VALUES(61,378); +INSERT INTO product_slots VALUES(61,379); +INSERT INTO product_slots VALUES(61,380); +INSERT INTO product_slots VALUES(61,381); +INSERT INTO product_slots VALUES(61,382); +INSERT INTO product_slots VALUES(61,383); +INSERT INTO product_slots VALUES(61,384); +INSERT INTO product_slots VALUES(61,385); +INSERT INTO product_slots VALUES(61,386); +INSERT INTO product_slots VALUES(61,387); +INSERT INTO product_slots VALUES(61,388); +INSERT INTO product_slots VALUES(61,389); +INSERT INTO product_slots VALUES(61,390); +INSERT INTO product_slots VALUES(61,391); +INSERT INTO product_slots VALUES(61,392); +INSERT INTO product_slots VALUES(61,393); +INSERT INTO product_slots VALUES(61,394); +INSERT INTO product_slots VALUES(61,395); +INSERT INTO product_slots VALUES(61,396); +INSERT INTO product_slots VALUES(61,397); +INSERT INTO product_slots VALUES(61,398); +INSERT INTO product_slots VALUES(61,399); +INSERT INTO product_slots VALUES(61,400); +INSERT INTO product_slots VALUES(61,401); +INSERT INTO product_slots VALUES(61,402); +INSERT INTO product_slots VALUES(61,403); +INSERT INTO product_slots VALUES(61,404); +INSERT INTO product_slots VALUES(61,405); +INSERT INTO product_slots VALUES(61,406); +INSERT INTO product_slots VALUES(61,407); +INSERT INTO product_slots VALUES(61,408); +INSERT INTO product_slots VALUES(61,409); +INSERT INTO product_slots VALUES(61,410); +INSERT INTO product_slots VALUES(61,411); +INSERT INTO product_slots VALUES(61,412); +INSERT INTO product_slots VALUES(61,413); +INSERT INTO product_slots VALUES(61,414); +INSERT INTO product_slots VALUES(61,415); +INSERT INTO product_slots VALUES(61,416); +INSERT INTO product_slots VALUES(61,417); +INSERT INTO product_slots VALUES(61,418); +INSERT INTO product_slots VALUES(61,419); +INSERT INTO product_slots VALUES(61,420); +INSERT INTO product_slots VALUES(61,421); +INSERT INTO product_slots VALUES(61,422); +INSERT INTO product_slots VALUES(61,423); +INSERT INTO product_slots VALUES(61,424); +INSERT INTO product_slots VALUES(61,425); +INSERT INTO product_slots VALUES(61,426); +INSERT INTO product_slots VALUES(61,427); +INSERT INTO product_slots VALUES(61,428); +INSERT INTO product_slots VALUES(61,429); +INSERT INTO product_slots VALUES(61,430); +INSERT INTO product_slots VALUES(61,431); +INSERT INTO product_slots VALUES(61,432); +INSERT INTO product_slots VALUES(61,433); +INSERT INTO product_slots VALUES(61,434); +INSERT INTO product_slots VALUES(61,435); +INSERT INTO product_slots VALUES(61,436); +INSERT INTO product_slots VALUES(61,437); +INSERT INTO product_slots VALUES(61,438); +INSERT INTO product_slots VALUES(61,439); +INSERT INTO product_slots VALUES(61,440); +INSERT INTO product_slots VALUES(61,441); +INSERT INTO product_slots VALUES(61,442); +INSERT INTO product_slots VALUES(61,443); +INSERT INTO product_slots VALUES(61,444); +INSERT INTO product_slots VALUES(61,445); +INSERT INTO product_slots VALUES(61,446); +INSERT INTO product_slots VALUES(61,447); +INSERT INTO product_slots VALUES(61,448); +INSERT INTO product_slots VALUES(61,449); +INSERT INTO product_slots VALUES(61,450); +INSERT INTO product_slots VALUES(61,451); +INSERT INTO product_slots VALUES(61,452); +INSERT INTO product_slots VALUES(61,453); +INSERT INTO product_slots VALUES(61,455); +INSERT INTO product_slots VALUES(61,456); +INSERT INTO product_slots VALUES(61,457); +INSERT INTO product_slots VALUES(61,458); +INSERT INTO product_slots VALUES(61,459); +INSERT INTO product_slots VALUES(61,460); +INSERT INTO product_slots VALUES(61,461); +INSERT INTO product_slots VALUES(61,462); +INSERT INTO product_slots VALUES(61,463); +INSERT INTO product_slots VALUES(61,464); +INSERT INTO product_slots VALUES(61,465); +INSERT INTO product_slots VALUES(61,466); +INSERT INTO product_slots VALUES(61,467); +INSERT INTO product_slots VALUES(61,468); +INSERT INTO product_slots VALUES(61,469); +INSERT INTO product_slots VALUES(61,470); +INSERT INTO product_slots VALUES(61,471); INSERT INTO product_slots VALUES(62,39); INSERT INTO product_slots VALUES(62,40); INSERT INTO product_slots VALUES(62,43); @@ -14468,8 +28008,40 @@ INSERT INTO product_slots VALUES(62,241); INSERT INTO product_slots VALUES(62,242); INSERT INTO product_slots VALUES(62,243); INSERT INTO product_slots VALUES(62,244); +INSERT INTO product_slots VALUES(62,245); +INSERT INTO product_slots VALUES(62,246); +INSERT INTO product_slots VALUES(62,247); +INSERT INTO product_slots VALUES(62,248); +INSERT INTO product_slots VALUES(62,249); +INSERT INTO product_slots VALUES(62,250); +INSERT INTO product_slots VALUES(62,251); +INSERT INTO product_slots VALUES(62,252); +INSERT INTO product_slots VALUES(62,253); +INSERT INTO product_slots VALUES(62,254); +INSERT INTO product_slots VALUES(62,255); +INSERT INTO product_slots VALUES(62,256); +INSERT INTO product_slots VALUES(62,257); +INSERT INTO product_slots VALUES(62,258); +INSERT INTO product_slots VALUES(62,259); +INSERT INTO product_slots VALUES(62,260); +INSERT INTO product_slots VALUES(62,261); +INSERT INTO product_slots VALUES(62,262); +INSERT INTO product_slots VALUES(62,263); +INSERT INTO product_slots VALUES(62,264); +INSERT INTO product_slots VALUES(62,265); +INSERT INTO product_slots VALUES(62,266); +INSERT INTO product_slots VALUES(62,267); +INSERT INTO product_slots VALUES(62,268); +INSERT INTO product_slots VALUES(62,269); +INSERT INTO product_slots VALUES(62,270); +INSERT INTO product_slots VALUES(62,271); +INSERT INTO product_slots VALUES(62,272); +INSERT INTO product_slots VALUES(62,273); INSERT INTO product_slots VALUES(62,274); INSERT INTO product_slots VALUES(62,275); +INSERT INTO product_slots VALUES(62,276); +INSERT INTO product_slots VALUES(62,277); +INSERT INTO product_slots VALUES(62,278); INSERT INTO product_slots VALUES(62,279); INSERT INTO product_slots VALUES(62,280); INSERT INTO product_slots VALUES(62,281); @@ -14479,6 +28051,189 @@ INSERT INTO product_slots VALUES(62,284); INSERT INTO product_slots VALUES(62,285); INSERT INTO product_slots VALUES(62,286); INSERT INTO product_slots VALUES(62,287); +INSERT INTO product_slots VALUES(62,288); +INSERT INTO product_slots VALUES(62,289); +INSERT INTO product_slots VALUES(62,290); +INSERT INTO product_slots VALUES(62,291); +INSERT INTO product_slots VALUES(62,292); +INSERT INTO product_slots VALUES(62,293); +INSERT INTO product_slots VALUES(62,294); +INSERT INTO product_slots VALUES(62,295); +INSERT INTO product_slots VALUES(62,296); +INSERT INTO product_slots VALUES(62,297); +INSERT INTO product_slots VALUES(62,298); +INSERT INTO product_slots VALUES(62,299); +INSERT INTO product_slots VALUES(62,300); +INSERT INTO product_slots VALUES(62,301); +INSERT INTO product_slots VALUES(62,302); +INSERT INTO product_slots VALUES(62,303); +INSERT INTO product_slots VALUES(62,304); +INSERT INTO product_slots VALUES(62,305); +INSERT INTO product_slots VALUES(62,306); +INSERT INTO product_slots VALUES(62,307); +INSERT INTO product_slots VALUES(62,308); +INSERT INTO product_slots VALUES(62,309); +INSERT INTO product_slots VALUES(62,310); +INSERT INTO product_slots VALUES(62,311); +INSERT INTO product_slots VALUES(62,312); +INSERT INTO product_slots VALUES(62,313); +INSERT INTO product_slots VALUES(62,314); +INSERT INTO product_slots VALUES(62,315); +INSERT INTO product_slots VALUES(62,316); +INSERT INTO product_slots VALUES(62,317); +INSERT INTO product_slots VALUES(62,318); +INSERT INTO product_slots VALUES(62,319); +INSERT INTO product_slots VALUES(62,320); +INSERT INTO product_slots VALUES(62,321); +INSERT INTO product_slots VALUES(62,322); +INSERT INTO product_slots VALUES(62,323); +INSERT INTO product_slots VALUES(62,324); +INSERT INTO product_slots VALUES(62,325); +INSERT INTO product_slots VALUES(62,326); +INSERT INTO product_slots VALUES(62,327); +INSERT INTO product_slots VALUES(62,328); +INSERT INTO product_slots VALUES(62,329); +INSERT INTO product_slots VALUES(62,330); +INSERT INTO product_slots VALUES(62,331); +INSERT INTO product_slots VALUES(62,332); +INSERT INTO product_slots VALUES(62,333); +INSERT INTO product_slots VALUES(62,334); +INSERT INTO product_slots VALUES(62,335); +INSERT INTO product_slots VALUES(62,336); +INSERT INTO product_slots VALUES(62,337); +INSERT INTO product_slots VALUES(62,338); +INSERT INTO product_slots VALUES(62,339); +INSERT INTO product_slots VALUES(62,340); +INSERT INTO product_slots VALUES(62,341); +INSERT INTO product_slots VALUES(62,342); +INSERT INTO product_slots VALUES(62,343); +INSERT INTO product_slots VALUES(62,344); +INSERT INTO product_slots VALUES(62,345); +INSERT INTO product_slots VALUES(62,346); +INSERT INTO product_slots VALUES(62,347); +INSERT INTO product_slots VALUES(62,348); +INSERT INTO product_slots VALUES(62,349); +INSERT INTO product_slots VALUES(62,350); +INSERT INTO product_slots VALUES(62,351); +INSERT INTO product_slots VALUES(62,352); +INSERT INTO product_slots VALUES(62,353); +INSERT INTO product_slots VALUES(62,354); +INSERT INTO product_slots VALUES(62,355); +INSERT INTO product_slots VALUES(62,356); +INSERT INTO product_slots VALUES(62,357); +INSERT INTO product_slots VALUES(62,358); +INSERT INTO product_slots VALUES(62,359); +INSERT INTO product_slots VALUES(62,360); +INSERT INTO product_slots VALUES(62,361); +INSERT INTO product_slots VALUES(62,362); +INSERT INTO product_slots VALUES(62,363); +INSERT INTO product_slots VALUES(62,364); +INSERT INTO product_slots VALUES(62,365); +INSERT INTO product_slots VALUES(62,366); +INSERT INTO product_slots VALUES(62,367); +INSERT INTO product_slots VALUES(62,368); +INSERT INTO product_slots VALUES(62,369); +INSERT INTO product_slots VALUES(62,370); +INSERT INTO product_slots VALUES(62,371); +INSERT INTO product_slots VALUES(62,372); +INSERT INTO product_slots VALUES(62,373); +INSERT INTO product_slots VALUES(62,374); +INSERT INTO product_slots VALUES(62,375); +INSERT INTO product_slots VALUES(62,376); +INSERT INTO product_slots VALUES(62,377); +INSERT INTO product_slots VALUES(62,378); +INSERT INTO product_slots VALUES(62,379); +INSERT INTO product_slots VALUES(62,380); +INSERT INTO product_slots VALUES(62,381); +INSERT INTO product_slots VALUES(62,382); +INSERT INTO product_slots VALUES(62,383); +INSERT INTO product_slots VALUES(62,384); +INSERT INTO product_slots VALUES(62,385); +INSERT INTO product_slots VALUES(62,386); +INSERT INTO product_slots VALUES(62,387); +INSERT INTO product_slots VALUES(62,388); +INSERT INTO product_slots VALUES(62,389); +INSERT INTO product_slots VALUES(62,390); +INSERT INTO product_slots VALUES(62,391); +INSERT INTO product_slots VALUES(62,392); +INSERT INTO product_slots VALUES(62,393); +INSERT INTO product_slots VALUES(62,394); +INSERT INTO product_slots VALUES(62,395); +INSERT INTO product_slots VALUES(62,396); +INSERT INTO product_slots VALUES(62,397); +INSERT INTO product_slots VALUES(62,398); +INSERT INTO product_slots VALUES(62,399); +INSERT INTO product_slots VALUES(62,400); +INSERT INTO product_slots VALUES(62,401); +INSERT INTO product_slots VALUES(62,402); +INSERT INTO product_slots VALUES(62,403); +INSERT INTO product_slots VALUES(62,404); +INSERT INTO product_slots VALUES(62,405); +INSERT INTO product_slots VALUES(62,406); +INSERT INTO product_slots VALUES(62,407); +INSERT INTO product_slots VALUES(62,408); +INSERT INTO product_slots VALUES(62,409); +INSERT INTO product_slots VALUES(62,410); +INSERT INTO product_slots VALUES(62,411); +INSERT INTO product_slots VALUES(62,412); +INSERT INTO product_slots VALUES(62,413); +INSERT INTO product_slots VALUES(62,414); +INSERT INTO product_slots VALUES(62,415); +INSERT INTO product_slots VALUES(62,416); +INSERT INTO product_slots VALUES(62,417); +INSERT INTO product_slots VALUES(62,418); +INSERT INTO product_slots VALUES(62,419); +INSERT INTO product_slots VALUES(62,420); +INSERT INTO product_slots VALUES(62,421); +INSERT INTO product_slots VALUES(62,422); +INSERT INTO product_slots VALUES(62,423); +INSERT INTO product_slots VALUES(62,424); +INSERT INTO product_slots VALUES(62,425); +INSERT INTO product_slots VALUES(62,426); +INSERT INTO product_slots VALUES(62,427); +INSERT INTO product_slots VALUES(62,428); +INSERT INTO product_slots VALUES(62,429); +INSERT INTO product_slots VALUES(62,430); +INSERT INTO product_slots VALUES(62,431); +INSERT INTO product_slots VALUES(62,432); +INSERT INTO product_slots VALUES(62,433); +INSERT INTO product_slots VALUES(62,434); +INSERT INTO product_slots VALUES(62,435); +INSERT INTO product_slots VALUES(62,436); +INSERT INTO product_slots VALUES(62,437); +INSERT INTO product_slots VALUES(62,438); +INSERT INTO product_slots VALUES(62,439); +INSERT INTO product_slots VALUES(62,440); +INSERT INTO product_slots VALUES(62,441); +INSERT INTO product_slots VALUES(62,442); +INSERT INTO product_slots VALUES(62,443); +INSERT INTO product_slots VALUES(62,444); +INSERT INTO product_slots VALUES(62,445); +INSERT INTO product_slots VALUES(62,446); +INSERT INTO product_slots VALUES(62,447); +INSERT INTO product_slots VALUES(62,448); +INSERT INTO product_slots VALUES(62,449); +INSERT INTO product_slots VALUES(62,450); +INSERT INTO product_slots VALUES(62,451); +INSERT INTO product_slots VALUES(62,452); +INSERT INTO product_slots VALUES(62,453); +INSERT INTO product_slots VALUES(62,455); +INSERT INTO product_slots VALUES(62,456); +INSERT INTO product_slots VALUES(62,457); +INSERT INTO product_slots VALUES(62,458); +INSERT INTO product_slots VALUES(62,459); +INSERT INTO product_slots VALUES(62,460); +INSERT INTO product_slots VALUES(62,461); +INSERT INTO product_slots VALUES(62,462); +INSERT INTO product_slots VALUES(62,463); +INSERT INTO product_slots VALUES(62,464); +INSERT INTO product_slots VALUES(62,465); +INSERT INTO product_slots VALUES(62,466); +INSERT INTO product_slots VALUES(62,467); +INSERT INTO product_slots VALUES(62,468); +INSERT INTO product_slots VALUES(62,469); +INSERT INTO product_slots VALUES(62,470); +INSERT INTO product_slots VALUES(62,471); INSERT INTO product_slots VALUES(63,40); INSERT INTO product_slots VALUES(63,59); INSERT INTO product_slots VALUES(63,64); @@ -14658,8 +28413,40 @@ INSERT INTO product_slots VALUES(63,241); INSERT INTO product_slots VALUES(63,242); INSERT INTO product_slots VALUES(63,243); INSERT INTO product_slots VALUES(63,244); +INSERT INTO product_slots VALUES(63,245); +INSERT INTO product_slots VALUES(63,246); +INSERT INTO product_slots VALUES(63,247); +INSERT INTO product_slots VALUES(63,248); +INSERT INTO product_slots VALUES(63,249); +INSERT INTO product_slots VALUES(63,250); +INSERT INTO product_slots VALUES(63,251); +INSERT INTO product_slots VALUES(63,252); +INSERT INTO product_slots VALUES(63,253); +INSERT INTO product_slots VALUES(63,254); +INSERT INTO product_slots VALUES(63,255); +INSERT INTO product_slots VALUES(63,256); +INSERT INTO product_slots VALUES(63,257); +INSERT INTO product_slots VALUES(63,258); +INSERT INTO product_slots VALUES(63,259); +INSERT INTO product_slots VALUES(63,260); +INSERT INTO product_slots VALUES(63,261); +INSERT INTO product_slots VALUES(63,262); +INSERT INTO product_slots VALUES(63,263); +INSERT INTO product_slots VALUES(63,264); +INSERT INTO product_slots VALUES(63,265); +INSERT INTO product_slots VALUES(63,266); +INSERT INTO product_slots VALUES(63,267); +INSERT INTO product_slots VALUES(63,268); +INSERT INTO product_slots VALUES(63,269); +INSERT INTO product_slots VALUES(63,270); +INSERT INTO product_slots VALUES(63,271); +INSERT INTO product_slots VALUES(63,272); +INSERT INTO product_slots VALUES(63,273); INSERT INTO product_slots VALUES(63,274); INSERT INTO product_slots VALUES(63,275); +INSERT INTO product_slots VALUES(63,276); +INSERT INTO product_slots VALUES(63,277); +INSERT INTO product_slots VALUES(63,278); INSERT INTO product_slots VALUES(63,279); INSERT INTO product_slots VALUES(63,280); INSERT INTO product_slots VALUES(63,281); @@ -14669,6 +28456,189 @@ INSERT INTO product_slots VALUES(63,284); INSERT INTO product_slots VALUES(63,285); INSERT INTO product_slots VALUES(63,286); INSERT INTO product_slots VALUES(63,287); +INSERT INTO product_slots VALUES(63,288); +INSERT INTO product_slots VALUES(63,289); +INSERT INTO product_slots VALUES(63,290); +INSERT INTO product_slots VALUES(63,291); +INSERT INTO product_slots VALUES(63,292); +INSERT INTO product_slots VALUES(63,293); +INSERT INTO product_slots VALUES(63,294); +INSERT INTO product_slots VALUES(63,295); +INSERT INTO product_slots VALUES(63,296); +INSERT INTO product_slots VALUES(63,297); +INSERT INTO product_slots VALUES(63,298); +INSERT INTO product_slots VALUES(63,299); +INSERT INTO product_slots VALUES(63,300); +INSERT INTO product_slots VALUES(63,301); +INSERT INTO product_slots VALUES(63,302); +INSERT INTO product_slots VALUES(63,303); +INSERT INTO product_slots VALUES(63,304); +INSERT INTO product_slots VALUES(63,305); +INSERT INTO product_slots VALUES(63,306); +INSERT INTO product_slots VALUES(63,307); +INSERT INTO product_slots VALUES(63,308); +INSERT INTO product_slots VALUES(63,309); +INSERT INTO product_slots VALUES(63,310); +INSERT INTO product_slots VALUES(63,311); +INSERT INTO product_slots VALUES(63,312); +INSERT INTO product_slots VALUES(63,313); +INSERT INTO product_slots VALUES(63,314); +INSERT INTO product_slots VALUES(63,315); +INSERT INTO product_slots VALUES(63,316); +INSERT INTO product_slots VALUES(63,317); +INSERT INTO product_slots VALUES(63,318); +INSERT INTO product_slots VALUES(63,319); +INSERT INTO product_slots VALUES(63,320); +INSERT INTO product_slots VALUES(63,321); +INSERT INTO product_slots VALUES(63,322); +INSERT INTO product_slots VALUES(63,323); +INSERT INTO product_slots VALUES(63,324); +INSERT INTO product_slots VALUES(63,325); +INSERT INTO product_slots VALUES(63,326); +INSERT INTO product_slots VALUES(63,327); +INSERT INTO product_slots VALUES(63,328); +INSERT INTO product_slots VALUES(63,329); +INSERT INTO product_slots VALUES(63,330); +INSERT INTO product_slots VALUES(63,331); +INSERT INTO product_slots VALUES(63,332); +INSERT INTO product_slots VALUES(63,333); +INSERT INTO product_slots VALUES(63,334); +INSERT INTO product_slots VALUES(63,335); +INSERT INTO product_slots VALUES(63,336); +INSERT INTO product_slots VALUES(63,337); +INSERT INTO product_slots VALUES(63,338); +INSERT INTO product_slots VALUES(63,339); +INSERT INTO product_slots VALUES(63,340); +INSERT INTO product_slots VALUES(63,341); +INSERT INTO product_slots VALUES(63,342); +INSERT INTO product_slots VALUES(63,343); +INSERT INTO product_slots VALUES(63,344); +INSERT INTO product_slots VALUES(63,345); +INSERT INTO product_slots VALUES(63,346); +INSERT INTO product_slots VALUES(63,347); +INSERT INTO product_slots VALUES(63,348); +INSERT INTO product_slots VALUES(63,349); +INSERT INTO product_slots VALUES(63,350); +INSERT INTO product_slots VALUES(63,351); +INSERT INTO product_slots VALUES(63,352); +INSERT INTO product_slots VALUES(63,353); +INSERT INTO product_slots VALUES(63,354); +INSERT INTO product_slots VALUES(63,355); +INSERT INTO product_slots VALUES(63,356); +INSERT INTO product_slots VALUES(63,357); +INSERT INTO product_slots VALUES(63,358); +INSERT INTO product_slots VALUES(63,359); +INSERT INTO product_slots VALUES(63,360); +INSERT INTO product_slots VALUES(63,361); +INSERT INTO product_slots VALUES(63,362); +INSERT INTO product_slots VALUES(63,363); +INSERT INTO product_slots VALUES(63,364); +INSERT INTO product_slots VALUES(63,365); +INSERT INTO product_slots VALUES(63,366); +INSERT INTO product_slots VALUES(63,367); +INSERT INTO product_slots VALUES(63,368); +INSERT INTO product_slots VALUES(63,369); +INSERT INTO product_slots VALUES(63,370); +INSERT INTO product_slots VALUES(63,371); +INSERT INTO product_slots VALUES(63,372); +INSERT INTO product_slots VALUES(63,373); +INSERT INTO product_slots VALUES(63,374); +INSERT INTO product_slots VALUES(63,375); +INSERT INTO product_slots VALUES(63,376); +INSERT INTO product_slots VALUES(63,377); +INSERT INTO product_slots VALUES(63,378); +INSERT INTO product_slots VALUES(63,379); +INSERT INTO product_slots VALUES(63,380); +INSERT INTO product_slots VALUES(63,381); +INSERT INTO product_slots VALUES(63,382); +INSERT INTO product_slots VALUES(63,383); +INSERT INTO product_slots VALUES(63,384); +INSERT INTO product_slots VALUES(63,385); +INSERT INTO product_slots VALUES(63,386); +INSERT INTO product_slots VALUES(63,387); +INSERT INTO product_slots VALUES(63,388); +INSERT INTO product_slots VALUES(63,389); +INSERT INTO product_slots VALUES(63,390); +INSERT INTO product_slots VALUES(63,391); +INSERT INTO product_slots VALUES(63,392); +INSERT INTO product_slots VALUES(63,393); +INSERT INTO product_slots VALUES(63,394); +INSERT INTO product_slots VALUES(63,395); +INSERT INTO product_slots VALUES(63,396); +INSERT INTO product_slots VALUES(63,397); +INSERT INTO product_slots VALUES(63,398); +INSERT INTO product_slots VALUES(63,399); +INSERT INTO product_slots VALUES(63,400); +INSERT INTO product_slots VALUES(63,401); +INSERT INTO product_slots VALUES(63,402); +INSERT INTO product_slots VALUES(63,403); +INSERT INTO product_slots VALUES(63,404); +INSERT INTO product_slots VALUES(63,405); +INSERT INTO product_slots VALUES(63,406); +INSERT INTO product_slots VALUES(63,407); +INSERT INTO product_slots VALUES(63,408); +INSERT INTO product_slots VALUES(63,409); +INSERT INTO product_slots VALUES(63,410); +INSERT INTO product_slots VALUES(63,411); +INSERT INTO product_slots VALUES(63,412); +INSERT INTO product_slots VALUES(63,413); +INSERT INTO product_slots VALUES(63,414); +INSERT INTO product_slots VALUES(63,415); +INSERT INTO product_slots VALUES(63,416); +INSERT INTO product_slots VALUES(63,417); +INSERT INTO product_slots VALUES(63,418); +INSERT INTO product_slots VALUES(63,419); +INSERT INTO product_slots VALUES(63,420); +INSERT INTO product_slots VALUES(63,421); +INSERT INTO product_slots VALUES(63,422); +INSERT INTO product_slots VALUES(63,423); +INSERT INTO product_slots VALUES(63,424); +INSERT INTO product_slots VALUES(63,425); +INSERT INTO product_slots VALUES(63,426); +INSERT INTO product_slots VALUES(63,427); +INSERT INTO product_slots VALUES(63,428); +INSERT INTO product_slots VALUES(63,429); +INSERT INTO product_slots VALUES(63,430); +INSERT INTO product_slots VALUES(63,431); +INSERT INTO product_slots VALUES(63,432); +INSERT INTO product_slots VALUES(63,433); +INSERT INTO product_slots VALUES(63,434); +INSERT INTO product_slots VALUES(63,435); +INSERT INTO product_slots VALUES(63,436); +INSERT INTO product_slots VALUES(63,437); +INSERT INTO product_slots VALUES(63,438); +INSERT INTO product_slots VALUES(63,439); +INSERT INTO product_slots VALUES(63,440); +INSERT INTO product_slots VALUES(63,441); +INSERT INTO product_slots VALUES(63,442); +INSERT INTO product_slots VALUES(63,443); +INSERT INTO product_slots VALUES(63,444); +INSERT INTO product_slots VALUES(63,445); +INSERT INTO product_slots VALUES(63,446); +INSERT INTO product_slots VALUES(63,447); +INSERT INTO product_slots VALUES(63,448); +INSERT INTO product_slots VALUES(63,449); +INSERT INTO product_slots VALUES(63,450); +INSERT INTO product_slots VALUES(63,451); +INSERT INTO product_slots VALUES(63,452); +INSERT INTO product_slots VALUES(63,453); +INSERT INTO product_slots VALUES(63,455); +INSERT INTO product_slots VALUES(63,456); +INSERT INTO product_slots VALUES(63,457); +INSERT INTO product_slots VALUES(63,458); +INSERT INTO product_slots VALUES(63,459); +INSERT INTO product_slots VALUES(63,460); +INSERT INTO product_slots VALUES(63,461); +INSERT INTO product_slots VALUES(63,462); +INSERT INTO product_slots VALUES(63,463); +INSERT INTO product_slots VALUES(63,464); +INSERT INTO product_slots VALUES(63,465); +INSERT INTO product_slots VALUES(63,466); +INSERT INTO product_slots VALUES(63,467); +INSERT INTO product_slots VALUES(63,468); +INSERT INTO product_slots VALUES(63,469); +INSERT INTO product_slots VALUES(63,470); +INSERT INTO product_slots VALUES(63,471); INSERT INTO product_slots VALUES(64,39); INSERT INTO product_slots VALUES(64,44); INSERT INTO product_slots VALUES(64,46); @@ -14870,8 +28840,40 @@ INSERT INTO product_slots VALUES(64,241); INSERT INTO product_slots VALUES(64,242); INSERT INTO product_slots VALUES(64,243); INSERT INTO product_slots VALUES(64,244); +INSERT INTO product_slots VALUES(64,245); +INSERT INTO product_slots VALUES(64,246); +INSERT INTO product_slots VALUES(64,247); +INSERT INTO product_slots VALUES(64,248); +INSERT INTO product_slots VALUES(64,249); +INSERT INTO product_slots VALUES(64,250); +INSERT INTO product_slots VALUES(64,251); +INSERT INTO product_slots VALUES(64,252); +INSERT INTO product_slots VALUES(64,253); +INSERT INTO product_slots VALUES(64,254); +INSERT INTO product_slots VALUES(64,255); +INSERT INTO product_slots VALUES(64,256); +INSERT INTO product_slots VALUES(64,257); +INSERT INTO product_slots VALUES(64,258); +INSERT INTO product_slots VALUES(64,259); +INSERT INTO product_slots VALUES(64,260); +INSERT INTO product_slots VALUES(64,261); +INSERT INTO product_slots VALUES(64,262); +INSERT INTO product_slots VALUES(64,263); +INSERT INTO product_slots VALUES(64,264); +INSERT INTO product_slots VALUES(64,265); +INSERT INTO product_slots VALUES(64,266); +INSERT INTO product_slots VALUES(64,267); +INSERT INTO product_slots VALUES(64,268); +INSERT INTO product_slots VALUES(64,269); +INSERT INTO product_slots VALUES(64,270); +INSERT INTO product_slots VALUES(64,271); +INSERT INTO product_slots VALUES(64,272); +INSERT INTO product_slots VALUES(64,273); INSERT INTO product_slots VALUES(64,274); INSERT INTO product_slots VALUES(64,275); +INSERT INTO product_slots VALUES(64,276); +INSERT INTO product_slots VALUES(64,277); +INSERT INTO product_slots VALUES(64,278); INSERT INTO product_slots VALUES(64,279); INSERT INTO product_slots VALUES(64,280); INSERT INTO product_slots VALUES(64,281); @@ -14881,6 +28883,190 @@ INSERT INTO product_slots VALUES(64,284); INSERT INTO product_slots VALUES(64,285); INSERT INTO product_slots VALUES(64,286); INSERT INTO product_slots VALUES(64,287); +INSERT INTO product_slots VALUES(64,288); +INSERT INTO product_slots VALUES(64,289); +INSERT INTO product_slots VALUES(64,290); +INSERT INTO product_slots VALUES(64,291); +INSERT INTO product_slots VALUES(64,292); +INSERT INTO product_slots VALUES(64,293); +INSERT INTO product_slots VALUES(64,294); +INSERT INTO product_slots VALUES(64,295); +INSERT INTO product_slots VALUES(64,296); +INSERT INTO product_slots VALUES(64,297); +INSERT INTO product_slots VALUES(64,298); +INSERT INTO product_slots VALUES(64,299); +INSERT INTO product_slots VALUES(64,300); +INSERT INTO product_slots VALUES(64,301); +INSERT INTO product_slots VALUES(64,302); +INSERT INTO product_slots VALUES(64,303); +INSERT INTO product_slots VALUES(64,304); +INSERT INTO product_slots VALUES(64,305); +INSERT INTO product_slots VALUES(64,306); +INSERT INTO product_slots VALUES(64,307); +INSERT INTO product_slots VALUES(64,308); +INSERT INTO product_slots VALUES(64,309); +INSERT INTO product_slots VALUES(64,310); +INSERT INTO product_slots VALUES(64,311); +INSERT INTO product_slots VALUES(64,312); +INSERT INTO product_slots VALUES(64,313); +INSERT INTO product_slots VALUES(64,314); +INSERT INTO product_slots VALUES(64,315); +INSERT INTO product_slots VALUES(64,316); +INSERT INTO product_slots VALUES(64,317); +INSERT INTO product_slots VALUES(64,318); +INSERT INTO product_slots VALUES(64,319); +INSERT INTO product_slots VALUES(64,320); +INSERT INTO product_slots VALUES(64,321); +INSERT INTO product_slots VALUES(64,322); +INSERT INTO product_slots VALUES(64,323); +INSERT INTO product_slots VALUES(64,324); +INSERT INTO product_slots VALUES(64,325); +INSERT INTO product_slots VALUES(64,326); +INSERT INTO product_slots VALUES(64,327); +INSERT INTO product_slots VALUES(64,328); +INSERT INTO product_slots VALUES(64,329); +INSERT INTO product_slots VALUES(64,330); +INSERT INTO product_slots VALUES(64,331); +INSERT INTO product_slots VALUES(64,332); +INSERT INTO product_slots VALUES(64,333); +INSERT INTO product_slots VALUES(64,334); +INSERT INTO product_slots VALUES(64,335); +INSERT INTO product_slots VALUES(64,336); +INSERT INTO product_slots VALUES(64,337); +INSERT INTO product_slots VALUES(64,338); +INSERT INTO product_slots VALUES(64,339); +INSERT INTO product_slots VALUES(64,340); +INSERT INTO product_slots VALUES(64,341); +INSERT INTO product_slots VALUES(64,342); +INSERT INTO product_slots VALUES(64,343); +INSERT INTO product_slots VALUES(64,344); +INSERT INTO product_slots VALUES(64,345); +INSERT INTO product_slots VALUES(64,346); +INSERT INTO product_slots VALUES(64,347); +INSERT INTO product_slots VALUES(64,348); +INSERT INTO product_slots VALUES(64,349); +INSERT INTO product_slots VALUES(64,350); +INSERT INTO product_slots VALUES(64,351); +INSERT INTO product_slots VALUES(64,352); +INSERT INTO product_slots VALUES(64,353); +INSERT INTO product_slots VALUES(64,354); +INSERT INTO product_slots VALUES(64,355); +INSERT INTO product_slots VALUES(64,356); +INSERT INTO product_slots VALUES(64,357); +INSERT INTO product_slots VALUES(64,358); +INSERT INTO product_slots VALUES(64,359); +INSERT INTO product_slots VALUES(64,360); +INSERT INTO product_slots VALUES(64,361); +INSERT INTO product_slots VALUES(64,362); +INSERT INTO product_slots VALUES(64,363); +INSERT INTO product_slots VALUES(64,364); +INSERT INTO product_slots VALUES(64,365); +INSERT INTO product_slots VALUES(64,366); +INSERT INTO product_slots VALUES(64,367); +INSERT INTO product_slots VALUES(64,368); +INSERT INTO product_slots VALUES(64,369); +INSERT INTO product_slots VALUES(64,370); +INSERT INTO product_slots VALUES(64,371); +INSERT INTO product_slots VALUES(64,372); +INSERT INTO product_slots VALUES(64,373); +INSERT INTO product_slots VALUES(64,374); +INSERT INTO product_slots VALUES(64,375); +INSERT INTO product_slots VALUES(64,376); +INSERT INTO product_slots VALUES(64,377); +INSERT INTO product_slots VALUES(64,378); +INSERT INTO product_slots VALUES(64,379); +INSERT INTO product_slots VALUES(64,380); +INSERT INTO product_slots VALUES(64,381); +INSERT INTO product_slots VALUES(64,382); +INSERT INTO product_slots VALUES(64,383); +INSERT INTO product_slots VALUES(64,384); +INSERT INTO product_slots VALUES(64,385); +INSERT INTO product_slots VALUES(64,386); +INSERT INTO product_slots VALUES(64,387); +INSERT INTO product_slots VALUES(64,388); +INSERT INTO product_slots VALUES(64,389); +INSERT INTO product_slots VALUES(64,390); +INSERT INTO product_slots VALUES(64,391); +INSERT INTO product_slots VALUES(64,392); +INSERT INTO product_slots VALUES(64,393); +INSERT INTO product_slots VALUES(64,394); +INSERT INTO product_slots VALUES(64,395); +INSERT INTO product_slots VALUES(64,396); +INSERT INTO product_slots VALUES(64,397); +INSERT INTO product_slots VALUES(64,398); +INSERT INTO product_slots VALUES(64,399); +INSERT INTO product_slots VALUES(64,400); +INSERT INTO product_slots VALUES(64,401); +INSERT INTO product_slots VALUES(64,402); +INSERT INTO product_slots VALUES(64,403); +INSERT INTO product_slots VALUES(64,404); +INSERT INTO product_slots VALUES(64,405); +INSERT INTO product_slots VALUES(64,406); +INSERT INTO product_slots VALUES(64,407); +INSERT INTO product_slots VALUES(64,408); +INSERT INTO product_slots VALUES(64,409); +INSERT INTO product_slots VALUES(64,410); +INSERT INTO product_slots VALUES(64,411); +INSERT INTO product_slots VALUES(64,412); +INSERT INTO product_slots VALUES(64,413); +INSERT INTO product_slots VALUES(64,414); +INSERT INTO product_slots VALUES(64,415); +INSERT INTO product_slots VALUES(64,416); +INSERT INTO product_slots VALUES(64,417); +INSERT INTO product_slots VALUES(64,418); +INSERT INTO product_slots VALUES(64,419); +INSERT INTO product_slots VALUES(64,420); +INSERT INTO product_slots VALUES(64,421); +INSERT INTO product_slots VALUES(64,422); +INSERT INTO product_slots VALUES(64,423); +INSERT INTO product_slots VALUES(64,424); +INSERT INTO product_slots VALUES(64,425); +INSERT INTO product_slots VALUES(64,426); +INSERT INTO product_slots VALUES(64,427); +INSERT INTO product_slots VALUES(64,428); +INSERT INTO product_slots VALUES(64,429); +INSERT INTO product_slots VALUES(64,430); +INSERT INTO product_slots VALUES(64,431); +INSERT INTO product_slots VALUES(64,432); +INSERT INTO product_slots VALUES(64,433); +INSERT INTO product_slots VALUES(64,434); +INSERT INTO product_slots VALUES(64,435); +INSERT INTO product_slots VALUES(64,436); +INSERT INTO product_slots VALUES(64,437); +INSERT INTO product_slots VALUES(64,438); +INSERT INTO product_slots VALUES(64,439); +INSERT INTO product_slots VALUES(64,440); +INSERT INTO product_slots VALUES(64,441); +INSERT INTO product_slots VALUES(64,442); +INSERT INTO product_slots VALUES(64,443); +INSERT INTO product_slots VALUES(64,444); +INSERT INTO product_slots VALUES(64,445); +INSERT INTO product_slots VALUES(64,446); +INSERT INTO product_slots VALUES(64,447); +INSERT INTO product_slots VALUES(64,448); +INSERT INTO product_slots VALUES(64,449); +INSERT INTO product_slots VALUES(64,450); +INSERT INTO product_slots VALUES(64,451); +INSERT INTO product_slots VALUES(64,452); +INSERT INTO product_slots VALUES(64,453); +INSERT INTO product_slots VALUES(64,454); +INSERT INTO product_slots VALUES(64,455); +INSERT INTO product_slots VALUES(64,456); +INSERT INTO product_slots VALUES(64,457); +INSERT INTO product_slots VALUES(64,458); +INSERT INTO product_slots VALUES(64,459); +INSERT INTO product_slots VALUES(64,460); +INSERT INTO product_slots VALUES(64,461); +INSERT INTO product_slots VALUES(64,462); +INSERT INTO product_slots VALUES(64,463); +INSERT INTO product_slots VALUES(64,464); +INSERT INTO product_slots VALUES(64,465); +INSERT INTO product_slots VALUES(64,466); +INSERT INTO product_slots VALUES(64,467); +INSERT INTO product_slots VALUES(64,468); +INSERT INTO product_slots VALUES(64,469); +INSERT INTO product_slots VALUES(64,470); +INSERT INTO product_slots VALUES(64,471); INSERT INTO product_slots VALUES(65,39); INSERT INTO product_slots VALUES(65,41); INSERT INTO product_slots VALUES(65,43); @@ -15085,8 +29271,40 @@ INSERT INTO product_slots VALUES(65,241); INSERT INTO product_slots VALUES(65,242); INSERT INTO product_slots VALUES(65,243); INSERT INTO product_slots VALUES(65,244); +INSERT INTO product_slots VALUES(65,245); +INSERT INTO product_slots VALUES(65,246); +INSERT INTO product_slots VALUES(65,247); +INSERT INTO product_slots VALUES(65,248); +INSERT INTO product_slots VALUES(65,249); +INSERT INTO product_slots VALUES(65,250); +INSERT INTO product_slots VALUES(65,251); +INSERT INTO product_slots VALUES(65,252); +INSERT INTO product_slots VALUES(65,253); +INSERT INTO product_slots VALUES(65,254); +INSERT INTO product_slots VALUES(65,255); +INSERT INTO product_slots VALUES(65,256); +INSERT INTO product_slots VALUES(65,257); +INSERT INTO product_slots VALUES(65,258); +INSERT INTO product_slots VALUES(65,259); +INSERT INTO product_slots VALUES(65,260); +INSERT INTO product_slots VALUES(65,261); +INSERT INTO product_slots VALUES(65,262); +INSERT INTO product_slots VALUES(65,263); +INSERT INTO product_slots VALUES(65,264); +INSERT INTO product_slots VALUES(65,265); +INSERT INTO product_slots VALUES(65,266); +INSERT INTO product_slots VALUES(65,267); +INSERT INTO product_slots VALUES(65,268); +INSERT INTO product_slots VALUES(65,269); +INSERT INTO product_slots VALUES(65,270); +INSERT INTO product_slots VALUES(65,271); +INSERT INTO product_slots VALUES(65,272); +INSERT INTO product_slots VALUES(65,273); INSERT INTO product_slots VALUES(65,274); INSERT INTO product_slots VALUES(65,275); +INSERT INTO product_slots VALUES(65,276); +INSERT INTO product_slots VALUES(65,277); +INSERT INTO product_slots VALUES(65,278); INSERT INTO product_slots VALUES(65,279); INSERT INTO product_slots VALUES(65,280); INSERT INTO product_slots VALUES(65,281); @@ -15096,6 +29314,190 @@ INSERT INTO product_slots VALUES(65,284); INSERT INTO product_slots VALUES(65,285); INSERT INTO product_slots VALUES(65,286); INSERT INTO product_slots VALUES(65,287); +INSERT INTO product_slots VALUES(65,288); +INSERT INTO product_slots VALUES(65,289); +INSERT INTO product_slots VALUES(65,290); +INSERT INTO product_slots VALUES(65,291); +INSERT INTO product_slots VALUES(65,292); +INSERT INTO product_slots VALUES(65,293); +INSERT INTO product_slots VALUES(65,294); +INSERT INTO product_slots VALUES(65,295); +INSERT INTO product_slots VALUES(65,296); +INSERT INTO product_slots VALUES(65,297); +INSERT INTO product_slots VALUES(65,298); +INSERT INTO product_slots VALUES(65,299); +INSERT INTO product_slots VALUES(65,300); +INSERT INTO product_slots VALUES(65,301); +INSERT INTO product_slots VALUES(65,302); +INSERT INTO product_slots VALUES(65,303); +INSERT INTO product_slots VALUES(65,304); +INSERT INTO product_slots VALUES(65,305); +INSERT INTO product_slots VALUES(65,306); +INSERT INTO product_slots VALUES(65,307); +INSERT INTO product_slots VALUES(65,308); +INSERT INTO product_slots VALUES(65,309); +INSERT INTO product_slots VALUES(65,310); +INSERT INTO product_slots VALUES(65,311); +INSERT INTO product_slots VALUES(65,312); +INSERT INTO product_slots VALUES(65,313); +INSERT INTO product_slots VALUES(65,314); +INSERT INTO product_slots VALUES(65,315); +INSERT INTO product_slots VALUES(65,316); +INSERT INTO product_slots VALUES(65,317); +INSERT INTO product_slots VALUES(65,318); +INSERT INTO product_slots VALUES(65,319); +INSERT INTO product_slots VALUES(65,320); +INSERT INTO product_slots VALUES(65,321); +INSERT INTO product_slots VALUES(65,322); +INSERT INTO product_slots VALUES(65,323); +INSERT INTO product_slots VALUES(65,324); +INSERT INTO product_slots VALUES(65,325); +INSERT INTO product_slots VALUES(65,326); +INSERT INTO product_slots VALUES(65,327); +INSERT INTO product_slots VALUES(65,328); +INSERT INTO product_slots VALUES(65,329); +INSERT INTO product_slots VALUES(65,330); +INSERT INTO product_slots VALUES(65,331); +INSERT INTO product_slots VALUES(65,332); +INSERT INTO product_slots VALUES(65,333); +INSERT INTO product_slots VALUES(65,334); +INSERT INTO product_slots VALUES(65,335); +INSERT INTO product_slots VALUES(65,336); +INSERT INTO product_slots VALUES(65,337); +INSERT INTO product_slots VALUES(65,338); +INSERT INTO product_slots VALUES(65,339); +INSERT INTO product_slots VALUES(65,340); +INSERT INTO product_slots VALUES(65,341); +INSERT INTO product_slots VALUES(65,342); +INSERT INTO product_slots VALUES(65,343); +INSERT INTO product_slots VALUES(65,344); +INSERT INTO product_slots VALUES(65,345); +INSERT INTO product_slots VALUES(65,346); +INSERT INTO product_slots VALUES(65,347); +INSERT INTO product_slots VALUES(65,348); +INSERT INTO product_slots VALUES(65,349); +INSERT INTO product_slots VALUES(65,350); +INSERT INTO product_slots VALUES(65,351); +INSERT INTO product_slots VALUES(65,352); +INSERT INTO product_slots VALUES(65,353); +INSERT INTO product_slots VALUES(65,354); +INSERT INTO product_slots VALUES(65,355); +INSERT INTO product_slots VALUES(65,356); +INSERT INTO product_slots VALUES(65,357); +INSERT INTO product_slots VALUES(65,358); +INSERT INTO product_slots VALUES(65,359); +INSERT INTO product_slots VALUES(65,360); +INSERT INTO product_slots VALUES(65,361); +INSERT INTO product_slots VALUES(65,362); +INSERT INTO product_slots VALUES(65,363); +INSERT INTO product_slots VALUES(65,364); +INSERT INTO product_slots VALUES(65,365); +INSERT INTO product_slots VALUES(65,366); +INSERT INTO product_slots VALUES(65,367); +INSERT INTO product_slots VALUES(65,368); +INSERT INTO product_slots VALUES(65,369); +INSERT INTO product_slots VALUES(65,370); +INSERT INTO product_slots VALUES(65,371); +INSERT INTO product_slots VALUES(65,372); +INSERT INTO product_slots VALUES(65,373); +INSERT INTO product_slots VALUES(65,374); +INSERT INTO product_slots VALUES(65,375); +INSERT INTO product_slots VALUES(65,376); +INSERT INTO product_slots VALUES(65,377); +INSERT INTO product_slots VALUES(65,378); +INSERT INTO product_slots VALUES(65,379); +INSERT INTO product_slots VALUES(65,380); +INSERT INTO product_slots VALUES(65,381); +INSERT INTO product_slots VALUES(65,382); +INSERT INTO product_slots VALUES(65,383); +INSERT INTO product_slots VALUES(65,384); +INSERT INTO product_slots VALUES(65,385); +INSERT INTO product_slots VALUES(65,386); +INSERT INTO product_slots VALUES(65,387); +INSERT INTO product_slots VALUES(65,388); +INSERT INTO product_slots VALUES(65,389); +INSERT INTO product_slots VALUES(65,390); +INSERT INTO product_slots VALUES(65,391); +INSERT INTO product_slots VALUES(65,392); +INSERT INTO product_slots VALUES(65,393); +INSERT INTO product_slots VALUES(65,394); +INSERT INTO product_slots VALUES(65,395); +INSERT INTO product_slots VALUES(65,396); +INSERT INTO product_slots VALUES(65,397); +INSERT INTO product_slots VALUES(65,398); +INSERT INTO product_slots VALUES(65,399); +INSERT INTO product_slots VALUES(65,400); +INSERT INTO product_slots VALUES(65,401); +INSERT INTO product_slots VALUES(65,402); +INSERT INTO product_slots VALUES(65,403); +INSERT INTO product_slots VALUES(65,404); +INSERT INTO product_slots VALUES(65,405); +INSERT INTO product_slots VALUES(65,406); +INSERT INTO product_slots VALUES(65,407); +INSERT INTO product_slots VALUES(65,408); +INSERT INTO product_slots VALUES(65,409); +INSERT INTO product_slots VALUES(65,410); +INSERT INTO product_slots VALUES(65,411); +INSERT INTO product_slots VALUES(65,412); +INSERT INTO product_slots VALUES(65,413); +INSERT INTO product_slots VALUES(65,414); +INSERT INTO product_slots VALUES(65,415); +INSERT INTO product_slots VALUES(65,416); +INSERT INTO product_slots VALUES(65,417); +INSERT INTO product_slots VALUES(65,418); +INSERT INTO product_slots VALUES(65,419); +INSERT INTO product_slots VALUES(65,420); +INSERT INTO product_slots VALUES(65,421); +INSERT INTO product_slots VALUES(65,422); +INSERT INTO product_slots VALUES(65,423); +INSERT INTO product_slots VALUES(65,424); +INSERT INTO product_slots VALUES(65,425); +INSERT INTO product_slots VALUES(65,426); +INSERT INTO product_slots VALUES(65,427); +INSERT INTO product_slots VALUES(65,428); +INSERT INTO product_slots VALUES(65,429); +INSERT INTO product_slots VALUES(65,430); +INSERT INTO product_slots VALUES(65,431); +INSERT INTO product_slots VALUES(65,432); +INSERT INTO product_slots VALUES(65,433); +INSERT INTO product_slots VALUES(65,434); +INSERT INTO product_slots VALUES(65,435); +INSERT INTO product_slots VALUES(65,436); +INSERT INTO product_slots VALUES(65,437); +INSERT INTO product_slots VALUES(65,438); +INSERT INTO product_slots VALUES(65,439); +INSERT INTO product_slots VALUES(65,440); +INSERT INTO product_slots VALUES(65,441); +INSERT INTO product_slots VALUES(65,442); +INSERT INTO product_slots VALUES(65,443); +INSERT INTO product_slots VALUES(65,444); +INSERT INTO product_slots VALUES(65,445); +INSERT INTO product_slots VALUES(65,446); +INSERT INTO product_slots VALUES(65,447); +INSERT INTO product_slots VALUES(65,448); +INSERT INTO product_slots VALUES(65,449); +INSERT INTO product_slots VALUES(65,450); +INSERT INTO product_slots VALUES(65,451); +INSERT INTO product_slots VALUES(65,452); +INSERT INTO product_slots VALUES(65,453); +INSERT INTO product_slots VALUES(65,454); +INSERT INTO product_slots VALUES(65,455); +INSERT INTO product_slots VALUES(65,456); +INSERT INTO product_slots VALUES(65,457); +INSERT INTO product_slots VALUES(65,458); +INSERT INTO product_slots VALUES(65,459); +INSERT INTO product_slots VALUES(65,460); +INSERT INTO product_slots VALUES(65,461); +INSERT INTO product_slots VALUES(65,462); +INSERT INTO product_slots VALUES(65,463); +INSERT INTO product_slots VALUES(65,464); +INSERT INTO product_slots VALUES(65,465); +INSERT INTO product_slots VALUES(65,466); +INSERT INTO product_slots VALUES(65,467); +INSERT INTO product_slots VALUES(65,468); +INSERT INTO product_slots VALUES(65,469); +INSERT INTO product_slots VALUES(65,470); +INSERT INTO product_slots VALUES(65,471); INSERT INTO product_slots VALUES(66,39); INSERT INTO product_slots VALUES(66,41); INSERT INTO product_slots VALUES(66,43); @@ -15300,8 +29702,40 @@ INSERT INTO product_slots VALUES(66,241); INSERT INTO product_slots VALUES(66,242); INSERT INTO product_slots VALUES(66,243); INSERT INTO product_slots VALUES(66,244); +INSERT INTO product_slots VALUES(66,245); +INSERT INTO product_slots VALUES(66,246); +INSERT INTO product_slots VALUES(66,247); +INSERT INTO product_slots VALUES(66,248); +INSERT INTO product_slots VALUES(66,249); +INSERT INTO product_slots VALUES(66,250); +INSERT INTO product_slots VALUES(66,251); +INSERT INTO product_slots VALUES(66,252); +INSERT INTO product_slots VALUES(66,253); +INSERT INTO product_slots VALUES(66,254); +INSERT INTO product_slots VALUES(66,255); +INSERT INTO product_slots VALUES(66,256); +INSERT INTO product_slots VALUES(66,257); +INSERT INTO product_slots VALUES(66,258); +INSERT INTO product_slots VALUES(66,259); +INSERT INTO product_slots VALUES(66,260); +INSERT INTO product_slots VALUES(66,261); +INSERT INTO product_slots VALUES(66,262); +INSERT INTO product_slots VALUES(66,263); +INSERT INTO product_slots VALUES(66,264); +INSERT INTO product_slots VALUES(66,265); +INSERT INTO product_slots VALUES(66,266); +INSERT INTO product_slots VALUES(66,267); +INSERT INTO product_slots VALUES(66,268); +INSERT INTO product_slots VALUES(66,269); +INSERT INTO product_slots VALUES(66,270); +INSERT INTO product_slots VALUES(66,271); +INSERT INTO product_slots VALUES(66,272); +INSERT INTO product_slots VALUES(66,273); INSERT INTO product_slots VALUES(66,274); INSERT INTO product_slots VALUES(66,275); +INSERT INTO product_slots VALUES(66,276); +INSERT INTO product_slots VALUES(66,277); +INSERT INTO product_slots VALUES(66,278); INSERT INTO product_slots VALUES(66,279); INSERT INTO product_slots VALUES(66,280); INSERT INTO product_slots VALUES(66,281); @@ -15311,6 +29745,190 @@ INSERT INTO product_slots VALUES(66,284); INSERT INTO product_slots VALUES(66,285); INSERT INTO product_slots VALUES(66,286); INSERT INTO product_slots VALUES(66,287); +INSERT INTO product_slots VALUES(66,288); +INSERT INTO product_slots VALUES(66,289); +INSERT INTO product_slots VALUES(66,290); +INSERT INTO product_slots VALUES(66,291); +INSERT INTO product_slots VALUES(66,292); +INSERT INTO product_slots VALUES(66,293); +INSERT INTO product_slots VALUES(66,294); +INSERT INTO product_slots VALUES(66,295); +INSERT INTO product_slots VALUES(66,296); +INSERT INTO product_slots VALUES(66,297); +INSERT INTO product_slots VALUES(66,298); +INSERT INTO product_slots VALUES(66,299); +INSERT INTO product_slots VALUES(66,300); +INSERT INTO product_slots VALUES(66,301); +INSERT INTO product_slots VALUES(66,302); +INSERT INTO product_slots VALUES(66,303); +INSERT INTO product_slots VALUES(66,304); +INSERT INTO product_slots VALUES(66,305); +INSERT INTO product_slots VALUES(66,306); +INSERT INTO product_slots VALUES(66,307); +INSERT INTO product_slots VALUES(66,308); +INSERT INTO product_slots VALUES(66,309); +INSERT INTO product_slots VALUES(66,310); +INSERT INTO product_slots VALUES(66,311); +INSERT INTO product_slots VALUES(66,312); +INSERT INTO product_slots VALUES(66,313); +INSERT INTO product_slots VALUES(66,314); +INSERT INTO product_slots VALUES(66,315); +INSERT INTO product_slots VALUES(66,316); +INSERT INTO product_slots VALUES(66,317); +INSERT INTO product_slots VALUES(66,318); +INSERT INTO product_slots VALUES(66,319); +INSERT INTO product_slots VALUES(66,320); +INSERT INTO product_slots VALUES(66,321); +INSERT INTO product_slots VALUES(66,322); +INSERT INTO product_slots VALUES(66,323); +INSERT INTO product_slots VALUES(66,324); +INSERT INTO product_slots VALUES(66,325); +INSERT INTO product_slots VALUES(66,326); +INSERT INTO product_slots VALUES(66,327); +INSERT INTO product_slots VALUES(66,328); +INSERT INTO product_slots VALUES(66,329); +INSERT INTO product_slots VALUES(66,330); +INSERT INTO product_slots VALUES(66,331); +INSERT INTO product_slots VALUES(66,332); +INSERT INTO product_slots VALUES(66,333); +INSERT INTO product_slots VALUES(66,334); +INSERT INTO product_slots VALUES(66,335); +INSERT INTO product_slots VALUES(66,336); +INSERT INTO product_slots VALUES(66,337); +INSERT INTO product_slots VALUES(66,338); +INSERT INTO product_slots VALUES(66,339); +INSERT INTO product_slots VALUES(66,340); +INSERT INTO product_slots VALUES(66,341); +INSERT INTO product_slots VALUES(66,342); +INSERT INTO product_slots VALUES(66,343); +INSERT INTO product_slots VALUES(66,344); +INSERT INTO product_slots VALUES(66,345); +INSERT INTO product_slots VALUES(66,346); +INSERT INTO product_slots VALUES(66,347); +INSERT INTO product_slots VALUES(66,348); +INSERT INTO product_slots VALUES(66,349); +INSERT INTO product_slots VALUES(66,350); +INSERT INTO product_slots VALUES(66,351); +INSERT INTO product_slots VALUES(66,352); +INSERT INTO product_slots VALUES(66,353); +INSERT INTO product_slots VALUES(66,354); +INSERT INTO product_slots VALUES(66,355); +INSERT INTO product_slots VALUES(66,356); +INSERT INTO product_slots VALUES(66,357); +INSERT INTO product_slots VALUES(66,358); +INSERT INTO product_slots VALUES(66,359); +INSERT INTO product_slots VALUES(66,360); +INSERT INTO product_slots VALUES(66,361); +INSERT INTO product_slots VALUES(66,362); +INSERT INTO product_slots VALUES(66,363); +INSERT INTO product_slots VALUES(66,364); +INSERT INTO product_slots VALUES(66,365); +INSERT INTO product_slots VALUES(66,366); +INSERT INTO product_slots VALUES(66,367); +INSERT INTO product_slots VALUES(66,368); +INSERT INTO product_slots VALUES(66,369); +INSERT INTO product_slots VALUES(66,370); +INSERT INTO product_slots VALUES(66,371); +INSERT INTO product_slots VALUES(66,372); +INSERT INTO product_slots VALUES(66,373); +INSERT INTO product_slots VALUES(66,374); +INSERT INTO product_slots VALUES(66,375); +INSERT INTO product_slots VALUES(66,376); +INSERT INTO product_slots VALUES(66,377); +INSERT INTO product_slots VALUES(66,378); +INSERT INTO product_slots VALUES(66,379); +INSERT INTO product_slots VALUES(66,380); +INSERT INTO product_slots VALUES(66,381); +INSERT INTO product_slots VALUES(66,382); +INSERT INTO product_slots VALUES(66,383); +INSERT INTO product_slots VALUES(66,384); +INSERT INTO product_slots VALUES(66,385); +INSERT INTO product_slots VALUES(66,386); +INSERT INTO product_slots VALUES(66,387); +INSERT INTO product_slots VALUES(66,388); +INSERT INTO product_slots VALUES(66,389); +INSERT INTO product_slots VALUES(66,390); +INSERT INTO product_slots VALUES(66,391); +INSERT INTO product_slots VALUES(66,392); +INSERT INTO product_slots VALUES(66,393); +INSERT INTO product_slots VALUES(66,394); +INSERT INTO product_slots VALUES(66,395); +INSERT INTO product_slots VALUES(66,396); +INSERT INTO product_slots VALUES(66,397); +INSERT INTO product_slots VALUES(66,398); +INSERT INTO product_slots VALUES(66,399); +INSERT INTO product_slots VALUES(66,400); +INSERT INTO product_slots VALUES(66,401); +INSERT INTO product_slots VALUES(66,402); +INSERT INTO product_slots VALUES(66,403); +INSERT INTO product_slots VALUES(66,404); +INSERT INTO product_slots VALUES(66,405); +INSERT INTO product_slots VALUES(66,406); +INSERT INTO product_slots VALUES(66,407); +INSERT INTO product_slots VALUES(66,408); +INSERT INTO product_slots VALUES(66,409); +INSERT INTO product_slots VALUES(66,410); +INSERT INTO product_slots VALUES(66,411); +INSERT INTO product_slots VALUES(66,412); +INSERT INTO product_slots VALUES(66,413); +INSERT INTO product_slots VALUES(66,414); +INSERT INTO product_slots VALUES(66,415); +INSERT INTO product_slots VALUES(66,416); +INSERT INTO product_slots VALUES(66,417); +INSERT INTO product_slots VALUES(66,418); +INSERT INTO product_slots VALUES(66,419); +INSERT INTO product_slots VALUES(66,420); +INSERT INTO product_slots VALUES(66,421); +INSERT INTO product_slots VALUES(66,422); +INSERT INTO product_slots VALUES(66,423); +INSERT INTO product_slots VALUES(66,424); +INSERT INTO product_slots VALUES(66,425); +INSERT INTO product_slots VALUES(66,426); +INSERT INTO product_slots VALUES(66,427); +INSERT INTO product_slots VALUES(66,428); +INSERT INTO product_slots VALUES(66,429); +INSERT INTO product_slots VALUES(66,430); +INSERT INTO product_slots VALUES(66,431); +INSERT INTO product_slots VALUES(66,432); +INSERT INTO product_slots VALUES(66,433); +INSERT INTO product_slots VALUES(66,434); +INSERT INTO product_slots VALUES(66,435); +INSERT INTO product_slots VALUES(66,436); +INSERT INTO product_slots VALUES(66,437); +INSERT INTO product_slots VALUES(66,438); +INSERT INTO product_slots VALUES(66,439); +INSERT INTO product_slots VALUES(66,440); +INSERT INTO product_slots VALUES(66,441); +INSERT INTO product_slots VALUES(66,442); +INSERT INTO product_slots VALUES(66,443); +INSERT INTO product_slots VALUES(66,444); +INSERT INTO product_slots VALUES(66,445); +INSERT INTO product_slots VALUES(66,446); +INSERT INTO product_slots VALUES(66,447); +INSERT INTO product_slots VALUES(66,448); +INSERT INTO product_slots VALUES(66,449); +INSERT INTO product_slots VALUES(66,450); +INSERT INTO product_slots VALUES(66,451); +INSERT INTO product_slots VALUES(66,452); +INSERT INTO product_slots VALUES(66,453); +INSERT INTO product_slots VALUES(66,454); +INSERT INTO product_slots VALUES(66,455); +INSERT INTO product_slots VALUES(66,456); +INSERT INTO product_slots VALUES(66,457); +INSERT INTO product_slots VALUES(66,458); +INSERT INTO product_slots VALUES(66,459); +INSERT INTO product_slots VALUES(66,460); +INSERT INTO product_slots VALUES(66,461); +INSERT INTO product_slots VALUES(66,462); +INSERT INTO product_slots VALUES(66,463); +INSERT INTO product_slots VALUES(66,464); +INSERT INTO product_slots VALUES(66,465); +INSERT INTO product_slots VALUES(66,466); +INSERT INTO product_slots VALUES(66,467); +INSERT INTO product_slots VALUES(66,468); +INSERT INTO product_slots VALUES(66,469); +INSERT INTO product_slots VALUES(66,470); +INSERT INTO product_slots VALUES(66,471); INSERT INTO product_slots VALUES(67,39); INSERT INTO product_slots VALUES(67,41); INSERT INTO product_slots VALUES(67,43); @@ -15515,8 +30133,40 @@ INSERT INTO product_slots VALUES(67,241); INSERT INTO product_slots VALUES(67,242); INSERT INTO product_slots VALUES(67,243); INSERT INTO product_slots VALUES(67,244); +INSERT INTO product_slots VALUES(67,245); +INSERT INTO product_slots VALUES(67,246); +INSERT INTO product_slots VALUES(67,247); +INSERT INTO product_slots VALUES(67,248); +INSERT INTO product_slots VALUES(67,249); +INSERT INTO product_slots VALUES(67,250); +INSERT INTO product_slots VALUES(67,251); +INSERT INTO product_slots VALUES(67,252); +INSERT INTO product_slots VALUES(67,253); +INSERT INTO product_slots VALUES(67,254); +INSERT INTO product_slots VALUES(67,255); +INSERT INTO product_slots VALUES(67,256); +INSERT INTO product_slots VALUES(67,257); +INSERT INTO product_slots VALUES(67,258); +INSERT INTO product_slots VALUES(67,259); +INSERT INTO product_slots VALUES(67,260); +INSERT INTO product_slots VALUES(67,261); +INSERT INTO product_slots VALUES(67,262); +INSERT INTO product_slots VALUES(67,263); +INSERT INTO product_slots VALUES(67,264); +INSERT INTO product_slots VALUES(67,265); +INSERT INTO product_slots VALUES(67,266); +INSERT INTO product_slots VALUES(67,267); +INSERT INTO product_slots VALUES(67,268); +INSERT INTO product_slots VALUES(67,269); +INSERT INTO product_slots VALUES(67,270); +INSERT INTO product_slots VALUES(67,271); +INSERT INTO product_slots VALUES(67,272); +INSERT INTO product_slots VALUES(67,273); INSERT INTO product_slots VALUES(67,274); INSERT INTO product_slots VALUES(67,275); +INSERT INTO product_slots VALUES(67,276); +INSERT INTO product_slots VALUES(67,277); +INSERT INTO product_slots VALUES(67,278); INSERT INTO product_slots VALUES(67,279); INSERT INTO product_slots VALUES(67,280); INSERT INTO product_slots VALUES(67,281); @@ -15526,6 +30176,190 @@ INSERT INTO product_slots VALUES(67,284); INSERT INTO product_slots VALUES(67,285); INSERT INTO product_slots VALUES(67,286); INSERT INTO product_slots VALUES(67,287); +INSERT INTO product_slots VALUES(67,288); +INSERT INTO product_slots VALUES(67,289); +INSERT INTO product_slots VALUES(67,290); +INSERT INTO product_slots VALUES(67,291); +INSERT INTO product_slots VALUES(67,292); +INSERT INTO product_slots VALUES(67,293); +INSERT INTO product_slots VALUES(67,294); +INSERT INTO product_slots VALUES(67,295); +INSERT INTO product_slots VALUES(67,296); +INSERT INTO product_slots VALUES(67,297); +INSERT INTO product_slots VALUES(67,298); +INSERT INTO product_slots VALUES(67,299); +INSERT INTO product_slots VALUES(67,300); +INSERT INTO product_slots VALUES(67,301); +INSERT INTO product_slots VALUES(67,302); +INSERT INTO product_slots VALUES(67,303); +INSERT INTO product_slots VALUES(67,304); +INSERT INTO product_slots VALUES(67,305); +INSERT INTO product_slots VALUES(67,306); +INSERT INTO product_slots VALUES(67,307); +INSERT INTO product_slots VALUES(67,308); +INSERT INTO product_slots VALUES(67,309); +INSERT INTO product_slots VALUES(67,310); +INSERT INTO product_slots VALUES(67,311); +INSERT INTO product_slots VALUES(67,312); +INSERT INTO product_slots VALUES(67,313); +INSERT INTO product_slots VALUES(67,314); +INSERT INTO product_slots VALUES(67,315); +INSERT INTO product_slots VALUES(67,316); +INSERT INTO product_slots VALUES(67,317); +INSERT INTO product_slots VALUES(67,318); +INSERT INTO product_slots VALUES(67,319); +INSERT INTO product_slots VALUES(67,320); +INSERT INTO product_slots VALUES(67,321); +INSERT INTO product_slots VALUES(67,322); +INSERT INTO product_slots VALUES(67,323); +INSERT INTO product_slots VALUES(67,324); +INSERT INTO product_slots VALUES(67,325); +INSERT INTO product_slots VALUES(67,326); +INSERT INTO product_slots VALUES(67,327); +INSERT INTO product_slots VALUES(67,328); +INSERT INTO product_slots VALUES(67,329); +INSERT INTO product_slots VALUES(67,330); +INSERT INTO product_slots VALUES(67,331); +INSERT INTO product_slots VALUES(67,332); +INSERT INTO product_slots VALUES(67,333); +INSERT INTO product_slots VALUES(67,334); +INSERT INTO product_slots VALUES(67,335); +INSERT INTO product_slots VALUES(67,336); +INSERT INTO product_slots VALUES(67,337); +INSERT INTO product_slots VALUES(67,338); +INSERT INTO product_slots VALUES(67,339); +INSERT INTO product_slots VALUES(67,340); +INSERT INTO product_slots VALUES(67,341); +INSERT INTO product_slots VALUES(67,342); +INSERT INTO product_slots VALUES(67,343); +INSERT INTO product_slots VALUES(67,344); +INSERT INTO product_slots VALUES(67,345); +INSERT INTO product_slots VALUES(67,346); +INSERT INTO product_slots VALUES(67,347); +INSERT INTO product_slots VALUES(67,348); +INSERT INTO product_slots VALUES(67,349); +INSERT INTO product_slots VALUES(67,350); +INSERT INTO product_slots VALUES(67,351); +INSERT INTO product_slots VALUES(67,352); +INSERT INTO product_slots VALUES(67,353); +INSERT INTO product_slots VALUES(67,354); +INSERT INTO product_slots VALUES(67,355); +INSERT INTO product_slots VALUES(67,356); +INSERT INTO product_slots VALUES(67,357); +INSERT INTO product_slots VALUES(67,358); +INSERT INTO product_slots VALUES(67,359); +INSERT INTO product_slots VALUES(67,360); +INSERT INTO product_slots VALUES(67,361); +INSERT INTO product_slots VALUES(67,362); +INSERT INTO product_slots VALUES(67,363); +INSERT INTO product_slots VALUES(67,364); +INSERT INTO product_slots VALUES(67,365); +INSERT INTO product_slots VALUES(67,366); +INSERT INTO product_slots VALUES(67,367); +INSERT INTO product_slots VALUES(67,368); +INSERT INTO product_slots VALUES(67,369); +INSERT INTO product_slots VALUES(67,370); +INSERT INTO product_slots VALUES(67,371); +INSERT INTO product_slots VALUES(67,372); +INSERT INTO product_slots VALUES(67,373); +INSERT INTO product_slots VALUES(67,374); +INSERT INTO product_slots VALUES(67,375); +INSERT INTO product_slots VALUES(67,376); +INSERT INTO product_slots VALUES(67,377); +INSERT INTO product_slots VALUES(67,378); +INSERT INTO product_slots VALUES(67,379); +INSERT INTO product_slots VALUES(67,380); +INSERT INTO product_slots VALUES(67,381); +INSERT INTO product_slots VALUES(67,382); +INSERT INTO product_slots VALUES(67,383); +INSERT INTO product_slots VALUES(67,384); +INSERT INTO product_slots VALUES(67,385); +INSERT INTO product_slots VALUES(67,386); +INSERT INTO product_slots VALUES(67,387); +INSERT INTO product_slots VALUES(67,388); +INSERT INTO product_slots VALUES(67,389); +INSERT INTO product_slots VALUES(67,390); +INSERT INTO product_slots VALUES(67,391); +INSERT INTO product_slots VALUES(67,392); +INSERT INTO product_slots VALUES(67,393); +INSERT INTO product_slots VALUES(67,394); +INSERT INTO product_slots VALUES(67,395); +INSERT INTO product_slots VALUES(67,396); +INSERT INTO product_slots VALUES(67,397); +INSERT INTO product_slots VALUES(67,398); +INSERT INTO product_slots VALUES(67,399); +INSERT INTO product_slots VALUES(67,400); +INSERT INTO product_slots VALUES(67,401); +INSERT INTO product_slots VALUES(67,402); +INSERT INTO product_slots VALUES(67,403); +INSERT INTO product_slots VALUES(67,404); +INSERT INTO product_slots VALUES(67,405); +INSERT INTO product_slots VALUES(67,406); +INSERT INTO product_slots VALUES(67,407); +INSERT INTO product_slots VALUES(67,408); +INSERT INTO product_slots VALUES(67,409); +INSERT INTO product_slots VALUES(67,410); +INSERT INTO product_slots VALUES(67,411); +INSERT INTO product_slots VALUES(67,412); +INSERT INTO product_slots VALUES(67,413); +INSERT INTO product_slots VALUES(67,414); +INSERT INTO product_slots VALUES(67,415); +INSERT INTO product_slots VALUES(67,416); +INSERT INTO product_slots VALUES(67,417); +INSERT INTO product_slots VALUES(67,418); +INSERT INTO product_slots VALUES(67,419); +INSERT INTO product_slots VALUES(67,420); +INSERT INTO product_slots VALUES(67,421); +INSERT INTO product_slots VALUES(67,422); +INSERT INTO product_slots VALUES(67,423); +INSERT INTO product_slots VALUES(67,424); +INSERT INTO product_slots VALUES(67,425); +INSERT INTO product_slots VALUES(67,426); +INSERT INTO product_slots VALUES(67,427); +INSERT INTO product_slots VALUES(67,428); +INSERT INTO product_slots VALUES(67,429); +INSERT INTO product_slots VALUES(67,430); +INSERT INTO product_slots VALUES(67,431); +INSERT INTO product_slots VALUES(67,432); +INSERT INTO product_slots VALUES(67,433); +INSERT INTO product_slots VALUES(67,434); +INSERT INTO product_slots VALUES(67,435); +INSERT INTO product_slots VALUES(67,436); +INSERT INTO product_slots VALUES(67,437); +INSERT INTO product_slots VALUES(67,438); +INSERT INTO product_slots VALUES(67,439); +INSERT INTO product_slots VALUES(67,440); +INSERT INTO product_slots VALUES(67,441); +INSERT INTO product_slots VALUES(67,442); +INSERT INTO product_slots VALUES(67,443); +INSERT INTO product_slots VALUES(67,444); +INSERT INTO product_slots VALUES(67,445); +INSERT INTO product_slots VALUES(67,446); +INSERT INTO product_slots VALUES(67,447); +INSERT INTO product_slots VALUES(67,448); +INSERT INTO product_slots VALUES(67,449); +INSERT INTO product_slots VALUES(67,450); +INSERT INTO product_slots VALUES(67,451); +INSERT INTO product_slots VALUES(67,452); +INSERT INTO product_slots VALUES(67,453); +INSERT INTO product_slots VALUES(67,454); +INSERT INTO product_slots VALUES(67,455); +INSERT INTO product_slots VALUES(67,456); +INSERT INTO product_slots VALUES(67,457); +INSERT INTO product_slots VALUES(67,458); +INSERT INTO product_slots VALUES(67,459); +INSERT INTO product_slots VALUES(67,460); +INSERT INTO product_slots VALUES(67,461); +INSERT INTO product_slots VALUES(67,462); +INSERT INTO product_slots VALUES(67,463); +INSERT INTO product_slots VALUES(67,464); +INSERT INTO product_slots VALUES(67,465); +INSERT INTO product_slots VALUES(67,466); +INSERT INTO product_slots VALUES(67,467); +INSERT INTO product_slots VALUES(67,468); +INSERT INTO product_slots VALUES(67,469); +INSERT INTO product_slots VALUES(67,470); +INSERT INTO product_slots VALUES(67,471); INSERT INTO product_slots VALUES(68,39); INSERT INTO product_slots VALUES(68,41); INSERT INTO product_slots VALUES(68,43); @@ -15730,8 +30564,40 @@ INSERT INTO product_slots VALUES(68,241); INSERT INTO product_slots VALUES(68,242); INSERT INTO product_slots VALUES(68,243); INSERT INTO product_slots VALUES(68,244); +INSERT INTO product_slots VALUES(68,245); +INSERT INTO product_slots VALUES(68,246); +INSERT INTO product_slots VALUES(68,247); +INSERT INTO product_slots VALUES(68,248); +INSERT INTO product_slots VALUES(68,249); +INSERT INTO product_slots VALUES(68,250); +INSERT INTO product_slots VALUES(68,251); +INSERT INTO product_slots VALUES(68,252); +INSERT INTO product_slots VALUES(68,253); +INSERT INTO product_slots VALUES(68,254); +INSERT INTO product_slots VALUES(68,255); +INSERT INTO product_slots VALUES(68,256); +INSERT INTO product_slots VALUES(68,257); +INSERT INTO product_slots VALUES(68,258); +INSERT INTO product_slots VALUES(68,259); +INSERT INTO product_slots VALUES(68,260); +INSERT INTO product_slots VALUES(68,261); +INSERT INTO product_slots VALUES(68,262); +INSERT INTO product_slots VALUES(68,263); +INSERT INTO product_slots VALUES(68,264); +INSERT INTO product_slots VALUES(68,265); +INSERT INTO product_slots VALUES(68,266); +INSERT INTO product_slots VALUES(68,267); +INSERT INTO product_slots VALUES(68,268); +INSERT INTO product_slots VALUES(68,269); +INSERT INTO product_slots VALUES(68,270); +INSERT INTO product_slots VALUES(68,271); +INSERT INTO product_slots VALUES(68,272); +INSERT INTO product_slots VALUES(68,273); INSERT INTO product_slots VALUES(68,274); INSERT INTO product_slots VALUES(68,275); +INSERT INTO product_slots VALUES(68,276); +INSERT INTO product_slots VALUES(68,277); +INSERT INTO product_slots VALUES(68,278); INSERT INTO product_slots VALUES(68,279); INSERT INTO product_slots VALUES(68,280); INSERT INTO product_slots VALUES(68,281); @@ -15741,6 +30607,190 @@ INSERT INTO product_slots VALUES(68,284); INSERT INTO product_slots VALUES(68,285); INSERT INTO product_slots VALUES(68,286); INSERT INTO product_slots VALUES(68,287); +INSERT INTO product_slots VALUES(68,288); +INSERT INTO product_slots VALUES(68,289); +INSERT INTO product_slots VALUES(68,290); +INSERT INTO product_slots VALUES(68,291); +INSERT INTO product_slots VALUES(68,292); +INSERT INTO product_slots VALUES(68,293); +INSERT INTO product_slots VALUES(68,294); +INSERT INTO product_slots VALUES(68,295); +INSERT INTO product_slots VALUES(68,296); +INSERT INTO product_slots VALUES(68,297); +INSERT INTO product_slots VALUES(68,298); +INSERT INTO product_slots VALUES(68,299); +INSERT INTO product_slots VALUES(68,300); +INSERT INTO product_slots VALUES(68,301); +INSERT INTO product_slots VALUES(68,302); +INSERT INTO product_slots VALUES(68,303); +INSERT INTO product_slots VALUES(68,304); +INSERT INTO product_slots VALUES(68,305); +INSERT INTO product_slots VALUES(68,306); +INSERT INTO product_slots VALUES(68,307); +INSERT INTO product_slots VALUES(68,308); +INSERT INTO product_slots VALUES(68,309); +INSERT INTO product_slots VALUES(68,310); +INSERT INTO product_slots VALUES(68,311); +INSERT INTO product_slots VALUES(68,312); +INSERT INTO product_slots VALUES(68,313); +INSERT INTO product_slots VALUES(68,314); +INSERT INTO product_slots VALUES(68,315); +INSERT INTO product_slots VALUES(68,316); +INSERT INTO product_slots VALUES(68,317); +INSERT INTO product_slots VALUES(68,318); +INSERT INTO product_slots VALUES(68,319); +INSERT INTO product_slots VALUES(68,320); +INSERT INTO product_slots VALUES(68,321); +INSERT INTO product_slots VALUES(68,322); +INSERT INTO product_slots VALUES(68,323); +INSERT INTO product_slots VALUES(68,324); +INSERT INTO product_slots VALUES(68,325); +INSERT INTO product_slots VALUES(68,326); +INSERT INTO product_slots VALUES(68,327); +INSERT INTO product_slots VALUES(68,328); +INSERT INTO product_slots VALUES(68,329); +INSERT INTO product_slots VALUES(68,330); +INSERT INTO product_slots VALUES(68,331); +INSERT INTO product_slots VALUES(68,332); +INSERT INTO product_slots VALUES(68,333); +INSERT INTO product_slots VALUES(68,334); +INSERT INTO product_slots VALUES(68,335); +INSERT INTO product_slots VALUES(68,336); +INSERT INTO product_slots VALUES(68,337); +INSERT INTO product_slots VALUES(68,338); +INSERT INTO product_slots VALUES(68,339); +INSERT INTO product_slots VALUES(68,340); +INSERT INTO product_slots VALUES(68,341); +INSERT INTO product_slots VALUES(68,342); +INSERT INTO product_slots VALUES(68,343); +INSERT INTO product_slots VALUES(68,344); +INSERT INTO product_slots VALUES(68,345); +INSERT INTO product_slots VALUES(68,346); +INSERT INTO product_slots VALUES(68,347); +INSERT INTO product_slots VALUES(68,348); +INSERT INTO product_slots VALUES(68,349); +INSERT INTO product_slots VALUES(68,350); +INSERT INTO product_slots VALUES(68,351); +INSERT INTO product_slots VALUES(68,352); +INSERT INTO product_slots VALUES(68,353); +INSERT INTO product_slots VALUES(68,354); +INSERT INTO product_slots VALUES(68,355); +INSERT INTO product_slots VALUES(68,356); +INSERT INTO product_slots VALUES(68,357); +INSERT INTO product_slots VALUES(68,358); +INSERT INTO product_slots VALUES(68,359); +INSERT INTO product_slots VALUES(68,360); +INSERT INTO product_slots VALUES(68,361); +INSERT INTO product_slots VALUES(68,362); +INSERT INTO product_slots VALUES(68,363); +INSERT INTO product_slots VALUES(68,364); +INSERT INTO product_slots VALUES(68,365); +INSERT INTO product_slots VALUES(68,366); +INSERT INTO product_slots VALUES(68,367); +INSERT INTO product_slots VALUES(68,368); +INSERT INTO product_slots VALUES(68,369); +INSERT INTO product_slots VALUES(68,370); +INSERT INTO product_slots VALUES(68,371); +INSERT INTO product_slots VALUES(68,372); +INSERT INTO product_slots VALUES(68,373); +INSERT INTO product_slots VALUES(68,374); +INSERT INTO product_slots VALUES(68,375); +INSERT INTO product_slots VALUES(68,376); +INSERT INTO product_slots VALUES(68,377); +INSERT INTO product_slots VALUES(68,378); +INSERT INTO product_slots VALUES(68,379); +INSERT INTO product_slots VALUES(68,380); +INSERT INTO product_slots VALUES(68,381); +INSERT INTO product_slots VALUES(68,382); +INSERT INTO product_slots VALUES(68,383); +INSERT INTO product_slots VALUES(68,384); +INSERT INTO product_slots VALUES(68,385); +INSERT INTO product_slots VALUES(68,386); +INSERT INTO product_slots VALUES(68,387); +INSERT INTO product_slots VALUES(68,388); +INSERT INTO product_slots VALUES(68,389); +INSERT INTO product_slots VALUES(68,390); +INSERT INTO product_slots VALUES(68,391); +INSERT INTO product_slots VALUES(68,392); +INSERT INTO product_slots VALUES(68,393); +INSERT INTO product_slots VALUES(68,394); +INSERT INTO product_slots VALUES(68,395); +INSERT INTO product_slots VALUES(68,396); +INSERT INTO product_slots VALUES(68,397); +INSERT INTO product_slots VALUES(68,398); +INSERT INTO product_slots VALUES(68,399); +INSERT INTO product_slots VALUES(68,400); +INSERT INTO product_slots VALUES(68,401); +INSERT INTO product_slots VALUES(68,402); +INSERT INTO product_slots VALUES(68,403); +INSERT INTO product_slots VALUES(68,404); +INSERT INTO product_slots VALUES(68,405); +INSERT INTO product_slots VALUES(68,406); +INSERT INTO product_slots VALUES(68,407); +INSERT INTO product_slots VALUES(68,408); +INSERT INTO product_slots VALUES(68,409); +INSERT INTO product_slots VALUES(68,410); +INSERT INTO product_slots VALUES(68,411); +INSERT INTO product_slots VALUES(68,412); +INSERT INTO product_slots VALUES(68,413); +INSERT INTO product_slots VALUES(68,414); +INSERT INTO product_slots VALUES(68,415); +INSERT INTO product_slots VALUES(68,416); +INSERT INTO product_slots VALUES(68,417); +INSERT INTO product_slots VALUES(68,418); +INSERT INTO product_slots VALUES(68,419); +INSERT INTO product_slots VALUES(68,420); +INSERT INTO product_slots VALUES(68,421); +INSERT INTO product_slots VALUES(68,422); +INSERT INTO product_slots VALUES(68,423); +INSERT INTO product_slots VALUES(68,424); +INSERT INTO product_slots VALUES(68,425); +INSERT INTO product_slots VALUES(68,426); +INSERT INTO product_slots VALUES(68,427); +INSERT INTO product_slots VALUES(68,428); +INSERT INTO product_slots VALUES(68,429); +INSERT INTO product_slots VALUES(68,430); +INSERT INTO product_slots VALUES(68,431); +INSERT INTO product_slots VALUES(68,432); +INSERT INTO product_slots VALUES(68,433); +INSERT INTO product_slots VALUES(68,434); +INSERT INTO product_slots VALUES(68,435); +INSERT INTO product_slots VALUES(68,436); +INSERT INTO product_slots VALUES(68,437); +INSERT INTO product_slots VALUES(68,438); +INSERT INTO product_slots VALUES(68,439); +INSERT INTO product_slots VALUES(68,440); +INSERT INTO product_slots VALUES(68,441); +INSERT INTO product_slots VALUES(68,442); +INSERT INTO product_slots VALUES(68,443); +INSERT INTO product_slots VALUES(68,444); +INSERT INTO product_slots VALUES(68,445); +INSERT INTO product_slots VALUES(68,446); +INSERT INTO product_slots VALUES(68,447); +INSERT INTO product_slots VALUES(68,448); +INSERT INTO product_slots VALUES(68,449); +INSERT INTO product_slots VALUES(68,450); +INSERT INTO product_slots VALUES(68,451); +INSERT INTO product_slots VALUES(68,452); +INSERT INTO product_slots VALUES(68,453); +INSERT INTO product_slots VALUES(68,454); +INSERT INTO product_slots VALUES(68,455); +INSERT INTO product_slots VALUES(68,456); +INSERT INTO product_slots VALUES(68,457); +INSERT INTO product_slots VALUES(68,458); +INSERT INTO product_slots VALUES(68,459); +INSERT INTO product_slots VALUES(68,460); +INSERT INTO product_slots VALUES(68,461); +INSERT INTO product_slots VALUES(68,462); +INSERT INTO product_slots VALUES(68,463); +INSERT INTO product_slots VALUES(68,464); +INSERT INTO product_slots VALUES(68,465); +INSERT INTO product_slots VALUES(68,466); +INSERT INTO product_slots VALUES(68,467); +INSERT INTO product_slots VALUES(68,468); +INSERT INTO product_slots VALUES(68,469); +INSERT INTO product_slots VALUES(68,470); +INSERT INTO product_slots VALUES(68,471); INSERT INTO product_slots VALUES(69,39); INSERT INTO product_slots VALUES(69,41); INSERT INTO product_slots VALUES(69,43); @@ -15945,8 +30995,40 @@ INSERT INTO product_slots VALUES(69,241); INSERT INTO product_slots VALUES(69,242); INSERT INTO product_slots VALUES(69,243); INSERT INTO product_slots VALUES(69,244); +INSERT INTO product_slots VALUES(69,245); +INSERT INTO product_slots VALUES(69,246); +INSERT INTO product_slots VALUES(69,247); +INSERT INTO product_slots VALUES(69,248); +INSERT INTO product_slots VALUES(69,249); +INSERT INTO product_slots VALUES(69,250); +INSERT INTO product_slots VALUES(69,251); +INSERT INTO product_slots VALUES(69,252); +INSERT INTO product_slots VALUES(69,253); +INSERT INTO product_slots VALUES(69,254); +INSERT INTO product_slots VALUES(69,255); +INSERT INTO product_slots VALUES(69,256); +INSERT INTO product_slots VALUES(69,257); +INSERT INTO product_slots VALUES(69,258); +INSERT INTO product_slots VALUES(69,259); +INSERT INTO product_slots VALUES(69,260); +INSERT INTO product_slots VALUES(69,261); +INSERT INTO product_slots VALUES(69,262); +INSERT INTO product_slots VALUES(69,263); +INSERT INTO product_slots VALUES(69,264); +INSERT INTO product_slots VALUES(69,265); +INSERT INTO product_slots VALUES(69,266); +INSERT INTO product_slots VALUES(69,267); +INSERT INTO product_slots VALUES(69,268); +INSERT INTO product_slots VALUES(69,269); +INSERT INTO product_slots VALUES(69,270); +INSERT INTO product_slots VALUES(69,271); +INSERT INTO product_slots VALUES(69,272); +INSERT INTO product_slots VALUES(69,273); INSERT INTO product_slots VALUES(69,274); INSERT INTO product_slots VALUES(69,275); +INSERT INTO product_slots VALUES(69,276); +INSERT INTO product_slots VALUES(69,277); +INSERT INTO product_slots VALUES(69,278); INSERT INTO product_slots VALUES(69,279); INSERT INTO product_slots VALUES(69,280); INSERT INTO product_slots VALUES(69,281); @@ -15956,6 +31038,190 @@ INSERT INTO product_slots VALUES(69,284); INSERT INTO product_slots VALUES(69,285); INSERT INTO product_slots VALUES(69,286); INSERT INTO product_slots VALUES(69,287); +INSERT INTO product_slots VALUES(69,288); +INSERT INTO product_slots VALUES(69,289); +INSERT INTO product_slots VALUES(69,290); +INSERT INTO product_slots VALUES(69,291); +INSERT INTO product_slots VALUES(69,292); +INSERT INTO product_slots VALUES(69,293); +INSERT INTO product_slots VALUES(69,294); +INSERT INTO product_slots VALUES(69,295); +INSERT INTO product_slots VALUES(69,296); +INSERT INTO product_slots VALUES(69,297); +INSERT INTO product_slots VALUES(69,298); +INSERT INTO product_slots VALUES(69,299); +INSERT INTO product_slots VALUES(69,300); +INSERT INTO product_slots VALUES(69,301); +INSERT INTO product_slots VALUES(69,302); +INSERT INTO product_slots VALUES(69,303); +INSERT INTO product_slots VALUES(69,304); +INSERT INTO product_slots VALUES(69,305); +INSERT INTO product_slots VALUES(69,306); +INSERT INTO product_slots VALUES(69,307); +INSERT INTO product_slots VALUES(69,308); +INSERT INTO product_slots VALUES(69,309); +INSERT INTO product_slots VALUES(69,310); +INSERT INTO product_slots VALUES(69,311); +INSERT INTO product_slots VALUES(69,312); +INSERT INTO product_slots VALUES(69,313); +INSERT INTO product_slots VALUES(69,314); +INSERT INTO product_slots VALUES(69,315); +INSERT INTO product_slots VALUES(69,316); +INSERT INTO product_slots VALUES(69,317); +INSERT INTO product_slots VALUES(69,318); +INSERT INTO product_slots VALUES(69,319); +INSERT INTO product_slots VALUES(69,320); +INSERT INTO product_slots VALUES(69,321); +INSERT INTO product_slots VALUES(69,322); +INSERT INTO product_slots VALUES(69,323); +INSERT INTO product_slots VALUES(69,324); +INSERT INTO product_slots VALUES(69,325); +INSERT INTO product_slots VALUES(69,326); +INSERT INTO product_slots VALUES(69,327); +INSERT INTO product_slots VALUES(69,328); +INSERT INTO product_slots VALUES(69,329); +INSERT INTO product_slots VALUES(69,330); +INSERT INTO product_slots VALUES(69,331); +INSERT INTO product_slots VALUES(69,332); +INSERT INTO product_slots VALUES(69,333); +INSERT INTO product_slots VALUES(69,334); +INSERT INTO product_slots VALUES(69,335); +INSERT INTO product_slots VALUES(69,336); +INSERT INTO product_slots VALUES(69,337); +INSERT INTO product_slots VALUES(69,338); +INSERT INTO product_slots VALUES(69,339); +INSERT INTO product_slots VALUES(69,340); +INSERT INTO product_slots VALUES(69,341); +INSERT INTO product_slots VALUES(69,342); +INSERT INTO product_slots VALUES(69,343); +INSERT INTO product_slots VALUES(69,344); +INSERT INTO product_slots VALUES(69,345); +INSERT INTO product_slots VALUES(69,346); +INSERT INTO product_slots VALUES(69,347); +INSERT INTO product_slots VALUES(69,348); +INSERT INTO product_slots VALUES(69,349); +INSERT INTO product_slots VALUES(69,350); +INSERT INTO product_slots VALUES(69,351); +INSERT INTO product_slots VALUES(69,352); +INSERT INTO product_slots VALUES(69,353); +INSERT INTO product_slots VALUES(69,354); +INSERT INTO product_slots VALUES(69,355); +INSERT INTO product_slots VALUES(69,356); +INSERT INTO product_slots VALUES(69,357); +INSERT INTO product_slots VALUES(69,358); +INSERT INTO product_slots VALUES(69,359); +INSERT INTO product_slots VALUES(69,360); +INSERT INTO product_slots VALUES(69,361); +INSERT INTO product_slots VALUES(69,362); +INSERT INTO product_slots VALUES(69,363); +INSERT INTO product_slots VALUES(69,364); +INSERT INTO product_slots VALUES(69,365); +INSERT INTO product_slots VALUES(69,366); +INSERT INTO product_slots VALUES(69,367); +INSERT INTO product_slots VALUES(69,368); +INSERT INTO product_slots VALUES(69,369); +INSERT INTO product_slots VALUES(69,370); +INSERT INTO product_slots VALUES(69,371); +INSERT INTO product_slots VALUES(69,372); +INSERT INTO product_slots VALUES(69,373); +INSERT INTO product_slots VALUES(69,374); +INSERT INTO product_slots VALUES(69,375); +INSERT INTO product_slots VALUES(69,376); +INSERT INTO product_slots VALUES(69,377); +INSERT INTO product_slots VALUES(69,378); +INSERT INTO product_slots VALUES(69,379); +INSERT INTO product_slots VALUES(69,380); +INSERT INTO product_slots VALUES(69,381); +INSERT INTO product_slots VALUES(69,382); +INSERT INTO product_slots VALUES(69,383); +INSERT INTO product_slots VALUES(69,384); +INSERT INTO product_slots VALUES(69,385); +INSERT INTO product_slots VALUES(69,386); +INSERT INTO product_slots VALUES(69,387); +INSERT INTO product_slots VALUES(69,388); +INSERT INTO product_slots VALUES(69,389); +INSERT INTO product_slots VALUES(69,390); +INSERT INTO product_slots VALUES(69,391); +INSERT INTO product_slots VALUES(69,392); +INSERT INTO product_slots VALUES(69,393); +INSERT INTO product_slots VALUES(69,394); +INSERT INTO product_slots VALUES(69,395); +INSERT INTO product_slots VALUES(69,396); +INSERT INTO product_slots VALUES(69,397); +INSERT INTO product_slots VALUES(69,398); +INSERT INTO product_slots VALUES(69,399); +INSERT INTO product_slots VALUES(69,400); +INSERT INTO product_slots VALUES(69,401); +INSERT INTO product_slots VALUES(69,402); +INSERT INTO product_slots VALUES(69,403); +INSERT INTO product_slots VALUES(69,404); +INSERT INTO product_slots VALUES(69,405); +INSERT INTO product_slots VALUES(69,406); +INSERT INTO product_slots VALUES(69,407); +INSERT INTO product_slots VALUES(69,408); +INSERT INTO product_slots VALUES(69,409); +INSERT INTO product_slots VALUES(69,410); +INSERT INTO product_slots VALUES(69,411); +INSERT INTO product_slots VALUES(69,412); +INSERT INTO product_slots VALUES(69,413); +INSERT INTO product_slots VALUES(69,414); +INSERT INTO product_slots VALUES(69,415); +INSERT INTO product_slots VALUES(69,416); +INSERT INTO product_slots VALUES(69,417); +INSERT INTO product_slots VALUES(69,418); +INSERT INTO product_slots VALUES(69,419); +INSERT INTO product_slots VALUES(69,420); +INSERT INTO product_slots VALUES(69,421); +INSERT INTO product_slots VALUES(69,422); +INSERT INTO product_slots VALUES(69,423); +INSERT INTO product_slots VALUES(69,424); +INSERT INTO product_slots VALUES(69,425); +INSERT INTO product_slots VALUES(69,426); +INSERT INTO product_slots VALUES(69,427); +INSERT INTO product_slots VALUES(69,428); +INSERT INTO product_slots VALUES(69,429); +INSERT INTO product_slots VALUES(69,430); +INSERT INTO product_slots VALUES(69,431); +INSERT INTO product_slots VALUES(69,432); +INSERT INTO product_slots VALUES(69,433); +INSERT INTO product_slots VALUES(69,434); +INSERT INTO product_slots VALUES(69,435); +INSERT INTO product_slots VALUES(69,436); +INSERT INTO product_slots VALUES(69,437); +INSERT INTO product_slots VALUES(69,438); +INSERT INTO product_slots VALUES(69,439); +INSERT INTO product_slots VALUES(69,440); +INSERT INTO product_slots VALUES(69,441); +INSERT INTO product_slots VALUES(69,442); +INSERT INTO product_slots VALUES(69,443); +INSERT INTO product_slots VALUES(69,444); +INSERT INTO product_slots VALUES(69,445); +INSERT INTO product_slots VALUES(69,446); +INSERT INTO product_slots VALUES(69,447); +INSERT INTO product_slots VALUES(69,448); +INSERT INTO product_slots VALUES(69,449); +INSERT INTO product_slots VALUES(69,450); +INSERT INTO product_slots VALUES(69,451); +INSERT INTO product_slots VALUES(69,452); +INSERT INTO product_slots VALUES(69,453); +INSERT INTO product_slots VALUES(69,454); +INSERT INTO product_slots VALUES(69,455); +INSERT INTO product_slots VALUES(69,456); +INSERT INTO product_slots VALUES(69,457); +INSERT INTO product_slots VALUES(69,458); +INSERT INTO product_slots VALUES(69,459); +INSERT INTO product_slots VALUES(69,460); +INSERT INTO product_slots VALUES(69,461); +INSERT INTO product_slots VALUES(69,462); +INSERT INTO product_slots VALUES(69,463); +INSERT INTO product_slots VALUES(69,464); +INSERT INTO product_slots VALUES(69,465); +INSERT INTO product_slots VALUES(69,466); +INSERT INTO product_slots VALUES(69,467); +INSERT INTO product_slots VALUES(69,468); +INSERT INTO product_slots VALUES(69,469); +INSERT INTO product_slots VALUES(69,470); +INSERT INTO product_slots VALUES(69,471); INSERT INTO product_slots VALUES(70,39); INSERT INTO product_slots VALUES(70,44); INSERT INTO product_slots VALUES(70,46); @@ -16157,8 +31423,40 @@ INSERT INTO product_slots VALUES(70,241); INSERT INTO product_slots VALUES(70,242); INSERT INTO product_slots VALUES(70,243); INSERT INTO product_slots VALUES(70,244); +INSERT INTO product_slots VALUES(70,245); +INSERT INTO product_slots VALUES(70,246); +INSERT INTO product_slots VALUES(70,247); +INSERT INTO product_slots VALUES(70,248); +INSERT INTO product_slots VALUES(70,249); +INSERT INTO product_slots VALUES(70,250); +INSERT INTO product_slots VALUES(70,251); +INSERT INTO product_slots VALUES(70,252); +INSERT INTO product_slots VALUES(70,253); +INSERT INTO product_slots VALUES(70,254); +INSERT INTO product_slots VALUES(70,255); +INSERT INTO product_slots VALUES(70,256); +INSERT INTO product_slots VALUES(70,257); +INSERT INTO product_slots VALUES(70,258); +INSERT INTO product_slots VALUES(70,259); +INSERT INTO product_slots VALUES(70,260); +INSERT INTO product_slots VALUES(70,261); +INSERT INTO product_slots VALUES(70,262); +INSERT INTO product_slots VALUES(70,263); +INSERT INTO product_slots VALUES(70,264); +INSERT INTO product_slots VALUES(70,265); +INSERT INTO product_slots VALUES(70,266); +INSERT INTO product_slots VALUES(70,267); +INSERT INTO product_slots VALUES(70,268); +INSERT INTO product_slots VALUES(70,269); +INSERT INTO product_slots VALUES(70,270); +INSERT INTO product_slots VALUES(70,271); +INSERT INTO product_slots VALUES(70,272); +INSERT INTO product_slots VALUES(70,273); INSERT INTO product_slots VALUES(70,274); INSERT INTO product_slots VALUES(70,275); +INSERT INTO product_slots VALUES(70,276); +INSERT INTO product_slots VALUES(70,277); +INSERT INTO product_slots VALUES(70,278); INSERT INTO product_slots VALUES(70,279); INSERT INTO product_slots VALUES(70,280); INSERT INTO product_slots VALUES(70,281); @@ -16168,6 +31466,190 @@ INSERT INTO product_slots VALUES(70,284); INSERT INTO product_slots VALUES(70,285); INSERT INTO product_slots VALUES(70,286); INSERT INTO product_slots VALUES(70,287); +INSERT INTO product_slots VALUES(70,288); +INSERT INTO product_slots VALUES(70,289); +INSERT INTO product_slots VALUES(70,290); +INSERT INTO product_slots VALUES(70,291); +INSERT INTO product_slots VALUES(70,292); +INSERT INTO product_slots VALUES(70,293); +INSERT INTO product_slots VALUES(70,294); +INSERT INTO product_slots VALUES(70,295); +INSERT INTO product_slots VALUES(70,296); +INSERT INTO product_slots VALUES(70,297); +INSERT INTO product_slots VALUES(70,298); +INSERT INTO product_slots VALUES(70,299); +INSERT INTO product_slots VALUES(70,300); +INSERT INTO product_slots VALUES(70,301); +INSERT INTO product_slots VALUES(70,302); +INSERT INTO product_slots VALUES(70,303); +INSERT INTO product_slots VALUES(70,304); +INSERT INTO product_slots VALUES(70,305); +INSERT INTO product_slots VALUES(70,306); +INSERT INTO product_slots VALUES(70,307); +INSERT INTO product_slots VALUES(70,308); +INSERT INTO product_slots VALUES(70,309); +INSERT INTO product_slots VALUES(70,310); +INSERT INTO product_slots VALUES(70,311); +INSERT INTO product_slots VALUES(70,312); +INSERT INTO product_slots VALUES(70,313); +INSERT INTO product_slots VALUES(70,314); +INSERT INTO product_slots VALUES(70,315); +INSERT INTO product_slots VALUES(70,316); +INSERT INTO product_slots VALUES(70,317); +INSERT INTO product_slots VALUES(70,318); +INSERT INTO product_slots VALUES(70,319); +INSERT INTO product_slots VALUES(70,320); +INSERT INTO product_slots VALUES(70,321); +INSERT INTO product_slots VALUES(70,322); +INSERT INTO product_slots VALUES(70,323); +INSERT INTO product_slots VALUES(70,324); +INSERT INTO product_slots VALUES(70,325); +INSERT INTO product_slots VALUES(70,326); +INSERT INTO product_slots VALUES(70,327); +INSERT INTO product_slots VALUES(70,328); +INSERT INTO product_slots VALUES(70,329); +INSERT INTO product_slots VALUES(70,330); +INSERT INTO product_slots VALUES(70,331); +INSERT INTO product_slots VALUES(70,332); +INSERT INTO product_slots VALUES(70,333); +INSERT INTO product_slots VALUES(70,334); +INSERT INTO product_slots VALUES(70,335); +INSERT INTO product_slots VALUES(70,336); +INSERT INTO product_slots VALUES(70,337); +INSERT INTO product_slots VALUES(70,338); +INSERT INTO product_slots VALUES(70,339); +INSERT INTO product_slots VALUES(70,340); +INSERT INTO product_slots VALUES(70,341); +INSERT INTO product_slots VALUES(70,342); +INSERT INTO product_slots VALUES(70,343); +INSERT INTO product_slots VALUES(70,344); +INSERT INTO product_slots VALUES(70,345); +INSERT INTO product_slots VALUES(70,346); +INSERT INTO product_slots VALUES(70,347); +INSERT INTO product_slots VALUES(70,348); +INSERT INTO product_slots VALUES(70,349); +INSERT INTO product_slots VALUES(70,350); +INSERT INTO product_slots VALUES(70,351); +INSERT INTO product_slots VALUES(70,352); +INSERT INTO product_slots VALUES(70,353); +INSERT INTO product_slots VALUES(70,354); +INSERT INTO product_slots VALUES(70,355); +INSERT INTO product_slots VALUES(70,356); +INSERT INTO product_slots VALUES(70,357); +INSERT INTO product_slots VALUES(70,358); +INSERT INTO product_slots VALUES(70,359); +INSERT INTO product_slots VALUES(70,360); +INSERT INTO product_slots VALUES(70,361); +INSERT INTO product_slots VALUES(70,362); +INSERT INTO product_slots VALUES(70,363); +INSERT INTO product_slots VALUES(70,364); +INSERT INTO product_slots VALUES(70,365); +INSERT INTO product_slots VALUES(70,366); +INSERT INTO product_slots VALUES(70,367); +INSERT INTO product_slots VALUES(70,368); +INSERT INTO product_slots VALUES(70,369); +INSERT INTO product_slots VALUES(70,370); +INSERT INTO product_slots VALUES(70,371); +INSERT INTO product_slots VALUES(70,372); +INSERT INTO product_slots VALUES(70,373); +INSERT INTO product_slots VALUES(70,374); +INSERT INTO product_slots VALUES(70,375); +INSERT INTO product_slots VALUES(70,376); +INSERT INTO product_slots VALUES(70,377); +INSERT INTO product_slots VALUES(70,378); +INSERT INTO product_slots VALUES(70,379); +INSERT INTO product_slots VALUES(70,380); +INSERT INTO product_slots VALUES(70,381); +INSERT INTO product_slots VALUES(70,382); +INSERT INTO product_slots VALUES(70,383); +INSERT INTO product_slots VALUES(70,384); +INSERT INTO product_slots VALUES(70,385); +INSERT INTO product_slots VALUES(70,386); +INSERT INTO product_slots VALUES(70,387); +INSERT INTO product_slots VALUES(70,388); +INSERT INTO product_slots VALUES(70,389); +INSERT INTO product_slots VALUES(70,390); +INSERT INTO product_slots VALUES(70,391); +INSERT INTO product_slots VALUES(70,392); +INSERT INTO product_slots VALUES(70,393); +INSERT INTO product_slots VALUES(70,394); +INSERT INTO product_slots VALUES(70,395); +INSERT INTO product_slots VALUES(70,396); +INSERT INTO product_slots VALUES(70,397); +INSERT INTO product_slots VALUES(70,398); +INSERT INTO product_slots VALUES(70,399); +INSERT INTO product_slots VALUES(70,400); +INSERT INTO product_slots VALUES(70,401); +INSERT INTO product_slots VALUES(70,402); +INSERT INTO product_slots VALUES(70,403); +INSERT INTO product_slots VALUES(70,404); +INSERT INTO product_slots VALUES(70,405); +INSERT INTO product_slots VALUES(70,406); +INSERT INTO product_slots VALUES(70,407); +INSERT INTO product_slots VALUES(70,408); +INSERT INTO product_slots VALUES(70,409); +INSERT INTO product_slots VALUES(70,410); +INSERT INTO product_slots VALUES(70,411); +INSERT INTO product_slots VALUES(70,412); +INSERT INTO product_slots VALUES(70,413); +INSERT INTO product_slots VALUES(70,414); +INSERT INTO product_slots VALUES(70,415); +INSERT INTO product_slots VALUES(70,416); +INSERT INTO product_slots VALUES(70,417); +INSERT INTO product_slots VALUES(70,418); +INSERT INTO product_slots VALUES(70,419); +INSERT INTO product_slots VALUES(70,420); +INSERT INTO product_slots VALUES(70,421); +INSERT INTO product_slots VALUES(70,422); +INSERT INTO product_slots VALUES(70,423); +INSERT INTO product_slots VALUES(70,424); +INSERT INTO product_slots VALUES(70,425); +INSERT INTO product_slots VALUES(70,426); +INSERT INTO product_slots VALUES(70,427); +INSERT INTO product_slots VALUES(70,428); +INSERT INTO product_slots VALUES(70,429); +INSERT INTO product_slots VALUES(70,430); +INSERT INTO product_slots VALUES(70,431); +INSERT INTO product_slots VALUES(70,432); +INSERT INTO product_slots VALUES(70,433); +INSERT INTO product_slots VALUES(70,434); +INSERT INTO product_slots VALUES(70,435); +INSERT INTO product_slots VALUES(70,436); +INSERT INTO product_slots VALUES(70,437); +INSERT INTO product_slots VALUES(70,438); +INSERT INTO product_slots VALUES(70,439); +INSERT INTO product_slots VALUES(70,440); +INSERT INTO product_slots VALUES(70,441); +INSERT INTO product_slots VALUES(70,442); +INSERT INTO product_slots VALUES(70,443); +INSERT INTO product_slots VALUES(70,444); +INSERT INTO product_slots VALUES(70,445); +INSERT INTO product_slots VALUES(70,446); +INSERT INTO product_slots VALUES(70,447); +INSERT INTO product_slots VALUES(70,448); +INSERT INTO product_slots VALUES(70,449); +INSERT INTO product_slots VALUES(70,450); +INSERT INTO product_slots VALUES(70,451); +INSERT INTO product_slots VALUES(70,452); +INSERT INTO product_slots VALUES(70,453); +INSERT INTO product_slots VALUES(70,454); +INSERT INTO product_slots VALUES(70,455); +INSERT INTO product_slots VALUES(70,456); +INSERT INTO product_slots VALUES(70,457); +INSERT INTO product_slots VALUES(70,458); +INSERT INTO product_slots VALUES(70,459); +INSERT INTO product_slots VALUES(70,460); +INSERT INTO product_slots VALUES(70,461); +INSERT INTO product_slots VALUES(70,462); +INSERT INTO product_slots VALUES(70,463); +INSERT INTO product_slots VALUES(70,464); +INSERT INTO product_slots VALUES(70,465); +INSERT INTO product_slots VALUES(70,466); +INSERT INTO product_slots VALUES(70,467); +INSERT INTO product_slots VALUES(70,468); +INSERT INTO product_slots VALUES(70,469); +INSERT INTO product_slots VALUES(70,470); +INSERT INTO product_slots VALUES(70,471); INSERT INTO product_slots VALUES(71,39); INSERT INTO product_slots VALUES(71,41); INSERT INTO product_slots VALUES(71,43); @@ -16372,8 +31854,40 @@ INSERT INTO product_slots VALUES(71,241); INSERT INTO product_slots VALUES(71,242); INSERT INTO product_slots VALUES(71,243); INSERT INTO product_slots VALUES(71,244); +INSERT INTO product_slots VALUES(71,245); +INSERT INTO product_slots VALUES(71,246); +INSERT INTO product_slots VALUES(71,247); +INSERT INTO product_slots VALUES(71,248); +INSERT INTO product_slots VALUES(71,249); +INSERT INTO product_slots VALUES(71,250); +INSERT INTO product_slots VALUES(71,251); +INSERT INTO product_slots VALUES(71,252); +INSERT INTO product_slots VALUES(71,253); +INSERT INTO product_slots VALUES(71,254); +INSERT INTO product_slots VALUES(71,255); +INSERT INTO product_slots VALUES(71,256); +INSERT INTO product_slots VALUES(71,257); +INSERT INTO product_slots VALUES(71,258); +INSERT INTO product_slots VALUES(71,259); +INSERT INTO product_slots VALUES(71,260); +INSERT INTO product_slots VALUES(71,261); +INSERT INTO product_slots VALUES(71,262); +INSERT INTO product_slots VALUES(71,263); +INSERT INTO product_slots VALUES(71,264); +INSERT INTO product_slots VALUES(71,265); +INSERT INTO product_slots VALUES(71,266); +INSERT INTO product_slots VALUES(71,267); +INSERT INTO product_slots VALUES(71,268); +INSERT INTO product_slots VALUES(71,269); +INSERT INTO product_slots VALUES(71,270); +INSERT INTO product_slots VALUES(71,271); +INSERT INTO product_slots VALUES(71,272); +INSERT INTO product_slots VALUES(71,273); INSERT INTO product_slots VALUES(71,274); INSERT INTO product_slots VALUES(71,275); +INSERT INTO product_slots VALUES(71,276); +INSERT INTO product_slots VALUES(71,277); +INSERT INTO product_slots VALUES(71,278); INSERT INTO product_slots VALUES(71,279); INSERT INTO product_slots VALUES(71,280); INSERT INTO product_slots VALUES(71,281); @@ -16383,6 +31897,190 @@ INSERT INTO product_slots VALUES(71,284); INSERT INTO product_slots VALUES(71,285); INSERT INTO product_slots VALUES(71,286); INSERT INTO product_slots VALUES(71,287); +INSERT INTO product_slots VALUES(71,288); +INSERT INTO product_slots VALUES(71,289); +INSERT INTO product_slots VALUES(71,290); +INSERT INTO product_slots VALUES(71,291); +INSERT INTO product_slots VALUES(71,292); +INSERT INTO product_slots VALUES(71,293); +INSERT INTO product_slots VALUES(71,294); +INSERT INTO product_slots VALUES(71,295); +INSERT INTO product_slots VALUES(71,296); +INSERT INTO product_slots VALUES(71,297); +INSERT INTO product_slots VALUES(71,298); +INSERT INTO product_slots VALUES(71,299); +INSERT INTO product_slots VALUES(71,300); +INSERT INTO product_slots VALUES(71,301); +INSERT INTO product_slots VALUES(71,302); +INSERT INTO product_slots VALUES(71,303); +INSERT INTO product_slots VALUES(71,304); +INSERT INTO product_slots VALUES(71,305); +INSERT INTO product_slots VALUES(71,306); +INSERT INTO product_slots VALUES(71,307); +INSERT INTO product_slots VALUES(71,308); +INSERT INTO product_slots VALUES(71,309); +INSERT INTO product_slots VALUES(71,310); +INSERT INTO product_slots VALUES(71,311); +INSERT INTO product_slots VALUES(71,312); +INSERT INTO product_slots VALUES(71,313); +INSERT INTO product_slots VALUES(71,314); +INSERT INTO product_slots VALUES(71,315); +INSERT INTO product_slots VALUES(71,316); +INSERT INTO product_slots VALUES(71,317); +INSERT INTO product_slots VALUES(71,318); +INSERT INTO product_slots VALUES(71,319); +INSERT INTO product_slots VALUES(71,320); +INSERT INTO product_slots VALUES(71,321); +INSERT INTO product_slots VALUES(71,322); +INSERT INTO product_slots VALUES(71,323); +INSERT INTO product_slots VALUES(71,324); +INSERT INTO product_slots VALUES(71,325); +INSERT INTO product_slots VALUES(71,326); +INSERT INTO product_slots VALUES(71,327); +INSERT INTO product_slots VALUES(71,328); +INSERT INTO product_slots VALUES(71,329); +INSERT INTO product_slots VALUES(71,330); +INSERT INTO product_slots VALUES(71,331); +INSERT INTO product_slots VALUES(71,332); +INSERT INTO product_slots VALUES(71,333); +INSERT INTO product_slots VALUES(71,334); +INSERT INTO product_slots VALUES(71,335); +INSERT INTO product_slots VALUES(71,336); +INSERT INTO product_slots VALUES(71,337); +INSERT INTO product_slots VALUES(71,338); +INSERT INTO product_slots VALUES(71,339); +INSERT INTO product_slots VALUES(71,340); +INSERT INTO product_slots VALUES(71,341); +INSERT INTO product_slots VALUES(71,342); +INSERT INTO product_slots VALUES(71,343); +INSERT INTO product_slots VALUES(71,344); +INSERT INTO product_slots VALUES(71,345); +INSERT INTO product_slots VALUES(71,346); +INSERT INTO product_slots VALUES(71,347); +INSERT INTO product_slots VALUES(71,348); +INSERT INTO product_slots VALUES(71,349); +INSERT INTO product_slots VALUES(71,350); +INSERT INTO product_slots VALUES(71,351); +INSERT INTO product_slots VALUES(71,352); +INSERT INTO product_slots VALUES(71,353); +INSERT INTO product_slots VALUES(71,354); +INSERT INTO product_slots VALUES(71,355); +INSERT INTO product_slots VALUES(71,356); +INSERT INTO product_slots VALUES(71,357); +INSERT INTO product_slots VALUES(71,358); +INSERT INTO product_slots VALUES(71,359); +INSERT INTO product_slots VALUES(71,360); +INSERT INTO product_slots VALUES(71,361); +INSERT INTO product_slots VALUES(71,362); +INSERT INTO product_slots VALUES(71,363); +INSERT INTO product_slots VALUES(71,364); +INSERT INTO product_slots VALUES(71,365); +INSERT INTO product_slots VALUES(71,366); +INSERT INTO product_slots VALUES(71,367); +INSERT INTO product_slots VALUES(71,368); +INSERT INTO product_slots VALUES(71,369); +INSERT INTO product_slots VALUES(71,370); +INSERT INTO product_slots VALUES(71,371); +INSERT INTO product_slots VALUES(71,372); +INSERT INTO product_slots VALUES(71,373); +INSERT INTO product_slots VALUES(71,374); +INSERT INTO product_slots VALUES(71,375); +INSERT INTO product_slots VALUES(71,376); +INSERT INTO product_slots VALUES(71,377); +INSERT INTO product_slots VALUES(71,378); +INSERT INTO product_slots VALUES(71,379); +INSERT INTO product_slots VALUES(71,380); +INSERT INTO product_slots VALUES(71,381); +INSERT INTO product_slots VALUES(71,382); +INSERT INTO product_slots VALUES(71,383); +INSERT INTO product_slots VALUES(71,384); +INSERT INTO product_slots VALUES(71,385); +INSERT INTO product_slots VALUES(71,386); +INSERT INTO product_slots VALUES(71,387); +INSERT INTO product_slots VALUES(71,388); +INSERT INTO product_slots VALUES(71,389); +INSERT INTO product_slots VALUES(71,390); +INSERT INTO product_slots VALUES(71,391); +INSERT INTO product_slots VALUES(71,392); +INSERT INTO product_slots VALUES(71,393); +INSERT INTO product_slots VALUES(71,394); +INSERT INTO product_slots VALUES(71,395); +INSERT INTO product_slots VALUES(71,396); +INSERT INTO product_slots VALUES(71,397); +INSERT INTO product_slots VALUES(71,398); +INSERT INTO product_slots VALUES(71,399); +INSERT INTO product_slots VALUES(71,400); +INSERT INTO product_slots VALUES(71,401); +INSERT INTO product_slots VALUES(71,402); +INSERT INTO product_slots VALUES(71,403); +INSERT INTO product_slots VALUES(71,404); +INSERT INTO product_slots VALUES(71,405); +INSERT INTO product_slots VALUES(71,406); +INSERT INTO product_slots VALUES(71,407); +INSERT INTO product_slots VALUES(71,408); +INSERT INTO product_slots VALUES(71,409); +INSERT INTO product_slots VALUES(71,410); +INSERT INTO product_slots VALUES(71,411); +INSERT INTO product_slots VALUES(71,412); +INSERT INTO product_slots VALUES(71,413); +INSERT INTO product_slots VALUES(71,414); +INSERT INTO product_slots VALUES(71,415); +INSERT INTO product_slots VALUES(71,416); +INSERT INTO product_slots VALUES(71,417); +INSERT INTO product_slots VALUES(71,418); +INSERT INTO product_slots VALUES(71,419); +INSERT INTO product_slots VALUES(71,420); +INSERT INTO product_slots VALUES(71,421); +INSERT INTO product_slots VALUES(71,422); +INSERT INTO product_slots VALUES(71,423); +INSERT INTO product_slots VALUES(71,424); +INSERT INTO product_slots VALUES(71,425); +INSERT INTO product_slots VALUES(71,426); +INSERT INTO product_slots VALUES(71,427); +INSERT INTO product_slots VALUES(71,428); +INSERT INTO product_slots VALUES(71,429); +INSERT INTO product_slots VALUES(71,430); +INSERT INTO product_slots VALUES(71,431); +INSERT INTO product_slots VALUES(71,432); +INSERT INTO product_slots VALUES(71,433); +INSERT INTO product_slots VALUES(71,434); +INSERT INTO product_slots VALUES(71,435); +INSERT INTO product_slots VALUES(71,436); +INSERT INTO product_slots VALUES(71,437); +INSERT INTO product_slots VALUES(71,438); +INSERT INTO product_slots VALUES(71,439); +INSERT INTO product_slots VALUES(71,440); +INSERT INTO product_slots VALUES(71,441); +INSERT INTO product_slots VALUES(71,442); +INSERT INTO product_slots VALUES(71,443); +INSERT INTO product_slots VALUES(71,444); +INSERT INTO product_slots VALUES(71,445); +INSERT INTO product_slots VALUES(71,446); +INSERT INTO product_slots VALUES(71,447); +INSERT INTO product_slots VALUES(71,448); +INSERT INTO product_slots VALUES(71,449); +INSERT INTO product_slots VALUES(71,450); +INSERT INTO product_slots VALUES(71,451); +INSERT INTO product_slots VALUES(71,452); +INSERT INTO product_slots VALUES(71,453); +INSERT INTO product_slots VALUES(71,454); +INSERT INTO product_slots VALUES(71,455); +INSERT INTO product_slots VALUES(71,456); +INSERT INTO product_slots VALUES(71,457); +INSERT INTO product_slots VALUES(71,458); +INSERT INTO product_slots VALUES(71,459); +INSERT INTO product_slots VALUES(71,460); +INSERT INTO product_slots VALUES(71,461); +INSERT INTO product_slots VALUES(71,462); +INSERT INTO product_slots VALUES(71,463); +INSERT INTO product_slots VALUES(71,464); +INSERT INTO product_slots VALUES(71,465); +INSERT INTO product_slots VALUES(71,466); +INSERT INTO product_slots VALUES(71,467); +INSERT INTO product_slots VALUES(71,468); +INSERT INTO product_slots VALUES(71,469); +INSERT INTO product_slots VALUES(71,470); +INSERT INTO product_slots VALUES(71,471); INSERT INTO product_slots VALUES(72,39); INSERT INTO product_slots VALUES(72,41); INSERT INTO product_slots VALUES(72,43); @@ -16587,8 +32285,40 @@ INSERT INTO product_slots VALUES(72,241); INSERT INTO product_slots VALUES(72,242); INSERT INTO product_slots VALUES(72,243); INSERT INTO product_slots VALUES(72,244); +INSERT INTO product_slots VALUES(72,245); +INSERT INTO product_slots VALUES(72,246); +INSERT INTO product_slots VALUES(72,247); +INSERT INTO product_slots VALUES(72,248); +INSERT INTO product_slots VALUES(72,249); +INSERT INTO product_slots VALUES(72,250); +INSERT INTO product_slots VALUES(72,251); +INSERT INTO product_slots VALUES(72,252); +INSERT INTO product_slots VALUES(72,253); +INSERT INTO product_slots VALUES(72,254); +INSERT INTO product_slots VALUES(72,255); +INSERT INTO product_slots VALUES(72,256); +INSERT INTO product_slots VALUES(72,257); +INSERT INTO product_slots VALUES(72,258); +INSERT INTO product_slots VALUES(72,259); +INSERT INTO product_slots VALUES(72,260); +INSERT INTO product_slots VALUES(72,261); +INSERT INTO product_slots VALUES(72,262); +INSERT INTO product_slots VALUES(72,263); +INSERT INTO product_slots VALUES(72,264); +INSERT INTO product_slots VALUES(72,265); +INSERT INTO product_slots VALUES(72,266); +INSERT INTO product_slots VALUES(72,267); +INSERT INTO product_slots VALUES(72,268); +INSERT INTO product_slots VALUES(72,269); +INSERT INTO product_slots VALUES(72,270); +INSERT INTO product_slots VALUES(72,271); +INSERT INTO product_slots VALUES(72,272); +INSERT INTO product_slots VALUES(72,273); INSERT INTO product_slots VALUES(72,274); INSERT INTO product_slots VALUES(72,275); +INSERT INTO product_slots VALUES(72,276); +INSERT INTO product_slots VALUES(72,277); +INSERT INTO product_slots VALUES(72,278); INSERT INTO product_slots VALUES(72,279); INSERT INTO product_slots VALUES(72,280); INSERT INTO product_slots VALUES(72,281); @@ -16598,6 +32328,190 @@ INSERT INTO product_slots VALUES(72,284); INSERT INTO product_slots VALUES(72,285); INSERT INTO product_slots VALUES(72,286); INSERT INTO product_slots VALUES(72,287); +INSERT INTO product_slots VALUES(72,288); +INSERT INTO product_slots VALUES(72,289); +INSERT INTO product_slots VALUES(72,290); +INSERT INTO product_slots VALUES(72,291); +INSERT INTO product_slots VALUES(72,292); +INSERT INTO product_slots VALUES(72,293); +INSERT INTO product_slots VALUES(72,294); +INSERT INTO product_slots VALUES(72,295); +INSERT INTO product_slots VALUES(72,296); +INSERT INTO product_slots VALUES(72,297); +INSERT INTO product_slots VALUES(72,298); +INSERT INTO product_slots VALUES(72,299); +INSERT INTO product_slots VALUES(72,300); +INSERT INTO product_slots VALUES(72,301); +INSERT INTO product_slots VALUES(72,302); +INSERT INTO product_slots VALUES(72,303); +INSERT INTO product_slots VALUES(72,304); +INSERT INTO product_slots VALUES(72,305); +INSERT INTO product_slots VALUES(72,306); +INSERT INTO product_slots VALUES(72,307); +INSERT INTO product_slots VALUES(72,308); +INSERT INTO product_slots VALUES(72,309); +INSERT INTO product_slots VALUES(72,310); +INSERT INTO product_slots VALUES(72,311); +INSERT INTO product_slots VALUES(72,312); +INSERT INTO product_slots VALUES(72,313); +INSERT INTO product_slots VALUES(72,314); +INSERT INTO product_slots VALUES(72,315); +INSERT INTO product_slots VALUES(72,316); +INSERT INTO product_slots VALUES(72,317); +INSERT INTO product_slots VALUES(72,318); +INSERT INTO product_slots VALUES(72,319); +INSERT INTO product_slots VALUES(72,320); +INSERT INTO product_slots VALUES(72,321); +INSERT INTO product_slots VALUES(72,322); +INSERT INTO product_slots VALUES(72,323); +INSERT INTO product_slots VALUES(72,324); +INSERT INTO product_slots VALUES(72,325); +INSERT INTO product_slots VALUES(72,326); +INSERT INTO product_slots VALUES(72,327); +INSERT INTO product_slots VALUES(72,328); +INSERT INTO product_slots VALUES(72,329); +INSERT INTO product_slots VALUES(72,330); +INSERT INTO product_slots VALUES(72,331); +INSERT INTO product_slots VALUES(72,332); +INSERT INTO product_slots VALUES(72,333); +INSERT INTO product_slots VALUES(72,334); +INSERT INTO product_slots VALUES(72,335); +INSERT INTO product_slots VALUES(72,336); +INSERT INTO product_slots VALUES(72,337); +INSERT INTO product_slots VALUES(72,338); +INSERT INTO product_slots VALUES(72,339); +INSERT INTO product_slots VALUES(72,340); +INSERT INTO product_slots VALUES(72,341); +INSERT INTO product_slots VALUES(72,342); +INSERT INTO product_slots VALUES(72,343); +INSERT INTO product_slots VALUES(72,344); +INSERT INTO product_slots VALUES(72,345); +INSERT INTO product_slots VALUES(72,346); +INSERT INTO product_slots VALUES(72,347); +INSERT INTO product_slots VALUES(72,348); +INSERT INTO product_slots VALUES(72,349); +INSERT INTO product_slots VALUES(72,350); +INSERT INTO product_slots VALUES(72,351); +INSERT INTO product_slots VALUES(72,352); +INSERT INTO product_slots VALUES(72,353); +INSERT INTO product_slots VALUES(72,354); +INSERT INTO product_slots VALUES(72,355); +INSERT INTO product_slots VALUES(72,356); +INSERT INTO product_slots VALUES(72,357); +INSERT INTO product_slots VALUES(72,358); +INSERT INTO product_slots VALUES(72,359); +INSERT INTO product_slots VALUES(72,360); +INSERT INTO product_slots VALUES(72,361); +INSERT INTO product_slots VALUES(72,362); +INSERT INTO product_slots VALUES(72,363); +INSERT INTO product_slots VALUES(72,364); +INSERT INTO product_slots VALUES(72,365); +INSERT INTO product_slots VALUES(72,366); +INSERT INTO product_slots VALUES(72,367); +INSERT INTO product_slots VALUES(72,368); +INSERT INTO product_slots VALUES(72,369); +INSERT INTO product_slots VALUES(72,370); +INSERT INTO product_slots VALUES(72,371); +INSERT INTO product_slots VALUES(72,372); +INSERT INTO product_slots VALUES(72,373); +INSERT INTO product_slots VALUES(72,374); +INSERT INTO product_slots VALUES(72,375); +INSERT INTO product_slots VALUES(72,376); +INSERT INTO product_slots VALUES(72,377); +INSERT INTO product_slots VALUES(72,378); +INSERT INTO product_slots VALUES(72,379); +INSERT INTO product_slots VALUES(72,380); +INSERT INTO product_slots VALUES(72,381); +INSERT INTO product_slots VALUES(72,382); +INSERT INTO product_slots VALUES(72,383); +INSERT INTO product_slots VALUES(72,384); +INSERT INTO product_slots VALUES(72,385); +INSERT INTO product_slots VALUES(72,386); +INSERT INTO product_slots VALUES(72,387); +INSERT INTO product_slots VALUES(72,388); +INSERT INTO product_slots VALUES(72,389); +INSERT INTO product_slots VALUES(72,390); +INSERT INTO product_slots VALUES(72,391); +INSERT INTO product_slots VALUES(72,392); +INSERT INTO product_slots VALUES(72,393); +INSERT INTO product_slots VALUES(72,394); +INSERT INTO product_slots VALUES(72,395); +INSERT INTO product_slots VALUES(72,396); +INSERT INTO product_slots VALUES(72,397); +INSERT INTO product_slots VALUES(72,398); +INSERT INTO product_slots VALUES(72,399); +INSERT INTO product_slots VALUES(72,400); +INSERT INTO product_slots VALUES(72,401); +INSERT INTO product_slots VALUES(72,402); +INSERT INTO product_slots VALUES(72,403); +INSERT INTO product_slots VALUES(72,404); +INSERT INTO product_slots VALUES(72,405); +INSERT INTO product_slots VALUES(72,406); +INSERT INTO product_slots VALUES(72,407); +INSERT INTO product_slots VALUES(72,408); +INSERT INTO product_slots VALUES(72,409); +INSERT INTO product_slots VALUES(72,410); +INSERT INTO product_slots VALUES(72,411); +INSERT INTO product_slots VALUES(72,412); +INSERT INTO product_slots VALUES(72,413); +INSERT INTO product_slots VALUES(72,414); +INSERT INTO product_slots VALUES(72,415); +INSERT INTO product_slots VALUES(72,416); +INSERT INTO product_slots VALUES(72,417); +INSERT INTO product_slots VALUES(72,418); +INSERT INTO product_slots VALUES(72,419); +INSERT INTO product_slots VALUES(72,420); +INSERT INTO product_slots VALUES(72,421); +INSERT INTO product_slots VALUES(72,422); +INSERT INTO product_slots VALUES(72,423); +INSERT INTO product_slots VALUES(72,424); +INSERT INTO product_slots VALUES(72,425); +INSERT INTO product_slots VALUES(72,426); +INSERT INTO product_slots VALUES(72,427); +INSERT INTO product_slots VALUES(72,428); +INSERT INTO product_slots VALUES(72,429); +INSERT INTO product_slots VALUES(72,430); +INSERT INTO product_slots VALUES(72,431); +INSERT INTO product_slots VALUES(72,432); +INSERT INTO product_slots VALUES(72,433); +INSERT INTO product_slots VALUES(72,434); +INSERT INTO product_slots VALUES(72,435); +INSERT INTO product_slots VALUES(72,436); +INSERT INTO product_slots VALUES(72,437); +INSERT INTO product_slots VALUES(72,438); +INSERT INTO product_slots VALUES(72,439); +INSERT INTO product_slots VALUES(72,440); +INSERT INTO product_slots VALUES(72,441); +INSERT INTO product_slots VALUES(72,442); +INSERT INTO product_slots VALUES(72,443); +INSERT INTO product_slots VALUES(72,444); +INSERT INTO product_slots VALUES(72,445); +INSERT INTO product_slots VALUES(72,446); +INSERT INTO product_slots VALUES(72,447); +INSERT INTO product_slots VALUES(72,448); +INSERT INTO product_slots VALUES(72,449); +INSERT INTO product_slots VALUES(72,450); +INSERT INTO product_slots VALUES(72,451); +INSERT INTO product_slots VALUES(72,452); +INSERT INTO product_slots VALUES(72,453); +INSERT INTO product_slots VALUES(72,454); +INSERT INTO product_slots VALUES(72,455); +INSERT INTO product_slots VALUES(72,456); +INSERT INTO product_slots VALUES(72,457); +INSERT INTO product_slots VALUES(72,458); +INSERT INTO product_slots VALUES(72,459); +INSERT INTO product_slots VALUES(72,460); +INSERT INTO product_slots VALUES(72,461); +INSERT INTO product_slots VALUES(72,462); +INSERT INTO product_slots VALUES(72,463); +INSERT INTO product_slots VALUES(72,464); +INSERT INTO product_slots VALUES(72,465); +INSERT INTO product_slots VALUES(72,466); +INSERT INTO product_slots VALUES(72,467); +INSERT INTO product_slots VALUES(72,468); +INSERT INTO product_slots VALUES(72,469); +INSERT INTO product_slots VALUES(72,470); +INSERT INTO product_slots VALUES(72,471); INSERT INTO product_slots VALUES(73,40); INSERT INTO product_slots VALUES(73,64); INSERT INTO product_slots VALUES(73,65); @@ -16776,8 +32690,40 @@ INSERT INTO product_slots VALUES(73,241); INSERT INTO product_slots VALUES(73,242); INSERT INTO product_slots VALUES(73,243); INSERT INTO product_slots VALUES(73,244); +INSERT INTO product_slots VALUES(73,245); +INSERT INTO product_slots VALUES(73,246); +INSERT INTO product_slots VALUES(73,247); +INSERT INTO product_slots VALUES(73,248); +INSERT INTO product_slots VALUES(73,249); +INSERT INTO product_slots VALUES(73,250); +INSERT INTO product_slots VALUES(73,251); +INSERT INTO product_slots VALUES(73,252); +INSERT INTO product_slots VALUES(73,253); +INSERT INTO product_slots VALUES(73,254); +INSERT INTO product_slots VALUES(73,255); +INSERT INTO product_slots VALUES(73,256); +INSERT INTO product_slots VALUES(73,257); +INSERT INTO product_slots VALUES(73,258); +INSERT INTO product_slots VALUES(73,259); +INSERT INTO product_slots VALUES(73,260); +INSERT INTO product_slots VALUES(73,261); +INSERT INTO product_slots VALUES(73,262); +INSERT INTO product_slots VALUES(73,263); +INSERT INTO product_slots VALUES(73,264); +INSERT INTO product_slots VALUES(73,265); +INSERT INTO product_slots VALUES(73,266); +INSERT INTO product_slots VALUES(73,267); +INSERT INTO product_slots VALUES(73,268); +INSERT INTO product_slots VALUES(73,269); +INSERT INTO product_slots VALUES(73,270); +INSERT INTO product_slots VALUES(73,271); +INSERT INTO product_slots VALUES(73,272); +INSERT INTO product_slots VALUES(73,273); INSERT INTO product_slots VALUES(73,274); INSERT INTO product_slots VALUES(73,275); +INSERT INTO product_slots VALUES(73,276); +INSERT INTO product_slots VALUES(73,277); +INSERT INTO product_slots VALUES(73,278); INSERT INTO product_slots VALUES(73,279); INSERT INTO product_slots VALUES(73,280); INSERT INTO product_slots VALUES(73,281); @@ -16787,6 +32733,189 @@ INSERT INTO product_slots VALUES(73,284); INSERT INTO product_slots VALUES(73,285); INSERT INTO product_slots VALUES(73,286); INSERT INTO product_slots VALUES(73,287); +INSERT INTO product_slots VALUES(73,288); +INSERT INTO product_slots VALUES(73,289); +INSERT INTO product_slots VALUES(73,290); +INSERT INTO product_slots VALUES(73,291); +INSERT INTO product_slots VALUES(73,292); +INSERT INTO product_slots VALUES(73,293); +INSERT INTO product_slots VALUES(73,294); +INSERT INTO product_slots VALUES(73,295); +INSERT INTO product_slots VALUES(73,296); +INSERT INTO product_slots VALUES(73,297); +INSERT INTO product_slots VALUES(73,298); +INSERT INTO product_slots VALUES(73,299); +INSERT INTO product_slots VALUES(73,300); +INSERT INTO product_slots VALUES(73,301); +INSERT INTO product_slots VALUES(73,302); +INSERT INTO product_slots VALUES(73,303); +INSERT INTO product_slots VALUES(73,304); +INSERT INTO product_slots VALUES(73,305); +INSERT INTO product_slots VALUES(73,306); +INSERT INTO product_slots VALUES(73,307); +INSERT INTO product_slots VALUES(73,308); +INSERT INTO product_slots VALUES(73,309); +INSERT INTO product_slots VALUES(73,310); +INSERT INTO product_slots VALUES(73,311); +INSERT INTO product_slots VALUES(73,312); +INSERT INTO product_slots VALUES(73,313); +INSERT INTO product_slots VALUES(73,314); +INSERT INTO product_slots VALUES(73,315); +INSERT INTO product_slots VALUES(73,316); +INSERT INTO product_slots VALUES(73,317); +INSERT INTO product_slots VALUES(73,318); +INSERT INTO product_slots VALUES(73,319); +INSERT INTO product_slots VALUES(73,320); +INSERT INTO product_slots VALUES(73,321); +INSERT INTO product_slots VALUES(73,322); +INSERT INTO product_slots VALUES(73,323); +INSERT INTO product_slots VALUES(73,324); +INSERT INTO product_slots VALUES(73,325); +INSERT INTO product_slots VALUES(73,326); +INSERT INTO product_slots VALUES(73,327); +INSERT INTO product_slots VALUES(73,328); +INSERT INTO product_slots VALUES(73,329); +INSERT INTO product_slots VALUES(73,330); +INSERT INTO product_slots VALUES(73,331); +INSERT INTO product_slots VALUES(73,332); +INSERT INTO product_slots VALUES(73,333); +INSERT INTO product_slots VALUES(73,334); +INSERT INTO product_slots VALUES(73,335); +INSERT INTO product_slots VALUES(73,336); +INSERT INTO product_slots VALUES(73,337); +INSERT INTO product_slots VALUES(73,338); +INSERT INTO product_slots VALUES(73,339); +INSERT INTO product_slots VALUES(73,340); +INSERT INTO product_slots VALUES(73,341); +INSERT INTO product_slots VALUES(73,342); +INSERT INTO product_slots VALUES(73,343); +INSERT INTO product_slots VALUES(73,344); +INSERT INTO product_slots VALUES(73,345); +INSERT INTO product_slots VALUES(73,346); +INSERT INTO product_slots VALUES(73,347); +INSERT INTO product_slots VALUES(73,348); +INSERT INTO product_slots VALUES(73,349); +INSERT INTO product_slots VALUES(73,350); +INSERT INTO product_slots VALUES(73,351); +INSERT INTO product_slots VALUES(73,352); +INSERT INTO product_slots VALUES(73,353); +INSERT INTO product_slots VALUES(73,354); +INSERT INTO product_slots VALUES(73,355); +INSERT INTO product_slots VALUES(73,356); +INSERT INTO product_slots VALUES(73,357); +INSERT INTO product_slots VALUES(73,358); +INSERT INTO product_slots VALUES(73,359); +INSERT INTO product_slots VALUES(73,360); +INSERT INTO product_slots VALUES(73,361); +INSERT INTO product_slots VALUES(73,362); +INSERT INTO product_slots VALUES(73,363); +INSERT INTO product_slots VALUES(73,364); +INSERT INTO product_slots VALUES(73,365); +INSERT INTO product_slots VALUES(73,366); +INSERT INTO product_slots VALUES(73,367); +INSERT INTO product_slots VALUES(73,368); +INSERT INTO product_slots VALUES(73,369); +INSERT INTO product_slots VALUES(73,370); +INSERT INTO product_slots VALUES(73,371); +INSERT INTO product_slots VALUES(73,372); +INSERT INTO product_slots VALUES(73,373); +INSERT INTO product_slots VALUES(73,374); +INSERT INTO product_slots VALUES(73,375); +INSERT INTO product_slots VALUES(73,376); +INSERT INTO product_slots VALUES(73,377); +INSERT INTO product_slots VALUES(73,378); +INSERT INTO product_slots VALUES(73,379); +INSERT INTO product_slots VALUES(73,380); +INSERT INTO product_slots VALUES(73,381); +INSERT INTO product_slots VALUES(73,382); +INSERT INTO product_slots VALUES(73,383); +INSERT INTO product_slots VALUES(73,384); +INSERT INTO product_slots VALUES(73,385); +INSERT INTO product_slots VALUES(73,386); +INSERT INTO product_slots VALUES(73,387); +INSERT INTO product_slots VALUES(73,388); +INSERT INTO product_slots VALUES(73,389); +INSERT INTO product_slots VALUES(73,390); +INSERT INTO product_slots VALUES(73,391); +INSERT INTO product_slots VALUES(73,392); +INSERT INTO product_slots VALUES(73,393); +INSERT INTO product_slots VALUES(73,394); +INSERT INTO product_slots VALUES(73,395); +INSERT INTO product_slots VALUES(73,396); +INSERT INTO product_slots VALUES(73,397); +INSERT INTO product_slots VALUES(73,398); +INSERT INTO product_slots VALUES(73,399); +INSERT INTO product_slots VALUES(73,400); +INSERT INTO product_slots VALUES(73,401); +INSERT INTO product_slots VALUES(73,402); +INSERT INTO product_slots VALUES(73,403); +INSERT INTO product_slots VALUES(73,404); +INSERT INTO product_slots VALUES(73,405); +INSERT INTO product_slots VALUES(73,406); +INSERT INTO product_slots VALUES(73,407); +INSERT INTO product_slots VALUES(73,408); +INSERT INTO product_slots VALUES(73,409); +INSERT INTO product_slots VALUES(73,410); +INSERT INTO product_slots VALUES(73,411); +INSERT INTO product_slots VALUES(73,412); +INSERT INTO product_slots VALUES(73,413); +INSERT INTO product_slots VALUES(73,414); +INSERT INTO product_slots VALUES(73,415); +INSERT INTO product_slots VALUES(73,416); +INSERT INTO product_slots VALUES(73,417); +INSERT INTO product_slots VALUES(73,418); +INSERT INTO product_slots VALUES(73,419); +INSERT INTO product_slots VALUES(73,420); +INSERT INTO product_slots VALUES(73,421); +INSERT INTO product_slots VALUES(73,422); +INSERT INTO product_slots VALUES(73,423); +INSERT INTO product_slots VALUES(73,424); +INSERT INTO product_slots VALUES(73,425); +INSERT INTO product_slots VALUES(73,426); +INSERT INTO product_slots VALUES(73,427); +INSERT INTO product_slots VALUES(73,428); +INSERT INTO product_slots VALUES(73,429); +INSERT INTO product_slots VALUES(73,430); +INSERT INTO product_slots VALUES(73,431); +INSERT INTO product_slots VALUES(73,432); +INSERT INTO product_slots VALUES(73,433); +INSERT INTO product_slots VALUES(73,434); +INSERT INTO product_slots VALUES(73,435); +INSERT INTO product_slots VALUES(73,436); +INSERT INTO product_slots VALUES(73,437); +INSERT INTO product_slots VALUES(73,438); +INSERT INTO product_slots VALUES(73,439); +INSERT INTO product_slots VALUES(73,440); +INSERT INTO product_slots VALUES(73,441); +INSERT INTO product_slots VALUES(73,442); +INSERT INTO product_slots VALUES(73,443); +INSERT INTO product_slots VALUES(73,444); +INSERT INTO product_slots VALUES(73,445); +INSERT INTO product_slots VALUES(73,446); +INSERT INTO product_slots VALUES(73,447); +INSERT INTO product_slots VALUES(73,448); +INSERT INTO product_slots VALUES(73,449); +INSERT INTO product_slots VALUES(73,450); +INSERT INTO product_slots VALUES(73,451); +INSERT INTO product_slots VALUES(73,452); +INSERT INTO product_slots VALUES(73,453); +INSERT INTO product_slots VALUES(73,455); +INSERT INTO product_slots VALUES(73,456); +INSERT INTO product_slots VALUES(73,457); +INSERT INTO product_slots VALUES(73,458); +INSERT INTO product_slots VALUES(73,459); +INSERT INTO product_slots VALUES(73,460); +INSERT INTO product_slots VALUES(73,461); +INSERT INTO product_slots VALUES(73,462); +INSERT INTO product_slots VALUES(73,463); +INSERT INTO product_slots VALUES(73,464); +INSERT INTO product_slots VALUES(73,465); +INSERT INTO product_slots VALUES(73,466); +INSERT INTO product_slots VALUES(73,467); +INSERT INTO product_slots VALUES(73,468); +INSERT INTO product_slots VALUES(73,469); +INSERT INTO product_slots VALUES(73,470); +INSERT INTO product_slots VALUES(73,471); INSERT INTO product_slots VALUES(74,39); INSERT INTO product_slots VALUES(74,44); INSERT INTO product_slots VALUES(74,46); @@ -16988,8 +33117,40 @@ INSERT INTO product_slots VALUES(74,241); INSERT INTO product_slots VALUES(74,242); INSERT INTO product_slots VALUES(74,243); INSERT INTO product_slots VALUES(74,244); +INSERT INTO product_slots VALUES(74,245); +INSERT INTO product_slots VALUES(74,246); +INSERT INTO product_slots VALUES(74,247); +INSERT INTO product_slots VALUES(74,248); +INSERT INTO product_slots VALUES(74,249); +INSERT INTO product_slots VALUES(74,250); +INSERT INTO product_slots VALUES(74,251); +INSERT INTO product_slots VALUES(74,252); +INSERT INTO product_slots VALUES(74,253); +INSERT INTO product_slots VALUES(74,254); +INSERT INTO product_slots VALUES(74,255); +INSERT INTO product_slots VALUES(74,256); +INSERT INTO product_slots VALUES(74,257); +INSERT INTO product_slots VALUES(74,258); +INSERT INTO product_slots VALUES(74,259); +INSERT INTO product_slots VALUES(74,260); +INSERT INTO product_slots VALUES(74,261); +INSERT INTO product_slots VALUES(74,262); +INSERT INTO product_slots VALUES(74,263); +INSERT INTO product_slots VALUES(74,264); +INSERT INTO product_slots VALUES(74,265); +INSERT INTO product_slots VALUES(74,266); +INSERT INTO product_slots VALUES(74,267); +INSERT INTO product_slots VALUES(74,268); +INSERT INTO product_slots VALUES(74,269); +INSERT INTO product_slots VALUES(74,270); +INSERT INTO product_slots VALUES(74,271); +INSERT INTO product_slots VALUES(74,272); +INSERT INTO product_slots VALUES(74,273); INSERT INTO product_slots VALUES(74,274); INSERT INTO product_slots VALUES(74,275); +INSERT INTO product_slots VALUES(74,276); +INSERT INTO product_slots VALUES(74,277); +INSERT INTO product_slots VALUES(74,278); INSERT INTO product_slots VALUES(74,279); INSERT INTO product_slots VALUES(74,280); INSERT INTO product_slots VALUES(74,281); @@ -16999,6 +33160,190 @@ INSERT INTO product_slots VALUES(74,284); INSERT INTO product_slots VALUES(74,285); INSERT INTO product_slots VALUES(74,286); INSERT INTO product_slots VALUES(74,287); +INSERT INTO product_slots VALUES(74,288); +INSERT INTO product_slots VALUES(74,289); +INSERT INTO product_slots VALUES(74,290); +INSERT INTO product_slots VALUES(74,291); +INSERT INTO product_slots VALUES(74,292); +INSERT INTO product_slots VALUES(74,293); +INSERT INTO product_slots VALUES(74,294); +INSERT INTO product_slots VALUES(74,295); +INSERT INTO product_slots VALUES(74,296); +INSERT INTO product_slots VALUES(74,297); +INSERT INTO product_slots VALUES(74,298); +INSERT INTO product_slots VALUES(74,299); +INSERT INTO product_slots VALUES(74,300); +INSERT INTO product_slots VALUES(74,301); +INSERT INTO product_slots VALUES(74,302); +INSERT INTO product_slots VALUES(74,303); +INSERT INTO product_slots VALUES(74,304); +INSERT INTO product_slots VALUES(74,305); +INSERT INTO product_slots VALUES(74,306); +INSERT INTO product_slots VALUES(74,307); +INSERT INTO product_slots VALUES(74,308); +INSERT INTO product_slots VALUES(74,309); +INSERT INTO product_slots VALUES(74,310); +INSERT INTO product_slots VALUES(74,311); +INSERT INTO product_slots VALUES(74,312); +INSERT INTO product_slots VALUES(74,313); +INSERT INTO product_slots VALUES(74,314); +INSERT INTO product_slots VALUES(74,315); +INSERT INTO product_slots VALUES(74,316); +INSERT INTO product_slots VALUES(74,317); +INSERT INTO product_slots VALUES(74,318); +INSERT INTO product_slots VALUES(74,319); +INSERT INTO product_slots VALUES(74,320); +INSERT INTO product_slots VALUES(74,321); +INSERT INTO product_slots VALUES(74,322); +INSERT INTO product_slots VALUES(74,323); +INSERT INTO product_slots VALUES(74,324); +INSERT INTO product_slots VALUES(74,325); +INSERT INTO product_slots VALUES(74,326); +INSERT INTO product_slots VALUES(74,327); +INSERT INTO product_slots VALUES(74,328); +INSERT INTO product_slots VALUES(74,329); +INSERT INTO product_slots VALUES(74,330); +INSERT INTO product_slots VALUES(74,331); +INSERT INTO product_slots VALUES(74,332); +INSERT INTO product_slots VALUES(74,333); +INSERT INTO product_slots VALUES(74,334); +INSERT INTO product_slots VALUES(74,335); +INSERT INTO product_slots VALUES(74,336); +INSERT INTO product_slots VALUES(74,337); +INSERT INTO product_slots VALUES(74,338); +INSERT INTO product_slots VALUES(74,339); +INSERT INTO product_slots VALUES(74,340); +INSERT INTO product_slots VALUES(74,341); +INSERT INTO product_slots VALUES(74,342); +INSERT INTO product_slots VALUES(74,343); +INSERT INTO product_slots VALUES(74,344); +INSERT INTO product_slots VALUES(74,345); +INSERT INTO product_slots VALUES(74,346); +INSERT INTO product_slots VALUES(74,347); +INSERT INTO product_slots VALUES(74,348); +INSERT INTO product_slots VALUES(74,349); +INSERT INTO product_slots VALUES(74,350); +INSERT INTO product_slots VALUES(74,351); +INSERT INTO product_slots VALUES(74,352); +INSERT INTO product_slots VALUES(74,353); +INSERT INTO product_slots VALUES(74,354); +INSERT INTO product_slots VALUES(74,355); +INSERT INTO product_slots VALUES(74,356); +INSERT INTO product_slots VALUES(74,357); +INSERT INTO product_slots VALUES(74,358); +INSERT INTO product_slots VALUES(74,359); +INSERT INTO product_slots VALUES(74,360); +INSERT INTO product_slots VALUES(74,361); +INSERT INTO product_slots VALUES(74,362); +INSERT INTO product_slots VALUES(74,363); +INSERT INTO product_slots VALUES(74,364); +INSERT INTO product_slots VALUES(74,365); +INSERT INTO product_slots VALUES(74,366); +INSERT INTO product_slots VALUES(74,367); +INSERT INTO product_slots VALUES(74,368); +INSERT INTO product_slots VALUES(74,369); +INSERT INTO product_slots VALUES(74,370); +INSERT INTO product_slots VALUES(74,371); +INSERT INTO product_slots VALUES(74,372); +INSERT INTO product_slots VALUES(74,373); +INSERT INTO product_slots VALUES(74,374); +INSERT INTO product_slots VALUES(74,375); +INSERT INTO product_slots VALUES(74,376); +INSERT INTO product_slots VALUES(74,377); +INSERT INTO product_slots VALUES(74,378); +INSERT INTO product_slots VALUES(74,379); +INSERT INTO product_slots VALUES(74,380); +INSERT INTO product_slots VALUES(74,381); +INSERT INTO product_slots VALUES(74,382); +INSERT INTO product_slots VALUES(74,383); +INSERT INTO product_slots VALUES(74,384); +INSERT INTO product_slots VALUES(74,385); +INSERT INTO product_slots VALUES(74,386); +INSERT INTO product_slots VALUES(74,387); +INSERT INTO product_slots VALUES(74,388); +INSERT INTO product_slots VALUES(74,389); +INSERT INTO product_slots VALUES(74,390); +INSERT INTO product_slots VALUES(74,391); +INSERT INTO product_slots VALUES(74,392); +INSERT INTO product_slots VALUES(74,393); +INSERT INTO product_slots VALUES(74,394); +INSERT INTO product_slots VALUES(74,395); +INSERT INTO product_slots VALUES(74,396); +INSERT INTO product_slots VALUES(74,397); +INSERT INTO product_slots VALUES(74,398); +INSERT INTO product_slots VALUES(74,399); +INSERT INTO product_slots VALUES(74,400); +INSERT INTO product_slots VALUES(74,401); +INSERT INTO product_slots VALUES(74,402); +INSERT INTO product_slots VALUES(74,403); +INSERT INTO product_slots VALUES(74,404); +INSERT INTO product_slots VALUES(74,405); +INSERT INTO product_slots VALUES(74,406); +INSERT INTO product_slots VALUES(74,407); +INSERT INTO product_slots VALUES(74,408); +INSERT INTO product_slots VALUES(74,409); +INSERT INTO product_slots VALUES(74,410); +INSERT INTO product_slots VALUES(74,411); +INSERT INTO product_slots VALUES(74,412); +INSERT INTO product_slots VALUES(74,413); +INSERT INTO product_slots VALUES(74,414); +INSERT INTO product_slots VALUES(74,415); +INSERT INTO product_slots VALUES(74,416); +INSERT INTO product_slots VALUES(74,417); +INSERT INTO product_slots VALUES(74,418); +INSERT INTO product_slots VALUES(74,419); +INSERT INTO product_slots VALUES(74,420); +INSERT INTO product_slots VALUES(74,421); +INSERT INTO product_slots VALUES(74,422); +INSERT INTO product_slots VALUES(74,423); +INSERT INTO product_slots VALUES(74,424); +INSERT INTO product_slots VALUES(74,425); +INSERT INTO product_slots VALUES(74,426); +INSERT INTO product_slots VALUES(74,427); +INSERT INTO product_slots VALUES(74,428); +INSERT INTO product_slots VALUES(74,429); +INSERT INTO product_slots VALUES(74,430); +INSERT INTO product_slots VALUES(74,431); +INSERT INTO product_slots VALUES(74,432); +INSERT INTO product_slots VALUES(74,433); +INSERT INTO product_slots VALUES(74,434); +INSERT INTO product_slots VALUES(74,435); +INSERT INTO product_slots VALUES(74,436); +INSERT INTO product_slots VALUES(74,437); +INSERT INTO product_slots VALUES(74,438); +INSERT INTO product_slots VALUES(74,439); +INSERT INTO product_slots VALUES(74,440); +INSERT INTO product_slots VALUES(74,441); +INSERT INTO product_slots VALUES(74,442); +INSERT INTO product_slots VALUES(74,443); +INSERT INTO product_slots VALUES(74,444); +INSERT INTO product_slots VALUES(74,445); +INSERT INTO product_slots VALUES(74,446); +INSERT INTO product_slots VALUES(74,447); +INSERT INTO product_slots VALUES(74,448); +INSERT INTO product_slots VALUES(74,449); +INSERT INTO product_slots VALUES(74,450); +INSERT INTO product_slots VALUES(74,451); +INSERT INTO product_slots VALUES(74,452); +INSERT INTO product_slots VALUES(74,453); +INSERT INTO product_slots VALUES(74,454); +INSERT INTO product_slots VALUES(74,455); +INSERT INTO product_slots VALUES(74,456); +INSERT INTO product_slots VALUES(74,457); +INSERT INTO product_slots VALUES(74,458); +INSERT INTO product_slots VALUES(74,459); +INSERT INTO product_slots VALUES(74,460); +INSERT INTO product_slots VALUES(74,461); +INSERT INTO product_slots VALUES(74,462); +INSERT INTO product_slots VALUES(74,463); +INSERT INTO product_slots VALUES(74,464); +INSERT INTO product_slots VALUES(74,465); +INSERT INTO product_slots VALUES(74,466); +INSERT INTO product_slots VALUES(74,467); +INSERT INTO product_slots VALUES(74,468); +INSERT INTO product_slots VALUES(74,469); +INSERT INTO product_slots VALUES(74,470); +INSERT INTO product_slots VALUES(74,471); INSERT INTO product_slots VALUES(75,39); INSERT INTO product_slots VALUES(75,43); INSERT INTO product_slots VALUES(75,45); @@ -17163,8 +33508,40 @@ INSERT INTO product_slots VALUES(75,241); INSERT INTO product_slots VALUES(75,242); INSERT INTO product_slots VALUES(75,243); INSERT INTO product_slots VALUES(75,244); +INSERT INTO product_slots VALUES(75,245); +INSERT INTO product_slots VALUES(75,246); +INSERT INTO product_slots VALUES(75,247); +INSERT INTO product_slots VALUES(75,248); +INSERT INTO product_slots VALUES(75,249); +INSERT INTO product_slots VALUES(75,250); +INSERT INTO product_slots VALUES(75,251); +INSERT INTO product_slots VALUES(75,252); +INSERT INTO product_slots VALUES(75,253); +INSERT INTO product_slots VALUES(75,254); +INSERT INTO product_slots VALUES(75,255); +INSERT INTO product_slots VALUES(75,256); +INSERT INTO product_slots VALUES(75,257); +INSERT INTO product_slots VALUES(75,258); +INSERT INTO product_slots VALUES(75,259); +INSERT INTO product_slots VALUES(75,260); +INSERT INTO product_slots VALUES(75,261); +INSERT INTO product_slots VALUES(75,262); +INSERT INTO product_slots VALUES(75,263); +INSERT INTO product_slots VALUES(75,264); +INSERT INTO product_slots VALUES(75,265); +INSERT INTO product_slots VALUES(75,266); +INSERT INTO product_slots VALUES(75,267); +INSERT INTO product_slots VALUES(75,268); +INSERT INTO product_slots VALUES(75,269); +INSERT INTO product_slots VALUES(75,270); +INSERT INTO product_slots VALUES(75,271); +INSERT INTO product_slots VALUES(75,272); +INSERT INTO product_slots VALUES(75,273); INSERT INTO product_slots VALUES(75,274); INSERT INTO product_slots VALUES(75,275); +INSERT INTO product_slots VALUES(75,276); +INSERT INTO product_slots VALUES(75,277); +INSERT INTO product_slots VALUES(75,278); INSERT INTO product_slots VALUES(75,279); INSERT INTO product_slots VALUES(75,280); INSERT INTO product_slots VALUES(75,281); @@ -17174,6 +33551,188 @@ INSERT INTO product_slots VALUES(75,284); INSERT INTO product_slots VALUES(75,285); INSERT INTO product_slots VALUES(75,286); INSERT INTO product_slots VALUES(75,287); +INSERT INTO product_slots VALUES(75,288); +INSERT INTO product_slots VALUES(75,289); +INSERT INTO product_slots VALUES(75,290); +INSERT INTO product_slots VALUES(75,291); +INSERT INTO product_slots VALUES(75,292); +INSERT INTO product_slots VALUES(75,293); +INSERT INTO product_slots VALUES(75,294); +INSERT INTO product_slots VALUES(75,295); +INSERT INTO product_slots VALUES(75,296); +INSERT INTO product_slots VALUES(75,297); +INSERT INTO product_slots VALUES(75,298); +INSERT INTO product_slots VALUES(75,299); +INSERT INTO product_slots VALUES(75,300); +INSERT INTO product_slots VALUES(75,301); +INSERT INTO product_slots VALUES(75,302); +INSERT INTO product_slots VALUES(75,303); +INSERT INTO product_slots VALUES(75,304); +INSERT INTO product_slots VALUES(75,305); +INSERT INTO product_slots VALUES(75,306); +INSERT INTO product_slots VALUES(75,307); +INSERT INTO product_slots VALUES(75,308); +INSERT INTO product_slots VALUES(75,309); +INSERT INTO product_slots VALUES(75,310); +INSERT INTO product_slots VALUES(75,311); +INSERT INTO product_slots VALUES(75,312); +INSERT INTO product_slots VALUES(75,313); +INSERT INTO product_slots VALUES(75,314); +INSERT INTO product_slots VALUES(75,315); +INSERT INTO product_slots VALUES(75,316); +INSERT INTO product_slots VALUES(75,317); +INSERT INTO product_slots VALUES(75,318); +INSERT INTO product_slots VALUES(75,319); +INSERT INTO product_slots VALUES(75,320); +INSERT INTO product_slots VALUES(75,321); +INSERT INTO product_slots VALUES(75,322); +INSERT INTO product_slots VALUES(75,323); +INSERT INTO product_slots VALUES(75,324); +INSERT INTO product_slots VALUES(75,325); +INSERT INTO product_slots VALUES(75,326); +INSERT INTO product_slots VALUES(75,327); +INSERT INTO product_slots VALUES(75,328); +INSERT INTO product_slots VALUES(75,329); +INSERT INTO product_slots VALUES(75,330); +INSERT INTO product_slots VALUES(75,331); +INSERT INTO product_slots VALUES(75,332); +INSERT INTO product_slots VALUES(75,333); +INSERT INTO product_slots VALUES(75,334); +INSERT INTO product_slots VALUES(75,335); +INSERT INTO product_slots VALUES(75,336); +INSERT INTO product_slots VALUES(75,337); +INSERT INTO product_slots VALUES(75,338); +INSERT INTO product_slots VALUES(75,339); +INSERT INTO product_slots VALUES(75,340); +INSERT INTO product_slots VALUES(75,341); +INSERT INTO product_slots VALUES(75,342); +INSERT INTO product_slots VALUES(75,343); +INSERT INTO product_slots VALUES(75,344); +INSERT INTO product_slots VALUES(75,345); +INSERT INTO product_slots VALUES(75,346); +INSERT INTO product_slots VALUES(75,347); +INSERT INTO product_slots VALUES(75,348); +INSERT INTO product_slots VALUES(75,349); +INSERT INTO product_slots VALUES(75,350); +INSERT INTO product_slots VALUES(75,351); +INSERT INTO product_slots VALUES(75,352); +INSERT INTO product_slots VALUES(75,353); +INSERT INTO product_slots VALUES(75,354); +INSERT INTO product_slots VALUES(75,355); +INSERT INTO product_slots VALUES(75,356); +INSERT INTO product_slots VALUES(75,357); +INSERT INTO product_slots VALUES(75,358); +INSERT INTO product_slots VALUES(75,359); +INSERT INTO product_slots VALUES(75,360); +INSERT INTO product_slots VALUES(75,361); +INSERT INTO product_slots VALUES(75,362); +INSERT INTO product_slots VALUES(75,363); +INSERT INTO product_slots VALUES(75,364); +INSERT INTO product_slots VALUES(75,365); +INSERT INTO product_slots VALUES(75,366); +INSERT INTO product_slots VALUES(75,367); +INSERT INTO product_slots VALUES(75,368); +INSERT INTO product_slots VALUES(75,369); +INSERT INTO product_slots VALUES(75,370); +INSERT INTO product_slots VALUES(75,371); +INSERT INTO product_slots VALUES(75,372); +INSERT INTO product_slots VALUES(75,373); +INSERT INTO product_slots VALUES(75,374); +INSERT INTO product_slots VALUES(75,375); +INSERT INTO product_slots VALUES(75,376); +INSERT INTO product_slots VALUES(75,377); +INSERT INTO product_slots VALUES(75,378); +INSERT INTO product_slots VALUES(75,379); +INSERT INTO product_slots VALUES(75,380); +INSERT INTO product_slots VALUES(75,381); +INSERT INTO product_slots VALUES(75,382); +INSERT INTO product_slots VALUES(75,383); +INSERT INTO product_slots VALUES(75,384); +INSERT INTO product_slots VALUES(75,385); +INSERT INTO product_slots VALUES(75,386); +INSERT INTO product_slots VALUES(75,387); +INSERT INTO product_slots VALUES(75,388); +INSERT INTO product_slots VALUES(75,389); +INSERT INTO product_slots VALUES(75,390); +INSERT INTO product_slots VALUES(75,391); +INSERT INTO product_slots VALUES(75,392); +INSERT INTO product_slots VALUES(75,393); +INSERT INTO product_slots VALUES(75,394); +INSERT INTO product_slots VALUES(75,395); +INSERT INTO product_slots VALUES(75,396); +INSERT INTO product_slots VALUES(75,397); +INSERT INTO product_slots VALUES(75,398); +INSERT INTO product_slots VALUES(75,399); +INSERT INTO product_slots VALUES(75,400); +INSERT INTO product_slots VALUES(75,401); +INSERT INTO product_slots VALUES(75,402); +INSERT INTO product_slots VALUES(75,403); +INSERT INTO product_slots VALUES(75,404); +INSERT INTO product_slots VALUES(75,405); +INSERT INTO product_slots VALUES(75,406); +INSERT INTO product_slots VALUES(75,407); +INSERT INTO product_slots VALUES(75,408); +INSERT INTO product_slots VALUES(75,409); +INSERT INTO product_slots VALUES(75,410); +INSERT INTO product_slots VALUES(75,411); +INSERT INTO product_slots VALUES(75,412); +INSERT INTO product_slots VALUES(75,413); +INSERT INTO product_slots VALUES(75,414); +INSERT INTO product_slots VALUES(75,415); +INSERT INTO product_slots VALUES(75,416); +INSERT INTO product_slots VALUES(75,417); +INSERT INTO product_slots VALUES(75,418); +INSERT INTO product_slots VALUES(75,419); +INSERT INTO product_slots VALUES(75,420); +INSERT INTO product_slots VALUES(75,421); +INSERT INTO product_slots VALUES(75,422); +INSERT INTO product_slots VALUES(75,423); +INSERT INTO product_slots VALUES(75,424); +INSERT INTO product_slots VALUES(75,425); +INSERT INTO product_slots VALUES(75,426); +INSERT INTO product_slots VALUES(75,427); +INSERT INTO product_slots VALUES(75,428); +INSERT INTO product_slots VALUES(75,429); +INSERT INTO product_slots VALUES(75,432); +INSERT INTO product_slots VALUES(75,433); +INSERT INTO product_slots VALUES(75,434); +INSERT INTO product_slots VALUES(75,435); +INSERT INTO product_slots VALUES(75,436); +INSERT INTO product_slots VALUES(75,437); +INSERT INTO product_slots VALUES(75,438); +INSERT INTO product_slots VALUES(75,439); +INSERT INTO product_slots VALUES(75,440); +INSERT INTO product_slots VALUES(75,441); +INSERT INTO product_slots VALUES(75,442); +INSERT INTO product_slots VALUES(75,443); +INSERT INTO product_slots VALUES(75,444); +INSERT INTO product_slots VALUES(75,445); +INSERT INTO product_slots VALUES(75,446); +INSERT INTO product_slots VALUES(75,447); +INSERT INTO product_slots VALUES(75,448); +INSERT INTO product_slots VALUES(75,449); +INSERT INTO product_slots VALUES(75,450); +INSERT INTO product_slots VALUES(75,451); +INSERT INTO product_slots VALUES(75,452); +INSERT INTO product_slots VALUES(75,453); +INSERT INTO product_slots VALUES(75,454); +INSERT INTO product_slots VALUES(75,455); +INSERT INTO product_slots VALUES(75,456); +INSERT INTO product_slots VALUES(75,457); +INSERT INTO product_slots VALUES(75,458); +INSERT INTO product_slots VALUES(75,459); +INSERT INTO product_slots VALUES(75,460); +INSERT INTO product_slots VALUES(75,461); +INSERT INTO product_slots VALUES(75,462); +INSERT INTO product_slots VALUES(75,463); +INSERT INTO product_slots VALUES(75,464); +INSERT INTO product_slots VALUES(75,465); +INSERT INTO product_slots VALUES(75,466); +INSERT INTO product_slots VALUES(75,467); +INSERT INTO product_slots VALUES(75,468); +INSERT INTO product_slots VALUES(75,469); +INSERT INTO product_slots VALUES(75,470); +INSERT INTO product_slots VALUES(75,471); INSERT INTO product_slots VALUES(76,39); INSERT INTO product_slots VALUES(76,41); INSERT INTO product_slots VALUES(76,43); @@ -17378,8 +33937,40 @@ INSERT INTO product_slots VALUES(76,241); INSERT INTO product_slots VALUES(76,242); INSERT INTO product_slots VALUES(76,243); INSERT INTO product_slots VALUES(76,244); +INSERT INTO product_slots VALUES(76,245); +INSERT INTO product_slots VALUES(76,246); +INSERT INTO product_slots VALUES(76,247); +INSERT INTO product_slots VALUES(76,248); +INSERT INTO product_slots VALUES(76,249); +INSERT INTO product_slots VALUES(76,250); +INSERT INTO product_slots VALUES(76,251); +INSERT INTO product_slots VALUES(76,252); +INSERT INTO product_slots VALUES(76,253); +INSERT INTO product_slots VALUES(76,254); +INSERT INTO product_slots VALUES(76,255); +INSERT INTO product_slots VALUES(76,256); +INSERT INTO product_slots VALUES(76,257); +INSERT INTO product_slots VALUES(76,258); +INSERT INTO product_slots VALUES(76,259); +INSERT INTO product_slots VALUES(76,260); +INSERT INTO product_slots VALUES(76,261); +INSERT INTO product_slots VALUES(76,262); +INSERT INTO product_slots VALUES(76,263); +INSERT INTO product_slots VALUES(76,264); +INSERT INTO product_slots VALUES(76,265); +INSERT INTO product_slots VALUES(76,266); +INSERT INTO product_slots VALUES(76,267); +INSERT INTO product_slots VALUES(76,268); +INSERT INTO product_slots VALUES(76,269); +INSERT INTO product_slots VALUES(76,270); +INSERT INTO product_slots VALUES(76,271); +INSERT INTO product_slots VALUES(76,272); +INSERT INTO product_slots VALUES(76,273); INSERT INTO product_slots VALUES(76,274); INSERT INTO product_slots VALUES(76,275); +INSERT INTO product_slots VALUES(76,276); +INSERT INTO product_slots VALUES(76,277); +INSERT INTO product_slots VALUES(76,278); INSERT INTO product_slots VALUES(76,279); INSERT INTO product_slots VALUES(76,280); INSERT INTO product_slots VALUES(76,281); @@ -17389,6 +33980,190 @@ INSERT INTO product_slots VALUES(76,284); INSERT INTO product_slots VALUES(76,285); INSERT INTO product_slots VALUES(76,286); INSERT INTO product_slots VALUES(76,287); +INSERT INTO product_slots VALUES(76,288); +INSERT INTO product_slots VALUES(76,289); +INSERT INTO product_slots VALUES(76,290); +INSERT INTO product_slots VALUES(76,291); +INSERT INTO product_slots VALUES(76,292); +INSERT INTO product_slots VALUES(76,293); +INSERT INTO product_slots VALUES(76,294); +INSERT INTO product_slots VALUES(76,295); +INSERT INTO product_slots VALUES(76,296); +INSERT INTO product_slots VALUES(76,297); +INSERT INTO product_slots VALUES(76,298); +INSERT INTO product_slots VALUES(76,299); +INSERT INTO product_slots VALUES(76,300); +INSERT INTO product_slots VALUES(76,301); +INSERT INTO product_slots VALUES(76,302); +INSERT INTO product_slots VALUES(76,303); +INSERT INTO product_slots VALUES(76,304); +INSERT INTO product_slots VALUES(76,305); +INSERT INTO product_slots VALUES(76,306); +INSERT INTO product_slots VALUES(76,307); +INSERT INTO product_slots VALUES(76,308); +INSERT INTO product_slots VALUES(76,309); +INSERT INTO product_slots VALUES(76,310); +INSERT INTO product_slots VALUES(76,311); +INSERT INTO product_slots VALUES(76,312); +INSERT INTO product_slots VALUES(76,313); +INSERT INTO product_slots VALUES(76,314); +INSERT INTO product_slots VALUES(76,315); +INSERT INTO product_slots VALUES(76,316); +INSERT INTO product_slots VALUES(76,317); +INSERT INTO product_slots VALUES(76,318); +INSERT INTO product_slots VALUES(76,319); +INSERT INTO product_slots VALUES(76,320); +INSERT INTO product_slots VALUES(76,321); +INSERT INTO product_slots VALUES(76,322); +INSERT INTO product_slots VALUES(76,323); +INSERT INTO product_slots VALUES(76,324); +INSERT INTO product_slots VALUES(76,325); +INSERT INTO product_slots VALUES(76,326); +INSERT INTO product_slots VALUES(76,327); +INSERT INTO product_slots VALUES(76,328); +INSERT INTO product_slots VALUES(76,329); +INSERT INTO product_slots VALUES(76,330); +INSERT INTO product_slots VALUES(76,331); +INSERT INTO product_slots VALUES(76,332); +INSERT INTO product_slots VALUES(76,333); +INSERT INTO product_slots VALUES(76,334); +INSERT INTO product_slots VALUES(76,335); +INSERT INTO product_slots VALUES(76,336); +INSERT INTO product_slots VALUES(76,337); +INSERT INTO product_slots VALUES(76,338); +INSERT INTO product_slots VALUES(76,339); +INSERT INTO product_slots VALUES(76,340); +INSERT INTO product_slots VALUES(76,341); +INSERT INTO product_slots VALUES(76,342); +INSERT INTO product_slots VALUES(76,343); +INSERT INTO product_slots VALUES(76,344); +INSERT INTO product_slots VALUES(76,345); +INSERT INTO product_slots VALUES(76,346); +INSERT INTO product_slots VALUES(76,347); +INSERT INTO product_slots VALUES(76,348); +INSERT INTO product_slots VALUES(76,349); +INSERT INTO product_slots VALUES(76,350); +INSERT INTO product_slots VALUES(76,351); +INSERT INTO product_slots VALUES(76,352); +INSERT INTO product_slots VALUES(76,353); +INSERT INTO product_slots VALUES(76,354); +INSERT INTO product_slots VALUES(76,355); +INSERT INTO product_slots VALUES(76,356); +INSERT INTO product_slots VALUES(76,357); +INSERT INTO product_slots VALUES(76,358); +INSERT INTO product_slots VALUES(76,359); +INSERT INTO product_slots VALUES(76,360); +INSERT INTO product_slots VALUES(76,361); +INSERT INTO product_slots VALUES(76,362); +INSERT INTO product_slots VALUES(76,363); +INSERT INTO product_slots VALUES(76,364); +INSERT INTO product_slots VALUES(76,365); +INSERT INTO product_slots VALUES(76,366); +INSERT INTO product_slots VALUES(76,367); +INSERT INTO product_slots VALUES(76,368); +INSERT INTO product_slots VALUES(76,369); +INSERT INTO product_slots VALUES(76,370); +INSERT INTO product_slots VALUES(76,371); +INSERT INTO product_slots VALUES(76,372); +INSERT INTO product_slots VALUES(76,373); +INSERT INTO product_slots VALUES(76,374); +INSERT INTO product_slots VALUES(76,375); +INSERT INTO product_slots VALUES(76,376); +INSERT INTO product_slots VALUES(76,377); +INSERT INTO product_slots VALUES(76,378); +INSERT INTO product_slots VALUES(76,379); +INSERT INTO product_slots VALUES(76,380); +INSERT INTO product_slots VALUES(76,381); +INSERT INTO product_slots VALUES(76,382); +INSERT INTO product_slots VALUES(76,383); +INSERT INTO product_slots VALUES(76,384); +INSERT INTO product_slots VALUES(76,385); +INSERT INTO product_slots VALUES(76,386); +INSERT INTO product_slots VALUES(76,387); +INSERT INTO product_slots VALUES(76,388); +INSERT INTO product_slots VALUES(76,389); +INSERT INTO product_slots VALUES(76,390); +INSERT INTO product_slots VALUES(76,391); +INSERT INTO product_slots VALUES(76,392); +INSERT INTO product_slots VALUES(76,393); +INSERT INTO product_slots VALUES(76,394); +INSERT INTO product_slots VALUES(76,395); +INSERT INTO product_slots VALUES(76,396); +INSERT INTO product_slots VALUES(76,397); +INSERT INTO product_slots VALUES(76,398); +INSERT INTO product_slots VALUES(76,399); +INSERT INTO product_slots VALUES(76,400); +INSERT INTO product_slots VALUES(76,401); +INSERT INTO product_slots VALUES(76,402); +INSERT INTO product_slots VALUES(76,403); +INSERT INTO product_slots VALUES(76,404); +INSERT INTO product_slots VALUES(76,405); +INSERT INTO product_slots VALUES(76,406); +INSERT INTO product_slots VALUES(76,407); +INSERT INTO product_slots VALUES(76,408); +INSERT INTO product_slots VALUES(76,409); +INSERT INTO product_slots VALUES(76,410); +INSERT INTO product_slots VALUES(76,411); +INSERT INTO product_slots VALUES(76,412); +INSERT INTO product_slots VALUES(76,413); +INSERT INTO product_slots VALUES(76,414); +INSERT INTO product_slots VALUES(76,415); +INSERT INTO product_slots VALUES(76,416); +INSERT INTO product_slots VALUES(76,417); +INSERT INTO product_slots VALUES(76,418); +INSERT INTO product_slots VALUES(76,419); +INSERT INTO product_slots VALUES(76,420); +INSERT INTO product_slots VALUES(76,421); +INSERT INTO product_slots VALUES(76,422); +INSERT INTO product_slots VALUES(76,423); +INSERT INTO product_slots VALUES(76,424); +INSERT INTO product_slots VALUES(76,425); +INSERT INTO product_slots VALUES(76,426); +INSERT INTO product_slots VALUES(76,427); +INSERT INTO product_slots VALUES(76,428); +INSERT INTO product_slots VALUES(76,429); +INSERT INTO product_slots VALUES(76,430); +INSERT INTO product_slots VALUES(76,431); +INSERT INTO product_slots VALUES(76,432); +INSERT INTO product_slots VALUES(76,433); +INSERT INTO product_slots VALUES(76,434); +INSERT INTO product_slots VALUES(76,435); +INSERT INTO product_slots VALUES(76,436); +INSERT INTO product_slots VALUES(76,437); +INSERT INTO product_slots VALUES(76,438); +INSERT INTO product_slots VALUES(76,439); +INSERT INTO product_slots VALUES(76,440); +INSERT INTO product_slots VALUES(76,441); +INSERT INTO product_slots VALUES(76,442); +INSERT INTO product_slots VALUES(76,443); +INSERT INTO product_slots VALUES(76,444); +INSERT INTO product_slots VALUES(76,445); +INSERT INTO product_slots VALUES(76,446); +INSERT INTO product_slots VALUES(76,447); +INSERT INTO product_slots VALUES(76,448); +INSERT INTO product_slots VALUES(76,449); +INSERT INTO product_slots VALUES(76,450); +INSERT INTO product_slots VALUES(76,451); +INSERT INTO product_slots VALUES(76,452); +INSERT INTO product_slots VALUES(76,453); +INSERT INTO product_slots VALUES(76,454); +INSERT INTO product_slots VALUES(76,455); +INSERT INTO product_slots VALUES(76,456); +INSERT INTO product_slots VALUES(76,457); +INSERT INTO product_slots VALUES(76,458); +INSERT INTO product_slots VALUES(76,459); +INSERT INTO product_slots VALUES(76,460); +INSERT INTO product_slots VALUES(76,461); +INSERT INTO product_slots VALUES(76,462); +INSERT INTO product_slots VALUES(76,463); +INSERT INTO product_slots VALUES(76,464); +INSERT INTO product_slots VALUES(76,465); +INSERT INTO product_slots VALUES(76,466); +INSERT INTO product_slots VALUES(76,467); +INSERT INTO product_slots VALUES(76,468); +INSERT INTO product_slots VALUES(76,469); +INSERT INTO product_slots VALUES(76,470); +INSERT INTO product_slots VALUES(76,471); INSERT INTO product_slots VALUES(77,39); INSERT INTO product_slots VALUES(77,44); INSERT INTO product_slots VALUES(77,46); @@ -17590,8 +34365,40 @@ INSERT INTO product_slots VALUES(77,241); INSERT INTO product_slots VALUES(77,242); INSERT INTO product_slots VALUES(77,243); INSERT INTO product_slots VALUES(77,244); +INSERT INTO product_slots VALUES(77,245); +INSERT INTO product_slots VALUES(77,246); +INSERT INTO product_slots VALUES(77,247); +INSERT INTO product_slots VALUES(77,248); +INSERT INTO product_slots VALUES(77,249); +INSERT INTO product_slots VALUES(77,250); +INSERT INTO product_slots VALUES(77,251); +INSERT INTO product_slots VALUES(77,252); +INSERT INTO product_slots VALUES(77,253); +INSERT INTO product_slots VALUES(77,254); +INSERT INTO product_slots VALUES(77,255); +INSERT INTO product_slots VALUES(77,256); +INSERT INTO product_slots VALUES(77,257); +INSERT INTO product_slots VALUES(77,258); +INSERT INTO product_slots VALUES(77,259); +INSERT INTO product_slots VALUES(77,260); +INSERT INTO product_slots VALUES(77,261); +INSERT INTO product_slots VALUES(77,262); +INSERT INTO product_slots VALUES(77,263); +INSERT INTO product_slots VALUES(77,264); +INSERT INTO product_slots VALUES(77,265); +INSERT INTO product_slots VALUES(77,266); +INSERT INTO product_slots VALUES(77,267); +INSERT INTO product_slots VALUES(77,268); +INSERT INTO product_slots VALUES(77,269); +INSERT INTO product_slots VALUES(77,270); +INSERT INTO product_slots VALUES(77,271); +INSERT INTO product_slots VALUES(77,272); +INSERT INTO product_slots VALUES(77,273); INSERT INTO product_slots VALUES(77,274); INSERT INTO product_slots VALUES(77,275); +INSERT INTO product_slots VALUES(77,276); +INSERT INTO product_slots VALUES(77,277); +INSERT INTO product_slots VALUES(77,278); INSERT INTO product_slots VALUES(77,279); INSERT INTO product_slots VALUES(77,280); INSERT INTO product_slots VALUES(77,281); @@ -17601,6 +34408,190 @@ INSERT INTO product_slots VALUES(77,284); INSERT INTO product_slots VALUES(77,285); INSERT INTO product_slots VALUES(77,286); INSERT INTO product_slots VALUES(77,287); +INSERT INTO product_slots VALUES(77,288); +INSERT INTO product_slots VALUES(77,289); +INSERT INTO product_slots VALUES(77,290); +INSERT INTO product_slots VALUES(77,291); +INSERT INTO product_slots VALUES(77,292); +INSERT INTO product_slots VALUES(77,293); +INSERT INTO product_slots VALUES(77,294); +INSERT INTO product_slots VALUES(77,295); +INSERT INTO product_slots VALUES(77,296); +INSERT INTO product_slots VALUES(77,297); +INSERT INTO product_slots VALUES(77,298); +INSERT INTO product_slots VALUES(77,299); +INSERT INTO product_slots VALUES(77,300); +INSERT INTO product_slots VALUES(77,301); +INSERT INTO product_slots VALUES(77,302); +INSERT INTO product_slots VALUES(77,303); +INSERT INTO product_slots VALUES(77,304); +INSERT INTO product_slots VALUES(77,305); +INSERT INTO product_slots VALUES(77,306); +INSERT INTO product_slots VALUES(77,307); +INSERT INTO product_slots VALUES(77,308); +INSERT INTO product_slots VALUES(77,309); +INSERT INTO product_slots VALUES(77,310); +INSERT INTO product_slots VALUES(77,311); +INSERT INTO product_slots VALUES(77,312); +INSERT INTO product_slots VALUES(77,313); +INSERT INTO product_slots VALUES(77,314); +INSERT INTO product_slots VALUES(77,315); +INSERT INTO product_slots VALUES(77,316); +INSERT INTO product_slots VALUES(77,317); +INSERT INTO product_slots VALUES(77,318); +INSERT INTO product_slots VALUES(77,319); +INSERT INTO product_slots VALUES(77,320); +INSERT INTO product_slots VALUES(77,321); +INSERT INTO product_slots VALUES(77,322); +INSERT INTO product_slots VALUES(77,323); +INSERT INTO product_slots VALUES(77,324); +INSERT INTO product_slots VALUES(77,325); +INSERT INTO product_slots VALUES(77,326); +INSERT INTO product_slots VALUES(77,327); +INSERT INTO product_slots VALUES(77,328); +INSERT INTO product_slots VALUES(77,329); +INSERT INTO product_slots VALUES(77,330); +INSERT INTO product_slots VALUES(77,331); +INSERT INTO product_slots VALUES(77,332); +INSERT INTO product_slots VALUES(77,333); +INSERT INTO product_slots VALUES(77,334); +INSERT INTO product_slots VALUES(77,335); +INSERT INTO product_slots VALUES(77,336); +INSERT INTO product_slots VALUES(77,337); +INSERT INTO product_slots VALUES(77,338); +INSERT INTO product_slots VALUES(77,339); +INSERT INTO product_slots VALUES(77,340); +INSERT INTO product_slots VALUES(77,341); +INSERT INTO product_slots VALUES(77,342); +INSERT INTO product_slots VALUES(77,343); +INSERT INTO product_slots VALUES(77,344); +INSERT INTO product_slots VALUES(77,345); +INSERT INTO product_slots VALUES(77,346); +INSERT INTO product_slots VALUES(77,347); +INSERT INTO product_slots VALUES(77,348); +INSERT INTO product_slots VALUES(77,349); +INSERT INTO product_slots VALUES(77,350); +INSERT INTO product_slots VALUES(77,351); +INSERT INTO product_slots VALUES(77,352); +INSERT INTO product_slots VALUES(77,353); +INSERT INTO product_slots VALUES(77,354); +INSERT INTO product_slots VALUES(77,355); +INSERT INTO product_slots VALUES(77,356); +INSERT INTO product_slots VALUES(77,357); +INSERT INTO product_slots VALUES(77,358); +INSERT INTO product_slots VALUES(77,359); +INSERT INTO product_slots VALUES(77,360); +INSERT INTO product_slots VALUES(77,361); +INSERT INTO product_slots VALUES(77,362); +INSERT INTO product_slots VALUES(77,363); +INSERT INTO product_slots VALUES(77,364); +INSERT INTO product_slots VALUES(77,365); +INSERT INTO product_slots VALUES(77,366); +INSERT INTO product_slots VALUES(77,367); +INSERT INTO product_slots VALUES(77,368); +INSERT INTO product_slots VALUES(77,369); +INSERT INTO product_slots VALUES(77,370); +INSERT INTO product_slots VALUES(77,371); +INSERT INTO product_slots VALUES(77,372); +INSERT INTO product_slots VALUES(77,373); +INSERT INTO product_slots VALUES(77,374); +INSERT INTO product_slots VALUES(77,375); +INSERT INTO product_slots VALUES(77,376); +INSERT INTO product_slots VALUES(77,377); +INSERT INTO product_slots VALUES(77,378); +INSERT INTO product_slots VALUES(77,379); +INSERT INTO product_slots VALUES(77,380); +INSERT INTO product_slots VALUES(77,381); +INSERT INTO product_slots VALUES(77,382); +INSERT INTO product_slots VALUES(77,383); +INSERT INTO product_slots VALUES(77,384); +INSERT INTO product_slots VALUES(77,385); +INSERT INTO product_slots VALUES(77,386); +INSERT INTO product_slots VALUES(77,387); +INSERT INTO product_slots VALUES(77,388); +INSERT INTO product_slots VALUES(77,389); +INSERT INTO product_slots VALUES(77,390); +INSERT INTO product_slots VALUES(77,391); +INSERT INTO product_slots VALUES(77,392); +INSERT INTO product_slots VALUES(77,393); +INSERT INTO product_slots VALUES(77,394); +INSERT INTO product_slots VALUES(77,395); +INSERT INTO product_slots VALUES(77,396); +INSERT INTO product_slots VALUES(77,397); +INSERT INTO product_slots VALUES(77,398); +INSERT INTO product_slots VALUES(77,399); +INSERT INTO product_slots VALUES(77,400); +INSERT INTO product_slots VALUES(77,401); +INSERT INTO product_slots VALUES(77,402); +INSERT INTO product_slots VALUES(77,403); +INSERT INTO product_slots VALUES(77,404); +INSERT INTO product_slots VALUES(77,405); +INSERT INTO product_slots VALUES(77,406); +INSERT INTO product_slots VALUES(77,407); +INSERT INTO product_slots VALUES(77,408); +INSERT INTO product_slots VALUES(77,409); +INSERT INTO product_slots VALUES(77,410); +INSERT INTO product_slots VALUES(77,411); +INSERT INTO product_slots VALUES(77,412); +INSERT INTO product_slots VALUES(77,413); +INSERT INTO product_slots VALUES(77,414); +INSERT INTO product_slots VALUES(77,415); +INSERT INTO product_slots VALUES(77,416); +INSERT INTO product_slots VALUES(77,417); +INSERT INTO product_slots VALUES(77,418); +INSERT INTO product_slots VALUES(77,419); +INSERT INTO product_slots VALUES(77,420); +INSERT INTO product_slots VALUES(77,421); +INSERT INTO product_slots VALUES(77,422); +INSERT INTO product_slots VALUES(77,423); +INSERT INTO product_slots VALUES(77,424); +INSERT INTO product_slots VALUES(77,425); +INSERT INTO product_slots VALUES(77,426); +INSERT INTO product_slots VALUES(77,427); +INSERT INTO product_slots VALUES(77,428); +INSERT INTO product_slots VALUES(77,429); +INSERT INTO product_slots VALUES(77,430); +INSERT INTO product_slots VALUES(77,431); +INSERT INTO product_slots VALUES(77,432); +INSERT INTO product_slots VALUES(77,433); +INSERT INTO product_slots VALUES(77,434); +INSERT INTO product_slots VALUES(77,435); +INSERT INTO product_slots VALUES(77,436); +INSERT INTO product_slots VALUES(77,437); +INSERT INTO product_slots VALUES(77,438); +INSERT INTO product_slots VALUES(77,439); +INSERT INTO product_slots VALUES(77,440); +INSERT INTO product_slots VALUES(77,441); +INSERT INTO product_slots VALUES(77,442); +INSERT INTO product_slots VALUES(77,443); +INSERT INTO product_slots VALUES(77,444); +INSERT INTO product_slots VALUES(77,445); +INSERT INTO product_slots VALUES(77,446); +INSERT INTO product_slots VALUES(77,447); +INSERT INTO product_slots VALUES(77,448); +INSERT INTO product_slots VALUES(77,449); +INSERT INTO product_slots VALUES(77,450); +INSERT INTO product_slots VALUES(77,451); +INSERT INTO product_slots VALUES(77,452); +INSERT INTO product_slots VALUES(77,453); +INSERT INTO product_slots VALUES(77,454); +INSERT INTO product_slots VALUES(77,455); +INSERT INTO product_slots VALUES(77,456); +INSERT INTO product_slots VALUES(77,457); +INSERT INTO product_slots VALUES(77,458); +INSERT INTO product_slots VALUES(77,459); +INSERT INTO product_slots VALUES(77,460); +INSERT INTO product_slots VALUES(77,461); +INSERT INTO product_slots VALUES(77,462); +INSERT INTO product_slots VALUES(77,463); +INSERT INTO product_slots VALUES(77,464); +INSERT INTO product_slots VALUES(77,465); +INSERT INTO product_slots VALUES(77,466); +INSERT INTO product_slots VALUES(77,467); +INSERT INTO product_slots VALUES(77,468); +INSERT INTO product_slots VALUES(77,469); +INSERT INTO product_slots VALUES(77,470); +INSERT INTO product_slots VALUES(77,471); INSERT INTO product_slots VALUES(78,39); INSERT INTO product_slots VALUES(78,41); INSERT INTO product_slots VALUES(78,43); @@ -17805,8 +34796,40 @@ INSERT INTO product_slots VALUES(78,241); INSERT INTO product_slots VALUES(78,242); INSERT INTO product_slots VALUES(78,243); INSERT INTO product_slots VALUES(78,244); +INSERT INTO product_slots VALUES(78,245); +INSERT INTO product_slots VALUES(78,246); +INSERT INTO product_slots VALUES(78,247); +INSERT INTO product_slots VALUES(78,248); +INSERT INTO product_slots VALUES(78,249); +INSERT INTO product_slots VALUES(78,250); +INSERT INTO product_slots VALUES(78,251); +INSERT INTO product_slots VALUES(78,252); +INSERT INTO product_slots VALUES(78,253); +INSERT INTO product_slots VALUES(78,254); +INSERT INTO product_slots VALUES(78,255); +INSERT INTO product_slots VALUES(78,256); +INSERT INTO product_slots VALUES(78,257); +INSERT INTO product_slots VALUES(78,258); +INSERT INTO product_slots VALUES(78,259); +INSERT INTO product_slots VALUES(78,260); +INSERT INTO product_slots VALUES(78,261); +INSERT INTO product_slots VALUES(78,262); +INSERT INTO product_slots VALUES(78,263); +INSERT INTO product_slots VALUES(78,264); +INSERT INTO product_slots VALUES(78,265); +INSERT INTO product_slots VALUES(78,266); +INSERT INTO product_slots VALUES(78,267); +INSERT INTO product_slots VALUES(78,268); +INSERT INTO product_slots VALUES(78,269); +INSERT INTO product_slots VALUES(78,270); +INSERT INTO product_slots VALUES(78,271); +INSERT INTO product_slots VALUES(78,272); +INSERT INTO product_slots VALUES(78,273); INSERT INTO product_slots VALUES(78,274); INSERT INTO product_slots VALUES(78,275); +INSERT INTO product_slots VALUES(78,276); +INSERT INTO product_slots VALUES(78,277); +INSERT INTO product_slots VALUES(78,278); INSERT INTO product_slots VALUES(78,279); INSERT INTO product_slots VALUES(78,280); INSERT INTO product_slots VALUES(78,281); @@ -17816,6 +34839,190 @@ INSERT INTO product_slots VALUES(78,284); INSERT INTO product_slots VALUES(78,285); INSERT INTO product_slots VALUES(78,286); INSERT INTO product_slots VALUES(78,287); +INSERT INTO product_slots VALUES(78,288); +INSERT INTO product_slots VALUES(78,289); +INSERT INTO product_slots VALUES(78,290); +INSERT INTO product_slots VALUES(78,291); +INSERT INTO product_slots VALUES(78,292); +INSERT INTO product_slots VALUES(78,293); +INSERT INTO product_slots VALUES(78,294); +INSERT INTO product_slots VALUES(78,295); +INSERT INTO product_slots VALUES(78,296); +INSERT INTO product_slots VALUES(78,297); +INSERT INTO product_slots VALUES(78,298); +INSERT INTO product_slots VALUES(78,299); +INSERT INTO product_slots VALUES(78,300); +INSERT INTO product_slots VALUES(78,301); +INSERT INTO product_slots VALUES(78,302); +INSERT INTO product_slots VALUES(78,303); +INSERT INTO product_slots VALUES(78,304); +INSERT INTO product_slots VALUES(78,305); +INSERT INTO product_slots VALUES(78,306); +INSERT INTO product_slots VALUES(78,307); +INSERT INTO product_slots VALUES(78,308); +INSERT INTO product_slots VALUES(78,309); +INSERT INTO product_slots VALUES(78,310); +INSERT INTO product_slots VALUES(78,311); +INSERT INTO product_slots VALUES(78,312); +INSERT INTO product_slots VALUES(78,313); +INSERT INTO product_slots VALUES(78,314); +INSERT INTO product_slots VALUES(78,315); +INSERT INTO product_slots VALUES(78,316); +INSERT INTO product_slots VALUES(78,317); +INSERT INTO product_slots VALUES(78,318); +INSERT INTO product_slots VALUES(78,319); +INSERT INTO product_slots VALUES(78,320); +INSERT INTO product_slots VALUES(78,321); +INSERT INTO product_slots VALUES(78,322); +INSERT INTO product_slots VALUES(78,323); +INSERT INTO product_slots VALUES(78,324); +INSERT INTO product_slots VALUES(78,325); +INSERT INTO product_slots VALUES(78,326); +INSERT INTO product_slots VALUES(78,327); +INSERT INTO product_slots VALUES(78,328); +INSERT INTO product_slots VALUES(78,329); +INSERT INTO product_slots VALUES(78,330); +INSERT INTO product_slots VALUES(78,331); +INSERT INTO product_slots VALUES(78,332); +INSERT INTO product_slots VALUES(78,333); +INSERT INTO product_slots VALUES(78,334); +INSERT INTO product_slots VALUES(78,335); +INSERT INTO product_slots VALUES(78,336); +INSERT INTO product_slots VALUES(78,337); +INSERT INTO product_slots VALUES(78,338); +INSERT INTO product_slots VALUES(78,339); +INSERT INTO product_slots VALUES(78,340); +INSERT INTO product_slots VALUES(78,341); +INSERT INTO product_slots VALUES(78,342); +INSERT INTO product_slots VALUES(78,343); +INSERT INTO product_slots VALUES(78,344); +INSERT INTO product_slots VALUES(78,345); +INSERT INTO product_slots VALUES(78,346); +INSERT INTO product_slots VALUES(78,347); +INSERT INTO product_slots VALUES(78,348); +INSERT INTO product_slots VALUES(78,349); +INSERT INTO product_slots VALUES(78,350); +INSERT INTO product_slots VALUES(78,351); +INSERT INTO product_slots VALUES(78,352); +INSERT INTO product_slots VALUES(78,353); +INSERT INTO product_slots VALUES(78,354); +INSERT INTO product_slots VALUES(78,355); +INSERT INTO product_slots VALUES(78,356); +INSERT INTO product_slots VALUES(78,357); +INSERT INTO product_slots VALUES(78,358); +INSERT INTO product_slots VALUES(78,359); +INSERT INTO product_slots VALUES(78,360); +INSERT INTO product_slots VALUES(78,361); +INSERT INTO product_slots VALUES(78,362); +INSERT INTO product_slots VALUES(78,363); +INSERT INTO product_slots VALUES(78,364); +INSERT INTO product_slots VALUES(78,365); +INSERT INTO product_slots VALUES(78,366); +INSERT INTO product_slots VALUES(78,367); +INSERT INTO product_slots VALUES(78,368); +INSERT INTO product_slots VALUES(78,369); +INSERT INTO product_slots VALUES(78,370); +INSERT INTO product_slots VALUES(78,371); +INSERT INTO product_slots VALUES(78,372); +INSERT INTO product_slots VALUES(78,373); +INSERT INTO product_slots VALUES(78,374); +INSERT INTO product_slots VALUES(78,375); +INSERT INTO product_slots VALUES(78,376); +INSERT INTO product_slots VALUES(78,377); +INSERT INTO product_slots VALUES(78,378); +INSERT INTO product_slots VALUES(78,379); +INSERT INTO product_slots VALUES(78,380); +INSERT INTO product_slots VALUES(78,381); +INSERT INTO product_slots VALUES(78,382); +INSERT INTO product_slots VALUES(78,383); +INSERT INTO product_slots VALUES(78,384); +INSERT INTO product_slots VALUES(78,385); +INSERT INTO product_slots VALUES(78,386); +INSERT INTO product_slots VALUES(78,387); +INSERT INTO product_slots VALUES(78,388); +INSERT INTO product_slots VALUES(78,389); +INSERT INTO product_slots VALUES(78,390); +INSERT INTO product_slots VALUES(78,391); +INSERT INTO product_slots VALUES(78,392); +INSERT INTO product_slots VALUES(78,393); +INSERT INTO product_slots VALUES(78,394); +INSERT INTO product_slots VALUES(78,395); +INSERT INTO product_slots VALUES(78,396); +INSERT INTO product_slots VALUES(78,397); +INSERT INTO product_slots VALUES(78,398); +INSERT INTO product_slots VALUES(78,399); +INSERT INTO product_slots VALUES(78,400); +INSERT INTO product_slots VALUES(78,401); +INSERT INTO product_slots VALUES(78,402); +INSERT INTO product_slots VALUES(78,403); +INSERT INTO product_slots VALUES(78,404); +INSERT INTO product_slots VALUES(78,405); +INSERT INTO product_slots VALUES(78,406); +INSERT INTO product_slots VALUES(78,407); +INSERT INTO product_slots VALUES(78,408); +INSERT INTO product_slots VALUES(78,409); +INSERT INTO product_slots VALUES(78,410); +INSERT INTO product_slots VALUES(78,411); +INSERT INTO product_slots VALUES(78,412); +INSERT INTO product_slots VALUES(78,413); +INSERT INTO product_slots VALUES(78,414); +INSERT INTO product_slots VALUES(78,415); +INSERT INTO product_slots VALUES(78,416); +INSERT INTO product_slots VALUES(78,417); +INSERT INTO product_slots VALUES(78,418); +INSERT INTO product_slots VALUES(78,419); +INSERT INTO product_slots VALUES(78,420); +INSERT INTO product_slots VALUES(78,421); +INSERT INTO product_slots VALUES(78,422); +INSERT INTO product_slots VALUES(78,423); +INSERT INTO product_slots VALUES(78,424); +INSERT INTO product_slots VALUES(78,425); +INSERT INTO product_slots VALUES(78,426); +INSERT INTO product_slots VALUES(78,427); +INSERT INTO product_slots VALUES(78,428); +INSERT INTO product_slots VALUES(78,429); +INSERT INTO product_slots VALUES(78,430); +INSERT INTO product_slots VALUES(78,431); +INSERT INTO product_slots VALUES(78,432); +INSERT INTO product_slots VALUES(78,433); +INSERT INTO product_slots VALUES(78,434); +INSERT INTO product_slots VALUES(78,435); +INSERT INTO product_slots VALUES(78,436); +INSERT INTO product_slots VALUES(78,437); +INSERT INTO product_slots VALUES(78,438); +INSERT INTO product_slots VALUES(78,439); +INSERT INTO product_slots VALUES(78,440); +INSERT INTO product_slots VALUES(78,441); +INSERT INTO product_slots VALUES(78,442); +INSERT INTO product_slots VALUES(78,443); +INSERT INTO product_slots VALUES(78,444); +INSERT INTO product_slots VALUES(78,445); +INSERT INTO product_slots VALUES(78,446); +INSERT INTO product_slots VALUES(78,447); +INSERT INTO product_slots VALUES(78,448); +INSERT INTO product_slots VALUES(78,449); +INSERT INTO product_slots VALUES(78,450); +INSERT INTO product_slots VALUES(78,451); +INSERT INTO product_slots VALUES(78,452); +INSERT INTO product_slots VALUES(78,453); +INSERT INTO product_slots VALUES(78,454); +INSERT INTO product_slots VALUES(78,455); +INSERT INTO product_slots VALUES(78,456); +INSERT INTO product_slots VALUES(78,457); +INSERT INTO product_slots VALUES(78,458); +INSERT INTO product_slots VALUES(78,459); +INSERT INTO product_slots VALUES(78,460); +INSERT INTO product_slots VALUES(78,461); +INSERT INTO product_slots VALUES(78,462); +INSERT INTO product_slots VALUES(78,463); +INSERT INTO product_slots VALUES(78,464); +INSERT INTO product_slots VALUES(78,465); +INSERT INTO product_slots VALUES(78,466); +INSERT INTO product_slots VALUES(78,467); +INSERT INTO product_slots VALUES(78,468); +INSERT INTO product_slots VALUES(78,469); +INSERT INTO product_slots VALUES(78,470); +INSERT INTO product_slots VALUES(78,471); INSERT INTO product_slots VALUES(79,39); INSERT INTO product_slots VALUES(79,41); INSERT INTO product_slots VALUES(79,43); @@ -18020,8 +35227,40 @@ INSERT INTO product_slots VALUES(79,241); INSERT INTO product_slots VALUES(79,242); INSERT INTO product_slots VALUES(79,243); INSERT INTO product_slots VALUES(79,244); +INSERT INTO product_slots VALUES(79,245); +INSERT INTO product_slots VALUES(79,246); +INSERT INTO product_slots VALUES(79,247); +INSERT INTO product_slots VALUES(79,248); +INSERT INTO product_slots VALUES(79,249); +INSERT INTO product_slots VALUES(79,250); +INSERT INTO product_slots VALUES(79,251); +INSERT INTO product_slots VALUES(79,252); +INSERT INTO product_slots VALUES(79,253); +INSERT INTO product_slots VALUES(79,254); +INSERT INTO product_slots VALUES(79,255); +INSERT INTO product_slots VALUES(79,256); +INSERT INTO product_slots VALUES(79,257); +INSERT INTO product_slots VALUES(79,258); +INSERT INTO product_slots VALUES(79,259); +INSERT INTO product_slots VALUES(79,260); +INSERT INTO product_slots VALUES(79,261); +INSERT INTO product_slots VALUES(79,262); +INSERT INTO product_slots VALUES(79,263); +INSERT INTO product_slots VALUES(79,264); +INSERT INTO product_slots VALUES(79,265); +INSERT INTO product_slots VALUES(79,266); +INSERT INTO product_slots VALUES(79,267); +INSERT INTO product_slots VALUES(79,268); +INSERT INTO product_slots VALUES(79,269); +INSERT INTO product_slots VALUES(79,270); +INSERT INTO product_slots VALUES(79,271); +INSERT INTO product_slots VALUES(79,272); +INSERT INTO product_slots VALUES(79,273); INSERT INTO product_slots VALUES(79,274); INSERT INTO product_slots VALUES(79,275); +INSERT INTO product_slots VALUES(79,276); +INSERT INTO product_slots VALUES(79,277); +INSERT INTO product_slots VALUES(79,278); INSERT INTO product_slots VALUES(79,279); INSERT INTO product_slots VALUES(79,280); INSERT INTO product_slots VALUES(79,281); @@ -18031,6 +35270,190 @@ INSERT INTO product_slots VALUES(79,284); INSERT INTO product_slots VALUES(79,285); INSERT INTO product_slots VALUES(79,286); INSERT INTO product_slots VALUES(79,287); +INSERT INTO product_slots VALUES(79,288); +INSERT INTO product_slots VALUES(79,289); +INSERT INTO product_slots VALUES(79,290); +INSERT INTO product_slots VALUES(79,291); +INSERT INTO product_slots VALUES(79,292); +INSERT INTO product_slots VALUES(79,293); +INSERT INTO product_slots VALUES(79,294); +INSERT INTO product_slots VALUES(79,295); +INSERT INTO product_slots VALUES(79,296); +INSERT INTO product_slots VALUES(79,297); +INSERT INTO product_slots VALUES(79,298); +INSERT INTO product_slots VALUES(79,299); +INSERT INTO product_slots VALUES(79,300); +INSERT INTO product_slots VALUES(79,301); +INSERT INTO product_slots VALUES(79,302); +INSERT INTO product_slots VALUES(79,303); +INSERT INTO product_slots VALUES(79,304); +INSERT INTO product_slots VALUES(79,305); +INSERT INTO product_slots VALUES(79,306); +INSERT INTO product_slots VALUES(79,307); +INSERT INTO product_slots VALUES(79,308); +INSERT INTO product_slots VALUES(79,309); +INSERT INTO product_slots VALUES(79,310); +INSERT INTO product_slots VALUES(79,311); +INSERT INTO product_slots VALUES(79,312); +INSERT INTO product_slots VALUES(79,313); +INSERT INTO product_slots VALUES(79,314); +INSERT INTO product_slots VALUES(79,315); +INSERT INTO product_slots VALUES(79,316); +INSERT INTO product_slots VALUES(79,317); +INSERT INTO product_slots VALUES(79,318); +INSERT INTO product_slots VALUES(79,319); +INSERT INTO product_slots VALUES(79,320); +INSERT INTO product_slots VALUES(79,321); +INSERT INTO product_slots VALUES(79,322); +INSERT INTO product_slots VALUES(79,323); +INSERT INTO product_slots VALUES(79,324); +INSERT INTO product_slots VALUES(79,325); +INSERT INTO product_slots VALUES(79,326); +INSERT INTO product_slots VALUES(79,327); +INSERT INTO product_slots VALUES(79,328); +INSERT INTO product_slots VALUES(79,329); +INSERT INTO product_slots VALUES(79,330); +INSERT INTO product_slots VALUES(79,331); +INSERT INTO product_slots VALUES(79,332); +INSERT INTO product_slots VALUES(79,333); +INSERT INTO product_slots VALUES(79,334); +INSERT INTO product_slots VALUES(79,335); +INSERT INTO product_slots VALUES(79,336); +INSERT INTO product_slots VALUES(79,337); +INSERT INTO product_slots VALUES(79,338); +INSERT INTO product_slots VALUES(79,339); +INSERT INTO product_slots VALUES(79,340); +INSERT INTO product_slots VALUES(79,341); +INSERT INTO product_slots VALUES(79,342); +INSERT INTO product_slots VALUES(79,343); +INSERT INTO product_slots VALUES(79,344); +INSERT INTO product_slots VALUES(79,345); +INSERT INTO product_slots VALUES(79,346); +INSERT INTO product_slots VALUES(79,347); +INSERT INTO product_slots VALUES(79,348); +INSERT INTO product_slots VALUES(79,349); +INSERT INTO product_slots VALUES(79,350); +INSERT INTO product_slots VALUES(79,351); +INSERT INTO product_slots VALUES(79,352); +INSERT INTO product_slots VALUES(79,353); +INSERT INTO product_slots VALUES(79,354); +INSERT INTO product_slots VALUES(79,355); +INSERT INTO product_slots VALUES(79,356); +INSERT INTO product_slots VALUES(79,357); +INSERT INTO product_slots VALUES(79,358); +INSERT INTO product_slots VALUES(79,359); +INSERT INTO product_slots VALUES(79,360); +INSERT INTO product_slots VALUES(79,361); +INSERT INTO product_slots VALUES(79,362); +INSERT INTO product_slots VALUES(79,363); +INSERT INTO product_slots VALUES(79,364); +INSERT INTO product_slots VALUES(79,365); +INSERT INTO product_slots VALUES(79,366); +INSERT INTO product_slots VALUES(79,367); +INSERT INTO product_slots VALUES(79,368); +INSERT INTO product_slots VALUES(79,369); +INSERT INTO product_slots VALUES(79,370); +INSERT INTO product_slots VALUES(79,371); +INSERT INTO product_slots VALUES(79,372); +INSERT INTO product_slots VALUES(79,373); +INSERT INTO product_slots VALUES(79,374); +INSERT INTO product_slots VALUES(79,375); +INSERT INTO product_slots VALUES(79,376); +INSERT INTO product_slots VALUES(79,377); +INSERT INTO product_slots VALUES(79,378); +INSERT INTO product_slots VALUES(79,379); +INSERT INTO product_slots VALUES(79,380); +INSERT INTO product_slots VALUES(79,381); +INSERT INTO product_slots VALUES(79,382); +INSERT INTO product_slots VALUES(79,383); +INSERT INTO product_slots VALUES(79,384); +INSERT INTO product_slots VALUES(79,385); +INSERT INTO product_slots VALUES(79,386); +INSERT INTO product_slots VALUES(79,387); +INSERT INTO product_slots VALUES(79,388); +INSERT INTO product_slots VALUES(79,389); +INSERT INTO product_slots VALUES(79,390); +INSERT INTO product_slots VALUES(79,391); +INSERT INTO product_slots VALUES(79,392); +INSERT INTO product_slots VALUES(79,393); +INSERT INTO product_slots VALUES(79,394); +INSERT INTO product_slots VALUES(79,395); +INSERT INTO product_slots VALUES(79,396); +INSERT INTO product_slots VALUES(79,397); +INSERT INTO product_slots VALUES(79,398); +INSERT INTO product_slots VALUES(79,399); +INSERT INTO product_slots VALUES(79,400); +INSERT INTO product_slots VALUES(79,401); +INSERT INTO product_slots VALUES(79,402); +INSERT INTO product_slots VALUES(79,403); +INSERT INTO product_slots VALUES(79,404); +INSERT INTO product_slots VALUES(79,405); +INSERT INTO product_slots VALUES(79,406); +INSERT INTO product_slots VALUES(79,407); +INSERT INTO product_slots VALUES(79,408); +INSERT INTO product_slots VALUES(79,409); +INSERT INTO product_slots VALUES(79,410); +INSERT INTO product_slots VALUES(79,411); +INSERT INTO product_slots VALUES(79,412); +INSERT INTO product_slots VALUES(79,413); +INSERT INTO product_slots VALUES(79,414); +INSERT INTO product_slots VALUES(79,415); +INSERT INTO product_slots VALUES(79,416); +INSERT INTO product_slots VALUES(79,417); +INSERT INTO product_slots VALUES(79,418); +INSERT INTO product_slots VALUES(79,419); +INSERT INTO product_slots VALUES(79,420); +INSERT INTO product_slots VALUES(79,421); +INSERT INTO product_slots VALUES(79,422); +INSERT INTO product_slots VALUES(79,423); +INSERT INTO product_slots VALUES(79,424); +INSERT INTO product_slots VALUES(79,425); +INSERT INTO product_slots VALUES(79,426); +INSERT INTO product_slots VALUES(79,427); +INSERT INTO product_slots VALUES(79,428); +INSERT INTO product_slots VALUES(79,429); +INSERT INTO product_slots VALUES(79,430); +INSERT INTO product_slots VALUES(79,431); +INSERT INTO product_slots VALUES(79,432); +INSERT INTO product_slots VALUES(79,433); +INSERT INTO product_slots VALUES(79,434); +INSERT INTO product_slots VALUES(79,435); +INSERT INTO product_slots VALUES(79,436); +INSERT INTO product_slots VALUES(79,437); +INSERT INTO product_slots VALUES(79,438); +INSERT INTO product_slots VALUES(79,439); +INSERT INTO product_slots VALUES(79,440); +INSERT INTO product_slots VALUES(79,441); +INSERT INTO product_slots VALUES(79,442); +INSERT INTO product_slots VALUES(79,443); +INSERT INTO product_slots VALUES(79,444); +INSERT INTO product_slots VALUES(79,445); +INSERT INTO product_slots VALUES(79,446); +INSERT INTO product_slots VALUES(79,447); +INSERT INTO product_slots VALUES(79,448); +INSERT INTO product_slots VALUES(79,449); +INSERT INTO product_slots VALUES(79,450); +INSERT INTO product_slots VALUES(79,451); +INSERT INTO product_slots VALUES(79,452); +INSERT INTO product_slots VALUES(79,453); +INSERT INTO product_slots VALUES(79,454); +INSERT INTO product_slots VALUES(79,455); +INSERT INTO product_slots VALUES(79,456); +INSERT INTO product_slots VALUES(79,457); +INSERT INTO product_slots VALUES(79,458); +INSERT INTO product_slots VALUES(79,459); +INSERT INTO product_slots VALUES(79,460); +INSERT INTO product_slots VALUES(79,461); +INSERT INTO product_slots VALUES(79,462); +INSERT INTO product_slots VALUES(79,463); +INSERT INTO product_slots VALUES(79,464); +INSERT INTO product_slots VALUES(79,465); +INSERT INTO product_slots VALUES(79,466); +INSERT INTO product_slots VALUES(79,467); +INSERT INTO product_slots VALUES(79,468); +INSERT INTO product_slots VALUES(79,469); +INSERT INTO product_slots VALUES(79,470); +INSERT INTO product_slots VALUES(79,471); INSERT INTO product_slots VALUES(80,39); INSERT INTO product_slots VALUES(80,41); INSERT INTO product_slots VALUES(80,43); @@ -18232,12 +35655,233 @@ INSERT INTO product_slots VALUES(80,241); INSERT INTO product_slots VALUES(80,242); INSERT INTO product_slots VALUES(80,243); INSERT INTO product_slots VALUES(80,244); +INSERT INTO product_slots VALUES(80,245); +INSERT INTO product_slots VALUES(80,246); +INSERT INTO product_slots VALUES(80,247); +INSERT INTO product_slots VALUES(80,248); +INSERT INTO product_slots VALUES(80,249); +INSERT INTO product_slots VALUES(80,250); +INSERT INTO product_slots VALUES(80,251); +INSERT INTO product_slots VALUES(80,252); +INSERT INTO product_slots VALUES(80,253); +INSERT INTO product_slots VALUES(80,254); +INSERT INTO product_slots VALUES(80,255); +INSERT INTO product_slots VALUES(80,256); +INSERT INTO product_slots VALUES(80,257); +INSERT INTO product_slots VALUES(80,258); +INSERT INTO product_slots VALUES(80,259); +INSERT INTO product_slots VALUES(80,260); +INSERT INTO product_slots VALUES(80,261); +INSERT INTO product_slots VALUES(80,262); +INSERT INTO product_slots VALUES(80,263); +INSERT INTO product_slots VALUES(80,264); +INSERT INTO product_slots VALUES(80,265); +INSERT INTO product_slots VALUES(80,266); +INSERT INTO product_slots VALUES(80,267); +INSERT INTO product_slots VALUES(80,268); +INSERT INTO product_slots VALUES(80,269); +INSERT INTO product_slots VALUES(80,270); +INSERT INTO product_slots VALUES(80,271); +INSERT INTO product_slots VALUES(80,272); +INSERT INTO product_slots VALUES(80,273); INSERT INTO product_slots VALUES(80,274); INSERT INTO product_slots VALUES(80,275); +INSERT INTO product_slots VALUES(80,276); +INSERT INTO product_slots VALUES(80,277); +INSERT INTO product_slots VALUES(80,278); INSERT INTO product_slots VALUES(80,279); INSERT INTO product_slots VALUES(80,280); INSERT INTO product_slots VALUES(80,281); INSERT INTO product_slots VALUES(80,282); +INSERT INTO product_slots VALUES(80,283); +INSERT INTO product_slots VALUES(80,284); +INSERT INTO product_slots VALUES(80,285); +INSERT INTO product_slots VALUES(80,286); +INSERT INTO product_slots VALUES(80,287); +INSERT INTO product_slots VALUES(80,288); +INSERT INTO product_slots VALUES(80,289); +INSERT INTO product_slots VALUES(80,290); +INSERT INTO product_slots VALUES(80,291); +INSERT INTO product_slots VALUES(80,292); +INSERT INTO product_slots VALUES(80,293); +INSERT INTO product_slots VALUES(80,294); +INSERT INTO product_slots VALUES(80,295); +INSERT INTO product_slots VALUES(80,296); +INSERT INTO product_slots VALUES(80,297); +INSERT INTO product_slots VALUES(80,298); +INSERT INTO product_slots VALUES(80,299); +INSERT INTO product_slots VALUES(80,300); +INSERT INTO product_slots VALUES(80,301); +INSERT INTO product_slots VALUES(80,302); +INSERT INTO product_slots VALUES(80,303); +INSERT INTO product_slots VALUES(80,304); +INSERT INTO product_slots VALUES(80,305); +INSERT INTO product_slots VALUES(80,306); +INSERT INTO product_slots VALUES(80,307); +INSERT INTO product_slots VALUES(80,308); +INSERT INTO product_slots VALUES(80,309); +INSERT INTO product_slots VALUES(80,310); +INSERT INTO product_slots VALUES(80,311); +INSERT INTO product_slots VALUES(80,312); +INSERT INTO product_slots VALUES(80,313); +INSERT INTO product_slots VALUES(80,314); +INSERT INTO product_slots VALUES(80,315); +INSERT INTO product_slots VALUES(80,316); +INSERT INTO product_slots VALUES(80,317); +INSERT INTO product_slots VALUES(80,318); +INSERT INTO product_slots VALUES(80,319); +INSERT INTO product_slots VALUES(80,320); +INSERT INTO product_slots VALUES(80,321); +INSERT INTO product_slots VALUES(80,322); +INSERT INTO product_slots VALUES(80,323); +INSERT INTO product_slots VALUES(80,324); +INSERT INTO product_slots VALUES(80,325); +INSERT INTO product_slots VALUES(80,326); +INSERT INTO product_slots VALUES(80,327); +INSERT INTO product_slots VALUES(80,328); +INSERT INTO product_slots VALUES(80,329); +INSERT INTO product_slots VALUES(80,330); +INSERT INTO product_slots VALUES(80,331); +INSERT INTO product_slots VALUES(80,332); +INSERT INTO product_slots VALUES(80,333); +INSERT INTO product_slots VALUES(80,334); +INSERT INTO product_slots VALUES(80,335); +INSERT INTO product_slots VALUES(80,336); +INSERT INTO product_slots VALUES(80,337); +INSERT INTO product_slots VALUES(80,338); +INSERT INTO product_slots VALUES(80,339); +INSERT INTO product_slots VALUES(80,340); +INSERT INTO product_slots VALUES(80,341); +INSERT INTO product_slots VALUES(80,342); +INSERT INTO product_slots VALUES(80,343); +INSERT INTO product_slots VALUES(80,344); +INSERT INTO product_slots VALUES(80,345); +INSERT INTO product_slots VALUES(80,346); +INSERT INTO product_slots VALUES(80,347); +INSERT INTO product_slots VALUES(80,348); +INSERT INTO product_slots VALUES(80,349); +INSERT INTO product_slots VALUES(80,350); +INSERT INTO product_slots VALUES(80,351); +INSERT INTO product_slots VALUES(80,352); +INSERT INTO product_slots VALUES(80,353); +INSERT INTO product_slots VALUES(80,354); +INSERT INTO product_slots VALUES(80,355); +INSERT INTO product_slots VALUES(80,356); +INSERT INTO product_slots VALUES(80,357); +INSERT INTO product_slots VALUES(80,358); +INSERT INTO product_slots VALUES(80,359); +INSERT INTO product_slots VALUES(80,360); +INSERT INTO product_slots VALUES(80,361); +INSERT INTO product_slots VALUES(80,362); +INSERT INTO product_slots VALUES(80,363); +INSERT INTO product_slots VALUES(80,364); +INSERT INTO product_slots VALUES(80,365); +INSERT INTO product_slots VALUES(80,366); +INSERT INTO product_slots VALUES(80,367); +INSERT INTO product_slots VALUES(80,368); +INSERT INTO product_slots VALUES(80,369); +INSERT INTO product_slots VALUES(80,370); +INSERT INTO product_slots VALUES(80,371); +INSERT INTO product_slots VALUES(80,372); +INSERT INTO product_slots VALUES(80,373); +INSERT INTO product_slots VALUES(80,374); +INSERT INTO product_slots VALUES(80,375); +INSERT INTO product_slots VALUES(80,376); +INSERT INTO product_slots VALUES(80,377); +INSERT INTO product_slots VALUES(80,378); +INSERT INTO product_slots VALUES(80,379); +INSERT INTO product_slots VALUES(80,380); +INSERT INTO product_slots VALUES(80,381); +INSERT INTO product_slots VALUES(80,382); +INSERT INTO product_slots VALUES(80,383); +INSERT INTO product_slots VALUES(80,384); +INSERT INTO product_slots VALUES(80,385); +INSERT INTO product_slots VALUES(80,386); +INSERT INTO product_slots VALUES(80,387); +INSERT INTO product_slots VALUES(80,388); +INSERT INTO product_slots VALUES(80,389); +INSERT INTO product_slots VALUES(80,390); +INSERT INTO product_slots VALUES(80,391); +INSERT INTO product_slots VALUES(80,392); +INSERT INTO product_slots VALUES(80,393); +INSERT INTO product_slots VALUES(80,394); +INSERT INTO product_slots VALUES(80,395); +INSERT INTO product_slots VALUES(80,396); +INSERT INTO product_slots VALUES(80,397); +INSERT INTO product_slots VALUES(80,398); +INSERT INTO product_slots VALUES(80,399); +INSERT INTO product_slots VALUES(80,400); +INSERT INTO product_slots VALUES(80,401); +INSERT INTO product_slots VALUES(80,402); +INSERT INTO product_slots VALUES(80,403); +INSERT INTO product_slots VALUES(80,404); +INSERT INTO product_slots VALUES(80,405); +INSERT INTO product_slots VALUES(80,406); +INSERT INTO product_slots VALUES(80,407); +INSERT INTO product_slots VALUES(80,408); +INSERT INTO product_slots VALUES(80,409); +INSERT INTO product_slots VALUES(80,410); +INSERT INTO product_slots VALUES(80,411); +INSERT INTO product_slots VALUES(80,412); +INSERT INTO product_slots VALUES(80,413); +INSERT INTO product_slots VALUES(80,414); +INSERT INTO product_slots VALUES(80,415); +INSERT INTO product_slots VALUES(80,416); +INSERT INTO product_slots VALUES(80,417); +INSERT INTO product_slots VALUES(80,418); +INSERT INTO product_slots VALUES(80,419); +INSERT INTO product_slots VALUES(80,420); +INSERT INTO product_slots VALUES(80,421); +INSERT INTO product_slots VALUES(80,422); +INSERT INTO product_slots VALUES(80,423); +INSERT INTO product_slots VALUES(80,424); +INSERT INTO product_slots VALUES(80,425); +INSERT INTO product_slots VALUES(80,426); +INSERT INTO product_slots VALUES(80,427); +INSERT INTO product_slots VALUES(80,428); +INSERT INTO product_slots VALUES(80,429); +INSERT INTO product_slots VALUES(80,430); +INSERT INTO product_slots VALUES(80,431); +INSERT INTO product_slots VALUES(80,432); +INSERT INTO product_slots VALUES(80,433); +INSERT INTO product_slots VALUES(80,434); +INSERT INTO product_slots VALUES(80,435); +INSERT INTO product_slots VALUES(80,436); +INSERT INTO product_slots VALUES(80,437); +INSERT INTO product_slots VALUES(80,438); +INSERT INTO product_slots VALUES(80,439); +INSERT INTO product_slots VALUES(80,440); +INSERT INTO product_slots VALUES(80,441); +INSERT INTO product_slots VALUES(80,442); +INSERT INTO product_slots VALUES(80,443); +INSERT INTO product_slots VALUES(80,444); +INSERT INTO product_slots VALUES(80,445); +INSERT INTO product_slots VALUES(80,446); +INSERT INTO product_slots VALUES(80,447); +INSERT INTO product_slots VALUES(80,448); +INSERT INTO product_slots VALUES(80,449); +INSERT INTO product_slots VALUES(80,450); +INSERT INTO product_slots VALUES(80,451); +INSERT INTO product_slots VALUES(80,452); +INSERT INTO product_slots VALUES(80,453); +INSERT INTO product_slots VALUES(80,454); +INSERT INTO product_slots VALUES(80,455); +INSERT INTO product_slots VALUES(80,456); +INSERT INTO product_slots VALUES(80,457); +INSERT INTO product_slots VALUES(80,458); +INSERT INTO product_slots VALUES(80,459); +INSERT INTO product_slots VALUES(80,460); +INSERT INTO product_slots VALUES(80,461); +INSERT INTO product_slots VALUES(80,462); +INSERT INTO product_slots VALUES(80,463); +INSERT INTO product_slots VALUES(80,464); +INSERT INTO product_slots VALUES(80,465); +INSERT INTO product_slots VALUES(80,466); +INSERT INTO product_slots VALUES(80,467); +INSERT INTO product_slots VALUES(80,468); +INSERT INTO product_slots VALUES(80,469); +INSERT INTO product_slots VALUES(80,470); +INSERT INTO product_slots VALUES(80,471); INSERT INTO product_slots VALUES(81,39); INSERT INTO product_slots VALUES(81,43); INSERT INTO product_slots VALUES(81,45); @@ -18402,8 +36046,40 @@ INSERT INTO product_slots VALUES(81,241); INSERT INTO product_slots VALUES(81,242); INSERT INTO product_slots VALUES(81,243); INSERT INTO product_slots VALUES(81,244); +INSERT INTO product_slots VALUES(81,245); +INSERT INTO product_slots VALUES(81,246); +INSERT INTO product_slots VALUES(81,247); +INSERT INTO product_slots VALUES(81,248); +INSERT INTO product_slots VALUES(81,249); +INSERT INTO product_slots VALUES(81,250); +INSERT INTO product_slots VALUES(81,251); +INSERT INTO product_slots VALUES(81,252); +INSERT INTO product_slots VALUES(81,253); +INSERT INTO product_slots VALUES(81,254); +INSERT INTO product_slots VALUES(81,255); +INSERT INTO product_slots VALUES(81,256); +INSERT INTO product_slots VALUES(81,257); +INSERT INTO product_slots VALUES(81,258); +INSERT INTO product_slots VALUES(81,259); +INSERT INTO product_slots VALUES(81,260); +INSERT INTO product_slots VALUES(81,261); +INSERT INTO product_slots VALUES(81,262); +INSERT INTO product_slots VALUES(81,263); +INSERT INTO product_slots VALUES(81,264); +INSERT INTO product_slots VALUES(81,265); +INSERT INTO product_slots VALUES(81,266); +INSERT INTO product_slots VALUES(81,267); +INSERT INTO product_slots VALUES(81,268); +INSERT INTO product_slots VALUES(81,269); +INSERT INTO product_slots VALUES(81,270); +INSERT INTO product_slots VALUES(81,271); +INSERT INTO product_slots VALUES(81,272); +INSERT INTO product_slots VALUES(81,273); INSERT INTO product_slots VALUES(81,274); INSERT INTO product_slots VALUES(81,275); +INSERT INTO product_slots VALUES(81,276); +INSERT INTO product_slots VALUES(81,277); +INSERT INTO product_slots VALUES(81,278); INSERT INTO product_slots VALUES(81,279); INSERT INTO product_slots VALUES(81,280); INSERT INTO product_slots VALUES(81,281); @@ -18413,6 +36089,190 @@ INSERT INTO product_slots VALUES(81,284); INSERT INTO product_slots VALUES(81,285); INSERT INTO product_slots VALUES(81,286); INSERT INTO product_slots VALUES(81,287); +INSERT INTO product_slots VALUES(81,288); +INSERT INTO product_slots VALUES(81,289); +INSERT INTO product_slots VALUES(81,290); +INSERT INTO product_slots VALUES(81,291); +INSERT INTO product_slots VALUES(81,292); +INSERT INTO product_slots VALUES(81,293); +INSERT INTO product_slots VALUES(81,294); +INSERT INTO product_slots VALUES(81,295); +INSERT INTO product_slots VALUES(81,296); +INSERT INTO product_slots VALUES(81,297); +INSERT INTO product_slots VALUES(81,298); +INSERT INTO product_slots VALUES(81,299); +INSERT INTO product_slots VALUES(81,300); +INSERT INTO product_slots VALUES(81,301); +INSERT INTO product_slots VALUES(81,302); +INSERT INTO product_slots VALUES(81,303); +INSERT INTO product_slots VALUES(81,304); +INSERT INTO product_slots VALUES(81,305); +INSERT INTO product_slots VALUES(81,306); +INSERT INTO product_slots VALUES(81,307); +INSERT INTO product_slots VALUES(81,308); +INSERT INTO product_slots VALUES(81,309); +INSERT INTO product_slots VALUES(81,310); +INSERT INTO product_slots VALUES(81,311); +INSERT INTO product_slots VALUES(81,312); +INSERT INTO product_slots VALUES(81,313); +INSERT INTO product_slots VALUES(81,314); +INSERT INTO product_slots VALUES(81,315); +INSERT INTO product_slots VALUES(81,316); +INSERT INTO product_slots VALUES(81,317); +INSERT INTO product_slots VALUES(81,318); +INSERT INTO product_slots VALUES(81,319); +INSERT INTO product_slots VALUES(81,320); +INSERT INTO product_slots VALUES(81,321); +INSERT INTO product_slots VALUES(81,322); +INSERT INTO product_slots VALUES(81,323); +INSERT INTO product_slots VALUES(81,324); +INSERT INTO product_slots VALUES(81,325); +INSERT INTO product_slots VALUES(81,326); +INSERT INTO product_slots VALUES(81,327); +INSERT INTO product_slots VALUES(81,328); +INSERT INTO product_slots VALUES(81,329); +INSERT INTO product_slots VALUES(81,330); +INSERT INTO product_slots VALUES(81,331); +INSERT INTO product_slots VALUES(81,332); +INSERT INTO product_slots VALUES(81,333); +INSERT INTO product_slots VALUES(81,334); +INSERT INTO product_slots VALUES(81,335); +INSERT INTO product_slots VALUES(81,336); +INSERT INTO product_slots VALUES(81,337); +INSERT INTO product_slots VALUES(81,338); +INSERT INTO product_slots VALUES(81,339); +INSERT INTO product_slots VALUES(81,340); +INSERT INTO product_slots VALUES(81,341); +INSERT INTO product_slots VALUES(81,342); +INSERT INTO product_slots VALUES(81,343); +INSERT INTO product_slots VALUES(81,344); +INSERT INTO product_slots VALUES(81,345); +INSERT INTO product_slots VALUES(81,346); +INSERT INTO product_slots VALUES(81,347); +INSERT INTO product_slots VALUES(81,348); +INSERT INTO product_slots VALUES(81,349); +INSERT INTO product_slots VALUES(81,350); +INSERT INTO product_slots VALUES(81,351); +INSERT INTO product_slots VALUES(81,352); +INSERT INTO product_slots VALUES(81,353); +INSERT INTO product_slots VALUES(81,354); +INSERT INTO product_slots VALUES(81,355); +INSERT INTO product_slots VALUES(81,356); +INSERT INTO product_slots VALUES(81,357); +INSERT INTO product_slots VALUES(81,358); +INSERT INTO product_slots VALUES(81,359); +INSERT INTO product_slots VALUES(81,360); +INSERT INTO product_slots VALUES(81,361); +INSERT INTO product_slots VALUES(81,362); +INSERT INTO product_slots VALUES(81,363); +INSERT INTO product_slots VALUES(81,364); +INSERT INTO product_slots VALUES(81,365); +INSERT INTO product_slots VALUES(81,366); +INSERT INTO product_slots VALUES(81,367); +INSERT INTO product_slots VALUES(81,368); +INSERT INTO product_slots VALUES(81,369); +INSERT INTO product_slots VALUES(81,370); +INSERT INTO product_slots VALUES(81,371); +INSERT INTO product_slots VALUES(81,372); +INSERT INTO product_slots VALUES(81,373); +INSERT INTO product_slots VALUES(81,374); +INSERT INTO product_slots VALUES(81,375); +INSERT INTO product_slots VALUES(81,376); +INSERT INTO product_slots VALUES(81,377); +INSERT INTO product_slots VALUES(81,378); +INSERT INTO product_slots VALUES(81,379); +INSERT INTO product_slots VALUES(81,380); +INSERT INTO product_slots VALUES(81,381); +INSERT INTO product_slots VALUES(81,382); +INSERT INTO product_slots VALUES(81,383); +INSERT INTO product_slots VALUES(81,384); +INSERT INTO product_slots VALUES(81,385); +INSERT INTO product_slots VALUES(81,386); +INSERT INTO product_slots VALUES(81,387); +INSERT INTO product_slots VALUES(81,388); +INSERT INTO product_slots VALUES(81,389); +INSERT INTO product_slots VALUES(81,390); +INSERT INTO product_slots VALUES(81,391); +INSERT INTO product_slots VALUES(81,392); +INSERT INTO product_slots VALUES(81,393); +INSERT INTO product_slots VALUES(81,394); +INSERT INTO product_slots VALUES(81,395); +INSERT INTO product_slots VALUES(81,396); +INSERT INTO product_slots VALUES(81,397); +INSERT INTO product_slots VALUES(81,398); +INSERT INTO product_slots VALUES(81,399); +INSERT INTO product_slots VALUES(81,400); +INSERT INTO product_slots VALUES(81,401); +INSERT INTO product_slots VALUES(81,402); +INSERT INTO product_slots VALUES(81,403); +INSERT INTO product_slots VALUES(81,404); +INSERT INTO product_slots VALUES(81,405); +INSERT INTO product_slots VALUES(81,406); +INSERT INTO product_slots VALUES(81,407); +INSERT INTO product_slots VALUES(81,408); +INSERT INTO product_slots VALUES(81,409); +INSERT INTO product_slots VALUES(81,410); +INSERT INTO product_slots VALUES(81,411); +INSERT INTO product_slots VALUES(81,412); +INSERT INTO product_slots VALUES(81,413); +INSERT INTO product_slots VALUES(81,414); +INSERT INTO product_slots VALUES(81,415); +INSERT INTO product_slots VALUES(81,416); +INSERT INTO product_slots VALUES(81,417); +INSERT INTO product_slots VALUES(81,418); +INSERT INTO product_slots VALUES(81,419); +INSERT INTO product_slots VALUES(81,420); +INSERT INTO product_slots VALUES(81,421); +INSERT INTO product_slots VALUES(81,422); +INSERT INTO product_slots VALUES(81,423); +INSERT INTO product_slots VALUES(81,424); +INSERT INTO product_slots VALUES(81,425); +INSERT INTO product_slots VALUES(81,426); +INSERT INTO product_slots VALUES(81,427); +INSERT INTO product_slots VALUES(81,428); +INSERT INTO product_slots VALUES(81,429); +INSERT INTO product_slots VALUES(81,430); +INSERT INTO product_slots VALUES(81,431); +INSERT INTO product_slots VALUES(81,432); +INSERT INTO product_slots VALUES(81,433); +INSERT INTO product_slots VALUES(81,434); +INSERT INTO product_slots VALUES(81,435); +INSERT INTO product_slots VALUES(81,436); +INSERT INTO product_slots VALUES(81,437); +INSERT INTO product_slots VALUES(81,438); +INSERT INTO product_slots VALUES(81,439); +INSERT INTO product_slots VALUES(81,440); +INSERT INTO product_slots VALUES(81,441); +INSERT INTO product_slots VALUES(81,442); +INSERT INTO product_slots VALUES(81,443); +INSERT INTO product_slots VALUES(81,444); +INSERT INTO product_slots VALUES(81,445); +INSERT INTO product_slots VALUES(81,446); +INSERT INTO product_slots VALUES(81,447); +INSERT INTO product_slots VALUES(81,448); +INSERT INTO product_slots VALUES(81,449); +INSERT INTO product_slots VALUES(81,450); +INSERT INTO product_slots VALUES(81,451); +INSERT INTO product_slots VALUES(81,452); +INSERT INTO product_slots VALUES(81,453); +INSERT INTO product_slots VALUES(81,454); +INSERT INTO product_slots VALUES(81,455); +INSERT INTO product_slots VALUES(81,456); +INSERT INTO product_slots VALUES(81,457); +INSERT INTO product_slots VALUES(81,458); +INSERT INTO product_slots VALUES(81,459); +INSERT INTO product_slots VALUES(81,460); +INSERT INTO product_slots VALUES(81,461); +INSERT INTO product_slots VALUES(81,462); +INSERT INTO product_slots VALUES(81,463); +INSERT INTO product_slots VALUES(81,464); +INSERT INTO product_slots VALUES(81,465); +INSERT INTO product_slots VALUES(81,466); +INSERT INTO product_slots VALUES(81,467); +INSERT INTO product_slots VALUES(81,468); +INSERT INTO product_slots VALUES(81,469); +INSERT INTO product_slots VALUES(81,470); +INSERT INTO product_slots VALUES(81,471); INSERT INTO product_slots VALUES(82,39); INSERT INTO product_slots VALUES(82,43); INSERT INTO product_slots VALUES(82,45); @@ -18582,8 +36442,40 @@ INSERT INTO product_slots VALUES(82,241); INSERT INTO product_slots VALUES(82,242); INSERT INTO product_slots VALUES(82,243); INSERT INTO product_slots VALUES(82,244); +INSERT INTO product_slots VALUES(82,245); +INSERT INTO product_slots VALUES(82,246); +INSERT INTO product_slots VALUES(82,247); +INSERT INTO product_slots VALUES(82,248); +INSERT INTO product_slots VALUES(82,249); +INSERT INTO product_slots VALUES(82,250); +INSERT INTO product_slots VALUES(82,251); +INSERT INTO product_slots VALUES(82,252); +INSERT INTO product_slots VALUES(82,253); +INSERT INTO product_slots VALUES(82,254); +INSERT INTO product_slots VALUES(82,255); +INSERT INTO product_slots VALUES(82,256); +INSERT INTO product_slots VALUES(82,257); +INSERT INTO product_slots VALUES(82,258); +INSERT INTO product_slots VALUES(82,259); +INSERT INTO product_slots VALUES(82,260); +INSERT INTO product_slots VALUES(82,261); +INSERT INTO product_slots VALUES(82,262); +INSERT INTO product_slots VALUES(82,263); +INSERT INTO product_slots VALUES(82,264); +INSERT INTO product_slots VALUES(82,265); +INSERT INTO product_slots VALUES(82,266); +INSERT INTO product_slots VALUES(82,267); +INSERT INTO product_slots VALUES(82,268); +INSERT INTO product_slots VALUES(82,269); +INSERT INTO product_slots VALUES(82,270); +INSERT INTO product_slots VALUES(82,271); +INSERT INTO product_slots VALUES(82,272); +INSERT INTO product_slots VALUES(82,273); INSERT INTO product_slots VALUES(82,274); INSERT INTO product_slots VALUES(82,275); +INSERT INTO product_slots VALUES(82,276); +INSERT INTO product_slots VALUES(82,277); +INSERT INTO product_slots VALUES(82,278); INSERT INTO product_slots VALUES(82,279); INSERT INTO product_slots VALUES(82,280); INSERT INTO product_slots VALUES(82,281); @@ -18593,6 +36485,190 @@ INSERT INTO product_slots VALUES(82,284); INSERT INTO product_slots VALUES(82,285); INSERT INTO product_slots VALUES(82,286); INSERT INTO product_slots VALUES(82,287); +INSERT INTO product_slots VALUES(82,288); +INSERT INTO product_slots VALUES(82,289); +INSERT INTO product_slots VALUES(82,290); +INSERT INTO product_slots VALUES(82,291); +INSERT INTO product_slots VALUES(82,292); +INSERT INTO product_slots VALUES(82,293); +INSERT INTO product_slots VALUES(82,294); +INSERT INTO product_slots VALUES(82,295); +INSERT INTO product_slots VALUES(82,296); +INSERT INTO product_slots VALUES(82,297); +INSERT INTO product_slots VALUES(82,298); +INSERT INTO product_slots VALUES(82,299); +INSERT INTO product_slots VALUES(82,300); +INSERT INTO product_slots VALUES(82,301); +INSERT INTO product_slots VALUES(82,302); +INSERT INTO product_slots VALUES(82,303); +INSERT INTO product_slots VALUES(82,304); +INSERT INTO product_slots VALUES(82,305); +INSERT INTO product_slots VALUES(82,306); +INSERT INTO product_slots VALUES(82,307); +INSERT INTO product_slots VALUES(82,308); +INSERT INTO product_slots VALUES(82,309); +INSERT INTO product_slots VALUES(82,310); +INSERT INTO product_slots VALUES(82,311); +INSERT INTO product_slots VALUES(82,312); +INSERT INTO product_slots VALUES(82,313); +INSERT INTO product_slots VALUES(82,314); +INSERT INTO product_slots VALUES(82,315); +INSERT INTO product_slots VALUES(82,316); +INSERT INTO product_slots VALUES(82,317); +INSERT INTO product_slots VALUES(82,318); +INSERT INTO product_slots VALUES(82,319); +INSERT INTO product_slots VALUES(82,320); +INSERT INTO product_slots VALUES(82,321); +INSERT INTO product_slots VALUES(82,322); +INSERT INTO product_slots VALUES(82,323); +INSERT INTO product_slots VALUES(82,324); +INSERT INTO product_slots VALUES(82,325); +INSERT INTO product_slots VALUES(82,326); +INSERT INTO product_slots VALUES(82,327); +INSERT INTO product_slots VALUES(82,328); +INSERT INTO product_slots VALUES(82,329); +INSERT INTO product_slots VALUES(82,330); +INSERT INTO product_slots VALUES(82,331); +INSERT INTO product_slots VALUES(82,332); +INSERT INTO product_slots VALUES(82,333); +INSERT INTO product_slots VALUES(82,334); +INSERT INTO product_slots VALUES(82,335); +INSERT INTO product_slots VALUES(82,336); +INSERT INTO product_slots VALUES(82,337); +INSERT INTO product_slots VALUES(82,338); +INSERT INTO product_slots VALUES(82,339); +INSERT INTO product_slots VALUES(82,340); +INSERT INTO product_slots VALUES(82,341); +INSERT INTO product_slots VALUES(82,342); +INSERT INTO product_slots VALUES(82,343); +INSERT INTO product_slots VALUES(82,344); +INSERT INTO product_slots VALUES(82,345); +INSERT INTO product_slots VALUES(82,346); +INSERT INTO product_slots VALUES(82,347); +INSERT INTO product_slots VALUES(82,348); +INSERT INTO product_slots VALUES(82,349); +INSERT INTO product_slots VALUES(82,350); +INSERT INTO product_slots VALUES(82,351); +INSERT INTO product_slots VALUES(82,352); +INSERT INTO product_slots VALUES(82,353); +INSERT INTO product_slots VALUES(82,354); +INSERT INTO product_slots VALUES(82,355); +INSERT INTO product_slots VALUES(82,356); +INSERT INTO product_slots VALUES(82,357); +INSERT INTO product_slots VALUES(82,358); +INSERT INTO product_slots VALUES(82,359); +INSERT INTO product_slots VALUES(82,360); +INSERT INTO product_slots VALUES(82,361); +INSERT INTO product_slots VALUES(82,362); +INSERT INTO product_slots VALUES(82,363); +INSERT INTO product_slots VALUES(82,364); +INSERT INTO product_slots VALUES(82,365); +INSERT INTO product_slots VALUES(82,366); +INSERT INTO product_slots VALUES(82,367); +INSERT INTO product_slots VALUES(82,368); +INSERT INTO product_slots VALUES(82,369); +INSERT INTO product_slots VALUES(82,370); +INSERT INTO product_slots VALUES(82,371); +INSERT INTO product_slots VALUES(82,372); +INSERT INTO product_slots VALUES(82,373); +INSERT INTO product_slots VALUES(82,374); +INSERT INTO product_slots VALUES(82,375); +INSERT INTO product_slots VALUES(82,376); +INSERT INTO product_slots VALUES(82,377); +INSERT INTO product_slots VALUES(82,378); +INSERT INTO product_slots VALUES(82,379); +INSERT INTO product_slots VALUES(82,380); +INSERT INTO product_slots VALUES(82,381); +INSERT INTO product_slots VALUES(82,382); +INSERT INTO product_slots VALUES(82,383); +INSERT INTO product_slots VALUES(82,384); +INSERT INTO product_slots VALUES(82,385); +INSERT INTO product_slots VALUES(82,386); +INSERT INTO product_slots VALUES(82,387); +INSERT INTO product_slots VALUES(82,388); +INSERT INTO product_slots VALUES(82,389); +INSERT INTO product_slots VALUES(82,390); +INSERT INTO product_slots VALUES(82,391); +INSERT INTO product_slots VALUES(82,392); +INSERT INTO product_slots VALUES(82,393); +INSERT INTO product_slots VALUES(82,394); +INSERT INTO product_slots VALUES(82,395); +INSERT INTO product_slots VALUES(82,396); +INSERT INTO product_slots VALUES(82,397); +INSERT INTO product_slots VALUES(82,398); +INSERT INTO product_slots VALUES(82,399); +INSERT INTO product_slots VALUES(82,400); +INSERT INTO product_slots VALUES(82,401); +INSERT INTO product_slots VALUES(82,402); +INSERT INTO product_slots VALUES(82,403); +INSERT INTO product_slots VALUES(82,404); +INSERT INTO product_slots VALUES(82,405); +INSERT INTO product_slots VALUES(82,406); +INSERT INTO product_slots VALUES(82,407); +INSERT INTO product_slots VALUES(82,408); +INSERT INTO product_slots VALUES(82,409); +INSERT INTO product_slots VALUES(82,410); +INSERT INTO product_slots VALUES(82,411); +INSERT INTO product_slots VALUES(82,412); +INSERT INTO product_slots VALUES(82,413); +INSERT INTO product_slots VALUES(82,414); +INSERT INTO product_slots VALUES(82,415); +INSERT INTO product_slots VALUES(82,416); +INSERT INTO product_slots VALUES(82,417); +INSERT INTO product_slots VALUES(82,418); +INSERT INTO product_slots VALUES(82,419); +INSERT INTO product_slots VALUES(82,420); +INSERT INTO product_slots VALUES(82,421); +INSERT INTO product_slots VALUES(82,422); +INSERT INTO product_slots VALUES(82,423); +INSERT INTO product_slots VALUES(82,424); +INSERT INTO product_slots VALUES(82,425); +INSERT INTO product_slots VALUES(82,426); +INSERT INTO product_slots VALUES(82,427); +INSERT INTO product_slots VALUES(82,428); +INSERT INTO product_slots VALUES(82,429); +INSERT INTO product_slots VALUES(82,430); +INSERT INTO product_slots VALUES(82,431); +INSERT INTO product_slots VALUES(82,432); +INSERT INTO product_slots VALUES(82,433); +INSERT INTO product_slots VALUES(82,434); +INSERT INTO product_slots VALUES(82,435); +INSERT INTO product_slots VALUES(82,436); +INSERT INTO product_slots VALUES(82,437); +INSERT INTO product_slots VALUES(82,438); +INSERT INTO product_slots VALUES(82,439); +INSERT INTO product_slots VALUES(82,440); +INSERT INTO product_slots VALUES(82,441); +INSERT INTO product_slots VALUES(82,442); +INSERT INTO product_slots VALUES(82,443); +INSERT INTO product_slots VALUES(82,444); +INSERT INTO product_slots VALUES(82,445); +INSERT INTO product_slots VALUES(82,446); +INSERT INTO product_slots VALUES(82,447); +INSERT INTO product_slots VALUES(82,448); +INSERT INTO product_slots VALUES(82,449); +INSERT INTO product_slots VALUES(82,450); +INSERT INTO product_slots VALUES(82,451); +INSERT INTO product_slots VALUES(82,452); +INSERT INTO product_slots VALUES(82,453); +INSERT INTO product_slots VALUES(82,454); +INSERT INTO product_slots VALUES(82,455); +INSERT INTO product_slots VALUES(82,456); +INSERT INTO product_slots VALUES(82,457); +INSERT INTO product_slots VALUES(82,458); +INSERT INTO product_slots VALUES(82,459); +INSERT INTO product_slots VALUES(82,460); +INSERT INTO product_slots VALUES(82,461); +INSERT INTO product_slots VALUES(82,462); +INSERT INTO product_slots VALUES(82,463); +INSERT INTO product_slots VALUES(82,464); +INSERT INTO product_slots VALUES(82,465); +INSERT INTO product_slots VALUES(82,466); +INSERT INTO product_slots VALUES(82,467); +INSERT INTO product_slots VALUES(82,468); +INSERT INTO product_slots VALUES(82,469); +INSERT INTO product_slots VALUES(82,470); +INSERT INTO product_slots VALUES(82,471); INSERT INTO product_slots VALUES(83,39); INSERT INTO product_slots VALUES(83,43); INSERT INTO product_slots VALUES(83,45); @@ -18757,8 +36833,40 @@ INSERT INTO product_slots VALUES(83,241); INSERT INTO product_slots VALUES(83,242); INSERT INTO product_slots VALUES(83,243); INSERT INTO product_slots VALUES(83,244); +INSERT INTO product_slots VALUES(83,245); +INSERT INTO product_slots VALUES(83,246); +INSERT INTO product_slots VALUES(83,247); +INSERT INTO product_slots VALUES(83,248); +INSERT INTO product_slots VALUES(83,249); +INSERT INTO product_slots VALUES(83,250); +INSERT INTO product_slots VALUES(83,251); +INSERT INTO product_slots VALUES(83,252); +INSERT INTO product_slots VALUES(83,253); +INSERT INTO product_slots VALUES(83,254); +INSERT INTO product_slots VALUES(83,255); +INSERT INTO product_slots VALUES(83,256); +INSERT INTO product_slots VALUES(83,257); +INSERT INTO product_slots VALUES(83,258); +INSERT INTO product_slots VALUES(83,259); +INSERT INTO product_slots VALUES(83,260); +INSERT INTO product_slots VALUES(83,261); +INSERT INTO product_slots VALUES(83,262); +INSERT INTO product_slots VALUES(83,263); +INSERT INTO product_slots VALUES(83,264); +INSERT INTO product_slots VALUES(83,265); +INSERT INTO product_slots VALUES(83,266); +INSERT INTO product_slots VALUES(83,267); +INSERT INTO product_slots VALUES(83,268); +INSERT INTO product_slots VALUES(83,269); +INSERT INTO product_slots VALUES(83,270); +INSERT INTO product_slots VALUES(83,271); +INSERT INTO product_slots VALUES(83,272); +INSERT INTO product_slots VALUES(83,273); INSERT INTO product_slots VALUES(83,274); INSERT INTO product_slots VALUES(83,275); +INSERT INTO product_slots VALUES(83,276); +INSERT INTO product_slots VALUES(83,277); +INSERT INTO product_slots VALUES(83,278); INSERT INTO product_slots VALUES(83,279); INSERT INTO product_slots VALUES(83,280); INSERT INTO product_slots VALUES(83,281); @@ -18768,6 +36876,190 @@ INSERT INTO product_slots VALUES(83,284); INSERT INTO product_slots VALUES(83,285); INSERT INTO product_slots VALUES(83,286); INSERT INTO product_slots VALUES(83,287); +INSERT INTO product_slots VALUES(83,288); +INSERT INTO product_slots VALUES(83,289); +INSERT INTO product_slots VALUES(83,290); +INSERT INTO product_slots VALUES(83,291); +INSERT INTO product_slots VALUES(83,292); +INSERT INTO product_slots VALUES(83,293); +INSERT INTO product_slots VALUES(83,294); +INSERT INTO product_slots VALUES(83,295); +INSERT INTO product_slots VALUES(83,296); +INSERT INTO product_slots VALUES(83,297); +INSERT INTO product_slots VALUES(83,298); +INSERT INTO product_slots VALUES(83,299); +INSERT INTO product_slots VALUES(83,300); +INSERT INTO product_slots VALUES(83,301); +INSERT INTO product_slots VALUES(83,302); +INSERT INTO product_slots VALUES(83,303); +INSERT INTO product_slots VALUES(83,304); +INSERT INTO product_slots VALUES(83,305); +INSERT INTO product_slots VALUES(83,306); +INSERT INTO product_slots VALUES(83,307); +INSERT INTO product_slots VALUES(83,308); +INSERT INTO product_slots VALUES(83,309); +INSERT INTO product_slots VALUES(83,310); +INSERT INTO product_slots VALUES(83,311); +INSERT INTO product_slots VALUES(83,312); +INSERT INTO product_slots VALUES(83,313); +INSERT INTO product_slots VALUES(83,314); +INSERT INTO product_slots VALUES(83,315); +INSERT INTO product_slots VALUES(83,316); +INSERT INTO product_slots VALUES(83,317); +INSERT INTO product_slots VALUES(83,318); +INSERT INTO product_slots VALUES(83,319); +INSERT INTO product_slots VALUES(83,320); +INSERT INTO product_slots VALUES(83,321); +INSERT INTO product_slots VALUES(83,322); +INSERT INTO product_slots VALUES(83,323); +INSERT INTO product_slots VALUES(83,324); +INSERT INTO product_slots VALUES(83,325); +INSERT INTO product_slots VALUES(83,326); +INSERT INTO product_slots VALUES(83,327); +INSERT INTO product_slots VALUES(83,328); +INSERT INTO product_slots VALUES(83,329); +INSERT INTO product_slots VALUES(83,330); +INSERT INTO product_slots VALUES(83,331); +INSERT INTO product_slots VALUES(83,332); +INSERT INTO product_slots VALUES(83,333); +INSERT INTO product_slots VALUES(83,334); +INSERT INTO product_slots VALUES(83,335); +INSERT INTO product_slots VALUES(83,336); +INSERT INTO product_slots VALUES(83,337); +INSERT INTO product_slots VALUES(83,338); +INSERT INTO product_slots VALUES(83,339); +INSERT INTO product_slots VALUES(83,340); +INSERT INTO product_slots VALUES(83,341); +INSERT INTO product_slots VALUES(83,342); +INSERT INTO product_slots VALUES(83,343); +INSERT INTO product_slots VALUES(83,344); +INSERT INTO product_slots VALUES(83,345); +INSERT INTO product_slots VALUES(83,346); +INSERT INTO product_slots VALUES(83,347); +INSERT INTO product_slots VALUES(83,348); +INSERT INTO product_slots VALUES(83,349); +INSERT INTO product_slots VALUES(83,350); +INSERT INTO product_slots VALUES(83,351); +INSERT INTO product_slots VALUES(83,352); +INSERT INTO product_slots VALUES(83,353); +INSERT INTO product_slots VALUES(83,354); +INSERT INTO product_slots VALUES(83,355); +INSERT INTO product_slots VALUES(83,356); +INSERT INTO product_slots VALUES(83,357); +INSERT INTO product_slots VALUES(83,358); +INSERT INTO product_slots VALUES(83,359); +INSERT INTO product_slots VALUES(83,360); +INSERT INTO product_slots VALUES(83,361); +INSERT INTO product_slots VALUES(83,362); +INSERT INTO product_slots VALUES(83,363); +INSERT INTO product_slots VALUES(83,364); +INSERT INTO product_slots VALUES(83,365); +INSERT INTO product_slots VALUES(83,366); +INSERT INTO product_slots VALUES(83,367); +INSERT INTO product_slots VALUES(83,368); +INSERT INTO product_slots VALUES(83,369); +INSERT INTO product_slots VALUES(83,370); +INSERT INTO product_slots VALUES(83,371); +INSERT INTO product_slots VALUES(83,372); +INSERT INTO product_slots VALUES(83,373); +INSERT INTO product_slots VALUES(83,374); +INSERT INTO product_slots VALUES(83,375); +INSERT INTO product_slots VALUES(83,376); +INSERT INTO product_slots VALUES(83,377); +INSERT INTO product_slots VALUES(83,378); +INSERT INTO product_slots VALUES(83,379); +INSERT INTO product_slots VALUES(83,380); +INSERT INTO product_slots VALUES(83,381); +INSERT INTO product_slots VALUES(83,382); +INSERT INTO product_slots VALUES(83,383); +INSERT INTO product_slots VALUES(83,384); +INSERT INTO product_slots VALUES(83,385); +INSERT INTO product_slots VALUES(83,386); +INSERT INTO product_slots VALUES(83,387); +INSERT INTO product_slots VALUES(83,388); +INSERT INTO product_slots VALUES(83,389); +INSERT INTO product_slots VALUES(83,390); +INSERT INTO product_slots VALUES(83,391); +INSERT INTO product_slots VALUES(83,392); +INSERT INTO product_slots VALUES(83,393); +INSERT INTO product_slots VALUES(83,394); +INSERT INTO product_slots VALUES(83,395); +INSERT INTO product_slots VALUES(83,396); +INSERT INTO product_slots VALUES(83,397); +INSERT INTO product_slots VALUES(83,398); +INSERT INTO product_slots VALUES(83,399); +INSERT INTO product_slots VALUES(83,400); +INSERT INTO product_slots VALUES(83,401); +INSERT INTO product_slots VALUES(83,402); +INSERT INTO product_slots VALUES(83,403); +INSERT INTO product_slots VALUES(83,404); +INSERT INTO product_slots VALUES(83,405); +INSERT INTO product_slots VALUES(83,406); +INSERT INTO product_slots VALUES(83,407); +INSERT INTO product_slots VALUES(83,408); +INSERT INTO product_slots VALUES(83,409); +INSERT INTO product_slots VALUES(83,410); +INSERT INTO product_slots VALUES(83,411); +INSERT INTO product_slots VALUES(83,412); +INSERT INTO product_slots VALUES(83,413); +INSERT INTO product_slots VALUES(83,414); +INSERT INTO product_slots VALUES(83,415); +INSERT INTO product_slots VALUES(83,416); +INSERT INTO product_slots VALUES(83,417); +INSERT INTO product_slots VALUES(83,418); +INSERT INTO product_slots VALUES(83,419); +INSERT INTO product_slots VALUES(83,420); +INSERT INTO product_slots VALUES(83,421); +INSERT INTO product_slots VALUES(83,422); +INSERT INTO product_slots VALUES(83,423); +INSERT INTO product_slots VALUES(83,424); +INSERT INTO product_slots VALUES(83,425); +INSERT INTO product_slots VALUES(83,426); +INSERT INTO product_slots VALUES(83,427); +INSERT INTO product_slots VALUES(83,428); +INSERT INTO product_slots VALUES(83,429); +INSERT INTO product_slots VALUES(83,430); +INSERT INTO product_slots VALUES(83,431); +INSERT INTO product_slots VALUES(83,432); +INSERT INTO product_slots VALUES(83,433); +INSERT INTO product_slots VALUES(83,434); +INSERT INTO product_slots VALUES(83,435); +INSERT INTO product_slots VALUES(83,436); +INSERT INTO product_slots VALUES(83,437); +INSERT INTO product_slots VALUES(83,438); +INSERT INTO product_slots VALUES(83,439); +INSERT INTO product_slots VALUES(83,440); +INSERT INTO product_slots VALUES(83,441); +INSERT INTO product_slots VALUES(83,442); +INSERT INTO product_slots VALUES(83,443); +INSERT INTO product_slots VALUES(83,444); +INSERT INTO product_slots VALUES(83,445); +INSERT INTO product_slots VALUES(83,446); +INSERT INTO product_slots VALUES(83,447); +INSERT INTO product_slots VALUES(83,448); +INSERT INTO product_slots VALUES(83,449); +INSERT INTO product_slots VALUES(83,450); +INSERT INTO product_slots VALUES(83,451); +INSERT INTO product_slots VALUES(83,452); +INSERT INTO product_slots VALUES(83,453); +INSERT INTO product_slots VALUES(83,454); +INSERT INTO product_slots VALUES(83,455); +INSERT INTO product_slots VALUES(83,456); +INSERT INTO product_slots VALUES(83,457); +INSERT INTO product_slots VALUES(83,458); +INSERT INTO product_slots VALUES(83,459); +INSERT INTO product_slots VALUES(83,460); +INSERT INTO product_slots VALUES(83,461); +INSERT INTO product_slots VALUES(83,462); +INSERT INTO product_slots VALUES(83,463); +INSERT INTO product_slots VALUES(83,464); +INSERT INTO product_slots VALUES(83,465); +INSERT INTO product_slots VALUES(83,466); +INSERT INTO product_slots VALUES(83,467); +INSERT INTO product_slots VALUES(83,468); +INSERT INTO product_slots VALUES(83,469); +INSERT INTO product_slots VALUES(83,470); +INSERT INTO product_slots VALUES(83,471); INSERT INTO product_slots VALUES(85,81); INSERT INTO product_slots VALUES(85,82); INSERT INTO product_slots VALUES(85,83); @@ -18794,6 +37086,8 @@ INSERT INTO product_slots VALUES(85,134); INSERT INTO product_slots VALUES(85,135); INSERT INTO product_slots VALUES(85,136); INSERT INTO product_slots VALUES(85,187); +INSERT INTO product_slots VALUES(85,430); +INSERT INTO product_slots VALUES(85,431); INSERT INTO product_slots VALUES(86,39); INSERT INTO product_slots VALUES(86,41); INSERT INTO product_slots VALUES(86,43); @@ -18930,11 +37224,136 @@ INSERT INTO product_slots VALUES(86,237); INSERT INTO product_slots VALUES(86,238); INSERT INTO product_slots VALUES(86,239); INSERT INTO product_slots VALUES(86,240); +INSERT INTO product_slots VALUES(86,245); +INSERT INTO product_slots VALUES(86,246); +INSERT INTO product_slots VALUES(86,247); +INSERT INTO product_slots VALUES(86,248); +INSERT INTO product_slots VALUES(86,252); +INSERT INTO product_slots VALUES(86,253); +INSERT INTO product_slots VALUES(86,255); +INSERT INTO product_slots VALUES(86,259); +INSERT INTO product_slots VALUES(86,260); +INSERT INTO product_slots VALUES(86,261); +INSERT INTO product_slots VALUES(86,262); +INSERT INTO product_slots VALUES(86,263); +INSERT INTO product_slots VALUES(86,266); +INSERT INTO product_slots VALUES(86,267); +INSERT INTO product_slots VALUES(86,268); +INSERT INTO product_slots VALUES(86,269); +INSERT INTO product_slots VALUES(86,270); +INSERT INTO product_slots VALUES(86,273); INSERT INTO product_slots VALUES(86,274); INSERT INTO product_slots VALUES(86,275); INSERT INTO product_slots VALUES(86,277); INSERT INTO product_slots VALUES(86,278); INSERT INTO product_slots VALUES(86,279); +INSERT INTO product_slots VALUES(86,280); +INSERT INTO product_slots VALUES(86,281); +INSERT INTO product_slots VALUES(86,282); +INSERT INTO product_slots VALUES(86,283); +INSERT INTO product_slots VALUES(86,287); +INSERT INTO product_slots VALUES(86,288); +INSERT INTO product_slots VALUES(86,289); +INSERT INTO product_slots VALUES(86,290); +INSERT INTO product_slots VALUES(86,294); +INSERT INTO product_slots VALUES(86,295); +INSERT INTO product_slots VALUES(86,296); +INSERT INTO product_slots VALUES(86,297); +INSERT INTO product_slots VALUES(86,301); +INSERT INTO product_slots VALUES(86,302); +INSERT INTO product_slots VALUES(86,308); +INSERT INTO product_slots VALUES(86,309); +INSERT INTO product_slots VALUES(86,310); +INSERT INTO product_slots VALUES(86,311); +INSERT INTO product_slots VALUES(86,315); +INSERT INTO product_slots VALUES(86,316); +INSERT INTO product_slots VALUES(86,317); +INSERT INTO product_slots VALUES(86,318); +INSERT INTO product_slots VALUES(86,319); +INSERT INTO product_slots VALUES(86,322); +INSERT INTO product_slots VALUES(86,323); +INSERT INTO product_slots VALUES(86,324); +INSERT INTO product_slots VALUES(86,325); +INSERT INTO product_slots VALUES(86,329); +INSERT INTO product_slots VALUES(86,330); +INSERT INTO product_slots VALUES(86,334); +INSERT INTO product_slots VALUES(86,335); +INSERT INTO product_slots VALUES(86,336); +INSERT INTO product_slots VALUES(86,337); +INSERT INTO product_slots VALUES(86,338); +INSERT INTO product_slots VALUES(86,341); +INSERT INTO product_slots VALUES(86,342); +INSERT INTO product_slots VALUES(86,343); +INSERT INTO product_slots VALUES(86,344); +INSERT INTO product_slots VALUES(86,348); +INSERT INTO product_slots VALUES(86,349); +INSERT INTO product_slots VALUES(86,350); +INSERT INTO product_slots VALUES(86,351); +INSERT INTO product_slots VALUES(86,355); +INSERT INTO product_slots VALUES(86,356); +INSERT INTO product_slots VALUES(86,357); +INSERT INTO product_slots VALUES(86,358); +INSERT INTO product_slots VALUES(86,360); +INSERT INTO product_slots VALUES(86,361); +INSERT INTO product_slots VALUES(86,362); +INSERT INTO product_slots VALUES(86,363); +INSERT INTO product_slots VALUES(86,367); +INSERT INTO product_slots VALUES(86,368); +INSERT INTO product_slots VALUES(86,369); +INSERT INTO product_slots VALUES(86,370); +INSERT INTO product_slots VALUES(86,374); +INSERT INTO product_slots VALUES(86,375); +INSERT INTO product_slots VALUES(86,376); +INSERT INTO product_slots VALUES(86,377); +INSERT INTO product_slots VALUES(86,381); +INSERT INTO product_slots VALUES(86,382); +INSERT INTO product_slots VALUES(86,383); +INSERT INTO product_slots VALUES(86,384); +INSERT INTO product_slots VALUES(86,385); +INSERT INTO product_slots VALUES(86,389); +INSERT INTO product_slots VALUES(86,390); +INSERT INTO product_slots VALUES(86,391); +INSERT INTO product_slots VALUES(86,395); +INSERT INTO product_slots VALUES(86,396); +INSERT INTO product_slots VALUES(86,397); +INSERT INTO product_slots VALUES(86,398); +INSERT INTO product_slots VALUES(86,399); +INSERT INTO product_slots VALUES(86,400); +INSERT INTO product_slots VALUES(86,401); +INSERT INTO product_slots VALUES(86,402); +INSERT INTO product_slots VALUES(86,403); +INSERT INTO product_slots VALUES(86,404); +INSERT INTO product_slots VALUES(86,405); +INSERT INTO product_slots VALUES(86,406); +INSERT INTO product_slots VALUES(86,411); +INSERT INTO product_slots VALUES(86,412); +INSERT INTO product_slots VALUES(86,413); +INSERT INTO product_slots VALUES(86,414); +INSERT INTO product_slots VALUES(86,419); +INSERT INTO product_slots VALUES(86,420); +INSERT INTO product_slots VALUES(86,421); +INSERT INTO product_slots VALUES(86,422); +INSERT INTO product_slots VALUES(86,427); +INSERT INTO product_slots VALUES(86,428); +INSERT INTO product_slots VALUES(86,429); +INSERT INTO product_slots VALUES(86,434); +INSERT INTO product_slots VALUES(86,435); +INSERT INTO product_slots VALUES(86,436); +INSERT INTO product_slots VALUES(86,437); +INSERT INTO product_slots VALUES(86,442); +INSERT INTO product_slots VALUES(86,443); +INSERT INTO product_slots VALUES(86,444); +INSERT INTO product_slots VALUES(86,450); +INSERT INTO product_slots VALUES(86,451); +INSERT INTO product_slots VALUES(86,452); +INSERT INTO product_slots VALUES(86,453); +INSERT INTO product_slots VALUES(86,458); +INSERT INTO product_slots VALUES(86,459); +INSERT INTO product_slots VALUES(86,460); +INSERT INTO product_slots VALUES(86,461); +INSERT INTO product_slots VALUES(86,466); +INSERT INTO product_slots VALUES(86,467); +INSERT INTO product_slots VALUES(86,468); INSERT INTO product_slots VALUES(88,39); INSERT INTO product_slots VALUES(88,44); INSERT INTO product_slots VALUES(88,46); @@ -19063,8 +37482,40 @@ INSERT INTO product_slots VALUES(88,241); INSERT INTO product_slots VALUES(88,242); INSERT INTO product_slots VALUES(88,243); INSERT INTO product_slots VALUES(88,244); +INSERT INTO product_slots VALUES(88,245); +INSERT INTO product_slots VALUES(88,246); +INSERT INTO product_slots VALUES(88,247); +INSERT INTO product_slots VALUES(88,248); +INSERT INTO product_slots VALUES(88,249); +INSERT INTO product_slots VALUES(88,250); +INSERT INTO product_slots VALUES(88,251); +INSERT INTO product_slots VALUES(88,252); +INSERT INTO product_slots VALUES(88,253); +INSERT INTO product_slots VALUES(88,254); +INSERT INTO product_slots VALUES(88,255); +INSERT INTO product_slots VALUES(88,256); +INSERT INTO product_slots VALUES(88,257); +INSERT INTO product_slots VALUES(88,258); +INSERT INTO product_slots VALUES(88,259); +INSERT INTO product_slots VALUES(88,260); +INSERT INTO product_slots VALUES(88,261); +INSERT INTO product_slots VALUES(88,262); +INSERT INTO product_slots VALUES(88,263); +INSERT INTO product_slots VALUES(88,264); +INSERT INTO product_slots VALUES(88,265); +INSERT INTO product_slots VALUES(88,266); +INSERT INTO product_slots VALUES(88,267); +INSERT INTO product_slots VALUES(88,268); +INSERT INTO product_slots VALUES(88,269); +INSERT INTO product_slots VALUES(88,270); +INSERT INTO product_slots VALUES(88,271); +INSERT INTO product_slots VALUES(88,272); +INSERT INTO product_slots VALUES(88,273); INSERT INTO product_slots VALUES(88,274); INSERT INTO product_slots VALUES(88,275); +INSERT INTO product_slots VALUES(88,276); +INSERT INTO product_slots VALUES(88,277); +INSERT INTO product_slots VALUES(88,278); INSERT INTO product_slots VALUES(88,279); INSERT INTO product_slots VALUES(88,280); INSERT INTO product_slots VALUES(88,281); @@ -19074,6 +37525,190 @@ INSERT INTO product_slots VALUES(88,284); INSERT INTO product_slots VALUES(88,285); INSERT INTO product_slots VALUES(88,286); INSERT INTO product_slots VALUES(88,287); +INSERT INTO product_slots VALUES(88,288); +INSERT INTO product_slots VALUES(88,289); +INSERT INTO product_slots VALUES(88,290); +INSERT INTO product_slots VALUES(88,291); +INSERT INTO product_slots VALUES(88,292); +INSERT INTO product_slots VALUES(88,293); +INSERT INTO product_slots VALUES(88,294); +INSERT INTO product_slots VALUES(88,295); +INSERT INTO product_slots VALUES(88,296); +INSERT INTO product_slots VALUES(88,297); +INSERT INTO product_slots VALUES(88,298); +INSERT INTO product_slots VALUES(88,299); +INSERT INTO product_slots VALUES(88,300); +INSERT INTO product_slots VALUES(88,301); +INSERT INTO product_slots VALUES(88,302); +INSERT INTO product_slots VALUES(88,303); +INSERT INTO product_slots VALUES(88,304); +INSERT INTO product_slots VALUES(88,305); +INSERT INTO product_slots VALUES(88,306); +INSERT INTO product_slots VALUES(88,307); +INSERT INTO product_slots VALUES(88,308); +INSERT INTO product_slots VALUES(88,309); +INSERT INTO product_slots VALUES(88,310); +INSERT INTO product_slots VALUES(88,311); +INSERT INTO product_slots VALUES(88,312); +INSERT INTO product_slots VALUES(88,313); +INSERT INTO product_slots VALUES(88,314); +INSERT INTO product_slots VALUES(88,315); +INSERT INTO product_slots VALUES(88,316); +INSERT INTO product_slots VALUES(88,317); +INSERT INTO product_slots VALUES(88,318); +INSERT INTO product_slots VALUES(88,319); +INSERT INTO product_slots VALUES(88,320); +INSERT INTO product_slots VALUES(88,321); +INSERT INTO product_slots VALUES(88,322); +INSERT INTO product_slots VALUES(88,323); +INSERT INTO product_slots VALUES(88,324); +INSERT INTO product_slots VALUES(88,325); +INSERT INTO product_slots VALUES(88,326); +INSERT INTO product_slots VALUES(88,327); +INSERT INTO product_slots VALUES(88,328); +INSERT INTO product_slots VALUES(88,329); +INSERT INTO product_slots VALUES(88,330); +INSERT INTO product_slots VALUES(88,331); +INSERT INTO product_slots VALUES(88,332); +INSERT INTO product_slots VALUES(88,333); +INSERT INTO product_slots VALUES(88,334); +INSERT INTO product_slots VALUES(88,335); +INSERT INTO product_slots VALUES(88,336); +INSERT INTO product_slots VALUES(88,337); +INSERT INTO product_slots VALUES(88,338); +INSERT INTO product_slots VALUES(88,339); +INSERT INTO product_slots VALUES(88,340); +INSERT INTO product_slots VALUES(88,341); +INSERT INTO product_slots VALUES(88,342); +INSERT INTO product_slots VALUES(88,343); +INSERT INTO product_slots VALUES(88,344); +INSERT INTO product_slots VALUES(88,345); +INSERT INTO product_slots VALUES(88,346); +INSERT INTO product_slots VALUES(88,347); +INSERT INTO product_slots VALUES(88,348); +INSERT INTO product_slots VALUES(88,349); +INSERT INTO product_slots VALUES(88,350); +INSERT INTO product_slots VALUES(88,351); +INSERT INTO product_slots VALUES(88,352); +INSERT INTO product_slots VALUES(88,353); +INSERT INTO product_slots VALUES(88,354); +INSERT INTO product_slots VALUES(88,355); +INSERT INTO product_slots VALUES(88,356); +INSERT INTO product_slots VALUES(88,357); +INSERT INTO product_slots VALUES(88,358); +INSERT INTO product_slots VALUES(88,359); +INSERT INTO product_slots VALUES(88,360); +INSERT INTO product_slots VALUES(88,361); +INSERT INTO product_slots VALUES(88,362); +INSERT INTO product_slots VALUES(88,363); +INSERT INTO product_slots VALUES(88,364); +INSERT INTO product_slots VALUES(88,365); +INSERT INTO product_slots VALUES(88,366); +INSERT INTO product_slots VALUES(88,367); +INSERT INTO product_slots VALUES(88,368); +INSERT INTO product_slots VALUES(88,369); +INSERT INTO product_slots VALUES(88,370); +INSERT INTO product_slots VALUES(88,371); +INSERT INTO product_slots VALUES(88,372); +INSERT INTO product_slots VALUES(88,373); +INSERT INTO product_slots VALUES(88,374); +INSERT INTO product_slots VALUES(88,375); +INSERT INTO product_slots VALUES(88,376); +INSERT INTO product_slots VALUES(88,377); +INSERT INTO product_slots VALUES(88,378); +INSERT INTO product_slots VALUES(88,379); +INSERT INTO product_slots VALUES(88,380); +INSERT INTO product_slots VALUES(88,381); +INSERT INTO product_slots VALUES(88,382); +INSERT INTO product_slots VALUES(88,383); +INSERT INTO product_slots VALUES(88,384); +INSERT INTO product_slots VALUES(88,385); +INSERT INTO product_slots VALUES(88,386); +INSERT INTO product_slots VALUES(88,387); +INSERT INTO product_slots VALUES(88,388); +INSERT INTO product_slots VALUES(88,389); +INSERT INTO product_slots VALUES(88,390); +INSERT INTO product_slots VALUES(88,391); +INSERT INTO product_slots VALUES(88,392); +INSERT INTO product_slots VALUES(88,393); +INSERT INTO product_slots VALUES(88,394); +INSERT INTO product_slots VALUES(88,395); +INSERT INTO product_slots VALUES(88,396); +INSERT INTO product_slots VALUES(88,397); +INSERT INTO product_slots VALUES(88,398); +INSERT INTO product_slots VALUES(88,399); +INSERT INTO product_slots VALUES(88,400); +INSERT INTO product_slots VALUES(88,401); +INSERT INTO product_slots VALUES(88,402); +INSERT INTO product_slots VALUES(88,403); +INSERT INTO product_slots VALUES(88,404); +INSERT INTO product_slots VALUES(88,405); +INSERT INTO product_slots VALUES(88,406); +INSERT INTO product_slots VALUES(88,407); +INSERT INTO product_slots VALUES(88,408); +INSERT INTO product_slots VALUES(88,409); +INSERT INTO product_slots VALUES(88,410); +INSERT INTO product_slots VALUES(88,411); +INSERT INTO product_slots VALUES(88,412); +INSERT INTO product_slots VALUES(88,413); +INSERT INTO product_slots VALUES(88,414); +INSERT INTO product_slots VALUES(88,415); +INSERT INTO product_slots VALUES(88,416); +INSERT INTO product_slots VALUES(88,417); +INSERT INTO product_slots VALUES(88,418); +INSERT INTO product_slots VALUES(88,419); +INSERT INTO product_slots VALUES(88,420); +INSERT INTO product_slots VALUES(88,421); +INSERT INTO product_slots VALUES(88,422); +INSERT INTO product_slots VALUES(88,423); +INSERT INTO product_slots VALUES(88,424); +INSERT INTO product_slots VALUES(88,425); +INSERT INTO product_slots VALUES(88,426); +INSERT INTO product_slots VALUES(88,427); +INSERT INTO product_slots VALUES(88,428); +INSERT INTO product_slots VALUES(88,429); +INSERT INTO product_slots VALUES(88,430); +INSERT INTO product_slots VALUES(88,431); +INSERT INTO product_slots VALUES(88,432); +INSERT INTO product_slots VALUES(88,433); +INSERT INTO product_slots VALUES(88,434); +INSERT INTO product_slots VALUES(88,435); +INSERT INTO product_slots VALUES(88,436); +INSERT INTO product_slots VALUES(88,437); +INSERT INTO product_slots VALUES(88,438); +INSERT INTO product_slots VALUES(88,439); +INSERT INTO product_slots VALUES(88,440); +INSERT INTO product_slots VALUES(88,441); +INSERT INTO product_slots VALUES(88,442); +INSERT INTO product_slots VALUES(88,443); +INSERT INTO product_slots VALUES(88,444); +INSERT INTO product_slots VALUES(88,445); +INSERT INTO product_slots VALUES(88,446); +INSERT INTO product_slots VALUES(88,447); +INSERT INTO product_slots VALUES(88,448); +INSERT INTO product_slots VALUES(88,449); +INSERT INTO product_slots VALUES(88,450); +INSERT INTO product_slots VALUES(88,451); +INSERT INTO product_slots VALUES(88,452); +INSERT INTO product_slots VALUES(88,453); +INSERT INTO product_slots VALUES(88,454); +INSERT INTO product_slots VALUES(88,455); +INSERT INTO product_slots VALUES(88,456); +INSERT INTO product_slots VALUES(88,457); +INSERT INTO product_slots VALUES(88,458); +INSERT INTO product_slots VALUES(88,459); +INSERT INTO product_slots VALUES(88,460); +INSERT INTO product_slots VALUES(88,461); +INSERT INTO product_slots VALUES(88,462); +INSERT INTO product_slots VALUES(88,463); +INSERT INTO product_slots VALUES(88,464); +INSERT INTO product_slots VALUES(88,465); +INSERT INTO product_slots VALUES(88,466); +INSERT INTO product_slots VALUES(88,467); +INSERT INTO product_slots VALUES(88,468); +INSERT INTO product_slots VALUES(88,469); +INSERT INTO product_slots VALUES(88,470); +INSERT INTO product_slots VALUES(88,471); INSERT INTO product_slots VALUES(89,39); INSERT INTO product_slots VALUES(89,44); INSERT INTO product_slots VALUES(89,46); @@ -19275,8 +37910,40 @@ INSERT INTO product_slots VALUES(89,241); INSERT INTO product_slots VALUES(89,242); INSERT INTO product_slots VALUES(89,243); INSERT INTO product_slots VALUES(89,244); +INSERT INTO product_slots VALUES(89,245); +INSERT INTO product_slots VALUES(89,246); +INSERT INTO product_slots VALUES(89,247); +INSERT INTO product_slots VALUES(89,248); +INSERT INTO product_slots VALUES(89,249); +INSERT INTO product_slots VALUES(89,250); +INSERT INTO product_slots VALUES(89,251); +INSERT INTO product_slots VALUES(89,252); +INSERT INTO product_slots VALUES(89,253); +INSERT INTO product_slots VALUES(89,254); +INSERT INTO product_slots VALUES(89,255); +INSERT INTO product_slots VALUES(89,256); +INSERT INTO product_slots VALUES(89,257); +INSERT INTO product_slots VALUES(89,258); +INSERT INTO product_slots VALUES(89,259); +INSERT INTO product_slots VALUES(89,260); +INSERT INTO product_slots VALUES(89,261); +INSERT INTO product_slots VALUES(89,262); +INSERT INTO product_slots VALUES(89,263); +INSERT INTO product_slots VALUES(89,264); +INSERT INTO product_slots VALUES(89,265); +INSERT INTO product_slots VALUES(89,266); +INSERT INTO product_slots VALUES(89,267); +INSERT INTO product_slots VALUES(89,268); +INSERT INTO product_slots VALUES(89,269); +INSERT INTO product_slots VALUES(89,270); +INSERT INTO product_slots VALUES(89,271); +INSERT INTO product_slots VALUES(89,272); +INSERT INTO product_slots VALUES(89,273); INSERT INTO product_slots VALUES(89,274); INSERT INTO product_slots VALUES(89,275); +INSERT INTO product_slots VALUES(89,276); +INSERT INTO product_slots VALUES(89,277); +INSERT INTO product_slots VALUES(89,278); INSERT INTO product_slots VALUES(89,279); INSERT INTO product_slots VALUES(89,280); INSERT INTO product_slots VALUES(89,281); @@ -19286,6 +37953,190 @@ INSERT INTO product_slots VALUES(89,284); INSERT INTO product_slots VALUES(89,285); INSERT INTO product_slots VALUES(89,286); INSERT INTO product_slots VALUES(89,287); +INSERT INTO product_slots VALUES(89,288); +INSERT INTO product_slots VALUES(89,289); +INSERT INTO product_slots VALUES(89,290); +INSERT INTO product_slots VALUES(89,291); +INSERT INTO product_slots VALUES(89,292); +INSERT INTO product_slots VALUES(89,293); +INSERT INTO product_slots VALUES(89,294); +INSERT INTO product_slots VALUES(89,295); +INSERT INTO product_slots VALUES(89,296); +INSERT INTO product_slots VALUES(89,297); +INSERT INTO product_slots VALUES(89,298); +INSERT INTO product_slots VALUES(89,299); +INSERT INTO product_slots VALUES(89,300); +INSERT INTO product_slots VALUES(89,301); +INSERT INTO product_slots VALUES(89,302); +INSERT INTO product_slots VALUES(89,303); +INSERT INTO product_slots VALUES(89,304); +INSERT INTO product_slots VALUES(89,305); +INSERT INTO product_slots VALUES(89,306); +INSERT INTO product_slots VALUES(89,307); +INSERT INTO product_slots VALUES(89,308); +INSERT INTO product_slots VALUES(89,309); +INSERT INTO product_slots VALUES(89,310); +INSERT INTO product_slots VALUES(89,311); +INSERT INTO product_slots VALUES(89,312); +INSERT INTO product_slots VALUES(89,313); +INSERT INTO product_slots VALUES(89,314); +INSERT INTO product_slots VALUES(89,315); +INSERT INTO product_slots VALUES(89,316); +INSERT INTO product_slots VALUES(89,317); +INSERT INTO product_slots VALUES(89,318); +INSERT INTO product_slots VALUES(89,319); +INSERT INTO product_slots VALUES(89,320); +INSERT INTO product_slots VALUES(89,321); +INSERT INTO product_slots VALUES(89,322); +INSERT INTO product_slots VALUES(89,323); +INSERT INTO product_slots VALUES(89,324); +INSERT INTO product_slots VALUES(89,325); +INSERT INTO product_slots VALUES(89,326); +INSERT INTO product_slots VALUES(89,327); +INSERT INTO product_slots VALUES(89,328); +INSERT INTO product_slots VALUES(89,329); +INSERT INTO product_slots VALUES(89,330); +INSERT INTO product_slots VALUES(89,331); +INSERT INTO product_slots VALUES(89,332); +INSERT INTO product_slots VALUES(89,333); +INSERT INTO product_slots VALUES(89,334); +INSERT INTO product_slots VALUES(89,335); +INSERT INTO product_slots VALUES(89,336); +INSERT INTO product_slots VALUES(89,337); +INSERT INTO product_slots VALUES(89,338); +INSERT INTO product_slots VALUES(89,339); +INSERT INTO product_slots VALUES(89,340); +INSERT INTO product_slots VALUES(89,341); +INSERT INTO product_slots VALUES(89,342); +INSERT INTO product_slots VALUES(89,343); +INSERT INTO product_slots VALUES(89,344); +INSERT INTO product_slots VALUES(89,345); +INSERT INTO product_slots VALUES(89,346); +INSERT INTO product_slots VALUES(89,347); +INSERT INTO product_slots VALUES(89,348); +INSERT INTO product_slots VALUES(89,349); +INSERT INTO product_slots VALUES(89,350); +INSERT INTO product_slots VALUES(89,351); +INSERT INTO product_slots VALUES(89,352); +INSERT INTO product_slots VALUES(89,353); +INSERT INTO product_slots VALUES(89,354); +INSERT INTO product_slots VALUES(89,355); +INSERT INTO product_slots VALUES(89,356); +INSERT INTO product_slots VALUES(89,357); +INSERT INTO product_slots VALUES(89,358); +INSERT INTO product_slots VALUES(89,359); +INSERT INTO product_slots VALUES(89,360); +INSERT INTO product_slots VALUES(89,361); +INSERT INTO product_slots VALUES(89,362); +INSERT INTO product_slots VALUES(89,363); +INSERT INTO product_slots VALUES(89,364); +INSERT INTO product_slots VALUES(89,365); +INSERT INTO product_slots VALUES(89,366); +INSERT INTO product_slots VALUES(89,367); +INSERT INTO product_slots VALUES(89,368); +INSERT INTO product_slots VALUES(89,369); +INSERT INTO product_slots VALUES(89,370); +INSERT INTO product_slots VALUES(89,371); +INSERT INTO product_slots VALUES(89,372); +INSERT INTO product_slots VALUES(89,373); +INSERT INTO product_slots VALUES(89,374); +INSERT INTO product_slots VALUES(89,375); +INSERT INTO product_slots VALUES(89,376); +INSERT INTO product_slots VALUES(89,377); +INSERT INTO product_slots VALUES(89,378); +INSERT INTO product_slots VALUES(89,379); +INSERT INTO product_slots VALUES(89,380); +INSERT INTO product_slots VALUES(89,381); +INSERT INTO product_slots VALUES(89,382); +INSERT INTO product_slots VALUES(89,383); +INSERT INTO product_slots VALUES(89,384); +INSERT INTO product_slots VALUES(89,385); +INSERT INTO product_slots VALUES(89,386); +INSERT INTO product_slots VALUES(89,387); +INSERT INTO product_slots VALUES(89,388); +INSERT INTO product_slots VALUES(89,389); +INSERT INTO product_slots VALUES(89,390); +INSERT INTO product_slots VALUES(89,391); +INSERT INTO product_slots VALUES(89,392); +INSERT INTO product_slots VALUES(89,393); +INSERT INTO product_slots VALUES(89,394); +INSERT INTO product_slots VALUES(89,395); +INSERT INTO product_slots VALUES(89,396); +INSERT INTO product_slots VALUES(89,397); +INSERT INTO product_slots VALUES(89,398); +INSERT INTO product_slots VALUES(89,399); +INSERT INTO product_slots VALUES(89,400); +INSERT INTO product_slots VALUES(89,401); +INSERT INTO product_slots VALUES(89,402); +INSERT INTO product_slots VALUES(89,403); +INSERT INTO product_slots VALUES(89,404); +INSERT INTO product_slots VALUES(89,405); +INSERT INTO product_slots VALUES(89,406); +INSERT INTO product_slots VALUES(89,407); +INSERT INTO product_slots VALUES(89,408); +INSERT INTO product_slots VALUES(89,409); +INSERT INTO product_slots VALUES(89,410); +INSERT INTO product_slots VALUES(89,411); +INSERT INTO product_slots VALUES(89,412); +INSERT INTO product_slots VALUES(89,413); +INSERT INTO product_slots VALUES(89,414); +INSERT INTO product_slots VALUES(89,415); +INSERT INTO product_slots VALUES(89,416); +INSERT INTO product_slots VALUES(89,417); +INSERT INTO product_slots VALUES(89,418); +INSERT INTO product_slots VALUES(89,419); +INSERT INTO product_slots VALUES(89,420); +INSERT INTO product_slots VALUES(89,421); +INSERT INTO product_slots VALUES(89,422); +INSERT INTO product_slots VALUES(89,423); +INSERT INTO product_slots VALUES(89,424); +INSERT INTO product_slots VALUES(89,425); +INSERT INTO product_slots VALUES(89,426); +INSERT INTO product_slots VALUES(89,427); +INSERT INTO product_slots VALUES(89,428); +INSERT INTO product_slots VALUES(89,429); +INSERT INTO product_slots VALUES(89,430); +INSERT INTO product_slots VALUES(89,431); +INSERT INTO product_slots VALUES(89,432); +INSERT INTO product_slots VALUES(89,433); +INSERT INTO product_slots VALUES(89,434); +INSERT INTO product_slots VALUES(89,435); +INSERT INTO product_slots VALUES(89,436); +INSERT INTO product_slots VALUES(89,437); +INSERT INTO product_slots VALUES(89,438); +INSERT INTO product_slots VALUES(89,439); +INSERT INTO product_slots VALUES(89,440); +INSERT INTO product_slots VALUES(89,441); +INSERT INTO product_slots VALUES(89,442); +INSERT INTO product_slots VALUES(89,443); +INSERT INTO product_slots VALUES(89,444); +INSERT INTO product_slots VALUES(89,445); +INSERT INTO product_slots VALUES(89,446); +INSERT INTO product_slots VALUES(89,447); +INSERT INTO product_slots VALUES(89,448); +INSERT INTO product_slots VALUES(89,449); +INSERT INTO product_slots VALUES(89,450); +INSERT INTO product_slots VALUES(89,451); +INSERT INTO product_slots VALUES(89,452); +INSERT INTO product_slots VALUES(89,453); +INSERT INTO product_slots VALUES(89,454); +INSERT INTO product_slots VALUES(89,455); +INSERT INTO product_slots VALUES(89,456); +INSERT INTO product_slots VALUES(89,457); +INSERT INTO product_slots VALUES(89,458); +INSERT INTO product_slots VALUES(89,459); +INSERT INTO product_slots VALUES(89,460); +INSERT INTO product_slots VALUES(89,461); +INSERT INTO product_slots VALUES(89,462); +INSERT INTO product_slots VALUES(89,463); +INSERT INTO product_slots VALUES(89,464); +INSERT INTO product_slots VALUES(89,465); +INSERT INTO product_slots VALUES(89,466); +INSERT INTO product_slots VALUES(89,467); +INSERT INTO product_slots VALUES(89,468); +INSERT INTO product_slots VALUES(89,469); +INSERT INTO product_slots VALUES(89,470); +INSERT INTO product_slots VALUES(89,471); INSERT INTO product_slots VALUES(90,39); INSERT INTO product_slots VALUES(90,44); INSERT INTO product_slots VALUES(90,46); @@ -19487,8 +38338,40 @@ INSERT INTO product_slots VALUES(90,241); INSERT INTO product_slots VALUES(90,242); INSERT INTO product_slots VALUES(90,243); INSERT INTO product_slots VALUES(90,244); +INSERT INTO product_slots VALUES(90,245); +INSERT INTO product_slots VALUES(90,246); +INSERT INTO product_slots VALUES(90,247); +INSERT INTO product_slots VALUES(90,248); +INSERT INTO product_slots VALUES(90,249); +INSERT INTO product_slots VALUES(90,250); +INSERT INTO product_slots VALUES(90,251); +INSERT INTO product_slots VALUES(90,252); +INSERT INTO product_slots VALUES(90,253); +INSERT INTO product_slots VALUES(90,254); +INSERT INTO product_slots VALUES(90,255); +INSERT INTO product_slots VALUES(90,256); +INSERT INTO product_slots VALUES(90,257); +INSERT INTO product_slots VALUES(90,258); +INSERT INTO product_slots VALUES(90,259); +INSERT INTO product_slots VALUES(90,260); +INSERT INTO product_slots VALUES(90,261); +INSERT INTO product_slots VALUES(90,262); +INSERT INTO product_slots VALUES(90,263); +INSERT INTO product_slots VALUES(90,264); +INSERT INTO product_slots VALUES(90,265); +INSERT INTO product_slots VALUES(90,266); +INSERT INTO product_slots VALUES(90,267); +INSERT INTO product_slots VALUES(90,268); +INSERT INTO product_slots VALUES(90,269); +INSERT INTO product_slots VALUES(90,270); +INSERT INTO product_slots VALUES(90,271); +INSERT INTO product_slots VALUES(90,272); +INSERT INTO product_slots VALUES(90,273); INSERT INTO product_slots VALUES(90,274); INSERT INTO product_slots VALUES(90,275); +INSERT INTO product_slots VALUES(90,276); +INSERT INTO product_slots VALUES(90,277); +INSERT INTO product_slots VALUES(90,278); INSERT INTO product_slots VALUES(90,279); INSERT INTO product_slots VALUES(90,280); INSERT INTO product_slots VALUES(90,281); @@ -19498,6 +38381,190 @@ INSERT INTO product_slots VALUES(90,284); INSERT INTO product_slots VALUES(90,285); INSERT INTO product_slots VALUES(90,286); INSERT INTO product_slots VALUES(90,287); +INSERT INTO product_slots VALUES(90,288); +INSERT INTO product_slots VALUES(90,289); +INSERT INTO product_slots VALUES(90,290); +INSERT INTO product_slots VALUES(90,291); +INSERT INTO product_slots VALUES(90,292); +INSERT INTO product_slots VALUES(90,293); +INSERT INTO product_slots VALUES(90,294); +INSERT INTO product_slots VALUES(90,295); +INSERT INTO product_slots VALUES(90,296); +INSERT INTO product_slots VALUES(90,297); +INSERT INTO product_slots VALUES(90,298); +INSERT INTO product_slots VALUES(90,299); +INSERT INTO product_slots VALUES(90,300); +INSERT INTO product_slots VALUES(90,301); +INSERT INTO product_slots VALUES(90,302); +INSERT INTO product_slots VALUES(90,303); +INSERT INTO product_slots VALUES(90,304); +INSERT INTO product_slots VALUES(90,305); +INSERT INTO product_slots VALUES(90,306); +INSERT INTO product_slots VALUES(90,307); +INSERT INTO product_slots VALUES(90,308); +INSERT INTO product_slots VALUES(90,309); +INSERT INTO product_slots VALUES(90,310); +INSERT INTO product_slots VALUES(90,311); +INSERT INTO product_slots VALUES(90,312); +INSERT INTO product_slots VALUES(90,313); +INSERT INTO product_slots VALUES(90,314); +INSERT INTO product_slots VALUES(90,315); +INSERT INTO product_slots VALUES(90,316); +INSERT INTO product_slots VALUES(90,317); +INSERT INTO product_slots VALUES(90,318); +INSERT INTO product_slots VALUES(90,319); +INSERT INTO product_slots VALUES(90,320); +INSERT INTO product_slots VALUES(90,321); +INSERT INTO product_slots VALUES(90,322); +INSERT INTO product_slots VALUES(90,323); +INSERT INTO product_slots VALUES(90,324); +INSERT INTO product_slots VALUES(90,325); +INSERT INTO product_slots VALUES(90,326); +INSERT INTO product_slots VALUES(90,327); +INSERT INTO product_slots VALUES(90,328); +INSERT INTO product_slots VALUES(90,329); +INSERT INTO product_slots VALUES(90,330); +INSERT INTO product_slots VALUES(90,331); +INSERT INTO product_slots VALUES(90,332); +INSERT INTO product_slots VALUES(90,333); +INSERT INTO product_slots VALUES(90,334); +INSERT INTO product_slots VALUES(90,335); +INSERT INTO product_slots VALUES(90,336); +INSERT INTO product_slots VALUES(90,337); +INSERT INTO product_slots VALUES(90,338); +INSERT INTO product_slots VALUES(90,339); +INSERT INTO product_slots VALUES(90,340); +INSERT INTO product_slots VALUES(90,341); +INSERT INTO product_slots VALUES(90,342); +INSERT INTO product_slots VALUES(90,343); +INSERT INTO product_slots VALUES(90,344); +INSERT INTO product_slots VALUES(90,345); +INSERT INTO product_slots VALUES(90,346); +INSERT INTO product_slots VALUES(90,347); +INSERT INTO product_slots VALUES(90,348); +INSERT INTO product_slots VALUES(90,349); +INSERT INTO product_slots VALUES(90,350); +INSERT INTO product_slots VALUES(90,351); +INSERT INTO product_slots VALUES(90,352); +INSERT INTO product_slots VALUES(90,353); +INSERT INTO product_slots VALUES(90,354); +INSERT INTO product_slots VALUES(90,355); +INSERT INTO product_slots VALUES(90,356); +INSERT INTO product_slots VALUES(90,357); +INSERT INTO product_slots VALUES(90,358); +INSERT INTO product_slots VALUES(90,359); +INSERT INTO product_slots VALUES(90,360); +INSERT INTO product_slots VALUES(90,361); +INSERT INTO product_slots VALUES(90,362); +INSERT INTO product_slots VALUES(90,363); +INSERT INTO product_slots VALUES(90,364); +INSERT INTO product_slots VALUES(90,365); +INSERT INTO product_slots VALUES(90,366); +INSERT INTO product_slots VALUES(90,367); +INSERT INTO product_slots VALUES(90,368); +INSERT INTO product_slots VALUES(90,369); +INSERT INTO product_slots VALUES(90,370); +INSERT INTO product_slots VALUES(90,371); +INSERT INTO product_slots VALUES(90,372); +INSERT INTO product_slots VALUES(90,373); +INSERT INTO product_slots VALUES(90,374); +INSERT INTO product_slots VALUES(90,375); +INSERT INTO product_slots VALUES(90,376); +INSERT INTO product_slots VALUES(90,377); +INSERT INTO product_slots VALUES(90,378); +INSERT INTO product_slots VALUES(90,379); +INSERT INTO product_slots VALUES(90,380); +INSERT INTO product_slots VALUES(90,381); +INSERT INTO product_slots VALUES(90,382); +INSERT INTO product_slots VALUES(90,383); +INSERT INTO product_slots VALUES(90,384); +INSERT INTO product_slots VALUES(90,385); +INSERT INTO product_slots VALUES(90,386); +INSERT INTO product_slots VALUES(90,387); +INSERT INTO product_slots VALUES(90,388); +INSERT INTO product_slots VALUES(90,389); +INSERT INTO product_slots VALUES(90,390); +INSERT INTO product_slots VALUES(90,391); +INSERT INTO product_slots VALUES(90,392); +INSERT INTO product_slots VALUES(90,393); +INSERT INTO product_slots VALUES(90,394); +INSERT INTO product_slots VALUES(90,395); +INSERT INTO product_slots VALUES(90,396); +INSERT INTO product_slots VALUES(90,397); +INSERT INTO product_slots VALUES(90,398); +INSERT INTO product_slots VALUES(90,399); +INSERT INTO product_slots VALUES(90,400); +INSERT INTO product_slots VALUES(90,401); +INSERT INTO product_slots VALUES(90,402); +INSERT INTO product_slots VALUES(90,403); +INSERT INTO product_slots VALUES(90,404); +INSERT INTO product_slots VALUES(90,405); +INSERT INTO product_slots VALUES(90,406); +INSERT INTO product_slots VALUES(90,407); +INSERT INTO product_slots VALUES(90,408); +INSERT INTO product_slots VALUES(90,409); +INSERT INTO product_slots VALUES(90,410); +INSERT INTO product_slots VALUES(90,411); +INSERT INTO product_slots VALUES(90,412); +INSERT INTO product_slots VALUES(90,413); +INSERT INTO product_slots VALUES(90,414); +INSERT INTO product_slots VALUES(90,415); +INSERT INTO product_slots VALUES(90,416); +INSERT INTO product_slots VALUES(90,417); +INSERT INTO product_slots VALUES(90,418); +INSERT INTO product_slots VALUES(90,419); +INSERT INTO product_slots VALUES(90,420); +INSERT INTO product_slots VALUES(90,421); +INSERT INTO product_slots VALUES(90,422); +INSERT INTO product_slots VALUES(90,423); +INSERT INTO product_slots VALUES(90,424); +INSERT INTO product_slots VALUES(90,425); +INSERT INTO product_slots VALUES(90,426); +INSERT INTO product_slots VALUES(90,427); +INSERT INTO product_slots VALUES(90,428); +INSERT INTO product_slots VALUES(90,429); +INSERT INTO product_slots VALUES(90,430); +INSERT INTO product_slots VALUES(90,431); +INSERT INTO product_slots VALUES(90,432); +INSERT INTO product_slots VALUES(90,433); +INSERT INTO product_slots VALUES(90,434); +INSERT INTO product_slots VALUES(90,435); +INSERT INTO product_slots VALUES(90,436); +INSERT INTO product_slots VALUES(90,437); +INSERT INTO product_slots VALUES(90,438); +INSERT INTO product_slots VALUES(90,439); +INSERT INTO product_slots VALUES(90,440); +INSERT INTO product_slots VALUES(90,441); +INSERT INTO product_slots VALUES(90,442); +INSERT INTO product_slots VALUES(90,443); +INSERT INTO product_slots VALUES(90,444); +INSERT INTO product_slots VALUES(90,445); +INSERT INTO product_slots VALUES(90,446); +INSERT INTO product_slots VALUES(90,447); +INSERT INTO product_slots VALUES(90,448); +INSERT INTO product_slots VALUES(90,449); +INSERT INTO product_slots VALUES(90,450); +INSERT INTO product_slots VALUES(90,451); +INSERT INTO product_slots VALUES(90,452); +INSERT INTO product_slots VALUES(90,453); +INSERT INTO product_slots VALUES(90,454); +INSERT INTO product_slots VALUES(90,455); +INSERT INTO product_slots VALUES(90,456); +INSERT INTO product_slots VALUES(90,457); +INSERT INTO product_slots VALUES(90,458); +INSERT INTO product_slots VALUES(90,459); +INSERT INTO product_slots VALUES(90,460); +INSERT INTO product_slots VALUES(90,461); +INSERT INTO product_slots VALUES(90,462); +INSERT INTO product_slots VALUES(90,463); +INSERT INTO product_slots VALUES(90,464); +INSERT INTO product_slots VALUES(90,465); +INSERT INTO product_slots VALUES(90,466); +INSERT INTO product_slots VALUES(90,467); +INSERT INTO product_slots VALUES(90,468); +INSERT INTO product_slots VALUES(90,469); +INSERT INTO product_slots VALUES(90,470); +INSERT INTO product_slots VALUES(90,471); INSERT INTO product_slots VALUES(91,39); INSERT INTO product_slots VALUES(91,44); INSERT INTO product_slots VALUES(91,46); @@ -19699,8 +38766,40 @@ INSERT INTO product_slots VALUES(91,241); INSERT INTO product_slots VALUES(91,242); INSERT INTO product_slots VALUES(91,243); INSERT INTO product_slots VALUES(91,244); +INSERT INTO product_slots VALUES(91,245); +INSERT INTO product_slots VALUES(91,246); +INSERT INTO product_slots VALUES(91,247); +INSERT INTO product_slots VALUES(91,248); +INSERT INTO product_slots VALUES(91,249); +INSERT INTO product_slots VALUES(91,250); +INSERT INTO product_slots VALUES(91,251); +INSERT INTO product_slots VALUES(91,252); +INSERT INTO product_slots VALUES(91,253); +INSERT INTO product_slots VALUES(91,254); +INSERT INTO product_slots VALUES(91,255); +INSERT INTO product_slots VALUES(91,256); +INSERT INTO product_slots VALUES(91,257); +INSERT INTO product_slots VALUES(91,258); +INSERT INTO product_slots VALUES(91,259); +INSERT INTO product_slots VALUES(91,260); +INSERT INTO product_slots VALUES(91,261); +INSERT INTO product_slots VALUES(91,262); +INSERT INTO product_slots VALUES(91,263); +INSERT INTO product_slots VALUES(91,264); +INSERT INTO product_slots VALUES(91,265); +INSERT INTO product_slots VALUES(91,266); +INSERT INTO product_slots VALUES(91,267); +INSERT INTO product_slots VALUES(91,268); +INSERT INTO product_slots VALUES(91,269); +INSERT INTO product_slots VALUES(91,270); +INSERT INTO product_slots VALUES(91,271); +INSERT INTO product_slots VALUES(91,272); +INSERT INTO product_slots VALUES(91,273); INSERT INTO product_slots VALUES(91,274); INSERT INTO product_slots VALUES(91,275); +INSERT INTO product_slots VALUES(91,276); +INSERT INTO product_slots VALUES(91,277); +INSERT INTO product_slots VALUES(91,278); INSERT INTO product_slots VALUES(91,279); INSERT INTO product_slots VALUES(91,280); INSERT INTO product_slots VALUES(91,281); @@ -19710,6 +38809,190 @@ INSERT INTO product_slots VALUES(91,284); INSERT INTO product_slots VALUES(91,285); INSERT INTO product_slots VALUES(91,286); INSERT INTO product_slots VALUES(91,287); +INSERT INTO product_slots VALUES(91,288); +INSERT INTO product_slots VALUES(91,289); +INSERT INTO product_slots VALUES(91,290); +INSERT INTO product_slots VALUES(91,291); +INSERT INTO product_slots VALUES(91,292); +INSERT INTO product_slots VALUES(91,293); +INSERT INTO product_slots VALUES(91,294); +INSERT INTO product_slots VALUES(91,295); +INSERT INTO product_slots VALUES(91,296); +INSERT INTO product_slots VALUES(91,297); +INSERT INTO product_slots VALUES(91,298); +INSERT INTO product_slots VALUES(91,299); +INSERT INTO product_slots VALUES(91,300); +INSERT INTO product_slots VALUES(91,301); +INSERT INTO product_slots VALUES(91,302); +INSERT INTO product_slots VALUES(91,303); +INSERT INTO product_slots VALUES(91,304); +INSERT INTO product_slots VALUES(91,305); +INSERT INTO product_slots VALUES(91,306); +INSERT INTO product_slots VALUES(91,307); +INSERT INTO product_slots VALUES(91,308); +INSERT INTO product_slots VALUES(91,309); +INSERT INTO product_slots VALUES(91,310); +INSERT INTO product_slots VALUES(91,311); +INSERT INTO product_slots VALUES(91,312); +INSERT INTO product_slots VALUES(91,313); +INSERT INTO product_slots VALUES(91,314); +INSERT INTO product_slots VALUES(91,315); +INSERT INTO product_slots VALUES(91,316); +INSERT INTO product_slots VALUES(91,317); +INSERT INTO product_slots VALUES(91,318); +INSERT INTO product_slots VALUES(91,319); +INSERT INTO product_slots VALUES(91,320); +INSERT INTO product_slots VALUES(91,321); +INSERT INTO product_slots VALUES(91,322); +INSERT INTO product_slots VALUES(91,323); +INSERT INTO product_slots VALUES(91,324); +INSERT INTO product_slots VALUES(91,325); +INSERT INTO product_slots VALUES(91,326); +INSERT INTO product_slots VALUES(91,327); +INSERT INTO product_slots VALUES(91,328); +INSERT INTO product_slots VALUES(91,329); +INSERT INTO product_slots VALUES(91,330); +INSERT INTO product_slots VALUES(91,331); +INSERT INTO product_slots VALUES(91,332); +INSERT INTO product_slots VALUES(91,333); +INSERT INTO product_slots VALUES(91,334); +INSERT INTO product_slots VALUES(91,335); +INSERT INTO product_slots VALUES(91,336); +INSERT INTO product_slots VALUES(91,337); +INSERT INTO product_slots VALUES(91,338); +INSERT INTO product_slots VALUES(91,339); +INSERT INTO product_slots VALUES(91,340); +INSERT INTO product_slots VALUES(91,341); +INSERT INTO product_slots VALUES(91,342); +INSERT INTO product_slots VALUES(91,343); +INSERT INTO product_slots VALUES(91,344); +INSERT INTO product_slots VALUES(91,345); +INSERT INTO product_slots VALUES(91,346); +INSERT INTO product_slots VALUES(91,347); +INSERT INTO product_slots VALUES(91,348); +INSERT INTO product_slots VALUES(91,349); +INSERT INTO product_slots VALUES(91,350); +INSERT INTO product_slots VALUES(91,351); +INSERT INTO product_slots VALUES(91,352); +INSERT INTO product_slots VALUES(91,353); +INSERT INTO product_slots VALUES(91,354); +INSERT INTO product_slots VALUES(91,355); +INSERT INTO product_slots VALUES(91,356); +INSERT INTO product_slots VALUES(91,357); +INSERT INTO product_slots VALUES(91,358); +INSERT INTO product_slots VALUES(91,359); +INSERT INTO product_slots VALUES(91,360); +INSERT INTO product_slots VALUES(91,361); +INSERT INTO product_slots VALUES(91,362); +INSERT INTO product_slots VALUES(91,363); +INSERT INTO product_slots VALUES(91,364); +INSERT INTO product_slots VALUES(91,365); +INSERT INTO product_slots VALUES(91,366); +INSERT INTO product_slots VALUES(91,367); +INSERT INTO product_slots VALUES(91,368); +INSERT INTO product_slots VALUES(91,369); +INSERT INTO product_slots VALUES(91,370); +INSERT INTO product_slots VALUES(91,371); +INSERT INTO product_slots VALUES(91,372); +INSERT INTO product_slots VALUES(91,373); +INSERT INTO product_slots VALUES(91,374); +INSERT INTO product_slots VALUES(91,375); +INSERT INTO product_slots VALUES(91,376); +INSERT INTO product_slots VALUES(91,377); +INSERT INTO product_slots VALUES(91,378); +INSERT INTO product_slots VALUES(91,379); +INSERT INTO product_slots VALUES(91,380); +INSERT INTO product_slots VALUES(91,381); +INSERT INTO product_slots VALUES(91,382); +INSERT INTO product_slots VALUES(91,383); +INSERT INTO product_slots VALUES(91,384); +INSERT INTO product_slots VALUES(91,385); +INSERT INTO product_slots VALUES(91,386); +INSERT INTO product_slots VALUES(91,387); +INSERT INTO product_slots VALUES(91,388); +INSERT INTO product_slots VALUES(91,389); +INSERT INTO product_slots VALUES(91,390); +INSERT INTO product_slots VALUES(91,391); +INSERT INTO product_slots VALUES(91,392); +INSERT INTO product_slots VALUES(91,393); +INSERT INTO product_slots VALUES(91,394); +INSERT INTO product_slots VALUES(91,395); +INSERT INTO product_slots VALUES(91,396); +INSERT INTO product_slots VALUES(91,397); +INSERT INTO product_slots VALUES(91,398); +INSERT INTO product_slots VALUES(91,399); +INSERT INTO product_slots VALUES(91,400); +INSERT INTO product_slots VALUES(91,401); +INSERT INTO product_slots VALUES(91,402); +INSERT INTO product_slots VALUES(91,403); +INSERT INTO product_slots VALUES(91,404); +INSERT INTO product_slots VALUES(91,405); +INSERT INTO product_slots VALUES(91,406); +INSERT INTO product_slots VALUES(91,407); +INSERT INTO product_slots VALUES(91,408); +INSERT INTO product_slots VALUES(91,409); +INSERT INTO product_slots VALUES(91,410); +INSERT INTO product_slots VALUES(91,411); +INSERT INTO product_slots VALUES(91,412); +INSERT INTO product_slots VALUES(91,413); +INSERT INTO product_slots VALUES(91,414); +INSERT INTO product_slots VALUES(91,415); +INSERT INTO product_slots VALUES(91,416); +INSERT INTO product_slots VALUES(91,417); +INSERT INTO product_slots VALUES(91,418); +INSERT INTO product_slots VALUES(91,419); +INSERT INTO product_slots VALUES(91,420); +INSERT INTO product_slots VALUES(91,421); +INSERT INTO product_slots VALUES(91,422); +INSERT INTO product_slots VALUES(91,423); +INSERT INTO product_slots VALUES(91,424); +INSERT INTO product_slots VALUES(91,425); +INSERT INTO product_slots VALUES(91,426); +INSERT INTO product_slots VALUES(91,427); +INSERT INTO product_slots VALUES(91,428); +INSERT INTO product_slots VALUES(91,429); +INSERT INTO product_slots VALUES(91,430); +INSERT INTO product_slots VALUES(91,431); +INSERT INTO product_slots VALUES(91,432); +INSERT INTO product_slots VALUES(91,433); +INSERT INTO product_slots VALUES(91,434); +INSERT INTO product_slots VALUES(91,435); +INSERT INTO product_slots VALUES(91,436); +INSERT INTO product_slots VALUES(91,437); +INSERT INTO product_slots VALUES(91,438); +INSERT INTO product_slots VALUES(91,439); +INSERT INTO product_slots VALUES(91,440); +INSERT INTO product_slots VALUES(91,441); +INSERT INTO product_slots VALUES(91,442); +INSERT INTO product_slots VALUES(91,443); +INSERT INTO product_slots VALUES(91,444); +INSERT INTO product_slots VALUES(91,445); +INSERT INTO product_slots VALUES(91,446); +INSERT INTO product_slots VALUES(91,447); +INSERT INTO product_slots VALUES(91,448); +INSERT INTO product_slots VALUES(91,449); +INSERT INTO product_slots VALUES(91,450); +INSERT INTO product_slots VALUES(91,451); +INSERT INTO product_slots VALUES(91,452); +INSERT INTO product_slots VALUES(91,453); +INSERT INTO product_slots VALUES(91,454); +INSERT INTO product_slots VALUES(91,455); +INSERT INTO product_slots VALUES(91,456); +INSERT INTO product_slots VALUES(91,457); +INSERT INTO product_slots VALUES(91,458); +INSERT INTO product_slots VALUES(91,459); +INSERT INTO product_slots VALUES(91,460); +INSERT INTO product_slots VALUES(91,461); +INSERT INTO product_slots VALUES(91,462); +INSERT INTO product_slots VALUES(91,463); +INSERT INTO product_slots VALUES(91,464); +INSERT INTO product_slots VALUES(91,465); +INSERT INTO product_slots VALUES(91,466); +INSERT INTO product_slots VALUES(91,467); +INSERT INTO product_slots VALUES(91,468); +INSERT INTO product_slots VALUES(91,469); +INSERT INTO product_slots VALUES(91,470); +INSERT INTO product_slots VALUES(91,471); INSERT INTO product_slots VALUES(92,39); INSERT INTO product_slots VALUES(92,44); INSERT INTO product_slots VALUES(92,46); @@ -19911,8 +39194,40 @@ INSERT INTO product_slots VALUES(92,241); INSERT INTO product_slots VALUES(92,242); INSERT INTO product_slots VALUES(92,243); INSERT INTO product_slots VALUES(92,244); +INSERT INTO product_slots VALUES(92,245); +INSERT INTO product_slots VALUES(92,246); +INSERT INTO product_slots VALUES(92,247); +INSERT INTO product_slots VALUES(92,248); +INSERT INTO product_slots VALUES(92,249); +INSERT INTO product_slots VALUES(92,250); +INSERT INTO product_slots VALUES(92,251); +INSERT INTO product_slots VALUES(92,252); +INSERT INTO product_slots VALUES(92,253); +INSERT INTO product_slots VALUES(92,254); +INSERT INTO product_slots VALUES(92,255); +INSERT INTO product_slots VALUES(92,256); +INSERT INTO product_slots VALUES(92,257); +INSERT INTO product_slots VALUES(92,258); +INSERT INTO product_slots VALUES(92,259); +INSERT INTO product_slots VALUES(92,260); +INSERT INTO product_slots VALUES(92,261); +INSERT INTO product_slots VALUES(92,262); +INSERT INTO product_slots VALUES(92,263); +INSERT INTO product_slots VALUES(92,264); +INSERT INTO product_slots VALUES(92,265); +INSERT INTO product_slots VALUES(92,266); +INSERT INTO product_slots VALUES(92,267); +INSERT INTO product_slots VALUES(92,268); +INSERT INTO product_slots VALUES(92,269); +INSERT INTO product_slots VALUES(92,270); +INSERT INTO product_slots VALUES(92,271); +INSERT INTO product_slots VALUES(92,272); +INSERT INTO product_slots VALUES(92,273); INSERT INTO product_slots VALUES(92,274); INSERT INTO product_slots VALUES(92,275); +INSERT INTO product_slots VALUES(92,276); +INSERT INTO product_slots VALUES(92,277); +INSERT INTO product_slots VALUES(92,278); INSERT INTO product_slots VALUES(92,279); INSERT INTO product_slots VALUES(92,280); INSERT INTO product_slots VALUES(92,281); @@ -19922,6 +39237,190 @@ INSERT INTO product_slots VALUES(92,284); INSERT INTO product_slots VALUES(92,285); INSERT INTO product_slots VALUES(92,286); INSERT INTO product_slots VALUES(92,287); +INSERT INTO product_slots VALUES(92,288); +INSERT INTO product_slots VALUES(92,289); +INSERT INTO product_slots VALUES(92,290); +INSERT INTO product_slots VALUES(92,291); +INSERT INTO product_slots VALUES(92,292); +INSERT INTO product_slots VALUES(92,293); +INSERT INTO product_slots VALUES(92,294); +INSERT INTO product_slots VALUES(92,295); +INSERT INTO product_slots VALUES(92,296); +INSERT INTO product_slots VALUES(92,297); +INSERT INTO product_slots VALUES(92,298); +INSERT INTO product_slots VALUES(92,299); +INSERT INTO product_slots VALUES(92,300); +INSERT INTO product_slots VALUES(92,301); +INSERT INTO product_slots VALUES(92,302); +INSERT INTO product_slots VALUES(92,303); +INSERT INTO product_slots VALUES(92,304); +INSERT INTO product_slots VALUES(92,305); +INSERT INTO product_slots VALUES(92,306); +INSERT INTO product_slots VALUES(92,307); +INSERT INTO product_slots VALUES(92,308); +INSERT INTO product_slots VALUES(92,309); +INSERT INTO product_slots VALUES(92,310); +INSERT INTO product_slots VALUES(92,311); +INSERT INTO product_slots VALUES(92,312); +INSERT INTO product_slots VALUES(92,313); +INSERT INTO product_slots VALUES(92,314); +INSERT INTO product_slots VALUES(92,315); +INSERT INTO product_slots VALUES(92,316); +INSERT INTO product_slots VALUES(92,317); +INSERT INTO product_slots VALUES(92,318); +INSERT INTO product_slots VALUES(92,319); +INSERT INTO product_slots VALUES(92,320); +INSERT INTO product_slots VALUES(92,321); +INSERT INTO product_slots VALUES(92,322); +INSERT INTO product_slots VALUES(92,323); +INSERT INTO product_slots VALUES(92,324); +INSERT INTO product_slots VALUES(92,325); +INSERT INTO product_slots VALUES(92,326); +INSERT INTO product_slots VALUES(92,327); +INSERT INTO product_slots VALUES(92,328); +INSERT INTO product_slots VALUES(92,329); +INSERT INTO product_slots VALUES(92,330); +INSERT INTO product_slots VALUES(92,331); +INSERT INTO product_slots VALUES(92,332); +INSERT INTO product_slots VALUES(92,333); +INSERT INTO product_slots VALUES(92,334); +INSERT INTO product_slots VALUES(92,335); +INSERT INTO product_slots VALUES(92,336); +INSERT INTO product_slots VALUES(92,337); +INSERT INTO product_slots VALUES(92,338); +INSERT INTO product_slots VALUES(92,339); +INSERT INTO product_slots VALUES(92,340); +INSERT INTO product_slots VALUES(92,341); +INSERT INTO product_slots VALUES(92,342); +INSERT INTO product_slots VALUES(92,343); +INSERT INTO product_slots VALUES(92,344); +INSERT INTO product_slots VALUES(92,345); +INSERT INTO product_slots VALUES(92,346); +INSERT INTO product_slots VALUES(92,347); +INSERT INTO product_slots VALUES(92,348); +INSERT INTO product_slots VALUES(92,349); +INSERT INTO product_slots VALUES(92,350); +INSERT INTO product_slots VALUES(92,351); +INSERT INTO product_slots VALUES(92,352); +INSERT INTO product_slots VALUES(92,353); +INSERT INTO product_slots VALUES(92,354); +INSERT INTO product_slots VALUES(92,355); +INSERT INTO product_slots VALUES(92,356); +INSERT INTO product_slots VALUES(92,357); +INSERT INTO product_slots VALUES(92,358); +INSERT INTO product_slots VALUES(92,359); +INSERT INTO product_slots VALUES(92,360); +INSERT INTO product_slots VALUES(92,361); +INSERT INTO product_slots VALUES(92,362); +INSERT INTO product_slots VALUES(92,363); +INSERT INTO product_slots VALUES(92,364); +INSERT INTO product_slots VALUES(92,365); +INSERT INTO product_slots VALUES(92,366); +INSERT INTO product_slots VALUES(92,367); +INSERT INTO product_slots VALUES(92,368); +INSERT INTO product_slots VALUES(92,369); +INSERT INTO product_slots VALUES(92,370); +INSERT INTO product_slots VALUES(92,371); +INSERT INTO product_slots VALUES(92,372); +INSERT INTO product_slots VALUES(92,373); +INSERT INTO product_slots VALUES(92,374); +INSERT INTO product_slots VALUES(92,375); +INSERT INTO product_slots VALUES(92,376); +INSERT INTO product_slots VALUES(92,377); +INSERT INTO product_slots VALUES(92,378); +INSERT INTO product_slots VALUES(92,379); +INSERT INTO product_slots VALUES(92,380); +INSERT INTO product_slots VALUES(92,381); +INSERT INTO product_slots VALUES(92,382); +INSERT INTO product_slots VALUES(92,383); +INSERT INTO product_slots VALUES(92,384); +INSERT INTO product_slots VALUES(92,385); +INSERT INTO product_slots VALUES(92,386); +INSERT INTO product_slots VALUES(92,387); +INSERT INTO product_slots VALUES(92,388); +INSERT INTO product_slots VALUES(92,389); +INSERT INTO product_slots VALUES(92,390); +INSERT INTO product_slots VALUES(92,391); +INSERT INTO product_slots VALUES(92,392); +INSERT INTO product_slots VALUES(92,393); +INSERT INTO product_slots VALUES(92,394); +INSERT INTO product_slots VALUES(92,395); +INSERT INTO product_slots VALUES(92,396); +INSERT INTO product_slots VALUES(92,397); +INSERT INTO product_slots VALUES(92,398); +INSERT INTO product_slots VALUES(92,399); +INSERT INTO product_slots VALUES(92,400); +INSERT INTO product_slots VALUES(92,401); +INSERT INTO product_slots VALUES(92,402); +INSERT INTO product_slots VALUES(92,403); +INSERT INTO product_slots VALUES(92,404); +INSERT INTO product_slots VALUES(92,405); +INSERT INTO product_slots VALUES(92,406); +INSERT INTO product_slots VALUES(92,407); +INSERT INTO product_slots VALUES(92,408); +INSERT INTO product_slots VALUES(92,409); +INSERT INTO product_slots VALUES(92,410); +INSERT INTO product_slots VALUES(92,411); +INSERT INTO product_slots VALUES(92,412); +INSERT INTO product_slots VALUES(92,413); +INSERT INTO product_slots VALUES(92,414); +INSERT INTO product_slots VALUES(92,415); +INSERT INTO product_slots VALUES(92,416); +INSERT INTO product_slots VALUES(92,417); +INSERT INTO product_slots VALUES(92,418); +INSERT INTO product_slots VALUES(92,419); +INSERT INTO product_slots VALUES(92,420); +INSERT INTO product_slots VALUES(92,421); +INSERT INTO product_slots VALUES(92,422); +INSERT INTO product_slots VALUES(92,423); +INSERT INTO product_slots VALUES(92,424); +INSERT INTO product_slots VALUES(92,425); +INSERT INTO product_slots VALUES(92,426); +INSERT INTO product_slots VALUES(92,427); +INSERT INTO product_slots VALUES(92,428); +INSERT INTO product_slots VALUES(92,429); +INSERT INTO product_slots VALUES(92,430); +INSERT INTO product_slots VALUES(92,431); +INSERT INTO product_slots VALUES(92,432); +INSERT INTO product_slots VALUES(92,433); +INSERT INTO product_slots VALUES(92,434); +INSERT INTO product_slots VALUES(92,435); +INSERT INTO product_slots VALUES(92,436); +INSERT INTO product_slots VALUES(92,437); +INSERT INTO product_slots VALUES(92,438); +INSERT INTO product_slots VALUES(92,439); +INSERT INTO product_slots VALUES(92,440); +INSERT INTO product_slots VALUES(92,441); +INSERT INTO product_slots VALUES(92,442); +INSERT INTO product_slots VALUES(92,443); +INSERT INTO product_slots VALUES(92,444); +INSERT INTO product_slots VALUES(92,445); +INSERT INTO product_slots VALUES(92,446); +INSERT INTO product_slots VALUES(92,447); +INSERT INTO product_slots VALUES(92,448); +INSERT INTO product_slots VALUES(92,449); +INSERT INTO product_slots VALUES(92,450); +INSERT INTO product_slots VALUES(92,451); +INSERT INTO product_slots VALUES(92,452); +INSERT INTO product_slots VALUES(92,453); +INSERT INTO product_slots VALUES(92,454); +INSERT INTO product_slots VALUES(92,455); +INSERT INTO product_slots VALUES(92,456); +INSERT INTO product_slots VALUES(92,457); +INSERT INTO product_slots VALUES(92,458); +INSERT INTO product_slots VALUES(92,459); +INSERT INTO product_slots VALUES(92,460); +INSERT INTO product_slots VALUES(92,461); +INSERT INTO product_slots VALUES(92,462); +INSERT INTO product_slots VALUES(92,463); +INSERT INTO product_slots VALUES(92,464); +INSERT INTO product_slots VALUES(92,465); +INSERT INTO product_slots VALUES(92,466); +INSERT INTO product_slots VALUES(92,467); +INSERT INTO product_slots VALUES(92,468); +INSERT INTO product_slots VALUES(92,469); +INSERT INTO product_slots VALUES(92,470); +INSERT INTO product_slots VALUES(92,471); INSERT INTO product_slots VALUES(93,59); INSERT INTO product_slots VALUES(93,62); INSERT INTO product_slots VALUES(93,63); @@ -20113,8 +39612,40 @@ INSERT INTO product_slots VALUES(94,241); INSERT INTO product_slots VALUES(94,242); INSERT INTO product_slots VALUES(94,243); INSERT INTO product_slots VALUES(94,244); +INSERT INTO product_slots VALUES(94,245); +INSERT INTO product_slots VALUES(94,246); +INSERT INTO product_slots VALUES(94,247); +INSERT INTO product_slots VALUES(94,248); +INSERT INTO product_slots VALUES(94,249); +INSERT INTO product_slots VALUES(94,250); +INSERT INTO product_slots VALUES(94,251); +INSERT INTO product_slots VALUES(94,252); +INSERT INTO product_slots VALUES(94,253); +INSERT INTO product_slots VALUES(94,254); +INSERT INTO product_slots VALUES(94,255); +INSERT INTO product_slots VALUES(94,256); +INSERT INTO product_slots VALUES(94,257); +INSERT INTO product_slots VALUES(94,258); +INSERT INTO product_slots VALUES(94,259); +INSERT INTO product_slots VALUES(94,260); +INSERT INTO product_slots VALUES(94,261); +INSERT INTO product_slots VALUES(94,262); +INSERT INTO product_slots VALUES(94,263); +INSERT INTO product_slots VALUES(94,264); +INSERT INTO product_slots VALUES(94,265); +INSERT INTO product_slots VALUES(94,266); +INSERT INTO product_slots VALUES(94,267); +INSERT INTO product_slots VALUES(94,268); +INSERT INTO product_slots VALUES(94,269); +INSERT INTO product_slots VALUES(94,270); +INSERT INTO product_slots VALUES(94,271); +INSERT INTO product_slots VALUES(94,272); +INSERT INTO product_slots VALUES(94,273); INSERT INTO product_slots VALUES(94,274); INSERT INTO product_slots VALUES(94,275); +INSERT INTO product_slots VALUES(94,276); +INSERT INTO product_slots VALUES(94,277); +INSERT INTO product_slots VALUES(94,278); INSERT INTO product_slots VALUES(94,279); INSERT INTO product_slots VALUES(94,280); INSERT INTO product_slots VALUES(94,281); @@ -20124,6 +39655,190 @@ INSERT INTO product_slots VALUES(94,284); INSERT INTO product_slots VALUES(94,285); INSERT INTO product_slots VALUES(94,286); INSERT INTO product_slots VALUES(94,287); +INSERT INTO product_slots VALUES(94,288); +INSERT INTO product_slots VALUES(94,289); +INSERT INTO product_slots VALUES(94,290); +INSERT INTO product_slots VALUES(94,291); +INSERT INTO product_slots VALUES(94,292); +INSERT INTO product_slots VALUES(94,293); +INSERT INTO product_slots VALUES(94,294); +INSERT INTO product_slots VALUES(94,295); +INSERT INTO product_slots VALUES(94,296); +INSERT INTO product_slots VALUES(94,297); +INSERT INTO product_slots VALUES(94,298); +INSERT INTO product_slots VALUES(94,299); +INSERT INTO product_slots VALUES(94,300); +INSERT INTO product_slots VALUES(94,301); +INSERT INTO product_slots VALUES(94,302); +INSERT INTO product_slots VALUES(94,303); +INSERT INTO product_slots VALUES(94,304); +INSERT INTO product_slots VALUES(94,305); +INSERT INTO product_slots VALUES(94,306); +INSERT INTO product_slots VALUES(94,307); +INSERT INTO product_slots VALUES(94,308); +INSERT INTO product_slots VALUES(94,309); +INSERT INTO product_slots VALUES(94,310); +INSERT INTO product_slots VALUES(94,311); +INSERT INTO product_slots VALUES(94,312); +INSERT INTO product_slots VALUES(94,313); +INSERT INTO product_slots VALUES(94,314); +INSERT INTO product_slots VALUES(94,315); +INSERT INTO product_slots VALUES(94,316); +INSERT INTO product_slots VALUES(94,317); +INSERT INTO product_slots VALUES(94,318); +INSERT INTO product_slots VALUES(94,319); +INSERT INTO product_slots VALUES(94,320); +INSERT INTO product_slots VALUES(94,321); +INSERT INTO product_slots VALUES(94,322); +INSERT INTO product_slots VALUES(94,323); +INSERT INTO product_slots VALUES(94,324); +INSERT INTO product_slots VALUES(94,325); +INSERT INTO product_slots VALUES(94,326); +INSERT INTO product_slots VALUES(94,327); +INSERT INTO product_slots VALUES(94,328); +INSERT INTO product_slots VALUES(94,329); +INSERT INTO product_slots VALUES(94,330); +INSERT INTO product_slots VALUES(94,331); +INSERT INTO product_slots VALUES(94,332); +INSERT INTO product_slots VALUES(94,333); +INSERT INTO product_slots VALUES(94,334); +INSERT INTO product_slots VALUES(94,335); +INSERT INTO product_slots VALUES(94,336); +INSERT INTO product_slots VALUES(94,337); +INSERT INTO product_slots VALUES(94,338); +INSERT INTO product_slots VALUES(94,339); +INSERT INTO product_slots VALUES(94,340); +INSERT INTO product_slots VALUES(94,341); +INSERT INTO product_slots VALUES(94,342); +INSERT INTO product_slots VALUES(94,343); +INSERT INTO product_slots VALUES(94,344); +INSERT INTO product_slots VALUES(94,345); +INSERT INTO product_slots VALUES(94,346); +INSERT INTO product_slots VALUES(94,347); +INSERT INTO product_slots VALUES(94,348); +INSERT INTO product_slots VALUES(94,349); +INSERT INTO product_slots VALUES(94,350); +INSERT INTO product_slots VALUES(94,351); +INSERT INTO product_slots VALUES(94,352); +INSERT INTO product_slots VALUES(94,353); +INSERT INTO product_slots VALUES(94,354); +INSERT INTO product_slots VALUES(94,355); +INSERT INTO product_slots VALUES(94,356); +INSERT INTO product_slots VALUES(94,357); +INSERT INTO product_slots VALUES(94,358); +INSERT INTO product_slots VALUES(94,359); +INSERT INTO product_slots VALUES(94,360); +INSERT INTO product_slots VALUES(94,361); +INSERT INTO product_slots VALUES(94,362); +INSERT INTO product_slots VALUES(94,363); +INSERT INTO product_slots VALUES(94,364); +INSERT INTO product_slots VALUES(94,365); +INSERT INTO product_slots VALUES(94,366); +INSERT INTO product_slots VALUES(94,367); +INSERT INTO product_slots VALUES(94,368); +INSERT INTO product_slots VALUES(94,369); +INSERT INTO product_slots VALUES(94,370); +INSERT INTO product_slots VALUES(94,371); +INSERT INTO product_slots VALUES(94,372); +INSERT INTO product_slots VALUES(94,373); +INSERT INTO product_slots VALUES(94,374); +INSERT INTO product_slots VALUES(94,375); +INSERT INTO product_slots VALUES(94,376); +INSERT INTO product_slots VALUES(94,377); +INSERT INTO product_slots VALUES(94,378); +INSERT INTO product_slots VALUES(94,379); +INSERT INTO product_slots VALUES(94,380); +INSERT INTO product_slots VALUES(94,381); +INSERT INTO product_slots VALUES(94,382); +INSERT INTO product_slots VALUES(94,383); +INSERT INTO product_slots VALUES(94,384); +INSERT INTO product_slots VALUES(94,385); +INSERT INTO product_slots VALUES(94,386); +INSERT INTO product_slots VALUES(94,387); +INSERT INTO product_slots VALUES(94,388); +INSERT INTO product_slots VALUES(94,389); +INSERT INTO product_slots VALUES(94,390); +INSERT INTO product_slots VALUES(94,391); +INSERT INTO product_slots VALUES(94,392); +INSERT INTO product_slots VALUES(94,393); +INSERT INTO product_slots VALUES(94,394); +INSERT INTO product_slots VALUES(94,395); +INSERT INTO product_slots VALUES(94,396); +INSERT INTO product_slots VALUES(94,397); +INSERT INTO product_slots VALUES(94,398); +INSERT INTO product_slots VALUES(94,399); +INSERT INTO product_slots VALUES(94,400); +INSERT INTO product_slots VALUES(94,401); +INSERT INTO product_slots VALUES(94,402); +INSERT INTO product_slots VALUES(94,403); +INSERT INTO product_slots VALUES(94,404); +INSERT INTO product_slots VALUES(94,405); +INSERT INTO product_slots VALUES(94,406); +INSERT INTO product_slots VALUES(94,407); +INSERT INTO product_slots VALUES(94,408); +INSERT INTO product_slots VALUES(94,409); +INSERT INTO product_slots VALUES(94,410); +INSERT INTO product_slots VALUES(94,411); +INSERT INTO product_slots VALUES(94,412); +INSERT INTO product_slots VALUES(94,413); +INSERT INTO product_slots VALUES(94,414); +INSERT INTO product_slots VALUES(94,415); +INSERT INTO product_slots VALUES(94,416); +INSERT INTO product_slots VALUES(94,417); +INSERT INTO product_slots VALUES(94,418); +INSERT INTO product_slots VALUES(94,419); +INSERT INTO product_slots VALUES(94,420); +INSERT INTO product_slots VALUES(94,421); +INSERT INTO product_slots VALUES(94,422); +INSERT INTO product_slots VALUES(94,423); +INSERT INTO product_slots VALUES(94,424); +INSERT INTO product_slots VALUES(94,425); +INSERT INTO product_slots VALUES(94,426); +INSERT INTO product_slots VALUES(94,427); +INSERT INTO product_slots VALUES(94,428); +INSERT INTO product_slots VALUES(94,429); +INSERT INTO product_slots VALUES(94,430); +INSERT INTO product_slots VALUES(94,431); +INSERT INTO product_slots VALUES(94,432); +INSERT INTO product_slots VALUES(94,433); +INSERT INTO product_slots VALUES(94,434); +INSERT INTO product_slots VALUES(94,435); +INSERT INTO product_slots VALUES(94,436); +INSERT INTO product_slots VALUES(94,437); +INSERT INTO product_slots VALUES(94,438); +INSERT INTO product_slots VALUES(94,439); +INSERT INTO product_slots VALUES(94,440); +INSERT INTO product_slots VALUES(94,441); +INSERT INTO product_slots VALUES(94,442); +INSERT INTO product_slots VALUES(94,443); +INSERT INTO product_slots VALUES(94,444); +INSERT INTO product_slots VALUES(94,445); +INSERT INTO product_slots VALUES(94,446); +INSERT INTO product_slots VALUES(94,447); +INSERT INTO product_slots VALUES(94,448); +INSERT INTO product_slots VALUES(94,449); +INSERT INTO product_slots VALUES(94,450); +INSERT INTO product_slots VALUES(94,451); +INSERT INTO product_slots VALUES(94,452); +INSERT INTO product_slots VALUES(94,453); +INSERT INTO product_slots VALUES(94,454); +INSERT INTO product_slots VALUES(94,455); +INSERT INTO product_slots VALUES(94,456); +INSERT INTO product_slots VALUES(94,457); +INSERT INTO product_slots VALUES(94,458); +INSERT INTO product_slots VALUES(94,459); +INSERT INTO product_slots VALUES(94,460); +INSERT INTO product_slots VALUES(94,461); +INSERT INTO product_slots VALUES(94,462); +INSERT INTO product_slots VALUES(94,463); +INSERT INTO product_slots VALUES(94,464); +INSERT INTO product_slots VALUES(94,465); +INSERT INTO product_slots VALUES(94,466); +INSERT INTO product_slots VALUES(94,467); +INSERT INTO product_slots VALUES(94,468); +INSERT INTO product_slots VALUES(94,469); +INSERT INTO product_slots VALUES(94,470); +INSERT INTO product_slots VALUES(94,471); INSERT INTO product_slots VALUES(95,39); INSERT INTO product_slots VALUES(95,55); INSERT INTO product_slots VALUES(95,59); @@ -20310,8 +40025,40 @@ INSERT INTO product_slots VALUES(95,241); INSERT INTO product_slots VALUES(95,242); INSERT INTO product_slots VALUES(95,243); INSERT INTO product_slots VALUES(95,244); +INSERT INTO product_slots VALUES(95,245); +INSERT INTO product_slots VALUES(95,246); +INSERT INTO product_slots VALUES(95,247); +INSERT INTO product_slots VALUES(95,248); +INSERT INTO product_slots VALUES(95,249); +INSERT INTO product_slots VALUES(95,250); +INSERT INTO product_slots VALUES(95,251); +INSERT INTO product_slots VALUES(95,252); +INSERT INTO product_slots VALUES(95,253); +INSERT INTO product_slots VALUES(95,254); +INSERT INTO product_slots VALUES(95,255); +INSERT INTO product_slots VALUES(95,256); +INSERT INTO product_slots VALUES(95,257); +INSERT INTO product_slots VALUES(95,258); +INSERT INTO product_slots VALUES(95,259); +INSERT INTO product_slots VALUES(95,260); +INSERT INTO product_slots VALUES(95,261); +INSERT INTO product_slots VALUES(95,262); +INSERT INTO product_slots VALUES(95,263); +INSERT INTO product_slots VALUES(95,264); +INSERT INTO product_slots VALUES(95,265); +INSERT INTO product_slots VALUES(95,266); +INSERT INTO product_slots VALUES(95,267); +INSERT INTO product_slots VALUES(95,268); +INSERT INTO product_slots VALUES(95,269); +INSERT INTO product_slots VALUES(95,270); +INSERT INTO product_slots VALUES(95,271); +INSERT INTO product_slots VALUES(95,272); +INSERT INTO product_slots VALUES(95,273); INSERT INTO product_slots VALUES(95,274); INSERT INTO product_slots VALUES(95,275); +INSERT INTO product_slots VALUES(95,276); +INSERT INTO product_slots VALUES(95,277); +INSERT INTO product_slots VALUES(95,278); INSERT INTO product_slots VALUES(95,279); INSERT INTO product_slots VALUES(95,280); INSERT INTO product_slots VALUES(95,281); @@ -20321,6 +40068,190 @@ INSERT INTO product_slots VALUES(95,284); INSERT INTO product_slots VALUES(95,285); INSERT INTO product_slots VALUES(95,286); INSERT INTO product_slots VALUES(95,287); +INSERT INTO product_slots VALUES(95,288); +INSERT INTO product_slots VALUES(95,289); +INSERT INTO product_slots VALUES(95,290); +INSERT INTO product_slots VALUES(95,291); +INSERT INTO product_slots VALUES(95,292); +INSERT INTO product_slots VALUES(95,293); +INSERT INTO product_slots VALUES(95,294); +INSERT INTO product_slots VALUES(95,295); +INSERT INTO product_slots VALUES(95,296); +INSERT INTO product_slots VALUES(95,297); +INSERT INTO product_slots VALUES(95,298); +INSERT INTO product_slots VALUES(95,299); +INSERT INTO product_slots VALUES(95,300); +INSERT INTO product_slots VALUES(95,301); +INSERT INTO product_slots VALUES(95,302); +INSERT INTO product_slots VALUES(95,303); +INSERT INTO product_slots VALUES(95,304); +INSERT INTO product_slots VALUES(95,305); +INSERT INTO product_slots VALUES(95,306); +INSERT INTO product_slots VALUES(95,307); +INSERT INTO product_slots VALUES(95,308); +INSERT INTO product_slots VALUES(95,309); +INSERT INTO product_slots VALUES(95,310); +INSERT INTO product_slots VALUES(95,311); +INSERT INTO product_slots VALUES(95,312); +INSERT INTO product_slots VALUES(95,313); +INSERT INTO product_slots VALUES(95,314); +INSERT INTO product_slots VALUES(95,315); +INSERT INTO product_slots VALUES(95,316); +INSERT INTO product_slots VALUES(95,317); +INSERT INTO product_slots VALUES(95,318); +INSERT INTO product_slots VALUES(95,319); +INSERT INTO product_slots VALUES(95,320); +INSERT INTO product_slots VALUES(95,321); +INSERT INTO product_slots VALUES(95,322); +INSERT INTO product_slots VALUES(95,323); +INSERT INTO product_slots VALUES(95,324); +INSERT INTO product_slots VALUES(95,325); +INSERT INTO product_slots VALUES(95,326); +INSERT INTO product_slots VALUES(95,327); +INSERT INTO product_slots VALUES(95,328); +INSERT INTO product_slots VALUES(95,329); +INSERT INTO product_slots VALUES(95,330); +INSERT INTO product_slots VALUES(95,331); +INSERT INTO product_slots VALUES(95,332); +INSERT INTO product_slots VALUES(95,333); +INSERT INTO product_slots VALUES(95,334); +INSERT INTO product_slots VALUES(95,335); +INSERT INTO product_slots VALUES(95,336); +INSERT INTO product_slots VALUES(95,337); +INSERT INTO product_slots VALUES(95,338); +INSERT INTO product_slots VALUES(95,339); +INSERT INTO product_slots VALUES(95,340); +INSERT INTO product_slots VALUES(95,341); +INSERT INTO product_slots VALUES(95,342); +INSERT INTO product_slots VALUES(95,343); +INSERT INTO product_slots VALUES(95,344); +INSERT INTO product_slots VALUES(95,345); +INSERT INTO product_slots VALUES(95,346); +INSERT INTO product_slots VALUES(95,347); +INSERT INTO product_slots VALUES(95,348); +INSERT INTO product_slots VALUES(95,349); +INSERT INTO product_slots VALUES(95,350); +INSERT INTO product_slots VALUES(95,351); +INSERT INTO product_slots VALUES(95,352); +INSERT INTO product_slots VALUES(95,353); +INSERT INTO product_slots VALUES(95,354); +INSERT INTO product_slots VALUES(95,355); +INSERT INTO product_slots VALUES(95,356); +INSERT INTO product_slots VALUES(95,357); +INSERT INTO product_slots VALUES(95,358); +INSERT INTO product_slots VALUES(95,359); +INSERT INTO product_slots VALUES(95,360); +INSERT INTO product_slots VALUES(95,361); +INSERT INTO product_slots VALUES(95,362); +INSERT INTO product_slots VALUES(95,363); +INSERT INTO product_slots VALUES(95,364); +INSERT INTO product_slots VALUES(95,365); +INSERT INTO product_slots VALUES(95,366); +INSERT INTO product_slots VALUES(95,367); +INSERT INTO product_slots VALUES(95,368); +INSERT INTO product_slots VALUES(95,369); +INSERT INTO product_slots VALUES(95,370); +INSERT INTO product_slots VALUES(95,371); +INSERT INTO product_slots VALUES(95,372); +INSERT INTO product_slots VALUES(95,373); +INSERT INTO product_slots VALUES(95,374); +INSERT INTO product_slots VALUES(95,375); +INSERT INTO product_slots VALUES(95,376); +INSERT INTO product_slots VALUES(95,377); +INSERT INTO product_slots VALUES(95,378); +INSERT INTO product_slots VALUES(95,379); +INSERT INTO product_slots VALUES(95,380); +INSERT INTO product_slots VALUES(95,381); +INSERT INTO product_slots VALUES(95,382); +INSERT INTO product_slots VALUES(95,383); +INSERT INTO product_slots VALUES(95,384); +INSERT INTO product_slots VALUES(95,385); +INSERT INTO product_slots VALUES(95,386); +INSERT INTO product_slots VALUES(95,387); +INSERT INTO product_slots VALUES(95,388); +INSERT INTO product_slots VALUES(95,389); +INSERT INTO product_slots VALUES(95,390); +INSERT INTO product_slots VALUES(95,391); +INSERT INTO product_slots VALUES(95,392); +INSERT INTO product_slots VALUES(95,393); +INSERT INTO product_slots VALUES(95,394); +INSERT INTO product_slots VALUES(95,395); +INSERT INTO product_slots VALUES(95,396); +INSERT INTO product_slots VALUES(95,397); +INSERT INTO product_slots VALUES(95,398); +INSERT INTO product_slots VALUES(95,399); +INSERT INTO product_slots VALUES(95,400); +INSERT INTO product_slots VALUES(95,401); +INSERT INTO product_slots VALUES(95,402); +INSERT INTO product_slots VALUES(95,403); +INSERT INTO product_slots VALUES(95,404); +INSERT INTO product_slots VALUES(95,405); +INSERT INTO product_slots VALUES(95,406); +INSERT INTO product_slots VALUES(95,407); +INSERT INTO product_slots VALUES(95,408); +INSERT INTO product_slots VALUES(95,409); +INSERT INTO product_slots VALUES(95,410); +INSERT INTO product_slots VALUES(95,411); +INSERT INTO product_slots VALUES(95,412); +INSERT INTO product_slots VALUES(95,413); +INSERT INTO product_slots VALUES(95,414); +INSERT INTO product_slots VALUES(95,415); +INSERT INTO product_slots VALUES(95,416); +INSERT INTO product_slots VALUES(95,417); +INSERT INTO product_slots VALUES(95,418); +INSERT INTO product_slots VALUES(95,419); +INSERT INTO product_slots VALUES(95,420); +INSERT INTO product_slots VALUES(95,421); +INSERT INTO product_slots VALUES(95,422); +INSERT INTO product_slots VALUES(95,423); +INSERT INTO product_slots VALUES(95,424); +INSERT INTO product_slots VALUES(95,425); +INSERT INTO product_slots VALUES(95,426); +INSERT INTO product_slots VALUES(95,427); +INSERT INTO product_slots VALUES(95,428); +INSERT INTO product_slots VALUES(95,429); +INSERT INTO product_slots VALUES(95,430); +INSERT INTO product_slots VALUES(95,431); +INSERT INTO product_slots VALUES(95,432); +INSERT INTO product_slots VALUES(95,433); +INSERT INTO product_slots VALUES(95,434); +INSERT INTO product_slots VALUES(95,435); +INSERT INTO product_slots VALUES(95,436); +INSERT INTO product_slots VALUES(95,437); +INSERT INTO product_slots VALUES(95,438); +INSERT INTO product_slots VALUES(95,439); +INSERT INTO product_slots VALUES(95,440); +INSERT INTO product_slots VALUES(95,441); +INSERT INTO product_slots VALUES(95,442); +INSERT INTO product_slots VALUES(95,443); +INSERT INTO product_slots VALUES(95,444); +INSERT INTO product_slots VALUES(95,445); +INSERT INTO product_slots VALUES(95,446); +INSERT INTO product_slots VALUES(95,447); +INSERT INTO product_slots VALUES(95,448); +INSERT INTO product_slots VALUES(95,449); +INSERT INTO product_slots VALUES(95,450); +INSERT INTO product_slots VALUES(95,451); +INSERT INTO product_slots VALUES(95,452); +INSERT INTO product_slots VALUES(95,453); +INSERT INTO product_slots VALUES(95,454); +INSERT INTO product_slots VALUES(95,455); +INSERT INTO product_slots VALUES(95,456); +INSERT INTO product_slots VALUES(95,457); +INSERT INTO product_slots VALUES(95,458); +INSERT INTO product_slots VALUES(95,459); +INSERT INTO product_slots VALUES(95,460); +INSERT INTO product_slots VALUES(95,461); +INSERT INTO product_slots VALUES(95,462); +INSERT INTO product_slots VALUES(95,463); +INSERT INTO product_slots VALUES(95,464); +INSERT INTO product_slots VALUES(95,465); +INSERT INTO product_slots VALUES(95,466); +INSERT INTO product_slots VALUES(95,467); +INSERT INTO product_slots VALUES(95,468); +INSERT INTO product_slots VALUES(95,469); +INSERT INTO product_slots VALUES(95,470); +INSERT INTO product_slots VALUES(95,471); INSERT INTO product_slots VALUES(96,59); INSERT INTO product_slots VALUES(96,62); INSERT INTO product_slots VALUES(96,63); @@ -20500,8 +40431,40 @@ INSERT INTO product_slots VALUES(96,241); INSERT INTO product_slots VALUES(96,242); INSERT INTO product_slots VALUES(96,243); INSERT INTO product_slots VALUES(96,244); +INSERT INTO product_slots VALUES(96,245); +INSERT INTO product_slots VALUES(96,246); +INSERT INTO product_slots VALUES(96,247); +INSERT INTO product_slots VALUES(96,248); +INSERT INTO product_slots VALUES(96,249); +INSERT INTO product_slots VALUES(96,250); +INSERT INTO product_slots VALUES(96,251); +INSERT INTO product_slots VALUES(96,252); +INSERT INTO product_slots VALUES(96,253); +INSERT INTO product_slots VALUES(96,254); +INSERT INTO product_slots VALUES(96,255); +INSERT INTO product_slots VALUES(96,256); +INSERT INTO product_slots VALUES(96,257); +INSERT INTO product_slots VALUES(96,258); +INSERT INTO product_slots VALUES(96,259); +INSERT INTO product_slots VALUES(96,260); +INSERT INTO product_slots VALUES(96,261); +INSERT INTO product_slots VALUES(96,262); +INSERT INTO product_slots VALUES(96,263); +INSERT INTO product_slots VALUES(96,264); +INSERT INTO product_slots VALUES(96,265); +INSERT INTO product_slots VALUES(96,266); +INSERT INTO product_slots VALUES(96,267); +INSERT INTO product_slots VALUES(96,268); +INSERT INTO product_slots VALUES(96,269); +INSERT INTO product_slots VALUES(96,270); +INSERT INTO product_slots VALUES(96,271); +INSERT INTO product_slots VALUES(96,272); +INSERT INTO product_slots VALUES(96,273); INSERT INTO product_slots VALUES(96,274); INSERT INTO product_slots VALUES(96,275); +INSERT INTO product_slots VALUES(96,276); +INSERT INTO product_slots VALUES(96,277); +INSERT INTO product_slots VALUES(96,278); INSERT INTO product_slots VALUES(96,279); INSERT INTO product_slots VALUES(96,280); INSERT INTO product_slots VALUES(96,281); @@ -20511,6 +40474,189 @@ INSERT INTO product_slots VALUES(96,284); INSERT INTO product_slots VALUES(96,285); INSERT INTO product_slots VALUES(96,286); INSERT INTO product_slots VALUES(96,287); +INSERT INTO product_slots VALUES(96,288); +INSERT INTO product_slots VALUES(96,289); +INSERT INTO product_slots VALUES(96,290); +INSERT INTO product_slots VALUES(96,291); +INSERT INTO product_slots VALUES(96,292); +INSERT INTO product_slots VALUES(96,293); +INSERT INTO product_slots VALUES(96,294); +INSERT INTO product_slots VALUES(96,295); +INSERT INTO product_slots VALUES(96,296); +INSERT INTO product_slots VALUES(96,297); +INSERT INTO product_slots VALUES(96,298); +INSERT INTO product_slots VALUES(96,299); +INSERT INTO product_slots VALUES(96,300); +INSERT INTO product_slots VALUES(96,301); +INSERT INTO product_slots VALUES(96,302); +INSERT INTO product_slots VALUES(96,303); +INSERT INTO product_slots VALUES(96,304); +INSERT INTO product_slots VALUES(96,305); +INSERT INTO product_slots VALUES(96,306); +INSERT INTO product_slots VALUES(96,307); +INSERT INTO product_slots VALUES(96,308); +INSERT INTO product_slots VALUES(96,309); +INSERT INTO product_slots VALUES(96,310); +INSERT INTO product_slots VALUES(96,311); +INSERT INTO product_slots VALUES(96,312); +INSERT INTO product_slots VALUES(96,313); +INSERT INTO product_slots VALUES(96,314); +INSERT INTO product_slots VALUES(96,315); +INSERT INTO product_slots VALUES(96,316); +INSERT INTO product_slots VALUES(96,317); +INSERT INTO product_slots VALUES(96,318); +INSERT INTO product_slots VALUES(96,319); +INSERT INTO product_slots VALUES(96,320); +INSERT INTO product_slots VALUES(96,321); +INSERT INTO product_slots VALUES(96,322); +INSERT INTO product_slots VALUES(96,323); +INSERT INTO product_slots VALUES(96,324); +INSERT INTO product_slots VALUES(96,325); +INSERT INTO product_slots VALUES(96,326); +INSERT INTO product_slots VALUES(96,327); +INSERT INTO product_slots VALUES(96,328); +INSERT INTO product_slots VALUES(96,329); +INSERT INTO product_slots VALUES(96,330); +INSERT INTO product_slots VALUES(96,331); +INSERT INTO product_slots VALUES(96,332); +INSERT INTO product_slots VALUES(96,333); +INSERT INTO product_slots VALUES(96,334); +INSERT INTO product_slots VALUES(96,335); +INSERT INTO product_slots VALUES(96,336); +INSERT INTO product_slots VALUES(96,337); +INSERT INTO product_slots VALUES(96,338); +INSERT INTO product_slots VALUES(96,339); +INSERT INTO product_slots VALUES(96,340); +INSERT INTO product_slots VALUES(96,341); +INSERT INTO product_slots VALUES(96,342); +INSERT INTO product_slots VALUES(96,343); +INSERT INTO product_slots VALUES(96,344); +INSERT INTO product_slots VALUES(96,345); +INSERT INTO product_slots VALUES(96,346); +INSERT INTO product_slots VALUES(96,347); +INSERT INTO product_slots VALUES(96,348); +INSERT INTO product_slots VALUES(96,349); +INSERT INTO product_slots VALUES(96,350); +INSERT INTO product_slots VALUES(96,351); +INSERT INTO product_slots VALUES(96,352); +INSERT INTO product_slots VALUES(96,353); +INSERT INTO product_slots VALUES(96,354); +INSERT INTO product_slots VALUES(96,355); +INSERT INTO product_slots VALUES(96,356); +INSERT INTO product_slots VALUES(96,357); +INSERT INTO product_slots VALUES(96,358); +INSERT INTO product_slots VALUES(96,359); +INSERT INTO product_slots VALUES(96,360); +INSERT INTO product_slots VALUES(96,361); +INSERT INTO product_slots VALUES(96,362); +INSERT INTO product_slots VALUES(96,363); +INSERT INTO product_slots VALUES(96,364); +INSERT INTO product_slots VALUES(96,365); +INSERT INTO product_slots VALUES(96,366); +INSERT INTO product_slots VALUES(96,367); +INSERT INTO product_slots VALUES(96,368); +INSERT INTO product_slots VALUES(96,369); +INSERT INTO product_slots VALUES(96,370); +INSERT INTO product_slots VALUES(96,371); +INSERT INTO product_slots VALUES(96,372); +INSERT INTO product_slots VALUES(96,373); +INSERT INTO product_slots VALUES(96,374); +INSERT INTO product_slots VALUES(96,375); +INSERT INTO product_slots VALUES(96,376); +INSERT INTO product_slots VALUES(96,377); +INSERT INTO product_slots VALUES(96,378); +INSERT INTO product_slots VALUES(96,379); +INSERT INTO product_slots VALUES(96,380); +INSERT INTO product_slots VALUES(96,381); +INSERT INTO product_slots VALUES(96,382); +INSERT INTO product_slots VALUES(96,383); +INSERT INTO product_slots VALUES(96,384); +INSERT INTO product_slots VALUES(96,385); +INSERT INTO product_slots VALUES(96,386); +INSERT INTO product_slots VALUES(96,387); +INSERT INTO product_slots VALUES(96,388); +INSERT INTO product_slots VALUES(96,389); +INSERT INTO product_slots VALUES(96,390); +INSERT INTO product_slots VALUES(96,391); +INSERT INTO product_slots VALUES(96,392); +INSERT INTO product_slots VALUES(96,393); +INSERT INTO product_slots VALUES(96,394); +INSERT INTO product_slots VALUES(96,395); +INSERT INTO product_slots VALUES(96,396); +INSERT INTO product_slots VALUES(96,397); +INSERT INTO product_slots VALUES(96,398); +INSERT INTO product_slots VALUES(96,399); +INSERT INTO product_slots VALUES(96,400); +INSERT INTO product_slots VALUES(96,401); +INSERT INTO product_slots VALUES(96,402); +INSERT INTO product_slots VALUES(96,403); +INSERT INTO product_slots VALUES(96,404); +INSERT INTO product_slots VALUES(96,405); +INSERT INTO product_slots VALUES(96,406); +INSERT INTO product_slots VALUES(96,407); +INSERT INTO product_slots VALUES(96,408); +INSERT INTO product_slots VALUES(96,409); +INSERT INTO product_slots VALUES(96,410); +INSERT INTO product_slots VALUES(96,411); +INSERT INTO product_slots VALUES(96,412); +INSERT INTO product_slots VALUES(96,413); +INSERT INTO product_slots VALUES(96,414); +INSERT INTO product_slots VALUES(96,415); +INSERT INTO product_slots VALUES(96,416); +INSERT INTO product_slots VALUES(96,417); +INSERT INTO product_slots VALUES(96,418); +INSERT INTO product_slots VALUES(96,419); +INSERT INTO product_slots VALUES(96,420); +INSERT INTO product_slots VALUES(96,421); +INSERT INTO product_slots VALUES(96,422); +INSERT INTO product_slots VALUES(96,423); +INSERT INTO product_slots VALUES(96,424); +INSERT INTO product_slots VALUES(96,425); +INSERT INTO product_slots VALUES(96,426); +INSERT INTO product_slots VALUES(96,427); +INSERT INTO product_slots VALUES(96,428); +INSERT INTO product_slots VALUES(96,429); +INSERT INTO product_slots VALUES(96,430); +INSERT INTO product_slots VALUES(96,431); +INSERT INTO product_slots VALUES(96,432); +INSERT INTO product_slots VALUES(96,433); +INSERT INTO product_slots VALUES(96,434); +INSERT INTO product_slots VALUES(96,435); +INSERT INTO product_slots VALUES(96,436); +INSERT INTO product_slots VALUES(96,437); +INSERT INTO product_slots VALUES(96,438); +INSERT INTO product_slots VALUES(96,439); +INSERT INTO product_slots VALUES(96,440); +INSERT INTO product_slots VALUES(96,441); +INSERT INTO product_slots VALUES(96,442); +INSERT INTO product_slots VALUES(96,443); +INSERT INTO product_slots VALUES(96,444); +INSERT INTO product_slots VALUES(96,445); +INSERT INTO product_slots VALUES(96,446); +INSERT INTO product_slots VALUES(96,447); +INSERT INTO product_slots VALUES(96,448); +INSERT INTO product_slots VALUES(96,449); +INSERT INTO product_slots VALUES(96,450); +INSERT INTO product_slots VALUES(96,451); +INSERT INTO product_slots VALUES(96,452); +INSERT INTO product_slots VALUES(96,453); +INSERT INTO product_slots VALUES(96,455); +INSERT INTO product_slots VALUES(96,456); +INSERT INTO product_slots VALUES(96,457); +INSERT INTO product_slots VALUES(96,458); +INSERT INTO product_slots VALUES(96,459); +INSERT INTO product_slots VALUES(96,460); +INSERT INTO product_slots VALUES(96,461); +INSERT INTO product_slots VALUES(96,462); +INSERT INTO product_slots VALUES(96,463); +INSERT INTO product_slots VALUES(96,464); +INSERT INTO product_slots VALUES(96,465); +INSERT INTO product_slots VALUES(96,466); +INSERT INTO product_slots VALUES(96,467); +INSERT INTO product_slots VALUES(96,468); +INSERT INTO product_slots VALUES(96,469); +INSERT INTO product_slots VALUES(96,470); +INSERT INTO product_slots VALUES(96,471); INSERT INTO product_slots VALUES(97,39); INSERT INTO product_slots VALUES(97,55); INSERT INTO product_slots VALUES(97,59); @@ -20697,8 +40843,40 @@ INSERT INTO product_slots VALUES(97,241); INSERT INTO product_slots VALUES(97,242); INSERT INTO product_slots VALUES(97,243); INSERT INTO product_slots VALUES(97,244); +INSERT INTO product_slots VALUES(97,245); +INSERT INTO product_slots VALUES(97,246); +INSERT INTO product_slots VALUES(97,247); +INSERT INTO product_slots VALUES(97,248); +INSERT INTO product_slots VALUES(97,249); +INSERT INTO product_slots VALUES(97,250); +INSERT INTO product_slots VALUES(97,251); +INSERT INTO product_slots VALUES(97,252); +INSERT INTO product_slots VALUES(97,253); +INSERT INTO product_slots VALUES(97,254); +INSERT INTO product_slots VALUES(97,255); +INSERT INTO product_slots VALUES(97,256); +INSERT INTO product_slots VALUES(97,257); +INSERT INTO product_slots VALUES(97,258); +INSERT INTO product_slots VALUES(97,259); +INSERT INTO product_slots VALUES(97,260); +INSERT INTO product_slots VALUES(97,261); +INSERT INTO product_slots VALUES(97,262); +INSERT INTO product_slots VALUES(97,263); +INSERT INTO product_slots VALUES(97,264); +INSERT INTO product_slots VALUES(97,265); +INSERT INTO product_slots VALUES(97,266); +INSERT INTO product_slots VALUES(97,267); +INSERT INTO product_slots VALUES(97,268); +INSERT INTO product_slots VALUES(97,269); +INSERT INTO product_slots VALUES(97,270); +INSERT INTO product_slots VALUES(97,271); +INSERT INTO product_slots VALUES(97,272); +INSERT INTO product_slots VALUES(97,273); INSERT INTO product_slots VALUES(97,274); INSERT INTO product_slots VALUES(97,275); +INSERT INTO product_slots VALUES(97,276); +INSERT INTO product_slots VALUES(97,277); +INSERT INTO product_slots VALUES(97,278); INSERT INTO product_slots VALUES(97,279); INSERT INTO product_slots VALUES(97,280); INSERT INTO product_slots VALUES(97,281); @@ -20708,6 +40886,190 @@ INSERT INTO product_slots VALUES(97,284); INSERT INTO product_slots VALUES(97,285); INSERT INTO product_slots VALUES(97,286); INSERT INTO product_slots VALUES(97,287); +INSERT INTO product_slots VALUES(97,288); +INSERT INTO product_slots VALUES(97,289); +INSERT INTO product_slots VALUES(97,290); +INSERT INTO product_slots VALUES(97,291); +INSERT INTO product_slots VALUES(97,292); +INSERT INTO product_slots VALUES(97,293); +INSERT INTO product_slots VALUES(97,294); +INSERT INTO product_slots VALUES(97,295); +INSERT INTO product_slots VALUES(97,296); +INSERT INTO product_slots VALUES(97,297); +INSERT INTO product_slots VALUES(97,298); +INSERT INTO product_slots VALUES(97,299); +INSERT INTO product_slots VALUES(97,300); +INSERT INTO product_slots VALUES(97,301); +INSERT INTO product_slots VALUES(97,302); +INSERT INTO product_slots VALUES(97,303); +INSERT INTO product_slots VALUES(97,304); +INSERT INTO product_slots VALUES(97,305); +INSERT INTO product_slots VALUES(97,306); +INSERT INTO product_slots VALUES(97,307); +INSERT INTO product_slots VALUES(97,308); +INSERT INTO product_slots VALUES(97,309); +INSERT INTO product_slots VALUES(97,310); +INSERT INTO product_slots VALUES(97,311); +INSERT INTO product_slots VALUES(97,312); +INSERT INTO product_slots VALUES(97,313); +INSERT INTO product_slots VALUES(97,314); +INSERT INTO product_slots VALUES(97,315); +INSERT INTO product_slots VALUES(97,316); +INSERT INTO product_slots VALUES(97,317); +INSERT INTO product_slots VALUES(97,318); +INSERT INTO product_slots VALUES(97,319); +INSERT INTO product_slots VALUES(97,320); +INSERT INTO product_slots VALUES(97,321); +INSERT INTO product_slots VALUES(97,322); +INSERT INTO product_slots VALUES(97,323); +INSERT INTO product_slots VALUES(97,324); +INSERT INTO product_slots VALUES(97,325); +INSERT INTO product_slots VALUES(97,326); +INSERT INTO product_slots VALUES(97,327); +INSERT INTO product_slots VALUES(97,328); +INSERT INTO product_slots VALUES(97,329); +INSERT INTO product_slots VALUES(97,330); +INSERT INTO product_slots VALUES(97,331); +INSERT INTO product_slots VALUES(97,332); +INSERT INTO product_slots VALUES(97,333); +INSERT INTO product_slots VALUES(97,334); +INSERT INTO product_slots VALUES(97,335); +INSERT INTO product_slots VALUES(97,336); +INSERT INTO product_slots VALUES(97,337); +INSERT INTO product_slots VALUES(97,338); +INSERT INTO product_slots VALUES(97,339); +INSERT INTO product_slots VALUES(97,340); +INSERT INTO product_slots VALUES(97,341); +INSERT INTO product_slots VALUES(97,342); +INSERT INTO product_slots VALUES(97,343); +INSERT INTO product_slots VALUES(97,344); +INSERT INTO product_slots VALUES(97,345); +INSERT INTO product_slots VALUES(97,346); +INSERT INTO product_slots VALUES(97,347); +INSERT INTO product_slots VALUES(97,348); +INSERT INTO product_slots VALUES(97,349); +INSERT INTO product_slots VALUES(97,350); +INSERT INTO product_slots VALUES(97,351); +INSERT INTO product_slots VALUES(97,352); +INSERT INTO product_slots VALUES(97,353); +INSERT INTO product_slots VALUES(97,354); +INSERT INTO product_slots VALUES(97,355); +INSERT INTO product_slots VALUES(97,356); +INSERT INTO product_slots VALUES(97,357); +INSERT INTO product_slots VALUES(97,358); +INSERT INTO product_slots VALUES(97,359); +INSERT INTO product_slots VALUES(97,360); +INSERT INTO product_slots VALUES(97,361); +INSERT INTO product_slots VALUES(97,362); +INSERT INTO product_slots VALUES(97,363); +INSERT INTO product_slots VALUES(97,364); +INSERT INTO product_slots VALUES(97,365); +INSERT INTO product_slots VALUES(97,366); +INSERT INTO product_slots VALUES(97,367); +INSERT INTO product_slots VALUES(97,368); +INSERT INTO product_slots VALUES(97,369); +INSERT INTO product_slots VALUES(97,370); +INSERT INTO product_slots VALUES(97,371); +INSERT INTO product_slots VALUES(97,372); +INSERT INTO product_slots VALUES(97,373); +INSERT INTO product_slots VALUES(97,374); +INSERT INTO product_slots VALUES(97,375); +INSERT INTO product_slots VALUES(97,376); +INSERT INTO product_slots VALUES(97,377); +INSERT INTO product_slots VALUES(97,378); +INSERT INTO product_slots VALUES(97,379); +INSERT INTO product_slots VALUES(97,380); +INSERT INTO product_slots VALUES(97,381); +INSERT INTO product_slots VALUES(97,382); +INSERT INTO product_slots VALUES(97,383); +INSERT INTO product_slots VALUES(97,384); +INSERT INTO product_slots VALUES(97,385); +INSERT INTO product_slots VALUES(97,386); +INSERT INTO product_slots VALUES(97,387); +INSERT INTO product_slots VALUES(97,388); +INSERT INTO product_slots VALUES(97,389); +INSERT INTO product_slots VALUES(97,390); +INSERT INTO product_slots VALUES(97,391); +INSERT INTO product_slots VALUES(97,392); +INSERT INTO product_slots VALUES(97,393); +INSERT INTO product_slots VALUES(97,394); +INSERT INTO product_slots VALUES(97,395); +INSERT INTO product_slots VALUES(97,396); +INSERT INTO product_slots VALUES(97,397); +INSERT INTO product_slots VALUES(97,398); +INSERT INTO product_slots VALUES(97,399); +INSERT INTO product_slots VALUES(97,400); +INSERT INTO product_slots VALUES(97,401); +INSERT INTO product_slots VALUES(97,402); +INSERT INTO product_slots VALUES(97,403); +INSERT INTO product_slots VALUES(97,404); +INSERT INTO product_slots VALUES(97,405); +INSERT INTO product_slots VALUES(97,406); +INSERT INTO product_slots VALUES(97,407); +INSERT INTO product_slots VALUES(97,408); +INSERT INTO product_slots VALUES(97,409); +INSERT INTO product_slots VALUES(97,410); +INSERT INTO product_slots VALUES(97,411); +INSERT INTO product_slots VALUES(97,412); +INSERT INTO product_slots VALUES(97,413); +INSERT INTO product_slots VALUES(97,414); +INSERT INTO product_slots VALUES(97,415); +INSERT INTO product_slots VALUES(97,416); +INSERT INTO product_slots VALUES(97,417); +INSERT INTO product_slots VALUES(97,418); +INSERT INTO product_slots VALUES(97,419); +INSERT INTO product_slots VALUES(97,420); +INSERT INTO product_slots VALUES(97,421); +INSERT INTO product_slots VALUES(97,422); +INSERT INTO product_slots VALUES(97,423); +INSERT INTO product_slots VALUES(97,424); +INSERT INTO product_slots VALUES(97,425); +INSERT INTO product_slots VALUES(97,426); +INSERT INTO product_slots VALUES(97,427); +INSERT INTO product_slots VALUES(97,428); +INSERT INTO product_slots VALUES(97,429); +INSERT INTO product_slots VALUES(97,430); +INSERT INTO product_slots VALUES(97,431); +INSERT INTO product_slots VALUES(97,432); +INSERT INTO product_slots VALUES(97,433); +INSERT INTO product_slots VALUES(97,434); +INSERT INTO product_slots VALUES(97,435); +INSERT INTO product_slots VALUES(97,436); +INSERT INTO product_slots VALUES(97,437); +INSERT INTO product_slots VALUES(97,438); +INSERT INTO product_slots VALUES(97,439); +INSERT INTO product_slots VALUES(97,440); +INSERT INTO product_slots VALUES(97,441); +INSERT INTO product_slots VALUES(97,442); +INSERT INTO product_slots VALUES(97,443); +INSERT INTO product_slots VALUES(97,444); +INSERT INTO product_slots VALUES(97,445); +INSERT INTO product_slots VALUES(97,446); +INSERT INTO product_slots VALUES(97,447); +INSERT INTO product_slots VALUES(97,448); +INSERT INTO product_slots VALUES(97,449); +INSERT INTO product_slots VALUES(97,450); +INSERT INTO product_slots VALUES(97,451); +INSERT INTO product_slots VALUES(97,452); +INSERT INTO product_slots VALUES(97,453); +INSERT INTO product_slots VALUES(97,454); +INSERT INTO product_slots VALUES(97,455); +INSERT INTO product_slots VALUES(97,456); +INSERT INTO product_slots VALUES(97,457); +INSERT INTO product_slots VALUES(97,458); +INSERT INTO product_slots VALUES(97,459); +INSERT INTO product_slots VALUES(97,460); +INSERT INTO product_slots VALUES(97,461); +INSERT INTO product_slots VALUES(97,462); +INSERT INTO product_slots VALUES(97,463); +INSERT INTO product_slots VALUES(97,464); +INSERT INTO product_slots VALUES(97,465); +INSERT INTO product_slots VALUES(97,466); +INSERT INTO product_slots VALUES(97,467); +INSERT INTO product_slots VALUES(97,468); +INSERT INTO product_slots VALUES(97,469); +INSERT INTO product_slots VALUES(97,470); +INSERT INTO product_slots VALUES(97,471); INSERT INTO product_slots VALUES(98,81); INSERT INTO product_slots VALUES(98,82); INSERT INTO product_slots VALUES(98,83); @@ -20822,11 +41184,136 @@ INSERT INTO product_slots VALUES(98,237); INSERT INTO product_slots VALUES(98,238); INSERT INTO product_slots VALUES(98,239); INSERT INTO product_slots VALUES(98,240); +INSERT INTO product_slots VALUES(98,245); +INSERT INTO product_slots VALUES(98,246); +INSERT INTO product_slots VALUES(98,247); +INSERT INTO product_slots VALUES(98,248); +INSERT INTO product_slots VALUES(98,252); +INSERT INTO product_slots VALUES(98,253); +INSERT INTO product_slots VALUES(98,255); +INSERT INTO product_slots VALUES(98,259); +INSERT INTO product_slots VALUES(98,260); +INSERT INTO product_slots VALUES(98,261); +INSERT INTO product_slots VALUES(98,262); +INSERT INTO product_slots VALUES(98,263); +INSERT INTO product_slots VALUES(98,266); +INSERT INTO product_slots VALUES(98,267); +INSERT INTO product_slots VALUES(98,268); +INSERT INTO product_slots VALUES(98,269); +INSERT INTO product_slots VALUES(98,270); +INSERT INTO product_slots VALUES(98,273); INSERT INTO product_slots VALUES(98,274); INSERT INTO product_slots VALUES(98,275); INSERT INTO product_slots VALUES(98,277); INSERT INTO product_slots VALUES(98,278); INSERT INTO product_slots VALUES(98,279); +INSERT INTO product_slots VALUES(98,280); +INSERT INTO product_slots VALUES(98,281); +INSERT INTO product_slots VALUES(98,282); +INSERT INTO product_slots VALUES(98,283); +INSERT INTO product_slots VALUES(98,287); +INSERT INTO product_slots VALUES(98,288); +INSERT INTO product_slots VALUES(98,289); +INSERT INTO product_slots VALUES(98,290); +INSERT INTO product_slots VALUES(98,294); +INSERT INTO product_slots VALUES(98,295); +INSERT INTO product_slots VALUES(98,296); +INSERT INTO product_slots VALUES(98,297); +INSERT INTO product_slots VALUES(98,301); +INSERT INTO product_slots VALUES(98,302); +INSERT INTO product_slots VALUES(98,308); +INSERT INTO product_slots VALUES(98,309); +INSERT INTO product_slots VALUES(98,310); +INSERT INTO product_slots VALUES(98,311); +INSERT INTO product_slots VALUES(98,315); +INSERT INTO product_slots VALUES(98,316); +INSERT INTO product_slots VALUES(98,317); +INSERT INTO product_slots VALUES(98,318); +INSERT INTO product_slots VALUES(98,319); +INSERT INTO product_slots VALUES(98,322); +INSERT INTO product_slots VALUES(98,323); +INSERT INTO product_slots VALUES(98,324); +INSERT INTO product_slots VALUES(98,325); +INSERT INTO product_slots VALUES(98,329); +INSERT INTO product_slots VALUES(98,330); +INSERT INTO product_slots VALUES(98,334); +INSERT INTO product_slots VALUES(98,335); +INSERT INTO product_slots VALUES(98,336); +INSERT INTO product_slots VALUES(98,337); +INSERT INTO product_slots VALUES(98,338); +INSERT INTO product_slots VALUES(98,341); +INSERT INTO product_slots VALUES(98,342); +INSERT INTO product_slots VALUES(98,343); +INSERT INTO product_slots VALUES(98,344); +INSERT INTO product_slots VALUES(98,348); +INSERT INTO product_slots VALUES(98,349); +INSERT INTO product_slots VALUES(98,350); +INSERT INTO product_slots VALUES(98,351); +INSERT INTO product_slots VALUES(98,355); +INSERT INTO product_slots VALUES(98,356); +INSERT INTO product_slots VALUES(98,357); +INSERT INTO product_slots VALUES(98,358); +INSERT INTO product_slots VALUES(98,360); +INSERT INTO product_slots VALUES(98,361); +INSERT INTO product_slots VALUES(98,362); +INSERT INTO product_slots VALUES(98,363); +INSERT INTO product_slots VALUES(98,367); +INSERT INTO product_slots VALUES(98,368); +INSERT INTO product_slots VALUES(98,369); +INSERT INTO product_slots VALUES(98,370); +INSERT INTO product_slots VALUES(98,374); +INSERT INTO product_slots VALUES(98,375); +INSERT INTO product_slots VALUES(98,376); +INSERT INTO product_slots VALUES(98,377); +INSERT INTO product_slots VALUES(98,381); +INSERT INTO product_slots VALUES(98,382); +INSERT INTO product_slots VALUES(98,383); +INSERT INTO product_slots VALUES(98,384); +INSERT INTO product_slots VALUES(98,385); +INSERT INTO product_slots VALUES(98,389); +INSERT INTO product_slots VALUES(98,390); +INSERT INTO product_slots VALUES(98,391); +INSERT INTO product_slots VALUES(98,395); +INSERT INTO product_slots VALUES(98,396); +INSERT INTO product_slots VALUES(98,397); +INSERT INTO product_slots VALUES(98,398); +INSERT INTO product_slots VALUES(98,399); +INSERT INTO product_slots VALUES(98,400); +INSERT INTO product_slots VALUES(98,401); +INSERT INTO product_slots VALUES(98,402); +INSERT INTO product_slots VALUES(98,403); +INSERT INTO product_slots VALUES(98,404); +INSERT INTO product_slots VALUES(98,405); +INSERT INTO product_slots VALUES(98,406); +INSERT INTO product_slots VALUES(98,411); +INSERT INTO product_slots VALUES(98,412); +INSERT INTO product_slots VALUES(98,413); +INSERT INTO product_slots VALUES(98,414); +INSERT INTO product_slots VALUES(98,419); +INSERT INTO product_slots VALUES(98,420); +INSERT INTO product_slots VALUES(98,421); +INSERT INTO product_slots VALUES(98,422); +INSERT INTO product_slots VALUES(98,427); +INSERT INTO product_slots VALUES(98,428); +INSERT INTO product_slots VALUES(98,429); +INSERT INTO product_slots VALUES(98,434); +INSERT INTO product_slots VALUES(98,435); +INSERT INTO product_slots VALUES(98,436); +INSERT INTO product_slots VALUES(98,437); +INSERT INTO product_slots VALUES(98,442); +INSERT INTO product_slots VALUES(98,443); +INSERT INTO product_slots VALUES(98,444); +INSERT INTO product_slots VALUES(98,450); +INSERT INTO product_slots VALUES(98,451); +INSERT INTO product_slots VALUES(98,452); +INSERT INTO product_slots VALUES(98,453); +INSERT INTO product_slots VALUES(98,458); +INSERT INTO product_slots VALUES(98,459); +INSERT INTO product_slots VALUES(98,460); +INSERT INTO product_slots VALUES(98,461); +INSERT INTO product_slots VALUES(98,466); +INSERT INTO product_slots VALUES(98,467); +INSERT INTO product_slots VALUES(98,468); INSERT INTO product_slots VALUES(99,81); INSERT INTO product_slots VALUES(99,82); INSERT INTO product_slots VALUES(99,83); @@ -20940,11 +41427,136 @@ INSERT INTO product_slots VALUES(99,237); INSERT INTO product_slots VALUES(99,238); INSERT INTO product_slots VALUES(99,239); INSERT INTO product_slots VALUES(99,240); +INSERT INTO product_slots VALUES(99,245); +INSERT INTO product_slots VALUES(99,246); +INSERT INTO product_slots VALUES(99,247); +INSERT INTO product_slots VALUES(99,248); +INSERT INTO product_slots VALUES(99,252); +INSERT INTO product_slots VALUES(99,253); +INSERT INTO product_slots VALUES(99,255); +INSERT INTO product_slots VALUES(99,259); +INSERT INTO product_slots VALUES(99,260); +INSERT INTO product_slots VALUES(99,261); +INSERT INTO product_slots VALUES(99,262); +INSERT INTO product_slots VALUES(99,263); +INSERT INTO product_slots VALUES(99,266); +INSERT INTO product_slots VALUES(99,267); +INSERT INTO product_slots VALUES(99,268); +INSERT INTO product_slots VALUES(99,269); +INSERT INTO product_slots VALUES(99,270); +INSERT INTO product_slots VALUES(99,273); INSERT INTO product_slots VALUES(99,274); INSERT INTO product_slots VALUES(99,275); INSERT INTO product_slots VALUES(99,277); INSERT INTO product_slots VALUES(99,278); INSERT INTO product_slots VALUES(99,279); +INSERT INTO product_slots VALUES(99,280); +INSERT INTO product_slots VALUES(99,281); +INSERT INTO product_slots VALUES(99,282); +INSERT INTO product_slots VALUES(99,283); +INSERT INTO product_slots VALUES(99,287); +INSERT INTO product_slots VALUES(99,288); +INSERT INTO product_slots VALUES(99,289); +INSERT INTO product_slots VALUES(99,290); +INSERT INTO product_slots VALUES(99,294); +INSERT INTO product_slots VALUES(99,295); +INSERT INTO product_slots VALUES(99,296); +INSERT INTO product_slots VALUES(99,297); +INSERT INTO product_slots VALUES(99,301); +INSERT INTO product_slots VALUES(99,302); +INSERT INTO product_slots VALUES(99,308); +INSERT INTO product_slots VALUES(99,309); +INSERT INTO product_slots VALUES(99,310); +INSERT INTO product_slots VALUES(99,311); +INSERT INTO product_slots VALUES(99,315); +INSERT INTO product_slots VALUES(99,316); +INSERT INTO product_slots VALUES(99,317); +INSERT INTO product_slots VALUES(99,318); +INSERT INTO product_slots VALUES(99,319); +INSERT INTO product_slots VALUES(99,322); +INSERT INTO product_slots VALUES(99,323); +INSERT INTO product_slots VALUES(99,324); +INSERT INTO product_slots VALUES(99,325); +INSERT INTO product_slots VALUES(99,329); +INSERT INTO product_slots VALUES(99,330); +INSERT INTO product_slots VALUES(99,334); +INSERT INTO product_slots VALUES(99,335); +INSERT INTO product_slots VALUES(99,336); +INSERT INTO product_slots VALUES(99,337); +INSERT INTO product_slots VALUES(99,338); +INSERT INTO product_slots VALUES(99,341); +INSERT INTO product_slots VALUES(99,342); +INSERT INTO product_slots VALUES(99,343); +INSERT INTO product_slots VALUES(99,344); +INSERT INTO product_slots VALUES(99,348); +INSERT INTO product_slots VALUES(99,349); +INSERT INTO product_slots VALUES(99,350); +INSERT INTO product_slots VALUES(99,351); +INSERT INTO product_slots VALUES(99,355); +INSERT INTO product_slots VALUES(99,356); +INSERT INTO product_slots VALUES(99,357); +INSERT INTO product_slots VALUES(99,358); +INSERT INTO product_slots VALUES(99,360); +INSERT INTO product_slots VALUES(99,361); +INSERT INTO product_slots VALUES(99,362); +INSERT INTO product_slots VALUES(99,363); +INSERT INTO product_slots VALUES(99,367); +INSERT INTO product_slots VALUES(99,368); +INSERT INTO product_slots VALUES(99,369); +INSERT INTO product_slots VALUES(99,370); +INSERT INTO product_slots VALUES(99,374); +INSERT INTO product_slots VALUES(99,375); +INSERT INTO product_slots VALUES(99,376); +INSERT INTO product_slots VALUES(99,377); +INSERT INTO product_slots VALUES(99,381); +INSERT INTO product_slots VALUES(99,382); +INSERT INTO product_slots VALUES(99,383); +INSERT INTO product_slots VALUES(99,384); +INSERT INTO product_slots VALUES(99,385); +INSERT INTO product_slots VALUES(99,389); +INSERT INTO product_slots VALUES(99,390); +INSERT INTO product_slots VALUES(99,391); +INSERT INTO product_slots VALUES(99,395); +INSERT INTO product_slots VALUES(99,396); +INSERT INTO product_slots VALUES(99,397); +INSERT INTO product_slots VALUES(99,398); +INSERT INTO product_slots VALUES(99,399); +INSERT INTO product_slots VALUES(99,400); +INSERT INTO product_slots VALUES(99,401); +INSERT INTO product_slots VALUES(99,402); +INSERT INTO product_slots VALUES(99,403); +INSERT INTO product_slots VALUES(99,404); +INSERT INTO product_slots VALUES(99,405); +INSERT INTO product_slots VALUES(99,406); +INSERT INTO product_slots VALUES(99,411); +INSERT INTO product_slots VALUES(99,412); +INSERT INTO product_slots VALUES(99,413); +INSERT INTO product_slots VALUES(99,414); +INSERT INTO product_slots VALUES(99,419); +INSERT INTO product_slots VALUES(99,420); +INSERT INTO product_slots VALUES(99,421); +INSERT INTO product_slots VALUES(99,422); +INSERT INTO product_slots VALUES(99,427); +INSERT INTO product_slots VALUES(99,428); +INSERT INTO product_slots VALUES(99,429); +INSERT INTO product_slots VALUES(99,434); +INSERT INTO product_slots VALUES(99,435); +INSERT INTO product_slots VALUES(99,436); +INSERT INTO product_slots VALUES(99,437); +INSERT INTO product_slots VALUES(99,442); +INSERT INTO product_slots VALUES(99,443); +INSERT INTO product_slots VALUES(99,444); +INSERT INTO product_slots VALUES(99,450); +INSERT INTO product_slots VALUES(99,451); +INSERT INTO product_slots VALUES(99,452); +INSERT INTO product_slots VALUES(99,453); +INSERT INTO product_slots VALUES(99,458); +INSERT INTO product_slots VALUES(99,459); +INSERT INTO product_slots VALUES(99,460); +INSERT INTO product_slots VALUES(99,461); +INSERT INTO product_slots VALUES(99,466); +INSERT INTO product_slots VALUES(99,467); +INSERT INTO product_slots VALUES(99,468); INSERT INTO product_slots VALUES(100,102); INSERT INTO product_slots VALUES(100,103); INSERT INTO product_slots VALUES(100,104); @@ -21063,8 +41675,40 @@ INSERT INTO product_slots VALUES(100,241); INSERT INTO product_slots VALUES(100,242); INSERT INTO product_slots VALUES(100,243); INSERT INTO product_slots VALUES(100,244); +INSERT INTO product_slots VALUES(100,245); +INSERT INTO product_slots VALUES(100,246); +INSERT INTO product_slots VALUES(100,247); +INSERT INTO product_slots VALUES(100,248); +INSERT INTO product_slots VALUES(100,249); +INSERT INTO product_slots VALUES(100,250); +INSERT INTO product_slots VALUES(100,251); +INSERT INTO product_slots VALUES(100,252); +INSERT INTO product_slots VALUES(100,253); +INSERT INTO product_slots VALUES(100,254); +INSERT INTO product_slots VALUES(100,255); +INSERT INTO product_slots VALUES(100,256); +INSERT INTO product_slots VALUES(100,257); +INSERT INTO product_slots VALUES(100,258); +INSERT INTO product_slots VALUES(100,259); +INSERT INTO product_slots VALUES(100,260); +INSERT INTO product_slots VALUES(100,261); +INSERT INTO product_slots VALUES(100,262); +INSERT INTO product_slots VALUES(100,263); +INSERT INTO product_slots VALUES(100,264); +INSERT INTO product_slots VALUES(100,265); +INSERT INTO product_slots VALUES(100,266); +INSERT INTO product_slots VALUES(100,267); +INSERT INTO product_slots VALUES(100,268); +INSERT INTO product_slots VALUES(100,269); +INSERT INTO product_slots VALUES(100,270); +INSERT INTO product_slots VALUES(100,271); +INSERT INTO product_slots VALUES(100,272); +INSERT INTO product_slots VALUES(100,273); INSERT INTO product_slots VALUES(100,274); INSERT INTO product_slots VALUES(100,275); +INSERT INTO product_slots VALUES(100,276); +INSERT INTO product_slots VALUES(100,277); +INSERT INTO product_slots VALUES(100,278); INSERT INTO product_slots VALUES(100,279); INSERT INTO product_slots VALUES(100,280); INSERT INTO product_slots VALUES(100,281); @@ -21074,6 +41718,189 @@ INSERT INTO product_slots VALUES(100,284); INSERT INTO product_slots VALUES(100,285); INSERT INTO product_slots VALUES(100,286); INSERT INTO product_slots VALUES(100,287); +INSERT INTO product_slots VALUES(100,288); +INSERT INTO product_slots VALUES(100,289); +INSERT INTO product_slots VALUES(100,290); +INSERT INTO product_slots VALUES(100,291); +INSERT INTO product_slots VALUES(100,292); +INSERT INTO product_slots VALUES(100,293); +INSERT INTO product_slots VALUES(100,294); +INSERT INTO product_slots VALUES(100,295); +INSERT INTO product_slots VALUES(100,296); +INSERT INTO product_slots VALUES(100,297); +INSERT INTO product_slots VALUES(100,298); +INSERT INTO product_slots VALUES(100,299); +INSERT INTO product_slots VALUES(100,300); +INSERT INTO product_slots VALUES(100,301); +INSERT INTO product_slots VALUES(100,302); +INSERT INTO product_slots VALUES(100,303); +INSERT INTO product_slots VALUES(100,304); +INSERT INTO product_slots VALUES(100,305); +INSERT INTO product_slots VALUES(100,306); +INSERT INTO product_slots VALUES(100,307); +INSERT INTO product_slots VALUES(100,308); +INSERT INTO product_slots VALUES(100,309); +INSERT INTO product_slots VALUES(100,310); +INSERT INTO product_slots VALUES(100,311); +INSERT INTO product_slots VALUES(100,312); +INSERT INTO product_slots VALUES(100,313); +INSERT INTO product_slots VALUES(100,314); +INSERT INTO product_slots VALUES(100,315); +INSERT INTO product_slots VALUES(100,316); +INSERT INTO product_slots VALUES(100,317); +INSERT INTO product_slots VALUES(100,318); +INSERT INTO product_slots VALUES(100,319); +INSERT INTO product_slots VALUES(100,320); +INSERT INTO product_slots VALUES(100,321); +INSERT INTO product_slots VALUES(100,322); +INSERT INTO product_slots VALUES(100,323); +INSERT INTO product_slots VALUES(100,324); +INSERT INTO product_slots VALUES(100,325); +INSERT INTO product_slots VALUES(100,326); +INSERT INTO product_slots VALUES(100,327); +INSERT INTO product_slots VALUES(100,328); +INSERT INTO product_slots VALUES(100,329); +INSERT INTO product_slots VALUES(100,330); +INSERT INTO product_slots VALUES(100,331); +INSERT INTO product_slots VALUES(100,332); +INSERT INTO product_slots VALUES(100,333); +INSERT INTO product_slots VALUES(100,334); +INSERT INTO product_slots VALUES(100,335); +INSERT INTO product_slots VALUES(100,336); +INSERT INTO product_slots VALUES(100,337); +INSERT INTO product_slots VALUES(100,338); +INSERT INTO product_slots VALUES(100,339); +INSERT INTO product_slots VALUES(100,340); +INSERT INTO product_slots VALUES(100,341); +INSERT INTO product_slots VALUES(100,342); +INSERT INTO product_slots VALUES(100,343); +INSERT INTO product_slots VALUES(100,344); +INSERT INTO product_slots VALUES(100,345); +INSERT INTO product_slots VALUES(100,346); +INSERT INTO product_slots VALUES(100,347); +INSERT INTO product_slots VALUES(100,348); +INSERT INTO product_slots VALUES(100,349); +INSERT INTO product_slots VALUES(100,350); +INSERT INTO product_slots VALUES(100,351); +INSERT INTO product_slots VALUES(100,352); +INSERT INTO product_slots VALUES(100,353); +INSERT INTO product_slots VALUES(100,354); +INSERT INTO product_slots VALUES(100,355); +INSERT INTO product_slots VALUES(100,356); +INSERT INTO product_slots VALUES(100,357); +INSERT INTO product_slots VALUES(100,358); +INSERT INTO product_slots VALUES(100,359); +INSERT INTO product_slots VALUES(100,360); +INSERT INTO product_slots VALUES(100,361); +INSERT INTO product_slots VALUES(100,362); +INSERT INTO product_slots VALUES(100,363); +INSERT INTO product_slots VALUES(100,364); +INSERT INTO product_slots VALUES(100,365); +INSERT INTO product_slots VALUES(100,366); +INSERT INTO product_slots VALUES(100,367); +INSERT INTO product_slots VALUES(100,368); +INSERT INTO product_slots VALUES(100,369); +INSERT INTO product_slots VALUES(100,370); +INSERT INTO product_slots VALUES(100,371); +INSERT INTO product_slots VALUES(100,372); +INSERT INTO product_slots VALUES(100,373); +INSERT INTO product_slots VALUES(100,374); +INSERT INTO product_slots VALUES(100,375); +INSERT INTO product_slots VALUES(100,376); +INSERT INTO product_slots VALUES(100,377); +INSERT INTO product_slots VALUES(100,378); +INSERT INTO product_slots VALUES(100,379); +INSERT INTO product_slots VALUES(100,380); +INSERT INTO product_slots VALUES(100,381); +INSERT INTO product_slots VALUES(100,382); +INSERT INTO product_slots VALUES(100,383); +INSERT INTO product_slots VALUES(100,384); +INSERT INTO product_slots VALUES(100,385); +INSERT INTO product_slots VALUES(100,386); +INSERT INTO product_slots VALUES(100,387); +INSERT INTO product_slots VALUES(100,388); +INSERT INTO product_slots VALUES(100,389); +INSERT INTO product_slots VALUES(100,390); +INSERT INTO product_slots VALUES(100,391); +INSERT INTO product_slots VALUES(100,392); +INSERT INTO product_slots VALUES(100,393); +INSERT INTO product_slots VALUES(100,394); +INSERT INTO product_slots VALUES(100,395); +INSERT INTO product_slots VALUES(100,396); +INSERT INTO product_slots VALUES(100,397); +INSERT INTO product_slots VALUES(100,398); +INSERT INTO product_slots VALUES(100,399); +INSERT INTO product_slots VALUES(100,400); +INSERT INTO product_slots VALUES(100,401); +INSERT INTO product_slots VALUES(100,402); +INSERT INTO product_slots VALUES(100,403); +INSERT INTO product_slots VALUES(100,404); +INSERT INTO product_slots VALUES(100,405); +INSERT INTO product_slots VALUES(100,406); +INSERT INTO product_slots VALUES(100,407); +INSERT INTO product_slots VALUES(100,408); +INSERT INTO product_slots VALUES(100,409); +INSERT INTO product_slots VALUES(100,410); +INSERT INTO product_slots VALUES(100,411); +INSERT INTO product_slots VALUES(100,412); +INSERT INTO product_slots VALUES(100,413); +INSERT INTO product_slots VALUES(100,414); +INSERT INTO product_slots VALUES(100,415); +INSERT INTO product_slots VALUES(100,416); +INSERT INTO product_slots VALUES(100,417); +INSERT INTO product_slots VALUES(100,418); +INSERT INTO product_slots VALUES(100,419); +INSERT INTO product_slots VALUES(100,420); +INSERT INTO product_slots VALUES(100,421); +INSERT INTO product_slots VALUES(100,422); +INSERT INTO product_slots VALUES(100,423); +INSERT INTO product_slots VALUES(100,424); +INSERT INTO product_slots VALUES(100,425); +INSERT INTO product_slots VALUES(100,426); +INSERT INTO product_slots VALUES(100,427); +INSERT INTO product_slots VALUES(100,428); +INSERT INTO product_slots VALUES(100,429); +INSERT INTO product_slots VALUES(100,430); +INSERT INTO product_slots VALUES(100,431); +INSERT INTO product_slots VALUES(100,432); +INSERT INTO product_slots VALUES(100,433); +INSERT INTO product_slots VALUES(100,434); +INSERT INTO product_slots VALUES(100,435); +INSERT INTO product_slots VALUES(100,436); +INSERT INTO product_slots VALUES(100,437); +INSERT INTO product_slots VALUES(100,438); +INSERT INTO product_slots VALUES(100,439); +INSERT INTO product_slots VALUES(100,440); +INSERT INTO product_slots VALUES(100,441); +INSERT INTO product_slots VALUES(100,442); +INSERT INTO product_slots VALUES(100,443); +INSERT INTO product_slots VALUES(100,444); +INSERT INTO product_slots VALUES(100,445); +INSERT INTO product_slots VALUES(100,446); +INSERT INTO product_slots VALUES(100,447); +INSERT INTO product_slots VALUES(100,448); +INSERT INTO product_slots VALUES(100,449); +INSERT INTO product_slots VALUES(100,450); +INSERT INTO product_slots VALUES(100,451); +INSERT INTO product_slots VALUES(100,452); +INSERT INTO product_slots VALUES(100,453); +INSERT INTO product_slots VALUES(100,455); +INSERT INTO product_slots VALUES(100,456); +INSERT INTO product_slots VALUES(100,457); +INSERT INTO product_slots VALUES(100,458); +INSERT INTO product_slots VALUES(100,459); +INSERT INTO product_slots VALUES(100,460); +INSERT INTO product_slots VALUES(100,461); +INSERT INTO product_slots VALUES(100,462); +INSERT INTO product_slots VALUES(100,463); +INSERT INTO product_slots VALUES(100,464); +INSERT INTO product_slots VALUES(100,465); +INSERT INTO product_slots VALUES(100,466); +INSERT INTO product_slots VALUES(100,467); +INSERT INTO product_slots VALUES(100,468); +INSERT INTO product_slots VALUES(100,469); +INSERT INTO product_slots VALUES(100,470); +INSERT INTO product_slots VALUES(100,471); INSERT INTO product_slots VALUES(101,211); INSERT INTO product_slots VALUES(101,230); INSERT INTO product_slots VALUES(101,231); @@ -21090,8 +41917,40 @@ INSERT INTO product_slots VALUES(101,241); INSERT INTO product_slots VALUES(101,242); INSERT INTO product_slots VALUES(101,243); INSERT INTO product_slots VALUES(101,244); +INSERT INTO product_slots VALUES(101,245); +INSERT INTO product_slots VALUES(101,246); +INSERT INTO product_slots VALUES(101,247); +INSERT INTO product_slots VALUES(101,248); +INSERT INTO product_slots VALUES(101,249); +INSERT INTO product_slots VALUES(101,250); +INSERT INTO product_slots VALUES(101,251); +INSERT INTO product_slots VALUES(101,252); +INSERT INTO product_slots VALUES(101,253); +INSERT INTO product_slots VALUES(101,254); +INSERT INTO product_slots VALUES(101,255); +INSERT INTO product_slots VALUES(101,256); +INSERT INTO product_slots VALUES(101,257); +INSERT INTO product_slots VALUES(101,258); +INSERT INTO product_slots VALUES(101,259); +INSERT INTO product_slots VALUES(101,260); +INSERT INTO product_slots VALUES(101,261); +INSERT INTO product_slots VALUES(101,262); +INSERT INTO product_slots VALUES(101,263); +INSERT INTO product_slots VALUES(101,264); +INSERT INTO product_slots VALUES(101,265); +INSERT INTO product_slots VALUES(101,266); +INSERT INTO product_slots VALUES(101,267); +INSERT INTO product_slots VALUES(101,268); +INSERT INTO product_slots VALUES(101,269); +INSERT INTO product_slots VALUES(101,270); +INSERT INTO product_slots VALUES(101,271); +INSERT INTO product_slots VALUES(101,272); +INSERT INTO product_slots VALUES(101,273); INSERT INTO product_slots VALUES(101,274); INSERT INTO product_slots VALUES(101,275); +INSERT INTO product_slots VALUES(101,276); +INSERT INTO product_slots VALUES(101,277); +INSERT INTO product_slots VALUES(101,278); INSERT INTO product_slots VALUES(101,279); INSERT INTO product_slots VALUES(101,280); INSERT INTO product_slots VALUES(101,281); @@ -21101,6 +41960,190 @@ INSERT INTO product_slots VALUES(101,284); INSERT INTO product_slots VALUES(101,285); INSERT INTO product_slots VALUES(101,286); INSERT INTO product_slots VALUES(101,287); +INSERT INTO product_slots VALUES(101,288); +INSERT INTO product_slots VALUES(101,289); +INSERT INTO product_slots VALUES(101,290); +INSERT INTO product_slots VALUES(101,291); +INSERT INTO product_slots VALUES(101,292); +INSERT INTO product_slots VALUES(101,293); +INSERT INTO product_slots VALUES(101,294); +INSERT INTO product_slots VALUES(101,295); +INSERT INTO product_slots VALUES(101,296); +INSERT INTO product_slots VALUES(101,297); +INSERT INTO product_slots VALUES(101,298); +INSERT INTO product_slots VALUES(101,299); +INSERT INTO product_slots VALUES(101,300); +INSERT INTO product_slots VALUES(101,301); +INSERT INTO product_slots VALUES(101,302); +INSERT INTO product_slots VALUES(101,303); +INSERT INTO product_slots VALUES(101,304); +INSERT INTO product_slots VALUES(101,305); +INSERT INTO product_slots VALUES(101,306); +INSERT INTO product_slots VALUES(101,307); +INSERT INTO product_slots VALUES(101,308); +INSERT INTO product_slots VALUES(101,309); +INSERT INTO product_slots VALUES(101,310); +INSERT INTO product_slots VALUES(101,311); +INSERT INTO product_slots VALUES(101,312); +INSERT INTO product_slots VALUES(101,313); +INSERT INTO product_slots VALUES(101,314); +INSERT INTO product_slots VALUES(101,315); +INSERT INTO product_slots VALUES(101,316); +INSERT INTO product_slots VALUES(101,317); +INSERT INTO product_slots VALUES(101,318); +INSERT INTO product_slots VALUES(101,319); +INSERT INTO product_slots VALUES(101,320); +INSERT INTO product_slots VALUES(101,321); +INSERT INTO product_slots VALUES(101,322); +INSERT INTO product_slots VALUES(101,323); +INSERT INTO product_slots VALUES(101,324); +INSERT INTO product_slots VALUES(101,325); +INSERT INTO product_slots VALUES(101,326); +INSERT INTO product_slots VALUES(101,327); +INSERT INTO product_slots VALUES(101,328); +INSERT INTO product_slots VALUES(101,329); +INSERT INTO product_slots VALUES(101,330); +INSERT INTO product_slots VALUES(101,331); +INSERT INTO product_slots VALUES(101,332); +INSERT INTO product_slots VALUES(101,333); +INSERT INTO product_slots VALUES(101,334); +INSERT INTO product_slots VALUES(101,335); +INSERT INTO product_slots VALUES(101,336); +INSERT INTO product_slots VALUES(101,337); +INSERT INTO product_slots VALUES(101,338); +INSERT INTO product_slots VALUES(101,339); +INSERT INTO product_slots VALUES(101,340); +INSERT INTO product_slots VALUES(101,341); +INSERT INTO product_slots VALUES(101,342); +INSERT INTO product_slots VALUES(101,343); +INSERT INTO product_slots VALUES(101,344); +INSERT INTO product_slots VALUES(101,345); +INSERT INTO product_slots VALUES(101,346); +INSERT INTO product_slots VALUES(101,347); +INSERT INTO product_slots VALUES(101,348); +INSERT INTO product_slots VALUES(101,349); +INSERT INTO product_slots VALUES(101,350); +INSERT INTO product_slots VALUES(101,351); +INSERT INTO product_slots VALUES(101,352); +INSERT INTO product_slots VALUES(101,353); +INSERT INTO product_slots VALUES(101,354); +INSERT INTO product_slots VALUES(101,355); +INSERT INTO product_slots VALUES(101,356); +INSERT INTO product_slots VALUES(101,357); +INSERT INTO product_slots VALUES(101,358); +INSERT INTO product_slots VALUES(101,359); +INSERT INTO product_slots VALUES(101,360); +INSERT INTO product_slots VALUES(101,361); +INSERT INTO product_slots VALUES(101,362); +INSERT INTO product_slots VALUES(101,363); +INSERT INTO product_slots VALUES(101,364); +INSERT INTO product_slots VALUES(101,365); +INSERT INTO product_slots VALUES(101,366); +INSERT INTO product_slots VALUES(101,367); +INSERT INTO product_slots VALUES(101,368); +INSERT INTO product_slots VALUES(101,369); +INSERT INTO product_slots VALUES(101,370); +INSERT INTO product_slots VALUES(101,371); +INSERT INTO product_slots VALUES(101,372); +INSERT INTO product_slots VALUES(101,373); +INSERT INTO product_slots VALUES(101,374); +INSERT INTO product_slots VALUES(101,375); +INSERT INTO product_slots VALUES(101,376); +INSERT INTO product_slots VALUES(101,377); +INSERT INTO product_slots VALUES(101,378); +INSERT INTO product_slots VALUES(101,379); +INSERT INTO product_slots VALUES(101,380); +INSERT INTO product_slots VALUES(101,381); +INSERT INTO product_slots VALUES(101,382); +INSERT INTO product_slots VALUES(101,383); +INSERT INTO product_slots VALUES(101,384); +INSERT INTO product_slots VALUES(101,385); +INSERT INTO product_slots VALUES(101,386); +INSERT INTO product_slots VALUES(101,387); +INSERT INTO product_slots VALUES(101,388); +INSERT INTO product_slots VALUES(101,389); +INSERT INTO product_slots VALUES(101,390); +INSERT INTO product_slots VALUES(101,391); +INSERT INTO product_slots VALUES(101,392); +INSERT INTO product_slots VALUES(101,393); +INSERT INTO product_slots VALUES(101,394); +INSERT INTO product_slots VALUES(101,395); +INSERT INTO product_slots VALUES(101,396); +INSERT INTO product_slots VALUES(101,397); +INSERT INTO product_slots VALUES(101,398); +INSERT INTO product_slots VALUES(101,399); +INSERT INTO product_slots VALUES(101,400); +INSERT INTO product_slots VALUES(101,401); +INSERT INTO product_slots VALUES(101,402); +INSERT INTO product_slots VALUES(101,403); +INSERT INTO product_slots VALUES(101,404); +INSERT INTO product_slots VALUES(101,405); +INSERT INTO product_slots VALUES(101,406); +INSERT INTO product_slots VALUES(101,407); +INSERT INTO product_slots VALUES(101,408); +INSERT INTO product_slots VALUES(101,409); +INSERT INTO product_slots VALUES(101,410); +INSERT INTO product_slots VALUES(101,411); +INSERT INTO product_slots VALUES(101,412); +INSERT INTO product_slots VALUES(101,413); +INSERT INTO product_slots VALUES(101,414); +INSERT INTO product_slots VALUES(101,415); +INSERT INTO product_slots VALUES(101,416); +INSERT INTO product_slots VALUES(101,417); +INSERT INTO product_slots VALUES(101,418); +INSERT INTO product_slots VALUES(101,419); +INSERT INTO product_slots VALUES(101,420); +INSERT INTO product_slots VALUES(101,421); +INSERT INTO product_slots VALUES(101,422); +INSERT INTO product_slots VALUES(101,423); +INSERT INTO product_slots VALUES(101,424); +INSERT INTO product_slots VALUES(101,425); +INSERT INTO product_slots VALUES(101,426); +INSERT INTO product_slots VALUES(101,427); +INSERT INTO product_slots VALUES(101,428); +INSERT INTO product_slots VALUES(101,429); +INSERT INTO product_slots VALUES(101,430); +INSERT INTO product_slots VALUES(101,431); +INSERT INTO product_slots VALUES(101,432); +INSERT INTO product_slots VALUES(101,433); +INSERT INTO product_slots VALUES(101,434); +INSERT INTO product_slots VALUES(101,435); +INSERT INTO product_slots VALUES(101,436); +INSERT INTO product_slots VALUES(101,437); +INSERT INTO product_slots VALUES(101,438); +INSERT INTO product_slots VALUES(101,439); +INSERT INTO product_slots VALUES(101,440); +INSERT INTO product_slots VALUES(101,441); +INSERT INTO product_slots VALUES(101,442); +INSERT INTO product_slots VALUES(101,443); +INSERT INTO product_slots VALUES(101,444); +INSERT INTO product_slots VALUES(101,445); +INSERT INTO product_slots VALUES(101,446); +INSERT INTO product_slots VALUES(101,447); +INSERT INTO product_slots VALUES(101,448); +INSERT INTO product_slots VALUES(101,449); +INSERT INTO product_slots VALUES(101,450); +INSERT INTO product_slots VALUES(101,451); +INSERT INTO product_slots VALUES(101,452); +INSERT INTO product_slots VALUES(101,453); +INSERT INTO product_slots VALUES(101,454); +INSERT INTO product_slots VALUES(101,455); +INSERT INTO product_slots VALUES(101,456); +INSERT INTO product_slots VALUES(101,457); +INSERT INTO product_slots VALUES(101,458); +INSERT INTO product_slots VALUES(101,459); +INSERT INTO product_slots VALUES(101,460); +INSERT INTO product_slots VALUES(101,461); +INSERT INTO product_slots VALUES(101,462); +INSERT INTO product_slots VALUES(101,463); +INSERT INTO product_slots VALUES(101,464); +INSERT INTO product_slots VALUES(101,465); +INSERT INTO product_slots VALUES(101,466); +INSERT INTO product_slots VALUES(101,467); +INSERT INTO product_slots VALUES(101,468); +INSERT INTO product_slots VALUES(101,469); +INSERT INTO product_slots VALUES(101,470); +INSERT INTO product_slots VALUES(101,471); INSERT INTO product_slots VALUES(102,188); INSERT INTO product_slots VALUES(102,189); INSERT INTO product_slots VALUES(102,203); @@ -21145,8 +42188,40 @@ INSERT INTO product_slots VALUES(102,241); INSERT INTO product_slots VALUES(102,242); INSERT INTO product_slots VALUES(102,243); INSERT INTO product_slots VALUES(102,244); +INSERT INTO product_slots VALUES(102,245); +INSERT INTO product_slots VALUES(102,246); +INSERT INTO product_slots VALUES(102,247); +INSERT INTO product_slots VALUES(102,248); +INSERT INTO product_slots VALUES(102,249); +INSERT INTO product_slots VALUES(102,250); +INSERT INTO product_slots VALUES(102,251); +INSERT INTO product_slots VALUES(102,252); +INSERT INTO product_slots VALUES(102,253); +INSERT INTO product_slots VALUES(102,254); +INSERT INTO product_slots VALUES(102,255); +INSERT INTO product_slots VALUES(102,256); +INSERT INTO product_slots VALUES(102,257); +INSERT INTO product_slots VALUES(102,258); +INSERT INTO product_slots VALUES(102,259); +INSERT INTO product_slots VALUES(102,260); +INSERT INTO product_slots VALUES(102,261); +INSERT INTO product_slots VALUES(102,262); +INSERT INTO product_slots VALUES(102,263); +INSERT INTO product_slots VALUES(102,264); +INSERT INTO product_slots VALUES(102,265); +INSERT INTO product_slots VALUES(102,266); +INSERT INTO product_slots VALUES(102,267); +INSERT INTO product_slots VALUES(102,268); +INSERT INTO product_slots VALUES(102,269); +INSERT INTO product_slots VALUES(102,270); +INSERT INTO product_slots VALUES(102,271); +INSERT INTO product_slots VALUES(102,272); +INSERT INTO product_slots VALUES(102,273); INSERT INTO product_slots VALUES(102,274); INSERT INTO product_slots VALUES(102,275); +INSERT INTO product_slots VALUES(102,276); +INSERT INTO product_slots VALUES(102,277); +INSERT INTO product_slots VALUES(102,278); INSERT INTO product_slots VALUES(102,279); INSERT INTO product_slots VALUES(102,280); INSERT INTO product_slots VALUES(102,281); @@ -21156,6 +42231,190 @@ INSERT INTO product_slots VALUES(102,284); INSERT INTO product_slots VALUES(102,285); INSERT INTO product_slots VALUES(102,286); INSERT INTO product_slots VALUES(102,287); +INSERT INTO product_slots VALUES(102,288); +INSERT INTO product_slots VALUES(102,289); +INSERT INTO product_slots VALUES(102,290); +INSERT INTO product_slots VALUES(102,291); +INSERT INTO product_slots VALUES(102,292); +INSERT INTO product_slots VALUES(102,293); +INSERT INTO product_slots VALUES(102,294); +INSERT INTO product_slots VALUES(102,295); +INSERT INTO product_slots VALUES(102,296); +INSERT INTO product_slots VALUES(102,297); +INSERT INTO product_slots VALUES(102,298); +INSERT INTO product_slots VALUES(102,299); +INSERT INTO product_slots VALUES(102,300); +INSERT INTO product_slots VALUES(102,301); +INSERT INTO product_slots VALUES(102,302); +INSERT INTO product_slots VALUES(102,303); +INSERT INTO product_slots VALUES(102,304); +INSERT INTO product_slots VALUES(102,305); +INSERT INTO product_slots VALUES(102,306); +INSERT INTO product_slots VALUES(102,307); +INSERT INTO product_slots VALUES(102,308); +INSERT INTO product_slots VALUES(102,309); +INSERT INTO product_slots VALUES(102,310); +INSERT INTO product_slots VALUES(102,311); +INSERT INTO product_slots VALUES(102,312); +INSERT INTO product_slots VALUES(102,313); +INSERT INTO product_slots VALUES(102,314); +INSERT INTO product_slots VALUES(102,315); +INSERT INTO product_slots VALUES(102,316); +INSERT INTO product_slots VALUES(102,317); +INSERT INTO product_slots VALUES(102,318); +INSERT INTO product_slots VALUES(102,319); +INSERT INTO product_slots VALUES(102,320); +INSERT INTO product_slots VALUES(102,321); +INSERT INTO product_slots VALUES(102,322); +INSERT INTO product_slots VALUES(102,323); +INSERT INTO product_slots VALUES(102,324); +INSERT INTO product_slots VALUES(102,325); +INSERT INTO product_slots VALUES(102,326); +INSERT INTO product_slots VALUES(102,327); +INSERT INTO product_slots VALUES(102,328); +INSERT INTO product_slots VALUES(102,329); +INSERT INTO product_slots VALUES(102,330); +INSERT INTO product_slots VALUES(102,331); +INSERT INTO product_slots VALUES(102,332); +INSERT INTO product_slots VALUES(102,333); +INSERT INTO product_slots VALUES(102,334); +INSERT INTO product_slots VALUES(102,335); +INSERT INTO product_slots VALUES(102,336); +INSERT INTO product_slots VALUES(102,337); +INSERT INTO product_slots VALUES(102,338); +INSERT INTO product_slots VALUES(102,339); +INSERT INTO product_slots VALUES(102,340); +INSERT INTO product_slots VALUES(102,341); +INSERT INTO product_slots VALUES(102,342); +INSERT INTO product_slots VALUES(102,343); +INSERT INTO product_slots VALUES(102,344); +INSERT INTO product_slots VALUES(102,345); +INSERT INTO product_slots VALUES(102,346); +INSERT INTO product_slots VALUES(102,347); +INSERT INTO product_slots VALUES(102,348); +INSERT INTO product_slots VALUES(102,349); +INSERT INTO product_slots VALUES(102,350); +INSERT INTO product_slots VALUES(102,351); +INSERT INTO product_slots VALUES(102,352); +INSERT INTO product_slots VALUES(102,353); +INSERT INTO product_slots VALUES(102,354); +INSERT INTO product_slots VALUES(102,355); +INSERT INTO product_slots VALUES(102,356); +INSERT INTO product_slots VALUES(102,357); +INSERT INTO product_slots VALUES(102,358); +INSERT INTO product_slots VALUES(102,359); +INSERT INTO product_slots VALUES(102,360); +INSERT INTO product_slots VALUES(102,361); +INSERT INTO product_slots VALUES(102,362); +INSERT INTO product_slots VALUES(102,363); +INSERT INTO product_slots VALUES(102,364); +INSERT INTO product_slots VALUES(102,365); +INSERT INTO product_slots VALUES(102,366); +INSERT INTO product_slots VALUES(102,367); +INSERT INTO product_slots VALUES(102,368); +INSERT INTO product_slots VALUES(102,369); +INSERT INTO product_slots VALUES(102,370); +INSERT INTO product_slots VALUES(102,371); +INSERT INTO product_slots VALUES(102,372); +INSERT INTO product_slots VALUES(102,373); +INSERT INTO product_slots VALUES(102,374); +INSERT INTO product_slots VALUES(102,375); +INSERT INTO product_slots VALUES(102,376); +INSERT INTO product_slots VALUES(102,377); +INSERT INTO product_slots VALUES(102,378); +INSERT INTO product_slots VALUES(102,379); +INSERT INTO product_slots VALUES(102,380); +INSERT INTO product_slots VALUES(102,381); +INSERT INTO product_slots VALUES(102,382); +INSERT INTO product_slots VALUES(102,383); +INSERT INTO product_slots VALUES(102,384); +INSERT INTO product_slots VALUES(102,385); +INSERT INTO product_slots VALUES(102,386); +INSERT INTO product_slots VALUES(102,387); +INSERT INTO product_slots VALUES(102,388); +INSERT INTO product_slots VALUES(102,389); +INSERT INTO product_slots VALUES(102,390); +INSERT INTO product_slots VALUES(102,391); +INSERT INTO product_slots VALUES(102,392); +INSERT INTO product_slots VALUES(102,393); +INSERT INTO product_slots VALUES(102,394); +INSERT INTO product_slots VALUES(102,395); +INSERT INTO product_slots VALUES(102,396); +INSERT INTO product_slots VALUES(102,397); +INSERT INTO product_slots VALUES(102,398); +INSERT INTO product_slots VALUES(102,399); +INSERT INTO product_slots VALUES(102,400); +INSERT INTO product_slots VALUES(102,401); +INSERT INTO product_slots VALUES(102,402); +INSERT INTO product_slots VALUES(102,403); +INSERT INTO product_slots VALUES(102,404); +INSERT INTO product_slots VALUES(102,405); +INSERT INTO product_slots VALUES(102,406); +INSERT INTO product_slots VALUES(102,407); +INSERT INTO product_slots VALUES(102,408); +INSERT INTO product_slots VALUES(102,409); +INSERT INTO product_slots VALUES(102,410); +INSERT INTO product_slots VALUES(102,411); +INSERT INTO product_slots VALUES(102,412); +INSERT INTO product_slots VALUES(102,413); +INSERT INTO product_slots VALUES(102,414); +INSERT INTO product_slots VALUES(102,415); +INSERT INTO product_slots VALUES(102,416); +INSERT INTO product_slots VALUES(102,417); +INSERT INTO product_slots VALUES(102,418); +INSERT INTO product_slots VALUES(102,419); +INSERT INTO product_slots VALUES(102,420); +INSERT INTO product_slots VALUES(102,421); +INSERT INTO product_slots VALUES(102,422); +INSERT INTO product_slots VALUES(102,423); +INSERT INTO product_slots VALUES(102,424); +INSERT INTO product_slots VALUES(102,425); +INSERT INTO product_slots VALUES(102,426); +INSERT INTO product_slots VALUES(102,427); +INSERT INTO product_slots VALUES(102,428); +INSERT INTO product_slots VALUES(102,429); +INSERT INTO product_slots VALUES(102,430); +INSERT INTO product_slots VALUES(102,431); +INSERT INTO product_slots VALUES(102,432); +INSERT INTO product_slots VALUES(102,433); +INSERT INTO product_slots VALUES(102,434); +INSERT INTO product_slots VALUES(102,435); +INSERT INTO product_slots VALUES(102,436); +INSERT INTO product_slots VALUES(102,437); +INSERT INTO product_slots VALUES(102,438); +INSERT INTO product_slots VALUES(102,439); +INSERT INTO product_slots VALUES(102,440); +INSERT INTO product_slots VALUES(102,441); +INSERT INTO product_slots VALUES(102,442); +INSERT INTO product_slots VALUES(102,443); +INSERT INTO product_slots VALUES(102,444); +INSERT INTO product_slots VALUES(102,445); +INSERT INTO product_slots VALUES(102,446); +INSERT INTO product_slots VALUES(102,447); +INSERT INTO product_slots VALUES(102,448); +INSERT INTO product_slots VALUES(102,449); +INSERT INTO product_slots VALUES(102,450); +INSERT INTO product_slots VALUES(102,451); +INSERT INTO product_slots VALUES(102,452); +INSERT INTO product_slots VALUES(102,453); +INSERT INTO product_slots VALUES(102,454); +INSERT INTO product_slots VALUES(102,455); +INSERT INTO product_slots VALUES(102,456); +INSERT INTO product_slots VALUES(102,457); +INSERT INTO product_slots VALUES(102,458); +INSERT INTO product_slots VALUES(102,459); +INSERT INTO product_slots VALUES(102,460); +INSERT INTO product_slots VALUES(102,461); +INSERT INTO product_slots VALUES(102,462); +INSERT INTO product_slots VALUES(102,463); +INSERT INTO product_slots VALUES(102,464); +INSERT INTO product_slots VALUES(102,465); +INSERT INTO product_slots VALUES(102,466); +INSERT INTO product_slots VALUES(102,467); +INSERT INTO product_slots VALUES(102,468); +INSERT INTO product_slots VALUES(102,469); +INSERT INTO product_slots VALUES(102,470); +INSERT INTO product_slots VALUES(102,471); INSERT INTO product_slots VALUES(103,210); INSERT INTO product_slots VALUES(103,211); INSERT INTO product_slots VALUES(103,212); @@ -21180,8 +42439,40 @@ INSERT INTO product_slots VALUES(103,241); INSERT INTO product_slots VALUES(103,242); INSERT INTO product_slots VALUES(103,243); INSERT INTO product_slots VALUES(103,244); +INSERT INTO product_slots VALUES(103,245); +INSERT INTO product_slots VALUES(103,246); +INSERT INTO product_slots VALUES(103,247); +INSERT INTO product_slots VALUES(103,248); +INSERT INTO product_slots VALUES(103,249); +INSERT INTO product_slots VALUES(103,250); +INSERT INTO product_slots VALUES(103,251); +INSERT INTO product_slots VALUES(103,252); +INSERT INTO product_slots VALUES(103,253); +INSERT INTO product_slots VALUES(103,254); +INSERT INTO product_slots VALUES(103,255); +INSERT INTO product_slots VALUES(103,256); +INSERT INTO product_slots VALUES(103,257); +INSERT INTO product_slots VALUES(103,258); +INSERT INTO product_slots VALUES(103,259); +INSERT INTO product_slots VALUES(103,260); +INSERT INTO product_slots VALUES(103,261); +INSERT INTO product_slots VALUES(103,262); +INSERT INTO product_slots VALUES(103,263); +INSERT INTO product_slots VALUES(103,264); +INSERT INTO product_slots VALUES(103,265); +INSERT INTO product_slots VALUES(103,266); +INSERT INTO product_slots VALUES(103,267); +INSERT INTO product_slots VALUES(103,268); +INSERT INTO product_slots VALUES(103,269); +INSERT INTO product_slots VALUES(103,270); +INSERT INTO product_slots VALUES(103,271); +INSERT INTO product_slots VALUES(103,272); +INSERT INTO product_slots VALUES(103,273); INSERT INTO product_slots VALUES(103,274); INSERT INTO product_slots VALUES(103,275); +INSERT INTO product_slots VALUES(103,276); +INSERT INTO product_slots VALUES(103,277); +INSERT INTO product_slots VALUES(103,278); INSERT INTO product_slots VALUES(103,279); INSERT INTO product_slots VALUES(103,280); INSERT INTO product_slots VALUES(103,281); @@ -21191,6 +42482,1728 @@ INSERT INTO product_slots VALUES(103,284); INSERT INTO product_slots VALUES(103,285); INSERT INTO product_slots VALUES(103,286); INSERT INTO product_slots VALUES(103,287); +INSERT INTO product_slots VALUES(103,288); +INSERT INTO product_slots VALUES(103,289); +INSERT INTO product_slots VALUES(103,290); +INSERT INTO product_slots VALUES(103,291); +INSERT INTO product_slots VALUES(103,292); +INSERT INTO product_slots VALUES(103,293); +INSERT INTO product_slots VALUES(103,294); +INSERT INTO product_slots VALUES(103,295); +INSERT INTO product_slots VALUES(103,296); +INSERT INTO product_slots VALUES(103,297); +INSERT INTO product_slots VALUES(103,298); +INSERT INTO product_slots VALUES(103,299); +INSERT INTO product_slots VALUES(103,300); +INSERT INTO product_slots VALUES(103,301); +INSERT INTO product_slots VALUES(103,302); +INSERT INTO product_slots VALUES(103,303); +INSERT INTO product_slots VALUES(103,304); +INSERT INTO product_slots VALUES(103,305); +INSERT INTO product_slots VALUES(103,306); +INSERT INTO product_slots VALUES(103,307); +INSERT INTO product_slots VALUES(103,308); +INSERT INTO product_slots VALUES(103,309); +INSERT INTO product_slots VALUES(103,310); +INSERT INTO product_slots VALUES(103,311); +INSERT INTO product_slots VALUES(103,312); +INSERT INTO product_slots VALUES(103,313); +INSERT INTO product_slots VALUES(103,314); +INSERT INTO product_slots VALUES(103,315); +INSERT INTO product_slots VALUES(103,316); +INSERT INTO product_slots VALUES(103,317); +INSERT INTO product_slots VALUES(103,318); +INSERT INTO product_slots VALUES(103,319); +INSERT INTO product_slots VALUES(103,320); +INSERT INTO product_slots VALUES(103,321); +INSERT INTO product_slots VALUES(103,322); +INSERT INTO product_slots VALUES(103,323); +INSERT INTO product_slots VALUES(103,324); +INSERT INTO product_slots VALUES(103,325); +INSERT INTO product_slots VALUES(103,326); +INSERT INTO product_slots VALUES(103,327); +INSERT INTO product_slots VALUES(103,328); +INSERT INTO product_slots VALUES(103,329); +INSERT INTO product_slots VALUES(103,330); +INSERT INTO product_slots VALUES(103,331); +INSERT INTO product_slots VALUES(103,332); +INSERT INTO product_slots VALUES(103,333); +INSERT INTO product_slots VALUES(103,334); +INSERT INTO product_slots VALUES(103,335); +INSERT INTO product_slots VALUES(103,336); +INSERT INTO product_slots VALUES(103,337); +INSERT INTO product_slots VALUES(103,338); +INSERT INTO product_slots VALUES(103,339); +INSERT INTO product_slots VALUES(103,340); +INSERT INTO product_slots VALUES(103,341); +INSERT INTO product_slots VALUES(103,342); +INSERT INTO product_slots VALUES(103,343); +INSERT INTO product_slots VALUES(103,344); +INSERT INTO product_slots VALUES(103,345); +INSERT INTO product_slots VALUES(103,346); +INSERT INTO product_slots VALUES(103,347); +INSERT INTO product_slots VALUES(103,348); +INSERT INTO product_slots VALUES(103,349); +INSERT INTO product_slots VALUES(103,350); +INSERT INTO product_slots VALUES(103,351); +INSERT INTO product_slots VALUES(103,352); +INSERT INTO product_slots VALUES(103,353); +INSERT INTO product_slots VALUES(103,354); +INSERT INTO product_slots VALUES(103,355); +INSERT INTO product_slots VALUES(103,356); +INSERT INTO product_slots VALUES(103,357); +INSERT INTO product_slots VALUES(103,358); +INSERT INTO product_slots VALUES(103,359); +INSERT INTO product_slots VALUES(103,360); +INSERT INTO product_slots VALUES(103,361); +INSERT INTO product_slots VALUES(103,362); +INSERT INTO product_slots VALUES(103,363); +INSERT INTO product_slots VALUES(103,364); +INSERT INTO product_slots VALUES(103,365); +INSERT INTO product_slots VALUES(103,366); +INSERT INTO product_slots VALUES(103,367); +INSERT INTO product_slots VALUES(103,368); +INSERT INTO product_slots VALUES(103,369); +INSERT INTO product_slots VALUES(103,370); +INSERT INTO product_slots VALUES(103,371); +INSERT INTO product_slots VALUES(103,372); +INSERT INTO product_slots VALUES(103,373); +INSERT INTO product_slots VALUES(103,374); +INSERT INTO product_slots VALUES(103,375); +INSERT INTO product_slots VALUES(103,376); +INSERT INTO product_slots VALUES(103,377); +INSERT INTO product_slots VALUES(103,378); +INSERT INTO product_slots VALUES(103,379); +INSERT INTO product_slots VALUES(103,380); +INSERT INTO product_slots VALUES(103,381); +INSERT INTO product_slots VALUES(103,382); +INSERT INTO product_slots VALUES(103,383); +INSERT INTO product_slots VALUES(103,384); +INSERT INTO product_slots VALUES(103,385); +INSERT INTO product_slots VALUES(103,386); +INSERT INTO product_slots VALUES(103,387); +INSERT INTO product_slots VALUES(103,388); +INSERT INTO product_slots VALUES(103,389); +INSERT INTO product_slots VALUES(103,390); +INSERT INTO product_slots VALUES(103,391); +INSERT INTO product_slots VALUES(103,392); +INSERT INTO product_slots VALUES(103,393); +INSERT INTO product_slots VALUES(103,394); +INSERT INTO product_slots VALUES(103,395); +INSERT INTO product_slots VALUES(103,396); +INSERT INTO product_slots VALUES(103,397); +INSERT INTO product_slots VALUES(103,398); +INSERT INTO product_slots VALUES(103,399); +INSERT INTO product_slots VALUES(103,400); +INSERT INTO product_slots VALUES(103,401); +INSERT INTO product_slots VALUES(103,402); +INSERT INTO product_slots VALUES(103,403); +INSERT INTO product_slots VALUES(103,404); +INSERT INTO product_slots VALUES(103,405); +INSERT INTO product_slots VALUES(103,406); +INSERT INTO product_slots VALUES(103,407); +INSERT INTO product_slots VALUES(103,408); +INSERT INTO product_slots VALUES(103,409); +INSERT INTO product_slots VALUES(103,410); +INSERT INTO product_slots VALUES(103,411); +INSERT INTO product_slots VALUES(103,412); +INSERT INTO product_slots VALUES(103,413); +INSERT INTO product_slots VALUES(103,414); +INSERT INTO product_slots VALUES(103,415); +INSERT INTO product_slots VALUES(103,416); +INSERT INTO product_slots VALUES(103,417); +INSERT INTO product_slots VALUES(103,418); +INSERT INTO product_slots VALUES(103,419); +INSERT INTO product_slots VALUES(103,420); +INSERT INTO product_slots VALUES(103,421); +INSERT INTO product_slots VALUES(103,422); +INSERT INTO product_slots VALUES(103,423); +INSERT INTO product_slots VALUES(103,424); +INSERT INTO product_slots VALUES(103,425); +INSERT INTO product_slots VALUES(103,426); +INSERT INTO product_slots VALUES(103,427); +INSERT INTO product_slots VALUES(103,428); +INSERT INTO product_slots VALUES(103,429); +INSERT INTO product_slots VALUES(103,430); +INSERT INTO product_slots VALUES(103,431); +INSERT INTO product_slots VALUES(103,432); +INSERT INTO product_slots VALUES(103,433); +INSERT INTO product_slots VALUES(103,434); +INSERT INTO product_slots VALUES(103,435); +INSERT INTO product_slots VALUES(103,436); +INSERT INTO product_slots VALUES(103,437); +INSERT INTO product_slots VALUES(103,438); +INSERT INTO product_slots VALUES(103,439); +INSERT INTO product_slots VALUES(103,440); +INSERT INTO product_slots VALUES(103,441); +INSERT INTO product_slots VALUES(103,442); +INSERT INTO product_slots VALUES(103,443); +INSERT INTO product_slots VALUES(103,444); +INSERT INTO product_slots VALUES(103,445); +INSERT INTO product_slots VALUES(103,446); +INSERT INTO product_slots VALUES(103,447); +INSERT INTO product_slots VALUES(103,448); +INSERT INTO product_slots VALUES(103,449); +INSERT INTO product_slots VALUES(103,450); +INSERT INTO product_slots VALUES(103,451); +INSERT INTO product_slots VALUES(103,452); +INSERT INTO product_slots VALUES(103,453); +INSERT INTO product_slots VALUES(103,454); +INSERT INTO product_slots VALUES(103,455); +INSERT INTO product_slots VALUES(103,456); +INSERT INTO product_slots VALUES(103,457); +INSERT INTO product_slots VALUES(103,458); +INSERT INTO product_slots VALUES(103,459); +INSERT INTO product_slots VALUES(103,460); +INSERT INTO product_slots VALUES(103,461); +INSERT INTO product_slots VALUES(103,462); +INSERT INTO product_slots VALUES(103,463); +INSERT INTO product_slots VALUES(103,464); +INSERT INTO product_slots VALUES(103,465); +INSERT INTO product_slots VALUES(103,466); +INSERT INTO product_slots VALUES(103,467); +INSERT INTO product_slots VALUES(103,468); +INSERT INTO product_slots VALUES(103,469); +INSERT INTO product_slots VALUES(103,470); +INSERT INTO product_slots VALUES(103,471); +INSERT INTO product_slots VALUES(104,331); +INSERT INTO product_slots VALUES(104,332); +INSERT INTO product_slots VALUES(104,333); +INSERT INTO product_slots VALUES(104,336); +INSERT INTO product_slots VALUES(104,337); +INSERT INTO product_slots VALUES(104,338); +INSERT INTO product_slots VALUES(104,339); +INSERT INTO product_slots VALUES(104,340); +INSERT INTO product_slots VALUES(104,343); +INSERT INTO product_slots VALUES(104,344); +INSERT INTO product_slots VALUES(104,345); +INSERT INTO product_slots VALUES(104,346); +INSERT INTO product_slots VALUES(104,347); +INSERT INTO product_slots VALUES(104,350); +INSERT INTO product_slots VALUES(104,351); +INSERT INTO product_slots VALUES(104,352); +INSERT INTO product_slots VALUES(104,353); +INSERT INTO product_slots VALUES(104,354); +INSERT INTO product_slots VALUES(104,355); +INSERT INTO product_slots VALUES(104,356); +INSERT INTO product_slots VALUES(104,357); +INSERT INTO product_slots VALUES(104,358); +INSERT INTO product_slots VALUES(104,359); +INSERT INTO product_slots VALUES(104,362); +INSERT INTO product_slots VALUES(104,363); +INSERT INTO product_slots VALUES(104,364); +INSERT INTO product_slots VALUES(104,365); +INSERT INTO product_slots VALUES(104,366); +INSERT INTO product_slots VALUES(104,369); +INSERT INTO product_slots VALUES(104,370); +INSERT INTO product_slots VALUES(104,371); +INSERT INTO product_slots VALUES(104,372); +INSERT INTO product_slots VALUES(104,373); +INSERT INTO product_slots VALUES(104,376); +INSERT INTO product_slots VALUES(104,377); +INSERT INTO product_slots VALUES(104,378); +INSERT INTO product_slots VALUES(104,379); +INSERT INTO product_slots VALUES(104,380); +INSERT INTO product_slots VALUES(104,381); +INSERT INTO product_slots VALUES(104,382); +INSERT INTO product_slots VALUES(104,383); +INSERT INTO product_slots VALUES(104,384); +INSERT INTO product_slots VALUES(104,385); +INSERT INTO product_slots VALUES(104,386); +INSERT INTO product_slots VALUES(104,387); +INSERT INTO product_slots VALUES(104,388); +INSERT INTO product_slots VALUES(104,391); +INSERT INTO product_slots VALUES(104,392); +INSERT INTO product_slots VALUES(104,393); +INSERT INTO product_slots VALUES(104,394); +INSERT INTO product_slots VALUES(104,396); +INSERT INTO product_slots VALUES(104,397); +INSERT INTO product_slots VALUES(104,398); +INSERT INTO product_slots VALUES(104,399); +INSERT INTO product_slots VALUES(104,400); +INSERT INTO product_slots VALUES(104,401); +INSERT INTO product_slots VALUES(104,402); +INSERT INTO product_slots VALUES(104,404); +INSERT INTO product_slots VALUES(104,405); +INSERT INTO product_slots VALUES(104,406); +INSERT INTO product_slots VALUES(104,407); +INSERT INTO product_slots VALUES(104,408); +INSERT INTO product_slots VALUES(104,409); +INSERT INTO product_slots VALUES(104,410); +INSERT INTO product_slots VALUES(104,413); +INSERT INTO product_slots VALUES(104,414); +INSERT INTO product_slots VALUES(104,415); +INSERT INTO product_slots VALUES(104,416); +INSERT INTO product_slots VALUES(104,417); +INSERT INTO product_slots VALUES(104,418); +INSERT INTO product_slots VALUES(104,421); +INSERT INTO product_slots VALUES(104,422); +INSERT INTO product_slots VALUES(104,423); +INSERT INTO product_slots VALUES(104,424); +INSERT INTO product_slots VALUES(104,425); +INSERT INTO product_slots VALUES(104,426); +INSERT INTO product_slots VALUES(104,428); +INSERT INTO product_slots VALUES(104,429); +INSERT INTO product_slots VALUES(104,430); +INSERT INTO product_slots VALUES(104,431); +INSERT INTO product_slots VALUES(104,432); +INSERT INTO product_slots VALUES(104,433); +INSERT INTO product_slots VALUES(104,436); +INSERT INTO product_slots VALUES(104,437); +INSERT INTO product_slots VALUES(104,438); +INSERT INTO product_slots VALUES(104,439); +INSERT INTO product_slots VALUES(104,440); +INSERT INTO product_slots VALUES(104,441); +INSERT INTO product_slots VALUES(104,444); +INSERT INTO product_slots VALUES(104,445); +INSERT INTO product_slots VALUES(104,446); +INSERT INTO product_slots VALUES(104,447); +INSERT INTO product_slots VALUES(104,448); +INSERT INTO product_slots VALUES(104,449); +INSERT INTO product_slots VALUES(104,452); +INSERT INTO product_slots VALUES(104,453); +INSERT INTO product_slots VALUES(104,454); +INSERT INTO product_slots VALUES(104,455); +INSERT INTO product_slots VALUES(104,456); +INSERT INTO product_slots VALUES(104,457); +INSERT INTO product_slots VALUES(104,460); +INSERT INTO product_slots VALUES(104,461); +INSERT INTO product_slots VALUES(104,462); +INSERT INTO product_slots VALUES(104,463); +INSERT INTO product_slots VALUES(104,464); +INSERT INTO product_slots VALUES(104,465); +INSERT INTO product_slots VALUES(104,466); +INSERT INTO product_slots VALUES(104,467); +INSERT INTO product_slots VALUES(104,468); +INSERT INTO product_slots VALUES(104,469); +INSERT INTO product_slots VALUES(104,470); +INSERT INTO product_slots VALUES(104,471); +INSERT INTO product_slots VALUES(105,331); +INSERT INTO product_slots VALUES(105,332); +INSERT INTO product_slots VALUES(105,333); +INSERT INTO product_slots VALUES(105,336); +INSERT INTO product_slots VALUES(105,337); +INSERT INTO product_slots VALUES(105,338); +INSERT INTO product_slots VALUES(105,339); +INSERT INTO product_slots VALUES(105,340); +INSERT INTO product_slots VALUES(105,343); +INSERT INTO product_slots VALUES(105,344); +INSERT INTO product_slots VALUES(105,345); +INSERT INTO product_slots VALUES(105,346); +INSERT INTO product_slots VALUES(105,347); +INSERT INTO product_slots VALUES(105,350); +INSERT INTO product_slots VALUES(105,351); +INSERT INTO product_slots VALUES(105,352); +INSERT INTO product_slots VALUES(105,353); +INSERT INTO product_slots VALUES(105,354); +INSERT INTO product_slots VALUES(105,355); +INSERT INTO product_slots VALUES(105,356); +INSERT INTO product_slots VALUES(105,357); +INSERT INTO product_slots VALUES(105,358); +INSERT INTO product_slots VALUES(105,359); +INSERT INTO product_slots VALUES(105,362); +INSERT INTO product_slots VALUES(105,363); +INSERT INTO product_slots VALUES(105,364); +INSERT INTO product_slots VALUES(105,365); +INSERT INTO product_slots VALUES(105,366); +INSERT INTO product_slots VALUES(105,369); +INSERT INTO product_slots VALUES(105,370); +INSERT INTO product_slots VALUES(105,371); +INSERT INTO product_slots VALUES(105,372); +INSERT INTO product_slots VALUES(105,373); +INSERT INTO product_slots VALUES(105,376); +INSERT INTO product_slots VALUES(105,377); +INSERT INTO product_slots VALUES(105,378); +INSERT INTO product_slots VALUES(105,379); +INSERT INTO product_slots VALUES(105,380); +INSERT INTO product_slots VALUES(105,381); +INSERT INTO product_slots VALUES(105,382); +INSERT INTO product_slots VALUES(105,383); +INSERT INTO product_slots VALUES(105,384); +INSERT INTO product_slots VALUES(105,385); +INSERT INTO product_slots VALUES(105,386); +INSERT INTO product_slots VALUES(105,387); +INSERT INTO product_slots VALUES(105,388); +INSERT INTO product_slots VALUES(105,391); +INSERT INTO product_slots VALUES(105,392); +INSERT INTO product_slots VALUES(105,393); +INSERT INTO product_slots VALUES(105,394); +INSERT INTO product_slots VALUES(105,396); +INSERT INTO product_slots VALUES(105,397); +INSERT INTO product_slots VALUES(105,398); +INSERT INTO product_slots VALUES(105,399); +INSERT INTO product_slots VALUES(105,400); +INSERT INTO product_slots VALUES(105,401); +INSERT INTO product_slots VALUES(105,402); +INSERT INTO product_slots VALUES(105,404); +INSERT INTO product_slots VALUES(105,405); +INSERT INTO product_slots VALUES(105,406); +INSERT INTO product_slots VALUES(105,407); +INSERT INTO product_slots VALUES(105,408); +INSERT INTO product_slots VALUES(105,409); +INSERT INTO product_slots VALUES(105,410); +INSERT INTO product_slots VALUES(105,413); +INSERT INTO product_slots VALUES(105,414); +INSERT INTO product_slots VALUES(105,415); +INSERT INTO product_slots VALUES(105,416); +INSERT INTO product_slots VALUES(105,417); +INSERT INTO product_slots VALUES(105,418); +INSERT INTO product_slots VALUES(105,421); +INSERT INTO product_slots VALUES(105,422); +INSERT INTO product_slots VALUES(105,423); +INSERT INTO product_slots VALUES(105,424); +INSERT INTO product_slots VALUES(105,425); +INSERT INTO product_slots VALUES(105,426); +INSERT INTO product_slots VALUES(105,428); +INSERT INTO product_slots VALUES(105,429); +INSERT INTO product_slots VALUES(105,430); +INSERT INTO product_slots VALUES(105,431); +INSERT INTO product_slots VALUES(105,432); +INSERT INTO product_slots VALUES(105,433); +INSERT INTO product_slots VALUES(105,436); +INSERT INTO product_slots VALUES(105,437); +INSERT INTO product_slots VALUES(105,438); +INSERT INTO product_slots VALUES(105,439); +INSERT INTO product_slots VALUES(105,440); +INSERT INTO product_slots VALUES(105,441); +INSERT INTO product_slots VALUES(105,444); +INSERT INTO product_slots VALUES(105,445); +INSERT INTO product_slots VALUES(105,446); +INSERT INTO product_slots VALUES(105,447); +INSERT INTO product_slots VALUES(105,448); +INSERT INTO product_slots VALUES(105,449); +INSERT INTO product_slots VALUES(105,452); +INSERT INTO product_slots VALUES(105,453); +INSERT INTO product_slots VALUES(105,454); +INSERT INTO product_slots VALUES(105,455); +INSERT INTO product_slots VALUES(105,456); +INSERT INTO product_slots VALUES(105,457); +INSERT INTO product_slots VALUES(105,460); +INSERT INTO product_slots VALUES(105,461); +INSERT INTO product_slots VALUES(105,462); +INSERT INTO product_slots VALUES(105,463); +INSERT INTO product_slots VALUES(105,464); +INSERT INTO product_slots VALUES(105,465); +INSERT INTO product_slots VALUES(105,466); +INSERT INTO product_slots VALUES(105,467); +INSERT INTO product_slots VALUES(105,468); +INSERT INTO product_slots VALUES(105,469); +INSERT INTO product_slots VALUES(105,470); +INSERT INTO product_slots VALUES(105,471); +INSERT INTO product_slots VALUES(106,331); +INSERT INTO product_slots VALUES(106,332); +INSERT INTO product_slots VALUES(106,333); +INSERT INTO product_slots VALUES(106,336); +INSERT INTO product_slots VALUES(106,337); +INSERT INTO product_slots VALUES(106,338); +INSERT INTO product_slots VALUES(106,339); +INSERT INTO product_slots VALUES(106,340); +INSERT INTO product_slots VALUES(106,343); +INSERT INTO product_slots VALUES(106,344); +INSERT INTO product_slots VALUES(106,345); +INSERT INTO product_slots VALUES(106,346); +INSERT INTO product_slots VALUES(106,347); +INSERT INTO product_slots VALUES(106,350); +INSERT INTO product_slots VALUES(106,351); +INSERT INTO product_slots VALUES(106,352); +INSERT INTO product_slots VALUES(106,353); +INSERT INTO product_slots VALUES(106,354); +INSERT INTO product_slots VALUES(106,355); +INSERT INTO product_slots VALUES(106,356); +INSERT INTO product_slots VALUES(106,357); +INSERT INTO product_slots VALUES(106,358); +INSERT INTO product_slots VALUES(106,359); +INSERT INTO product_slots VALUES(106,362); +INSERT INTO product_slots VALUES(106,363); +INSERT INTO product_slots VALUES(106,364); +INSERT INTO product_slots VALUES(106,365); +INSERT INTO product_slots VALUES(106,366); +INSERT INTO product_slots VALUES(106,369); +INSERT INTO product_slots VALUES(106,370); +INSERT INTO product_slots VALUES(106,371); +INSERT INTO product_slots VALUES(106,372); +INSERT INTO product_slots VALUES(106,373); +INSERT INTO product_slots VALUES(106,376); +INSERT INTO product_slots VALUES(106,377); +INSERT INTO product_slots VALUES(106,378); +INSERT INTO product_slots VALUES(106,379); +INSERT INTO product_slots VALUES(106,380); +INSERT INTO product_slots VALUES(106,381); +INSERT INTO product_slots VALUES(106,382); +INSERT INTO product_slots VALUES(106,383); +INSERT INTO product_slots VALUES(106,384); +INSERT INTO product_slots VALUES(106,385); +INSERT INTO product_slots VALUES(106,386); +INSERT INTO product_slots VALUES(106,387); +INSERT INTO product_slots VALUES(106,388); +INSERT INTO product_slots VALUES(106,391); +INSERT INTO product_slots VALUES(106,392); +INSERT INTO product_slots VALUES(106,393); +INSERT INTO product_slots VALUES(106,394); +INSERT INTO product_slots VALUES(106,396); +INSERT INTO product_slots VALUES(106,397); +INSERT INTO product_slots VALUES(106,398); +INSERT INTO product_slots VALUES(106,399); +INSERT INTO product_slots VALUES(106,400); +INSERT INTO product_slots VALUES(106,401); +INSERT INTO product_slots VALUES(106,402); +INSERT INTO product_slots VALUES(106,404); +INSERT INTO product_slots VALUES(106,405); +INSERT INTO product_slots VALUES(106,406); +INSERT INTO product_slots VALUES(106,407); +INSERT INTO product_slots VALUES(106,408); +INSERT INTO product_slots VALUES(106,409); +INSERT INTO product_slots VALUES(106,410); +INSERT INTO product_slots VALUES(106,413); +INSERT INTO product_slots VALUES(106,414); +INSERT INTO product_slots VALUES(106,415); +INSERT INTO product_slots VALUES(106,416); +INSERT INTO product_slots VALUES(106,417); +INSERT INTO product_slots VALUES(106,418); +INSERT INTO product_slots VALUES(106,421); +INSERT INTO product_slots VALUES(106,422); +INSERT INTO product_slots VALUES(106,423); +INSERT INTO product_slots VALUES(106,424); +INSERT INTO product_slots VALUES(106,425); +INSERT INTO product_slots VALUES(106,426); +INSERT INTO product_slots VALUES(106,428); +INSERT INTO product_slots VALUES(106,429); +INSERT INTO product_slots VALUES(106,430); +INSERT INTO product_slots VALUES(106,431); +INSERT INTO product_slots VALUES(106,432); +INSERT INTO product_slots VALUES(106,433); +INSERT INTO product_slots VALUES(106,436); +INSERT INTO product_slots VALUES(106,437); +INSERT INTO product_slots VALUES(106,438); +INSERT INTO product_slots VALUES(106,439); +INSERT INTO product_slots VALUES(106,440); +INSERT INTO product_slots VALUES(106,441); +INSERT INTO product_slots VALUES(106,444); +INSERT INTO product_slots VALUES(106,445); +INSERT INTO product_slots VALUES(106,446); +INSERT INTO product_slots VALUES(106,447); +INSERT INTO product_slots VALUES(106,448); +INSERT INTO product_slots VALUES(106,449); +INSERT INTO product_slots VALUES(106,452); +INSERT INTO product_slots VALUES(106,453); +INSERT INTO product_slots VALUES(106,454); +INSERT INTO product_slots VALUES(106,455); +INSERT INTO product_slots VALUES(106,456); +INSERT INTO product_slots VALUES(106,457); +INSERT INTO product_slots VALUES(106,460); +INSERT INTO product_slots VALUES(106,461); +INSERT INTO product_slots VALUES(106,462); +INSERT INTO product_slots VALUES(106,463); +INSERT INTO product_slots VALUES(106,464); +INSERT INTO product_slots VALUES(106,465); +INSERT INTO product_slots VALUES(106,466); +INSERT INTO product_slots VALUES(106,467); +INSERT INTO product_slots VALUES(106,468); +INSERT INTO product_slots VALUES(106,469); +INSERT INTO product_slots VALUES(106,470); +INSERT INTO product_slots VALUES(106,471); +INSERT INTO product_slots VALUES(107,331); +INSERT INTO product_slots VALUES(107,332); +INSERT INTO product_slots VALUES(107,333); +INSERT INTO product_slots VALUES(107,336); +INSERT INTO product_slots VALUES(107,337); +INSERT INTO product_slots VALUES(107,338); +INSERT INTO product_slots VALUES(107,339); +INSERT INTO product_slots VALUES(107,340); +INSERT INTO product_slots VALUES(107,343); +INSERT INTO product_slots VALUES(107,344); +INSERT INTO product_slots VALUES(107,345); +INSERT INTO product_slots VALUES(107,346); +INSERT INTO product_slots VALUES(107,347); +INSERT INTO product_slots VALUES(107,350); +INSERT INTO product_slots VALUES(107,351); +INSERT INTO product_slots VALUES(107,352); +INSERT INTO product_slots VALUES(107,353); +INSERT INTO product_slots VALUES(107,354); +INSERT INTO product_slots VALUES(107,355); +INSERT INTO product_slots VALUES(107,356); +INSERT INTO product_slots VALUES(107,357); +INSERT INTO product_slots VALUES(107,358); +INSERT INTO product_slots VALUES(107,359); +INSERT INTO product_slots VALUES(107,362); +INSERT INTO product_slots VALUES(107,363); +INSERT INTO product_slots VALUES(107,364); +INSERT INTO product_slots VALUES(107,365); +INSERT INTO product_slots VALUES(107,366); +INSERT INTO product_slots VALUES(107,369); +INSERT INTO product_slots VALUES(107,370); +INSERT INTO product_slots VALUES(107,371); +INSERT INTO product_slots VALUES(107,372); +INSERT INTO product_slots VALUES(107,373); +INSERT INTO product_slots VALUES(107,376); +INSERT INTO product_slots VALUES(107,377); +INSERT INTO product_slots VALUES(107,378); +INSERT INTO product_slots VALUES(107,379); +INSERT INTO product_slots VALUES(107,380); +INSERT INTO product_slots VALUES(107,381); +INSERT INTO product_slots VALUES(107,382); +INSERT INTO product_slots VALUES(107,383); +INSERT INTO product_slots VALUES(107,384); +INSERT INTO product_slots VALUES(107,385); +INSERT INTO product_slots VALUES(107,386); +INSERT INTO product_slots VALUES(107,387); +INSERT INTO product_slots VALUES(107,388); +INSERT INTO product_slots VALUES(107,391); +INSERT INTO product_slots VALUES(107,392); +INSERT INTO product_slots VALUES(107,393); +INSERT INTO product_slots VALUES(107,394); +INSERT INTO product_slots VALUES(107,396); +INSERT INTO product_slots VALUES(107,397); +INSERT INTO product_slots VALUES(107,398); +INSERT INTO product_slots VALUES(107,399); +INSERT INTO product_slots VALUES(107,400); +INSERT INTO product_slots VALUES(107,401); +INSERT INTO product_slots VALUES(107,402); +INSERT INTO product_slots VALUES(107,404); +INSERT INTO product_slots VALUES(107,405); +INSERT INTO product_slots VALUES(107,406); +INSERT INTO product_slots VALUES(107,407); +INSERT INTO product_slots VALUES(107,408); +INSERT INTO product_slots VALUES(107,409); +INSERT INTO product_slots VALUES(107,410); +INSERT INTO product_slots VALUES(107,413); +INSERT INTO product_slots VALUES(107,414); +INSERT INTO product_slots VALUES(107,415); +INSERT INTO product_slots VALUES(107,416); +INSERT INTO product_slots VALUES(107,417); +INSERT INTO product_slots VALUES(107,418); +INSERT INTO product_slots VALUES(107,421); +INSERT INTO product_slots VALUES(107,422); +INSERT INTO product_slots VALUES(107,423); +INSERT INTO product_slots VALUES(107,424); +INSERT INTO product_slots VALUES(107,425); +INSERT INTO product_slots VALUES(107,426); +INSERT INTO product_slots VALUES(107,428); +INSERT INTO product_slots VALUES(107,429); +INSERT INTO product_slots VALUES(107,430); +INSERT INTO product_slots VALUES(107,431); +INSERT INTO product_slots VALUES(107,432); +INSERT INTO product_slots VALUES(107,433); +INSERT INTO product_slots VALUES(107,436); +INSERT INTO product_slots VALUES(107,437); +INSERT INTO product_slots VALUES(107,438); +INSERT INTO product_slots VALUES(107,439); +INSERT INTO product_slots VALUES(107,440); +INSERT INTO product_slots VALUES(107,441); +INSERT INTO product_slots VALUES(107,444); +INSERT INTO product_slots VALUES(107,445); +INSERT INTO product_slots VALUES(107,446); +INSERT INTO product_slots VALUES(107,447); +INSERT INTO product_slots VALUES(107,448); +INSERT INTO product_slots VALUES(107,449); +INSERT INTO product_slots VALUES(107,452); +INSERT INTO product_slots VALUES(107,453); +INSERT INTO product_slots VALUES(107,454); +INSERT INTO product_slots VALUES(107,455); +INSERT INTO product_slots VALUES(107,456); +INSERT INTO product_slots VALUES(107,457); +INSERT INTO product_slots VALUES(107,460); +INSERT INTO product_slots VALUES(107,461); +INSERT INTO product_slots VALUES(107,462); +INSERT INTO product_slots VALUES(107,463); +INSERT INTO product_slots VALUES(107,464); +INSERT INTO product_slots VALUES(107,465); +INSERT INTO product_slots VALUES(107,466); +INSERT INTO product_slots VALUES(107,467); +INSERT INTO product_slots VALUES(107,468); +INSERT INTO product_slots VALUES(107,469); +INSERT INTO product_slots VALUES(107,470); +INSERT INTO product_slots VALUES(107,471); +INSERT INTO product_slots VALUES(108,331); +INSERT INTO product_slots VALUES(108,332); +INSERT INTO product_slots VALUES(108,333); +INSERT INTO product_slots VALUES(108,336); +INSERT INTO product_slots VALUES(108,337); +INSERT INTO product_slots VALUES(108,338); +INSERT INTO product_slots VALUES(108,339); +INSERT INTO product_slots VALUES(108,340); +INSERT INTO product_slots VALUES(108,343); +INSERT INTO product_slots VALUES(108,344); +INSERT INTO product_slots VALUES(108,345); +INSERT INTO product_slots VALUES(108,346); +INSERT INTO product_slots VALUES(108,347); +INSERT INTO product_slots VALUES(108,350); +INSERT INTO product_slots VALUES(108,351); +INSERT INTO product_slots VALUES(108,352); +INSERT INTO product_slots VALUES(108,353); +INSERT INTO product_slots VALUES(108,354); +INSERT INTO product_slots VALUES(108,355); +INSERT INTO product_slots VALUES(108,356); +INSERT INTO product_slots VALUES(108,357); +INSERT INTO product_slots VALUES(108,358); +INSERT INTO product_slots VALUES(108,359); +INSERT INTO product_slots VALUES(108,362); +INSERT INTO product_slots VALUES(108,363); +INSERT INTO product_slots VALUES(108,364); +INSERT INTO product_slots VALUES(108,365); +INSERT INTO product_slots VALUES(108,366); +INSERT INTO product_slots VALUES(108,369); +INSERT INTO product_slots VALUES(108,370); +INSERT INTO product_slots VALUES(108,371); +INSERT INTO product_slots VALUES(108,372); +INSERT INTO product_slots VALUES(108,373); +INSERT INTO product_slots VALUES(108,376); +INSERT INTO product_slots VALUES(108,377); +INSERT INTO product_slots VALUES(108,378); +INSERT INTO product_slots VALUES(108,379); +INSERT INTO product_slots VALUES(108,380); +INSERT INTO product_slots VALUES(108,381); +INSERT INTO product_slots VALUES(108,382); +INSERT INTO product_slots VALUES(108,383); +INSERT INTO product_slots VALUES(108,384); +INSERT INTO product_slots VALUES(108,385); +INSERT INTO product_slots VALUES(108,386); +INSERT INTO product_slots VALUES(108,387); +INSERT INTO product_slots VALUES(108,388); +INSERT INTO product_slots VALUES(108,391); +INSERT INTO product_slots VALUES(108,392); +INSERT INTO product_slots VALUES(108,393); +INSERT INTO product_slots VALUES(108,394); +INSERT INTO product_slots VALUES(108,396); +INSERT INTO product_slots VALUES(108,397); +INSERT INTO product_slots VALUES(108,398); +INSERT INTO product_slots VALUES(108,399); +INSERT INTO product_slots VALUES(108,400); +INSERT INTO product_slots VALUES(108,401); +INSERT INTO product_slots VALUES(108,402); +INSERT INTO product_slots VALUES(108,404); +INSERT INTO product_slots VALUES(108,405); +INSERT INTO product_slots VALUES(108,406); +INSERT INTO product_slots VALUES(108,407); +INSERT INTO product_slots VALUES(108,408); +INSERT INTO product_slots VALUES(108,409); +INSERT INTO product_slots VALUES(108,410); +INSERT INTO product_slots VALUES(108,413); +INSERT INTO product_slots VALUES(108,414); +INSERT INTO product_slots VALUES(108,415); +INSERT INTO product_slots VALUES(108,416); +INSERT INTO product_slots VALUES(108,417); +INSERT INTO product_slots VALUES(108,418); +INSERT INTO product_slots VALUES(108,421); +INSERT INTO product_slots VALUES(108,422); +INSERT INTO product_slots VALUES(108,423); +INSERT INTO product_slots VALUES(108,424); +INSERT INTO product_slots VALUES(108,425); +INSERT INTO product_slots VALUES(108,426); +INSERT INTO product_slots VALUES(108,428); +INSERT INTO product_slots VALUES(108,429); +INSERT INTO product_slots VALUES(108,430); +INSERT INTO product_slots VALUES(108,431); +INSERT INTO product_slots VALUES(108,432); +INSERT INTO product_slots VALUES(108,433); +INSERT INTO product_slots VALUES(108,436); +INSERT INTO product_slots VALUES(108,437); +INSERT INTO product_slots VALUES(108,438); +INSERT INTO product_slots VALUES(108,439); +INSERT INTO product_slots VALUES(108,440); +INSERT INTO product_slots VALUES(108,441); +INSERT INTO product_slots VALUES(108,444); +INSERT INTO product_slots VALUES(108,445); +INSERT INTO product_slots VALUES(108,446); +INSERT INTO product_slots VALUES(108,447); +INSERT INTO product_slots VALUES(108,448); +INSERT INTO product_slots VALUES(108,449); +INSERT INTO product_slots VALUES(108,452); +INSERT INTO product_slots VALUES(108,453); +INSERT INTO product_slots VALUES(108,454); +INSERT INTO product_slots VALUES(108,455); +INSERT INTO product_slots VALUES(108,456); +INSERT INTO product_slots VALUES(108,457); +INSERT INTO product_slots VALUES(108,460); +INSERT INTO product_slots VALUES(108,461); +INSERT INTO product_slots VALUES(108,462); +INSERT INTO product_slots VALUES(108,463); +INSERT INTO product_slots VALUES(108,464); +INSERT INTO product_slots VALUES(108,465); +INSERT INTO product_slots VALUES(108,466); +INSERT INTO product_slots VALUES(108,467); +INSERT INTO product_slots VALUES(108,468); +INSERT INTO product_slots VALUES(108,469); +INSERT INTO product_slots VALUES(108,470); +INSERT INTO product_slots VALUES(108,471); +INSERT INTO product_slots VALUES(109,331); +INSERT INTO product_slots VALUES(109,332); +INSERT INTO product_slots VALUES(109,333); +INSERT INTO product_slots VALUES(109,336); +INSERT INTO product_slots VALUES(109,337); +INSERT INTO product_slots VALUES(109,338); +INSERT INTO product_slots VALUES(109,339); +INSERT INTO product_slots VALUES(109,340); +INSERT INTO product_slots VALUES(109,343); +INSERT INTO product_slots VALUES(109,344); +INSERT INTO product_slots VALUES(109,345); +INSERT INTO product_slots VALUES(109,346); +INSERT INTO product_slots VALUES(109,347); +INSERT INTO product_slots VALUES(109,350); +INSERT INTO product_slots VALUES(109,351); +INSERT INTO product_slots VALUES(109,352); +INSERT INTO product_slots VALUES(109,353); +INSERT INTO product_slots VALUES(109,354); +INSERT INTO product_slots VALUES(109,355); +INSERT INTO product_slots VALUES(109,356); +INSERT INTO product_slots VALUES(109,357); +INSERT INTO product_slots VALUES(109,358); +INSERT INTO product_slots VALUES(109,359); +INSERT INTO product_slots VALUES(109,362); +INSERT INTO product_slots VALUES(109,363); +INSERT INTO product_slots VALUES(109,364); +INSERT INTO product_slots VALUES(109,365); +INSERT INTO product_slots VALUES(109,366); +INSERT INTO product_slots VALUES(109,369); +INSERT INTO product_slots VALUES(109,370); +INSERT INTO product_slots VALUES(109,371); +INSERT INTO product_slots VALUES(109,372); +INSERT INTO product_slots VALUES(109,373); +INSERT INTO product_slots VALUES(109,376); +INSERT INTO product_slots VALUES(109,377); +INSERT INTO product_slots VALUES(109,378); +INSERT INTO product_slots VALUES(109,379); +INSERT INTO product_slots VALUES(109,380); +INSERT INTO product_slots VALUES(109,381); +INSERT INTO product_slots VALUES(109,382); +INSERT INTO product_slots VALUES(109,383); +INSERT INTO product_slots VALUES(109,384); +INSERT INTO product_slots VALUES(109,385); +INSERT INTO product_slots VALUES(109,386); +INSERT INTO product_slots VALUES(109,387); +INSERT INTO product_slots VALUES(109,388); +INSERT INTO product_slots VALUES(109,391); +INSERT INTO product_slots VALUES(109,392); +INSERT INTO product_slots VALUES(109,393); +INSERT INTO product_slots VALUES(109,394); +INSERT INTO product_slots VALUES(109,396); +INSERT INTO product_slots VALUES(109,397); +INSERT INTO product_slots VALUES(109,398); +INSERT INTO product_slots VALUES(109,399); +INSERT INTO product_slots VALUES(109,400); +INSERT INTO product_slots VALUES(109,401); +INSERT INTO product_slots VALUES(109,402); +INSERT INTO product_slots VALUES(109,404); +INSERT INTO product_slots VALUES(109,405); +INSERT INTO product_slots VALUES(109,406); +INSERT INTO product_slots VALUES(109,407); +INSERT INTO product_slots VALUES(109,408); +INSERT INTO product_slots VALUES(109,409); +INSERT INTO product_slots VALUES(109,410); +INSERT INTO product_slots VALUES(109,413); +INSERT INTO product_slots VALUES(109,414); +INSERT INTO product_slots VALUES(109,415); +INSERT INTO product_slots VALUES(109,416); +INSERT INTO product_slots VALUES(109,417); +INSERT INTO product_slots VALUES(109,418); +INSERT INTO product_slots VALUES(109,421); +INSERT INTO product_slots VALUES(109,422); +INSERT INTO product_slots VALUES(109,423); +INSERT INTO product_slots VALUES(109,424); +INSERT INTO product_slots VALUES(109,425); +INSERT INTO product_slots VALUES(109,426); +INSERT INTO product_slots VALUES(109,428); +INSERT INTO product_slots VALUES(109,429); +INSERT INTO product_slots VALUES(109,430); +INSERT INTO product_slots VALUES(109,431); +INSERT INTO product_slots VALUES(109,432); +INSERT INTO product_slots VALUES(109,433); +INSERT INTO product_slots VALUES(109,436); +INSERT INTO product_slots VALUES(109,437); +INSERT INTO product_slots VALUES(109,438); +INSERT INTO product_slots VALUES(109,439); +INSERT INTO product_slots VALUES(109,440); +INSERT INTO product_slots VALUES(109,441); +INSERT INTO product_slots VALUES(109,444); +INSERT INTO product_slots VALUES(109,445); +INSERT INTO product_slots VALUES(109,446); +INSERT INTO product_slots VALUES(109,447); +INSERT INTO product_slots VALUES(109,448); +INSERT INTO product_slots VALUES(109,449); +INSERT INTO product_slots VALUES(109,452); +INSERT INTO product_slots VALUES(109,453); +INSERT INTO product_slots VALUES(109,454); +INSERT INTO product_slots VALUES(109,455); +INSERT INTO product_slots VALUES(109,456); +INSERT INTO product_slots VALUES(109,457); +INSERT INTO product_slots VALUES(109,460); +INSERT INTO product_slots VALUES(109,461); +INSERT INTO product_slots VALUES(109,462); +INSERT INTO product_slots VALUES(109,463); +INSERT INTO product_slots VALUES(109,464); +INSERT INTO product_slots VALUES(109,465); +INSERT INTO product_slots VALUES(109,466); +INSERT INTO product_slots VALUES(109,467); +INSERT INTO product_slots VALUES(109,468); +INSERT INTO product_slots VALUES(109,469); +INSERT INTO product_slots VALUES(109,470); +INSERT INTO product_slots VALUES(109,471); +INSERT INTO product_slots VALUES(110,331); +INSERT INTO product_slots VALUES(110,332); +INSERT INTO product_slots VALUES(110,333); +INSERT INTO product_slots VALUES(110,336); +INSERT INTO product_slots VALUES(110,337); +INSERT INTO product_slots VALUES(110,338); +INSERT INTO product_slots VALUES(110,339); +INSERT INTO product_slots VALUES(110,340); +INSERT INTO product_slots VALUES(110,343); +INSERT INTO product_slots VALUES(110,344); +INSERT INTO product_slots VALUES(110,345); +INSERT INTO product_slots VALUES(110,346); +INSERT INTO product_slots VALUES(110,347); +INSERT INTO product_slots VALUES(110,350); +INSERT INTO product_slots VALUES(110,351); +INSERT INTO product_slots VALUES(110,352); +INSERT INTO product_slots VALUES(110,353); +INSERT INTO product_slots VALUES(110,354); +INSERT INTO product_slots VALUES(110,355); +INSERT INTO product_slots VALUES(110,356); +INSERT INTO product_slots VALUES(110,357); +INSERT INTO product_slots VALUES(110,358); +INSERT INTO product_slots VALUES(110,359); +INSERT INTO product_slots VALUES(110,362); +INSERT INTO product_slots VALUES(110,363); +INSERT INTO product_slots VALUES(110,364); +INSERT INTO product_slots VALUES(110,365); +INSERT INTO product_slots VALUES(110,366); +INSERT INTO product_slots VALUES(110,369); +INSERT INTO product_slots VALUES(110,370); +INSERT INTO product_slots VALUES(110,371); +INSERT INTO product_slots VALUES(110,372); +INSERT INTO product_slots VALUES(110,373); +INSERT INTO product_slots VALUES(110,376); +INSERT INTO product_slots VALUES(110,377); +INSERT INTO product_slots VALUES(110,378); +INSERT INTO product_slots VALUES(110,379); +INSERT INTO product_slots VALUES(110,380); +INSERT INTO product_slots VALUES(110,381); +INSERT INTO product_slots VALUES(110,382); +INSERT INTO product_slots VALUES(110,383); +INSERT INTO product_slots VALUES(110,384); +INSERT INTO product_slots VALUES(110,385); +INSERT INTO product_slots VALUES(110,386); +INSERT INTO product_slots VALUES(110,387); +INSERT INTO product_slots VALUES(110,388); +INSERT INTO product_slots VALUES(110,391); +INSERT INTO product_slots VALUES(110,392); +INSERT INTO product_slots VALUES(110,393); +INSERT INTO product_slots VALUES(110,394); +INSERT INTO product_slots VALUES(110,396); +INSERT INTO product_slots VALUES(110,397); +INSERT INTO product_slots VALUES(110,398); +INSERT INTO product_slots VALUES(110,399); +INSERT INTO product_slots VALUES(110,400); +INSERT INTO product_slots VALUES(110,401); +INSERT INTO product_slots VALUES(110,402); +INSERT INTO product_slots VALUES(110,404); +INSERT INTO product_slots VALUES(110,405); +INSERT INTO product_slots VALUES(110,406); +INSERT INTO product_slots VALUES(110,407); +INSERT INTO product_slots VALUES(110,408); +INSERT INTO product_slots VALUES(110,409); +INSERT INTO product_slots VALUES(110,410); +INSERT INTO product_slots VALUES(110,413); +INSERT INTO product_slots VALUES(110,414); +INSERT INTO product_slots VALUES(110,415); +INSERT INTO product_slots VALUES(110,416); +INSERT INTO product_slots VALUES(110,417); +INSERT INTO product_slots VALUES(110,418); +INSERT INTO product_slots VALUES(110,421); +INSERT INTO product_slots VALUES(110,422); +INSERT INTO product_slots VALUES(110,423); +INSERT INTO product_slots VALUES(110,424); +INSERT INTO product_slots VALUES(110,425); +INSERT INTO product_slots VALUES(110,426); +INSERT INTO product_slots VALUES(110,428); +INSERT INTO product_slots VALUES(110,429); +INSERT INTO product_slots VALUES(110,430); +INSERT INTO product_slots VALUES(110,431); +INSERT INTO product_slots VALUES(110,432); +INSERT INTO product_slots VALUES(110,433); +INSERT INTO product_slots VALUES(110,436); +INSERT INTO product_slots VALUES(110,437); +INSERT INTO product_slots VALUES(110,438); +INSERT INTO product_slots VALUES(110,439); +INSERT INTO product_slots VALUES(110,440); +INSERT INTO product_slots VALUES(110,441); +INSERT INTO product_slots VALUES(110,444); +INSERT INTO product_slots VALUES(110,445); +INSERT INTO product_slots VALUES(110,446); +INSERT INTO product_slots VALUES(110,447); +INSERT INTO product_slots VALUES(110,448); +INSERT INTO product_slots VALUES(110,449); +INSERT INTO product_slots VALUES(110,452); +INSERT INTO product_slots VALUES(110,453); +INSERT INTO product_slots VALUES(110,454); +INSERT INTO product_slots VALUES(110,455); +INSERT INTO product_slots VALUES(110,456); +INSERT INTO product_slots VALUES(110,457); +INSERT INTO product_slots VALUES(110,460); +INSERT INTO product_slots VALUES(110,461); +INSERT INTO product_slots VALUES(110,462); +INSERT INTO product_slots VALUES(110,463); +INSERT INTO product_slots VALUES(110,464); +INSERT INTO product_slots VALUES(110,465); +INSERT INTO product_slots VALUES(110,466); +INSERT INTO product_slots VALUES(110,467); +INSERT INTO product_slots VALUES(110,468); +INSERT INTO product_slots VALUES(110,469); +INSERT INTO product_slots VALUES(110,470); +INSERT INTO product_slots VALUES(110,471); +INSERT INTO product_slots VALUES(111,331); +INSERT INTO product_slots VALUES(111,332); +INSERT INTO product_slots VALUES(111,333); +INSERT INTO product_slots VALUES(111,336); +INSERT INTO product_slots VALUES(111,337); +INSERT INTO product_slots VALUES(111,338); +INSERT INTO product_slots VALUES(111,339); +INSERT INTO product_slots VALUES(111,340); +INSERT INTO product_slots VALUES(111,343); +INSERT INTO product_slots VALUES(111,344); +INSERT INTO product_slots VALUES(111,345); +INSERT INTO product_slots VALUES(111,346); +INSERT INTO product_slots VALUES(111,347); +INSERT INTO product_slots VALUES(111,350); +INSERT INTO product_slots VALUES(111,351); +INSERT INTO product_slots VALUES(111,352); +INSERT INTO product_slots VALUES(111,353); +INSERT INTO product_slots VALUES(111,354); +INSERT INTO product_slots VALUES(111,355); +INSERT INTO product_slots VALUES(111,356); +INSERT INTO product_slots VALUES(111,357); +INSERT INTO product_slots VALUES(111,358); +INSERT INTO product_slots VALUES(111,359); +INSERT INTO product_slots VALUES(111,362); +INSERT INTO product_slots VALUES(111,363); +INSERT INTO product_slots VALUES(111,364); +INSERT INTO product_slots VALUES(111,365); +INSERT INTO product_slots VALUES(111,366); +INSERT INTO product_slots VALUES(111,369); +INSERT INTO product_slots VALUES(111,370); +INSERT INTO product_slots VALUES(111,371); +INSERT INTO product_slots VALUES(111,372); +INSERT INTO product_slots VALUES(111,373); +INSERT INTO product_slots VALUES(111,376); +INSERT INTO product_slots VALUES(111,377); +INSERT INTO product_slots VALUES(111,378); +INSERT INTO product_slots VALUES(111,379); +INSERT INTO product_slots VALUES(111,380); +INSERT INTO product_slots VALUES(111,381); +INSERT INTO product_slots VALUES(111,382); +INSERT INTO product_slots VALUES(111,383); +INSERT INTO product_slots VALUES(111,384); +INSERT INTO product_slots VALUES(111,385); +INSERT INTO product_slots VALUES(111,386); +INSERT INTO product_slots VALUES(111,387); +INSERT INTO product_slots VALUES(111,388); +INSERT INTO product_slots VALUES(111,391); +INSERT INTO product_slots VALUES(111,392); +INSERT INTO product_slots VALUES(111,393); +INSERT INTO product_slots VALUES(111,394); +INSERT INTO product_slots VALUES(111,396); +INSERT INTO product_slots VALUES(111,397); +INSERT INTO product_slots VALUES(111,398); +INSERT INTO product_slots VALUES(111,399); +INSERT INTO product_slots VALUES(111,400); +INSERT INTO product_slots VALUES(111,401); +INSERT INTO product_slots VALUES(111,402); +INSERT INTO product_slots VALUES(111,404); +INSERT INTO product_slots VALUES(111,405); +INSERT INTO product_slots VALUES(111,406); +INSERT INTO product_slots VALUES(111,407); +INSERT INTO product_slots VALUES(111,408); +INSERT INTO product_slots VALUES(111,409); +INSERT INTO product_slots VALUES(111,410); +INSERT INTO product_slots VALUES(111,413); +INSERT INTO product_slots VALUES(111,414); +INSERT INTO product_slots VALUES(111,415); +INSERT INTO product_slots VALUES(111,416); +INSERT INTO product_slots VALUES(111,417); +INSERT INTO product_slots VALUES(111,418); +INSERT INTO product_slots VALUES(111,421); +INSERT INTO product_slots VALUES(111,422); +INSERT INTO product_slots VALUES(111,423); +INSERT INTO product_slots VALUES(111,424); +INSERT INTO product_slots VALUES(111,425); +INSERT INTO product_slots VALUES(111,426); +INSERT INTO product_slots VALUES(111,428); +INSERT INTO product_slots VALUES(111,429); +INSERT INTO product_slots VALUES(111,430); +INSERT INTO product_slots VALUES(111,431); +INSERT INTO product_slots VALUES(111,432); +INSERT INTO product_slots VALUES(111,433); +INSERT INTO product_slots VALUES(111,436); +INSERT INTO product_slots VALUES(111,437); +INSERT INTO product_slots VALUES(111,438); +INSERT INTO product_slots VALUES(111,439); +INSERT INTO product_slots VALUES(111,440); +INSERT INTO product_slots VALUES(111,441); +INSERT INTO product_slots VALUES(111,444); +INSERT INTO product_slots VALUES(111,445); +INSERT INTO product_slots VALUES(111,446); +INSERT INTO product_slots VALUES(111,447); +INSERT INTO product_slots VALUES(111,448); +INSERT INTO product_slots VALUES(111,449); +INSERT INTO product_slots VALUES(111,452); +INSERT INTO product_slots VALUES(111,453); +INSERT INTO product_slots VALUES(111,454); +INSERT INTO product_slots VALUES(111,455); +INSERT INTO product_slots VALUES(111,456); +INSERT INTO product_slots VALUES(111,457); +INSERT INTO product_slots VALUES(111,460); +INSERT INTO product_slots VALUES(111,461); +INSERT INTO product_slots VALUES(111,462); +INSERT INTO product_slots VALUES(111,463); +INSERT INTO product_slots VALUES(111,464); +INSERT INTO product_slots VALUES(111,465); +INSERT INTO product_slots VALUES(111,466); +INSERT INTO product_slots VALUES(111,467); +INSERT INTO product_slots VALUES(111,468); +INSERT INTO product_slots VALUES(111,469); +INSERT INTO product_slots VALUES(111,470); +INSERT INTO product_slots VALUES(111,471); +INSERT INTO product_slots VALUES(112,331); +INSERT INTO product_slots VALUES(112,332); +INSERT INTO product_slots VALUES(112,333); +INSERT INTO product_slots VALUES(112,336); +INSERT INTO product_slots VALUES(112,337); +INSERT INTO product_slots VALUES(112,338); +INSERT INTO product_slots VALUES(112,339); +INSERT INTO product_slots VALUES(112,340); +INSERT INTO product_slots VALUES(112,343); +INSERT INTO product_slots VALUES(112,344); +INSERT INTO product_slots VALUES(112,345); +INSERT INTO product_slots VALUES(112,346); +INSERT INTO product_slots VALUES(112,347); +INSERT INTO product_slots VALUES(112,350); +INSERT INTO product_slots VALUES(112,351); +INSERT INTO product_slots VALUES(112,352); +INSERT INTO product_slots VALUES(112,353); +INSERT INTO product_slots VALUES(112,354); +INSERT INTO product_slots VALUES(112,355); +INSERT INTO product_slots VALUES(112,356); +INSERT INTO product_slots VALUES(112,357); +INSERT INTO product_slots VALUES(112,358); +INSERT INTO product_slots VALUES(112,359); +INSERT INTO product_slots VALUES(112,362); +INSERT INTO product_slots VALUES(112,363); +INSERT INTO product_slots VALUES(112,364); +INSERT INTO product_slots VALUES(112,365); +INSERT INTO product_slots VALUES(112,366); +INSERT INTO product_slots VALUES(112,369); +INSERT INTO product_slots VALUES(112,370); +INSERT INTO product_slots VALUES(112,371); +INSERT INTO product_slots VALUES(112,372); +INSERT INTO product_slots VALUES(112,373); +INSERT INTO product_slots VALUES(112,376); +INSERT INTO product_slots VALUES(112,377); +INSERT INTO product_slots VALUES(112,378); +INSERT INTO product_slots VALUES(112,379); +INSERT INTO product_slots VALUES(112,380); +INSERT INTO product_slots VALUES(112,381); +INSERT INTO product_slots VALUES(112,382); +INSERT INTO product_slots VALUES(112,383); +INSERT INTO product_slots VALUES(112,384); +INSERT INTO product_slots VALUES(112,385); +INSERT INTO product_slots VALUES(112,386); +INSERT INTO product_slots VALUES(112,387); +INSERT INTO product_slots VALUES(112,388); +INSERT INTO product_slots VALUES(112,391); +INSERT INTO product_slots VALUES(112,392); +INSERT INTO product_slots VALUES(112,393); +INSERT INTO product_slots VALUES(112,394); +INSERT INTO product_slots VALUES(112,396); +INSERT INTO product_slots VALUES(112,397); +INSERT INTO product_slots VALUES(112,398); +INSERT INTO product_slots VALUES(112,399); +INSERT INTO product_slots VALUES(112,400); +INSERT INTO product_slots VALUES(112,401); +INSERT INTO product_slots VALUES(112,402); +INSERT INTO product_slots VALUES(112,404); +INSERT INTO product_slots VALUES(112,405); +INSERT INTO product_slots VALUES(112,406); +INSERT INTO product_slots VALUES(112,407); +INSERT INTO product_slots VALUES(112,408); +INSERT INTO product_slots VALUES(112,409); +INSERT INTO product_slots VALUES(112,410); +INSERT INTO product_slots VALUES(112,413); +INSERT INTO product_slots VALUES(112,414); +INSERT INTO product_slots VALUES(112,415); +INSERT INTO product_slots VALUES(112,416); +INSERT INTO product_slots VALUES(112,417); +INSERT INTO product_slots VALUES(112,418); +INSERT INTO product_slots VALUES(112,421); +INSERT INTO product_slots VALUES(112,422); +INSERT INTO product_slots VALUES(112,423); +INSERT INTO product_slots VALUES(112,424); +INSERT INTO product_slots VALUES(112,425); +INSERT INTO product_slots VALUES(112,426); +INSERT INTO product_slots VALUES(112,428); +INSERT INTO product_slots VALUES(112,429); +INSERT INTO product_slots VALUES(112,430); +INSERT INTO product_slots VALUES(112,431); +INSERT INTO product_slots VALUES(112,432); +INSERT INTO product_slots VALUES(112,433); +INSERT INTO product_slots VALUES(112,436); +INSERT INTO product_slots VALUES(112,437); +INSERT INTO product_slots VALUES(112,438); +INSERT INTO product_slots VALUES(112,439); +INSERT INTO product_slots VALUES(112,440); +INSERT INTO product_slots VALUES(112,441); +INSERT INTO product_slots VALUES(112,444); +INSERT INTO product_slots VALUES(112,445); +INSERT INTO product_slots VALUES(112,446); +INSERT INTO product_slots VALUES(112,447); +INSERT INTO product_slots VALUES(112,448); +INSERT INTO product_slots VALUES(112,449); +INSERT INTO product_slots VALUES(112,452); +INSERT INTO product_slots VALUES(112,453); +INSERT INTO product_slots VALUES(112,454); +INSERT INTO product_slots VALUES(112,455); +INSERT INTO product_slots VALUES(112,456); +INSERT INTO product_slots VALUES(112,457); +INSERT INTO product_slots VALUES(112,460); +INSERT INTO product_slots VALUES(112,461); +INSERT INTO product_slots VALUES(112,462); +INSERT INTO product_slots VALUES(112,463); +INSERT INTO product_slots VALUES(112,464); +INSERT INTO product_slots VALUES(112,465); +INSERT INTO product_slots VALUES(112,466); +INSERT INTO product_slots VALUES(112,467); +INSERT INTO product_slots VALUES(112,468); +INSERT INTO product_slots VALUES(112,469); +INSERT INTO product_slots VALUES(112,470); +INSERT INTO product_slots VALUES(112,471); +INSERT INTO product_slots VALUES(113,339); +INSERT INTO product_slots VALUES(113,340); +INSERT INTO product_slots VALUES(113,343); +INSERT INTO product_slots VALUES(113,344); +INSERT INTO product_slots VALUES(113,345); +INSERT INTO product_slots VALUES(113,346); +INSERT INTO product_slots VALUES(113,347); +INSERT INTO product_slots VALUES(113,350); +INSERT INTO product_slots VALUES(113,351); +INSERT INTO product_slots VALUES(113,352); +INSERT INTO product_slots VALUES(113,353); +INSERT INTO product_slots VALUES(113,354); +INSERT INTO product_slots VALUES(113,355); +INSERT INTO product_slots VALUES(113,356); +INSERT INTO product_slots VALUES(113,357); +INSERT INTO product_slots VALUES(113,358); +INSERT INTO product_slots VALUES(113,359); +INSERT INTO product_slots VALUES(113,362); +INSERT INTO product_slots VALUES(113,363); +INSERT INTO product_slots VALUES(113,364); +INSERT INTO product_slots VALUES(113,365); +INSERT INTO product_slots VALUES(113,366); +INSERT INTO product_slots VALUES(113,369); +INSERT INTO product_slots VALUES(113,370); +INSERT INTO product_slots VALUES(113,371); +INSERT INTO product_slots VALUES(113,372); +INSERT INTO product_slots VALUES(113,373); +INSERT INTO product_slots VALUES(113,376); +INSERT INTO product_slots VALUES(113,377); +INSERT INTO product_slots VALUES(113,378); +INSERT INTO product_slots VALUES(113,379); +INSERT INTO product_slots VALUES(113,380); +INSERT INTO product_slots VALUES(113,381); +INSERT INTO product_slots VALUES(113,382); +INSERT INTO product_slots VALUES(113,383); +INSERT INTO product_slots VALUES(113,384); +INSERT INTO product_slots VALUES(113,385); +INSERT INTO product_slots VALUES(113,386); +INSERT INTO product_slots VALUES(113,387); +INSERT INTO product_slots VALUES(113,388); +INSERT INTO product_slots VALUES(113,391); +INSERT INTO product_slots VALUES(113,392); +INSERT INTO product_slots VALUES(113,393); +INSERT INTO product_slots VALUES(113,394); +INSERT INTO product_slots VALUES(113,396); +INSERT INTO product_slots VALUES(113,397); +INSERT INTO product_slots VALUES(113,398); +INSERT INTO product_slots VALUES(113,399); +INSERT INTO product_slots VALUES(113,400); +INSERT INTO product_slots VALUES(113,401); +INSERT INTO product_slots VALUES(113,402); +INSERT INTO product_slots VALUES(113,404); +INSERT INTO product_slots VALUES(113,405); +INSERT INTO product_slots VALUES(113,406); +INSERT INTO product_slots VALUES(113,407); +INSERT INTO product_slots VALUES(113,408); +INSERT INTO product_slots VALUES(113,409); +INSERT INTO product_slots VALUES(113,410); +INSERT INTO product_slots VALUES(113,413); +INSERT INTO product_slots VALUES(113,414); +INSERT INTO product_slots VALUES(113,415); +INSERT INTO product_slots VALUES(113,416); +INSERT INTO product_slots VALUES(113,417); +INSERT INTO product_slots VALUES(113,418); +INSERT INTO product_slots VALUES(113,421); +INSERT INTO product_slots VALUES(113,422); +INSERT INTO product_slots VALUES(113,423); +INSERT INTO product_slots VALUES(113,424); +INSERT INTO product_slots VALUES(113,425); +INSERT INTO product_slots VALUES(113,426); +INSERT INTO product_slots VALUES(113,428); +INSERT INTO product_slots VALUES(113,429); +INSERT INTO product_slots VALUES(113,430); +INSERT INTO product_slots VALUES(113,431); +INSERT INTO product_slots VALUES(113,432); +INSERT INTO product_slots VALUES(113,433); +INSERT INTO product_slots VALUES(113,436); +INSERT INTO product_slots VALUES(113,437); +INSERT INTO product_slots VALUES(113,438); +INSERT INTO product_slots VALUES(113,439); +INSERT INTO product_slots VALUES(113,440); +INSERT INTO product_slots VALUES(113,441); +INSERT INTO product_slots VALUES(113,444); +INSERT INTO product_slots VALUES(113,445); +INSERT INTO product_slots VALUES(113,446); +INSERT INTO product_slots VALUES(113,447); +INSERT INTO product_slots VALUES(113,448); +INSERT INTO product_slots VALUES(113,449); +INSERT INTO product_slots VALUES(113,452); +INSERT INTO product_slots VALUES(113,453); +INSERT INTO product_slots VALUES(113,454); +INSERT INTO product_slots VALUES(113,455); +INSERT INTO product_slots VALUES(113,456); +INSERT INTO product_slots VALUES(113,457); +INSERT INTO product_slots VALUES(113,460); +INSERT INTO product_slots VALUES(113,461); +INSERT INTO product_slots VALUES(113,462); +INSERT INTO product_slots VALUES(113,463); +INSERT INTO product_slots VALUES(113,464); +INSERT INTO product_slots VALUES(113,465); +INSERT INTO product_slots VALUES(113,466); +INSERT INTO product_slots VALUES(113,467); +INSERT INTO product_slots VALUES(113,468); +INSERT INTO product_slots VALUES(113,469); +INSERT INTO product_slots VALUES(113,470); +INSERT INTO product_slots VALUES(113,471); +INSERT INTO product_slots VALUES(114,339); +INSERT INTO product_slots VALUES(114,340); +INSERT INTO product_slots VALUES(114,343); +INSERT INTO product_slots VALUES(114,344); +INSERT INTO product_slots VALUES(114,345); +INSERT INTO product_slots VALUES(114,346); +INSERT INTO product_slots VALUES(114,347); +INSERT INTO product_slots VALUES(114,350); +INSERT INTO product_slots VALUES(114,351); +INSERT INTO product_slots VALUES(114,352); +INSERT INTO product_slots VALUES(114,353); +INSERT INTO product_slots VALUES(114,354); +INSERT INTO product_slots VALUES(114,355); +INSERT INTO product_slots VALUES(114,356); +INSERT INTO product_slots VALUES(114,357); +INSERT INTO product_slots VALUES(114,358); +INSERT INTO product_slots VALUES(114,359); +INSERT INTO product_slots VALUES(114,362); +INSERT INTO product_slots VALUES(114,363); +INSERT INTO product_slots VALUES(114,364); +INSERT INTO product_slots VALUES(114,365); +INSERT INTO product_slots VALUES(114,366); +INSERT INTO product_slots VALUES(114,369); +INSERT INTO product_slots VALUES(114,370); +INSERT INTO product_slots VALUES(114,371); +INSERT INTO product_slots VALUES(114,372); +INSERT INTO product_slots VALUES(114,373); +INSERT INTO product_slots VALUES(114,376); +INSERT INTO product_slots VALUES(114,377); +INSERT INTO product_slots VALUES(114,378); +INSERT INTO product_slots VALUES(114,379); +INSERT INTO product_slots VALUES(114,380); +INSERT INTO product_slots VALUES(114,381); +INSERT INTO product_slots VALUES(114,382); +INSERT INTO product_slots VALUES(114,383); +INSERT INTO product_slots VALUES(114,384); +INSERT INTO product_slots VALUES(114,385); +INSERT INTO product_slots VALUES(114,386); +INSERT INTO product_slots VALUES(114,387); +INSERT INTO product_slots VALUES(114,388); +INSERT INTO product_slots VALUES(114,391); +INSERT INTO product_slots VALUES(114,392); +INSERT INTO product_slots VALUES(114,393); +INSERT INTO product_slots VALUES(114,394); +INSERT INTO product_slots VALUES(114,396); +INSERT INTO product_slots VALUES(114,397); +INSERT INTO product_slots VALUES(114,398); +INSERT INTO product_slots VALUES(114,399); +INSERT INTO product_slots VALUES(114,400); +INSERT INTO product_slots VALUES(114,401); +INSERT INTO product_slots VALUES(114,402); +INSERT INTO product_slots VALUES(114,404); +INSERT INTO product_slots VALUES(114,405); +INSERT INTO product_slots VALUES(114,406); +INSERT INTO product_slots VALUES(114,407); +INSERT INTO product_slots VALUES(114,408); +INSERT INTO product_slots VALUES(114,409); +INSERT INTO product_slots VALUES(114,410); +INSERT INTO product_slots VALUES(114,413); +INSERT INTO product_slots VALUES(114,414); +INSERT INTO product_slots VALUES(114,415); +INSERT INTO product_slots VALUES(114,416); +INSERT INTO product_slots VALUES(114,417); +INSERT INTO product_slots VALUES(114,418); +INSERT INTO product_slots VALUES(114,421); +INSERT INTO product_slots VALUES(114,422); +INSERT INTO product_slots VALUES(114,423); +INSERT INTO product_slots VALUES(114,424); +INSERT INTO product_slots VALUES(114,425); +INSERT INTO product_slots VALUES(114,426); +INSERT INTO product_slots VALUES(114,428); +INSERT INTO product_slots VALUES(114,429); +INSERT INTO product_slots VALUES(114,430); +INSERT INTO product_slots VALUES(114,431); +INSERT INTO product_slots VALUES(114,432); +INSERT INTO product_slots VALUES(114,433); +INSERT INTO product_slots VALUES(114,436); +INSERT INTO product_slots VALUES(114,437); +INSERT INTO product_slots VALUES(114,438); +INSERT INTO product_slots VALUES(114,439); +INSERT INTO product_slots VALUES(114,440); +INSERT INTO product_slots VALUES(114,441); +INSERT INTO product_slots VALUES(114,444); +INSERT INTO product_slots VALUES(114,445); +INSERT INTO product_slots VALUES(114,446); +INSERT INTO product_slots VALUES(114,447); +INSERT INTO product_slots VALUES(114,448); +INSERT INTO product_slots VALUES(114,449); +INSERT INTO product_slots VALUES(114,452); +INSERT INTO product_slots VALUES(114,453); +INSERT INTO product_slots VALUES(114,454); +INSERT INTO product_slots VALUES(114,455); +INSERT INTO product_slots VALUES(114,456); +INSERT INTO product_slots VALUES(114,457); +INSERT INTO product_slots VALUES(114,460); +INSERT INTO product_slots VALUES(114,461); +INSERT INTO product_slots VALUES(114,462); +INSERT INTO product_slots VALUES(114,463); +INSERT INTO product_slots VALUES(114,464); +INSERT INTO product_slots VALUES(114,465); +INSERT INTO product_slots VALUES(114,466); +INSERT INTO product_slots VALUES(114,467); +INSERT INTO product_slots VALUES(114,468); +INSERT INTO product_slots VALUES(114,469); +INSERT INTO product_slots VALUES(114,470); +INSERT INTO product_slots VALUES(114,471); +INSERT INTO product_slots VALUES(115,339); +INSERT INTO product_slots VALUES(115,340); +INSERT INTO product_slots VALUES(115,343); +INSERT INTO product_slots VALUES(115,344); +INSERT INTO product_slots VALUES(115,345); +INSERT INTO product_slots VALUES(115,346); +INSERT INTO product_slots VALUES(115,347); +INSERT INTO product_slots VALUES(115,350); +INSERT INTO product_slots VALUES(115,351); +INSERT INTO product_slots VALUES(115,352); +INSERT INTO product_slots VALUES(115,353); +INSERT INTO product_slots VALUES(115,354); +INSERT INTO product_slots VALUES(115,355); +INSERT INTO product_slots VALUES(115,356); +INSERT INTO product_slots VALUES(115,357); +INSERT INTO product_slots VALUES(115,358); +INSERT INTO product_slots VALUES(115,359); +INSERT INTO product_slots VALUES(115,362); +INSERT INTO product_slots VALUES(115,363); +INSERT INTO product_slots VALUES(115,364); +INSERT INTO product_slots VALUES(115,365); +INSERT INTO product_slots VALUES(115,366); +INSERT INTO product_slots VALUES(115,369); +INSERT INTO product_slots VALUES(115,370); +INSERT INTO product_slots VALUES(115,371); +INSERT INTO product_slots VALUES(115,372); +INSERT INTO product_slots VALUES(115,373); +INSERT INTO product_slots VALUES(115,376); +INSERT INTO product_slots VALUES(115,377); +INSERT INTO product_slots VALUES(115,378); +INSERT INTO product_slots VALUES(115,379); +INSERT INTO product_slots VALUES(115,380); +INSERT INTO product_slots VALUES(115,381); +INSERT INTO product_slots VALUES(115,382); +INSERT INTO product_slots VALUES(115,383); +INSERT INTO product_slots VALUES(115,384); +INSERT INTO product_slots VALUES(115,385); +INSERT INTO product_slots VALUES(115,386); +INSERT INTO product_slots VALUES(115,387); +INSERT INTO product_slots VALUES(115,388); +INSERT INTO product_slots VALUES(115,391); +INSERT INTO product_slots VALUES(115,392); +INSERT INTO product_slots VALUES(115,393); +INSERT INTO product_slots VALUES(115,394); +INSERT INTO product_slots VALUES(115,396); +INSERT INTO product_slots VALUES(115,397); +INSERT INTO product_slots VALUES(115,398); +INSERT INTO product_slots VALUES(115,399); +INSERT INTO product_slots VALUES(115,400); +INSERT INTO product_slots VALUES(115,401); +INSERT INTO product_slots VALUES(115,402); +INSERT INTO product_slots VALUES(115,404); +INSERT INTO product_slots VALUES(115,405); +INSERT INTO product_slots VALUES(115,406); +INSERT INTO product_slots VALUES(115,407); +INSERT INTO product_slots VALUES(115,408); +INSERT INTO product_slots VALUES(115,409); +INSERT INTO product_slots VALUES(115,410); +INSERT INTO product_slots VALUES(115,413); +INSERT INTO product_slots VALUES(115,414); +INSERT INTO product_slots VALUES(115,415); +INSERT INTO product_slots VALUES(115,416); +INSERT INTO product_slots VALUES(115,417); +INSERT INTO product_slots VALUES(115,418); +INSERT INTO product_slots VALUES(115,421); +INSERT INTO product_slots VALUES(115,422); +INSERT INTO product_slots VALUES(115,423); +INSERT INTO product_slots VALUES(115,424); +INSERT INTO product_slots VALUES(115,425); +INSERT INTO product_slots VALUES(115,426); +INSERT INTO product_slots VALUES(115,428); +INSERT INTO product_slots VALUES(115,429); +INSERT INTO product_slots VALUES(115,430); +INSERT INTO product_slots VALUES(115,431); +INSERT INTO product_slots VALUES(115,432); +INSERT INTO product_slots VALUES(115,433); +INSERT INTO product_slots VALUES(115,436); +INSERT INTO product_slots VALUES(115,437); +INSERT INTO product_slots VALUES(115,438); +INSERT INTO product_slots VALUES(115,439); +INSERT INTO product_slots VALUES(115,440); +INSERT INTO product_slots VALUES(115,441); +INSERT INTO product_slots VALUES(115,444); +INSERT INTO product_slots VALUES(115,445); +INSERT INTO product_slots VALUES(115,446); +INSERT INTO product_slots VALUES(115,447); +INSERT INTO product_slots VALUES(115,448); +INSERT INTO product_slots VALUES(115,449); +INSERT INTO product_slots VALUES(115,452); +INSERT INTO product_slots VALUES(115,453); +INSERT INTO product_slots VALUES(115,454); +INSERT INTO product_slots VALUES(115,455); +INSERT INTO product_slots VALUES(115,456); +INSERT INTO product_slots VALUES(115,457); +INSERT INTO product_slots VALUES(115,460); +INSERT INTO product_slots VALUES(115,461); +INSERT INTO product_slots VALUES(115,462); +INSERT INTO product_slots VALUES(115,463); +INSERT INTO product_slots VALUES(115,464); +INSERT INTO product_slots VALUES(115,465); +INSERT INTO product_slots VALUES(115,466); +INSERT INTO product_slots VALUES(115,467); +INSERT INTO product_slots VALUES(115,468); +INSERT INTO product_slots VALUES(115,469); +INSERT INTO product_slots VALUES(115,470); +INSERT INTO product_slots VALUES(115,471); +INSERT INTO product_slots VALUES(116,339); +INSERT INTO product_slots VALUES(116,340); +INSERT INTO product_slots VALUES(116,343); +INSERT INTO product_slots VALUES(116,344); +INSERT INTO product_slots VALUES(116,345); +INSERT INTO product_slots VALUES(116,346); +INSERT INTO product_slots VALUES(116,347); +INSERT INTO product_slots VALUES(116,350); +INSERT INTO product_slots VALUES(116,351); +INSERT INTO product_slots VALUES(116,352); +INSERT INTO product_slots VALUES(116,353); +INSERT INTO product_slots VALUES(116,354); +INSERT INTO product_slots VALUES(116,355); +INSERT INTO product_slots VALUES(116,356); +INSERT INTO product_slots VALUES(116,357); +INSERT INTO product_slots VALUES(116,358); +INSERT INTO product_slots VALUES(116,359); +INSERT INTO product_slots VALUES(116,362); +INSERT INTO product_slots VALUES(116,363); +INSERT INTO product_slots VALUES(116,364); +INSERT INTO product_slots VALUES(116,365); +INSERT INTO product_slots VALUES(116,366); +INSERT INTO product_slots VALUES(116,369); +INSERT INTO product_slots VALUES(116,370); +INSERT INTO product_slots VALUES(116,371); +INSERT INTO product_slots VALUES(116,372); +INSERT INTO product_slots VALUES(116,373); +INSERT INTO product_slots VALUES(116,376); +INSERT INTO product_slots VALUES(116,377); +INSERT INTO product_slots VALUES(116,378); +INSERT INTO product_slots VALUES(116,379); +INSERT INTO product_slots VALUES(116,380); +INSERT INTO product_slots VALUES(116,381); +INSERT INTO product_slots VALUES(116,382); +INSERT INTO product_slots VALUES(116,383); +INSERT INTO product_slots VALUES(116,384); +INSERT INTO product_slots VALUES(116,385); +INSERT INTO product_slots VALUES(116,386); +INSERT INTO product_slots VALUES(116,387); +INSERT INTO product_slots VALUES(116,388); +INSERT INTO product_slots VALUES(116,391); +INSERT INTO product_slots VALUES(116,392); +INSERT INTO product_slots VALUES(116,393); +INSERT INTO product_slots VALUES(116,394); +INSERT INTO product_slots VALUES(116,396); +INSERT INTO product_slots VALUES(116,397); +INSERT INTO product_slots VALUES(116,398); +INSERT INTO product_slots VALUES(116,399); +INSERT INTO product_slots VALUES(116,400); +INSERT INTO product_slots VALUES(116,401); +INSERT INTO product_slots VALUES(116,402); +INSERT INTO product_slots VALUES(116,404); +INSERT INTO product_slots VALUES(116,405); +INSERT INTO product_slots VALUES(116,406); +INSERT INTO product_slots VALUES(116,407); +INSERT INTO product_slots VALUES(116,408); +INSERT INTO product_slots VALUES(116,409); +INSERT INTO product_slots VALUES(116,410); +INSERT INTO product_slots VALUES(116,413); +INSERT INTO product_slots VALUES(116,414); +INSERT INTO product_slots VALUES(116,415); +INSERT INTO product_slots VALUES(116,416); +INSERT INTO product_slots VALUES(116,417); +INSERT INTO product_slots VALUES(116,418); +INSERT INTO product_slots VALUES(116,421); +INSERT INTO product_slots VALUES(116,422); +INSERT INTO product_slots VALUES(116,423); +INSERT INTO product_slots VALUES(116,424); +INSERT INTO product_slots VALUES(116,425); +INSERT INTO product_slots VALUES(116,426); +INSERT INTO product_slots VALUES(116,428); +INSERT INTO product_slots VALUES(116,429); +INSERT INTO product_slots VALUES(116,430); +INSERT INTO product_slots VALUES(116,431); +INSERT INTO product_slots VALUES(116,432); +INSERT INTO product_slots VALUES(116,433); +INSERT INTO product_slots VALUES(116,436); +INSERT INTO product_slots VALUES(116,437); +INSERT INTO product_slots VALUES(116,438); +INSERT INTO product_slots VALUES(116,439); +INSERT INTO product_slots VALUES(116,440); +INSERT INTO product_slots VALUES(116,441); +INSERT INTO product_slots VALUES(116,444); +INSERT INTO product_slots VALUES(116,445); +INSERT INTO product_slots VALUES(116,446); +INSERT INTO product_slots VALUES(116,447); +INSERT INTO product_slots VALUES(116,448); +INSERT INTO product_slots VALUES(116,449); +INSERT INTO product_slots VALUES(116,452); +INSERT INTO product_slots VALUES(116,453); +INSERT INTO product_slots VALUES(116,454); +INSERT INTO product_slots VALUES(116,455); +INSERT INTO product_slots VALUES(116,456); +INSERT INTO product_slots VALUES(116,457); +INSERT INTO product_slots VALUES(116,460); +INSERT INTO product_slots VALUES(116,461); +INSERT INTO product_slots VALUES(116,462); +INSERT INTO product_slots VALUES(116,463); +INSERT INTO product_slots VALUES(116,464); +INSERT INTO product_slots VALUES(116,465); +INSERT INTO product_slots VALUES(116,466); +INSERT INTO product_slots VALUES(116,467); +INSERT INTO product_slots VALUES(116,468); +INSERT INTO product_slots VALUES(116,469); +INSERT INTO product_slots VALUES(116,470); +INSERT INTO product_slots VALUES(116,471); +INSERT INTO product_slots VALUES(117,339); +INSERT INTO product_slots VALUES(117,340); +INSERT INTO product_slots VALUES(117,343); +INSERT INTO product_slots VALUES(117,344); +INSERT INTO product_slots VALUES(117,345); +INSERT INTO product_slots VALUES(117,346); +INSERT INTO product_slots VALUES(117,347); +INSERT INTO product_slots VALUES(117,350); +INSERT INTO product_slots VALUES(117,351); +INSERT INTO product_slots VALUES(117,352); +INSERT INTO product_slots VALUES(117,353); +INSERT INTO product_slots VALUES(117,354); +INSERT INTO product_slots VALUES(117,355); +INSERT INTO product_slots VALUES(117,356); +INSERT INTO product_slots VALUES(117,357); +INSERT INTO product_slots VALUES(117,358); +INSERT INTO product_slots VALUES(117,359); +INSERT INTO product_slots VALUES(117,362); +INSERT INTO product_slots VALUES(117,363); +INSERT INTO product_slots VALUES(117,364); +INSERT INTO product_slots VALUES(117,365); +INSERT INTO product_slots VALUES(117,366); +INSERT INTO product_slots VALUES(117,369); +INSERT INTO product_slots VALUES(117,370); +INSERT INTO product_slots VALUES(117,371); +INSERT INTO product_slots VALUES(117,372); +INSERT INTO product_slots VALUES(117,373); +INSERT INTO product_slots VALUES(117,376); +INSERT INTO product_slots VALUES(117,377); +INSERT INTO product_slots VALUES(117,378); +INSERT INTO product_slots VALUES(117,379); +INSERT INTO product_slots VALUES(117,380); +INSERT INTO product_slots VALUES(117,381); +INSERT INTO product_slots VALUES(117,382); +INSERT INTO product_slots VALUES(117,383); +INSERT INTO product_slots VALUES(117,384); +INSERT INTO product_slots VALUES(117,385); +INSERT INTO product_slots VALUES(117,386); +INSERT INTO product_slots VALUES(117,387); +INSERT INTO product_slots VALUES(117,388); +INSERT INTO product_slots VALUES(117,391); +INSERT INTO product_slots VALUES(117,392); +INSERT INTO product_slots VALUES(117,393); +INSERT INTO product_slots VALUES(117,394); +INSERT INTO product_slots VALUES(117,396); +INSERT INTO product_slots VALUES(117,397); +INSERT INTO product_slots VALUES(117,398); +INSERT INTO product_slots VALUES(117,399); +INSERT INTO product_slots VALUES(117,400); +INSERT INTO product_slots VALUES(117,401); +INSERT INTO product_slots VALUES(117,402); +INSERT INTO product_slots VALUES(117,404); +INSERT INTO product_slots VALUES(117,405); +INSERT INTO product_slots VALUES(117,406); +INSERT INTO product_slots VALUES(117,407); +INSERT INTO product_slots VALUES(117,408); +INSERT INTO product_slots VALUES(117,409); +INSERT INTO product_slots VALUES(117,410); +INSERT INTO product_slots VALUES(117,413); +INSERT INTO product_slots VALUES(117,414); +INSERT INTO product_slots VALUES(117,415); +INSERT INTO product_slots VALUES(117,416); +INSERT INTO product_slots VALUES(117,417); +INSERT INTO product_slots VALUES(117,418); +INSERT INTO product_slots VALUES(117,421); +INSERT INTO product_slots VALUES(117,422); +INSERT INTO product_slots VALUES(117,423); +INSERT INTO product_slots VALUES(117,424); +INSERT INTO product_slots VALUES(117,425); +INSERT INTO product_slots VALUES(117,426); +INSERT INTO product_slots VALUES(117,428); +INSERT INTO product_slots VALUES(117,429); +INSERT INTO product_slots VALUES(117,430); +INSERT INTO product_slots VALUES(117,431); +INSERT INTO product_slots VALUES(117,432); +INSERT INTO product_slots VALUES(117,433); +INSERT INTO product_slots VALUES(117,436); +INSERT INTO product_slots VALUES(117,437); +INSERT INTO product_slots VALUES(117,438); +INSERT INTO product_slots VALUES(117,439); +INSERT INTO product_slots VALUES(117,440); +INSERT INTO product_slots VALUES(117,441); +INSERT INTO product_slots VALUES(117,444); +INSERT INTO product_slots VALUES(117,445); +INSERT INTO product_slots VALUES(117,446); +INSERT INTO product_slots VALUES(117,447); +INSERT INTO product_slots VALUES(117,448); +INSERT INTO product_slots VALUES(117,449); +INSERT INTO product_slots VALUES(117,452); +INSERT INTO product_slots VALUES(117,453); +INSERT INTO product_slots VALUES(117,454); +INSERT INTO product_slots VALUES(117,455); +INSERT INTO product_slots VALUES(117,456); +INSERT INTO product_slots VALUES(117,457); +INSERT INTO product_slots VALUES(117,460); +INSERT INTO product_slots VALUES(117,461); +INSERT INTO product_slots VALUES(117,462); +INSERT INTO product_slots VALUES(117,463); +INSERT INTO product_slots VALUES(117,464); +INSERT INTO product_slots VALUES(117,465); +INSERT INTO product_slots VALUES(117,466); +INSERT INTO product_slots VALUES(117,467); +INSERT INTO product_slots VALUES(117,468); +INSERT INTO product_slots VALUES(117,469); +INSERT INTO product_slots VALUES(117,470); +INSERT INTO product_slots VALUES(117,471); CREATE TABLE IF NOT EXISTS "product_tag_info" ("id" INTEGER PRIMARY KEY, "tag_name" TEXT NOT NULL, "tag_description" TEXT, "image_url" TEXT, "is_dashboard_tag" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "related_stores" TEXT); INSERT INTO product_tag_info VALUES(1,'Chicken','Chicken related items','tags/1770321659633-1763869265110-e22b6d94-dac9-499f-babb-1e944d90b01a.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260205%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260205T195535Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3D917db15bcc60cab7ac5cd5e49d85d13a960fe77b4a5e327dd449048870494cf9%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject',1,'2025-11-22T02:00:14.678Z','[1]'); INSERT INTO product_tag_info VALUES(2,'Meat','Meat Products','tags/1763835253683-c9c3e293-0bef-4c58-a976-dd49c050cd36.jpeg',1,'2025-11-22T12:44:15.930Z',NULL); @@ -21198,7 +44211,7 @@ INSERT INTO product_tag_info VALUES(3,'Fruits','Delicious fresh fruits','tags/17 INSERT INTO product_tag_info VALUES(4,'Fish','Types ','tags/1770323410499-1763869436182-bf82f7b4-a1f3-4113-985b-96311b7a910e.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260205%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260205T202804Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3Dea436390b277935d843cae6b5cfa62aeed5799cb4a962ab31a0be4b132ca4b30%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject',1,'2025-11-22T22:13:03.039Z','[1]'); INSERT INTO product_tag_info VALUES(5,'Vegetables',NULL,'tags/1768709725124-ebf421c5-ad52-49a9-b65c-1de008110b8a.png',1,'2026-01-17T22:45:25.461Z',NULL); INSERT INTO product_tag_info VALUES(6,'Mutton','Mutton Products','tags/1770323560823-fd0ec463-bed0-474e-aa14-dc6480ce36af.jpeg',1,'2026-02-05T15:02:41.070Z','[1]'); -INSERT INTO product_tag_info VALUES(39,'DemoTag','Demo prod tag','product-images/1774116266063.jpg',0,'2026-03-21T12:20:34.282Z','[2,1]'); +INSERT INTO product_tag_info VALUES(7,'Fruits juices',NULL,'tags/1773132996598-1773119837289-8c93f343-2885-415e-b545-dcaa1dc88857.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260310%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260310T051718Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3D22358087a6f102caf7eb7a4b3cfd455df9aca13685fff8bb751d3c3d813b9d72%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject',1,'2026-03-09T23:47:18.363Z','[8]'); CREATE TABLE IF NOT EXISTS "product_tags" ("id" INTEGER PRIMARY KEY, "product_id" INTEGER NOT NULL, "tag_id" INTEGER NOT NULL, "assigned_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); INSERT INTO product_tags VALUES(114,2,1,'2026-01-15T06:49:23.323Z'); INSERT INTO product_tags VALUES(115,2,2,'2026-01-15T06:49:23.323Z'); @@ -21228,13 +44241,10 @@ INSERT INTO product_tags VALUES(243,82,4,'2026-01-25T12:49:15.711Z'); INSERT INTO product_tags VALUES(244,81,2,'2026-01-25T12:55:33.320Z'); INSERT INTO product_tags VALUES(245,81,4,'2026-01-25T12:55:33.320Z'); INSERT INTO product_tags VALUES(246,83,4,'2026-01-25T12:56:28.787Z'); -INSERT INTO product_tags VALUES(251,64,5,'2026-01-25T22:42:34.137Z'); INSERT INTO product_tags VALUES(253,33,5,'2026-01-25T22:44:37.101Z'); INSERT INTO product_tags VALUES(254,16,5,'2026-01-25T22:45:58.208Z'); INSERT INTO product_tags VALUES(263,53,3,'2026-01-25T22:53:41.199Z'); INSERT INTO product_tags VALUES(274,1,1,'2026-01-25T23:19:00.304Z'); -INSERT INTO product_tags VALUES(278,62,3,'2026-01-27T11:51:39.242Z'); -INSERT INTO product_tags VALUES(279,60,3,'2026-01-27T11:52:45.990Z'); INSERT INTO product_tags VALUES(280,61,3,'2026-01-27T11:57:45.345Z'); INSERT INTO product_tags VALUES(282,44,3,'2026-01-27T11:59:15.067Z'); INSERT INTO product_tags VALUES(283,13,3,'2026-01-27T20:24:25.976Z'); @@ -21258,6 +44268,7 @@ INSERT INTO product_tags VALUES(313,31,5,'2026-01-27T23:03:13.073Z'); INSERT INTO product_tags VALUES(314,77,5,'2026-01-28T02:36:29.616Z'); INSERT INTO product_tags VALUES(315,47,3,'2026-01-28T02:37:53.143Z'); INSERT INTO product_tags VALUES(316,96,3,'2026-01-28T02:40:33.400Z'); +INSERT INTO product_tags VALUES(317,50,3,'2026-01-28T11:06:27.642Z'); INSERT INTO product_tags VALUES(318,59,3,'2026-01-30T01:08:49.461Z'); INSERT INTO product_tags VALUES(319,10,1,'2026-02-01T02:29:06.966Z'); INSERT INTO product_tags VALUES(320,10,2,'2026-02-01T02:29:06.966Z'); @@ -21288,14 +44299,25 @@ INSERT INTO product_tags VALUES(347,85,2,'2026-02-05T21:40:31.451Z'); INSERT INTO product_tags VALUES(348,87,2,'2026-02-05T21:40:40.483Z'); INSERT INTO product_tags VALUES(349,87,6,'2026-02-05T21:40:40.483Z'); INSERT INTO product_tags VALUES(350,67,5,'2026-02-06T03:28:46.803Z'); +INSERT INTO product_tags VALUES(351,23,2,'2026-02-07T23:53:37.209Z'); +INSERT INTO product_tags VALUES(352,23,1,'2026-02-07T23:53:37.209Z'); INSERT INTO product_tags VALUES(353,17,5,'2026-02-20T05:05:15.691Z'); INSERT INTO product_tags VALUES(354,32,5,'2026-02-21T23:13:56.993Z'); INSERT INTO product_tags VALUES(355,37,5,'2026-02-23T03:02:49.047Z'); -INSERT INTO product_tags VALUES(388,23,2,'2026-03-12T09:45:05.232Z'); -INSERT INTO product_tags VALUES(389,23,1,'2026-03-12T09:45:05.232Z'); -INSERT INTO product_tags VALUES(391,50,3,'2026-03-14T05:54:04.645Z'); -INSERT INTO product_tags VALUES(394,140,1,'2026-03-26T06:15:15.135Z'); -INSERT INTO product_tags VALUES(395,140,4,'2026-03-26T06:15:15.135Z'); +INSERT INTO product_tags VALUES(356,64,5,'2026-03-05T10:59:14.753Z'); +INSERT INTO product_tags VALUES(358,62,3,'2026-03-09T05:12:44.705Z'); +INSERT INTO product_tags VALUES(359,106,7,'2026-03-10T03:22:36.396Z'); +INSERT INTO product_tags VALUES(360,109,7,'2026-03-10T03:22:56.082Z'); +INSERT INTO product_tags VALUES(361,105,7,'2026-03-10T03:24:35.916Z'); +INSERT INTO product_tags VALUES(362,107,7,'2026-03-10T03:24:47.170Z'); +INSERT INTO product_tags VALUES(363,108,7,'2026-03-10T03:25:01.828Z'); +INSERT INTO product_tags VALUES(364,110,7,'2026-03-10T03:25:14.643Z'); +INSERT INTO product_tags VALUES(366,104,7,'2026-03-10T03:25:48.514Z'); +INSERT INTO product_tags VALUES(367,116,7,'2026-03-11T04:17:04.665Z'); +INSERT INTO product_tags VALUES(370,111,7,'2026-03-15T03:43:24.859Z'); +INSERT INTO product_tags VALUES(372,113,7,'2026-03-15T03:45:54.741Z'); +INSERT INTO product_tags VALUES(373,117,7,'2026-03-25T03:39:34.233Z'); +INSERT INTO product_tags VALUES(374,60,3,'2026-03-29T03:25:44.493Z'); CREATE TABLE IF NOT EXISTS "refunds" ("id" INTEGER PRIMARY KEY, "order_id" INTEGER NOT NULL, "refund_amount" REAL, "refund_status" TEXT DEFAULT 'none', "merchant_refund_id" TEXT, "refund_processed_at" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); INSERT INTO refunds VALUES(1,14,73.499999999999996447,'success','rfnd_Rithb3BCPvwCVZ','2025-11-22T13:45:42.202Z','2025-11-19T12:47:41.044Z'); INSERT INTO refunds VALUES(2,16,NULL,'none',NULL,NULL,'2025-11-23T06:11:45.422Z'); @@ -21375,8 +44397,36 @@ INSERT INTO refunds VALUES(75,317,NULL,'na',NULL,NULL,'2026-02-21T06:26:57.626Z' INSERT INTO refunds VALUES(76,321,NULL,'na',NULL,NULL,'2026-02-21T22:47:12.386Z'); INSERT INTO refunds VALUES(77,335,NULL,'na',NULL,NULL,'2026-02-23T04:42:18.550Z'); INSERT INTO refunds VALUES(78,20,NULL,'na',NULL,NULL,'2026-02-25T02:13:38.575Z'); +INSERT INTO refunds VALUES(79,355,NULL,'na',NULL,NULL,'2026-02-26T06:15:43.102Z'); +INSERT INTO refunds VALUES(80,377,NULL,'na',NULL,NULL,'2026-03-01T08:07:58.811Z'); +INSERT INTO refunds VALUES(81,393,NULL,'na',NULL,NULL,'2026-03-03T09:43:49.067Z'); +INSERT INTO refunds VALUES(82,392,NULL,'na',NULL,NULL,'2026-03-03T09:44:37.495Z'); +INSERT INTO refunds VALUES(83,63,NULL,'pending',NULL,NULL,'2026-03-03T13:20:31.481Z'); +INSERT INTO refunds VALUES(84,406,NULL,'na',NULL,NULL,'2026-03-04T09:18:10.624Z'); +INSERT INTO refunds VALUES(85,422,NULL,'na',NULL,NULL,'2026-03-06T06:31:51.718Z'); +INSERT INTO refunds VALUES(86,423,NULL,'na',NULL,NULL,'2026-03-06T06:32:27.580Z'); +INSERT INTO refunds VALUES(87,114,NULL,'na',NULL,NULL,'2026-03-06T08:08:07.406Z'); +INSERT INTO refunds VALUES(88,428,NULL,'na',NULL,NULL,'2026-03-07T03:53:45.138Z'); +INSERT INTO refunds VALUES(89,429,NULL,'na',NULL,NULL,'2026-03-07T05:12:02.517Z'); +INSERT INTO refunds VALUES(90,445,NULL,'na',NULL,NULL,'2026-03-09T23:56:08.945Z'); +INSERT INTO refunds VALUES(91,446,NULL,'na',NULL,NULL,'2026-03-09T23:56:18.208Z'); +INSERT INTO refunds VALUES(92,463,NULL,'na',NULL,NULL,'2026-03-11T05:53:06.370Z'); +INSERT INTO refunds VALUES(93,464,NULL,'na',NULL,NULL,'2026-03-11T05:53:42.519Z'); +INSERT INTO refunds VALUES(94,473,NULL,'na',NULL,NULL,'2026-03-12T06:22:47.553Z'); +INSERT INTO refunds VALUES(95,479,NULL,'na',NULL,NULL,'2026-03-13T05:15:56.325Z'); +INSERT INTO refunds VALUES(96,495,NULL,'na',NULL,NULL,'2026-03-14T18:35:18.209Z'); +INSERT INTO refunds VALUES(97,494,NULL,'na',NULL,NULL,'2026-03-14T18:35:34.291Z'); +INSERT INTO refunds VALUES(98,517,NULL,'na',NULL,NULL,'2026-03-18T10:38:18.849Z'); +INSERT INTO refunds VALUES(99,524,NULL,'na',NULL,NULL,'2026-03-18T11:19:02.067Z'); +INSERT INTO refunds VALUES(100,526,NULL,'na',NULL,NULL,'2026-03-18T11:40:33.869Z'); +INSERT INTO refunds VALUES(101,538,NULL,'na',NULL,NULL,'2026-03-19T22:45:24.143Z'); +INSERT INTO refunds VALUES(102,536,NULL,'na',NULL,NULL,'2026-03-19T22:46:20.235Z'); +INSERT INTO refunds VALUES(103,546,NULL,'na',NULL,NULL,'2026-03-20T07:52:54.228Z'); +INSERT INTO refunds VALUES(104,562,NULL,'na',NULL,NULL,'2026-03-24T01:02:12.361Z'); +INSERT INTO refunds VALUES(105,575,NULL,'na',NULL,NULL,'2026-03-25T10:54:27.240Z'); +INSERT INTO refunds VALUES(106,579,NULL,'na',NULL,NULL,'2026-03-26T21:05:54.745Z'); CREATE TABLE IF NOT EXISTS "reserved_coupons" ("id" INTEGER PRIMARY KEY, "secret_code" TEXT NOT NULL, "coupon_code" TEXT NOT NULL, "discount_percent" REAL, "flat_discount" REAL, "min_order" REAL, "product_ids" TEXT, "max_value" REAL, "valid_till" TEXT, "max_limit_for_user" INTEGER, "exclusive_apply" INTEGER NOT NULL DEFAULT false, "is_redeemed" INTEGER NOT NULL DEFAULT false, "redeemed_by" INTEGER, "redeemed_at" TEXT, "created_by" INTEGER NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO reserved_coupons VALUES(1,'RESERVE_TEST34','RESERVE_TEST34',25.0,NULL,1000.0,NULL,250.0,'2026-01-30T07:46:00.000Z',2,0,1,1,'2026-01-12T03:28:20.468Z',1,'2026-01-07T07:46:53.387Z'); +INSERT INTO reserved_coupons VALUES(1,'RESERVE_TEST34','RESERVE_TEST34',25.0,NULL,1000.0,NULL,250.0,'2026-01-30T07:46:00.000Z',2,0,1,1,'2026-01-12T03:28:20.468Z',6,'2026-01-07T07:46:53.387Z'); CREATE TABLE IF NOT EXISTS "special_deals" ("id" INTEGER PRIMARY KEY, "product_id" INTEGER NOT NULL, "quantity" REAL NOT NULL, "price" REAL NOT NULL, "valid_till" TEXT NOT NULL); INSERT INTO special_deals VALUES(12,9,2.0,500.0,'2025-12-08T18:30:00.000Z'); CREATE TABLE IF NOT EXISTS "staff_permissions" ("id" INTEGER PRIMARY KEY, "permission_name" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); @@ -21396,24 +44446,210 @@ INSERT INTO staff_roles VALUES(2,'admin','2026-01-12T13:13:14.208Z'); INSERT INTO staff_roles VALUES(3,'marketer','2026-01-12T13:13:14.318Z'); INSERT INTO staff_roles VALUES(4,'delivery_staff','2026-01-12T13:13:14.427Z'); CREATE TABLE IF NOT EXISTS "staff_users" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "password" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "staff_role_id" INTEGER); -INSERT INTO staff_users VALUES(1,'admin1','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:02.349Z',NULL); -INSERT INTO staff_users VALUES(2,'admin2','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:12.054Z',NULL); -INSERT INTO staff_users VALUES(3,'admin3','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:12.054Z',NULL); +INSERT INTO staff_users VALUES(4,'qusham','$2a$12$XyvBLOt4E1ExWaHj2N2fUOb4h5zOHQn8u2pClHiizloEdGm93i1xa','2026-03-03T13:32:07.705Z',2); +INSERT INTO staff_users VALUES(5,'tanveer','$2b$12$j1FrwfuHB3FBp4HWeLZn6.w02i0MmPQA0cNVG/sGXvg9p4Y9APWVW','2026-03-03T13:34:01.228Z',2); +INSERT INTO staff_users VALUES(6,'shafi','$2b$12$ytHGIuhFJLog2pDbqipxYuBaxdppjedgBNDg73iAU/M7cGjyvCWRq','2026-03-03T13:34:30.894Z',1); CREATE TABLE IF NOT EXISTS "store_info" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "description" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "owner" INTEGER NOT NULL, "image_url" TEXT); -INSERT INTO store_info VALUES(1,'Fresh meat','"Fresh, high-quality meat sourced from trusted suppliers and hygienically processed. Cut fresh, packed safely, and delivered to your doorstep."','2025-11-16T21:59:24.030Z',1,'store-images/1766052073748.png'); -INSERT INTO store_info VALUES(2,'The Fruit Store','"Fresh, juicy fruits handpicked for quality and taste. Naturally ripened, carefully packed, and delivered fresh to your home."','2025-11-18T09:01:21.914Z',1,'store-images/1766053828604.png'); -INSERT INTO store_info VALUES(4,'Vegetables','Fresh, handpicked vegetables delivered straight from trusted farms to your home. Enjoy clean, high-quality sabzi every day-healthy, natural, and full of freshness.','2025-12-18T04:23:40.707Z',1,'store-images/1766051618139.png'); -INSERT INTO store_info VALUES(8,'Demo2','Demo2 ','2026-03-21T09:35:33.855Z',1,'store-images/1774105532235.jpg'); -INSERT INTO store_info VALUES(9,'Test3','Test3','2026-03-21T23:18:44.202Z',1,'store-images/1774524652442.jpg'); +INSERT INTO store_info VALUES(1,'Fresh meat','"Fresh, high-quality meat sourced from trusted suppliers and hygienically processed. Cut fresh, packed safely, and delivered to your doorstep."','2025-11-16T21:59:24.030Z',6,'store-images/1766052073748.png'); +INSERT INTO store_info VALUES(2,'The Fruit Store','"Fresh, juicy fruits handpicked for quality and taste. Naturally ripened, carefully packed, and delivered fresh to your home."','2025-11-18T09:01:21.914Z',6,'store-images/1766053828604.png'); +INSERT INTO store_info VALUES(4,'Vegetables','Fresh, handpicked vegetables delivered straight from trusted farms to your home. Enjoy clean, high-quality sabzi every day-healthy, natural, and full of freshness.','2025-12-18T04:23:40.707Z',6,'store-images/1766051618139.png'); +INSERT INTO store_info VALUES(8,'Fruits Juices ','','2026-03-10T00:09:18.925Z',6,'store-images/1773121148038.png'); CREATE TABLE IF NOT EXISTS "units" ("id" INTEGER PRIMARY KEY, "short_notation" TEXT NOT NULL, "full_name" TEXT NOT NULL); INSERT INTO units VALUES(1,'Kg','Kilogram'); INSERT INTO units VALUES(2,'L','Litre'); INSERT INTO units VALUES(3,'Dz','Dozen'); INSERT INTO units VALUES(4,'Pc','Unit Piece'); CREATE TABLE IF NOT EXISTS "unlogged_user_tokens" ("id" INTEGER PRIMARY KEY, "token" TEXT NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_verified" TEXT); -INSERT INTO unlogged_user_tokens VALUES(2,'ExponentPushToken[5NlYMFDaJDm9RH7N14zUrA]','2026-03-20T02:00:07.752Z','2026-03-20T02:00:07.748Z'); -INSERT INTO unlogged_user_tokens VALUES(3,'ExponentPushToken[QjoZ9xGsqPYMF2CJC_pv7e]','2026-03-20T02:11:22.747Z','2026-03-20T02:11:22.746Z'); -INSERT INTO unlogged_user_tokens VALUES(4,'ExponentPushToken[IAt9_oGP63t5X2AKTm-Z_r]','2026-03-20T03:32:58.675Z','2026-03-21T01:23:00.017Z'); +INSERT INTO unlogged_user_tokens VALUES(2,'ExponentPushToken[hEzMSGAIyiqjPEJfnOnfa-]','2026-02-27T23:03:08.406Z','2026-03-29T07:50:49.177Z'); +INSERT INTO unlogged_user_tokens VALUES(3,'ExponentPushToken[nHIfqSKSoMJbCGdNKHHUp-]','2026-02-28T00:01:52.973Z','2026-02-28T00:01:52.972Z'); +INSERT INTO unlogged_user_tokens VALUES(4,'ExponentPushToken[PfjMc_CTRvSvOWtSNmaHhL]','2026-02-28T00:54:45.100Z','2026-03-29T01:26:14.528Z'); +INSERT INTO unlogged_user_tokens VALUES(5,'ExponentPushToken[nj-nwxJvqhNmQrB7R7Uh13]','2026-02-28T01:01:13.618Z','2026-02-28T01:01:14.227Z'); +INSERT INTO unlogged_user_tokens VALUES(6,'ExponentPushToken[I2FdQXJ9tlOobFA3IvFuOe]','2026-02-28T01:25:23.991Z','2026-02-28T12:17:53.882Z'); +INSERT INTO unlogged_user_tokens VALUES(7,'ExponentPushToken[w4KTsLKnnp8SbURdl5-Q6x]','2026-02-28T02:03:51.081Z','2026-03-12T01:27:14.649Z'); +INSERT INTO unlogged_user_tokens VALUES(8,'ExponentPushToken[SAGCkxGY_MgxHHjF7hvHoN]','2026-02-28T03:24:18.562Z','2026-03-02T05:43:56.028Z'); +INSERT INTO unlogged_user_tokens VALUES(11,'ExponentPushToken[WxQDABD09Hd7JBURDocB67]','2026-02-28T08:58:12.191Z','2026-02-28T08:58:12.189Z'); +INSERT INTO unlogged_user_tokens VALUES(12,'ExponentPushToken[zYgK-MH04fcd_LxurPQHqC]','2026-02-28T14:01:40.019Z','2026-03-19T06:11:01.320Z'); +INSERT INTO unlogged_user_tokens VALUES(14,'ExponentPushToken[m15EJdBiH3Mu3q804PAQGM]','2026-02-28T21:23:10.747Z','2026-02-28T21:23:10.747Z'); +INSERT INTO unlogged_user_tokens VALUES(17,'ExponentPushToken[0FT5TgLy_2RpqFqnht4UPX]','2026-03-01T02:03:58.775Z','2026-03-01T04:49:14.992Z'); +INSERT INTO unlogged_user_tokens VALUES(24,'ExponentPushToken[0Y8i7DCsANwCprqFIbKKok]','2026-03-01T05:28:09.724Z','2026-03-09T06:33:35.445Z'); +INSERT INTO unlogged_user_tokens VALUES(25,'ExponentPushToken[93xXOnBXeo1yCsGVgEPz0y]','2026-03-01T06:44:34.962Z','2026-03-03T08:10:06.072Z'); +INSERT INTO unlogged_user_tokens VALUES(26,'ExponentPushToken[_BQBDeJHWqh3vF2f80mTKc]','2026-03-01T07:45:23.807Z','2026-03-01T07:45:23.807Z'); +INSERT INTO unlogged_user_tokens VALUES(28,'ExponentPushToken[zOk8M4FBYHztnQIxr7ZhzY]','2026-03-01T09:18:52.225Z','2026-03-01T09:18:52.224Z'); +INSERT INTO unlogged_user_tokens VALUES(29,'ExponentPushToken[d1z4OtJHu5X4bRiUWnkAXu]','2026-03-01T10:13:29.394Z','2026-03-15T04:09:43.096Z'); +INSERT INTO unlogged_user_tokens VALUES(31,'ExponentPushToken[8wH85rFtQRMk7ciFszmirX]','2026-03-01T11:58:31.631Z','2026-03-18T03:05:16.897Z'); +INSERT INTO unlogged_user_tokens VALUES(32,'ExponentPushToken[qMp5UNPsBlef-JUl8U-nEJ]','2026-03-01T12:31:50.207Z','2026-03-01T12:31:50.206Z'); +INSERT INTO unlogged_user_tokens VALUES(34,'ExponentPushToken[4MaEIUHLXJTeIUk5Tw2Bre]','2026-03-02T03:14:05.859Z','2026-03-20T07:02:16.595Z'); +INSERT INTO unlogged_user_tokens VALUES(35,'ExponentPushToken[8DeRubBDyrcnTSLEd0eYje]','2026-03-02T03:38:03.233Z','2026-03-02T04:01:54.348Z'); +INSERT INTO unlogged_user_tokens VALUES(39,'ExponentPushToken[wPGC9fFC1gRkq6cf48P7og]','2026-03-02T04:44:45.075Z','2026-03-02T12:21:57.425Z'); +INSERT INTO unlogged_user_tokens VALUES(40,'ExponentPushToken[xB86afG58ouDBzvKfwviFZ]','2026-03-02T05:18:44.337Z','2026-03-09T05:22:40.583Z'); +INSERT INTO unlogged_user_tokens VALUES(43,'ExponentPushToken[gd9P-IJzX8mPS8WIQ4L_aO]','2026-03-02T05:31:13.190Z','2026-03-25T09:58:17.765Z'); +INSERT INTO unlogged_user_tokens VALUES(44,'ExponentPushToken[O8hwqtKbEc8aWG_xDyiTng]','2026-03-02T08:04:30.912Z','2026-03-02T08:04:33.641Z'); +INSERT INTO unlogged_user_tokens VALUES(45,'ExponentPushToken[-TUWjBP0Km6ODXM1kfP6a_]','2026-03-02T08:10:46.807Z','2026-03-03T04:06:26.731Z'); +INSERT INTO unlogged_user_tokens VALUES(46,'ExponentPushToken[SiFDTqAbkzt6Gqhy7CDvup]','2026-03-02T10:08:03.863Z','2026-03-04T23:17:34.499Z'); +INSERT INTO unlogged_user_tokens VALUES(48,'ExponentPushToken[lla_JUAJQ1nUQrft1BAasi]','2026-03-02T11:39:04.009Z','2026-03-06T08:56:09.890Z'); +INSERT INTO unlogged_user_tokens VALUES(49,'ExponentPushToken[RZKHsOC-WpryYm3Q50I86K]','2026-03-02T12:32:53.628Z','2026-03-10T07:07:30.135Z'); +INSERT INTO unlogged_user_tokens VALUES(50,'ExponentPushToken[6ntq9XMPTbXobzH3dksQ7H]','2026-03-02T14:16:18.992Z','2026-03-16T13:19:54.265Z'); +INSERT INTO unlogged_user_tokens VALUES(51,'ExponentPushToken[7mwTBgFGWCsZ5bQW2Xn-8j]','2026-03-02T18:18:35.524Z','2026-03-02T18:18:35.523Z'); +INSERT INTO unlogged_user_tokens VALUES(56,'ExponentPushToken[ROzLrXEV42b3SoLOlH1pTa]','2026-03-03T02:03:25.138Z','2026-03-03T02:03:25.137Z'); +INSERT INTO unlogged_user_tokens VALUES(58,'ExponentPushToken[VBwbhYESzYkrYBaJNOr_Cd]','2026-03-03T05:50:14.738Z','2026-03-07T13:10:42.557Z'); +INSERT INTO unlogged_user_tokens VALUES(61,'ExponentPushToken[Y1nFTyC4zbqVCw38UPwEh1]','2026-03-03T07:21:29.142Z','2026-03-26T09:51:56.434Z'); +INSERT INTO unlogged_user_tokens VALUES(62,'ExponentPushToken[4b1st_B8EokXfQ_PB0qEvC]','2026-03-03T08:10:02.569Z','2026-03-28T20:26:30.114Z'); +INSERT INTO unlogged_user_tokens VALUES(63,'ExponentPushToken[i2QRAQH9EHhXTQm97-UfXf]','2026-03-03T08:35:55.847Z','2026-03-05T05:13:01.669Z'); +INSERT INTO unlogged_user_tokens VALUES(67,'ExponentPushToken[6l-WlJL-dUG2BixclCkzSa]','2026-03-03T10:39:58.312Z','2026-03-04T00:46:47.128Z'); +INSERT INTO unlogged_user_tokens VALUES(68,'ExponentPushToken[OYJNU2Hl_BHC8vNmnh5nIa]','2026-03-03T11:54:48.356Z','2026-03-03T11:54:57.985Z'); +INSERT INTO unlogged_user_tokens VALUES(70,'ExponentPushToken[tioFveItRlA7fTirESkDg6]','2026-03-03T19:57:00.128Z','2026-03-06T03:15:38.391Z'); +INSERT INTO unlogged_user_tokens VALUES(72,'ExponentPushToken[T7gjPaDVOJQtJ5anemtNYZ]','2026-03-03T21:52:38.529Z','2026-03-26T12:59:42.225Z'); +INSERT INTO unlogged_user_tokens VALUES(76,'ExponentPushToken[xQd0ENCrZszcQb7A8eRt_0]','2026-03-04T05:49:57.670Z','2026-03-04T05:49:57.669Z'); +INSERT INTO unlogged_user_tokens VALUES(78,'ExponentPushToken[700fYUMqIA-ft5HcmU1tmR]','2026-03-04T06:59:09.778Z','2026-03-04T06:59:09.777Z'); +INSERT INTO unlogged_user_tokens VALUES(82,'ExponentPushToken[QEEy_7NgrEVQomidUjxj6i]','2026-03-04T09:06:29.020Z','2026-03-09T23:36:10.474Z'); +INSERT INTO unlogged_user_tokens VALUES(83,'ExponentPushToken[etZLxjKMfUFwzX3npBfViW]','2026-03-04T11:21:45.995Z','2026-03-04T11:21:45.992Z'); +INSERT INTO unlogged_user_tokens VALUES(84,'ExponentPushToken[yoRlFwEZScYynd7F-b0EbZ]','2026-03-04T23:34:39.681Z','2026-03-04T23:34:39.915Z'); +INSERT INTO unlogged_user_tokens VALUES(85,'ExponentPushToken[9N7JjJEvczwRyCXZ-IZN9D]','2026-03-05T00:40:18.982Z','2026-03-28T22:42:54.840Z'); +INSERT INTO unlogged_user_tokens VALUES(86,'ExponentPushToken[Z07jHhEkYiW820OA8-mYma]','2026-03-05T02:17:27.086Z','2026-03-05T02:17:27.085Z'); +INSERT INTO unlogged_user_tokens VALUES(87,'ExponentPushToken[sZLRi0HhJ24qSCVfOlOczz]','2026-03-05T02:53:19.282Z','2026-03-05T02:53:19.282Z'); +INSERT INTO unlogged_user_tokens VALUES(88,'ExponentPushToken[ZWECCNA-Md5e9NGUWsHsWj]','2026-03-05T04:36:01.771Z','2026-03-05T04:36:01.770Z'); +INSERT INTO unlogged_user_tokens VALUES(89,'ExponentPushToken[1NpIs7E8yNJwZot2vsITWr]','2026-03-05T06:35:50.017Z','2026-03-23T05:08:46.904Z'); +INSERT INTO unlogged_user_tokens VALUES(90,'ExponentPushToken[3BeFj7HTVYBC7vJ05G34U8]','2026-03-05T06:39:08.950Z','2026-03-05T06:39:08.949Z'); +INSERT INTO unlogged_user_tokens VALUES(93,'ExponentPushToken[wr63ssGXeUD3bywmKy7suV]','2026-03-06T02:42:13.661Z','2026-03-06T02:42:13.660Z'); +INSERT INTO unlogged_user_tokens VALUES(95,'ExponentPushToken[He3raPFWP_1W-lDEY2y35-]','2026-03-06T04:42:44.538Z','2026-03-06T04:42:44.535Z'); +INSERT INTO unlogged_user_tokens VALUES(97,'ExponentPushToken[xf8T7gM8SfVf83ey4ymny_]','2026-03-06T04:47:37.964Z','2026-03-08T03:26:53.380Z'); +INSERT INTO unlogged_user_tokens VALUES(98,'ExponentPushToken[VpLyyYJu7O8Oqvp0UW6_z_]','2026-03-06T05:27:59.588Z','2026-03-13T05:45:47.655Z'); +INSERT INTO unlogged_user_tokens VALUES(103,'ExponentPushToken[1yIN7fHKYR3oIZMHfo8sPb]','2026-03-06T07:15:42.868Z','2026-03-11T00:11:22.469Z'); +INSERT INTO unlogged_user_tokens VALUES(104,'ExponentPushToken[qFtLZVFHGA-08finEVoLvk]','2026-03-06T08:57:40.920Z','2026-03-12T10:07:24.235Z'); +INSERT INTO unlogged_user_tokens VALUES(105,'ExponentPushToken[4tSR-RJO_1-ENjWrkHRyg9]','2026-03-06T08:58:14.266Z','2026-03-06T09:01:41.374Z'); +INSERT INTO unlogged_user_tokens VALUES(106,'ExponentPushToken[JR8jlxCcjA6zSt1sIsEaFs]','2026-03-06T22:07:03.541Z','2026-03-06T22:07:08.443Z'); +INSERT INTO unlogged_user_tokens VALUES(107,'ExponentPushToken[Tlj0Y5ENGMH1gqQMOE4Vet]','2026-03-06T23:32:25.908Z','2026-03-16T01:54:18.179Z'); +INSERT INTO unlogged_user_tokens VALUES(108,'ExponentPushToken[xpA3OSLWnk2-oUz2J_jq9V]','2026-03-07T00:22:14.160Z','2026-03-07T00:22:14.449Z'); +INSERT INTO unlogged_user_tokens VALUES(110,'ExponentPushToken[QYu6kOP5XdkvJoa8BrF94D]','2026-03-07T04:31:28.599Z','2026-03-07T04:31:28.754Z'); +INSERT INTO unlogged_user_tokens VALUES(112,'ExponentPushToken[dHhDJRNQ1OpnvSAH9GwE3Z]','2026-03-07T06:02:04.172Z','2026-03-07T06:02:04.172Z'); +INSERT INTO unlogged_user_tokens VALUES(113,'ExponentPushToken[8xddUFNUdj4vLuVSRycrnc]','2026-03-07T08:11:08.110Z','2026-03-07T08:11:08.109Z'); +INSERT INTO unlogged_user_tokens VALUES(114,'ExponentPushToken[V_V5WlEUqY-2t5ZSVahgOF]','2026-03-07T10:15:48.096Z','2026-03-07T10:15:48.095Z'); +INSERT INTO unlogged_user_tokens VALUES(115,'ExponentPushToken[Rg2dpUPix1tXepoPHHfTJi]','2026-03-07T11:16:25.430Z','2026-03-23T07:03:22.589Z'); +INSERT INTO unlogged_user_tokens VALUES(116,'ExponentPushToken[VrIKtOPfAyWbZt8wWVlAnx]','2026-03-07T21:30:22.856Z','2026-03-07T21:30:22.855Z'); +INSERT INTO unlogged_user_tokens VALUES(120,'ExponentPushToken[czKf3iGGvmrzCcKRGNZebP]','2026-03-08T04:43:49.550Z','2026-03-08T04:43:49.549Z'); +INSERT INTO unlogged_user_tokens VALUES(121,'ExponentPushToken[cImZegKkAssweg-AJzvIS0]','2026-03-08T04:44:48.994Z','2026-03-21T01:45:31.825Z'); +INSERT INTO unlogged_user_tokens VALUES(125,'ExponentPushToken[R1UpfiI2Ivu-9zKMHX5Vzf]','2026-03-08T07:10:52.801Z','2026-03-08T07:10:52.800Z'); +INSERT INTO unlogged_user_tokens VALUES(126,'ExponentPushToken[pN8hnaNaN4bJUYBzsEZQNv]','2026-03-08T09:17:27.851Z','2026-03-08T09:41:46.731Z'); +INSERT INTO unlogged_user_tokens VALUES(128,'ExponentPushToken[0NawhQNJmAcFKSwE_GAMdN]','2026-03-08T10:28:54.860Z','2026-03-08T10:32:38.964Z'); +INSERT INTO unlogged_user_tokens VALUES(129,'ExponentPushToken[t8F8tsG6pqcS2MTKFGyZPk]','2026-03-08T11:35:38.469Z','2026-03-09T12:38:15.489Z'); +INSERT INTO unlogged_user_tokens VALUES(130,'ExponentPushToken[6HM_1PCt06A-ufss7pbXuy]','2026-03-08T12:26:40.652Z','2026-03-08T12:26:40.652Z'); +INSERT INTO unlogged_user_tokens VALUES(131,'ExponentPushToken[W2Mx-iIURrzv1C0HrqHz_t]','2026-03-08T12:39:23.873Z','2026-03-23T23:47:49.538Z'); +INSERT INTO unlogged_user_tokens VALUES(133,'ExponentPushToken[O97M2AI7zuVbU5f4uM4VQt]','2026-03-09T01:52:32.375Z','2026-03-29T08:16:50.386Z'); +INSERT INTO unlogged_user_tokens VALUES(134,'ExponentPushToken[tgDCJ1Ht7X4xhJgvosny0I]','2026-03-09T04:18:00.606Z','2026-03-28T04:55:22.925Z'); +INSERT INTO unlogged_user_tokens VALUES(136,'ExponentPushToken[cxuwhUL6r5ICp5JvkIlu4A]','2026-03-09T07:34:05.672Z','2026-03-22T12:25:33.981Z'); +INSERT INTO unlogged_user_tokens VALUES(137,'ExponentPushToken[JzHKz5LyUywr__4i3dgUXc]','2026-03-09T08:29:23.596Z','2026-03-09T08:29:23.595Z'); +INSERT INTO unlogged_user_tokens VALUES(138,'ExponentPushToken[CMJ8PTAFrr9KnQvx_q1Bpc]','2026-03-09T08:50:23.215Z','2026-03-23T08:24:06.941Z'); +INSERT INTO unlogged_user_tokens VALUES(139,'ExponentPushToken[pdxlA_MEl9hLus2tHSC4Jn]','2026-03-09T18:40:45.595Z','2026-03-09T18:40:45.593Z'); +INSERT INTO unlogged_user_tokens VALUES(140,'ExponentPushToken[_w34c8IpadSoTyzQIgfiRf]','2026-03-09T19:23:33.333Z','2026-03-22T01:24:28.266Z'); +INSERT INTO unlogged_user_tokens VALUES(141,'ExponentPushToken[vdwkdFJ-nqEqo5o_4fw5bJ]','2026-03-09T22:27:44.843Z','2026-03-09T22:27:44.842Z'); +INSERT INTO unlogged_user_tokens VALUES(142,'ExponentPushToken[ma0KzwEhGfOJtesBDQKL_6]','2026-03-09T22:46:28.946Z','2026-03-09T22:46:28.945Z'); +INSERT INTO unlogged_user_tokens VALUES(143,'ExponentPushToken[5BCaCpN6CTd_GwUutxMw1n]','2026-03-09T23:11:01.591Z','2026-03-28T11:53:54.456Z'); +INSERT INTO unlogged_user_tokens VALUES(144,'ExponentPushToken[hxXb1kF2L1eXE2XZXpvnG0]','2026-03-10T00:37:10.466Z','2026-03-18T09:40:37.131Z'); +INSERT INTO unlogged_user_tokens VALUES(145,'ExponentPushToken[maIvRtPY6x8uRtvsdsN8CV]','2026-03-10T01:06:30.193Z','2026-03-10T01:06:30.192Z'); +INSERT INTO unlogged_user_tokens VALUES(146,'ExponentPushToken[Tsdy4SCnFIXCEU3c2rWW2f]','2026-03-10T02:13:14.204Z','2026-03-27T08:03:35.157Z'); +INSERT INTO unlogged_user_tokens VALUES(151,'ExponentPushToken[5fl8EGMEPUYxxt21QlCman]','2026-03-10T07:15:46.540Z','2026-03-10T07:15:46.539Z'); +INSERT INTO unlogged_user_tokens VALUES(152,'ExponentPushToken[1Mq1TLEfmyCHBvCoTdYzlA]','2026-03-10T08:24:42.294Z','2026-03-10T08:24:42.315Z'); +INSERT INTO unlogged_user_tokens VALUES(154,'ExponentPushToken[hMRx7GDKVmeui-kKQLXwM-]','2026-03-10T08:48:02.422Z','2026-03-10T08:48:06.022Z'); +INSERT INTO unlogged_user_tokens VALUES(155,'ExponentPushToken[CvSnNAF6ZN9qCVAsEH21kv]','2026-03-10T10:47:42.557Z','2026-03-16T00:23:58.434Z'); +INSERT INTO unlogged_user_tokens VALUES(158,'ExponentPushToken[PwdA7uENlBKK9zfX0IUQHX]','2026-03-10T22:58:58.766Z','2026-03-23T03:12:55.016Z'); +INSERT INTO unlogged_user_tokens VALUES(159,'ExponentPushToken[bSn2s-AWE2bPZFmNbR3wBr]','2026-03-10T23:39:04.122Z','2026-03-18T04:08:17.217Z'); +INSERT INTO unlogged_user_tokens VALUES(160,'ExponentPushToken[bFbyNWEBaEZcQvw6B8AfpZ]','2026-03-10T23:53:08.515Z','2026-03-10T23:53:08.514Z'); +INSERT INTO unlogged_user_tokens VALUES(162,'ExponentPushToken[qvh_3nP9G4GL0AEDqg7SGg]','2026-03-11T05:10:48.147Z','2026-03-22T22:14:38.709Z'); +INSERT INTO unlogged_user_tokens VALUES(164,'ExponentPushToken[Z9CZXEK7YJHkZexvhbYVdk]','2026-03-11T05:55:24.537Z','2026-03-25T08:08:55.384Z'); +INSERT INTO unlogged_user_tokens VALUES(166,'ExponentPushToken[Wvc-xZKA5atNZTuIldtSIw]','2026-03-11T08:33:29.293Z','2026-03-27T08:24:41.234Z'); +INSERT INTO unlogged_user_tokens VALUES(167,'ExponentPushToken[_KlKvdPBjid4uWtGl9oj1w]','2026-03-11T13:22:16.768Z','2026-03-11T13:22:17.489Z'); +INSERT INTO unlogged_user_tokens VALUES(168,'ExponentPushToken[JhJg9hBJOxTyBQYg326O12]','2026-03-11T17:47:59.385Z','2026-03-11T17:57:29.115Z'); +INSERT INTO unlogged_user_tokens VALUES(170,'ExponentPushToken[79gLfqCtSpQQ_5rE6h2O_E]','2026-03-11T21:12:24.612Z','2026-03-21T13:16:50.553Z'); +INSERT INTO unlogged_user_tokens VALUES(172,'ExponentPushToken[e14UpnPq6E71oA-ogt-_6g]','2026-03-12T03:48:12.383Z','2026-03-12T03:48:12.382Z'); +INSERT INTO unlogged_user_tokens VALUES(175,'ExponentPushToken[np4-poNDfclAKieJR9FAkg]','2026-03-12T08:07:49.308Z','2026-03-12T08:07:49.307Z'); +INSERT INTO unlogged_user_tokens VALUES(176,'ExponentPushToken[zMq5PxFtNor-KVvYtOHagS]','2026-03-12T09:20:47.991Z','2026-03-17T01:31:35.920Z'); +INSERT INTO unlogged_user_tokens VALUES(179,'ExponentPushToken[osAmYEJj1PEkUgy_3FqyIj]','2026-03-12T11:46:23.141Z','2026-03-17T11:38:47.480Z'); +INSERT INTO unlogged_user_tokens VALUES(180,'ExponentPushToken[HwfAPQPrcHLaDQ9mjOypQD]','2026-03-13T00:26:16.516Z','2026-03-13T00:26:16.515Z'); +INSERT INTO unlogged_user_tokens VALUES(182,'ExponentPushToken[2C_eiLEPYMx4mMPl-Um-wK]','2026-03-13T03:13:07.773Z','2026-03-26T05:40:30.850Z'); +INSERT INTO unlogged_user_tokens VALUES(183,'ExponentPushToken[16QvhjCjmACjUd1D3D8e8N]','2026-03-13T04:41:45.005Z','2026-03-28T06:26:13.274Z'); +INSERT INTO unlogged_user_tokens VALUES(186,'ExponentPushToken[6GIZ9PGsRkWk9Vd4XtVoP0]','2026-03-13T05:23:34.459Z','2026-03-13T05:23:34.458Z'); +INSERT INTO unlogged_user_tokens VALUES(187,'ExponentPushToken[3encs1PHXxEqLkOIEvgcsN]','2026-03-13T11:16:36.351Z','2026-03-13T11:16:36.350Z'); +INSERT INTO unlogged_user_tokens VALUES(194,'ExponentPushToken[oOb0LNMk5l2FwS_gVAoyM1]','2026-03-14T00:18:53.735Z','2026-03-14T00:18:53.668Z'); +INSERT INTO unlogged_user_tokens VALUES(197,'ExponentPushToken[Q1euLnLZLIFhaLyOvb8EY-]','2026-03-14T07:32:10.475Z','2026-03-15T07:58:51.082Z'); +INSERT INTO unlogged_user_tokens VALUES(200,'ExponentPushToken[Gzd1aWPU7x-2s4MHC66HgW]','2026-03-14T11:04:18.453Z','2026-03-24T03:39:58.151Z'); +INSERT INTO unlogged_user_tokens VALUES(201,'ExponentPushToken[Ml1BkiLAhCBY8o-AfdMc96]','2026-03-14T12:20:36.183Z','2026-03-14T12:20:36.183Z'); +INSERT INTO unlogged_user_tokens VALUES(203,'ExponentPushToken[rkb-rXNlOT9VCpIOs6xisd]','2026-03-15T01:19:51.556Z','2026-03-15T01:19:51.555Z'); +INSERT INTO unlogged_user_tokens VALUES(206,'ExponentPushToken[ZrxYnmAwRHN0o0h-MU0v8k]','2026-03-15T03:40:56.981Z','2026-03-22T08:39:49.183Z'); +INSERT INTO unlogged_user_tokens VALUES(210,'ExponentPushToken[yDmjyiAYY8NzRzqHT90gqa]','2026-03-15T04:35:47.794Z','2026-03-15T04:35:47.793Z'); +INSERT INTO unlogged_user_tokens VALUES(211,'ExponentPushToken[f-uyDJFzRzFhnCiUBLIbs9]','2026-03-15T05:07:45.169Z','2026-03-15T05:07:45.805Z'); +INSERT INTO unlogged_user_tokens VALUES(213,'ExponentPushToken[QZ1USBN7ZtiFF97xMgsGBe]','2026-03-15T05:46:53.187Z','2026-03-17T22:11:43.884Z'); +INSERT INTO unlogged_user_tokens VALUES(214,'ExponentPushToken[yjbwNxNUlwI3Gg2xmg_zEL]','2026-03-15T05:53:21.691Z','2026-03-15T05:53:21.690Z'); +INSERT INTO unlogged_user_tokens VALUES(215,'ExponentPushToken[lpopfoPQGyonrixbiBIDv-]','2026-03-15T06:20:01.533Z','2026-03-15T06:20:01.532Z'); +INSERT INTO unlogged_user_tokens VALUES(216,'ExponentPushToken[O3QkJvF44Vr0dkEm6Fynu5]','2026-03-15T16:40:55.021Z','2026-03-15T16:40:55.021Z'); +INSERT INTO unlogged_user_tokens VALUES(218,'ExponentPushToken[76eO52AQkWzp87W-D4s9QT]','2026-03-16T02:44:11.973Z','2026-03-16T02:44:11.972Z'); +INSERT INTO unlogged_user_tokens VALUES(219,'ExponentPushToken[1msqBjJghAi4y8iYwJU-mS]','2026-03-16T05:29:29.238Z','2026-03-16T05:30:39.214Z'); +INSERT INTO unlogged_user_tokens VALUES(220,'ExponentPushToken[zMvQHfK5vgD_EUlTqwaQr2]','2026-03-16T15:27:00.714Z','2026-03-17T09:43:55.451Z'); +INSERT INTO unlogged_user_tokens VALUES(221,'ExponentPushToken[ZncV-BBCU1_kzDSdnVYU65]','2026-03-16T17:59:40.422Z','2026-03-16T18:01:28.126Z'); +INSERT INTO unlogged_user_tokens VALUES(224,'ExponentPushToken[Etc29CFHmIba8oaoBbovQM]','2026-03-17T03:55:12.913Z','2026-03-18T12:44:58.184Z'); +INSERT INTO unlogged_user_tokens VALUES(225,'ExponentPushToken[oG22hfPOST1qu4ES6x6ouL]','2026-03-17T04:00:13.213Z','2026-03-17T04:06:01.655Z'); +INSERT INTO unlogged_user_tokens VALUES(226,'ExponentPushToken[eC-7SvPGfJO7_ICg760wL7]','2026-03-17T04:55:41.790Z','2026-03-17T11:02:05.593Z'); +INSERT INTO unlogged_user_tokens VALUES(227,'ExponentPushToken[kQZiLsJZ94vfrKOjASQWqr]','2026-03-17T20:53:21.087Z','2026-03-17T20:53:21.086Z'); +INSERT INTO unlogged_user_tokens VALUES(229,'ExponentPushToken[LwdEqdM2dH5SNeqGaQ8gyb]','2026-03-18T03:46:51.339Z','2026-03-21T03:58:33.546Z'); +INSERT INTO unlogged_user_tokens VALUES(233,'ExponentPushToken[vCpp_1NznEZoxBBwFxigBg]','2026-03-18T09:41:58.824Z','2026-03-18T09:41:58.823Z'); +INSERT INTO unlogged_user_tokens VALUES(234,'ExponentPushToken[iv6POIJTUIiGpkElL84fG7]','2026-03-18T10:32:03.711Z','2026-03-18T10:32:05.416Z'); +INSERT INTO unlogged_user_tokens VALUES(235,'ExponentPushToken[Dw8I87PmAS7B6Ii-O7RPJz]','2026-03-18T14:11:57.033Z','2026-03-18T14:11:57.032Z'); +INSERT INTO unlogged_user_tokens VALUES(236,'ExponentPushToken[wIhrdlAmwj0Eytvz3W3TTZ]','2026-03-19T01:34:44.385Z','2026-03-20T00:10:19.388Z'); +INSERT INTO unlogged_user_tokens VALUES(238,'ExponentPushToken[1BrdooOKzJj_P5fDkR3VWJ]','2026-03-19T03:16:59.133Z','2026-03-19T03:16:59.133Z'); +INSERT INTO unlogged_user_tokens VALUES(244,'ExponentPushToken[WORvuBGsrGkycIh0srSunX]','2026-03-19T05:25:26.081Z','2026-03-19T05:25:26.081Z'); +INSERT INTO unlogged_user_tokens VALUES(246,'ExponentPushToken[BAMOz8A3uZ98l8lIIF5cvC]','2026-03-19T07:39:24.191Z','2026-03-19T07:39:28.418Z'); +INSERT INTO unlogged_user_tokens VALUES(247,'ExponentPushToken[xrdiTHAyODb8MC2Ods51zE]','2026-03-19T11:17:26.434Z','2026-03-28T08:08:12.917Z'); +INSERT INTO unlogged_user_tokens VALUES(248,'ExponentPushToken[lamco5Ln1AKHaivtIbDVKu]','2026-03-19T12:55:07.493Z','2026-03-22T06:17:09.603Z'); +INSERT INTO unlogged_user_tokens VALUES(250,'ExponentPushToken[exQ2tvPvgp4tCunBEZ5YYR]','2026-03-20T00:33:41.998Z','2026-03-21T06:51:21.541Z'); +INSERT INTO unlogged_user_tokens VALUES(252,'ExponentPushToken[8HgCUFBsI9nZNuh-hjMOJ_]','2026-03-20T04:52:03.581Z','2026-03-20T04:52:04.089Z'); +INSERT INTO unlogged_user_tokens VALUES(253,'ExponentPushToken[ivyzcdINsQ3zwCkjlvbAv6]','2026-03-20T05:07:52.956Z','2026-03-26T00:41:13.928Z'); +INSERT INTO unlogged_user_tokens VALUES(254,'ExponentPushToken[yF2OgLNRsS-YpjLTkltwb7]','2026-03-20T05:22:38.188Z','2026-03-23T13:40:52.739Z'); +INSERT INTO unlogged_user_tokens VALUES(256,'ExponentPushToken[dqK4JpEi2SUuPBPRqDHGTE]','2026-03-20T11:09:53.478Z','2026-03-20T11:10:00.092Z'); +INSERT INTO unlogged_user_tokens VALUES(257,'ExponentPushToken[uh5MMROhr1JqQHFetyWxC9]','2026-03-20T11:24:24.419Z','2026-03-20T11:24:24.418Z'); +INSERT INTO unlogged_user_tokens VALUES(259,'ExponentPushToken[K511csDWcit0dWEirbgbzi]','2026-03-21T08:06:43.228Z','2026-03-22T01:09:33.364Z'); +INSERT INTO unlogged_user_tokens VALUES(260,'ExponentPushToken[kq0I8ADfcQ4VcsZ0yK0Mlc]','2026-03-21T22:52:32.985Z','2026-03-21T22:52:32.984Z'); +INSERT INTO unlogged_user_tokens VALUES(261,'ExponentPushToken[Wv_Q5bC0MXmcBmx9zcKs14]','2026-03-21T23:18:05.240Z','2026-03-21T23:18:07.495Z'); +INSERT INTO unlogged_user_tokens VALUES(262,'ExponentPushToken[fsRMwWMInMTZ70JGapBj9_]','2026-03-21T23:30:51.357Z','2026-03-21T23:30:54.769Z'); +INSERT INTO unlogged_user_tokens VALUES(266,'ExponentPushToken[FQkh_ZP1lkQyiNnxXEqr4E]','2026-03-22T10:11:03.208Z','2026-03-28T22:54:37.270Z'); +INSERT INTO unlogged_user_tokens VALUES(267,'ExponentPushToken[D39z6yAlFGqsBoKxi-c7N9]','2026-03-22T10:46:03.875Z','2026-03-22T10:46:03.874Z'); +INSERT INTO unlogged_user_tokens VALUES(268,'ExponentPushToken[F3Ec4xGQR2GEb_N65bSyuy]','2026-03-22T20:11:31.631Z','2026-03-22T20:11:31.630Z'); +INSERT INTO unlogged_user_tokens VALUES(270,'ExponentPushToken[R6dDwAPrBUXOJ9wwxSBKNH]','2026-03-23T03:03:27.292Z','2026-03-23T03:04:13.757Z'); +INSERT INTO unlogged_user_tokens VALUES(271,'ExponentPushToken[wwBGsMISKVc33Yt3WXYpMM]','2026-03-23T03:16:41.316Z','2026-03-23T03:16:41.315Z'); +INSERT INTO unlogged_user_tokens VALUES(272,'ExponentPushToken[5AOIo1AxGkk5zpoVANRRxq]','2026-03-23T04:38:27.378Z','2026-03-28T08:02:45.107Z'); +INSERT INTO unlogged_user_tokens VALUES(273,'ExponentPushToken[k7w5C6BhBMWugwupcoh8QJ]','2026-03-23T04:52:54.850Z','2026-03-23T04:52:54.849Z'); +INSERT INTO unlogged_user_tokens VALUES(274,'ExponentPushToken[oHNDFzFcWPaMrr6UuCUaUd]','2026-03-23T08:00:15.684Z','2026-03-23T08:00:15.683Z'); +INSERT INTO unlogged_user_tokens VALUES(276,'ExponentPushToken[9Z12H3LcIQ3rei2cNpIb9R]','2026-03-23T16:54:46.624Z','2026-03-23T16:54:46.621Z'); +INSERT INTO unlogged_user_tokens VALUES(278,'ExponentPushToken[DPeHKsBNbTJ74b4C69d_1e]','2026-03-23T21:36:14.768Z','2026-03-26T05:13:14.237Z'); +INSERT INTO unlogged_user_tokens VALUES(280,'ExponentPushToken[jYpwSQIh9pvCLtSH0WYq5F]','2026-03-24T03:12:34.792Z','2026-03-24T03:12:34.791Z'); +INSERT INTO unlogged_user_tokens VALUES(281,'ExponentPushToken[DLQjcmNhFnpjvOjE4pXFpK]','2026-03-24T05:10:33.091Z','2026-03-29T03:13:19.072Z'); +INSERT INTO unlogged_user_tokens VALUES(282,'ExponentPushToken[Z64mIvDUzy-l6wNJLN4-2l]','2026-03-24T05:13:28.036Z','2026-03-24T05:13:28.035Z'); +INSERT INTO unlogged_user_tokens VALUES(284,'ExponentPushToken[Ig04x1M-xkyeOzTGWR_Lzq]','2026-03-24T12:23:40.554Z','2026-03-24T12:23:44.781Z'); +INSERT INTO unlogged_user_tokens VALUES(285,'ExponentPushToken[bec7U4IRxrf7ip2xCROYGt]','2026-03-25T00:24:58.770Z','2026-03-25T00:24:58.769Z'); +INSERT INTO unlogged_user_tokens VALUES(288,'ExponentPushToken[unfWyzLSREslND3CDiEaAF]','2026-03-25T04:34:09.729Z','2026-03-25T04:34:09.728Z'); +INSERT INTO unlogged_user_tokens VALUES(289,'ExponentPushToken[eRNUvnGU5e_JBf-1DpRI-w]','2026-03-25T07:14:55.517Z','2026-03-26T06:12:39.459Z'); +INSERT INTO unlogged_user_tokens VALUES(290,'ExponentPushToken[ph0IvsNszCHjITyZEb6LfW]','2026-03-25T07:18:49.111Z','2026-03-25T07:18:49.110Z'); +INSERT INTO unlogged_user_tokens VALUES(291,'ExponentPushToken[Yr41oTB105H8U0vXzI0WlR]','2026-03-25T07:21:37.303Z','2026-03-25T07:21:37.302Z'); +INSERT INTO unlogged_user_tokens VALUES(292,'ExponentPushToken[0JRCqAEHTkOWGO3rY4MmTW]','2026-03-25T07:39:32.977Z','2026-03-28T22:49:37.435Z'); +INSERT INTO unlogged_user_tokens VALUES(295,'ExponentPushToken[yaqfZdOaBBm34sXWkONl0B]','2026-03-25T11:42:59.157Z','2026-03-26T23:54:47.170Z'); +INSERT INTO unlogged_user_tokens VALUES(298,'ExponentPushToken[KOnM-ZGk5hLcT2JCVF42ns]','2026-03-26T01:23:35.749Z','2026-03-26T08:07:41.963Z'); +INSERT INTO unlogged_user_tokens VALUES(300,'ExponentPushToken[9rUy7mEZB1_X9LuhD8Wnfv]','2026-03-26T05:34:31.364Z','2026-03-29T05:37:33.743Z'); +INSERT INTO unlogged_user_tokens VALUES(302,'ExponentPushToken[58ID1kBjfcym3CJINcQD1b]','2026-03-26T08:44:46.991Z','2026-03-26T08:44:46.990Z'); +INSERT INTO unlogged_user_tokens VALUES(303,'ExponentPushToken[BVothEDs_4eGckZYMw5Cuq]','2026-03-26T09:09:06.107Z','2026-03-26T09:09:11.909Z'); +INSERT INTO unlogged_user_tokens VALUES(305,'ExponentPushToken[hjmkZoOc82DY1eVSc9RUQI]','2026-03-27T06:35:49.821Z','2026-03-28T06:25:19.338Z'); +INSERT INTO unlogged_user_tokens VALUES(306,'ExponentPushToken[KrzenZDKrmKjs9nnlDdqVp]','2026-03-27T07:23:35.586Z','2026-03-27T07:23:35.586Z'); +INSERT INTO unlogged_user_tokens VALUES(307,'ExponentPushToken[An3bpDJv4ViVBBpzCzM44a]','2026-03-27T07:53:32.441Z','2026-03-27T07:53:32.440Z'); +INSERT INTO unlogged_user_tokens VALUES(308,'ExponentPushToken[I9t84QIYuJ2wkBXTQCrWiO]','2026-03-27T07:57:06.049Z','2026-03-27T07:57:06.048Z'); +INSERT INTO unlogged_user_tokens VALUES(312,'ExponentPushToken[0-CfZTGcH-UNX4DA97haBr]','2026-03-27T09:58:45.555Z','2026-03-28T01:55:00.159Z'); +INSERT INTO unlogged_user_tokens VALUES(313,'ExponentPushToken[XQm36HOZmPf0kBeMTvE_sH]','2026-03-27T10:37:37.070Z','2026-03-29T02:42:08.942Z'); +INSERT INTO unlogged_user_tokens VALUES(314,'ExponentPushToken[jdiOMkDDemRtgSRZ0Q9nhw]','2026-03-28T01:05:49.275Z','2026-03-28T01:05:49.274Z'); +INSERT INTO unlogged_user_tokens VALUES(315,'ExponentPushToken[x2VSb-OGOkn6ivVxpzk6tX]','2026-03-28T01:17:21.823Z','2026-03-28T01:17:26.739Z'); +INSERT INTO unlogged_user_tokens VALUES(317,'ExponentPushToken[t8rAKXFu2MfCf4kEQbdgnN]','2026-03-28T08:02:08.940Z','2026-03-28T08:02:08.939Z'); +INSERT INTO unlogged_user_tokens VALUES(319,'ExponentPushToken[MTkgHrPCaUKkm0Ek8cQT6h]','2026-03-28T09:34:53.149Z','2026-03-28T09:34:53.148Z'); +INSERT INTO unlogged_user_tokens VALUES(320,'ExponentPushToken[mPQO_6GZUkVC4RQgz14Ipx]','2026-03-28T21:29:08.925Z','2026-03-28T21:29:19.977Z'); +INSERT INTO unlogged_user_tokens VALUES(321,'ExponentPushToken[ARCT4KD7CJ_pFF_GkywepP]','2026-03-28T22:02:10.358Z','2026-03-28T22:02:11.200Z'); +INSERT INTO unlogged_user_tokens VALUES(325,'ExponentPushToken[6y3qNeJGgyakoSunKhEJT-]','2026-03-29T00:29:41.119Z','2026-03-29T00:29:41.118Z'); +INSERT INTO unlogged_user_tokens VALUES(327,'ExponentPushToken[HSPIZnMitrC7EMSNC5Cn51]','2026-03-29T02:02:50.000Z','2026-03-29T02:02:49.999Z'); +INSERT INTO unlogged_user_tokens VALUES(328,'ExponentPushToken[PnJS6KN--CeuepgdgEOUKz]','2026-03-29T03:43:40.706Z','2026-03-29T03:43:44.039Z'); +INSERT INTO unlogged_user_tokens VALUES(329,'ExponentPushToken[LQZgYkFG_3CweaUbv0fBKJ]','2026-03-29T08:30:17.085Z','2026-03-29T08:30:17.136Z'); CREATE TABLE IF NOT EXISTS "upload_url_status" ("id" INTEGER PRIMARY KEY, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "key" TEXT NOT NULL, "status" TEXT NOT NULL DEFAULT 'pending'); INSERT INTO upload_url_status VALUES(35,'2025-12-07T03:28:13.136Z','review-images/1765097892914.jpg','pending'); INSERT INTO upload_url_status VALUES(36,'2025-12-07T03:28:13.347Z','review-images/1765097893129.png','pending'); @@ -21518,58 +44754,13 @@ INSERT INTO upload_url_status VALUES(134,'2026-02-08T10:15:57.611Z','notificatio INSERT INTO upload_url_status VALUES(135,'2026-02-08T10:20:10.883Z','notification-images/1770565810774.jpg','pending'); INSERT INTO upload_url_status VALUES(136,'2026-02-08T10:21:46.053Z','notification-images/1770565905943.jpg','pending'); INSERT INTO upload_url_status VALUES(137,'2026-02-08T13:20:07.705Z','notification-images/1770576607704.jpg','pending'); -INSERT INTO upload_url_status VALUES(170,'2026-03-20T09:16:34.603Z','store-images/1774017994443.jpg','pending'); -INSERT INTO upload_url_status VALUES(171,'2026-03-20T09:17:04.596Z','store-images/1774018024432.jpg','pending'); -INSERT INTO upload_url_status VALUES(172,'2026-03-20T09:20:04.863Z','store-images/1774018204689.jpg','pending'); -INSERT INTO upload_url_status VALUES(173,'2026-03-20T09:20:57.508Z','store-images/1774018257330.jpg','pending'); -INSERT INTO upload_url_status VALUES(174,'2026-03-20T09:22:44.445Z','store-images/1774018364266.jpg','pending'); -INSERT INTO upload_url_status VALUES(175,'2026-03-21T09:24:15.290Z','store-images/1774104855151.jpg','pending'); -INSERT INTO upload_url_status VALUES(176,'2026-03-21T09:34:11.705Z','store-images/1774105451535.jpg','pending'); -INSERT INTO upload_url_status VALUES(177,'2026-03-21T09:35:32.404Z','store-images/1774105532235.jpg','pending'); -INSERT INTO upload_url_status VALUES(178,'2026-03-21T10:37:23.303Z','product-images/1774109243042.jpg','pending'); -INSERT INTO upload_url_status VALUES(179,'2026-03-21T10:37:23.532Z','product-images/1774109243274.jpg','pending'); -INSERT INTO upload_url_status VALUES(180,'2026-03-21T10:39:51.342Z','product-images/1774109391069.jpg','pending'); -INSERT INTO upload_url_status VALUES(181,'2026-03-21T10:39:51.668Z','product-images/1774109391409.jpg','pending'); -INSERT INTO upload_url_status VALUES(182,'2026-03-21T10:44:02.249Z','product-images/1774109641982.jpg','pending'); -INSERT INTO upload_url_status VALUES(183,'2026-03-21T10:44:02.477Z','product-images/1774109642211.jpg','pending'); -INSERT INTO upload_url_status VALUES(184,'2026-03-21T10:47:55.364Z','product-images/1774109875092.jpg','claimed'); -INSERT INTO upload_url_status VALUES(185,'2026-03-21T10:47:55.552Z','product-images/1774109875283.jpg','claimed'); -INSERT INTO upload_url_status VALUES(186,'2026-03-21T10:53:34.410Z','product-images/1774110214128.jpg','claimed'); -INSERT INTO upload_url_status VALUES(187,'2026-03-21T11:05:02.699Z','product-images/1774110902472.jpg','claimed'); -INSERT INTO upload_url_status VALUES(188,'2026-03-21T11:05:46.485Z','product-images/1774110946273.jpg','claimed'); -INSERT INTO upload_url_status VALUES(189,'2026-03-21T11:05:46.696Z','product-images/1774110946486.jpg','claimed'); -INSERT INTO upload_url_status VALUES(190,'2026-03-21T11:06:37.135Z','product-images/1774110996916.jpg','claimed'); -INSERT INTO upload_url_status VALUES(191,'2026-03-21T11:21:57.523Z','product-images/1774111917349.jpg','claimed'); -INSERT INTO upload_url_status VALUES(192,'2026-03-21T11:21:57.776Z','product-images/1774111917606.jpg','claimed'); -INSERT INTO upload_url_status VALUES(193,'2026-03-21T11:22:57.142Z','product-images/1774111976967.jpg','claimed'); -INSERT INTO upload_url_status VALUES(194,'2026-03-21T11:22:57.326Z','product-images/1774111977156.jpg','claimed'); -INSERT INTO upload_url_status VALUES(195,'2026-03-21T12:20:31.649Z','product-images/1774115431487.jpg','claimed'); -INSERT INTO upload_url_status VALUES(196,'2026-03-21T12:34:26.218Z','product-images/1774116266063.jpg','claimed'); -INSERT INTO upload_url_status VALUES(197,'2026-03-21T23:15:45.311Z','store-images/1774154745204.jpg','pending'); -INSERT INTO upload_url_status VALUES(198,'2026-03-21T23:18:41.659Z','store-images/1774154921529.jpg','pending'); -INSERT INTO upload_url_status VALUES(199,'2026-03-21T23:18:53.275Z','store-images/1774154933114.jpg','pending'); -INSERT INTO upload_url_status VALUES(200,'2026-03-22T00:28:59.866Z','profile-images/1774159139649.jpg','claimed'); -INSERT INTO upload_url_status VALUES(201,'2026-03-22T00:40:45.910Z','profile-images/1774159845659.jpg','claimed'); -INSERT INTO upload_url_status VALUES(202,'2026-03-22T04:45:38.531Z','complaint-images/1774174538370.jpg','claimed'); -INSERT INTO upload_url_status VALUES(203,'2026-03-22T04:57:50.211Z','complaint-images/1774175270043.jpg','claimed'); -INSERT INTO upload_url_status VALUES(204,'2026-03-22T05:06:00.920Z','complaint-images/1774175760765.jpg','claimed'); -INSERT INTO upload_url_status VALUES(205,'2026-03-22T05:08:54.126Z','complaint-images/1774175933889.jpg','claimed'); -INSERT INTO upload_url_status VALUES(206,'2026-03-22T05:10:03.192Z','complaint-images/1774176003038.jpg','claimed'); -INSERT INTO upload_url_status VALUES(207,'2026-03-22T05:10:03.381Z','complaint-images/1774176003229.jpg','claimed'); -INSERT INTO upload_url_status VALUES(208,'2026-03-22T05:10:03.567Z','complaint-images/1774176003414.jpg','claimed'); -INSERT INTO upload_url_status VALUES(209,'2026-03-24T09:49:20.825Z','store-images/1774365560714.jpg','pending'); -INSERT INTO upload_url_status VALUES(210,'2026-03-26T05:56:41.671Z','profile-images/1774524401549.jpg','pending'); -INSERT INTO upload_url_status VALUES(211,'2026-03-26T05:58:44.761Z','product-images/1774524524649.jpg','claimed'); -INSERT INTO upload_url_status VALUES(212,'2026-03-26T05:58:44.957Z','product-images/1774524524845.jpg','claimed'); -INSERT INTO upload_url_status VALUES(213,'2026-03-26T05:58:45.145Z','product-images/1774524525034.jpg','claimed'); -INSERT INTO upload_url_status VALUES(214,'2026-03-26T05:58:45.334Z','product-images/1774524525222.jpg','claimed'); -INSERT INTO upload_url_status VALUES(215,'2026-03-26T06:00:52.552Z','store-images/1774524652442.jpg','pending'); -INSERT INTO upload_url_status VALUES(216,'2026-03-26T06:15:11.287Z','product-images/1774525511146.jpg','claimed'); +INSERT INTO upload_url_status VALUES(138,'2026-03-10T00:09:08.039Z','store-images/1773121148038.png','pending'); +INSERT INTO upload_url_status VALUES(139,'2026-03-10T00:09:11.899Z','store-images/1773121151898.png','pending'); CREATE TABLE IF NOT EXISTS "user_creds" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "user_password" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); INSERT INTO user_creds VALUES(2,1,'$2b$10$aJacFZFCniKqXOewMIlznOsEKcTJa/ji7xBU2dhHsioxTC0mR9BvK','2025-11-19T12:00:25.180Z'); INSERT INTO user_creds VALUES(3,17,'$2b$10$mn/CpXmKq.dKgeH2gHtKk.IvlgQyahG2tCpD8k42mPOEysWoO3pti','2025-12-19T03:44:09.761Z'); CREATE TABLE IF NOT EXISTS "user_details" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "bio" TEXT, "date_of_birth" TEXT, "gender" TEXT, "occupation" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "profile_image" TEXT, "is_suspended" INTEGER NOT NULL DEFAULT false); -INSERT INTO user_details VALUES(1,1,NULL,NULL,NULL,NULL,'2025-11-18T10:56:21.130Z','2026-03-26T05:56:44.292Z','profile-images/1774524401549.jpg',0); +INSERT INTO user_details VALUES(1,1,NULL,NULL,NULL,NULL,'2025-11-18T10:56:21.130Z','2026-01-08T05:01:38.815Z','profile-images/1766160314135-1000000018.jpg',0); INSERT INTO user_details VALUES(2,2,NULL,NULL,NULL,NULL,'2025-11-28T14:47:57.109Z','2025-11-28T14:47:57.109Z',NULL,0); INSERT INTO user_details VALUES(6,4,NULL,NULL,NULL,NULL,'2025-12-02T09:58:27.226Z','2025-12-02T10:02:29.066Z','profile-images/1764689548097-1000159418.jpg',0); INSERT INTO user_details VALUES(7,16,NULL,NULL,NULL,NULL,'2025-12-19T01:45:00.531Z','2025-12-19T01:45:00.530Z',NULL,0); @@ -21589,22 +44780,40 @@ INSERT INTO user_details VALUES(20,140,NULL,NULL,NULL,NULL,'2026-02-20T03:30:19. INSERT INTO user_details VALUES(21,172,NULL,NULL,NULL,NULL,'2026-02-20T04:04:44.392Z','2026-02-20T04:04:44.391Z',NULL,0); INSERT INTO user_details VALUES(22,184,NULL,NULL,NULL,NULL,'2026-02-22T00:49:25.502Z','2026-02-22T00:51:54.175Z','profile-images/1771741313402-1000001181.jpg',0); INSERT INTO user_details VALUES(23,99,NULL,NULL,NULL,NULL,'2026-02-22T04:52:08.552Z','2026-02-22T04:52:08.551Z',NULL,0); -INSERT INTO user_details VALUES(56,265,NULL,NULL,NULL,NULL,'2026-03-22T00:29:01.903Z','2026-03-22T00:29:01.903Z','profile-images/1774159845659.jpg',0); +INSERT INTO user_details VALUES(24,224,NULL,NULL,NULL,NULL,'2026-03-01T07:24:14.016Z','2026-03-12T06:31:32.162Z',NULL,0); +INSERT INTO user_details VALUES(25,6,NULL,NULL,NULL,NULL,'2026-03-06T02:58:30.384Z','2026-03-07T02:55:29.579Z','profile-images/1772785739631-1000139211.jpg',0); +INSERT INTO user_details VALUES(26,279,NULL,NULL,NULL,NULL,'2026-03-12T13:33:06.115Z','2026-03-12T13:33:06.114Z',NULL,0); +INSERT INTO user_details VALUES(27,194,NULL,NULL,NULL,NULL,'2026-03-13T04:24:40.572Z','2026-03-13T04:24:40.571Z','profile-images/1773395679014-1000017321.jpg',0); +INSERT INTO user_details VALUES(28,286,NULL,NULL,NULL,NULL,'2026-03-14T09:52:23.273Z','2026-03-14T09:52:23.272Z',NULL,0); +INSERT INTO user_details VALUES(29,300,NULL,NULL,NULL,NULL,'2026-03-19T04:32:26.600Z','2026-03-19T04:33:20.229Z','profile-images/1773914599179-62949.webp',0); CREATE TABLE IF NOT EXISTS "user_incidents" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "order_id" INTEGER, "date_added" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "admin_comment" TEXT, "added_by" INTEGER, "negativity_score" INTEGER); -INSERT INTO user_incidents VALUES(1,1,384,'2026-03-04T10:40:45.532Z','Not Paying Money',1,2); +INSERT INTO user_incidents VALUES(1,6,406,'2026-03-04T10:48:04.501Z','Not Paying Money',6,2); +INSERT INTO user_incidents VALUES(2,262,404,'2026-03-04T11:57:14.009Z','Created problem while payment. Ladne aara thaa admi. ',6,2); CREATE TABLE IF NOT EXISTS "user_notifications" ("id" INTEGER PRIMARY KEY, "image_url" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "body" TEXT NOT NULL, "applicable_users" TEXT, "title" TEXT NOT NULL); INSERT INTO user_notifications VALUES(21,NULL,'2026-02-08T23:51:32.312Z',replace(replace('Van Winkle liked hunting, too. He liked going to the mountains to shoot squirrels. \r\nHe also liked sitting in the mountains and watching the world below—the','\r',char(13)),'\n',char(10)),'[1]','Hii'); INSERT INTO user_notifications VALUES(22,NULL,'2026-02-09T03:28:19.744Z','Test Notification','[65]','Hello'); INSERT INTO user_notifications VALUES(23,NULL,'2026-02-09T03:29:52.024Z','Hello','[1,65]','Hello'); INSERT INTO user_notifications VALUES(24,NULL,'2026-02-20T07:52:30.399Z','Freshyo','[2]','Qusham'); INSERT INTO user_notifications VALUES(25,NULL,'2026-02-23T02:20:51.468Z','Buy fresh, juicy and titillating fruits. Order Now!','[2,3,6,7,4,9,12,21,24,26,1,38,39,22,50,64,65,66,74,82,98,102,107,113,115,118,91,119,120,121,122,123,124,125,127,128,129,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,158,160,159,161,162,151,163,164,166,165,167,140,169,170,172,173,174,175,176,177,178,179,180,181,182,183,185,186,188,189,191,190,194,184,221,220,219,217,216,215,214,213,212,210,99,209,208,207,206,205,204,203,202,201,200,199,198,197,196,195]','Mesmerizing Fruits'); +INSERT INTO user_notifications VALUES(26,NULL,'2026-02-27T04:56:53.339Z','Refill it now with Freshyo','[2,3,6,7,9,4,12,15,21,24,26,1,38,39,22,50,64,65,66,74,82,98,102,107,113,115,118,91,119,120,121,122,123,124,125,127,128,129,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,158,160,159,161,162,151,163,164,165,166,167,140,169,170,172,173,174,175,176,177,178,179,180,181,182,183,185,186,188,189,190,191,194,184,195,196,198,197,199,200,201,202,203,204,205,206,207,208,209,99,210,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,231,232,234,235,236,237,238,239,240,241,242,243]','Is your fruit bowl empty?'); +INSERT INTO user_notifications VALUES(27,NULL,'2026-02-27T06:36:19.247Z','How are you','[65]','Hi Sailesh'); +INSERT INTO user_notifications VALUES(28,NULL,'2026-02-27T06:42:15.161Z','How are you','[65]','Hii Mahesh'); +INSERT INTO user_notifications VALUES(29,NULL,'2026-02-27T13:50:29.979Z','Hello World','[1]','Hello World'); +INSERT INTO user_notifications VALUES(30,NULL,'2026-02-28T02:01:50.344Z','It''s time for a round of refreshment, delivered from freshyo.',NULL,'Feeling the heat???'); +INSERT INTO user_notifications VALUES(31,NULL,'2026-02-28T02:02:46.467Z','Helli','[1]','Hi Shafi'); +INSERT INTO user_notifications VALUES(32,NULL,'2026-02-28T02:04:34.477Z','How are you','[22]','Hi Afroz'); +INSERT INTO user_notifications VALUES(33,NULL,'2026-03-01T01:53:47.963Z','Order delicacies on freshyo now, and catalyse your Sunday mood','[2,3,6,7,4,9,12,15,21,24,26,1,38,39,22,50,64,65,66,74,82,98,102,107,113,115,118,91,119,120,121,122,123,124,125,127,128,129,132,133,131,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,158,160,159,161,162,151,163,164,165,166,167,140,169,170,172,173,174,175,176,178,177,179,180,181,182,183,185,186,188,189,190,191,194,184,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,99,210,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,231,232,234,235,236,237,238,239,240,241,242,243,244,246]','Boost your Sunday'); +INSERT INTO user_notifications VALUES(34,NULL,'2026-03-01T08:39:51.230Z','How are you','[2]','Hi Qusham'); +INSERT INTO user_notifications VALUES(35,NULL,'2026-03-01T08:40:17.946Z','Hello','[2]','Hi Qusham'); +INSERT INTO user_notifications VALUES(36,NULL,'2026-03-01T08:40:58.717Z','How sre y','[12]','Hi Junaid'); +INSERT INTO user_notifications VALUES(37,NULL,'2026-03-01T08:41:54.136Z','Hii','[2]','Hii'); CREATE TABLE IF NOT EXISTS "users" ("id" INTEGER PRIMARY KEY, "name" TEXT, "email" TEXT, "mobile" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); INSERT INTO users VALUES(1,'Mohammed Shafiuddin','mohammedshafiuddin54@gmail.com','9676651496','2025-11-18T08:35:55.801Z'); INSERT INTO users VALUES(2,NULL,NULL,'8688182552','2025-11-19T06:34:47.086Z'); INSERT INTO users VALUES(3,NULL,NULL,'9000190484','2025-11-19T07:06:09.284Z'); INSERT INTO users VALUES(4,'Saniya','saniya123@gmail.com','8688326100','2025-11-20T11:58:13.296Z'); INSERT INTO users VALUES(5,NULL,NULL,'7093212611','2025-11-22T05:35:41.069Z'); -INSERT INTO users VALUES(6,NULL,NULL,'9346436140','2025-11-22T09:02:42.569Z'); +INSERT INTO users VALUES(6,'TANVEER','tanveerasif8555@gmail.com','9346436140','2025-11-22T09:02:42.569Z'); INSERT INTO users VALUES(7,NULL,NULL,'7386623412','2025-11-28T22:18:57.177Z'); INSERT INTO users VALUES(8,NULL,NULL,'7675084307','2025-11-29T08:33:35.481Z'); INSERT INTO users VALUES(9,NULL,NULL,'8985081850','2025-12-07T21:58:30.768Z'); @@ -21792,7 +45001,7 @@ INSERT INTO users VALUES(190,NULL,NULL,'9912119864','2026-02-21T13:29:01.921Z'); INSERT INTO users VALUES(191,NULL,NULL,'7097321320','2026-02-21T17:55:26.140Z'); INSERT INTO users VALUES(192,NULL,NULL,'9160475130','2026-02-21T18:43:27.474Z'); INSERT INTO users VALUES(193,NULL,NULL,'7207490881','2026-02-21T22:51:12.696Z'); -INSERT INTO users VALUES(194,NULL,NULL,'6302774527','2026-02-22T00:12:34.868Z'); +INSERT INTO users VALUES(194,'Syeda Aizah','sdaijaz79@gmail.com','6302774527','2026-02-22T00:12:34.868Z'); INSERT INTO users VALUES(195,NULL,NULL,'6301375032','2026-02-22T00:57:17.585Z'); INSERT INTO users VALUES(196,NULL,NULL,'9666209134','2026-02-22T00:58:27.611Z'); INSERT INTO users VALUES(197,NULL,NULL,'7842321671','2026-02-22T01:05:28.299Z'); @@ -21822,7 +45031,7 @@ INSERT INTO users VALUES(220,NULL,NULL,'7993421951','2026-02-23T01:39:32.592Z'); INSERT INTO users VALUES(221,NULL,NULL,'6301475500','2026-02-23T02:13:14.075Z'); INSERT INTO users VALUES(222,NULL,NULL,'9951260514','2026-02-23T03:24:02.953Z'); INSERT INTO users VALUES(223,NULL,NULL,'9398876512','2026-02-23T03:46:04.808Z'); -INSERT INTO users VALUES(224,NULL,NULL,'8374782337','2026-02-23T04:36:49.085Z'); +INSERT INTO users VALUES(224,'Ayesha','a38911682@gmail.com','8374782337','2026-02-23T04:36:49.085Z'); INSERT INTO users VALUES(225,NULL,NULL,'9666426396','2026-02-23T06:41:13.767Z'); INSERT INTO users VALUES(226,NULL,NULL,'9391479179','2026-02-23T08:30:31.544Z'); INSERT INTO users VALUES(227,NULL,NULL,'8688806599','2026-02-23T11:25:23.839Z'); @@ -21831,10 +45040,101 @@ INSERT INTO users VALUES(229,NULL,NULL,'9885575791','2026-02-24T01:40:31.078Z'); INSERT INTO users VALUES(230,NULL,NULL,'9398645142','2026-02-24T01:40:35.864Z'); INSERT INTO users VALUES(231,NULL,NULL,'9949237303','2026-02-24T12:27:35.380Z'); INSERT INTO users VALUES(232,NULL,NULL,'9059525115','2026-02-24T14:49:55.020Z'); -INSERT INTO users VALUES(265,'John Wick','john@email.com','9676651499','2026-03-22T00:28:18.510Z'); +INSERT INTO users VALUES(233,NULL,NULL,'8341126404','2026-02-25T06:50:23.806Z'); +INSERT INTO users VALUES(234,NULL,NULL,'7386365194','2026-02-25T08:51:33.884Z'); +INSERT INTO users VALUES(235,NULL,NULL,'9985040417','2026-02-25T14:41:42.938Z'); +INSERT INTO users VALUES(236,NULL,NULL,'7842596309','2026-02-25T15:52:22.664Z'); +INSERT INTO users VALUES(237,NULL,NULL,'9133395555','2026-02-26T04:57:16.343Z'); +INSERT INTO users VALUES(238,NULL,NULL,'8919073914','2026-02-26T05:11:26.347Z'); +INSERT INTO users VALUES(239,NULL,NULL,'9703794486','2026-02-26T05:47:46.010Z'); +INSERT INTO users VALUES(240,NULL,NULL,'8008948187','2026-02-27T01:33:57.582Z'); +INSERT INTO users VALUES(241,NULL,NULL,'9012966531','2026-02-27T03:23:11.179Z'); +INSERT INTO users VALUES(242,NULL,NULL,'7997193490','2026-02-27T03:24:45.616Z'); +INSERT INTO users VALUES(243,NULL,NULL,'9121656851','2026-02-27T04:39:29.086Z'); +INSERT INTO users VALUES(244,NULL,NULL,'8919820112','2026-02-27T06:21:13.482Z'); +INSERT INTO users VALUES(245,NULL,NULL,'7386770921','2026-02-27T09:53:08.501Z'); +INSERT INTO users VALUES(246,NULL,NULL,'9704673754','2026-02-28T00:01:16.868Z'); +INSERT INTO users VALUES(247,NULL,NULL,'7075041261','2026-03-01T02:37:03.657Z'); +INSERT INTO users VALUES(248,NULL,NULL,'6305883246','2026-03-01T08:06:53.842Z'); +INSERT INTO users VALUES(249,NULL,NULL,'9182607704','2026-03-02T01:37:59.720Z'); +INSERT INTO users VALUES(250,NULL,NULL,'7893430115','2026-03-02T03:40:38.467Z'); +INSERT INTO users VALUES(251,NULL,NULL,'8498091363','2026-03-03T04:27:34.291Z'); +INSERT INTO users VALUES(252,NULL,NULL,'9985232643','2026-03-03T06:17:45.478Z'); +INSERT INTO users VALUES(253,NULL,NULL,'9573599244','2026-03-03T08:36:31.424Z'); +INSERT INTO users VALUES(254,NULL,NULL,'9391448451','2026-03-03T10:36:51.275Z'); +INSERT INTO users VALUES(255,NULL,NULL,'7075499638','2026-03-03T22:43:00.417Z'); +INSERT INTO users VALUES(256,NULL,NULL,'9030656603','2026-03-04T03:01:02.381Z'); +INSERT INTO users VALUES(257,NULL,NULL,'8686278784','2026-03-04T03:49:34.931Z'); +INSERT INTO users VALUES(258,NULL,NULL,'9985051377','2026-03-04T04:08:31.564Z'); +INSERT INTO users VALUES(259,NULL,NULL,'6309897814','2026-03-04T05:07:35.230Z'); +INSERT INTO users VALUES(260,NULL,NULL,'6301431611','2026-03-04T05:42:36.400Z'); +INSERT INTO users VALUES(261,NULL,NULL,'8919838331','2026-03-04T07:02:10.199Z'); +INSERT INTO users VALUES(262,NULL,NULL,'6304591895','2026-03-04T08:19:46.573Z'); +INSERT INTO users VALUES(263,NULL,NULL,'9985075976','2026-03-04T14:11:46.660Z'); +INSERT INTO users VALUES(264,NULL,NULL,'8125664580','2026-03-05T00:37:03.676Z'); +INSERT INTO users VALUES(265,NULL,NULL,'7095454127','2026-03-06T03:48:07.798Z'); +INSERT INTO users VALUES(266,NULL,NULL,'7993853427','2026-03-06T07:01:04.889Z'); +INSERT INTO users VALUES(267,NULL,NULL,'7993091549','2026-03-07T05:22:49.610Z'); +INSERT INTO users VALUES(268,NULL,NULL,'9966974664','2026-03-08T02:05:24.236Z'); +INSERT INTO users VALUES(269,NULL,NULL,'9133302356','2026-03-08T02:54:00.054Z'); +INSERT INTO users VALUES(270,NULL,NULL,'9059494078','2026-03-08T04:46:59.127Z'); +INSERT INTO users VALUES(271,NULL,NULL,'9966201557','2026-03-08T04:48:17.422Z'); +INSERT INTO users VALUES(272,NULL,NULL,'8801403911','2026-03-08T06:11:47.164Z'); +INSERT INTO users VALUES(273,NULL,NULL,'6304796576','2026-03-09T09:25:47.821Z'); +INSERT INTO users VALUES(274,NULL,NULL,'8096310356','2026-03-10T01:01:39.953Z'); +INSERT INTO users VALUES(275,NULL,NULL,'9440927491','2026-03-11T00:05:28.415Z'); +INSERT INTO users VALUES(276,NULL,NULL,'9848471943','2026-03-11T04:35:47.651Z'); +INSERT INTO users VALUES(277,NULL,NULL,'9873199525','2026-03-12T03:03:10.953Z'); +INSERT INTO users VALUES(278,NULL,NULL,'9949008701','2026-03-12T04:18:27.141Z'); +INSERT INTO users VALUES(279,'Mrs.Niyaz','mohammedisiddiqamadiha@gmail.com','6300551264','2026-03-12T13:32:20.034Z'); +INSERT INTO users VALUES(280,NULL,NULL,'8919256293','2026-03-13T00:40:31.297Z'); +INSERT INTO users VALUES(281,NULL,NULL,'8801578670','2026-03-13T05:26:40.907Z'); +INSERT INTO users VALUES(282,NULL,NULL,'8639915202','2026-03-13T07:20:28.033Z'); +INSERT INTO users VALUES(283,NULL,NULL,'8555856361','2026-03-13T19:49:55.537Z'); +INSERT INTO users VALUES(284,NULL,NULL,'9978663707','2026-03-13T21:35:12.176Z'); +INSERT INTO users VALUES(285,NULL,NULL,'9701875694','2026-03-14T09:16:00.785Z'); +INSERT INTO users VALUES(286,'MOHAMMED ZAKEER','sanabegum5655@gmail.com','9063521990','2026-03-14T09:50:50.919Z'); +INSERT INTO users VALUES(287,NULL,NULL,'9491222135','2026-03-14T12:09:44.393Z'); +INSERT INTO users VALUES(288,NULL,NULL,'8555020585','2026-03-15T02:10:50.900Z'); +INSERT INTO users VALUES(289,NULL,NULL,'9701681206','2026-03-15T04:08:30.199Z'); +INSERT INTO users VALUES(290,NULL,NULL,'9160974529','2026-03-15T06:43:26.897Z'); +INSERT INTO users VALUES(291,NULL,NULL,'9182167025','2026-03-15T08:00:42.675Z'); +INSERT INTO users VALUES(292,NULL,NULL,'9700783002','2026-03-17T03:46:19.977Z'); +INSERT INTO users VALUES(293,NULL,NULL,'9908691361','2026-03-17T10:57:39.091Z'); +INSERT INTO users VALUES(294,NULL,NULL,'9059684269','2026-03-17T23:18:10.229Z'); +INSERT INTO users VALUES(295,NULL,NULL,'7331131442','2026-03-18T06:37:54.656Z'); +INSERT INTO users VALUES(296,NULL,NULL,'9052241733','2026-03-18T09:23:17.684Z'); +INSERT INTO users VALUES(297,NULL,NULL,'9515971332','2026-03-18T09:30:19.786Z'); +INSERT INTO users VALUES(298,NULL,NULL,'9066454938','2026-03-18T09:42:51.223Z'); +INSERT INTO users VALUES(299,NULL,NULL,'9100751376','2026-03-19T03:54:16.935Z'); +INSERT INTO users VALUES(300,'Khaja Faisal Khan','khajafaisalkhan@gmail.com','9553810155','2026-03-19T04:32:07.467Z'); +INSERT INTO users VALUES(301,NULL,NULL,'9014214244','2026-03-19T11:01:03.051Z'); +INSERT INTO users VALUES(302,NULL,NULL,'6303651275','2026-03-19T11:26:20.698Z'); +INSERT INTO users VALUES(303,NULL,NULL,'9347864014','2026-03-20T19:54:28.061Z'); +INSERT INTO users VALUES(304,NULL,NULL,'9502064197','2026-03-21T23:30:02.421Z'); +INSERT INTO users VALUES(305,NULL,NULL,'8499850629','2026-03-22T02:53:39.787Z'); +INSERT INTO users VALUES(306,NULL,NULL,'7207504319','2026-03-23T01:47:06.644Z'); +INSERT INTO users VALUES(307,NULL,NULL,'7013004811','2026-03-23T02:21:15.046Z'); +INSERT INTO users VALUES(308,NULL,NULL,'9705179681','2026-03-24T02:48:30.309Z'); +INSERT INTO users VALUES(309,NULL,NULL,'9030462018','2026-03-25T04:37:32.349Z'); +INSERT INTO users VALUES(310,NULL,NULL,'8179659088','2026-03-25T10:39:40.140Z'); +INSERT INTO users VALUES(311,NULL,NULL,'8309544607','2026-03-25T20:38:47.969Z'); +INSERT INTO users VALUES(312,NULL,NULL,'6361625295','2026-03-26T01:08:05.167Z'); +INSERT INTO users VALUES(313,NULL,NULL,'9908136505','2026-03-26T02:41:02.945Z'); +INSERT INTO users VALUES(314,NULL,NULL,'8121552014','2026-03-27T07:53:22.391Z'); +INSERT INTO users VALUES(315,NULL,NULL,'8688993217','2026-03-27T09:05:55.884Z'); +INSERT INTO users VALUES(316,NULL,NULL,'8179806501','2026-03-27T23:13:04.073Z'); +INSERT INTO users VALUES(317,NULL,NULL,'9866750424','2026-03-28T02:56:38.753Z'); +INSERT INTO users VALUES(318,NULL,NULL,'7674042162','2026-03-28T03:39:22.712Z'); +INSERT INTO users VALUES(319,NULL,NULL,'8096176289','2026-03-28T07:35:08.446Z'); +INSERT INTO users VALUES(320,NULL,NULL,'7569051828','2026-03-28T08:03:31.188Z'); +INSERT INTO users VALUES(321,NULL,NULL,'9642731113','2026-03-28T09:19:15.751Z'); +INSERT INTO users VALUES(322,NULL,NULL,'7569790715','2026-03-28T23:01:51.955Z'); +INSERT INTO users VALUES(323,NULL,NULL,'9441543356','2026-03-28T23:07:40.412Z'); +INSERT INTO users VALUES(324,NULL,NULL,'9398385372','2026-03-29T02:14:05.878Z'); CREATE TABLE IF NOT EXISTS "vendor_snippets" ("id" INTEGER PRIMARY KEY, "snippet_code" TEXT NOT NULL, "slot_id" INTEGER, "product_ids" TEXT NOT NULL, "valid_till" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_permanent" INTEGER NOT NULL DEFAULT false); INSERT INTO vendor_snippets VALUES(55,'Allvegetables1',NULL,'[88,66,70,64,91,19,71,27,79,32,5,65,45,77,74,17,16,72,33,13,89,29,78,30,69,31,76,90,18,68]','2027-01-27T12:26:00.000Z','2026-01-27T12:33:18.974Z',1); -INSERT INTO vendor_snippets VALUES(56,'AllMuttonitems',NULL,'[34,85,14,87,35,84,28,86,4,12]','2027-03-30T21:21:00.000Z','2026-01-27T21:22:14.560Z',1); +INSERT INTO vendor_snippets VALUES(56,'AllMuttonitems',NULL,'[34,85,14,87,35,84,28,86,4,12,99,98,20]','2027-03-30T21:21:00.000Z','2026-01-27T21:22:14.560Z',1); INSERT INTO vendor_snippets VALUES(57,'AllChickenitems',NULL,'[3,10,15,1,24,40,42,80,23,41,21,2,36]','2027-04-21T21:24:00.000Z','2026-01-27T21:25:03.144Z',1); INSERT INTO vendor_snippets VALUES(58,'AllFruitsitem',NULL,'[7,47,49,56,39,62,38,59,57,53,11,48,63,6,43,13,50,54,52,46,51,26,60,55,44,73,61,25,58]','2027-04-28T21:27:00.000Z','2026-01-27T21:28:06.746Z',1); COMMIT; diff --git a/apps/backend/migrated_nofk.sql b/apps/backend/migrated_nofk.sql deleted file mode 100644 index 599265a..0000000 --- a/apps/backend/migrated_nofk.sql +++ /dev/null @@ -1,21840 +0,0 @@ -PRAGMA foreign_keys=OFF; -BEGIN TRANSACTION; -CREATE TABLE IF NOT EXISTS "address_areas" ("id" INTEGER PRIMARY KEY, "place_name" TEXT NOT NULL, "zone_id" INTEGER, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO address_areas VALUES(1,'Housing Board',1,'2025-12-10T14:30:58.912Z'); -INSERT INTO address_areas VALUES(2,'Mettugadda',2,'2025-12-10T14:31:22.451Z'); -CREATE TABLE IF NOT EXISTS "address_zones" ("id" INTEGER PRIMARY KEY, "zone_name" TEXT NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO address_zones VALUES(1,'zone 1','2025-12-10T14:30:40.126Z'); -INSERT INTO address_zones VALUES(2,'Zone 2','2025-12-10T14:31:12.245Z'); -CREATE TABLE IF NOT EXISTS "addresses" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "is_default" INTEGER NOT NULL DEFAULT false, "name" TEXT NOT NULL, "phone" TEXT NOT NULL, "address_line1" TEXT NOT NULL, "address_line2" TEXT, "city" TEXT NOT NULL, "state" TEXT NOT NULL, "pincode" TEXT NOT NULL, "latitude" REAL, "longitude" REAL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "zone_id" INTEGER, "admin_latitude" REAL, "admin_longitude" REAL, "google_maps_url" TEXT); -INSERT INTO addresses VALUES(1,3,0,'Bushra ','9000190484','Mahabubnagar ','Noor nagar','Mahabubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:13:54.439Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(2,3,0,'Bushra ','9000190484','Mahabubnagar ','Noor nagar','Mahabubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:13:56.852Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(3,3,0,'Bushra ','9000190484','Mahabubnagar ','Noor nagar','Mahabubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:13:59.752Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(4,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:15:59.602Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(5,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:09.066Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(6,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:10.587Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(7,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:13.227Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(8,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:14.410Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(9,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:15.341Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(10,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:16.029Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(11,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:16.818Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(12,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:17.605Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(13,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:18.595Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(14,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:20.593Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(15,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:25.042Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(16,3,1,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:26.343Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(17,1,1,'Mohammed Shafiuddin','9676651496','Hno: 1-9-25/25, Noor Nagar','Nawabpet Road','Mahabubnagar','Telangana','509001',16.73764400000000041,78.00380999999999787,'2025-11-19T07:36:43.907Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(18,1,0,'Mohammed Rafiuddin','9676651496','H No: 1-9-25/25, Noor Nagar','Nawabpet Road','Mahabubnagar','Telangana','509001',37.785834999999998728,-122.40641999999999356,'2025-11-19T07:40:54.902Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(19,1,0,'Khamar Jahan','8297666911','H no: 1-9-25/25, Noor Nagar','Nawabpet Road','Mahabubnagar','Telangana','509001',37.785834999999998728,-122.40641999999999356,'2025-11-19T07:49:04.462Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(20,2,1,'Qusham ','8688182552','5-7-30/L/9','','Mahabubnagar','Telangana','509001',16.741472000000001685,78.011600000000003163,'2025-11-21T08:45:46.550Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(21,4,0,'Shafi ','8688326100','1-4-6/9/12','Noor nagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-02T09:55:46.194Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(22,4,0,'Saniya','8688326100','1-4/25/L','Mothinagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-02T09:57:32.847Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(23,14,0,'Saqib Mujtaba','9390567030','S s guyta','','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-19T00:53:31.858Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(24,15,0,'Arif uddin','9866116948','Noor nagar','Noor nagar ','Mahabubnagar','Telangana','509001',16.741569999999999396,78.011669999999995184,'2025-12-19T01:00:27.678Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(25,15,0,'Arif uddin','9866116948','Noor nagar','Nawapet road','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-19T01:02:03.968Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(26,17,1,'Bbavani','7013167289','Market','','Mahabubnagar','Telangana','509001',16.760310000000000485,77.99338000000000548,'2025-12-19T03:01:51.649Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(28,17,0,'H','6666666666','Hh','H','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-19T03:42:49.915Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(29,17,0,'Bhavaniiiiiii kumar SEDAMKAR iii','6666666666','Hh','H','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-19T10:11:23.603Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(30,20,0,'Md waseed','9676010763','Mothi nagar','Mothi nagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-22T09:04:00.235Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(31,22,0,'Myhome','8885456295','1-10','11','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-23T21:09:01.181Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(32,16,1,'Pradeep kumar ','7799420184','Near the sub Post office, OLD PALAMOOR ','MAHABUBNAGAR ','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-26T19:30:44.314Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(33,12,0,'Marlu','6302478945','Yogi tiffin ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-27T23:56:10.399Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(34,26,1,'Faiz ','9652180398','Gol masjid ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-03T02:42:42.263Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(35,21,0,'Sailesh','9701690010','Sailesh Nilayam, Sagara colony','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-04T13:19:25.837Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(36,30,1,'Tirmaldev gate ','8341217812','T.d gutta ','Kosgi road','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-06T07:45:37.451Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(37,22,0,'My brother''s home','8885456295','Hjuu','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-07T10:24:39.504Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(38,34,1,'Habeeb','1218182456','Shah ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-13T09:26:06.610Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(39,36,1,'Rimsha','9985785747','near bharath talkies road,beside punjab bakery','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-14T03:26:36.657Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(40,22,1,'Address name afroz','8862958999','Address line 1','Address line 2 optional','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-18T10:23:28.923Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(41,42,1,'Inzamam ','8019548522','Goal masjid near sr graden','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-21T00:01:32.400Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(42,39,0,'Shabana begum ','6281768720','6-5-50/1, Habeeb nagar,menaka theatre ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T10:23:54.676Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(43,25,1,'Mohsin Dk','9848296296','TD GUTTA ','AL MADINA CHICKEN CENTRE','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T10:37:26.594Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(44,49,0,'Akram hashmi ','9182043867','Rb function hall ','Talab katta ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T13:49:40.718Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(45,50,0,'Shaista ','9390338662','A S chicken center Bhageerata colony road ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T13:58:33.695Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(46,51,1,'Santhosh Guptha','8606465444','Kamakshi Smart City Block A-101 ','Venkateshwara Colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T23:00:16.057Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(47,1,0,'Mohammed Rafiuddin','7330875929','Noor Nagar, Nawabpet Road','Mahabubnagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T23:08:31.533Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(48,1,0,'Mohammed Fasiuddin','9441740551','Noor Nagar, Nawabpet Road','Mahabubnagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T23:10:52.880Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(50,22,0,'7-38 BK reddy colony ','8885456295','Near masjid e Umar Farooq ','','Mahabubnagar','Telangana','509001',16.740442000000001598,78.007355000000000444,'2026-01-24T20:43:47.162Z',NULL,16.732927000000000106,77.993509999999997006,NULL); -INSERT INTO addresses VALUES(51,29,1,'Zahed Habeeb ','6302300646','5-7-30/L/9 gaolnl masjid','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-25T23:35:14.565Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(52,55,1,'rahman junaid','7780659850','Bk reddy colony road no.1','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-26T09:30:35.593Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(53,59,0,'Mohammed yahiya khan ','9490585051','House no 1-1-77/b/3','Opp golbanglaw beside royal cement n steel','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-26T13:08:50.114Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(54,60,1,'Srinivasulu ','8331989727','Koilkonda X Road','TD GUTTA','Mahabubnagar','Telangana','509001',16.760335999999997902,77.993645000000002553,'2026-01-26T22:21:40.119Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(55,64,1,'Sayeed Pasha','9985383270','Goal masjid ','5-7-30/L/9','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-27T06:43:54.588Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(56,65,1,'Mahesh','9381637374','Beside Dl Narayana tuitions','Panchowrastha','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-27T11:28:27.599Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(57,54,0,'Abdul ahad ','9849759289','Veernapet shareef calony ','Fz water plant patel masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-27T11:43:53.572Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(58,66,1,'Faizan ','9618791714','Near farooq masjid ','Bk reddy colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T01:30:42.348Z',NULL,16.760255999999998266,77.993515000000002146,NULL); -INSERT INTO addresses VALUES(59,6,1,'TANVEER ','9346436140','BN REDDY COLONY ','BESIDE PASULA KISTA REDDY FUNCTION HALL ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T06:33:17.478Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(60,58,0,'Mohd Bilal','9603333080','Edira road before masjid-e-soulath','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T10:39:59.776Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(63,1,0,'Saniya Shaik','9676651496','Noor Nagar, Nawabpet Road','Near FCI Godown','Mahabubnagar','Telangana','509001',37.785834999999998728,-122.40641999999999356,'2026-01-29T14:11:38.999Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(65,1,0,'John Wick','9676651496','Noor Nagar','Mahabubnagar','Mahabubnagar','Telangana','509001',16.731055999999999706,78.011049999999997339,'2026-01-29T14:54:04.995Z',NULL,NULL,NULL,'https://maps.app.goo.gl/B3X3kkkgXdp6YbGW9'); -INSERT INTO addresses VALUES(66,38,0,'Inzamam Innu','9492230173','Ar talent school','Sr garden habeeb nagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-29T22:40:44.484Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(67,77,0,'Tauheed Ahmed ','7287952112','B.k reddy Omer Farooq masjid road','','Mahabubnagar','Telangana','509001',16.739729000000000525,78.006410000000006021,'2026-01-30T14:07:03.540Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(69,54,1,'Abdul ahad ','9849759289','3-11-137/A/11Veernapet shareef calony ','Fz water plant patel masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-31T02:30:19.844Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(70,78,1,'Vidya sagar','9059201201','65/a brundavana gardens','Svs dental hospital behind ashok leyland showroom','Mahabubnagar','Telangana','509001',16.759952999999998546,78.052940000000008424,'2026-01-31T04:25:12.551Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(71,7,1,'Umair ','7386623412','Brundavan colony near MG show room ','','Mahabubnagar','Telangana','509001',16.755016000000000353,78.052220000000005484,'2026-02-01T00:27:45.058Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(72,82,0,'Noushin','7981337554','Habib nagar','Near kirshima kirna','Mahabubnagar','Telangana','509001',16.733945999999999543,77.989480000000002135,'2026-02-01T01:03:36.263Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(73,74,1,'Mohd ','8639145664','Mahabubnagar habeeb nagar near karishma kirna','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T01:31:41.702Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(74,83,0,'Mohd Fasiuddin ','9441740551','H. No. 1-9-25/B/1/A.Nawab pet road','Noor. Nagar Mahabub Nagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T02:12:41.964Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(79,1,0,'Ethan Hunt','9676651496','Noor Nagar','Nawabpet Road','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T02:51:47.852Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(80,1,0,'Ethan Hunt','9676651496','NN','NN','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T02:58:10.268Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(81,84,1,'H.No. 8-1-72/B','8639762655','Road No. 4, Teacher''s Colony','Near Ramalayam','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T04:29:57.712Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(82,86,0,'heena begum','9121585783','hanumanpura ','jamaulamma nagar temple road ','Mahabubnagar','Telangana','509001',16.728843999999998715,77.987433999999993261,'2026-02-01T05:44:57.399Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(83,88,1,'Hani','9398199100','Goal masjid 5-7-30/L/9','Mahabubnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T10:07:03.325Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(84,89,1,'Khaja mujeebuddin','8919308867','Srinivas colony','Beside geetam school taj residency','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T23:25:14.868Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(85,91,1,'H No 14-5-208/13/A','9347168525','2A Road, Krishna Nagar Colony,','Bhageeratha Colony Road','Mahabubnagar','Telangana','509001',16.735164999999998514,78.002075000000008486,'2026-02-02T04:29:24.308Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(86,92,0,'Asif','6305442889','Balaji convention hall','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T04:52:59.786Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(87,93,1,'md ghouse moin uddin','9705107988','rayeesa masjid trasfaram mbnr','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T04:57:17.798Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(88,95,1,'Mohammed arham','6301612623','Madina masjid','Karachi bakery back side','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T06:39:17.730Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(89,73,0,'Ameen ','9652801308','Bharath takies opp mm poly clinic','Madina masjid','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T20:23:12.850Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(90,97,1,'K Krishnaiah','9441565235','Hno 10-6-ye0033, srinivasa colony','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T23:57:41.024Z',NULL,NULL,NULL,'https://maps.app.goo.gl/7PsHmbWYvzbdkMHm8'); -INSERT INTO addresses VALUES(91,98,1,'Abdul ahad ','9381165946','3-11-137/A/11','Fz water plant veernapet patel masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-03T00:26:41.356Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(92,24,0,'Tausif ali','9948350118','14-8-87/4 iqbal manzil marlu','Iqbal manzil marlu','Mahabubnagar','Telangana','509001',16.741389999999998217,78.011604000000005498,'2026-02-03T03:06:18.057Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(93,46,0,'Sidra','9392266793','Gol masjid Sr garden ','Sr garden 1 flore','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-03T07:32:53.282Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(94,81,0,'SYED','9652338446','H.no 14-8-121','Near, Masjid e Mustafa ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-03T10:16:08.941Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(95,96,0,'Arif hussain','9848466280','Near mvs college, christianpally, opposite true value showroom','Bhavani nagar colony 2-96/2','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-04T01:34:16.516Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(96,103,0,'Zaid','6302119072','Opposite of Malabar gold and diamonds ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-05T03:15:46.045Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(98,105,1,'Ayesha mahmeen','9063857682','Ramaiah bowli; one town; mahabubanagar','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-05T22:58:26.450Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(99,107,0,'Saad','9573989830','Road no 6d ','Bhageritha colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T02:47:54.809Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(100,108,0,'SADIYA TAZEEN','9949035807','RB palace function hall ','RB palace function hall ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T03:10:35.120Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(101,109,0,'Aman','9063508083','1-8-17/10 T.d gutta fire station, Nalbowli Durdkhna.','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T03:14:49.128Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(102,113,0,'Kamal','9052741123','Marlu ','Brundavan colony','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T05:00:45.506Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(103,114,0,'Md.khizar Ahmed','9052323490','RB palace functionhall','RB palace functionhall ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T05:49:47.686Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(104,71,1,'Karthik ','9110314975','Line 7 balajinagar ','','Mahabubnagar','Telangana','509001',16.728182000000000329,77.997190000000005127,'2026-02-06T06:25:28.389Z',NULL,NULL,NULL,'PXHW+7WQ, Lane No. 7, BalajiNagar Colony, Mahbubnagar, Telangana 509001'); -INSERT INTO addresses VALUES(105,115,0,'Nadera','9985232643','H.no.1-10-19/3/6/a','Opp two taps','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T10:26:24.248Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(106,118,0,'Nida','9966022031','Shiva Shakti nagar ','Shiva Shakti nagar kaman','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T22:55:26.874Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(107,119,0,'Mohd Mujahed ','9059318255','Madina masjid old hospital ','Madina masjid kumarvadi','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-07T07:06:08.579Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(108,120,0,'Raza','7013641457','Hno5-7-30/n/6 habeebnagar Mahabubnagar ','Near zamzam kiranam habeebnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-07T23:10:58.038Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(109,121,1,'Ram reddy','5457545442','Ganesh Nagar ','','Mahabubnagar','Telangana','509001',16.736355000000000536,77.986789999999999167,'2026-02-08T00:48:19.094Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(110,122,1,'MD SULTAN','9642339427','Hno 5-7-30/n/6 habeebnagar mahbubnagar','','Mahabubnagar','Telangana','509001',16.731957999999997888,77.989800000000002455,'2026-02-08T04:33:41.585Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(111,123,0,'Tahera begum','6305184261','Hn function hall veerana pet Mahabubnagar','Hn function hall veerana pet Mahabubnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-09T05:50:43.617Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(112,125,0,'Ayesha','8341078342','Opp redbucket biryani lane','Padmavati colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-09T07:56:36.555Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(113,127,1,'khaja aleem uddin','7989653339','7-133/4 sun city colony sha sahab gutta','razzak masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-10T05:41:41.020Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(114,114,0,'Zunera','9052333490','Rb palace','Kitchen side','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-14T01:01:09.499Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(115,131,1,'Fathima ','9966710280','Seshadri nagar colony street 0/7','bk reddy colony, beside bc hostel ','Mahabubnagar','Telangana','509001',16.739141000000000047,78.004074000000001021,'2026-02-15T00:33:30.890Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(116,134,1,'Kaleem','9133621540','Shah shah gutta','Beside ss gutta masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-16T04:02:17.458Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(117,136,0,'Arman ','9390785046','Employees colony ','Road no 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-17T07:30:03.424Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(118,137,1,'Abdul Gaffar','8555938403','6-107/5','Sheshadri Nagar Road no 1 ','Mahabubnagar','Telangana','509001',16.74219099999999738,78.006219999999997227,'2026-02-17T08:53:09.780Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(119,140,0,'Sara','9848738554','Golmasjid mahaboobnagar ','Zam zam opposite ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-17T13:48:37.631Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(120,141,0,'Inzamam','8919042963','Sr garden back side gate','Gol masjid','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-17T19:47:20.768Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(121,143,0,'Samir','7286888001','Employees colony ','Road 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-17T22:56:28.656Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(122,130,1,'Rahiman','9912951895','Flat no 202,Aayra manzil Beside veeresh kiranam near Ibrahim Masjid','Street no:6/B,Sheshadri Nagar','Mahabubnagar','Telangana','509001',16.738883999999998763,78.004279999999992512,'2026-02-17T23:27:21.024Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(123,132,1,'Muzammil ','9110526651','5-7-30/L/2/C ,opp ghousiya kiranam gol masjid ','','Mahabubnagar','Telangana','509001',16.732962000000000557,77.990610000000000212,'2026-02-18T00:28:03.816Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(124,145,0,'Naheed','8179264991','5-7-30/L/7/H Habeeb Nagar Near Rayeesa Masjid','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T03:46:16.471Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(125,138,0,'Mahek','8328369823','B k ready colony ','Near omer Farooq masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T05:15:32.019Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(126,147,1,'Mohammad ','9885579134','H.no.5-7-30/L/10/C','Opp rayeesa masjid line','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T05:15:47.126Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(127,148,0,'Abdul razeek ','9100529645','Shavia shakti nagar ','','Mahabubnagar','Telangana','509001',16.735370000000000523,77.995819999999991267,'2026-02-18T07:31:27.609Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(128,150,1,'Khaleel Ahmed','9700630611','B.k Reddy Colony near Umar Farooq masjid ,Aziz kiranam opposite lane','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T09:13:27.828Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(129,144,1,'Asad','7981140388','Yenugonda Opp Masjid','','Mahabubnagar','Telangana','509001',16.754571999999998688,78.036539999999998684,'2026-02-18T10:09:17.009Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(130,149,1,'Moulali ','8519862344','Rayeesa masjid ','Habeeb Nagar ','Mahabubnagar','Telangana','509001',16.730108000000001311,77.99151600000000073,'2026-02-18T22:18:46.343Z',NULL,16.731068000000000495,77.990629999999994126,NULL); -INSERT INTO addresses VALUES(131,156,0,'Arshed','9381371156','H.no4-2, beside wisdom school ','Ramaiah Bowli ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T23:58:56.880Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(132,99,1,'Saniya','7893499520','H.No: 4-2-7/2a Tayyabnagar Ramaiyah bowli ','Near Almas function hall opp lane ','Mahabubnagar','Telangana','509001',16.740355999999998459,77.991410000000005453,'2026-02-19T01:03:59.675Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(133,159,0,'Mohd.Mujahid','9182114853','14-107/2,suncity colony','Sheshadrinagar,near masjid e razzaq ','Mahabubnagar','Telangana','509001',16.742678000000001503,78.006249999999992539,'2026-02-19T03:40:34.252Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(134,160,1,'Mohmmed pro','9642417025','50','Ibadur raheman masjed opposite road Shiva Shakti road iron shop opposite ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T03:49:45.149Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(135,151,0,'Anjum','9346508676','H۔No:6-5-57/10 Habeeb nagar ','Beside Hanan masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T04:09:11.514Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(136,4,0,'Saniya','8688326100','Marlu , near Ali tower ','','Mahabubnagar','Telangana','509001',16.741472000000001685,78.011610000000004561,'2026-02-19T04:16:33.494Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(137,162,0,'Shaik Hussain','6302798105','Zehra School Noori Nagar','Masjid a noore Ilahi','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T05:08:26.454Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(138,32,1,'Md kaif','8919304169','14_6_13/9/a2','Pasula kistta reddy colony','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T06:14:03.397Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(139,163,0,'farhana begum','7032026589','Marlu , employes colony','Road no. 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T06:49:20.611Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(140,165,0,'Rumana ','6281349676','Govt hospital back side mahabubnagr ','Tawakal bekry mahabubnagr 8-1-39/1','Mahabubnagar','Telangana','509001',16.749452999999999036,78.00876999999999839,'2026-02-19T10:27:50.727Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(141,168,0,'Aladdin','8498937807','S.s gutta mahabubnagar bhagat Singh colony ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T03:29:56.135Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(142,169,1,'Ahmed Ali','7799420422','Near Mustafa masjid','Marlu','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T03:37:22.057Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(143,171,1,'Mohammed Mudassir','6281738569','H.No:5-7-30/N/9, Old Palamoor Location, Near Rayeesa Masjid','First Right turn after S.M.Tent House','Mahabubnagar','Telangana','509001',16.73113299999999981,77.990329999999996601,'2026-02-20T03:57:59.497Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(144,170,0,'Raheel','9901294914','1-10-79/B, ShahSaheb Gutta','Vasavi college lane.','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T03:59:16.614Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(145,176,0,'Arshad Ali','9885578647','14-8-120 Near Masjid e Mustafa','Marlu','Mahabubnagar','Telangana','509001',16.743597000000001173,78.010283999999998627,'2026-02-20T06:01:46.916Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(146,163,0,'farhana begum','7032026589','Marlu , employes colony mbnr','Road no. 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T07:20:46.386Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(147,181,1,'Khaled ','9885252564','1-10-87/3/A','1-10-87/3/A','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T13:34:13.988Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(148,184,1,'Shazia ','9160481161','Near puchamma temple bk reddy colony ','Near puchamma temple bk reddy colony ','Mahabubnagar','Telangana','509001',16.742122999999999422,78.0064849999999943,'2026-02-20T22:47:32.316Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(149,186,0,'Faiz ul Rahman ','9550541366','Masdoos Nagar ','','Mahabubnagar','Telangana','509001',16.732306999999999597,77.990759999999994533,'2026-02-21T03:45:12.460Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(150,187,0,'Mohd Fasi','9703691566','Habeebnagar ','Near Narmada Honda Showroom ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-21T05:40:59.163Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(151,189,0,'Chintu','8019231723','Road no 6B','BHAGEERATHA colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-21T13:02:30.211Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(152,178,0,'Abdul khadar ','7799492001','Nakha Pride apartment,door no 304','Near district court, telangana chowrasta ','Mahabubnagar','Telangana','509001',16.751510000000000566,77.992390000000000327,'2026-02-21T20:56:08.971Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(153,193,0,'Raza','7207490881','5-7-30/n/6 habeebnagar mbnr','Near zamzam kiranam','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-21T22:53:08.954Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(154,194,1,'Syed Aijaz','6302774527','Al noor school straight shashabgutta','Alkouser madarsa backnside','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T00:16:09.557Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(155,195,0,'Aditya','6301375032','Old palamoor','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T00:58:09.170Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(156,196,0,'Rani','8978874860','Vinayak Nagar, housing board colony ','Near edira Bypass X Road','Mahabubnagar','Telangana','509001',16.747900000000002229,78.04578999999999489,'2026-02-22T00:59:40.685Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(157,197,0,'Habeeb Hasham','7842321671','14-6-14/6','Beside masjid e ibrahim back road','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T01:07:34.153Z',NULL,NULL,NULL,'https://maps.app.goo.gl/P5sxjAGjgjELdnh37?g_st=ic'); -INSERT INTO addresses VALUES(158,198,0,'Atiya sikandar','7799311559','3-2-3, afzal manzil, beside hamdard clinic makka masjid road verrannapet','','Mahabubnagar','Telangana','509001',16.744990000000001373,77.98212399999999711,'2026-02-22T01:08:33.396Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(159,200,1,'Srinath','8328216406','Manyamkonda ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T02:02:31.789Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(160,201,0,'Imaduddin ','9121477995','Near Mothinagar government High school ','Near SV godam','Mahabubnagar','Telangana','509001',16.759189999999999365,77.997765000000001123,'2026-02-22T02:03:54.841Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(161,205,1,'nasir','9177629869','Hanuman pura masjid e jabbar','mahabubngar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T03:45:47.686Z',NULL,16.730706999999997997,77.988939999999997709,NULL); -INSERT INTO addresses VALUES(162,206,0,'M.A MALIK','9000452637','14-7-91/2/1/C','Marlu Jr palace','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T04:21:36.419Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(163,208,0,'Amer','9618770682','H no 6-3-44/D/10/2/1, hanuman pura,Imran kiranam','9059566856','Mahabubnagar','Telangana','509001',16.729278999999999122,77.989990000000002368,'2026-02-22T04:39:03.925Z',NULL,16.729820000000000135,77.990039999999991593,NULL); -INSERT INTO addresses VALUES(164,209,0,'Shakeel','7993744243','Shiva shakthi nagar','telugu geri','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T04:45:09.965Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(165,212,0,'Salma ','7670818331','5-5-11 dist jail khana riyaz ul Jannah masjid old palamoor mahabubnagar ','Riyaz ul Jannah masjid mahabubnagar telengana 509001','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T06:04:13.075Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(166,213,1,'Ahmed ','9392816978','Habeeb nagar ','Zam Zam kiranam ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T08:01:50.655Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(167,50,0,'Shaista','9390338662','Santosh Nagar colony beside maheshwari theatre ','','Mahabubnagar','Telangana','509001',16.750419999999999198,78.033630000000000492,'2026-02-22T14:05:23.161Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(168,223,0,'Syed','9398876512','S.S gutta 2 nal galli ','Tipu sultan chowk ','Mahabubnagar','Telangana','509001',16.746738000000000567,78.00908999999999871,'2026-02-23T03:47:19.976Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(169,224,1,'Saud Amodi ','8374782337','Shah Sahab gutta','Shah Sahab Gupta A1 chicken center Gali ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T04:40:34.997Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(170,225,0,'Akheel ','9666426396','3-3-48','Nagar mahabubnagar Telangana ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T06:45:56.079Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(171,226,0,'Anas Affuaf ','9391479179','Near Taiba masjid Ramaiah bowli ','Mahabubnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T08:32:01.241Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(172,228,1,'Abdur rahman','9966138248','Plot 22 Opp children''s park last lane z and z colony ','1 town back side alis mart colony','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T22:39:52.264Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(173,229,1,'Abdul kaleem','9885575791','5-4-85/f/14/2','Opposite Amena masjid tayyab nagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T01:41:59.722Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(174,230,0,'Mehreen','9398645142','Opposite to bright school, marlu','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T01:44:03.723Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(175,219,1,'Naseer','7569573638','5-3-71/2/C masdoos nagar near gouds colony','','Mahabubnagar','Telangana','509001',16.735652999999999224,77.989829999999997767,'2026-02-24T02:55:23.438Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(176,158,0,'Shabana ','9381289050','Wisdom school near','Ramaiah bowli','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T04:02:06.921Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(177,232,1,'Sultan bahiyal','9059525115','Adjcent to laxmi tiffin centre, old hospital road, madina masjid ','','Mahabubnagar','Telangana','509001',16.74373200000000228,77.985489999999995092,'2026-02-24T14:51:10.955Z',NULL,NULL,NULL,NULL); -CREATE TABLE IF NOT EXISTS "cart_items" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "quantity" REAL NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO cart_items VALUES(32,3,3,1.0,'2025-11-24T06:25:02.963Z'); -INSERT INTO cart_items VALUES(48,3,9,2.0,'2025-11-28T09:43:04.203Z'); -INSERT INTO cart_items VALUES(49,7,11,1.0,'2025-11-28T22:20:23.104Z'); -INSERT INTO cart_items VALUES(99,4,11,1.0,'2025-11-29T11:36:06.140Z'); -INSERT INTO cart_items VALUES(100,4,12,1.0,'2025-12-02T09:50:53.817Z'); -INSERT INTO cart_items VALUES(102,4,3,2.0,'2025-12-02T09:53:19.217Z'); -INSERT INTO cart_items VALUES(108,6,11,1.0,'2025-12-06T01:58:02.112Z'); -INSERT INTO cart_items VALUES(109,6,3,1.0,'2025-12-06T02:02:59.975Z'); -INSERT INTO cart_items VALUES(112,10,1,1.0,'2025-12-07T23:18:24.863Z'); -INSERT INTO cart_items VALUES(114,2,12,2.0,'2025-12-09T06:57:51.258Z'); -INSERT INTO cart_items VALUES(128,11,1,1.0,'2025-12-14T07:52:10.000Z'); -CREATE TABLE IF NOT EXISTS "complaints" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "order_id" INTEGER, "complaint_body" TEXT NOT NULL, "is_resolved" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "response" TEXT, "images" TEXT); -INSERT INTO complaints VALUES(1,3,1,'Some eggs are broken',1,'2025-11-19T11:01:59.549Z','We sent you the apples not eggs 😁',NULL); -INSERT INTO complaints VALUES(2,1,54,'This item is not good at all. You guys should stop this immediately',1,'2025-11-29T11:53:25.720Z','Okk',NULL); -INSERT INTO complaints VALUES(3,1,NULL,'Test Complaint',1,'2025-11-29T23:22:44.507Z','Hi','["complaint-images/1764478363144-0"]'); -INSERT INTO complaints VALUES(4,17,NULL,'Hello',1,'2025-12-19T03:04:32.924Z','Hi',NULL); -INSERT INTO complaints VALUES(5,17,NULL,'Hello',1,'2025-12-19T04:02:59.187Z','','["complaint-images/1766136777180-0"]'); -INSERT INTO complaints VALUES(6,15,NULL,'THIS ITEM IS NOT GOOD REMOVE THIS ITEM 🚫',1,'2025-12-19T07:17:34.114Z','Ok',NULL); -INSERT INTO complaints VALUES(7,17,NULL,'Gg',1,'2025-12-20T21:38:30.627Z','Okk',NULL); -INSERT INTO complaints VALUES(8,17,NULL,'Hh',1,'2025-12-23T11:48:56.053Z','Bla',NULL); -INSERT INTO complaints VALUES(9,1,NULL,'Funny comparing',1,'2026-01-15T13:22:10.666Z','Resolving as test ','["complaint-images/1768503130322-0"]'); -INSERT INTO complaints VALUES(10,22,NULL,'Raise a complaint scenario when order is placed and at shipping status',1,'2026-01-18T09:59:59.381Z','Okk',NULL); -INSERT INTO complaints VALUES(11,22,NULL,'Hi product quality is not good can you please do a replacement for this.',1,'2026-01-18T21:59:20.647Z','No',NULL); -INSERT INTO complaints VALUES(12,22,66,'Bad quality nai paki papai aur',1,'2026-01-28T10:42:13.347Z','"From next time, we''ll take care.','["complaint-images/1769616732515-0","complaint-images/1769616732516-1"]'); -INSERT INTO complaints VALUES(13,54,81,'I needed it quickly',1,'2026-01-31T02:03:32.243Z','Not answered call',NULL); -INSERT INTO complaints VALUES(14,46,137,'Yes',1,'2026-02-03T07:34:35.816Z','Resolvedd',NULL); -INSERT INTO complaints VALUES(15,81,143,replace('Is someone looking at complaints :) \n\nTest','\n',char(10)),1,'2026-02-03T10:20:23.832Z','Yeah... Complaints are being actively monitored. We welcome feedback and criticism',NULL); -INSERT INTO complaints VALUES(16,121,NULL,'We by its sorry please cancel it',1,'2026-02-08T00:56:29.295Z','',NULL); -INSERT INTO complaints VALUES(17,121,NULL,'It is only 50 right why RS 60 showing',1,'2026-02-08T04:33:16.782Z','It''s the authentic rate',NULL); -INSERT INTO complaints VALUES(18,119,NULL,'I need the order early',1,'2026-02-18T01:58:37.530Z','',NULL); -INSERT INTO complaints VALUES(19,82,NULL,'Where order',1,'2026-02-19T05:01:41.560Z','',NULL); -INSERT INTO complaints VALUES(20,162,NULL,'Ky time hota oder aana',1,'2026-02-19T05:11:21.737Z','',NULL); -INSERT INTO complaints VALUES(21,82,NULL,'Its late',1,'2026-02-19T05:30:11.017Z','Sorry. Will take care from next time',NULL); -INSERT INTO complaints VALUES(22,160,NULL,'Bohot Acha items good and fresh hai sab chez think u freshyo',1,'2026-02-19T06:42:28.833Z','Thank you...our service will improve further. ',NULL); -INSERT INTO complaints VALUES(23,225,NULL,'Akheel',1,'2026-02-23T06:55:20.175Z','Complaint not clear',NULL); -INSERT INTO complaints VALUES(24,225,NULL,'Cash',1,'2026-02-23T06:56:45.780Z','Complaint not clear',NULL); -INSERT INTO complaints VALUES(25,225,NULL,'Cash',1,'2026-02-23T07:00:17.914Z','Complaint not clear',NULL); -INSERT INTO complaints VALUES(58,1,385,'No order',0,'2026-03-22T04:45:39.793Z',NULL,'["complaint-images/1774174538370.jpg"]'); -INSERT INTO complaints VALUES(59,1,385,'Hii',0,'2026-03-22T04:57:51.234Z',NULL,'["complaint-images/1774175270043.jpg"]'); -INSERT INTO complaints VALUES(60,1,385,'Another fest',0,'2026-03-22T05:06:02.150Z',NULL,'["complaint-images/1774175760765.jpg"]'); -INSERT INTO complaints VALUES(61,1,384,'Testing again',0,'2026-03-22T05:08:55.745Z',NULL,'["complaint-images/1774175933889.jpg"]'); -INSERT INTO complaints VALUES(62,1,383,'Last test',1,'2026-03-22T05:10:05.820Z','Doneee','["complaint-images/1774176003038.jpg","complaint-images/1774176003229.jpg","complaint-images/1774176003414.jpg"]'); -CREATE TABLE IF NOT EXISTS "coupon_applicable_products" ("id" INTEGER PRIMARY KEY, "coupon_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL); -INSERT INTO coupon_applicable_products VALUES(1,8,25); -CREATE TABLE IF NOT EXISTS "coupon_applicable_users" ("id" INTEGER PRIMARY KEY, "coupon_id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL); -INSERT INTO coupon_applicable_users VALUES(1,11,1); -INSERT INTO coupon_applicable_users VALUES(2,11,4); -INSERT INTO coupon_applicable_users VALUES(3,13,1); -INSERT INTO coupon_applicable_users VALUES(4,14,1); -INSERT INTO coupon_applicable_users VALUES(5,15,1); -INSERT INTO coupon_applicable_users VALUES(6,18,145); -CREATE TABLE IF NOT EXISTS "coupon_usage" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "coupon_id" INTEGER NOT NULL, "used_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "order_id" INTEGER, "order_item_id" INTEGER); -INSERT INTO coupon_usage VALUES(1,2,4,'2025-11-25T00:59:10.947Z',NULL,NULL); -INSERT INTO coupon_usage VALUES(2,1,4,'2025-11-25T05:22:34.453Z',NULL,NULL); -INSERT INTO coupon_usage VALUES(3,1,4,'2025-11-27T06:03:27.515Z',NULL,NULL); -INSERT INTO coupon_usage VALUES(4,1,3,'2025-11-28T05:42:31.979Z',27,NULL); -INSERT INTO coupon_usage VALUES(5,1,4,'2025-11-28T05:42:31.979Z',27,NULL); -INSERT INTO coupon_usage VALUES(6,1,5,'2025-11-28T05:42:31.979Z',27,NULL); -INSERT INTO coupon_usage VALUES(7,1,4,'2025-11-28T08:13:29.610Z',28,39); -INSERT INTO coupon_usage VALUES(8,1,4,'2025-11-28T08:13:29.610Z',28,40); -INSERT INTO coupon_usage VALUES(9,1,4,'2025-11-28T22:34:42.745Z',32,48); -INSERT INTO coupon_usage VALUES(10,1,4,'2025-11-28T22:34:42.745Z',32,49); -INSERT INTO coupon_usage VALUES(11,1,4,'2025-11-28T22:34:42.745Z',32,50); -INSERT INTO coupon_usage VALUES(12,1,4,'2025-11-28T22:36:51.615Z',33,51); -INSERT INTO coupon_usage VALUES(13,1,4,'2025-11-28T22:52:17.337Z',34,52); -INSERT INTO coupon_usage VALUES(14,1,4,'2025-11-28T22:52:17.337Z',34,53); -INSERT INTO coupon_usage VALUES(15,1,4,'2025-11-28T22:52:17.337Z',34,54); -INSERT INTO coupon_usage VALUES(16,1,4,'2025-11-28T22:58:19.949Z',35,55); -INSERT INTO coupon_usage VALUES(17,1,4,'2025-11-28T23:17:00.736Z',39,64); -INSERT INTO coupon_usage VALUES(18,1,4,'2025-11-28T23:17:00.736Z',39,65); -INSERT INTO coupon_usage VALUES(19,1,4,'2025-11-28T23:17:56.567Z',40,66); -INSERT INTO coupon_usage VALUES(20,1,4,'2025-11-28T23:17:56.567Z',40,67); -INSERT INTO coupon_usage VALUES(21,1,4,'2025-11-28T23:22:24.357Z',41,68); -INSERT INTO coupon_usage VALUES(22,1,4,'2025-11-28T23:22:24.357Z',41,69); -INSERT INTO coupon_usage VALUES(23,1,4,'2025-11-28T23:23:26.876Z',42,70); -INSERT INTO coupon_usage VALUES(24,1,4,'2025-11-28T23:23:26.876Z',42,71); -INSERT INTO coupon_usage VALUES(25,1,4,'2025-11-28T23:31:56.572Z',43,72); -INSERT INTO coupon_usage VALUES(26,1,4,'2025-11-28T23:31:56.572Z',43,73); -INSERT INTO coupon_usage VALUES(27,1,4,'2025-11-28T23:31:56.572Z',43,74); -INSERT INTO coupon_usage VALUES(28,1,4,'2025-11-28T23:33:28.518Z',44,75); -INSERT INTO coupon_usage VALUES(29,1,4,'2025-11-28T23:33:28.518Z',44,76); -INSERT INTO coupon_usage VALUES(30,1,4,'2025-11-28T23:33:28.518Z',44,77); -INSERT INTO coupon_usage VALUES(31,1,4,'2025-11-28T23:35:19.817Z',45,78); -INSERT INTO coupon_usage VALUES(32,1,4,'2025-11-28T23:35:19.817Z',45,79); -INSERT INTO coupon_usage VALUES(33,1,4,'2025-11-28T23:35:19.817Z',45,80); -INSERT INTO coupon_usage VALUES(34,1,4,'2025-11-28T23:42:35.845Z',46,81); -INSERT INTO coupon_usage VALUES(35,1,4,'2025-11-28T23:42:35.845Z',46,82); -INSERT INTO coupon_usage VALUES(36,1,4,'2025-11-28T23:42:35.845Z',46,83); -INSERT INTO coupon_usage VALUES(37,1,4,'2025-11-29T00:35:34.926Z',47,84); -INSERT INTO coupon_usage VALUES(38,1,4,'2025-11-29T00:35:34.926Z',47,85); -INSERT INTO coupon_usage VALUES(39,1,3,'2025-11-29T00:47:38.510Z',48,86); -INSERT INTO coupon_usage VALUES(40,1,3,'2025-11-29T00:47:38.510Z',48,87); -INSERT INTO coupon_usage VALUES(41,1,3,'2025-11-29T00:47:38.510Z',48,88); -INSERT INTO coupon_usage VALUES(42,1,4,'2025-11-29T00:47:38.510Z',48,86); -INSERT INTO coupon_usage VALUES(43,1,4,'2025-11-29T00:47:38.510Z',48,87); -INSERT INTO coupon_usage VALUES(44,1,4,'2025-11-29T00:47:38.510Z',48,88); -INSERT INTO coupon_usage VALUES(45,1,3,'2025-11-29T00:51:58.214Z',49,89); -INSERT INTO coupon_usage VALUES(46,1,3,'2025-11-29T00:51:58.214Z',49,90); -INSERT INTO coupon_usage VALUES(47,1,3,'2025-11-29T00:51:58.214Z',49,91); -INSERT INTO coupon_usage VALUES(48,1,3,'2025-11-29T00:51:58.214Z',49,92); -INSERT INTO coupon_usage VALUES(49,1,4,'2025-11-29T00:51:58.214Z',49,89); -INSERT INTO coupon_usage VALUES(50,1,4,'2025-11-29T00:51:58.214Z',49,90); -INSERT INTO coupon_usage VALUES(51,1,4,'2025-11-29T00:51:58.214Z',49,91); -INSERT INTO coupon_usage VALUES(52,1,4,'2025-11-29T00:51:58.214Z',49,92); -INSERT INTO coupon_usage VALUES(53,1,3,'2025-11-29T01:06:19.496Z',50,NULL); -INSERT INTO coupon_usage VALUES(54,1,4,'2025-11-29T01:06:19.496Z',50,NULL); -INSERT INTO coupon_usage VALUES(55,1,4,'2025-11-29T01:57:48.593Z',53,NULL); -INSERT INTO coupon_usage VALUES(56,2,5,'2025-12-04T23:32:41.260Z',55,NULL); -INSERT INTO coupon_usage VALUES(57,17,5,'2025-12-19T03:46:32.077Z',74,NULL); -INSERT INTO coupon_usage VALUES(58,17,7,'2025-12-19T11:01:02.235Z',85,NULL); -INSERT INTO coupon_usage VALUES(59,2,8,'2025-12-27T12:09:01.970Z',117,NULL); -INSERT INTO coupon_usage VALUES(60,2,8,'2025-12-28T08:41:24.922Z',121,NULL); -INSERT INTO coupon_usage VALUES(61,2,10,'2026-01-01T03:14:07.880Z',125,NULL); -INSERT INTO coupon_usage VALUES(62,2,12,'2026-01-01T06:40:15.200Z',127,NULL); -INSERT INTO coupon_usage VALUES(63,1,13,'2026-01-06T07:21:22.063Z',132,NULL); -INSERT INTO coupon_usage VALUES(64,21,5,'2026-01-06T11:13:08.886Z',134,NULL); -INSERT INTO coupon_usage VALUES(65,2,16,'2026-01-15T10:38:51.425Z',149,NULL); -INSERT INTO coupon_usage VALUES(66,2,16,'2026-01-16T07:20:20.484Z',151,NULL); -INSERT INTO coupon_usage VALUES(67,2,16,'2026-01-16T07:20:39.331Z',152,NULL); -INSERT INTO coupon_usage VALUES(68,2,16,'2026-01-16T07:21:00.372Z',153,NULL); -INSERT INTO coupon_usage VALUES(69,2,16,'2026-01-16T07:21:27.067Z',154,NULL); -INSERT INTO coupon_usage VALUES(70,2,16,'2026-01-16T07:22:32.774Z',155,NULL); -INSERT INTO coupon_usage VALUES(71,7,17,'2026-02-01T00:28:05.860Z',191,NULL); -INSERT INTO coupon_usage VALUES(72,38,17,'2026-02-01T02:19:04.935Z',194,NULL); -INSERT INTO coupon_usage VALUES(77,7,17,'2026-02-02T08:27:54.169Z',206,NULL); -INSERT INTO coupon_usage VALUES(78,1,17,'2026-02-02T12:53:25.042Z',208,NULL); -INSERT INTO coupon_usage VALUES(79,38,17,'2026-02-02T22:40:01.684Z',209,NULL); -INSERT INTO coupon_usage VALUES(80,38,17,'2026-02-03T08:43:00.805Z',215,NULL); -INSERT INTO coupon_usage VALUES(81,96,17,'2026-02-04T01:36:25.150Z',217,NULL); -INSERT INTO coupon_usage VALUES(82,81,17,'2026-02-04T02:41:07.529Z',218,NULL); -INSERT INTO coupon_usage VALUES(83,24,17,'2026-02-05T04:00:30.760Z',221,NULL); -INSERT INTO coupon_usage VALUES(84,115,17,'2026-02-06T10:26:39.549Z',226,NULL); -INSERT INTO coupon_usage VALUES(85,103,17,'2026-02-06T23:28:37.564Z',230,NULL); -INSERT INTO coupon_usage VALUES(86,103,17,'2026-02-06T23:36:55.440Z',231,NULL); -INSERT INTO coupon_usage VALUES(87,120,17,'2026-02-07T23:11:07.314Z',235,NULL); -INSERT INTO coupon_usage VALUES(88,2,17,'2026-02-10T21:59:33.775Z',250,NULL); -INSERT INTO coupon_usage VALUES(89,2,17,'2026-02-16T01:21:48.065Z',256,NULL); -INSERT INTO coupon_usage VALUES(90,134,17,'2026-02-16T04:14:55.536Z',257,NULL); -INSERT INTO coupon_usage VALUES(91,120,17,'2026-02-17T00:44:27.989Z',259,NULL); -INSERT INTO coupon_usage VALUES(92,145,17,'2026-02-18T03:46:31.310Z',271,NULL); -INSERT INTO coupon_usage VALUES(93,81,17,'2026-02-21T03:19:33.184Z',312,NULL); -INSERT INTO coupon_usage VALUES(94,7,17,'2026-02-21T12:32:34.322Z',318,NULL); -INSERT INTO coupon_usage VALUES(95,141,17,'2026-02-21T19:42:40.636Z',319,NULL); -INSERT INTO coupon_usage VALUES(96,120,17,'2026-02-21T22:34:37.455Z',321,NULL); -INSERT INTO coupon_usage VALUES(97,193,17,'2026-02-21T22:53:17.777Z',322,NULL); -INSERT INTO coupon_usage VALUES(98,130,17,'2026-02-21T23:38:18.551Z',324,NULL); -INSERT INTO coupon_usage VALUES(99,223,17,'2026-02-23T03:47:30.752Z',334,NULL); -CREATE TABLE IF NOT EXISTS "coupons" ("id" INTEGER PRIMARY KEY, "is_user_based" INTEGER NOT NULL DEFAULT false, "discount_percent" REAL, "flat_discount" REAL, "min_order" REAL, "created_by" INTEGER, "max_value" REAL, "is_invalidated" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_apply_for_all" INTEGER NOT NULL DEFAULT false, "valid_till" TEXT, "max_limit_for_user" INTEGER, "coupon_code" TEXT NOT NULL, "product_ids" INTEGER, "exclusive_apply" INTEGER NOT NULL DEFAULT false); -INSERT INTO coupons VALUES(1,0,20.0,NULL,500.0,1,NULL,1,'2025-11-21T08:44:20.264Z',1,'2025-11-29T18:30:00.000Z',NULL,'BIG50',NULL,0); -INSERT INTO coupons VALUES(2,0,50.0,NULL,1000.0,1,500.0,1,'2025-11-22T03:29:29.904Z',1,'2026-01-06T18:30:00.000Z',1,'SAVEMORE',NULL,0); -INSERT INTO coupons VALUES(3,0,20.0,NULL,5000.0,1,NULL,0,'2025-11-24T06:11:19.047Z',1,'2025-12-24T18:30:00.000Z',NULL,'BIG100',NULL,0); -INSERT INTO coupons VALUES(4,0,20.0,NULL,500.0,1,NULL,0,'2025-11-24T06:13:06.090Z',1,'2025-11-29T18:30:00.000Z',NULL,'BIG150',NULL,0); -INSERT INTO coupons VALUES(5,0,NULL,150.0,700.0,1,150.0,0,'2025-11-26T14:20:29.369Z',1,'2026-01-29T14:20:00.000Z',1,'FIRST150',NULL,0); -INSERT INTO coupons VALUES(6,1,NULL,4686.0,0.0,1,4686.0,0,'2025-11-29T01:35:51.215Z',0,'2025-12-29T01:35:51.214Z',1,'MOHORD050',NULL,0); -INSERT INTO coupons VALUES(7,1,NULL,22.0,22.0,1,22.0,0,'2025-12-19T10:00:13.297Z',0,'2026-01-18T10:00:13.297Z',1,'BHA82',NULL,0); -INSERT INTO coupons VALUES(8,0,10.0,20.0,200.0,1,20.0,1,'2025-12-22T05:20:27.988Z',1,'2025-12-29T18:30:00.000Z',6,'135',NULL,0); -INSERT INTO coupons VALUES(9,1,NULL,236.0,236.0,1,236.0,0,'2025-12-27T12:04:22.196Z',0,'2026-01-26T12:04:22.195Z',1,'MOH115',NULL,0); -INSERT INTO coupons VALUES(10,1,NULL,128.41999999999997861,128.41999999999997861,1,128.41999999999997861,0,'2025-12-27T19:11:57.259Z',0,'2026-01-26T19:11:57.259Z',1,'868117',NULL,0); -INSERT INTO coupons VALUES(11,1,20.0,NULL,500.0,1,250.0,0,'2026-01-01T04:39:53.608Z',0,'2026-01-30T04:39:00.000Z',3,'SHAFITEST2',NULL,0); -INSERT INTO coupons VALUES(12,0,10.0,NULL,500.0,1,50.0,0,'2026-01-01T06:39:22.230Z',1,'2026-01-07T06:37:00.000Z',1,'SAVEMORE0',NULL,0); -INSERT INTO coupons VALUES(13,1,30.0,NULL,2000.0,1,850.0,0,'2026-01-06T07:19:44.069Z',0,'2026-01-30T07:19:00.000Z',5,'TESTDISCOUNT',NULL,0); -INSERT INTO coupons VALUES(14,1,20.0,NULL,1200.0,1,600.0,0,'2026-01-06T13:10:01.161Z',0,'2026-02-27T13:09:00.000Z',4,'TESTCOUPON3',NULL,0); -INSERT INTO coupons VALUES(15,1,25.0,NULL,1000.0,1,250.0,0,'2026-01-12T03:28:20.356Z',0,'2026-01-30T07:46:00.000Z',2,'RESERVE_TEST34',NULL,0); -INSERT INTO coupons VALUES(16,0,10.0,NULL,500.0,1,50.0,0,'2026-01-15T10:27:07.302Z',1,'2026-01-19T18:30:00.000Z',2,'SAVEOFF10U',NULL,0); -INSERT INTO coupons VALUES(17,0,10.0,NULL,359.0,1,50.0,0,'2026-01-25T13:00:26.545Z',1,'2026-03-30T18:30:00.000Z',3,'START10',NULL,0); -INSERT INTO coupons VALUES(18,1,10.0,NULL,100.0,1,50.0,0,'2026-02-18T03:44:14.005Z',0,'2026-02-28T03:44:00.000Z',2,'NAHEED10',NULL,0); -CREATE TABLE IF NOT EXISTS "delivery_slot_info" ("id" INTEGER PRIMARY KEY, "delivery_time" TEXT NOT NULL, "freeze_time" TEXT NOT NULL, "is_active" INTEGER NOT NULL DEFAULT true, "delivery_sequence" TEXT, "is_flash" INTEGER NOT NULL DEFAULT false, "group_ids" TEXT, "is_capacity_full" INTEGER NOT NULL DEFAULT false); -INSERT INTO delivery_slot_info VALUES(1,'2025-11-25T20:00:00.000Z','2025-11-21T18:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(2,'2025-11-30T01:39:00.000Z','2025-11-29T01:40:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(3,'2025-11-22T19:01:00.000Z','2025-11-23T19:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(4,'2025-11-29T19:30:00.000Z','2025-11-29T17:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(5,'2025-12-10T00:00:00.000Z','2025-12-06T19:50:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(6,'2025-12-10T18:59:00.000Z','2025-12-10T18:59:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(7,'2025-12-15T03:00:00.000Z','2025-12-15T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(8,'2025-12-24T14:00:00.000Z','2025-12-25T00:00:00.000Z',1,'{"1":[72,71,67],"2":[70],"3":[69,73,74,76,75]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(9,'2025-12-24T23:00:00.000Z','2025-12-24T21:00:00.000Z',1,'{"1":[62,60]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(10,'2025-12-25T05:20:00.000Z','2025-12-24T18:25:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(11,'2025-12-20T16:00:00.000Z','2025-12-19T07:46:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(12,'2025-12-22T16:00:00.000Z','2025-12-23T17:51:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(13,'2025-12-19T09:52:00.000Z','2025-12-19T10:52:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(14,'2025-12-19T10:05:00.000Z','2025-12-19T12:05:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(15,'2025-12-19T10:08:00.000Z','2025-12-18T14:08:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(16,'2025-12-29T21:00:00.000Z','2025-12-29T19:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(17,'2025-12-30T15:10:00.000Z','2025-12-30T19:37:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(18,'2025-12-30T08:00:00.000Z','2025-12-29T18:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(19,'2025-12-28T19:00:00.000Z','2025-12-28T19:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(20,'2026-01-04T21:00:00.000Z','2026-01-04T19:00:00.000Z',1,'{"1":[123,124]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(21,'2026-01-05T22:00:00.000Z','2026-01-05T21:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(22,'2026-01-09T22:00:00.000Z','2026-01-09T21:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(23,'2026-01-22T03:00:00.000Z','2026-01-20T03:00:00.000Z',1,'{"1":[149,151,139,142,148]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(24,'2026-01-13T04:27:08.055Z','2026-01-13T04:27:08.055Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(25,'2026-01-13T04:46:11.387Z','2026-01-13T04:46:11.387Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(26,'2026-01-14T13:38:58.391Z','2026-01-14T13:38:58.391Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(27,'2026-01-14T13:53:52.798Z','2026-01-14T13:53:52.798Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(28,'2026-01-14T13:54:46.003Z','2026-01-14T13:54:46.003Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(29,'2026-01-14T13:59:46.565Z','2026-01-14T13:59:46.565Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(30,'2026-01-14T14:07:19.783Z','2026-01-14T14:07:19.783Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(31,'2026-01-15T20:00:00.000Z','2026-01-15T20:00:00.000Z',1,'{"1":[150]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(32,'2026-01-16T21:00:00.000Z','2026-01-16T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(33,'2026-01-17T00:16:00.000Z','2026-01-17T00:16:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(34,'2026-01-21T03:00:00.000Z','2026-01-20T23:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(35,'2026-01-23T20:00:00.000Z','2026-01-23T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(37,'2026-01-24T00:00:00.000Z','2026-01-23T23:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(38,'2026-01-24T01:00:00.000Z','2026-01-24T00:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(39,'2026-01-29T08:00:00.000Z','2026-01-29T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(40,'2026-01-23T08:00:00.000Z','2026-01-23T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(41,'2026-01-25T20:00:00.000Z','2026-01-25T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(43,'2026-01-25T21:00:00.000Z','2026-01-25T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(44,'2026-01-26T00:00:00.000Z','2026-01-26T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(45,'2026-01-26T01:00:00.000Z','2026-01-26T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(46,'2026-01-26T07:00:00.000Z','2026-01-26T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(47,'2026-01-26T20:00:00.000Z','2026-01-26T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(48,'2026-01-26T21:00:00.000Z','2026-01-26T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(49,'2026-01-27T00:00:00.000Z','2026-01-27T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(50,'2026-01-27T20:00:00.000Z','2026-01-27T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(51,'2026-01-27T21:00:00.000Z','2026-01-27T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(52,'2026-01-28T00:00:00.000Z','2026-01-28T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(53,'2026-01-28T01:00:00.000Z','2026-01-28T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(54,'2026-01-28T07:00:00.000Z','2026-01-28T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(55,'2026-01-28T20:00:00.000Z','2026-01-28T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(56,'2026-01-29T20:00:00.000Z','2026-01-29T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(57,'2026-01-29T21:00:00.000Z','2026-01-29T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(58,'2026-01-30T00:00:00.000Z','2026-01-30T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(59,'2026-01-30T01:00:00.000Z','2026-01-30T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(60,'2026-01-30T07:00:00.000Z','2026-01-30T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(61,'2026-01-30T08:00:00.000Z','2026-01-30T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(62,'2026-01-30T20:00:00.000Z','2026-01-30T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(63,'2026-01-30T21:00:00.000Z','2026-01-30T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(64,'2026-01-31T00:00:00.000Z','2026-01-31T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(65,'2026-01-31T01:00:00.000Z','2026-01-31T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(66,'2026-01-31T07:00:00.000Z','2026-01-31T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(67,'2026-01-31T08:00:00.000Z','2026-01-31T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(68,'2026-01-31T20:00:00.000Z','2026-01-31T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(69,'2026-01-31T21:00:00.000Z','2026-01-31T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(70,'2026-02-01T00:00:00.000Z','2026-02-01T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(71,'2026-02-01T04:00:00.000Z','2026-02-01T03:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(72,'2026-02-01T07:00:00.000Z','2026-02-01T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(73,'2026-02-01T08:00:00.000Z','2026-02-01T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(74,'2026-02-01T20:00:00.000Z','2026-02-01T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(75,'2026-02-01T21:00:00.000Z','2026-02-01T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(76,'2026-02-02T00:00:00.000Z','2026-02-02T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(77,'2026-02-02T01:00:00.000Z','2026-02-02T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(78,'2026-02-02T04:00:00.000Z','2026-02-02T04:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(79,'2026-02-02T07:00:00.000Z','2026-02-02T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(80,'2026-02-02T08:00:00.000Z','2026-02-02T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(81,'2026-02-02T20:00:00.000Z','2026-02-02T20:00:00.000Z',1,NULL,0,'[5,7,8,10]',0); -INSERT INTO delivery_slot_info VALUES(82,'2026-02-02T21:00:00.000Z','2026-02-02T21:00:00.000Z',1,NULL,0,'[5,7,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(83,'2026-02-03T00:00:00.000Z','2026-02-03T00:00:00.000Z',1,NULL,0,'[5,7,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(84,'2026-02-03T01:00:00.000Z','2026-02-03T01:00:00.000Z',1,NULL,0,'[8,7,5,10,9]',0); -INSERT INTO delivery_slot_info VALUES(85,'2026-02-03T07:00:00.000Z','2026-02-03T07:00:00.000Z',1,NULL,0,'[8,5,10]',0); -INSERT INTO delivery_slot_info VALUES(86,'2026-02-03T08:00:00.000Z','2026-02-03T08:00:00.000Z',1,NULL,0,'[8,5,10]',0); -INSERT INTO delivery_slot_info VALUES(87,'2026-02-03T04:00:00.000Z','2026-02-03T04:00:00.000Z',1,NULL,0,'[5,7,8,10]',0); -INSERT INTO delivery_slot_info VALUES(88,'2026-02-03T20:00:00.000Z','2026-02-03T20:00:00.000Z',1,NULL,0,'[10,8,5,7]',0); -INSERT INTO delivery_slot_info VALUES(89,'2026-02-03T21:00:00.000Z','2026-02-03T21:00:00.000Z',1,NULL,0,'[8,5,10]',0); -INSERT INTO delivery_slot_info VALUES(90,'2026-02-04T00:00:00.000Z','2026-02-04T00:00:00.000Z',1,NULL,0,'[8,5,10,7,9]',0); -INSERT INTO delivery_slot_info VALUES(91,'2026-02-04T01:00:00.000Z','2026-02-04T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(92,'2026-02-04T04:00:00.000Z','2026-02-04T04:00:00.000Z',1,NULL,0,'[5,8,10]',0); -INSERT INTO delivery_slot_info VALUES(93,'2026-02-04T07:00:00.000Z','2026-02-04T07:00:00.000Z',1,NULL,0,'[10,8,5]',0); -INSERT INTO delivery_slot_info VALUES(94,'2026-02-04T08:00:00.000Z','2026-02-04T08:00:00.000Z',1,NULL,0,'[10,8,5]',0); -INSERT INTO delivery_slot_info VALUES(95,'2026-02-04T20:00:00.000Z','2026-02-04T19:45:00.000Z',1,NULL,0,'[10,8,5,7]',0); -INSERT INTO delivery_slot_info VALUES(96,'2026-02-04T21:00:00.000Z','2026-02-04T20:45:00.000Z',1,NULL,0,'[8,5,10]',0); -INSERT INTO delivery_slot_info VALUES(97,'2026-02-05T00:00:00.000Z','2026-02-04T23:45:00.000Z',1,NULL,0,'[8,5,10,7,9]',0); -INSERT INTO delivery_slot_info VALUES(98,'2026-02-05T01:00:00.000Z','2026-02-05T00:45:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(99,'2026-02-05T04:00:00.000Z','2026-02-05T03:45:00.000Z',1,NULL,0,'[5,8,10]',0); -INSERT INTO delivery_slot_info VALUES(100,'2026-02-05T07:00:00.000Z','2026-02-05T06:45:00.000Z',1,NULL,0,'[10,8,5]',0); -INSERT INTO delivery_slot_info VALUES(101,'2026-02-05T20:00:00.000Z','2026-02-05T20:00:00.000Z',1,NULL,0,'[8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(102,'2026-02-05T21:00:00.000Z','2026-02-05T21:00:00.000Z',1,NULL,0,'[8,7,5,9,10,3]',0); -INSERT INTO delivery_slot_info VALUES(103,'2026-02-06T00:00:00.000Z','2026-02-06T00:00:00.000Z',1,NULL,0,'[8,7,5,9,10,3]',0); -INSERT INTO delivery_slot_info VALUES(104,'2026-02-06T01:00:00.000Z','2026-02-06T01:00:00.000Z',1,NULL,0,'[8,7,5,9,10,3]',0); -INSERT INTO delivery_slot_info VALUES(105,'2026-02-06T04:00:00.000Z','2026-02-06T04:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(106,'2026-02-06T07:00:00.000Z','2026-02-06T07:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(107,'2026-02-05T20:00:00.000Z','2026-02-05T20:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(108,'2026-02-06T08:00:00.000Z','2026-02-06T08:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(109,'2026-02-06T20:00:00.000Z','2026-02-06T20:00:00.000Z',1,NULL,0,'[8,5,10,3,7]',0); -INSERT INTO delivery_slot_info VALUES(110,'2026-02-06T21:00:00.000Z','2026-02-06T21:00:00.000Z',1,NULL,0,'[8,5,10,3,7,9]',0); -INSERT INTO delivery_slot_info VALUES(111,'2026-02-07T00:00:00.000Z','2026-02-07T00:00:00.000Z',1,NULL,0,'[8,5,10,3,7,9]',0); -INSERT INTO delivery_slot_info VALUES(112,'2026-02-07T01:00:00.000Z','2026-02-07T01:00:00.000Z',1,NULL,0,'[8,5,10,3,7,9]',0); -INSERT INTO delivery_slot_info VALUES(113,'2026-02-07T04:00:00.000Z','2026-02-07T04:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(114,'2026-02-07T07:00:00.000Z','2026-02-07T07:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(115,'2026-02-07T08:00:00.000Z','2026-02-07T08:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(116,'2026-02-07T20:00:00.000Z','2026-02-07T20:00:00.000Z',1,NULL,0,'[9,8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(117,'2026-02-07T21:00:00.000Z','2026-02-07T21:00:00.000Z',1,NULL,0,'[3,5,7,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(118,'2026-02-08T00:00:00.000Z','2026-02-08T00:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(119,'2026-02-08T01:00:00.000Z','2026-02-08T01:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(120,'2026-02-08T04:00:00.000Z','2026-02-08T04:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(121,'2026-02-08T07:00:00.000Z','2026-02-08T07:00:00.000Z',1,NULL,0,'[10,8,5,3,9]',0); -INSERT INTO delivery_slot_info VALUES(122,'2026-02-08T08:00:00.000Z','2026-02-08T08:00:00.000Z',1,NULL,0,'[10,8,5,3,9]',0); -INSERT INTO delivery_slot_info VALUES(123,'2026-02-08T20:00:00.000Z','2026-02-08T20:00:00.000Z',1,NULL,0,'[9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(124,'2026-02-08T21:00:00.000Z','2026-02-08T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(125,'2026-02-09T00:00:00.000Z','2026-02-09T00:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(126,'2026-02-09T01:00:00.000Z','2026-02-09T01:00:00.000Z',1,NULL,0,'[9,8,7,5,3,10]',0); -INSERT INTO delivery_slot_info VALUES(127,'2026-02-09T04:00:00.000Z','2026-02-09T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(128,'2026-02-09T07:00:00.000Z','2026-02-09T07:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(129,'2026-02-09T08:00:00.000Z','2026-02-09T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(130,'2026-02-09T20:00:00.000Z','2026-02-09T20:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(131,'2026-02-09T21:00:00.000Z','2026-02-09T21:00:00.000Z',1,NULL,0,'[10,9,8,5,3,7]',0); -INSERT INTO delivery_slot_info VALUES(132,'2026-02-10T00:00:00.000Z','2026-02-10T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(133,'2026-02-10T01:00:00.000Z','2026-02-10T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(134,'2026-02-10T04:00:00.000Z','2026-02-10T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(135,'2026-02-10T07:00:00.000Z','2026-02-10T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(136,'2026-02-10T08:00:00.000Z','2026-02-10T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(137,'2026-02-10T20:00:00.000Z','2026-02-10T20:00:00.000Z',1,NULL,0,'[9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(138,'2026-02-10T21:00:00.000Z','2026-02-10T21:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(139,'2026-02-11T00:00:00.000Z','2026-02-11T00:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(140,'2026-02-11T01:00:00.000Z','2026-02-11T01:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(141,'2026-02-11T04:00:00.000Z','2026-02-11T04:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(142,'2026-02-11T07:00:00.000Z','2026-02-11T07:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(143,'2026-02-11T08:00:00.000Z','2026-02-11T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(144,'2026-02-11T20:00:00.000Z','2026-02-11T20:00:00.000Z',1,NULL,0,'[9,8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(145,'2026-02-11T21:00:00.000Z','2026-02-11T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(146,'2026-02-12T00:00:00.000Z','2026-02-12T00:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(147,'2026-02-12T01:00:00.000Z','2026-02-12T00:45:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(148,'2026-02-12T20:00:00.000Z','2026-02-12T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(149,'2026-02-12T21:00:00.000Z','2026-02-12T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(150,'2026-02-13T00:00:00.000Z','2026-02-13T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(151,'2026-02-13T01:00:00.000Z','2026-02-13T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(152,'2026-02-13T04:00:00.000Z','2026-02-13T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(153,'2026-02-13T07:00:00.000Z','2026-02-13T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(154,'2026-02-13T08:00:00.000Z','2026-02-13T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(155,'2026-02-13T20:00:00.000Z','2026-02-13T20:00:00.000Z',1,NULL,0,'[10,9,8,5,3,7]',0); -INSERT INTO delivery_slot_info VALUES(156,'2026-02-13T21:00:00.000Z','2026-02-13T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(157,'2026-02-14T00:00:00.000Z','2026-02-14T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(158,'2026-02-14T01:00:00.000Z','2026-02-14T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(159,'2026-02-14T04:00:00.000Z','2026-02-14T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(160,'2026-02-14T07:00:00.000Z','2026-02-14T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(161,'2026-02-14T08:00:00.000Z','2026-02-14T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(162,'2026-02-14T20:00:00.000Z','2026-02-14T20:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(163,'2026-02-14T21:00:00.000Z','2026-02-14T21:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(164,'2026-02-15T00:00:00.000Z','2026-02-15T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(165,'2026-02-15T01:00:00.000Z','2026-02-15T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(166,'2026-02-15T04:00:00.000Z','2026-02-15T04:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(167,'2026-02-15T07:00:00.000Z','2026-02-15T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(168,'2026-02-15T08:00:00.000Z','2026-02-15T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(169,'2026-02-15T20:00:00.000Z','2026-02-15T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(170,'2026-02-15T21:00:00.000Z','2026-02-15T21:00:00.000Z',1,NULL,0,'[10,8,9,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(171,'2026-02-16T00:00:00.000Z','2026-02-16T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(172,'2026-02-16T01:00:00.000Z','2026-02-16T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(173,'2026-02-16T04:30:00.000Z','2026-02-16T04:30:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(174,'2026-02-16T07:00:00.000Z','2026-02-16T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(175,'2026-02-16T08:00:00.000Z','2026-02-16T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(176,'2026-02-16T20:00:00.000Z','2026-02-16T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(177,'2026-02-16T21:00:00.000Z','2026-02-16T20:45:00.000Z',1,NULL,0,'[10,8,9,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(178,'2026-02-17T00:00:00.000Z','2026-02-16T23:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(179,'2026-02-17T01:00:00.000Z','2026-02-17T00:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(180,'2026-02-17T04:30:00.000Z','2026-02-17T04:15:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(181,'2026-02-17T07:00:00.000Z','2026-02-17T07:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(182,'2026-02-17T08:00:00.000Z','2026-02-17T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(183,'2026-02-17T20:00:00.000Z','2026-02-17T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(184,'2026-02-17T21:00:00.000Z','2026-02-17T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(185,'2026-02-18T00:00:00.000Z','2026-02-18T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(186,'2026-02-18T01:00:00.000Z','2026-02-18T01:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(187,'2026-02-18T04:00:00.000Z','2026-02-18T04:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(188,'2026-02-18T07:00:00.000Z','2026-02-18T07:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(189,'2026-02-18T08:00:00.000Z','2026-02-18T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(190,'2026-02-18T20:00:00.000Z','2026-02-18T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(191,'2026-02-18T21:00:00.000Z','2026-02-18T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(192,'2026-02-19T00:00:00.000Z','2026-02-19T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(193,'2026-02-19T21:00:00.000Z','2026-02-19T21:00:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(194,'2026-02-19T04:00:00.000Z','2026-02-19T04:00:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(195,'2026-02-19T07:00:00.000Z','2026-02-19T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(196,'2026-02-19T08:00:00.000Z','2026-02-19T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(197,'2026-02-19T06:00:00.000Z','2026-02-19T06:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(198,'2026-02-18T20:00:00.000Z','2026-02-18T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(199,'2026-02-18T21:00:00.000Z','2026-02-18T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(200,'2026-02-19T20:00:00.000Z','2026-02-19T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(201,'2026-02-19T21:00:00.000Z','2026-02-19T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(202,'2026-02-20T00:00:00.000Z','2026-02-20T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(203,'2026-02-20T01:00:00.000Z','2026-02-20T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(204,'2026-02-20T04:00:00.000Z','2026-02-20T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(205,'2026-02-19T20:00:00.000Z','2026-02-19T20:00:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(206,'2026-02-20T08:00:00.000Z','2026-02-20T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(207,'2026-02-20T05:00:00.000Z','2026-02-20T05:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(208,'2026-02-20T20:00:00.000Z','2026-02-20T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(209,'2026-02-20T21:00:00.000Z','2026-02-20T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(210,'2026-02-21T00:00:00.000Z','2026-02-21T00:00:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(211,'2026-02-21T01:00:00.000Z','2026-02-21T00:45:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(212,'2026-02-21T04:00:00.000Z','2026-02-21T03:45:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(213,'2026-02-21T05:00:00.000Z','2026-02-21T04:45:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(214,'2026-02-21T08:00:00.000Z','2026-02-21T07:45:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(215,'2026-02-21T06:30:00.000Z','2026-02-21T06:30:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(216,'2026-02-21T20:00:00.000Z','2026-02-21T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(217,'2026-02-21T21:00:00.000Z','2026-02-21T20:45:00.000Z',1,NULL,0,'[10,9,8,5,7,3]',0); -INSERT INTO delivery_slot_info VALUES(218,'2026-02-22T00:00:00.000Z','2026-02-21T23:44:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(219,'2026-02-22T01:00:00.000Z','2026-02-22T00:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(220,'2026-02-22T04:00:00.000Z','2026-02-22T03:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(221,'2026-02-22T05:00:00.000Z','2026-02-22T04:45:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(222,'2026-02-22T08:00:00.000Z','2026-02-22T07:45:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(223,'2026-02-22T20:00:00.000Z','2026-02-22T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(224,'2026-02-22T21:00:00.000Z','2026-02-22T20:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(225,'2026-02-23T00:00:00.000Z','2026-02-22T23:44:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(226,'2026-02-23T01:00:00.000Z','2026-02-23T00:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(227,'2026-02-23T04:00:00.000Z','2026-02-23T03:45:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(228,'2026-02-23T05:00:00.000Z','2026-02-23T04:45:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(229,'2026-02-23T08:00:00.000Z','2026-02-23T07:45:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(230,'2026-02-23T20:00:00.000Z','2026-02-23T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(231,'2026-02-23T21:00:00.000Z','2026-02-23T20:45:00.000Z',1,NULL,0,'[5,7,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(232,'2026-02-24T00:00:00.000Z','2026-02-23T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(233,'2026-02-24T05:00:00.000Z','2026-02-24T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(234,'2026-02-24T01:00:00.000Z','2026-02-24T00:50:00.000Z',1,NULL,0,'[10,8,9,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(235,'2026-02-24T04:00:00.000Z','2026-02-24T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(236,'2026-02-24T08:00:00.000Z','2026-02-24T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(237,'2026-02-24T20:00:00.000Z','2026-02-24T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(238,'2026-02-24T21:00:00.000Z','2026-02-25T08:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(239,'2026-02-25T00:00:00.000Z','2026-02-25T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(240,'2026-02-25T01:00:00.000Z','2026-02-25T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(241,'2026-02-25T04:00:00.000Z','2026-02-25T03:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(242,'2026-02-25T05:00:00.000Z','2026-02-25T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(243,'2026-02-25T08:00:00.000Z','2026-02-25T07:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(244,'2026-02-24T05:00:00.000Z','2026-02-24T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(274,'2026-03-04T20:00:00.000Z','2026-03-04T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(275,'2026-03-08T02:04:00.000Z','2026-03-08T02:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(276,'2026-03-08T04:59:17.000Z','2026-03-08T04:44:17.000Z',1,NULL,0,'[]',0); -INSERT INTO delivery_slot_info VALUES(277,'2026-03-08T05:27:40.000Z','2026-03-08T05:12:40.000Z',1,NULL,0,'[7]',0); -INSERT INTO delivery_slot_info VALUES(278,'2026-03-08T06:38:16.000Z','2026-03-08T06:23:16.000Z',1,NULL,0,'[7]',0); -INSERT INTO delivery_slot_info VALUES(279,'2026-03-10T10:00:00.000Z','2026-03-10T08:00:00.000Z',1,NULL,0,'[7,8,9,10,5,3,2,1]',0); -INSERT INTO delivery_slot_info VALUES(280,'2026-03-13T09:00:00.000Z','2026-03-13T08:30:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(281,'2026-03-15T08:00:00.000Z','2026-03-15T07:30:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(282,'2026-03-15T21:00:00.000Z','2026-03-15T20:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(283,'2026-03-20T20:00:00.000Z','2026-03-20T19:50:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(284,'2026-03-22T08:00:00.000Z','2026-03-22T07:45:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(285,'2026-03-23T07:00:00.000Z','2026-03-23T06:28:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(286,'2026-03-27T01:00:00.000Z','2026-03-27T00:04:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(287,'2026-03-27T06:02:00.000Z','2026-03-27T05:54:00.000Z',1,NULL,0,'[9,10,8]',0); -CREATE TABLE IF NOT EXISTS "home_banners" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "image_url" TEXT NOT NULL, "description" TEXT, "redirect_url" TEXT, "serial_num" INTEGER, "is_active" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_updated" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "product_ids" TEXT); -INSERT INTO home_banners VALUES(9,'10%off ','store-images/1770281046297.jpg',NULL,NULL,1,0,'2026-02-05T03:14:06.996Z','2026-02-05T03:14:40.930Z','[]'); -INSERT INTO home_banners VALUES(11,'Daily veggies ','store-images/1770429593455.jpg','Under 19 ',NULL,2,0,'2026-02-06T20:29:57.566Z','2026-02-06T20:30:39.410Z','[45,72,76,97,70,32,74,77,33]'); -INSERT INTO home_banners VALUES(44,'Demo2','store-images/1774018257330.jpg','Demo to test image upload',NULL,999,0,'2026-03-20T09:20:59.008Z','2026-03-20T09:20:59.008Z','[33]'); -INSERT INTO home_banners VALUES(45,'Demo4','store-images/1774104855151.jpg','Ferocious',NULL,999,0,'2026-03-21T09:24:17.745Z','2026-03-21T09:24:17.745Z','[]'); -INSERT INTO home_banners VALUES(46,'Tests banner','store-images/1774365560714.jpg','Testing things again',NULL,999,0,'2026-03-24T09:49:25.241Z','2026-03-24T09:49:25.241Z','[]'); -CREATE TABLE IF NOT EXISTS "key_val_store" ("key" TEXT, "value" TEXT); -INSERT INTO key_val_store VALUES('allItemsOrder','[10,57,99,75,33,90,51,27,6,35,67,97,58,29,65,77,79,5,19,20,14,82,25,56,66,16,83,91,64,36,22,11,1,76,43,94,93,17,47,87,81,50,2,44,59,45,38,85,42,13,55,95,37,34,31,28,18,60,9,84,61,80,7,68,49,69,23,53,4,52,98,63,73,21,78,24,8,74,46,89,40,88,100,72,96,41,86,70,92,26,54,71,48,15,32,62,39,12,3,30]'); -INSERT INTO key_val_store VALUES('androidVersion','1.2.0'); -INSERT INTO key_val_store VALUES('appStoreUrl','https://info.freshyo.in/qr-based-download'); -INSERT INTO key_val_store VALUES('deliveryCharge','12.0'); -INSERT INTO key_val_store VALUES('flashDeliveryCharge','45.0'); -INSERT INTO key_val_store VALUES('flashFreeDeliveryThreshold','500.0'); -INSERT INTO key_val_store VALUES('freeDeliveryThreshold','180.0'); -INSERT INTO key_val_store VALUES('iosVersion','1.2.0'); -INSERT INTO key_val_store VALUES('isFlashDeliveryEnabled','1.0'); -INSERT INTO key_val_store VALUES('minRegularOrderValue','180.0'); -INSERT INTO key_val_store VALUES('playStoreUrl','https://info.freshyo.in/qr-based-download'); -INSERT INTO key_val_store VALUES('popularItems','[23,9,75,98,6,24,59]'); -INSERT INTO key_val_store VALUES('readableOrderId','160.0'); -INSERT INTO key_val_store VALUES('supportEmail','qushammohd@gmail.com'); -INSERT INTO key_val_store VALUES('supportMobile','9000885620.0'); -INSERT INTO key_val_store VALUES('tester','value41'); -INSERT INTO key_val_store VALUES('versionNum','1.2.0'); -CREATE TABLE IF NOT EXISTS "notif_creds" ("id" INTEGER PRIMARY KEY, "token" TEXT NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "user_id" INTEGER NOT NULL, "last_verified" TEXT); -INSERT INTO notif_creds VALUES(3,'ExponentPushToken[iv6POIJTUIiGpkElL84fG7]','2026-02-07T11:16:24.831Z',7,'2026-02-24T00:15:43.239Z'); -INSERT INTO notif_creds VALUES(5,'ExponentPushToken[HnHTZNKG8TO0uuxIEus-PG]','2026-02-07T22:03:08.347Z',91,'2026-02-07T22:03:13.416Z'); -INSERT INTO notif_creds VALUES(6,'ExponentPushToken[UHMotrBnf-vEcprdmbwgIZ]','2026-02-07T23:41:11.318Z',98,'2026-02-08T00:48:44.187Z'); -INSERT INTO notif_creds VALUES(7,'ExponentPushToken[5lelv4B74He5Nhvhsar6bz]','2026-02-08T00:39:52.317Z',121,'2026-02-08T00:42:39.299Z'); -INSERT INTO notif_creds VALUES(8,'ExponentPushToken[v9sccYJj1ubyT6IIQxbvnI]','2026-02-08T01:20:56.512Z',121,'2026-02-08T04:34:48.600Z'); -INSERT INTO notif_creds VALUES(9,'ExponentPushToken[Gzd1aWPU7x-2s4MHC66HgW]','2026-02-08T02:59:16.517Z',21,'2026-02-09T02:55:46.044Z'); -INSERT INTO notif_creds VALUES(10,'ExponentPushToken[qDmbx7D1wEHMyxdeTQj70d]','2026-02-08T04:32:21.955Z',122,'2026-02-08T04:32:21.954Z'); -INSERT INTO notif_creds VALUES(11,'ExponentPushToken[Tsdy4SCnFIXCEU3c2rWW2f]','2026-02-08T04:50:08.729Z',12,'2026-02-14T00:57:01.965Z'); -INSERT INTO notif_creds VALUES(12,'ExponentPushToken[TEbTuZC7F2E9OJTzFHNeoa]','2026-02-08T08:30:08.387Z',2,'2026-02-10T09:45:05.213Z'); -INSERT INTO notif_creds VALUES(14,'ExponentPushToken[RZKHsOC-WpryYm3Q50I86K]','2026-02-08T11:35:05.556Z',39,'2026-02-15T01:04:02.876Z'); -INSERT INTO notif_creds VALUES(15,'ExponentPushToken[VISDPrNjHVUy58fOF4jDWM]','2026-02-08T13:18:22.587Z',1,'2026-02-25T03:03:24.766Z'); -INSERT INTO notif_creds VALUES(16,'ExponentPushToken[w4KTsLKnnp8SbURdl5-Q6x]','2026-02-08T23:42:12.594Z',22,'2026-02-08T23:42:15.073Z'); -INSERT INTO notif_creds VALUES(17,'ExponentPushToken[CvSnNAF6ZN9qCVAsEH21kv]','2026-02-09T03:27:37.036Z',65,'2026-02-16T09:52:41.038Z'); -INSERT INTO notif_creds VALUES(18,'ExponentPushToken[qjCI58EqTOeyVk5yLFHGRq]','2026-02-09T05:48:51.370Z',123,'2026-02-09T05:48:51.369Z'); -INSERT INTO notif_creds VALUES(19,'ExponentPushToken[mZo3TECtB4tDVgxkDOwev6]','2026-02-09T06:32:26.730Z',124,'2026-02-15T05:21:29.871Z'); -INSERT INTO notif_creds VALUES(20,'ExponentPushToken[l527a0C4KT5Ez8aJL7K76l]','2026-02-09T06:40:39.831Z',107,'2026-02-09T06:40:43.875Z'); -INSERT INTO notif_creds VALUES(21,'ExponentPushToken[WxQDABD09Hd7JBURDocB67]','2026-02-09T07:54:12.209Z',125,'2026-02-11T13:07:59.678Z'); -INSERT INTO notif_creds VALUES(22,'ExponentPushToken[81Io9TG3Qg0s3N0V8L86T-]','2026-02-09T08:42:50.649Z',4,'2026-02-23T03:15:48.191Z'); -INSERT INTO notif_creds VALUES(23,'ExponentPushToken[buJyUUCfCpMmsiXqb1--T4]','2026-02-09T10:27:32.198Z',38,'2026-02-25T00:37:28.465Z'); -INSERT INTO notif_creds VALUES(24,'ExponentPushToken[B2zWnHNaumIgbeFFKO-15D]','2026-02-09T14:23:37.594Z',113,'2026-02-10T02:13:48.632Z'); -INSERT INTO notif_creds VALUES(25,'ExponentPushToken[wIhrdlAmwj0Eytvz3W3TTZ]','2026-02-10T05:39:24.848Z',127,'2026-02-11T10:41:39.340Z'); -INSERT INTO notif_creds VALUES(26,'ExponentPushToken[hFUlPFOKMdAUgtDP7EtSzM]','2026-02-10T06:03:43.821Z',3,'2026-02-24T05:46:46.799Z'); -INSERT INTO notif_creds VALUES(27,'ExponentPushToken[NymZTEED3G7YCyDg7ihgBA]','2026-02-10T21:46:04.540Z',2,'2026-02-25T02:12:27.021Z'); -INSERT INTO notif_creds VALUES(28,'ExponentPushToken[ARCT4KD7CJ_pFF_GkywepP]','2026-02-11T06:04:32.238Z',115,'2026-02-22T11:49:39.347Z'); -INSERT INTO notif_creds VALUES(29,'ExponentPushToken[NN4v16BFslBX8ryVXDwQIg]','2026-02-12T03:16:42.421Z',128,'2026-02-17T13:34:12.936Z'); -INSERT INTO notif_creds VALUES(30,'ExponentPushToken[qbteKBC1wbLMCe1ltpul7u]','2026-02-12T07:58:00.376Z',129,'2026-02-12T07:58:00.375Z'); -INSERT INTO notif_creds VALUES(31,'ExponentPushToken[PfjMc_CTRvSvOWtSNmaHhL]','2026-02-14T04:55:41.451Z',131,'2026-02-21T01:58:28.454Z'); -INSERT INTO notif_creds VALUES(32,'ExponentPushToken[dugZtvNyRBevvIcQED783-]','2026-02-14T13:12:44.549Z',120,'2026-02-21T22:33:17.004Z'); -INSERT INTO notif_creds VALUES(33,'ExponentPushToken[5AOIo1AxGkk5zpoVANRRxq]','2026-02-14T23:05:26.237Z',132,'2026-02-25T02:45:27.434Z'); -INSERT INTO notif_creds VALUES(34,'ExponentPushToken[1ZJ_ubPRINgtgfF4JcRz7Q]','2026-02-15T01:15:32.122Z',133,'2026-02-15T01:15:32.121Z'); -INSERT INTO notif_creds VALUES(35,'ExponentPushToken[pIQ2waNDjjSHjQYJbXKD8m]','2026-02-15T01:44:10.912Z',9,'2026-02-15T01:44:10.910Z'); -INSERT INTO notif_creds VALUES(36,'ExponentPushToken[93-_2gEHMwejR3miLX0RGU]','2026-02-15T22:24:33.307Z',1,'2026-03-26T05:56:10.685Z'); -INSERT INTO notif_creds VALUES(37,'ExponentPushToken[kq0I8ADfcQ4VcsZ0yK0Mlc]','2026-02-15T22:31:56.375Z',102,'2026-02-15T22:31:56.374Z'); -INSERT INTO notif_creds VALUES(38,'ExponentPushToken[8wH85rFtQRMk7ciFszmirX]','2026-02-16T04:00:32.930Z',134,'2026-02-22T01:32:06.467Z'); -INSERT INTO notif_creds VALUES(39,'ExponentPushToken[YJRSQmMUEUbaI2VCZLaoN_]','2026-02-16T04:19:56.439Z',6,'2026-02-22T05:05:18.294Z'); -INSERT INTO notif_creds VALUES(40,'ExponentPushToken[QoWbURL2N8-3jRhQwfnRP_]','2026-02-17T03:29:14.561Z',135,'2026-02-17T03:29:14.561Z'); -INSERT INTO notif_creds VALUES(41,'ExponentPushToken[sz_g75Il_CNAG6KpEAxYUH]','2026-02-17T07:26:33.589Z',136,'2026-02-21T03:12:45.220Z'); -INSERT INTO notif_creds VALUES(42,'ExponentPushToken[JMEvkUHKT0n34hcs-MiJAJ]','2026-02-17T08:52:02.805Z',137,'2026-02-17T13:05:14.821Z'); -INSERT INTO notif_creds VALUES(43,'ExponentPushToken[1msqBjJghAi4y8iYwJU-mS]','2026-02-17T09:06:43.131Z',138,'2026-02-23T02:25:49.796Z'); -INSERT INTO notif_creds VALUES(44,'ExponentPushToken[Wvc-xZKA5atNZTuIldtSIw]','2026-02-17T09:22:56.267Z',139,'2026-02-22T03:54:47.956Z'); -INSERT INTO notif_creds VALUES(45,'ExponentPushToken[cZOImkGKtoAxHQZgVtqP2K]','2026-02-17T13:47:10.364Z',140,'2026-02-20T04:17:44.482Z'); -INSERT INTO notif_creds VALUES(46,'ExponentPushToken[Z9RdieHVKXjshIx5Fde2N_]','2026-02-17T19:44:42.642Z',141,'2026-02-23T22:43:32.802Z'); -INSERT INTO notif_creds VALUES(47,'ExponentPushToken[y_gztJB3YIgxaTIe90h081]','2026-02-17T21:39:14.285Z',26,'2026-02-21T01:15:53.015Z'); -INSERT INTO notif_creds VALUES(48,'ExponentPushToken[PwdA7uENlBKK9zfX0IUQHX]','2026-02-17T22:23:25.609Z',142,'2026-02-17T22:28:05.274Z'); -INSERT INTO notif_creds VALUES(49,'ExponentPushToken[I9t84QIYuJ2wkBXTQCrWiO]','2026-02-17T22:54:14.079Z',143,'2026-02-20T01:53:38.305Z'); -INSERT INTO notif_creds VALUES(50,'ExponentPushToken[q6CpdyAjzrLcX5h-XyT2qd]','2026-02-18T00:19:05.701Z',119,'2026-02-18T01:54:00.101Z'); -INSERT INTO notif_creds VALUES(51,'ExponentPushToken[t9-luuLjLIZy__1AFGQne9]','2026-02-18T03:32:56.669Z',144,'2026-02-18T10:07:23.052Z'); -INSERT INTO notif_creds VALUES(52,'ExponentPushToken[LMwZ9hA618rm1SBbnSpLka]','2026-02-18T03:39:58.906Z',145,'2026-02-18T04:47:29.431Z'); -INSERT INTO notif_creds VALUES(53,'ExponentPushToken[Gb4KieGJIaPnwHmzTYtcMv]','2026-02-18T04:29:40.489Z',146,'2026-02-25T01:51:55.372Z'); -INSERT INTO notif_creds VALUES(54,'ExponentPushToken[B74UidJrvnrP8wBb_rHdAC]','2026-02-18T05:14:13.691Z',147,'2026-02-23T03:08:19.771Z'); -INSERT INTO notif_creds VALUES(55,'ExponentPushToken[x2VSb-OGOkn6ivVxpzk6tX]','2026-02-18T06:52:43.429Z',24,'2026-02-23T02:24:07.334Z'); -INSERT INTO notif_creds VALUES(56,'ExponentPushToken[qh6APjAuydb_LnlN4DqYsO]','2026-02-18T07:16:15.407Z',82,'2026-02-22T17:42:52.899Z'); -INSERT INTO notif_creds VALUES(57,'ExponentPushToken[2o572RMsmVSFjUamLuEcoU]','2026-02-18T07:29:53.266Z',148,'2026-02-20T06:08:25.014Z'); -INSERT INTO notif_creds VALUES(58,'ExponentPushToken[3kQdCMDTdTPoDMGP05IITB]','2026-02-18T09:09:16.947Z',149,'2026-02-24T07:04:44.462Z'); -INSERT INTO notif_creds VALUES(59,'ExponentPushToken[oHNDFzFcWPaMrr6UuCUaUd]','2026-02-18T09:11:42.373Z',150,'2026-02-19T04:45:17.727Z'); -INSERT INTO notif_creds VALUES(60,'ExponentPushToken[yjbwNxNUlwI3Gg2xmg_zEL]','2026-02-18T09:21:04.075Z',151,'2026-02-23T03:16:34.760Z'); -INSERT INTO notif_creds VALUES(61,'ExponentPushToken[WoLNBzF_Z7S79-otdUf4hA]','2026-02-18T10:43:23.031Z',152,'2026-02-18T10:47:26.759Z'); -INSERT INTO notif_creds VALUES(62,'ExponentPushToken[VBwbhYESzYkrYBaJNOr_Cd]','2026-02-18T13:29:45.807Z',153,'2026-02-24T13:08:44.803Z'); -INSERT INTO notif_creds VALUES(63,'ExponentPushToken[efBUNsNPuI9UiZMSyisyrS]','2026-02-18T23:28:22.392Z',154,'2026-02-18T23:28:55.761Z'); -INSERT INTO notif_creds VALUES(64,'ExponentPushToken[yoRlFwEZScYynd7F-b0EbZ]','2026-02-18T23:41:30.251Z',155,'2026-02-23T09:36:00.904Z'); -INSERT INTO notif_creds VALUES(65,'ExponentPushToken[QYu6kOP5XdkvJoa8BrF94D]','2026-02-18T23:57:33.153Z',156,'2026-02-23T06:19:11.964Z'); -INSERT INTO notif_creds VALUES(66,'ExponentPushToken[XB2QNBIw79ZsuLKMvoC75T]','2026-02-19T01:01:38.648Z',99,'2026-02-24T08:37:14.569Z'); -INSERT INTO notif_creds VALUES(67,'ExponentPushToken[JR8jlxCcjA6zSt1sIsEaFs]','2026-02-19T01:25:18.880Z',157,'2026-02-19T01:28:03.367Z'); -INSERT INTO notif_creds VALUES(68,'ExponentPushToken[yF2OgLNRsS-YpjLTkltwb7]','2026-02-19T01:44:36.670Z',158,'2026-02-24T05:24:44.962Z'); -INSERT INTO notif_creds VALUES(69,'ExponentPushToken[x4igFdIV9grI1HW3WI-4pI]','2026-02-19T02:15:42.349Z',66,'2026-02-25T02:57:31.607Z'); -INSERT INTO notif_creds VALUES(70,'ExponentPushToken[UrQXC8Eln55JuaZPjM9Ui-]','2026-02-19T02:26:27.728Z',118,'2026-02-19T02:26:27.727Z'); -INSERT INTO notif_creds VALUES(71,'ExponentPushToken[V3hUgLCihO9nsDNBx0uPA6]','2026-02-19T03:38:53.530Z',159,'2026-02-19T05:45:13.240Z'); -INSERT INTO notif_creds VALUES(72,'ExponentPushToken[ivyzcdINsQ3zwCkjlvbAv6]','2026-02-19T03:46:26.528Z',160,'2026-02-23T00:16:28.336Z'); -INSERT INTO notif_creds VALUES(73,'ExponentPushToken[UBKsoGEwMZLkm4B3wUtx5S]','2026-02-19T03:53:26.723Z',64,'2026-02-21T02:22:49.103Z'); -INSERT INTO notif_creds VALUES(74,'ExponentPushToken[8DeRubBDyrcnTSLEd0eYje]','2026-02-19T04:25:24.491Z',161,'2026-02-22T04:34:09.916Z'); -INSERT INTO notif_creds VALUES(76,'ExponentPushToken[AYJ8CwAMYzVS9VIFLdgWZw]','2026-02-19T05:06:22.547Z',162,'2026-02-19T05:09:49.327Z'); -INSERT INTO notif_creds VALUES(77,'ExponentPushToken[tgDCJ1Ht7X4xhJgvosny0I]','2026-02-19T06:46:50.611Z',163,'2026-02-23T01:08:20.953Z'); -INSERT INTO notif_creds VALUES(78,'ExponentPushToken[3ytgOdB6DwYeWZEbsYrcPT]','2026-02-19T07:01:01.329Z',164,'2026-02-19T07:01:01.328Z'); -INSERT INTO notif_creds VALUES(79,'ExponentPushToken[jYpwSQIh9pvCLtSH0WYq5F]','2026-02-19T10:26:49.976Z',165,'2026-02-22T04:41:48.209Z'); -INSERT INTO notif_creds VALUES(80,'ExponentPushToken[dcm7FmItp3TsKicDlHnkc2]','2026-02-19T12:05:06.988Z',166,'2026-02-19T12:05:06.987Z'); -INSERT INTO notif_creds VALUES(83,'ExponentPushToken[4AaCLjFOFe00dA_VppqThU]','2026-02-20T03:19:35.125Z',167,'2026-02-23T07:58:42.730Z'); -INSERT INTO notif_creds VALUES(84,'ExponentPushToken[58ID1kBjfcym3CJINcQD1b]','2026-02-20T03:35:57.056Z',169,'2026-02-20T11:05:08.705Z'); -INSERT INTO notif_creds VALUES(85,'ExponentPushToken[1BrdooOKzJj_P5fDkR3VWJ]','2026-02-20T03:53:54.652Z',170,'2026-02-24T04:56:33.324Z'); -INSERT INTO notif_creds VALUES(86,'ExponentPushToken[j1wJcqI6zGjw3c5oI-Dx9x]','2026-02-20T04:00:53.707Z',172,'2026-02-20T05:14:51.085Z'); -INSERT INTO notif_creds VALUES(89,'ExponentPushToken[6y3qNeJGgyakoSunKhEJT-]','2026-02-20T04:08:13.997Z',173,'2026-02-21T02:20:17.087Z'); -INSERT INTO notif_creds VALUES(93,'ExponentPushToken[T7gjPaDVOJQtJ5anemtNYZ]','2026-02-20T05:29:10.123Z',174,'2026-02-21T11:21:22.446Z'); -INSERT INTO notif_creds VALUES(94,'ExponentPushToken[bSn2s-AWE2bPZFmNbR3wBr]','2026-02-20T05:49:58.947Z',175,'2026-02-23T11:23:09.680Z'); -INSERT INTO notif_creds VALUES(95,'ExponentPushToken[nP7cTjChjAdo68V5rXbjX2]','2026-02-20T05:59:42.482Z',176,'2026-02-20T08:05:40.295Z'); -INSERT INTO notif_creds VALUES(96,'ExponentPushToken[7mwTBgFGWCsZ5bQW2Xn-8j]','2026-02-20T06:50:35.197Z',177,'2026-02-20T09:32:51.775Z'); -INSERT INTO notif_creds VALUES(97,'ExponentPushToken[Y1nFTyC4zbqVCw38UPwEh1]','2026-02-20T07:20:34.337Z',74,'2026-02-21T08:16:21.124Z'); -INSERT INTO notif_creds VALUES(98,'ExponentPushToken[SiFDTqAbkzt6Gqhy7CDvup]','2026-02-20T08:36:23.058Z',178,'2026-02-21T20:53:16.045Z'); -INSERT INTO notif_creds VALUES(99,'ExponentPushToken[a140_7HNF0K2YvX7h4ARWx]','2026-02-20T10:08:25.067Z',179,'2026-02-20T10:08:25.066Z'); -INSERT INTO notif_creds VALUES(100,'ExponentPushToken[2ZZr7mF_h2lch2VVqcFCLs]','2026-02-20T10:57:04.669Z',180,'2026-02-20T10:57:18.409Z'); -INSERT INTO notif_creds VALUES(101,'ExponentPushToken[6l-WlJL-dUG2BixclCkzSa]','2026-02-20T13:32:52.357Z',181,'2026-02-21T10:23:21.219Z'); -INSERT INTO notif_creds VALUES(102,'ExponentPushToken[GWm8_aOevnr5ec38AN858s]','2026-02-20T17:13:24.944Z',182,'2026-02-20T17:13:24.942Z'); -INSERT INTO notif_creds VALUES(103,'ExponentPushToken[IfWmkbPqhvki2Ddpx20WN5]','2026-02-20T18:20:19.602Z',183,'2026-02-20T18:20:19.601Z'); -INSERT INTO notif_creds VALUES(106,'ExponentPushToken[DPeHKsBNbTJ74b4C69d_1e]','2026-02-20T22:45:31.155Z',184,'2026-02-24T05:12:12.438Z'); -INSERT INTO notif_creds VALUES(107,'ExponentPushToken[4mdT-7ILy1RkxkKGHVeFih]','2026-02-21T02:47:55.879Z',185,'2026-02-21T02:48:55.139Z'); -INSERT INTO notif_creds VALUES(108,'ExponentPushToken[OYJNU2Hl_BHC8vNmnh5nIa]','2026-02-21T03:35:03.666Z',186,'2026-02-21T18:26:53.165Z'); -INSERT INTO notif_creds VALUES(110,'ExponentPushToken[2KeIQoIW7_xfYnmYKLjIxX]','2026-02-21T07:16:33.392Z',188,'2026-02-21T07:16:33.391Z'); -INSERT INTO notif_creds VALUES(112,'ExponentPushToken[-o5CHgOgd7yq4gBoUKQdhA]','2026-02-21T13:01:23.842Z',189,'2026-02-21T13:04:47.429Z'); -INSERT INTO notif_creds VALUES(113,'ExponentPushToken[QC4khLHZvU0B2xDfMuLxrr]','2026-02-21T13:29:03.311Z',190,'2026-02-24T07:23:45.452Z'); -INSERT INTO notif_creds VALUES(115,'ExponentPushToken[7xOFPzKtSr9Q3QjuGP_1RY]','2026-02-21T17:55:28.063Z',191,'2026-02-23T05:05:54.186Z'); -INSERT INTO notif_creds VALUES(117,'ExponentPushToken[FQkh_ZP1lkQyiNnxXEqr4E]','2026-02-22T00:12:36.263Z',194,'2026-02-25T02:28:06.068Z'); -INSERT INTO notif_creds VALUES(118,'ExponentPushToken[FCF4nPGQZlVobJpYtPMA1V]','2026-02-22T00:57:19.376Z',195,'2026-02-22T00:57:19.375Z'); -INSERT INTO notif_creds VALUES(119,'ExponentPushToken[IwM94nPyLTuoLgc-dgwPTq]','2026-02-22T00:58:28.876Z',196,'2026-02-22T01:49:01.069Z'); -INSERT INTO notif_creds VALUES(120,'ExponentPushToken[jIY_4pLTlau3wASP_0TYDq]','2026-02-22T01:05:29.613Z',197,'2026-02-22T02:22:29.991Z'); -INSERT INTO notif_creds VALUES(121,'ExponentPushToken[HaF3clPj70n8AdWkidFnJY]','2026-02-22T01:07:17.891Z',198,'2026-02-22T04:30:02.306Z'); -INSERT INTO notif_creds VALUES(122,'ExponentPushToken[dqK4JpEi2SUuPBPRqDHGTE]','2026-02-22T01:14:27.496Z',199,'2026-02-24T23:33:42.767Z'); -INSERT INTO notif_creds VALUES(123,'ExponentPushToken[gJFheJE7Ie9y42gYqTz0cv]','2026-02-22T02:01:38.770Z',200,'2026-02-22T02:01:38.769Z'); -INSERT INTO notif_creds VALUES(124,'ExponentPushToken[Z07jHhEkYiW820OA8-mYma]','2026-02-22T02:01:45.615Z',201,'2026-02-22T02:01:45.614Z'); -INSERT INTO notif_creds VALUES(125,'ExponentPushToken[I4TLMrA8fhjU4YDnC9ssrj]','2026-02-22T02:17:38.253Z',202,'2026-02-22T02:17:38.252Z'); -INSERT INTO notif_creds VALUES(126,'ExponentPushToken[zOk8M4FBYHztnQIxr7ZhzY]','2026-02-22T03:02:38.558Z',203,'2026-02-22T03:02:38.558Z'); -INSERT INTO notif_creds VALUES(127,'ExponentPushToken[H94IyWDEhTwZiV_PsomZ86]','2026-02-22T03:19:56.829Z',204,'2026-02-22T07:59:51.430Z'); -INSERT INTO notif_creds VALUES(128,'ExponentPushToken[700fYUMqIA-ft5HcmU1tmR]','2026-02-22T03:22:47.498Z',205,'2026-02-22T03:53:07.395Z'); -INSERT INTO notif_creds VALUES(129,'ExponentPushToken[1Mq1TLEfmyCHBvCoTdYzlA]','2026-02-22T04:20:20.012Z',206,'2026-02-22T05:05:52.419Z'); -INSERT INTO notif_creds VALUES(130,'ExponentPushToken[_4SQFkNreSaKN8HJCwkO0d]','2026-02-22T04:24:10.912Z',207,'2026-02-22T04:24:10.911Z'); -INSERT INTO notif_creds VALUES(131,'ExponentPushToken[nMmoPDNa2B-FzS0tTKUVJq]','2026-02-22T04:37:00.262Z',208,'2026-02-25T03:26:36.919Z'); -INSERT INTO notif_creds VALUES(132,'ExponentPushToken[_KlKvdPBjid4uWtGl9oj1w]','2026-02-22T04:43:50.020Z',209,'2026-02-22T04:43:50.019Z'); -INSERT INTO notif_creds VALUES(133,'ExponentPushToken[lUQnqhGJAN_4YY4wQ9AsxU]','2026-02-22T05:14:35.973Z',210,'2026-02-22T05:14:35.972Z'); -INSERT INTO notif_creds VALUES(134,'ExponentPushToken[9MdSNKGJEuTvO7e_pUGutQ]','2026-02-22T06:00:13.290Z',212,'2026-02-23T00:39:33.185Z'); -INSERT INTO notif_creds VALUES(135,'ExponentPushToken[O8hwqtKbEc8aWG_xDyiTng]','2026-02-22T06:29:49.199Z',213,'2026-02-25T01:01:33.072Z'); -INSERT INTO notif_creds VALUES(136,'ExponentPushToken[8C19GxE0u9UAVhJurTSUCD]','2026-02-22T06:33:55.924Z',214,'2026-02-22T06:33:55.924Z'); -INSERT INTO notif_creds VALUES(137,'ExponentPushToken[O-HudjMpRjEPPtOY7P8xNf]','2026-02-22T06:59:10.922Z',215,'2026-02-22T06:59:10.921Z'); -INSERT INTO notif_creds VALUES(138,'ExponentPushToken[3vLy4aIVVz6JhDs28edZ7A]','2026-02-22T07:13:12.618Z',216,'2026-02-22T07:13:12.618Z'); -INSERT INTO notif_creds VALUES(139,'ExponentPushToken[gd9P-IJzX8mPS8WIQ4L_aO]','2026-02-22T07:30:21.756Z',217,'2026-02-24T03:15:03.767Z'); -INSERT INTO notif_creds VALUES(140,'ExponentPushToken[Lyp_JhEp-mzptQkxT2gV5j]','2026-02-22T14:03:46.271Z',50,'2026-02-24T23:40:50.787Z'); -INSERT INTO notif_creds VALUES(141,'ExponentPushToken[bKljnNAKOQhNtEuFH61wdv]','2026-02-23T00:50:17.502Z',219,'2026-02-24T02:54:24.861Z'); -INSERT INTO notif_creds VALUES(143,'ExponentPushToken[4MaEIUHLXJTeIUk5Tw2Bre]','2026-02-23T01:39:34.734Z',220,'2026-02-23T01:39:34.734Z'); -INSERT INTO notif_creds VALUES(144,'ExponentPushToken[WFqHJnGXt5zJQgezyZMT-F]','2026-02-23T02:13:14.745Z',221,'2026-02-23T02:13:14.744Z'); -INSERT INTO notif_creds VALUES(146,'ExponentPushToken[_w34c8IpadSoTyzQIgfiRf]','2026-02-23T03:24:04.981Z',222,'2026-02-23T07:32:10.879Z'); -INSERT INTO notif_creds VALUES(147,'ExponentPushToken[BAMOz8A3uZ98l8lIIF5cvC]','2026-02-23T03:32:38.907Z',218,'2026-02-24T23:29:49.706Z'); -INSERT INTO notif_creds VALUES(148,'ExponentPushToken[PnJS6KN--CeuepgdgEOUKz]','2026-02-23T03:46:06.431Z',223,'2026-02-23T06:35:54.102Z'); -INSERT INTO notif_creds VALUES(149,'ExponentPushToken[q6LVtfMMHCmI-CVuzkjete]','2026-02-23T04:36:52.684Z',224,'2026-02-24T03:00:47.885Z'); -INSERT INTO notif_creds VALUES(151,'ExponentPushToken[qFtLZVFHGA-08finEVoLvk]','2026-02-23T06:41:17.865Z',225,'2026-02-23T11:53:56.553Z'); -INSERT INTO notif_creds VALUES(152,'ExponentPushToken[f8BfgiIMzCgsrT8D0GrcbC]','2026-02-23T08:30:40.686Z',226,'2026-02-24T01:31:30.979Z'); -INSERT INTO notif_creds VALUES(153,'ExponentPushToken[Tlj0Y5ENGMH1gqQMOE4Vet]','2026-02-23T22:38:49.132Z',228,'2026-02-23T22:38:49.131Z'); -INSERT INTO notif_creds VALUES(154,'ExponentPushToken[xpA3OSLWnk2-oUz2J_jq9V]','2026-02-24T07:52:52.533Z',15,'2026-02-24T07:52:52.532Z'); -INSERT INTO notif_creds VALUES(155,'ExponentPushToken[LkHZ5lKBW9CMi6UWZ1jZvJ]','2026-02-24T12:27:39.430Z',231,'2026-02-24T12:27:39.429Z'); -INSERT INTO notif_creds VALUES(156,'ExponentPushToken[HpS7v_O9a0YX-ctUWczWc9]','2026-02-24T14:49:55.883Z',232,'2026-02-24T14:49:55.882Z'); -CREATE TABLE IF NOT EXISTS "notifications" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "title" TEXT NOT NULL, "body" TEXT NOT NULL, "type" TEXT, "is_read" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -CREATE TABLE IF NOT EXISTS "order_items" ("id" INTEGER PRIMARY KEY, "order_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "quantity" TEXT NOT NULL, "price" REAL NOT NULL, "discounted_price" REAL, "is_packaged" INTEGER NOT NULL DEFAULT false, "is_package_verified" INTEGER NOT NULL DEFAULT false); -INSERT INTO order_items VALUES(1,1,6,'2',22.0,NULL,0,0); -INSERT INTO order_items VALUES(2,2,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(3,3,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(4,4,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(5,4,1,'1',210.0,NULL,0,0); -INSERT INTO order_items VALUES(6,5,4,'1',700.0,NULL,0,0); -INSERT INTO order_items VALUES(7,6,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(8,7,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(9,8,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(10,9,3,'2',250.0,NULL,0,0); -INSERT INTO order_items VALUES(11,10,3,'2',250.0,NULL,0,0); -INSERT INTO order_items VALUES(12,11,6,'2',22.0,NULL,0,0); -INSERT INTO order_items VALUES(13,12,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(14,13,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(15,14,1,'1',210.0,NULL,0,0); -INSERT INTO order_items VALUES(16,15,4,'1',700.0,NULL,0,0); -INSERT INTO order_items VALUES(17,16,4,'1',700.0,NULL,0,0); -INSERT INTO order_items VALUES(18,17,1,'1',210.0,NULL,0,0); -INSERT INTO order_items VALUES(19,18,1,'4',210.0,NULL,0,0); -INSERT INTO order_items VALUES(20,19,3,'1',250.0,NULL,0,0); -INSERT INTO order_items VALUES(21,19,9,'1',280.0,NULL,0,0); -INSERT INTO order_items VALUES(22,20,3,'1',250.0,NULL,0,0); -INSERT INTO order_items VALUES(23,20,9,'1',280.0,NULL,0,0); -INSERT INTO order_items VALUES(24,21,4,'1',700.0,NULL,0,0); -INSERT INTO order_items VALUES(25,21,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(26,22,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(27,23,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(28,24,3,'3',250.0,NULL,0,0); -INSERT INTO order_items VALUES(29,25,2,'25',220.0,NULL,0,0); -INSERT INTO order_items VALUES(30,25,7,'4',50.0,NULL,0,0); -INSERT INTO order_items VALUES(31,26,5,'4',72.0,NULL,0,0); -INSERT INTO order_items VALUES(32,26,1,'3',210.0,NULL,0,0); -INSERT INTO order_items VALUES(33,26,4,'3',700.0,NULL,0,0); -INSERT INTO order_items VALUES(34,26,10,'3',210.0,NULL,0,0); -INSERT INTO order_items VALUES(35,26,8,'4',20.0,NULL,0,0); -INSERT INTO order_items VALUES(36,26,11,'6',1400.0,NULL,0,0); -INSERT INTO order_items VALUES(37,27,11,'9',1400.0,NULL,0,0); -INSERT INTO order_items VALUES(38,27,3,'13',250.0,NULL,0,0); -INSERT INTO order_items VALUES(39,28,10,'5',210.0,168.0,0,0); -INSERT INTO order_items VALUES(40,28,6,'6',22.0,17.600000000000002309,0,0); -INSERT INTO order_items VALUES(41,29,4,'2',700.0,700.0,0,0); -INSERT INTO order_items VALUES(42,30,2,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(43,30,11,'5',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(44,30,3,'2',250.0,250.0,0,0); -INSERT INTO order_items VALUES(45,31,2,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(46,31,11,'5',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(47,31,3,'2',250.0,250.0,0,0); -INSERT INTO order_items VALUES(48,32,2,'1',220.0,176.0,0,0); -INSERT INTO order_items VALUES(49,32,11,'5',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(50,32,3,'1',250.0,200.0,0,0); -INSERT INTO order_items VALUES(51,33,4,'3',700.0,560.0,0,0); -INSERT INTO order_items VALUES(52,34,2,'1',220.0,176.0,0,0); -INSERT INTO order_items VALUES(53,34,11,'1',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(54,34,3,'1',250.0,200.0,0,0); -INSERT INTO order_items VALUES(55,35,11,'2',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(56,36,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(57,36,4,'1',700.0,700.0,0,0); -INSERT INTO order_items VALUES(58,36,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(59,37,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(60,37,4,'1',700.0,700.0,0,0); -INSERT INTO order_items VALUES(61,37,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(62,38,2,'1',220.0,220.0,0,0); -INSERT INTO order_items VALUES(63,38,11,'2',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(64,39,3,'1',250.0,200.0,0,0); -INSERT INTO order_items VALUES(65,39,11,'2',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(66,40,11,'3',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(67,40,3,'4',250.0,200.0,0,0); -INSERT INTO order_items VALUES(68,41,11,'2',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(69,41,3,'2',250.0,200.0,0,0); -INSERT INTO order_items VALUES(70,42,2,'4',220.0,176.0,0,0); -INSERT INTO order_items VALUES(71,42,3,'4',250.0,200.0,0,0); -INSERT INTO order_items VALUES(72,43,11,'1',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(73,43,2,'5',220.0,176.0,0,0); -INSERT INTO order_items VALUES(74,43,10,'3',210.0,168.0,0,0); -INSERT INTO order_items VALUES(75,44,11,'1',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(76,44,2,'5',220.0,176.0,0,0); -INSERT INTO order_items VALUES(77,44,10,'3',210.0,168.0,0,0); -INSERT INTO order_items VALUES(78,45,11,'3',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(79,45,2,'5',220.0,176.0,0,0); -INSERT INTO order_items VALUES(80,45,3,'3',250.0,200.0,0,0); -INSERT INTO order_items VALUES(81,46,11,'5',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(82,46,3,'4',250.0,200.0,0,0); -INSERT INTO order_items VALUES(83,46,10,'3',210.0,168.0,0,0); -INSERT INTO order_items VALUES(84,47,3,'2',250.0,250.0,0,0); -INSERT INTO order_items VALUES(85,47,2,'2',220.0,220.0,0,0); -INSERT INTO order_items VALUES(86,48,3,'5',250.0,150.0,0,0); -INSERT INTO order_items VALUES(87,48,11,'3',1400.0,840.0,0,0); -INSERT INTO order_items VALUES(88,48,2,'3',220.0,132.0,0,0); -INSERT INTO order_items VALUES(89,49,10,'5',210.0,210.0,0,0); -INSERT INTO order_items VALUES(90,49,2,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(91,49,11,'2',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(92,49,3,'3',250.0,250.0,0,0); -INSERT INTO order_items VALUES(93,50,4,'3',700.0,700.0,0,0); -INSERT INTO order_items VALUES(94,50,10,'3',210.0,210.0,0,0); -INSERT INTO order_items VALUES(95,50,2,'4',220.0,220.0,0,0); -INSERT INTO order_items VALUES(96,50,11,'3',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(97,51,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(98,52,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(99,53,3,'2',250.0,250.0,0,0); -INSERT INTO order_items VALUES(100,54,4,'3',700.0,700.0,0,0); -INSERT INTO order_items VALUES(101,54,3,'3',250.0,250.0,0,0); -INSERT INTO order_items VALUES(102,55,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(103,55,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(104,55,1,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(105,56,8,'1',20.0,20.0,0,0); -INSERT INTO order_items VALUES(106,56,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(107,57,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(108,58,1,'28',210.0,210.0,0,0); -INSERT INTO order_items VALUES(109,58,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(110,58,3,'3',250.0,250.0,0,0); -INSERT INTO order_items VALUES(111,58,2,'1',220.0,220.0,0,0); -INSERT INTO order_items VALUES(112,59,1,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(113,60,12,'1',350.0,350.0,0,0); -INSERT INTO order_items VALUES(114,61,1,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(115,62,12,'2',350.0,350.0,0,0); -INSERT INTO order_items VALUES(116,63,1,'2',210.0,210.0,0,0); -INSERT INTO order_items VALUES(117,63,12,'2',350.0,350.0,0,0); -INSERT INTO order_items VALUES(118,64,1,'2',210.0,210.0,0,0); -INSERT INTO order_items VALUES(119,65,12,'2',350.0,350.0,0,0); -INSERT INTO order_items VALUES(120,66,12,'1',350.0,350.0,0,0); -INSERT INTO order_items VALUES(121,66,1,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(122,67,15,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(123,68,15,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(124,69,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(125,70,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(126,71,11,'1',1400.0,1400.0,1,0); -INSERT INTO order_items VALUES(127,71,15,'1',220.0,220.0,1,0); -INSERT INTO order_items VALUES(128,71,6,'1',22.0,22.0,1,0); -INSERT INTO order_items VALUES(129,72,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(130,73,5,'3',72.0,72.0,0,0); -INSERT INTO order_items VALUES(131,74,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(132,74,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(133,75,11,'15',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(134,76,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(135,77,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(136,78,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(137,79,25,'3',100.0,100.0,0,0); -INSERT INTO order_items VALUES(138,80,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(139,81,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(140,82,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(141,83,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(142,84,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(143,85,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(144,86,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(145,87,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(146,88,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(147,89,15,'1',140.0,140.0,0,0); -INSERT INTO order_items VALUES(148,89,11,'2',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(149,90,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(150,91,19,'1',40.0,40.0,0,0); -INSERT INTO order_items VALUES(151,92,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(152,93,25,'2',100.0,100.0,0,0); -INSERT INTO order_items VALUES(153,94,26,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(154,95,6,'6',22.0,22.0,0,0); -INSERT INTO order_items VALUES(155,96,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(156,97,25,'2',100.0,100.0,0,0); -INSERT INTO order_items VALUES(157,98,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(158,99,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(159,100,16,'10',100.0,100.0,0,0); -INSERT INTO order_items VALUES(160,101,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(161,102,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(162,103,16,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(163,104,5,'5',72.0,72.0,0,0); -INSERT INTO order_items VALUES(164,104,6,'108',22.0,22.0,0,0); -INSERT INTO order_items VALUES(165,105,12,'22',350.0,350.0,0,0); -INSERT INTO order_items VALUES(166,106,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(167,106,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(168,107,8,'1',20.0,20.0,1,0); -INSERT INTO order_items VALUES(169,107,26,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(170,108,25,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(171,109,13,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(172,110,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(173,111,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(174,111,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(175,111,12,'1',350.0,350.0,0,0); -INSERT INTO order_items VALUES(176,112,8,'1',20.0,20.0,0,0); -INSERT INTO order_items VALUES(177,113,12,'1',350.0,350.0,0,0); -INSERT INTO order_items VALUES(178,114,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(179,115,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(180,115,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(181,115,16,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(182,116,15,'4',140.0,140.0,0,0); -INSERT INTO order_items VALUES(183,117,6,'2',22.0,22.0,1,0); -INSERT INTO order_items VALUES(184,117,5,'1',72.0,72.0,1,0); -INSERT INTO order_items VALUES(185,118,13,'1',120.0,120.0,0,1); -INSERT INTO order_items VALUES(186,119,8,'1',20.0,20.0,0,0); -INSERT INTO order_items VALUES(187,119,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(188,120,21,'1',380.0,380.0,0,0); -INSERT INTO order_items VALUES(189,120,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(190,121,10,'1',210.0,210.0,1,1); -INSERT INTO order_items VALUES(191,121,24,'1',230.0,230.0,1,1); -INSERT INTO order_items VALUES(192,122,5,'1',72.0,72.0,1,1); -INSERT INTO order_items VALUES(193,122,11,'1',1400.0,1400.0,1,1); -INSERT INTO order_items VALUES(194,122,13,'1',120.0,120.0,1,1); -INSERT INTO order_items VALUES(195,122,6,'1',22.0,22.0,1,1); -INSERT INTO order_items VALUES(196,123,35,'1',485.0,485.0,0,0); -INSERT INTO order_items VALUES(197,124,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(198,125,22,'1',680.0,680.0,0,0); -INSERT INTO order_items VALUES(199,126,10,'1',210.0,210.0,1,1); -INSERT INTO order_items VALUES(200,126,6,'1',22.0,22.0,1,1); -INSERT INTO order_items VALUES(201,127,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(202,127,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(203,127,24,'1',230.0,230.0,0,0); -INSERT INTO order_items VALUES(204,127,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(205,127,20,'1',340.0,340.0,0,0); -INSERT INTO order_items VALUES(206,128,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(207,128,15,'1',140.0,140.0,0,0); -INSERT INTO order_items VALUES(208,129,24,'1',230.0,230.0,0,0); -INSERT INTO order_items VALUES(209,129,4,'1',780.0,780.0,0,0); -INSERT INTO order_items VALUES(210,129,21,'1',380.0,380.0,0,0); -INSERT INTO order_items VALUES(211,130,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(212,131,20,'1',340.0,340.0,0,0); -INSERT INTO order_items VALUES(213,132,10,'1',240.0,240.0,1,0); -INSERT INTO order_items VALUES(214,132,23,'2',300.0,300.0,1,0); -INSERT INTO order_items VALUES(215,132,11,'2',1400.0,1400.0,1,0); -INSERT INTO order_items VALUES(216,133,4,'1',780.0,780.0,0,0); -INSERT INTO order_items VALUES(217,134,6,'1',24.0,24.0,0,0); -INSERT INTO order_items VALUES(218,134,13,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(219,134,8,'1',20.0,20.0,0,0); -INSERT INTO order_items VALUES(220,134,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(221,134,25,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(222,134,26,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(223,134,38,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(224,134,39,'1',150.0,150.0,0,0); -INSERT INTO order_items VALUES(225,134,20,'1',340.0,340.0,0,0); -INSERT INTO order_items VALUES(226,134,14,'1',180.0,180.0,0,0); -INSERT INTO order_items VALUES(227,134,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(228,134,10,'1',240.0,240.0,0,0); -INSERT INTO order_items VALUES(229,134,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(230,134,23,'1',300.0,300.0,0,0); -INSERT INTO order_items VALUES(231,134,22,'1',680.0,680.0,0,0); -INSERT INTO order_items VALUES(232,135,20,'5',340.0,340.0,0,0); -INSERT INTO order_items VALUES(233,136,20,'3',340.0,340.0,0,0); -INSERT INTO order_items VALUES(234,137,13,'5',120.0,120.0,0,0); -INSERT INTO order_items VALUES(235,138,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(236,138,21,'1',380.0,380.0,0,0); -INSERT INTO order_items VALUES(237,139,4,'1',780.0,780.0,0,0); -INSERT INTO order_items VALUES(238,140,14,'3',180.0,180.0,0,0); -INSERT INTO order_items VALUES(239,141,14,'3',180.0,180.0,0,0); -INSERT INTO order_items VALUES(240,142,6,'1',24.0,24.0,0,0); -INSERT INTO order_items VALUES(241,143,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(242,143,14,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(243,144,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(244,144,14,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(245,145,1,'2',120.0,120.0,0,0); -INSERT INTO order_items VALUES(246,145,14,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(247,146,1,'2',120.0,120.0,0,0); -INSERT INTO order_items VALUES(248,146,14,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(249,147,1,'3',120.0,120.0,1,0); -INSERT INTO order_items VALUES(250,147,14,'3',220.0,220.0,1,0); -INSERT INTO order_items VALUES(251,148,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(252,148,35,'2',499.0,499.0,0,0); -INSERT INTO order_items VALUES(253,149,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(254,150,1,'1',120.0,120.0,1,0); -INSERT INTO order_items VALUES(255,150,3,'1',250.0,250.0,1,0); -INSERT INTO order_items VALUES(256,151,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(257,151,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(258,151,10,'1',240.0,240.0,0,0); -INSERT INTO order_items VALUES(259,152,21,'1',489.0,489.0,0,0); -INSERT INTO order_items VALUES(260,152,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(261,153,22,'1',680.0,680.0,0,0); -INSERT INTO order_items VALUES(262,154,23,'1',300.0,300.0,0,0); -INSERT INTO order_items VALUES(263,154,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(264,155,21,'1',489.0,489.0,0,0); -INSERT INTO order_items VALUES(265,155,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(266,156,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(267,156,14,'1',220.0,220.0,0,0); -INSERT INTO order_items VALUES(268,157,75,'3',25.0,25.0,1,0); -INSERT INTO order_items VALUES(269,158,21,'1',559.0,559.0,0,0); -INSERT INTO order_items VALUES(270,158,3,'1',76.0,76.0,0,0); -INSERT INTO order_items VALUES(271,158,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(272,158,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(273,158,35,'1',499.0,499.0,0,0); -INSERT INTO order_items VALUES(274,159,77,'56',22.0,22.0,0,0); -INSERT INTO order_items VALUES(275,160,77,'6',22.0,22.0,0,0); -INSERT INTO order_items VALUES(276,161,77,'14',22.0,22.0,0,0); -INSERT INTO order_items VALUES(277,162,77,'8',22.0,22.0,1,0); -INSERT INTO order_items VALUES(278,163,24,'7',249.0,249.0,0,0); -INSERT INTO order_items VALUES(279,164,3,'4',76.0,76.0,0,0); -INSERT INTO order_items VALUES(280,165,4,'1',820.0,820.0,0,0); -INSERT INTO order_items VALUES(281,166,7,'1',49.0,49.0,0,0); -INSERT INTO order_items VALUES(282,167,10,'1',240.0,240.0,0,0); -INSERT INTO order_items VALUES(283,167,6,'1',154.0,154.0,0,0); -INSERT INTO order_items VALUES(284,167,24,'1',249.0,249.0,0,0); -INSERT INTO order_items VALUES(285,168,35,'2',410.0,410.0,0,0); -INSERT INTO order_items VALUES(286,168,3,'2',76.0,76.0,0,0); -INSERT INTO order_items VALUES(287,168,4,'2',820.0,820.0,0,0); -INSERT INTO order_items VALUES(288,169,37,'3',29.0,29.0,0,0); -INSERT INTO order_items VALUES(289,170,23,'1',146.0,146.0,1,0); -INSERT INTO order_items VALUES(290,171,35,'1',429.0,429.0,1,1); -INSERT INTO order_items VALUES(291,172,13,'1',35.0,35.0,1,1); -INSERT INTO order_items VALUES(292,172,5,'1',17.0,17.0,1,1); -INSERT INTO order_items VALUES(293,172,68,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(294,173,56,'1',44.0,44.0,1,1); -INSERT INTO order_items VALUES(295,174,47,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(296,174,38,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(297,175,19,'1',27.0,27.0,1,1); -INSERT INTO order_items VALUES(298,176,56,'1',67.0,67.0,1,1); -INSERT INTO order_items VALUES(299,176,23,'1',146.0,146.0,1,1); -INSERT INTO order_items VALUES(300,177,58,'2',79.0,79.0,1,1); -INSERT INTO order_items VALUES(301,178,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(302,179,23,'1',146.0,146.0,1,0); -INSERT INTO order_items VALUES(303,180,13,'2',47.0,47.0,1,0); -INSERT INTO order_items VALUES(304,181,71,'1',17.0,17.0,1,0); -INSERT INTO order_items VALUES(305,182,59,'1',39.0,39.0,1,0); -INSERT INTO order_items VALUES(306,183,66,'1',32.0,32.0,0,0); -INSERT INTO order_items VALUES(307,184,41,'1',179.0,179.0,1,1); -INSERT INTO order_items VALUES(308,185,76,'1',25.0,25.0,0,0); -INSERT INTO order_items VALUES(309,185,32,'1',23.0,23.0,0,0); -INSERT INTO order_items VALUES(310,185,97,'1',19.0,19.0,0,0); -INSERT INTO order_items VALUES(311,186,24,'1',218.0,218.0,0,0); -INSERT INTO order_items VALUES(312,186,1,'1',89.0,89.0,0,0); -INSERT INTO order_items VALUES(313,187,67,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(314,187,45,'1',25.0,25.0,1,1); -INSERT INTO order_items VALUES(315,188,9,'1',296.0,296.0,0,0); -INSERT INTO order_items VALUES(316,189,23,'2',146.0,146.0,1,1); -INSERT INTO order_items VALUES(317,190,71,'1',17.0,17.0,0,0); -INSERT INTO order_items VALUES(318,191,23,'2',135.0,135.0,1,1); -INSERT INTO order_items VALUES(319,192,24,'2',210.0,210.0,1,1); -INSERT INTO order_items VALUES(320,193,10,'1',269.0,269.0,1,1); -INSERT INTO order_items VALUES(321,194,41,'1',179.0,179.0,1,1); -INSERT INTO order_items VALUES(322,194,4,'1',820.0,820.0,1,1); -INSERT INTO order_items VALUES(323,195,96,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(324,196,41,'1',179.0,179.0,0,0); -INSERT INTO order_items VALUES(325,197,41,'1',179.0,179.0,1,1); -INSERT INTO order_items VALUES(326,197,10,'1',269.0,269.0,1,1); -INSERT INTO order_items VALUES(332,202,40,'1',135.0,135.0,1,0); -INSERT INTO order_items VALUES(333,203,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(334,204,51,'1',79.0,79.0,0,0); -INSERT INTO order_items VALUES(335,205,51,'1',79.0,79.0,1,1); -INSERT INTO order_items VALUES(336,206,4,'1',820.0,820.0,0,0); -INSERT INTO order_items VALUES(337,207,14,'1',369.0,369.0,0,0); -INSERT INTO order_items VALUES(338,208,98,'1',420.0,420.0,1,0); -INSERT INTO order_items VALUES(339,209,40,'2',135.0,135.0,1,1); -INSERT INTO order_items VALUES(340,209,38,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(341,209,8,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(342,210,24,'1',210.0,210.0,1,0); -INSERT INTO order_items VALUES(343,211,76,'1',25.0,25.0,1,1); -INSERT INTO order_items VALUES(344,211,19,'1',27.0,27.0,1,1); -INSERT INTO order_items VALUES(345,211,32,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(346,211,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(347,212,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(348,213,18,'2',44.0,44.0,0,0); -INSERT INTO order_items VALUES(349,214,13,'2',49.0,49.0,0,0); -INSERT INTO order_items VALUES(350,215,13,'4',69.0,69.0,1,1); -INSERT INTO order_items VALUES(351,216,7,'1',49.0,49.0,0,0); -INSERT INTO order_items VALUES(352,216,8,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(353,216,46,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(354,216,6,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(355,217,38,'1',76.0,76.0,1,0); -INSERT INTO order_items VALUES(356,217,85,'1',259.0,259.0,1,0); -INSERT INTO order_items VALUES(357,218,6,'2',109.0,109.0,1,1); -INSERT INTO order_items VALUES(358,218,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(359,218,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(360,218,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(361,218,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(362,219,96,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(363,220,6,'1',109.0,109.0,1,0); -INSERT INTO order_items VALUES(364,220,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(365,221,6,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(366,221,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(367,221,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(368,222,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(369,222,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(370,222,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(371,223,7,'1',49.0,49.0,0,0); -INSERT INTO order_items VALUES(372,223,78,'1',29.0,29.0,0,0); -INSERT INTO order_items VALUES(373,223,45,'1',19.0,19.0,0,0); -INSERT INTO order_items VALUES(374,224,42,'1',149.0,149.0,1,0); -INSERT INTO order_items VALUES(375,225,59,'1',98.0,98.0,0,0); -INSERT INTO order_items VALUES(376,226,91,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(377,226,45,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(378,226,71,'1',17.0,17.0,1,1); -INSERT INTO order_items VALUES(379,226,95,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(380,227,14,'1',379.0,379.0,1,0); -INSERT INTO order_items VALUES(381,228,16,'1',28.0,28.0,0,0); -INSERT INTO order_items VALUES(382,228,91,'2',29.0,29.0,0,0); -INSERT INTO order_items VALUES(383,228,45,'2',19.0,19.0,0,0); -INSERT INTO order_items VALUES(384,228,71,'1',17.0,17.0,0,0); -INSERT INTO order_items VALUES(385,228,95,'1',39.0,39.0,0,0); -INSERT INTO order_items VALUES(386,229,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(387,229,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(388,229,77,'1',18.0,18.0,1,1); -INSERT INTO order_items VALUES(389,229,29,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(390,229,68,'1',32.0,32.0,1,1); -INSERT INTO order_items VALUES(391,230,45,'1',19.0,19.0,0,0); -INSERT INTO order_items VALUES(392,230,31,'2',29.0,29.0,0,0); -INSERT INTO order_items VALUES(393,230,6,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(394,231,6,'2',109.0,109.0,1,1); -INSERT INTO order_items VALUES(395,231,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(396,232,2,'1',219.0,219.0,0,0); -INSERT INTO order_items VALUES(397,233,24,'1',219.0,219.0,0,0); -INSERT INTO order_items VALUES(398,234,24,'1',219.0,219.0,1,1); -INSERT INTO order_items VALUES(399,235,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(400,236,23,'1',139.0,139.0,1,0); -INSERT INTO order_items VALUES(401,237,13,'2',69.0,69.0,1,0); -INSERT INTO order_items VALUES(402,238,67,'4',24.0,24.0,0,0); -INSERT INTO order_items VALUES(403,239,67,'4',24.0,24.0,0,0); -INSERT INTO order_items VALUES(404,240,40,'1',160.0,160.0,0,0); -INSERT INTO order_items VALUES(405,241,40,'1',160.0,160.0,0,0); -INSERT INTO order_items VALUES(406,242,66,'1',27.0,27.0,0,0); -INSERT INTO order_items VALUES(407,243,19,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(408,244,82,'1',389.0,389.0,0,0); -INSERT INTO order_items VALUES(409,245,59,'10',98.0,98.0,0,0); -INSERT INTO order_items VALUES(410,246,23,'1',139.0,139.0,0,0); -INSERT INTO order_items VALUES(411,247,42,'1',149.0,149.0,0,0); -INSERT INTO order_items VALUES(412,248,23,'1',139.0,139.0,1,0); -INSERT INTO order_items VALUES(413,248,7,'1',49.0,49.0,1,0); -INSERT INTO order_items VALUES(414,249,96,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(415,250,98,'1',419.0,419.0,0,0); -INSERT INTO order_items VALUES(416,250,80,'1',849.0,849.0,0,0); -INSERT INTO order_items VALUES(417,250,58,'1',59.0,59.0,0,0); -INSERT INTO order_items VALUES(418,251,48,'2',55.0,55.0,1,0); -INSERT INTO order_items VALUES(419,252,78,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(420,252,91,'2',39.0,39.0,1,0); -INSERT INTO order_items VALUES(421,253,19,'2',27.0,27.0,1,0); -INSERT INTO order_items VALUES(422,253,72,'2',18.0,18.0,1,0); -INSERT INTO order_items VALUES(423,253,16,'1',28.0,28.0,1,0); -INSERT INTO order_items VALUES(424,254,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(425,254,19,'1',27.0,27.0,1,1); -INSERT INTO order_items VALUES(426,254,32,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(427,254,27,'1',24.0,24.0,1,1); -INSERT INTO order_items VALUES(428,254,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(429,254,74,'1',17.0,17.0,1,1); -INSERT INTO order_items VALUES(430,255,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(431,256,98,'1',419.0,419.0,0,0); -INSERT INTO order_items VALUES(432,257,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(433,258,58,'1',59.0,59.0,1,1); -INSERT INTO order_items VALUES(434,259,35,'1',459.0,459.0,1,1); -INSERT INTO order_items VALUES(435,260,40,'1',150.0,150.0,0,0); -INSERT INTO order_items VALUES(436,260,24,'1',230.0,230.0,0,0); -INSERT INTO order_items VALUES(437,261,73,'2',59.0,59.0,1,0); -INSERT INTO order_items VALUES(438,262,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(439,263,40,'1',150.0,150.0,0,0); -INSERT INTO order_items VALUES(440,264,24,'2',198.0,198.0,1,0); -INSERT INTO order_items VALUES(441,264,66,'1',27.0,27.0,1,0); -INSERT INTO order_items VALUES(442,265,73,'2',59.0,59.0,1,0); -INSERT INTO order_items VALUES(443,266,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(444,267,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(445,267,60,'1',78.0,78.0,1,0); -INSERT INTO order_items VALUES(446,267,8,'1',119.0,119.0,1,0); -INSERT INTO order_items VALUES(447,267,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(448,268,35,'1',429.0,429.0,1,1); -INSERT INTO order_items VALUES(449,269,24,'2',198.0,198.0,0,0); -INSERT INTO order_items VALUES(450,270,2,'1',230.0,230.0,1,0); -INSERT INTO order_items VALUES(451,271,100,'1',99.0,99.0,1,0); -INSERT INTO order_items VALUES(452,271,69,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(453,271,9,'1',296.0,296.0,1,0); -INSERT INTO order_items VALUES(454,272,58,'1',59.0,59.0,0,0); -INSERT INTO order_items VALUES(455,273,58,'1',59.0,59.0,0,0); -INSERT INTO order_items VALUES(456,274,9,'1',296.0,296.0,1,1); -INSERT INTO order_items VALUES(457,274,85,'1',259.0,259.0,1,1); -INSERT INTO order_items VALUES(458,275,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(459,275,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(460,276,45,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(461,276,91,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(462,276,35,'1',429.0,429.0,1,1); -INSERT INTO order_items VALUES(463,277,97,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(464,277,95,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(465,277,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(466,277,90,'1',27.0,27.0,1,0); -INSERT INTO order_items VALUES(467,277,19,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(468,277,27,'1',24.0,24.0,1,1); -INSERT INTO order_items VALUES(469,277,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(470,277,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(471,277,29,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(472,277,45,'2',19.0,19.0,1,0); -INSERT INTO order_items VALUES(473,277,67,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(474,277,66,'1',27.0,27.0,1,1); -INSERT INTO order_items VALUES(475,277,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(476,277,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(477,278,24,'2',198.0,198.0,1,0); -INSERT INTO order_items VALUES(478,279,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(479,280,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(480,280,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(481,280,72,'1',14.0,14.0,1,1); -INSERT INTO order_items VALUES(482,280,92,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(483,280,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(484,280,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(485,280,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(486,281,91,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(487,281,19,'2',23.0,23.0,1,1); -INSERT INTO order_items VALUES(488,281,10,'2',249.0,249.0,1,0); -INSERT INTO order_items VALUES(489,282,59,'1',98.0,98.0,0,0); -INSERT INTO order_items VALUES(490,283,73,'2',59.0,59.0,1,0); -INSERT INTO order_items VALUES(491,283,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(492,284,7,'1',49.0,49.0,1,0); -INSERT INTO order_items VALUES(493,284,48,'1',55.0,55.0,1,0); -INSERT INTO order_items VALUES(494,284,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(495,285,38,'1',76.0,76.0,0,0); -INSERT INTO order_items VALUES(496,285,56,'1',67.0,67.0,0,0); -INSERT INTO order_items VALUES(497,285,96,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(498,285,47,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(499,286,27,'1',24.0,24.0,1,0); -INSERT INTO order_items VALUES(500,286,5,'1',26.0,26.0,1,0); -INSERT INTO order_items VALUES(501,286,32,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(502,286,16,'1',28.0,28.0,1,0); -INSERT INTO order_items VALUES(503,286,33,'1',15.0,15.0,1,0); -INSERT INTO order_items VALUES(504,286,89,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(505,286,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(506,286,48,'1',55.0,55.0,1,0); -INSERT INTO order_items VALUES(507,287,97,'6',19.0,19.0,0,0); -INSERT INTO order_items VALUES(508,288,38,'1',76.0,76.0,0,0); -INSERT INTO order_items VALUES(509,289,31,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(510,290,24,'1',198.0,198.0,1,1); -INSERT INTO order_items VALUES(511,290,41,'1',189.0,189.0,1,0); -INSERT INTO order_items VALUES(512,291,21,'1',559.0,559.0,1,1); -INSERT INTO order_items VALUES(513,292,59,'1',98.0,98.0,0,0); -INSERT INTO order_items VALUES(514,293,59,'1',98.0,98.0,0,0); -INSERT INTO order_items VALUES(515,294,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(516,295,73,'4',59.0,59.0,1,0); -INSERT INTO order_items VALUES(517,296,4,'1',819.0,819.0,0,0); -INSERT INTO order_items VALUES(518,297,23,'2',125.0,125.0,1,1); -INSERT INTO order_items VALUES(519,297,76,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(520,297,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(521,297,32,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(522,298,33,'1',15.0,15.0,1,0); -INSERT INTO order_items VALUES(523,298,89,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(524,298,32,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(525,299,48,'1',55.0,55.0,1,0); -INSERT INTO order_items VALUES(526,299,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(527,300,44,'2',119.0,119.0,1,1); -INSERT INTO order_items VALUES(528,301,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(529,301,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(530,301,100,'1',99.0,99.0,1,1); -INSERT INTO order_items VALUES(531,301,83,'1',159.0,159.0,1,1); -INSERT INTO order_items VALUES(532,301,40,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(533,301,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(534,301,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(535,301,29,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(536,301,72,'3',14.0,14.0,1,0); -INSERT INTO order_items VALUES(537,301,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(538,301,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(539,301,92,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(540,301,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(541,301,19,'2',23.0,23.0,1,1); -INSERT INTO order_items VALUES(542,301,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(543,301,77,'3',16.0,16.0,1,1); -INSERT INTO order_items VALUES(544,301,33,'1',15.0,15.0,1,0); -INSERT INTO order_items VALUES(545,301,95,'1',39.0,39.0,1,0); -INSERT INTO order_items VALUES(546,301,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(547,301,79,'1',33.0,33.0,1,0); -INSERT INTO order_items VALUES(548,301,76,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(549,302,41,'1',189.0,189.0,1,0); -INSERT INTO order_items VALUES(550,303,61,'1',99.0,99.0,1,0); -INSERT INTO order_items VALUES(551,303,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(552,304,9,'1',296.0,296.0,1,1); -INSERT INTO order_items VALUES(553,304,24,'1',198.0,198.0,1,1); -INSERT INTO order_items VALUES(554,305,73,'5',59.0,59.0,1,0); -INSERT INTO order_items VALUES(555,306,23,'2',125.0,125.0,1,1); -INSERT INTO order_items VALUES(556,306,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(557,306,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(558,307,73,'4',59.0,59.0,1,1); -INSERT INTO order_items VALUES(559,308,35,'1',429.0,429.0,1,0); -INSERT INTO order_items VALUES(560,309,40,'1',150.0,150.0,1,1); -INSERT INTO order_items VALUES(561,309,23,'1',149.0,149.0,1,1); -INSERT INTO order_items VALUES(562,309,19,'2',50.0,50.0,1,1); -INSERT INTO order_items VALUES(563,309,45,'3',19.0,19.0,1,1); -INSERT INTO order_items VALUES(564,309,29,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(565,309,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(566,309,76,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(567,309,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(568,309,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(569,309,27,'1',24.0,24.0,1,1); -INSERT INTO order_items VALUES(570,310,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(571,311,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(572,311,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(573,311,56,'1',67.0,67.0,1,1); -INSERT INTO order_items VALUES(574,311,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(575,311,58,'1',59.0,59.0,1,1); -INSERT INTO order_items VALUES(576,311,100,'1',99.0,99.0,1,1); -INSERT INTO order_items VALUES(577,311,79,'1',33.0,33.0,1,1); -INSERT INTO order_items VALUES(578,312,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(579,312,58,'1',59.0,59.0,1,1); -INSERT INTO order_items VALUES(580,312,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(581,312,46,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(582,312,100,'1',99.0,99.0,1,1); -INSERT INTO order_items VALUES(583,312,56,'1',67.0,67.0,1,1); -INSERT INTO order_items VALUES(584,312,8,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(585,313,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(586,313,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(587,314,40,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(588,315,76,'1',19.0,19.0,0,0); -INSERT INTO order_items VALUES(589,315,19,'1',23.0,23.0,0,0); -INSERT INTO order_items VALUES(590,315,48,'1',55.0,55.0,0,0); -INSERT INTO order_items VALUES(591,316,19,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(592,316,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(593,316,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(594,316,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(595,317,23,'1',149.0,149.0,0,0); -INSERT INTO order_items VALUES(596,318,14,'2',389.0,389.0,1,1); -INSERT INTO order_items VALUES(597,318,98,'2',419.0,419.0,1,1); -INSERT INTO order_items VALUES(598,319,11,'1',119.0,119.0,1,0); -INSERT INTO order_items VALUES(599,319,79,'2',33.0,33.0,1,0); -INSERT INTO order_items VALUES(600,320,38,'1',76.0,76.0,1,1); -INSERT INTO order_items VALUES(601,320,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(602,320,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(603,320,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(604,320,33,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(605,320,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(606,321,98,'1',419.0,419.0,0,0); -INSERT INTO order_items VALUES(607,322,35,'1',429.0,429.0,1,0); -INSERT INTO order_items VALUES(608,323,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(609,323,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(610,323,37,'1',139.0,139.0,1,1); -INSERT INTO order_items VALUES(611,323,76,'4',19.0,19.0,1,1); -INSERT INTO order_items VALUES(612,323,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(613,323,72,'1',14.0,14.0,1,1); -INSERT INTO order_items VALUES(614,323,92,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(615,323,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(616,323,97,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(617,323,24,'1',198.0,198.0,1,1); -INSERT INTO order_items VALUES(618,324,8,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(619,324,51,'1',169.0,169.0,1,0); -INSERT INTO order_items VALUES(620,324,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(621,324,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(622,324,100,'1',99.0,99.0,1,1); -INSERT INTO order_items VALUES(623,325,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(624,325,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(625,325,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(626,325,19,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(627,325,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(628,326,2,'1',198.0,198.0,1,1); -INSERT INTO order_items VALUES(629,326,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(630,327,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(631,327,38,'1',76.0,76.0,1,0); -INSERT INTO order_items VALUES(632,327,79,'2',33.0,33.0,1,0); -INSERT INTO order_items VALUES(633,328,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(634,329,13,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(635,329,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(636,329,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(637,329,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(638,329,50,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(639,330,72,'2',14.0,14.0,1,1); -INSERT INTO order_items VALUES(640,331,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(641,331,37,'1',139.0,139.0,1,0); -INSERT INTO order_items VALUES(642,332,38,'1',76.0,76.0,1,0); -INSERT INTO order_items VALUES(643,332,53,'1',239.0,239.0,1,1); -INSERT INTO order_items VALUES(644,333,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(645,333,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(646,333,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(647,333,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(648,333,19,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(649,333,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(650,334,45,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(651,334,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(652,334,94,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(653,334,33,'2',15.0,15.0,1,1); -INSERT INTO order_items VALUES(654,334,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(655,334,72,'2',14.0,14.0,1,1); -INSERT INTO order_items VALUES(656,334,19,'2',23.0,23.0,1,1); -INSERT INTO order_items VALUES(657,334,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(658,334,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(659,334,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(660,334,5,'1',26.0,26.0,1,0); -INSERT INTO order_items VALUES(661,334,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(662,334,13,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(663,335,59,'2',98.0,98.0,0,0); -INSERT INTO order_items VALUES(664,335,60,'2',78.0,78.0,0,0); -INSERT INTO order_items VALUES(665,335,8,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(666,336,8,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(667,336,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(668,336,60,'1',78.0,78.0,1,1); -INSERT INTO order_items VALUES(669,337,76,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(670,337,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(671,337,97,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(672,338,23,'2',125.0,125.0,1,1); -INSERT INTO order_items VALUES(673,339,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(674,339,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(675,339,13,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(676,340,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(677,340,7,'1',49.0,49.0,1,0); -INSERT INTO order_items VALUES(678,340,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(679,340,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(680,341,23,'2',125.0,125.0,1,0); -INSERT INTO order_items VALUES(681,342,9,'1',296.0,296.0,1,0); -INSERT INTO order_items VALUES(682,342,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(683,342,19,'2',50.0,50.0,1,0); -INSERT INTO order_items VALUES(684,342,60,'1',78.0,78.0,1,0); -INSERT INTO order_items VALUES(685,342,48,'3',55.0,55.0,1,0); -INSERT INTO order_items VALUES(686,343,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(687,343,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(688,344,40,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(689,344,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(690,345,7,'1',49.0,49.0,1,0); -INSERT INTO order_items VALUES(691,345,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(692,345,44,'1',119.0,119.0,1,0); -INSERT INTO order_items VALUES(693,345,60,'1',78.0,78.0,1,0); -INSERT INTO order_items VALUES(694,345,48,'1',55.0,55.0,1,0); -INSERT INTO order_items VALUES(695,346,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(696,346,67,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(697,346,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(698,346,91,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(699,346,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(700,346,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(701,346,74,'1',18.0,18.0,1,1); -INSERT INTO order_items VALUES(702,346,72,'1',14.0,14.0,1,1); -INSERT INTO order_items VALUES(703,347,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(704,347,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(705,347,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(706,347,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(707,347,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(708,347,29,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(709,347,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(710,347,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(711,347,72,'1',14.0,14.0,1,1); -INSERT INTO order_items VALUES(712,347,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(713,347,33,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(714,347,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(715,348,35,'1',429.0,429.0,0,0); -INSERT INTO order_items VALUES(748,381,1,'1',99.0,99.0,0,0); -INSERT INTO order_items VALUES(749,381,9,'1',296.0,296.0,0,0); -INSERT INTO order_items VALUES(750,382,91,'1',39.0,39.0,0,0); -INSERT INTO order_items VALUES(751,382,25,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(752,382,31,'1',29.0,29.0,0,0); -INSERT INTO order_items VALUES(753,383,25,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(754,384,84,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(755,384,36,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(756,385,79,'2',39.0,39.0,0,0); -INSERT INTO order_items VALUES(757,385,23,'2',133.0,133.0,0,0); -INSERT INTO order_items VALUES(758,386,91,'1',39.0,39.0,0,0); -CREATE TABLE IF NOT EXISTS "order_status" ("id" INTEGER PRIMARY KEY, "order_time" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "user_id" INTEGER NOT NULL, "order_id" INTEGER NOT NULL, "is_packaged" INTEGER NOT NULL DEFAULT false, "is_delivered" INTEGER NOT NULL DEFAULT false, "is_cancelled" INTEGER NOT NULL DEFAULT false, "cancel_reason" TEXT, "payment_state" TEXT NOT NULL DEFAULT 'pending', "cancellation_user_notes" TEXT, "cancellation_admin_notes" TEXT, "cancellation_reviewed" INTEGER NOT NULL DEFAULT false, "cancellation_reviewed_at" TEXT, "refund_coupon_id" INTEGER, "is_cancelled_by_admin" INTEGER); -INSERT INTO order_status VALUES(1,'2025-11-19T09:21:36.005Z',3,1,1,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(2,'2025-11-19T09:38:30.002Z',1,2,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(3,'2025-11-19T11:46:20.300Z',1,3,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(4,'2025-11-19T11:47:33.139Z',1,4,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(5,'2025-11-19T11:57:48.269Z',1,5,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(6,'2025-11-19T12:13:52.466Z',1,6,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(7,'2025-11-19T12:15:06.264Z',1,7,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(8,'2025-11-19T12:18:02.760Z',1,8,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(9,'2025-11-19T12:23:19.913Z',1,9,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(10,'2025-11-19T12:24:04.853Z',1,10,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(11,'2025-11-19T12:32:19.093Z',1,11,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(12,'2025-11-19T12:34:24.892Z',1,12,0,0,1,'Simply','success','Simply',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(13,'2025-11-19T12:36:42.741Z',1,13,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(14,'2025-11-19T12:39:28.501Z',1,14,0,0,1,'Simply','success','Simply',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(15,'2025-11-20T13:57:28.656Z',1,15,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(16,'2025-11-20T13:58:25.443Z',1,16,0,0,1,'Just for fun','pending','Just for fun',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(17,'2025-11-20T13:59:33.401Z',1,17,0,0,1,'Simply','pending','Simply',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(18,'2025-11-22T06:22:17.202Z',1,18,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(19,'2025-11-22T22:47:06.288Z',2,19,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(20,'2025-11-22T22:47:51.311Z',2,20,0,0,1,'Demo ','cod','Demo ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(21,'2025-11-23T06:17:57.049Z',1,21,1,1,1,'Having some fun','success','Having some fun',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(22,'2025-11-24T05:57:28.143Z',3,22,1,1,1,'On more need','cod','On more need',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(23,'2025-11-24T05:57:47.787Z',3,23,1,1,1,'No more need','success','No more need',NULL,1,'2025-11-24T06:07:29.145Z',NULL,NULL); -INSERT INTO order_status VALUES(24,'2025-11-25T00:59:10.926Z',2,24,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(25,'2025-11-25T05:22:32.946Z',1,25,0,0,1,'Will order again. ','success','Will order again. ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(26,'2025-11-27T06:03:25.875Z',1,26,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(27,'2025-11-28T05:42:30.513Z',1,27,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(28,'2025-11-28T08:13:28.023Z',1,28,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(29,'2025-11-28T13:35:07.141Z',1,29,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(30,'2025-11-28T22:21:06.630Z',1,30,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(31,'2025-11-28T22:24:57.085Z',1,31,0,0,1,'Not paid for','pending','Not paid for',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(32,'2025-11-28T22:34:41.736Z',1,32,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(33,'2025-11-28T22:36:50.767Z',1,33,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(34,'2025-11-28T22:52:17.319Z',1,34,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(35,'2025-11-28T22:58:18.465Z',1,35,0,0,1,'Payment failed','pending','Payment failed',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(36,'2025-11-28T23:08:27.789Z',1,36,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(37,'2025-11-28T23:09:42.893Z',1,37,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(38,'2025-11-28T23:11:19.776Z',1,38,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(39,'2025-11-28T23:17:00.716Z',1,39,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(40,'2025-11-28T23:17:55.763Z',1,40,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(41,'2025-11-28T23:22:23.472Z',1,41,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(42,'2025-11-28T23:23:26.081Z',1,42,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(43,'2025-11-28T23:31:53.995Z',1,43,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(44,'2025-11-28T23:33:25.999Z',1,44,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(45,'2025-11-28T23:35:17.386Z',1,45,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(46,'2025-11-28T23:42:33.188Z',1,46,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(47,'2025-11-29T00:35:31.578Z',1,47,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(48,'2025-11-29T00:47:37.657Z',1,48,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(49,'2025-11-29T00:51:57.402Z',1,49,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(50,'2025-11-29T01:06:18.087Z',1,50,0,0,1,'Testing cancellation functionality','success','Testing cancellation functionality',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(51,'2025-11-29T01:40:22.677Z',1,51,0,0,1,'Testingg','success','Testingg',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(52,'2025-11-29T01:51:02.498Z',1,52,0,0,1,'Testing','success','Testing',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(53,'2025-11-29T01:57:47.891Z',1,53,0,0,1,'Testing 3','success','Testing 3',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(54,'2025-11-29T03:01:07.992Z',1,54,1,1,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(55,'2025-12-04T23:32:41.242Z',2,55,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(56,'2025-12-10T10:02:38.859Z',4,56,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(57,'2025-12-10T10:04:32.211Z',4,57,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(58,'2025-12-13T11:19:59.242Z',1,58,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(59,'2025-12-13T11:23:12.720Z',1,59,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(60,'2025-12-13T11:23:12.720Z',1,60,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(61,'2025-12-13T11:24:58.073Z',1,61,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(62,'2025-12-13T11:24:58.073Z',1,62,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(63,'2025-12-13T11:30:04.358Z',1,63,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(64,'2025-12-13T11:31:12.284Z',1,64,0,0,1,'just for fun','pending','just for fun',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(65,'2025-12-13T11:31:12.284Z',1,65,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(66,'2025-12-15T09:42:52.294Z',1,66,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(67,'2025-12-15T09:46:00.443Z',1,67,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(68,'2025-12-15T09:57:50.680Z',1,68,0,0,1,'funnn','cod','funnn',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(69,'2025-12-18T04:55:00.617Z',2,69,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(70,'2025-12-19T01:02:15.969Z',15,70,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(71,'2025-12-19T03:02:11.838Z',17,71,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(72,'2025-12-19T03:07:12.056Z',17,72,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(73,'2025-12-19T03:40:04.180Z',17,73,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(74,'2025-12-19T03:46:32.062Z',17,74,0,0,1,'Xdf','cod','Xdf',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(75,'2025-12-19T03:55:08.427Z',17,75,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(76,'2025-12-19T03:57:05.639Z',17,76,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(77,'2025-12-19T04:02:06.098Z',17,77,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(78,'2025-12-19T07:02:11.424Z',15,78,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(79,'2025-12-19T07:53:09.910Z',15,79,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(80,'2025-12-19T09:10:25.557Z',17,80,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(81,'2025-12-19T09:49:01.904Z',17,81,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(82,'2025-12-19T09:55:53.524Z',17,82,1,1,0,NULL,'cod',NULL,NULL,0,NULL,7,NULL); -INSERT INTO order_status VALUES(83,'2025-12-19T10:37:21.739Z',17,83,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(84,'2025-12-19T10:46:56.208Z',17,84,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(85,'2025-12-19T11:01:02.225Z',17,85,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(86,'2025-12-19T11:26:56.607Z',17,86,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(87,'2025-12-19T11:38:46.198Z',17,87,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(88,'2025-12-20T05:46:31.197Z',17,88,0,0,1,'Hh','cod','Hh',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(89,'2025-12-20T15:09:16.076Z',1,89,0,0,1,'Simply','cod','Simply',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(90,'2025-12-20T21:38:45.891Z',17,90,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(91,'2025-12-20T21:39:35.232Z',17,91,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(92,'2025-12-22T05:12:52.301Z',15,92,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(93,'2025-12-22T05:22:59.518Z',15,93,0,0,1,replace('Plz cancle this order \nIt''s mistake to order ','\n',char(10)),'cod',replace('Plz cancle this order \nIt''s mistake to order ','\n',char(10)),NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(94,'2025-12-22T08:12:49.911Z',15,94,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(95,'2025-12-22T08:40:14.765Z',15,95,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(96,'2025-12-22T09:05:51.054Z',20,96,0,0,1,'Sorry by mistake ordered ','cod','Sorry by mistake ordered ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(97,'2025-12-23T00:47:34.830Z',2,97,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(98,'2025-12-23T00:47:34.830Z',2,98,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(99,'2025-12-23T00:50:21.885Z',2,99,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(100,'2025-12-23T08:23:28.094Z',15,100,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(101,'2025-12-23T11:45:50.591Z',17,101,0,0,1,'Hh','cod','Hh',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(102,'2025-12-23T11:49:14.841Z',17,102,0,0,1,'Gg','cod','Gg',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(103,'2025-12-23T21:09:04.114Z',22,103,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(104,'2025-12-23T21:20:33.284Z',22,104,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(105,'2025-12-23T21:20:33.284Z',22,105,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(106,'2025-12-24T05:02:01.957Z',15,106,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(107,'2025-12-24T05:02:01.957Z',15,107,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(108,'2025-12-24T05:02:01.957Z',15,108,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(109,'2025-12-24T05:02:01.957Z',15,109,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(110,'2025-12-25T07:48:48.478Z',1,110,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(111,'2025-12-25T10:06:02.108Z',1,111,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(112,'2025-12-25T10:06:02.108Z',1,112,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(113,'2025-12-25T10:32:45.526Z',1,113,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(114,'2025-12-26T19:38:17.686Z',16,114,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(115,'2025-12-26T23:02:15.299Z',1,115,0,0,0,NULL,'cod',NULL,NULL,0,NULL,9,NULL); -INSERT INTO order_status VALUES(116,'2025-12-26T23:02:15.299Z',1,116,1,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(117,'2025-12-27T12:09:01.944Z',2,117,1,1,0,NULL,'cod',NULL,NULL,0,NULL,10,NULL); -INSERT INTO order_status VALUES(118,'2025-12-27T12:09:01.944Z',2,118,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(119,'2025-12-27T12:09:01.944Z',2,119,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(120,'2025-12-28T08:37:33.787Z',2,120,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(121,'2025-12-28T08:41:24.904Z',2,121,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(122,'2025-12-28T22:17:14.213Z',1,122,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(123,'2026-01-01T03:08:22.110Z',2,123,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(124,'2026-01-01T03:09:11.420Z',2,124,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(125,'2026-01-01T03:14:07.865Z',2,125,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(126,'2026-01-01T05:09:15.780Z',2,126,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(127,'2026-01-01T06:40:15.182Z',2,127,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(128,'2026-01-03T02:42:48.013Z',26,128,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(129,'2026-01-04T07:35:41.022Z',2,129,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(130,'2026-01-04T07:37:44.994Z',12,130,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(131,'2026-01-04T13:20:00.136Z',21,131,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(132,'2026-01-06T07:21:22.047Z',1,132,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(133,'2026-01-06T07:45:52.275Z',30,133,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(134,'2026-01-06T11:13:08.862Z',21,134,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(135,'2026-01-07T09:32:56.404Z',22,135,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(136,'2026-01-07T10:17:55.795Z',22,136,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(137,'2026-01-07T10:22:37.964Z',22,137,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(138,'2026-01-07T18:03:50.419Z',2,138,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(139,'2026-01-12T08:37:09.285Z',2,139,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(140,'2026-01-13T03:57:08.501Z',1,140,0,0,1,'Cancell','cod','Cancell',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(141,'2026-01-13T04:16:11.800Z',1,141,0,0,1,'Cancell','cod','Cancell',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(142,'2026-01-13T09:26:55.340Z',34,142,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(143,'2026-01-14T13:37:20.272Z',1,143,0,0,1,'Cancell','cod','Cancell',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(144,'2026-01-14T13:40:52.673Z',1,144,0,0,1,'Cancelll','cod','Cancelll',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(145,'2026-01-14T13:43:51.004Z',1,145,0,0,1,'Cabcell','cod','Cabcell',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(146,'2026-01-14T13:46:29.183Z',1,146,0,0,1,'Cancel','cod',NULL,'Cancel',1,'2026-01-28T00:39:48.321Z',NULL,1); -INSERT INTO order_status VALUES(147,'2026-01-14T13:48:47.459Z',1,147,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(148,'2026-01-14T14:18:23.106Z',1,148,0,0,1,'Area Not Serviced yet','cod',NULL,'Area Not Serviced yet',1,'2026-01-17T23:01:50.046Z',NULL,1); -INSERT INTO order_status VALUES(149,'2026-01-15T10:38:51.399Z',2,149,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(150,'2026-01-15T10:38:51.399Z',2,150,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(151,'2026-01-16T07:20:20.462Z',2,151,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(152,'2026-01-16T07:20:39.316Z',2,152,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(153,'2026-01-16T07:21:00.354Z',2,153,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(154,'2026-01-16T07:21:27.051Z',2,154,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(155,'2026-01-16T07:22:32.758Z',2,155,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(156,'2026-01-16T23:21:39.925Z',2,156,0,0,1,'Cancel ','cod',NULL,'Cancel ',1,'2026-01-27T22:30:19.302Z',NULL,1); -INSERT INTO order_status VALUES(157,'2026-01-18T00:56:50.633Z',22,157,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(158,'2026-01-18T03:02:03.729Z',2,158,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(159,'2026-01-18T09:53:08.648Z',22,159,0,0,1,'Reason for cancellation ','cod','Reason for cancellation ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(160,'2026-01-18T10:14:06.341Z',22,160,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(161,'2026-01-18T10:20:14.848Z',22,161,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(162,'2026-01-18T10:24:09.003Z',22,162,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(163,'2026-01-18T21:46:46.398Z',22,163,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(164,'2026-01-19T14:17:52.639Z',1,164,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(165,'2026-01-23T03:22:03.840Z',2,165,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(166,'2026-01-23T10:37:42.952Z',25,166,0,0,1,'I''ll order later','cod','I''ll order later',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(167,'2026-01-24T02:56:06.720Z',2,167,0,0,1,'Unnecessary order','cod',NULL,'Unnecessary order',1,'2026-01-27T22:26:35.510Z',NULL,1); -INSERT INTO order_status VALUES(168,'2026-01-24T14:56:52.645Z',1,168,0,0,1,'Cancel ','cod',NULL,'Cancel ',1,'2026-01-27T22:27:15.817Z',NULL,1); -INSERT INTO order_status VALUES(169,'2026-01-24T20:44:03.566Z',22,169,0,0,1,'Cancel ','cod',NULL,'Cancel ',1,'2026-01-27T22:27:32.422Z',NULL,1); -INSERT INTO order_status VALUES(170,'2026-01-25T23:35:31.364Z',29,170,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(171,'2026-01-27T06:44:08.218Z',64,171,0,0,1,'Unnecessary','cod',NULL,'Unnecessary',1,'2026-01-27T22:25:10.943Z',NULL,1); -INSERT INTO order_status VALUES(172,'2026-01-27T11:29:12.321Z',65,172,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(173,'2026-01-27T11:29:12.321Z',65,173,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(174,'2026-01-28T00:03:00.256Z',60,174,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(175,'2026-01-28T00:38:05.827Z',1,175,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(176,'2026-01-28T00:38:05.827Z',1,176,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(177,'2026-01-28T01:51:10.288Z',22,177,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(178,'2026-01-28T01:51:10.288Z',22,178,1,1,1,'Cancel ','cod',NULL,'Cancel ',1,'2026-01-28T10:02:31.195Z',NULL,1); -INSERT INTO order_status VALUES(179,'2026-01-28T10:40:36.187Z',58,179,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(180,'2026-01-29T22:42:25.446Z',38,180,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(181,'2026-01-30T00:31:02.610Z',1,181,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(182,'2026-01-30T00:46:59.261Z',38,182,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(183,'2026-01-30T01:42:25.118Z',1,183,0,0,1,'Not a serious order','cod',NULL,'Not a serious order',1,'2026-01-30T02:09:22.274Z',NULL,1); -INSERT INTO order_status VALUES(184,'2026-01-30T03:13:07.360Z',38,184,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(185,'2026-01-31T01:44:10.735Z',54,185,0,0,1,'No response from customer ','cod',NULL,'No response from customer ',1,'2026-01-31T07:36:00.972Z',NULL,1); -INSERT INTO order_status VALUES(186,'2026-01-31T01:44:48.105Z',54,186,0,0,1,'No response from customer','cod',NULL,'No response from customer',1,'2026-01-31T07:35:41.324Z',NULL,1); -INSERT INTO order_status VALUES(187,'2026-01-31T04:25:19.495Z',78,187,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(188,'2026-01-31T05:26:01.981Z',1,188,0,0,1,'Cancel','cod','Cancel',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(189,'2026-01-31T06:32:04.589Z',1,189,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(190,'2026-01-31T22:04:46.197Z',1,190,0,0,1,'Yes’s cancel','cod','Yes’s cancel',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(191,'2026-02-01T00:28:05.843Z',7,191,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(192,'2026-02-01T01:31:50.642Z',74,192,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(193,'2026-02-01T01:56:14.147Z',74,193,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(194,'2026-02-01T02:19:04.918Z',38,194,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(195,'2026-02-01T03:22:19.400Z',22,195,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(196,'2026-02-01T04:41:15.161Z',82,196,0,0,1,'Zdyt','cod','Zdyt',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(197,'2026-02-01T04:46:41.872Z',82,197,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(202,'2026-02-01T10:07:16.233Z',88,202,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(203,'2026-02-02T04:53:54.970Z',92,203,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(204,'2026-02-02T06:48:31.456Z',38,204,0,0,1,'Mistake ','cod','Mistake ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(205,'2026-02-02T06:50:24.727Z',38,205,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(206,'2026-02-02T08:27:54.149Z',7,206,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(207,'2026-02-02T09:01:16.193Z',1,207,0,0,1,'Will order Mutton','cod','Will order Mutton',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(208,'2026-02-02T12:53:25.021Z',1,208,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(209,'2026-02-02T22:40:01.666Z',38,209,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(210,'2026-02-03T00:26:45.500Z',98,210,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(211,'2026-02-03T00:28:30.230Z',98,211,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(212,'2026-02-03T03:11:48.475Z',24,212,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(213,'2026-02-03T07:33:13.302Z',46,213,0,0,1,'Yes','cod','Yes',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(214,'2026-02-03T08:40:49.538Z',38,214,0,0,1,'I want to change shedule ','cod','I want to change shedule ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(215,'2026-02-03T08:43:00.789Z',38,215,1,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(216,'2026-02-03T10:16:16.915Z',81,216,0,0,1,'No response from customer','cod',NULL,'No response from customer',1,'2026-02-03T23:34:45.350Z',NULL,1); -INSERT INTO order_status VALUES(217,'2026-02-04T01:36:25.133Z',96,217,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(218,'2026-02-04T02:41:07.508Z',81,218,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(219,'2026-02-04T07:47:53.067Z',1,219,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(220,'2026-02-05T03:15:53.554Z',103,220,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(221,'2026-02-05T04:00:30.739Z',24,221,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(222,'2026-02-06T05:49:57.315Z',114,222,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(223,'2026-02-06T06:21:43.659Z',1,223,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(224,'2026-02-06T06:25:36.038Z',71,224,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(225,'2026-02-06T08:53:10.229Z',1,225,0,0,1,'Testing cancel Telegram Notification ','cod',NULL,'Testing cancel Telegram Notification ',1,'2026-02-06T23:20:32.419Z',NULL,1); -INSERT INTO order_status VALUES(226,'2026-02-06T10:26:39.531Z',115,226,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(227,'2026-02-06T10:26:39.531Z',115,227,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(228,'2026-02-06T16:16:47.346Z',115,228,0,0,1,'Ordered by mistake','cod','Ordered by mistake',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(229,'2026-02-06T23:01:13.646Z',109,229,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(230,'2026-02-06T23:28:37.545Z',103,230,0,0,1,'Wrong address ','cod','Wrong address ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(231,'2026-02-06T23:36:55.424Z',103,231,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(232,'2026-02-07T07:06:17.096Z',119,232,0,0,1,'The order is still pending ','cod','The order is still pending ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(233,'2026-02-07T07:24:42.810Z',38,233,0,0,1,'Change shedule ','cod','Change shedule ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(234,'2026-02-07T07:25:52.698Z',38,234,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(235,'2026-02-07T23:11:07.297Z',120,235,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(236,'2026-02-07T23:43:00.160Z',98,236,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(237,'2026-02-07T23:58:12.863Z',38,237,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(238,'2026-02-08T00:48:23.089Z',121,238,0,0,1,'We buy','cod','We buy',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(239,'2026-02-08T00:55:15.154Z',121,239,0,0,1,'Sorry that is cost is more expensive then market price','cod','Sorry that is cost is more expensive then market price',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(240,'2026-02-08T04:28:56.405Z',121,240,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(241,'2026-02-08T04:29:20.307Z',121,241,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(242,'2026-02-08T04:29:55.364Z',121,242,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(243,'2026-02-08T04:30:37.777Z',121,243,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(244,'2026-02-08T04:32:20.374Z',121,244,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(245,'2026-02-08T04:33:59.746Z',121,245,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(246,'2026-02-08T05:09:24.720Z',12,246,0,0,1,'J','cod',NULL,'J',1,'2026-02-08T23:17:27.385Z',NULL,1); -INSERT INTO order_status VALUES(247,'2026-02-09T01:52:55.524Z',2,247,0,0,1,'Demo for correct location ','cod','Demo for correct location ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(248,'2026-02-09T07:56:42.048Z',125,248,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(249,'2026-02-10T06:04:04.471Z',3,249,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(250,'2026-02-10T21:59:33.763Z',2,250,0,0,1,'Demo','cod',NULL,'Demo',1,'2026-02-10T22:00:06.670Z',NULL,1); -INSERT INTO order_status VALUES(251,'2026-02-11T16:13:20.142Z',115,251,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(252,'2026-02-11T16:13:20.142Z',115,252,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(253,'2026-02-11T16:13:20.142Z',115,253,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(254,'2026-02-14T01:01:13.769Z',114,254,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(255,'2026-02-15T00:00:53.358Z',120,255,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(256,'2026-02-16T01:21:48.050Z',2,256,0,0,1,'Demo','cod',NULL,'Demo',1,'2026-02-16T01:22:51.309Z',NULL,1); -INSERT INTO order_status VALUES(257,'2026-02-16T04:14:55.522Z',134,257,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(258,'2026-02-16T04:22:00.592Z',134,258,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(259,'2026-02-17T00:44:27.971Z',120,259,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(260,'2026-02-17T07:16:27.421Z',1,260,0,0,1,'D','cod',NULL,'D',1,'2026-02-18T06:14:42.228Z',NULL,1); -INSERT INTO order_status VALUES(261,'2026-02-17T07:30:07.521Z',136,261,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(262,'2026-02-17T07:45:43.734Z',136,262,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(263,'2026-02-17T07:52:41.197Z',3,263,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(264,'2026-02-17T19:47:31.551Z',141,264,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(265,'2026-02-17T22:56:42.974Z',143,265,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(266,'2026-02-17T23:04:14.592Z',143,266,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(267,'2026-02-17T23:27:35.908Z',130,267,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(268,'2026-02-18T00:28:16.181Z',132,268,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(269,'2026-02-18T01:34:08.441Z',119,269,0,0,1,'No response from customer','cod',NULL,'No response from customer',1,'2026-02-18T04:17:30.092Z',NULL,1); -INSERT INTO order_status VALUES(270,'2026-02-18T02:04:32.495Z',119,270,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(271,'2026-02-18T03:46:31.297Z',145,271,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(272,'2026-02-18T05:15:38.160Z',138,272,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(273,'2026-02-18T05:15:38.161Z',138,273,0,0,1,'Cancel order ','cod','Cancel order ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(274,'2026-02-18T05:15:59.580Z',147,274,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(275,'2026-02-18T06:53:25.416Z',24,275,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(276,'2026-02-18T07:16:24.911Z',82,276,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(277,'2026-02-18T07:31:33.186Z',148,277,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(278,'2026-02-18T23:12:20.428Z',38,278,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(279,'2026-02-19T00:00:57.733Z',156,279,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(280,'2026-02-19T01:04:09.663Z',99,280,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(281,'2026-02-19T01:57:57.613Z',82,281,0,0,1,'Its late','cod','Its late',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(282,'2026-02-19T01:59:43.093Z',82,282,0,0,1,'Its late','cod','Its late',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(283,'2026-02-19T02:16:07.844Z',66,283,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(284,'2026-02-19T03:09:55.456Z',120,284,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(285,'2026-02-19T03:40:51.549Z',159,285,0,0,1,'So late and slow service ','cod','So late and slow service ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(286,'2026-02-19T03:49:55.745Z',160,286,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(287,'2026-02-19T03:54:05.397Z',64,287,0,0,1,'N','cod',NULL,'N',1,'2026-02-19T04:40:17.239Z',NULL,1); -INSERT INTO order_status VALUES(288,'2026-02-19T03:54:05.397Z',64,288,0,0,1,'D','cod',NULL,'D',1,'2026-02-19T04:37:45.087Z',NULL,1); -INSERT INTO order_status VALUES(289,'2026-02-19T04:00:41.001Z',160,289,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(290,'2026-02-19T04:09:35.859Z',151,290,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(291,'2026-02-19T04:16:50.189Z',4,291,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(292,'2026-02-19T05:08:36.439Z',162,292,0,0,1,'No response from customer ','cod',NULL,'No response from customer ',1,'2026-02-19T07:22:49.182Z',NULL,1); -INSERT INTO order_status VALUES(293,'2026-02-19T05:08:36.736Z',162,293,0,0,1,'No response from customer ','cod',NULL,'No response from customer ',1,'2026-02-19T07:22:21.525Z',NULL,1); -INSERT INTO order_status VALUES(294,'2026-02-19T06:14:11.047Z',32,294,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(295,'2026-02-19T06:49:34.891Z',163,295,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(296,'2026-02-19T12:38:24.984Z',38,296,0,0,1,'I don''t walt this because I will buy on Sunday ','cod','I don''t walt this because I will buy on Sunday ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(297,'2026-02-19T15:48:55.517Z',82,297,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(298,'2026-02-20T01:39:04.912Z',66,298,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(299,'2026-02-20T02:41:56.608Z',66,299,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(300,'2026-02-20T03:24:43.556Z',140,300,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(301,'2026-02-20T03:37:43.245Z',169,301,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(302,'2026-02-20T03:59:51.171Z',170,302,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(303,'2026-02-20T04:04:04.909Z',170,303,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(304,'2026-02-20T04:47:12.538Z',132,304,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(305,'2026-02-20T06:02:01.579Z',176,305,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(306,'2026-02-20T06:41:12.043Z',99,306,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(307,'2026-02-20T07:21:21.906Z',163,307,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(308,'2026-02-20T07:41:37.350Z',74,308,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(309,'2026-02-20T09:08:15.335Z',115,309,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(310,'2026-02-20T13:06:33.249Z',38,310,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(311,'2026-02-20T22:50:10.927Z',184,311,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(312,'2026-02-21T03:19:33.169Z',81,312,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(313,'2026-02-21T03:33:25.012Z',24,313,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(314,'2026-02-21T03:45:19.764Z',186,314,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(315,'2026-02-21T04:36:43.124Z',160,315,0,0,1,'Double order','cod',NULL,'Double order',1,'2026-02-21T04:45:00.817Z',NULL,1); -INSERT INTO order_status VALUES(316,'2026-02-21T04:40:27.736Z',160,316,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(317,'2026-02-21T06:23:19.310Z',32,317,0,0,1,'I want to change my order','cod','I want to change my order',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(318,'2026-02-21T12:32:34.307Z',7,318,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(319,'2026-02-21T19:42:40.619Z',141,319,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(320,'2026-02-21T19:42:40.619Z',141,320,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(321,'2026-02-21T22:34:37.439Z',120,321,0,0,1,replace('Kheema\n','\n',char(10)),'cod',replace('Kheema\n','\n',char(10)),NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(322,'2026-02-21T22:53:17.760Z',193,322,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(323,'2026-02-21T23:09:55.795Z',132,323,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(324,'2026-02-21T23:38:18.540Z',130,324,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(325,'2026-02-22T00:16:21.567Z',194,325,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(326,'2026-02-22T01:08:52.833Z',198,326,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(327,'2026-02-22T01:13:15.958Z',184,327,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(328,'2026-02-22T01:13:15.958Z',184,328,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(329,'2026-02-22T03:46:06.235Z',205,329,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(330,'2026-02-22T04:21:41.707Z',206,330,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(331,'2026-02-22T04:39:37.484Z',208,331,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(332,'2026-02-22T14:05:39.863Z',50,332,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(333,'2026-02-23T03:21:16.555Z',151,333,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(334,'2026-02-23T03:47:30.738Z',223,334,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(335,'2026-02-23T04:40:46.728Z',224,335,0,0,1,'By mistake ','cod','By mistake ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(336,'2026-02-23T04:44:00.644Z',224,336,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(337,'2026-02-23T04:45:56.017Z',224,337,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(338,'2026-02-23T05:51:07.943Z',38,338,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(339,'2026-02-23T06:46:04.203Z',225,339,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(340,'2026-02-23T22:40:33.438Z',228,340,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(341,'2026-02-24T01:44:30.406Z',230,341,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(342,'2026-02-24T01:46:05.872Z',229,342,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(343,'2026-02-24T02:52:22.431Z',224,343,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(344,'2026-02-24T04:15:41.683Z',158,344,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(345,'2026-02-24T05:47:59.572Z',3,345,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(346,'2026-02-24T07:17:54.419Z',149,346,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(347,'2026-02-24T12:55:21.432Z',50,347,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(348,'2026-02-25T02:47:44.024Z',132,348,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(381,'2026-02-26T11:24:06.998Z',1,381,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(382,'2026-02-26T11:30:33.419Z',1,382,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(383,'2026-02-26T11:34:03.543Z',1,383,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(384,'2026-02-26T11:36:20.560Z',1,384,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(385,'2026-03-09T10:16:59.219Z',1,385,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(386,'2026-03-26T01:19:29.108Z',1,386,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -CREATE TABLE IF NOT EXISTS "orders" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "address_id" INTEGER NOT NULL, "slot_id" INTEGER, "total_amount" REAL NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_cod" INTEGER NOT NULL DEFAULT false, "is_online_payment" INTEGER NOT NULL DEFAULT false, "payment_info_id" INTEGER, "readable_id" INTEGER NOT NULL, "admin_notes" TEXT, "user_notes" TEXT, "delivery_charge" REAL NOT NULL DEFAULT '0', "order_group_id" TEXT, "order_group_proportion" REAL, "is_flash_delivery" INTEGER NOT NULL DEFAULT false); -INSERT INTO orders VALUES(1,3,1,1,44.0,'2025-11-19T09:21:36.005Z',0,1,1,1,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(2,1,17,1,220.0,'2025-11-19T09:38:30.002Z',0,1,2,2,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(3,1,17,1,220.0,'2025-11-19T11:46:20.300Z',0,1,3,3,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(4,1,17,1,430.0,'2025-11-19T11:47:33.139Z',0,1,4,4,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(5,1,17,1,700.0,'2025-11-19T11:57:48.269Z',0,1,5,5,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(6,1,17,1,22.0,'2025-11-19T12:13:52.466Z',0,1,6,6,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(7,1,17,1,22.0,'2025-11-19T12:15:06.264Z',0,1,7,7,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(8,1,17,1,22.0,'2025-11-19T12:18:02.760Z',0,1,8,8,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(9,1,17,1,500.0,'2025-11-19T12:23:19.913Z',0,1,9,9,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(10,1,17,1,500.0,'2025-11-19T12:24:04.853Z',1,0,NULL,10,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(11,1,17,1,44.0,'2025-11-19T12:32:19.093Z',0,1,10,11,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(12,1,19,1,220.0,'2025-11-19T12:34:24.892Z',0,1,11,12,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(13,1,17,1,22.0,'2025-11-19T12:36:42.741Z',0,1,12,13,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(14,1,19,1,210.0,'2025-11-19T12:39:28.501Z',0,1,13,14,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(15,1,19,1,700.0,'2025-11-20T13:57:28.656Z',0,1,14,15,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(16,1,17,1,700.0,'2025-11-20T13:58:25.443Z',0,1,15,16,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(17,1,17,1,210.0,'2025-11-20T13:59:33.401Z',0,1,16,17,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(18,1,17,2,840.0,'2025-11-22T06:22:17.202Z',1,0,NULL,18,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(19,2,20,3,530.0,'2025-11-22T22:47:06.288Z',0,1,17,19,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(20,2,20,3,530.0,'2025-11-22T22:47:51.311Z',1,0,NULL,20,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(21,1,17,2,722.0,'2025-11-23T06:17:57.049Z',0,1,18,21,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(22,3,1,2,220.0,'2025-11-24T05:57:28.143Z',1,0,NULL,22,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(23,3,1,2,220.0,'2025-11-24T05:57:47.787Z',0,1,19,23,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(24,2,20,2,600.0,'2025-11-25T00:59:10.926Z',1,0,NULL,24,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(25,1,17,2,4560.0,'2025-11-25T05:22:32.946Z',0,1,20,25,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(26,1,19,4,9702.3999999999990251,'2025-11-27T06:03:25.875Z',0,1,21,26,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(27,1,19,4,9360.0,'2025-11-28T05:42:30.513Z',1,0,NULL,27,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(28,1,17,4,185.59999999999998721,'2025-11-28T08:13:28.023Z',1,0,NULL,28,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(29,1,17,2,700.0,'2025-11-28T13:35:07.141Z',1,0,NULL,29,NULL,'Fresh and no wastage ',0.0,NULL,NULL,0); -INSERT INTO orders VALUES(30,1,19,4,1870.0,'2025-11-28T22:21:06.630Z',0,1,22,30,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(31,1,19,4,1870.0,'2025-11-28T22:24:57.085Z',0,1,23,31,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(32,1,19,4,1496.0,'2025-11-28T22:34:41.736Z',0,1,24,32,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(33,1,19,4,560.0,'2025-11-28T22:36:50.767Z',0,1,25,33,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(34,1,19,4,1496.0,'2025-11-28T22:52:17.319Z',1,0,NULL,34,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(35,1,19,4,1120.0,'2025-11-28T22:58:18.465Z',0,1,26,35,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(36,1,19,4,2310.0,'2025-11-28T23:08:27.789Z',1,0,NULL,36,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(37,1,19,4,2310.0,'2025-11-28T23:09:42.893Z',0,1,27,37,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(38,1,19,4,1620.0,'2025-11-28T23:11:19.776Z',0,1,28,38,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(39,1,19,4,1320.0,'2025-11-28T23:17:00.716Z',1,0,NULL,39,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(40,1,19,4,1320.0,'2025-11-28T23:17:55.763Z',0,1,29,40,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(41,1,19,4,1320.0,'2025-11-28T23:22:23.472Z',0,1,30,41,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(42,1,19,4,376.0,'2025-11-28T23:23:26.081Z',0,1,31,42,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(43,1,19,4,1464.0,'2025-11-28T23:31:53.995Z',0,1,32,43,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(44,1,19,4,1464.0,'2025-11-28T23:33:25.999Z',0,1,33,44,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(45,1,19,4,1496.0,'2025-11-28T23:35:17.386Z',0,1,34,45,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(46,1,19,4,6904.0,'2025-11-28T23:42:33.188Z',0,1,35,46,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(47,1,19,4,752.0,'2025-11-29T00:35:31.578Z',0,1,36,47,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(48,1,19,4,1122.0,'2025-11-29T00:47:37.657Z',0,1,37,48,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(49,1,19,4,3156.0,'2025-11-29T00:51:57.402Z',0,1,38,49,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(50,1,19,4,4686.0,'2025-11-29T01:06:18.087Z',0,1,39,50,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(51,1,17,4,250.0,'2025-11-29T01:40:22.677Z',0,1,40,51,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(52,1,17,4,250.0,'2025-11-29T01:51:02.498Z',0,1,41,52,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(53,1,17,4,400.0,'2025-11-29T01:57:47.891Z',0,1,42,53,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(54,1,19,4,2850.0,'2025-11-29T03:01:07.992Z',0,1,43,54,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(55,2,20,5,1710.0,'2025-12-04T23:32:41.242Z',1,0,NULL,55,NULL,'Good packaging',0.0,NULL,NULL,0); -INSERT INTO orders VALUES(56,4,21,6,64.0,'2025-12-10T10:02:38.859Z',0,1,44,56,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(57,4,22,6,72.0,'2025-12-10T10:04:32.211Z',0,1,45,57,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(58,1,19,7,6900.0,'2025-12-13T11:19:59.242Z',1,0,NULL,58,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(59,1,19,7,210.0,'2025-12-13T11:23:12.720Z',1,0,NULL,60,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(60,1,19,9,350.0,'2025-12-13T11:23:12.720Z',1,0,NULL,61,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(61,1,19,7,210.0,'2025-12-13T11:24:58.073Z',1,0,NULL,63,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(62,1,19,9,700.0,'2025-12-13T11:24:58.073Z',1,0,NULL,64,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(63,1,19,7,1120.0,'2025-12-13T11:30:04.358Z',0,1,46,66,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(64,1,19,7,420.0,'2025-12-13T11:31:12.284Z',0,1,47,68,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(65,1,19,9,700.0,'2025-12-13T11:31:12.284Z',0,1,47,69,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(66,1,17,9,560.0,'2025-12-15T09:42:52.294Z',1,0,NULL,71,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(67,1,17,8,660.0,'2025-12-15T09:46:00.443Z',1,0,NULL,73,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(68,1,17,9,660.0,'2025-12-15T09:57:50.680Z',1,0,NULL,75,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(69,2,20,8,1400.0,'2025-12-18T04:55:00.617Z',1,0,NULL,77,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(70,15,25,8,50.0,'2025-12-19T01:02:15.969Z',1,0,NULL,79,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(71,17,26,8,1642.0,'2025-12-19T03:02:11.838Z',1,0,NULL,81,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(72,17,26,8,50.0,'2025-12-19T03:07:12.056Z',1,0,NULL,83,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(73,17,26,8,216.0,'2025-12-19T03:40:04.180Z',1,0,NULL,85,NULL,'Hello',0.0,NULL,NULL,0); -INSERT INTO orders VALUES(74,17,28,8,1500.0,'2025-12-19T03:46:32.062Z',1,0,NULL,87,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(75,17,28,8,21000.0,'2025-12-19T03:55:08.427Z',1,0,NULL,89,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(76,17,28,8,250.0,'2025-12-19T03:57:05.639Z',1,0,NULL,91,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(77,17,28,8,22.0,'2025-12-19T04:02:06.098Z',1,0,NULL,93,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(78,15,25,8,1400.0,'2025-12-19T07:02:11.424Z',1,0,NULL,95,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(79,15,24,12,300.0,'2025-12-19T07:53:09.910Z',1,0,NULL,97,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(80,17,28,8,1400.0,'2025-12-19T09:10:25.557Z',1,0,NULL,99,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(81,17,28,8,72.0,'2025-12-19T09:49:01.904Z',1,0,NULL,101,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(82,17,28,13,22.0,'2025-12-19T09:55:53.524Z',1,0,NULL,103,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(83,17,26,8,72.0,'2025-12-19T10:37:21.739Z',1,0,NULL,105,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(84,17,26,8,72.0,'2025-12-19T10:46:56.208Z',1,0,NULL,107,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(85,17,26,8,50.0,'2025-12-19T11:01:02.225Z',1,0,NULL,109,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(86,17,26,9,120.0,'2025-12-19T11:26:56.607Z',1,0,NULL,111,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(87,17,26,8,72.0,'2025-12-19T11:38:46.198Z',1,0,NULL,113,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(88,17,26,8,22.0,'2025-12-20T05:46:31.197Z',1,0,NULL,115,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(89,1,17,8,2940.0,'2025-12-20T15:09:16.076Z',1,0,NULL,117,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(90,17,26,8,64.0,'2025-12-20T21:38:45.891Z',1,0,NULL,119,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(91,17,26,10,60.0,'2025-12-20T21:39:35.232Z',1,0,NULL,121,NULL,'Fff',20.0,NULL,NULL,0); -INSERT INTO orders VALUES(92,15,25,8,42.0,'2025-12-22T05:12:52.301Z',1,0,NULL,123,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(93,15,25,12,220.0,'2025-12-22T05:22:59.518Z',1,0,NULL,125,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(94,15,25,17,140.0,'2025-12-22T08:12:49.911Z',1,0,NULL,127,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(95,15,25,8,152.0,'2025-12-22T08:40:14.765Z',1,0,NULL,129,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(96,20,30,8,70.0,'2025-12-22T09:05:51.054Z',1,0,NULL,131,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(97,2,20,10,220.0,'2025-12-23T00:47:34.830Z',1,0,NULL,133,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(98,2,20,8,44.0,'2025-12-23T00:47:34.830Z',1,0,NULL,134,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(99,2,20,8,1400.0,'2025-12-23T00:50:21.885Z',1,0,NULL,136,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(100,15,24,16,1000.0,'2025-12-23T08:23:28.094Z',1,0,NULL,138,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(101,17,26,8,42.0,'2025-12-23T11:45:50.591Z',1,0,NULL,140,NULL,'Hello',20.0,NULL,NULL,0); -INSERT INTO orders VALUES(102,17,26,8,92.0,'2025-12-23T11:49:14.841Z',1,0,NULL,142,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(103,22,31,16,120.0,'2025-12-23T21:09:04.114Z',1,0,NULL,144,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(104,22,31,8,2736.0,'2025-12-23T21:20:33.284Z',1,0,NULL,146,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(105,22,31,9,7700.0,'2025-12-23T21:20:33.284Z',1,0,NULL,147,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(106,15,24,8,92.0,'2025-12-24T05:02:01.957Z',1,0,NULL,149,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(107,15,24,17,140.0,'2025-12-24T05:02:01.957Z',1,0,NULL,150,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(108,15,24,10,100.0,'2025-12-24T05:02:01.957Z',1,0,NULL,151,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(109,15,24,16,120.0,'2025-12-24T05:02:01.957Z',1,0,NULL,152,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(110,1,17,16,64.0,'2025-12-25T07:48:48.478Z',1,0,NULL,154,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(111,1,17,16,444.0,'2025-12-25T10:06:02.108Z',1,0,NULL,156,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(112,1,17,18,20.0,'2025-12-25T10:06:02.108Z',1,0,NULL,157,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(113,1,17,16,350.0,'2025-12-25T10:32:45.526Z',1,0,NULL,159,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(114,16,32,16,92.0,'2025-12-26T19:38:17.686Z',1,0,NULL,161,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(115,1,17,16,236.0,'2025-12-26T23:02:15.299Z',1,0,NULL,163,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(116,1,17,18,560.0,'2025-12-26T23:02:15.299Z',1,0,NULL,164,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(117,2,20,16,128.41999999999997861,'2025-12-27T12:09:01.944Z',1,0,NULL,166,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(118,2,20,18,112.15999999999999303,'2025-12-27T12:09:01.944Z',1,0,NULL,167,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(119,2,20,17,65.419999999999998152,'2025-12-27T12:09:01.944Z',1,0,NULL,168,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(120,2,20,19,590.0,'2025-12-28T08:37:33.787Z',1,0,NULL,170,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(121,2,20,19,420.0,'2025-12-28T08:41:24.904Z',1,0,NULL,172,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(122,1,17,16,1614.0,'2025-12-28T22:17:14.213Z',1,0,NULL,174,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(123,2,20,20,485.0,'2026-01-01T03:08:22.110Z',1,0,NULL,176,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(124,2,20,20,230.0,'2026-01-01T03:09:11.420Z',1,0,NULL,178,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(125,2,20,21,551.58000000000004803,'2026-01-01T03:14:07.865Z',1,0,NULL,180,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(126,2,20,20,252.0,'2026-01-01T05:09:15.780Z',1,0,NULL,182,'Beside RR downtown in Yenugonda. around 1km away from the main road. ',NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(127,2,20,20,1130.0,'2026-01-01T06:40:15.182Z',1,0,NULL,184,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(128,26,34,20,420.0,'2026-01-03T02:42:48.013Z',1,0,NULL,186,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(129,2,20,20,1390.0,'2026-01-04T07:35:41.022Z',1,0,NULL,188,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(130,12,33,20,230.0,'2026-01-04T07:37:44.994Z',1,0,NULL,190,NULL,'Beside alo tower',20.0,NULL,NULL,0); -INSERT INTO orders VALUES(131,21,35,20,340.0,'2026-01-04T13:20:00.136Z',1,0,NULL,192,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(132,1,17,22,2790.0,'2026-01-06T07:21:22.047Z',1,0,NULL,194,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(133,30,36,22,780.0,'2026-01-06T07:45:52.275Z',1,0,NULL,196,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(134,21,35,22,2644.0,'2026-01-06T11:13:08.862Z',1,0,NULL,198,NULL,NULL,0.0,'1767717788828-21',1.0,0); -INSERT INTO orders VALUES(135,22,31,22,1700.0,'2026-01-07T09:32:56.404Z',1,0,NULL,200,NULL,NULL,0.0,'1767798176399-22',1.0,0); -INSERT INTO orders VALUES(136,22,31,22,1020.0,'2026-01-07T10:17:55.795Z',1,0,NULL,202,NULL,NULL,0.0,'1767800875792-22',1.0,0); -INSERT INTO orders VALUES(137,22,31,22,600.0,'2026-01-07T10:22:37.964Z',1,0,NULL,204,NULL,replace('Please call to my brother after reaching home.\nNumber is abcd8688y777','\n',char(10)),0.0,'1767801157960-22',1.0,0); -INSERT INTO orders VALUES(138,2,20,22,660.0,'2026-01-07T18:03:50.419Z',1,0,NULL,206,NULL,NULL,0.0,'1767828830413-2',1.0,0); -INSERT INTO orders VALUES(139,2,20,23,780.0,'2026-01-12T08:37:09.285Z',1,0,NULL,208,NULL,NULL,0.0,'1768226829276-2',1.0,0); -INSERT INTO orders VALUES(140,1,17,NULL,660.0,'2026-01-13T03:57:08.501Z',1,0,NULL,210,NULL,NULL,0.0,'1768296428205-1',1.0,1); -INSERT INTO orders VALUES(141,1,17,NULL,660.0,'2026-01-13T04:16:11.800Z',1,0,NULL,212,NULL,NULL,0.0,'1768297571530-1',1.0,1); -INSERT INTO orders VALUES(142,34,38,23,24.0,'2026-01-13T09:26:55.340Z',1,0,NULL,214,NULL,NULL,20.0,'1768316215336-34',1.0,0); -INSERT INTO orders VALUES(143,1,17,NULL,780.0,'2026-01-14T13:37:20.272Z',1,0,NULL,1,NULL,NULL,0.0,'1768417639897-1',1.0,1); -INSERT INTO orders VALUES(144,1,17,NULL,780.0,'2026-01-14T13:40:52.673Z',1,0,NULL,3,NULL,NULL,0.0,'1768417852308-1',1.0,1); -INSERT INTO orders VALUES(145,1,17,NULL,900.0,'2026-01-14T13:43:51.004Z',1,0,NULL,5,NULL,NULL,0.0,'1768418030542-1',1.0,1); -INSERT INTO orders VALUES(146,1,17,NULL,900.0,'2026-01-14T13:46:29.183Z',1,0,NULL,7,NULL,NULL,0.0,'1768418188748-1',1.0,1); -INSERT INTO orders VALUES(147,1,17,NULL,1020.0,'2026-01-14T13:48:47.459Z',1,0,NULL,9,NULL,NULL,0.0,'1768418327051-1',1.0,1); -INSERT INTO orders VALUES(148,1,17,23,2398.0,'2026-01-14T14:18:23.106Z',1,0,NULL,11,NULL,NULL,0.0,'1768420102803-1',1.0,0); -INSERT INTO orders VALUES(149,2,20,23,258.46000000000000085,'2026-01-15T10:38:51.399Z',1,0,NULL,13,NULL,NULL,0.0,'1768493331389-2',0.43079999999999998294,0); -INSERT INTO orders VALUES(150,2,20,31,341.53999999999999914,'2026-01-15T10:38:51.399Z',1,0,NULL,14,NULL,NULL,0.0,'1768493331389-2',0.56920000000000001705,0); -INSERT INTO orders VALUES(151,2,20,23,590.0,'2026-01-16T07:20:20.462Z',1,0,NULL,16,NULL,NULL,0.0,'1768567820452-2',1.0,0); -INSERT INTO orders VALUES(152,2,20,23,689.0,'2026-01-16T07:20:39.316Z',1,0,NULL,18,NULL,NULL,0.0,'1768567839309-2',1.0,0); -INSERT INTO orders VALUES(153,2,20,23,630.0,'2026-01-16T07:21:00.354Z',1,0,NULL,20,NULL,NULL,0.0,'1768567860348-2',1.0,0); -INSERT INTO orders VALUES(154,2,20,23,500.0,'2026-01-16T07:21:27.051Z',1,0,NULL,22,NULL,NULL,0.0,'1768567887044-2',1.0,0); -INSERT INTO orders VALUES(155,2,20,23,689.0,'2026-01-16T07:22:32.758Z',1,0,NULL,24,NULL,NULL,0.0,'1768567952750-2',1.0,0); -INSERT INTO orders VALUES(156,2,20,NULL,500.0,'2026-01-16T23:21:39.925Z',1,0,NULL,26,NULL,NULL,0.0,'1768625499917-2',1.0,1); -INSERT INTO orders VALUES(157,22,31,23,75.0,'2026-01-18T00:56:50.633Z',1,0,NULL,28,NULL,NULL,20.0,'1768717610629-22',1.0,0); -INSERT INTO orders VALUES(158,2,20,23,1534.0,'2026-01-18T03:02:03.729Z',1,0,NULL,30,NULL,NULL,0.0,'1768725123718-2',1.0,0); -INSERT INTO orders VALUES(159,22,37,23,1232.0,'2026-01-18T09:53:08.648Z',1,0,NULL,32,'Nothing just getting',NULL,0.0,'1768749788638-22',1.0,0); -INSERT INTO orders VALUES(160,22,31,23,132.0,'2026-01-18T10:14:06.341Z',1,0,NULL,34,'Testing admin notes','Call on 9199osisbushn',20.0,'1768751046336-22',1.0,0); -INSERT INTO orders VALUES(161,22,31,23,308.0,'2026-01-18T10:20:14.848Z',1,0,NULL,36,NULL,NULL,0.0,'1768751414843-22',1.0,0); -INSERT INTO orders VALUES(162,22,40,23,176.0,'2026-01-18T10:24:09.003Z',1,0,NULL,38,NULL,replace('Instructions no limit max limit low limit ui ux \nInstructions no limit max limit low limit ui ux \n\nInstructions no limit max limit low limit ui ux ','\n',char(10)),20.0,'1768751648997-22',1.0,0); -INSERT INTO orders VALUES(163,22,37,23,1743.0,'2026-01-18T21:46:46.398Z',1,0,NULL,40,NULL,NULL,0.0,'1768792606394-22',1.0,0); -INSERT INTO orders VALUES(164,1,17,23,304.0,'2026-01-19T14:17:52.639Z',1,0,NULL,42,NULL,NULL,0.0,'1768852072633-1',1.0,0); -INSERT INTO orders VALUES(165,2,20,40,820.0,'2026-01-23T03:22:03.840Z',1,0,NULL,44,NULL,NULL,0.0,'1769158323836-2',1.0,0); -INSERT INTO orders VALUES(166,25,43,35,49.0,'2026-01-23T10:37:42.952Z',1,0,NULL,46,NULL,NULL,20.0,'1769184462944-25',1.0,0); -INSERT INTO orders VALUES(167,2,20,39,643.0,'2026-01-24T02:56:06.720Z',1,0,NULL,48,NULL,NULL,0.0,'1769243166713-2',1.0,0); -INSERT INTO orders VALUES(168,1,17,39,2612.0,'2026-01-24T14:56:52.645Z',1,0,NULL,50,NULL,NULL,0.0,'1769286412630-1',1.0,0); -INSERT INTO orders VALUES(169,22,40,39,87.0,'2026-01-24T20:44:03.566Z',1,0,NULL,52,NULL,NULL,20.0,'1769307243555-22',1.0,0); -INSERT INTO orders VALUES(170,29,51,45,146.0,'2026-01-25T23:35:31.364Z',1,0,NULL,54,NULL,NULL,20.0,'1769403931353-29',1.0,0); -INSERT INTO orders VALUES(171,64,55,39,429.0,'2026-01-27T06:44:08.218Z',1,0,NULL,56,NULL,NULL,0.0,'1769516048207-64',1.0,0); -INSERT INTO orders VALUES(172,65,56,50,81.0,'2026-01-27T11:29:12.321Z',1,0,NULL,58,NULL,NULL,20.0,'1769533152305-65',0.64800000000000004263,0); -INSERT INTO orders VALUES(173,65,56,51,44.0,'2026-01-27T11:29:12.321Z',1,0,NULL,59,NULL,NULL,0.0,'1769533152305-65',0.35199999999999995736,0); -INSERT INTO orders VALUES(174,60,54,53,178.0,'2026-01-28T00:03:00.256Z',1,0,NULL,61,NULL,NULL,20.0,'1769578380246-60',1.0,0); -INSERT INTO orders VALUES(175,1,17,54,27.0,'2026-01-28T00:38:05.827Z',1,0,NULL,63,NULL,NULL,20.0,'1769580485819-1',0.1125,0); -INSERT INTO orders VALUES(176,1,17,53,213.0,'2026-01-28T00:38:05.827Z',1,0,NULL,64,NULL,NULL,0.0,'1769580485819-1',0.8875,0); -INSERT INTO orders VALUES(177,22,40,54,158.0,'2026-01-28T01:51:10.288Z',1,0,NULL,66,NULL,NULL,20.0,'1769584870283-22',0.76330000000000000071,0); -INSERT INTO orders VALUES(178,22,40,39,49.0,'2026-01-28T01:51:10.288Z',1,0,NULL,67,NULL,NULL,0.0,'1769584870283-22',0.23669999999999999928,0); -INSERT INTO orders VALUES(179,58,60,39,146.0,'2026-01-28T10:40:36.187Z',1,0,NULL,69,NULL,NULL,20.0,'1769616636177-58',1.0,0); -INSERT INTO orders VALUES(180,38,66,58,104.0,'2026-01-29T22:42:25.446Z',1,0,NULL,71,NULL,'Hi I''m inzamam come slowly ',20.0,'1769746345431-38',1.0,0); -INSERT INTO orders VALUES(181,1,17,59,17.0,'2026-01-30T00:31:02.610Z',1,0,NULL,73,NULL,NULL,10.0,'1769752862605-1',1.0,0); -INSERT INTO orders VALUES(182,38,66,59,49.0,'2026-01-30T00:46:59.261Z',1,0,NULL,75,NULL,NULL,10.0,'1769753819256-38',1.0,0); -INSERT INTO orders VALUES(183,1,17,60,42.0,'2026-01-30T01:42:25.118Z',1,0,NULL,77,NULL,NULL,10.0,'1769757144875-1',1.0,0); -INSERT INTO orders VALUES(184,38,66,60,179.0,'2026-01-30T03:13:07.360Z',1,0,NULL,79,NULL,NULL,0.0,'1769762587355-38',1.0,0); -INSERT INTO orders VALUES(185,54,57,66,77.0,'2026-01-31T01:44:10.735Z',1,0,NULL,81,NULL,'I needed it quickly',10.0,'1769843650726-54',1.0,0); -INSERT INTO orders VALUES(186,54,57,66,307.0,'2026-01-31T01:44:48.105Z',1,0,NULL,83,NULL,NULL,0.0,'1769843688098-54',1.0,0); -INSERT INTO orders VALUES(187,78,70,66,64.0,'2026-01-31T04:25:19.495Z',1,0,NULL,85,NULL,NULL,10.0,'1769853319488-78',1.0,0); -INSERT INTO orders VALUES(188,1,17,66,296.0,'2026-01-31T05:26:01.981Z',1,0,NULL,87,NULL,NULL,0.0,'1769856961704-1',1.0,0); -INSERT INTO orders VALUES(189,1,17,66,292.0,'2026-01-31T06:32:04.589Z',1,0,NULL,89,NULL,NULL,0.0,'1769860924583-1',1.0,0); -INSERT INTO orders VALUES(190,1,17,70,27.0,'2026-01-31T22:04:46.197Z',1,0,NULL,91,NULL,NULL,10.0,'1769916886192-1',1.0,0); -INSERT INTO orders VALUES(191,7,71,72,243.0,'2026-02-01T00:28:05.843Z',1,0,NULL,93,NULL,replace(' Half chest and half leg \n Pura chest piece ich mat lao bhai ....','\n',char(10)),0.0,'1769925485827-7',1.0,0); -INSERT INTO orders VALUES(192,74,73,72,420.0,'2026-02-01T01:31:50.642Z',1,0,NULL,95,NULL,NULL,0.0,'1769929310636-74',1.0,0); -INSERT INTO orders VALUES(193,74,73,72,269.0,'2026-02-01T01:56:14.147Z',1,0,NULL,97,NULL,NULL,0.0,'1769930774143-74',1.0,0); -INSERT INTO orders VALUES(194,38,66,71,999.0,'2026-02-01T02:19:04.918Z',1,0,NULL,99,NULL,NULL,0.0,'1769932144902-38',1.0,0); -INSERT INTO orders VALUES(195,22,50,71,119.0,'2026-02-01T03:22:19.400Z',1,0,NULL,101,NULL,NULL,10.0,'1769935939395-22',1.0,0); -INSERT INTO orders VALUES(196,82,72,72,179.0,'2026-02-01T04:41:15.161Z',1,0,NULL,103,NULL,NULL,0.0,'1769940675157-82',1.0,0); -INSERT INTO orders VALUES(197,82,72,72,448.0,'2026-02-01T04:46:41.872Z',1,0,NULL,105,NULL,NULL,0.0,'1769941001866-82',1.0,0); -INSERT INTO orders VALUES(202,88,83,76,135.0,'2026-02-01T10:07:16.233Z',1,0,NULL,115,NULL,NULL,0.0,'1769960236219-88',1.0,0); -INSERT INTO orders VALUES(203,92,86,79,49.0,'2026-02-02T04:53:54.970Z',1,0,NULL,117,NULL,NULL,10.0,'1770027834964-92',1.0,0); -INSERT INTO orders VALUES(204,38,66,79,79.0,'2026-02-02T06:48:31.456Z',1,0,NULL,119,NULL,NULL,10.0,'1770034711451-38',1.0,0); -INSERT INTO orders VALUES(205,38,66,79,79.0,'2026-02-02T06:50:24.727Z',1,0,NULL,121,NULL,NULL,10.0,'1770034824717-38',1.0,0); -INSERT INTO orders VALUES(206,7,71,83,770.0,'2026-02-02T08:27:54.149Z',1,0,NULL,123,NULL,NULL,0.0,'1770040674142-7',1.0,0); -INSERT INTO orders VALUES(207,1,17,81,369.0,'2026-02-02T09:01:16.193Z',1,0,NULL,125,NULL,NULL,0.0,'1770042676188-1',1.0,0); -INSERT INTO orders VALUES(208,1,17,81,378.0,'2026-02-02T12:53:25.021Z',1,0,NULL,127,NULL,NULL,0.0,'1770056605014-1',1.0,0); -INSERT INTO orders VALUES(209,38,66,83,412.19999999999998863,'2026-02-02T22:40:01.666Z',1,0,NULL,129,NULL,NULL,0.0,'1770091801642-38',1.0,0); -INSERT INTO orders VALUES(210,98,91,84,210.0,'2026-02-03T00:26:45.500Z',1,0,NULL,131,NULL,NULL,0.0,'1770098205495-98',1.0,0); -INSERT INTO orders VALUES(211,98,91,84,94.0,'2026-02-03T00:28:30.230Z',1,0,NULL,133,NULL,NULL,10.0,'1770098310221-98',1.0,0); -INSERT INTO orders VALUES(212,24,92,87,419.0,'2026-02-03T03:11:48.475Z',1,0,NULL,135,NULL,NULL,0.0,'1770108108470-24',1.0,0); -INSERT INTO orders VALUES(213,46,93,86,88.0,'2026-02-03T07:33:13.302Z',1,0,NULL,137,NULL,replace('Gol masjid Sr garden \n1flore\n','\n',char(10)),10.0,'1770123793291-46',1.0,0); -INSERT INTO orders VALUES(214,38,66,88,98.0,'2026-02-03T08:40:49.538Z',1,0,NULL,139,NULL,NULL,10.0,'1770127849534-38',1.0,0); -INSERT INTO orders VALUES(215,38,66,89,248.39999999999999857,'2026-02-03T08:43:00.789Z',1,0,NULL,141,NULL,NULL,0.0,'1770127980775-38',1.0,0); -INSERT INTO orders VALUES(216,81,94,88,386.0,'2026-02-03T10:16:16.915Z',1,0,NULL,143,NULL,NULL,0.0,'1770133576898-81',1.0,0); -INSERT INTO orders VALUES(217,96,95,92,301.50000000000001243,'2026-02-04T01:36:25.133Z',1,0,NULL,145,NULL,NULL,0.0,'1770188785117-96',1.0,0); -INSERT INTO orders VALUES(218,81,94,92,401.39999999999993463,'2026-02-04T02:41:07.508Z',1,0,NULL,147,NULL,NULL,0.0,'1770192667485-81',1.0,0); -INSERT INTO orders VALUES(219,1,17,94,109.0,'2026-02-04T07:47:53.067Z',1,0,NULL,149,NULL,NULL,10.0,'1770211073063-1',1.0,0); -INSERT INTO orders VALUES(220,103,96,99,158.0,'2026-02-05T03:15:53.554Z',1,0,NULL,151,NULL,NULL,0.0,'1770281153546-103',1.0,0); -INSERT INTO orders VALUES(221,24,92,100,235.80000000000000959,'2026-02-05T04:00:30.739Z',1,0,NULL,153,NULL,NULL,0.0,'1770283830726-24',1.0,0); -INSERT INTO orders VALUES(222,114,103,106,97.0,'2026-02-06T05:49:57.315Z',1,0,NULL,155,NULL,NULL,10.0,'1770376797308-114',1.0,0); -INSERT INTO orders VALUES(223,1,17,106,97.0,'2026-02-06T06:21:43.659Z',1,0,NULL,157,NULL,NULL,10.0,'1770378703652-1',1.0,0); -INSERT INTO orders VALUES(224,71,104,106,149.0,'2026-02-06T06:25:36.038Z',1,0,NULL,159,NULL,NULL,0.0,'1770378936033-71',1.0,0); -INSERT INTO orders VALUES(225,1,17,111,108.0,'2026-02-06T08:53:10.229Z',1,0,NULL,-1,NULL,NULL,10.0,'1770387790223-1',1.0,0); -INSERT INTO orders VALUES(226,115,105,113,110.74999999999999289,'2026-02-06T10:26:39.531Z',1,0,NULL,-1,NULL,NULL,0.0,'1770393399507-115',0.24500000000000001776,0); -INSERT INTO orders VALUES(227,115,105,112,341.25000000000000888,'2026-02-06T10:26:39.531Z',1,0,NULL,-1,NULL,NULL,0.0,'1770393399507-115',0.75499999999999998223,0); -INSERT INTO orders VALUES(228,115,105,113,180.0,'2026-02-06T16:16:47.346Z',1,0,NULL,-1,NULL,NULL,0.0,'1770414407330-115',1.0,0); -INSERT INTO orders VALUES(229,109,101,111,127.0,'2026-02-06T23:01:13.646Z',1,0,NULL,-1,NULL,NULL,0.0,'1770438673632-109',1.0,0); -INSERT INTO orders VALUES(230,103,96,111,167.40000000000001989,'2026-02-06T23:28:37.545Z',1,0,NULL,-1,NULL,NULL,0.0,'1770440317529-103',1.0,0); -INSERT INTO orders VALUES(231,103,96,111,213.30000000000000071,'2026-02-06T23:36:55.424Z',1,0,NULL,-1,NULL,NULL,0.0,'1770440815414-103',1.0,0); -INSERT INTO orders VALUES(232,119,107,115,219.0,'2026-02-07T07:06:17.096Z',1,0,NULL,-1,NULL,NULL,0.0,'1770467777091-119',1.0,0); -INSERT INTO orders VALUES(233,38,66,115,219.0,'2026-02-07T07:24:42.810Z',1,0,NULL,-1,NULL,NULL,0.0,'1770468882806-38',1.0,0); -INSERT INTO orders VALUES(234,38,66,115,219.0,'2026-02-07T07:25:52.698Z',1,0,NULL,-1,NULL,NULL,0.0,'1770468952694-38',1.0,0); -INSERT INTO orders VALUES(235,120,108,118,377.10000000000003517,'2026-02-07T23:11:07.297Z',1,0,NULL,-1,NULL,NULL,0.0,'1770525667289-120',1.0,0); -INSERT INTO orders VALUES(236,98,91,118,149.0,'2026-02-07T23:43:00.160Z',1,0,NULL,-1,NULL,NULL,10.0,'1770527580152-98',1.0,0); -INSERT INTO orders VALUES(237,38,66,118,148.0,'2026-02-07T23:58:12.863Z',1,0,NULL,-1,NULL,NULL,10.0,'1770528492859-38',1.0,0); -INSERT INTO orders VALUES(238,121,109,119,106.0,'2026-02-08T00:48:23.089Z',1,0,NULL,-1,NULL,NULL,10.0,'1770531503085-121',1.0,0); -INSERT INTO orders VALUES(239,121,109,119,106.0,'2026-02-08T00:55:15.154Z',1,0,NULL,-1,NULL,NULL,10.0,'1770531915149-121',1.0,0); -INSERT INTO orders VALUES(240,121,109,NULL,170.0,'2026-02-08T04:28:56.405Z',1,0,NULL,-1,NULL,NULL,10.0,'1770544736398-121',1.0,1); -INSERT INTO orders VALUES(241,121,109,NULL,170.0,'2026-02-08T04:29:20.307Z',1,0,NULL,-1,NULL,NULL,10.0,'1770544760296-121',1.0,1); -INSERT INTO orders VALUES(242,121,109,121,37.0,'2026-02-08T04:29:55.364Z',1,0,NULL,-1,NULL,NULL,10.0,'1770544795359-121',1.0,0); -INSERT INTO orders VALUES(243,121,109,NULL,60.0,'2026-02-08T04:30:37.777Z',1,0,NULL,-1,NULL,NULL,10.0,'1770544837770-121',1.0,1); -INSERT INTO orders VALUES(244,121,109,121,389.0,'2026-02-08T04:32:20.374Z',1,0,NULL,-1,NULL,NULL,0.0,'1770544940368-121',1.0,0); -INSERT INTO orders VALUES(245,121,109,121,980.0,'2026-02-08T04:33:59.746Z',1,0,NULL,-1,NULL,NULL,0.0,'1770545039741-121',1.0,0); -INSERT INTO orders VALUES(246,12,33,121,149.0,'2026-02-08T05:09:24.720Z',1,0,NULL,-1,NULL,NULL,10.0,'1770547164704-12',1.0,0); -INSERT INTO orders VALUES(247,2,20,127,159.0,'2026-02-09T01:52:55.524Z',1,0,NULL,-1,NULL,NULL,10.0,'1770621775517-2',1.0,0); -INSERT INTO orders VALUES(248,125,112,129,188.0,'2026-02-09T07:56:42.048Z',1,0,NULL,-1,NULL,NULL,0.0,'1770643602042-125',1.0,0); -INSERT INTO orders VALUES(249,3,16,135,119.0,'2026-02-10T06:04:04.471Z',1,0,NULL,-1,NULL,NULL,10.0,'1770723244466-3',1.0,0); -INSERT INTO orders VALUES(250,2,20,139,1277.0,'2026-02-10T21:59:33.763Z',1,0,NULL,-1,NULL,NULL,0.0,'1770780573747-2',1.0,0); -INSERT INTO orders VALUES(251,115,105,145,110.0,'2026-02-11T16:13:20.142Z',1,0,NULL,-1,NULL,NULL,0.0,'1770846200125-115',0.32840000000000002522,0); -INSERT INTO orders VALUES(252,115,105,144,107.0,'2026-02-11T16:13:20.142Z',1,0,NULL,-1,NULL,NULL,0.0,'1770846200125-115',0.31939999999999999502,0); -INSERT INTO orders VALUES(253,115,105,147,118.0,'2026-02-11T16:13:20.142Z',1,0,NULL,-1,NULL,NULL,0.0,'1770846200125-115',0.35220000000000002415,0); -INSERT INTO orders VALUES(254,114,114,158,145.0,'2026-02-14T01:01:13.769Z',1,0,NULL,-1,NULL,replace('Rb palace \n','\n',char(10)),10.0,'1771050673757-114',1.0,0); -INSERT INTO orders VALUES(255,120,108,165,419.0,'2026-02-15T00:00:53.358Z',1,0,NULL,-1,NULL,'Can you deliver it now pls its urgent',0.0,'1771133453347-120',1.0,0); -INSERT INTO orders VALUES(256,2,20,173,377.10000000000003517,'2026-02-16T01:21:48.050Z',1,0,NULL,-1,NULL,NULL,0.0,'1771224708041-2',1.0,0); -INSERT INTO orders VALUES(257,134,116,173,377.10000000000003517,'2026-02-16T04:14:55.522Z',1,0,NULL,-1,NULL,'Come faster ',0.0,'1771235095508-134',1.0,0); -INSERT INTO orders VALUES(258,134,116,174,74.0,'2026-02-16T04:22:00.592Z',1,0,NULL,-1,NULL,NULL,15.0,'1771235520588-134',1.0,0); -INSERT INTO orders VALUES(259,120,108,179,413.10000000000002273,'2026-02-17T00:44:27.971Z',1,0,NULL,-1,NULL,NULL,0.0,'1771308867959-120',1.0,0); -INSERT INTO orders VALUES(260,1,17,NULL,380.0,'2026-02-17T07:16:27.421Z',1,0,NULL,-1,NULL,NULL,0.0,'1771332387411-1',1.0,1); -INSERT INTO orders VALUES(261,136,117,182,130.0,'2026-02-17T07:30:07.521Z',1,0,NULL,-1,NULL,NULL,12.0,'1771333207516-136',1.0,0); -INSERT INTO orders VALUES(262,136,117,182,67.0,'2026-02-17T07:45:43.734Z',1,0,NULL,-1,NULL,NULL,12.0,'1771334143729-136',1.0,0); -INSERT INTO orders VALUES(263,3,16,NULL,162.0,'2026-02-17T07:52:41.197Z',1,0,NULL,-1,NULL,NULL,12.0,'1771334561185-3',1.0,1); -INSERT INTO orders VALUES(264,141,120,184,423.0,'2026-02-17T19:47:31.551Z',1,0,NULL,-1,NULL,NULL,0.0,'1771377451545-141',1.0,0); -INSERT INTO orders VALUES(265,143,121,185,130.0,'2026-02-17T22:56:42.974Z',1,0,NULL,-1,NULL,'Employees colony colony ',12.0,'1771388802969-143',1.0,0); -INSERT INTO orders VALUES(266,143,121,185,110.0,'2026-02-17T23:04:14.592Z',1,0,NULL,-1,NULL,NULL,12.0,'1771389254586-143',1.0,0); -INSERT INTO orders VALUES(267,130,122,186,305.0,'2026-02-17T23:27:35.908Z',1,0,NULL,-1,NULL,NULL,0.0,'1771390655900-130',1.0,0); -INSERT INTO orders VALUES(268,132,123,186,429.0,'2026-02-18T00:28:16.181Z',1,0,NULL,-1,NULL,NULL,0.0,'1771394296177-132',1.0,0); -INSERT INTO orders VALUES(269,119,107,187,396.0,'2026-02-18T01:34:08.441Z',1,0,NULL,-1,NULL,NULL,0.0,'1771398248436-119',1.0,0); -INSERT INTO orders VALUES(270,119,107,NULL,230.0,'2026-02-18T02:04:32.495Z',1,0,NULL,-1,NULL,NULL,0.0,'1771400072481-119',1.0,1); -INSERT INTO orders VALUES(271,145,124,187,381.60000000000003694,'2026-02-18T03:46:31.297Z',1,0,NULL,-1,NULL,NULL,0.0,'1771406191279-145',1.0,0); -INSERT INTO orders VALUES(272,138,125,188,71.0,'2026-02-18T05:15:38.160Z',1,0,NULL,-1,NULL,NULL,12.0,'1771411538154-138',1.0,0); -INSERT INTO orders VALUES(273,138,125,188,71.0,'2026-02-18T05:15:38.161Z',1,0,NULL,-1,NULL,NULL,12.0,'1771411538155-138',1.0,0); -INSERT INTO orders VALUES(274,147,126,NULL,555.0,'2026-02-18T05:15:59.580Z',1,0,NULL,-1,NULL,NULL,0.0,'1771411559572-147',1.0,1); -INSERT INTO orders VALUES(275,24,92,188,223.0,'2026-02-18T06:53:25.416Z',1,0,NULL,-1,NULL,NULL,0.0,'1771417405404-24',1.0,0); -INSERT INTO orders VALUES(276,82,72,189,506.0,'2026-02-18T07:16:24.911Z',1,0,NULL,-1,NULL,NULL,0.0,'1771418784904-82',1.0,0); -INSERT INTO orders VALUES(277,148,127,189,388.0,'2026-02-18T07:31:33.186Z',1,0,NULL,-1,NULL,NULL,0.0,'1771419693158-148',1.0,0); -INSERT INTO orders VALUES(278,38,66,192,396.0,'2026-02-18T23:12:20.428Z',1,0,NULL,-1,NULL,'Come slowly and drive slowly ',0.0,'1771476140424-38',1.0,0); -INSERT INTO orders VALUES(279,156,131,192,419.0,'2026-02-19T00:00:57.733Z',1,0,NULL,-1,NULL,NULL,0.0,'1771479057729-156',1.0,0); -INSERT INTO orders VALUES(280,99,132,194,170.0,'2026-02-19T01:04:09.663Z',1,0,NULL,-1,NULL,NULL,12.0,'1771482849644-99',1.0,0); -INSERT INTO orders VALUES(281,82,72,194,583.0,'2026-02-19T01:57:57.613Z',1,0,NULL,-1,NULL,NULL,0.0,'1771486077606-82',1.0,0); -INSERT INTO orders VALUES(282,82,72,194,110.0,'2026-02-19T01:59:43.093Z',1,0,NULL,-1,NULL,NULL,12.0,'1771486183088-82',1.0,0); -INSERT INTO orders VALUES(283,66,58,194,216.0,'2026-02-19T02:16:07.844Z',1,0,NULL,-1,NULL,NULL,0.0,'1771487167839-66',1.0,0); -INSERT INTO orders VALUES(284,120,108,194,202.0,'2026-02-19T03:09:55.456Z',1,0,NULL,-1,NULL,NULL,0.0,'1771490395448-120',1.0,0); -INSERT INTO orders VALUES(285,159,133,194,371.0,'2026-02-19T03:40:51.549Z',1,0,NULL,-1,NULL,NULL,0.0,'1771492251530-159',1.0,0); -INSERT INTO orders VALUES(286,160,134,194,255.0,'2026-02-19T03:49:55.745Z',1,0,NULL,-1,NULL,NULL,0.0,'1771492795724-160',1.0,0); -INSERT INTO orders VALUES(287,64,55,194,114.0,'2026-02-19T03:54:05.397Z',1,0,NULL,-1,NULL,NULL,0.0,'1771493045384-64',0.6,0); -INSERT INTO orders VALUES(288,64,55,196,76.0,'2026-02-19T03:54:05.397Z',1,0,NULL,-1,NULL,NULL,0.0,'1771493045384-64',0.4,0); -INSERT INTO orders VALUES(289,160,134,197,41.0,'2026-02-19T04:00:41.001Z',1,0,NULL,-1,NULL,NULL,12.0,'1771493440990-160',1.0,0); -INSERT INTO orders VALUES(290,151,135,197,387.0,'2026-02-19T04:09:35.859Z',1,0,NULL,-1,NULL,NULL,0.0,'1771493975853-151',1.0,0); -INSERT INTO orders VALUES(291,4,136,195,559.0,'2026-02-19T04:16:50.189Z',1,0,NULL,-1,NULL,NULL,0.0,'1771494410183-4',1.0,0); -INSERT INTO orders VALUES(292,162,137,197,110.0,'2026-02-19T05:08:36.439Z',1,0,NULL,-1,NULL,NULL,12.0,'1771497516435-162',1.0,0); -INSERT INTO orders VALUES(293,162,137,197,110.0,'2026-02-19T05:08:36.736Z',1,0,NULL,-1,NULL,NULL,12.0,'1771497516732-162',1.0,0); -INSERT INTO orders VALUES(294,32,138,195,110.0,'2026-02-19T06:14:11.047Z',1,0,NULL,-1,NULL,NULL,12.0,'1771501451044-32',1.0,0); -INSERT INTO orders VALUES(295,163,139,195,236.0,'2026-02-19T06:49:34.891Z',1,0,NULL,-1,NULL,NULL,0.0,'1771503574888-163',1.0,0); -INSERT INTO orders VALUES(296,38,66,200,819.0,'2026-02-19T12:38:24.984Z',1,0,NULL,-1,NULL,NULL,0.0,'1771524504980-38',1.0,0); -INSERT INTO orders VALUES(297,82,72,201,307.0,'2026-02-19T15:48:55.517Z',1,0,NULL,-1,NULL,NULL,0.0,'1771535935502-82',1.0,0); -INSERT INTO orders VALUES(298,66,58,204,85.0,'2026-02-20T01:39:04.912Z',1,0,NULL,-1,NULL,replace('Employee''s colony road no 3 \nmahabubnagar 9618791714','\n',char(10)),12.0,'1771571344901-66',1.0,0); -INSERT INTO orders VALUES(299,66,58,204,165.0,'2026-02-20T02:41:56.608Z',1,0,NULL,-1,NULL,NULL,12.0,'1771575116599-66',1.0,0); -INSERT INTO orders VALUES(300,140,119,204,238.0,'2026-02-20T03:24:43.556Z',1,0,NULL,-1,NULL,NULL,0.0,'1771577683547-140',1.0,0); -INSERT INTO orders VALUES(301,169,142,204,1116.0,'2026-02-20T03:37:43.245Z',1,0,NULL,-1,NULL,NULL,0.0,'1771578463205-169',1.0,0); -INSERT INTO orders VALUES(302,170,144,204,189.0,'2026-02-20T03:59:51.171Z',1,0,NULL,-1,NULL,NULL,0.0,'1771579791166-170',1.0,0); -INSERT INTO orders VALUES(303,170,144,207,197.0,'2026-02-20T04:04:04.909Z',1,0,NULL,-1,NULL,NULL,0.0,'1771580044903-170',1.0,0); -INSERT INTO orders VALUES(304,132,123,207,494.0,'2026-02-20T04:47:12.538Z',1,0,NULL,-1,NULL,NULL,0.0,'1771582632531-132',1.0,0); -INSERT INTO orders VALUES(305,176,145,206,295.0,'2026-02-20T06:02:01.579Z',1,0,NULL,-1,NULL,NULL,0.0,'1771587121570-176',1.0,0); -INSERT INTO orders VALUES(306,99,132,206,294.0,'2026-02-20T06:41:12.043Z',1,0,NULL,-1,NULL,NULL,0.0,'1771589472035-99',1.0,0); -INSERT INTO orders VALUES(307,163,146,NULL,236.0,'2026-02-20T07:21:21.906Z',1,0,NULL,-1,NULL,NULL,0.0,'1771591881894-163',1.0,1); -INSERT INTO orders VALUES(308,74,73,208,429.0,'2026-02-20T07:41:37.350Z',1,0,NULL,-1,NULL,NULL,0.0,'1771593097346-74',1.0,0); -INSERT INTO orders VALUES(309,115,105,NULL,624.0,'2026-02-20T09:08:15.335Z',1,0,NULL,-1,NULL,NULL,0.0,'1771598295290-115',1.0,1); -INSERT INTO orders VALUES(310,38,66,208,419.0,'2026-02-20T13:06:33.249Z',1,0,NULL,-1,NULL,'Bheje lalo bhaiya 3',0.0,'1771612593245-38',1.0,0); -INSERT INTO orders VALUES(311,184,148,211,364.0,'2026-02-20T22:50:10.927Z',1,0,NULL,-1,NULL,NULL,0.0,'1771647610908-184',1.0,0); -INSERT INTO orders VALUES(312,81,94,212,550.0,'2026-02-21T03:19:33.169Z',1,0,NULL,-1,NULL,NULL,0.0,'1771663773148-81',1.0,0); -INSERT INTO orders VALUES(313,24,92,212,223.0,'2026-02-21T03:33:25.012Z',1,0,NULL,-1,NULL,NULL,0.0,'1771664605006-24',1.0,0); -INSERT INTO orders VALUES(314,186,149,214,137.0,'2026-02-21T03:45:19.764Z',1,0,NULL,-1,NULL,NULL,12.0,'1771665319759-186',1.0,0); -INSERT INTO orders VALUES(315,160,134,213,109.0,'2026-02-21T04:36:43.124Z',1,0,NULL,-1,NULL,NULL,12.0,'1771668403117-160',1.0,0); -INSERT INTO orders VALUES(316,160,134,213,138.0,'2026-02-21T04:40:27.736Z',1,0,NULL,-1,NULL,NULL,12.0,'1771668627722-160',1.0,0); -INSERT INTO orders VALUES(317,32,138,NULL,161.0,'2026-02-21T06:23:19.310Z',1,0,NULL,-1,NULL,NULL,12.0,'1771674799304-32',1.0,1); -INSERT INTO orders VALUES(318,7,71,217,1566.0,'2026-02-21T12:32:34.307Z',1,0,NULL,-1,NULL,replace('Boti me chikna kam karo \nBoti ke pooray parts rehna dekho bhai \nExcept tilli\n\nMutton zara acha lalo \nBone quantity kam kar ke ','\n',char(10)),0.0,'1771696954291-7',1.0,0); -INSERT INTO orders VALUES(319,141,120,219,166.50000000000000355,'2026-02-21T19:42:40.619Z',1,0,NULL,-1,NULL,NULL,0.0,'1771722760597-141',0.5027000000000000135,0); -INSERT INTO orders VALUES(320,141,120,218,164.69999999999997974,'2026-02-21T19:42:40.619Z',1,0,NULL,-1,NULL,NULL,0.0,'1771722760597-141',0.49729999999999998649,0); -INSERT INTO orders VALUES(321,120,108,218,377.10000000000003517,'2026-02-21T22:34:37.439Z',1,0,NULL,-1,NULL,NULL,0.0,'1771733077431-120',1.0,0); -INSERT INTO orders VALUES(322,193,153,218,386.10000000000002984,'2026-02-21T22:53:17.760Z',1,0,NULL,-1,NULL,NULL,0.0,'1771734197748-193',1.0,0); -INSERT INTO orders VALUES(323,132,123,218,583.0,'2026-02-21T23:09:55.795Z',1,0,NULL,-1,NULL,NULL,0.0,'1771735195777-132',1.0,0); -INSERT INTO orders VALUES(324,130,122,218,490.0,'2026-02-21T23:38:18.540Z',1,0,NULL,-1,NULL,NULL,0.0,'1771736898523-130',1.0,0); -INSERT INTO orders VALUES(325,194,154,219,232.0,'2026-02-22T00:16:21.567Z',1,0,NULL,-1,NULL,NULL,0.0,'1771739181558-194',1.0,0); -INSERT INTO orders VALUES(326,198,158,220,323.0,'2026-02-22T01:08:52.833Z',1,0,NULL,-1,NULL,NULL,0.0,'1771742332826-198',1.0,0); -INSERT INTO orders VALUES(327,184,148,221,201.0,'2026-02-22T01:13:15.958Z',1,0,NULL,-1,NULL,NULL,0.0,'1771742595948-184',0.80400000000000009237,0); -INSERT INTO orders VALUES(328,184,148,220,49.0,'2026-02-22T01:13:15.958Z',1,0,NULL,-1,NULL,NULL,0.0,'1771742595948-184',0.19599999999999999644,0); -INSERT INTO orders VALUES(329,205,161,222,272.0,'2026-02-22T03:46:06.235Z',1,0,NULL,-1,NULL,NULL,0.0,'1771751766217-205',1.0,0); -INSERT INTO orders VALUES(330,206,162,221,40.0,'2026-02-22T04:21:41.707Z',1,0,NULL,-1,NULL,NULL,12.0,'1771753901703-206',1.0,0); -INSERT INTO orders VALUES(331,208,163,221,166.0,'2026-02-22T04:39:37.484Z',1,0,NULL,-1,NULL,NULL,12.0,'1771754977472-208',1.0,0); -INSERT INTO orders VALUES(332,50,167,224,315.0,'2026-02-22T14:05:39.863Z',1,0,NULL,-1,NULL,NULL,0.0,'1771788939856-50',1.0,0); -INSERT INTO orders VALUES(333,151,135,227,136.0,'2026-02-23T03:21:16.555Z',1,0,NULL,-1,NULL,NULL,12.0,'1771836676538-151',1.0,0); -INSERT INTO orders VALUES(334,223,168,227,373.49999999999998756,'2026-02-23T03:47:30.738Z',1,0,NULL,-1,NULL,NULL,0.0,'1771838250710-223',1.0,0); -INSERT INTO orders VALUES(335,224,169,228,471.0,'2026-02-23T04:40:46.728Z',1,0,NULL,-1,NULL,NULL,0.0,'1771841446722-224',1.0,0); -INSERT INTO orders VALUES(336,224,169,228,295.0,'2026-02-23T04:44:00.644Z',1,0,NULL,-1,NULL,NULL,0.0,'1771841640635-224',1.0,0); -INSERT INTO orders VALUES(337,224,169,227,69.0,'2026-02-23T04:45:56.017Z',1,0,NULL,-1,NULL,NULL,12.0,'1771841756009-224',1.0,0); -INSERT INTO orders VALUES(338,38,66,229,250.0,'2026-02-23T05:51:07.943Z',1,0,NULL,-1,NULL,'Plz bring fast please jaldi lalo thoda',0.0,'1771845667938-38',1.0,0); -INSERT INTO orders VALUES(339,225,170,229,138.0,'2026-02-23T06:46:04.203Z',1,0,NULL,-1,NULL,NULL,12.0,'1771848964196-225',1.0,0); -INSERT INTO orders VALUES(340,228,172,232,261.0,'2026-02-23T22:40:33.438Z',1,0,NULL,-1,NULL,'Back side alis mart beside lane last lane ,opp children''s park ground floor house ',0.0,'1771906233428-228',1.0,0); -INSERT INTO orders VALUES(341,230,174,235,250.0,'2026-02-24T01:44:30.406Z',1,0,NULL,-1,NULL,NULL,0.0,'1771917270395-230',1.0,0); -INSERT INTO orders VALUES(342,229,173,NULL,737.0,'2026-02-24T01:46:05.872Z',1,0,NULL,-1,NULL,NULL,0.0,'1771917365846-229',1.0,1); -INSERT INTO orders VALUES(343,224,169,227,169.0,'2026-02-24T02:52:22.431Z',1,0,NULL,-1,NULL,NULL,12.0,'1771921342425-224',1.0,0); -INSERT INTO orders VALUES(344,158,176,236,186.0,'2026-02-24T04:15:41.683Z',1,0,NULL,-1,NULL,NULL,12.0,'1771926341678-158',1.0,0); -INSERT INTO orders VALUES(345,3,16,NULL,399.0,'2026-02-24T05:47:59.572Z',1,0,NULL,-1,NULL,NULL,0.0,'1771931879550-3',1.0,1); -INSERT INTO orders VALUES(346,149,130,236,181.0,'2026-02-24T07:17:54.419Z',1,0,NULL,-1,NULL,NULL,0.0,'1771937274400-149',1.0,0); -INSERT INTO orders VALUES(347,50,45,238,281.0,'2026-02-24T12:55:21.432Z',1,0,NULL,-1,NULL,'If I don''t attend the call please call to this number 86888065996',0.0,'1771957521407-50',1.0,0); -INSERT INTO orders VALUES(348,132,123,242,429.0,'2026-02-25T02:47:44.024Z',1,0,NULL,-1,NULL,NULL,0.0,'1772007464014-132',1.0,0); -INSERT INTO orders VALUES(381,1,17,NULL,395.0,'2026-02-26T11:24:06.998Z',1,0,NULL,-1,NULL,NULL,0.0,'1772124844672-1',1.0,1); -INSERT INTO orders VALUES(382,1,17,NULL,187.0,'2026-02-26T11:30:33.419Z',1,0,NULL,-1,NULL,NULL,0.0,'1772125229922-1',1.0,1); -INSERT INTO orders VALUES(383,1,17,NULL,164.0,'2026-02-26T11:34:03.543Z',1,0,NULL,-1,NULL,NULL,45.0,'1772125441817-1',1.0,1); -INSERT INTO orders VALUES(384,1,17,NULL,444.0,'2026-02-26T11:36:20.560Z',1,0,NULL,-1,NULL,NULL,45.0,'1772125578199-1',1.0,1); -INSERT INTO orders VALUES(385,1,17,279,344.0,'2026-03-09T10:16:59.219Z',1,0,NULL,-1,NULL,NULL,0.0,'1773071219214-1',1.0,0); -INSERT INTO orders VALUES(386,1,17,286,51.0,'2026-03-26T01:19:29.108Z',1,0,NULL,-1,NULL,NULL,12.0,'1774507768653-1',1.0,0); -CREATE TABLE IF NOT EXISTS "payment_info" ("id" INTEGER PRIMARY KEY, "status" TEXT NOT NULL, "gateway" TEXT NOT NULL, "order_id" TEXT, "token" TEXT, "merchant_order_id" TEXT NOT NULL, "payload" TEXT); -INSERT INTO payment_info VALUES(1,'pending','phonepe',NULL,NULL,'order_1763563896010',NULL); -INSERT INTO payment_info VALUES(2,'pending','phonepe',NULL,NULL,'order_1763564910006',NULL); -INSERT INTO payment_info VALUES(3,'pending','phonepe',NULL,NULL,'order_1763572580304',NULL); -INSERT INTO payment_info VALUES(4,'pending','phonepe',NULL,NULL,'order_1763572653144',NULL); -INSERT INTO payment_info VALUES(5,'pending','phonepe',NULL,NULL,'order_1763573268603',NULL); -INSERT INTO payment_info VALUES(6,'pending','phonepe',NULL,NULL,'order_1763574232471',NULL); -INSERT INTO payment_info VALUES(7,'pending','phonepe',NULL,NULL,'order_1763574306269',NULL); -INSERT INTO payment_info VALUES(8,'pending','phonepe',NULL,NULL,'order_1763574482764',NULL); -INSERT INTO payment_info VALUES(9,'pending','phonepe',NULL,NULL,'order_1763574799918',NULL); -INSERT INTO payment_info VALUES(10,'pending','phonepe',NULL,NULL,'order_1763575339097',NULL); -INSERT INTO payment_info VALUES(11,'pending','phonepe',NULL,NULL,'order_1763575464896',NULL); -INSERT INTO payment_info VALUES(12,'pending','phonepe',NULL,NULL,'order_1763575602750',NULL); -INSERT INTO payment_info VALUES(13,'pending','phonepe',NULL,NULL,'order_1763575768505',NULL); -INSERT INTO payment_info VALUES(14,'pending','phonepe',NULL,NULL,'order_1763666849104',NULL); -INSERT INTO payment_info VALUES(15,'pending','phonepe',NULL,NULL,'order_1763666905893',NULL); -INSERT INTO payment_info VALUES(16,'pending','phonepe',NULL,NULL,'order_1763666973849',NULL); -INSERT INTO payment_info VALUES(17,'pending','phonepe',NULL,NULL,'order_1763871426295',NULL); -INSERT INTO payment_info VALUES(18,'pending','phonepe',NULL,NULL,'order_1763898477055',NULL); -INSERT INTO payment_info VALUES(19,'pending','phonepe',NULL,NULL,'order_1763983667789',NULL); -INSERT INTO payment_info VALUES(20,'pending','phonepe',NULL,NULL,'order_1764067952957',NULL); -INSERT INTO payment_info VALUES(21,'pending','phonepe',NULL,NULL,'order_1764243205881',NULL); -INSERT INTO payment_info VALUES(22,'pending','phonepe',NULL,NULL,'order_1764388266634',NULL); -INSERT INTO payment_info VALUES(23,'pending','phonepe',NULL,NULL,'order_1764388497092',NULL); -INSERT INTO payment_info VALUES(24,'pending','phonepe',NULL,NULL,'order_1764389081742',NULL); -INSERT INTO payment_info VALUES(25,'pending','phonepe',NULL,NULL,'order_1764389210771',NULL); -INSERT INTO payment_info VALUES(26,'pending','phonepe',NULL,NULL,'order_1764390498471',NULL); -INSERT INTO payment_info VALUES(27,'pending','phonepe',NULL,NULL,'order_1764391183329',NULL); -INSERT INTO payment_info VALUES(28,'pending','phonepe',NULL,NULL,'order_1764391279780',NULL); -INSERT INTO payment_info VALUES(29,'pending','phonepe',NULL,NULL,'order_1764391675769',NULL); -INSERT INTO payment_info VALUES(30,'pending','phonepe',NULL,NULL,'order_1764391943478',NULL); -INSERT INTO payment_info VALUES(31,'pending','phonepe',NULL,NULL,'order_1764392006085',NULL); -INSERT INTO payment_info VALUES(32,'pending','razorpay',NULL,NULL,'order_1764392514440',NULL); -INSERT INTO payment_info VALUES(33,'pending','razorpay',NULL,NULL,'order_1764392606452',NULL); -INSERT INTO payment_info VALUES(34,'pending','razorpay',NULL,NULL,'order_1764392717827',NULL); -INSERT INTO payment_info VALUES(35,'pending','razorpay',NULL,NULL,'order_1764393153653',NULL); -INSERT INTO payment_info VALUES(36,'pending','razorpay',NULL,NULL,'order_1764396332043',NULL); -INSERT INTO payment_info VALUES(37,'pending','phonepe',NULL,NULL,'order_1764397057662',NULL); -INSERT INTO payment_info VALUES(38,'pending','razorpay',NULL,NULL,'order_1764397317408',NULL); -INSERT INTO payment_info VALUES(39,'pending','razorpay',NULL,NULL,'order_1764398178092',NULL); -INSERT INTO payment_info VALUES(40,'pending','razorpay',NULL,NULL,'order_1764400222682',NULL); -INSERT INTO payment_info VALUES(41,'pending','razorpay',NULL,NULL,'order_1764400862503',NULL); -INSERT INTO payment_info VALUES(42,'pending','razorpay',NULL,NULL,'order_1764401267896',NULL); -INSERT INTO payment_info VALUES(43,'pending','razorpay',NULL,NULL,'order_1764405067997',NULL); -INSERT INTO payment_info VALUES(44,'pending','razorpay',NULL,NULL,'order_1765380758868',NULL); -INSERT INTO payment_info VALUES(45,'pending','razorpay',NULL,NULL,'order_1765380872212',NULL); -INSERT INTO payment_info VALUES(46,'pending','razorpay',NULL,NULL,'multi_order_1765645204515',NULL); -INSERT INTO payment_info VALUES(47,'pending','razorpay',NULL,NULL,'multi_order_1765645272415',NULL); -CREATE TABLE IF NOT EXISTS "payments" ("id" INTEGER PRIMARY KEY, "order_id" INTEGER NOT NULL, "status" TEXT NOT NULL, "gateway" TEXT NOT NULL, "token" TEXT, "merchant_order_id" TEXT NOT NULL, "payload" TEXT); -INSERT INTO payments VALUES(1,1,'success','razorpay','1','order_RhdccfyUTkxlH4','{"id":"order_RhdccfyUTkxlH4","notes":{"customerOrderId":"1"},"amount":4400,"entity":"order","status":"created","receipt":"order_1","attempts":0,"currency":"INR","offer_id":null,"signature":"b767a4fdda78476999d21bb7e1cfa72a938e21d592870bd6873ea1bc33336da5","amount_due":4400,"created_at":1763563898,"payment_id":"pay_RheSGc35HYPRPH","amount_paid":0}'); -INSERT INTO payments VALUES(2,2,'pending','razorpay','2','order_RhduSaAJIuFBzZ','{"id":"order_RhduSaAJIuFBzZ","notes":{"customerOrderId":"2"},"amount":22000,"entity":"order","status":"created","receipt":"order_2","attempts":0,"currency":"INR","offer_id":null,"amount_due":22000,"created_at":1763564911,"amount_paid":0}'); -INSERT INTO payments VALUES(3,3,'pending','razorpay','3','order_Rhg5W23p2znoMY','{"id":"order_Rhg5W23p2znoMY","notes":{"customerOrderId":"3"},"amount":22000,"entity":"order","status":"created","receipt":"order_3","attempts":0,"currency":"INR","offer_id":null,"amount_due":22000,"created_at":1763572582,"amount_paid":0}'); -INSERT INTO payments VALUES(4,4,'pending','razorpay','4','order_Rhg6mh3BUvamRb','{"id":"order_Rhg6mh3BUvamRb","notes":{"customerOrderId":"4"},"amount":43000,"entity":"order","status":"created","receipt":"order_4","attempts":0,"currency":"INR","offer_id":null,"amount_due":43000,"created_at":1763572654,"amount_paid":0}'); -INSERT INTO payments VALUES(5,5,'failed','razorpay','5','order_RhgHdO0tN2ze09','{"id":"order_RhgHdO0tN2ze09","notes":{"customerOrderId":"5"},"amount":70000,"entity":"order","status":"created","receipt":"order_5","attempts":0,"currency":"INR","offer_id":null,"amount_due":70000,"created_at":1763573270,"amount_paid":0}'); -INSERT INTO payments VALUES(6,6,'pending','razorpay','6','order_RhgYaSCauk0Q2K','{"id":"order_RhgYaSCauk0Q2K","notes":{"customerOrderId":"6"},"amount":2200,"entity":"order","status":"created","receipt":"order_6","attempts":0,"currency":"INR","offer_id":null,"amount_due":2200,"created_at":1763574233,"amount_paid":0}'); -INSERT INTO payments VALUES(7,7,'pending','razorpay','7','order_RhgZsq1zxjncFX','{"id":"order_RhgZsq1zxjncFX","notes":{"customerOrderId":"7"},"amount":2200,"entity":"order","status":"created","receipt":"order_7","attempts":0,"currency":"INR","offer_id":null,"amount_due":2200,"created_at":1763574307,"amount_paid":0}'); -INSERT INTO payments VALUES(8,8,'pending','razorpay','8','order_Rhgczd7LM2RlaP','{"id":"order_Rhgczd7LM2RlaP","notes":{"customerOrderId":"8"},"amount":2200,"entity":"order","status":"created","receipt":"order_8","attempts":0,"currency":"INR","offer_id":null,"amount_due":2200,"created_at":1763574483,"amount_paid":0}'); -INSERT INTO payments VALUES(9,9,'pending','razorpay','9','order_RhgiZalLiVPuH8','{"id":"order_RhgiZalLiVPuH8","notes":{"customerOrderId":"9"},"amount":50000,"entity":"order","status":"created","receipt":"order_9","attempts":0,"currency":"INR","offer_id":null,"amount_due":50000,"created_at":1763574800,"amount_paid":0}'); -INSERT INTO payments VALUES(10,11,'pending','razorpay','11','order_Rhgs4FOJ0LP3Ey','{"id":"order_Rhgs4FOJ0LP3Ey","notes":{"customerOrderId":"11"},"amount":4400,"entity":"order","status":"created","receipt":"order_11","attempts":0,"currency":"INR","offer_id":null,"amount_due":4400,"created_at":1763575340,"amount_paid":0}'); -INSERT INTO payments VALUES(11,12,'failed','razorpay','12','order_RhguHTMNkOdUwp','{"id":"order_RhguHTMNkOdUwp","notes":{"customerOrderId":"12"},"amount":22000,"entity":"order","status":"created","receipt":"order_12","attempts":0,"currency":"INR","offer_id":null,"amount_due":22000,"created_at":1763575465,"amount_paid":0}'); -INSERT INTO payments VALUES(12,13,'pending','razorpay','13','order_RhgwhwZZdjweOR','{"id":"order_RhgwhwZZdjweOR","notes":{"customerOrderId":"13"},"amount":2200,"entity":"order","status":"created","receipt":"order_13","attempts":0,"currency":"INR","offer_id":null,"amount_due":2200,"created_at":1763575603,"amount_paid":0}'); -INSERT INTO payments VALUES(13,14,'failed','razorpay','14','order_RhgzcqerOQNs98','{"id":"order_RhgzcqerOQNs98","notes":{"customerOrderId":"14"},"amount":21000,"entity":"order","status":"created","receipt":"order_14","attempts":0,"currency":"INR","offer_id":null,"amount_due":21000,"created_at":1763575769,"amount_paid":0}'); -INSERT INTO payments VALUES(14,14,'success','razorpay','14','order_Rhh00qJNdjUp8o','{"id":"order_Rhh00qJNdjUp8o","notes":{"retry":"true","customerOrderId":"14"},"amount":21000,"entity":"order","status":"created","receipt":"order_14_retry","attempts":0,"currency":"INR","offer_id":null,"signature":"6df20655021f1d6841340f2a2ef2ef9378cb3d43495ab09e85f08aea1a851583","amount_due":21000,"created_at":1763575791,"payment_id":"pay_Rhh15cLL28YM7j","amount_paid":0}'); -INSERT INTO payments VALUES(15,12,'success','razorpay','12','order_Rhh1R5ViTgI0Zs','{"id":"order_Rhh1R5ViTgI0Zs","notes":{"retry":"true","customerOrderId":"12"},"amount":22000,"entity":"order","status":"created","receipt":"order_12_retry","attempts":0,"currency":"INR","offer_id":null,"signature":"bef3958fa069c43b61801c1f16edf8372835a324e17bc2448f8ec6a28a8eb7f4","amount_due":22000,"created_at":1763575872,"payment_id":"pay_Rhh1qKLJknk3n4","amount_paid":0}'); -INSERT INTO payments VALUES(16,5,'pending','razorpay','5','order_Rhh2UWeTun3fju','{"id":"order_Rhh2UWeTun3fju","notes":{"retry":"true","customerOrderId":"5"},"amount":70000,"entity":"order","status":"created","receipt":"order_5_retry","attempts":0,"currency":"INR","offer_id":null,"amount_due":70000,"created_at":1763575932,"amount_paid":0}'); -INSERT INTO payments VALUES(17,15,'failed','razorpay','15','order_Ri6rB90w7pYBr9','{"id":"order_Ri6rB90w7pYBr9","notes":{"customerOrderId":"15"},"amount":70000,"entity":"order","status":"created","receipt":"order_15","attempts":0,"currency":"INR","offer_id":null,"amount_due":70000,"created_at":1763666851,"amount_paid":0}'); -INSERT INTO payments VALUES(18,16,'failed','razorpay','16','order_Ri6sAWser4nop7','{"id":"order_Ri6sAWser4nop7","notes":{"customerOrderId":"16"},"amount":70000,"entity":"order","status":"created","receipt":"order_16","attempts":0,"currency":"INR","offer_id":null,"amount_due":70000,"created_at":1763666907,"amount_paid":0}'); -INSERT INTO payments VALUES(19,17,'failed','razorpay','17','order_Ri6tMMIZdzeqis','{"id":"order_Ri6tMMIZdzeqis","notes":{"customerOrderId":"17"},"amount":21000,"entity":"order","status":"created","receipt":"order_17","attempts":0,"currency":"INR","offer_id":null,"amount_due":21000,"created_at":1763666975,"amount_paid":0}'); -INSERT INTO payments VALUES(20,17,'failed','razorpay','17','order_Ri6tQL1UNaANTQ','{"id":"order_Ri6tQL1UNaANTQ","notes":{"customerOrderId":"17"},"amount":21000,"entity":"order","status":"created","receipt":"order_17","attempts":0,"currency":"INR","offer_id":null,"amount_due":21000,"created_at":1763666979,"amount_paid":0}'); -INSERT INTO payments VALUES(21,17,'failed','razorpay','17','order_Ri6tVB8hDRO076','{"id":"order_Ri6tVB8hDRO076","notes":{"customerOrderId":"17"},"amount":21000,"entity":"order","status":"created","receipt":"order_17","attempts":0,"currency":"INR","offer_id":null,"amount_due":21000,"created_at":1763666983,"amount_paid":0}'); -INSERT INTO payments VALUES(22,19,'failed','razorpay','19','order_Rj2wr3MPXGMjHS','{"id":"order_Rj2wr3MPXGMjHS","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1763871427,"amount_paid":0}'); -INSERT INTO payments VALUES(23,21,'success','razorpay','21','order_RjAd65gFHGAF4g','{"id":"order_RjAd65gFHGAF4g","notes":{"customerOrderId":"21"},"amount":72200,"entity":"order","status":"created","receipt":"order_21","attempts":0,"currency":"INR","offer_id":null,"signature":"7f4ec6ff7361e0f2a5e0a27d409506fee107402f84d0c4ad86767d84fb6e75d0","amount_due":72200,"created_at":1763898478,"payment_id":"pay_RjAe9Zb7Si4j4o","amount_paid":0}'); -INSERT INTO payments VALUES(24,23,'success','razorpay','23','order_RjYovXkkXeehgQ','{"id":"order_RjYovXkkXeehgQ","notes":{"customerOrderId":"23"},"amount":22000,"entity":"order","status":"created","receipt":"order_23","attempts":0,"currency":"INR","offer_id":null,"signature":"099541f6002cc931b300141af765c194c016f07d89717c962667a743b8694c21","amount_due":22000,"created_at":1763983669,"payment_id":"pay_RjYtSlsBMHg07p","amount_paid":0}'); -INSERT INTO payments VALUES(25,25,'success','razorpay','25','order_Rjwkoef4xrIElJ','{"id":"order_Rjwkoef4xrIElJ","notes":{"customerOrderId":"25"},"amount":456000,"entity":"order","status":"created","receipt":"order_25","attempts":0,"currency":"INR","offer_id":null,"signature":"7c17e6edf771b124218cdc4ecaa4957bf4410c39a70d38e0c5610266e36aeb2c","amount_due":456000,"created_at":1764067954,"payment_id":"pay_RjwmIVh7dXngbZ","amount_paid":0}'); -INSERT INTO payments VALUES(26,26,'success','razorpay','26','order_RkkWFDKoRb26Wl','{"id":"order_RkkWFDKoRb26Wl","notes":{"customerOrderId":"26"},"amount":970240,"entity":"order","status":"created","receipt":"order_26","attempts":0,"currency":"INR","offer_id":null,"signature":"dfd2a9b63673d6fc1293c7206a14907a699d0da094c8e8a483cfaa75f76447fc","amount_due":970240,"created_at":1764243207,"payment_id":"pay_RkkWqcVVg01uW6","amount_paid":0}'); -INSERT INTO payments VALUES(27,30,'success','razorpay','30','order_RlPi7QaPW4b8Gw','{"id":"order_RlPi7QaPW4b8Gw","notes":{"customerOrderId":"30"},"amount":187000,"entity":"order","status":"created","receipt":"order_30","attempts":0,"currency":"INR","offer_id":null,"signature":"5e42cb3791ed3fb19b4d13f4c8a21f30de1f74ec5e0babf31510bb4249edd483","amount_due":187000,"created_at":1764388268,"payment_id":"pay_RlPjeb1hpjBIt6","amount_paid":0}'); -INSERT INTO payments VALUES(28,31,'failed','razorpay','31','order_RlPmA6xXh1YRDc','{"id":"order_RlPmA6xXh1YRDc","notes":{"customerOrderId":"31"},"amount":187000,"entity":"order","status":"created","receipt":"order_31","attempts":0,"currency":"INR","offer_id":null,"amount_due":187000,"created_at":1764388497,"amount_paid":0}'); -INSERT INTO payments VALUES(29,32,'failed','razorpay','32','order_RlPwSYB4XqfQB7','{"id":"order_RlPwSYB4XqfQB7","notes":{"customerOrderId":"32"},"amount":149600,"entity":"order","status":"created","receipt":"order_32","attempts":0,"currency":"INR","offer_id":null,"amount_due":149600,"created_at":1764389082,"amount_paid":0}'); -INSERT INTO payments VALUES(30,33,'success','razorpay','33','order_RlPyjETea6ty73','{"id":"order_RlPyjETea6ty73","notes":{"customerOrderId":"33"},"amount":56000,"entity":"order","status":"created","receipt":"order_33","attempts":0,"currency":"INR","offer_id":null,"signature":"e72f5ca9b95f1837861b5efc2f2289f9f556c908ba2a19cf85e1d545980eee7c","amount_due":56000,"created_at":1764389211,"payment_id":"pay_RlPzYBu93IT0Vi","amount_paid":0}'); -INSERT INTO payments VALUES(31,35,'failed','razorpay','35','order_RlQLPUSRDheMYA','{"id":"order_RlQLPUSRDheMYA","notes":{"customerOrderId":"35"},"amount":112000,"entity":"order","status":"created","receipt":"order_35","attempts":0,"currency":"INR","offer_id":null,"amount_due":112000,"created_at":1764390499,"amount_paid":0}'); -INSERT INTO payments VALUES(32,37,'failed','razorpay','37','order_RlQXT2rr7csMdO','{"id":"order_RlQXT2rr7csMdO","notes":{"customerOrderId":"37"},"amount":231000,"entity":"order","status":"created","receipt":"order_37","attempts":0,"currency":"INR","offer_id":null,"amount_due":231000,"created_at":1764391184,"amount_paid":0}'); -INSERT INTO payments VALUES(33,38,'failed','razorpay','38','order_RlQZ9Z4bHiEctz','{"id":"order_RlQZ9Z4bHiEctz","notes":{"customerOrderId":"38"},"amount":162000,"entity":"order","status":"created","receipt":"order_38","attempts":0,"currency":"INR","offer_id":null,"amount_due":162000,"created_at":1764391280,"amount_paid":0}'); -INSERT INTO payments VALUES(34,40,'failed','razorpay','40','order_RlQg7pdyZk07ev','{"id":"order_RlQg7pdyZk07ev","notes":{"customerOrderId":"40"},"amount":132000,"entity":"order","status":"created","receipt":"order_40","attempts":0,"currency":"INR","offer_id":null,"amount_due":132000,"created_at":1764391676,"amount_paid":0}'); -INSERT INTO payments VALUES(35,41,'pending','razorpay','41','order_RlQkq8lYf2blRm','{"id":"order_RlQkq8lYf2blRm","notes":{"customerOrderId":"41"},"amount":132000,"entity":"order","status":"created","receipt":"order_41","attempts":0,"currency":"INR","offer_id":null,"amount_due":132000,"created_at":1764391944,"amount_paid":0}'); -INSERT INTO payments VALUES(36,42,'pending','razorpay','42','order_RlQlwOKfGfD8Ew','{"id":"order_RlQlwOKfGfD8Ew","notes":{"customerOrderId":"42"},"amount":37600,"entity":"order","status":"created","receipt":"order_42","attempts":0,"currency":"INR","offer_id":null,"amount_due":37600,"created_at":1764392006,"amount_paid":0}'); -INSERT INTO payments VALUES(37,43,'pending','razorpay','43','order_RlQuu1EUfczKPN','{"id":"order_RlQuu1EUfczKPN","notes":{"customerOrderId":"43"},"amount":146400,"entity":"order","status":"created","receipt":"order_43","attempts":0,"currency":"INR","offer_id":null,"amount_due":146400,"created_at":1764392515,"amount_paid":0}'); -INSERT INTO payments VALUES(38,44,'pending','razorpay','44','order_RlQwWNsgADgxDz','{"id":"order_RlQwWNsgADgxDz","notes":{"customerOrderId":"44"},"amount":146400,"entity":"order","status":"created","receipt":"order_44","attempts":0,"currency":"INR","offer_id":null,"amount_due":146400,"created_at":1764392607,"amount_paid":0}'); -INSERT INTO payments VALUES(39,45,'pending','razorpay','45','order_RlQyTsabL2V16b','{"id":"order_RlQyTsabL2V16b","notes":{"customerOrderId":"45"},"amount":149600,"entity":"order","status":"created","receipt":"order_45","attempts":0,"currency":"INR","offer_id":null,"amount_due":149600,"created_at":1764392719,"amount_paid":0}'); -INSERT INTO payments VALUES(40,46,'pending','razorpay','46','order_RlR69lcxwqstb6','{"id":"order_RlR69lcxwqstb6","notes":{"customerOrderId":"46"},"amount":690400,"entity":"order","status":"created","receipt":"order_46","attempts":0,"currency":"INR","offer_id":null,"amount_due":690400,"created_at":1764393155,"amount_paid":0}'); -INSERT INTO payments VALUES(41,47,'pending','razorpay','47','order_RlS07mRZPryR3t','{"id":"order_RlS07mRZPryR3t","notes":{"customerOrderId":"47"},"amount":75200,"entity":"order","status":"created","receipt":"order_47","attempts":0,"currency":"INR","offer_id":null,"amount_due":75200,"created_at":1764396334,"amount_paid":0}'); -INSERT INTO payments VALUES(42,48,'failed','razorpay','48','order_RlSCsTHyNKuOhn','{"id":"order_RlSCsTHyNKuOhn","notes":{"customerOrderId":"48"},"amount":112200,"entity":"order","status":"created","receipt":"order_48","attempts":0,"currency":"INR","offer_id":null,"amount_due":112200,"created_at":1764397058,"amount_paid":0}'); -INSERT INTO payments VALUES(43,49,'success','razorpay','49','order_RlSHRuwHdMoUye','{"id":"order_RlSHRuwHdMoUye","notes":{"customerOrderId":"49"},"amount":315600,"entity":"order","status":"created","receipt":"order_49","attempts":0,"currency":"INR","offer_id":null,"signature":"7822497f6f5c8894b139e0565223a2d3c6fb5df298a4998f9979efbe474d24e6","amount_due":315600,"created_at":1764397318,"payment_id":"pay_RlSHwidHn91jay","amount_paid":0}'); -INSERT INTO payments VALUES(44,50,'success','razorpay','50','order_RlSWc4NJJ69f7V','{"id":"order_RlSWc4NJJ69f7V","notes":{"customerOrderId":"50"},"amount":468600,"entity":"order","status":"created","receipt":"order_50","attempts":0,"currency":"INR","offer_id":null,"signature":"839a9f6ccf1306ca400587567b80ef8865972855657e228126dfabecd65866e7","amount_due":468600,"created_at":1764398179,"payment_id":"pay_RlSX31RGtluYVh","amount_paid":0}'); -INSERT INTO payments VALUES(45,51,'success','razorpay','51','order_RlT6bwRhArlEkf','{"id":"order_RlT6bwRhArlEkf","notes":{"customerOrderId":"51"},"amount":25000,"entity":"order","status":"created","receipt":"order_51","attempts":0,"currency":"INR","offer_id":null,"signature":"59150ddcdd04d841a95e7e3a7d3f209b267e46ecfe2cf91b85c96eb977f9b026","amount_due":25000,"created_at":1764400224,"payment_id":"pay_RlT7JjVCrxXRHC","amount_paid":0}'); -INSERT INTO payments VALUES(46,52,'success','razorpay','52','order_RlTHrPLnw2EujN','{"id":"order_RlTHrPLnw2EujN","notes":{"customerOrderId":"52"},"amount":25000,"entity":"order","status":"created","receipt":"order_52","attempts":0,"currency":"INR","offer_id":null,"signature":"45d931069bf90287f48010decf24a9eba589909069ecb184f0bc8311105cb673","amount_due":25000,"created_at":1764400863,"payment_id":"pay_RlTIbvllphqQnW","amount_paid":0}'); -INSERT INTO payments VALUES(47,53,'success','razorpay','53','order_RlTOzxz8DaDOwf','{"id":"order_RlTOzxz8DaDOwf","notes":{"customerOrderId":"53"},"amount":40000,"entity":"order","status":"created","receipt":"order_53","attempts":0,"currency":"INR","offer_id":null,"signature":"5452ac1b6535e0348ff7f91eee9d597856cf32a9ec64dfc467e7d2b53e8fef95","amount_due":40000,"created_at":1764401268,"payment_id":"pay_RlTPeKJPkdLz7Z","amount_paid":0}'); -INSERT INTO payments VALUES(48,54,'success','razorpay','54','order_RlUTuqAZzfNeUv','{"id":"order_RlUTuqAZzfNeUv","notes":{"customerOrderId":"54"},"amount":285000,"entity":"order","status":"created","receipt":"order_54","attempts":0,"currency":"INR","offer_id":null,"signature":"724b5c2ca061a38dd2a8d21c43a2f7caf246936d628961d9739bbea1edffc4bd","amount_due":285000,"created_at":1764405069,"payment_id":"pay_RlUUaZfFUQu0bw","amount_paid":0}'); -INSERT INTO payments VALUES(49,19,'pending','razorpay','19','order_RpVxTzSti5nJlk','{"id":"order_RpVxTzSti5nJlk","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1765283630,"amount_paid":0}'); -INSERT INTO payments VALUES(50,19,'pending','razorpay','19','order_RpVxUPtLxk2htm','{"id":"order_RpVxUPtLxk2htm","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1765283631,"amount_paid":0}'); -INSERT INTO payments VALUES(51,56,'success','razorpay','56','order_RpxXVYjAZ9hKRs','{"id":"order_RpxXVYjAZ9hKRs","notes":{"customerOrderId":"56"},"amount":6400,"entity":"order","status":"created","receipt":"order_56","attempts":0,"currency":"INR","offer_id":null,"signature":"a0bf4ed36bfc2f29c3744374450dcfc516f7d59493102959fc2acb03d1bf09ab","amount_due":6400,"created_at":1765380760,"payment_id":"pay_RpxYgEbuw15e12","amount_paid":0}'); -INSERT INTO payments VALUES(52,57,'failed','razorpay','57','order_RpxZTOWJFF0sor','{"id":"order_RpxZTOWJFF0sor","notes":{"customerOrderId":"57"},"amount":7200,"entity":"order","status":"created","receipt":"order_57","attempts":0,"currency":"INR","offer_id":null,"amount_due":7200,"created_at":1765380872,"amount_paid":0}'); -INSERT INTO payments VALUES(53,57,'pending','razorpay','57','order_RpxaFYaBBoE3xA','{"id":"order_RpxaFYaBBoE3xA","notes":{"customerOrderId":"57"},"amount":7200,"entity":"order","status":"created","receipt":"order_57","attempts":0,"currency":"INR","offer_id":null,"amount_due":7200,"created_at":1765380916,"amount_paid":0}'); -INSERT INTO payments VALUES(54,46,'pending','razorpay','46','order_RrAdEPX05BXXGH','{"id":"order_RrAdEPX05BXXGH","notes":{"customerOrderId":"46"},"amount":112000,"entity":"order","status":"created","receipt":"order_46","attempts":0,"currency":"INR","offer_id":null,"amount_due":112000,"created_at":1765645206,"amount_paid":0}'); -INSERT INTO payments VALUES(55,63,'failed','razorpay','63','order_RrAdG1zzVqBNBX','{"id":"order_RrAdG1zzVqBNBX","notes":{"customerOrderId":"63"},"amount":112000,"entity":"order","status":"created","receipt":"order_63","attempts":0,"currency":"INR","offer_id":null,"amount_due":112000,"created_at":1765645208,"amount_paid":0}'); -INSERT INTO payments VALUES(56,47,'pending','razorpay','47','order_RrAePs61Rzlajz','{"id":"order_RrAePs61Rzlajz","notes":{"customerOrderId":"47"},"amount":112000,"entity":"order","status":"created","receipt":"order_47","attempts":0,"currency":"INR","offer_id":null,"amount_due":112000,"created_at":1765645274,"amount_paid":0}'); -INSERT INTO payments VALUES(57,64,'failed','razorpay','64','order_RrAeRKPcgCqCH5','{"id":"order_RrAeRKPcgCqCH5","notes":{"customerOrderId":"64"},"amount":42000,"entity":"order","status":"created","receipt":"order_64","attempts":0,"currency":"INR","offer_id":null,"amount_due":42000,"created_at":1765645275,"amount_paid":0}'); -INSERT INTO payments VALUES(58,64,'failed','razorpay','64','order_RrAeVlINAOaLMi','{"id":"order_RrAeVlINAOaLMi","notes":{"customerOrderId":"64"},"amount":42000,"entity":"order","status":"created","receipt":"order_64","attempts":0,"currency":"INR","offer_id":null,"amount_due":42000,"created_at":1765645279,"amount_paid":0}'); -INSERT INTO payments VALUES(59,19,'pending','razorpay','19','order_Rx3m1bvIbeGnQy','{"id":"order_Rx3m1bvIbeGnQy","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931095,"amount_paid":0}'); -INSERT INTO payments VALUES(60,19,'pending','razorpay','19','order_Rx3m23b4jndeAR','{"id":"order_Rx3m23b4jndeAR","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931096,"amount_paid":0}'); -INSERT INTO payments VALUES(61,19,'pending','razorpay','19','order_Rx3m2DF1gpeu8L','{"id":"order_Rx3m2DF1gpeu8L","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931096,"amount_paid":0}'); -CREATE TABLE IF NOT EXISTS "product_availability_schedules" ("id" INTEGER PRIMARY KEY, "time" TEXT NOT NULL, "schedule_name" TEXT NOT NULL, "action" TEXT NOT NULL, "product_ids" TEXT NOT NULL DEFAULT '[]', "group_ids" TEXT NOT NULL DEFAULT '[]', "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_updated" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_availability_schedules VALUES(1,'22:00','Demo schedule','in','[9,83,81,75,82,22,102,6,14,35,86,4,99,98]','[9,7]','2026-03-19T08:25:27.311Z','2026-03-19T08:25:27.311Z'); -INSERT INTO product_availability_schedules VALUES(3,'00:22','Test4','in','[50]','[]','2026-03-19T13:20:01.972Z','2026-03-19T13:20:01.972Z'); -INSERT INTO product_availability_schedules VALUES(4,'12:00','Mutton off','out','[6,14,35,86,4,99,98]','[7]','2026-03-20T11:27:20.629Z','2026-03-20T11:27:20.629Z'); -CREATE TABLE IF NOT EXISTS "product_categories" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "description" TEXT); -CREATE TABLE IF NOT EXISTS "product_group_info" ("id" INTEGER PRIMARY KEY, "group_name" TEXT NOT NULL, "description" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_group_info VALUES(1,'Vegetables','All Market Vegetables','2025-12-31T22:12:45.110Z'); -INSERT INTO product_group_info VALUES(2,'Chicken Items','All Chicken Items','2025-12-31T22:13:41.539Z'); -INSERT INTO product_group_info VALUES(3,'Fruits','All Fruits','2025-12-31T22:15:13.138Z'); -INSERT INTO product_group_info VALUES(5,'All Chicken items ','All chicken items only ','2026-01-25T08:24:51.769Z'); -INSERT INTO product_group_info VALUES(7,'All mutton items','All mutton items ','2026-01-25T08:32:15.938Z'); -INSERT INTO product_group_info VALUES(8,'All vegetables items ','All vegetables items ','2026-01-25T08:35:03.380Z'); -INSERT INTO product_group_info VALUES(9,'All fish ','All fish ','2026-01-25T08:57:31.702Z'); -INSERT INTO product_group_info VALUES(10,'All fruits items ','','2026-01-30T09:39:13.561Z'); -CREATE TABLE IF NOT EXISTS "product_group_membership" ("product_id" INTEGER NOT NULL, "group_id" INTEGER NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_group_membership VALUES(1,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(2,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(2,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(3,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(3,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(4,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(5,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(6,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(6,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(6,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(6,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(7,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(7,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(8,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(8,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(9,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(10,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(10,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(11,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(11,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(13,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(13,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(13,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(14,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(15,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(16,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(17,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(17,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(18,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(18,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(19,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(19,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(21,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(21,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(22,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(23,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(23,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(24,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(24,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(25,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(25,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(26,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(26,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(27,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(27,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(28,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(28,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(29,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(29,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(30,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(30,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(31,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(31,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(32,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(32,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(33,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(33,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(34,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(35,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(36,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(36,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(37,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(37,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(38,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(38,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(39,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(39,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(40,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(41,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(42,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(43,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(43,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(44,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(44,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(45,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(46,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(46,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(47,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(47,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(48,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(49,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(49,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(50,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(50,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(51,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(51,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(52,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(52,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(53,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(53,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(54,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(54,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(55,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(55,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(56,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(56,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(57,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(57,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(58,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(58,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(59,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(59,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(60,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(60,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(61,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(61,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(62,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(62,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(63,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(63,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(64,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(65,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(66,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(67,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(68,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(69,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(70,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(71,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(72,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(73,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(73,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(74,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(75,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(76,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(77,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(78,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(79,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(80,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(81,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(82,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(83,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(86,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(88,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(89,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(90,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(91,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(92,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(94,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(95,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(96,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(96,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(97,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(98,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(99,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(100,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(100,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(101,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(102,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(103,8,'2026-02-23T03:23:13.305Z'); -CREATE TABLE IF NOT EXISTS "product_info" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "short_description" TEXT, "long_description" TEXT, "unit_id" INTEGER NOT NULL, "price" REAL NOT NULL, "images" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_out_of_stock" INTEGER NOT NULL DEFAULT false, "market_price" REAL, "store_id" INTEGER, "is_suspended" INTEGER NOT NULL DEFAULT false, "increment_step" REAL NOT NULL DEFAULT 1, "is_flash_available" INTEGER NOT NULL DEFAULT false, "flash_price" REAL, "product_quantity" REAL NOT NULL DEFAULT 1, "scheduled_availability" INTEGER NOT NULL DEFAULT true); -INSERT INTO product_info VALUES(1,'Chicken Liver','Liver sourced from the farm hens.',replace('Bring home the deep, hearty taste of fresh Chicken Liver, sourced from healthy, farm-raised chickens. Each piece is carefully cleaned and handled with care to retain its natural richness, smooth texture, and vibrant color.\n\nPerfect for making creamy pâtés, spicy fry dishes, gravies, or traditional home-style recipes, our chicken liver delivers authentic flavor and exceptional freshness in every bite.','\n',char(10)),1,99.0,'["product-images/1768478127128-0","product-images/1768478472220-0"]','2025-11-18T08:06:27.505Z',0,110.0,1,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(2,'Chicken Breast 500 g','Farm Chicken Breast uncut and solid.',replace('Experience the rich taste of fresh, premium-quality chicken sourced directly from trusted farms. Each bird is carefully cleaned, processed hygienically, and delivered chilled to preserve its natural flavor, tenderness, and juiciness.\n\nWhether you''re preparing a hearty curry, roasting for a family meal, or grilling for a weekend cookout, our whole chicken offers consistent texture, rich aroma, and superior taste in every bite.','\n',char(10)),1,198.0,'["product-images/1768397780093-0","product-images/1768479562478-0"]','2025-11-18T08:32:49.003Z',0,220.0,1,0,1.0,1,230.0,0.5,1); -INSERT INTO product_info VALUES(3,'Chicken Lollipops','Chicken cut for lollipop starter dish',replace('Turn any meal into a celebration with our premium Chicken Lollipop Cuts, expertly carved from fresh chicken drumettes and wings. Each piece is shaped cleanly into the classic “lollipop” form—perfect for frying, grilling, or tossing in your favorite tangy sauces.\n\nEnjoy the ideal balance of meatiness, tenderness, and crunch potential, making it a must-have for home chefs, party hosts, and spice lovers alike.','\n',char(10)),1,76.0,'["product-images/1768475599800-0"]','2025-11-18T08:56:07.106Z',1,89.0,1,0,1.0,0,120.0,0.25,1); -INSERT INTO product_info VALUES(4,'Mutton','Fresh, tender mutton cut from quality goat meat, cleaned and prepared hygienically for rich taste and authentic curries.',replace('Our mutton is sourced from healthy, quality goats and cut fresh to ensure natural flavor and tenderness. Each piece is carefully cleaned and processed under hygienic conditions to retain its juiciness and traditional taste. Known for its deep, rich flavor, this mutton is ideal for curries, biryanis, gravies, roasts, and slow-cooked dishes. No chemicals, no preservatives—just pure mutton that cooks well, absorbs spices properly, and delivers the taste people actually expect from good meat.\n','\n',char(10)),1,819.0,'["product-images/1767636171845-0"]','2025-11-18T08:57:53.779Z',1,860.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(5,'Cucumber(Kheera)','High water content, helps hydration, and keeps the body cool.',replace('\nThis fresh cucumber is crisp, juicy, and mild in taste, making it perfect for everyday use. Carefully selected for firmness and freshness, it’s ideal for salads, raita, juices, and garnishing. With high water content and a clean, refreshing bite, cucumber is best enjoyed fresh and chilled.','\n',char(10)),1,26.0,'["product-images/1768710099841-0"]','2025-11-18T08:59:53.556Z',0,33.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(6,'Apple ( pack of 3) ','Kashmiri Apples',replace('These apples are fresh, firm, and crisp with a clean, naturally sweet flavor. Handpicked for quality and freshness, they’re ideal for everyday snacking, salads, or cooking. Simple, reliable fruit that fits easily into daily meals.\n','\n',char(10)),4,109.0,'["product-images/1768640936747-0"]','2025-11-18T09:02:29.167Z',1,120.0,2,0,1.0,1,NULL,3.0,1); -INSERT INTO product_info VALUES(7,'Banana','Fresh bananas with a naturally sweet taste and soft, creamy texture.','Bananas supporting heart health through potassium, improving digestion with fiber, and providing an energy boost from carbohydrates. ',3,49.0,'["product-images/1768640009078-0"]','2025-11-22T01:37:58.613Z',0,60.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(8,'Kiwi','Fresh kiwis with sweet-tart flavor, juicy green flesh, and edible seeds.','Kiwi is rich in Vitamin C, which boosts immunity and keeps the body strong. It also has fiber that helps in digestion and keeps the stomach healthy. Eating kiwi improves skin glow and supports heart health.',4,119.0,'["product-images/1768647119198-0"]','2025-11-22T01:49:17.573Z',0,130.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(9,'Apollo Fish',replace('Boneless\nFresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.','\n',char(10)),'Fresh sea-caught tuna fish with firm texture and rich flavor. Widely used for curries, steaks, grilling, and shallow frying. Naturally high in protein and omega-3 fatty acids, supporting muscle health and heart health. Cleaned and cut hygienically to retain freshness and taste.',1,296.0,'["product-images/1768832690994-0"]','2025-11-22T22:17:08.582Z',0,340.0,1,0,1.0,0,355.0,0.7,1); -INSERT INTO product_info VALUES(10,'Chicken leg piece ','6 pieces ','Fresh, meaty leg pieces with rich flavor and soft texture. Ideal for tandoori, BBQ, and home-style recipes.',4,249.0,'["product-images/1768390245969-0"]','2025-11-22T22:28:25.741Z',0,269.0,1,0,1.0,1,270.0,6.0,1); -INSERT INTO product_info VALUES(11,'Nagpur orange (pack 5)','Fresh oranges with juicy, sweet-tangy flesh and a refreshing citrus taste.','These oranges have a naturally juicy interior with a balanced sweet and tangy flavor. Though green on the outside, the flesh inside is bright, fresh, and full of citrus goodness. Ideal for everyday eating, fresh juice, or adding a refreshing twist to meals.',4,119.0,'["product-images/1768641635898-0"]','2025-11-22T22:30:28.878Z',0,150.0,2,0,1.0,1,150.0,5.0,1); -INSERT INTO product_info VALUES(12,'Lamb Mutton','','"Indulge in the rich, savory experience of our premium mutton. Sourced from the finest cuts, our muttons offers unparalleled tenderness and flavor. Whether you''re grilling a juicy steak, slow-cooking a tender roast, or creating a hearty stew, our mutton is the perfect choice for any culinary creation. Experience the difference quality makes – savor every delicious bite."',1,850.0,'["product-images/1764500702143-0","product-images/1764500702144-1"]','2025-11-30T05:35:04.520Z',1,870.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(13,'Amla (Gooseberry)','Fresh amla with a tangy, slightly sour taste and firm texture.','These fresh amlas are firm, tangy, and packed with natural goodness. Carefully selected for size and freshness, they’re perfect for eating raw, making juice, pickles, or adding to traditional recipes. A healthy fruit full of Vitamin C, with a natural bite and authentic flavor.',1,69.0,'["product-images/1768641988607-0"]','2025-11-30T05:46:29.900Z',0,79.0,2,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(14,'Mutton Boti (Goat Intestines)','Fresh mutton boti, rich in protein and iron, ideal for traditional curries and spicy dishes.','Freshly cleaned mutton boti sourced from healthy goats. Carefully washed and prepared for cooking traditional recipes like boti curry and spicy gravies. Rich in protein and iron, commonly used in regional cuisines. Cleaned hygienically and packed fresh.',1,389.0,'["product-images/1768834170995-0"]','2025-12-04T22:10:55.354Z',1,400.0,1,0,1.0,0,420.0,1.0,1); -INSERT INTO product_info VALUES(15,'Chicken Gizard','Fresh, cleaned chicken gizzards with a rich, meaty texture-ideal for curries, fry recipes, and traditional dishes.','Chicken gizzard is a flavorful and nutrient-rich cut known for its firm texture and deep taste. Carefully cleaned and hygienically packed, our gizzards are sourced fresh to ensure quality and freshness. Perfect for slow-cooked curries, spicy fries, stir-fries, and regional delicacies, chicken gizzard absorbs spices beautifully and delivers a hearty bite in every dish.',1,210.0,'["product-images/1768477813647-0","product-images/1768477813648-1"]','2025-12-06T12:35:43.241Z',1,250.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(16,'Arvi (Arbi) – Colocasia Root','Fresh arvi with soft texture when cooked, ideal for curries, fries, and dry sabzi.','Arvi, also known as colocasia or taro root, is a popular root vegetable used in many Indian dishes. When cooked properly, it becomes soft and creamy with a mildly nutty flavour. Arvi is commonly used in dry sabzis, gravies, and fried preparations. It absorbs spices well and pairs perfectly with both mild and spicy masalas. Naturally rich in dietary fiber and essential nutrients, arvi supports digestion and provides long-lasting energy. Freshly sourced and cleaned to ensure quality and taste. Must be washed and cooked thoroughly before consumption.',1,28.0,'["product-images/1769397372526-0"]','2025-12-12T03:09:59.286Z',0,33.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(17,'Tomato ','Healthy, tasty, and fresh tomatoes','Fresh, red, and juicy tomatoes to make your meals healthier and tastier.',1,28.0,'["product-images/1768640233068-0"]','2025-12-18T02:22:23.436Z',1,35.0,4,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(18,'Onions ','Fresh and flavorful onions for everyday cooking.','Healthy, fresh onions at the best quality and price',1,44.0,'["product-images/1769351976737-0"]','2025-12-18T03:37:08.849Z',0,48.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(19,'Potato','Fresh, healthy potatoes perfect for every dish.','A versatile vegetable every kitchen needs.',1,23.0,'["product-images/1768639707515-0"]','2025-12-18T03:40:28.496Z',0,29.0,4,0,1.0,1,50.0,0.5,1); -INSERT INTO product_info VALUES(20,'Mutton Head','Fresh mutton head rich in protein and collagen, ideal for traditional curries and soups.','Freshly sourced goat head, commonly used in traditional dishes and slow-cooked recipes. Contains head meat (sira) and bones that release rich flavor and collagen when cooked slowly. Popular in regional cuisines for its taste and nourishment. Cleaned thoroughly and packed hygienically.',4,379.0,'["product-images/1769353802270-0"]','2025-12-19T03:42:31.946Z',0,400.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(21,'Whole chicken - fresh cut','Fresh, tender whole chicken cleaned and cut hygienically for rich taste and high protein meals.','Our Whole Chicken is farm-fresh, carefully cleaned, and hygienically processed to lock in natural tenderness and flavor. Rich in protein and essential nutrients, it''s perfect for curries, roasting, grilling, or slow cooking. Delivered fresh to your doorstep, ensuring quality, taste, and nutrition in every bite.',1,559.0,'["product-images/1768539930897-0","product-images/1768539930899-1"]','2025-12-19T03:45:54.143Z',0,620.0,1,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(22,'Tuna Fish boneless ','Fresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.',replace('Fresh sea-caught tuna with firm texture and rich flavor. Suitable for curry preparations, steaks, grilling, and shallow frying. Naturally high in protein and omega-3 fatty acids, supporting muscle and heart health. Cleaned and cut hygienically to retain freshness.\nBrutal truth','\n',char(10)),1,469.0,'["product-images/1768834996932-0"]','2025-12-19T03:53:12.867Z',0,529.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(23,'Chicken ( regular cut )- Small pieces ','Fresh, bone-in chicken pieces ideal for making rich and flavorful curries.','Freshly cut, bone-in chicken pieces perfect for rich, flavorful curries. Cleaned and hygienically packed to lock in tenderness and taste for a delicious home-style meal every time.',1,140.0,'["product-images/1767635527063-0"]','2025-12-19T03:53:53.748Z',1,160.0,1,0,1.0,1,149.0,0.5,1); -INSERT INTO product_info VALUES(24,'Chicken boneless','Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.','Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.',1,198.0,'["product-images/1768484106870-0"]','2025-12-19T03:59:46.418Z',0,220.0,1,0,1.0,1,230.0,0.5,1); -INSERT INTO product_info VALUES(25,'White Dragon Fruit','Fresh white dragon fruit with mild sweetness and soft, juicy flesh.','This white dragon fruit is fresh, mildly sweet, and refreshing with soft white flesh and tiny edible seeds. Carefully selected for size and freshness, it’s ideal for eating fresh, adding to fruit bowls, or blending into smoothies. Light on taste, easy to digest, and perfect for everyday healthy eating.',4,119.0,'["product-images/1768649838027-0"]','2025-12-19T07:39:11.874Z',0,130.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(26,'Fig (Anjeer)','Fresh fig with a soft flesh and mild, naturally sweet flavor.','These fresh figs are soft, juicy, and mildly sweet with a delicate texture. Carefully selected to avoid overripeness, they’re best enjoyed fresh or paired with desserts and salads. A premium fruit meant to be eaten gently and enjoyed slowly.',1,78.0,'["product-images/1768640645444-0"]','2025-12-22T05:34:50.001Z',1,94.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(27,'Brinjal ','Fresh medium-sized brinjal, rich in fiber, low in calories, and ideal for everyday curries and fries.','Freshly harvested brinjal with smooth skin and tender flesh. Mild in taste and versatile in cooking, it is commonly used in curries, stir-fries, bharta, and gravies. Naturally rich in fiber and antioxidants, making it suitable for regular home cooking. Washed and packed hygienically.',1,24.0,'["product-images/1768639645423-0"]','2025-12-22T06:01:30.466Z',0,30.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(28,'Mutton Boneless ','Tender boneless mutton rich in protein, ideal for quick curries, fry, and kebabs.','Freshly cut boneless mutton pieces with minimal fat and strong natural flavour. Suitable for fast-cooking dishes such as gravies, stir-fries, kebabs, and biryani. High in protein and essential minerals, supporting strength and energy. Cleaned and packed hygienically to ensure freshness and quality.',1,855.0,'["product-images/1769356702593-0"]','2025-12-22T06:14:24.499Z',1,879.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(29,' Bottle Gourd (Lauki)','Fresh medium-sized bottle gourd, low in calories, high in water content, easy to digest, and ideal for healthy everyday cooking.','Fresh bottle gourd with smooth green skin and soft, tender flesh. Light in taste and easy to digest, it is widely used in Indian home cooking for curries, dals, soups, and juices. Naturally low in calories and rich in water content, making it suitable for daily meals. Handpicked for freshness and packed hygienically.',4,29.0,'["product-images/1768823985921-0"]','2025-12-22T06:15:31.316Z',0,32.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(30,' Bitter Gourd (Karela)','Fresh bitter gourd, known to help control blood sugar and support digestion.','Fresh bitter gourd with firm texture and deep green color. Widely used in Indian cooking for stir-fries, curries, and juices. Naturally low in calories and rich in fiber, vitamins, and antioxidants. Commonly consumed for its potential benefits in blood sugar management and digestion. Wash thoroughly before use.',1,34.0,'["product-images/1768726783083-0"]','2025-12-22T06:16:16.981Z',0,42.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(31,'Lady Finger (Okra / Bhindi)','Fresh tender lady finger, soft and non-fibrous, ideal for fries and curries.','Lady finger, also known as okra or bhindi, is a popular vegetable used in everyday Indian cooking. Tender lady finger has a soft texture and mild flavour, making it perfect for fries, stir-fries, curries, and gravies. When fresh, it cooks evenly without becoming too sticky. Rich in dietary fiber, vitamins, and antioxidants, it supports digestion and overall health. Carefully sourced and packed to maintain freshness and tenderness. Wash well and trim the ends before cooking.',1,29.0,'["product-images/1769574792720-0"]','2025-12-22T06:17:07.804Z',0,34.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(32,'Lemons ','Farm-fresh lemons with high juice content and natural tangy flavor. Perfect for daily cooking, juices, and salads.','Fresh, handpicked lemons known for their strong aroma, thin skin, and high juice yield. Ideal for nimbu pani, curries, marinades, chutneys, and garnishing. Carefully selected to ensure firmness, freshness, and bright yellow color. Stored and delivered with proper care to maintain natural taste and quality.',4,29.0,'["product-images/1766406273176-0","product-images/1766406273178-1"]','2025-12-22T06:54:35.209Z',0,36.0,4,0,1.0,1,NULL,6.0,1); -INSERT INTO product_info VALUES(33,'Small Methi / Baby Fenugreek Leaves','Fresh small methi leaves with a mild bitterness, perfect for everyday cooking and quick stir-fries.','Small methi, also known as baby fenugreek leaves, is a tender and flavorful leafy vegetable widely used in Indian kitchens. Compared to regular methi, these leaves are smaller, softer, and less bitter, making them ideal for curries, dal, parathas, and simple stir-fries. They cook quickly and blend well with spices without overpowering the dish. Small methi is naturally rich in fiber, iron, and essential nutrients that support digestion and overall health. Carefully cleaned and freshly sourced, these leaves bring authentic taste and freshness to your daily meals.',4,15.0,'["product-images/1769396046557-0"]','2025-12-22T06:55:49.838Z',0,20.0,4,0,1.0,0,NULL,8.0,1); -INSERT INTO product_info VALUES(34,' Mutton Boneless – Mini Pack','Tender boneless mutton, high in protein, easy to cook, ideal for quick curries and fry.','Freshly cut boneless mutton pieces with minimal fat, perfect for quick cooking dishes like stir-fries, gravies, and kebabs. High in protein and rich in flavor, this mini pack is ideal for small families or single meals. Cleaned and packed hygienically to ensure freshness.',1,465.0,'["product-images/1769356039418-0"]','2025-12-22T06:56:25.537Z',1,489.0,1,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(35,'Mutton kheema','Freshly minced premium mutton, finely ground for rich flavor and juicy texture—perfect for kebabs, keema curry, cutlets, and stuffing.','Our mutton mince is prepared from carefully selected fresh cuts, hygienically cleaned and finely minced to deliver bold, authentic flavor in every bite. It has the ideal fat balance to stay juicy while cooking, making it suitable for keema curry, seekh kebabs, koftas, samosas, and stuffed parathas. No additives, no preservatives—just pure, high-quality mutton processed under strict hygiene standards for consistent taste, texture, and freshness.',1,429.0,'["product-images/1767636561867-0"]','2025-12-24T22:43:30.811Z',1,450.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(36,'Chicken Leg With Thigh Pack of 3','Fresh chicken leg with thigh, cut from tender, juicy chicken. Rich in flavor, naturally succulent, and ideal for frying, roasting, grilling, and curries.',replace('Chicken leg with thigh is a flavorful cut taken from the lower and upper leg portion of the chicken, known for its juicy texture and rich taste. This cut retains moisture during cooking, making it perfect for deep frying, tandoori, grilling, roasting, and slow-cooked curries. Hygienically cleaned and neatly cut to ensure freshness and quality. High in protein and full of natural flavor, it delivers a satisfying, tender bite in every dish.\nIf this is for a premium app, we can refine the tone.\nIf it’s for mass-market, this is already more than enough.\nStop being unclear—next time, say where it will be used.','\n',char(10)),1,266.0,'["product-images/1768413754684-0"]','2025-12-24T22:44:23.272Z',0,280.0,1,0,1.0,1,280.0,1.0,1); -INSERT INTO product_info VALUES(37,'Drum sticks ','Rich in fiber, vitamins, supports digestion.','Fresh, tender moringa pods used in sambar, curries, and stir-fries.',4,79.0,'["product-images/1766636589779-0"]','2025-12-24T22:53:10.791Z',0,89.0,4,0,1.0,0,NULL,6.0,1); -INSERT INTO product_info VALUES(38,'Sapota (Chikoo)','Fresh sapota with a soft texture and naturally sweet, malty flavor.','This sapota is fresh, ripe, and naturally sweet with a soft, grainy texture. Selected for good ripeness and flavor, it’s perfect for eating as it is or adding to desserts and milkshakes. A classic fruit with a rich taste and satisfying bite.',1,76.0,'["product-images/1768640403001-0"]','2025-12-24T22:53:56.874Z',1,85.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(39,'Mango','Fresh seasonal mangoes with juicy flesh and natural sweetness.','These mangoes are fresh, ripe, and full of natural sweetness with juicy, flavorful flesh. Carefully selected for ripeness and quality, they’re perfect for eating fresh, making juices, smoothies, or desserts. A seasonal favorite that brings rich taste and aroma to every bite.',1,149.0,'["product-images/1768650081183-0"]','2025-12-24T22:55:16.935Z',1,169.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(40,'Chicken (regular cut) Large pieces ','Fresh chicken curry cut with large pieces, high in protein and ideal for rich gravies and slow cooking.','Fresh broiler chicken cut into large curry-sized pieces for hearty home-style cooking. Ideal for slow-cooked curries, biryanis, and gravies where bigger pieces retain juiciness and flavor. High in protein and prepared hygienically to ensure freshness and quality.',1,133.0,'["product-images/1767637606890-0"]','2026-01-05T12:56:48.180Z',0,145.0,1,0,1.0,1,150.0,0.5,1); -INSERT INTO product_info VALUES(41,'Chicken mince/kheema 500 g','Fresh, lean chicken mince made from premium chicken meat. Finely ground, high in protein, low in fat—perfect for kebabs, cutlets, burgers, curries, and wraps.',replace('Our chicken mince is prepared from carefully selected, fresh chicken meat and finely ground to achieve a smooth, consistent texture. It is naturally lean, rich in high-quality protein, and free from added preservatives, fillers, or artificial colors.\nThis mince cooks quickly and absorbs spices exceptionally well, making it ideal for a wide range of dishes—from juicy kebabs, patties, and meatballs to flavorful curries, stuffed parathas, and wraps. Every batch is hygienically processed and packed to retain freshness, flavor, and nutritional value.\nIf you’re serious about clean eating, muscle-friendly meals, or simply better taste, this chicken mince does the job without compromises.','\n',char(10)),1,189.0,'["product-images/1768307047191-0"]','2026-01-13T06:54:08.959Z',0,200.0,1,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(42,'Chicken Breast Boneless - Mini Pack','Fresh boneless chicken breast mini pack. Lean, tender, and high in protein—perfect for quick meals, salads, grilling, and stir-fries.','Our boneless chicken breast mini pack is made from premium, skinless chicken breast, carefully trimmed and hygienically processed. This cut is lean, low in fat, and rich in protein, making it ideal for healthy cooking. The mini pack size is perfect for small households or single meals, ensuring minimal waste and maximum freshness. Suitable for grilling, pan-frying, boiling, salads, wraps, and meal prep recipes. Free from added preservatives and artificial colors.',1,139.0,'["product-images/1768393778962-0"]','2026-01-14T06:59:39.928Z',0,150.0,1,0,1.0,1,160.0,0.25,1); -INSERT INTO product_info VALUES(43,'Strawberry ','Fresh, juicy strawberries with a natural sweetness and soft bite. Handpicked for vibrant color, rich aroma, and everyday freshness.','Bright red, naturally sweet, and bursting with juice — these strawberries are selected at peak ripeness for their bold flavor and smooth texture. Perfect for desserts, smoothies, or eating straight from the box.',1,135.0,'["product-images/1768638795991-0"]','2026-01-17T03:03:16.953Z',1,160.0,2,0,1.0,0,NULL,0.2,1); -INSERT INTO product_info VALUES(44,'Kinu Oranges (pack of 5)','Fresh, juicy oranges with a natural balance of sweetness and tang. Perfect for snacking or fresh juice.','These oranges are naturally juicy, refreshing, and full of real citrus flavor. Grown and picked at the right time, they have a firm peel, bright color, and a sweet-tangy taste inside. Ideal for everyday eating, fresh juice, or adding a fresh citrus touch to your meals.',4,119.0,'["product-images/1768639090932-0"]','2026-01-17T03:08:11.731Z',0,130.0,2,0,1.0,1,NULL,5.0,1); -INSERT INTO product_info VALUES(45,replace('Tomato\n','\n',char(10)),replace('Indian Tomato\n\nJuicy, tangy & ideal for all Indian curries\n500 g','\n',char(10)),'',1,19.0,'["product-images/1768639292540-0"]','2026-01-17T03:11:32.838Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(46,'Pomegranate ','Fresh pomegranate with deep red seeds and a naturally sweet-tangy taste.','This pomegranate is fresh, juicy, and full of vibrant red seeds with a balanced sweet and slightly tangy flavor. Carefully selected for firmness and freshness, it’s perfect for eating on its own, adding to salads, or using in fresh juice. No artificial shine — just real fruit with real taste.',4,109.0,'["product-images/1768639705530-0"]','2026-01-17T03:18:26.329Z',0,130.0,2,0,1.0,1,NULL,3.0,1); -INSERT INTO product_info VALUES(47,'Green Apple (pack 2) ','Crisp green apples with a tangy-sweet taste and firm, juicy texture.','These green apples are fresh, firm, and naturally crisp with a tangy-sweet flavor. Handpicked for quality and freshness, they’re perfect for snacking, making salads, or juicing. A refreshing fruit that adds a burst of natural flavor to any meal or snack.',4,119.0,'["product-images/1768642455479-0"]','2026-01-17T04:04:16.269Z',0,130.0,2,0,1.0,1,NULL,2.0,1); -INSERT INTO product_info VALUES(48,'Guava (Jama Kaya)','Fresh guavas with a sweet-tangy flavor and crisp, juicy texture.','These guavas are fresh, firm, and packed with natural sweetness and tang. Carefully selected for ripeness and flavor, they’re perfect for eating raw, adding to salads, or making juice. A nutritious fruit that’s rich in vitamins and refreshing in every bite.',1,55.0,'["product-images/1768642724520-0"]','2026-01-17T04:08:44.824Z',0,68.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(49,'Pear','Fresh pears with soft, juicy texture and a naturally sweet flavor.','These fresh pears are firm yet tender, naturally juicy, and mildly sweet. Handpicked for quality and ripeness, they’re perfect for eating as-is, adding to fruit salads, or using in desserts. A refreshing fruit that balances sweetness and softness in every bite.',4,119.0,'["product-images/1768643138910-0"]','2026-01-17T04:15:39.802Z',1,159.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(50,'Alu Bukhara (Plum / Prunes)','Fresh plums (Alu Bukhara) with a juicy, sweet‑tart flavor, perfect for snacking or making chutneys and juices.','Alu Bukhara refers to ripe plums with rich, juicy flesh and a natural sweet‑tart taste. These plums are refreshing and flavorful, great for eating fresh or using in chutneys, jams, and traditional dishes. When dried, they’re also known as prunes — a nutritious, fiber‑rich snack with long shelf life. Packed with vitamins and antioxidants, they’re a wholesome addition to your fruit selection. ',4,119.0,'["product-images/1768643354251-0"]','2026-01-17T04:19:14.555Z',0,128.0,2,0,1.0,0,NULL,4.0,1); -INSERT INTO product_info VALUES(51,'Shahtoot (Mulberry)','Fresh mulberries with a naturally sweet flavor and juicy, soft texture.','These fresh mulberries are ripe, juicy, and naturally sweet with a delicate texture. Perfect for snacking, smoothies, desserts, or topping cereals and salads. Carefully selected for freshness and flavor, mulberries are also packed with vitamins and antioxidants, making them a healthy and delicious choice.',1,169.0,'["product-images/1768646295695-0"]','2026-01-17T05:08:16.491Z',1,180.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(52,'Sugarcane','Fresh sugarcane stalks with natural sweetness, juicy and perfect for chewing or juice extraction.','These sugarcane stalks are fresh, juicy, and naturally sweet. Perfect for chewing directly or extracting fresh sugarcane juice at home. Carefully selected for quality and ripeness, sugarcane provides a refreshing, natural source of energy and flavor.',4,29.0,'["product-images/1768646744949-0"]','2026-01-17T05:15:45.254Z',1,40.0,2,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(53,'Hass Avocado','Creamy Hass avocados with rich, buttery texture and mild, nutty flavor.','Hass avocados are known for their distinct creamy texture and mild, nutty flavor. With thick, bumpy skin that darkens as it ripens, these avocados offer smooth, rich green flesh perfect for salads, smoothies, sandwiches, or spreads like guacamole. Packed with healthy fats, fiber, and essential vitamins, they’re a nutritious addition to any diet. Treat them gently and ripen at room temperature for best taste and texture.',4,239.0,'["product-images/1768646932088-0"]','2026-01-17T05:18:52.342Z',0,250.0,2,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(54,'Blueberry','Fresh blueberries with a sweet-tart flavor, juicy texture, and rich purple color.','These fresh blueberries are plump, juicy, and naturally sweet-tart with deep purple color. Perfect for snacking, adding to cereals, desserts, or smoothies. Packed with antioxidants, vitamins, and flavor, blueberries are a nutritious and premium fruit choice. Handle carefully as they’re delicate and perishable.',1,280.0,'["product-images/1768649454994-0"]','2026-01-17T06:00:55.308Z',0,310.0,2,0,1.0,0,NULL,0.15,1); -INSERT INTO product_info VALUES(55,'Muscat Grapes','Fresh seasonal mangoes with juicy flesh and natural sweetness.','These mangoes are fresh, ripe, and full of natural sweetness with juicy, flavorful flesh. Carefully selected for ripeness and quality, they’re perfect for eating fresh, making juices, smoothies, or desserts. A seasonal favorite that brings rich taste and aroma to every bite.',1,69.0,'["product-images/1768650709484-0"]','2026-01-17T06:21:49.844Z',1,80.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(56,'Muskmelon (Kharbuja)','For bigger-sized muskmelon, choose the 1 kg option.','This fresh muskmelon (kharbuja) has a naturally sweet aroma and soft, juicy orange flesh. Carefully selected for ripeness, it’s refreshing, hydrating, and perfect for eating fresh, fruit salads, or summer juices. Best enjoyed chilled for maximum sweetness and flavor.',1,67.0,'["product-images/1768651334320-0"]','2026-01-17T06:32:14.675Z',0,72.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(57,'Pineapple','Note: This is a medium-size pineapple.','This fresh pineapple is naturally juicy with a sweet and slightly tangy flavor. Selected for ripeness and freshness, it’s perfect for eating fresh, juices, salads, and desserts. Best enjoyed chilled for maximum taste.',4,59.0,'["product-images/1768651774899-0"]','2026-01-17T06:39:35.228Z',1,69.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(58,'Papaya','Note: This is a medium-size papaya.','This fresh papaya is naturally soft, mildly sweet, and easy to digest. Carefully selected for ripeness, it’s ideal for eating fresh, fruit bowls, smoothies, or breakfast plates. Best consumed ripe for smooth texture and better taste.',4,59.0,'["product-images/1768652061701-0"]','2026-01-17T06:44:22.034Z',0,75.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(59,'Watermelon','Add 1kg if you want watermelon in big size','This fresh watermelon has bright red, juicy flesh with natural sweetness and high water content. Perfect for summer refreshment, fruit salads, juices, or eating chilled. Carefully selected for freshness and firmness.',1,98.0,'["product-images/1768653009851-0"]','2026-01-17T07:00:10.168Z',0,110.0,2,0,1.0,1,NULL,2.5,1); -INSERT INTO product_info VALUES(60,'Green Grapes','Supports immunity, provides natural energy, and is rich in antioxidants.','These fresh green grapes are handpicked for firm texture and sweet, juicy flavor. Perfect for snacking, fruit salads, juices, or desserts, they’re packed with vitamins and antioxidants. Carefully stored to maintain freshness from farm to table.',1,78.0,'["product-images/1768653997561-0"]','2026-01-17T07:16:37.967Z',0,90.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(61,'Red Globe Grapes','High in antioxidants, supports immunity, and provides natural energy. Seeded','These Red Globe grapes are large, plump, and naturally sweet with firm, juicy flesh. Carefully selected for size and freshness, they’re perfect for snacking, fruit salads, desserts, or making fresh juice. Packed with vitamins and antioxidants, Red Globe grapes are a healthy and premium choice for everyday consumption.',1,99.0,'["product-images/1768654475850-0"]','2026-01-17T07:24:36.247Z',0,119.0,2,0,1.0,1,NULL,0.25,1); -INSERT INTO product_info VALUES(62,'Black Grapes','Supports immunity, rich in antioxidants, and provides natural energy.','These black grapes are handpicked for firm texture, juiciness, and natural sweetness. Perfect for snacking, fruit salads, desserts, or making fresh juice. Rich in vitamins and antioxidants, they’re a healthy and refreshing fruit for everyday consumption.',1,78.0,'["product-images/1768654740988-0"]','2026-01-17T07:29:01.488Z',0,91.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(63,'Pink Dragon Fruit','Boosts immunity, rich in antioxidants, supports digestion, and provides natural energy.','This pink dragon fruit is fresh, juicy, and mildly sweet with soft flesh and tiny edible seeds. Carefully selected for ripeness and quality, it’s perfect for eating fresh, adding to fruit bowls, smoothies, or desserts. Exotic in appearance, nutritious, and rich in antioxidants.',4,269.0,'["product-images/1768658094891-0"]','2026-01-17T08:24:55.423Z',1,289.0,2,0,1.0,1,NULL,2.0,1); -INSERT INTO product_info VALUES(64,'Broccoli',replace('Note: This is a medium-size broccoli.\nRich in fiber and vitamins, supports digestion and overall nutrition.','\n',char(10)),'This fresh broccoli is crisp, green, and carefully selected for firmness and freshness. Ideal for stir-fries, salads, soups, or steaming. Mild in taste and versatile in cooking, it’s best used fresh for good texture and flavor.',1,59.0,'["product-images/1768709567040-0"]','2026-01-17T22:42:48.248Z',1,69.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(65,'Beetroot','Supports blood health, rich in fiber, and helps maintain energy levels.','This fresh beetroot is firm, clean, and naturally rich in color. Carefully selected for freshness, it’s ideal for cooking, salads, juices, and curries. Mildly sweet when cooked and earthy in flavor, beetroot is a versatile vegetable used in everyday meals.',1,28.0,'["product-images/1768710434326-0"]','2026-01-17T22:57:14.620Z',0,35.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(66,'Cabbage(Patta Gobhi)',replace('Note: This is a medium-size cabbage.\nRich in fiber, supports digestion, and low in calories.','\n',char(10)),'This fresh green cabbage is medium-sized, firm, and tightly packed with pale green leaves. It has a mild flavor and crunchy texture, making it ideal for curries, stir-fries, salads, soups, and fried snacks. Carefully selected for freshness and cleanliness, this cabbage is suitable for everyday cooking.',4,27.0,'["product-images/1768710760133-0"]','2026-01-17T23:02:40.448Z',0,35.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(67,'Cauliflower(Phool Gobhi)',replace('Note: This is a medium-size cauliflower.\nHigh in fiber and vitamin C, supports digestion and immunity.','\n',char(10)),'This fresh medium-sized cauliflower has compact, creamy-white florets and crisp green leaves. Carefully selected for firmness and freshness, it is ideal for curries, stir-fries, fried snacks, soups, and biryani-style dishes. Clean and naturally grown, suitable for daily home cooking.',4,28.0,'["product-images/1768711261174-0"]','2026-01-17T23:11:02.227Z',0,32.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(68,'Sweet Potato','High in fiber, supports digestion, and provides natural energy.','These medium-sized red sweet potatoes have smooth skin and pale, creamy flesh with a mildly sweet taste. Ideal for boiling, roasting, frying, and traditional Indian dishes, they cook evenly and remain soft inside. Carefully selected for freshness and quality, suitable for daily home cooking.',1,32.0,'["product-images/1768711919135-0"]','2026-01-17T23:21:59.416Z',0,34.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(69,'Carrot','Rich in vitamin A, supports eye health and immunity.','These fresh medium-sized carrots are firm, smooth-skinned, and bright in color. They have a crisp texture and mildly sweet taste, making them perfect for salads, curries, stir-fries, juices, and snacks. Carefully selected for freshness and quality, suitable for everyday cooking.',1,29.0,'["product-images/1768712093829-0"]','2026-01-17T23:24:54.154Z',0,35.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(70,'White Radish(Mooli)','Aids digestion, rich in fibre, supports gut health.','Fresh white radish (mullangi) is crisp, juicy, and naturally pungent with a refreshing bite. Ideal for sambar, curries, stir-fries, salads, and chutneys. Carefully sourced to ensure firmness, clean skin, and freshness for daily home cooking.',4,19.0,'["product-images/1768712490280-0"]','2026-01-17T23:31:30.647Z',0,25.0,4,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(71,replace('Curry Leaves(Karivepak)\n','\n',char(10)),replace('1 bunch\nAdds aroma, supports digestion, and enhances flavour in cooking.','\n',char(10)),'These fresh curry leaves are aromatic, clean, and deep green in colour. Carefully selected to enhance flavour, they are essential for tempering and everyday South Indian cooking. Best used fresh for maximum aroma and taste.',4,15.0,'["product-images/1768713206145-0"]','2026-01-17T23:43:26.487Z',0,22.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(72,'Spinach (Palak)','Rich in iron, supports blood health, and boosts immunity.','Fresh spinach (palak) leaves are medium-sized, crisp, and bright green. Carefully selected for freshness, they are ideal for curries, soups, smoothies, salads, and dals. Best consumed fresh to retain nutrients, flavor, and texture.',4,14.0,'["product-images/1768713537512-0"]','2026-01-17T23:48:57.829Z',0,19.0,4,0,1.0,1,NULL,7.0,1); -INSERT INTO product_info VALUES(73,'Coconut','Rich in natural electrolytes, supports hydration, and provides energy.','This fresh medium-sized coconut is carefully selected for quality and freshness. Ideal for drinking tender coconut water, making coconut milk, chutneys, desserts, or cooking. Naturally nutritious and rich in flavor, it’s perfect for daily home use.',4,59.0,'["product-images/1768718685357-0"]','2026-01-17T23:51:54.586Z',0,79.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(74,'Fenugreek Leaves(Methi)','Rich in vitamins, supports digestion, and enhances flavor in cooking.','These fresh fenugreek leaves (methi) are medium-sized, aromatic, and vibrant green. Carefully selected for freshness, they are ideal for curries, parathas, dals, and seasoning. Best used fresh to retain aroma, flavor, and nutritional value.',4,18.0,'["product-images/1768713886512-0"]','2026-01-17T23:54:47.138Z',0,25.0,4,0,1.0,0,NULL,10.0,1); -INSERT INTO product_info VALUES(75,'Murrel / Korameenu / కోరమీను - Live','Fresh murrel fish, high in protein, known for aiding recovery and boosting strength.',' Fresh freshwater murrel fish (snakehead) known for its firm flesh and rich taste. Highly valued in Indian households for its nutritional benefits, especially during recovery and post-illness diets. Rich in protein and essential nutrients. Ideal for curries and traditional preparations. Cleaned and packed hygienically to retain freshness.',1,489.0,'["product-images/1768817786453-0","product-images/1768817786455-1"]','2026-01-18T00:08:16.173Z',0,580.0,1,0,1.0,1,600.0,1.0,1); -INSERT INTO product_info VALUES(76,'Coriander Leaves (Kothimeer)','Fresh coriander leaves with a strong aroma, perfect for garnishing and cooking.','Freshly harvested coriander leaves with tender stems and vibrant green color. Widely used in Indian cooking for garnishing curries, chutneys, salads, and rice dishes. Adds a refreshing flavor and aroma to everyday meals. Wash thoroughly before use.',4,19.0,'["product-images/1768727264220-0"]','2026-01-18T03:37:45.047Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(77,'Gongura (Sorrel Leaves)','Fresh gongura leaves with a natural tangy taste, perfect for traditional Andhra dishes and chutneys.','Gongura, also known as sorrel leaves, is a popular leafy vegetable widely used in Andhra and Telangana cuisine. Known for its unique sour and refreshing flavour, gongura adds a distinctive taste to dals, curries, chutneys, and pickles. The leaves are tender and aromatic, making them ideal for both cooking and grinding. Naturally rich in iron, antioxidants, and essential vitamins, gongura supports digestion and overall health. Freshly sourced and carefully cleaned to retain its natural taste and quality. Wash thoroughly before use and cook fresh for the best flavour.',4,16.0,'["product-images/1769396724595-0"]','2026-01-18T08:56:30.867Z',0,19.0,4,0,1.0,0,NULL,6.0,1); -INSERT INTO product_info VALUES(78,'Green Chillies','Fresh green chillies rich in vitamin C, add heat and flavor to everyday cooking.',' Fresh green chillies with bright green color and firm texture. Commonly used in Indian cooking to add spice and aroma to curries, stir-fries, chutneys, and snacks. Naturally rich in vitamin C and antioxidants. Wash thoroughly before use. Packed fresh for daily kitchen needs.',1,29.0,'["product-images/1769241234003-0"]','2026-01-18T09:03:36.108Z',0,32.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(79,'Red Carrot ','Big-sized red carrots with natural sweetness, ideal for salads, juices, and cooking.','Fresh big-sized red carrots with deep red color and firm texture. Naturally sweet and juicy, these carrots are rich in beta-carotene, fiber, and antioxidants. Perfect for raw salads, juices, halwa, soups, and everyday cooking. Carefully selected for size and freshness, cleaned and packed hygienically.',1,39.0,'["product-images/1768822893380-0"]','2026-01-19T06:11:34.210Z',0,47.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(80,'Country Chicken (Desi / Natu Kodi)','Fresh country chicken, high in protein and rich in natural flavor, ideal for traditional slow-cooked dishes.','Freshly sourced country chicken known for its firm texture and strong taste. Preferred for traditional curries, soups, and slow-cooked recipes. Naturally high in protein and considered more nutritious than broiler chicken. Cleaned and cut hygienically for safe cooking.',1,849.0,'["product-images/1769063336125-0"]','2026-01-22T00:58:57.053Z',0,920.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(81,'Tigers prawns large ','Premium tiger prawns rich in protein and omega-3, ideal for grilling, frying, and special dishes.','Fresh premium tiger prawns known for their large size, firm texture, and rich taste. Perfect for grilling, frying, curries, and restaurant-style recipes. High in protein and omega-3 fatty acids, supporting muscle and heart health. Available cleaned or uncleaned and packed hygienically to maintain freshness.',1,669.0,'["product-images/1769063467386-0"]','2026-01-22T01:01:08.364Z',0,700.0,1,0,1.0,0,NULL,0.65,1); -INSERT INTO product_info VALUES(82,'Fresh Prawns – Medium (Cleaned & Deveined)','High in protein and omega-3, supports muscle growth and heart health.','Fresh prawns with firm texture and natural sweetness. Ideal for curries, fry, grills, and Asian-style dishes. Rich in protein and omega-3 fatty acids, supporting muscle and heart health. Available cleaned or uncleaned and packed hygienically to maintain freshness.',1,389.0,'["product-images/1769063660493-0"]','2026-01-22T01:04:21.712Z',0,419.0,1,0,1.0,0,NULL,0.65,1); -INSERT INTO product_info VALUES(83,'Rohu- రోహు live ','Fresh rohu fish rich in protein and omega-3, ideal for everyday curries and home cooking.','Freshwater rohu fish with soft texture and mild flavor, widely used in Indian households for daily meals. Suitable for curry preparations and light frying. Naturally rich in protein and omega-3 fatty acids, supporting muscle health and balanced nutrition. Cleaned and cut hygienically to ensure freshness and quality.',1,159.0,'["product-images/1769149204037-0"]','2026-01-23T00:50:05.311Z',0,180.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(84,'Mutton Brain (Bheja). మటన్ బ్రెయిన్ (భేజా)','Fresh mutton brain, rich in healthy fats and protein, ideal for traditional bheja fry and curries.','Freshly sourced mutton brain (bheja) from healthy goats. Known for its soft texture and rich taste, it is commonly used in traditional dishes like bheja fry and masala. Rich in healthy fats and nutrients. Cleaned carefully and packed hygienically to maintain freshness.',4,119.0,'["product-images/1769149707440-0"]','2026-01-23T00:56:40.140Z',0,130.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(85,'Mutton Paya (Goat Trotters)','Fresh mutton paya rich in collagen and minerals, ideal for nourishing paya soup.','Freshly cleaned mutton paya (goat trotters) commonly used to prepare traditional paya soup. When slow-cooked, paya releases natural collagen and minerals, making the soup rich, flavorful, and nourishing. Popular for strength recovery and home-style remedies. Cleaned thoroughly and packed hygienically for freshness.',4,259.0,'["product-images/1769150471654-0","product-images/1769150471655-1"]','2026-01-23T01:11:12.693Z',0,270.0,1,0,1.0,0,NULL,4.0,1); -INSERT INTO product_info VALUES(86,'Mutton Chops - మటన్ చాప్స్','Fresh mutton chops, rich in protein and iron, ideal for curries and slow cooking.','Fresh mutton chops cut from tender sections with bone, known for rich flavor and juiciness. Perfect for slow-cooked curries, gravies, and traditional dishes where bone enhances taste. High in protein and iron, supporting strength and energy. Cleaned and cut hygienically for freshness.',1,419.0,'["product-images/1769151216776-0"]','2026-01-23T01:23:37.665Z',1,440.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(87,'Mutton Soup Bones -మటన్ సూప్ ఎముకలు','Fresh mutton soup bones rich in collagen and minerals, ideal for nourishing soups and broths.',' Fresh mutton soup bones cut from healthy goat meat, perfect for preparing rich and flavorful soups and bone broths. Slowly cooked bones release natural collagen, minerals, and nutrients, making them ideal for strength recovery and traditional home remedies. Cleaned hygienically and packed fresh for daily cooking.',1,149.0,'["product-images/1769151844424-0"]','2026-01-23T01:34:05.440Z',0,179.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(88,'Purple Cabbage (Red Cabbage)',replace('Medium-sized purple cabbage\nFresh purple cabbage rich in antioxidants and fiber, supports digestion and immunity.','\n',char(10)),'Fresh purple (red) cabbage with crisp texture and vibrant color. Commonly used in salads, stir-fries, slaws, and garnishing. Naturally rich in antioxidants, fiber, and vitamin C, helping support digestion and overall health. Wash thoroughly before use. Packed fresh for daily cooking.',4,99.0,'["product-images/1769394457296-0"]','2026-01-25T20:57:37.763Z',0,110.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(89,'Light Purple Brinjal','Fresh light purple brinjal rich in fiber and antioxidants, ideal for curries and fries.','Fresh light purple brinjal with smooth skin and tender flesh, handpicked for everyday cooking. This variety cooks quickly and absorbs spices well, making it perfect for curries, fries, bharta, and stir-fried dishes. Mild in taste and easy to digest, it is a regular choice in Indian kitchens. Rich in fiber and antioxidants, it supports digestion and overall health. Wash thoroughly before use. Best used fresh for maximum taste and texture.',1,29.0,'["product-images/1769395184980-0"]','2026-01-25T21:09:46.227Z',0,40.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(90,'Indian Yellow Cucumber (Madras / Dosakai)','Fresh Indian yellow cucumber, also known as Madras cucumber, mild and crisp, perfect for salads, pickles, and cooking.','Indian yellow cucumber, also called Madras cucumber, is a rare and vibrant variety with tender yellow skin and crisp, juicy flesh. Favored in Indian kitchens, it is perfect for fresh salads, traditional pickles, or lightly cooked curries. Naturally rich in fiber, vitamins, and antioxidants, it promotes digestion and overall wellness. Carefully harvested and packed to retain freshness, this cucumber delivers mild sweetness and a refreshing crunch to everyday meals. Wash thoroughly before use and consume fresh for maximum taste.',1,27.0,'["product-images/1769398103853-0"]','2026-01-25T21:58:24.668Z',0,29.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(91,'Green Peas','Fresh green peas with natural sweetness, ideal for curries, pulao, and snacks.','Fresh green peas, carefully harvested for their sweetness, tenderness, and bright green color. Perfect for adding to Indian curries, pulao, stir-fries, soups, and snacks. Rich in protein, fiber, vitamins, and minerals, green peas support digestion and overall health. Available fresh or shelled for convenience, these peas are packed to retain their crisp texture and natural flavor. Wash thoroughly before use and cook fresh for the best taste.',1,39.0,'["product-images/1769398710713-0"]','2026-01-25T22:08:31.554Z',0,44.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(92,'French Beans (Chikkudukaya)','Fresh Benis with crisp texture, ideal for stir-fries, curries, and salads.','Fresh Benis, also known as French beans or cluster beans, are tender and crisp vegetables widely used in Indian cooking. Perfect for stir-fries, curries, and salads, these beans cook quickly and absorb spices well. Naturally rich in fiber, vitamins, and minerals, Benis supports digestion and overall wellness. Carefully handpicked and packed to retain freshness, these beans bring color, crunch, and nutrition to your daily meals. Wash thoroughly before cooking.',1,29.0,'["product-images/1769399617573-0"]','2026-01-25T22:23:38.391Z',0,32.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(93,'Red & Yellow Capsicum (Bell Peppers)','Fresh red and yellow capsicum with crisp texture and mild sweetness, perfect for cooking and salads.','Red and yellow capsicum, also known as bell peppers, are vibrant, crunchy vegetables with a naturally mild and slightly sweet flavour. Commonly used in stir-fries, curries, salads, and continental dishes, these capsicums add colour and nutrition to meals. Rich in vitamin C, antioxidants, and dietary fiber, they help support immunity and overall health. Carefully selected and packed to maintain freshness, firmness, and bright colour. Wash thoroughly and cut as required before use.',1,89.0,'["product-images/1769571126092-0"]','2026-01-27T22:02:07.050Z',0,96.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(94,'Gawar Beans (Cluster Beans)','Fresh tender gawar beans, ideal for stir-fries, curries, and traditional dishes.','Gawar beans, also known as cluster beans, are a traditional vegetable widely used in Indian cooking. These tender green pods have a slightly earthy flavour and firm texture, making them perfect for stir-fries, dry sabzis, curries, and dals. Rich in dietary fiber, vitamins, and minerals, gawar beans support digestion and help maintain blood sugar balance. Carefully sourced and packed to retain freshness, tenderness, and natural colour. Wash thoroughly, trim ends, and cook well before consumption.',1,29.0,'["product-images/1769571810861-0"]','2026-01-27T22:13:31.656Z',0,35.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(95,'Dondakaya (Ivy Gourd)','Fresh tender ivy gourd, ideal for fries, stir-fries, and curries.',replace('Long Description (human-written, not robotic)\nIvy gourd, commonly known as tindora or dondakaya, is a popular vegetable used in daily Indian cooking. These small green gourds have a mild taste and firm texture that works perfectly for shallow frying, stir-fries, and traditional curries. Tender ivy gourd cooks quickly and absorbs spices well without turning mushy. It is naturally low in calories and rich in fiber, making it suitable for light and healthy meals. Carefully selected to ensure freshness, uniform size, and good cooking quality.','\n',char(10)),1,39.0,'["product-images/1769571978680-0"]','2026-01-27T22:16:18.992Z',0,50.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(96,'Pineapple – Large','Large-sized fresh pineapple with juicy, sweet-tangy flesh.','This large pineapple is carefully selected for size and ripeness, offering juicy golden flesh with a naturally sweet and mildly tangy taste. Perfect for fresh juices, fruit salads, desserts, and cooking, it delivers more pulp and better value. Ideal for families or recipes that need a generous quantity of fresh pineapple.',4,109.0,'["product-images/1769576743718-0"]','2026-01-27T23:35:44.520Z',0,120.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(97,'Pudina (Mint Leaves)','Fresh aromatic mint leaves, ideal for chutneys, curries, and drinks.','Pudina, also known as mint leaves, is a fragrant herb widely used in Indian cooking. Its refreshing aroma and cooling taste make it perfect for chutneys, raitas, biryani, curries, and beverages like mint water and mojito. Carefully selected for freshness, these tender green leaves add both flavor and aroma to everyday dishes and are best used fresh.',4,19.0,'["product-images/1769577010969-0"]','2026-01-27T23:40:11.263Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(98,'Mutton Curry Cut (Regular)– 500 g','Fresh mutton curry cut with bone, suitable for everyday curries.','Mutton curry cut (regular) includes a balanced mix of bone and meat, making it ideal for everyday home-style curries and gravies. Cut from fresh goat meat, these pieces cook well in slow and pressure-cooked dishes, releasing rich flavour into the gravy. Cleaned and cut hygienically, this pack is suitable for regular family meals.',1,419.0,'["product-images/1770051810386-0"]','2026-02-02T11:33:31.411Z',1,459.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(99,'Mutton Curry Cut (Regular) – 750 g','Fresh mutton curry cut with bone, ideal for family-sized curries.','Mutton curry cut (regular) – 750 g includes a well-balanced mix of bone and meat, perfect for preparing rich and flavorful curries. Cut from fresh goat meat, these pieces are suitable for slow cooking and pressure cooking, allowing the meat to turn tender while enhancing the taste of the gravy. Cleaned and cut hygienically, this pack is ideal for medium to large family meals.',1,635.0,'["product-images/1770051959669-0"]','2026-02-02T11:36:00.205Z',1,660.0,1,0,1.0,0,NULL,0.75,1); -INSERT INTO product_info VALUES(100,'Irani Apple. Pack of (4)','Fresh Irani apples with crisp texture and mildly sweet taste.','Irani apples, also known as Iranian apples, are known for their firm texture, long shelf life, and mildly sweet flavor. These apples are crisp and juicy, making them suitable for fresh consumption, fruit salads, and juicing. Carefully selected for quality and freshness, Irani apples are a popular everyday fruit choice due to their balanced taste and good keeping quality. Wash thoroughly before consumption.',4,99.0,'["product-images/1770212631435-0"]','2026-02-04T08:13:52.295Z',0,119.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(101,'Coriander Leaves (Kothimeer) small 1 ','','',4,12.0,'["product-images/1771249922306-0"]','2026-02-16T08:22:03.573Z',0,15.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(102,' Basa Fish Fillets','','',1,499.0,'["product-images/1771411526889-0"]','2026-02-18T05:15:27.907Z',0,550.0,1,0,1.0,0,NULL,0.8,1); -INSERT INTO product_info VALUES(103,'Ridge Gourd (Turai) ..(Beerkaya)','','',1,29.0,'["product-images/1771647812442-0"]','2026-02-20T22:53:33.321Z',0,35.0,4,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(136,'Demo product','Demo product demo','Demo Product and just for fun description',1,222.0,'[]','2026-03-21T10:37:26.835Z',0,233.0,8,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(137,'Demo3','Demo3','Demo3',1,233.0,'["product-images/1774110996916.jpg","product-images/1774111917349.jpg","product-images/1774111977156.jpg"]','2026-03-21T10:39:54.216Z',0,233.0,1,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(138,'Demo4','Demo4','Demo4',1,233.0,'["product-images/1774109641982.jpg","product-images/1774109642211.jpg"]','2026-03-21T10:44:05.635Z',0,233.0,8,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(139,'Demo5','Demo5','Demo5 ',1,233.0,'["product-images/1774109875092.jpg","product-images/1774109875283.jpg"]','2026-03-21T10:47:58.585Z',0,235.0,1,0,1.0,1,235.0,1.0,1); -INSERT INTO product_info VALUES(140,'Demo Productsz','Demooo','Demoooo',1,250.0,'["product-images/1774524524649.jpg","product-images/1774524524845.jpg","product-images/1774524525034.jpg","product-images/1774525511146.jpg"]','2026-03-26T05:58:47.322Z',0,285.0,1,0,1.0,1,300.0,1.0,1); -CREATE TABLE IF NOT EXISTS "product_reviews" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "review_body" TEXT NOT NULL, "image_urls" TEXT, "review_time" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "ratings" REAL NOT NULL, "admin_response" TEXT, "admin_response_images" TEXT); -INSERT INTO product_reviews VALUES(1,1,9,'Nice','["review-images/1765087473110.jpg","review-images/1765087473110.jpg"]','2025-12-07T00:35:23.088Z',4.0,'Thank Youu','["review-images/1765108852104.jpg"]'); -INSERT INTO product_reviews VALUES(2,1,9,'Nice','["review-images/1765093365201.jpg"]','2025-12-07T02:12:47.173Z',4.0,'','["review-images/1765106307190.jpg"]'); -INSERT INTO product_reviews VALUES(3,1,14,'Not Good','["review-images/1765096663203.jpg","review-images/1765096663403.jpg","review-images/1765096663575.png"]','2025-12-07T03:07:47.450Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(4,1,14,'Another test review this is.','["review-images/1765097892914.jpg","review-images/1765097893129.png"]','2025-12-07T03:28:13.977Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(5,1,14,'test again','["review-images/1765098183876.jpg"]','2025-12-07T03:33:04.648Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(6,1,14,'review 4','["review-images/1765098361309.jpg"]','2025-12-07T03:36:02.126Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(7,1,14,'another review','["review-images/1765098480284.jpg"]','2025-12-07T03:38:01.100Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(8,1,14,'5 star review','["review-images/1765098638162.jpg"]','2025-12-07T03:40:40.683Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(9,1,14,'another testing round','["review-images/1765098885608.jpg","review-images/1765098885808.png"]','2025-12-07T03:44:49.071Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(10,1,14,'testing again','["review-images/1765098955365.jpg"]','2025-12-07T03:45:56.837Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(11,1,14,'test review','["review-images/1765099082661.jpg"]','2025-12-07T03:48:04.218Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(12,1,14,'testing continues','["review-images/1765099476101.jpg","review-images/1765099476297.png"]','2025-12-07T03:54:39.689Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(13,1,14,'It should work now','["review-images/1765101095057.jpg","review-images/1765101095257.png"]','2025-12-07T04:21:44.960Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(14,1,14,'It should work now','["review-images/1765101103591.jpg","review-images/1765101103758.png"]','2025-12-07T04:21:46.666Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(15,1,1,'Very nutritious','["review-images/1765101241219.jpg"]','2025-12-07T04:24:02.615Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(16,1,1,'Item was fresh and juicy','["review-images/1765119932782.jpg","review-images/1765119932802.jpg"]','2025-12-07T09:35:37.267Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(17,1,1,'Item was fresh and juicy','["review-images/1765119935171.jpg","review-images/1765119935174.jpg"]','2025-12-07T09:35:40.420Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(18,17,5,'R','[]','2025-12-19T09:47:47.194Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(19,17,5,'G','["review-images/1766157495262.jpg"]','2025-12-19T09:48:17.365Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(20,17,5,'G','["review-images/1766157496653.jpg"]','2025-12-19T09:48:18.989Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(21,17,5,'R','[]','2025-12-19T09:48:42.279Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(22,17,23,'Ff','[]','2025-12-19T10:02:56.865Z',1.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(23,17,17,'Aa','[]','2025-12-19T10:48:05.094Z',1.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(24,17,16,'Dd','[]','2025-12-20T05:52:01.527Z',2.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(25,1,6,'Nice Item','["review-images/1766423329579.jpg"]','2025-12-22T11:38:51.838Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(26,17,22,'Bb','[]','2025-12-23T11:55:36.314Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(27,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572700543.jpg"]','2025-12-24T05:08:21.515Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(28,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572700880.jpg"]','2025-12-24T05:08:22.057Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(29,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572701138.jpg"]','2025-12-24T05:08:22.587Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(30,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572701266.jpg"]','2025-12-24T05:08:23.203Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(31,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572701490.jpg"]','2025-12-24T05:08:25.076Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(32,2,6,replace('Good \n','\n',char(10)),'[]','2026-01-01T06:04:48.298Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(33,2,3,'That''s a great cut of meat and a good quantity','[]','2026-01-03T05:21:46.903Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(34,2,3,'That''s a great cut of meat and a good quantity','[]','2026-01-03T05:21:47.197Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(35,22,24,'Test review ','["review-images/1768792441275.jpg"]','2026-01-18T21:44:02.726Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(36,22,24,'Test review ','["review-images/1768792441748.jpg"]','2026-01-18T21:44:03.075Z',5.0,NULL,'[]'); -CREATE TABLE IF NOT EXISTS "product_slots" ("product_id" INTEGER NOT NULL, "slot_id" INTEGER NOT NULL); -INSERT INTO product_slots VALUES(1,1); -INSERT INTO product_slots VALUES(1,2); -INSERT INTO product_slots VALUES(1,3); -INSERT INTO product_slots VALUES(1,4); -INSERT INTO product_slots VALUES(1,5); -INSERT INTO product_slots VALUES(1,6); -INSERT INTO product_slots VALUES(1,7); -INSERT INTO product_slots VALUES(1,9); -INSERT INTO product_slots VALUES(1,12); -INSERT INTO product_slots VALUES(1,18); -INSERT INTO product_slots VALUES(1,19); -INSERT INTO product_slots VALUES(1,20); -INSERT INTO product_slots VALUES(1,21); -INSERT INTO product_slots VALUES(1,22); -INSERT INTO product_slots VALUES(1,23); -INSERT INTO product_slots VALUES(1,31); -INSERT INTO product_slots VALUES(1,33); -INSERT INTO product_slots VALUES(1,35); -INSERT INTO product_slots VALUES(1,37); -INSERT INTO product_slots VALUES(1,38); -INSERT INTO product_slots VALUES(1,39); -INSERT INTO product_slots VALUES(1,40); -INSERT INTO product_slots VALUES(1,59); -INSERT INTO product_slots VALUES(1,63); -INSERT INTO product_slots VALUES(1,64); -INSERT INTO product_slots VALUES(1,65); -INSERT INTO product_slots VALUES(1,66); -INSERT INTO product_slots VALUES(1,67); -INSERT INTO product_slots VALUES(1,72); -INSERT INTO product_slots VALUES(1,73); -INSERT INTO product_slots VALUES(1,74); -INSERT INTO product_slots VALUES(1,279); -INSERT INTO product_slots VALUES(2,1); -INSERT INTO product_slots VALUES(2,2); -INSERT INTO product_slots VALUES(2,3); -INSERT INTO product_slots VALUES(2,4); -INSERT INTO product_slots VALUES(2,5); -INSERT INTO product_slots VALUES(2,6); -INSERT INTO product_slots VALUES(2,7); -INSERT INTO product_slots VALUES(2,18); -INSERT INTO product_slots VALUES(2,19); -INSERT INTO product_slots VALUES(2,20); -INSERT INTO product_slots VALUES(2,21); -INSERT INTO product_slots VALUES(2,22); -INSERT INTO product_slots VALUES(2,23); -INSERT INTO product_slots VALUES(2,31); -INSERT INTO product_slots VALUES(2,33); -INSERT INTO product_slots VALUES(2,35); -INSERT INTO product_slots VALUES(2,37); -INSERT INTO product_slots VALUES(2,38); -INSERT INTO product_slots VALUES(2,39); -INSERT INTO product_slots VALUES(2,40); -INSERT INTO product_slots VALUES(2,41); -INSERT INTO product_slots VALUES(2,43); -INSERT INTO product_slots VALUES(2,45); -INSERT INTO product_slots VALUES(2,46); -INSERT INTO product_slots VALUES(2,47); -INSERT INTO product_slots VALUES(2,48); -INSERT INTO product_slots VALUES(2,49); -INSERT INTO product_slots VALUES(2,50); -INSERT INTO product_slots VALUES(2,51); -INSERT INTO product_slots VALUES(2,52); -INSERT INTO product_slots VALUES(2,53); -INSERT INTO product_slots VALUES(2,54); -INSERT INTO product_slots VALUES(2,55); -INSERT INTO product_slots VALUES(2,56); -INSERT INTO product_slots VALUES(2,57); -INSERT INTO product_slots VALUES(2,58); -INSERT INTO product_slots VALUES(2,59); -INSERT INTO product_slots VALUES(2,60); -INSERT INTO product_slots VALUES(2,61); -INSERT INTO product_slots VALUES(2,62); -INSERT INTO product_slots VALUES(2,63); -INSERT INTO product_slots VALUES(2,64); -INSERT INTO product_slots VALUES(2,65); -INSERT INTO product_slots VALUES(2,66); -INSERT INTO product_slots VALUES(2,67); -INSERT INTO product_slots VALUES(2,68); -INSERT INTO product_slots VALUES(2,69); -INSERT INTO product_slots VALUES(2,70); -INSERT INTO product_slots VALUES(2,71); -INSERT INTO product_slots VALUES(2,72); -INSERT INTO product_slots VALUES(2,73); -INSERT INTO product_slots VALUES(2,74); -INSERT INTO product_slots VALUES(2,75); -INSERT INTO product_slots VALUES(2,76); -INSERT INTO product_slots VALUES(2,77); -INSERT INTO product_slots VALUES(2,78); -INSERT INTO product_slots VALUES(2,79); -INSERT INTO product_slots VALUES(2,80); -INSERT INTO product_slots VALUES(2,81); -INSERT INTO product_slots VALUES(2,82); -INSERT INTO product_slots VALUES(2,83); -INSERT INTO product_slots VALUES(2,84); -INSERT INTO product_slots VALUES(2,85); -INSERT INTO product_slots VALUES(2,86); -INSERT INTO product_slots VALUES(2,87); -INSERT INTO product_slots VALUES(2,88); -INSERT INTO product_slots VALUES(2,89); -INSERT INTO product_slots VALUES(2,90); -INSERT INTO product_slots VALUES(2,91); -INSERT INTO product_slots VALUES(2,92); -INSERT INTO product_slots VALUES(2,93); -INSERT INTO product_slots VALUES(2,94); -INSERT INTO product_slots VALUES(2,95); -INSERT INTO product_slots VALUES(2,96); -INSERT INTO product_slots VALUES(2,97); -INSERT INTO product_slots VALUES(2,98); -INSERT INTO product_slots VALUES(2,99); -INSERT INTO product_slots VALUES(2,100); -INSERT INTO product_slots VALUES(2,101); -INSERT INTO product_slots VALUES(2,102); -INSERT INTO product_slots VALUES(2,103); -INSERT INTO product_slots VALUES(2,104); -INSERT INTO product_slots VALUES(2,105); -INSERT INTO product_slots VALUES(2,106); -INSERT INTO product_slots VALUES(2,107); -INSERT INTO product_slots VALUES(2,108); -INSERT INTO product_slots VALUES(2,109); -INSERT INTO product_slots VALUES(2,110); -INSERT INTO product_slots VALUES(2,111); -INSERT INTO product_slots VALUES(2,112); -INSERT INTO product_slots VALUES(2,113); -INSERT INTO product_slots VALUES(2,114); -INSERT INTO product_slots VALUES(2,115); -INSERT INTO product_slots VALUES(2,116); -INSERT INTO product_slots VALUES(2,117); -INSERT INTO product_slots VALUES(2,118); -INSERT INTO product_slots VALUES(2,119); -INSERT INTO product_slots VALUES(2,120); -INSERT INTO product_slots VALUES(2,121); -INSERT INTO product_slots VALUES(2,122); -INSERT INTO product_slots VALUES(2,123); -INSERT INTO product_slots VALUES(2,124); -INSERT INTO product_slots VALUES(2,125); -INSERT INTO product_slots VALUES(2,126); -INSERT INTO product_slots VALUES(2,127); -INSERT INTO product_slots VALUES(2,128); -INSERT INTO product_slots VALUES(2,129); -INSERT INTO product_slots VALUES(2,130); -INSERT INTO product_slots VALUES(2,131); -INSERT INTO product_slots VALUES(2,132); -INSERT INTO product_slots VALUES(2,133); -INSERT INTO product_slots VALUES(2,134); -INSERT INTO product_slots VALUES(2,135); -INSERT INTO product_slots VALUES(2,136); -INSERT INTO product_slots VALUES(2,137); -INSERT INTO product_slots VALUES(2,138); -INSERT INTO product_slots VALUES(2,139); -INSERT INTO product_slots VALUES(2,140); -INSERT INTO product_slots VALUES(2,141); -INSERT INTO product_slots VALUES(2,142); -INSERT INTO product_slots VALUES(2,143); -INSERT INTO product_slots VALUES(2,144); -INSERT INTO product_slots VALUES(2,145); -INSERT INTO product_slots VALUES(2,146); -INSERT INTO product_slots VALUES(2,147); -INSERT INTO product_slots VALUES(2,148); -INSERT INTO product_slots VALUES(2,149); -INSERT INTO product_slots VALUES(2,150); -INSERT INTO product_slots VALUES(2,151); -INSERT INTO product_slots VALUES(2,152); -INSERT INTO product_slots VALUES(2,153); -INSERT INTO product_slots VALUES(2,154); -INSERT INTO product_slots VALUES(2,155); -INSERT INTO product_slots VALUES(2,156); -INSERT INTO product_slots VALUES(2,157); -INSERT INTO product_slots VALUES(2,158); -INSERT INTO product_slots VALUES(2,159); -INSERT INTO product_slots VALUES(2,160); -INSERT INTO product_slots VALUES(2,161); -INSERT INTO product_slots VALUES(2,162); -INSERT INTO product_slots VALUES(2,163); -INSERT INTO product_slots VALUES(2,164); -INSERT INTO product_slots VALUES(2,165); -INSERT INTO product_slots VALUES(2,166); -INSERT INTO product_slots VALUES(2,167); -INSERT INTO product_slots VALUES(2,168); -INSERT INTO product_slots VALUES(2,169); -INSERT INTO product_slots VALUES(2,170); -INSERT INTO product_slots VALUES(2,171); -INSERT INTO product_slots VALUES(2,172); -INSERT INTO product_slots VALUES(2,173); -INSERT INTO product_slots VALUES(2,174); -INSERT INTO product_slots VALUES(2,175); -INSERT INTO product_slots VALUES(2,176); -INSERT INTO product_slots VALUES(2,177); -INSERT INTO product_slots VALUES(2,178); -INSERT INTO product_slots VALUES(2,179); -INSERT INTO product_slots VALUES(2,180); -INSERT INTO product_slots VALUES(2,181); -INSERT INTO product_slots VALUES(2,182); -INSERT INTO product_slots VALUES(2,183); -INSERT INTO product_slots VALUES(2,184); -INSERT INTO product_slots VALUES(2,185); -INSERT INTO product_slots VALUES(2,186); -INSERT INTO product_slots VALUES(2,187); -INSERT INTO product_slots VALUES(2,188); -INSERT INTO product_slots VALUES(2,189); -INSERT INTO product_slots VALUES(2,190); -INSERT INTO product_slots VALUES(2,191); -INSERT INTO product_slots VALUES(2,192); -INSERT INTO product_slots VALUES(2,193); -INSERT INTO product_slots VALUES(2,194); -INSERT INTO product_slots VALUES(2,195); -INSERT INTO product_slots VALUES(2,196); -INSERT INTO product_slots VALUES(2,197); -INSERT INTO product_slots VALUES(2,198); -INSERT INTO product_slots VALUES(2,199); -INSERT INTO product_slots VALUES(2,200); -INSERT INTO product_slots VALUES(2,201); -INSERT INTO product_slots VALUES(2,202); -INSERT INTO product_slots VALUES(2,203); -INSERT INTO product_slots VALUES(2,204); -INSERT INTO product_slots VALUES(2,205); -INSERT INTO product_slots VALUES(2,206); -INSERT INTO product_slots VALUES(2,207); -INSERT INTO product_slots VALUES(2,208); -INSERT INTO product_slots VALUES(2,209); -INSERT INTO product_slots VALUES(2,210); -INSERT INTO product_slots VALUES(2,211); -INSERT INTO product_slots VALUES(2,212); -INSERT INTO product_slots VALUES(2,213); -INSERT INTO product_slots VALUES(2,214); -INSERT INTO product_slots VALUES(2,215); -INSERT INTO product_slots VALUES(2,216); -INSERT INTO product_slots VALUES(2,217); -INSERT INTO product_slots VALUES(2,218); -INSERT INTO product_slots VALUES(2,219); -INSERT INTO product_slots VALUES(2,220); -INSERT INTO product_slots VALUES(2,221); -INSERT INTO product_slots VALUES(2,222); -INSERT INTO product_slots VALUES(2,223); -INSERT INTO product_slots VALUES(2,224); -INSERT INTO product_slots VALUES(2,225); -INSERT INTO product_slots VALUES(2,226); -INSERT INTO product_slots VALUES(2,227); -INSERT INTO product_slots VALUES(2,228); -INSERT INTO product_slots VALUES(2,229); -INSERT INTO product_slots VALUES(2,230); -INSERT INTO product_slots VALUES(2,231); -INSERT INTO product_slots VALUES(2,232); -INSERT INTO product_slots VALUES(2,234); -INSERT INTO product_slots VALUES(2,235); -INSERT INTO product_slots VALUES(2,236); -INSERT INTO product_slots VALUES(2,237); -INSERT INTO product_slots VALUES(2,238); -INSERT INTO product_slots VALUES(2,239); -INSERT INTO product_slots VALUES(2,240); -INSERT INTO product_slots VALUES(2,241); -INSERT INTO product_slots VALUES(2,242); -INSERT INTO product_slots VALUES(2,243); -INSERT INTO product_slots VALUES(2,244); -INSERT INTO product_slots VALUES(2,274); -INSERT INTO product_slots VALUES(2,275); -INSERT INTO product_slots VALUES(2,279); -INSERT INTO product_slots VALUES(2,280); -INSERT INTO product_slots VALUES(2,281); -INSERT INTO product_slots VALUES(2,282); -INSERT INTO product_slots VALUES(3,1); -INSERT INTO product_slots VALUES(3,2); -INSERT INTO product_slots VALUES(3,3); -INSERT INTO product_slots VALUES(3,4); -INSERT INTO product_slots VALUES(3,5); -INSERT INTO product_slots VALUES(3,6); -INSERT INTO product_slots VALUES(3,7); -INSERT INTO product_slots VALUES(3,8); -INSERT INTO product_slots VALUES(3,12); -INSERT INTO product_slots VALUES(3,18); -INSERT INTO product_slots VALUES(3,19); -INSERT INTO product_slots VALUES(3,20); -INSERT INTO product_slots VALUES(3,21); -INSERT INTO product_slots VALUES(3,22); -INSERT INTO product_slots VALUES(3,23); -INSERT INTO product_slots VALUES(3,31); -INSERT INTO product_slots VALUES(3,33); -INSERT INTO product_slots VALUES(3,35); -INSERT INTO product_slots VALUES(3,37); -INSERT INTO product_slots VALUES(3,38); -INSERT INTO product_slots VALUES(3,39); -INSERT INTO product_slots VALUES(3,40); -INSERT INTO product_slots VALUES(3,41); -INSERT INTO product_slots VALUES(3,43); -INSERT INTO product_slots VALUES(3,45); -INSERT INTO product_slots VALUES(3,46); -INSERT INTO product_slots VALUES(3,47); -INSERT INTO product_slots VALUES(3,48); -INSERT INTO product_slots VALUES(3,49); -INSERT INTO product_slots VALUES(3,50); -INSERT INTO product_slots VALUES(3,51); -INSERT INTO product_slots VALUES(3,52); -INSERT INTO product_slots VALUES(3,53); -INSERT INTO product_slots VALUES(3,54); -INSERT INTO product_slots VALUES(3,55); -INSERT INTO product_slots VALUES(3,56); -INSERT INTO product_slots VALUES(3,57); -INSERT INTO product_slots VALUES(3,58); -INSERT INTO product_slots VALUES(3,59); -INSERT INTO product_slots VALUES(3,60); -INSERT INTO product_slots VALUES(3,61); -INSERT INTO product_slots VALUES(3,62); -INSERT INTO product_slots VALUES(3,63); -INSERT INTO product_slots VALUES(3,64); -INSERT INTO product_slots VALUES(3,65); -INSERT INTO product_slots VALUES(3,66); -INSERT INTO product_slots VALUES(3,67); -INSERT INTO product_slots VALUES(3,68); -INSERT INTO product_slots VALUES(3,69); -INSERT INTO product_slots VALUES(3,70); -INSERT INTO product_slots VALUES(3,71); -INSERT INTO product_slots VALUES(3,72); -INSERT INTO product_slots VALUES(3,73); -INSERT INTO product_slots VALUES(3,74); -INSERT INTO product_slots VALUES(3,75); -INSERT INTO product_slots VALUES(3,76); -INSERT INTO product_slots VALUES(3,77); -INSERT INTO product_slots VALUES(3,78); -INSERT INTO product_slots VALUES(3,79); -INSERT INTO product_slots VALUES(3,80); -INSERT INTO product_slots VALUES(3,81); -INSERT INTO product_slots VALUES(3,82); -INSERT INTO product_slots VALUES(3,83); -INSERT INTO product_slots VALUES(3,84); -INSERT INTO product_slots VALUES(3,85); -INSERT INTO product_slots VALUES(3,86); -INSERT INTO product_slots VALUES(3,87); -INSERT INTO product_slots VALUES(3,88); -INSERT INTO product_slots VALUES(3,89); -INSERT INTO product_slots VALUES(3,90); -INSERT INTO product_slots VALUES(3,91); -INSERT INTO product_slots VALUES(3,92); -INSERT INTO product_slots VALUES(3,93); -INSERT INTO product_slots VALUES(3,94); -INSERT INTO product_slots VALUES(3,95); -INSERT INTO product_slots VALUES(3,96); -INSERT INTO product_slots VALUES(3,97); -INSERT INTO product_slots VALUES(3,98); -INSERT INTO product_slots VALUES(3,99); -INSERT INTO product_slots VALUES(3,100); -INSERT INTO product_slots VALUES(3,101); -INSERT INTO product_slots VALUES(3,102); -INSERT INTO product_slots VALUES(3,103); -INSERT INTO product_slots VALUES(3,104); -INSERT INTO product_slots VALUES(3,105); -INSERT INTO product_slots VALUES(3,106); -INSERT INTO product_slots VALUES(3,107); -INSERT INTO product_slots VALUES(3,108); -INSERT INTO product_slots VALUES(3,109); -INSERT INTO product_slots VALUES(3,110); -INSERT INTO product_slots VALUES(3,111); -INSERT INTO product_slots VALUES(3,112); -INSERT INTO product_slots VALUES(3,113); -INSERT INTO product_slots VALUES(3,114); -INSERT INTO product_slots VALUES(3,115); -INSERT INTO product_slots VALUES(3,116); -INSERT INTO product_slots VALUES(3,117); -INSERT INTO product_slots VALUES(3,118); -INSERT INTO product_slots VALUES(3,119); -INSERT INTO product_slots VALUES(3,120); -INSERT INTO product_slots VALUES(3,121); -INSERT INTO product_slots VALUES(3,122); -INSERT INTO product_slots VALUES(3,123); -INSERT INTO product_slots VALUES(3,124); -INSERT INTO product_slots VALUES(3,125); -INSERT INTO product_slots VALUES(3,126); -INSERT INTO product_slots VALUES(3,127); -INSERT INTO product_slots VALUES(3,128); -INSERT INTO product_slots VALUES(3,129); -INSERT INTO product_slots VALUES(3,130); -INSERT INTO product_slots VALUES(3,131); -INSERT INTO product_slots VALUES(3,132); -INSERT INTO product_slots VALUES(3,133); -INSERT INTO product_slots VALUES(3,134); -INSERT INTO product_slots VALUES(3,135); -INSERT INTO product_slots VALUES(3,136); -INSERT INTO product_slots VALUES(3,137); -INSERT INTO product_slots VALUES(3,138); -INSERT INTO product_slots VALUES(3,139); -INSERT INTO product_slots VALUES(3,140); -INSERT INTO product_slots VALUES(3,141); -INSERT INTO product_slots VALUES(3,142); -INSERT INTO product_slots VALUES(3,143); -INSERT INTO product_slots VALUES(3,144); -INSERT INTO product_slots VALUES(3,145); -INSERT INTO product_slots VALUES(3,146); -INSERT INTO product_slots VALUES(3,147); -INSERT INTO product_slots VALUES(3,148); -INSERT INTO product_slots VALUES(3,149); -INSERT INTO product_slots VALUES(3,150); -INSERT INTO product_slots VALUES(3,151); -INSERT INTO product_slots VALUES(3,152); -INSERT INTO product_slots VALUES(3,153); -INSERT INTO product_slots VALUES(3,154); -INSERT INTO product_slots VALUES(3,155); -INSERT INTO product_slots VALUES(3,156); -INSERT INTO product_slots VALUES(3,157); -INSERT INTO product_slots VALUES(3,158); -INSERT INTO product_slots VALUES(3,159); -INSERT INTO product_slots VALUES(3,160); -INSERT INTO product_slots VALUES(3,161); -INSERT INTO product_slots VALUES(3,162); -INSERT INTO product_slots VALUES(3,163); -INSERT INTO product_slots VALUES(3,164); -INSERT INTO product_slots VALUES(3,165); -INSERT INTO product_slots VALUES(3,166); -INSERT INTO product_slots VALUES(3,167); -INSERT INTO product_slots VALUES(3,168); -INSERT INTO product_slots VALUES(3,169); -INSERT INTO product_slots VALUES(3,170); -INSERT INTO product_slots VALUES(3,171); -INSERT INTO product_slots VALUES(3,172); -INSERT INTO product_slots VALUES(3,173); -INSERT INTO product_slots VALUES(3,174); -INSERT INTO product_slots VALUES(3,175); -INSERT INTO product_slots VALUES(3,176); -INSERT INTO product_slots VALUES(3,177); -INSERT INTO product_slots VALUES(3,178); -INSERT INTO product_slots VALUES(3,179); -INSERT INTO product_slots VALUES(3,180); -INSERT INTO product_slots VALUES(3,181); -INSERT INTO product_slots VALUES(3,182); -INSERT INTO product_slots VALUES(3,183); -INSERT INTO product_slots VALUES(3,184); -INSERT INTO product_slots VALUES(3,185); -INSERT INTO product_slots VALUES(3,186); -INSERT INTO product_slots VALUES(3,187); -INSERT INTO product_slots VALUES(3,188); -INSERT INTO product_slots VALUES(3,189); -INSERT INTO product_slots VALUES(3,190); -INSERT INTO product_slots VALUES(3,191); -INSERT INTO product_slots VALUES(3,192); -INSERT INTO product_slots VALUES(3,193); -INSERT INTO product_slots VALUES(3,194); -INSERT INTO product_slots VALUES(3,195); -INSERT INTO product_slots VALUES(3,196); -INSERT INTO product_slots VALUES(3,197); -INSERT INTO product_slots VALUES(3,198); -INSERT INTO product_slots VALUES(3,199); -INSERT INTO product_slots VALUES(3,200); -INSERT INTO product_slots VALUES(3,201); -INSERT INTO product_slots VALUES(3,202); -INSERT INTO product_slots VALUES(3,203); -INSERT INTO product_slots VALUES(3,204); -INSERT INTO product_slots VALUES(3,205); -INSERT INTO product_slots VALUES(3,206); -INSERT INTO product_slots VALUES(3,207); -INSERT INTO product_slots VALUES(3,208); -INSERT INTO product_slots VALUES(3,209); -INSERT INTO product_slots VALUES(3,210); -INSERT INTO product_slots VALUES(3,211); -INSERT INTO product_slots VALUES(3,212); -INSERT INTO product_slots VALUES(3,213); -INSERT INTO product_slots VALUES(3,214); -INSERT INTO product_slots VALUES(3,215); -INSERT INTO product_slots VALUES(3,216); -INSERT INTO product_slots VALUES(3,217); -INSERT INTO product_slots VALUES(3,218); -INSERT INTO product_slots VALUES(3,219); -INSERT INTO product_slots VALUES(3,220); -INSERT INTO product_slots VALUES(3,221); -INSERT INTO product_slots VALUES(3,222); -INSERT INTO product_slots VALUES(3,223); -INSERT INTO product_slots VALUES(3,224); -INSERT INTO product_slots VALUES(3,225); -INSERT INTO product_slots VALUES(3,226); -INSERT INTO product_slots VALUES(3,227); -INSERT INTO product_slots VALUES(3,228); -INSERT INTO product_slots VALUES(3,229); -INSERT INTO product_slots VALUES(3,230); -INSERT INTO product_slots VALUES(3,231); -INSERT INTO product_slots VALUES(3,232); -INSERT INTO product_slots VALUES(3,234); -INSERT INTO product_slots VALUES(3,235); -INSERT INTO product_slots VALUES(3,236); -INSERT INTO product_slots VALUES(3,237); -INSERT INTO product_slots VALUES(3,238); -INSERT INTO product_slots VALUES(3,239); -INSERT INTO product_slots VALUES(3,240); -INSERT INTO product_slots VALUES(3,241); -INSERT INTO product_slots VALUES(3,242); -INSERT INTO product_slots VALUES(3,243); -INSERT INTO product_slots VALUES(3,244); -INSERT INTO product_slots VALUES(3,274); -INSERT INTO product_slots VALUES(3,275); -INSERT INTO product_slots VALUES(3,279); -INSERT INTO product_slots VALUES(3,280); -INSERT INTO product_slots VALUES(3,281); -INSERT INTO product_slots VALUES(3,282); -INSERT INTO product_slots VALUES(4,1); -INSERT INTO product_slots VALUES(4,2); -INSERT INTO product_slots VALUES(4,3); -INSERT INTO product_slots VALUES(4,4); -INSERT INTO product_slots VALUES(4,5); -INSERT INTO product_slots VALUES(4,6); -INSERT INTO product_slots VALUES(4,7); -INSERT INTO product_slots VALUES(4,18); -INSERT INTO product_slots VALUES(4,19); -INSERT INTO product_slots VALUES(4,20); -INSERT INTO product_slots VALUES(4,21); -INSERT INTO product_slots VALUES(4,22); -INSERT INTO product_slots VALUES(4,33); -INSERT INTO product_slots VALUES(4,35); -INSERT INTO product_slots VALUES(4,37); -INSERT INTO product_slots VALUES(4,38); -INSERT INTO product_slots VALUES(4,39); -INSERT INTO product_slots VALUES(4,40); -INSERT INTO product_slots VALUES(4,41); -INSERT INTO product_slots VALUES(4,43); -INSERT INTO product_slots VALUES(4,45); -INSERT INTO product_slots VALUES(4,46); -INSERT INTO product_slots VALUES(4,47); -INSERT INTO product_slots VALUES(4,48); -INSERT INTO product_slots VALUES(4,49); -INSERT INTO product_slots VALUES(4,50); -INSERT INTO product_slots VALUES(4,51); -INSERT INTO product_slots VALUES(4,52); -INSERT INTO product_slots VALUES(4,53); -INSERT INTO product_slots VALUES(4,54); -INSERT INTO product_slots VALUES(4,55); -INSERT INTO product_slots VALUES(4,56); -INSERT INTO product_slots VALUES(4,57); -INSERT INTO product_slots VALUES(4,58); -INSERT INTO product_slots VALUES(4,59); -INSERT INTO product_slots VALUES(4,60); -INSERT INTO product_slots VALUES(4,61); -INSERT INTO product_slots VALUES(4,62); -INSERT INTO product_slots VALUES(4,63); -INSERT INTO product_slots VALUES(4,64); -INSERT INTO product_slots VALUES(4,65); -INSERT INTO product_slots VALUES(4,66); -INSERT INTO product_slots VALUES(4,67); -INSERT INTO product_slots VALUES(4,68); -INSERT INTO product_slots VALUES(4,69); -INSERT INTO product_slots VALUES(4,70); -INSERT INTO product_slots VALUES(4,71); -INSERT INTO product_slots VALUES(4,74); -INSERT INTO product_slots VALUES(4,75); -INSERT INTO product_slots VALUES(4,76); -INSERT INTO product_slots VALUES(4,77); -INSERT INTO product_slots VALUES(4,78); -INSERT INTO product_slots VALUES(4,81); -INSERT INTO product_slots VALUES(4,82); -INSERT INTO product_slots VALUES(4,83); -INSERT INTO product_slots VALUES(4,84); -INSERT INTO product_slots VALUES(4,87); -INSERT INTO product_slots VALUES(4,88); -INSERT INTO product_slots VALUES(4,89); -INSERT INTO product_slots VALUES(4,90); -INSERT INTO product_slots VALUES(4,91); -INSERT INTO product_slots VALUES(4,95); -INSERT INTO product_slots VALUES(4,96); -INSERT INTO product_slots VALUES(4,97); -INSERT INTO product_slots VALUES(4,98); -INSERT INTO product_slots VALUES(4,101); -INSERT INTO product_slots VALUES(4,102); -INSERT INTO product_slots VALUES(4,103); -INSERT INTO product_slots VALUES(4,104); -INSERT INTO product_slots VALUES(4,109); -INSERT INTO product_slots VALUES(4,110); -INSERT INTO product_slots VALUES(4,111); -INSERT INTO product_slots VALUES(4,112); -INSERT INTO product_slots VALUES(4,116); -INSERT INTO product_slots VALUES(4,117); -INSERT INTO product_slots VALUES(4,118); -INSERT INTO product_slots VALUES(4,119); -INSERT INTO product_slots VALUES(4,120); -INSERT INTO product_slots VALUES(4,123); -INSERT INTO product_slots VALUES(4,124); -INSERT INTO product_slots VALUES(4,125); -INSERT INTO product_slots VALUES(4,126); -INSERT INTO product_slots VALUES(4,130); -INSERT INTO product_slots VALUES(4,131); -INSERT INTO product_slots VALUES(4,132); -INSERT INTO product_slots VALUES(4,133); -INSERT INTO product_slots VALUES(4,137); -INSERT INTO product_slots VALUES(4,138); -INSERT INTO product_slots VALUES(4,139); -INSERT INTO product_slots VALUES(4,140); -INSERT INTO product_slots VALUES(4,144); -INSERT INTO product_slots VALUES(4,145); -INSERT INTO product_slots VALUES(4,146); -INSERT INTO product_slots VALUES(4,147); -INSERT INTO product_slots VALUES(4,148); -INSERT INTO product_slots VALUES(4,149); -INSERT INTO product_slots VALUES(4,150); -INSERT INTO product_slots VALUES(4,151); -INSERT INTO product_slots VALUES(4,155); -INSERT INTO product_slots VALUES(4,156); -INSERT INTO product_slots VALUES(4,157); -INSERT INTO product_slots VALUES(4,158); -INSERT INTO product_slots VALUES(4,162); -INSERT INTO product_slots VALUES(4,163); -INSERT INTO product_slots VALUES(4,164); -INSERT INTO product_slots VALUES(4,165); -INSERT INTO product_slots VALUES(4,166); -INSERT INTO product_slots VALUES(4,169); -INSERT INTO product_slots VALUES(4,170); -INSERT INTO product_slots VALUES(4,171); -INSERT INTO product_slots VALUES(4,172); -INSERT INTO product_slots VALUES(4,173); -INSERT INTO product_slots VALUES(4,176); -INSERT INTO product_slots VALUES(4,177); -INSERT INTO product_slots VALUES(4,178); -INSERT INTO product_slots VALUES(4,179); -INSERT INTO product_slots VALUES(4,180); -INSERT INTO product_slots VALUES(4,181); -INSERT INTO product_slots VALUES(4,182); -INSERT INTO product_slots VALUES(4,183); -INSERT INTO product_slots VALUES(4,184); -INSERT INTO product_slots VALUES(4,185); -INSERT INTO product_slots VALUES(4,186); -INSERT INTO product_slots VALUES(4,187); -INSERT INTO product_slots VALUES(4,188); -INSERT INTO product_slots VALUES(4,189); -INSERT INTO product_slots VALUES(4,190); -INSERT INTO product_slots VALUES(4,191); -INSERT INTO product_slots VALUES(4,192); -INSERT INTO product_slots VALUES(4,193); -INSERT INTO product_slots VALUES(4,194); -INSERT INTO product_slots VALUES(4,198); -INSERT INTO product_slots VALUES(4,199); -INSERT INTO product_slots VALUES(4,200); -INSERT INTO product_slots VALUES(4,201); -INSERT INTO product_slots VALUES(4,202); -INSERT INTO product_slots VALUES(4,203); -INSERT INTO product_slots VALUES(4,205); -INSERT INTO product_slots VALUES(4,208); -INSERT INTO product_slots VALUES(4,209); -INSERT INTO product_slots VALUES(4,210); -INSERT INTO product_slots VALUES(4,211); -INSERT INTO product_slots VALUES(4,216); -INSERT INTO product_slots VALUES(4,217); -INSERT INTO product_slots VALUES(4,218); -INSERT INTO product_slots VALUES(4,219); -INSERT INTO product_slots VALUES(4,220); -INSERT INTO product_slots VALUES(4,223); -INSERT INTO product_slots VALUES(4,224); -INSERT INTO product_slots VALUES(4,225); -INSERT INTO product_slots VALUES(4,226); -INSERT INTO product_slots VALUES(4,230); -INSERT INTO product_slots VALUES(4,231); -INSERT INTO product_slots VALUES(4,232); -INSERT INTO product_slots VALUES(4,234); -INSERT INTO product_slots VALUES(4,237); -INSERT INTO product_slots VALUES(4,238); -INSERT INTO product_slots VALUES(4,239); -INSERT INTO product_slots VALUES(4,240); -INSERT INTO product_slots VALUES(4,274); -INSERT INTO product_slots VALUES(4,275); -INSERT INTO product_slots VALUES(4,277); -INSERT INTO product_slots VALUES(4,278); -INSERT INTO product_slots VALUES(4,279); -INSERT INTO product_slots VALUES(5,1); -INSERT INTO product_slots VALUES(5,3); -INSERT INTO product_slots VALUES(5,4); -INSERT INTO product_slots VALUES(5,5); -INSERT INTO product_slots VALUES(5,6); -INSERT INTO product_slots VALUES(5,7); -INSERT INTO product_slots VALUES(5,8); -INSERT INTO product_slots VALUES(5,16); -INSERT INTO product_slots VALUES(5,18); -INSERT INTO product_slots VALUES(5,20); -INSERT INTO product_slots VALUES(5,21); -INSERT INTO product_slots VALUES(5,22); -INSERT INTO product_slots VALUES(5,33); -INSERT INTO product_slots VALUES(5,35); -INSERT INTO product_slots VALUES(5,37); -INSERT INTO product_slots VALUES(5,38); -INSERT INTO product_slots VALUES(5,39); -INSERT INTO product_slots VALUES(5,40); -INSERT INTO product_slots VALUES(5,41); -INSERT INTO product_slots VALUES(5,43); -INSERT INTO product_slots VALUES(5,44); -INSERT INTO product_slots VALUES(5,45); -INSERT INTO product_slots VALUES(5,46); -INSERT INTO product_slots VALUES(5,47); -INSERT INTO product_slots VALUES(5,48); -INSERT INTO product_slots VALUES(5,49); -INSERT INTO product_slots VALUES(5,50); -INSERT INTO product_slots VALUES(5,51); -INSERT INTO product_slots VALUES(5,52); -INSERT INTO product_slots VALUES(5,53); -INSERT INTO product_slots VALUES(5,54); -INSERT INTO product_slots VALUES(5,55); -INSERT INTO product_slots VALUES(5,56); -INSERT INTO product_slots VALUES(5,57); -INSERT INTO product_slots VALUES(5,58); -INSERT INTO product_slots VALUES(5,59); -INSERT INTO product_slots VALUES(5,60); -INSERT INTO product_slots VALUES(5,61); -INSERT INTO product_slots VALUES(5,62); -INSERT INTO product_slots VALUES(5,63); -INSERT INTO product_slots VALUES(5,64); -INSERT INTO product_slots VALUES(5,65); -INSERT INTO product_slots VALUES(5,66); -INSERT INTO product_slots VALUES(5,67); -INSERT INTO product_slots VALUES(5,68); -INSERT INTO product_slots VALUES(5,69); -INSERT INTO product_slots VALUES(5,70); -INSERT INTO product_slots VALUES(5,71); -INSERT INTO product_slots VALUES(5,72); -INSERT INTO product_slots VALUES(5,73); -INSERT INTO product_slots VALUES(5,74); -INSERT INTO product_slots VALUES(5,75); -INSERT INTO product_slots VALUES(5,76); -INSERT INTO product_slots VALUES(5,77); -INSERT INTO product_slots VALUES(5,78); -INSERT INTO product_slots VALUES(5,79); -INSERT INTO product_slots VALUES(5,80); -INSERT INTO product_slots VALUES(5,81); -INSERT INTO product_slots VALUES(5,82); -INSERT INTO product_slots VALUES(5,83); -INSERT INTO product_slots VALUES(5,84); -INSERT INTO product_slots VALUES(5,85); -INSERT INTO product_slots VALUES(5,86); -INSERT INTO product_slots VALUES(5,87); -INSERT INTO product_slots VALUES(5,88); -INSERT INTO product_slots VALUES(5,89); -INSERT INTO product_slots VALUES(5,90); -INSERT INTO product_slots VALUES(5,91); -INSERT INTO product_slots VALUES(5,92); -INSERT INTO product_slots VALUES(5,93); -INSERT INTO product_slots VALUES(5,94); -INSERT INTO product_slots VALUES(5,95); -INSERT INTO product_slots VALUES(5,96); -INSERT INTO product_slots VALUES(5,97); -INSERT INTO product_slots VALUES(5,98); -INSERT INTO product_slots VALUES(5,99); -INSERT INTO product_slots VALUES(5,100); -INSERT INTO product_slots VALUES(5,101); -INSERT INTO product_slots VALUES(5,102); -INSERT INTO product_slots VALUES(5,103); -INSERT INTO product_slots VALUES(5,104); -INSERT INTO product_slots VALUES(5,105); -INSERT INTO product_slots VALUES(5,106); -INSERT INTO product_slots VALUES(5,107); -INSERT INTO product_slots VALUES(5,108); -INSERT INTO product_slots VALUES(5,109); -INSERT INTO product_slots VALUES(5,110); -INSERT INTO product_slots VALUES(5,111); -INSERT INTO product_slots VALUES(5,112); -INSERT INTO product_slots VALUES(5,113); -INSERT INTO product_slots VALUES(5,114); -INSERT INTO product_slots VALUES(5,115); -INSERT INTO product_slots VALUES(5,116); -INSERT INTO product_slots VALUES(5,117); -INSERT INTO product_slots VALUES(5,118); -INSERT INTO product_slots VALUES(5,119); -INSERT INTO product_slots VALUES(5,120); -INSERT INTO product_slots VALUES(5,121); -INSERT INTO product_slots VALUES(5,122); -INSERT INTO product_slots VALUES(5,123); -INSERT INTO product_slots VALUES(5,124); -INSERT INTO product_slots VALUES(5,125); -INSERT INTO product_slots VALUES(5,126); -INSERT INTO product_slots VALUES(5,127); -INSERT INTO product_slots VALUES(5,128); -INSERT INTO product_slots VALUES(5,129); -INSERT INTO product_slots VALUES(5,130); -INSERT INTO product_slots VALUES(5,131); -INSERT INTO product_slots VALUES(5,132); -INSERT INTO product_slots VALUES(5,133); -INSERT INTO product_slots VALUES(5,134); -INSERT INTO product_slots VALUES(5,135); -INSERT INTO product_slots VALUES(5,136); -INSERT INTO product_slots VALUES(5,137); -INSERT INTO product_slots VALUES(5,138); -INSERT INTO product_slots VALUES(5,139); -INSERT INTO product_slots VALUES(5,140); -INSERT INTO product_slots VALUES(5,141); -INSERT INTO product_slots VALUES(5,142); -INSERT INTO product_slots VALUES(5,143); -INSERT INTO product_slots VALUES(5,144); -INSERT INTO product_slots VALUES(5,145); -INSERT INTO product_slots VALUES(5,146); -INSERT INTO product_slots VALUES(5,147); -INSERT INTO product_slots VALUES(5,148); -INSERT INTO product_slots VALUES(5,149); -INSERT INTO product_slots VALUES(5,150); -INSERT INTO product_slots VALUES(5,151); -INSERT INTO product_slots VALUES(5,152); -INSERT INTO product_slots VALUES(5,153); -INSERT INTO product_slots VALUES(5,154); -INSERT INTO product_slots VALUES(5,155); -INSERT INTO product_slots VALUES(5,156); -INSERT INTO product_slots VALUES(5,157); -INSERT INTO product_slots VALUES(5,158); -INSERT INTO product_slots VALUES(5,159); -INSERT INTO product_slots VALUES(5,160); -INSERT INTO product_slots VALUES(5,161); -INSERT INTO product_slots VALUES(5,162); -INSERT INTO product_slots VALUES(5,163); -INSERT INTO product_slots VALUES(5,164); -INSERT INTO product_slots VALUES(5,165); -INSERT INTO product_slots VALUES(5,166); -INSERT INTO product_slots VALUES(5,167); -INSERT INTO product_slots VALUES(5,168); -INSERT INTO product_slots VALUES(5,169); -INSERT INTO product_slots VALUES(5,170); -INSERT INTO product_slots VALUES(5,171); -INSERT INTO product_slots VALUES(5,172); -INSERT INTO product_slots VALUES(5,173); -INSERT INTO product_slots VALUES(5,174); -INSERT INTO product_slots VALUES(5,175); -INSERT INTO product_slots VALUES(5,176); -INSERT INTO product_slots VALUES(5,177); -INSERT INTO product_slots VALUES(5,178); -INSERT INTO product_slots VALUES(5,179); -INSERT INTO product_slots VALUES(5,180); -INSERT INTO product_slots VALUES(5,181); -INSERT INTO product_slots VALUES(5,182); -INSERT INTO product_slots VALUES(5,183); -INSERT INTO product_slots VALUES(5,184); -INSERT INTO product_slots VALUES(5,185); -INSERT INTO product_slots VALUES(5,186); -INSERT INTO product_slots VALUES(5,187); -INSERT INTO product_slots VALUES(5,188); -INSERT INTO product_slots VALUES(5,189); -INSERT INTO product_slots VALUES(5,190); -INSERT INTO product_slots VALUES(5,191); -INSERT INTO product_slots VALUES(5,192); -INSERT INTO product_slots VALUES(5,193); -INSERT INTO product_slots VALUES(5,194); -INSERT INTO product_slots VALUES(5,195); -INSERT INTO product_slots VALUES(5,196); -INSERT INTO product_slots VALUES(5,197); -INSERT INTO product_slots VALUES(5,198); -INSERT INTO product_slots VALUES(5,199); -INSERT INTO product_slots VALUES(5,200); -INSERT INTO product_slots VALUES(5,201); -INSERT INTO product_slots VALUES(5,202); -INSERT INTO product_slots VALUES(5,203); -INSERT INTO product_slots VALUES(5,204); -INSERT INTO product_slots VALUES(5,205); -INSERT INTO product_slots VALUES(5,206); -INSERT INTO product_slots VALUES(5,207); -INSERT INTO product_slots VALUES(5,208); -INSERT INTO product_slots VALUES(5,209); -INSERT INTO product_slots VALUES(5,210); -INSERT INTO product_slots VALUES(5,211); -INSERT INTO product_slots VALUES(5,212); -INSERT INTO product_slots VALUES(5,213); -INSERT INTO product_slots VALUES(5,214); -INSERT INTO product_slots VALUES(5,215); -INSERT INTO product_slots VALUES(5,216); -INSERT INTO product_slots VALUES(5,217); -INSERT INTO product_slots VALUES(5,218); -INSERT INTO product_slots VALUES(5,219); -INSERT INTO product_slots VALUES(5,220); -INSERT INTO product_slots VALUES(5,221); -INSERT INTO product_slots VALUES(5,222); -INSERT INTO product_slots VALUES(5,223); -INSERT INTO product_slots VALUES(5,224); -INSERT INTO product_slots VALUES(5,225); -INSERT INTO product_slots VALUES(5,226); -INSERT INTO product_slots VALUES(5,227); -INSERT INTO product_slots VALUES(5,228); -INSERT INTO product_slots VALUES(5,229); -INSERT INTO product_slots VALUES(5,230); -INSERT INTO product_slots VALUES(5,231); -INSERT INTO product_slots VALUES(5,232); -INSERT INTO product_slots VALUES(5,233); -INSERT INTO product_slots VALUES(5,234); -INSERT INTO product_slots VALUES(5,235); -INSERT INTO product_slots VALUES(5,236); -INSERT INTO product_slots VALUES(5,237); -INSERT INTO product_slots VALUES(5,238); -INSERT INTO product_slots VALUES(5,239); -INSERT INTO product_slots VALUES(5,240); -INSERT INTO product_slots VALUES(5,241); -INSERT INTO product_slots VALUES(5,242); -INSERT INTO product_slots VALUES(5,243); -INSERT INTO product_slots VALUES(5,244); -INSERT INTO product_slots VALUES(5,274); -INSERT INTO product_slots VALUES(5,275); -INSERT INTO product_slots VALUES(5,279); -INSERT INTO product_slots VALUES(5,280); -INSERT INTO product_slots VALUES(5,281); -INSERT INTO product_slots VALUES(5,282); -INSERT INTO product_slots VALUES(5,283); -INSERT INTO product_slots VALUES(5,284); -INSERT INTO product_slots VALUES(5,285); -INSERT INTO product_slots VALUES(5,286); -INSERT INTO product_slots VALUES(5,287); -INSERT INTO product_slots VALUES(6,1); -INSERT INTO product_slots VALUES(6,2); -INSERT INTO product_slots VALUES(6,3); -INSERT INTO product_slots VALUES(6,4); -INSERT INTO product_slots VALUES(6,5); -INSERT INTO product_slots VALUES(6,6); -INSERT INTO product_slots VALUES(6,7); -INSERT INTO product_slots VALUES(6,8); -INSERT INTO product_slots VALUES(6,13); -INSERT INTO product_slots VALUES(6,14); -INSERT INTO product_slots VALUES(6,16); -INSERT INTO product_slots VALUES(6,17); -INSERT INTO product_slots VALUES(6,18); -INSERT INTO product_slots VALUES(6,20); -INSERT INTO product_slots VALUES(6,21); -INSERT INTO product_slots VALUES(6,22); -INSERT INTO product_slots VALUES(6,33); -INSERT INTO product_slots VALUES(6,35); -INSERT INTO product_slots VALUES(6,37); -INSERT INTO product_slots VALUES(6,38); -INSERT INTO product_slots VALUES(6,39); -INSERT INTO product_slots VALUES(6,40); -INSERT INTO product_slots VALUES(6,41); -INSERT INTO product_slots VALUES(6,43); -INSERT INTO product_slots VALUES(6,44); -INSERT INTO product_slots VALUES(6,45); -INSERT INTO product_slots VALUES(6,46); -INSERT INTO product_slots VALUES(6,47); -INSERT INTO product_slots VALUES(6,48); -INSERT INTO product_slots VALUES(6,49); -INSERT INTO product_slots VALUES(6,50); -INSERT INTO product_slots VALUES(6,51); -INSERT INTO product_slots VALUES(6,52); -INSERT INTO product_slots VALUES(6,53); -INSERT INTO product_slots VALUES(6,54); -INSERT INTO product_slots VALUES(6,55); -INSERT INTO product_slots VALUES(6,56); -INSERT INTO product_slots VALUES(6,57); -INSERT INTO product_slots VALUES(6,58); -INSERT INTO product_slots VALUES(6,59); -INSERT INTO product_slots VALUES(6,60); -INSERT INTO product_slots VALUES(6,61); -INSERT INTO product_slots VALUES(6,62); -INSERT INTO product_slots VALUES(6,63); -INSERT INTO product_slots VALUES(6,64); -INSERT INTO product_slots VALUES(6,65); -INSERT INTO product_slots VALUES(6,66); -INSERT INTO product_slots VALUES(6,67); -INSERT INTO product_slots VALUES(6,68); -INSERT INTO product_slots VALUES(6,69); -INSERT INTO product_slots VALUES(6,70); -INSERT INTO product_slots VALUES(6,71); -INSERT INTO product_slots VALUES(6,72); -INSERT INTO product_slots VALUES(6,73); -INSERT INTO product_slots VALUES(6,74); -INSERT INTO product_slots VALUES(6,75); -INSERT INTO product_slots VALUES(6,76); -INSERT INTO product_slots VALUES(6,77); -INSERT INTO product_slots VALUES(6,78); -INSERT INTO product_slots VALUES(6,79); -INSERT INTO product_slots VALUES(6,80); -INSERT INTO product_slots VALUES(6,81); -INSERT INTO product_slots VALUES(6,82); -INSERT INTO product_slots VALUES(6,83); -INSERT INTO product_slots VALUES(6,84); -INSERT INTO product_slots VALUES(6,87); -INSERT INTO product_slots VALUES(6,88); -INSERT INTO product_slots VALUES(6,89); -INSERT INTO product_slots VALUES(6,90); -INSERT INTO product_slots VALUES(6,91); -INSERT INTO product_slots VALUES(6,92); -INSERT INTO product_slots VALUES(6,93); -INSERT INTO product_slots VALUES(6,94); -INSERT INTO product_slots VALUES(6,95); -INSERT INTO product_slots VALUES(6,96); -INSERT INTO product_slots VALUES(6,97); -INSERT INTO product_slots VALUES(6,98); -INSERT INTO product_slots VALUES(6,99); -INSERT INTO product_slots VALUES(6,100); -INSERT INTO product_slots VALUES(6,102); -INSERT INTO product_slots VALUES(6,103); -INSERT INTO product_slots VALUES(6,104); -INSERT INTO product_slots VALUES(6,109); -INSERT INTO product_slots VALUES(6,110); -INSERT INTO product_slots VALUES(6,111); -INSERT INTO product_slots VALUES(6,112); -INSERT INTO product_slots VALUES(6,117); -INSERT INTO product_slots VALUES(6,118); -INSERT INTO product_slots VALUES(6,119); -INSERT INTO product_slots VALUES(6,120); -INSERT INTO product_slots VALUES(6,121); -INSERT INTO product_slots VALUES(6,122); -INSERT INTO product_slots VALUES(6,123); -INSERT INTO product_slots VALUES(6,124); -INSERT INTO product_slots VALUES(6,125); -INSERT INTO product_slots VALUES(6,126); -INSERT INTO product_slots VALUES(6,127); -INSERT INTO product_slots VALUES(6,128); -INSERT INTO product_slots VALUES(6,129); -INSERT INTO product_slots VALUES(6,130); -INSERT INTO product_slots VALUES(6,131); -INSERT INTO product_slots VALUES(6,132); -INSERT INTO product_slots VALUES(6,133); -INSERT INTO product_slots VALUES(6,134); -INSERT INTO product_slots VALUES(6,135); -INSERT INTO product_slots VALUES(6,136); -INSERT INTO product_slots VALUES(6,138); -INSERT INTO product_slots VALUES(6,139); -INSERT INTO product_slots VALUES(6,140); -INSERT INTO product_slots VALUES(6,141); -INSERT INTO product_slots VALUES(6,142); -INSERT INTO product_slots VALUES(6,143); -INSERT INTO product_slots VALUES(6,145); -INSERT INTO product_slots VALUES(6,146); -INSERT INTO product_slots VALUES(6,147); -INSERT INTO product_slots VALUES(6,148); -INSERT INTO product_slots VALUES(6,149); -INSERT INTO product_slots VALUES(6,150); -INSERT INTO product_slots VALUES(6,151); -INSERT INTO product_slots VALUES(6,152); -INSERT INTO product_slots VALUES(6,153); -INSERT INTO product_slots VALUES(6,154); -INSERT INTO product_slots VALUES(6,155); -INSERT INTO product_slots VALUES(6,156); -INSERT INTO product_slots VALUES(6,157); -INSERT INTO product_slots VALUES(6,158); -INSERT INTO product_slots VALUES(6,159); -INSERT INTO product_slots VALUES(6,160); -INSERT INTO product_slots VALUES(6,161); -INSERT INTO product_slots VALUES(6,162); -INSERT INTO product_slots VALUES(6,163); -INSERT INTO product_slots VALUES(6,164); -INSERT INTO product_slots VALUES(6,165); -INSERT INTO product_slots VALUES(6,166); -INSERT INTO product_slots VALUES(6,169); -INSERT INTO product_slots VALUES(6,170); -INSERT INTO product_slots VALUES(6,171); -INSERT INTO product_slots VALUES(6,172); -INSERT INTO product_slots VALUES(6,173); -INSERT INTO product_slots VALUES(6,174); -INSERT INTO product_slots VALUES(6,175); -INSERT INTO product_slots VALUES(6,176); -INSERT INTO product_slots VALUES(6,177); -INSERT INTO product_slots VALUES(6,178); -INSERT INTO product_slots VALUES(6,179); -INSERT INTO product_slots VALUES(6,180); -INSERT INTO product_slots VALUES(6,181); -INSERT INTO product_slots VALUES(6,182); -INSERT INTO product_slots VALUES(6,183); -INSERT INTO product_slots VALUES(6,184); -INSERT INTO product_slots VALUES(6,185); -INSERT INTO product_slots VALUES(6,186); -INSERT INTO product_slots VALUES(6,187); -INSERT INTO product_slots VALUES(6,188); -INSERT INTO product_slots VALUES(6,189); -INSERT INTO product_slots VALUES(6,190); -INSERT INTO product_slots VALUES(6,191); -INSERT INTO product_slots VALUES(6,192); -INSERT INTO product_slots VALUES(6,193); -INSERT INTO product_slots VALUES(6,194); -INSERT INTO product_slots VALUES(6,198); -INSERT INTO product_slots VALUES(6,199); -INSERT INTO product_slots VALUES(6,200); -INSERT INTO product_slots VALUES(6,201); -INSERT INTO product_slots VALUES(6,202); -INSERT INTO product_slots VALUES(6,203); -INSERT INTO product_slots VALUES(6,204); -INSERT INTO product_slots VALUES(6,205); -INSERT INTO product_slots VALUES(6,206); -INSERT INTO product_slots VALUES(6,207); -INSERT INTO product_slots VALUES(6,208); -INSERT INTO product_slots VALUES(6,209); -INSERT INTO product_slots VALUES(6,210); -INSERT INTO product_slots VALUES(6,211); -INSERT INTO product_slots VALUES(6,212); -INSERT INTO product_slots VALUES(6,213); -INSERT INTO product_slots VALUES(6,214); -INSERT INTO product_slots VALUES(6,215); -INSERT INTO product_slots VALUES(6,216); -INSERT INTO product_slots VALUES(6,217); -INSERT INTO product_slots VALUES(6,218); -INSERT INTO product_slots VALUES(6,219); -INSERT INTO product_slots VALUES(6,220); -INSERT INTO product_slots VALUES(6,222); -INSERT INTO product_slots VALUES(6,223); -INSERT INTO product_slots VALUES(6,224); -INSERT INTO product_slots VALUES(6,225); -INSERT INTO product_slots VALUES(6,226); -INSERT INTO product_slots VALUES(6,227); -INSERT INTO product_slots VALUES(6,228); -INSERT INTO product_slots VALUES(6,229); -INSERT INTO product_slots VALUES(6,230); -INSERT INTO product_slots VALUES(6,231); -INSERT INTO product_slots VALUES(6,232); -INSERT INTO product_slots VALUES(6,234); -INSERT INTO product_slots VALUES(6,235); -INSERT INTO product_slots VALUES(6,236); -INSERT INTO product_slots VALUES(6,237); -INSERT INTO product_slots VALUES(6,238); -INSERT INTO product_slots VALUES(6,239); -INSERT INTO product_slots VALUES(6,240); -INSERT INTO product_slots VALUES(6,244); -INSERT INTO product_slots VALUES(6,274); -INSERT INTO product_slots VALUES(6,275); -INSERT INTO product_slots VALUES(6,277); -INSERT INTO product_slots VALUES(6,278); -INSERT INTO product_slots VALUES(6,279); -INSERT INTO product_slots VALUES(6,283); -INSERT INTO product_slots VALUES(6,284); -INSERT INTO product_slots VALUES(6,285); -INSERT INTO product_slots VALUES(6,286); -INSERT INTO product_slots VALUES(6,287); -INSERT INTO product_slots VALUES(7,1); -INSERT INTO product_slots VALUES(7,2); -INSERT INTO product_slots VALUES(7,3); -INSERT INTO product_slots VALUES(7,4); -INSERT INTO product_slots VALUES(7,5); -INSERT INTO product_slots VALUES(7,6); -INSERT INTO product_slots VALUES(7,7); -INSERT INTO product_slots VALUES(7,8); -INSERT INTO product_slots VALUES(7,9); -INSERT INTO product_slots VALUES(7,17); -INSERT INTO product_slots VALUES(7,18); -INSERT INTO product_slots VALUES(7,20); -INSERT INTO product_slots VALUES(7,21); -INSERT INTO product_slots VALUES(7,22); -INSERT INTO product_slots VALUES(7,33); -INSERT INTO product_slots VALUES(7,35); -INSERT INTO product_slots VALUES(7,37); -INSERT INTO product_slots VALUES(7,38); -INSERT INTO product_slots VALUES(7,39); -INSERT INTO product_slots VALUES(7,40); -INSERT INTO product_slots VALUES(7,43); -INSERT INTO product_slots VALUES(7,45); -INSERT INTO product_slots VALUES(7,46); -INSERT INTO product_slots VALUES(7,48); -INSERT INTO product_slots VALUES(7,49); -INSERT INTO product_slots VALUES(7,51); -INSERT INTO product_slots VALUES(7,52); -INSERT INTO product_slots VALUES(7,53); -INSERT INTO product_slots VALUES(7,54); -INSERT INTO product_slots VALUES(7,57); -INSERT INTO product_slots VALUES(7,58); -INSERT INTO product_slots VALUES(7,59); -INSERT INTO product_slots VALUES(7,60); -INSERT INTO product_slots VALUES(7,61); -INSERT INTO product_slots VALUES(7,62); -INSERT INTO product_slots VALUES(7,63); -INSERT INTO product_slots VALUES(7,64); -INSERT INTO product_slots VALUES(7,65); -INSERT INTO product_slots VALUES(7,66); -INSERT INTO product_slots VALUES(7,67); -INSERT INTO product_slots VALUES(7,68); -INSERT INTO product_slots VALUES(7,69); -INSERT INTO product_slots VALUES(7,70); -INSERT INTO product_slots VALUES(7,71); -INSERT INTO product_slots VALUES(7,72); -INSERT INTO product_slots VALUES(7,73); -INSERT INTO product_slots VALUES(7,74); -INSERT INTO product_slots VALUES(7,75); -INSERT INTO product_slots VALUES(7,76); -INSERT INTO product_slots VALUES(7,77); -INSERT INTO product_slots VALUES(7,78); -INSERT INTO product_slots VALUES(7,79); -INSERT INTO product_slots VALUES(7,80); -INSERT INTO product_slots VALUES(7,81); -INSERT INTO product_slots VALUES(7,82); -INSERT INTO product_slots VALUES(7,83); -INSERT INTO product_slots VALUES(7,84); -INSERT INTO product_slots VALUES(7,85); -INSERT INTO product_slots VALUES(7,86); -INSERT INTO product_slots VALUES(7,87); -INSERT INTO product_slots VALUES(7,88); -INSERT INTO product_slots VALUES(7,89); -INSERT INTO product_slots VALUES(7,90); -INSERT INTO product_slots VALUES(7,91); -INSERT INTO product_slots VALUES(7,92); -INSERT INTO product_slots VALUES(7,93); -INSERT INTO product_slots VALUES(7,94); -INSERT INTO product_slots VALUES(7,95); -INSERT INTO product_slots VALUES(7,96); -INSERT INTO product_slots VALUES(7,97); -INSERT INTO product_slots VALUES(7,98); -INSERT INTO product_slots VALUES(7,99); -INSERT INTO product_slots VALUES(7,100); -INSERT INTO product_slots VALUES(7,102); -INSERT INTO product_slots VALUES(7,103); -INSERT INTO product_slots VALUES(7,104); -INSERT INTO product_slots VALUES(7,105); -INSERT INTO product_slots VALUES(7,106); -INSERT INTO product_slots VALUES(7,107); -INSERT INTO product_slots VALUES(7,108); -INSERT INTO product_slots VALUES(7,109); -INSERT INTO product_slots VALUES(7,110); -INSERT INTO product_slots VALUES(7,111); -INSERT INTO product_slots VALUES(7,112); -INSERT INTO product_slots VALUES(7,113); -INSERT INTO product_slots VALUES(7,114); -INSERT INTO product_slots VALUES(7,115); -INSERT INTO product_slots VALUES(7,117); -INSERT INTO product_slots VALUES(7,118); -INSERT INTO product_slots VALUES(7,119); -INSERT INTO product_slots VALUES(7,120); -INSERT INTO product_slots VALUES(7,121); -INSERT INTO product_slots VALUES(7,122); -INSERT INTO product_slots VALUES(7,123); -INSERT INTO product_slots VALUES(7,124); -INSERT INTO product_slots VALUES(7,125); -INSERT INTO product_slots VALUES(7,126); -INSERT INTO product_slots VALUES(7,127); -INSERT INTO product_slots VALUES(7,128); -INSERT INTO product_slots VALUES(7,129); -INSERT INTO product_slots VALUES(7,130); -INSERT INTO product_slots VALUES(7,131); -INSERT INTO product_slots VALUES(7,132); -INSERT INTO product_slots VALUES(7,133); -INSERT INTO product_slots VALUES(7,134); -INSERT INTO product_slots VALUES(7,135); -INSERT INTO product_slots VALUES(7,136); -INSERT INTO product_slots VALUES(7,138); -INSERT INTO product_slots VALUES(7,139); -INSERT INTO product_slots VALUES(7,140); -INSERT INTO product_slots VALUES(7,141); -INSERT INTO product_slots VALUES(7,142); -INSERT INTO product_slots VALUES(7,143); -INSERT INTO product_slots VALUES(7,145); -INSERT INTO product_slots VALUES(7,146); -INSERT INTO product_slots VALUES(7,147); -INSERT INTO product_slots VALUES(7,148); -INSERT INTO product_slots VALUES(7,149); -INSERT INTO product_slots VALUES(7,150); -INSERT INTO product_slots VALUES(7,151); -INSERT INTO product_slots VALUES(7,152); -INSERT INTO product_slots VALUES(7,153); -INSERT INTO product_slots VALUES(7,154); -INSERT INTO product_slots VALUES(7,155); -INSERT INTO product_slots VALUES(7,156); -INSERT INTO product_slots VALUES(7,157); -INSERT INTO product_slots VALUES(7,158); -INSERT INTO product_slots VALUES(7,159); -INSERT INTO product_slots VALUES(7,160); -INSERT INTO product_slots VALUES(7,161); -INSERT INTO product_slots VALUES(7,162); -INSERT INTO product_slots VALUES(7,163); -INSERT INTO product_slots VALUES(7,164); -INSERT INTO product_slots VALUES(7,165); -INSERT INTO product_slots VALUES(7,166); -INSERT INTO product_slots VALUES(7,167); -INSERT INTO product_slots VALUES(7,168); -INSERT INTO product_slots VALUES(7,169); -INSERT INTO product_slots VALUES(7,170); -INSERT INTO product_slots VALUES(7,171); -INSERT INTO product_slots VALUES(7,172); -INSERT INTO product_slots VALUES(7,173); -INSERT INTO product_slots VALUES(7,174); -INSERT INTO product_slots VALUES(7,175); -INSERT INTO product_slots VALUES(7,176); -INSERT INTO product_slots VALUES(7,177); -INSERT INTO product_slots VALUES(7,178); -INSERT INTO product_slots VALUES(7,179); -INSERT INTO product_slots VALUES(7,180); -INSERT INTO product_slots VALUES(7,181); -INSERT INTO product_slots VALUES(7,182); -INSERT INTO product_slots VALUES(7,183); -INSERT INTO product_slots VALUES(7,184); -INSERT INTO product_slots VALUES(7,185); -INSERT INTO product_slots VALUES(7,186); -INSERT INTO product_slots VALUES(7,187); -INSERT INTO product_slots VALUES(7,188); -INSERT INTO product_slots VALUES(7,189); -INSERT INTO product_slots VALUES(7,190); -INSERT INTO product_slots VALUES(7,191); -INSERT INTO product_slots VALUES(7,192); -INSERT INTO product_slots VALUES(7,193); -INSERT INTO product_slots VALUES(7,194); -INSERT INTO product_slots VALUES(7,195); -INSERT INTO product_slots VALUES(7,196); -INSERT INTO product_slots VALUES(7,197); -INSERT INTO product_slots VALUES(7,198); -INSERT INTO product_slots VALUES(7,199); -INSERT INTO product_slots VALUES(7,200); -INSERT INTO product_slots VALUES(7,201); -INSERT INTO product_slots VALUES(7,202); -INSERT INTO product_slots VALUES(7,203); -INSERT INTO product_slots VALUES(7,204); -INSERT INTO product_slots VALUES(7,205); -INSERT INTO product_slots VALUES(7,206); -INSERT INTO product_slots VALUES(7,207); -INSERT INTO product_slots VALUES(7,208); -INSERT INTO product_slots VALUES(7,209); -INSERT INTO product_slots VALUES(7,210); -INSERT INTO product_slots VALUES(7,211); -INSERT INTO product_slots VALUES(7,212); -INSERT INTO product_slots VALUES(7,213); -INSERT INTO product_slots VALUES(7,214); -INSERT INTO product_slots VALUES(7,215); -INSERT INTO product_slots VALUES(7,216); -INSERT INTO product_slots VALUES(7,217); -INSERT INTO product_slots VALUES(7,218); -INSERT INTO product_slots VALUES(7,219); -INSERT INTO product_slots VALUES(7,220); -INSERT INTO product_slots VALUES(7,221); -INSERT INTO product_slots VALUES(7,222); -INSERT INTO product_slots VALUES(7,223); -INSERT INTO product_slots VALUES(7,224); -INSERT INTO product_slots VALUES(7,225); -INSERT INTO product_slots VALUES(7,226); -INSERT INTO product_slots VALUES(7,227); -INSERT INTO product_slots VALUES(7,228); -INSERT INTO product_slots VALUES(7,229); -INSERT INTO product_slots VALUES(7,230); -INSERT INTO product_slots VALUES(7,231); -INSERT INTO product_slots VALUES(7,232); -INSERT INTO product_slots VALUES(7,233); -INSERT INTO product_slots VALUES(7,234); -INSERT INTO product_slots VALUES(7,235); -INSERT INTO product_slots VALUES(7,236); -INSERT INTO product_slots VALUES(7,237); -INSERT INTO product_slots VALUES(7,238); -INSERT INTO product_slots VALUES(7,239); -INSERT INTO product_slots VALUES(7,240); -INSERT INTO product_slots VALUES(7,241); -INSERT INTO product_slots VALUES(7,242); -INSERT INTO product_slots VALUES(7,243); -INSERT INTO product_slots VALUES(7,244); -INSERT INTO product_slots VALUES(7,274); -INSERT INTO product_slots VALUES(7,275); -INSERT INTO product_slots VALUES(7,279); -INSERT INTO product_slots VALUES(7,280); -INSERT INTO product_slots VALUES(7,281); -INSERT INTO product_slots VALUES(7,282); -INSERT INTO product_slots VALUES(7,283); -INSERT INTO product_slots VALUES(7,284); -INSERT INTO product_slots VALUES(7,285); -INSERT INTO product_slots VALUES(7,286); -INSERT INTO product_slots VALUES(7,287); -INSERT INTO product_slots VALUES(8,1); -INSERT INTO product_slots VALUES(8,2); -INSERT INTO product_slots VALUES(8,3); -INSERT INTO product_slots VALUES(8,4); -INSERT INTO product_slots VALUES(8,5); -INSERT INTO product_slots VALUES(8,6); -INSERT INTO product_slots VALUES(8,7); -INSERT INTO product_slots VALUES(8,12); -INSERT INTO product_slots VALUES(8,17); -INSERT INTO product_slots VALUES(8,18); -INSERT INTO product_slots VALUES(8,20); -INSERT INTO product_slots VALUES(8,21); -INSERT INTO product_slots VALUES(8,22); -INSERT INTO product_slots VALUES(8,33); -INSERT INTO product_slots VALUES(8,35); -INSERT INTO product_slots VALUES(8,37); -INSERT INTO product_slots VALUES(8,38); -INSERT INTO product_slots VALUES(8,39); -INSERT INTO product_slots VALUES(8,40); -INSERT INTO product_slots VALUES(8,43); -INSERT INTO product_slots VALUES(8,45); -INSERT INTO product_slots VALUES(8,46); -INSERT INTO product_slots VALUES(8,48); -INSERT INTO product_slots VALUES(8,49); -INSERT INTO product_slots VALUES(8,51); -INSERT INTO product_slots VALUES(8,52); -INSERT INTO product_slots VALUES(8,53); -INSERT INTO product_slots VALUES(8,54); -INSERT INTO product_slots VALUES(8,57); -INSERT INTO product_slots VALUES(8,58); -INSERT INTO product_slots VALUES(8,59); -INSERT INTO product_slots VALUES(8,60); -INSERT INTO product_slots VALUES(8,61); -INSERT INTO product_slots VALUES(8,62); -INSERT INTO product_slots VALUES(8,63); -INSERT INTO product_slots VALUES(8,64); -INSERT INTO product_slots VALUES(8,65); -INSERT INTO product_slots VALUES(8,66); -INSERT INTO product_slots VALUES(8,67); -INSERT INTO product_slots VALUES(8,68); -INSERT INTO product_slots VALUES(8,69); -INSERT INTO product_slots VALUES(8,70); -INSERT INTO product_slots VALUES(8,71); -INSERT INTO product_slots VALUES(8,72); -INSERT INTO product_slots VALUES(8,73); -INSERT INTO product_slots VALUES(8,74); -INSERT INTO product_slots VALUES(8,75); -INSERT INTO product_slots VALUES(8,76); -INSERT INTO product_slots VALUES(8,77); -INSERT INTO product_slots VALUES(8,78); -INSERT INTO product_slots VALUES(8,79); -INSERT INTO product_slots VALUES(8,80); -INSERT INTO product_slots VALUES(8,81); -INSERT INTO product_slots VALUES(8,82); -INSERT INTO product_slots VALUES(8,83); -INSERT INTO product_slots VALUES(8,84); -INSERT INTO product_slots VALUES(8,85); -INSERT INTO product_slots VALUES(8,86); -INSERT INTO product_slots VALUES(8,87); -INSERT INTO product_slots VALUES(8,88); -INSERT INTO product_slots VALUES(8,89); -INSERT INTO product_slots VALUES(8,90); -INSERT INTO product_slots VALUES(8,91); -INSERT INTO product_slots VALUES(8,92); -INSERT INTO product_slots VALUES(8,93); -INSERT INTO product_slots VALUES(8,94); -INSERT INTO product_slots VALUES(8,95); -INSERT INTO product_slots VALUES(8,96); -INSERT INTO product_slots VALUES(8,97); -INSERT INTO product_slots VALUES(8,98); -INSERT INTO product_slots VALUES(8,99); -INSERT INTO product_slots VALUES(8,100); -INSERT INTO product_slots VALUES(8,102); -INSERT INTO product_slots VALUES(8,103); -INSERT INTO product_slots VALUES(8,104); -INSERT INTO product_slots VALUES(8,105); -INSERT INTO product_slots VALUES(8,106); -INSERT INTO product_slots VALUES(8,107); -INSERT INTO product_slots VALUES(8,108); -INSERT INTO product_slots VALUES(8,109); -INSERT INTO product_slots VALUES(8,110); -INSERT INTO product_slots VALUES(8,111); -INSERT INTO product_slots VALUES(8,112); -INSERT INTO product_slots VALUES(8,113); -INSERT INTO product_slots VALUES(8,114); -INSERT INTO product_slots VALUES(8,115); -INSERT INTO product_slots VALUES(8,117); -INSERT INTO product_slots VALUES(8,118); -INSERT INTO product_slots VALUES(8,119); -INSERT INTO product_slots VALUES(8,120); -INSERT INTO product_slots VALUES(8,121); -INSERT INTO product_slots VALUES(8,122); -INSERT INTO product_slots VALUES(8,123); -INSERT INTO product_slots VALUES(8,124); -INSERT INTO product_slots VALUES(8,125); -INSERT INTO product_slots VALUES(8,126); -INSERT INTO product_slots VALUES(8,127); -INSERT INTO product_slots VALUES(8,128); -INSERT INTO product_slots VALUES(8,129); -INSERT INTO product_slots VALUES(8,130); -INSERT INTO product_slots VALUES(8,131); -INSERT INTO product_slots VALUES(8,132); -INSERT INTO product_slots VALUES(8,133); -INSERT INTO product_slots VALUES(8,134); -INSERT INTO product_slots VALUES(8,135); -INSERT INTO product_slots VALUES(8,136); -INSERT INTO product_slots VALUES(8,138); -INSERT INTO product_slots VALUES(8,139); -INSERT INTO product_slots VALUES(8,140); -INSERT INTO product_slots VALUES(8,141); -INSERT INTO product_slots VALUES(8,142); -INSERT INTO product_slots VALUES(8,143); -INSERT INTO product_slots VALUES(8,145); -INSERT INTO product_slots VALUES(8,146); -INSERT INTO product_slots VALUES(8,147); -INSERT INTO product_slots VALUES(8,148); -INSERT INTO product_slots VALUES(8,149); -INSERT INTO product_slots VALUES(8,150); -INSERT INTO product_slots VALUES(8,151); -INSERT INTO product_slots VALUES(8,152); -INSERT INTO product_slots VALUES(8,153); -INSERT INTO product_slots VALUES(8,154); -INSERT INTO product_slots VALUES(8,155); -INSERT INTO product_slots VALUES(8,156); -INSERT INTO product_slots VALUES(8,157); -INSERT INTO product_slots VALUES(8,158); -INSERT INTO product_slots VALUES(8,159); -INSERT INTO product_slots VALUES(8,160); -INSERT INTO product_slots VALUES(8,161); -INSERT INTO product_slots VALUES(8,162); -INSERT INTO product_slots VALUES(8,163); -INSERT INTO product_slots VALUES(8,164); -INSERT INTO product_slots VALUES(8,165); -INSERT INTO product_slots VALUES(8,166); -INSERT INTO product_slots VALUES(8,167); -INSERT INTO product_slots VALUES(8,168); -INSERT INTO product_slots VALUES(8,169); -INSERT INTO product_slots VALUES(8,170); -INSERT INTO product_slots VALUES(8,171); -INSERT INTO product_slots VALUES(8,172); -INSERT INTO product_slots VALUES(8,173); -INSERT INTO product_slots VALUES(8,174); -INSERT INTO product_slots VALUES(8,175); -INSERT INTO product_slots VALUES(8,176); -INSERT INTO product_slots VALUES(8,177); -INSERT INTO product_slots VALUES(8,178); -INSERT INTO product_slots VALUES(8,179); -INSERT INTO product_slots VALUES(8,180); -INSERT INTO product_slots VALUES(8,181); -INSERT INTO product_slots VALUES(8,182); -INSERT INTO product_slots VALUES(8,183); -INSERT INTO product_slots VALUES(8,184); -INSERT INTO product_slots VALUES(8,185); -INSERT INTO product_slots VALUES(8,186); -INSERT INTO product_slots VALUES(8,187); -INSERT INTO product_slots VALUES(8,188); -INSERT INTO product_slots VALUES(8,189); -INSERT INTO product_slots VALUES(8,190); -INSERT INTO product_slots VALUES(8,191); -INSERT INTO product_slots VALUES(8,192); -INSERT INTO product_slots VALUES(8,193); -INSERT INTO product_slots VALUES(8,194); -INSERT INTO product_slots VALUES(8,195); -INSERT INTO product_slots VALUES(8,196); -INSERT INTO product_slots VALUES(8,197); -INSERT INTO product_slots VALUES(8,198); -INSERT INTO product_slots VALUES(8,199); -INSERT INTO product_slots VALUES(8,200); -INSERT INTO product_slots VALUES(8,201); -INSERT INTO product_slots VALUES(8,202); -INSERT INTO product_slots VALUES(8,203); -INSERT INTO product_slots VALUES(8,204); -INSERT INTO product_slots VALUES(8,205); -INSERT INTO product_slots VALUES(8,206); -INSERT INTO product_slots VALUES(8,207); -INSERT INTO product_slots VALUES(8,208); -INSERT INTO product_slots VALUES(8,209); -INSERT INTO product_slots VALUES(8,210); -INSERT INTO product_slots VALUES(8,211); -INSERT INTO product_slots VALUES(8,212); -INSERT INTO product_slots VALUES(8,213); -INSERT INTO product_slots VALUES(8,214); -INSERT INTO product_slots VALUES(8,215); -INSERT INTO product_slots VALUES(8,216); -INSERT INTO product_slots VALUES(8,217); -INSERT INTO product_slots VALUES(8,218); -INSERT INTO product_slots VALUES(8,219); -INSERT INTO product_slots VALUES(8,220); -INSERT INTO product_slots VALUES(8,221); -INSERT INTO product_slots VALUES(8,222); -INSERT INTO product_slots VALUES(8,223); -INSERT INTO product_slots VALUES(8,224); -INSERT INTO product_slots VALUES(8,225); -INSERT INTO product_slots VALUES(8,226); -INSERT INTO product_slots VALUES(8,227); -INSERT INTO product_slots VALUES(8,228); -INSERT INTO product_slots VALUES(8,229); -INSERT INTO product_slots VALUES(8,230); -INSERT INTO product_slots VALUES(8,231); -INSERT INTO product_slots VALUES(8,232); -INSERT INTO product_slots VALUES(8,233); -INSERT INTO product_slots VALUES(8,234); -INSERT INTO product_slots VALUES(8,235); -INSERT INTO product_slots VALUES(8,236); -INSERT INTO product_slots VALUES(8,237); -INSERT INTO product_slots VALUES(8,238); -INSERT INTO product_slots VALUES(8,239); -INSERT INTO product_slots VALUES(8,240); -INSERT INTO product_slots VALUES(8,241); -INSERT INTO product_slots VALUES(8,242); -INSERT INTO product_slots VALUES(8,243); -INSERT INTO product_slots VALUES(8,244); -INSERT INTO product_slots VALUES(8,274); -INSERT INTO product_slots VALUES(8,275); -INSERT INTO product_slots VALUES(8,279); -INSERT INTO product_slots VALUES(8,280); -INSERT INTO product_slots VALUES(8,281); -INSERT INTO product_slots VALUES(8,282); -INSERT INTO product_slots VALUES(8,283); -INSERT INTO product_slots VALUES(8,284); -INSERT INTO product_slots VALUES(8,285); -INSERT INTO product_slots VALUES(8,286); -INSERT INTO product_slots VALUES(8,287); -INSERT INTO product_slots VALUES(9,1); -INSERT INTO product_slots VALUES(9,2); -INSERT INTO product_slots VALUES(9,3); -INSERT INTO product_slots VALUES(9,4); -INSERT INTO product_slots VALUES(9,5); -INSERT INTO product_slots VALUES(9,6); -INSERT INTO product_slots VALUES(9,7); -INSERT INTO product_slots VALUES(9,12); -INSERT INTO product_slots VALUES(9,18); -INSERT INTO product_slots VALUES(9,19); -INSERT INTO product_slots VALUES(9,20); -INSERT INTO product_slots VALUES(9,21); -INSERT INTO product_slots VALUES(9,22); -INSERT INTO product_slots VALUES(9,33); -INSERT INTO product_slots VALUES(9,35); -INSERT INTO product_slots VALUES(9,37); -INSERT INTO product_slots VALUES(9,38); -INSERT INTO product_slots VALUES(9,39); -INSERT INTO product_slots VALUES(9,40); -INSERT INTO product_slots VALUES(9,43); -INSERT INTO product_slots VALUES(9,45); -INSERT INTO product_slots VALUES(9,48); -INSERT INTO product_slots VALUES(9,49); -INSERT INTO product_slots VALUES(9,51); -INSERT INTO product_slots VALUES(9,52); -INSERT INTO product_slots VALUES(9,57); -INSERT INTO product_slots VALUES(9,58); -INSERT INTO product_slots VALUES(9,59); -INSERT INTO product_slots VALUES(9,62); -INSERT INTO product_slots VALUES(9,63); -INSERT INTO product_slots VALUES(9,64); -INSERT INTO product_slots VALUES(9,65); -INSERT INTO product_slots VALUES(9,66); -INSERT INTO product_slots VALUES(9,67); -INSERT INTO product_slots VALUES(9,69); -INSERT INTO product_slots VALUES(9,70); -INSERT INTO product_slots VALUES(9,71); -INSERT INTO product_slots VALUES(9,72); -INSERT INTO product_slots VALUES(9,73); -INSERT INTO product_slots VALUES(9,75); -INSERT INTO product_slots VALUES(9,82); -INSERT INTO product_slots VALUES(9,83); -INSERT INTO product_slots VALUES(9,84); -INSERT INTO product_slots VALUES(9,90); -INSERT INTO product_slots VALUES(9,91); -INSERT INTO product_slots VALUES(9,92); -INSERT INTO product_slots VALUES(9,93); -INSERT INTO product_slots VALUES(9,94); -INSERT INTO product_slots VALUES(9,97); -INSERT INTO product_slots VALUES(9,98); -INSERT INTO product_slots VALUES(9,99); -INSERT INTO product_slots VALUES(9,100); -INSERT INTO product_slots VALUES(9,102); -INSERT INTO product_slots VALUES(9,103); -INSERT INTO product_slots VALUES(9,104); -INSERT INTO product_slots VALUES(9,110); -INSERT INTO product_slots VALUES(9,111); -INSERT INTO product_slots VALUES(9,112); -INSERT INTO product_slots VALUES(9,116); -INSERT INTO product_slots VALUES(9,117); -INSERT INTO product_slots VALUES(9,118); -INSERT INTO product_slots VALUES(9,119); -INSERT INTO product_slots VALUES(9,120); -INSERT INTO product_slots VALUES(9,121); -INSERT INTO product_slots VALUES(9,122); -INSERT INTO product_slots VALUES(9,123); -INSERT INTO product_slots VALUES(9,124); -INSERT INTO product_slots VALUES(9,125); -INSERT INTO product_slots VALUES(9,126); -INSERT INTO product_slots VALUES(9,127); -INSERT INTO product_slots VALUES(9,128); -INSERT INTO product_slots VALUES(9,129); -INSERT INTO product_slots VALUES(9,130); -INSERT INTO product_slots VALUES(9,131); -INSERT INTO product_slots VALUES(9,132); -INSERT INTO product_slots VALUES(9,133); -INSERT INTO product_slots VALUES(9,134); -INSERT INTO product_slots VALUES(9,135); -INSERT INTO product_slots VALUES(9,136); -INSERT INTO product_slots VALUES(9,137); -INSERT INTO product_slots VALUES(9,138); -INSERT INTO product_slots VALUES(9,139); -INSERT INTO product_slots VALUES(9,140); -INSERT INTO product_slots VALUES(9,141); -INSERT INTO product_slots VALUES(9,142); -INSERT INTO product_slots VALUES(9,143); -INSERT INTO product_slots VALUES(9,144); -INSERT INTO product_slots VALUES(9,145); -INSERT INTO product_slots VALUES(9,146); -INSERT INTO product_slots VALUES(9,147); -INSERT INTO product_slots VALUES(9,148); -INSERT INTO product_slots VALUES(9,149); -INSERT INTO product_slots VALUES(9,150); -INSERT INTO product_slots VALUES(9,151); -INSERT INTO product_slots VALUES(9,152); -INSERT INTO product_slots VALUES(9,153); -INSERT INTO product_slots VALUES(9,154); -INSERT INTO product_slots VALUES(9,155); -INSERT INTO product_slots VALUES(9,156); -INSERT INTO product_slots VALUES(9,157); -INSERT INTO product_slots VALUES(9,158); -INSERT INTO product_slots VALUES(9,159); -INSERT INTO product_slots VALUES(9,160); -INSERT INTO product_slots VALUES(9,161); -INSERT INTO product_slots VALUES(9,162); -INSERT INTO product_slots VALUES(9,163); -INSERT INTO product_slots VALUES(9,164); -INSERT INTO product_slots VALUES(9,165); -INSERT INTO product_slots VALUES(9,166); -INSERT INTO product_slots VALUES(9,167); -INSERT INTO product_slots VALUES(9,168); -INSERT INTO product_slots VALUES(9,169); -INSERT INTO product_slots VALUES(9,170); -INSERT INTO product_slots VALUES(9,171); -INSERT INTO product_slots VALUES(9,172); -INSERT INTO product_slots VALUES(9,173); -INSERT INTO product_slots VALUES(9,174); -INSERT INTO product_slots VALUES(9,175); -INSERT INTO product_slots VALUES(9,176); -INSERT INTO product_slots VALUES(9,177); -INSERT INTO product_slots VALUES(9,178); -INSERT INTO product_slots VALUES(9,179); -INSERT INTO product_slots VALUES(9,180); -INSERT INTO product_slots VALUES(9,181); -INSERT INTO product_slots VALUES(9,182); -INSERT INTO product_slots VALUES(9,183); -INSERT INTO product_slots VALUES(9,184); -INSERT INTO product_slots VALUES(9,185); -INSERT INTO product_slots VALUES(9,186); -INSERT INTO product_slots VALUES(9,187); -INSERT INTO product_slots VALUES(9,188); -INSERT INTO product_slots VALUES(9,189); -INSERT INTO product_slots VALUES(9,190); -INSERT INTO product_slots VALUES(9,191); -INSERT INTO product_slots VALUES(9,192); -INSERT INTO product_slots VALUES(9,193); -INSERT INTO product_slots VALUES(9,194); -INSERT INTO product_slots VALUES(9,195); -INSERT INTO product_slots VALUES(9,196); -INSERT INTO product_slots VALUES(9,197); -INSERT INTO product_slots VALUES(9,198); -INSERT INTO product_slots VALUES(9,199); -INSERT INTO product_slots VALUES(9,200); -INSERT INTO product_slots VALUES(9,201); -INSERT INTO product_slots VALUES(9,202); -INSERT INTO product_slots VALUES(9,203); -INSERT INTO product_slots VALUES(9,204); -INSERT INTO product_slots VALUES(9,205); -INSERT INTO product_slots VALUES(9,206); -INSERT INTO product_slots VALUES(9,207); -INSERT INTO product_slots VALUES(9,208); -INSERT INTO product_slots VALUES(9,209); -INSERT INTO product_slots VALUES(9,210); -INSERT INTO product_slots VALUES(9,211); -INSERT INTO product_slots VALUES(9,212); -INSERT INTO product_slots VALUES(9,213); -INSERT INTO product_slots VALUES(9,214); -INSERT INTO product_slots VALUES(9,215); -INSERT INTO product_slots VALUES(9,216); -INSERT INTO product_slots VALUES(9,217); -INSERT INTO product_slots VALUES(9,218); -INSERT INTO product_slots VALUES(9,219); -INSERT INTO product_slots VALUES(9,220); -INSERT INTO product_slots VALUES(9,221); -INSERT INTO product_slots VALUES(9,222); -INSERT INTO product_slots VALUES(9,223); -INSERT INTO product_slots VALUES(9,224); -INSERT INTO product_slots VALUES(9,225); -INSERT INTO product_slots VALUES(9,226); -INSERT INTO product_slots VALUES(9,227); -INSERT INTO product_slots VALUES(9,228); -INSERT INTO product_slots VALUES(9,229); -INSERT INTO product_slots VALUES(9,230); -INSERT INTO product_slots VALUES(9,231); -INSERT INTO product_slots VALUES(9,232); -INSERT INTO product_slots VALUES(9,233); -INSERT INTO product_slots VALUES(9,234); -INSERT INTO product_slots VALUES(9,235); -INSERT INTO product_slots VALUES(9,236); -INSERT INTO product_slots VALUES(9,237); -INSERT INTO product_slots VALUES(9,238); -INSERT INTO product_slots VALUES(9,239); -INSERT INTO product_slots VALUES(9,240); -INSERT INTO product_slots VALUES(9,241); -INSERT INTO product_slots VALUES(9,242); -INSERT INTO product_slots VALUES(9,243); -INSERT INTO product_slots VALUES(9,244); -INSERT INTO product_slots VALUES(9,274); -INSERT INTO product_slots VALUES(9,275); -INSERT INTO product_slots VALUES(9,279); -INSERT INTO product_slots VALUES(9,280); -INSERT INTO product_slots VALUES(9,281); -INSERT INTO product_slots VALUES(9,282); -INSERT INTO product_slots VALUES(9,283); -INSERT INTO product_slots VALUES(9,284); -INSERT INTO product_slots VALUES(9,285); -INSERT INTO product_slots VALUES(9,286); -INSERT INTO product_slots VALUES(9,287); -INSERT INTO product_slots VALUES(10,1); -INSERT INTO product_slots VALUES(10,3); -INSERT INTO product_slots VALUES(10,4); -INSERT INTO product_slots VALUES(10,5); -INSERT INTO product_slots VALUES(10,6); -INSERT INTO product_slots VALUES(10,7); -INSERT INTO product_slots VALUES(10,12); -INSERT INTO product_slots VALUES(10,18); -INSERT INTO product_slots VALUES(10,19); -INSERT INTO product_slots VALUES(10,20); -INSERT INTO product_slots VALUES(10,21); -INSERT INTO product_slots VALUES(10,22); -INSERT INTO product_slots VALUES(10,23); -INSERT INTO product_slots VALUES(10,31); -INSERT INTO product_slots VALUES(10,33); -INSERT INTO product_slots VALUES(10,35); -INSERT INTO product_slots VALUES(10,37); -INSERT INTO product_slots VALUES(10,38); -INSERT INTO product_slots VALUES(10,39); -INSERT INTO product_slots VALUES(10,40); -INSERT INTO product_slots VALUES(10,41); -INSERT INTO product_slots VALUES(10,43); -INSERT INTO product_slots VALUES(10,45); -INSERT INTO product_slots VALUES(10,46); -INSERT INTO product_slots VALUES(10,47); -INSERT INTO product_slots VALUES(10,48); -INSERT INTO product_slots VALUES(10,49); -INSERT INTO product_slots VALUES(10,50); -INSERT INTO product_slots VALUES(10,51); -INSERT INTO product_slots VALUES(10,52); -INSERT INTO product_slots VALUES(10,53); -INSERT INTO product_slots VALUES(10,54); -INSERT INTO product_slots VALUES(10,55); -INSERT INTO product_slots VALUES(10,56); -INSERT INTO product_slots VALUES(10,57); -INSERT INTO product_slots VALUES(10,58); -INSERT INTO product_slots VALUES(10,59); -INSERT INTO product_slots VALUES(10,60); -INSERT INTO product_slots VALUES(10,61); -INSERT INTO product_slots VALUES(10,62); -INSERT INTO product_slots VALUES(10,63); -INSERT INTO product_slots VALUES(10,64); -INSERT INTO product_slots VALUES(10,65); -INSERT INTO product_slots VALUES(10,66); -INSERT INTO product_slots VALUES(10,67); -INSERT INTO product_slots VALUES(10,68); -INSERT INTO product_slots VALUES(10,69); -INSERT INTO product_slots VALUES(10,70); -INSERT INTO product_slots VALUES(10,71); -INSERT INTO product_slots VALUES(10,72); -INSERT INTO product_slots VALUES(10,73); -INSERT INTO product_slots VALUES(10,74); -INSERT INTO product_slots VALUES(10,75); -INSERT INTO product_slots VALUES(10,76); -INSERT INTO product_slots VALUES(10,77); -INSERT INTO product_slots VALUES(10,78); -INSERT INTO product_slots VALUES(10,79); -INSERT INTO product_slots VALUES(10,80); -INSERT INTO product_slots VALUES(10,81); -INSERT INTO product_slots VALUES(10,82); -INSERT INTO product_slots VALUES(10,83); -INSERT INTO product_slots VALUES(10,84); -INSERT INTO product_slots VALUES(10,85); -INSERT INTO product_slots VALUES(10,86); -INSERT INTO product_slots VALUES(10,87); -INSERT INTO product_slots VALUES(10,88); -INSERT INTO product_slots VALUES(10,89); -INSERT INTO product_slots VALUES(10,90); -INSERT INTO product_slots VALUES(10,91); -INSERT INTO product_slots VALUES(10,92); -INSERT INTO product_slots VALUES(10,93); -INSERT INTO product_slots VALUES(10,94); -INSERT INTO product_slots VALUES(10,95); -INSERT INTO product_slots VALUES(10,96); -INSERT INTO product_slots VALUES(10,97); -INSERT INTO product_slots VALUES(10,98); -INSERT INTO product_slots VALUES(10,99); -INSERT INTO product_slots VALUES(10,100); -INSERT INTO product_slots VALUES(10,101); -INSERT INTO product_slots VALUES(10,102); -INSERT INTO product_slots VALUES(10,103); -INSERT INTO product_slots VALUES(10,104); -INSERT INTO product_slots VALUES(10,105); -INSERT INTO product_slots VALUES(10,106); -INSERT INTO product_slots VALUES(10,107); -INSERT INTO product_slots VALUES(10,108); -INSERT INTO product_slots VALUES(10,109); -INSERT INTO product_slots VALUES(10,110); -INSERT INTO product_slots VALUES(10,111); -INSERT INTO product_slots VALUES(10,112); -INSERT INTO product_slots VALUES(10,113); -INSERT INTO product_slots VALUES(10,114); -INSERT INTO product_slots VALUES(10,115); -INSERT INTO product_slots VALUES(10,116); -INSERT INTO product_slots VALUES(10,117); -INSERT INTO product_slots VALUES(10,118); -INSERT INTO product_slots VALUES(10,119); -INSERT INTO product_slots VALUES(10,120); -INSERT INTO product_slots VALUES(10,121); -INSERT INTO product_slots VALUES(10,122); -INSERT INTO product_slots VALUES(10,123); -INSERT INTO product_slots VALUES(10,124); -INSERT INTO product_slots VALUES(10,125); -INSERT INTO product_slots VALUES(10,126); -INSERT INTO product_slots VALUES(10,127); -INSERT INTO product_slots VALUES(10,128); -INSERT INTO product_slots VALUES(10,129); -INSERT INTO product_slots VALUES(10,130); -INSERT INTO product_slots VALUES(10,131); -INSERT INTO product_slots VALUES(10,132); -INSERT INTO product_slots VALUES(10,133); -INSERT INTO product_slots VALUES(10,134); -INSERT INTO product_slots VALUES(10,135); -INSERT INTO product_slots VALUES(10,136); -INSERT INTO product_slots VALUES(10,137); -INSERT INTO product_slots VALUES(10,138); -INSERT INTO product_slots VALUES(10,139); -INSERT INTO product_slots VALUES(10,140); -INSERT INTO product_slots VALUES(10,141); -INSERT INTO product_slots VALUES(10,142); -INSERT INTO product_slots VALUES(10,143); -INSERT INTO product_slots VALUES(10,144); -INSERT INTO product_slots VALUES(10,145); -INSERT INTO product_slots VALUES(10,146); -INSERT INTO product_slots VALUES(10,147); -INSERT INTO product_slots VALUES(10,148); -INSERT INTO product_slots VALUES(10,149); -INSERT INTO product_slots VALUES(10,150); -INSERT INTO product_slots VALUES(10,151); -INSERT INTO product_slots VALUES(10,152); -INSERT INTO product_slots VALUES(10,153); -INSERT INTO product_slots VALUES(10,154); -INSERT INTO product_slots VALUES(10,155); -INSERT INTO product_slots VALUES(10,156); -INSERT INTO product_slots VALUES(10,157); -INSERT INTO product_slots VALUES(10,158); -INSERT INTO product_slots VALUES(10,159); -INSERT INTO product_slots VALUES(10,160); -INSERT INTO product_slots VALUES(10,161); -INSERT INTO product_slots VALUES(10,162); -INSERT INTO product_slots VALUES(10,163); -INSERT INTO product_slots VALUES(10,164); -INSERT INTO product_slots VALUES(10,165); -INSERT INTO product_slots VALUES(10,166); -INSERT INTO product_slots VALUES(10,167); -INSERT INTO product_slots VALUES(10,168); -INSERT INTO product_slots VALUES(10,169); -INSERT INTO product_slots VALUES(10,170); -INSERT INTO product_slots VALUES(10,171); -INSERT INTO product_slots VALUES(10,172); -INSERT INTO product_slots VALUES(10,173); -INSERT INTO product_slots VALUES(10,174); -INSERT INTO product_slots VALUES(10,175); -INSERT INTO product_slots VALUES(10,176); -INSERT INTO product_slots VALUES(10,177); -INSERT INTO product_slots VALUES(10,178); -INSERT INTO product_slots VALUES(10,179); -INSERT INTO product_slots VALUES(10,180); -INSERT INTO product_slots VALUES(10,181); -INSERT INTO product_slots VALUES(10,182); -INSERT INTO product_slots VALUES(10,183); -INSERT INTO product_slots VALUES(10,184); -INSERT INTO product_slots VALUES(10,185); -INSERT INTO product_slots VALUES(10,186); -INSERT INTO product_slots VALUES(10,187); -INSERT INTO product_slots VALUES(10,188); -INSERT INTO product_slots VALUES(10,189); -INSERT INTO product_slots VALUES(10,190); -INSERT INTO product_slots VALUES(10,191); -INSERT INTO product_slots VALUES(10,192); -INSERT INTO product_slots VALUES(10,193); -INSERT INTO product_slots VALUES(10,194); -INSERT INTO product_slots VALUES(10,195); -INSERT INTO product_slots VALUES(10,196); -INSERT INTO product_slots VALUES(10,197); -INSERT INTO product_slots VALUES(10,198); -INSERT INTO product_slots VALUES(10,199); -INSERT INTO product_slots VALUES(10,200); -INSERT INTO product_slots VALUES(10,201); -INSERT INTO product_slots VALUES(10,202); -INSERT INTO product_slots VALUES(10,203); -INSERT INTO product_slots VALUES(10,204); -INSERT INTO product_slots VALUES(10,205); -INSERT INTO product_slots VALUES(10,206); -INSERT INTO product_slots VALUES(10,207); -INSERT INTO product_slots VALUES(10,208); -INSERT INTO product_slots VALUES(10,209); -INSERT INTO product_slots VALUES(10,210); -INSERT INTO product_slots VALUES(10,211); -INSERT INTO product_slots VALUES(10,212); -INSERT INTO product_slots VALUES(10,213); -INSERT INTO product_slots VALUES(10,214); -INSERT INTO product_slots VALUES(10,215); -INSERT INTO product_slots VALUES(10,216); -INSERT INTO product_slots VALUES(10,217); -INSERT INTO product_slots VALUES(10,218); -INSERT INTO product_slots VALUES(10,219); -INSERT INTO product_slots VALUES(10,220); -INSERT INTO product_slots VALUES(10,221); -INSERT INTO product_slots VALUES(10,222); -INSERT INTO product_slots VALUES(10,223); -INSERT INTO product_slots VALUES(10,224); -INSERT INTO product_slots VALUES(10,225); -INSERT INTO product_slots VALUES(10,226); -INSERT INTO product_slots VALUES(10,227); -INSERT INTO product_slots VALUES(10,228); -INSERT INTO product_slots VALUES(10,229); -INSERT INTO product_slots VALUES(10,230); -INSERT INTO product_slots VALUES(10,231); -INSERT INTO product_slots VALUES(10,232); -INSERT INTO product_slots VALUES(10,234); -INSERT INTO product_slots VALUES(10,235); -INSERT INTO product_slots VALUES(10,236); -INSERT INTO product_slots VALUES(10,237); -INSERT INTO product_slots VALUES(10,238); -INSERT INTO product_slots VALUES(10,239); -INSERT INTO product_slots VALUES(10,240); -INSERT INTO product_slots VALUES(10,241); -INSERT INTO product_slots VALUES(10,242); -INSERT INTO product_slots VALUES(10,243); -INSERT INTO product_slots VALUES(10,244); -INSERT INTO product_slots VALUES(10,274); -INSERT INTO product_slots VALUES(10,275); -INSERT INTO product_slots VALUES(10,279); -INSERT INTO product_slots VALUES(10,280); -INSERT INTO product_slots VALUES(10,281); -INSERT INTO product_slots VALUES(10,282); -INSERT INTO product_slots VALUES(11,1); -INSERT INTO product_slots VALUES(11,3); -INSERT INTO product_slots VALUES(11,4); -INSERT INTO product_slots VALUES(11,5); -INSERT INTO product_slots VALUES(11,6); -INSERT INTO product_slots VALUES(11,7); -INSERT INTO product_slots VALUES(11,8); -INSERT INTO product_slots VALUES(11,9); -INSERT INTO product_slots VALUES(11,12); -INSERT INTO product_slots VALUES(11,16); -INSERT INTO product_slots VALUES(11,18); -INSERT INTO product_slots VALUES(11,20); -INSERT INTO product_slots VALUES(11,21); -INSERT INTO product_slots VALUES(11,22); -INSERT INTO product_slots VALUES(11,33); -INSERT INTO product_slots VALUES(11,35); -INSERT INTO product_slots VALUES(11,37); -INSERT INTO product_slots VALUES(11,38); -INSERT INTO product_slots VALUES(11,40); -INSERT INTO product_slots VALUES(11,59); -INSERT INTO product_slots VALUES(11,62); -INSERT INTO product_slots VALUES(11,63); -INSERT INTO product_slots VALUES(11,64); -INSERT INTO product_slots VALUES(11,65); -INSERT INTO product_slots VALUES(11,66); -INSERT INTO product_slots VALUES(11,67); -INSERT INTO product_slots VALUES(11,68); -INSERT INTO product_slots VALUES(11,69); -INSERT INTO product_slots VALUES(11,70); -INSERT INTO product_slots VALUES(11,71); -INSERT INTO product_slots VALUES(11,72); -INSERT INTO product_slots VALUES(11,73); -INSERT INTO product_slots VALUES(11,74); -INSERT INTO product_slots VALUES(11,75); -INSERT INTO product_slots VALUES(11,76); -INSERT INTO product_slots VALUES(11,77); -INSERT INTO product_slots VALUES(11,78); -INSERT INTO product_slots VALUES(11,79); -INSERT INTO product_slots VALUES(11,80); -INSERT INTO product_slots VALUES(11,81); -INSERT INTO product_slots VALUES(11,82); -INSERT INTO product_slots VALUES(11,83); -INSERT INTO product_slots VALUES(11,84); -INSERT INTO product_slots VALUES(11,85); -INSERT INTO product_slots VALUES(11,86); -INSERT INTO product_slots VALUES(11,87); -INSERT INTO product_slots VALUES(11,88); -INSERT INTO product_slots VALUES(11,89); -INSERT INTO product_slots VALUES(11,90); -INSERT INTO product_slots VALUES(11,91); -INSERT INTO product_slots VALUES(11,92); -INSERT INTO product_slots VALUES(11,93); -INSERT INTO product_slots VALUES(11,94); -INSERT INTO product_slots VALUES(11,95); -INSERT INTO product_slots VALUES(11,96); -INSERT INTO product_slots VALUES(11,97); -INSERT INTO product_slots VALUES(11,98); -INSERT INTO product_slots VALUES(11,99); -INSERT INTO product_slots VALUES(11,100); -INSERT INTO product_slots VALUES(11,102); -INSERT INTO product_slots VALUES(11,103); -INSERT INTO product_slots VALUES(11,104); -INSERT INTO product_slots VALUES(11,105); -INSERT INTO product_slots VALUES(11,106); -INSERT INTO product_slots VALUES(11,107); -INSERT INTO product_slots VALUES(11,108); -INSERT INTO product_slots VALUES(11,109); -INSERT INTO product_slots VALUES(11,110); -INSERT INTO product_slots VALUES(11,111); -INSERT INTO product_slots VALUES(11,112); -INSERT INTO product_slots VALUES(11,113); -INSERT INTO product_slots VALUES(11,114); -INSERT INTO product_slots VALUES(11,115); -INSERT INTO product_slots VALUES(11,117); -INSERT INTO product_slots VALUES(11,118); -INSERT INTO product_slots VALUES(11,119); -INSERT INTO product_slots VALUES(11,120); -INSERT INTO product_slots VALUES(11,121); -INSERT INTO product_slots VALUES(11,122); -INSERT INTO product_slots VALUES(11,123); -INSERT INTO product_slots VALUES(11,124); -INSERT INTO product_slots VALUES(11,125); -INSERT INTO product_slots VALUES(11,126); -INSERT INTO product_slots VALUES(11,127); -INSERT INTO product_slots VALUES(11,128); -INSERT INTO product_slots VALUES(11,129); -INSERT INTO product_slots VALUES(11,130); -INSERT INTO product_slots VALUES(11,131); -INSERT INTO product_slots VALUES(11,132); -INSERT INTO product_slots VALUES(11,133); -INSERT INTO product_slots VALUES(11,134); -INSERT INTO product_slots VALUES(11,135); -INSERT INTO product_slots VALUES(11,136); -INSERT INTO product_slots VALUES(11,138); -INSERT INTO product_slots VALUES(11,139); -INSERT INTO product_slots VALUES(11,140); -INSERT INTO product_slots VALUES(11,141); -INSERT INTO product_slots VALUES(11,142); -INSERT INTO product_slots VALUES(11,143); -INSERT INTO product_slots VALUES(11,145); -INSERT INTO product_slots VALUES(11,146); -INSERT INTO product_slots VALUES(11,147); -INSERT INTO product_slots VALUES(11,148); -INSERT INTO product_slots VALUES(11,149); -INSERT INTO product_slots VALUES(11,150); -INSERT INTO product_slots VALUES(11,151); -INSERT INTO product_slots VALUES(11,152); -INSERT INTO product_slots VALUES(11,153); -INSERT INTO product_slots VALUES(11,154); -INSERT INTO product_slots VALUES(11,155); -INSERT INTO product_slots VALUES(11,156); -INSERT INTO product_slots VALUES(11,157); -INSERT INTO product_slots VALUES(11,158); -INSERT INTO product_slots VALUES(11,159); -INSERT INTO product_slots VALUES(11,160); -INSERT INTO product_slots VALUES(11,161); -INSERT INTO product_slots VALUES(11,162); -INSERT INTO product_slots VALUES(11,163); -INSERT INTO product_slots VALUES(11,164); -INSERT INTO product_slots VALUES(11,165); -INSERT INTO product_slots VALUES(11,166); -INSERT INTO product_slots VALUES(11,167); -INSERT INTO product_slots VALUES(11,168); -INSERT INTO product_slots VALUES(11,169); -INSERT INTO product_slots VALUES(11,170); -INSERT INTO product_slots VALUES(11,171); -INSERT INTO product_slots VALUES(11,172); -INSERT INTO product_slots VALUES(11,173); -INSERT INTO product_slots VALUES(11,174); -INSERT INTO product_slots VALUES(11,175); -INSERT INTO product_slots VALUES(11,176); -INSERT INTO product_slots VALUES(11,177); -INSERT INTO product_slots VALUES(11,178); -INSERT INTO product_slots VALUES(11,179); -INSERT INTO product_slots VALUES(11,180); -INSERT INTO product_slots VALUES(11,181); -INSERT INTO product_slots VALUES(11,182); -INSERT INTO product_slots VALUES(11,183); -INSERT INTO product_slots VALUES(11,184); -INSERT INTO product_slots VALUES(11,185); -INSERT INTO product_slots VALUES(11,186); -INSERT INTO product_slots VALUES(11,187); -INSERT INTO product_slots VALUES(11,188); -INSERT INTO product_slots VALUES(11,189); -INSERT INTO product_slots VALUES(11,190); -INSERT INTO product_slots VALUES(11,191); -INSERT INTO product_slots VALUES(11,192); -INSERT INTO product_slots VALUES(11,193); -INSERT INTO product_slots VALUES(11,194); -INSERT INTO product_slots VALUES(11,195); -INSERT INTO product_slots VALUES(11,196); -INSERT INTO product_slots VALUES(11,197); -INSERT INTO product_slots VALUES(11,198); -INSERT INTO product_slots VALUES(11,199); -INSERT INTO product_slots VALUES(11,200); -INSERT INTO product_slots VALUES(11,201); -INSERT INTO product_slots VALUES(11,202); -INSERT INTO product_slots VALUES(11,203); -INSERT INTO product_slots VALUES(11,204); -INSERT INTO product_slots VALUES(11,205); -INSERT INTO product_slots VALUES(11,206); -INSERT INTO product_slots VALUES(11,207); -INSERT INTO product_slots VALUES(11,208); -INSERT INTO product_slots VALUES(11,209); -INSERT INTO product_slots VALUES(11,210); -INSERT INTO product_slots VALUES(11,211); -INSERT INTO product_slots VALUES(11,212); -INSERT INTO product_slots VALUES(11,213); -INSERT INTO product_slots VALUES(11,214); -INSERT INTO product_slots VALUES(11,215); -INSERT INTO product_slots VALUES(11,216); -INSERT INTO product_slots VALUES(11,217); -INSERT INTO product_slots VALUES(11,218); -INSERT INTO product_slots VALUES(11,219); -INSERT INTO product_slots VALUES(11,220); -INSERT INTO product_slots VALUES(11,221); -INSERT INTO product_slots VALUES(11,222); -INSERT INTO product_slots VALUES(11,223); -INSERT INTO product_slots VALUES(11,224); -INSERT INTO product_slots VALUES(11,225); -INSERT INTO product_slots VALUES(11,226); -INSERT INTO product_slots VALUES(11,227); -INSERT INTO product_slots VALUES(11,228); -INSERT INTO product_slots VALUES(11,229); -INSERT INTO product_slots VALUES(11,230); -INSERT INTO product_slots VALUES(11,231); -INSERT INTO product_slots VALUES(11,232); -INSERT INTO product_slots VALUES(11,233); -INSERT INTO product_slots VALUES(11,234); -INSERT INTO product_slots VALUES(11,235); -INSERT INTO product_slots VALUES(11,236); -INSERT INTO product_slots VALUES(11,237); -INSERT INTO product_slots VALUES(11,238); -INSERT INTO product_slots VALUES(11,239); -INSERT INTO product_slots VALUES(11,240); -INSERT INTO product_slots VALUES(11,241); -INSERT INTO product_slots VALUES(11,242); -INSERT INTO product_slots VALUES(11,243); -INSERT INTO product_slots VALUES(11,244); -INSERT INTO product_slots VALUES(11,274); -INSERT INTO product_slots VALUES(11,275); -INSERT INTO product_slots VALUES(11,279); -INSERT INTO product_slots VALUES(11,280); -INSERT INTO product_slots VALUES(11,281); -INSERT INTO product_slots VALUES(11,282); -INSERT INTO product_slots VALUES(11,283); -INSERT INTO product_slots VALUES(11,284); -INSERT INTO product_slots VALUES(11,285); -INSERT INTO product_slots VALUES(11,286); -INSERT INTO product_slots VALUES(11,287); -INSERT INTO product_slots VALUES(12,5); -INSERT INTO product_slots VALUES(12,6); -INSERT INTO product_slots VALUES(12,7); -INSERT INTO product_slots VALUES(12,9); -INSERT INTO product_slots VALUES(12,16); -INSERT INTO product_slots VALUES(12,18); -INSERT INTO product_slots VALUES(12,20); -INSERT INTO product_slots VALUES(12,21); -INSERT INTO product_slots VALUES(12,22); -INSERT INTO product_slots VALUES(12,33); -INSERT INTO product_slots VALUES(12,35); -INSERT INTO product_slots VALUES(12,37); -INSERT INTO product_slots VALUES(12,38); -INSERT INTO product_slots VALUES(12,40); -INSERT INTO product_slots VALUES(13,5); -INSERT INTO product_slots VALUES(13,6); -INSERT INTO product_slots VALUES(13,7); -INSERT INTO product_slots VALUES(13,15); -INSERT INTO product_slots VALUES(13,16); -INSERT INTO product_slots VALUES(13,17); -INSERT INTO product_slots VALUES(13,18); -INSERT INTO product_slots VALUES(13,20); -INSERT INTO product_slots VALUES(13,21); -INSERT INTO product_slots VALUES(13,22); -INSERT INTO product_slots VALUES(13,33); -INSERT INTO product_slots VALUES(13,35); -INSERT INTO product_slots VALUES(13,37); -INSERT INTO product_slots VALUES(13,38); -INSERT INTO product_slots VALUES(13,39); -INSERT INTO product_slots VALUES(13,40); -INSERT INTO product_slots VALUES(13,43); -INSERT INTO product_slots VALUES(13,44); -INSERT INTO product_slots VALUES(13,45); -INSERT INTO product_slots VALUES(13,46); -INSERT INTO product_slots VALUES(13,47); -INSERT INTO product_slots VALUES(13,48); -INSERT INTO product_slots VALUES(13,49); -INSERT INTO product_slots VALUES(13,50); -INSERT INTO product_slots VALUES(13,51); -INSERT INTO product_slots VALUES(13,52); -INSERT INTO product_slots VALUES(13,53); -INSERT INTO product_slots VALUES(13,54); -INSERT INTO product_slots VALUES(13,55); -INSERT INTO product_slots VALUES(13,56); -INSERT INTO product_slots VALUES(13,57); -INSERT INTO product_slots VALUES(13,58); -INSERT INTO product_slots VALUES(13,59); -INSERT INTO product_slots VALUES(13,60); -INSERT INTO product_slots VALUES(13,61); -INSERT INTO product_slots VALUES(13,62); -INSERT INTO product_slots VALUES(13,63); -INSERT INTO product_slots VALUES(13,64); -INSERT INTO product_slots VALUES(13,65); -INSERT INTO product_slots VALUES(13,66); -INSERT INTO product_slots VALUES(13,67); -INSERT INTO product_slots VALUES(13,68); -INSERT INTO product_slots VALUES(13,69); -INSERT INTO product_slots VALUES(13,70); -INSERT INTO product_slots VALUES(13,71); -INSERT INTO product_slots VALUES(13,72); -INSERT INTO product_slots VALUES(13,73); -INSERT INTO product_slots VALUES(13,74); -INSERT INTO product_slots VALUES(13,75); -INSERT INTO product_slots VALUES(13,76); -INSERT INTO product_slots VALUES(13,77); -INSERT INTO product_slots VALUES(13,78); -INSERT INTO product_slots VALUES(13,79); -INSERT INTO product_slots VALUES(13,80); -INSERT INTO product_slots VALUES(13,81); -INSERT INTO product_slots VALUES(13,82); -INSERT INTO product_slots VALUES(13,83); -INSERT INTO product_slots VALUES(13,84); -INSERT INTO product_slots VALUES(13,85); -INSERT INTO product_slots VALUES(13,86); -INSERT INTO product_slots VALUES(13,87); -INSERT INTO product_slots VALUES(13,88); -INSERT INTO product_slots VALUES(13,89); -INSERT INTO product_slots VALUES(13,90); -INSERT INTO product_slots VALUES(13,91); -INSERT INTO product_slots VALUES(13,92); -INSERT INTO product_slots VALUES(13,93); -INSERT INTO product_slots VALUES(13,94); -INSERT INTO product_slots VALUES(13,95); -INSERT INTO product_slots VALUES(13,96); -INSERT INTO product_slots VALUES(13,97); -INSERT INTO product_slots VALUES(13,98); -INSERT INTO product_slots VALUES(13,99); -INSERT INTO product_slots VALUES(13,100); -INSERT INTO product_slots VALUES(13,102); -INSERT INTO product_slots VALUES(13,103); -INSERT INTO product_slots VALUES(13,104); -INSERT INTO product_slots VALUES(13,105); -INSERT INTO product_slots VALUES(13,106); -INSERT INTO product_slots VALUES(13,107); -INSERT INTO product_slots VALUES(13,108); -INSERT INTO product_slots VALUES(13,109); -INSERT INTO product_slots VALUES(13,110); -INSERT INTO product_slots VALUES(13,111); -INSERT INTO product_slots VALUES(13,112); -INSERT INTO product_slots VALUES(13,113); -INSERT INTO product_slots VALUES(13,114); -INSERT INTO product_slots VALUES(13,115); -INSERT INTO product_slots VALUES(13,117); -INSERT INTO product_slots VALUES(13,118); -INSERT INTO product_slots VALUES(13,119); -INSERT INTO product_slots VALUES(13,120); -INSERT INTO product_slots VALUES(13,121); -INSERT INTO product_slots VALUES(13,122); -INSERT INTO product_slots VALUES(13,123); -INSERT INTO product_slots VALUES(13,124); -INSERT INTO product_slots VALUES(13,125); -INSERT INTO product_slots VALUES(13,126); -INSERT INTO product_slots VALUES(13,127); -INSERT INTO product_slots VALUES(13,128); -INSERT INTO product_slots VALUES(13,129); -INSERT INTO product_slots VALUES(13,130); -INSERT INTO product_slots VALUES(13,131); -INSERT INTO product_slots VALUES(13,132); -INSERT INTO product_slots VALUES(13,133); -INSERT INTO product_slots VALUES(13,134); -INSERT INTO product_slots VALUES(13,135); -INSERT INTO product_slots VALUES(13,136); -INSERT INTO product_slots VALUES(13,138); -INSERT INTO product_slots VALUES(13,139); -INSERT INTO product_slots VALUES(13,140); -INSERT INTO product_slots VALUES(13,141); -INSERT INTO product_slots VALUES(13,142); -INSERT INTO product_slots VALUES(13,143); -INSERT INTO product_slots VALUES(13,145); -INSERT INTO product_slots VALUES(13,146); -INSERT INTO product_slots VALUES(13,147); -INSERT INTO product_slots VALUES(13,148); -INSERT INTO product_slots VALUES(13,149); -INSERT INTO product_slots VALUES(13,150); -INSERT INTO product_slots VALUES(13,151); -INSERT INTO product_slots VALUES(13,152); -INSERT INTO product_slots VALUES(13,153); -INSERT INTO product_slots VALUES(13,154); -INSERT INTO product_slots VALUES(13,155); -INSERT INTO product_slots VALUES(13,156); -INSERT INTO product_slots VALUES(13,157); -INSERT INTO product_slots VALUES(13,158); -INSERT INTO product_slots VALUES(13,159); -INSERT INTO product_slots VALUES(13,160); -INSERT INTO product_slots VALUES(13,161); -INSERT INTO product_slots VALUES(13,162); -INSERT INTO product_slots VALUES(13,163); -INSERT INTO product_slots VALUES(13,164); -INSERT INTO product_slots VALUES(13,165); -INSERT INTO product_slots VALUES(13,166); -INSERT INTO product_slots VALUES(13,167); -INSERT INTO product_slots VALUES(13,168); -INSERT INTO product_slots VALUES(13,169); -INSERT INTO product_slots VALUES(13,170); -INSERT INTO product_slots VALUES(13,171); -INSERT INTO product_slots VALUES(13,172); -INSERT INTO product_slots VALUES(13,173); -INSERT INTO product_slots VALUES(13,174); -INSERT INTO product_slots VALUES(13,175); -INSERT INTO product_slots VALUES(13,176); -INSERT INTO product_slots VALUES(13,177); -INSERT INTO product_slots VALUES(13,178); -INSERT INTO product_slots VALUES(13,179); -INSERT INTO product_slots VALUES(13,180); -INSERT INTO product_slots VALUES(13,181); -INSERT INTO product_slots VALUES(13,182); -INSERT INTO product_slots VALUES(13,183); -INSERT INTO product_slots VALUES(13,184); -INSERT INTO product_slots VALUES(13,185); -INSERT INTO product_slots VALUES(13,186); -INSERT INTO product_slots VALUES(13,187); -INSERT INTO product_slots VALUES(13,188); -INSERT INTO product_slots VALUES(13,189); -INSERT INTO product_slots VALUES(13,190); -INSERT INTO product_slots VALUES(13,191); -INSERT INTO product_slots VALUES(13,192); -INSERT INTO product_slots VALUES(13,193); -INSERT INTO product_slots VALUES(13,194); -INSERT INTO product_slots VALUES(13,195); -INSERT INTO product_slots VALUES(13,196); -INSERT INTO product_slots VALUES(13,197); -INSERT INTO product_slots VALUES(13,198); -INSERT INTO product_slots VALUES(13,199); -INSERT INTO product_slots VALUES(13,200); -INSERT INTO product_slots VALUES(13,201); -INSERT INTO product_slots VALUES(13,202); -INSERT INTO product_slots VALUES(13,203); -INSERT INTO product_slots VALUES(13,204); -INSERT INTO product_slots VALUES(13,205); -INSERT INTO product_slots VALUES(13,206); -INSERT INTO product_slots VALUES(13,207); -INSERT INTO product_slots VALUES(13,208); -INSERT INTO product_slots VALUES(13,209); -INSERT INTO product_slots VALUES(13,210); -INSERT INTO product_slots VALUES(13,211); -INSERT INTO product_slots VALUES(13,212); -INSERT INTO product_slots VALUES(13,213); -INSERT INTO product_slots VALUES(13,214); -INSERT INTO product_slots VALUES(13,215); -INSERT INTO product_slots VALUES(13,216); -INSERT INTO product_slots VALUES(13,217); -INSERT INTO product_slots VALUES(13,218); -INSERT INTO product_slots VALUES(13,219); -INSERT INTO product_slots VALUES(13,220); -INSERT INTO product_slots VALUES(13,221); -INSERT INTO product_slots VALUES(13,222); -INSERT INTO product_slots VALUES(13,223); -INSERT INTO product_slots VALUES(13,224); -INSERT INTO product_slots VALUES(13,225); -INSERT INTO product_slots VALUES(13,226); -INSERT INTO product_slots VALUES(13,227); -INSERT INTO product_slots VALUES(13,228); -INSERT INTO product_slots VALUES(13,229); -INSERT INTO product_slots VALUES(13,230); -INSERT INTO product_slots VALUES(13,231); -INSERT INTO product_slots VALUES(13,232); -INSERT INTO product_slots VALUES(13,233); -INSERT INTO product_slots VALUES(13,234); -INSERT INTO product_slots VALUES(13,235); -INSERT INTO product_slots VALUES(13,236); -INSERT INTO product_slots VALUES(13,237); -INSERT INTO product_slots VALUES(13,238); -INSERT INTO product_slots VALUES(13,239); -INSERT INTO product_slots VALUES(13,240); -INSERT INTO product_slots VALUES(13,241); -INSERT INTO product_slots VALUES(13,242); -INSERT INTO product_slots VALUES(13,243); -INSERT INTO product_slots VALUES(13,244); -INSERT INTO product_slots VALUES(13,274); -INSERT INTO product_slots VALUES(13,275); -INSERT INTO product_slots VALUES(13,279); -INSERT INTO product_slots VALUES(13,280); -INSERT INTO product_slots VALUES(13,281); -INSERT INTO product_slots VALUES(13,282); -INSERT INTO product_slots VALUES(13,283); -INSERT INTO product_slots VALUES(13,284); -INSERT INTO product_slots VALUES(13,285); -INSERT INTO product_slots VALUES(13,286); -INSERT INTO product_slots VALUES(13,287); -INSERT INTO product_slots VALUES(14,5); -INSERT INTO product_slots VALUES(14,6); -INSERT INTO product_slots VALUES(14,7); -INSERT INTO product_slots VALUES(14,12); -INSERT INTO product_slots VALUES(14,18); -INSERT INTO product_slots VALUES(14,20); -INSERT INTO product_slots VALUES(14,21); -INSERT INTO product_slots VALUES(14,22); -INSERT INTO product_slots VALUES(14,33); -INSERT INTO product_slots VALUES(14,35); -INSERT INTO product_slots VALUES(14,37); -INSERT INTO product_slots VALUES(14,38); -INSERT INTO product_slots VALUES(14,39); -INSERT INTO product_slots VALUES(14,40); -INSERT INTO product_slots VALUES(14,41); -INSERT INTO product_slots VALUES(14,43); -INSERT INTO product_slots VALUES(14,45); -INSERT INTO product_slots VALUES(14,46); -INSERT INTO product_slots VALUES(14,47); -INSERT INTO product_slots VALUES(14,48); -INSERT INTO product_slots VALUES(14,49); -INSERT INTO product_slots VALUES(14,50); -INSERT INTO product_slots VALUES(14,51); -INSERT INTO product_slots VALUES(14,52); -INSERT INTO product_slots VALUES(14,53); -INSERT INTO product_slots VALUES(14,54); -INSERT INTO product_slots VALUES(14,55); -INSERT INTO product_slots VALUES(14,56); -INSERT INTO product_slots VALUES(14,57); -INSERT INTO product_slots VALUES(14,58); -INSERT INTO product_slots VALUES(14,59); -INSERT INTO product_slots VALUES(14,60); -INSERT INTO product_slots VALUES(14,61); -INSERT INTO product_slots VALUES(14,62); -INSERT INTO product_slots VALUES(14,63); -INSERT INTO product_slots VALUES(14,64); -INSERT INTO product_slots VALUES(14,65); -INSERT INTO product_slots VALUES(14,66); -INSERT INTO product_slots VALUES(14,67); -INSERT INTO product_slots VALUES(14,68); -INSERT INTO product_slots VALUES(14,69); -INSERT INTO product_slots VALUES(14,70); -INSERT INTO product_slots VALUES(14,71); -INSERT INTO product_slots VALUES(14,74); -INSERT INTO product_slots VALUES(14,75); -INSERT INTO product_slots VALUES(14,76); -INSERT INTO product_slots VALUES(14,77); -INSERT INTO product_slots VALUES(14,78); -INSERT INTO product_slots VALUES(14,81); -INSERT INTO product_slots VALUES(14,82); -INSERT INTO product_slots VALUES(14,83); -INSERT INTO product_slots VALUES(14,84); -INSERT INTO product_slots VALUES(14,87); -INSERT INTO product_slots VALUES(14,88); -INSERT INTO product_slots VALUES(14,89); -INSERT INTO product_slots VALUES(14,90); -INSERT INTO product_slots VALUES(14,91); -INSERT INTO product_slots VALUES(14,95); -INSERT INTO product_slots VALUES(14,96); -INSERT INTO product_slots VALUES(14,97); -INSERT INTO product_slots VALUES(14,98); -INSERT INTO product_slots VALUES(14,101); -INSERT INTO product_slots VALUES(14,102); -INSERT INTO product_slots VALUES(14,103); -INSERT INTO product_slots VALUES(14,104); -INSERT INTO product_slots VALUES(14,109); -INSERT INTO product_slots VALUES(14,110); -INSERT INTO product_slots VALUES(14,111); -INSERT INTO product_slots VALUES(14,112); -INSERT INTO product_slots VALUES(14,116); -INSERT INTO product_slots VALUES(14,117); -INSERT INTO product_slots VALUES(14,118); -INSERT INTO product_slots VALUES(14,119); -INSERT INTO product_slots VALUES(14,120); -INSERT INTO product_slots VALUES(14,123); -INSERT INTO product_slots VALUES(14,124); -INSERT INTO product_slots VALUES(14,125); -INSERT INTO product_slots VALUES(14,126); -INSERT INTO product_slots VALUES(14,130); -INSERT INTO product_slots VALUES(14,131); -INSERT INTO product_slots VALUES(14,132); -INSERT INTO product_slots VALUES(14,133); -INSERT INTO product_slots VALUES(14,137); -INSERT INTO product_slots VALUES(14,138); -INSERT INTO product_slots VALUES(14,139); -INSERT INTO product_slots VALUES(14,140); -INSERT INTO product_slots VALUES(14,144); -INSERT INTO product_slots VALUES(14,145); -INSERT INTO product_slots VALUES(14,146); -INSERT INTO product_slots VALUES(14,147); -INSERT INTO product_slots VALUES(14,148); -INSERT INTO product_slots VALUES(14,149); -INSERT INTO product_slots VALUES(14,150); -INSERT INTO product_slots VALUES(14,151); -INSERT INTO product_slots VALUES(14,155); -INSERT INTO product_slots VALUES(14,156); -INSERT INTO product_slots VALUES(14,157); -INSERT INTO product_slots VALUES(14,158); -INSERT INTO product_slots VALUES(14,162); -INSERT INTO product_slots VALUES(14,163); -INSERT INTO product_slots VALUES(14,164); -INSERT INTO product_slots VALUES(14,165); -INSERT INTO product_slots VALUES(14,166); -INSERT INTO product_slots VALUES(14,169); -INSERT INTO product_slots VALUES(14,170); -INSERT INTO product_slots VALUES(14,171); -INSERT INTO product_slots VALUES(14,172); -INSERT INTO product_slots VALUES(14,176); -INSERT INTO product_slots VALUES(14,177); -INSERT INTO product_slots VALUES(14,178); -INSERT INTO product_slots VALUES(14,179); -INSERT INTO product_slots VALUES(14,183); -INSERT INTO product_slots VALUES(14,184); -INSERT INTO product_slots VALUES(14,185); -INSERT INTO product_slots VALUES(14,186); -INSERT INTO product_slots VALUES(14,187); -INSERT INTO product_slots VALUES(14,188); -INSERT INTO product_slots VALUES(14,189); -INSERT INTO product_slots VALUES(14,190); -INSERT INTO product_slots VALUES(14,191); -INSERT INTO product_slots VALUES(14,192); -INSERT INTO product_slots VALUES(14,193); -INSERT INTO product_slots VALUES(14,194); -INSERT INTO product_slots VALUES(14,198); -INSERT INTO product_slots VALUES(14,199); -INSERT INTO product_slots VALUES(14,200); -INSERT INTO product_slots VALUES(14,201); -INSERT INTO product_slots VALUES(14,202); -INSERT INTO product_slots VALUES(14,203); -INSERT INTO product_slots VALUES(14,205); -INSERT INTO product_slots VALUES(14,208); -INSERT INTO product_slots VALUES(14,209); -INSERT INTO product_slots VALUES(14,210); -INSERT INTO product_slots VALUES(14,211); -INSERT INTO product_slots VALUES(14,216); -INSERT INTO product_slots VALUES(14,217); -INSERT INTO product_slots VALUES(14,218); -INSERT INTO product_slots VALUES(14,219); -INSERT INTO product_slots VALUES(14,220); -INSERT INTO product_slots VALUES(14,223); -INSERT INTO product_slots VALUES(14,224); -INSERT INTO product_slots VALUES(14,225); -INSERT INTO product_slots VALUES(14,226); -INSERT INTO product_slots VALUES(14,230); -INSERT INTO product_slots VALUES(14,231); -INSERT INTO product_slots VALUES(14,232); -INSERT INTO product_slots VALUES(14,234); -INSERT INTO product_slots VALUES(14,237); -INSERT INTO product_slots VALUES(14,238); -INSERT INTO product_slots VALUES(14,239); -INSERT INTO product_slots VALUES(14,240); -INSERT INTO product_slots VALUES(14,274); -INSERT INTO product_slots VALUES(14,275); -INSERT INTO product_slots VALUES(14,277); -INSERT INTO product_slots VALUES(14,278); -INSERT INTO product_slots VALUES(14,279); -INSERT INTO product_slots VALUES(15,5); -INSERT INTO product_slots VALUES(15,6); -INSERT INTO product_slots VALUES(15,7); -INSERT INTO product_slots VALUES(15,8); -INSERT INTO product_slots VALUES(15,9); -INSERT INTO product_slots VALUES(15,12); -INSERT INTO product_slots VALUES(15,18); -INSERT INTO product_slots VALUES(15,19); -INSERT INTO product_slots VALUES(15,20); -INSERT INTO product_slots VALUES(15,21); -INSERT INTO product_slots VALUES(15,22); -INSERT INTO product_slots VALUES(15,23); -INSERT INTO product_slots VALUES(15,31); -INSERT INTO product_slots VALUES(15,33); -INSERT INTO product_slots VALUES(15,35); -INSERT INTO product_slots VALUES(15,37); -INSERT INTO product_slots VALUES(15,38); -INSERT INTO product_slots VALUES(15,39); -INSERT INTO product_slots VALUES(15,40); -INSERT INTO product_slots VALUES(15,59); -INSERT INTO product_slots VALUES(15,62); -INSERT INTO product_slots VALUES(15,63); -INSERT INTO product_slots VALUES(15,64); -INSERT INTO product_slots VALUES(15,65); -INSERT INTO product_slots VALUES(15,66); -INSERT INTO product_slots VALUES(15,67); -INSERT INTO product_slots VALUES(15,72); -INSERT INTO product_slots VALUES(15,73); -INSERT INTO product_slots VALUES(15,279); -INSERT INTO product_slots VALUES(16,16); -INSERT INTO product_slots VALUES(16,18); -INSERT INTO product_slots VALUES(16,20); -INSERT INTO product_slots VALUES(16,39); -INSERT INTO product_slots VALUES(16,44); -INSERT INTO product_slots VALUES(16,46); -INSERT INTO product_slots VALUES(16,47); -INSERT INTO product_slots VALUES(16,48); -INSERT INTO product_slots VALUES(16,49); -INSERT INTO product_slots VALUES(16,50); -INSERT INTO product_slots VALUES(16,51); -INSERT INTO product_slots VALUES(16,52); -INSERT INTO product_slots VALUES(16,53); -INSERT INTO product_slots VALUES(16,54); -INSERT INTO product_slots VALUES(16,55); -INSERT INTO product_slots VALUES(16,56); -INSERT INTO product_slots VALUES(16,57); -INSERT INTO product_slots VALUES(16,58); -INSERT INTO product_slots VALUES(16,59); -INSERT INTO product_slots VALUES(16,60); -INSERT INTO product_slots VALUES(16,61); -INSERT INTO product_slots VALUES(16,62); -INSERT INTO product_slots VALUES(16,63); -INSERT INTO product_slots VALUES(16,64); -INSERT INTO product_slots VALUES(16,65); -INSERT INTO product_slots VALUES(16,66); -INSERT INTO product_slots VALUES(16,67); -INSERT INTO product_slots VALUES(16,68); -INSERT INTO product_slots VALUES(16,69); -INSERT INTO product_slots VALUES(16,70); -INSERT INTO product_slots VALUES(16,71); -INSERT INTO product_slots VALUES(16,72); -INSERT INTO product_slots VALUES(16,73); -INSERT INTO product_slots VALUES(16,74); -INSERT INTO product_slots VALUES(16,75); -INSERT INTO product_slots VALUES(16,76); -INSERT INTO product_slots VALUES(16,77); -INSERT INTO product_slots VALUES(16,78); -INSERT INTO product_slots VALUES(16,79); -INSERT INTO product_slots VALUES(16,80); -INSERT INTO product_slots VALUES(16,81); -INSERT INTO product_slots VALUES(16,82); -INSERT INTO product_slots VALUES(16,83); -INSERT INTO product_slots VALUES(16,84); -INSERT INTO product_slots VALUES(16,85); -INSERT INTO product_slots VALUES(16,86); -INSERT INTO product_slots VALUES(16,87); -INSERT INTO product_slots VALUES(16,88); -INSERT INTO product_slots VALUES(16,89); -INSERT INTO product_slots VALUES(16,90); -INSERT INTO product_slots VALUES(16,91); -INSERT INTO product_slots VALUES(16,92); -INSERT INTO product_slots VALUES(16,93); -INSERT INTO product_slots VALUES(16,94); -INSERT INTO product_slots VALUES(16,95); -INSERT INTO product_slots VALUES(16,96); -INSERT INTO product_slots VALUES(16,97); -INSERT INTO product_slots VALUES(16,98); -INSERT INTO product_slots VALUES(16,99); -INSERT INTO product_slots VALUES(16,100); -INSERT INTO product_slots VALUES(16,101); -INSERT INTO product_slots VALUES(16,102); -INSERT INTO product_slots VALUES(16,103); -INSERT INTO product_slots VALUES(16,104); -INSERT INTO product_slots VALUES(16,105); -INSERT INTO product_slots VALUES(16,106); -INSERT INTO product_slots VALUES(16,107); -INSERT INTO product_slots VALUES(16,108); -INSERT INTO product_slots VALUES(16,109); -INSERT INTO product_slots VALUES(16,110); -INSERT INTO product_slots VALUES(16,111); -INSERT INTO product_slots VALUES(16,112); -INSERT INTO product_slots VALUES(16,113); -INSERT INTO product_slots VALUES(16,114); -INSERT INTO product_slots VALUES(16,115); -INSERT INTO product_slots VALUES(16,116); -INSERT INTO product_slots VALUES(16,117); -INSERT INTO product_slots VALUES(16,118); -INSERT INTO product_slots VALUES(16,119); -INSERT INTO product_slots VALUES(16,120); -INSERT INTO product_slots VALUES(16,121); -INSERT INTO product_slots VALUES(16,122); -INSERT INTO product_slots VALUES(16,123); -INSERT INTO product_slots VALUES(16,124); -INSERT INTO product_slots VALUES(16,125); -INSERT INTO product_slots VALUES(16,126); -INSERT INTO product_slots VALUES(16,127); -INSERT INTO product_slots VALUES(16,128); -INSERT INTO product_slots VALUES(16,129); -INSERT INTO product_slots VALUES(16,130); -INSERT INTO product_slots VALUES(16,131); -INSERT INTO product_slots VALUES(16,132); -INSERT INTO product_slots VALUES(16,133); -INSERT INTO product_slots VALUES(16,134); -INSERT INTO product_slots VALUES(16,135); -INSERT INTO product_slots VALUES(16,136); -INSERT INTO product_slots VALUES(16,137); -INSERT INTO product_slots VALUES(16,138); -INSERT INTO product_slots VALUES(16,139); -INSERT INTO product_slots VALUES(16,140); -INSERT INTO product_slots VALUES(16,141); -INSERT INTO product_slots VALUES(16,142); -INSERT INTO product_slots VALUES(16,143); -INSERT INTO product_slots VALUES(16,144); -INSERT INTO product_slots VALUES(16,145); -INSERT INTO product_slots VALUES(16,146); -INSERT INTO product_slots VALUES(16,147); -INSERT INTO product_slots VALUES(16,148); -INSERT INTO product_slots VALUES(16,149); -INSERT INTO product_slots VALUES(16,150); -INSERT INTO product_slots VALUES(16,151); -INSERT INTO product_slots VALUES(16,152); -INSERT INTO product_slots VALUES(16,153); -INSERT INTO product_slots VALUES(16,154); -INSERT INTO product_slots VALUES(16,155); -INSERT INTO product_slots VALUES(16,156); -INSERT INTO product_slots VALUES(16,157); -INSERT INTO product_slots VALUES(16,158); -INSERT INTO product_slots VALUES(16,159); -INSERT INTO product_slots VALUES(16,160); -INSERT INTO product_slots VALUES(16,161); -INSERT INTO product_slots VALUES(16,162); -INSERT INTO product_slots VALUES(16,163); -INSERT INTO product_slots VALUES(16,164); -INSERT INTO product_slots VALUES(16,165); -INSERT INTO product_slots VALUES(16,166); -INSERT INTO product_slots VALUES(16,167); -INSERT INTO product_slots VALUES(16,168); -INSERT INTO product_slots VALUES(16,169); -INSERT INTO product_slots VALUES(16,170); -INSERT INTO product_slots VALUES(16,171); -INSERT INTO product_slots VALUES(16,172); -INSERT INTO product_slots VALUES(16,173); -INSERT INTO product_slots VALUES(16,174); -INSERT INTO product_slots VALUES(16,175); -INSERT INTO product_slots VALUES(16,176); -INSERT INTO product_slots VALUES(16,177); -INSERT INTO product_slots VALUES(16,178); -INSERT INTO product_slots VALUES(16,179); -INSERT INTO product_slots VALUES(16,180); -INSERT INTO product_slots VALUES(16,181); -INSERT INTO product_slots VALUES(16,182); -INSERT INTO product_slots VALUES(16,183); -INSERT INTO product_slots VALUES(16,184); -INSERT INTO product_slots VALUES(16,185); -INSERT INTO product_slots VALUES(16,186); -INSERT INTO product_slots VALUES(16,187); -INSERT INTO product_slots VALUES(16,188); -INSERT INTO product_slots VALUES(16,189); -INSERT INTO product_slots VALUES(16,190); -INSERT INTO product_slots VALUES(16,191); -INSERT INTO product_slots VALUES(16,192); -INSERT INTO product_slots VALUES(16,193); -INSERT INTO product_slots VALUES(16,194); -INSERT INTO product_slots VALUES(16,195); -INSERT INTO product_slots VALUES(16,196); -INSERT INTO product_slots VALUES(16,197); -INSERT INTO product_slots VALUES(16,198); -INSERT INTO product_slots VALUES(16,199); -INSERT INTO product_slots VALUES(16,200); -INSERT INTO product_slots VALUES(16,201); -INSERT INTO product_slots VALUES(16,202); -INSERT INTO product_slots VALUES(16,203); -INSERT INTO product_slots VALUES(16,204); -INSERT INTO product_slots VALUES(16,205); -INSERT INTO product_slots VALUES(16,206); -INSERT INTO product_slots VALUES(16,207); -INSERT INTO product_slots VALUES(16,208); -INSERT INTO product_slots VALUES(16,209); -INSERT INTO product_slots VALUES(16,210); -INSERT INTO product_slots VALUES(16,211); -INSERT INTO product_slots VALUES(16,212); -INSERT INTO product_slots VALUES(16,213); -INSERT INTO product_slots VALUES(16,214); -INSERT INTO product_slots VALUES(16,215); -INSERT INTO product_slots VALUES(16,216); -INSERT INTO product_slots VALUES(16,217); -INSERT INTO product_slots VALUES(16,218); -INSERT INTO product_slots VALUES(16,219); -INSERT INTO product_slots VALUES(16,220); -INSERT INTO product_slots VALUES(16,221); -INSERT INTO product_slots VALUES(16,222); -INSERT INTO product_slots VALUES(16,223); -INSERT INTO product_slots VALUES(16,224); -INSERT INTO product_slots VALUES(16,225); -INSERT INTO product_slots VALUES(16,226); -INSERT INTO product_slots VALUES(16,227); -INSERT INTO product_slots VALUES(16,228); -INSERT INTO product_slots VALUES(16,229); -INSERT INTO product_slots VALUES(16,230); -INSERT INTO product_slots VALUES(16,231); -INSERT INTO product_slots VALUES(16,232); -INSERT INTO product_slots VALUES(16,233); -INSERT INTO product_slots VALUES(16,234); -INSERT INTO product_slots VALUES(16,235); -INSERT INTO product_slots VALUES(16,236); -INSERT INTO product_slots VALUES(16,237); -INSERT INTO product_slots VALUES(16,238); -INSERT INTO product_slots VALUES(16,239); -INSERT INTO product_slots VALUES(16,240); -INSERT INTO product_slots VALUES(16,241); -INSERT INTO product_slots VALUES(16,242); -INSERT INTO product_slots VALUES(16,243); -INSERT INTO product_slots VALUES(16,244); -INSERT INTO product_slots VALUES(16,274); -INSERT INTO product_slots VALUES(16,275); -INSERT INTO product_slots VALUES(16,279); -INSERT INTO product_slots VALUES(16,280); -INSERT INTO product_slots VALUES(16,281); -INSERT INTO product_slots VALUES(16,282); -INSERT INTO product_slots VALUES(16,283); -INSERT INTO product_slots VALUES(16,284); -INSERT INTO product_slots VALUES(16,285); -INSERT INTO product_slots VALUES(16,286); -INSERT INTO product_slots VALUES(16,287); -INSERT INTO product_slots VALUES(17,12); -INSERT INTO product_slots VALUES(17,18); -INSERT INTO product_slots VALUES(17,20); -INSERT INTO product_slots VALUES(17,21); -INSERT INTO product_slots VALUES(17,33); -INSERT INTO product_slots VALUES(17,35); -INSERT INTO product_slots VALUES(17,37); -INSERT INTO product_slots VALUES(17,38); -INSERT INTO product_slots VALUES(17,39); -INSERT INTO product_slots VALUES(17,40); -INSERT INTO product_slots VALUES(17,41); -INSERT INTO product_slots VALUES(17,43); -INSERT INTO product_slots VALUES(17,44); -INSERT INTO product_slots VALUES(17,45); -INSERT INTO product_slots VALUES(17,46); -INSERT INTO product_slots VALUES(17,47); -INSERT INTO product_slots VALUES(17,48); -INSERT INTO product_slots VALUES(17,49); -INSERT INTO product_slots VALUES(17,50); -INSERT INTO product_slots VALUES(17,51); -INSERT INTO product_slots VALUES(17,52); -INSERT INTO product_slots VALUES(17,53); -INSERT INTO product_slots VALUES(17,54); -INSERT INTO product_slots VALUES(17,55); -INSERT INTO product_slots VALUES(17,56); -INSERT INTO product_slots VALUES(17,57); -INSERT INTO product_slots VALUES(17,58); -INSERT INTO product_slots VALUES(17,59); -INSERT INTO product_slots VALUES(17,60); -INSERT INTO product_slots VALUES(17,61); -INSERT INTO product_slots VALUES(17,62); -INSERT INTO product_slots VALUES(17,63); -INSERT INTO product_slots VALUES(17,64); -INSERT INTO product_slots VALUES(17,65); -INSERT INTO product_slots VALUES(17,66); -INSERT INTO product_slots VALUES(17,67); -INSERT INTO product_slots VALUES(17,68); -INSERT INTO product_slots VALUES(17,69); -INSERT INTO product_slots VALUES(17,70); -INSERT INTO product_slots VALUES(17,71); -INSERT INTO product_slots VALUES(17,72); -INSERT INTO product_slots VALUES(17,73); -INSERT INTO product_slots VALUES(17,74); -INSERT INTO product_slots VALUES(17,75); -INSERT INTO product_slots VALUES(17,76); -INSERT INTO product_slots VALUES(17,77); -INSERT INTO product_slots VALUES(17,78); -INSERT INTO product_slots VALUES(17,79); -INSERT INTO product_slots VALUES(17,80); -INSERT INTO product_slots VALUES(17,81); -INSERT INTO product_slots VALUES(17,82); -INSERT INTO product_slots VALUES(17,83); -INSERT INTO product_slots VALUES(17,84); -INSERT INTO product_slots VALUES(17,85); -INSERT INTO product_slots VALUES(17,86); -INSERT INTO product_slots VALUES(17,87); -INSERT INTO product_slots VALUES(17,88); -INSERT INTO product_slots VALUES(17,89); -INSERT INTO product_slots VALUES(17,90); -INSERT INTO product_slots VALUES(17,91); -INSERT INTO product_slots VALUES(17,92); -INSERT INTO product_slots VALUES(17,93); -INSERT INTO product_slots VALUES(17,94); -INSERT INTO product_slots VALUES(17,95); -INSERT INTO product_slots VALUES(17,96); -INSERT INTO product_slots VALUES(17,97); -INSERT INTO product_slots VALUES(17,98); -INSERT INTO product_slots VALUES(17,99); -INSERT INTO product_slots VALUES(17,100); -INSERT INTO product_slots VALUES(17,101); -INSERT INTO product_slots VALUES(17,102); -INSERT INTO product_slots VALUES(17,103); -INSERT INTO product_slots VALUES(17,104); -INSERT INTO product_slots VALUES(17,105); -INSERT INTO product_slots VALUES(17,106); -INSERT INTO product_slots VALUES(17,107); -INSERT INTO product_slots VALUES(17,108); -INSERT INTO product_slots VALUES(17,109); -INSERT INTO product_slots VALUES(17,110); -INSERT INTO product_slots VALUES(17,111); -INSERT INTO product_slots VALUES(17,112); -INSERT INTO product_slots VALUES(17,113); -INSERT INTO product_slots VALUES(17,114); -INSERT INTO product_slots VALUES(17,115); -INSERT INTO product_slots VALUES(17,116); -INSERT INTO product_slots VALUES(17,117); -INSERT INTO product_slots VALUES(17,118); -INSERT INTO product_slots VALUES(17,119); -INSERT INTO product_slots VALUES(17,120); -INSERT INTO product_slots VALUES(17,121); -INSERT INTO product_slots VALUES(17,122); -INSERT INTO product_slots VALUES(17,123); -INSERT INTO product_slots VALUES(17,124); -INSERT INTO product_slots VALUES(17,125); -INSERT INTO product_slots VALUES(17,126); -INSERT INTO product_slots VALUES(17,127); -INSERT INTO product_slots VALUES(17,128); -INSERT INTO product_slots VALUES(17,129); -INSERT INTO product_slots VALUES(17,130); -INSERT INTO product_slots VALUES(17,131); -INSERT INTO product_slots VALUES(17,132); -INSERT INTO product_slots VALUES(17,133); -INSERT INTO product_slots VALUES(17,134); -INSERT INTO product_slots VALUES(17,135); -INSERT INTO product_slots VALUES(17,136); -INSERT INTO product_slots VALUES(17,137); -INSERT INTO product_slots VALUES(17,138); -INSERT INTO product_slots VALUES(17,139); -INSERT INTO product_slots VALUES(17,140); -INSERT INTO product_slots VALUES(17,141); -INSERT INTO product_slots VALUES(17,142); -INSERT INTO product_slots VALUES(17,143); -INSERT INTO product_slots VALUES(17,144); -INSERT INTO product_slots VALUES(17,145); -INSERT INTO product_slots VALUES(17,146); -INSERT INTO product_slots VALUES(17,147); -INSERT INTO product_slots VALUES(17,148); -INSERT INTO product_slots VALUES(17,149); -INSERT INTO product_slots VALUES(17,150); -INSERT INTO product_slots VALUES(17,151); -INSERT INTO product_slots VALUES(17,152); -INSERT INTO product_slots VALUES(17,153); -INSERT INTO product_slots VALUES(17,154); -INSERT INTO product_slots VALUES(17,155); -INSERT INTO product_slots VALUES(17,156); -INSERT INTO product_slots VALUES(17,157); -INSERT INTO product_slots VALUES(17,158); -INSERT INTO product_slots VALUES(17,159); -INSERT INTO product_slots VALUES(17,160); -INSERT INTO product_slots VALUES(17,161); -INSERT INTO product_slots VALUES(17,162); -INSERT INTO product_slots VALUES(17,163); -INSERT INTO product_slots VALUES(17,164); -INSERT INTO product_slots VALUES(17,165); -INSERT INTO product_slots VALUES(17,166); -INSERT INTO product_slots VALUES(17,167); -INSERT INTO product_slots VALUES(17,168); -INSERT INTO product_slots VALUES(17,169); -INSERT INTO product_slots VALUES(17,170); -INSERT INTO product_slots VALUES(17,171); -INSERT INTO product_slots VALUES(17,172); -INSERT INTO product_slots VALUES(17,173); -INSERT INTO product_slots VALUES(17,174); -INSERT INTO product_slots VALUES(17,175); -INSERT INTO product_slots VALUES(17,176); -INSERT INTO product_slots VALUES(17,177); -INSERT INTO product_slots VALUES(17,178); -INSERT INTO product_slots VALUES(17,179); -INSERT INTO product_slots VALUES(17,180); -INSERT INTO product_slots VALUES(17,181); -INSERT INTO product_slots VALUES(17,182); -INSERT INTO product_slots VALUES(17,183); -INSERT INTO product_slots VALUES(17,184); -INSERT INTO product_slots VALUES(17,185); -INSERT INTO product_slots VALUES(17,186); -INSERT INTO product_slots VALUES(17,187); -INSERT INTO product_slots VALUES(17,188); -INSERT INTO product_slots VALUES(17,189); -INSERT INTO product_slots VALUES(17,190); -INSERT INTO product_slots VALUES(17,191); -INSERT INTO product_slots VALUES(17,192); -INSERT INTO product_slots VALUES(17,193); -INSERT INTO product_slots VALUES(17,194); -INSERT INTO product_slots VALUES(17,195); -INSERT INTO product_slots VALUES(17,196); -INSERT INTO product_slots VALUES(17,197); -INSERT INTO product_slots VALUES(17,198); -INSERT INTO product_slots VALUES(17,199); -INSERT INTO product_slots VALUES(17,200); -INSERT INTO product_slots VALUES(17,201); -INSERT INTO product_slots VALUES(17,202); -INSERT INTO product_slots VALUES(17,203); -INSERT INTO product_slots VALUES(17,204); -INSERT INTO product_slots VALUES(17,205); -INSERT INTO product_slots VALUES(17,206); -INSERT INTO product_slots VALUES(17,207); -INSERT INTO product_slots VALUES(17,208); -INSERT INTO product_slots VALUES(17,209); -INSERT INTO product_slots VALUES(17,210); -INSERT INTO product_slots VALUES(17,211); -INSERT INTO product_slots VALUES(17,212); -INSERT INTO product_slots VALUES(17,213); -INSERT INTO product_slots VALUES(17,214); -INSERT INTO product_slots VALUES(17,215); -INSERT INTO product_slots VALUES(17,216); -INSERT INTO product_slots VALUES(17,217); -INSERT INTO product_slots VALUES(17,218); -INSERT INTO product_slots VALUES(17,219); -INSERT INTO product_slots VALUES(17,220); -INSERT INTO product_slots VALUES(17,221); -INSERT INTO product_slots VALUES(17,222); -INSERT INTO product_slots VALUES(17,223); -INSERT INTO product_slots VALUES(17,224); -INSERT INTO product_slots VALUES(17,225); -INSERT INTO product_slots VALUES(17,226); -INSERT INTO product_slots VALUES(17,227); -INSERT INTO product_slots VALUES(17,228); -INSERT INTO product_slots VALUES(17,229); -INSERT INTO product_slots VALUES(17,230); -INSERT INTO product_slots VALUES(17,231); -INSERT INTO product_slots VALUES(17,232); -INSERT INTO product_slots VALUES(17,233); -INSERT INTO product_slots VALUES(17,234); -INSERT INTO product_slots VALUES(17,235); -INSERT INTO product_slots VALUES(17,236); -INSERT INTO product_slots VALUES(17,237); -INSERT INTO product_slots VALUES(17,238); -INSERT INTO product_slots VALUES(17,239); -INSERT INTO product_slots VALUES(17,240); -INSERT INTO product_slots VALUES(17,241); -INSERT INTO product_slots VALUES(17,242); -INSERT INTO product_slots VALUES(17,243); -INSERT INTO product_slots VALUES(17,244); -INSERT INTO product_slots VALUES(17,274); -INSERT INTO product_slots VALUES(17,275); -INSERT INTO product_slots VALUES(17,279); -INSERT INTO product_slots VALUES(17,280); -INSERT INTO product_slots VALUES(17,281); -INSERT INTO product_slots VALUES(17,282); -INSERT INTO product_slots VALUES(17,283); -INSERT INTO product_slots VALUES(17,284); -INSERT INTO product_slots VALUES(17,285); -INSERT INTO product_slots VALUES(17,286); -INSERT INTO product_slots VALUES(17,287); -INSERT INTO product_slots VALUES(18,12); -INSERT INTO product_slots VALUES(18,18); -INSERT INTO product_slots VALUES(18,20); -INSERT INTO product_slots VALUES(18,21); -INSERT INTO product_slots VALUES(18,33); -INSERT INTO product_slots VALUES(18,35); -INSERT INTO product_slots VALUES(18,37); -INSERT INTO product_slots VALUES(18,38); -INSERT INTO product_slots VALUES(18,39); -INSERT INTO product_slots VALUES(18,40); -INSERT INTO product_slots VALUES(18,44); -INSERT INTO product_slots VALUES(18,46); -INSERT INTO product_slots VALUES(18,47); -INSERT INTO product_slots VALUES(18,48); -INSERT INTO product_slots VALUES(18,49); -INSERT INTO product_slots VALUES(18,50); -INSERT INTO product_slots VALUES(18,51); -INSERT INTO product_slots VALUES(18,52); -INSERT INTO product_slots VALUES(18,53); -INSERT INTO product_slots VALUES(18,54); -INSERT INTO product_slots VALUES(18,55); -INSERT INTO product_slots VALUES(18,56); -INSERT INTO product_slots VALUES(18,57); -INSERT INTO product_slots VALUES(18,58); -INSERT INTO product_slots VALUES(18,59); -INSERT INTO product_slots VALUES(18,60); -INSERT INTO product_slots VALUES(18,61); -INSERT INTO product_slots VALUES(18,62); -INSERT INTO product_slots VALUES(18,63); -INSERT INTO product_slots VALUES(18,64); -INSERT INTO product_slots VALUES(18,65); -INSERT INTO product_slots VALUES(18,66); -INSERT INTO product_slots VALUES(18,67); -INSERT INTO product_slots VALUES(18,68); -INSERT INTO product_slots VALUES(18,69); -INSERT INTO product_slots VALUES(18,70); -INSERT INTO product_slots VALUES(18,71); -INSERT INTO product_slots VALUES(18,72); -INSERT INTO product_slots VALUES(18,73); -INSERT INTO product_slots VALUES(18,74); -INSERT INTO product_slots VALUES(18,75); -INSERT INTO product_slots VALUES(18,76); -INSERT INTO product_slots VALUES(18,77); -INSERT INTO product_slots VALUES(18,78); -INSERT INTO product_slots VALUES(18,79); -INSERT INTO product_slots VALUES(18,80); -INSERT INTO product_slots VALUES(18,81); -INSERT INTO product_slots VALUES(18,82); -INSERT INTO product_slots VALUES(18,83); -INSERT INTO product_slots VALUES(18,84); -INSERT INTO product_slots VALUES(18,85); -INSERT INTO product_slots VALUES(18,86); -INSERT INTO product_slots VALUES(18,87); -INSERT INTO product_slots VALUES(18,88); -INSERT INTO product_slots VALUES(18,89); -INSERT INTO product_slots VALUES(18,90); -INSERT INTO product_slots VALUES(18,91); -INSERT INTO product_slots VALUES(18,92); -INSERT INTO product_slots VALUES(18,93); -INSERT INTO product_slots VALUES(18,94); -INSERT INTO product_slots VALUES(18,95); -INSERT INTO product_slots VALUES(18,96); -INSERT INTO product_slots VALUES(18,97); -INSERT INTO product_slots VALUES(18,98); -INSERT INTO product_slots VALUES(18,99); -INSERT INTO product_slots VALUES(18,100); -INSERT INTO product_slots VALUES(18,101); -INSERT INTO product_slots VALUES(18,102); -INSERT INTO product_slots VALUES(18,103); -INSERT INTO product_slots VALUES(18,104); -INSERT INTO product_slots VALUES(18,105); -INSERT INTO product_slots VALUES(18,106); -INSERT INTO product_slots VALUES(18,107); -INSERT INTO product_slots VALUES(18,108); -INSERT INTO product_slots VALUES(18,109); -INSERT INTO product_slots VALUES(18,110); -INSERT INTO product_slots VALUES(18,111); -INSERT INTO product_slots VALUES(18,112); -INSERT INTO product_slots VALUES(18,113); -INSERT INTO product_slots VALUES(18,114); -INSERT INTO product_slots VALUES(18,115); -INSERT INTO product_slots VALUES(18,116); -INSERT INTO product_slots VALUES(18,117); -INSERT INTO product_slots VALUES(18,118); -INSERT INTO product_slots VALUES(18,119); -INSERT INTO product_slots VALUES(18,120); -INSERT INTO product_slots VALUES(18,121); -INSERT INTO product_slots VALUES(18,122); -INSERT INTO product_slots VALUES(18,123); -INSERT INTO product_slots VALUES(18,124); -INSERT INTO product_slots VALUES(18,125); -INSERT INTO product_slots VALUES(18,126); -INSERT INTO product_slots VALUES(18,127); -INSERT INTO product_slots VALUES(18,128); -INSERT INTO product_slots VALUES(18,129); -INSERT INTO product_slots VALUES(18,130); -INSERT INTO product_slots VALUES(18,131); -INSERT INTO product_slots VALUES(18,132); -INSERT INTO product_slots VALUES(18,133); -INSERT INTO product_slots VALUES(18,134); -INSERT INTO product_slots VALUES(18,135); -INSERT INTO product_slots VALUES(18,136); -INSERT INTO product_slots VALUES(18,137); -INSERT INTO product_slots VALUES(18,138); -INSERT INTO product_slots VALUES(18,139); -INSERT INTO product_slots VALUES(18,140); -INSERT INTO product_slots VALUES(18,141); -INSERT INTO product_slots VALUES(18,142); -INSERT INTO product_slots VALUES(18,143); -INSERT INTO product_slots VALUES(18,144); -INSERT INTO product_slots VALUES(18,145); -INSERT INTO product_slots VALUES(18,146); -INSERT INTO product_slots VALUES(18,147); -INSERT INTO product_slots VALUES(18,148); -INSERT INTO product_slots VALUES(18,149); -INSERT INTO product_slots VALUES(18,150); -INSERT INTO product_slots VALUES(18,151); -INSERT INTO product_slots VALUES(18,152); -INSERT INTO product_slots VALUES(18,153); -INSERT INTO product_slots VALUES(18,154); -INSERT INTO product_slots VALUES(18,155); -INSERT INTO product_slots VALUES(18,156); -INSERT INTO product_slots VALUES(18,157); -INSERT INTO product_slots VALUES(18,158); -INSERT INTO product_slots VALUES(18,159); -INSERT INTO product_slots VALUES(18,160); -INSERT INTO product_slots VALUES(18,161); -INSERT INTO product_slots VALUES(18,162); -INSERT INTO product_slots VALUES(18,163); -INSERT INTO product_slots VALUES(18,164); -INSERT INTO product_slots VALUES(18,165); -INSERT INTO product_slots VALUES(18,166); -INSERT INTO product_slots VALUES(18,167); -INSERT INTO product_slots VALUES(18,168); -INSERT INTO product_slots VALUES(18,169); -INSERT INTO product_slots VALUES(18,170); -INSERT INTO product_slots VALUES(18,171); -INSERT INTO product_slots VALUES(18,172); -INSERT INTO product_slots VALUES(18,173); -INSERT INTO product_slots VALUES(18,174); -INSERT INTO product_slots VALUES(18,175); -INSERT INTO product_slots VALUES(18,176); -INSERT INTO product_slots VALUES(18,177); -INSERT INTO product_slots VALUES(18,178); -INSERT INTO product_slots VALUES(18,179); -INSERT INTO product_slots VALUES(18,180); -INSERT INTO product_slots VALUES(18,181); -INSERT INTO product_slots VALUES(18,182); -INSERT INTO product_slots VALUES(18,183); -INSERT INTO product_slots VALUES(18,184); -INSERT INTO product_slots VALUES(18,185); -INSERT INTO product_slots VALUES(18,186); -INSERT INTO product_slots VALUES(18,187); -INSERT INTO product_slots VALUES(18,188); -INSERT INTO product_slots VALUES(18,189); -INSERT INTO product_slots VALUES(18,190); -INSERT INTO product_slots VALUES(18,191); -INSERT INTO product_slots VALUES(18,192); -INSERT INTO product_slots VALUES(18,193); -INSERT INTO product_slots VALUES(18,194); -INSERT INTO product_slots VALUES(18,195); -INSERT INTO product_slots VALUES(18,196); -INSERT INTO product_slots VALUES(18,197); -INSERT INTO product_slots VALUES(18,198); -INSERT INTO product_slots VALUES(18,199); -INSERT INTO product_slots VALUES(18,200); -INSERT INTO product_slots VALUES(18,201); -INSERT INTO product_slots VALUES(18,202); -INSERT INTO product_slots VALUES(18,203); -INSERT INTO product_slots VALUES(18,204); -INSERT INTO product_slots VALUES(18,205); -INSERT INTO product_slots VALUES(18,206); -INSERT INTO product_slots VALUES(18,207); -INSERT INTO product_slots VALUES(18,208); -INSERT INTO product_slots VALUES(18,209); -INSERT INTO product_slots VALUES(18,210); -INSERT INTO product_slots VALUES(18,211); -INSERT INTO product_slots VALUES(18,212); -INSERT INTO product_slots VALUES(18,213); -INSERT INTO product_slots VALUES(18,214); -INSERT INTO product_slots VALUES(18,215); -INSERT INTO product_slots VALUES(18,216); -INSERT INTO product_slots VALUES(18,217); -INSERT INTO product_slots VALUES(18,218); -INSERT INTO product_slots VALUES(18,219); -INSERT INTO product_slots VALUES(18,220); -INSERT INTO product_slots VALUES(18,221); -INSERT INTO product_slots VALUES(18,222); -INSERT INTO product_slots VALUES(18,223); -INSERT INTO product_slots VALUES(18,224); -INSERT INTO product_slots VALUES(18,225); -INSERT INTO product_slots VALUES(18,226); -INSERT INTO product_slots VALUES(18,227); -INSERT INTO product_slots VALUES(18,228); -INSERT INTO product_slots VALUES(18,229); -INSERT INTO product_slots VALUES(18,230); -INSERT INTO product_slots VALUES(18,231); -INSERT INTO product_slots VALUES(18,232); -INSERT INTO product_slots VALUES(18,233); -INSERT INTO product_slots VALUES(18,234); -INSERT INTO product_slots VALUES(18,235); -INSERT INTO product_slots VALUES(18,236); -INSERT INTO product_slots VALUES(18,237); -INSERT INTO product_slots VALUES(18,238); -INSERT INTO product_slots VALUES(18,239); -INSERT INTO product_slots VALUES(18,240); -INSERT INTO product_slots VALUES(18,241); -INSERT INTO product_slots VALUES(18,242); -INSERT INTO product_slots VALUES(18,243); -INSERT INTO product_slots VALUES(18,244); -INSERT INTO product_slots VALUES(18,274); -INSERT INTO product_slots VALUES(18,275); -INSERT INTO product_slots VALUES(18,279); -INSERT INTO product_slots VALUES(18,280); -INSERT INTO product_slots VALUES(18,281); -INSERT INTO product_slots VALUES(18,282); -INSERT INTO product_slots VALUES(18,283); -INSERT INTO product_slots VALUES(18,284); -INSERT INTO product_slots VALUES(18,285); -INSERT INTO product_slots VALUES(18,286); -INSERT INTO product_slots VALUES(18,287); -INSERT INTO product_slots VALUES(19,10); -INSERT INTO product_slots VALUES(19,12); -INSERT INTO product_slots VALUES(19,18); -INSERT INTO product_slots VALUES(19,20); -INSERT INTO product_slots VALUES(19,21); -INSERT INTO product_slots VALUES(19,33); -INSERT INTO product_slots VALUES(19,35); -INSERT INTO product_slots VALUES(19,37); -INSERT INTO product_slots VALUES(19,38); -INSERT INTO product_slots VALUES(19,39); -INSERT INTO product_slots VALUES(19,40); -INSERT INTO product_slots VALUES(19,41); -INSERT INTO product_slots VALUES(19,43); -INSERT INTO product_slots VALUES(19,44); -INSERT INTO product_slots VALUES(19,45); -INSERT INTO product_slots VALUES(19,46); -INSERT INTO product_slots VALUES(19,47); -INSERT INTO product_slots VALUES(19,48); -INSERT INTO product_slots VALUES(19,49); -INSERT INTO product_slots VALUES(19,50); -INSERT INTO product_slots VALUES(19,51); -INSERT INTO product_slots VALUES(19,52); -INSERT INTO product_slots VALUES(19,53); -INSERT INTO product_slots VALUES(19,54); -INSERT INTO product_slots VALUES(19,55); -INSERT INTO product_slots VALUES(19,56); -INSERT INTO product_slots VALUES(19,57); -INSERT INTO product_slots VALUES(19,58); -INSERT INTO product_slots VALUES(19,59); -INSERT INTO product_slots VALUES(19,60); -INSERT INTO product_slots VALUES(19,61); -INSERT INTO product_slots VALUES(19,62); -INSERT INTO product_slots VALUES(19,63); -INSERT INTO product_slots VALUES(19,64); -INSERT INTO product_slots VALUES(19,65); -INSERT INTO product_slots VALUES(19,66); -INSERT INTO product_slots VALUES(19,67); -INSERT INTO product_slots VALUES(19,68); -INSERT INTO product_slots VALUES(19,69); -INSERT INTO product_slots VALUES(19,70); -INSERT INTO product_slots VALUES(19,71); -INSERT INTO product_slots VALUES(19,72); -INSERT INTO product_slots VALUES(19,73); -INSERT INTO product_slots VALUES(19,74); -INSERT INTO product_slots VALUES(19,75); -INSERT INTO product_slots VALUES(19,76); -INSERT INTO product_slots VALUES(19,77); -INSERT INTO product_slots VALUES(19,78); -INSERT INTO product_slots VALUES(19,79); -INSERT INTO product_slots VALUES(19,80); -INSERT INTO product_slots VALUES(19,81); -INSERT INTO product_slots VALUES(19,82); -INSERT INTO product_slots VALUES(19,83); -INSERT INTO product_slots VALUES(19,84); -INSERT INTO product_slots VALUES(19,85); -INSERT INTO product_slots VALUES(19,86); -INSERT INTO product_slots VALUES(19,87); -INSERT INTO product_slots VALUES(19,88); -INSERT INTO product_slots VALUES(19,89); -INSERT INTO product_slots VALUES(19,90); -INSERT INTO product_slots VALUES(19,91); -INSERT INTO product_slots VALUES(19,92); -INSERT INTO product_slots VALUES(19,93); -INSERT INTO product_slots VALUES(19,94); -INSERT INTO product_slots VALUES(19,95); -INSERT INTO product_slots VALUES(19,96); -INSERT INTO product_slots VALUES(19,97); -INSERT INTO product_slots VALUES(19,98); -INSERT INTO product_slots VALUES(19,99); -INSERT INTO product_slots VALUES(19,100); -INSERT INTO product_slots VALUES(19,101); -INSERT INTO product_slots VALUES(19,102); -INSERT INTO product_slots VALUES(19,103); -INSERT INTO product_slots VALUES(19,104); -INSERT INTO product_slots VALUES(19,105); -INSERT INTO product_slots VALUES(19,106); -INSERT INTO product_slots VALUES(19,107); -INSERT INTO product_slots VALUES(19,108); -INSERT INTO product_slots VALUES(19,109); -INSERT INTO product_slots VALUES(19,110); -INSERT INTO product_slots VALUES(19,111); -INSERT INTO product_slots VALUES(19,112); -INSERT INTO product_slots VALUES(19,113); -INSERT INTO product_slots VALUES(19,114); -INSERT INTO product_slots VALUES(19,115); -INSERT INTO product_slots VALUES(19,116); -INSERT INTO product_slots VALUES(19,117); -INSERT INTO product_slots VALUES(19,118); -INSERT INTO product_slots VALUES(19,119); -INSERT INTO product_slots VALUES(19,120); -INSERT INTO product_slots VALUES(19,121); -INSERT INTO product_slots VALUES(19,122); -INSERT INTO product_slots VALUES(19,123); -INSERT INTO product_slots VALUES(19,124); -INSERT INTO product_slots VALUES(19,125); -INSERT INTO product_slots VALUES(19,126); -INSERT INTO product_slots VALUES(19,127); -INSERT INTO product_slots VALUES(19,128); -INSERT INTO product_slots VALUES(19,129); -INSERT INTO product_slots VALUES(19,130); -INSERT INTO product_slots VALUES(19,131); -INSERT INTO product_slots VALUES(19,132); -INSERT INTO product_slots VALUES(19,133); -INSERT INTO product_slots VALUES(19,134); -INSERT INTO product_slots VALUES(19,135); -INSERT INTO product_slots VALUES(19,136); -INSERT INTO product_slots VALUES(19,137); -INSERT INTO product_slots VALUES(19,138); -INSERT INTO product_slots VALUES(19,139); -INSERT INTO product_slots VALUES(19,140); -INSERT INTO product_slots VALUES(19,141); -INSERT INTO product_slots VALUES(19,142); -INSERT INTO product_slots VALUES(19,143); -INSERT INTO product_slots VALUES(19,144); -INSERT INTO product_slots VALUES(19,145); -INSERT INTO product_slots VALUES(19,146); -INSERT INTO product_slots VALUES(19,147); -INSERT INTO product_slots VALUES(19,148); -INSERT INTO product_slots VALUES(19,149); -INSERT INTO product_slots VALUES(19,150); -INSERT INTO product_slots VALUES(19,151); -INSERT INTO product_slots VALUES(19,152); -INSERT INTO product_slots VALUES(19,153); -INSERT INTO product_slots VALUES(19,154); -INSERT INTO product_slots VALUES(19,155); -INSERT INTO product_slots VALUES(19,156); -INSERT INTO product_slots VALUES(19,157); -INSERT INTO product_slots VALUES(19,158); -INSERT INTO product_slots VALUES(19,159); -INSERT INTO product_slots VALUES(19,160); -INSERT INTO product_slots VALUES(19,161); -INSERT INTO product_slots VALUES(19,162); -INSERT INTO product_slots VALUES(19,163); -INSERT INTO product_slots VALUES(19,164); -INSERT INTO product_slots VALUES(19,165); -INSERT INTO product_slots VALUES(19,166); -INSERT INTO product_slots VALUES(19,167); -INSERT INTO product_slots VALUES(19,168); -INSERT INTO product_slots VALUES(19,169); -INSERT INTO product_slots VALUES(19,170); -INSERT INTO product_slots VALUES(19,171); -INSERT INTO product_slots VALUES(19,172); -INSERT INTO product_slots VALUES(19,173); -INSERT INTO product_slots VALUES(19,174); -INSERT INTO product_slots VALUES(19,175); -INSERT INTO product_slots VALUES(19,176); -INSERT INTO product_slots VALUES(19,177); -INSERT INTO product_slots VALUES(19,178); -INSERT INTO product_slots VALUES(19,179); -INSERT INTO product_slots VALUES(19,180); -INSERT INTO product_slots VALUES(19,181); -INSERT INTO product_slots VALUES(19,182); -INSERT INTO product_slots VALUES(19,183); -INSERT INTO product_slots VALUES(19,184); -INSERT INTO product_slots VALUES(19,185); -INSERT INTO product_slots VALUES(19,186); -INSERT INTO product_slots VALUES(19,187); -INSERT INTO product_slots VALUES(19,188); -INSERT INTO product_slots VALUES(19,189); -INSERT INTO product_slots VALUES(19,190); -INSERT INTO product_slots VALUES(19,191); -INSERT INTO product_slots VALUES(19,192); -INSERT INTO product_slots VALUES(19,193); -INSERT INTO product_slots VALUES(19,194); -INSERT INTO product_slots VALUES(19,195); -INSERT INTO product_slots VALUES(19,196); -INSERT INTO product_slots VALUES(19,197); -INSERT INTO product_slots VALUES(19,198); -INSERT INTO product_slots VALUES(19,199); -INSERT INTO product_slots VALUES(19,200); -INSERT INTO product_slots VALUES(19,201); -INSERT INTO product_slots VALUES(19,202); -INSERT INTO product_slots VALUES(19,203); -INSERT INTO product_slots VALUES(19,204); -INSERT INTO product_slots VALUES(19,205); -INSERT INTO product_slots VALUES(19,206); -INSERT INTO product_slots VALUES(19,207); -INSERT INTO product_slots VALUES(19,208); -INSERT INTO product_slots VALUES(19,209); -INSERT INTO product_slots VALUES(19,210); -INSERT INTO product_slots VALUES(19,211); -INSERT INTO product_slots VALUES(19,212); -INSERT INTO product_slots VALUES(19,213); -INSERT INTO product_slots VALUES(19,214); -INSERT INTO product_slots VALUES(19,215); -INSERT INTO product_slots VALUES(19,216); -INSERT INTO product_slots VALUES(19,217); -INSERT INTO product_slots VALUES(19,218); -INSERT INTO product_slots VALUES(19,219); -INSERT INTO product_slots VALUES(19,220); -INSERT INTO product_slots VALUES(19,221); -INSERT INTO product_slots VALUES(19,222); -INSERT INTO product_slots VALUES(19,223); -INSERT INTO product_slots VALUES(19,224); -INSERT INTO product_slots VALUES(19,225); -INSERT INTO product_slots VALUES(19,226); -INSERT INTO product_slots VALUES(19,227); -INSERT INTO product_slots VALUES(19,228); -INSERT INTO product_slots VALUES(19,229); -INSERT INTO product_slots VALUES(19,230); -INSERT INTO product_slots VALUES(19,231); -INSERT INTO product_slots VALUES(19,232); -INSERT INTO product_slots VALUES(19,233); -INSERT INTO product_slots VALUES(19,234); -INSERT INTO product_slots VALUES(19,235); -INSERT INTO product_slots VALUES(19,236); -INSERT INTO product_slots VALUES(19,237); -INSERT INTO product_slots VALUES(19,238); -INSERT INTO product_slots VALUES(19,239); -INSERT INTO product_slots VALUES(19,240); -INSERT INTO product_slots VALUES(19,241); -INSERT INTO product_slots VALUES(19,242); -INSERT INTO product_slots VALUES(19,243); -INSERT INTO product_slots VALUES(19,244); -INSERT INTO product_slots VALUES(19,274); -INSERT INTO product_slots VALUES(19,275); -INSERT INTO product_slots VALUES(19,279); -INSERT INTO product_slots VALUES(19,280); -INSERT INTO product_slots VALUES(19,281); -INSERT INTO product_slots VALUES(19,282); -INSERT INTO product_slots VALUES(19,283); -INSERT INTO product_slots VALUES(19,284); -INSERT INTO product_slots VALUES(19,285); -INSERT INTO product_slots VALUES(19,286); -INSERT INTO product_slots VALUES(19,287); -INSERT INTO product_slots VALUES(20,12); -INSERT INTO product_slots VALUES(20,18); -INSERT INTO product_slots VALUES(20,20); -INSERT INTO product_slots VALUES(20,21); -INSERT INTO product_slots VALUES(20,22); -INSERT INTO product_slots VALUES(20,33); -INSERT INTO product_slots VALUES(20,35); -INSERT INTO product_slots VALUES(20,37); -INSERT INTO product_slots VALUES(20,38); -INSERT INTO product_slots VALUES(20,40); -INSERT INTO product_slots VALUES(20,59); -INSERT INTO product_slots VALUES(20,81); -INSERT INTO product_slots VALUES(20,82); -INSERT INTO product_slots VALUES(20,83); -INSERT INTO product_slots VALUES(20,105); -INSERT INTO product_slots VALUES(20,106); -INSERT INTO product_slots VALUES(20,107); -INSERT INTO product_slots VALUES(20,108); -INSERT INTO product_slots VALUES(20,109); -INSERT INTO product_slots VALUES(20,110); -INSERT INTO product_slots VALUES(20,111); -INSERT INTO product_slots VALUES(20,112); -INSERT INTO product_slots VALUES(20,113); -INSERT INTO product_slots VALUES(20,114); -INSERT INTO product_slots VALUES(20,115); -INSERT INTO product_slots VALUES(20,120); -INSERT INTO product_slots VALUES(20,134); -INSERT INTO product_slots VALUES(20,135); -INSERT INTO product_slots VALUES(20,136); -INSERT INTO product_slots VALUES(20,187); -INSERT INTO product_slots VALUES(21,12); -INSERT INTO product_slots VALUES(21,18); -INSERT INTO product_slots VALUES(21,19); -INSERT INTO product_slots VALUES(21,20); -INSERT INTO product_slots VALUES(21,21); -INSERT INTO product_slots VALUES(21,22); -INSERT INTO product_slots VALUES(21,23); -INSERT INTO product_slots VALUES(21,31); -INSERT INTO product_slots VALUES(21,33); -INSERT INTO product_slots VALUES(21,35); -INSERT INTO product_slots VALUES(21,37); -INSERT INTO product_slots VALUES(21,38); -INSERT INTO product_slots VALUES(21,39); -INSERT INTO product_slots VALUES(21,40); -INSERT INTO product_slots VALUES(21,41); -INSERT INTO product_slots VALUES(21,43); -INSERT INTO product_slots VALUES(21,45); -INSERT INTO product_slots VALUES(21,46); -INSERT INTO product_slots VALUES(21,47); -INSERT INTO product_slots VALUES(21,48); -INSERT INTO product_slots VALUES(21,49); -INSERT INTO product_slots VALUES(21,50); -INSERT INTO product_slots VALUES(21,51); -INSERT INTO product_slots VALUES(21,52); -INSERT INTO product_slots VALUES(21,53); -INSERT INTO product_slots VALUES(21,54); -INSERT INTO product_slots VALUES(21,55); -INSERT INTO product_slots VALUES(21,56); -INSERT INTO product_slots VALUES(21,57); -INSERT INTO product_slots VALUES(21,58); -INSERT INTO product_slots VALUES(21,59); -INSERT INTO product_slots VALUES(21,60); -INSERT INTO product_slots VALUES(21,61); -INSERT INTO product_slots VALUES(21,62); -INSERT INTO product_slots VALUES(21,63); -INSERT INTO product_slots VALUES(21,64); -INSERT INTO product_slots VALUES(21,65); -INSERT INTO product_slots VALUES(21,66); -INSERT INTO product_slots VALUES(21,67); -INSERT INTO product_slots VALUES(21,68); -INSERT INTO product_slots VALUES(21,69); -INSERT INTO product_slots VALUES(21,70); -INSERT INTO product_slots VALUES(21,71); -INSERT INTO product_slots VALUES(21,72); -INSERT INTO product_slots VALUES(21,73); -INSERT INTO product_slots VALUES(21,74); -INSERT INTO product_slots VALUES(21,75); -INSERT INTO product_slots VALUES(21,76); -INSERT INTO product_slots VALUES(21,77); -INSERT INTO product_slots VALUES(21,78); -INSERT INTO product_slots VALUES(21,79); -INSERT INTO product_slots VALUES(21,80); -INSERT INTO product_slots VALUES(21,81); -INSERT INTO product_slots VALUES(21,82); -INSERT INTO product_slots VALUES(21,83); -INSERT INTO product_slots VALUES(21,84); -INSERT INTO product_slots VALUES(21,85); -INSERT INTO product_slots VALUES(21,86); -INSERT INTO product_slots VALUES(21,87); -INSERT INTO product_slots VALUES(21,88); -INSERT INTO product_slots VALUES(21,89); -INSERT INTO product_slots VALUES(21,90); -INSERT INTO product_slots VALUES(21,91); -INSERT INTO product_slots VALUES(21,92); -INSERT INTO product_slots VALUES(21,93); -INSERT INTO product_slots VALUES(21,94); -INSERT INTO product_slots VALUES(21,95); -INSERT INTO product_slots VALUES(21,96); -INSERT INTO product_slots VALUES(21,97); -INSERT INTO product_slots VALUES(21,98); -INSERT INTO product_slots VALUES(21,99); -INSERT INTO product_slots VALUES(21,100); -INSERT INTO product_slots VALUES(21,101); -INSERT INTO product_slots VALUES(21,102); -INSERT INTO product_slots VALUES(21,103); -INSERT INTO product_slots VALUES(21,104); -INSERT INTO product_slots VALUES(21,105); -INSERT INTO product_slots VALUES(21,106); -INSERT INTO product_slots VALUES(21,107); -INSERT INTO product_slots VALUES(21,108); -INSERT INTO product_slots VALUES(21,109); -INSERT INTO product_slots VALUES(21,110); -INSERT INTO product_slots VALUES(21,111); -INSERT INTO product_slots VALUES(21,112); -INSERT INTO product_slots VALUES(21,113); -INSERT INTO product_slots VALUES(21,114); -INSERT INTO product_slots VALUES(21,115); -INSERT INTO product_slots VALUES(21,116); -INSERT INTO product_slots VALUES(21,117); -INSERT INTO product_slots VALUES(21,118); -INSERT INTO product_slots VALUES(21,119); -INSERT INTO product_slots VALUES(21,120); -INSERT INTO product_slots VALUES(21,121); -INSERT INTO product_slots VALUES(21,122); -INSERT INTO product_slots VALUES(21,123); -INSERT INTO product_slots VALUES(21,124); -INSERT INTO product_slots VALUES(21,125); -INSERT INTO product_slots VALUES(21,126); -INSERT INTO product_slots VALUES(21,127); -INSERT INTO product_slots VALUES(21,128); -INSERT INTO product_slots VALUES(21,129); -INSERT INTO product_slots VALUES(21,130); -INSERT INTO product_slots VALUES(21,131); -INSERT INTO product_slots VALUES(21,132); -INSERT INTO product_slots VALUES(21,133); -INSERT INTO product_slots VALUES(21,134); -INSERT INTO product_slots VALUES(21,135); -INSERT INTO product_slots VALUES(21,136); -INSERT INTO product_slots VALUES(21,137); -INSERT INTO product_slots VALUES(21,138); -INSERT INTO product_slots VALUES(21,139); -INSERT INTO product_slots VALUES(21,140); -INSERT INTO product_slots VALUES(21,141); -INSERT INTO product_slots VALUES(21,142); -INSERT INTO product_slots VALUES(21,143); -INSERT INTO product_slots VALUES(21,144); -INSERT INTO product_slots VALUES(21,145); -INSERT INTO product_slots VALUES(21,146); -INSERT INTO product_slots VALUES(21,147); -INSERT INTO product_slots VALUES(21,148); -INSERT INTO product_slots VALUES(21,149); -INSERT INTO product_slots VALUES(21,150); -INSERT INTO product_slots VALUES(21,151); -INSERT INTO product_slots VALUES(21,152); -INSERT INTO product_slots VALUES(21,153); -INSERT INTO product_slots VALUES(21,154); -INSERT INTO product_slots VALUES(21,155); -INSERT INTO product_slots VALUES(21,156); -INSERT INTO product_slots VALUES(21,157); -INSERT INTO product_slots VALUES(21,158); -INSERT INTO product_slots VALUES(21,159); -INSERT INTO product_slots VALUES(21,160); -INSERT INTO product_slots VALUES(21,161); -INSERT INTO product_slots VALUES(21,162); -INSERT INTO product_slots VALUES(21,163); -INSERT INTO product_slots VALUES(21,164); -INSERT INTO product_slots VALUES(21,165); -INSERT INTO product_slots VALUES(21,166); -INSERT INTO product_slots VALUES(21,167); -INSERT INTO product_slots VALUES(21,168); -INSERT INTO product_slots VALUES(21,169); -INSERT INTO product_slots VALUES(21,170); -INSERT INTO product_slots VALUES(21,171); -INSERT INTO product_slots VALUES(21,172); -INSERT INTO product_slots VALUES(21,173); -INSERT INTO product_slots VALUES(21,174); -INSERT INTO product_slots VALUES(21,175); -INSERT INTO product_slots VALUES(21,176); -INSERT INTO product_slots VALUES(21,177); -INSERT INTO product_slots VALUES(21,178); -INSERT INTO product_slots VALUES(21,179); -INSERT INTO product_slots VALUES(21,180); -INSERT INTO product_slots VALUES(21,181); -INSERT INTO product_slots VALUES(21,182); -INSERT INTO product_slots VALUES(21,183); -INSERT INTO product_slots VALUES(21,184); -INSERT INTO product_slots VALUES(21,185); -INSERT INTO product_slots VALUES(21,186); -INSERT INTO product_slots VALUES(21,187); -INSERT INTO product_slots VALUES(21,188); -INSERT INTO product_slots VALUES(21,189); -INSERT INTO product_slots VALUES(21,190); -INSERT INTO product_slots VALUES(21,191); -INSERT INTO product_slots VALUES(21,192); -INSERT INTO product_slots VALUES(21,193); -INSERT INTO product_slots VALUES(21,194); -INSERT INTO product_slots VALUES(21,195); -INSERT INTO product_slots VALUES(21,196); -INSERT INTO product_slots VALUES(21,197); -INSERT INTO product_slots VALUES(21,198); -INSERT INTO product_slots VALUES(21,199); -INSERT INTO product_slots VALUES(21,200); -INSERT INTO product_slots VALUES(21,201); -INSERT INTO product_slots VALUES(21,202); -INSERT INTO product_slots VALUES(21,203); -INSERT INTO product_slots VALUES(21,204); -INSERT INTO product_slots VALUES(21,205); -INSERT INTO product_slots VALUES(21,206); -INSERT INTO product_slots VALUES(21,207); -INSERT INTO product_slots VALUES(21,208); -INSERT INTO product_slots VALUES(21,209); -INSERT INTO product_slots VALUES(21,210); -INSERT INTO product_slots VALUES(21,211); -INSERT INTO product_slots VALUES(21,212); -INSERT INTO product_slots VALUES(21,213); -INSERT INTO product_slots VALUES(21,214); -INSERT INTO product_slots VALUES(21,215); -INSERT INTO product_slots VALUES(21,216); -INSERT INTO product_slots VALUES(21,217); -INSERT INTO product_slots VALUES(21,218); -INSERT INTO product_slots VALUES(21,219); -INSERT INTO product_slots VALUES(21,220); -INSERT INTO product_slots VALUES(21,221); -INSERT INTO product_slots VALUES(21,222); -INSERT INTO product_slots VALUES(21,223); -INSERT INTO product_slots VALUES(21,224); -INSERT INTO product_slots VALUES(21,225); -INSERT INTO product_slots VALUES(21,226); -INSERT INTO product_slots VALUES(21,227); -INSERT INTO product_slots VALUES(21,228); -INSERT INTO product_slots VALUES(21,229); -INSERT INTO product_slots VALUES(21,230); -INSERT INTO product_slots VALUES(21,231); -INSERT INTO product_slots VALUES(21,232); -INSERT INTO product_slots VALUES(21,234); -INSERT INTO product_slots VALUES(21,235); -INSERT INTO product_slots VALUES(21,236); -INSERT INTO product_slots VALUES(21,237); -INSERT INTO product_slots VALUES(21,238); -INSERT INTO product_slots VALUES(21,239); -INSERT INTO product_slots VALUES(21,240); -INSERT INTO product_slots VALUES(21,241); -INSERT INTO product_slots VALUES(21,242); -INSERT INTO product_slots VALUES(21,243); -INSERT INTO product_slots VALUES(21,244); -INSERT INTO product_slots VALUES(21,274); -INSERT INTO product_slots VALUES(21,275); -INSERT INTO product_slots VALUES(21,279); -INSERT INTO product_slots VALUES(21,280); -INSERT INTO product_slots VALUES(21,281); -INSERT INTO product_slots VALUES(21,282); -INSERT INTO product_slots VALUES(22,12); -INSERT INTO product_slots VALUES(22,18); -INSERT INTO product_slots VALUES(22,20); -INSERT INTO product_slots VALUES(22,21); -INSERT INTO product_slots VALUES(22,22); -INSERT INTO product_slots VALUES(22,33); -INSERT INTO product_slots VALUES(22,35); -INSERT INTO product_slots VALUES(22,37); -INSERT INTO product_slots VALUES(22,38); -INSERT INTO product_slots VALUES(22,40); -INSERT INTO product_slots VALUES(22,203); -INSERT INTO product_slots VALUES(22,204); -INSERT INTO product_slots VALUES(22,205); -INSERT INTO product_slots VALUES(22,206); -INSERT INTO product_slots VALUES(22,207); -INSERT INTO product_slots VALUES(22,208); -INSERT INTO product_slots VALUES(22,209); -INSERT INTO product_slots VALUES(22,210); -INSERT INTO product_slots VALUES(22,211); -INSERT INTO product_slots VALUES(22,212); -INSERT INTO product_slots VALUES(22,213); -INSERT INTO product_slots VALUES(22,214); -INSERT INTO product_slots VALUES(22,215); -INSERT INTO product_slots VALUES(22,216); -INSERT INTO product_slots VALUES(22,217); -INSERT INTO product_slots VALUES(22,218); -INSERT INTO product_slots VALUES(22,219); -INSERT INTO product_slots VALUES(22,220); -INSERT INTO product_slots VALUES(22,221); -INSERT INTO product_slots VALUES(22,222); -INSERT INTO product_slots VALUES(22,223); -INSERT INTO product_slots VALUES(22,224); -INSERT INTO product_slots VALUES(22,225); -INSERT INTO product_slots VALUES(22,226); -INSERT INTO product_slots VALUES(22,227); -INSERT INTO product_slots VALUES(22,228); -INSERT INTO product_slots VALUES(22,229); -INSERT INTO product_slots VALUES(22,230); -INSERT INTO product_slots VALUES(22,231); -INSERT INTO product_slots VALUES(22,232); -INSERT INTO product_slots VALUES(22,233); -INSERT INTO product_slots VALUES(22,234); -INSERT INTO product_slots VALUES(22,235); -INSERT INTO product_slots VALUES(22,236); -INSERT INTO product_slots VALUES(22,237); -INSERT INTO product_slots VALUES(22,238); -INSERT INTO product_slots VALUES(22,239); -INSERT INTO product_slots VALUES(22,240); -INSERT INTO product_slots VALUES(22,241); -INSERT INTO product_slots VALUES(22,242); -INSERT INTO product_slots VALUES(22,243); -INSERT INTO product_slots VALUES(22,244); -INSERT INTO product_slots VALUES(22,274); -INSERT INTO product_slots VALUES(22,275); -INSERT INTO product_slots VALUES(22,279); -INSERT INTO product_slots VALUES(22,280); -INSERT INTO product_slots VALUES(22,281); -INSERT INTO product_slots VALUES(22,282); -INSERT INTO product_slots VALUES(22,283); -INSERT INTO product_slots VALUES(22,284); -INSERT INTO product_slots VALUES(22,285); -INSERT INTO product_slots VALUES(22,286); -INSERT INTO product_slots VALUES(22,287); -INSERT INTO product_slots VALUES(23,12); -INSERT INTO product_slots VALUES(23,18); -INSERT INTO product_slots VALUES(23,19); -INSERT INTO product_slots VALUES(23,20); -INSERT INTO product_slots VALUES(23,21); -INSERT INTO product_slots VALUES(23,22); -INSERT INTO product_slots VALUES(23,23); -INSERT INTO product_slots VALUES(23,31); -INSERT INTO product_slots VALUES(23,33); -INSERT INTO product_slots VALUES(23,35); -INSERT INTO product_slots VALUES(23,37); -INSERT INTO product_slots VALUES(23,38); -INSERT INTO product_slots VALUES(23,39); -INSERT INTO product_slots VALUES(23,40); -INSERT INTO product_slots VALUES(23,41); -INSERT INTO product_slots VALUES(23,43); -INSERT INTO product_slots VALUES(23,45); -INSERT INTO product_slots VALUES(23,46); -INSERT INTO product_slots VALUES(23,47); -INSERT INTO product_slots VALUES(23,48); -INSERT INTO product_slots VALUES(23,49); -INSERT INTO product_slots VALUES(23,50); -INSERT INTO product_slots VALUES(23,51); -INSERT INTO product_slots VALUES(23,52); -INSERT INTO product_slots VALUES(23,53); -INSERT INTO product_slots VALUES(23,54); -INSERT INTO product_slots VALUES(23,55); -INSERT INTO product_slots VALUES(23,56); -INSERT INTO product_slots VALUES(23,57); -INSERT INTO product_slots VALUES(23,58); -INSERT INTO product_slots VALUES(23,59); -INSERT INTO product_slots VALUES(23,60); -INSERT INTO product_slots VALUES(23,61); -INSERT INTO product_slots VALUES(23,62); -INSERT INTO product_slots VALUES(23,63); -INSERT INTO product_slots VALUES(23,64); -INSERT INTO product_slots VALUES(23,65); -INSERT INTO product_slots VALUES(23,66); -INSERT INTO product_slots VALUES(23,67); -INSERT INTO product_slots VALUES(23,68); -INSERT INTO product_slots VALUES(23,69); -INSERT INTO product_slots VALUES(23,70); -INSERT INTO product_slots VALUES(23,71); -INSERT INTO product_slots VALUES(23,72); -INSERT INTO product_slots VALUES(23,73); -INSERT INTO product_slots VALUES(23,74); -INSERT INTO product_slots VALUES(23,75); -INSERT INTO product_slots VALUES(23,76); -INSERT INTO product_slots VALUES(23,77); -INSERT INTO product_slots VALUES(23,78); -INSERT INTO product_slots VALUES(23,79); -INSERT INTO product_slots VALUES(23,80); -INSERT INTO product_slots VALUES(23,81); -INSERT INTO product_slots VALUES(23,82); -INSERT INTO product_slots VALUES(23,83); -INSERT INTO product_slots VALUES(23,84); -INSERT INTO product_slots VALUES(23,85); -INSERT INTO product_slots VALUES(23,86); -INSERT INTO product_slots VALUES(23,87); -INSERT INTO product_slots VALUES(23,88); -INSERT INTO product_slots VALUES(23,89); -INSERT INTO product_slots VALUES(23,90); -INSERT INTO product_slots VALUES(23,91); -INSERT INTO product_slots VALUES(23,92); -INSERT INTO product_slots VALUES(23,93); -INSERT INTO product_slots VALUES(23,94); -INSERT INTO product_slots VALUES(23,95); -INSERT INTO product_slots VALUES(23,96); -INSERT INTO product_slots VALUES(23,97); -INSERT INTO product_slots VALUES(23,98); -INSERT INTO product_slots VALUES(23,99); -INSERT INTO product_slots VALUES(23,100); -INSERT INTO product_slots VALUES(23,101); -INSERT INTO product_slots VALUES(23,102); -INSERT INTO product_slots VALUES(23,103); -INSERT INTO product_slots VALUES(23,104); -INSERT INTO product_slots VALUES(23,105); -INSERT INTO product_slots VALUES(23,106); -INSERT INTO product_slots VALUES(23,107); -INSERT INTO product_slots VALUES(23,108); -INSERT INTO product_slots VALUES(23,109); -INSERT INTO product_slots VALUES(23,110); -INSERT INTO product_slots VALUES(23,111); -INSERT INTO product_slots VALUES(23,112); -INSERT INTO product_slots VALUES(23,113); -INSERT INTO product_slots VALUES(23,114); -INSERT INTO product_slots VALUES(23,115); -INSERT INTO product_slots VALUES(23,116); -INSERT INTO product_slots VALUES(23,117); -INSERT INTO product_slots VALUES(23,118); -INSERT INTO product_slots VALUES(23,119); -INSERT INTO product_slots VALUES(23,120); -INSERT INTO product_slots VALUES(23,121); -INSERT INTO product_slots VALUES(23,122); -INSERT INTO product_slots VALUES(23,123); -INSERT INTO product_slots VALUES(23,124); -INSERT INTO product_slots VALUES(23,125); -INSERT INTO product_slots VALUES(23,126); -INSERT INTO product_slots VALUES(23,127); -INSERT INTO product_slots VALUES(23,128); -INSERT INTO product_slots VALUES(23,129); -INSERT INTO product_slots VALUES(23,130); -INSERT INTO product_slots VALUES(23,131); -INSERT INTO product_slots VALUES(23,132); -INSERT INTO product_slots VALUES(23,133); -INSERT INTO product_slots VALUES(23,134); -INSERT INTO product_slots VALUES(23,135); -INSERT INTO product_slots VALUES(23,136); -INSERT INTO product_slots VALUES(23,137); -INSERT INTO product_slots VALUES(23,138); -INSERT INTO product_slots VALUES(23,139); -INSERT INTO product_slots VALUES(23,140); -INSERT INTO product_slots VALUES(23,141); -INSERT INTO product_slots VALUES(23,142); -INSERT INTO product_slots VALUES(23,143); -INSERT INTO product_slots VALUES(23,144); -INSERT INTO product_slots VALUES(23,145); -INSERT INTO product_slots VALUES(23,146); -INSERT INTO product_slots VALUES(23,147); -INSERT INTO product_slots VALUES(23,148); -INSERT INTO product_slots VALUES(23,149); -INSERT INTO product_slots VALUES(23,150); -INSERT INTO product_slots VALUES(23,151); -INSERT INTO product_slots VALUES(23,152); -INSERT INTO product_slots VALUES(23,153); -INSERT INTO product_slots VALUES(23,154); -INSERT INTO product_slots VALUES(23,155); -INSERT INTO product_slots VALUES(23,156); -INSERT INTO product_slots VALUES(23,157); -INSERT INTO product_slots VALUES(23,158); -INSERT INTO product_slots VALUES(23,159); -INSERT INTO product_slots VALUES(23,160); -INSERT INTO product_slots VALUES(23,161); -INSERT INTO product_slots VALUES(23,162); -INSERT INTO product_slots VALUES(23,163); -INSERT INTO product_slots VALUES(23,164); -INSERT INTO product_slots VALUES(23,165); -INSERT INTO product_slots VALUES(23,166); -INSERT INTO product_slots VALUES(23,167); -INSERT INTO product_slots VALUES(23,168); -INSERT INTO product_slots VALUES(23,169); -INSERT INTO product_slots VALUES(23,170); -INSERT INTO product_slots VALUES(23,171); -INSERT INTO product_slots VALUES(23,172); -INSERT INTO product_slots VALUES(23,173); -INSERT INTO product_slots VALUES(23,174); -INSERT INTO product_slots VALUES(23,175); -INSERT INTO product_slots VALUES(23,176); -INSERT INTO product_slots VALUES(23,177); -INSERT INTO product_slots VALUES(23,178); -INSERT INTO product_slots VALUES(23,179); -INSERT INTO product_slots VALUES(23,180); -INSERT INTO product_slots VALUES(23,181); -INSERT INTO product_slots VALUES(23,182); -INSERT INTO product_slots VALUES(23,183); -INSERT INTO product_slots VALUES(23,184); -INSERT INTO product_slots VALUES(23,185); -INSERT INTO product_slots VALUES(23,186); -INSERT INTO product_slots VALUES(23,187); -INSERT INTO product_slots VALUES(23,188); -INSERT INTO product_slots VALUES(23,189); -INSERT INTO product_slots VALUES(23,190); -INSERT INTO product_slots VALUES(23,191); -INSERT INTO product_slots VALUES(23,192); -INSERT INTO product_slots VALUES(23,193); -INSERT INTO product_slots VALUES(23,194); -INSERT INTO product_slots VALUES(23,195); -INSERT INTO product_slots VALUES(23,196); -INSERT INTO product_slots VALUES(23,197); -INSERT INTO product_slots VALUES(23,198); -INSERT INTO product_slots VALUES(23,199); -INSERT INTO product_slots VALUES(23,200); -INSERT INTO product_slots VALUES(23,201); -INSERT INTO product_slots VALUES(23,202); -INSERT INTO product_slots VALUES(23,203); -INSERT INTO product_slots VALUES(23,204); -INSERT INTO product_slots VALUES(23,205); -INSERT INTO product_slots VALUES(23,206); -INSERT INTO product_slots VALUES(23,207); -INSERT INTO product_slots VALUES(23,208); -INSERT INTO product_slots VALUES(23,209); -INSERT INTO product_slots VALUES(23,210); -INSERT INTO product_slots VALUES(23,211); -INSERT INTO product_slots VALUES(23,212); -INSERT INTO product_slots VALUES(23,213); -INSERT INTO product_slots VALUES(23,214); -INSERT INTO product_slots VALUES(23,215); -INSERT INTO product_slots VALUES(23,216); -INSERT INTO product_slots VALUES(23,217); -INSERT INTO product_slots VALUES(23,218); -INSERT INTO product_slots VALUES(23,219); -INSERT INTO product_slots VALUES(23,220); -INSERT INTO product_slots VALUES(23,221); -INSERT INTO product_slots VALUES(23,222); -INSERT INTO product_slots VALUES(23,223); -INSERT INTO product_slots VALUES(23,224); -INSERT INTO product_slots VALUES(23,225); -INSERT INTO product_slots VALUES(23,226); -INSERT INTO product_slots VALUES(23,227); -INSERT INTO product_slots VALUES(23,228); -INSERT INTO product_slots VALUES(23,229); -INSERT INTO product_slots VALUES(23,230); -INSERT INTO product_slots VALUES(23,231); -INSERT INTO product_slots VALUES(23,232); -INSERT INTO product_slots VALUES(23,234); -INSERT INTO product_slots VALUES(23,235); -INSERT INTO product_slots VALUES(23,236); -INSERT INTO product_slots VALUES(23,237); -INSERT INTO product_slots VALUES(23,238); -INSERT INTO product_slots VALUES(23,239); -INSERT INTO product_slots VALUES(23,240); -INSERT INTO product_slots VALUES(23,241); -INSERT INTO product_slots VALUES(23,242); -INSERT INTO product_slots VALUES(23,243); -INSERT INTO product_slots VALUES(23,244); -INSERT INTO product_slots VALUES(23,274); -INSERT INTO product_slots VALUES(23,275); -INSERT INTO product_slots VALUES(23,279); -INSERT INTO product_slots VALUES(23,280); -INSERT INTO product_slots VALUES(23,281); -INSERT INTO product_slots VALUES(23,282); -INSERT INTO product_slots VALUES(24,12); -INSERT INTO product_slots VALUES(24,18); -INSERT INTO product_slots VALUES(24,19); -INSERT INTO product_slots VALUES(24,20); -INSERT INTO product_slots VALUES(24,21); -INSERT INTO product_slots VALUES(24,22); -INSERT INTO product_slots VALUES(24,23); -INSERT INTO product_slots VALUES(24,31); -INSERT INTO product_slots VALUES(24,33); -INSERT INTO product_slots VALUES(24,35); -INSERT INTO product_slots VALUES(24,37); -INSERT INTO product_slots VALUES(24,38); -INSERT INTO product_slots VALUES(24,39); -INSERT INTO product_slots VALUES(24,40); -INSERT INTO product_slots VALUES(24,41); -INSERT INTO product_slots VALUES(24,43); -INSERT INTO product_slots VALUES(24,45); -INSERT INTO product_slots VALUES(24,46); -INSERT INTO product_slots VALUES(24,47); -INSERT INTO product_slots VALUES(24,48); -INSERT INTO product_slots VALUES(24,49); -INSERT INTO product_slots VALUES(24,50); -INSERT INTO product_slots VALUES(24,51); -INSERT INTO product_slots VALUES(24,52); -INSERT INTO product_slots VALUES(24,53); -INSERT INTO product_slots VALUES(24,54); -INSERT INTO product_slots VALUES(24,55); -INSERT INTO product_slots VALUES(24,56); -INSERT INTO product_slots VALUES(24,57); -INSERT INTO product_slots VALUES(24,58); -INSERT INTO product_slots VALUES(24,59); -INSERT INTO product_slots VALUES(24,60); -INSERT INTO product_slots VALUES(24,61); -INSERT INTO product_slots VALUES(24,62); -INSERT INTO product_slots VALUES(24,63); -INSERT INTO product_slots VALUES(24,64); -INSERT INTO product_slots VALUES(24,65); -INSERT INTO product_slots VALUES(24,66); -INSERT INTO product_slots VALUES(24,67); -INSERT INTO product_slots VALUES(24,68); -INSERT INTO product_slots VALUES(24,69); -INSERT INTO product_slots VALUES(24,70); -INSERT INTO product_slots VALUES(24,71); -INSERT INTO product_slots VALUES(24,72); -INSERT INTO product_slots VALUES(24,73); -INSERT INTO product_slots VALUES(24,74); -INSERT INTO product_slots VALUES(24,75); -INSERT INTO product_slots VALUES(24,76); -INSERT INTO product_slots VALUES(24,77); -INSERT INTO product_slots VALUES(24,78); -INSERT INTO product_slots VALUES(24,79); -INSERT INTO product_slots VALUES(24,80); -INSERT INTO product_slots VALUES(24,81); -INSERT INTO product_slots VALUES(24,82); -INSERT INTO product_slots VALUES(24,83); -INSERT INTO product_slots VALUES(24,84); -INSERT INTO product_slots VALUES(24,85); -INSERT INTO product_slots VALUES(24,86); -INSERT INTO product_slots VALUES(24,87); -INSERT INTO product_slots VALUES(24,88); -INSERT INTO product_slots VALUES(24,89); -INSERT INTO product_slots VALUES(24,90); -INSERT INTO product_slots VALUES(24,91); -INSERT INTO product_slots VALUES(24,92); -INSERT INTO product_slots VALUES(24,93); -INSERT INTO product_slots VALUES(24,94); -INSERT INTO product_slots VALUES(24,95); -INSERT INTO product_slots VALUES(24,96); -INSERT INTO product_slots VALUES(24,97); -INSERT INTO product_slots VALUES(24,98); -INSERT INTO product_slots VALUES(24,99); -INSERT INTO product_slots VALUES(24,100); -INSERT INTO product_slots VALUES(24,101); -INSERT INTO product_slots VALUES(24,102); -INSERT INTO product_slots VALUES(24,103); -INSERT INTO product_slots VALUES(24,104); -INSERT INTO product_slots VALUES(24,105); -INSERT INTO product_slots VALUES(24,106); -INSERT INTO product_slots VALUES(24,107); -INSERT INTO product_slots VALUES(24,108); -INSERT INTO product_slots VALUES(24,109); -INSERT INTO product_slots VALUES(24,110); -INSERT INTO product_slots VALUES(24,111); -INSERT INTO product_slots VALUES(24,112); -INSERT INTO product_slots VALUES(24,113); -INSERT INTO product_slots VALUES(24,114); -INSERT INTO product_slots VALUES(24,115); -INSERT INTO product_slots VALUES(24,116); -INSERT INTO product_slots VALUES(24,117); -INSERT INTO product_slots VALUES(24,118); -INSERT INTO product_slots VALUES(24,119); -INSERT INTO product_slots VALUES(24,120); -INSERT INTO product_slots VALUES(24,121); -INSERT INTO product_slots VALUES(24,122); -INSERT INTO product_slots VALUES(24,123); -INSERT INTO product_slots VALUES(24,124); -INSERT INTO product_slots VALUES(24,125); -INSERT INTO product_slots VALUES(24,126); -INSERT INTO product_slots VALUES(24,127); -INSERT INTO product_slots VALUES(24,128); -INSERT INTO product_slots VALUES(24,129); -INSERT INTO product_slots VALUES(24,130); -INSERT INTO product_slots VALUES(24,131); -INSERT INTO product_slots VALUES(24,132); -INSERT INTO product_slots VALUES(24,133); -INSERT INTO product_slots VALUES(24,134); -INSERT INTO product_slots VALUES(24,135); -INSERT INTO product_slots VALUES(24,136); -INSERT INTO product_slots VALUES(24,137); -INSERT INTO product_slots VALUES(24,138); -INSERT INTO product_slots VALUES(24,139); -INSERT INTO product_slots VALUES(24,140); -INSERT INTO product_slots VALUES(24,141); -INSERT INTO product_slots VALUES(24,142); -INSERT INTO product_slots VALUES(24,143); -INSERT INTO product_slots VALUES(24,144); -INSERT INTO product_slots VALUES(24,145); -INSERT INTO product_slots VALUES(24,146); -INSERT INTO product_slots VALUES(24,147); -INSERT INTO product_slots VALUES(24,148); -INSERT INTO product_slots VALUES(24,149); -INSERT INTO product_slots VALUES(24,150); -INSERT INTO product_slots VALUES(24,151); -INSERT INTO product_slots VALUES(24,152); -INSERT INTO product_slots VALUES(24,153); -INSERT INTO product_slots VALUES(24,154); -INSERT INTO product_slots VALUES(24,155); -INSERT INTO product_slots VALUES(24,156); -INSERT INTO product_slots VALUES(24,157); -INSERT INTO product_slots VALUES(24,158); -INSERT INTO product_slots VALUES(24,159); -INSERT INTO product_slots VALUES(24,160); -INSERT INTO product_slots VALUES(24,161); -INSERT INTO product_slots VALUES(24,162); -INSERT INTO product_slots VALUES(24,163); -INSERT INTO product_slots VALUES(24,164); -INSERT INTO product_slots VALUES(24,165); -INSERT INTO product_slots VALUES(24,166); -INSERT INTO product_slots VALUES(24,167); -INSERT INTO product_slots VALUES(24,168); -INSERT INTO product_slots VALUES(24,169); -INSERT INTO product_slots VALUES(24,170); -INSERT INTO product_slots VALUES(24,171); -INSERT INTO product_slots VALUES(24,172); -INSERT INTO product_slots VALUES(24,173); -INSERT INTO product_slots VALUES(24,174); -INSERT INTO product_slots VALUES(24,175); -INSERT INTO product_slots VALUES(24,176); -INSERT INTO product_slots VALUES(24,177); -INSERT INTO product_slots VALUES(24,178); -INSERT INTO product_slots VALUES(24,179); -INSERT INTO product_slots VALUES(24,180); -INSERT INTO product_slots VALUES(24,181); -INSERT INTO product_slots VALUES(24,182); -INSERT INTO product_slots VALUES(24,183); -INSERT INTO product_slots VALUES(24,184); -INSERT INTO product_slots VALUES(24,185); -INSERT INTO product_slots VALUES(24,186); -INSERT INTO product_slots VALUES(24,187); -INSERT INTO product_slots VALUES(24,188); -INSERT INTO product_slots VALUES(24,189); -INSERT INTO product_slots VALUES(24,190); -INSERT INTO product_slots VALUES(24,191); -INSERT INTO product_slots VALUES(24,192); -INSERT INTO product_slots VALUES(24,193); -INSERT INTO product_slots VALUES(24,194); -INSERT INTO product_slots VALUES(24,195); -INSERT INTO product_slots VALUES(24,196); -INSERT INTO product_slots VALUES(24,197); -INSERT INTO product_slots VALUES(24,198); -INSERT INTO product_slots VALUES(24,199); -INSERT INTO product_slots VALUES(24,200); -INSERT INTO product_slots VALUES(24,201); -INSERT INTO product_slots VALUES(24,202); -INSERT INTO product_slots VALUES(24,203); -INSERT INTO product_slots VALUES(24,204); -INSERT INTO product_slots VALUES(24,205); -INSERT INTO product_slots VALUES(24,206); -INSERT INTO product_slots VALUES(24,207); -INSERT INTO product_slots VALUES(24,208); -INSERT INTO product_slots VALUES(24,209); -INSERT INTO product_slots VALUES(24,210); -INSERT INTO product_slots VALUES(24,211); -INSERT INTO product_slots VALUES(24,212); -INSERT INTO product_slots VALUES(24,213); -INSERT INTO product_slots VALUES(24,214); -INSERT INTO product_slots VALUES(24,215); -INSERT INTO product_slots VALUES(24,216); -INSERT INTO product_slots VALUES(24,217); -INSERT INTO product_slots VALUES(24,218); -INSERT INTO product_slots VALUES(24,219); -INSERT INTO product_slots VALUES(24,220); -INSERT INTO product_slots VALUES(24,221); -INSERT INTO product_slots VALUES(24,222); -INSERT INTO product_slots VALUES(24,223); -INSERT INTO product_slots VALUES(24,224); -INSERT INTO product_slots VALUES(24,225); -INSERT INTO product_slots VALUES(24,226); -INSERT INTO product_slots VALUES(24,227); -INSERT INTO product_slots VALUES(24,228); -INSERT INTO product_slots VALUES(24,229); -INSERT INTO product_slots VALUES(24,230); -INSERT INTO product_slots VALUES(24,231); -INSERT INTO product_slots VALUES(24,232); -INSERT INTO product_slots VALUES(24,234); -INSERT INTO product_slots VALUES(24,235); -INSERT INTO product_slots VALUES(24,236); -INSERT INTO product_slots VALUES(24,237); -INSERT INTO product_slots VALUES(24,238); -INSERT INTO product_slots VALUES(24,239); -INSERT INTO product_slots VALUES(24,240); -INSERT INTO product_slots VALUES(24,241); -INSERT INTO product_slots VALUES(24,242); -INSERT INTO product_slots VALUES(24,243); -INSERT INTO product_slots VALUES(24,244); -INSERT INTO product_slots VALUES(24,274); -INSERT INTO product_slots VALUES(24,275); -INSERT INTO product_slots VALUES(24,279); -INSERT INTO product_slots VALUES(24,280); -INSERT INTO product_slots VALUES(24,281); -INSERT INTO product_slots VALUES(24,282); -INSERT INTO product_slots VALUES(25,10); -INSERT INTO product_slots VALUES(25,11); -INSERT INTO product_slots VALUES(25,12); -INSERT INTO product_slots VALUES(25,17); -INSERT INTO product_slots VALUES(25,18); -INSERT INTO product_slots VALUES(25,20); -INSERT INTO product_slots VALUES(25,21); -INSERT INTO product_slots VALUES(25,22); -INSERT INTO product_slots VALUES(25,33); -INSERT INTO product_slots VALUES(25,35); -INSERT INTO product_slots VALUES(25,37); -INSERT INTO product_slots VALUES(25,38); -INSERT INTO product_slots VALUES(25,39); -INSERT INTO product_slots VALUES(25,40); -INSERT INTO product_slots VALUES(25,43); -INSERT INTO product_slots VALUES(25,45); -INSERT INTO product_slots VALUES(25,46); -INSERT INTO product_slots VALUES(25,48); -INSERT INTO product_slots VALUES(25,49); -INSERT INTO product_slots VALUES(25,51); -INSERT INTO product_slots VALUES(25,52); -INSERT INTO product_slots VALUES(25,53); -INSERT INTO product_slots VALUES(25,54); -INSERT INTO product_slots VALUES(25,57); -INSERT INTO product_slots VALUES(25,58); -INSERT INTO product_slots VALUES(25,59); -INSERT INTO product_slots VALUES(25,60); -INSERT INTO product_slots VALUES(25,61); -INSERT INTO product_slots VALUES(25,62); -INSERT INTO product_slots VALUES(25,63); -INSERT INTO product_slots VALUES(25,64); -INSERT INTO product_slots VALUES(25,65); -INSERT INTO product_slots VALUES(25,66); -INSERT INTO product_slots VALUES(25,67); -INSERT INTO product_slots VALUES(25,68); -INSERT INTO product_slots VALUES(25,69); -INSERT INTO product_slots VALUES(25,70); -INSERT INTO product_slots VALUES(25,71); -INSERT INTO product_slots VALUES(25,72); -INSERT INTO product_slots VALUES(25,73); -INSERT INTO product_slots VALUES(25,74); -INSERT INTO product_slots VALUES(25,75); -INSERT INTO product_slots VALUES(25,76); -INSERT INTO product_slots VALUES(25,77); -INSERT INTO product_slots VALUES(25,78); -INSERT INTO product_slots VALUES(25,79); -INSERT INTO product_slots VALUES(25,80); -INSERT INTO product_slots VALUES(25,81); -INSERT INTO product_slots VALUES(25,82); -INSERT INTO product_slots VALUES(25,83); -INSERT INTO product_slots VALUES(25,84); -INSERT INTO product_slots VALUES(25,85); -INSERT INTO product_slots VALUES(25,86); -INSERT INTO product_slots VALUES(25,87); -INSERT INTO product_slots VALUES(25,88); -INSERT INTO product_slots VALUES(25,89); -INSERT INTO product_slots VALUES(25,90); -INSERT INTO product_slots VALUES(25,91); -INSERT INTO product_slots VALUES(25,92); -INSERT INTO product_slots VALUES(25,93); -INSERT INTO product_slots VALUES(25,94); -INSERT INTO product_slots VALUES(25,95); -INSERT INTO product_slots VALUES(25,96); -INSERT INTO product_slots VALUES(25,97); -INSERT INTO product_slots VALUES(25,98); -INSERT INTO product_slots VALUES(25,99); -INSERT INTO product_slots VALUES(25,100); -INSERT INTO product_slots VALUES(25,102); -INSERT INTO product_slots VALUES(25,103); -INSERT INTO product_slots VALUES(25,104); -INSERT INTO product_slots VALUES(25,105); -INSERT INTO product_slots VALUES(25,106); -INSERT INTO product_slots VALUES(25,107); -INSERT INTO product_slots VALUES(25,108); -INSERT INTO product_slots VALUES(25,109); -INSERT INTO product_slots VALUES(25,110); -INSERT INTO product_slots VALUES(25,111); -INSERT INTO product_slots VALUES(25,112); -INSERT INTO product_slots VALUES(25,113); -INSERT INTO product_slots VALUES(25,114); -INSERT INTO product_slots VALUES(25,115); -INSERT INTO product_slots VALUES(25,117); -INSERT INTO product_slots VALUES(25,118); -INSERT INTO product_slots VALUES(25,119); -INSERT INTO product_slots VALUES(25,120); -INSERT INTO product_slots VALUES(25,121); -INSERT INTO product_slots VALUES(25,122); -INSERT INTO product_slots VALUES(25,123); -INSERT INTO product_slots VALUES(25,124); -INSERT INTO product_slots VALUES(25,125); -INSERT INTO product_slots VALUES(25,126); -INSERT INTO product_slots VALUES(25,127); -INSERT INTO product_slots VALUES(25,128); -INSERT INTO product_slots VALUES(25,129); -INSERT INTO product_slots VALUES(25,130); -INSERT INTO product_slots VALUES(25,131); -INSERT INTO product_slots VALUES(25,132); -INSERT INTO product_slots VALUES(25,133); -INSERT INTO product_slots VALUES(25,134); -INSERT INTO product_slots VALUES(25,135); -INSERT INTO product_slots VALUES(25,136); -INSERT INTO product_slots VALUES(25,138); -INSERT INTO product_slots VALUES(25,139); -INSERT INTO product_slots VALUES(25,140); -INSERT INTO product_slots VALUES(25,141); -INSERT INTO product_slots VALUES(25,142); -INSERT INTO product_slots VALUES(25,143); -INSERT INTO product_slots VALUES(25,145); -INSERT INTO product_slots VALUES(25,146); -INSERT INTO product_slots VALUES(25,147); -INSERT INTO product_slots VALUES(25,148); -INSERT INTO product_slots VALUES(25,149); -INSERT INTO product_slots VALUES(25,150); -INSERT INTO product_slots VALUES(25,151); -INSERT INTO product_slots VALUES(25,152); -INSERT INTO product_slots VALUES(25,153); -INSERT INTO product_slots VALUES(25,154); -INSERT INTO product_slots VALUES(25,155); -INSERT INTO product_slots VALUES(25,156); -INSERT INTO product_slots VALUES(25,157); -INSERT INTO product_slots VALUES(25,158); -INSERT INTO product_slots VALUES(25,159); -INSERT INTO product_slots VALUES(25,160); -INSERT INTO product_slots VALUES(25,161); -INSERT INTO product_slots VALUES(25,162); -INSERT INTO product_slots VALUES(25,163); -INSERT INTO product_slots VALUES(25,164); -INSERT INTO product_slots VALUES(25,165); -INSERT INTO product_slots VALUES(25,166); -INSERT INTO product_slots VALUES(25,167); -INSERT INTO product_slots VALUES(25,168); -INSERT INTO product_slots VALUES(25,169); -INSERT INTO product_slots VALUES(25,170); -INSERT INTO product_slots VALUES(25,171); -INSERT INTO product_slots VALUES(25,172); -INSERT INTO product_slots VALUES(25,173); -INSERT INTO product_slots VALUES(25,174); -INSERT INTO product_slots VALUES(25,175); -INSERT INTO product_slots VALUES(25,176); -INSERT INTO product_slots VALUES(25,177); -INSERT INTO product_slots VALUES(25,178); -INSERT INTO product_slots VALUES(25,179); -INSERT INTO product_slots VALUES(25,180); -INSERT INTO product_slots VALUES(25,181); -INSERT INTO product_slots VALUES(25,182); -INSERT INTO product_slots VALUES(25,183); -INSERT INTO product_slots VALUES(25,184); -INSERT INTO product_slots VALUES(25,185); -INSERT INTO product_slots VALUES(25,186); -INSERT INTO product_slots VALUES(25,187); -INSERT INTO product_slots VALUES(25,188); -INSERT INTO product_slots VALUES(25,189); -INSERT INTO product_slots VALUES(25,190); -INSERT INTO product_slots VALUES(25,191); -INSERT INTO product_slots VALUES(25,192); -INSERT INTO product_slots VALUES(25,193); -INSERT INTO product_slots VALUES(25,194); -INSERT INTO product_slots VALUES(25,195); -INSERT INTO product_slots VALUES(25,196); -INSERT INTO product_slots VALUES(25,197); -INSERT INTO product_slots VALUES(25,198); -INSERT INTO product_slots VALUES(25,199); -INSERT INTO product_slots VALUES(25,200); -INSERT INTO product_slots VALUES(25,201); -INSERT INTO product_slots VALUES(25,202); -INSERT INTO product_slots VALUES(25,203); -INSERT INTO product_slots VALUES(25,204); -INSERT INTO product_slots VALUES(25,205); -INSERT INTO product_slots VALUES(25,206); -INSERT INTO product_slots VALUES(25,207); -INSERT INTO product_slots VALUES(25,208); -INSERT INTO product_slots VALUES(25,209); -INSERT INTO product_slots VALUES(25,210); -INSERT INTO product_slots VALUES(25,211); -INSERT INTO product_slots VALUES(25,212); -INSERT INTO product_slots VALUES(25,213); -INSERT INTO product_slots VALUES(25,214); -INSERT INTO product_slots VALUES(25,215); -INSERT INTO product_slots VALUES(25,216); -INSERT INTO product_slots VALUES(25,217); -INSERT INTO product_slots VALUES(25,218); -INSERT INTO product_slots VALUES(25,219); -INSERT INTO product_slots VALUES(25,220); -INSERT INTO product_slots VALUES(25,221); -INSERT INTO product_slots VALUES(25,222); -INSERT INTO product_slots VALUES(25,223); -INSERT INTO product_slots VALUES(25,224); -INSERT INTO product_slots VALUES(25,225); -INSERT INTO product_slots VALUES(25,226); -INSERT INTO product_slots VALUES(25,227); -INSERT INTO product_slots VALUES(25,228); -INSERT INTO product_slots VALUES(25,229); -INSERT INTO product_slots VALUES(25,230); -INSERT INTO product_slots VALUES(25,231); -INSERT INTO product_slots VALUES(25,232); -INSERT INTO product_slots VALUES(25,233); -INSERT INTO product_slots VALUES(25,234); -INSERT INTO product_slots VALUES(25,235); -INSERT INTO product_slots VALUES(25,236); -INSERT INTO product_slots VALUES(25,237); -INSERT INTO product_slots VALUES(25,238); -INSERT INTO product_slots VALUES(25,239); -INSERT INTO product_slots VALUES(25,240); -INSERT INTO product_slots VALUES(25,241); -INSERT INTO product_slots VALUES(25,242); -INSERT INTO product_slots VALUES(25,243); -INSERT INTO product_slots VALUES(25,244); -INSERT INTO product_slots VALUES(25,274); -INSERT INTO product_slots VALUES(25,275); -INSERT INTO product_slots VALUES(25,279); -INSERT INTO product_slots VALUES(25,280); -INSERT INTO product_slots VALUES(25,281); -INSERT INTO product_slots VALUES(25,282); -INSERT INTO product_slots VALUES(25,283); -INSERT INTO product_slots VALUES(25,284); -INSERT INTO product_slots VALUES(25,285); -INSERT INTO product_slots VALUES(25,286); -INSERT INTO product_slots VALUES(25,287); -INSERT INTO product_slots VALUES(26,17); -INSERT INTO product_slots VALUES(26,18); -INSERT INTO product_slots VALUES(26,20); -INSERT INTO product_slots VALUES(26,21); -INSERT INTO product_slots VALUES(26,22); -INSERT INTO product_slots VALUES(26,33); -INSERT INTO product_slots VALUES(26,35); -INSERT INTO product_slots VALUES(26,37); -INSERT INTO product_slots VALUES(26,38); -INSERT INTO product_slots VALUES(26,40); -INSERT INTO product_slots VALUES(26,64); -INSERT INTO product_slots VALUES(26,65); -INSERT INTO product_slots VALUES(26,66); -INSERT INTO product_slots VALUES(26,67); -INSERT INTO product_slots VALUES(26,68); -INSERT INTO product_slots VALUES(26,69); -INSERT INTO product_slots VALUES(26,70); -INSERT INTO product_slots VALUES(26,71); -INSERT INTO product_slots VALUES(26,72); -INSERT INTO product_slots VALUES(26,73); -INSERT INTO product_slots VALUES(26,74); -INSERT INTO product_slots VALUES(26,75); -INSERT INTO product_slots VALUES(26,76); -INSERT INTO product_slots VALUES(26,77); -INSERT INTO product_slots VALUES(26,78); -INSERT INTO product_slots VALUES(26,79); -INSERT INTO product_slots VALUES(26,80); -INSERT INTO product_slots VALUES(26,81); -INSERT INTO product_slots VALUES(26,82); -INSERT INTO product_slots VALUES(26,83); -INSERT INTO product_slots VALUES(26,84); -INSERT INTO product_slots VALUES(26,85); -INSERT INTO product_slots VALUES(26,86); -INSERT INTO product_slots VALUES(26,87); -INSERT INTO product_slots VALUES(26,88); -INSERT INTO product_slots VALUES(26,89); -INSERT INTO product_slots VALUES(26,90); -INSERT INTO product_slots VALUES(26,91); -INSERT INTO product_slots VALUES(26,92); -INSERT INTO product_slots VALUES(26,93); -INSERT INTO product_slots VALUES(26,94); -INSERT INTO product_slots VALUES(26,95); -INSERT INTO product_slots VALUES(26,96); -INSERT INTO product_slots VALUES(26,97); -INSERT INTO product_slots VALUES(26,98); -INSERT INTO product_slots VALUES(26,99); -INSERT INTO product_slots VALUES(26,100); -INSERT INTO product_slots VALUES(26,102); -INSERT INTO product_slots VALUES(26,103); -INSERT INTO product_slots VALUES(26,104); -INSERT INTO product_slots VALUES(26,105); -INSERT INTO product_slots VALUES(26,106); -INSERT INTO product_slots VALUES(26,107); -INSERT INTO product_slots VALUES(26,108); -INSERT INTO product_slots VALUES(26,109); -INSERT INTO product_slots VALUES(26,110); -INSERT INTO product_slots VALUES(26,111); -INSERT INTO product_slots VALUES(26,112); -INSERT INTO product_slots VALUES(26,113); -INSERT INTO product_slots VALUES(26,114); -INSERT INTO product_slots VALUES(26,115); -INSERT INTO product_slots VALUES(26,117); -INSERT INTO product_slots VALUES(26,118); -INSERT INTO product_slots VALUES(26,119); -INSERT INTO product_slots VALUES(26,120); -INSERT INTO product_slots VALUES(26,121); -INSERT INTO product_slots VALUES(26,122); -INSERT INTO product_slots VALUES(26,123); -INSERT INTO product_slots VALUES(26,124); -INSERT INTO product_slots VALUES(26,125); -INSERT INTO product_slots VALUES(26,126); -INSERT INTO product_slots VALUES(26,127); -INSERT INTO product_slots VALUES(26,128); -INSERT INTO product_slots VALUES(26,129); -INSERT INTO product_slots VALUES(26,130); -INSERT INTO product_slots VALUES(26,131); -INSERT INTO product_slots VALUES(26,132); -INSERT INTO product_slots VALUES(26,133); -INSERT INTO product_slots VALUES(26,134); -INSERT INTO product_slots VALUES(26,135); -INSERT INTO product_slots VALUES(26,136); -INSERT INTO product_slots VALUES(26,138); -INSERT INTO product_slots VALUES(26,139); -INSERT INTO product_slots VALUES(26,140); -INSERT INTO product_slots VALUES(26,141); -INSERT INTO product_slots VALUES(26,142); -INSERT INTO product_slots VALUES(26,143); -INSERT INTO product_slots VALUES(26,145); -INSERT INTO product_slots VALUES(26,146); -INSERT INTO product_slots VALUES(26,147); -INSERT INTO product_slots VALUES(26,148); -INSERT INTO product_slots VALUES(26,149); -INSERT INTO product_slots VALUES(26,150); -INSERT INTO product_slots VALUES(26,151); -INSERT INTO product_slots VALUES(26,152); -INSERT INTO product_slots VALUES(26,153); -INSERT INTO product_slots VALUES(26,154); -INSERT INTO product_slots VALUES(26,155); -INSERT INTO product_slots VALUES(26,156); -INSERT INTO product_slots VALUES(26,157); -INSERT INTO product_slots VALUES(26,158); -INSERT INTO product_slots VALUES(26,159); -INSERT INTO product_slots VALUES(26,160); -INSERT INTO product_slots VALUES(26,161); -INSERT INTO product_slots VALUES(26,162); -INSERT INTO product_slots VALUES(26,163); -INSERT INTO product_slots VALUES(26,164); -INSERT INTO product_slots VALUES(26,165); -INSERT INTO product_slots VALUES(26,166); -INSERT INTO product_slots VALUES(26,167); -INSERT INTO product_slots VALUES(26,168); -INSERT INTO product_slots VALUES(26,169); -INSERT INTO product_slots VALUES(26,170); -INSERT INTO product_slots VALUES(26,171); -INSERT INTO product_slots VALUES(26,172); -INSERT INTO product_slots VALUES(26,173); -INSERT INTO product_slots VALUES(26,174); -INSERT INTO product_slots VALUES(26,175); -INSERT INTO product_slots VALUES(26,176); -INSERT INTO product_slots VALUES(26,177); -INSERT INTO product_slots VALUES(26,178); -INSERT INTO product_slots VALUES(26,179); -INSERT INTO product_slots VALUES(26,180); -INSERT INTO product_slots VALUES(26,181); -INSERT INTO product_slots VALUES(26,182); -INSERT INTO product_slots VALUES(26,183); -INSERT INTO product_slots VALUES(26,184); -INSERT INTO product_slots VALUES(26,185); -INSERT INTO product_slots VALUES(26,186); -INSERT INTO product_slots VALUES(26,187); -INSERT INTO product_slots VALUES(26,188); -INSERT INTO product_slots VALUES(26,189); -INSERT INTO product_slots VALUES(26,190); -INSERT INTO product_slots VALUES(26,191); -INSERT INTO product_slots VALUES(26,192); -INSERT INTO product_slots VALUES(26,193); -INSERT INTO product_slots VALUES(26,194); -INSERT INTO product_slots VALUES(26,195); -INSERT INTO product_slots VALUES(26,196); -INSERT INTO product_slots VALUES(26,197); -INSERT INTO product_slots VALUES(26,198); -INSERT INTO product_slots VALUES(26,199); -INSERT INTO product_slots VALUES(26,200); -INSERT INTO product_slots VALUES(26,201); -INSERT INTO product_slots VALUES(26,202); -INSERT INTO product_slots VALUES(26,203); -INSERT INTO product_slots VALUES(26,204); -INSERT INTO product_slots VALUES(26,205); -INSERT INTO product_slots VALUES(26,206); -INSERT INTO product_slots VALUES(26,207); -INSERT INTO product_slots VALUES(26,208); -INSERT INTO product_slots VALUES(26,209); -INSERT INTO product_slots VALUES(26,210); -INSERT INTO product_slots VALUES(26,211); -INSERT INTO product_slots VALUES(26,212); -INSERT INTO product_slots VALUES(26,213); -INSERT INTO product_slots VALUES(26,214); -INSERT INTO product_slots VALUES(26,215); -INSERT INTO product_slots VALUES(26,216); -INSERT INTO product_slots VALUES(26,217); -INSERT INTO product_slots VALUES(26,218); -INSERT INTO product_slots VALUES(26,219); -INSERT INTO product_slots VALUES(26,220); -INSERT INTO product_slots VALUES(26,221); -INSERT INTO product_slots VALUES(26,222); -INSERT INTO product_slots VALUES(26,223); -INSERT INTO product_slots VALUES(26,224); -INSERT INTO product_slots VALUES(26,225); -INSERT INTO product_slots VALUES(26,226); -INSERT INTO product_slots VALUES(26,227); -INSERT INTO product_slots VALUES(26,228); -INSERT INTO product_slots VALUES(26,229); -INSERT INTO product_slots VALUES(26,230); -INSERT INTO product_slots VALUES(26,231); -INSERT INTO product_slots VALUES(26,232); -INSERT INTO product_slots VALUES(26,233); -INSERT INTO product_slots VALUES(26,234); -INSERT INTO product_slots VALUES(26,235); -INSERT INTO product_slots VALUES(26,236); -INSERT INTO product_slots VALUES(26,237); -INSERT INTO product_slots VALUES(26,238); -INSERT INTO product_slots VALUES(26,239); -INSERT INTO product_slots VALUES(26,240); -INSERT INTO product_slots VALUES(26,241); -INSERT INTO product_slots VALUES(26,242); -INSERT INTO product_slots VALUES(26,243); -INSERT INTO product_slots VALUES(26,244); -INSERT INTO product_slots VALUES(26,274); -INSERT INTO product_slots VALUES(26,275); -INSERT INTO product_slots VALUES(26,279); -INSERT INTO product_slots VALUES(26,280); -INSERT INTO product_slots VALUES(26,281); -INSERT INTO product_slots VALUES(26,282); -INSERT INTO product_slots VALUES(26,283); -INSERT INTO product_slots VALUES(26,284); -INSERT INTO product_slots VALUES(26,285); -INSERT INTO product_slots VALUES(26,286); -INSERT INTO product_slots VALUES(26,287); -INSERT INTO product_slots VALUES(27,18); -INSERT INTO product_slots VALUES(27,20); -INSERT INTO product_slots VALUES(27,21); -INSERT INTO product_slots VALUES(27,33); -INSERT INTO product_slots VALUES(27,35); -INSERT INTO product_slots VALUES(27,37); -INSERT INTO product_slots VALUES(27,38); -INSERT INTO product_slots VALUES(27,39); -INSERT INTO product_slots VALUES(27,40); -INSERT INTO product_slots VALUES(27,41); -INSERT INTO product_slots VALUES(27,43); -INSERT INTO product_slots VALUES(27,44); -INSERT INTO product_slots VALUES(27,45); -INSERT INTO product_slots VALUES(27,46); -INSERT INTO product_slots VALUES(27,47); -INSERT INTO product_slots VALUES(27,48); -INSERT INTO product_slots VALUES(27,49); -INSERT INTO product_slots VALUES(27,50); -INSERT INTO product_slots VALUES(27,51); -INSERT INTO product_slots VALUES(27,52); -INSERT INTO product_slots VALUES(27,53); -INSERT INTO product_slots VALUES(27,54); -INSERT INTO product_slots VALUES(27,55); -INSERT INTO product_slots VALUES(27,56); -INSERT INTO product_slots VALUES(27,57); -INSERT INTO product_slots VALUES(27,58); -INSERT INTO product_slots VALUES(27,59); -INSERT INTO product_slots VALUES(27,60); -INSERT INTO product_slots VALUES(27,61); -INSERT INTO product_slots VALUES(27,62); -INSERT INTO product_slots VALUES(27,63); -INSERT INTO product_slots VALUES(27,64); -INSERT INTO product_slots VALUES(27,65); -INSERT INTO product_slots VALUES(27,66); -INSERT INTO product_slots VALUES(27,67); -INSERT INTO product_slots VALUES(27,68); -INSERT INTO product_slots VALUES(27,69); -INSERT INTO product_slots VALUES(27,70); -INSERT INTO product_slots VALUES(27,71); -INSERT INTO product_slots VALUES(27,72); -INSERT INTO product_slots VALUES(27,73); -INSERT INTO product_slots VALUES(27,74); -INSERT INTO product_slots VALUES(27,75); -INSERT INTO product_slots VALUES(27,76); -INSERT INTO product_slots VALUES(27,77); -INSERT INTO product_slots VALUES(27,78); -INSERT INTO product_slots VALUES(27,79); -INSERT INTO product_slots VALUES(27,80); -INSERT INTO product_slots VALUES(27,81); -INSERT INTO product_slots VALUES(27,82); -INSERT INTO product_slots VALUES(27,83); -INSERT INTO product_slots VALUES(27,84); -INSERT INTO product_slots VALUES(27,85); -INSERT INTO product_slots VALUES(27,86); -INSERT INTO product_slots VALUES(27,87); -INSERT INTO product_slots VALUES(27,88); -INSERT INTO product_slots VALUES(27,89); -INSERT INTO product_slots VALUES(27,90); -INSERT INTO product_slots VALUES(27,91); -INSERT INTO product_slots VALUES(27,92); -INSERT INTO product_slots VALUES(27,93); -INSERT INTO product_slots VALUES(27,94); -INSERT INTO product_slots VALUES(27,95); -INSERT INTO product_slots VALUES(27,96); -INSERT INTO product_slots VALUES(27,97); -INSERT INTO product_slots VALUES(27,98); -INSERT INTO product_slots VALUES(27,99); -INSERT INTO product_slots VALUES(27,100); -INSERT INTO product_slots VALUES(27,101); -INSERT INTO product_slots VALUES(27,102); -INSERT INTO product_slots VALUES(27,103); -INSERT INTO product_slots VALUES(27,104); -INSERT INTO product_slots VALUES(27,105); -INSERT INTO product_slots VALUES(27,106); -INSERT INTO product_slots VALUES(27,107); -INSERT INTO product_slots VALUES(27,108); -INSERT INTO product_slots VALUES(27,109); -INSERT INTO product_slots VALUES(27,110); -INSERT INTO product_slots VALUES(27,111); -INSERT INTO product_slots VALUES(27,112); -INSERT INTO product_slots VALUES(27,113); -INSERT INTO product_slots VALUES(27,114); -INSERT INTO product_slots VALUES(27,115); -INSERT INTO product_slots VALUES(27,116); -INSERT INTO product_slots VALUES(27,117); -INSERT INTO product_slots VALUES(27,118); -INSERT INTO product_slots VALUES(27,119); -INSERT INTO product_slots VALUES(27,120); -INSERT INTO product_slots VALUES(27,121); -INSERT INTO product_slots VALUES(27,122); -INSERT INTO product_slots VALUES(27,123); -INSERT INTO product_slots VALUES(27,124); -INSERT INTO product_slots VALUES(27,125); -INSERT INTO product_slots VALUES(27,126); -INSERT INTO product_slots VALUES(27,127); -INSERT INTO product_slots VALUES(27,128); -INSERT INTO product_slots VALUES(27,129); -INSERT INTO product_slots VALUES(27,130); -INSERT INTO product_slots VALUES(27,131); -INSERT INTO product_slots VALUES(27,132); -INSERT INTO product_slots VALUES(27,133); -INSERT INTO product_slots VALUES(27,134); -INSERT INTO product_slots VALUES(27,135); -INSERT INTO product_slots VALUES(27,136); -INSERT INTO product_slots VALUES(27,137); -INSERT INTO product_slots VALUES(27,138); -INSERT INTO product_slots VALUES(27,139); -INSERT INTO product_slots VALUES(27,140); -INSERT INTO product_slots VALUES(27,141); -INSERT INTO product_slots VALUES(27,142); -INSERT INTO product_slots VALUES(27,143); -INSERT INTO product_slots VALUES(27,144); -INSERT INTO product_slots VALUES(27,145); -INSERT INTO product_slots VALUES(27,146); -INSERT INTO product_slots VALUES(27,147); -INSERT INTO product_slots VALUES(27,148); -INSERT INTO product_slots VALUES(27,149); -INSERT INTO product_slots VALUES(27,150); -INSERT INTO product_slots VALUES(27,151); -INSERT INTO product_slots VALUES(27,152); -INSERT INTO product_slots VALUES(27,153); -INSERT INTO product_slots VALUES(27,154); -INSERT INTO product_slots VALUES(27,155); -INSERT INTO product_slots VALUES(27,156); -INSERT INTO product_slots VALUES(27,157); -INSERT INTO product_slots VALUES(27,158); -INSERT INTO product_slots VALUES(27,159); -INSERT INTO product_slots VALUES(27,160); -INSERT INTO product_slots VALUES(27,161); -INSERT INTO product_slots VALUES(27,162); -INSERT INTO product_slots VALUES(27,163); -INSERT INTO product_slots VALUES(27,164); -INSERT INTO product_slots VALUES(27,165); -INSERT INTO product_slots VALUES(27,166); -INSERT INTO product_slots VALUES(27,167); -INSERT INTO product_slots VALUES(27,168); -INSERT INTO product_slots VALUES(27,169); -INSERT INTO product_slots VALUES(27,170); -INSERT INTO product_slots VALUES(27,171); -INSERT INTO product_slots VALUES(27,172); -INSERT INTO product_slots VALUES(27,173); -INSERT INTO product_slots VALUES(27,174); -INSERT INTO product_slots VALUES(27,175); -INSERT INTO product_slots VALUES(27,176); -INSERT INTO product_slots VALUES(27,177); -INSERT INTO product_slots VALUES(27,178); -INSERT INTO product_slots VALUES(27,179); -INSERT INTO product_slots VALUES(27,180); -INSERT INTO product_slots VALUES(27,181); -INSERT INTO product_slots VALUES(27,182); -INSERT INTO product_slots VALUES(27,183); -INSERT INTO product_slots VALUES(27,184); -INSERT INTO product_slots VALUES(27,185); -INSERT INTO product_slots VALUES(27,186); -INSERT INTO product_slots VALUES(27,187); -INSERT INTO product_slots VALUES(27,188); -INSERT INTO product_slots VALUES(27,189); -INSERT INTO product_slots VALUES(27,190); -INSERT INTO product_slots VALUES(27,191); -INSERT INTO product_slots VALUES(27,192); -INSERT INTO product_slots VALUES(27,193); -INSERT INTO product_slots VALUES(27,194); -INSERT INTO product_slots VALUES(27,195); -INSERT INTO product_slots VALUES(27,196); -INSERT INTO product_slots VALUES(27,197); -INSERT INTO product_slots VALUES(27,198); -INSERT INTO product_slots VALUES(27,199); -INSERT INTO product_slots VALUES(27,200); -INSERT INTO product_slots VALUES(27,201); -INSERT INTO product_slots VALUES(27,202); -INSERT INTO product_slots VALUES(27,203); -INSERT INTO product_slots VALUES(27,204); -INSERT INTO product_slots VALUES(27,205); -INSERT INTO product_slots VALUES(27,206); -INSERT INTO product_slots VALUES(27,207); -INSERT INTO product_slots VALUES(27,208); -INSERT INTO product_slots VALUES(27,209); -INSERT INTO product_slots VALUES(27,210); -INSERT INTO product_slots VALUES(27,211); -INSERT INTO product_slots VALUES(27,212); -INSERT INTO product_slots VALUES(27,213); -INSERT INTO product_slots VALUES(27,214); -INSERT INTO product_slots VALUES(27,215); -INSERT INTO product_slots VALUES(27,216); -INSERT INTO product_slots VALUES(27,217); -INSERT INTO product_slots VALUES(27,218); -INSERT INTO product_slots VALUES(27,219); -INSERT INTO product_slots VALUES(27,220); -INSERT INTO product_slots VALUES(27,221); -INSERT INTO product_slots VALUES(27,222); -INSERT INTO product_slots VALUES(27,223); -INSERT INTO product_slots VALUES(27,224); -INSERT INTO product_slots VALUES(27,225); -INSERT INTO product_slots VALUES(27,226); -INSERT INTO product_slots VALUES(27,227); -INSERT INTO product_slots VALUES(27,228); -INSERT INTO product_slots VALUES(27,229); -INSERT INTO product_slots VALUES(27,230); -INSERT INTO product_slots VALUES(27,231); -INSERT INTO product_slots VALUES(27,232); -INSERT INTO product_slots VALUES(27,233); -INSERT INTO product_slots VALUES(27,234); -INSERT INTO product_slots VALUES(27,235); -INSERT INTO product_slots VALUES(27,236); -INSERT INTO product_slots VALUES(27,237); -INSERT INTO product_slots VALUES(27,238); -INSERT INTO product_slots VALUES(27,239); -INSERT INTO product_slots VALUES(27,240); -INSERT INTO product_slots VALUES(27,241); -INSERT INTO product_slots VALUES(27,242); -INSERT INTO product_slots VALUES(27,243); -INSERT INTO product_slots VALUES(27,244); -INSERT INTO product_slots VALUES(27,274); -INSERT INTO product_slots VALUES(27,275); -INSERT INTO product_slots VALUES(27,279); -INSERT INTO product_slots VALUES(27,280); -INSERT INTO product_slots VALUES(27,281); -INSERT INTO product_slots VALUES(27,282); -INSERT INTO product_slots VALUES(27,283); -INSERT INTO product_slots VALUES(27,284); -INSERT INTO product_slots VALUES(27,285); -INSERT INTO product_slots VALUES(27,286); -INSERT INTO product_slots VALUES(27,287); -INSERT INTO product_slots VALUES(28,18); -INSERT INTO product_slots VALUES(28,20); -INSERT INTO product_slots VALUES(28,21); -INSERT INTO product_slots VALUES(28,33); -INSERT INTO product_slots VALUES(28,35); -INSERT INTO product_slots VALUES(28,37); -INSERT INTO product_slots VALUES(28,38); -INSERT INTO product_slots VALUES(28,39); -INSERT INTO product_slots VALUES(28,40); -INSERT INTO product_slots VALUES(28,41); -INSERT INTO product_slots VALUES(28,43); -INSERT INTO product_slots VALUES(28,44); -INSERT INTO product_slots VALUES(28,45); -INSERT INTO product_slots VALUES(28,46); -INSERT INTO product_slots VALUES(28,47); -INSERT INTO product_slots VALUES(28,48); -INSERT INTO product_slots VALUES(28,49); -INSERT INTO product_slots VALUES(28,50); -INSERT INTO product_slots VALUES(28,51); -INSERT INTO product_slots VALUES(28,52); -INSERT INTO product_slots VALUES(28,53); -INSERT INTO product_slots VALUES(28,54); -INSERT INTO product_slots VALUES(28,55); -INSERT INTO product_slots VALUES(28,56); -INSERT INTO product_slots VALUES(28,57); -INSERT INTO product_slots VALUES(28,58); -INSERT INTO product_slots VALUES(28,59); -INSERT INTO product_slots VALUES(28,60); -INSERT INTO product_slots VALUES(28,61); -INSERT INTO product_slots VALUES(28,62); -INSERT INTO product_slots VALUES(28,63); -INSERT INTO product_slots VALUES(28,64); -INSERT INTO product_slots VALUES(28,65); -INSERT INTO product_slots VALUES(28,66); -INSERT INTO product_slots VALUES(28,67); -INSERT INTO product_slots VALUES(28,68); -INSERT INTO product_slots VALUES(28,69); -INSERT INTO product_slots VALUES(28,70); -INSERT INTO product_slots VALUES(28,71); -INSERT INTO product_slots VALUES(28,72); -INSERT INTO product_slots VALUES(28,73); -INSERT INTO product_slots VALUES(28,74); -INSERT INTO product_slots VALUES(28,75); -INSERT INTO product_slots VALUES(28,76); -INSERT INTO product_slots VALUES(28,77); -INSERT INTO product_slots VALUES(28,78); -INSERT INTO product_slots VALUES(28,79); -INSERT INTO product_slots VALUES(28,80); -INSERT INTO product_slots VALUES(28,81); -INSERT INTO product_slots VALUES(28,82); -INSERT INTO product_slots VALUES(28,83); -INSERT INTO product_slots VALUES(28,84); -INSERT INTO product_slots VALUES(28,85); -INSERT INTO product_slots VALUES(28,86); -INSERT INTO product_slots VALUES(28,87); -INSERT INTO product_slots VALUES(28,88); -INSERT INTO product_slots VALUES(28,89); -INSERT INTO product_slots VALUES(28,90); -INSERT INTO product_slots VALUES(28,91); -INSERT INTO product_slots VALUES(28,92); -INSERT INTO product_slots VALUES(28,93); -INSERT INTO product_slots VALUES(28,94); -INSERT INTO product_slots VALUES(28,95); -INSERT INTO product_slots VALUES(28,96); -INSERT INTO product_slots VALUES(28,97); -INSERT INTO product_slots VALUES(28,98); -INSERT INTO product_slots VALUES(28,99); -INSERT INTO product_slots VALUES(28,100); -INSERT INTO product_slots VALUES(28,101); -INSERT INTO product_slots VALUES(28,102); -INSERT INTO product_slots VALUES(28,103); -INSERT INTO product_slots VALUES(28,104); -INSERT INTO product_slots VALUES(28,105); -INSERT INTO product_slots VALUES(28,106); -INSERT INTO product_slots VALUES(28,107); -INSERT INTO product_slots VALUES(28,108); -INSERT INTO product_slots VALUES(28,109); -INSERT INTO product_slots VALUES(28,110); -INSERT INTO product_slots VALUES(28,111); -INSERT INTO product_slots VALUES(28,112); -INSERT INTO product_slots VALUES(28,113); -INSERT INTO product_slots VALUES(28,114); -INSERT INTO product_slots VALUES(28,115); -INSERT INTO product_slots VALUES(28,116); -INSERT INTO product_slots VALUES(28,117); -INSERT INTO product_slots VALUES(28,118); -INSERT INTO product_slots VALUES(28,119); -INSERT INTO product_slots VALUES(28,120); -INSERT INTO product_slots VALUES(28,121); -INSERT INTO product_slots VALUES(28,122); -INSERT INTO product_slots VALUES(28,123); -INSERT INTO product_slots VALUES(28,124); -INSERT INTO product_slots VALUES(28,125); -INSERT INTO product_slots VALUES(28,126); -INSERT INTO product_slots VALUES(28,127); -INSERT INTO product_slots VALUES(28,128); -INSERT INTO product_slots VALUES(28,129); -INSERT INTO product_slots VALUES(28,130); -INSERT INTO product_slots VALUES(28,131); -INSERT INTO product_slots VALUES(28,132); -INSERT INTO product_slots VALUES(28,133); -INSERT INTO product_slots VALUES(28,134); -INSERT INTO product_slots VALUES(28,135); -INSERT INTO product_slots VALUES(28,136); -INSERT INTO product_slots VALUES(28,137); -INSERT INTO product_slots VALUES(28,138); -INSERT INTO product_slots VALUES(28,139); -INSERT INTO product_slots VALUES(28,140); -INSERT INTO product_slots VALUES(28,144); -INSERT INTO product_slots VALUES(28,145); -INSERT INTO product_slots VALUES(28,146); -INSERT INTO product_slots VALUES(28,147); -INSERT INTO product_slots VALUES(28,148); -INSERT INTO product_slots VALUES(28,149); -INSERT INTO product_slots VALUES(28,150); -INSERT INTO product_slots VALUES(28,151); -INSERT INTO product_slots VALUES(28,152); -INSERT INTO product_slots VALUES(28,153); -INSERT INTO product_slots VALUES(28,154); -INSERT INTO product_slots VALUES(28,155); -INSERT INTO product_slots VALUES(28,156); -INSERT INTO product_slots VALUES(28,157); -INSERT INTO product_slots VALUES(28,158); -INSERT INTO product_slots VALUES(28,159); -INSERT INTO product_slots VALUES(28,160); -INSERT INTO product_slots VALUES(28,161); -INSERT INTO product_slots VALUES(28,162); -INSERT INTO product_slots VALUES(28,163); -INSERT INTO product_slots VALUES(28,164); -INSERT INTO product_slots VALUES(28,165); -INSERT INTO product_slots VALUES(28,166); -INSERT INTO product_slots VALUES(28,167); -INSERT INTO product_slots VALUES(28,169); -INSERT INTO product_slots VALUES(28,170); -INSERT INTO product_slots VALUES(28,171); -INSERT INTO product_slots VALUES(28,172); -INSERT INTO product_slots VALUES(28,173); -INSERT INTO product_slots VALUES(28,174); -INSERT INTO product_slots VALUES(28,175); -INSERT INTO product_slots VALUES(28,176); -INSERT INTO product_slots VALUES(28,177); -INSERT INTO product_slots VALUES(28,178); -INSERT INTO product_slots VALUES(28,179); -INSERT INTO product_slots VALUES(28,180); -INSERT INTO product_slots VALUES(28,181); -INSERT INTO product_slots VALUES(28,182); -INSERT INTO product_slots VALUES(28,183); -INSERT INTO product_slots VALUES(28,184); -INSERT INTO product_slots VALUES(28,185); -INSERT INTO product_slots VALUES(28,186); -INSERT INTO product_slots VALUES(28,187); -INSERT INTO product_slots VALUES(28,188); -INSERT INTO product_slots VALUES(28,189); -INSERT INTO product_slots VALUES(28,190); -INSERT INTO product_slots VALUES(28,191); -INSERT INTO product_slots VALUES(28,192); -INSERT INTO product_slots VALUES(28,193); -INSERT INTO product_slots VALUES(28,194); -INSERT INTO product_slots VALUES(28,195); -INSERT INTO product_slots VALUES(28,196); -INSERT INTO product_slots VALUES(28,197); -INSERT INTO product_slots VALUES(28,198); -INSERT INTO product_slots VALUES(28,199); -INSERT INTO product_slots VALUES(28,200); -INSERT INTO product_slots VALUES(28,201); -INSERT INTO product_slots VALUES(28,202); -INSERT INTO product_slots VALUES(28,203); -INSERT INTO product_slots VALUES(28,204); -INSERT INTO product_slots VALUES(28,205); -INSERT INTO product_slots VALUES(28,206); -INSERT INTO product_slots VALUES(28,207); -INSERT INTO product_slots VALUES(28,208); -INSERT INTO product_slots VALUES(28,209); -INSERT INTO product_slots VALUES(28,210); -INSERT INTO product_slots VALUES(28,211); -INSERT INTO product_slots VALUES(28,212); -INSERT INTO product_slots VALUES(28,213); -INSERT INTO product_slots VALUES(28,214); -INSERT INTO product_slots VALUES(28,215); -INSERT INTO product_slots VALUES(28,216); -INSERT INTO product_slots VALUES(28,217); -INSERT INTO product_slots VALUES(28,218); -INSERT INTO product_slots VALUES(28,219); -INSERT INTO product_slots VALUES(28,220); -INSERT INTO product_slots VALUES(28,221); -INSERT INTO product_slots VALUES(28,222); -INSERT INTO product_slots VALUES(28,223); -INSERT INTO product_slots VALUES(28,224); -INSERT INTO product_slots VALUES(28,225); -INSERT INTO product_slots VALUES(28,226); -INSERT INTO product_slots VALUES(28,227); -INSERT INTO product_slots VALUES(28,228); -INSERT INTO product_slots VALUES(28,229); -INSERT INTO product_slots VALUES(28,230); -INSERT INTO product_slots VALUES(28,231); -INSERT INTO product_slots VALUES(28,232); -INSERT INTO product_slots VALUES(28,233); -INSERT INTO product_slots VALUES(28,234); -INSERT INTO product_slots VALUES(28,235); -INSERT INTO product_slots VALUES(28,236); -INSERT INTO product_slots VALUES(28,237); -INSERT INTO product_slots VALUES(28,238); -INSERT INTO product_slots VALUES(28,239); -INSERT INTO product_slots VALUES(28,240); -INSERT INTO product_slots VALUES(28,241); -INSERT INTO product_slots VALUES(28,242); -INSERT INTO product_slots VALUES(28,243); -INSERT INTO product_slots VALUES(28,244); -INSERT INTO product_slots VALUES(28,274); -INSERT INTO product_slots VALUES(28,275); -INSERT INTO product_slots VALUES(28,279); -INSERT INTO product_slots VALUES(28,280); -INSERT INTO product_slots VALUES(28,281); -INSERT INTO product_slots VALUES(28,282); -INSERT INTO product_slots VALUES(28,283); -INSERT INTO product_slots VALUES(28,284); -INSERT INTO product_slots VALUES(28,285); -INSERT INTO product_slots VALUES(28,286); -INSERT INTO product_slots VALUES(28,287); -INSERT INTO product_slots VALUES(29,18); -INSERT INTO product_slots VALUES(29,20); -INSERT INTO product_slots VALUES(29,21); -INSERT INTO product_slots VALUES(29,33); -INSERT INTO product_slots VALUES(29,35); -INSERT INTO product_slots VALUES(29,37); -INSERT INTO product_slots VALUES(29,38); -INSERT INTO product_slots VALUES(29,39); -INSERT INTO product_slots VALUES(29,40); -INSERT INTO product_slots VALUES(29,41); -INSERT INTO product_slots VALUES(29,43); -INSERT INTO product_slots VALUES(29,44); -INSERT INTO product_slots VALUES(29,45); -INSERT INTO product_slots VALUES(29,46); -INSERT INTO product_slots VALUES(29,47); -INSERT INTO product_slots VALUES(29,48); -INSERT INTO product_slots VALUES(29,49); -INSERT INTO product_slots VALUES(29,50); -INSERT INTO product_slots VALUES(29,51); -INSERT INTO product_slots VALUES(29,52); -INSERT INTO product_slots VALUES(29,53); -INSERT INTO product_slots VALUES(29,54); -INSERT INTO product_slots VALUES(29,55); -INSERT INTO product_slots VALUES(29,56); -INSERT INTO product_slots VALUES(29,57); -INSERT INTO product_slots VALUES(29,58); -INSERT INTO product_slots VALUES(29,59); -INSERT INTO product_slots VALUES(29,60); -INSERT INTO product_slots VALUES(29,61); -INSERT INTO product_slots VALUES(29,62); -INSERT INTO product_slots VALUES(29,63); -INSERT INTO product_slots VALUES(29,64); -INSERT INTO product_slots VALUES(29,65); -INSERT INTO product_slots VALUES(29,66); -INSERT INTO product_slots VALUES(29,67); -INSERT INTO product_slots VALUES(29,68); -INSERT INTO product_slots VALUES(29,69); -INSERT INTO product_slots VALUES(29,70); -INSERT INTO product_slots VALUES(29,71); -INSERT INTO product_slots VALUES(29,72); -INSERT INTO product_slots VALUES(29,73); -INSERT INTO product_slots VALUES(29,74); -INSERT INTO product_slots VALUES(29,75); -INSERT INTO product_slots VALUES(29,76); -INSERT INTO product_slots VALUES(29,77); -INSERT INTO product_slots VALUES(29,78); -INSERT INTO product_slots VALUES(29,79); -INSERT INTO product_slots VALUES(29,80); -INSERT INTO product_slots VALUES(29,81); -INSERT INTO product_slots VALUES(29,82); -INSERT INTO product_slots VALUES(29,83); -INSERT INTO product_slots VALUES(29,84); -INSERT INTO product_slots VALUES(29,85); -INSERT INTO product_slots VALUES(29,86); -INSERT INTO product_slots VALUES(29,87); -INSERT INTO product_slots VALUES(29,88); -INSERT INTO product_slots VALUES(29,89); -INSERT INTO product_slots VALUES(29,90); -INSERT INTO product_slots VALUES(29,91); -INSERT INTO product_slots VALUES(29,92); -INSERT INTO product_slots VALUES(29,93); -INSERT INTO product_slots VALUES(29,94); -INSERT INTO product_slots VALUES(29,95); -INSERT INTO product_slots VALUES(29,96); -INSERT INTO product_slots VALUES(29,97); -INSERT INTO product_slots VALUES(29,98); -INSERT INTO product_slots VALUES(29,99); -INSERT INTO product_slots VALUES(29,100); -INSERT INTO product_slots VALUES(29,101); -INSERT INTO product_slots VALUES(29,102); -INSERT INTO product_slots VALUES(29,103); -INSERT INTO product_slots VALUES(29,104); -INSERT INTO product_slots VALUES(29,105); -INSERT INTO product_slots VALUES(29,106); -INSERT INTO product_slots VALUES(29,107); -INSERT INTO product_slots VALUES(29,108); -INSERT INTO product_slots VALUES(29,109); -INSERT INTO product_slots VALUES(29,110); -INSERT INTO product_slots VALUES(29,111); -INSERT INTO product_slots VALUES(29,112); -INSERT INTO product_slots VALUES(29,113); -INSERT INTO product_slots VALUES(29,114); -INSERT INTO product_slots VALUES(29,115); -INSERT INTO product_slots VALUES(29,116); -INSERT INTO product_slots VALUES(29,117); -INSERT INTO product_slots VALUES(29,118); -INSERT INTO product_slots VALUES(29,119); -INSERT INTO product_slots VALUES(29,120); -INSERT INTO product_slots VALUES(29,121); -INSERT INTO product_slots VALUES(29,122); -INSERT INTO product_slots VALUES(29,123); -INSERT INTO product_slots VALUES(29,124); -INSERT INTO product_slots VALUES(29,125); -INSERT INTO product_slots VALUES(29,126); -INSERT INTO product_slots VALUES(29,127); -INSERT INTO product_slots VALUES(29,128); -INSERT INTO product_slots VALUES(29,129); -INSERT INTO product_slots VALUES(29,130); -INSERT INTO product_slots VALUES(29,131); -INSERT INTO product_slots VALUES(29,132); -INSERT INTO product_slots VALUES(29,133); -INSERT INTO product_slots VALUES(29,134); -INSERT INTO product_slots VALUES(29,135); -INSERT INTO product_slots VALUES(29,136); -INSERT INTO product_slots VALUES(29,137); -INSERT INTO product_slots VALUES(29,138); -INSERT INTO product_slots VALUES(29,139); -INSERT INTO product_slots VALUES(29,140); -INSERT INTO product_slots VALUES(29,141); -INSERT INTO product_slots VALUES(29,142); -INSERT INTO product_slots VALUES(29,143); -INSERT INTO product_slots VALUES(29,144); -INSERT INTO product_slots VALUES(29,145); -INSERT INTO product_slots VALUES(29,146); -INSERT INTO product_slots VALUES(29,147); -INSERT INTO product_slots VALUES(29,148); -INSERT INTO product_slots VALUES(29,149); -INSERT INTO product_slots VALUES(29,150); -INSERT INTO product_slots VALUES(29,151); -INSERT INTO product_slots VALUES(29,152); -INSERT INTO product_slots VALUES(29,153); -INSERT INTO product_slots VALUES(29,154); -INSERT INTO product_slots VALUES(29,155); -INSERT INTO product_slots VALUES(29,156); -INSERT INTO product_slots VALUES(29,157); -INSERT INTO product_slots VALUES(29,158); -INSERT INTO product_slots VALUES(29,159); -INSERT INTO product_slots VALUES(29,160); -INSERT INTO product_slots VALUES(29,161); -INSERT INTO product_slots VALUES(29,162); -INSERT INTO product_slots VALUES(29,163); -INSERT INTO product_slots VALUES(29,164); -INSERT INTO product_slots VALUES(29,165); -INSERT INTO product_slots VALUES(29,166); -INSERT INTO product_slots VALUES(29,167); -INSERT INTO product_slots VALUES(29,168); -INSERT INTO product_slots VALUES(29,169); -INSERT INTO product_slots VALUES(29,170); -INSERT INTO product_slots VALUES(29,171); -INSERT INTO product_slots VALUES(29,172); -INSERT INTO product_slots VALUES(29,173); -INSERT INTO product_slots VALUES(29,174); -INSERT INTO product_slots VALUES(29,175); -INSERT INTO product_slots VALUES(29,176); -INSERT INTO product_slots VALUES(29,177); -INSERT INTO product_slots VALUES(29,178); -INSERT INTO product_slots VALUES(29,179); -INSERT INTO product_slots VALUES(29,180); -INSERT INTO product_slots VALUES(29,181); -INSERT INTO product_slots VALUES(29,182); -INSERT INTO product_slots VALUES(29,183); -INSERT INTO product_slots VALUES(29,184); -INSERT INTO product_slots VALUES(29,185); -INSERT INTO product_slots VALUES(29,186); -INSERT INTO product_slots VALUES(29,187); -INSERT INTO product_slots VALUES(29,188); -INSERT INTO product_slots VALUES(29,189); -INSERT INTO product_slots VALUES(29,190); -INSERT INTO product_slots VALUES(29,191); -INSERT INTO product_slots VALUES(29,192); -INSERT INTO product_slots VALUES(29,193); -INSERT INTO product_slots VALUES(29,194); -INSERT INTO product_slots VALUES(29,195); -INSERT INTO product_slots VALUES(29,196); -INSERT INTO product_slots VALUES(29,197); -INSERT INTO product_slots VALUES(29,198); -INSERT INTO product_slots VALUES(29,199); -INSERT INTO product_slots VALUES(29,200); -INSERT INTO product_slots VALUES(29,201); -INSERT INTO product_slots VALUES(29,202); -INSERT INTO product_slots VALUES(29,203); -INSERT INTO product_slots VALUES(29,204); -INSERT INTO product_slots VALUES(29,205); -INSERT INTO product_slots VALUES(29,206); -INSERT INTO product_slots VALUES(29,207); -INSERT INTO product_slots VALUES(29,208); -INSERT INTO product_slots VALUES(29,209); -INSERT INTO product_slots VALUES(29,210); -INSERT INTO product_slots VALUES(29,211); -INSERT INTO product_slots VALUES(29,212); -INSERT INTO product_slots VALUES(29,213); -INSERT INTO product_slots VALUES(29,214); -INSERT INTO product_slots VALUES(29,215); -INSERT INTO product_slots VALUES(29,216); -INSERT INTO product_slots VALUES(29,217); -INSERT INTO product_slots VALUES(29,218); -INSERT INTO product_slots VALUES(29,219); -INSERT INTO product_slots VALUES(29,220); -INSERT INTO product_slots VALUES(29,221); -INSERT INTO product_slots VALUES(29,222); -INSERT INTO product_slots VALUES(29,223); -INSERT INTO product_slots VALUES(29,224); -INSERT INTO product_slots VALUES(29,225); -INSERT INTO product_slots VALUES(29,226); -INSERT INTO product_slots VALUES(29,227); -INSERT INTO product_slots VALUES(29,228); -INSERT INTO product_slots VALUES(29,229); -INSERT INTO product_slots VALUES(29,230); -INSERT INTO product_slots VALUES(29,231); -INSERT INTO product_slots VALUES(29,232); -INSERT INTO product_slots VALUES(29,233); -INSERT INTO product_slots VALUES(29,234); -INSERT INTO product_slots VALUES(29,235); -INSERT INTO product_slots VALUES(29,236); -INSERT INTO product_slots VALUES(29,237); -INSERT INTO product_slots VALUES(29,238); -INSERT INTO product_slots VALUES(29,239); -INSERT INTO product_slots VALUES(29,240); -INSERT INTO product_slots VALUES(29,241); -INSERT INTO product_slots VALUES(29,242); -INSERT INTO product_slots VALUES(29,243); -INSERT INTO product_slots VALUES(29,244); -INSERT INTO product_slots VALUES(29,274); -INSERT INTO product_slots VALUES(29,275); -INSERT INTO product_slots VALUES(29,279); -INSERT INTO product_slots VALUES(29,280); -INSERT INTO product_slots VALUES(29,281); -INSERT INTO product_slots VALUES(29,282); -INSERT INTO product_slots VALUES(29,283); -INSERT INTO product_slots VALUES(29,284); -INSERT INTO product_slots VALUES(29,285); -INSERT INTO product_slots VALUES(29,286); -INSERT INTO product_slots VALUES(29,287); -INSERT INTO product_slots VALUES(30,18); -INSERT INTO product_slots VALUES(30,20); -INSERT INTO product_slots VALUES(30,21); -INSERT INTO product_slots VALUES(30,33); -INSERT INTO product_slots VALUES(30,35); -INSERT INTO product_slots VALUES(30,37); -INSERT INTO product_slots VALUES(30,38); -INSERT INTO product_slots VALUES(30,39); -INSERT INTO product_slots VALUES(30,40); -INSERT INTO product_slots VALUES(30,41); -INSERT INTO product_slots VALUES(30,43); -INSERT INTO product_slots VALUES(30,44); -INSERT INTO product_slots VALUES(30,45); -INSERT INTO product_slots VALUES(30,46); -INSERT INTO product_slots VALUES(30,47); -INSERT INTO product_slots VALUES(30,48); -INSERT INTO product_slots VALUES(30,49); -INSERT INTO product_slots VALUES(30,50); -INSERT INTO product_slots VALUES(30,51); -INSERT INTO product_slots VALUES(30,52); -INSERT INTO product_slots VALUES(30,53); -INSERT INTO product_slots VALUES(30,54); -INSERT INTO product_slots VALUES(30,55); -INSERT INTO product_slots VALUES(30,56); -INSERT INTO product_slots VALUES(30,57); -INSERT INTO product_slots VALUES(30,58); -INSERT INTO product_slots VALUES(30,59); -INSERT INTO product_slots VALUES(30,60); -INSERT INTO product_slots VALUES(30,61); -INSERT INTO product_slots VALUES(30,62); -INSERT INTO product_slots VALUES(30,63); -INSERT INTO product_slots VALUES(30,64); -INSERT INTO product_slots VALUES(30,65); -INSERT INTO product_slots VALUES(30,66); -INSERT INTO product_slots VALUES(30,67); -INSERT INTO product_slots VALUES(30,68); -INSERT INTO product_slots VALUES(30,69); -INSERT INTO product_slots VALUES(30,70); -INSERT INTO product_slots VALUES(30,71); -INSERT INTO product_slots VALUES(30,72); -INSERT INTO product_slots VALUES(30,73); -INSERT INTO product_slots VALUES(30,74); -INSERT INTO product_slots VALUES(30,75); -INSERT INTO product_slots VALUES(30,76); -INSERT INTO product_slots VALUES(30,77); -INSERT INTO product_slots VALUES(30,78); -INSERT INTO product_slots VALUES(30,79); -INSERT INTO product_slots VALUES(30,80); -INSERT INTO product_slots VALUES(30,81); -INSERT INTO product_slots VALUES(30,82); -INSERT INTO product_slots VALUES(30,83); -INSERT INTO product_slots VALUES(30,84); -INSERT INTO product_slots VALUES(30,85); -INSERT INTO product_slots VALUES(30,86); -INSERT INTO product_slots VALUES(30,87); -INSERT INTO product_slots VALUES(30,88); -INSERT INTO product_slots VALUES(30,89); -INSERT INTO product_slots VALUES(30,90); -INSERT INTO product_slots VALUES(30,91); -INSERT INTO product_slots VALUES(30,92); -INSERT INTO product_slots VALUES(30,93); -INSERT INTO product_slots VALUES(30,94); -INSERT INTO product_slots VALUES(30,95); -INSERT INTO product_slots VALUES(30,96); -INSERT INTO product_slots VALUES(30,97); -INSERT INTO product_slots VALUES(30,98); -INSERT INTO product_slots VALUES(30,99); -INSERT INTO product_slots VALUES(30,100); -INSERT INTO product_slots VALUES(30,101); -INSERT INTO product_slots VALUES(30,102); -INSERT INTO product_slots VALUES(30,103); -INSERT INTO product_slots VALUES(30,104); -INSERT INTO product_slots VALUES(30,105); -INSERT INTO product_slots VALUES(30,106); -INSERT INTO product_slots VALUES(30,107); -INSERT INTO product_slots VALUES(30,108); -INSERT INTO product_slots VALUES(30,109); -INSERT INTO product_slots VALUES(30,110); -INSERT INTO product_slots VALUES(30,111); -INSERT INTO product_slots VALUES(30,112); -INSERT INTO product_slots VALUES(30,113); -INSERT INTO product_slots VALUES(30,114); -INSERT INTO product_slots VALUES(30,115); -INSERT INTO product_slots VALUES(30,116); -INSERT INTO product_slots VALUES(30,117); -INSERT INTO product_slots VALUES(30,118); -INSERT INTO product_slots VALUES(30,119); -INSERT INTO product_slots VALUES(30,120); -INSERT INTO product_slots VALUES(30,121); -INSERT INTO product_slots VALUES(30,122); -INSERT INTO product_slots VALUES(30,123); -INSERT INTO product_slots VALUES(30,124); -INSERT INTO product_slots VALUES(30,125); -INSERT INTO product_slots VALUES(30,126); -INSERT INTO product_slots VALUES(30,127); -INSERT INTO product_slots VALUES(30,128); -INSERT INTO product_slots VALUES(30,129); -INSERT INTO product_slots VALUES(30,130); -INSERT INTO product_slots VALUES(30,131); -INSERT INTO product_slots VALUES(30,132); -INSERT INTO product_slots VALUES(30,133); -INSERT INTO product_slots VALUES(30,134); -INSERT INTO product_slots VALUES(30,135); -INSERT INTO product_slots VALUES(30,136); -INSERT INTO product_slots VALUES(30,137); -INSERT INTO product_slots VALUES(30,138); -INSERT INTO product_slots VALUES(30,139); -INSERT INTO product_slots VALUES(30,140); -INSERT INTO product_slots VALUES(30,141); -INSERT INTO product_slots VALUES(30,142); -INSERT INTO product_slots VALUES(30,143); -INSERT INTO product_slots VALUES(30,144); -INSERT INTO product_slots VALUES(30,145); -INSERT INTO product_slots VALUES(30,146); -INSERT INTO product_slots VALUES(30,147); -INSERT INTO product_slots VALUES(30,148); -INSERT INTO product_slots VALUES(30,149); -INSERT INTO product_slots VALUES(30,150); -INSERT INTO product_slots VALUES(30,151); -INSERT INTO product_slots VALUES(30,152); -INSERT INTO product_slots VALUES(30,153); -INSERT INTO product_slots VALUES(30,154); -INSERT INTO product_slots VALUES(30,155); -INSERT INTO product_slots VALUES(30,156); -INSERT INTO product_slots VALUES(30,157); -INSERT INTO product_slots VALUES(30,158); -INSERT INTO product_slots VALUES(30,159); -INSERT INTO product_slots VALUES(30,160); -INSERT INTO product_slots VALUES(30,161); -INSERT INTO product_slots VALUES(30,162); -INSERT INTO product_slots VALUES(30,163); -INSERT INTO product_slots VALUES(30,164); -INSERT INTO product_slots VALUES(30,165); -INSERT INTO product_slots VALUES(30,166); -INSERT INTO product_slots VALUES(30,167); -INSERT INTO product_slots VALUES(30,168); -INSERT INTO product_slots VALUES(30,169); -INSERT INTO product_slots VALUES(30,170); -INSERT INTO product_slots VALUES(30,171); -INSERT INTO product_slots VALUES(30,172); -INSERT INTO product_slots VALUES(30,173); -INSERT INTO product_slots VALUES(30,174); -INSERT INTO product_slots VALUES(30,175); -INSERT INTO product_slots VALUES(30,176); -INSERT INTO product_slots VALUES(30,177); -INSERT INTO product_slots VALUES(30,178); -INSERT INTO product_slots VALUES(30,179); -INSERT INTO product_slots VALUES(30,180); -INSERT INTO product_slots VALUES(30,181); -INSERT INTO product_slots VALUES(30,182); -INSERT INTO product_slots VALUES(30,183); -INSERT INTO product_slots VALUES(30,184); -INSERT INTO product_slots VALUES(30,185); -INSERT INTO product_slots VALUES(30,186); -INSERT INTO product_slots VALUES(30,187); -INSERT INTO product_slots VALUES(30,188); -INSERT INTO product_slots VALUES(30,189); -INSERT INTO product_slots VALUES(30,190); -INSERT INTO product_slots VALUES(30,191); -INSERT INTO product_slots VALUES(30,192); -INSERT INTO product_slots VALUES(30,193); -INSERT INTO product_slots VALUES(30,194); -INSERT INTO product_slots VALUES(30,195); -INSERT INTO product_slots VALUES(30,196); -INSERT INTO product_slots VALUES(30,197); -INSERT INTO product_slots VALUES(30,198); -INSERT INTO product_slots VALUES(30,199); -INSERT INTO product_slots VALUES(30,200); -INSERT INTO product_slots VALUES(30,201); -INSERT INTO product_slots VALUES(30,202); -INSERT INTO product_slots VALUES(30,203); -INSERT INTO product_slots VALUES(30,204); -INSERT INTO product_slots VALUES(30,205); -INSERT INTO product_slots VALUES(30,206); -INSERT INTO product_slots VALUES(30,207); -INSERT INTO product_slots VALUES(30,208); -INSERT INTO product_slots VALUES(30,209); -INSERT INTO product_slots VALUES(30,210); -INSERT INTO product_slots VALUES(30,211); -INSERT INTO product_slots VALUES(30,212); -INSERT INTO product_slots VALUES(30,213); -INSERT INTO product_slots VALUES(30,214); -INSERT INTO product_slots VALUES(30,215); -INSERT INTO product_slots VALUES(30,216); -INSERT INTO product_slots VALUES(30,217); -INSERT INTO product_slots VALUES(30,218); -INSERT INTO product_slots VALUES(30,219); -INSERT INTO product_slots VALUES(30,220); -INSERT INTO product_slots VALUES(30,221); -INSERT INTO product_slots VALUES(30,222); -INSERT INTO product_slots VALUES(30,223); -INSERT INTO product_slots VALUES(30,224); -INSERT INTO product_slots VALUES(30,225); -INSERT INTO product_slots VALUES(30,226); -INSERT INTO product_slots VALUES(30,227); -INSERT INTO product_slots VALUES(30,228); -INSERT INTO product_slots VALUES(30,229); -INSERT INTO product_slots VALUES(30,230); -INSERT INTO product_slots VALUES(30,231); -INSERT INTO product_slots VALUES(30,232); -INSERT INTO product_slots VALUES(30,233); -INSERT INTO product_slots VALUES(30,234); -INSERT INTO product_slots VALUES(30,235); -INSERT INTO product_slots VALUES(30,236); -INSERT INTO product_slots VALUES(30,237); -INSERT INTO product_slots VALUES(30,238); -INSERT INTO product_slots VALUES(30,239); -INSERT INTO product_slots VALUES(30,240); -INSERT INTO product_slots VALUES(30,241); -INSERT INTO product_slots VALUES(30,242); -INSERT INTO product_slots VALUES(30,243); -INSERT INTO product_slots VALUES(30,244); -INSERT INTO product_slots VALUES(30,274); -INSERT INTO product_slots VALUES(30,275); -INSERT INTO product_slots VALUES(30,279); -INSERT INTO product_slots VALUES(30,280); -INSERT INTO product_slots VALUES(30,281); -INSERT INTO product_slots VALUES(30,282); -INSERT INTO product_slots VALUES(30,283); -INSERT INTO product_slots VALUES(30,284); -INSERT INTO product_slots VALUES(30,285); -INSERT INTO product_slots VALUES(30,286); -INSERT INTO product_slots VALUES(30,287); -INSERT INTO product_slots VALUES(31,18); -INSERT INTO product_slots VALUES(31,20); -INSERT INTO product_slots VALUES(31,21); -INSERT INTO product_slots VALUES(31,33); -INSERT INTO product_slots VALUES(31,35); -INSERT INTO product_slots VALUES(31,37); -INSERT INTO product_slots VALUES(31,38); -INSERT INTO product_slots VALUES(31,39); -INSERT INTO product_slots VALUES(31,40); -INSERT INTO product_slots VALUES(31,44); -INSERT INTO product_slots VALUES(31,46); -INSERT INTO product_slots VALUES(31,47); -INSERT INTO product_slots VALUES(31,48); -INSERT INTO product_slots VALUES(31,49); -INSERT INTO product_slots VALUES(31,50); -INSERT INTO product_slots VALUES(31,51); -INSERT INTO product_slots VALUES(31,52); -INSERT INTO product_slots VALUES(31,53); -INSERT INTO product_slots VALUES(31,54); -INSERT INTO product_slots VALUES(31,55); -INSERT INTO product_slots VALUES(31,56); -INSERT INTO product_slots VALUES(31,57); -INSERT INTO product_slots VALUES(31,58); -INSERT INTO product_slots VALUES(31,59); -INSERT INTO product_slots VALUES(31,60); -INSERT INTO product_slots VALUES(31,61); -INSERT INTO product_slots VALUES(31,62); -INSERT INTO product_slots VALUES(31,63); -INSERT INTO product_slots VALUES(31,64); -INSERT INTO product_slots VALUES(31,65); -INSERT INTO product_slots VALUES(31,66); -INSERT INTO product_slots VALUES(31,67); -INSERT INTO product_slots VALUES(31,68); -INSERT INTO product_slots VALUES(31,69); -INSERT INTO product_slots VALUES(31,70); -INSERT INTO product_slots VALUES(31,71); -INSERT INTO product_slots VALUES(31,72); -INSERT INTO product_slots VALUES(31,73); -INSERT INTO product_slots VALUES(31,74); -INSERT INTO product_slots VALUES(31,75); -INSERT INTO product_slots VALUES(31,76); -INSERT INTO product_slots VALUES(31,77); -INSERT INTO product_slots VALUES(31,78); -INSERT INTO product_slots VALUES(31,79); -INSERT INTO product_slots VALUES(31,80); -INSERT INTO product_slots VALUES(31,81); -INSERT INTO product_slots VALUES(31,82); -INSERT INTO product_slots VALUES(31,83); -INSERT INTO product_slots VALUES(31,84); -INSERT INTO product_slots VALUES(31,85); -INSERT INTO product_slots VALUES(31,86); -INSERT INTO product_slots VALUES(31,87); -INSERT INTO product_slots VALUES(31,88); -INSERT INTO product_slots VALUES(31,89); -INSERT INTO product_slots VALUES(31,90); -INSERT INTO product_slots VALUES(31,91); -INSERT INTO product_slots VALUES(31,92); -INSERT INTO product_slots VALUES(31,93); -INSERT INTO product_slots VALUES(31,94); -INSERT INTO product_slots VALUES(31,95); -INSERT INTO product_slots VALUES(31,96); -INSERT INTO product_slots VALUES(31,97); -INSERT INTO product_slots VALUES(31,98); -INSERT INTO product_slots VALUES(31,99); -INSERT INTO product_slots VALUES(31,100); -INSERT INTO product_slots VALUES(31,101); -INSERT INTO product_slots VALUES(31,102); -INSERT INTO product_slots VALUES(31,103); -INSERT INTO product_slots VALUES(31,104); -INSERT INTO product_slots VALUES(31,105); -INSERT INTO product_slots VALUES(31,106); -INSERT INTO product_slots VALUES(31,107); -INSERT INTO product_slots VALUES(31,108); -INSERT INTO product_slots VALUES(31,109); -INSERT INTO product_slots VALUES(31,110); -INSERT INTO product_slots VALUES(31,111); -INSERT INTO product_slots VALUES(31,112); -INSERT INTO product_slots VALUES(31,113); -INSERT INTO product_slots VALUES(31,114); -INSERT INTO product_slots VALUES(31,115); -INSERT INTO product_slots VALUES(31,116); -INSERT INTO product_slots VALUES(31,117); -INSERT INTO product_slots VALUES(31,118); -INSERT INTO product_slots VALUES(31,119); -INSERT INTO product_slots VALUES(31,120); -INSERT INTO product_slots VALUES(31,121); -INSERT INTO product_slots VALUES(31,122); -INSERT INTO product_slots VALUES(31,123); -INSERT INTO product_slots VALUES(31,124); -INSERT INTO product_slots VALUES(31,125); -INSERT INTO product_slots VALUES(31,126); -INSERT INTO product_slots VALUES(31,127); -INSERT INTO product_slots VALUES(31,128); -INSERT INTO product_slots VALUES(31,129); -INSERT INTO product_slots VALUES(31,130); -INSERT INTO product_slots VALUES(31,131); -INSERT INTO product_slots VALUES(31,132); -INSERT INTO product_slots VALUES(31,133); -INSERT INTO product_slots VALUES(31,134); -INSERT INTO product_slots VALUES(31,135); -INSERT INTO product_slots VALUES(31,136); -INSERT INTO product_slots VALUES(31,137); -INSERT INTO product_slots VALUES(31,138); -INSERT INTO product_slots VALUES(31,139); -INSERT INTO product_slots VALUES(31,140); -INSERT INTO product_slots VALUES(31,141); -INSERT INTO product_slots VALUES(31,142); -INSERT INTO product_slots VALUES(31,143); -INSERT INTO product_slots VALUES(31,144); -INSERT INTO product_slots VALUES(31,145); -INSERT INTO product_slots VALUES(31,146); -INSERT INTO product_slots VALUES(31,147); -INSERT INTO product_slots VALUES(31,148); -INSERT INTO product_slots VALUES(31,149); -INSERT INTO product_slots VALUES(31,150); -INSERT INTO product_slots VALUES(31,151); -INSERT INTO product_slots VALUES(31,152); -INSERT INTO product_slots VALUES(31,153); -INSERT INTO product_slots VALUES(31,154); -INSERT INTO product_slots VALUES(31,155); -INSERT INTO product_slots VALUES(31,156); -INSERT INTO product_slots VALUES(31,157); -INSERT INTO product_slots VALUES(31,158); -INSERT INTO product_slots VALUES(31,159); -INSERT INTO product_slots VALUES(31,160); -INSERT INTO product_slots VALUES(31,161); -INSERT INTO product_slots VALUES(31,162); -INSERT INTO product_slots VALUES(31,163); -INSERT INTO product_slots VALUES(31,164); -INSERT INTO product_slots VALUES(31,165); -INSERT INTO product_slots VALUES(31,166); -INSERT INTO product_slots VALUES(31,167); -INSERT INTO product_slots VALUES(31,168); -INSERT INTO product_slots VALUES(31,169); -INSERT INTO product_slots VALUES(31,170); -INSERT INTO product_slots VALUES(31,171); -INSERT INTO product_slots VALUES(31,172); -INSERT INTO product_slots VALUES(31,173); -INSERT INTO product_slots VALUES(31,174); -INSERT INTO product_slots VALUES(31,175); -INSERT INTO product_slots VALUES(31,176); -INSERT INTO product_slots VALUES(31,177); -INSERT INTO product_slots VALUES(31,178); -INSERT INTO product_slots VALUES(31,179); -INSERT INTO product_slots VALUES(31,180); -INSERT INTO product_slots VALUES(31,181); -INSERT INTO product_slots VALUES(31,182); -INSERT INTO product_slots VALUES(31,183); -INSERT INTO product_slots VALUES(31,184); -INSERT INTO product_slots VALUES(31,185); -INSERT INTO product_slots VALUES(31,186); -INSERT INTO product_slots VALUES(31,187); -INSERT INTO product_slots VALUES(31,188); -INSERT INTO product_slots VALUES(31,189); -INSERT INTO product_slots VALUES(31,190); -INSERT INTO product_slots VALUES(31,191); -INSERT INTO product_slots VALUES(31,192); -INSERT INTO product_slots VALUES(31,193); -INSERT INTO product_slots VALUES(31,194); -INSERT INTO product_slots VALUES(31,195); -INSERT INTO product_slots VALUES(31,196); -INSERT INTO product_slots VALUES(31,197); -INSERT INTO product_slots VALUES(31,198); -INSERT INTO product_slots VALUES(31,199); -INSERT INTO product_slots VALUES(31,200); -INSERT INTO product_slots VALUES(31,201); -INSERT INTO product_slots VALUES(31,202); -INSERT INTO product_slots VALUES(31,203); -INSERT INTO product_slots VALUES(31,204); -INSERT INTO product_slots VALUES(31,205); -INSERT INTO product_slots VALUES(31,206); -INSERT INTO product_slots VALUES(31,207); -INSERT INTO product_slots VALUES(31,208); -INSERT INTO product_slots VALUES(31,209); -INSERT INTO product_slots VALUES(31,210); -INSERT INTO product_slots VALUES(31,211); -INSERT INTO product_slots VALUES(31,212); -INSERT INTO product_slots VALUES(31,213); -INSERT INTO product_slots VALUES(31,214); -INSERT INTO product_slots VALUES(31,215); -INSERT INTO product_slots VALUES(31,216); -INSERT INTO product_slots VALUES(31,217); -INSERT INTO product_slots VALUES(31,218); -INSERT INTO product_slots VALUES(31,219); -INSERT INTO product_slots VALUES(31,220); -INSERT INTO product_slots VALUES(31,221); -INSERT INTO product_slots VALUES(31,222); -INSERT INTO product_slots VALUES(31,223); -INSERT INTO product_slots VALUES(31,224); -INSERT INTO product_slots VALUES(31,225); -INSERT INTO product_slots VALUES(31,226); -INSERT INTO product_slots VALUES(31,227); -INSERT INTO product_slots VALUES(31,228); -INSERT INTO product_slots VALUES(31,229); -INSERT INTO product_slots VALUES(31,230); -INSERT INTO product_slots VALUES(31,231); -INSERT INTO product_slots VALUES(31,232); -INSERT INTO product_slots VALUES(31,233); -INSERT INTO product_slots VALUES(31,234); -INSERT INTO product_slots VALUES(31,235); -INSERT INTO product_slots VALUES(31,236); -INSERT INTO product_slots VALUES(31,237); -INSERT INTO product_slots VALUES(31,238); -INSERT INTO product_slots VALUES(31,239); -INSERT INTO product_slots VALUES(31,240); -INSERT INTO product_slots VALUES(31,241); -INSERT INTO product_slots VALUES(31,242); -INSERT INTO product_slots VALUES(31,243); -INSERT INTO product_slots VALUES(31,244); -INSERT INTO product_slots VALUES(31,274); -INSERT INTO product_slots VALUES(31,275); -INSERT INTO product_slots VALUES(31,279); -INSERT INTO product_slots VALUES(31,280); -INSERT INTO product_slots VALUES(31,281); -INSERT INTO product_slots VALUES(31,282); -INSERT INTO product_slots VALUES(31,283); -INSERT INTO product_slots VALUES(31,284); -INSERT INTO product_slots VALUES(31,285); -INSERT INTO product_slots VALUES(31,286); -INSERT INTO product_slots VALUES(31,287); -INSERT INTO product_slots VALUES(32,18); -INSERT INTO product_slots VALUES(32,20); -INSERT INTO product_slots VALUES(32,21); -INSERT INTO product_slots VALUES(32,33); -INSERT INTO product_slots VALUES(32,35); -INSERT INTO product_slots VALUES(32,37); -INSERT INTO product_slots VALUES(32,38); -INSERT INTO product_slots VALUES(32,39); -INSERT INTO product_slots VALUES(32,40); -INSERT INTO product_slots VALUES(32,41); -INSERT INTO product_slots VALUES(32,43); -INSERT INTO product_slots VALUES(32,44); -INSERT INTO product_slots VALUES(32,45); -INSERT INTO product_slots VALUES(32,46); -INSERT INTO product_slots VALUES(32,47); -INSERT INTO product_slots VALUES(32,48); -INSERT INTO product_slots VALUES(32,49); -INSERT INTO product_slots VALUES(32,50); -INSERT INTO product_slots VALUES(32,51); -INSERT INTO product_slots VALUES(32,52); -INSERT INTO product_slots VALUES(32,53); -INSERT INTO product_slots VALUES(32,54); -INSERT INTO product_slots VALUES(32,55); -INSERT INTO product_slots VALUES(32,56); -INSERT INTO product_slots VALUES(32,57); -INSERT INTO product_slots VALUES(32,58); -INSERT INTO product_slots VALUES(32,59); -INSERT INTO product_slots VALUES(32,60); -INSERT INTO product_slots VALUES(32,61); -INSERT INTO product_slots VALUES(32,62); -INSERT INTO product_slots VALUES(32,63); -INSERT INTO product_slots VALUES(32,64); -INSERT INTO product_slots VALUES(32,65); -INSERT INTO product_slots VALUES(32,66); -INSERT INTO product_slots VALUES(32,67); -INSERT INTO product_slots VALUES(32,68); -INSERT INTO product_slots VALUES(32,69); -INSERT INTO product_slots VALUES(32,70); -INSERT INTO product_slots VALUES(32,71); -INSERT INTO product_slots VALUES(32,72); -INSERT INTO product_slots VALUES(32,73); -INSERT INTO product_slots VALUES(32,74); -INSERT INTO product_slots VALUES(32,75); -INSERT INTO product_slots VALUES(32,76); -INSERT INTO product_slots VALUES(32,77); -INSERT INTO product_slots VALUES(32,78); -INSERT INTO product_slots VALUES(32,79); -INSERT INTO product_slots VALUES(32,80); -INSERT INTO product_slots VALUES(32,81); -INSERT INTO product_slots VALUES(32,82); -INSERT INTO product_slots VALUES(32,83); -INSERT INTO product_slots VALUES(32,84); -INSERT INTO product_slots VALUES(32,85); -INSERT INTO product_slots VALUES(32,86); -INSERT INTO product_slots VALUES(32,87); -INSERT INTO product_slots VALUES(32,88); -INSERT INTO product_slots VALUES(32,89); -INSERT INTO product_slots VALUES(32,90); -INSERT INTO product_slots VALUES(32,91); -INSERT INTO product_slots VALUES(32,92); -INSERT INTO product_slots VALUES(32,93); -INSERT INTO product_slots VALUES(32,94); -INSERT INTO product_slots VALUES(32,95); -INSERT INTO product_slots VALUES(32,96); -INSERT INTO product_slots VALUES(32,97); -INSERT INTO product_slots VALUES(32,98); -INSERT INTO product_slots VALUES(32,99); -INSERT INTO product_slots VALUES(32,100); -INSERT INTO product_slots VALUES(32,101); -INSERT INTO product_slots VALUES(32,102); -INSERT INTO product_slots VALUES(32,103); -INSERT INTO product_slots VALUES(32,104); -INSERT INTO product_slots VALUES(32,105); -INSERT INTO product_slots VALUES(32,106); -INSERT INTO product_slots VALUES(32,107); -INSERT INTO product_slots VALUES(32,108); -INSERT INTO product_slots VALUES(32,109); -INSERT INTO product_slots VALUES(32,110); -INSERT INTO product_slots VALUES(32,111); -INSERT INTO product_slots VALUES(32,112); -INSERT INTO product_slots VALUES(32,113); -INSERT INTO product_slots VALUES(32,114); -INSERT INTO product_slots VALUES(32,115); -INSERT INTO product_slots VALUES(32,116); -INSERT INTO product_slots VALUES(32,117); -INSERT INTO product_slots VALUES(32,118); -INSERT INTO product_slots VALUES(32,119); -INSERT INTO product_slots VALUES(32,120); -INSERT INTO product_slots VALUES(32,121); -INSERT INTO product_slots VALUES(32,122); -INSERT INTO product_slots VALUES(32,123); -INSERT INTO product_slots VALUES(32,124); -INSERT INTO product_slots VALUES(32,125); -INSERT INTO product_slots VALUES(32,126); -INSERT INTO product_slots VALUES(32,127); -INSERT INTO product_slots VALUES(32,128); -INSERT INTO product_slots VALUES(32,129); -INSERT INTO product_slots VALUES(32,130); -INSERT INTO product_slots VALUES(32,131); -INSERT INTO product_slots VALUES(32,132); -INSERT INTO product_slots VALUES(32,133); -INSERT INTO product_slots VALUES(32,134); -INSERT INTO product_slots VALUES(32,135); -INSERT INTO product_slots VALUES(32,136); -INSERT INTO product_slots VALUES(32,137); -INSERT INTO product_slots VALUES(32,138); -INSERT INTO product_slots VALUES(32,139); -INSERT INTO product_slots VALUES(32,140); -INSERT INTO product_slots VALUES(32,141); -INSERT INTO product_slots VALUES(32,142); -INSERT INTO product_slots VALUES(32,143); -INSERT INTO product_slots VALUES(32,144); -INSERT INTO product_slots VALUES(32,145); -INSERT INTO product_slots VALUES(32,146); -INSERT INTO product_slots VALUES(32,147); -INSERT INTO product_slots VALUES(32,148); -INSERT INTO product_slots VALUES(32,149); -INSERT INTO product_slots VALUES(32,150); -INSERT INTO product_slots VALUES(32,151); -INSERT INTO product_slots VALUES(32,152); -INSERT INTO product_slots VALUES(32,153); -INSERT INTO product_slots VALUES(32,154); -INSERT INTO product_slots VALUES(32,155); -INSERT INTO product_slots VALUES(32,156); -INSERT INTO product_slots VALUES(32,157); -INSERT INTO product_slots VALUES(32,158); -INSERT INTO product_slots VALUES(32,159); -INSERT INTO product_slots VALUES(32,160); -INSERT INTO product_slots VALUES(32,161); -INSERT INTO product_slots VALUES(32,162); -INSERT INTO product_slots VALUES(32,163); -INSERT INTO product_slots VALUES(32,164); -INSERT INTO product_slots VALUES(32,165); -INSERT INTO product_slots VALUES(32,166); -INSERT INTO product_slots VALUES(32,167); -INSERT INTO product_slots VALUES(32,168); -INSERT INTO product_slots VALUES(32,169); -INSERT INTO product_slots VALUES(32,170); -INSERT INTO product_slots VALUES(32,171); -INSERT INTO product_slots VALUES(32,172); -INSERT INTO product_slots VALUES(32,173); -INSERT INTO product_slots VALUES(32,174); -INSERT INTO product_slots VALUES(32,175); -INSERT INTO product_slots VALUES(32,176); -INSERT INTO product_slots VALUES(32,177); -INSERT INTO product_slots VALUES(32,178); -INSERT INTO product_slots VALUES(32,179); -INSERT INTO product_slots VALUES(32,180); -INSERT INTO product_slots VALUES(32,181); -INSERT INTO product_slots VALUES(32,182); -INSERT INTO product_slots VALUES(32,183); -INSERT INTO product_slots VALUES(32,184); -INSERT INTO product_slots VALUES(32,185); -INSERT INTO product_slots VALUES(32,186); -INSERT INTO product_slots VALUES(32,187); -INSERT INTO product_slots VALUES(32,188); -INSERT INTO product_slots VALUES(32,189); -INSERT INTO product_slots VALUES(32,190); -INSERT INTO product_slots VALUES(32,191); -INSERT INTO product_slots VALUES(32,192); -INSERT INTO product_slots VALUES(32,193); -INSERT INTO product_slots VALUES(32,194); -INSERT INTO product_slots VALUES(32,195); -INSERT INTO product_slots VALUES(32,196); -INSERT INTO product_slots VALUES(32,197); -INSERT INTO product_slots VALUES(32,198); -INSERT INTO product_slots VALUES(32,199); -INSERT INTO product_slots VALUES(32,200); -INSERT INTO product_slots VALUES(32,201); -INSERT INTO product_slots VALUES(32,202); -INSERT INTO product_slots VALUES(32,203); -INSERT INTO product_slots VALUES(32,204); -INSERT INTO product_slots VALUES(32,205); -INSERT INTO product_slots VALUES(32,206); -INSERT INTO product_slots VALUES(32,207); -INSERT INTO product_slots VALUES(32,208); -INSERT INTO product_slots VALUES(32,209); -INSERT INTO product_slots VALUES(32,210); -INSERT INTO product_slots VALUES(32,211); -INSERT INTO product_slots VALUES(32,212); -INSERT INTO product_slots VALUES(32,213); -INSERT INTO product_slots VALUES(32,214); -INSERT INTO product_slots VALUES(32,215); -INSERT INTO product_slots VALUES(32,216); -INSERT INTO product_slots VALUES(32,217); -INSERT INTO product_slots VALUES(32,218); -INSERT INTO product_slots VALUES(32,219); -INSERT INTO product_slots VALUES(32,220); -INSERT INTO product_slots VALUES(32,221); -INSERT INTO product_slots VALUES(32,222); -INSERT INTO product_slots VALUES(32,223); -INSERT INTO product_slots VALUES(32,224); -INSERT INTO product_slots VALUES(32,225); -INSERT INTO product_slots VALUES(32,226); -INSERT INTO product_slots VALUES(32,227); -INSERT INTO product_slots VALUES(32,228); -INSERT INTO product_slots VALUES(32,229); -INSERT INTO product_slots VALUES(32,230); -INSERT INTO product_slots VALUES(32,231); -INSERT INTO product_slots VALUES(32,232); -INSERT INTO product_slots VALUES(32,233); -INSERT INTO product_slots VALUES(32,234); -INSERT INTO product_slots VALUES(32,235); -INSERT INTO product_slots VALUES(32,236); -INSERT INTO product_slots VALUES(32,237); -INSERT INTO product_slots VALUES(32,238); -INSERT INTO product_slots VALUES(32,239); -INSERT INTO product_slots VALUES(32,240); -INSERT INTO product_slots VALUES(32,241); -INSERT INTO product_slots VALUES(32,242); -INSERT INTO product_slots VALUES(32,243); -INSERT INTO product_slots VALUES(32,244); -INSERT INTO product_slots VALUES(32,274); -INSERT INTO product_slots VALUES(32,275); -INSERT INTO product_slots VALUES(32,279); -INSERT INTO product_slots VALUES(32,280); -INSERT INTO product_slots VALUES(32,281); -INSERT INTO product_slots VALUES(32,282); -INSERT INTO product_slots VALUES(32,283); -INSERT INTO product_slots VALUES(32,284); -INSERT INTO product_slots VALUES(32,285); -INSERT INTO product_slots VALUES(32,286); -INSERT INTO product_slots VALUES(32,287); -INSERT INTO product_slots VALUES(33,18); -INSERT INTO product_slots VALUES(33,20); -INSERT INTO product_slots VALUES(33,21); -INSERT INTO product_slots VALUES(33,33); -INSERT INTO product_slots VALUES(33,35); -INSERT INTO product_slots VALUES(33,37); -INSERT INTO product_slots VALUES(33,38); -INSERT INTO product_slots VALUES(33,39); -INSERT INTO product_slots VALUES(33,40); -INSERT INTO product_slots VALUES(33,44); -INSERT INTO product_slots VALUES(33,46); -INSERT INTO product_slots VALUES(33,47); -INSERT INTO product_slots VALUES(33,48); -INSERT INTO product_slots VALUES(33,49); -INSERT INTO product_slots VALUES(33,50); -INSERT INTO product_slots VALUES(33,51); -INSERT INTO product_slots VALUES(33,52); -INSERT INTO product_slots VALUES(33,53); -INSERT INTO product_slots VALUES(33,54); -INSERT INTO product_slots VALUES(33,55); -INSERT INTO product_slots VALUES(33,56); -INSERT INTO product_slots VALUES(33,57); -INSERT INTO product_slots VALUES(33,58); -INSERT INTO product_slots VALUES(33,59); -INSERT INTO product_slots VALUES(33,60); -INSERT INTO product_slots VALUES(33,61); -INSERT INTO product_slots VALUES(33,62); -INSERT INTO product_slots VALUES(33,63); -INSERT INTO product_slots VALUES(33,64); -INSERT INTO product_slots VALUES(33,65); -INSERT INTO product_slots VALUES(33,66); -INSERT INTO product_slots VALUES(33,67); -INSERT INTO product_slots VALUES(33,68); -INSERT INTO product_slots VALUES(33,69); -INSERT INTO product_slots VALUES(33,70); -INSERT INTO product_slots VALUES(33,71); -INSERT INTO product_slots VALUES(33,72); -INSERT INTO product_slots VALUES(33,73); -INSERT INTO product_slots VALUES(33,74); -INSERT INTO product_slots VALUES(33,75); -INSERT INTO product_slots VALUES(33,76); -INSERT INTO product_slots VALUES(33,77); -INSERT INTO product_slots VALUES(33,78); -INSERT INTO product_slots VALUES(33,79); -INSERT INTO product_slots VALUES(33,80); -INSERT INTO product_slots VALUES(33,81); -INSERT INTO product_slots VALUES(33,82); -INSERT INTO product_slots VALUES(33,83); -INSERT INTO product_slots VALUES(33,84); -INSERT INTO product_slots VALUES(33,85); -INSERT INTO product_slots VALUES(33,86); -INSERT INTO product_slots VALUES(33,87); -INSERT INTO product_slots VALUES(33,88); -INSERT INTO product_slots VALUES(33,89); -INSERT INTO product_slots VALUES(33,90); -INSERT INTO product_slots VALUES(33,91); -INSERT INTO product_slots VALUES(33,92); -INSERT INTO product_slots VALUES(33,93); -INSERT INTO product_slots VALUES(33,94); -INSERT INTO product_slots VALUES(33,95); -INSERT INTO product_slots VALUES(33,96); -INSERT INTO product_slots VALUES(33,97); -INSERT INTO product_slots VALUES(33,98); -INSERT INTO product_slots VALUES(33,99); -INSERT INTO product_slots VALUES(33,100); -INSERT INTO product_slots VALUES(33,101); -INSERT INTO product_slots VALUES(33,102); -INSERT INTO product_slots VALUES(33,103); -INSERT INTO product_slots VALUES(33,104); -INSERT INTO product_slots VALUES(33,105); -INSERT INTO product_slots VALUES(33,106); -INSERT INTO product_slots VALUES(33,107); -INSERT INTO product_slots VALUES(33,108); -INSERT INTO product_slots VALUES(33,109); -INSERT INTO product_slots VALUES(33,110); -INSERT INTO product_slots VALUES(33,111); -INSERT INTO product_slots VALUES(33,112); -INSERT INTO product_slots VALUES(33,113); -INSERT INTO product_slots VALUES(33,114); -INSERT INTO product_slots VALUES(33,115); -INSERT INTO product_slots VALUES(33,116); -INSERT INTO product_slots VALUES(33,117); -INSERT INTO product_slots VALUES(33,118); -INSERT INTO product_slots VALUES(33,119); -INSERT INTO product_slots VALUES(33,120); -INSERT INTO product_slots VALUES(33,121); -INSERT INTO product_slots VALUES(33,122); -INSERT INTO product_slots VALUES(33,123); -INSERT INTO product_slots VALUES(33,124); -INSERT INTO product_slots VALUES(33,125); -INSERT INTO product_slots VALUES(33,126); -INSERT INTO product_slots VALUES(33,127); -INSERT INTO product_slots VALUES(33,128); -INSERT INTO product_slots VALUES(33,129); -INSERT INTO product_slots VALUES(33,130); -INSERT INTO product_slots VALUES(33,131); -INSERT INTO product_slots VALUES(33,132); -INSERT INTO product_slots VALUES(33,133); -INSERT INTO product_slots VALUES(33,134); -INSERT INTO product_slots VALUES(33,135); -INSERT INTO product_slots VALUES(33,136); -INSERT INTO product_slots VALUES(33,137); -INSERT INTO product_slots VALUES(33,138); -INSERT INTO product_slots VALUES(33,139); -INSERT INTO product_slots VALUES(33,140); -INSERT INTO product_slots VALUES(33,141); -INSERT INTO product_slots VALUES(33,142); -INSERT INTO product_slots VALUES(33,143); -INSERT INTO product_slots VALUES(33,144); -INSERT INTO product_slots VALUES(33,145); -INSERT INTO product_slots VALUES(33,146); -INSERT INTO product_slots VALUES(33,147); -INSERT INTO product_slots VALUES(33,148); -INSERT INTO product_slots VALUES(33,149); -INSERT INTO product_slots VALUES(33,150); -INSERT INTO product_slots VALUES(33,151); -INSERT INTO product_slots VALUES(33,152); -INSERT INTO product_slots VALUES(33,153); -INSERT INTO product_slots VALUES(33,154); -INSERT INTO product_slots VALUES(33,155); -INSERT INTO product_slots VALUES(33,156); -INSERT INTO product_slots VALUES(33,157); -INSERT INTO product_slots VALUES(33,158); -INSERT INTO product_slots VALUES(33,159); -INSERT INTO product_slots VALUES(33,160); -INSERT INTO product_slots VALUES(33,161); -INSERT INTO product_slots VALUES(33,162); -INSERT INTO product_slots VALUES(33,163); -INSERT INTO product_slots VALUES(33,164); -INSERT INTO product_slots VALUES(33,165); -INSERT INTO product_slots VALUES(33,166); -INSERT INTO product_slots VALUES(33,167); -INSERT INTO product_slots VALUES(33,168); -INSERT INTO product_slots VALUES(33,169); -INSERT INTO product_slots VALUES(33,170); -INSERT INTO product_slots VALUES(33,171); -INSERT INTO product_slots VALUES(33,172); -INSERT INTO product_slots VALUES(33,173); -INSERT INTO product_slots VALUES(33,174); -INSERT INTO product_slots VALUES(33,175); -INSERT INTO product_slots VALUES(33,176); -INSERT INTO product_slots VALUES(33,177); -INSERT INTO product_slots VALUES(33,178); -INSERT INTO product_slots VALUES(33,179); -INSERT INTO product_slots VALUES(33,180); -INSERT INTO product_slots VALUES(33,181); -INSERT INTO product_slots VALUES(33,182); -INSERT INTO product_slots VALUES(33,183); -INSERT INTO product_slots VALUES(33,184); -INSERT INTO product_slots VALUES(33,185); -INSERT INTO product_slots VALUES(33,186); -INSERT INTO product_slots VALUES(33,187); -INSERT INTO product_slots VALUES(33,188); -INSERT INTO product_slots VALUES(33,189); -INSERT INTO product_slots VALUES(33,190); -INSERT INTO product_slots VALUES(33,191); -INSERT INTO product_slots VALUES(33,192); -INSERT INTO product_slots VALUES(33,193); -INSERT INTO product_slots VALUES(33,194); -INSERT INTO product_slots VALUES(33,195); -INSERT INTO product_slots VALUES(33,196); -INSERT INTO product_slots VALUES(33,197); -INSERT INTO product_slots VALUES(33,198); -INSERT INTO product_slots VALUES(33,199); -INSERT INTO product_slots VALUES(33,200); -INSERT INTO product_slots VALUES(33,201); -INSERT INTO product_slots VALUES(33,202); -INSERT INTO product_slots VALUES(33,203); -INSERT INTO product_slots VALUES(33,204); -INSERT INTO product_slots VALUES(33,205); -INSERT INTO product_slots VALUES(33,206); -INSERT INTO product_slots VALUES(33,207); -INSERT INTO product_slots VALUES(33,208); -INSERT INTO product_slots VALUES(33,209); -INSERT INTO product_slots VALUES(33,210); -INSERT INTO product_slots VALUES(33,211); -INSERT INTO product_slots VALUES(33,212); -INSERT INTO product_slots VALUES(33,213); -INSERT INTO product_slots VALUES(33,214); -INSERT INTO product_slots VALUES(33,215); -INSERT INTO product_slots VALUES(33,216); -INSERT INTO product_slots VALUES(33,217); -INSERT INTO product_slots VALUES(33,218); -INSERT INTO product_slots VALUES(33,219); -INSERT INTO product_slots VALUES(33,220); -INSERT INTO product_slots VALUES(33,221); -INSERT INTO product_slots VALUES(33,222); -INSERT INTO product_slots VALUES(33,223); -INSERT INTO product_slots VALUES(33,224); -INSERT INTO product_slots VALUES(33,225); -INSERT INTO product_slots VALUES(33,226); -INSERT INTO product_slots VALUES(33,227); -INSERT INTO product_slots VALUES(33,228); -INSERT INTO product_slots VALUES(33,229); -INSERT INTO product_slots VALUES(33,230); -INSERT INTO product_slots VALUES(33,231); -INSERT INTO product_slots VALUES(33,232); -INSERT INTO product_slots VALUES(33,233); -INSERT INTO product_slots VALUES(33,234); -INSERT INTO product_slots VALUES(33,235); -INSERT INTO product_slots VALUES(33,236); -INSERT INTO product_slots VALUES(33,237); -INSERT INTO product_slots VALUES(33,238); -INSERT INTO product_slots VALUES(33,239); -INSERT INTO product_slots VALUES(33,240); -INSERT INTO product_slots VALUES(33,241); -INSERT INTO product_slots VALUES(33,242); -INSERT INTO product_slots VALUES(33,243); -INSERT INTO product_slots VALUES(33,244); -INSERT INTO product_slots VALUES(33,274); -INSERT INTO product_slots VALUES(33,275); -INSERT INTO product_slots VALUES(33,279); -INSERT INTO product_slots VALUES(33,280); -INSERT INTO product_slots VALUES(33,281); -INSERT INTO product_slots VALUES(33,282); -INSERT INTO product_slots VALUES(33,283); -INSERT INTO product_slots VALUES(33,284); -INSERT INTO product_slots VALUES(33,285); -INSERT INTO product_slots VALUES(33,286); -INSERT INTO product_slots VALUES(33,287); -INSERT INTO product_slots VALUES(34,18); -INSERT INTO product_slots VALUES(34,20); -INSERT INTO product_slots VALUES(34,21); -INSERT INTO product_slots VALUES(34,33); -INSERT INTO product_slots VALUES(34,35); -INSERT INTO product_slots VALUES(34,37); -INSERT INTO product_slots VALUES(34,38); -INSERT INTO product_slots VALUES(34,40); -INSERT INTO product_slots VALUES(34,82); -INSERT INTO product_slots VALUES(34,87); -INSERT INTO product_slots VALUES(34,279); -INSERT INTO product_slots VALUES(35,18); -INSERT INTO product_slots VALUES(35,19); -INSERT INTO product_slots VALUES(35,20); -INSERT INTO product_slots VALUES(35,21); -INSERT INTO product_slots VALUES(35,22); -INSERT INTO product_slots VALUES(35,33); -INSERT INTO product_slots VALUES(35,35); -INSERT INTO product_slots VALUES(35,37); -INSERT INTO product_slots VALUES(35,38); -INSERT INTO product_slots VALUES(35,39); -INSERT INTO product_slots VALUES(35,40); -INSERT INTO product_slots VALUES(35,41); -INSERT INTO product_slots VALUES(35,43); -INSERT INTO product_slots VALUES(35,45); -INSERT INTO product_slots VALUES(35,46); -INSERT INTO product_slots VALUES(35,47); -INSERT INTO product_slots VALUES(35,48); -INSERT INTO product_slots VALUES(35,49); -INSERT INTO product_slots VALUES(35,50); -INSERT INTO product_slots VALUES(35,51); -INSERT INTO product_slots VALUES(35,52); -INSERT INTO product_slots VALUES(35,53); -INSERT INTO product_slots VALUES(35,54); -INSERT INTO product_slots VALUES(35,55); -INSERT INTO product_slots VALUES(35,56); -INSERT INTO product_slots VALUES(35,57); -INSERT INTO product_slots VALUES(35,58); -INSERT INTO product_slots VALUES(35,59); -INSERT INTO product_slots VALUES(35,60); -INSERT INTO product_slots VALUES(35,61); -INSERT INTO product_slots VALUES(35,62); -INSERT INTO product_slots VALUES(35,63); -INSERT INTO product_slots VALUES(35,64); -INSERT INTO product_slots VALUES(35,65); -INSERT INTO product_slots VALUES(35,66); -INSERT INTO product_slots VALUES(35,67); -INSERT INTO product_slots VALUES(35,68); -INSERT INTO product_slots VALUES(35,69); -INSERT INTO product_slots VALUES(35,70); -INSERT INTO product_slots VALUES(35,71); -INSERT INTO product_slots VALUES(35,74); -INSERT INTO product_slots VALUES(35,75); -INSERT INTO product_slots VALUES(35,76); -INSERT INTO product_slots VALUES(35,77); -INSERT INTO product_slots VALUES(35,78); -INSERT INTO product_slots VALUES(35,81); -INSERT INTO product_slots VALUES(35,82); -INSERT INTO product_slots VALUES(35,83); -INSERT INTO product_slots VALUES(35,84); -INSERT INTO product_slots VALUES(35,87); -INSERT INTO product_slots VALUES(35,88); -INSERT INTO product_slots VALUES(35,89); -INSERT INTO product_slots VALUES(35,90); -INSERT INTO product_slots VALUES(35,91); -INSERT INTO product_slots VALUES(35,95); -INSERT INTO product_slots VALUES(35,96); -INSERT INTO product_slots VALUES(35,97); -INSERT INTO product_slots VALUES(35,98); -INSERT INTO product_slots VALUES(35,101); -INSERT INTO product_slots VALUES(35,102); -INSERT INTO product_slots VALUES(35,103); -INSERT INTO product_slots VALUES(35,104); -INSERT INTO product_slots VALUES(35,109); -INSERT INTO product_slots VALUES(35,110); -INSERT INTO product_slots VALUES(35,111); -INSERT INTO product_slots VALUES(35,112); -INSERT INTO product_slots VALUES(35,116); -INSERT INTO product_slots VALUES(35,117); -INSERT INTO product_slots VALUES(35,118); -INSERT INTO product_slots VALUES(35,119); -INSERT INTO product_slots VALUES(35,120); -INSERT INTO product_slots VALUES(35,123); -INSERT INTO product_slots VALUES(35,124); -INSERT INTO product_slots VALUES(35,125); -INSERT INTO product_slots VALUES(35,126); -INSERT INTO product_slots VALUES(35,130); -INSERT INTO product_slots VALUES(35,131); -INSERT INTO product_slots VALUES(35,132); -INSERT INTO product_slots VALUES(35,133); -INSERT INTO product_slots VALUES(35,137); -INSERT INTO product_slots VALUES(35,138); -INSERT INTO product_slots VALUES(35,139); -INSERT INTO product_slots VALUES(35,140); -INSERT INTO product_slots VALUES(35,144); -INSERT INTO product_slots VALUES(35,145); -INSERT INTO product_slots VALUES(35,146); -INSERT INTO product_slots VALUES(35,147); -INSERT INTO product_slots VALUES(35,148); -INSERT INTO product_slots VALUES(35,149); -INSERT INTO product_slots VALUES(35,150); -INSERT INTO product_slots VALUES(35,151); -INSERT INTO product_slots VALUES(35,155); -INSERT INTO product_slots VALUES(35,156); -INSERT INTO product_slots VALUES(35,157); -INSERT INTO product_slots VALUES(35,158); -INSERT INTO product_slots VALUES(35,162); -INSERT INTO product_slots VALUES(35,163); -INSERT INTO product_slots VALUES(35,164); -INSERT INTO product_slots VALUES(35,165); -INSERT INTO product_slots VALUES(35,166); -INSERT INTO product_slots VALUES(35,169); -INSERT INTO product_slots VALUES(35,170); -INSERT INTO product_slots VALUES(35,171); -INSERT INTO product_slots VALUES(35,172); -INSERT INTO product_slots VALUES(35,176); -INSERT INTO product_slots VALUES(35,177); -INSERT INTO product_slots VALUES(35,178); -INSERT INTO product_slots VALUES(35,179); -INSERT INTO product_slots VALUES(35,183); -INSERT INTO product_slots VALUES(35,184); -INSERT INTO product_slots VALUES(35,185); -INSERT INTO product_slots VALUES(35,186); -INSERT INTO product_slots VALUES(35,187); -INSERT INTO product_slots VALUES(35,188); -INSERT INTO product_slots VALUES(35,189); -INSERT INTO product_slots VALUES(35,190); -INSERT INTO product_slots VALUES(35,191); -INSERT INTO product_slots VALUES(35,192); -INSERT INTO product_slots VALUES(35,193); -INSERT INTO product_slots VALUES(35,194); -INSERT INTO product_slots VALUES(35,198); -INSERT INTO product_slots VALUES(35,199); -INSERT INTO product_slots VALUES(35,200); -INSERT INTO product_slots VALUES(35,201); -INSERT INTO product_slots VALUES(35,202); -INSERT INTO product_slots VALUES(35,203); -INSERT INTO product_slots VALUES(35,205); -INSERT INTO product_slots VALUES(35,208); -INSERT INTO product_slots VALUES(35,209); -INSERT INTO product_slots VALUES(35,210); -INSERT INTO product_slots VALUES(35,211); -INSERT INTO product_slots VALUES(35,216); -INSERT INTO product_slots VALUES(35,217); -INSERT INTO product_slots VALUES(35,218); -INSERT INTO product_slots VALUES(35,219); -INSERT INTO product_slots VALUES(35,220); -INSERT INTO product_slots VALUES(35,223); -INSERT INTO product_slots VALUES(35,224); -INSERT INTO product_slots VALUES(35,225); -INSERT INTO product_slots VALUES(35,226); -INSERT INTO product_slots VALUES(35,230); -INSERT INTO product_slots VALUES(35,231); -INSERT INTO product_slots VALUES(35,232); -INSERT INTO product_slots VALUES(35,234); -INSERT INTO product_slots VALUES(35,237); -INSERT INTO product_slots VALUES(35,238); -INSERT INTO product_slots VALUES(35,239); -INSERT INTO product_slots VALUES(35,240); -INSERT INTO product_slots VALUES(35,274); -INSERT INTO product_slots VALUES(35,275); -INSERT INTO product_slots VALUES(35,277); -INSERT INTO product_slots VALUES(35,278); -INSERT INTO product_slots VALUES(35,279); -INSERT INTO product_slots VALUES(36,18); -INSERT INTO product_slots VALUES(36,19); -INSERT INTO product_slots VALUES(36,20); -INSERT INTO product_slots VALUES(36,21); -INSERT INTO product_slots VALUES(36,22); -INSERT INTO product_slots VALUES(36,23); -INSERT INTO product_slots VALUES(36,31); -INSERT INTO product_slots VALUES(36,33); -INSERT INTO product_slots VALUES(36,35); -INSERT INTO product_slots VALUES(36,37); -INSERT INTO product_slots VALUES(36,38); -INSERT INTO product_slots VALUES(36,39); -INSERT INTO product_slots VALUES(36,40); -INSERT INTO product_slots VALUES(36,41); -INSERT INTO product_slots VALUES(36,43); -INSERT INTO product_slots VALUES(36,45); -INSERT INTO product_slots VALUES(36,46); -INSERT INTO product_slots VALUES(36,47); -INSERT INTO product_slots VALUES(36,48); -INSERT INTO product_slots VALUES(36,49); -INSERT INTO product_slots VALUES(36,50); -INSERT INTO product_slots VALUES(36,51); -INSERT INTO product_slots VALUES(36,52); -INSERT INTO product_slots VALUES(36,53); -INSERT INTO product_slots VALUES(36,54); -INSERT INTO product_slots VALUES(36,55); -INSERT INTO product_slots VALUES(36,56); -INSERT INTO product_slots VALUES(36,57); -INSERT INTO product_slots VALUES(36,58); -INSERT INTO product_slots VALUES(36,59); -INSERT INTO product_slots VALUES(36,60); -INSERT INTO product_slots VALUES(36,61); -INSERT INTO product_slots VALUES(36,62); -INSERT INTO product_slots VALUES(36,63); -INSERT INTO product_slots VALUES(36,64); -INSERT INTO product_slots VALUES(36,65); -INSERT INTO product_slots VALUES(36,66); -INSERT INTO product_slots VALUES(36,67); -INSERT INTO product_slots VALUES(36,68); -INSERT INTO product_slots VALUES(36,69); -INSERT INTO product_slots VALUES(36,70); -INSERT INTO product_slots VALUES(36,71); -INSERT INTO product_slots VALUES(36,72); -INSERT INTO product_slots VALUES(36,73); -INSERT INTO product_slots VALUES(36,74); -INSERT INTO product_slots VALUES(36,75); -INSERT INTO product_slots VALUES(36,76); -INSERT INTO product_slots VALUES(36,77); -INSERT INTO product_slots VALUES(36,78); -INSERT INTO product_slots VALUES(36,79); -INSERT INTO product_slots VALUES(36,80); -INSERT INTO product_slots VALUES(36,81); -INSERT INTO product_slots VALUES(36,82); -INSERT INTO product_slots VALUES(36,83); -INSERT INTO product_slots VALUES(36,84); -INSERT INTO product_slots VALUES(36,85); -INSERT INTO product_slots VALUES(36,86); -INSERT INTO product_slots VALUES(36,87); -INSERT INTO product_slots VALUES(36,88); -INSERT INTO product_slots VALUES(36,89); -INSERT INTO product_slots VALUES(36,90); -INSERT INTO product_slots VALUES(36,91); -INSERT INTO product_slots VALUES(36,92); -INSERT INTO product_slots VALUES(36,93); -INSERT INTO product_slots VALUES(36,94); -INSERT INTO product_slots VALUES(36,95); -INSERT INTO product_slots VALUES(36,96); -INSERT INTO product_slots VALUES(36,97); -INSERT INTO product_slots VALUES(36,98); -INSERT INTO product_slots VALUES(36,99); -INSERT INTO product_slots VALUES(36,100); -INSERT INTO product_slots VALUES(36,101); -INSERT INTO product_slots VALUES(36,102); -INSERT INTO product_slots VALUES(36,103); -INSERT INTO product_slots VALUES(36,104); -INSERT INTO product_slots VALUES(36,105); -INSERT INTO product_slots VALUES(36,106); -INSERT INTO product_slots VALUES(36,107); -INSERT INTO product_slots VALUES(36,108); -INSERT INTO product_slots VALUES(36,109); -INSERT INTO product_slots VALUES(36,110); -INSERT INTO product_slots VALUES(36,111); -INSERT INTO product_slots VALUES(36,112); -INSERT INTO product_slots VALUES(36,113); -INSERT INTO product_slots VALUES(36,114); -INSERT INTO product_slots VALUES(36,115); -INSERT INTO product_slots VALUES(36,116); -INSERT INTO product_slots VALUES(36,117); -INSERT INTO product_slots VALUES(36,118); -INSERT INTO product_slots VALUES(36,119); -INSERT INTO product_slots VALUES(36,120); -INSERT INTO product_slots VALUES(36,121); -INSERT INTO product_slots VALUES(36,122); -INSERT INTO product_slots VALUES(36,123); -INSERT INTO product_slots VALUES(36,124); -INSERT INTO product_slots VALUES(36,125); -INSERT INTO product_slots VALUES(36,126); -INSERT INTO product_slots VALUES(36,127); -INSERT INTO product_slots VALUES(36,128); -INSERT INTO product_slots VALUES(36,129); -INSERT INTO product_slots VALUES(36,130); -INSERT INTO product_slots VALUES(36,131); -INSERT INTO product_slots VALUES(36,132); -INSERT INTO product_slots VALUES(36,133); -INSERT INTO product_slots VALUES(36,134); -INSERT INTO product_slots VALUES(36,135); -INSERT INTO product_slots VALUES(36,136); -INSERT INTO product_slots VALUES(36,137); -INSERT INTO product_slots VALUES(36,138); -INSERT INTO product_slots VALUES(36,139); -INSERT INTO product_slots VALUES(36,140); -INSERT INTO product_slots VALUES(36,141); -INSERT INTO product_slots VALUES(36,142); -INSERT INTO product_slots VALUES(36,143); -INSERT INTO product_slots VALUES(36,144); -INSERT INTO product_slots VALUES(36,145); -INSERT INTO product_slots VALUES(36,146); -INSERT INTO product_slots VALUES(36,147); -INSERT INTO product_slots VALUES(36,148); -INSERT INTO product_slots VALUES(36,149); -INSERT INTO product_slots VALUES(36,150); -INSERT INTO product_slots VALUES(36,151); -INSERT INTO product_slots VALUES(36,152); -INSERT INTO product_slots VALUES(36,153); -INSERT INTO product_slots VALUES(36,154); -INSERT INTO product_slots VALUES(36,155); -INSERT INTO product_slots VALUES(36,156); -INSERT INTO product_slots VALUES(36,157); -INSERT INTO product_slots VALUES(36,158); -INSERT INTO product_slots VALUES(36,159); -INSERT INTO product_slots VALUES(36,160); -INSERT INTO product_slots VALUES(36,161); -INSERT INTO product_slots VALUES(36,162); -INSERT INTO product_slots VALUES(36,163); -INSERT INTO product_slots VALUES(36,164); -INSERT INTO product_slots VALUES(36,165); -INSERT INTO product_slots VALUES(36,166); -INSERT INTO product_slots VALUES(36,167); -INSERT INTO product_slots VALUES(36,168); -INSERT INTO product_slots VALUES(36,169); -INSERT INTO product_slots VALUES(36,170); -INSERT INTO product_slots VALUES(36,171); -INSERT INTO product_slots VALUES(36,172); -INSERT INTO product_slots VALUES(36,173); -INSERT INTO product_slots VALUES(36,174); -INSERT INTO product_slots VALUES(36,175); -INSERT INTO product_slots VALUES(36,176); -INSERT INTO product_slots VALUES(36,177); -INSERT INTO product_slots VALUES(36,178); -INSERT INTO product_slots VALUES(36,179); -INSERT INTO product_slots VALUES(36,180); -INSERT INTO product_slots VALUES(36,181); -INSERT INTO product_slots VALUES(36,182); -INSERT INTO product_slots VALUES(36,183); -INSERT INTO product_slots VALUES(36,184); -INSERT INTO product_slots VALUES(36,185); -INSERT INTO product_slots VALUES(36,186); -INSERT INTO product_slots VALUES(36,187); -INSERT INTO product_slots VALUES(36,188); -INSERT INTO product_slots VALUES(36,189); -INSERT INTO product_slots VALUES(36,190); -INSERT INTO product_slots VALUES(36,191); -INSERT INTO product_slots VALUES(36,192); -INSERT INTO product_slots VALUES(36,193); -INSERT INTO product_slots VALUES(36,194); -INSERT INTO product_slots VALUES(36,195); -INSERT INTO product_slots VALUES(36,196); -INSERT INTO product_slots VALUES(36,197); -INSERT INTO product_slots VALUES(36,198); -INSERT INTO product_slots VALUES(36,199); -INSERT INTO product_slots VALUES(36,200); -INSERT INTO product_slots VALUES(36,201); -INSERT INTO product_slots VALUES(36,202); -INSERT INTO product_slots VALUES(36,203); -INSERT INTO product_slots VALUES(36,204); -INSERT INTO product_slots VALUES(36,205); -INSERT INTO product_slots VALUES(36,206); -INSERT INTO product_slots VALUES(36,207); -INSERT INTO product_slots VALUES(36,208); -INSERT INTO product_slots VALUES(36,209); -INSERT INTO product_slots VALUES(36,210); -INSERT INTO product_slots VALUES(36,211); -INSERT INTO product_slots VALUES(36,212); -INSERT INTO product_slots VALUES(36,213); -INSERT INTO product_slots VALUES(36,214); -INSERT INTO product_slots VALUES(36,215); -INSERT INTO product_slots VALUES(36,216); -INSERT INTO product_slots VALUES(36,217); -INSERT INTO product_slots VALUES(36,218); -INSERT INTO product_slots VALUES(36,219); -INSERT INTO product_slots VALUES(36,220); -INSERT INTO product_slots VALUES(36,221); -INSERT INTO product_slots VALUES(36,222); -INSERT INTO product_slots VALUES(36,223); -INSERT INTO product_slots VALUES(36,224); -INSERT INTO product_slots VALUES(36,225); -INSERT INTO product_slots VALUES(36,226); -INSERT INTO product_slots VALUES(36,227); -INSERT INTO product_slots VALUES(36,228); -INSERT INTO product_slots VALUES(36,229); -INSERT INTO product_slots VALUES(36,230); -INSERT INTO product_slots VALUES(36,231); -INSERT INTO product_slots VALUES(36,232); -INSERT INTO product_slots VALUES(36,234); -INSERT INTO product_slots VALUES(36,235); -INSERT INTO product_slots VALUES(36,236); -INSERT INTO product_slots VALUES(36,237); -INSERT INTO product_slots VALUES(36,238); -INSERT INTO product_slots VALUES(36,239); -INSERT INTO product_slots VALUES(36,240); -INSERT INTO product_slots VALUES(36,241); -INSERT INTO product_slots VALUES(36,242); -INSERT INTO product_slots VALUES(36,243); -INSERT INTO product_slots VALUES(36,244); -INSERT INTO product_slots VALUES(36,274); -INSERT INTO product_slots VALUES(36,275); -INSERT INTO product_slots VALUES(36,279); -INSERT INTO product_slots VALUES(36,280); -INSERT INTO product_slots VALUES(36,281); -INSERT INTO product_slots VALUES(36,282); -INSERT INTO product_slots VALUES(37,18); -INSERT INTO product_slots VALUES(37,20); -INSERT INTO product_slots VALUES(37,21); -INSERT INTO product_slots VALUES(37,33); -INSERT INTO product_slots VALUES(37,35); -INSERT INTO product_slots VALUES(37,37); -INSERT INTO product_slots VALUES(37,38); -INSERT INTO product_slots VALUES(37,39); -INSERT INTO product_slots VALUES(37,40); -INSERT INTO product_slots VALUES(37,41); -INSERT INTO product_slots VALUES(37,43); -INSERT INTO product_slots VALUES(37,44); -INSERT INTO product_slots VALUES(37,45); -INSERT INTO product_slots VALUES(37,46); -INSERT INTO product_slots VALUES(37,47); -INSERT INTO product_slots VALUES(37,48); -INSERT INTO product_slots VALUES(37,49); -INSERT INTO product_slots VALUES(37,50); -INSERT INTO product_slots VALUES(37,51); -INSERT INTO product_slots VALUES(37,52); -INSERT INTO product_slots VALUES(37,53); -INSERT INTO product_slots VALUES(37,54); -INSERT INTO product_slots VALUES(37,55); -INSERT INTO product_slots VALUES(37,56); -INSERT INTO product_slots VALUES(37,57); -INSERT INTO product_slots VALUES(37,58); -INSERT INTO product_slots VALUES(37,59); -INSERT INTO product_slots VALUES(37,60); -INSERT INTO product_slots VALUES(37,61); -INSERT INTO product_slots VALUES(37,62); -INSERT INTO product_slots VALUES(37,63); -INSERT INTO product_slots VALUES(37,64); -INSERT INTO product_slots VALUES(37,65); -INSERT INTO product_slots VALUES(37,66); -INSERT INTO product_slots VALUES(37,67); -INSERT INTO product_slots VALUES(37,68); -INSERT INTO product_slots VALUES(37,69); -INSERT INTO product_slots VALUES(37,70); -INSERT INTO product_slots VALUES(37,71); -INSERT INTO product_slots VALUES(37,72); -INSERT INTO product_slots VALUES(37,73); -INSERT INTO product_slots VALUES(37,74); -INSERT INTO product_slots VALUES(37,75); -INSERT INTO product_slots VALUES(37,76); -INSERT INTO product_slots VALUES(37,77); -INSERT INTO product_slots VALUES(37,78); -INSERT INTO product_slots VALUES(37,79); -INSERT INTO product_slots VALUES(37,80); -INSERT INTO product_slots VALUES(37,81); -INSERT INTO product_slots VALUES(37,82); -INSERT INTO product_slots VALUES(37,83); -INSERT INTO product_slots VALUES(37,84); -INSERT INTO product_slots VALUES(37,85); -INSERT INTO product_slots VALUES(37,86); -INSERT INTO product_slots VALUES(37,87); -INSERT INTO product_slots VALUES(37,88); -INSERT INTO product_slots VALUES(37,89); -INSERT INTO product_slots VALUES(37,90); -INSERT INTO product_slots VALUES(37,91); -INSERT INTO product_slots VALUES(37,92); -INSERT INTO product_slots VALUES(37,93); -INSERT INTO product_slots VALUES(37,94); -INSERT INTO product_slots VALUES(37,95); -INSERT INTO product_slots VALUES(37,96); -INSERT INTO product_slots VALUES(37,97); -INSERT INTO product_slots VALUES(37,98); -INSERT INTO product_slots VALUES(37,99); -INSERT INTO product_slots VALUES(37,100); -INSERT INTO product_slots VALUES(37,101); -INSERT INTO product_slots VALUES(37,102); -INSERT INTO product_slots VALUES(37,103); -INSERT INTO product_slots VALUES(37,104); -INSERT INTO product_slots VALUES(37,105); -INSERT INTO product_slots VALUES(37,106); -INSERT INTO product_slots VALUES(37,107); -INSERT INTO product_slots VALUES(37,108); -INSERT INTO product_slots VALUES(37,109); -INSERT INTO product_slots VALUES(37,110); -INSERT INTO product_slots VALUES(37,111); -INSERT INTO product_slots VALUES(37,112); -INSERT INTO product_slots VALUES(37,113); -INSERT INTO product_slots VALUES(37,114); -INSERT INTO product_slots VALUES(37,115); -INSERT INTO product_slots VALUES(37,116); -INSERT INTO product_slots VALUES(37,117); -INSERT INTO product_slots VALUES(37,118); -INSERT INTO product_slots VALUES(37,119); -INSERT INTO product_slots VALUES(37,120); -INSERT INTO product_slots VALUES(37,121); -INSERT INTO product_slots VALUES(37,122); -INSERT INTO product_slots VALUES(37,123); -INSERT INTO product_slots VALUES(37,124); -INSERT INTO product_slots VALUES(37,125); -INSERT INTO product_slots VALUES(37,126); -INSERT INTO product_slots VALUES(37,127); -INSERT INTO product_slots VALUES(37,128); -INSERT INTO product_slots VALUES(37,129); -INSERT INTO product_slots VALUES(37,130); -INSERT INTO product_slots VALUES(37,131); -INSERT INTO product_slots VALUES(37,132); -INSERT INTO product_slots VALUES(37,133); -INSERT INTO product_slots VALUES(37,134); -INSERT INTO product_slots VALUES(37,135); -INSERT INTO product_slots VALUES(37,136); -INSERT INTO product_slots VALUES(37,137); -INSERT INTO product_slots VALUES(37,138); -INSERT INTO product_slots VALUES(37,139); -INSERT INTO product_slots VALUES(37,140); -INSERT INTO product_slots VALUES(37,141); -INSERT INTO product_slots VALUES(37,142); -INSERT INTO product_slots VALUES(37,143); -INSERT INTO product_slots VALUES(37,144); -INSERT INTO product_slots VALUES(37,145); -INSERT INTO product_slots VALUES(37,146); -INSERT INTO product_slots VALUES(37,147); -INSERT INTO product_slots VALUES(37,148); -INSERT INTO product_slots VALUES(37,149); -INSERT INTO product_slots VALUES(37,150); -INSERT INTO product_slots VALUES(37,151); -INSERT INTO product_slots VALUES(37,152); -INSERT INTO product_slots VALUES(37,153); -INSERT INTO product_slots VALUES(37,154); -INSERT INTO product_slots VALUES(37,155); -INSERT INTO product_slots VALUES(37,156); -INSERT INTO product_slots VALUES(37,157); -INSERT INTO product_slots VALUES(37,158); -INSERT INTO product_slots VALUES(37,159); -INSERT INTO product_slots VALUES(37,160); -INSERT INTO product_slots VALUES(37,161); -INSERT INTO product_slots VALUES(37,162); -INSERT INTO product_slots VALUES(37,163); -INSERT INTO product_slots VALUES(37,164); -INSERT INTO product_slots VALUES(37,165); -INSERT INTO product_slots VALUES(37,166); -INSERT INTO product_slots VALUES(37,167); -INSERT INTO product_slots VALUES(37,168); -INSERT INTO product_slots VALUES(37,169); -INSERT INTO product_slots VALUES(37,170); -INSERT INTO product_slots VALUES(37,171); -INSERT INTO product_slots VALUES(37,172); -INSERT INTO product_slots VALUES(37,173); -INSERT INTO product_slots VALUES(37,174); -INSERT INTO product_slots VALUES(37,175); -INSERT INTO product_slots VALUES(37,176); -INSERT INTO product_slots VALUES(37,177); -INSERT INTO product_slots VALUES(37,178); -INSERT INTO product_slots VALUES(37,179); -INSERT INTO product_slots VALUES(37,180); -INSERT INTO product_slots VALUES(37,181); -INSERT INTO product_slots VALUES(37,182); -INSERT INTO product_slots VALUES(37,183); -INSERT INTO product_slots VALUES(37,184); -INSERT INTO product_slots VALUES(37,185); -INSERT INTO product_slots VALUES(37,186); -INSERT INTO product_slots VALUES(37,187); -INSERT INTO product_slots VALUES(37,188); -INSERT INTO product_slots VALUES(37,189); -INSERT INTO product_slots VALUES(37,190); -INSERT INTO product_slots VALUES(37,191); -INSERT INTO product_slots VALUES(37,192); -INSERT INTO product_slots VALUES(37,193); -INSERT INTO product_slots VALUES(37,194); -INSERT INTO product_slots VALUES(37,195); -INSERT INTO product_slots VALUES(37,196); -INSERT INTO product_slots VALUES(37,197); -INSERT INTO product_slots VALUES(37,198); -INSERT INTO product_slots VALUES(37,199); -INSERT INTO product_slots VALUES(37,200); -INSERT INTO product_slots VALUES(37,201); -INSERT INTO product_slots VALUES(37,202); -INSERT INTO product_slots VALUES(37,203); -INSERT INTO product_slots VALUES(37,204); -INSERT INTO product_slots VALUES(37,205); -INSERT INTO product_slots VALUES(37,206); -INSERT INTO product_slots VALUES(37,207); -INSERT INTO product_slots VALUES(37,208); -INSERT INTO product_slots VALUES(37,209); -INSERT INTO product_slots VALUES(37,210); -INSERT INTO product_slots VALUES(37,211); -INSERT INTO product_slots VALUES(37,212); -INSERT INTO product_slots VALUES(37,213); -INSERT INTO product_slots VALUES(37,214); -INSERT INTO product_slots VALUES(37,215); -INSERT INTO product_slots VALUES(37,216); -INSERT INTO product_slots VALUES(37,217); -INSERT INTO product_slots VALUES(37,218); -INSERT INTO product_slots VALUES(37,219); -INSERT INTO product_slots VALUES(37,220); -INSERT INTO product_slots VALUES(37,221); -INSERT INTO product_slots VALUES(37,222); -INSERT INTO product_slots VALUES(37,223); -INSERT INTO product_slots VALUES(37,224); -INSERT INTO product_slots VALUES(37,225); -INSERT INTO product_slots VALUES(37,226); -INSERT INTO product_slots VALUES(37,227); -INSERT INTO product_slots VALUES(37,228); -INSERT INTO product_slots VALUES(37,229); -INSERT INTO product_slots VALUES(37,230); -INSERT INTO product_slots VALUES(37,231); -INSERT INTO product_slots VALUES(37,232); -INSERT INTO product_slots VALUES(37,233); -INSERT INTO product_slots VALUES(37,234); -INSERT INTO product_slots VALUES(37,235); -INSERT INTO product_slots VALUES(37,236); -INSERT INTO product_slots VALUES(37,237); -INSERT INTO product_slots VALUES(37,238); -INSERT INTO product_slots VALUES(37,239); -INSERT INTO product_slots VALUES(37,240); -INSERT INTO product_slots VALUES(37,241); -INSERT INTO product_slots VALUES(37,242); -INSERT INTO product_slots VALUES(37,243); -INSERT INTO product_slots VALUES(37,244); -INSERT INTO product_slots VALUES(37,274); -INSERT INTO product_slots VALUES(37,275); -INSERT INTO product_slots VALUES(37,279); -INSERT INTO product_slots VALUES(37,280); -INSERT INTO product_slots VALUES(37,281); -INSERT INTO product_slots VALUES(37,282); -INSERT INTO product_slots VALUES(37,283); -INSERT INTO product_slots VALUES(37,284); -INSERT INTO product_slots VALUES(37,285); -INSERT INTO product_slots VALUES(37,286); -INSERT INTO product_slots VALUES(37,287); -INSERT INTO product_slots VALUES(38,18); -INSERT INTO product_slots VALUES(38,20); -INSERT INTO product_slots VALUES(38,21); -INSERT INTO product_slots VALUES(38,22); -INSERT INTO product_slots VALUES(38,33); -INSERT INTO product_slots VALUES(38,35); -INSERT INTO product_slots VALUES(38,37); -INSERT INTO product_slots VALUES(38,38); -INSERT INTO product_slots VALUES(38,39); -INSERT INTO product_slots VALUES(38,40); -INSERT INTO product_slots VALUES(38,43); -INSERT INTO product_slots VALUES(38,45); -INSERT INTO product_slots VALUES(38,46); -INSERT INTO product_slots VALUES(38,48); -INSERT INTO product_slots VALUES(38,49); -INSERT INTO product_slots VALUES(38,51); -INSERT INTO product_slots VALUES(38,52); -INSERT INTO product_slots VALUES(38,53); -INSERT INTO product_slots VALUES(38,54); -INSERT INTO product_slots VALUES(38,57); -INSERT INTO product_slots VALUES(38,58); -INSERT INTO product_slots VALUES(38,59); -INSERT INTO product_slots VALUES(38,60); -INSERT INTO product_slots VALUES(38,61); -INSERT INTO product_slots VALUES(38,62); -INSERT INTO product_slots VALUES(38,63); -INSERT INTO product_slots VALUES(38,64); -INSERT INTO product_slots VALUES(38,65); -INSERT INTO product_slots VALUES(38,66); -INSERT INTO product_slots VALUES(38,67); -INSERT INTO product_slots VALUES(38,68); -INSERT INTO product_slots VALUES(38,69); -INSERT INTO product_slots VALUES(38,70); -INSERT INTO product_slots VALUES(38,71); -INSERT INTO product_slots VALUES(38,72); -INSERT INTO product_slots VALUES(38,73); -INSERT INTO product_slots VALUES(38,74); -INSERT INTO product_slots VALUES(38,75); -INSERT INTO product_slots VALUES(38,76); -INSERT INTO product_slots VALUES(38,77); -INSERT INTO product_slots VALUES(38,78); -INSERT INTO product_slots VALUES(38,79); -INSERT INTO product_slots VALUES(38,80); -INSERT INTO product_slots VALUES(38,81); -INSERT INTO product_slots VALUES(38,82); -INSERT INTO product_slots VALUES(38,83); -INSERT INTO product_slots VALUES(38,84); -INSERT INTO product_slots VALUES(38,85); -INSERT INTO product_slots VALUES(38,86); -INSERT INTO product_slots VALUES(38,87); -INSERT INTO product_slots VALUES(38,88); -INSERT INTO product_slots VALUES(38,89); -INSERT INTO product_slots VALUES(38,90); -INSERT INTO product_slots VALUES(38,91); -INSERT INTO product_slots VALUES(38,92); -INSERT INTO product_slots VALUES(38,93); -INSERT INTO product_slots VALUES(38,94); -INSERT INTO product_slots VALUES(38,95); -INSERT INTO product_slots VALUES(38,96); -INSERT INTO product_slots VALUES(38,97); -INSERT INTO product_slots VALUES(38,98); -INSERT INTO product_slots VALUES(38,99); -INSERT INTO product_slots VALUES(38,100); -INSERT INTO product_slots VALUES(38,102); -INSERT INTO product_slots VALUES(38,103); -INSERT INTO product_slots VALUES(38,104); -INSERT INTO product_slots VALUES(38,105); -INSERT INTO product_slots VALUES(38,106); -INSERT INTO product_slots VALUES(38,107); -INSERT INTO product_slots VALUES(38,108); -INSERT INTO product_slots VALUES(38,109); -INSERT INTO product_slots VALUES(38,110); -INSERT INTO product_slots VALUES(38,111); -INSERT INTO product_slots VALUES(38,112); -INSERT INTO product_slots VALUES(38,113); -INSERT INTO product_slots VALUES(38,114); -INSERT INTO product_slots VALUES(38,115); -INSERT INTO product_slots VALUES(38,117); -INSERT INTO product_slots VALUES(38,118); -INSERT INTO product_slots VALUES(38,119); -INSERT INTO product_slots VALUES(38,120); -INSERT INTO product_slots VALUES(38,121); -INSERT INTO product_slots VALUES(38,122); -INSERT INTO product_slots VALUES(38,123); -INSERT INTO product_slots VALUES(38,124); -INSERT INTO product_slots VALUES(38,125); -INSERT INTO product_slots VALUES(38,126); -INSERT INTO product_slots VALUES(38,127); -INSERT INTO product_slots VALUES(38,128); -INSERT INTO product_slots VALUES(38,129); -INSERT INTO product_slots VALUES(38,130); -INSERT INTO product_slots VALUES(38,131); -INSERT INTO product_slots VALUES(38,132); -INSERT INTO product_slots VALUES(38,133); -INSERT INTO product_slots VALUES(38,134); -INSERT INTO product_slots VALUES(38,135); -INSERT INTO product_slots VALUES(38,136); -INSERT INTO product_slots VALUES(38,138); -INSERT INTO product_slots VALUES(38,139); -INSERT INTO product_slots VALUES(38,140); -INSERT INTO product_slots VALUES(38,141); -INSERT INTO product_slots VALUES(38,142); -INSERT INTO product_slots VALUES(38,143); -INSERT INTO product_slots VALUES(38,145); -INSERT INTO product_slots VALUES(38,146); -INSERT INTO product_slots VALUES(38,147); -INSERT INTO product_slots VALUES(38,148); -INSERT INTO product_slots VALUES(38,149); -INSERT INTO product_slots VALUES(38,150); -INSERT INTO product_slots VALUES(38,151); -INSERT INTO product_slots VALUES(38,152); -INSERT INTO product_slots VALUES(38,153); -INSERT INTO product_slots VALUES(38,154); -INSERT INTO product_slots VALUES(38,155); -INSERT INTO product_slots VALUES(38,156); -INSERT INTO product_slots VALUES(38,157); -INSERT INTO product_slots VALUES(38,158); -INSERT INTO product_slots VALUES(38,159); -INSERT INTO product_slots VALUES(38,160); -INSERT INTO product_slots VALUES(38,161); -INSERT INTO product_slots VALUES(38,162); -INSERT INTO product_slots VALUES(38,163); -INSERT INTO product_slots VALUES(38,164); -INSERT INTO product_slots VALUES(38,165); -INSERT INTO product_slots VALUES(38,166); -INSERT INTO product_slots VALUES(38,167); -INSERT INTO product_slots VALUES(38,168); -INSERT INTO product_slots VALUES(38,169); -INSERT INTO product_slots VALUES(38,170); -INSERT INTO product_slots VALUES(38,171); -INSERT INTO product_slots VALUES(38,172); -INSERT INTO product_slots VALUES(38,173); -INSERT INTO product_slots VALUES(38,174); -INSERT INTO product_slots VALUES(38,175); -INSERT INTO product_slots VALUES(38,176); -INSERT INTO product_slots VALUES(38,177); -INSERT INTO product_slots VALUES(38,178); -INSERT INTO product_slots VALUES(38,179); -INSERT INTO product_slots VALUES(38,180); -INSERT INTO product_slots VALUES(38,181); -INSERT INTO product_slots VALUES(38,182); -INSERT INTO product_slots VALUES(38,183); -INSERT INTO product_slots VALUES(38,184); -INSERT INTO product_slots VALUES(38,185); -INSERT INTO product_slots VALUES(38,186); -INSERT INTO product_slots VALUES(38,187); -INSERT INTO product_slots VALUES(38,188); -INSERT INTO product_slots VALUES(38,189); -INSERT INTO product_slots VALUES(38,190); -INSERT INTO product_slots VALUES(38,191); -INSERT INTO product_slots VALUES(38,192); -INSERT INTO product_slots VALUES(38,193); -INSERT INTO product_slots VALUES(38,194); -INSERT INTO product_slots VALUES(38,195); -INSERT INTO product_slots VALUES(38,196); -INSERT INTO product_slots VALUES(38,197); -INSERT INTO product_slots VALUES(38,198); -INSERT INTO product_slots VALUES(38,199); -INSERT INTO product_slots VALUES(38,200); -INSERT INTO product_slots VALUES(38,201); -INSERT INTO product_slots VALUES(38,202); -INSERT INTO product_slots VALUES(38,203); -INSERT INTO product_slots VALUES(38,204); -INSERT INTO product_slots VALUES(38,205); -INSERT INTO product_slots VALUES(38,206); -INSERT INTO product_slots VALUES(38,207); -INSERT INTO product_slots VALUES(38,208); -INSERT INTO product_slots VALUES(38,209); -INSERT INTO product_slots VALUES(38,210); -INSERT INTO product_slots VALUES(38,211); -INSERT INTO product_slots VALUES(38,212); -INSERT INTO product_slots VALUES(38,213); -INSERT INTO product_slots VALUES(38,214); -INSERT INTO product_slots VALUES(38,215); -INSERT INTO product_slots VALUES(38,216); -INSERT INTO product_slots VALUES(38,217); -INSERT INTO product_slots VALUES(38,218); -INSERT INTO product_slots VALUES(38,219); -INSERT INTO product_slots VALUES(38,220); -INSERT INTO product_slots VALUES(38,221); -INSERT INTO product_slots VALUES(38,222); -INSERT INTO product_slots VALUES(38,223); -INSERT INTO product_slots VALUES(38,224); -INSERT INTO product_slots VALUES(38,225); -INSERT INTO product_slots VALUES(38,226); -INSERT INTO product_slots VALUES(38,227); -INSERT INTO product_slots VALUES(38,228); -INSERT INTO product_slots VALUES(38,229); -INSERT INTO product_slots VALUES(38,230); -INSERT INTO product_slots VALUES(38,231); -INSERT INTO product_slots VALUES(38,232); -INSERT INTO product_slots VALUES(38,233); -INSERT INTO product_slots VALUES(38,234); -INSERT INTO product_slots VALUES(38,235); -INSERT INTO product_slots VALUES(38,236); -INSERT INTO product_slots VALUES(38,237); -INSERT INTO product_slots VALUES(38,238); -INSERT INTO product_slots VALUES(38,239); -INSERT INTO product_slots VALUES(38,240); -INSERT INTO product_slots VALUES(38,241); -INSERT INTO product_slots VALUES(38,242); -INSERT INTO product_slots VALUES(38,243); -INSERT INTO product_slots VALUES(38,244); -INSERT INTO product_slots VALUES(38,274); -INSERT INTO product_slots VALUES(38,275); -INSERT INTO product_slots VALUES(38,279); -INSERT INTO product_slots VALUES(38,280); -INSERT INTO product_slots VALUES(38,281); -INSERT INTO product_slots VALUES(38,282); -INSERT INTO product_slots VALUES(38,283); -INSERT INTO product_slots VALUES(38,284); -INSERT INTO product_slots VALUES(38,285); -INSERT INTO product_slots VALUES(38,286); -INSERT INTO product_slots VALUES(38,287); -INSERT INTO product_slots VALUES(39,18); -INSERT INTO product_slots VALUES(39,20); -INSERT INTO product_slots VALUES(39,21); -INSERT INTO product_slots VALUES(39,22); -INSERT INTO product_slots VALUES(39,33); -INSERT INTO product_slots VALUES(39,35); -INSERT INTO product_slots VALUES(39,37); -INSERT INTO product_slots VALUES(39,38); -INSERT INTO product_slots VALUES(39,40); -INSERT INTO product_slots VALUES(39,64); -INSERT INTO product_slots VALUES(39,65); -INSERT INTO product_slots VALUES(39,66); -INSERT INTO product_slots VALUES(39,67); -INSERT INTO product_slots VALUES(39,68); -INSERT INTO product_slots VALUES(39,69); -INSERT INTO product_slots VALUES(39,70); -INSERT INTO product_slots VALUES(39,71); -INSERT INTO product_slots VALUES(39,72); -INSERT INTO product_slots VALUES(39,73); -INSERT INTO product_slots VALUES(39,74); -INSERT INTO product_slots VALUES(39,75); -INSERT INTO product_slots VALUES(39,76); -INSERT INTO product_slots VALUES(39,77); -INSERT INTO product_slots VALUES(39,78); -INSERT INTO product_slots VALUES(39,79); -INSERT INTO product_slots VALUES(39,80); -INSERT INTO product_slots VALUES(39,81); -INSERT INTO product_slots VALUES(39,82); -INSERT INTO product_slots VALUES(39,83); -INSERT INTO product_slots VALUES(39,84); -INSERT INTO product_slots VALUES(39,85); -INSERT INTO product_slots VALUES(39,86); -INSERT INTO product_slots VALUES(39,87); -INSERT INTO product_slots VALUES(39,88); -INSERT INTO product_slots VALUES(39,89); -INSERT INTO product_slots VALUES(39,90); -INSERT INTO product_slots VALUES(39,91); -INSERT INTO product_slots VALUES(39,92); -INSERT INTO product_slots VALUES(39,93); -INSERT INTO product_slots VALUES(39,94); -INSERT INTO product_slots VALUES(39,95); -INSERT INTO product_slots VALUES(39,96); -INSERT INTO product_slots VALUES(39,97); -INSERT INTO product_slots VALUES(39,98); -INSERT INTO product_slots VALUES(39,99); -INSERT INTO product_slots VALUES(39,100); -INSERT INTO product_slots VALUES(39,102); -INSERT INTO product_slots VALUES(39,103); -INSERT INTO product_slots VALUES(39,104); -INSERT INTO product_slots VALUES(39,105); -INSERT INTO product_slots VALUES(39,106); -INSERT INTO product_slots VALUES(39,107); -INSERT INTO product_slots VALUES(39,108); -INSERT INTO product_slots VALUES(39,109); -INSERT INTO product_slots VALUES(39,110); -INSERT INTO product_slots VALUES(39,111); -INSERT INTO product_slots VALUES(39,112); -INSERT INTO product_slots VALUES(39,113); -INSERT INTO product_slots VALUES(39,114); -INSERT INTO product_slots VALUES(39,115); -INSERT INTO product_slots VALUES(39,117); -INSERT INTO product_slots VALUES(39,118); -INSERT INTO product_slots VALUES(39,119); -INSERT INTO product_slots VALUES(39,120); -INSERT INTO product_slots VALUES(39,121); -INSERT INTO product_slots VALUES(39,122); -INSERT INTO product_slots VALUES(39,123); -INSERT INTO product_slots VALUES(39,124); -INSERT INTO product_slots VALUES(39,125); -INSERT INTO product_slots VALUES(39,126); -INSERT INTO product_slots VALUES(39,127); -INSERT INTO product_slots VALUES(39,128); -INSERT INTO product_slots VALUES(39,129); -INSERT INTO product_slots VALUES(39,130); -INSERT INTO product_slots VALUES(39,131); -INSERT INTO product_slots VALUES(39,132); -INSERT INTO product_slots VALUES(39,133); -INSERT INTO product_slots VALUES(39,134); -INSERT INTO product_slots VALUES(39,135); -INSERT INTO product_slots VALUES(39,136); -INSERT INTO product_slots VALUES(39,138); -INSERT INTO product_slots VALUES(39,139); -INSERT INTO product_slots VALUES(39,140); -INSERT INTO product_slots VALUES(39,141); -INSERT INTO product_slots VALUES(39,142); -INSERT INTO product_slots VALUES(39,143); -INSERT INTO product_slots VALUES(39,145); -INSERT INTO product_slots VALUES(39,146); -INSERT INTO product_slots VALUES(39,147); -INSERT INTO product_slots VALUES(39,148); -INSERT INTO product_slots VALUES(39,149); -INSERT INTO product_slots VALUES(39,150); -INSERT INTO product_slots VALUES(39,151); -INSERT INTO product_slots VALUES(39,152); -INSERT INTO product_slots VALUES(39,153); -INSERT INTO product_slots VALUES(39,154); -INSERT INTO product_slots VALUES(39,155); -INSERT INTO product_slots VALUES(39,156); -INSERT INTO product_slots VALUES(39,157); -INSERT INTO product_slots VALUES(39,158); -INSERT INTO product_slots VALUES(39,159); -INSERT INTO product_slots VALUES(39,160); -INSERT INTO product_slots VALUES(39,161); -INSERT INTO product_slots VALUES(39,162); -INSERT INTO product_slots VALUES(39,163); -INSERT INTO product_slots VALUES(39,164); -INSERT INTO product_slots VALUES(39,165); -INSERT INTO product_slots VALUES(39,166); -INSERT INTO product_slots VALUES(39,167); -INSERT INTO product_slots VALUES(39,168); -INSERT INTO product_slots VALUES(39,169); -INSERT INTO product_slots VALUES(39,170); -INSERT INTO product_slots VALUES(39,171); -INSERT INTO product_slots VALUES(39,172); -INSERT INTO product_slots VALUES(39,173); -INSERT INTO product_slots VALUES(39,174); -INSERT INTO product_slots VALUES(39,175); -INSERT INTO product_slots VALUES(39,176); -INSERT INTO product_slots VALUES(39,177); -INSERT INTO product_slots VALUES(39,178); -INSERT INTO product_slots VALUES(39,179); -INSERT INTO product_slots VALUES(39,180); -INSERT INTO product_slots VALUES(39,181); -INSERT INTO product_slots VALUES(39,182); -INSERT INTO product_slots VALUES(39,183); -INSERT INTO product_slots VALUES(39,184); -INSERT INTO product_slots VALUES(39,185); -INSERT INTO product_slots VALUES(39,186); -INSERT INTO product_slots VALUES(39,187); -INSERT INTO product_slots VALUES(39,188); -INSERT INTO product_slots VALUES(39,189); -INSERT INTO product_slots VALUES(39,190); -INSERT INTO product_slots VALUES(39,191); -INSERT INTO product_slots VALUES(39,192); -INSERT INTO product_slots VALUES(39,193); -INSERT INTO product_slots VALUES(39,194); -INSERT INTO product_slots VALUES(39,195); -INSERT INTO product_slots VALUES(39,196); -INSERT INTO product_slots VALUES(39,197); -INSERT INTO product_slots VALUES(39,198); -INSERT INTO product_slots VALUES(39,199); -INSERT INTO product_slots VALUES(39,200); -INSERT INTO product_slots VALUES(39,201); -INSERT INTO product_slots VALUES(39,202); -INSERT INTO product_slots VALUES(39,203); -INSERT INTO product_slots VALUES(39,204); -INSERT INTO product_slots VALUES(39,205); -INSERT INTO product_slots VALUES(39,206); -INSERT INTO product_slots VALUES(39,207); -INSERT INTO product_slots VALUES(39,208); -INSERT INTO product_slots VALUES(39,209); -INSERT INTO product_slots VALUES(39,210); -INSERT INTO product_slots VALUES(39,211); -INSERT INTO product_slots VALUES(39,212); -INSERT INTO product_slots VALUES(39,213); -INSERT INTO product_slots VALUES(39,214); -INSERT INTO product_slots VALUES(39,215); -INSERT INTO product_slots VALUES(39,216); -INSERT INTO product_slots VALUES(39,217); -INSERT INTO product_slots VALUES(39,218); -INSERT INTO product_slots VALUES(39,219); -INSERT INTO product_slots VALUES(39,220); -INSERT INTO product_slots VALUES(39,221); -INSERT INTO product_slots VALUES(39,222); -INSERT INTO product_slots VALUES(39,223); -INSERT INTO product_slots VALUES(39,224); -INSERT INTO product_slots VALUES(39,225); -INSERT INTO product_slots VALUES(39,226); -INSERT INTO product_slots VALUES(39,227); -INSERT INTO product_slots VALUES(39,228); -INSERT INTO product_slots VALUES(39,229); -INSERT INTO product_slots VALUES(39,230); -INSERT INTO product_slots VALUES(39,231); -INSERT INTO product_slots VALUES(39,232); -INSERT INTO product_slots VALUES(39,233); -INSERT INTO product_slots VALUES(39,234); -INSERT INTO product_slots VALUES(39,235); -INSERT INTO product_slots VALUES(39,236); -INSERT INTO product_slots VALUES(39,237); -INSERT INTO product_slots VALUES(39,238); -INSERT INTO product_slots VALUES(39,239); -INSERT INTO product_slots VALUES(39,240); -INSERT INTO product_slots VALUES(39,241); -INSERT INTO product_slots VALUES(39,242); -INSERT INTO product_slots VALUES(39,243); -INSERT INTO product_slots VALUES(39,244); -INSERT INTO product_slots VALUES(39,274); -INSERT INTO product_slots VALUES(39,275); -INSERT INTO product_slots VALUES(39,279); -INSERT INTO product_slots VALUES(39,280); -INSERT INTO product_slots VALUES(39,281); -INSERT INTO product_slots VALUES(39,282); -INSERT INTO product_slots VALUES(39,283); -INSERT INTO product_slots VALUES(39,284); -INSERT INTO product_slots VALUES(39,285); -INSERT INTO product_slots VALUES(39,286); -INSERT INTO product_slots VALUES(39,287); -INSERT INTO product_slots VALUES(40,31); -INSERT INTO product_slots VALUES(40,39); -INSERT INTO product_slots VALUES(40,41); -INSERT INTO product_slots VALUES(40,43); -INSERT INTO product_slots VALUES(40,45); -INSERT INTO product_slots VALUES(40,46); -INSERT INTO product_slots VALUES(40,47); -INSERT INTO product_slots VALUES(40,48); -INSERT INTO product_slots VALUES(40,49); -INSERT INTO product_slots VALUES(40,50); -INSERT INTO product_slots VALUES(40,51); -INSERT INTO product_slots VALUES(40,52); -INSERT INTO product_slots VALUES(40,53); -INSERT INTO product_slots VALUES(40,54); -INSERT INTO product_slots VALUES(40,55); -INSERT INTO product_slots VALUES(40,56); -INSERT INTO product_slots VALUES(40,57); -INSERT INTO product_slots VALUES(40,58); -INSERT INTO product_slots VALUES(40,59); -INSERT INTO product_slots VALUES(40,60); -INSERT INTO product_slots VALUES(40,61); -INSERT INTO product_slots VALUES(40,62); -INSERT INTO product_slots VALUES(40,63); -INSERT INTO product_slots VALUES(40,64); -INSERT INTO product_slots VALUES(40,65); -INSERT INTO product_slots VALUES(40,66); -INSERT INTO product_slots VALUES(40,67); -INSERT INTO product_slots VALUES(40,68); -INSERT INTO product_slots VALUES(40,69); -INSERT INTO product_slots VALUES(40,70); -INSERT INTO product_slots VALUES(40,71); -INSERT INTO product_slots VALUES(40,72); -INSERT INTO product_slots VALUES(40,73); -INSERT INTO product_slots VALUES(40,74); -INSERT INTO product_slots VALUES(40,75); -INSERT INTO product_slots VALUES(40,76); -INSERT INTO product_slots VALUES(40,77); -INSERT INTO product_slots VALUES(40,78); -INSERT INTO product_slots VALUES(40,79); -INSERT INTO product_slots VALUES(40,80); -INSERT INTO product_slots VALUES(40,81); -INSERT INTO product_slots VALUES(40,82); -INSERT INTO product_slots VALUES(40,83); -INSERT INTO product_slots VALUES(40,84); -INSERT INTO product_slots VALUES(40,85); -INSERT INTO product_slots VALUES(40,86); -INSERT INTO product_slots VALUES(40,87); -INSERT INTO product_slots VALUES(40,88); -INSERT INTO product_slots VALUES(40,89); -INSERT INTO product_slots VALUES(40,90); -INSERT INTO product_slots VALUES(40,91); -INSERT INTO product_slots VALUES(40,92); -INSERT INTO product_slots VALUES(40,93); -INSERT INTO product_slots VALUES(40,94); -INSERT INTO product_slots VALUES(40,95); -INSERT INTO product_slots VALUES(40,96); -INSERT INTO product_slots VALUES(40,97); -INSERT INTO product_slots VALUES(40,98); -INSERT INTO product_slots VALUES(40,99); -INSERT INTO product_slots VALUES(40,100); -INSERT INTO product_slots VALUES(40,101); -INSERT INTO product_slots VALUES(40,102); -INSERT INTO product_slots VALUES(40,103); -INSERT INTO product_slots VALUES(40,104); -INSERT INTO product_slots VALUES(40,105); -INSERT INTO product_slots VALUES(40,106); -INSERT INTO product_slots VALUES(40,107); -INSERT INTO product_slots VALUES(40,108); -INSERT INTO product_slots VALUES(40,109); -INSERT INTO product_slots VALUES(40,110); -INSERT INTO product_slots VALUES(40,111); -INSERT INTO product_slots VALUES(40,112); -INSERT INTO product_slots VALUES(40,113); -INSERT INTO product_slots VALUES(40,114); -INSERT INTO product_slots VALUES(40,115); -INSERT INTO product_slots VALUES(40,116); -INSERT INTO product_slots VALUES(40,117); -INSERT INTO product_slots VALUES(40,118); -INSERT INTO product_slots VALUES(40,119); -INSERT INTO product_slots VALUES(40,120); -INSERT INTO product_slots VALUES(40,121); -INSERT INTO product_slots VALUES(40,122); -INSERT INTO product_slots VALUES(40,123); -INSERT INTO product_slots VALUES(40,124); -INSERT INTO product_slots VALUES(40,125); -INSERT INTO product_slots VALUES(40,126); -INSERT INTO product_slots VALUES(40,127); -INSERT INTO product_slots VALUES(40,128); -INSERT INTO product_slots VALUES(40,129); -INSERT INTO product_slots VALUES(40,130); -INSERT INTO product_slots VALUES(40,131); -INSERT INTO product_slots VALUES(40,132); -INSERT INTO product_slots VALUES(40,133); -INSERT INTO product_slots VALUES(40,134); -INSERT INTO product_slots VALUES(40,135); -INSERT INTO product_slots VALUES(40,136); -INSERT INTO product_slots VALUES(40,137); -INSERT INTO product_slots VALUES(40,138); -INSERT INTO product_slots VALUES(40,139); -INSERT INTO product_slots VALUES(40,140); -INSERT INTO product_slots VALUES(40,141); -INSERT INTO product_slots VALUES(40,142); -INSERT INTO product_slots VALUES(40,143); -INSERT INTO product_slots VALUES(40,144); -INSERT INTO product_slots VALUES(40,145); -INSERT INTO product_slots VALUES(40,146); -INSERT INTO product_slots VALUES(40,147); -INSERT INTO product_slots VALUES(40,148); -INSERT INTO product_slots VALUES(40,149); -INSERT INTO product_slots VALUES(40,150); -INSERT INTO product_slots VALUES(40,151); -INSERT INTO product_slots VALUES(40,152); -INSERT INTO product_slots VALUES(40,153); -INSERT INTO product_slots VALUES(40,154); -INSERT INTO product_slots VALUES(40,155); -INSERT INTO product_slots VALUES(40,156); -INSERT INTO product_slots VALUES(40,157); -INSERT INTO product_slots VALUES(40,158); -INSERT INTO product_slots VALUES(40,159); -INSERT INTO product_slots VALUES(40,160); -INSERT INTO product_slots VALUES(40,161); -INSERT INTO product_slots VALUES(40,162); -INSERT INTO product_slots VALUES(40,163); -INSERT INTO product_slots VALUES(40,164); -INSERT INTO product_slots VALUES(40,165); -INSERT INTO product_slots VALUES(40,166); -INSERT INTO product_slots VALUES(40,167); -INSERT INTO product_slots VALUES(40,168); -INSERT INTO product_slots VALUES(40,169); -INSERT INTO product_slots VALUES(40,170); -INSERT INTO product_slots VALUES(40,171); -INSERT INTO product_slots VALUES(40,172); -INSERT INTO product_slots VALUES(40,173); -INSERT INTO product_slots VALUES(40,174); -INSERT INTO product_slots VALUES(40,175); -INSERT INTO product_slots VALUES(40,176); -INSERT INTO product_slots VALUES(40,177); -INSERT INTO product_slots VALUES(40,178); -INSERT INTO product_slots VALUES(40,179); -INSERT INTO product_slots VALUES(40,180); -INSERT INTO product_slots VALUES(40,181); -INSERT INTO product_slots VALUES(40,182); -INSERT INTO product_slots VALUES(40,183); -INSERT INTO product_slots VALUES(40,184); -INSERT INTO product_slots VALUES(40,185); -INSERT INTO product_slots VALUES(40,186); -INSERT INTO product_slots VALUES(40,187); -INSERT INTO product_slots VALUES(40,188); -INSERT INTO product_slots VALUES(40,189); -INSERT INTO product_slots VALUES(40,190); -INSERT INTO product_slots VALUES(40,191); -INSERT INTO product_slots VALUES(40,192); -INSERT INTO product_slots VALUES(40,193); -INSERT INTO product_slots VALUES(40,194); -INSERT INTO product_slots VALUES(40,195); -INSERT INTO product_slots VALUES(40,196); -INSERT INTO product_slots VALUES(40,197); -INSERT INTO product_slots VALUES(40,198); -INSERT INTO product_slots VALUES(40,199); -INSERT INTO product_slots VALUES(40,200); -INSERT INTO product_slots VALUES(40,201); -INSERT INTO product_slots VALUES(40,202); -INSERT INTO product_slots VALUES(40,203); -INSERT INTO product_slots VALUES(40,204); -INSERT INTO product_slots VALUES(40,205); -INSERT INTO product_slots VALUES(40,206); -INSERT INTO product_slots VALUES(40,207); -INSERT INTO product_slots VALUES(40,208); -INSERT INTO product_slots VALUES(40,209); -INSERT INTO product_slots VALUES(40,210); -INSERT INTO product_slots VALUES(40,211); -INSERT INTO product_slots VALUES(40,212); -INSERT INTO product_slots VALUES(40,213); -INSERT INTO product_slots VALUES(40,214); -INSERT INTO product_slots VALUES(40,215); -INSERT INTO product_slots VALUES(40,216); -INSERT INTO product_slots VALUES(40,217); -INSERT INTO product_slots VALUES(40,218); -INSERT INTO product_slots VALUES(40,219); -INSERT INTO product_slots VALUES(40,220); -INSERT INTO product_slots VALUES(40,221); -INSERT INTO product_slots VALUES(40,222); -INSERT INTO product_slots VALUES(40,223); -INSERT INTO product_slots VALUES(40,224); -INSERT INTO product_slots VALUES(40,225); -INSERT INTO product_slots VALUES(40,226); -INSERT INTO product_slots VALUES(40,227); -INSERT INTO product_slots VALUES(40,228); -INSERT INTO product_slots VALUES(40,229); -INSERT INTO product_slots VALUES(40,230); -INSERT INTO product_slots VALUES(40,231); -INSERT INTO product_slots VALUES(40,232); -INSERT INTO product_slots VALUES(40,233); -INSERT INTO product_slots VALUES(40,234); -INSERT INTO product_slots VALUES(40,235); -INSERT INTO product_slots VALUES(40,236); -INSERT INTO product_slots VALUES(40,237); -INSERT INTO product_slots VALUES(40,238); -INSERT INTO product_slots VALUES(40,239); -INSERT INTO product_slots VALUES(40,240); -INSERT INTO product_slots VALUES(40,241); -INSERT INTO product_slots VALUES(40,242); -INSERT INTO product_slots VALUES(40,243); -INSERT INTO product_slots VALUES(40,244); -INSERT INTO product_slots VALUES(40,274); -INSERT INTO product_slots VALUES(40,275); -INSERT INTO product_slots VALUES(40,279); -INSERT INTO product_slots VALUES(40,280); -INSERT INTO product_slots VALUES(40,281); -INSERT INTO product_slots VALUES(40,282); -INSERT INTO product_slots VALUES(41,31); -INSERT INTO product_slots VALUES(41,39); -INSERT INTO product_slots VALUES(41,41); -INSERT INTO product_slots VALUES(41,43); -INSERT INTO product_slots VALUES(41,45); -INSERT INTO product_slots VALUES(41,46); -INSERT INTO product_slots VALUES(41,47); -INSERT INTO product_slots VALUES(41,48); -INSERT INTO product_slots VALUES(41,49); -INSERT INTO product_slots VALUES(41,50); -INSERT INTO product_slots VALUES(41,51); -INSERT INTO product_slots VALUES(41,52); -INSERT INTO product_slots VALUES(41,53); -INSERT INTO product_slots VALUES(41,54); -INSERT INTO product_slots VALUES(41,55); -INSERT INTO product_slots VALUES(41,56); -INSERT INTO product_slots VALUES(41,57); -INSERT INTO product_slots VALUES(41,58); -INSERT INTO product_slots VALUES(41,59); -INSERT INTO product_slots VALUES(41,60); -INSERT INTO product_slots VALUES(41,61); -INSERT INTO product_slots VALUES(41,62); -INSERT INTO product_slots VALUES(41,63); -INSERT INTO product_slots VALUES(41,64); -INSERT INTO product_slots VALUES(41,65); -INSERT INTO product_slots VALUES(41,66); -INSERT INTO product_slots VALUES(41,67); -INSERT INTO product_slots VALUES(41,68); -INSERT INTO product_slots VALUES(41,69); -INSERT INTO product_slots VALUES(41,70); -INSERT INTO product_slots VALUES(41,71); -INSERT INTO product_slots VALUES(41,72); -INSERT INTO product_slots VALUES(41,73); -INSERT INTO product_slots VALUES(41,74); -INSERT INTO product_slots VALUES(41,75); -INSERT INTO product_slots VALUES(41,76); -INSERT INTO product_slots VALUES(41,77); -INSERT INTO product_slots VALUES(41,78); -INSERT INTO product_slots VALUES(41,79); -INSERT INTO product_slots VALUES(41,80); -INSERT INTO product_slots VALUES(41,81); -INSERT INTO product_slots VALUES(41,82); -INSERT INTO product_slots VALUES(41,83); -INSERT INTO product_slots VALUES(41,84); -INSERT INTO product_slots VALUES(41,85); -INSERT INTO product_slots VALUES(41,86); -INSERT INTO product_slots VALUES(41,87); -INSERT INTO product_slots VALUES(41,88); -INSERT INTO product_slots VALUES(41,89); -INSERT INTO product_slots VALUES(41,90); -INSERT INTO product_slots VALUES(41,91); -INSERT INTO product_slots VALUES(41,92); -INSERT INTO product_slots VALUES(41,93); -INSERT INTO product_slots VALUES(41,94); -INSERT INTO product_slots VALUES(41,95); -INSERT INTO product_slots VALUES(41,96); -INSERT INTO product_slots VALUES(41,97); -INSERT INTO product_slots VALUES(41,98); -INSERT INTO product_slots VALUES(41,99); -INSERT INTO product_slots VALUES(41,100); -INSERT INTO product_slots VALUES(41,101); -INSERT INTO product_slots VALUES(41,102); -INSERT INTO product_slots VALUES(41,103); -INSERT INTO product_slots VALUES(41,104); -INSERT INTO product_slots VALUES(41,105); -INSERT INTO product_slots VALUES(41,106); -INSERT INTO product_slots VALUES(41,107); -INSERT INTO product_slots VALUES(41,108); -INSERT INTO product_slots VALUES(41,109); -INSERT INTO product_slots VALUES(41,110); -INSERT INTO product_slots VALUES(41,111); -INSERT INTO product_slots VALUES(41,112); -INSERT INTO product_slots VALUES(41,113); -INSERT INTO product_slots VALUES(41,114); -INSERT INTO product_slots VALUES(41,115); -INSERT INTO product_slots VALUES(41,116); -INSERT INTO product_slots VALUES(41,117); -INSERT INTO product_slots VALUES(41,118); -INSERT INTO product_slots VALUES(41,119); -INSERT INTO product_slots VALUES(41,120); -INSERT INTO product_slots VALUES(41,121); -INSERT INTO product_slots VALUES(41,122); -INSERT INTO product_slots VALUES(41,123); -INSERT INTO product_slots VALUES(41,124); -INSERT INTO product_slots VALUES(41,125); -INSERT INTO product_slots VALUES(41,126); -INSERT INTO product_slots VALUES(41,127); -INSERT INTO product_slots VALUES(41,128); -INSERT INTO product_slots VALUES(41,129); -INSERT INTO product_slots VALUES(41,130); -INSERT INTO product_slots VALUES(41,131); -INSERT INTO product_slots VALUES(41,132); -INSERT INTO product_slots VALUES(41,133); -INSERT INTO product_slots VALUES(41,134); -INSERT INTO product_slots VALUES(41,135); -INSERT INTO product_slots VALUES(41,136); -INSERT INTO product_slots VALUES(41,137); -INSERT INTO product_slots VALUES(41,138); -INSERT INTO product_slots VALUES(41,139); -INSERT INTO product_slots VALUES(41,140); -INSERT INTO product_slots VALUES(41,141); -INSERT INTO product_slots VALUES(41,142); -INSERT INTO product_slots VALUES(41,143); -INSERT INTO product_slots VALUES(41,144); -INSERT INTO product_slots VALUES(41,145); -INSERT INTO product_slots VALUES(41,146); -INSERT INTO product_slots VALUES(41,147); -INSERT INTO product_slots VALUES(41,148); -INSERT INTO product_slots VALUES(41,149); -INSERT INTO product_slots VALUES(41,150); -INSERT INTO product_slots VALUES(41,151); -INSERT INTO product_slots VALUES(41,152); -INSERT INTO product_slots VALUES(41,153); -INSERT INTO product_slots VALUES(41,154); -INSERT INTO product_slots VALUES(41,155); -INSERT INTO product_slots VALUES(41,156); -INSERT INTO product_slots VALUES(41,157); -INSERT INTO product_slots VALUES(41,158); -INSERT INTO product_slots VALUES(41,159); -INSERT INTO product_slots VALUES(41,160); -INSERT INTO product_slots VALUES(41,161); -INSERT INTO product_slots VALUES(41,162); -INSERT INTO product_slots VALUES(41,163); -INSERT INTO product_slots VALUES(41,164); -INSERT INTO product_slots VALUES(41,165); -INSERT INTO product_slots VALUES(41,166); -INSERT INTO product_slots VALUES(41,167); -INSERT INTO product_slots VALUES(41,168); -INSERT INTO product_slots VALUES(41,169); -INSERT INTO product_slots VALUES(41,170); -INSERT INTO product_slots VALUES(41,171); -INSERT INTO product_slots VALUES(41,172); -INSERT INTO product_slots VALUES(41,173); -INSERT INTO product_slots VALUES(41,174); -INSERT INTO product_slots VALUES(41,175); -INSERT INTO product_slots VALUES(41,176); -INSERT INTO product_slots VALUES(41,177); -INSERT INTO product_slots VALUES(41,178); -INSERT INTO product_slots VALUES(41,179); -INSERT INTO product_slots VALUES(41,180); -INSERT INTO product_slots VALUES(41,181); -INSERT INTO product_slots VALUES(41,182); -INSERT INTO product_slots VALUES(41,183); -INSERT INTO product_slots VALUES(41,184); -INSERT INTO product_slots VALUES(41,185); -INSERT INTO product_slots VALUES(41,186); -INSERT INTO product_slots VALUES(41,187); -INSERT INTO product_slots VALUES(41,188); -INSERT INTO product_slots VALUES(41,189); -INSERT INTO product_slots VALUES(41,190); -INSERT INTO product_slots VALUES(41,191); -INSERT INTO product_slots VALUES(41,192); -INSERT INTO product_slots VALUES(41,193); -INSERT INTO product_slots VALUES(41,194); -INSERT INTO product_slots VALUES(41,195); -INSERT INTO product_slots VALUES(41,196); -INSERT INTO product_slots VALUES(41,197); -INSERT INTO product_slots VALUES(41,198); -INSERT INTO product_slots VALUES(41,199); -INSERT INTO product_slots VALUES(41,200); -INSERT INTO product_slots VALUES(41,201); -INSERT INTO product_slots VALUES(41,202); -INSERT INTO product_slots VALUES(41,203); -INSERT INTO product_slots VALUES(41,204); -INSERT INTO product_slots VALUES(41,205); -INSERT INTO product_slots VALUES(41,206); -INSERT INTO product_slots VALUES(41,207); -INSERT INTO product_slots VALUES(41,208); -INSERT INTO product_slots VALUES(41,209); -INSERT INTO product_slots VALUES(41,210); -INSERT INTO product_slots VALUES(41,211); -INSERT INTO product_slots VALUES(41,212); -INSERT INTO product_slots VALUES(41,213); -INSERT INTO product_slots VALUES(41,214); -INSERT INTO product_slots VALUES(41,215); -INSERT INTO product_slots VALUES(41,216); -INSERT INTO product_slots VALUES(41,217); -INSERT INTO product_slots VALUES(41,218); -INSERT INTO product_slots VALUES(41,219); -INSERT INTO product_slots VALUES(41,220); -INSERT INTO product_slots VALUES(41,221); -INSERT INTO product_slots VALUES(41,222); -INSERT INTO product_slots VALUES(41,223); -INSERT INTO product_slots VALUES(41,224); -INSERT INTO product_slots VALUES(41,225); -INSERT INTO product_slots VALUES(41,226); -INSERT INTO product_slots VALUES(41,227); -INSERT INTO product_slots VALUES(41,228); -INSERT INTO product_slots VALUES(41,229); -INSERT INTO product_slots VALUES(41,230); -INSERT INTO product_slots VALUES(41,231); -INSERT INTO product_slots VALUES(41,232); -INSERT INTO product_slots VALUES(41,233); -INSERT INTO product_slots VALUES(41,234); -INSERT INTO product_slots VALUES(41,235); -INSERT INTO product_slots VALUES(41,236); -INSERT INTO product_slots VALUES(41,237); -INSERT INTO product_slots VALUES(41,238); -INSERT INTO product_slots VALUES(41,239); -INSERT INTO product_slots VALUES(41,240); -INSERT INTO product_slots VALUES(41,241); -INSERT INTO product_slots VALUES(41,242); -INSERT INTO product_slots VALUES(41,243); -INSERT INTO product_slots VALUES(41,244); -INSERT INTO product_slots VALUES(41,274); -INSERT INTO product_slots VALUES(41,275); -INSERT INTO product_slots VALUES(41,279); -INSERT INTO product_slots VALUES(41,280); -INSERT INTO product_slots VALUES(41,281); -INSERT INTO product_slots VALUES(41,282); -INSERT INTO product_slots VALUES(42,31); -INSERT INTO product_slots VALUES(42,39); -INSERT INTO product_slots VALUES(42,41); -INSERT INTO product_slots VALUES(42,43); -INSERT INTO product_slots VALUES(42,45); -INSERT INTO product_slots VALUES(42,46); -INSERT INTO product_slots VALUES(42,47); -INSERT INTO product_slots VALUES(42,48); -INSERT INTO product_slots VALUES(42,49); -INSERT INTO product_slots VALUES(42,50); -INSERT INTO product_slots VALUES(42,51); -INSERT INTO product_slots VALUES(42,52); -INSERT INTO product_slots VALUES(42,53); -INSERT INTO product_slots VALUES(42,54); -INSERT INTO product_slots VALUES(42,55); -INSERT INTO product_slots VALUES(42,56); -INSERT INTO product_slots VALUES(42,57); -INSERT INTO product_slots VALUES(42,58); -INSERT INTO product_slots VALUES(42,59); -INSERT INTO product_slots VALUES(42,60); -INSERT INTO product_slots VALUES(42,61); -INSERT INTO product_slots VALUES(42,62); -INSERT INTO product_slots VALUES(42,63); -INSERT INTO product_slots VALUES(42,64); -INSERT INTO product_slots VALUES(42,65); -INSERT INTO product_slots VALUES(42,66); -INSERT INTO product_slots VALUES(42,67); -INSERT INTO product_slots VALUES(42,68); -INSERT INTO product_slots VALUES(42,69); -INSERT INTO product_slots VALUES(42,70); -INSERT INTO product_slots VALUES(42,71); -INSERT INTO product_slots VALUES(42,72); -INSERT INTO product_slots VALUES(42,73); -INSERT INTO product_slots VALUES(42,74); -INSERT INTO product_slots VALUES(42,75); -INSERT INTO product_slots VALUES(42,76); -INSERT INTO product_slots VALUES(42,77); -INSERT INTO product_slots VALUES(42,78); -INSERT INTO product_slots VALUES(42,79); -INSERT INTO product_slots VALUES(42,80); -INSERT INTO product_slots VALUES(42,81); -INSERT INTO product_slots VALUES(42,82); -INSERT INTO product_slots VALUES(42,83); -INSERT INTO product_slots VALUES(42,84); -INSERT INTO product_slots VALUES(42,85); -INSERT INTO product_slots VALUES(42,86); -INSERT INTO product_slots VALUES(42,87); -INSERT INTO product_slots VALUES(42,88); -INSERT INTO product_slots VALUES(42,89); -INSERT INTO product_slots VALUES(42,90); -INSERT INTO product_slots VALUES(42,91); -INSERT INTO product_slots VALUES(42,92); -INSERT INTO product_slots VALUES(42,93); -INSERT INTO product_slots VALUES(42,94); -INSERT INTO product_slots VALUES(42,95); -INSERT INTO product_slots VALUES(42,96); -INSERT INTO product_slots VALUES(42,97); -INSERT INTO product_slots VALUES(42,98); -INSERT INTO product_slots VALUES(42,99); -INSERT INTO product_slots VALUES(42,100); -INSERT INTO product_slots VALUES(42,101); -INSERT INTO product_slots VALUES(42,102); -INSERT INTO product_slots VALUES(42,103); -INSERT INTO product_slots VALUES(42,104); -INSERT INTO product_slots VALUES(42,105); -INSERT INTO product_slots VALUES(42,106); -INSERT INTO product_slots VALUES(42,107); -INSERT INTO product_slots VALUES(42,108); -INSERT INTO product_slots VALUES(42,109); -INSERT INTO product_slots VALUES(42,110); -INSERT INTO product_slots VALUES(42,111); -INSERT INTO product_slots VALUES(42,112); -INSERT INTO product_slots VALUES(42,113); -INSERT INTO product_slots VALUES(42,114); -INSERT INTO product_slots VALUES(42,115); -INSERT INTO product_slots VALUES(42,116); -INSERT INTO product_slots VALUES(42,117); -INSERT INTO product_slots VALUES(42,118); -INSERT INTO product_slots VALUES(42,119); -INSERT INTO product_slots VALUES(42,120); -INSERT INTO product_slots VALUES(42,121); -INSERT INTO product_slots VALUES(42,122); -INSERT INTO product_slots VALUES(42,123); -INSERT INTO product_slots VALUES(42,124); -INSERT INTO product_slots VALUES(42,125); -INSERT INTO product_slots VALUES(42,126); -INSERT INTO product_slots VALUES(42,127); -INSERT INTO product_slots VALUES(42,128); -INSERT INTO product_slots VALUES(42,129); -INSERT INTO product_slots VALUES(42,130); -INSERT INTO product_slots VALUES(42,131); -INSERT INTO product_slots VALUES(42,132); -INSERT INTO product_slots VALUES(42,133); -INSERT INTO product_slots VALUES(42,134); -INSERT INTO product_slots VALUES(42,135); -INSERT INTO product_slots VALUES(42,136); -INSERT INTO product_slots VALUES(42,137); -INSERT INTO product_slots VALUES(42,138); -INSERT INTO product_slots VALUES(42,139); -INSERT INTO product_slots VALUES(42,140); -INSERT INTO product_slots VALUES(42,141); -INSERT INTO product_slots VALUES(42,142); -INSERT INTO product_slots VALUES(42,143); -INSERT INTO product_slots VALUES(42,144); -INSERT INTO product_slots VALUES(42,145); -INSERT INTO product_slots VALUES(42,146); -INSERT INTO product_slots VALUES(42,147); -INSERT INTO product_slots VALUES(42,148); -INSERT INTO product_slots VALUES(42,149); -INSERT INTO product_slots VALUES(42,150); -INSERT INTO product_slots VALUES(42,151); -INSERT INTO product_slots VALUES(42,152); -INSERT INTO product_slots VALUES(42,153); -INSERT INTO product_slots VALUES(42,154); -INSERT INTO product_slots VALUES(42,155); -INSERT INTO product_slots VALUES(42,156); -INSERT INTO product_slots VALUES(42,157); -INSERT INTO product_slots VALUES(42,158); -INSERT INTO product_slots VALUES(42,159); -INSERT INTO product_slots VALUES(42,160); -INSERT INTO product_slots VALUES(42,161); -INSERT INTO product_slots VALUES(42,162); -INSERT INTO product_slots VALUES(42,163); -INSERT INTO product_slots VALUES(42,164); -INSERT INTO product_slots VALUES(42,165); -INSERT INTO product_slots VALUES(42,166); -INSERT INTO product_slots VALUES(42,167); -INSERT INTO product_slots VALUES(42,168); -INSERT INTO product_slots VALUES(42,169); -INSERT INTO product_slots VALUES(42,170); -INSERT INTO product_slots VALUES(42,171); -INSERT INTO product_slots VALUES(42,172); -INSERT INTO product_slots VALUES(42,173); -INSERT INTO product_slots VALUES(42,174); -INSERT INTO product_slots VALUES(42,175); -INSERT INTO product_slots VALUES(42,176); -INSERT INTO product_slots VALUES(42,177); -INSERT INTO product_slots VALUES(42,178); -INSERT INTO product_slots VALUES(42,179); -INSERT INTO product_slots VALUES(42,180); -INSERT INTO product_slots VALUES(42,181); -INSERT INTO product_slots VALUES(42,182); -INSERT INTO product_slots VALUES(42,183); -INSERT INTO product_slots VALUES(42,184); -INSERT INTO product_slots VALUES(42,185); -INSERT INTO product_slots VALUES(42,186); -INSERT INTO product_slots VALUES(42,187); -INSERT INTO product_slots VALUES(42,188); -INSERT INTO product_slots VALUES(42,189); -INSERT INTO product_slots VALUES(42,190); -INSERT INTO product_slots VALUES(42,191); -INSERT INTO product_slots VALUES(42,192); -INSERT INTO product_slots VALUES(42,193); -INSERT INTO product_slots VALUES(42,194); -INSERT INTO product_slots VALUES(42,195); -INSERT INTO product_slots VALUES(42,196); -INSERT INTO product_slots VALUES(42,197); -INSERT INTO product_slots VALUES(42,198); -INSERT INTO product_slots VALUES(42,199); -INSERT INTO product_slots VALUES(42,200); -INSERT INTO product_slots VALUES(42,201); -INSERT INTO product_slots VALUES(42,202); -INSERT INTO product_slots VALUES(42,203); -INSERT INTO product_slots VALUES(42,204); -INSERT INTO product_slots VALUES(42,205); -INSERT INTO product_slots VALUES(42,206); -INSERT INTO product_slots VALUES(42,207); -INSERT INTO product_slots VALUES(42,208); -INSERT INTO product_slots VALUES(42,209); -INSERT INTO product_slots VALUES(42,210); -INSERT INTO product_slots VALUES(42,211); -INSERT INTO product_slots VALUES(42,212); -INSERT INTO product_slots VALUES(42,213); -INSERT INTO product_slots VALUES(42,214); -INSERT INTO product_slots VALUES(42,215); -INSERT INTO product_slots VALUES(42,216); -INSERT INTO product_slots VALUES(42,217); -INSERT INTO product_slots VALUES(42,218); -INSERT INTO product_slots VALUES(42,219); -INSERT INTO product_slots VALUES(42,220); -INSERT INTO product_slots VALUES(42,221); -INSERT INTO product_slots VALUES(42,222); -INSERT INTO product_slots VALUES(42,223); -INSERT INTO product_slots VALUES(42,224); -INSERT INTO product_slots VALUES(42,225); -INSERT INTO product_slots VALUES(42,226); -INSERT INTO product_slots VALUES(42,227); -INSERT INTO product_slots VALUES(42,228); -INSERT INTO product_slots VALUES(42,229); -INSERT INTO product_slots VALUES(42,230); -INSERT INTO product_slots VALUES(42,231); -INSERT INTO product_slots VALUES(42,232); -INSERT INTO product_slots VALUES(42,233); -INSERT INTO product_slots VALUES(42,234); -INSERT INTO product_slots VALUES(42,235); -INSERT INTO product_slots VALUES(42,236); -INSERT INTO product_slots VALUES(42,237); -INSERT INTO product_slots VALUES(42,238); -INSERT INTO product_slots VALUES(42,239); -INSERT INTO product_slots VALUES(42,240); -INSERT INTO product_slots VALUES(42,241); -INSERT INTO product_slots VALUES(42,242); -INSERT INTO product_slots VALUES(42,243); -INSERT INTO product_slots VALUES(42,244); -INSERT INTO product_slots VALUES(42,274); -INSERT INTO product_slots VALUES(42,275); -INSERT INTO product_slots VALUES(42,279); -INSERT INTO product_slots VALUES(42,280); -INSERT INTO product_slots VALUES(42,281); -INSERT INTO product_slots VALUES(42,282); -INSERT INTO product_slots VALUES(43,39); -INSERT INTO product_slots VALUES(43,40); -INSERT INTO product_slots VALUES(43,43); -INSERT INTO product_slots VALUES(43,45); -INSERT INTO product_slots VALUES(43,46); -INSERT INTO product_slots VALUES(43,48); -INSERT INTO product_slots VALUES(43,49); -INSERT INTO product_slots VALUES(43,51); -INSERT INTO product_slots VALUES(43,52); -INSERT INTO product_slots VALUES(43,53); -INSERT INTO product_slots VALUES(43,54); -INSERT INTO product_slots VALUES(43,57); -INSERT INTO product_slots VALUES(43,58); -INSERT INTO product_slots VALUES(43,59); -INSERT INTO product_slots VALUES(43,60); -INSERT INTO product_slots VALUES(43,61); -INSERT INTO product_slots VALUES(43,62); -INSERT INTO product_slots VALUES(43,63); -INSERT INTO product_slots VALUES(43,64); -INSERT INTO product_slots VALUES(43,65); -INSERT INTO product_slots VALUES(43,66); -INSERT INTO product_slots VALUES(43,67); -INSERT INTO product_slots VALUES(43,68); -INSERT INTO product_slots VALUES(43,69); -INSERT INTO product_slots VALUES(43,70); -INSERT INTO product_slots VALUES(43,71); -INSERT INTO product_slots VALUES(43,72); -INSERT INTO product_slots VALUES(43,73); -INSERT INTO product_slots VALUES(43,74); -INSERT INTO product_slots VALUES(43,75); -INSERT INTO product_slots VALUES(43,76); -INSERT INTO product_slots VALUES(43,77); -INSERT INTO product_slots VALUES(43,78); -INSERT INTO product_slots VALUES(43,79); -INSERT INTO product_slots VALUES(43,80); -INSERT INTO product_slots VALUES(43,81); -INSERT INTO product_slots VALUES(43,82); -INSERT INTO product_slots VALUES(43,83); -INSERT INTO product_slots VALUES(43,84); -INSERT INTO product_slots VALUES(43,85); -INSERT INTO product_slots VALUES(43,86); -INSERT INTO product_slots VALUES(43,87); -INSERT INTO product_slots VALUES(43,88); -INSERT INTO product_slots VALUES(43,89); -INSERT INTO product_slots VALUES(43,90); -INSERT INTO product_slots VALUES(43,91); -INSERT INTO product_slots VALUES(43,92); -INSERT INTO product_slots VALUES(43,93); -INSERT INTO product_slots VALUES(43,94); -INSERT INTO product_slots VALUES(43,95); -INSERT INTO product_slots VALUES(43,96); -INSERT INTO product_slots VALUES(43,97); -INSERT INTO product_slots VALUES(43,98); -INSERT INTO product_slots VALUES(43,99); -INSERT INTO product_slots VALUES(43,100); -INSERT INTO product_slots VALUES(43,102); -INSERT INTO product_slots VALUES(43,103); -INSERT INTO product_slots VALUES(43,104); -INSERT INTO product_slots VALUES(43,105); -INSERT INTO product_slots VALUES(43,106); -INSERT INTO product_slots VALUES(43,107); -INSERT INTO product_slots VALUES(43,108); -INSERT INTO product_slots VALUES(43,109); -INSERT INTO product_slots VALUES(43,110); -INSERT INTO product_slots VALUES(43,111); -INSERT INTO product_slots VALUES(43,112); -INSERT INTO product_slots VALUES(43,113); -INSERT INTO product_slots VALUES(43,114); -INSERT INTO product_slots VALUES(43,115); -INSERT INTO product_slots VALUES(43,117); -INSERT INTO product_slots VALUES(43,118); -INSERT INTO product_slots VALUES(43,119); -INSERT INTO product_slots VALUES(43,120); -INSERT INTO product_slots VALUES(43,121); -INSERT INTO product_slots VALUES(43,122); -INSERT INTO product_slots VALUES(43,123); -INSERT INTO product_slots VALUES(43,124); -INSERT INTO product_slots VALUES(43,125); -INSERT INTO product_slots VALUES(43,126); -INSERT INTO product_slots VALUES(43,127); -INSERT INTO product_slots VALUES(43,128); -INSERT INTO product_slots VALUES(43,129); -INSERT INTO product_slots VALUES(43,130); -INSERT INTO product_slots VALUES(43,131); -INSERT INTO product_slots VALUES(43,132); -INSERT INTO product_slots VALUES(43,133); -INSERT INTO product_slots VALUES(43,134); -INSERT INTO product_slots VALUES(43,135); -INSERT INTO product_slots VALUES(43,136); -INSERT INTO product_slots VALUES(43,138); -INSERT INTO product_slots VALUES(43,139); -INSERT INTO product_slots VALUES(43,140); -INSERT INTO product_slots VALUES(43,141); -INSERT INTO product_slots VALUES(43,142); -INSERT INTO product_slots VALUES(43,143); -INSERT INTO product_slots VALUES(43,145); -INSERT INTO product_slots VALUES(43,146); -INSERT INTO product_slots VALUES(43,147); -INSERT INTO product_slots VALUES(43,148); -INSERT INTO product_slots VALUES(43,149); -INSERT INTO product_slots VALUES(43,150); -INSERT INTO product_slots VALUES(43,151); -INSERT INTO product_slots VALUES(43,152); -INSERT INTO product_slots VALUES(43,153); -INSERT INTO product_slots VALUES(43,154); -INSERT INTO product_slots VALUES(43,155); -INSERT INTO product_slots VALUES(43,156); -INSERT INTO product_slots VALUES(43,157); -INSERT INTO product_slots VALUES(43,158); -INSERT INTO product_slots VALUES(43,159); -INSERT INTO product_slots VALUES(43,160); -INSERT INTO product_slots VALUES(43,161); -INSERT INTO product_slots VALUES(43,162); -INSERT INTO product_slots VALUES(43,163); -INSERT INTO product_slots VALUES(43,164); -INSERT INTO product_slots VALUES(43,165); -INSERT INTO product_slots VALUES(43,166); -INSERT INTO product_slots VALUES(43,167); -INSERT INTO product_slots VALUES(43,168); -INSERT INTO product_slots VALUES(43,169); -INSERT INTO product_slots VALUES(43,170); -INSERT INTO product_slots VALUES(43,171); -INSERT INTO product_slots VALUES(43,172); -INSERT INTO product_slots VALUES(43,173); -INSERT INTO product_slots VALUES(43,174); -INSERT INTO product_slots VALUES(43,175); -INSERT INTO product_slots VALUES(43,176); -INSERT INTO product_slots VALUES(43,177); -INSERT INTO product_slots VALUES(43,178); -INSERT INTO product_slots VALUES(43,179); -INSERT INTO product_slots VALUES(43,180); -INSERT INTO product_slots VALUES(43,181); -INSERT INTO product_slots VALUES(43,182); -INSERT INTO product_slots VALUES(43,183); -INSERT INTO product_slots VALUES(43,184); -INSERT INTO product_slots VALUES(43,185); -INSERT INTO product_slots VALUES(43,186); -INSERT INTO product_slots VALUES(43,187); -INSERT INTO product_slots VALUES(43,188); -INSERT INTO product_slots VALUES(43,189); -INSERT INTO product_slots VALUES(43,190); -INSERT INTO product_slots VALUES(43,191); -INSERT INTO product_slots VALUES(43,192); -INSERT INTO product_slots VALUES(43,193); -INSERT INTO product_slots VALUES(43,194); -INSERT INTO product_slots VALUES(43,195); -INSERT INTO product_slots VALUES(43,196); -INSERT INTO product_slots VALUES(43,197); -INSERT INTO product_slots VALUES(43,198); -INSERT INTO product_slots VALUES(43,199); -INSERT INTO product_slots VALUES(43,200); -INSERT INTO product_slots VALUES(43,201); -INSERT INTO product_slots VALUES(43,202); -INSERT INTO product_slots VALUES(43,203); -INSERT INTO product_slots VALUES(43,204); -INSERT INTO product_slots VALUES(43,205); -INSERT INTO product_slots VALUES(43,206); -INSERT INTO product_slots VALUES(43,207); -INSERT INTO product_slots VALUES(43,208); -INSERT INTO product_slots VALUES(43,209); -INSERT INTO product_slots VALUES(43,210); -INSERT INTO product_slots VALUES(43,211); -INSERT INTO product_slots VALUES(43,212); -INSERT INTO product_slots VALUES(43,213); -INSERT INTO product_slots VALUES(43,214); -INSERT INTO product_slots VALUES(43,215); -INSERT INTO product_slots VALUES(43,216); -INSERT INTO product_slots VALUES(43,217); -INSERT INTO product_slots VALUES(43,218); -INSERT INTO product_slots VALUES(43,219); -INSERT INTO product_slots VALUES(43,220); -INSERT INTO product_slots VALUES(43,221); -INSERT INTO product_slots VALUES(43,222); -INSERT INTO product_slots VALUES(43,223); -INSERT INTO product_slots VALUES(43,224); -INSERT INTO product_slots VALUES(43,225); -INSERT INTO product_slots VALUES(43,226); -INSERT INTO product_slots VALUES(43,227); -INSERT INTO product_slots VALUES(43,228); -INSERT INTO product_slots VALUES(43,229); -INSERT INTO product_slots VALUES(43,230); -INSERT INTO product_slots VALUES(43,231); -INSERT INTO product_slots VALUES(43,232); -INSERT INTO product_slots VALUES(43,233); -INSERT INTO product_slots VALUES(43,234); -INSERT INTO product_slots VALUES(43,235); -INSERT INTO product_slots VALUES(43,236); -INSERT INTO product_slots VALUES(43,237); -INSERT INTO product_slots VALUES(43,238); -INSERT INTO product_slots VALUES(43,239); -INSERT INTO product_slots VALUES(43,240); -INSERT INTO product_slots VALUES(43,241); -INSERT INTO product_slots VALUES(43,242); -INSERT INTO product_slots VALUES(43,243); -INSERT INTO product_slots VALUES(43,244); -INSERT INTO product_slots VALUES(43,274); -INSERT INTO product_slots VALUES(43,275); -INSERT INTO product_slots VALUES(43,279); -INSERT INTO product_slots VALUES(43,280); -INSERT INTO product_slots VALUES(43,281); -INSERT INTO product_slots VALUES(43,282); -INSERT INTO product_slots VALUES(43,283); -INSERT INTO product_slots VALUES(43,284); -INSERT INTO product_slots VALUES(43,285); -INSERT INTO product_slots VALUES(43,286); -INSERT INTO product_slots VALUES(43,287); -INSERT INTO product_slots VALUES(44,39); -INSERT INTO product_slots VALUES(44,40); -INSERT INTO product_slots VALUES(44,43); -INSERT INTO product_slots VALUES(44,45); -INSERT INTO product_slots VALUES(44,46); -INSERT INTO product_slots VALUES(44,48); -INSERT INTO product_slots VALUES(44,49); -INSERT INTO product_slots VALUES(44,51); -INSERT INTO product_slots VALUES(44,52); -INSERT INTO product_slots VALUES(44,53); -INSERT INTO product_slots VALUES(44,54); -INSERT INTO product_slots VALUES(44,57); -INSERT INTO product_slots VALUES(44,58); -INSERT INTO product_slots VALUES(44,59); -INSERT INTO product_slots VALUES(44,60); -INSERT INTO product_slots VALUES(44,61); -INSERT INTO product_slots VALUES(44,62); -INSERT INTO product_slots VALUES(44,63); -INSERT INTO product_slots VALUES(44,64); -INSERT INTO product_slots VALUES(44,65); -INSERT INTO product_slots VALUES(44,66); -INSERT INTO product_slots VALUES(44,67); -INSERT INTO product_slots VALUES(44,68); -INSERT INTO product_slots VALUES(44,69); -INSERT INTO product_slots VALUES(44,70); -INSERT INTO product_slots VALUES(44,71); -INSERT INTO product_slots VALUES(44,72); -INSERT INTO product_slots VALUES(44,73); -INSERT INTO product_slots VALUES(44,74); -INSERT INTO product_slots VALUES(44,75); -INSERT INTO product_slots VALUES(44,76); -INSERT INTO product_slots VALUES(44,77); -INSERT INTO product_slots VALUES(44,78); -INSERT INTO product_slots VALUES(44,79); -INSERT INTO product_slots VALUES(44,80); -INSERT INTO product_slots VALUES(44,81); -INSERT INTO product_slots VALUES(44,82); -INSERT INTO product_slots VALUES(44,83); -INSERT INTO product_slots VALUES(44,84); -INSERT INTO product_slots VALUES(44,85); -INSERT INTO product_slots VALUES(44,86); -INSERT INTO product_slots VALUES(44,87); -INSERT INTO product_slots VALUES(44,88); -INSERT INTO product_slots VALUES(44,89); -INSERT INTO product_slots VALUES(44,90); -INSERT INTO product_slots VALUES(44,91); -INSERT INTO product_slots VALUES(44,92); -INSERT INTO product_slots VALUES(44,93); -INSERT INTO product_slots VALUES(44,94); -INSERT INTO product_slots VALUES(44,95); -INSERT INTO product_slots VALUES(44,96); -INSERT INTO product_slots VALUES(44,97); -INSERT INTO product_slots VALUES(44,98); -INSERT INTO product_slots VALUES(44,99); -INSERT INTO product_slots VALUES(44,100); -INSERT INTO product_slots VALUES(44,102); -INSERT INTO product_slots VALUES(44,103); -INSERT INTO product_slots VALUES(44,104); -INSERT INTO product_slots VALUES(44,105); -INSERT INTO product_slots VALUES(44,106); -INSERT INTO product_slots VALUES(44,107); -INSERT INTO product_slots VALUES(44,108); -INSERT INTO product_slots VALUES(44,109); -INSERT INTO product_slots VALUES(44,110); -INSERT INTO product_slots VALUES(44,111); -INSERT INTO product_slots VALUES(44,112); -INSERT INTO product_slots VALUES(44,113); -INSERT INTO product_slots VALUES(44,114); -INSERT INTO product_slots VALUES(44,115); -INSERT INTO product_slots VALUES(44,117); -INSERT INTO product_slots VALUES(44,118); -INSERT INTO product_slots VALUES(44,119); -INSERT INTO product_slots VALUES(44,120); -INSERT INTO product_slots VALUES(44,121); -INSERT INTO product_slots VALUES(44,122); -INSERT INTO product_slots VALUES(44,123); -INSERT INTO product_slots VALUES(44,124); -INSERT INTO product_slots VALUES(44,125); -INSERT INTO product_slots VALUES(44,126); -INSERT INTO product_slots VALUES(44,127); -INSERT INTO product_slots VALUES(44,128); -INSERT INTO product_slots VALUES(44,129); -INSERT INTO product_slots VALUES(44,130); -INSERT INTO product_slots VALUES(44,131); -INSERT INTO product_slots VALUES(44,132); -INSERT INTO product_slots VALUES(44,133); -INSERT INTO product_slots VALUES(44,134); -INSERT INTO product_slots VALUES(44,135); -INSERT INTO product_slots VALUES(44,136); -INSERT INTO product_slots VALUES(44,138); -INSERT INTO product_slots VALUES(44,139); -INSERT INTO product_slots VALUES(44,140); -INSERT INTO product_slots VALUES(44,141); -INSERT INTO product_slots VALUES(44,142); -INSERT INTO product_slots VALUES(44,143); -INSERT INTO product_slots VALUES(44,145); -INSERT INTO product_slots VALUES(44,146); -INSERT INTO product_slots VALUES(44,147); -INSERT INTO product_slots VALUES(44,148); -INSERT INTO product_slots VALUES(44,149); -INSERT INTO product_slots VALUES(44,150); -INSERT INTO product_slots VALUES(44,151); -INSERT INTO product_slots VALUES(44,152); -INSERT INTO product_slots VALUES(44,153); -INSERT INTO product_slots VALUES(44,154); -INSERT INTO product_slots VALUES(44,155); -INSERT INTO product_slots VALUES(44,156); -INSERT INTO product_slots VALUES(44,157); -INSERT INTO product_slots VALUES(44,158); -INSERT INTO product_slots VALUES(44,159); -INSERT INTO product_slots VALUES(44,160); -INSERT INTO product_slots VALUES(44,161); -INSERT INTO product_slots VALUES(44,162); -INSERT INTO product_slots VALUES(44,163); -INSERT INTO product_slots VALUES(44,164); -INSERT INTO product_slots VALUES(44,165); -INSERT INTO product_slots VALUES(44,166); -INSERT INTO product_slots VALUES(44,167); -INSERT INTO product_slots VALUES(44,168); -INSERT INTO product_slots VALUES(44,169); -INSERT INTO product_slots VALUES(44,170); -INSERT INTO product_slots VALUES(44,171); -INSERT INTO product_slots VALUES(44,172); -INSERT INTO product_slots VALUES(44,173); -INSERT INTO product_slots VALUES(44,174); -INSERT INTO product_slots VALUES(44,175); -INSERT INTO product_slots VALUES(44,176); -INSERT INTO product_slots VALUES(44,177); -INSERT INTO product_slots VALUES(44,178); -INSERT INTO product_slots VALUES(44,179); -INSERT INTO product_slots VALUES(44,180); -INSERT INTO product_slots VALUES(44,181); -INSERT INTO product_slots VALUES(44,182); -INSERT INTO product_slots VALUES(44,183); -INSERT INTO product_slots VALUES(44,184); -INSERT INTO product_slots VALUES(44,185); -INSERT INTO product_slots VALUES(44,186); -INSERT INTO product_slots VALUES(44,187); -INSERT INTO product_slots VALUES(44,188); -INSERT INTO product_slots VALUES(44,189); -INSERT INTO product_slots VALUES(44,190); -INSERT INTO product_slots VALUES(44,191); -INSERT INTO product_slots VALUES(44,192); -INSERT INTO product_slots VALUES(44,193); -INSERT INTO product_slots VALUES(44,194); -INSERT INTO product_slots VALUES(44,195); -INSERT INTO product_slots VALUES(44,196); -INSERT INTO product_slots VALUES(44,197); -INSERT INTO product_slots VALUES(44,198); -INSERT INTO product_slots VALUES(44,199); -INSERT INTO product_slots VALUES(44,200); -INSERT INTO product_slots VALUES(44,201); -INSERT INTO product_slots VALUES(44,202); -INSERT INTO product_slots VALUES(44,203); -INSERT INTO product_slots VALUES(44,204); -INSERT INTO product_slots VALUES(44,205); -INSERT INTO product_slots VALUES(44,206); -INSERT INTO product_slots VALUES(44,207); -INSERT INTO product_slots VALUES(44,208); -INSERT INTO product_slots VALUES(44,209); -INSERT INTO product_slots VALUES(44,210); -INSERT INTO product_slots VALUES(44,211); -INSERT INTO product_slots VALUES(44,212); -INSERT INTO product_slots VALUES(44,213); -INSERT INTO product_slots VALUES(44,214); -INSERT INTO product_slots VALUES(44,215); -INSERT INTO product_slots VALUES(44,216); -INSERT INTO product_slots VALUES(44,217); -INSERT INTO product_slots VALUES(44,218); -INSERT INTO product_slots VALUES(44,219); -INSERT INTO product_slots VALUES(44,220); -INSERT INTO product_slots VALUES(44,221); -INSERT INTO product_slots VALUES(44,222); -INSERT INTO product_slots VALUES(44,223); -INSERT INTO product_slots VALUES(44,224); -INSERT INTO product_slots VALUES(44,225); -INSERT INTO product_slots VALUES(44,226); -INSERT INTO product_slots VALUES(44,227); -INSERT INTO product_slots VALUES(44,228); -INSERT INTO product_slots VALUES(44,229); -INSERT INTO product_slots VALUES(44,230); -INSERT INTO product_slots VALUES(44,231); -INSERT INTO product_slots VALUES(44,232); -INSERT INTO product_slots VALUES(44,233); -INSERT INTO product_slots VALUES(44,234); -INSERT INTO product_slots VALUES(44,235); -INSERT INTO product_slots VALUES(44,236); -INSERT INTO product_slots VALUES(44,237); -INSERT INTO product_slots VALUES(44,238); -INSERT INTO product_slots VALUES(44,239); -INSERT INTO product_slots VALUES(44,240); -INSERT INTO product_slots VALUES(44,241); -INSERT INTO product_slots VALUES(44,242); -INSERT INTO product_slots VALUES(44,243); -INSERT INTO product_slots VALUES(44,244); -INSERT INTO product_slots VALUES(44,274); -INSERT INTO product_slots VALUES(44,275); -INSERT INTO product_slots VALUES(44,279); -INSERT INTO product_slots VALUES(44,280); -INSERT INTO product_slots VALUES(44,281); -INSERT INTO product_slots VALUES(44,282); -INSERT INTO product_slots VALUES(44,283); -INSERT INTO product_slots VALUES(44,284); -INSERT INTO product_slots VALUES(44,285); -INSERT INTO product_slots VALUES(44,286); -INSERT INTO product_slots VALUES(44,287); -INSERT INTO product_slots VALUES(45,39); -INSERT INTO product_slots VALUES(45,41); -INSERT INTO product_slots VALUES(45,43); -INSERT INTO product_slots VALUES(45,44); -INSERT INTO product_slots VALUES(45,45); -INSERT INTO product_slots VALUES(45,46); -INSERT INTO product_slots VALUES(45,47); -INSERT INTO product_slots VALUES(45,48); -INSERT INTO product_slots VALUES(45,49); -INSERT INTO product_slots VALUES(45,50); -INSERT INTO product_slots VALUES(45,51); -INSERT INTO product_slots VALUES(45,52); -INSERT INTO product_slots VALUES(45,53); -INSERT INTO product_slots VALUES(45,54); -INSERT INTO product_slots VALUES(45,55); -INSERT INTO product_slots VALUES(45,56); -INSERT INTO product_slots VALUES(45,57); -INSERT INTO product_slots VALUES(45,58); -INSERT INTO product_slots VALUES(45,59); -INSERT INTO product_slots VALUES(45,60); -INSERT INTO product_slots VALUES(45,61); -INSERT INTO product_slots VALUES(45,62); -INSERT INTO product_slots VALUES(45,63); -INSERT INTO product_slots VALUES(45,64); -INSERT INTO product_slots VALUES(45,65); -INSERT INTO product_slots VALUES(45,66); -INSERT INTO product_slots VALUES(45,67); -INSERT INTO product_slots VALUES(45,68); -INSERT INTO product_slots VALUES(45,69); -INSERT INTO product_slots VALUES(45,70); -INSERT INTO product_slots VALUES(45,71); -INSERT INTO product_slots VALUES(45,72); -INSERT INTO product_slots VALUES(45,73); -INSERT INTO product_slots VALUES(45,74); -INSERT INTO product_slots VALUES(45,75); -INSERT INTO product_slots VALUES(45,76); -INSERT INTO product_slots VALUES(45,77); -INSERT INTO product_slots VALUES(45,78); -INSERT INTO product_slots VALUES(45,79); -INSERT INTO product_slots VALUES(45,80); -INSERT INTO product_slots VALUES(45,81); -INSERT INTO product_slots VALUES(45,82); -INSERT INTO product_slots VALUES(45,83); -INSERT INTO product_slots VALUES(45,84); -INSERT INTO product_slots VALUES(45,85); -INSERT INTO product_slots VALUES(45,86); -INSERT INTO product_slots VALUES(45,87); -INSERT INTO product_slots VALUES(45,88); -INSERT INTO product_slots VALUES(45,89); -INSERT INTO product_slots VALUES(45,90); -INSERT INTO product_slots VALUES(45,91); -INSERT INTO product_slots VALUES(45,92); -INSERT INTO product_slots VALUES(45,93); -INSERT INTO product_slots VALUES(45,94); -INSERT INTO product_slots VALUES(45,95); -INSERT INTO product_slots VALUES(45,96); -INSERT INTO product_slots VALUES(45,97); -INSERT INTO product_slots VALUES(45,98); -INSERT INTO product_slots VALUES(45,99); -INSERT INTO product_slots VALUES(45,100); -INSERT INTO product_slots VALUES(45,101); -INSERT INTO product_slots VALUES(45,102); -INSERT INTO product_slots VALUES(45,103); -INSERT INTO product_slots VALUES(45,104); -INSERT INTO product_slots VALUES(45,105); -INSERT INTO product_slots VALUES(45,106); -INSERT INTO product_slots VALUES(45,107); -INSERT INTO product_slots VALUES(45,108); -INSERT INTO product_slots VALUES(45,109); -INSERT INTO product_slots VALUES(45,110); -INSERT INTO product_slots VALUES(45,111); -INSERT INTO product_slots VALUES(45,112); -INSERT INTO product_slots VALUES(45,113); -INSERT INTO product_slots VALUES(45,114); -INSERT INTO product_slots VALUES(45,115); -INSERT INTO product_slots VALUES(45,116); -INSERT INTO product_slots VALUES(45,117); -INSERT INTO product_slots VALUES(45,118); -INSERT INTO product_slots VALUES(45,119); -INSERT INTO product_slots VALUES(45,120); -INSERT INTO product_slots VALUES(45,121); -INSERT INTO product_slots VALUES(45,122); -INSERT INTO product_slots VALUES(45,123); -INSERT INTO product_slots VALUES(45,124); -INSERT INTO product_slots VALUES(45,125); -INSERT INTO product_slots VALUES(45,126); -INSERT INTO product_slots VALUES(45,127); -INSERT INTO product_slots VALUES(45,128); -INSERT INTO product_slots VALUES(45,129); -INSERT INTO product_slots VALUES(45,130); -INSERT INTO product_slots VALUES(45,131); -INSERT INTO product_slots VALUES(45,132); -INSERT INTO product_slots VALUES(45,133); -INSERT INTO product_slots VALUES(45,134); -INSERT INTO product_slots VALUES(45,135); -INSERT INTO product_slots VALUES(45,136); -INSERT INTO product_slots VALUES(45,137); -INSERT INTO product_slots VALUES(45,138); -INSERT INTO product_slots VALUES(45,139); -INSERT INTO product_slots VALUES(45,140); -INSERT INTO product_slots VALUES(45,141); -INSERT INTO product_slots VALUES(45,142); -INSERT INTO product_slots VALUES(45,143); -INSERT INTO product_slots VALUES(45,144); -INSERT INTO product_slots VALUES(45,145); -INSERT INTO product_slots VALUES(45,146); -INSERT INTO product_slots VALUES(45,147); -INSERT INTO product_slots VALUES(45,148); -INSERT INTO product_slots VALUES(45,149); -INSERT INTO product_slots VALUES(45,150); -INSERT INTO product_slots VALUES(45,151); -INSERT INTO product_slots VALUES(45,152); -INSERT INTO product_slots VALUES(45,153); -INSERT INTO product_slots VALUES(45,154); -INSERT INTO product_slots VALUES(45,155); -INSERT INTO product_slots VALUES(45,156); -INSERT INTO product_slots VALUES(45,157); -INSERT INTO product_slots VALUES(45,158); -INSERT INTO product_slots VALUES(45,159); -INSERT INTO product_slots VALUES(45,160); -INSERT INTO product_slots VALUES(45,161); -INSERT INTO product_slots VALUES(45,162); -INSERT INTO product_slots VALUES(45,163); -INSERT INTO product_slots VALUES(45,164); -INSERT INTO product_slots VALUES(45,165); -INSERT INTO product_slots VALUES(45,166); -INSERT INTO product_slots VALUES(45,167); -INSERT INTO product_slots VALUES(45,168); -INSERT INTO product_slots VALUES(45,169); -INSERT INTO product_slots VALUES(45,170); -INSERT INTO product_slots VALUES(45,171); -INSERT INTO product_slots VALUES(45,172); -INSERT INTO product_slots VALUES(45,173); -INSERT INTO product_slots VALUES(45,174); -INSERT INTO product_slots VALUES(45,175); -INSERT INTO product_slots VALUES(45,176); -INSERT INTO product_slots VALUES(45,177); -INSERT INTO product_slots VALUES(45,178); -INSERT INTO product_slots VALUES(45,179); -INSERT INTO product_slots VALUES(45,180); -INSERT INTO product_slots VALUES(45,181); -INSERT INTO product_slots VALUES(45,182); -INSERT INTO product_slots VALUES(45,183); -INSERT INTO product_slots VALUES(45,184); -INSERT INTO product_slots VALUES(45,185); -INSERT INTO product_slots VALUES(45,186); -INSERT INTO product_slots VALUES(45,187); -INSERT INTO product_slots VALUES(45,188); -INSERT INTO product_slots VALUES(45,189); -INSERT INTO product_slots VALUES(45,190); -INSERT INTO product_slots VALUES(45,191); -INSERT INTO product_slots VALUES(45,192); -INSERT INTO product_slots VALUES(45,193); -INSERT INTO product_slots VALUES(45,194); -INSERT INTO product_slots VALUES(45,195); -INSERT INTO product_slots VALUES(45,196); -INSERT INTO product_slots VALUES(45,197); -INSERT INTO product_slots VALUES(45,198); -INSERT INTO product_slots VALUES(45,199); -INSERT INTO product_slots VALUES(45,200); -INSERT INTO product_slots VALUES(45,201); -INSERT INTO product_slots VALUES(45,202); -INSERT INTO product_slots VALUES(45,203); -INSERT INTO product_slots VALUES(45,204); -INSERT INTO product_slots VALUES(45,205); -INSERT INTO product_slots VALUES(45,206); -INSERT INTO product_slots VALUES(45,207); -INSERT INTO product_slots VALUES(45,208); -INSERT INTO product_slots VALUES(45,209); -INSERT INTO product_slots VALUES(45,210); -INSERT INTO product_slots VALUES(45,211); -INSERT INTO product_slots VALUES(45,212); -INSERT INTO product_slots VALUES(45,213); -INSERT INTO product_slots VALUES(45,214); -INSERT INTO product_slots VALUES(45,215); -INSERT INTO product_slots VALUES(45,216); -INSERT INTO product_slots VALUES(45,217); -INSERT INTO product_slots VALUES(45,218); -INSERT INTO product_slots VALUES(45,219); -INSERT INTO product_slots VALUES(45,220); -INSERT INTO product_slots VALUES(45,221); -INSERT INTO product_slots VALUES(45,222); -INSERT INTO product_slots VALUES(45,223); -INSERT INTO product_slots VALUES(45,224); -INSERT INTO product_slots VALUES(45,225); -INSERT INTO product_slots VALUES(45,226); -INSERT INTO product_slots VALUES(45,227); -INSERT INTO product_slots VALUES(45,228); -INSERT INTO product_slots VALUES(45,229); -INSERT INTO product_slots VALUES(45,230); -INSERT INTO product_slots VALUES(45,231); -INSERT INTO product_slots VALUES(45,232); -INSERT INTO product_slots VALUES(45,233); -INSERT INTO product_slots VALUES(45,234); -INSERT INTO product_slots VALUES(45,235); -INSERT INTO product_slots VALUES(45,236); -INSERT INTO product_slots VALUES(45,237); -INSERT INTO product_slots VALUES(45,238); -INSERT INTO product_slots VALUES(45,239); -INSERT INTO product_slots VALUES(45,240); -INSERT INTO product_slots VALUES(45,241); -INSERT INTO product_slots VALUES(45,242); -INSERT INTO product_slots VALUES(45,243); -INSERT INTO product_slots VALUES(45,244); -INSERT INTO product_slots VALUES(45,274); -INSERT INTO product_slots VALUES(45,275); -INSERT INTO product_slots VALUES(45,279); -INSERT INTO product_slots VALUES(45,280); -INSERT INTO product_slots VALUES(45,281); -INSERT INTO product_slots VALUES(45,282); -INSERT INTO product_slots VALUES(45,283); -INSERT INTO product_slots VALUES(45,284); -INSERT INTO product_slots VALUES(45,285); -INSERT INTO product_slots VALUES(45,286); -INSERT INTO product_slots VALUES(45,287); -INSERT INTO product_slots VALUES(46,39); -INSERT INTO product_slots VALUES(46,40); -INSERT INTO product_slots VALUES(46,43); -INSERT INTO product_slots VALUES(46,45); -INSERT INTO product_slots VALUES(46,46); -INSERT INTO product_slots VALUES(46,48); -INSERT INTO product_slots VALUES(46,49); -INSERT INTO product_slots VALUES(46,51); -INSERT INTO product_slots VALUES(46,52); -INSERT INTO product_slots VALUES(46,53); -INSERT INTO product_slots VALUES(46,54); -INSERT INTO product_slots VALUES(46,57); -INSERT INTO product_slots VALUES(46,58); -INSERT INTO product_slots VALUES(46,59); -INSERT INTO product_slots VALUES(46,60); -INSERT INTO product_slots VALUES(46,61); -INSERT INTO product_slots VALUES(46,62); -INSERT INTO product_slots VALUES(46,63); -INSERT INTO product_slots VALUES(46,64); -INSERT INTO product_slots VALUES(46,65); -INSERT INTO product_slots VALUES(46,66); -INSERT INTO product_slots VALUES(46,67); -INSERT INTO product_slots VALUES(46,68); -INSERT INTO product_slots VALUES(46,69); -INSERT INTO product_slots VALUES(46,70); -INSERT INTO product_slots VALUES(46,71); -INSERT INTO product_slots VALUES(46,72); -INSERT INTO product_slots VALUES(46,73); -INSERT INTO product_slots VALUES(46,74); -INSERT INTO product_slots VALUES(46,75); -INSERT INTO product_slots VALUES(46,76); -INSERT INTO product_slots VALUES(46,77); -INSERT INTO product_slots VALUES(46,78); -INSERT INTO product_slots VALUES(46,79); -INSERT INTO product_slots VALUES(46,80); -INSERT INTO product_slots VALUES(46,81); -INSERT INTO product_slots VALUES(46,82); -INSERT INTO product_slots VALUES(46,83); -INSERT INTO product_slots VALUES(46,84); -INSERT INTO product_slots VALUES(46,85); -INSERT INTO product_slots VALUES(46,86); -INSERT INTO product_slots VALUES(46,87); -INSERT INTO product_slots VALUES(46,88); -INSERT INTO product_slots VALUES(46,89); -INSERT INTO product_slots VALUES(46,90); -INSERT INTO product_slots VALUES(46,91); -INSERT INTO product_slots VALUES(46,92); -INSERT INTO product_slots VALUES(46,93); -INSERT INTO product_slots VALUES(46,94); -INSERT INTO product_slots VALUES(46,95); -INSERT INTO product_slots VALUES(46,96); -INSERT INTO product_slots VALUES(46,97); -INSERT INTO product_slots VALUES(46,98); -INSERT INTO product_slots VALUES(46,99); -INSERT INTO product_slots VALUES(46,100); -INSERT INTO product_slots VALUES(46,102); -INSERT INTO product_slots VALUES(46,103); -INSERT INTO product_slots VALUES(46,104); -INSERT INTO product_slots VALUES(46,105); -INSERT INTO product_slots VALUES(46,106); -INSERT INTO product_slots VALUES(46,107); -INSERT INTO product_slots VALUES(46,108); -INSERT INTO product_slots VALUES(46,109); -INSERT INTO product_slots VALUES(46,110); -INSERT INTO product_slots VALUES(46,111); -INSERT INTO product_slots VALUES(46,112); -INSERT INTO product_slots VALUES(46,113); -INSERT INTO product_slots VALUES(46,114); -INSERT INTO product_slots VALUES(46,115); -INSERT INTO product_slots VALUES(46,117); -INSERT INTO product_slots VALUES(46,118); -INSERT INTO product_slots VALUES(46,119); -INSERT INTO product_slots VALUES(46,120); -INSERT INTO product_slots VALUES(46,121); -INSERT INTO product_slots VALUES(46,122); -INSERT INTO product_slots VALUES(46,123); -INSERT INTO product_slots VALUES(46,124); -INSERT INTO product_slots VALUES(46,125); -INSERT INTO product_slots VALUES(46,126); -INSERT INTO product_slots VALUES(46,127); -INSERT INTO product_slots VALUES(46,128); -INSERT INTO product_slots VALUES(46,129); -INSERT INTO product_slots VALUES(46,130); -INSERT INTO product_slots VALUES(46,131); -INSERT INTO product_slots VALUES(46,132); -INSERT INTO product_slots VALUES(46,133); -INSERT INTO product_slots VALUES(46,134); -INSERT INTO product_slots VALUES(46,135); -INSERT INTO product_slots VALUES(46,136); -INSERT INTO product_slots VALUES(46,138); -INSERT INTO product_slots VALUES(46,139); -INSERT INTO product_slots VALUES(46,140); -INSERT INTO product_slots VALUES(46,141); -INSERT INTO product_slots VALUES(46,142); -INSERT INTO product_slots VALUES(46,143); -INSERT INTO product_slots VALUES(46,145); -INSERT INTO product_slots VALUES(46,146); -INSERT INTO product_slots VALUES(46,147); -INSERT INTO product_slots VALUES(46,148); -INSERT INTO product_slots VALUES(46,149); -INSERT INTO product_slots VALUES(46,150); -INSERT INTO product_slots VALUES(46,151); -INSERT INTO product_slots VALUES(46,152); -INSERT INTO product_slots VALUES(46,153); -INSERT INTO product_slots VALUES(46,154); -INSERT INTO product_slots VALUES(46,155); -INSERT INTO product_slots VALUES(46,156); -INSERT INTO product_slots VALUES(46,157); -INSERT INTO product_slots VALUES(46,158); -INSERT INTO product_slots VALUES(46,159); -INSERT INTO product_slots VALUES(46,160); -INSERT INTO product_slots VALUES(46,161); -INSERT INTO product_slots VALUES(46,162); -INSERT INTO product_slots VALUES(46,163); -INSERT INTO product_slots VALUES(46,164); -INSERT INTO product_slots VALUES(46,165); -INSERT INTO product_slots VALUES(46,166); -INSERT INTO product_slots VALUES(46,167); -INSERT INTO product_slots VALUES(46,168); -INSERT INTO product_slots VALUES(46,169); -INSERT INTO product_slots VALUES(46,170); -INSERT INTO product_slots VALUES(46,171); -INSERT INTO product_slots VALUES(46,172); -INSERT INTO product_slots VALUES(46,173); -INSERT INTO product_slots VALUES(46,174); -INSERT INTO product_slots VALUES(46,175); -INSERT INTO product_slots VALUES(46,176); -INSERT INTO product_slots VALUES(46,177); -INSERT INTO product_slots VALUES(46,178); -INSERT INTO product_slots VALUES(46,179); -INSERT INTO product_slots VALUES(46,180); -INSERT INTO product_slots VALUES(46,181); -INSERT INTO product_slots VALUES(46,182); -INSERT INTO product_slots VALUES(46,183); -INSERT INTO product_slots VALUES(46,184); -INSERT INTO product_slots VALUES(46,185); -INSERT INTO product_slots VALUES(46,186); -INSERT INTO product_slots VALUES(46,187); -INSERT INTO product_slots VALUES(46,188); -INSERT INTO product_slots VALUES(46,189); -INSERT INTO product_slots VALUES(46,190); -INSERT INTO product_slots VALUES(46,191); -INSERT INTO product_slots VALUES(46,192); -INSERT INTO product_slots VALUES(46,193); -INSERT INTO product_slots VALUES(46,194); -INSERT INTO product_slots VALUES(46,195); -INSERT INTO product_slots VALUES(46,196); -INSERT INTO product_slots VALUES(46,197); -INSERT INTO product_slots VALUES(46,198); -INSERT INTO product_slots VALUES(46,199); -INSERT INTO product_slots VALUES(46,200); -INSERT INTO product_slots VALUES(46,201); -INSERT INTO product_slots VALUES(46,202); -INSERT INTO product_slots VALUES(46,203); -INSERT INTO product_slots VALUES(46,204); -INSERT INTO product_slots VALUES(46,205); -INSERT INTO product_slots VALUES(46,206); -INSERT INTO product_slots VALUES(46,207); -INSERT INTO product_slots VALUES(46,208); -INSERT INTO product_slots VALUES(46,209); -INSERT INTO product_slots VALUES(46,210); -INSERT INTO product_slots VALUES(46,211); -INSERT INTO product_slots VALUES(46,212); -INSERT INTO product_slots VALUES(46,213); -INSERT INTO product_slots VALUES(46,214); -INSERT INTO product_slots VALUES(46,215); -INSERT INTO product_slots VALUES(46,216); -INSERT INTO product_slots VALUES(46,217); -INSERT INTO product_slots VALUES(46,218); -INSERT INTO product_slots VALUES(46,219); -INSERT INTO product_slots VALUES(46,220); -INSERT INTO product_slots VALUES(46,221); -INSERT INTO product_slots VALUES(46,222); -INSERT INTO product_slots VALUES(46,223); -INSERT INTO product_slots VALUES(46,224); -INSERT INTO product_slots VALUES(46,225); -INSERT INTO product_slots VALUES(46,226); -INSERT INTO product_slots VALUES(46,227); -INSERT INTO product_slots VALUES(46,228); -INSERT INTO product_slots VALUES(46,229); -INSERT INTO product_slots VALUES(46,230); -INSERT INTO product_slots VALUES(46,231); -INSERT INTO product_slots VALUES(46,232); -INSERT INTO product_slots VALUES(46,233); -INSERT INTO product_slots VALUES(46,234); -INSERT INTO product_slots VALUES(46,235); -INSERT INTO product_slots VALUES(46,236); -INSERT INTO product_slots VALUES(46,237); -INSERT INTO product_slots VALUES(46,238); -INSERT INTO product_slots VALUES(46,239); -INSERT INTO product_slots VALUES(46,240); -INSERT INTO product_slots VALUES(46,241); -INSERT INTO product_slots VALUES(46,242); -INSERT INTO product_slots VALUES(46,243); -INSERT INTO product_slots VALUES(46,244); -INSERT INTO product_slots VALUES(46,274); -INSERT INTO product_slots VALUES(46,275); -INSERT INTO product_slots VALUES(46,279); -INSERT INTO product_slots VALUES(46,280); -INSERT INTO product_slots VALUES(46,281); -INSERT INTO product_slots VALUES(46,282); -INSERT INTO product_slots VALUES(46,283); -INSERT INTO product_slots VALUES(46,284); -INSERT INTO product_slots VALUES(46,285); -INSERT INTO product_slots VALUES(46,286); -INSERT INTO product_slots VALUES(46,287); -INSERT INTO product_slots VALUES(47,39); -INSERT INTO product_slots VALUES(47,40); -INSERT INTO product_slots VALUES(47,43); -INSERT INTO product_slots VALUES(47,45); -INSERT INTO product_slots VALUES(47,46); -INSERT INTO product_slots VALUES(47,48); -INSERT INTO product_slots VALUES(47,49); -INSERT INTO product_slots VALUES(47,51); -INSERT INTO product_slots VALUES(47,52); -INSERT INTO product_slots VALUES(47,53); -INSERT INTO product_slots VALUES(47,54); -INSERT INTO product_slots VALUES(47,57); -INSERT INTO product_slots VALUES(47,58); -INSERT INTO product_slots VALUES(47,59); -INSERT INTO product_slots VALUES(47,60); -INSERT INTO product_slots VALUES(47,61); -INSERT INTO product_slots VALUES(47,62); -INSERT INTO product_slots VALUES(47,63); -INSERT INTO product_slots VALUES(47,64); -INSERT INTO product_slots VALUES(47,65); -INSERT INTO product_slots VALUES(47,66); -INSERT INTO product_slots VALUES(47,67); -INSERT INTO product_slots VALUES(47,68); -INSERT INTO product_slots VALUES(47,69); -INSERT INTO product_slots VALUES(47,70); -INSERT INTO product_slots VALUES(47,71); -INSERT INTO product_slots VALUES(47,72); -INSERT INTO product_slots VALUES(47,73); -INSERT INTO product_slots VALUES(47,74); -INSERT INTO product_slots VALUES(47,75); -INSERT INTO product_slots VALUES(47,76); -INSERT INTO product_slots VALUES(47,77); -INSERT INTO product_slots VALUES(47,78); -INSERT INTO product_slots VALUES(47,79); -INSERT INTO product_slots VALUES(47,80); -INSERT INTO product_slots VALUES(47,81); -INSERT INTO product_slots VALUES(47,82); -INSERT INTO product_slots VALUES(47,83); -INSERT INTO product_slots VALUES(47,84); -INSERT INTO product_slots VALUES(47,85); -INSERT INTO product_slots VALUES(47,86); -INSERT INTO product_slots VALUES(47,87); -INSERT INTO product_slots VALUES(47,88); -INSERT INTO product_slots VALUES(47,89); -INSERT INTO product_slots VALUES(47,90); -INSERT INTO product_slots VALUES(47,91); -INSERT INTO product_slots VALUES(47,92); -INSERT INTO product_slots VALUES(47,93); -INSERT INTO product_slots VALUES(47,94); -INSERT INTO product_slots VALUES(47,95); -INSERT INTO product_slots VALUES(47,96); -INSERT INTO product_slots VALUES(47,97); -INSERT INTO product_slots VALUES(47,98); -INSERT INTO product_slots VALUES(47,99); -INSERT INTO product_slots VALUES(47,100); -INSERT INTO product_slots VALUES(47,102); -INSERT INTO product_slots VALUES(47,103); -INSERT INTO product_slots VALUES(47,104); -INSERT INTO product_slots VALUES(47,105); -INSERT INTO product_slots VALUES(47,106); -INSERT INTO product_slots VALUES(47,107); -INSERT INTO product_slots VALUES(47,108); -INSERT INTO product_slots VALUES(47,109); -INSERT INTO product_slots VALUES(47,110); -INSERT INTO product_slots VALUES(47,111); -INSERT INTO product_slots VALUES(47,112); -INSERT INTO product_slots VALUES(47,113); -INSERT INTO product_slots VALUES(47,114); -INSERT INTO product_slots VALUES(47,115); -INSERT INTO product_slots VALUES(47,117); -INSERT INTO product_slots VALUES(47,118); -INSERT INTO product_slots VALUES(47,119); -INSERT INTO product_slots VALUES(47,120); -INSERT INTO product_slots VALUES(47,121); -INSERT INTO product_slots VALUES(47,122); -INSERT INTO product_slots VALUES(47,123); -INSERT INTO product_slots VALUES(47,124); -INSERT INTO product_slots VALUES(47,125); -INSERT INTO product_slots VALUES(47,126); -INSERT INTO product_slots VALUES(47,127); -INSERT INTO product_slots VALUES(47,128); -INSERT INTO product_slots VALUES(47,129); -INSERT INTO product_slots VALUES(47,130); -INSERT INTO product_slots VALUES(47,131); -INSERT INTO product_slots VALUES(47,132); -INSERT INTO product_slots VALUES(47,133); -INSERT INTO product_slots VALUES(47,134); -INSERT INTO product_slots VALUES(47,135); -INSERT INTO product_slots VALUES(47,136); -INSERT INTO product_slots VALUES(47,138); -INSERT INTO product_slots VALUES(47,139); -INSERT INTO product_slots VALUES(47,140); -INSERT INTO product_slots VALUES(47,141); -INSERT INTO product_slots VALUES(47,142); -INSERT INTO product_slots VALUES(47,143); -INSERT INTO product_slots VALUES(47,145); -INSERT INTO product_slots VALUES(47,146); -INSERT INTO product_slots VALUES(47,147); -INSERT INTO product_slots VALUES(47,148); -INSERT INTO product_slots VALUES(47,149); -INSERT INTO product_slots VALUES(47,150); -INSERT INTO product_slots VALUES(47,151); -INSERT INTO product_slots VALUES(47,152); -INSERT INTO product_slots VALUES(47,153); -INSERT INTO product_slots VALUES(47,154); -INSERT INTO product_slots VALUES(47,155); -INSERT INTO product_slots VALUES(47,156); -INSERT INTO product_slots VALUES(47,157); -INSERT INTO product_slots VALUES(47,158); -INSERT INTO product_slots VALUES(47,159); -INSERT INTO product_slots VALUES(47,160); -INSERT INTO product_slots VALUES(47,161); -INSERT INTO product_slots VALUES(47,162); -INSERT INTO product_slots VALUES(47,163); -INSERT INTO product_slots VALUES(47,164); -INSERT INTO product_slots VALUES(47,165); -INSERT INTO product_slots VALUES(47,166); -INSERT INTO product_slots VALUES(47,167); -INSERT INTO product_slots VALUES(47,168); -INSERT INTO product_slots VALUES(47,169); -INSERT INTO product_slots VALUES(47,170); -INSERT INTO product_slots VALUES(47,171); -INSERT INTO product_slots VALUES(47,172); -INSERT INTO product_slots VALUES(47,173); -INSERT INTO product_slots VALUES(47,174); -INSERT INTO product_slots VALUES(47,175); -INSERT INTO product_slots VALUES(47,176); -INSERT INTO product_slots VALUES(47,177); -INSERT INTO product_slots VALUES(47,178); -INSERT INTO product_slots VALUES(47,179); -INSERT INTO product_slots VALUES(47,180); -INSERT INTO product_slots VALUES(47,181); -INSERT INTO product_slots VALUES(47,182); -INSERT INTO product_slots VALUES(47,183); -INSERT INTO product_slots VALUES(47,184); -INSERT INTO product_slots VALUES(47,185); -INSERT INTO product_slots VALUES(47,186); -INSERT INTO product_slots VALUES(47,187); -INSERT INTO product_slots VALUES(47,188); -INSERT INTO product_slots VALUES(47,189); -INSERT INTO product_slots VALUES(47,190); -INSERT INTO product_slots VALUES(47,191); -INSERT INTO product_slots VALUES(47,192); -INSERT INTO product_slots VALUES(47,193); -INSERT INTO product_slots VALUES(47,194); -INSERT INTO product_slots VALUES(47,195); -INSERT INTO product_slots VALUES(47,196); -INSERT INTO product_slots VALUES(47,197); -INSERT INTO product_slots VALUES(47,198); -INSERT INTO product_slots VALUES(47,199); -INSERT INTO product_slots VALUES(47,200); -INSERT INTO product_slots VALUES(47,201); -INSERT INTO product_slots VALUES(47,202); -INSERT INTO product_slots VALUES(47,203); -INSERT INTO product_slots VALUES(47,204); -INSERT INTO product_slots VALUES(47,205); -INSERT INTO product_slots VALUES(47,206); -INSERT INTO product_slots VALUES(47,207); -INSERT INTO product_slots VALUES(47,208); -INSERT INTO product_slots VALUES(47,209); -INSERT INTO product_slots VALUES(47,210); -INSERT INTO product_slots VALUES(47,211); -INSERT INTO product_slots VALUES(47,212); -INSERT INTO product_slots VALUES(47,213); -INSERT INTO product_slots VALUES(47,214); -INSERT INTO product_slots VALUES(47,215); -INSERT INTO product_slots VALUES(47,216); -INSERT INTO product_slots VALUES(47,217); -INSERT INTO product_slots VALUES(47,218); -INSERT INTO product_slots VALUES(47,219); -INSERT INTO product_slots VALUES(47,220); -INSERT INTO product_slots VALUES(47,221); -INSERT INTO product_slots VALUES(47,222); -INSERT INTO product_slots VALUES(47,223); -INSERT INTO product_slots VALUES(47,224); -INSERT INTO product_slots VALUES(47,225); -INSERT INTO product_slots VALUES(47,226); -INSERT INTO product_slots VALUES(47,227); -INSERT INTO product_slots VALUES(47,228); -INSERT INTO product_slots VALUES(47,229); -INSERT INTO product_slots VALUES(47,230); -INSERT INTO product_slots VALUES(47,231); -INSERT INTO product_slots VALUES(47,232); -INSERT INTO product_slots VALUES(47,233); -INSERT INTO product_slots VALUES(47,234); -INSERT INTO product_slots VALUES(47,235); -INSERT INTO product_slots VALUES(47,236); -INSERT INTO product_slots VALUES(47,237); -INSERT INTO product_slots VALUES(47,238); -INSERT INTO product_slots VALUES(47,239); -INSERT INTO product_slots VALUES(47,240); -INSERT INTO product_slots VALUES(47,241); -INSERT INTO product_slots VALUES(47,242); -INSERT INTO product_slots VALUES(47,243); -INSERT INTO product_slots VALUES(47,244); -INSERT INTO product_slots VALUES(47,274); -INSERT INTO product_slots VALUES(47,275); -INSERT INTO product_slots VALUES(47,279); -INSERT INTO product_slots VALUES(47,280); -INSERT INTO product_slots VALUES(47,281); -INSERT INTO product_slots VALUES(47,282); -INSERT INTO product_slots VALUES(47,283); -INSERT INTO product_slots VALUES(47,284); -INSERT INTO product_slots VALUES(47,285); -INSERT INTO product_slots VALUES(47,286); -INSERT INTO product_slots VALUES(47,287); -INSERT INTO product_slots VALUES(48,39); -INSERT INTO product_slots VALUES(48,43); -INSERT INTO product_slots VALUES(48,45); -INSERT INTO product_slots VALUES(48,46); -INSERT INTO product_slots VALUES(48,48); -INSERT INTO product_slots VALUES(48,49); -INSERT INTO product_slots VALUES(48,51); -INSERT INTO product_slots VALUES(48,52); -INSERT INTO product_slots VALUES(48,53); -INSERT INTO product_slots VALUES(48,54); -INSERT INTO product_slots VALUES(48,57); -INSERT INTO product_slots VALUES(48,58); -INSERT INTO product_slots VALUES(48,59); -INSERT INTO product_slots VALUES(48,60); -INSERT INTO product_slots VALUES(48,61); -INSERT INTO product_slots VALUES(48,62); -INSERT INTO product_slots VALUES(48,63); -INSERT INTO product_slots VALUES(48,64); -INSERT INTO product_slots VALUES(48,65); -INSERT INTO product_slots VALUES(48,66); -INSERT INTO product_slots VALUES(48,67); -INSERT INTO product_slots VALUES(48,68); -INSERT INTO product_slots VALUES(48,69); -INSERT INTO product_slots VALUES(48,70); -INSERT INTO product_slots VALUES(48,71); -INSERT INTO product_slots VALUES(48,72); -INSERT INTO product_slots VALUES(48,73); -INSERT INTO product_slots VALUES(48,74); -INSERT INTO product_slots VALUES(48,75); -INSERT INTO product_slots VALUES(48,76); -INSERT INTO product_slots VALUES(48,77); -INSERT INTO product_slots VALUES(48,78); -INSERT INTO product_slots VALUES(48,79); -INSERT INTO product_slots VALUES(48,80); -INSERT INTO product_slots VALUES(48,81); -INSERT INTO product_slots VALUES(48,82); -INSERT INTO product_slots VALUES(48,83); -INSERT INTO product_slots VALUES(48,84); -INSERT INTO product_slots VALUES(48,85); -INSERT INTO product_slots VALUES(48,86); -INSERT INTO product_slots VALUES(48,87); -INSERT INTO product_slots VALUES(48,88); -INSERT INTO product_slots VALUES(48,89); -INSERT INTO product_slots VALUES(48,90); -INSERT INTO product_slots VALUES(48,91); -INSERT INTO product_slots VALUES(48,92); -INSERT INTO product_slots VALUES(48,93); -INSERT INTO product_slots VALUES(48,94); -INSERT INTO product_slots VALUES(48,95); -INSERT INTO product_slots VALUES(48,96); -INSERT INTO product_slots VALUES(48,97); -INSERT INTO product_slots VALUES(48,98); -INSERT INTO product_slots VALUES(48,99); -INSERT INTO product_slots VALUES(48,100); -INSERT INTO product_slots VALUES(48,102); -INSERT INTO product_slots VALUES(48,103); -INSERT INTO product_slots VALUES(48,104); -INSERT INTO product_slots VALUES(48,105); -INSERT INTO product_slots VALUES(48,106); -INSERT INTO product_slots VALUES(48,107); -INSERT INTO product_slots VALUES(48,108); -INSERT INTO product_slots VALUES(48,109); -INSERT INTO product_slots VALUES(48,110); -INSERT INTO product_slots VALUES(48,111); -INSERT INTO product_slots VALUES(48,112); -INSERT INTO product_slots VALUES(48,113); -INSERT INTO product_slots VALUES(48,114); -INSERT INTO product_slots VALUES(48,115); -INSERT INTO product_slots VALUES(48,117); -INSERT INTO product_slots VALUES(48,118); -INSERT INTO product_slots VALUES(48,119); -INSERT INTO product_slots VALUES(48,120); -INSERT INTO product_slots VALUES(48,121); -INSERT INTO product_slots VALUES(48,122); -INSERT INTO product_slots VALUES(48,124); -INSERT INTO product_slots VALUES(48,125); -INSERT INTO product_slots VALUES(48,126); -INSERT INTO product_slots VALUES(48,127); -INSERT INTO product_slots VALUES(48,128); -INSERT INTO product_slots VALUES(48,129); -INSERT INTO product_slots VALUES(48,130); -INSERT INTO product_slots VALUES(48,131); -INSERT INTO product_slots VALUES(48,132); -INSERT INTO product_slots VALUES(48,133); -INSERT INTO product_slots VALUES(48,134); -INSERT INTO product_slots VALUES(48,135); -INSERT INTO product_slots VALUES(48,136); -INSERT INTO product_slots VALUES(48,138); -INSERT INTO product_slots VALUES(48,139); -INSERT INTO product_slots VALUES(48,140); -INSERT INTO product_slots VALUES(48,141); -INSERT INTO product_slots VALUES(48,142); -INSERT INTO product_slots VALUES(48,143); -INSERT INTO product_slots VALUES(48,145); -INSERT INTO product_slots VALUES(48,146); -INSERT INTO product_slots VALUES(48,147); -INSERT INTO product_slots VALUES(48,148); -INSERT INTO product_slots VALUES(48,149); -INSERT INTO product_slots VALUES(48,150); -INSERT INTO product_slots VALUES(48,151); -INSERT INTO product_slots VALUES(48,152); -INSERT INTO product_slots VALUES(48,153); -INSERT INTO product_slots VALUES(48,154); -INSERT INTO product_slots VALUES(48,155); -INSERT INTO product_slots VALUES(48,156); -INSERT INTO product_slots VALUES(48,157); -INSERT INTO product_slots VALUES(48,158); -INSERT INTO product_slots VALUES(48,159); -INSERT INTO product_slots VALUES(48,160); -INSERT INTO product_slots VALUES(48,161); -INSERT INTO product_slots VALUES(48,162); -INSERT INTO product_slots VALUES(48,163); -INSERT INTO product_slots VALUES(48,164); -INSERT INTO product_slots VALUES(48,165); -INSERT INTO product_slots VALUES(48,166); -INSERT INTO product_slots VALUES(48,167); -INSERT INTO product_slots VALUES(48,168); -INSERT INTO product_slots VALUES(48,169); -INSERT INTO product_slots VALUES(48,170); -INSERT INTO product_slots VALUES(48,171); -INSERT INTO product_slots VALUES(48,172); -INSERT INTO product_slots VALUES(48,173); -INSERT INTO product_slots VALUES(48,174); -INSERT INTO product_slots VALUES(48,175); -INSERT INTO product_slots VALUES(48,176); -INSERT INTO product_slots VALUES(48,177); -INSERT INTO product_slots VALUES(48,178); -INSERT INTO product_slots VALUES(48,179); -INSERT INTO product_slots VALUES(48,180); -INSERT INTO product_slots VALUES(48,181); -INSERT INTO product_slots VALUES(48,182); -INSERT INTO product_slots VALUES(48,183); -INSERT INTO product_slots VALUES(48,184); -INSERT INTO product_slots VALUES(48,185); -INSERT INTO product_slots VALUES(48,186); -INSERT INTO product_slots VALUES(48,187); -INSERT INTO product_slots VALUES(48,188); -INSERT INTO product_slots VALUES(48,189); -INSERT INTO product_slots VALUES(48,190); -INSERT INTO product_slots VALUES(48,191); -INSERT INTO product_slots VALUES(48,192); -INSERT INTO product_slots VALUES(48,193); -INSERT INTO product_slots VALUES(48,194); -INSERT INTO product_slots VALUES(48,195); -INSERT INTO product_slots VALUES(48,196); -INSERT INTO product_slots VALUES(48,197); -INSERT INTO product_slots VALUES(48,198); -INSERT INTO product_slots VALUES(48,199); -INSERT INTO product_slots VALUES(48,200); -INSERT INTO product_slots VALUES(48,201); -INSERT INTO product_slots VALUES(48,202); -INSERT INTO product_slots VALUES(48,203); -INSERT INTO product_slots VALUES(48,204); -INSERT INTO product_slots VALUES(48,205); -INSERT INTO product_slots VALUES(48,206); -INSERT INTO product_slots VALUES(48,207); -INSERT INTO product_slots VALUES(48,208); -INSERT INTO product_slots VALUES(48,209); -INSERT INTO product_slots VALUES(48,210); -INSERT INTO product_slots VALUES(48,211); -INSERT INTO product_slots VALUES(48,212); -INSERT INTO product_slots VALUES(48,213); -INSERT INTO product_slots VALUES(48,214); -INSERT INTO product_slots VALUES(48,215); -INSERT INTO product_slots VALUES(48,216); -INSERT INTO product_slots VALUES(48,217); -INSERT INTO product_slots VALUES(48,218); -INSERT INTO product_slots VALUES(48,219); -INSERT INTO product_slots VALUES(48,220); -INSERT INTO product_slots VALUES(48,221); -INSERT INTO product_slots VALUES(48,222); -INSERT INTO product_slots VALUES(48,223); -INSERT INTO product_slots VALUES(48,224); -INSERT INTO product_slots VALUES(48,225); -INSERT INTO product_slots VALUES(48,226); -INSERT INTO product_slots VALUES(48,227); -INSERT INTO product_slots VALUES(48,228); -INSERT INTO product_slots VALUES(48,229); -INSERT INTO product_slots VALUES(48,230); -INSERT INTO product_slots VALUES(48,231); -INSERT INTO product_slots VALUES(48,232); -INSERT INTO product_slots VALUES(48,233); -INSERT INTO product_slots VALUES(48,234); -INSERT INTO product_slots VALUES(48,235); -INSERT INTO product_slots VALUES(48,236); -INSERT INTO product_slots VALUES(48,237); -INSERT INTO product_slots VALUES(48,238); -INSERT INTO product_slots VALUES(48,239); -INSERT INTO product_slots VALUES(48,240); -INSERT INTO product_slots VALUES(48,241); -INSERT INTO product_slots VALUES(48,242); -INSERT INTO product_slots VALUES(48,243); -INSERT INTO product_slots VALUES(48,244); -INSERT INTO product_slots VALUES(48,274); -INSERT INTO product_slots VALUES(48,275); -INSERT INTO product_slots VALUES(48,279); -INSERT INTO product_slots VALUES(48,280); -INSERT INTO product_slots VALUES(48,281); -INSERT INTO product_slots VALUES(48,282); -INSERT INTO product_slots VALUES(48,283); -INSERT INTO product_slots VALUES(48,284); -INSERT INTO product_slots VALUES(48,285); -INSERT INTO product_slots VALUES(48,286); -INSERT INTO product_slots VALUES(48,287); -INSERT INTO product_slots VALUES(49,40); -INSERT INTO product_slots VALUES(49,74); -INSERT INTO product_slots VALUES(49,75); -INSERT INTO product_slots VALUES(49,76); -INSERT INTO product_slots VALUES(49,77); -INSERT INTO product_slots VALUES(49,78); -INSERT INTO product_slots VALUES(49,79); -INSERT INTO product_slots VALUES(49,80); -INSERT INTO product_slots VALUES(49,102); -INSERT INTO product_slots VALUES(49,103); -INSERT INTO product_slots VALUES(49,104); -INSERT INTO product_slots VALUES(49,105); -INSERT INTO product_slots VALUES(49,106); -INSERT INTO product_slots VALUES(49,107); -INSERT INTO product_slots VALUES(49,108); -INSERT INTO product_slots VALUES(49,109); -INSERT INTO product_slots VALUES(49,110); -INSERT INTO product_slots VALUES(49,111); -INSERT INTO product_slots VALUES(49,112); -INSERT INTO product_slots VALUES(49,113); -INSERT INTO product_slots VALUES(49,114); -INSERT INTO product_slots VALUES(49,115); -INSERT INTO product_slots VALUES(49,117); -INSERT INTO product_slots VALUES(49,118); -INSERT INTO product_slots VALUES(49,119); -INSERT INTO product_slots VALUES(49,120); -INSERT INTO product_slots VALUES(49,121); -INSERT INTO product_slots VALUES(49,122); -INSERT INTO product_slots VALUES(49,123); -INSERT INTO product_slots VALUES(49,124); -INSERT INTO product_slots VALUES(49,125); -INSERT INTO product_slots VALUES(49,126); -INSERT INTO product_slots VALUES(49,127); -INSERT INTO product_slots VALUES(49,128); -INSERT INTO product_slots VALUES(49,129); -INSERT INTO product_slots VALUES(49,130); -INSERT INTO product_slots VALUES(49,131); -INSERT INTO product_slots VALUES(49,132); -INSERT INTO product_slots VALUES(49,133); -INSERT INTO product_slots VALUES(49,134); -INSERT INTO product_slots VALUES(49,135); -INSERT INTO product_slots VALUES(49,136); -INSERT INTO product_slots VALUES(49,137); -INSERT INTO product_slots VALUES(49,138); -INSERT INTO product_slots VALUES(49,139); -INSERT INTO product_slots VALUES(49,140); -INSERT INTO product_slots VALUES(49,141); -INSERT INTO product_slots VALUES(49,142); -INSERT INTO product_slots VALUES(49,143); -INSERT INTO product_slots VALUES(49,145); -INSERT INTO product_slots VALUES(49,146); -INSERT INTO product_slots VALUES(49,147); -INSERT INTO product_slots VALUES(49,148); -INSERT INTO product_slots VALUES(49,149); -INSERT INTO product_slots VALUES(49,150); -INSERT INTO product_slots VALUES(49,151); -INSERT INTO product_slots VALUES(49,152); -INSERT INTO product_slots VALUES(49,153); -INSERT INTO product_slots VALUES(49,154); -INSERT INTO product_slots VALUES(49,155); -INSERT INTO product_slots VALUES(49,156); -INSERT INTO product_slots VALUES(49,157); -INSERT INTO product_slots VALUES(49,158); -INSERT INTO product_slots VALUES(49,159); -INSERT INTO product_slots VALUES(49,160); -INSERT INTO product_slots VALUES(49,161); -INSERT INTO product_slots VALUES(49,162); -INSERT INTO product_slots VALUES(49,163); -INSERT INTO product_slots VALUES(49,164); -INSERT INTO product_slots VALUES(49,165); -INSERT INTO product_slots VALUES(49,166); -INSERT INTO product_slots VALUES(49,167); -INSERT INTO product_slots VALUES(49,168); -INSERT INTO product_slots VALUES(49,169); -INSERT INTO product_slots VALUES(49,170); -INSERT INTO product_slots VALUES(49,171); -INSERT INTO product_slots VALUES(49,172); -INSERT INTO product_slots VALUES(49,173); -INSERT INTO product_slots VALUES(49,174); -INSERT INTO product_slots VALUES(49,175); -INSERT INTO product_slots VALUES(49,176); -INSERT INTO product_slots VALUES(49,177); -INSERT INTO product_slots VALUES(49,178); -INSERT INTO product_slots VALUES(49,179); -INSERT INTO product_slots VALUES(49,180); -INSERT INTO product_slots VALUES(49,181); -INSERT INTO product_slots VALUES(49,182); -INSERT INTO product_slots VALUES(49,183); -INSERT INTO product_slots VALUES(49,184); -INSERT INTO product_slots VALUES(49,185); -INSERT INTO product_slots VALUES(49,186); -INSERT INTO product_slots VALUES(49,187); -INSERT INTO product_slots VALUES(49,188); -INSERT INTO product_slots VALUES(49,189); -INSERT INTO product_slots VALUES(49,190); -INSERT INTO product_slots VALUES(49,191); -INSERT INTO product_slots VALUES(49,192); -INSERT INTO product_slots VALUES(49,193); -INSERT INTO product_slots VALUES(49,194); -INSERT INTO product_slots VALUES(49,195); -INSERT INTO product_slots VALUES(49,196); -INSERT INTO product_slots VALUES(49,197); -INSERT INTO product_slots VALUES(49,198); -INSERT INTO product_slots VALUES(49,199); -INSERT INTO product_slots VALUES(49,200); -INSERT INTO product_slots VALUES(49,201); -INSERT INTO product_slots VALUES(49,202); -INSERT INTO product_slots VALUES(49,203); -INSERT INTO product_slots VALUES(49,204); -INSERT INTO product_slots VALUES(49,205); -INSERT INTO product_slots VALUES(49,206); -INSERT INTO product_slots VALUES(49,207); -INSERT INTO product_slots VALUES(49,208); -INSERT INTO product_slots VALUES(49,209); -INSERT INTO product_slots VALUES(49,210); -INSERT INTO product_slots VALUES(49,211); -INSERT INTO product_slots VALUES(49,212); -INSERT INTO product_slots VALUES(49,213); -INSERT INTO product_slots VALUES(49,214); -INSERT INTO product_slots VALUES(49,215); -INSERT INTO product_slots VALUES(49,216); -INSERT INTO product_slots VALUES(49,217); -INSERT INTO product_slots VALUES(49,218); -INSERT INTO product_slots VALUES(49,219); -INSERT INTO product_slots VALUES(49,220); -INSERT INTO product_slots VALUES(49,221); -INSERT INTO product_slots VALUES(49,222); -INSERT INTO product_slots VALUES(49,223); -INSERT INTO product_slots VALUES(49,224); -INSERT INTO product_slots VALUES(49,225); -INSERT INTO product_slots VALUES(49,226); -INSERT INTO product_slots VALUES(49,227); -INSERT INTO product_slots VALUES(49,228); -INSERT INTO product_slots VALUES(49,229); -INSERT INTO product_slots VALUES(49,230); -INSERT INTO product_slots VALUES(49,231); -INSERT INTO product_slots VALUES(49,232); -INSERT INTO product_slots VALUES(49,233); -INSERT INTO product_slots VALUES(49,234); -INSERT INTO product_slots VALUES(49,235); -INSERT INTO product_slots VALUES(49,236); -INSERT INTO product_slots VALUES(49,237); -INSERT INTO product_slots VALUES(49,238); -INSERT INTO product_slots VALUES(49,239); -INSERT INTO product_slots VALUES(49,240); -INSERT INTO product_slots VALUES(49,241); -INSERT INTO product_slots VALUES(49,242); -INSERT INTO product_slots VALUES(49,243); -INSERT INTO product_slots VALUES(49,244); -INSERT INTO product_slots VALUES(49,274); -INSERT INTO product_slots VALUES(49,275); -INSERT INTO product_slots VALUES(49,279); -INSERT INTO product_slots VALUES(49,280); -INSERT INTO product_slots VALUES(49,281); -INSERT INTO product_slots VALUES(49,282); -INSERT INTO product_slots VALUES(49,283); -INSERT INTO product_slots VALUES(49,284); -INSERT INTO product_slots VALUES(49,285); -INSERT INTO product_slots VALUES(49,286); -INSERT INTO product_slots VALUES(49,287); -INSERT INTO product_slots VALUES(50,39); -INSERT INTO product_slots VALUES(50,40); -INSERT INTO product_slots VALUES(50,43); -INSERT INTO product_slots VALUES(50,45); -INSERT INTO product_slots VALUES(50,46); -INSERT INTO product_slots VALUES(50,48); -INSERT INTO product_slots VALUES(50,49); -INSERT INTO product_slots VALUES(50,51); -INSERT INTO product_slots VALUES(50,52); -INSERT INTO product_slots VALUES(50,53); -INSERT INTO product_slots VALUES(50,54); -INSERT INTO product_slots VALUES(50,57); -INSERT INTO product_slots VALUES(50,58); -INSERT INTO product_slots VALUES(50,59); -INSERT INTO product_slots VALUES(50,60); -INSERT INTO product_slots VALUES(50,61); -INSERT INTO product_slots VALUES(50,62); -INSERT INTO product_slots VALUES(50,63); -INSERT INTO product_slots VALUES(50,64); -INSERT INTO product_slots VALUES(50,65); -INSERT INTO product_slots VALUES(50,66); -INSERT INTO product_slots VALUES(50,67); -INSERT INTO product_slots VALUES(50,68); -INSERT INTO product_slots VALUES(50,69); -INSERT INTO product_slots VALUES(50,70); -INSERT INTO product_slots VALUES(50,71); -INSERT INTO product_slots VALUES(50,72); -INSERT INTO product_slots VALUES(50,73); -INSERT INTO product_slots VALUES(50,74); -INSERT INTO product_slots VALUES(50,75); -INSERT INTO product_slots VALUES(50,76); -INSERT INTO product_slots VALUES(50,77); -INSERT INTO product_slots VALUES(50,78); -INSERT INTO product_slots VALUES(50,79); -INSERT INTO product_slots VALUES(50,80); -INSERT INTO product_slots VALUES(50,81); -INSERT INTO product_slots VALUES(50,82); -INSERT INTO product_slots VALUES(50,83); -INSERT INTO product_slots VALUES(50,84); -INSERT INTO product_slots VALUES(50,85); -INSERT INTO product_slots VALUES(50,86); -INSERT INTO product_slots VALUES(50,87); -INSERT INTO product_slots VALUES(50,88); -INSERT INTO product_slots VALUES(50,89); -INSERT INTO product_slots VALUES(50,90); -INSERT INTO product_slots VALUES(50,91); -INSERT INTO product_slots VALUES(50,92); -INSERT INTO product_slots VALUES(50,93); -INSERT INTO product_slots VALUES(50,94); -INSERT INTO product_slots VALUES(50,95); -INSERT INTO product_slots VALUES(50,96); -INSERT INTO product_slots VALUES(50,97); -INSERT INTO product_slots VALUES(50,98); -INSERT INTO product_slots VALUES(50,99); -INSERT INTO product_slots VALUES(50,100); -INSERT INTO product_slots VALUES(50,102); -INSERT INTO product_slots VALUES(50,103); -INSERT INTO product_slots VALUES(50,104); -INSERT INTO product_slots VALUES(50,105); -INSERT INTO product_slots VALUES(50,106); -INSERT INTO product_slots VALUES(50,107); -INSERT INTO product_slots VALUES(50,108); -INSERT INTO product_slots VALUES(50,109); -INSERT INTO product_slots VALUES(50,110); -INSERT INTO product_slots VALUES(50,111); -INSERT INTO product_slots VALUES(50,112); -INSERT INTO product_slots VALUES(50,113); -INSERT INTO product_slots VALUES(50,114); -INSERT INTO product_slots VALUES(50,115); -INSERT INTO product_slots VALUES(50,117); -INSERT INTO product_slots VALUES(50,118); -INSERT INTO product_slots VALUES(50,119); -INSERT INTO product_slots VALUES(50,120); -INSERT INTO product_slots VALUES(50,121); -INSERT INTO product_slots VALUES(50,122); -INSERT INTO product_slots VALUES(50,123); -INSERT INTO product_slots VALUES(50,124); -INSERT INTO product_slots VALUES(50,125); -INSERT INTO product_slots VALUES(50,126); -INSERT INTO product_slots VALUES(50,127); -INSERT INTO product_slots VALUES(50,128); -INSERT INTO product_slots VALUES(50,129); -INSERT INTO product_slots VALUES(50,130); -INSERT INTO product_slots VALUES(50,131); -INSERT INTO product_slots VALUES(50,132); -INSERT INTO product_slots VALUES(50,133); -INSERT INTO product_slots VALUES(50,134); -INSERT INTO product_slots VALUES(50,135); -INSERT INTO product_slots VALUES(50,136); -INSERT INTO product_slots VALUES(50,138); -INSERT INTO product_slots VALUES(50,139); -INSERT INTO product_slots VALUES(50,140); -INSERT INTO product_slots VALUES(50,141); -INSERT INTO product_slots VALUES(50,142); -INSERT INTO product_slots VALUES(50,143); -INSERT INTO product_slots VALUES(50,145); -INSERT INTO product_slots VALUES(50,146); -INSERT INTO product_slots VALUES(50,147); -INSERT INTO product_slots VALUES(50,148); -INSERT INTO product_slots VALUES(50,149); -INSERT INTO product_slots VALUES(50,150); -INSERT INTO product_slots VALUES(50,151); -INSERT INTO product_slots VALUES(50,152); -INSERT INTO product_slots VALUES(50,153); -INSERT INTO product_slots VALUES(50,154); -INSERT INTO product_slots VALUES(50,155); -INSERT INTO product_slots VALUES(50,156); -INSERT INTO product_slots VALUES(50,157); -INSERT INTO product_slots VALUES(50,158); -INSERT INTO product_slots VALUES(50,159); -INSERT INTO product_slots VALUES(50,160); -INSERT INTO product_slots VALUES(50,161); -INSERT INTO product_slots VALUES(50,162); -INSERT INTO product_slots VALUES(50,163); -INSERT INTO product_slots VALUES(50,164); -INSERT INTO product_slots VALUES(50,165); -INSERT INTO product_slots VALUES(50,166); -INSERT INTO product_slots VALUES(50,167); -INSERT INTO product_slots VALUES(50,168); -INSERT INTO product_slots VALUES(50,169); -INSERT INTO product_slots VALUES(50,170); -INSERT INTO product_slots VALUES(50,171); -INSERT INTO product_slots VALUES(50,172); -INSERT INTO product_slots VALUES(50,173); -INSERT INTO product_slots VALUES(50,174); -INSERT INTO product_slots VALUES(50,175); -INSERT INTO product_slots VALUES(50,176); -INSERT INTO product_slots VALUES(50,177); -INSERT INTO product_slots VALUES(50,178); -INSERT INTO product_slots VALUES(50,179); -INSERT INTO product_slots VALUES(50,180); -INSERT INTO product_slots VALUES(50,181); -INSERT INTO product_slots VALUES(50,182); -INSERT INTO product_slots VALUES(50,183); -INSERT INTO product_slots VALUES(50,184); -INSERT INTO product_slots VALUES(50,185); -INSERT INTO product_slots VALUES(50,186); -INSERT INTO product_slots VALUES(50,187); -INSERT INTO product_slots VALUES(50,188); -INSERT INTO product_slots VALUES(50,189); -INSERT INTO product_slots VALUES(50,190); -INSERT INTO product_slots VALUES(50,191); -INSERT INTO product_slots VALUES(50,192); -INSERT INTO product_slots VALUES(50,193); -INSERT INTO product_slots VALUES(50,194); -INSERT INTO product_slots VALUES(50,195); -INSERT INTO product_slots VALUES(50,196); -INSERT INTO product_slots VALUES(50,197); -INSERT INTO product_slots VALUES(50,198); -INSERT INTO product_slots VALUES(50,199); -INSERT INTO product_slots VALUES(50,200); -INSERT INTO product_slots VALUES(50,201); -INSERT INTO product_slots VALUES(50,202); -INSERT INTO product_slots VALUES(50,203); -INSERT INTO product_slots VALUES(50,204); -INSERT INTO product_slots VALUES(50,205); -INSERT INTO product_slots VALUES(50,206); -INSERT INTO product_slots VALUES(50,207); -INSERT INTO product_slots VALUES(50,208); -INSERT INTO product_slots VALUES(50,209); -INSERT INTO product_slots VALUES(50,210); -INSERT INTO product_slots VALUES(50,211); -INSERT INTO product_slots VALUES(50,212); -INSERT INTO product_slots VALUES(50,213); -INSERT INTO product_slots VALUES(50,214); -INSERT INTO product_slots VALUES(50,215); -INSERT INTO product_slots VALUES(50,216); -INSERT INTO product_slots VALUES(50,217); -INSERT INTO product_slots VALUES(50,218); -INSERT INTO product_slots VALUES(50,219); -INSERT INTO product_slots VALUES(50,220); -INSERT INTO product_slots VALUES(50,221); -INSERT INTO product_slots VALUES(50,222); -INSERT INTO product_slots VALUES(50,223); -INSERT INTO product_slots VALUES(50,224); -INSERT INTO product_slots VALUES(50,225); -INSERT INTO product_slots VALUES(50,226); -INSERT INTO product_slots VALUES(50,227); -INSERT INTO product_slots VALUES(50,228); -INSERT INTO product_slots VALUES(50,229); -INSERT INTO product_slots VALUES(50,230); -INSERT INTO product_slots VALUES(50,231); -INSERT INTO product_slots VALUES(50,232); -INSERT INTO product_slots VALUES(50,233); -INSERT INTO product_slots VALUES(50,234); -INSERT INTO product_slots VALUES(50,235); -INSERT INTO product_slots VALUES(50,236); -INSERT INTO product_slots VALUES(50,237); -INSERT INTO product_slots VALUES(50,238); -INSERT INTO product_slots VALUES(50,239); -INSERT INTO product_slots VALUES(50,240); -INSERT INTO product_slots VALUES(50,241); -INSERT INTO product_slots VALUES(50,242); -INSERT INTO product_slots VALUES(50,243); -INSERT INTO product_slots VALUES(50,244); -INSERT INTO product_slots VALUES(50,274); -INSERT INTO product_slots VALUES(50,275); -INSERT INTO product_slots VALUES(50,279); -INSERT INTO product_slots VALUES(50,280); -INSERT INTO product_slots VALUES(50,281); -INSERT INTO product_slots VALUES(50,282); -INSERT INTO product_slots VALUES(50,283); -INSERT INTO product_slots VALUES(50,284); -INSERT INTO product_slots VALUES(50,285); -INSERT INTO product_slots VALUES(50,286); -INSERT INTO product_slots VALUES(50,287); -INSERT INTO product_slots VALUES(51,40); -INSERT INTO product_slots VALUES(51,64); -INSERT INTO product_slots VALUES(51,65); -INSERT INTO product_slots VALUES(51,66); -INSERT INTO product_slots VALUES(51,67); -INSERT INTO product_slots VALUES(51,68); -INSERT INTO product_slots VALUES(51,69); -INSERT INTO product_slots VALUES(51,70); -INSERT INTO product_slots VALUES(51,71); -INSERT INTO product_slots VALUES(51,72); -INSERT INTO product_slots VALUES(51,73); -INSERT INTO product_slots VALUES(51,74); -INSERT INTO product_slots VALUES(51,75); -INSERT INTO product_slots VALUES(51,76); -INSERT INTO product_slots VALUES(51,77); -INSERT INTO product_slots VALUES(51,78); -INSERT INTO product_slots VALUES(51,79); -INSERT INTO product_slots VALUES(51,80); -INSERT INTO product_slots VALUES(51,81); -INSERT INTO product_slots VALUES(51,82); -INSERT INTO product_slots VALUES(51,83); -INSERT INTO product_slots VALUES(51,84); -INSERT INTO product_slots VALUES(51,85); -INSERT INTO product_slots VALUES(51,86); -INSERT INTO product_slots VALUES(51,87); -INSERT INTO product_slots VALUES(51,88); -INSERT INTO product_slots VALUES(51,89); -INSERT INTO product_slots VALUES(51,90); -INSERT INTO product_slots VALUES(51,91); -INSERT INTO product_slots VALUES(51,92); -INSERT INTO product_slots VALUES(51,93); -INSERT INTO product_slots VALUES(51,94); -INSERT INTO product_slots VALUES(51,95); -INSERT INTO product_slots VALUES(51,96); -INSERT INTO product_slots VALUES(51,97); -INSERT INTO product_slots VALUES(51,98); -INSERT INTO product_slots VALUES(51,99); -INSERT INTO product_slots VALUES(51,100); -INSERT INTO product_slots VALUES(51,102); -INSERT INTO product_slots VALUES(51,103); -INSERT INTO product_slots VALUES(51,104); -INSERT INTO product_slots VALUES(51,105); -INSERT INTO product_slots VALUES(51,106); -INSERT INTO product_slots VALUES(51,107); -INSERT INTO product_slots VALUES(51,108); -INSERT INTO product_slots VALUES(51,109); -INSERT INTO product_slots VALUES(51,110); -INSERT INTO product_slots VALUES(51,111); -INSERT INTO product_slots VALUES(51,112); -INSERT INTO product_slots VALUES(51,113); -INSERT INTO product_slots VALUES(51,114); -INSERT INTO product_slots VALUES(51,115); -INSERT INTO product_slots VALUES(51,117); -INSERT INTO product_slots VALUES(51,118); -INSERT INTO product_slots VALUES(51,119); -INSERT INTO product_slots VALUES(51,120); -INSERT INTO product_slots VALUES(51,121); -INSERT INTO product_slots VALUES(51,122); -INSERT INTO product_slots VALUES(51,123); -INSERT INTO product_slots VALUES(51,124); -INSERT INTO product_slots VALUES(51,125); -INSERT INTO product_slots VALUES(51,126); -INSERT INTO product_slots VALUES(51,127); -INSERT INTO product_slots VALUES(51,128); -INSERT INTO product_slots VALUES(51,129); -INSERT INTO product_slots VALUES(51,130); -INSERT INTO product_slots VALUES(51,131); -INSERT INTO product_slots VALUES(51,132); -INSERT INTO product_slots VALUES(51,133); -INSERT INTO product_slots VALUES(51,134); -INSERT INTO product_slots VALUES(51,135); -INSERT INTO product_slots VALUES(51,136); -INSERT INTO product_slots VALUES(51,138); -INSERT INTO product_slots VALUES(51,139); -INSERT INTO product_slots VALUES(51,140); -INSERT INTO product_slots VALUES(51,141); -INSERT INTO product_slots VALUES(51,142); -INSERT INTO product_slots VALUES(51,143); -INSERT INTO product_slots VALUES(51,145); -INSERT INTO product_slots VALUES(51,146); -INSERT INTO product_slots VALUES(51,147); -INSERT INTO product_slots VALUES(51,148); -INSERT INTO product_slots VALUES(51,149); -INSERT INTO product_slots VALUES(51,150); -INSERT INTO product_slots VALUES(51,151); -INSERT INTO product_slots VALUES(51,152); -INSERT INTO product_slots VALUES(51,153); -INSERT INTO product_slots VALUES(51,154); -INSERT INTO product_slots VALUES(51,155); -INSERT INTO product_slots VALUES(51,156); -INSERT INTO product_slots VALUES(51,157); -INSERT INTO product_slots VALUES(51,158); -INSERT INTO product_slots VALUES(51,159); -INSERT INTO product_slots VALUES(51,160); -INSERT INTO product_slots VALUES(51,161); -INSERT INTO product_slots VALUES(51,162); -INSERT INTO product_slots VALUES(51,163); -INSERT INTO product_slots VALUES(51,164); -INSERT INTO product_slots VALUES(51,165); -INSERT INTO product_slots VALUES(51,166); -INSERT INTO product_slots VALUES(51,167); -INSERT INTO product_slots VALUES(51,168); -INSERT INTO product_slots VALUES(51,169); -INSERT INTO product_slots VALUES(51,170); -INSERT INTO product_slots VALUES(51,171); -INSERT INTO product_slots VALUES(51,172); -INSERT INTO product_slots VALUES(51,173); -INSERT INTO product_slots VALUES(51,174); -INSERT INTO product_slots VALUES(51,175); -INSERT INTO product_slots VALUES(51,176); -INSERT INTO product_slots VALUES(51,177); -INSERT INTO product_slots VALUES(51,178); -INSERT INTO product_slots VALUES(51,179); -INSERT INTO product_slots VALUES(51,180); -INSERT INTO product_slots VALUES(51,181); -INSERT INTO product_slots VALUES(51,182); -INSERT INTO product_slots VALUES(51,183); -INSERT INTO product_slots VALUES(51,184); -INSERT INTO product_slots VALUES(51,185); -INSERT INTO product_slots VALUES(51,186); -INSERT INTO product_slots VALUES(51,187); -INSERT INTO product_slots VALUES(51,188); -INSERT INTO product_slots VALUES(51,189); -INSERT INTO product_slots VALUES(51,190); -INSERT INTO product_slots VALUES(51,191); -INSERT INTO product_slots VALUES(51,192); -INSERT INTO product_slots VALUES(51,193); -INSERT INTO product_slots VALUES(51,194); -INSERT INTO product_slots VALUES(51,195); -INSERT INTO product_slots VALUES(51,196); -INSERT INTO product_slots VALUES(51,197); -INSERT INTO product_slots VALUES(51,198); -INSERT INTO product_slots VALUES(51,199); -INSERT INTO product_slots VALUES(51,200); -INSERT INTO product_slots VALUES(51,201); -INSERT INTO product_slots VALUES(51,202); -INSERT INTO product_slots VALUES(51,203); -INSERT INTO product_slots VALUES(51,204); -INSERT INTO product_slots VALUES(51,205); -INSERT INTO product_slots VALUES(51,206); -INSERT INTO product_slots VALUES(51,207); -INSERT INTO product_slots VALUES(51,208); -INSERT INTO product_slots VALUES(51,209); -INSERT INTO product_slots VALUES(51,210); -INSERT INTO product_slots VALUES(51,211); -INSERT INTO product_slots VALUES(51,212); -INSERT INTO product_slots VALUES(51,213); -INSERT INTO product_slots VALUES(51,214); -INSERT INTO product_slots VALUES(51,215); -INSERT INTO product_slots VALUES(51,216); -INSERT INTO product_slots VALUES(51,217); -INSERT INTO product_slots VALUES(51,218); -INSERT INTO product_slots VALUES(51,219); -INSERT INTO product_slots VALUES(51,220); -INSERT INTO product_slots VALUES(51,221); -INSERT INTO product_slots VALUES(51,222); -INSERT INTO product_slots VALUES(51,223); -INSERT INTO product_slots VALUES(51,224); -INSERT INTO product_slots VALUES(51,225); -INSERT INTO product_slots VALUES(51,226); -INSERT INTO product_slots VALUES(51,227); -INSERT INTO product_slots VALUES(51,228); -INSERT INTO product_slots VALUES(51,229); -INSERT INTO product_slots VALUES(51,230); -INSERT INTO product_slots VALUES(51,231); -INSERT INTO product_slots VALUES(51,232); -INSERT INTO product_slots VALUES(51,233); -INSERT INTO product_slots VALUES(51,234); -INSERT INTO product_slots VALUES(51,235); -INSERT INTO product_slots VALUES(51,236); -INSERT INTO product_slots VALUES(51,237); -INSERT INTO product_slots VALUES(51,238); -INSERT INTO product_slots VALUES(51,239); -INSERT INTO product_slots VALUES(51,240); -INSERT INTO product_slots VALUES(51,241); -INSERT INTO product_slots VALUES(51,242); -INSERT INTO product_slots VALUES(51,243); -INSERT INTO product_slots VALUES(51,244); -INSERT INTO product_slots VALUES(51,274); -INSERT INTO product_slots VALUES(51,275); -INSERT INTO product_slots VALUES(51,279); -INSERT INTO product_slots VALUES(51,280); -INSERT INTO product_slots VALUES(51,281); -INSERT INTO product_slots VALUES(51,282); -INSERT INTO product_slots VALUES(51,283); -INSERT INTO product_slots VALUES(51,284); -INSERT INTO product_slots VALUES(51,285); -INSERT INTO product_slots VALUES(51,286); -INSERT INTO product_slots VALUES(51,287); -INSERT INTO product_slots VALUES(52,40); -INSERT INTO product_slots VALUES(52,64); -INSERT INTO product_slots VALUES(52,65); -INSERT INTO product_slots VALUES(52,66); -INSERT INTO product_slots VALUES(52,67); -INSERT INTO product_slots VALUES(52,68); -INSERT INTO product_slots VALUES(52,69); -INSERT INTO product_slots VALUES(52,70); -INSERT INTO product_slots VALUES(52,71); -INSERT INTO product_slots VALUES(52,72); -INSERT INTO product_slots VALUES(52,73); -INSERT INTO product_slots VALUES(52,74); -INSERT INTO product_slots VALUES(52,75); -INSERT INTO product_slots VALUES(52,76); -INSERT INTO product_slots VALUES(52,77); -INSERT INTO product_slots VALUES(52,78); -INSERT INTO product_slots VALUES(52,79); -INSERT INTO product_slots VALUES(52,80); -INSERT INTO product_slots VALUES(52,81); -INSERT INTO product_slots VALUES(52,82); -INSERT INTO product_slots VALUES(52,83); -INSERT INTO product_slots VALUES(52,84); -INSERT INTO product_slots VALUES(52,85); -INSERT INTO product_slots VALUES(52,86); -INSERT INTO product_slots VALUES(52,87); -INSERT INTO product_slots VALUES(52,88); -INSERT INTO product_slots VALUES(52,89); -INSERT INTO product_slots VALUES(52,90); -INSERT INTO product_slots VALUES(52,91); -INSERT INTO product_slots VALUES(52,92); -INSERT INTO product_slots VALUES(52,93); -INSERT INTO product_slots VALUES(52,94); -INSERT INTO product_slots VALUES(52,95); -INSERT INTO product_slots VALUES(52,96); -INSERT INTO product_slots VALUES(52,97); -INSERT INTO product_slots VALUES(52,98); -INSERT INTO product_slots VALUES(52,99); -INSERT INTO product_slots VALUES(52,100); -INSERT INTO product_slots VALUES(52,102); -INSERT INTO product_slots VALUES(52,103); -INSERT INTO product_slots VALUES(52,104); -INSERT INTO product_slots VALUES(52,105); -INSERT INTO product_slots VALUES(52,106); -INSERT INTO product_slots VALUES(52,107); -INSERT INTO product_slots VALUES(52,108); -INSERT INTO product_slots VALUES(52,109); -INSERT INTO product_slots VALUES(52,110); -INSERT INTO product_slots VALUES(52,111); -INSERT INTO product_slots VALUES(52,112); -INSERT INTO product_slots VALUES(52,113); -INSERT INTO product_slots VALUES(52,114); -INSERT INTO product_slots VALUES(52,115); -INSERT INTO product_slots VALUES(52,117); -INSERT INTO product_slots VALUES(52,118); -INSERT INTO product_slots VALUES(52,119); -INSERT INTO product_slots VALUES(52,120); -INSERT INTO product_slots VALUES(52,121); -INSERT INTO product_slots VALUES(52,122); -INSERT INTO product_slots VALUES(52,123); -INSERT INTO product_slots VALUES(52,124); -INSERT INTO product_slots VALUES(52,125); -INSERT INTO product_slots VALUES(52,126); -INSERT INTO product_slots VALUES(52,127); -INSERT INTO product_slots VALUES(52,128); -INSERT INTO product_slots VALUES(52,129); -INSERT INTO product_slots VALUES(52,130); -INSERT INTO product_slots VALUES(52,131); -INSERT INTO product_slots VALUES(52,132); -INSERT INTO product_slots VALUES(52,133); -INSERT INTO product_slots VALUES(52,134); -INSERT INTO product_slots VALUES(52,135); -INSERT INTO product_slots VALUES(52,136); -INSERT INTO product_slots VALUES(52,138); -INSERT INTO product_slots VALUES(52,139); -INSERT INTO product_slots VALUES(52,140); -INSERT INTO product_slots VALUES(52,141); -INSERT INTO product_slots VALUES(52,142); -INSERT INTO product_slots VALUES(52,143); -INSERT INTO product_slots VALUES(52,145); -INSERT INTO product_slots VALUES(52,146); -INSERT INTO product_slots VALUES(52,147); -INSERT INTO product_slots VALUES(52,148); -INSERT INTO product_slots VALUES(52,149); -INSERT INTO product_slots VALUES(52,150); -INSERT INTO product_slots VALUES(52,151); -INSERT INTO product_slots VALUES(52,152); -INSERT INTO product_slots VALUES(52,153); -INSERT INTO product_slots VALUES(52,154); -INSERT INTO product_slots VALUES(52,155); -INSERT INTO product_slots VALUES(52,156); -INSERT INTO product_slots VALUES(52,157); -INSERT INTO product_slots VALUES(52,158); -INSERT INTO product_slots VALUES(52,159); -INSERT INTO product_slots VALUES(52,160); -INSERT INTO product_slots VALUES(52,161); -INSERT INTO product_slots VALUES(52,162); -INSERT INTO product_slots VALUES(52,163); -INSERT INTO product_slots VALUES(52,164); -INSERT INTO product_slots VALUES(52,165); -INSERT INTO product_slots VALUES(52,166); -INSERT INTO product_slots VALUES(52,167); -INSERT INTO product_slots VALUES(52,168); -INSERT INTO product_slots VALUES(52,169); -INSERT INTO product_slots VALUES(52,170); -INSERT INTO product_slots VALUES(52,171); -INSERT INTO product_slots VALUES(52,172); -INSERT INTO product_slots VALUES(52,173); -INSERT INTO product_slots VALUES(52,174); -INSERT INTO product_slots VALUES(52,175); -INSERT INTO product_slots VALUES(52,176); -INSERT INTO product_slots VALUES(52,177); -INSERT INTO product_slots VALUES(52,178); -INSERT INTO product_slots VALUES(52,179); -INSERT INTO product_slots VALUES(52,180); -INSERT INTO product_slots VALUES(52,181); -INSERT INTO product_slots VALUES(52,182); -INSERT INTO product_slots VALUES(52,183); -INSERT INTO product_slots VALUES(52,184); -INSERT INTO product_slots VALUES(52,185); -INSERT INTO product_slots VALUES(52,186); -INSERT INTO product_slots VALUES(52,187); -INSERT INTO product_slots VALUES(52,188); -INSERT INTO product_slots VALUES(52,189); -INSERT INTO product_slots VALUES(52,190); -INSERT INTO product_slots VALUES(52,191); -INSERT INTO product_slots VALUES(52,192); -INSERT INTO product_slots VALUES(52,193); -INSERT INTO product_slots VALUES(52,194); -INSERT INTO product_slots VALUES(52,195); -INSERT INTO product_slots VALUES(52,196); -INSERT INTO product_slots VALUES(52,197); -INSERT INTO product_slots VALUES(52,198); -INSERT INTO product_slots VALUES(52,199); -INSERT INTO product_slots VALUES(52,200); -INSERT INTO product_slots VALUES(52,201); -INSERT INTO product_slots VALUES(52,202); -INSERT INTO product_slots VALUES(52,203); -INSERT INTO product_slots VALUES(52,204); -INSERT INTO product_slots VALUES(52,205); -INSERT INTO product_slots VALUES(52,206); -INSERT INTO product_slots VALUES(52,207); -INSERT INTO product_slots VALUES(52,208); -INSERT INTO product_slots VALUES(52,209); -INSERT INTO product_slots VALUES(52,210); -INSERT INTO product_slots VALUES(52,211); -INSERT INTO product_slots VALUES(52,212); -INSERT INTO product_slots VALUES(52,213); -INSERT INTO product_slots VALUES(52,214); -INSERT INTO product_slots VALUES(52,215); -INSERT INTO product_slots VALUES(52,216); -INSERT INTO product_slots VALUES(52,217); -INSERT INTO product_slots VALUES(52,218); -INSERT INTO product_slots VALUES(52,219); -INSERT INTO product_slots VALUES(52,220); -INSERT INTO product_slots VALUES(52,221); -INSERT INTO product_slots VALUES(52,222); -INSERT INTO product_slots VALUES(52,223); -INSERT INTO product_slots VALUES(52,224); -INSERT INTO product_slots VALUES(52,225); -INSERT INTO product_slots VALUES(52,226); -INSERT INTO product_slots VALUES(52,227); -INSERT INTO product_slots VALUES(52,228); -INSERT INTO product_slots VALUES(52,229); -INSERT INTO product_slots VALUES(52,230); -INSERT INTO product_slots VALUES(52,231); -INSERT INTO product_slots VALUES(52,232); -INSERT INTO product_slots VALUES(52,233); -INSERT INTO product_slots VALUES(52,234); -INSERT INTO product_slots VALUES(52,235); -INSERT INTO product_slots VALUES(52,236); -INSERT INTO product_slots VALUES(52,237); -INSERT INTO product_slots VALUES(52,238); -INSERT INTO product_slots VALUES(52,239); -INSERT INTO product_slots VALUES(52,240); -INSERT INTO product_slots VALUES(52,241); -INSERT INTO product_slots VALUES(52,242); -INSERT INTO product_slots VALUES(52,243); -INSERT INTO product_slots VALUES(52,244); -INSERT INTO product_slots VALUES(52,274); -INSERT INTO product_slots VALUES(52,275); -INSERT INTO product_slots VALUES(52,279); -INSERT INTO product_slots VALUES(52,280); -INSERT INTO product_slots VALUES(52,281); -INSERT INTO product_slots VALUES(52,282); -INSERT INTO product_slots VALUES(52,283); -INSERT INTO product_slots VALUES(52,284); -INSERT INTO product_slots VALUES(52,285); -INSERT INTO product_slots VALUES(52,286); -INSERT INTO product_slots VALUES(52,287); -INSERT INTO product_slots VALUES(53,39); -INSERT INTO product_slots VALUES(53,40); -INSERT INTO product_slots VALUES(53,43); -INSERT INTO product_slots VALUES(53,45); -INSERT INTO product_slots VALUES(53,46); -INSERT INTO product_slots VALUES(53,48); -INSERT INTO product_slots VALUES(53,49); -INSERT INTO product_slots VALUES(53,51); -INSERT INTO product_slots VALUES(53,52); -INSERT INTO product_slots VALUES(53,53); -INSERT INTO product_slots VALUES(53,54); -INSERT INTO product_slots VALUES(53,57); -INSERT INTO product_slots VALUES(53,58); -INSERT INTO product_slots VALUES(53,59); -INSERT INTO product_slots VALUES(53,60); -INSERT INTO product_slots VALUES(53,61); -INSERT INTO product_slots VALUES(53,62); -INSERT INTO product_slots VALUES(53,63); -INSERT INTO product_slots VALUES(53,64); -INSERT INTO product_slots VALUES(53,65); -INSERT INTO product_slots VALUES(53,66); -INSERT INTO product_slots VALUES(53,67); -INSERT INTO product_slots VALUES(53,68); -INSERT INTO product_slots VALUES(53,69); -INSERT INTO product_slots VALUES(53,70); -INSERT INTO product_slots VALUES(53,71); -INSERT INTO product_slots VALUES(53,72); -INSERT INTO product_slots VALUES(53,73); -INSERT INTO product_slots VALUES(53,74); -INSERT INTO product_slots VALUES(53,75); -INSERT INTO product_slots VALUES(53,76); -INSERT INTO product_slots VALUES(53,77); -INSERT INTO product_slots VALUES(53,78); -INSERT INTO product_slots VALUES(53,79); -INSERT INTO product_slots VALUES(53,80); -INSERT INTO product_slots VALUES(53,81); -INSERT INTO product_slots VALUES(53,82); -INSERT INTO product_slots VALUES(53,83); -INSERT INTO product_slots VALUES(53,84); -INSERT INTO product_slots VALUES(53,85); -INSERT INTO product_slots VALUES(53,86); -INSERT INTO product_slots VALUES(53,87); -INSERT INTO product_slots VALUES(53,88); -INSERT INTO product_slots VALUES(53,89); -INSERT INTO product_slots VALUES(53,90); -INSERT INTO product_slots VALUES(53,91); -INSERT INTO product_slots VALUES(53,92); -INSERT INTO product_slots VALUES(53,93); -INSERT INTO product_slots VALUES(53,94); -INSERT INTO product_slots VALUES(53,95); -INSERT INTO product_slots VALUES(53,96); -INSERT INTO product_slots VALUES(53,97); -INSERT INTO product_slots VALUES(53,98); -INSERT INTO product_slots VALUES(53,99); -INSERT INTO product_slots VALUES(53,100); -INSERT INTO product_slots VALUES(53,102); -INSERT INTO product_slots VALUES(53,103); -INSERT INTO product_slots VALUES(53,104); -INSERT INTO product_slots VALUES(53,105); -INSERT INTO product_slots VALUES(53,106); -INSERT INTO product_slots VALUES(53,107); -INSERT INTO product_slots VALUES(53,108); -INSERT INTO product_slots VALUES(53,109); -INSERT INTO product_slots VALUES(53,110); -INSERT INTO product_slots VALUES(53,111); -INSERT INTO product_slots VALUES(53,112); -INSERT INTO product_slots VALUES(53,113); -INSERT INTO product_slots VALUES(53,114); -INSERT INTO product_slots VALUES(53,115); -INSERT INTO product_slots VALUES(53,117); -INSERT INTO product_slots VALUES(53,118); -INSERT INTO product_slots VALUES(53,119); -INSERT INTO product_slots VALUES(53,120); -INSERT INTO product_slots VALUES(53,121); -INSERT INTO product_slots VALUES(53,122); -INSERT INTO product_slots VALUES(53,123); -INSERT INTO product_slots VALUES(53,124); -INSERT INTO product_slots VALUES(53,125); -INSERT INTO product_slots VALUES(53,126); -INSERT INTO product_slots VALUES(53,127); -INSERT INTO product_slots VALUES(53,128); -INSERT INTO product_slots VALUES(53,129); -INSERT INTO product_slots VALUES(53,130); -INSERT INTO product_slots VALUES(53,131); -INSERT INTO product_slots VALUES(53,132); -INSERT INTO product_slots VALUES(53,133); -INSERT INTO product_slots VALUES(53,134); -INSERT INTO product_slots VALUES(53,135); -INSERT INTO product_slots VALUES(53,136); -INSERT INTO product_slots VALUES(53,138); -INSERT INTO product_slots VALUES(53,139); -INSERT INTO product_slots VALUES(53,140); -INSERT INTO product_slots VALUES(53,141); -INSERT INTO product_slots VALUES(53,142); -INSERT INTO product_slots VALUES(53,143); -INSERT INTO product_slots VALUES(53,145); -INSERT INTO product_slots VALUES(53,146); -INSERT INTO product_slots VALUES(53,147); -INSERT INTO product_slots VALUES(53,148); -INSERT INTO product_slots VALUES(53,149); -INSERT INTO product_slots VALUES(53,150); -INSERT INTO product_slots VALUES(53,151); -INSERT INTO product_slots VALUES(53,152); -INSERT INTO product_slots VALUES(53,153); -INSERT INTO product_slots VALUES(53,154); -INSERT INTO product_slots VALUES(53,155); -INSERT INTO product_slots VALUES(53,156); -INSERT INTO product_slots VALUES(53,157); -INSERT INTO product_slots VALUES(53,158); -INSERT INTO product_slots VALUES(53,159); -INSERT INTO product_slots VALUES(53,160); -INSERT INTO product_slots VALUES(53,161); -INSERT INTO product_slots VALUES(53,162); -INSERT INTO product_slots VALUES(53,163); -INSERT INTO product_slots VALUES(53,164); -INSERT INTO product_slots VALUES(53,165); -INSERT INTO product_slots VALUES(53,166); -INSERT INTO product_slots VALUES(53,167); -INSERT INTO product_slots VALUES(53,168); -INSERT INTO product_slots VALUES(53,169); -INSERT INTO product_slots VALUES(53,170); -INSERT INTO product_slots VALUES(53,171); -INSERT INTO product_slots VALUES(53,172); -INSERT INTO product_slots VALUES(53,173); -INSERT INTO product_slots VALUES(53,174); -INSERT INTO product_slots VALUES(53,175); -INSERT INTO product_slots VALUES(53,176); -INSERT INTO product_slots VALUES(53,177); -INSERT INTO product_slots VALUES(53,178); -INSERT INTO product_slots VALUES(53,179); -INSERT INTO product_slots VALUES(53,180); -INSERT INTO product_slots VALUES(53,181); -INSERT INTO product_slots VALUES(53,182); -INSERT INTO product_slots VALUES(53,183); -INSERT INTO product_slots VALUES(53,184); -INSERT INTO product_slots VALUES(53,185); -INSERT INTO product_slots VALUES(53,186); -INSERT INTO product_slots VALUES(53,187); -INSERT INTO product_slots VALUES(53,188); -INSERT INTO product_slots VALUES(53,189); -INSERT INTO product_slots VALUES(53,190); -INSERT INTO product_slots VALUES(53,191); -INSERT INTO product_slots VALUES(53,192); -INSERT INTO product_slots VALUES(53,193); -INSERT INTO product_slots VALUES(53,194); -INSERT INTO product_slots VALUES(53,195); -INSERT INTO product_slots VALUES(53,196); -INSERT INTO product_slots VALUES(53,197); -INSERT INTO product_slots VALUES(53,198); -INSERT INTO product_slots VALUES(53,199); -INSERT INTO product_slots VALUES(53,200); -INSERT INTO product_slots VALUES(53,201); -INSERT INTO product_slots VALUES(53,202); -INSERT INTO product_slots VALUES(53,203); -INSERT INTO product_slots VALUES(53,204); -INSERT INTO product_slots VALUES(53,205); -INSERT INTO product_slots VALUES(53,206); -INSERT INTO product_slots VALUES(53,207); -INSERT INTO product_slots VALUES(53,208); -INSERT INTO product_slots VALUES(53,209); -INSERT INTO product_slots VALUES(53,210); -INSERT INTO product_slots VALUES(53,211); -INSERT INTO product_slots VALUES(53,212); -INSERT INTO product_slots VALUES(53,213); -INSERT INTO product_slots VALUES(53,214); -INSERT INTO product_slots VALUES(53,215); -INSERT INTO product_slots VALUES(53,216); -INSERT INTO product_slots VALUES(53,217); -INSERT INTO product_slots VALUES(53,218); -INSERT INTO product_slots VALUES(53,219); -INSERT INTO product_slots VALUES(53,220); -INSERT INTO product_slots VALUES(53,221); -INSERT INTO product_slots VALUES(53,222); -INSERT INTO product_slots VALUES(53,223); -INSERT INTO product_slots VALUES(53,224); -INSERT INTO product_slots VALUES(53,225); -INSERT INTO product_slots VALUES(53,226); -INSERT INTO product_slots VALUES(53,227); -INSERT INTO product_slots VALUES(53,228); -INSERT INTO product_slots VALUES(53,229); -INSERT INTO product_slots VALUES(53,230); -INSERT INTO product_slots VALUES(53,231); -INSERT INTO product_slots VALUES(53,232); -INSERT INTO product_slots VALUES(53,233); -INSERT INTO product_slots VALUES(53,234); -INSERT INTO product_slots VALUES(53,235); -INSERT INTO product_slots VALUES(53,236); -INSERT INTO product_slots VALUES(53,237); -INSERT INTO product_slots VALUES(53,238); -INSERT INTO product_slots VALUES(53,239); -INSERT INTO product_slots VALUES(53,240); -INSERT INTO product_slots VALUES(53,241); -INSERT INTO product_slots VALUES(53,242); -INSERT INTO product_slots VALUES(53,243); -INSERT INTO product_slots VALUES(53,244); -INSERT INTO product_slots VALUES(53,274); -INSERT INTO product_slots VALUES(53,275); -INSERT INTO product_slots VALUES(53,279); -INSERT INTO product_slots VALUES(53,280); -INSERT INTO product_slots VALUES(53,281); -INSERT INTO product_slots VALUES(53,282); -INSERT INTO product_slots VALUES(53,283); -INSERT INTO product_slots VALUES(53,284); -INSERT INTO product_slots VALUES(53,285); -INSERT INTO product_slots VALUES(53,286); -INSERT INTO product_slots VALUES(53,287); -INSERT INTO product_slots VALUES(54,40); -INSERT INTO product_slots VALUES(54,62); -INSERT INTO product_slots VALUES(54,63); -INSERT INTO product_slots VALUES(54,64); -INSERT INTO product_slots VALUES(54,65); -INSERT INTO product_slots VALUES(54,66); -INSERT INTO product_slots VALUES(54,67); -INSERT INTO product_slots VALUES(54,68); -INSERT INTO product_slots VALUES(54,69); -INSERT INTO product_slots VALUES(54,70); -INSERT INTO product_slots VALUES(54,71); -INSERT INTO product_slots VALUES(54,72); -INSERT INTO product_slots VALUES(54,73); -INSERT INTO product_slots VALUES(54,74); -INSERT INTO product_slots VALUES(54,75); -INSERT INTO product_slots VALUES(54,76); -INSERT INTO product_slots VALUES(54,77); -INSERT INTO product_slots VALUES(54,78); -INSERT INTO product_slots VALUES(54,79); -INSERT INTO product_slots VALUES(54,80); -INSERT INTO product_slots VALUES(54,81); -INSERT INTO product_slots VALUES(54,82); -INSERT INTO product_slots VALUES(54,83); -INSERT INTO product_slots VALUES(54,84); -INSERT INTO product_slots VALUES(54,85); -INSERT INTO product_slots VALUES(54,86); -INSERT INTO product_slots VALUES(54,87); -INSERT INTO product_slots VALUES(54,88); -INSERT INTO product_slots VALUES(54,89); -INSERT INTO product_slots VALUES(54,90); -INSERT INTO product_slots VALUES(54,91); -INSERT INTO product_slots VALUES(54,92); -INSERT INTO product_slots VALUES(54,93); -INSERT INTO product_slots VALUES(54,94); -INSERT INTO product_slots VALUES(54,95); -INSERT INTO product_slots VALUES(54,96); -INSERT INTO product_slots VALUES(54,97); -INSERT INTO product_slots VALUES(54,98); -INSERT INTO product_slots VALUES(54,99); -INSERT INTO product_slots VALUES(54,100); -INSERT INTO product_slots VALUES(54,102); -INSERT INTO product_slots VALUES(54,103); -INSERT INTO product_slots VALUES(54,104); -INSERT INTO product_slots VALUES(54,105); -INSERT INTO product_slots VALUES(54,106); -INSERT INTO product_slots VALUES(54,107); -INSERT INTO product_slots VALUES(54,108); -INSERT INTO product_slots VALUES(54,109); -INSERT INTO product_slots VALUES(54,110); -INSERT INTO product_slots VALUES(54,111); -INSERT INTO product_slots VALUES(54,112); -INSERT INTO product_slots VALUES(54,113); -INSERT INTO product_slots VALUES(54,114); -INSERT INTO product_slots VALUES(54,115); -INSERT INTO product_slots VALUES(54,117); -INSERT INTO product_slots VALUES(54,118); -INSERT INTO product_slots VALUES(54,119); -INSERT INTO product_slots VALUES(54,120); -INSERT INTO product_slots VALUES(54,121); -INSERT INTO product_slots VALUES(54,122); -INSERT INTO product_slots VALUES(54,123); -INSERT INTO product_slots VALUES(54,124); -INSERT INTO product_slots VALUES(54,125); -INSERT INTO product_slots VALUES(54,126); -INSERT INTO product_slots VALUES(54,127); -INSERT INTO product_slots VALUES(54,128); -INSERT INTO product_slots VALUES(54,129); -INSERT INTO product_slots VALUES(54,130); -INSERT INTO product_slots VALUES(54,131); -INSERT INTO product_slots VALUES(54,132); -INSERT INTO product_slots VALUES(54,133); -INSERT INTO product_slots VALUES(54,134); -INSERT INTO product_slots VALUES(54,135); -INSERT INTO product_slots VALUES(54,136); -INSERT INTO product_slots VALUES(54,138); -INSERT INTO product_slots VALUES(54,139); -INSERT INTO product_slots VALUES(54,140); -INSERT INTO product_slots VALUES(54,141); -INSERT INTO product_slots VALUES(54,142); -INSERT INTO product_slots VALUES(54,143); -INSERT INTO product_slots VALUES(54,145); -INSERT INTO product_slots VALUES(54,146); -INSERT INTO product_slots VALUES(54,147); -INSERT INTO product_slots VALUES(54,148); -INSERT INTO product_slots VALUES(54,149); -INSERT INTO product_slots VALUES(54,150); -INSERT INTO product_slots VALUES(54,151); -INSERT INTO product_slots VALUES(54,152); -INSERT INTO product_slots VALUES(54,153); -INSERT INTO product_slots VALUES(54,154); -INSERT INTO product_slots VALUES(54,155); -INSERT INTO product_slots VALUES(54,156); -INSERT INTO product_slots VALUES(54,157); -INSERT INTO product_slots VALUES(54,158); -INSERT INTO product_slots VALUES(54,159); -INSERT INTO product_slots VALUES(54,160); -INSERT INTO product_slots VALUES(54,161); -INSERT INTO product_slots VALUES(54,162); -INSERT INTO product_slots VALUES(54,163); -INSERT INTO product_slots VALUES(54,164); -INSERT INTO product_slots VALUES(54,165); -INSERT INTO product_slots VALUES(54,166); -INSERT INTO product_slots VALUES(54,167); -INSERT INTO product_slots VALUES(54,168); -INSERT INTO product_slots VALUES(54,169); -INSERT INTO product_slots VALUES(54,170); -INSERT INTO product_slots VALUES(54,171); -INSERT INTO product_slots VALUES(54,172); -INSERT INTO product_slots VALUES(54,173); -INSERT INTO product_slots VALUES(54,174); -INSERT INTO product_slots VALUES(54,175); -INSERT INTO product_slots VALUES(54,176); -INSERT INTO product_slots VALUES(54,177); -INSERT INTO product_slots VALUES(54,178); -INSERT INTO product_slots VALUES(54,179); -INSERT INTO product_slots VALUES(54,180); -INSERT INTO product_slots VALUES(54,181); -INSERT INTO product_slots VALUES(54,182); -INSERT INTO product_slots VALUES(54,183); -INSERT INTO product_slots VALUES(54,184); -INSERT INTO product_slots VALUES(54,185); -INSERT INTO product_slots VALUES(54,186); -INSERT INTO product_slots VALUES(54,187); -INSERT INTO product_slots VALUES(54,188); -INSERT INTO product_slots VALUES(54,189); -INSERT INTO product_slots VALUES(54,190); -INSERT INTO product_slots VALUES(54,191); -INSERT INTO product_slots VALUES(54,192); -INSERT INTO product_slots VALUES(54,193); -INSERT INTO product_slots VALUES(54,194); -INSERT INTO product_slots VALUES(54,195); -INSERT INTO product_slots VALUES(54,196); -INSERT INTO product_slots VALUES(54,197); -INSERT INTO product_slots VALUES(54,198); -INSERT INTO product_slots VALUES(54,199); -INSERT INTO product_slots VALUES(54,200); -INSERT INTO product_slots VALUES(54,201); -INSERT INTO product_slots VALUES(54,202); -INSERT INTO product_slots VALUES(54,203); -INSERT INTO product_slots VALUES(54,204); -INSERT INTO product_slots VALUES(54,205); -INSERT INTO product_slots VALUES(54,206); -INSERT INTO product_slots VALUES(54,207); -INSERT INTO product_slots VALUES(54,208); -INSERT INTO product_slots VALUES(54,209); -INSERT INTO product_slots VALUES(54,210); -INSERT INTO product_slots VALUES(54,211); -INSERT INTO product_slots VALUES(54,212); -INSERT INTO product_slots VALUES(54,213); -INSERT INTO product_slots VALUES(54,214); -INSERT INTO product_slots VALUES(54,215); -INSERT INTO product_slots VALUES(54,216); -INSERT INTO product_slots VALUES(54,217); -INSERT INTO product_slots VALUES(54,218); -INSERT INTO product_slots VALUES(54,219); -INSERT INTO product_slots VALUES(54,220); -INSERT INTO product_slots VALUES(54,221); -INSERT INTO product_slots VALUES(54,222); -INSERT INTO product_slots VALUES(54,223); -INSERT INTO product_slots VALUES(54,224); -INSERT INTO product_slots VALUES(54,225); -INSERT INTO product_slots VALUES(54,226); -INSERT INTO product_slots VALUES(54,227); -INSERT INTO product_slots VALUES(54,228); -INSERT INTO product_slots VALUES(54,229); -INSERT INTO product_slots VALUES(54,230); -INSERT INTO product_slots VALUES(54,231); -INSERT INTO product_slots VALUES(54,232); -INSERT INTO product_slots VALUES(54,233); -INSERT INTO product_slots VALUES(54,234); -INSERT INTO product_slots VALUES(54,235); -INSERT INTO product_slots VALUES(54,236); -INSERT INTO product_slots VALUES(54,237); -INSERT INTO product_slots VALUES(54,238); -INSERT INTO product_slots VALUES(54,239); -INSERT INTO product_slots VALUES(54,240); -INSERT INTO product_slots VALUES(54,241); -INSERT INTO product_slots VALUES(54,242); -INSERT INTO product_slots VALUES(54,243); -INSERT INTO product_slots VALUES(54,244); -INSERT INTO product_slots VALUES(54,274); -INSERT INTO product_slots VALUES(54,275); -INSERT INTO product_slots VALUES(54,279); -INSERT INTO product_slots VALUES(54,280); -INSERT INTO product_slots VALUES(54,281); -INSERT INTO product_slots VALUES(54,282); -INSERT INTO product_slots VALUES(54,283); -INSERT INTO product_slots VALUES(54,284); -INSERT INTO product_slots VALUES(54,285); -INSERT INTO product_slots VALUES(54,286); -INSERT INTO product_slots VALUES(54,287); -INSERT INTO product_slots VALUES(55,40); -INSERT INTO product_slots VALUES(55,59); -INSERT INTO product_slots VALUES(55,62); -INSERT INTO product_slots VALUES(55,63); -INSERT INTO product_slots VALUES(55,64); -INSERT INTO product_slots VALUES(55,65); -INSERT INTO product_slots VALUES(55,66); -INSERT INTO product_slots VALUES(55,67); -INSERT INTO product_slots VALUES(55,68); -INSERT INTO product_slots VALUES(55,69); -INSERT INTO product_slots VALUES(55,70); -INSERT INTO product_slots VALUES(55,71); -INSERT INTO product_slots VALUES(55,72); -INSERT INTO product_slots VALUES(55,73); -INSERT INTO product_slots VALUES(55,74); -INSERT INTO product_slots VALUES(55,75); -INSERT INTO product_slots VALUES(55,76); -INSERT INTO product_slots VALUES(55,77); -INSERT INTO product_slots VALUES(55,78); -INSERT INTO product_slots VALUES(55,79); -INSERT INTO product_slots VALUES(55,80); -INSERT INTO product_slots VALUES(55,81); -INSERT INTO product_slots VALUES(55,82); -INSERT INTO product_slots VALUES(55,83); -INSERT INTO product_slots VALUES(55,84); -INSERT INTO product_slots VALUES(55,85); -INSERT INTO product_slots VALUES(55,86); -INSERT INTO product_slots VALUES(55,87); -INSERT INTO product_slots VALUES(55,88); -INSERT INTO product_slots VALUES(55,89); -INSERT INTO product_slots VALUES(55,90); -INSERT INTO product_slots VALUES(55,91); -INSERT INTO product_slots VALUES(55,92); -INSERT INTO product_slots VALUES(55,93); -INSERT INTO product_slots VALUES(55,94); -INSERT INTO product_slots VALUES(55,95); -INSERT INTO product_slots VALUES(55,96); -INSERT INTO product_slots VALUES(55,97); -INSERT INTO product_slots VALUES(55,98); -INSERT INTO product_slots VALUES(55,99); -INSERT INTO product_slots VALUES(55,100); -INSERT INTO product_slots VALUES(55,102); -INSERT INTO product_slots VALUES(55,103); -INSERT INTO product_slots VALUES(55,104); -INSERT INTO product_slots VALUES(55,105); -INSERT INTO product_slots VALUES(55,106); -INSERT INTO product_slots VALUES(55,107); -INSERT INTO product_slots VALUES(55,108); -INSERT INTO product_slots VALUES(55,109); -INSERT INTO product_slots VALUES(55,110); -INSERT INTO product_slots VALUES(55,111); -INSERT INTO product_slots VALUES(55,112); -INSERT INTO product_slots VALUES(55,113); -INSERT INTO product_slots VALUES(55,114); -INSERT INTO product_slots VALUES(55,115); -INSERT INTO product_slots VALUES(55,117); -INSERT INTO product_slots VALUES(55,118); -INSERT INTO product_slots VALUES(55,119); -INSERT INTO product_slots VALUES(55,120); -INSERT INTO product_slots VALUES(55,121); -INSERT INTO product_slots VALUES(55,122); -INSERT INTO product_slots VALUES(55,123); -INSERT INTO product_slots VALUES(55,124); -INSERT INTO product_slots VALUES(55,125); -INSERT INTO product_slots VALUES(55,126); -INSERT INTO product_slots VALUES(55,127); -INSERT INTO product_slots VALUES(55,128); -INSERT INTO product_slots VALUES(55,129); -INSERT INTO product_slots VALUES(55,130); -INSERT INTO product_slots VALUES(55,131); -INSERT INTO product_slots VALUES(55,132); -INSERT INTO product_slots VALUES(55,133); -INSERT INTO product_slots VALUES(55,134); -INSERT INTO product_slots VALUES(55,135); -INSERT INTO product_slots VALUES(55,136); -INSERT INTO product_slots VALUES(55,138); -INSERT INTO product_slots VALUES(55,139); -INSERT INTO product_slots VALUES(55,140); -INSERT INTO product_slots VALUES(55,141); -INSERT INTO product_slots VALUES(55,142); -INSERT INTO product_slots VALUES(55,143); -INSERT INTO product_slots VALUES(55,145); -INSERT INTO product_slots VALUES(55,146); -INSERT INTO product_slots VALUES(55,147); -INSERT INTO product_slots VALUES(55,148); -INSERT INTO product_slots VALUES(55,149); -INSERT INTO product_slots VALUES(55,150); -INSERT INTO product_slots VALUES(55,151); -INSERT INTO product_slots VALUES(55,152); -INSERT INTO product_slots VALUES(55,153); -INSERT INTO product_slots VALUES(55,154); -INSERT INTO product_slots VALUES(55,155); -INSERT INTO product_slots VALUES(55,156); -INSERT INTO product_slots VALUES(55,157); -INSERT INTO product_slots VALUES(55,158); -INSERT INTO product_slots VALUES(55,159); -INSERT INTO product_slots VALUES(55,160); -INSERT INTO product_slots VALUES(55,161); -INSERT INTO product_slots VALUES(55,162); -INSERT INTO product_slots VALUES(55,163); -INSERT INTO product_slots VALUES(55,164); -INSERT INTO product_slots VALUES(55,165); -INSERT INTO product_slots VALUES(55,166); -INSERT INTO product_slots VALUES(55,167); -INSERT INTO product_slots VALUES(55,168); -INSERT INTO product_slots VALUES(55,169); -INSERT INTO product_slots VALUES(55,170); -INSERT INTO product_slots VALUES(55,171); -INSERT INTO product_slots VALUES(55,172); -INSERT INTO product_slots VALUES(55,173); -INSERT INTO product_slots VALUES(55,174); -INSERT INTO product_slots VALUES(55,175); -INSERT INTO product_slots VALUES(55,176); -INSERT INTO product_slots VALUES(55,177); -INSERT INTO product_slots VALUES(55,178); -INSERT INTO product_slots VALUES(55,179); -INSERT INTO product_slots VALUES(55,180); -INSERT INTO product_slots VALUES(55,181); -INSERT INTO product_slots VALUES(55,182); -INSERT INTO product_slots VALUES(55,183); -INSERT INTO product_slots VALUES(55,184); -INSERT INTO product_slots VALUES(55,185); -INSERT INTO product_slots VALUES(55,186); -INSERT INTO product_slots VALUES(55,187); -INSERT INTO product_slots VALUES(55,188); -INSERT INTO product_slots VALUES(55,189); -INSERT INTO product_slots VALUES(55,190); -INSERT INTO product_slots VALUES(55,191); -INSERT INTO product_slots VALUES(55,192); -INSERT INTO product_slots VALUES(55,193); -INSERT INTO product_slots VALUES(55,194); -INSERT INTO product_slots VALUES(55,195); -INSERT INTO product_slots VALUES(55,196); -INSERT INTO product_slots VALUES(55,197); -INSERT INTO product_slots VALUES(55,198); -INSERT INTO product_slots VALUES(55,199); -INSERT INTO product_slots VALUES(55,200); -INSERT INTO product_slots VALUES(55,201); -INSERT INTO product_slots VALUES(55,202); -INSERT INTO product_slots VALUES(55,203); -INSERT INTO product_slots VALUES(55,204); -INSERT INTO product_slots VALUES(55,205); -INSERT INTO product_slots VALUES(55,206); -INSERT INTO product_slots VALUES(55,207); -INSERT INTO product_slots VALUES(55,208); -INSERT INTO product_slots VALUES(55,209); -INSERT INTO product_slots VALUES(55,210); -INSERT INTO product_slots VALUES(55,211); -INSERT INTO product_slots VALUES(55,212); -INSERT INTO product_slots VALUES(55,213); -INSERT INTO product_slots VALUES(55,214); -INSERT INTO product_slots VALUES(55,215); -INSERT INTO product_slots VALUES(55,216); -INSERT INTO product_slots VALUES(55,217); -INSERT INTO product_slots VALUES(55,218); -INSERT INTO product_slots VALUES(55,219); -INSERT INTO product_slots VALUES(55,220); -INSERT INTO product_slots VALUES(55,221); -INSERT INTO product_slots VALUES(55,222); -INSERT INTO product_slots VALUES(55,223); -INSERT INTO product_slots VALUES(55,224); -INSERT INTO product_slots VALUES(55,225); -INSERT INTO product_slots VALUES(55,226); -INSERT INTO product_slots VALUES(55,227); -INSERT INTO product_slots VALUES(55,228); -INSERT INTO product_slots VALUES(55,229); -INSERT INTO product_slots VALUES(55,230); -INSERT INTO product_slots VALUES(55,231); -INSERT INTO product_slots VALUES(55,232); -INSERT INTO product_slots VALUES(55,233); -INSERT INTO product_slots VALUES(55,234); -INSERT INTO product_slots VALUES(55,235); -INSERT INTO product_slots VALUES(55,236); -INSERT INTO product_slots VALUES(55,237); -INSERT INTO product_slots VALUES(55,238); -INSERT INTO product_slots VALUES(55,239); -INSERT INTO product_slots VALUES(55,240); -INSERT INTO product_slots VALUES(55,241); -INSERT INTO product_slots VALUES(55,242); -INSERT INTO product_slots VALUES(55,243); -INSERT INTO product_slots VALUES(55,244); -INSERT INTO product_slots VALUES(55,274); -INSERT INTO product_slots VALUES(55,275); -INSERT INTO product_slots VALUES(55,279); -INSERT INTO product_slots VALUES(55,280); -INSERT INTO product_slots VALUES(55,281); -INSERT INTO product_slots VALUES(55,282); -INSERT INTO product_slots VALUES(55,283); -INSERT INTO product_slots VALUES(55,284); -INSERT INTO product_slots VALUES(55,285); -INSERT INTO product_slots VALUES(55,286); -INSERT INTO product_slots VALUES(55,287); -INSERT INTO product_slots VALUES(56,39); -INSERT INTO product_slots VALUES(56,40); -INSERT INTO product_slots VALUES(56,43); -INSERT INTO product_slots VALUES(56,45); -INSERT INTO product_slots VALUES(56,46); -INSERT INTO product_slots VALUES(56,48); -INSERT INTO product_slots VALUES(56,49); -INSERT INTO product_slots VALUES(56,51); -INSERT INTO product_slots VALUES(56,52); -INSERT INTO product_slots VALUES(56,53); -INSERT INTO product_slots VALUES(56,54); -INSERT INTO product_slots VALUES(56,57); -INSERT INTO product_slots VALUES(56,58); -INSERT INTO product_slots VALUES(56,59); -INSERT INTO product_slots VALUES(56,60); -INSERT INTO product_slots VALUES(56,61); -INSERT INTO product_slots VALUES(56,62); -INSERT INTO product_slots VALUES(56,63); -INSERT INTO product_slots VALUES(56,64); -INSERT INTO product_slots VALUES(56,65); -INSERT INTO product_slots VALUES(56,66); -INSERT INTO product_slots VALUES(56,67); -INSERT INTO product_slots VALUES(56,68); -INSERT INTO product_slots VALUES(56,69); -INSERT INTO product_slots VALUES(56,70); -INSERT INTO product_slots VALUES(56,71); -INSERT INTO product_slots VALUES(56,72); -INSERT INTO product_slots VALUES(56,73); -INSERT INTO product_slots VALUES(56,74); -INSERT INTO product_slots VALUES(56,75); -INSERT INTO product_slots VALUES(56,76); -INSERT INTO product_slots VALUES(56,77); -INSERT INTO product_slots VALUES(56,78); -INSERT INTO product_slots VALUES(56,79); -INSERT INTO product_slots VALUES(56,80); -INSERT INTO product_slots VALUES(56,81); -INSERT INTO product_slots VALUES(56,82); -INSERT INTO product_slots VALUES(56,83); -INSERT INTO product_slots VALUES(56,84); -INSERT INTO product_slots VALUES(56,85); -INSERT INTO product_slots VALUES(56,86); -INSERT INTO product_slots VALUES(56,87); -INSERT INTO product_slots VALUES(56,88); -INSERT INTO product_slots VALUES(56,89); -INSERT INTO product_slots VALUES(56,90); -INSERT INTO product_slots VALUES(56,91); -INSERT INTO product_slots VALUES(56,92); -INSERT INTO product_slots VALUES(56,93); -INSERT INTO product_slots VALUES(56,94); -INSERT INTO product_slots VALUES(56,95); -INSERT INTO product_slots VALUES(56,96); -INSERT INTO product_slots VALUES(56,97); -INSERT INTO product_slots VALUES(56,98); -INSERT INTO product_slots VALUES(56,99); -INSERT INTO product_slots VALUES(56,100); -INSERT INTO product_slots VALUES(56,102); -INSERT INTO product_slots VALUES(56,103); -INSERT INTO product_slots VALUES(56,104); -INSERT INTO product_slots VALUES(56,105); -INSERT INTO product_slots VALUES(56,106); -INSERT INTO product_slots VALUES(56,107); -INSERT INTO product_slots VALUES(56,108); -INSERT INTO product_slots VALUES(56,109); -INSERT INTO product_slots VALUES(56,110); -INSERT INTO product_slots VALUES(56,111); -INSERT INTO product_slots VALUES(56,112); -INSERT INTO product_slots VALUES(56,113); -INSERT INTO product_slots VALUES(56,114); -INSERT INTO product_slots VALUES(56,115); -INSERT INTO product_slots VALUES(56,117); -INSERT INTO product_slots VALUES(56,118); -INSERT INTO product_slots VALUES(56,119); -INSERT INTO product_slots VALUES(56,120); -INSERT INTO product_slots VALUES(56,121); -INSERT INTO product_slots VALUES(56,122); -INSERT INTO product_slots VALUES(56,123); -INSERT INTO product_slots VALUES(56,124); -INSERT INTO product_slots VALUES(56,125); -INSERT INTO product_slots VALUES(56,126); -INSERT INTO product_slots VALUES(56,127); -INSERT INTO product_slots VALUES(56,128); -INSERT INTO product_slots VALUES(56,129); -INSERT INTO product_slots VALUES(56,130); -INSERT INTO product_slots VALUES(56,131); -INSERT INTO product_slots VALUES(56,132); -INSERT INTO product_slots VALUES(56,133); -INSERT INTO product_slots VALUES(56,134); -INSERT INTO product_slots VALUES(56,135); -INSERT INTO product_slots VALUES(56,136); -INSERT INTO product_slots VALUES(56,138); -INSERT INTO product_slots VALUES(56,139); -INSERT INTO product_slots VALUES(56,140); -INSERT INTO product_slots VALUES(56,141); -INSERT INTO product_slots VALUES(56,142); -INSERT INTO product_slots VALUES(56,143); -INSERT INTO product_slots VALUES(56,145); -INSERT INTO product_slots VALUES(56,146); -INSERT INTO product_slots VALUES(56,147); -INSERT INTO product_slots VALUES(56,148); -INSERT INTO product_slots VALUES(56,149); -INSERT INTO product_slots VALUES(56,150); -INSERT INTO product_slots VALUES(56,151); -INSERT INTO product_slots VALUES(56,152); -INSERT INTO product_slots VALUES(56,153); -INSERT INTO product_slots VALUES(56,154); -INSERT INTO product_slots VALUES(56,155); -INSERT INTO product_slots VALUES(56,156); -INSERT INTO product_slots VALUES(56,157); -INSERT INTO product_slots VALUES(56,158); -INSERT INTO product_slots VALUES(56,159); -INSERT INTO product_slots VALUES(56,160); -INSERT INTO product_slots VALUES(56,161); -INSERT INTO product_slots VALUES(56,162); -INSERT INTO product_slots VALUES(56,163); -INSERT INTO product_slots VALUES(56,164); -INSERT INTO product_slots VALUES(56,165); -INSERT INTO product_slots VALUES(56,166); -INSERT INTO product_slots VALUES(56,167); -INSERT INTO product_slots VALUES(56,168); -INSERT INTO product_slots VALUES(56,169); -INSERT INTO product_slots VALUES(56,170); -INSERT INTO product_slots VALUES(56,171); -INSERT INTO product_slots VALUES(56,172); -INSERT INTO product_slots VALUES(56,173); -INSERT INTO product_slots VALUES(56,174); -INSERT INTO product_slots VALUES(56,175); -INSERT INTO product_slots VALUES(56,176); -INSERT INTO product_slots VALUES(56,177); -INSERT INTO product_slots VALUES(56,178); -INSERT INTO product_slots VALUES(56,179); -INSERT INTO product_slots VALUES(56,180); -INSERT INTO product_slots VALUES(56,181); -INSERT INTO product_slots VALUES(56,182); -INSERT INTO product_slots VALUES(56,183); -INSERT INTO product_slots VALUES(56,184); -INSERT INTO product_slots VALUES(56,185); -INSERT INTO product_slots VALUES(56,186); -INSERT INTO product_slots VALUES(56,187); -INSERT INTO product_slots VALUES(56,188); -INSERT INTO product_slots VALUES(56,189); -INSERT INTO product_slots VALUES(56,190); -INSERT INTO product_slots VALUES(56,191); -INSERT INTO product_slots VALUES(56,192); -INSERT INTO product_slots VALUES(56,193); -INSERT INTO product_slots VALUES(56,194); -INSERT INTO product_slots VALUES(56,195); -INSERT INTO product_slots VALUES(56,196); -INSERT INTO product_slots VALUES(56,197); -INSERT INTO product_slots VALUES(56,198); -INSERT INTO product_slots VALUES(56,199); -INSERT INTO product_slots VALUES(56,200); -INSERT INTO product_slots VALUES(56,201); -INSERT INTO product_slots VALUES(56,202); -INSERT INTO product_slots VALUES(56,203); -INSERT INTO product_slots VALUES(56,204); -INSERT INTO product_slots VALUES(56,205); -INSERT INTO product_slots VALUES(56,206); -INSERT INTO product_slots VALUES(56,207); -INSERT INTO product_slots VALUES(56,208); -INSERT INTO product_slots VALUES(56,209); -INSERT INTO product_slots VALUES(56,210); -INSERT INTO product_slots VALUES(56,211); -INSERT INTO product_slots VALUES(56,212); -INSERT INTO product_slots VALUES(56,213); -INSERT INTO product_slots VALUES(56,214); -INSERT INTO product_slots VALUES(56,215); -INSERT INTO product_slots VALUES(56,216); -INSERT INTO product_slots VALUES(56,217); -INSERT INTO product_slots VALUES(56,218); -INSERT INTO product_slots VALUES(56,219); -INSERT INTO product_slots VALUES(56,220); -INSERT INTO product_slots VALUES(56,221); -INSERT INTO product_slots VALUES(56,222); -INSERT INTO product_slots VALUES(56,223); -INSERT INTO product_slots VALUES(56,224); -INSERT INTO product_slots VALUES(56,225); -INSERT INTO product_slots VALUES(56,226); -INSERT INTO product_slots VALUES(56,227); -INSERT INTO product_slots VALUES(56,228); -INSERT INTO product_slots VALUES(56,229); -INSERT INTO product_slots VALUES(56,230); -INSERT INTO product_slots VALUES(56,231); -INSERT INTO product_slots VALUES(56,232); -INSERT INTO product_slots VALUES(56,233); -INSERT INTO product_slots VALUES(56,234); -INSERT INTO product_slots VALUES(56,235); -INSERT INTO product_slots VALUES(56,236); -INSERT INTO product_slots VALUES(56,237); -INSERT INTO product_slots VALUES(56,238); -INSERT INTO product_slots VALUES(56,239); -INSERT INTO product_slots VALUES(56,240); -INSERT INTO product_slots VALUES(56,241); -INSERT INTO product_slots VALUES(56,242); -INSERT INTO product_slots VALUES(56,243); -INSERT INTO product_slots VALUES(56,244); -INSERT INTO product_slots VALUES(56,274); -INSERT INTO product_slots VALUES(56,275); -INSERT INTO product_slots VALUES(56,279); -INSERT INTO product_slots VALUES(56,280); -INSERT INTO product_slots VALUES(56,281); -INSERT INTO product_slots VALUES(56,282); -INSERT INTO product_slots VALUES(56,283); -INSERT INTO product_slots VALUES(56,284); -INSERT INTO product_slots VALUES(56,285); -INSERT INTO product_slots VALUES(56,286); -INSERT INTO product_slots VALUES(56,287); -INSERT INTO product_slots VALUES(57,39); -INSERT INTO product_slots VALUES(57,40); -INSERT INTO product_slots VALUES(57,43); -INSERT INTO product_slots VALUES(57,45); -INSERT INTO product_slots VALUES(57,46); -INSERT INTO product_slots VALUES(57,48); -INSERT INTO product_slots VALUES(57,49); -INSERT INTO product_slots VALUES(57,51); -INSERT INTO product_slots VALUES(57,52); -INSERT INTO product_slots VALUES(57,53); -INSERT INTO product_slots VALUES(57,54); -INSERT INTO product_slots VALUES(57,57); -INSERT INTO product_slots VALUES(57,58); -INSERT INTO product_slots VALUES(57,59); -INSERT INTO product_slots VALUES(57,60); -INSERT INTO product_slots VALUES(57,61); -INSERT INTO product_slots VALUES(57,62); -INSERT INTO product_slots VALUES(57,63); -INSERT INTO product_slots VALUES(57,64); -INSERT INTO product_slots VALUES(57,65); -INSERT INTO product_slots VALUES(57,66); -INSERT INTO product_slots VALUES(57,67); -INSERT INTO product_slots VALUES(57,68); -INSERT INTO product_slots VALUES(57,69); -INSERT INTO product_slots VALUES(57,70); -INSERT INTO product_slots VALUES(57,71); -INSERT INTO product_slots VALUES(57,72); -INSERT INTO product_slots VALUES(57,73); -INSERT INTO product_slots VALUES(57,74); -INSERT INTO product_slots VALUES(57,75); -INSERT INTO product_slots VALUES(57,76); -INSERT INTO product_slots VALUES(57,77); -INSERT INTO product_slots VALUES(57,78); -INSERT INTO product_slots VALUES(57,79); -INSERT INTO product_slots VALUES(57,80); -INSERT INTO product_slots VALUES(57,81); -INSERT INTO product_slots VALUES(57,82); -INSERT INTO product_slots VALUES(57,83); -INSERT INTO product_slots VALUES(57,84); -INSERT INTO product_slots VALUES(57,85); -INSERT INTO product_slots VALUES(57,86); -INSERT INTO product_slots VALUES(57,87); -INSERT INTO product_slots VALUES(57,88); -INSERT INTO product_slots VALUES(57,89); -INSERT INTO product_slots VALUES(57,90); -INSERT INTO product_slots VALUES(57,91); -INSERT INTO product_slots VALUES(57,92); -INSERT INTO product_slots VALUES(57,93); -INSERT INTO product_slots VALUES(57,94); -INSERT INTO product_slots VALUES(57,95); -INSERT INTO product_slots VALUES(57,96); -INSERT INTO product_slots VALUES(57,97); -INSERT INTO product_slots VALUES(57,98); -INSERT INTO product_slots VALUES(57,99); -INSERT INTO product_slots VALUES(57,100); -INSERT INTO product_slots VALUES(57,102); -INSERT INTO product_slots VALUES(57,103); -INSERT INTO product_slots VALUES(57,104); -INSERT INTO product_slots VALUES(57,105); -INSERT INTO product_slots VALUES(57,106); -INSERT INTO product_slots VALUES(57,107); -INSERT INTO product_slots VALUES(57,108); -INSERT INTO product_slots VALUES(57,109); -INSERT INTO product_slots VALUES(57,110); -INSERT INTO product_slots VALUES(57,111); -INSERT INTO product_slots VALUES(57,112); -INSERT INTO product_slots VALUES(57,113); -INSERT INTO product_slots VALUES(57,114); -INSERT INTO product_slots VALUES(57,115); -INSERT INTO product_slots VALUES(57,117); -INSERT INTO product_slots VALUES(57,118); -INSERT INTO product_slots VALUES(57,119); -INSERT INTO product_slots VALUES(57,120); -INSERT INTO product_slots VALUES(57,121); -INSERT INTO product_slots VALUES(57,122); -INSERT INTO product_slots VALUES(57,123); -INSERT INTO product_slots VALUES(57,124); -INSERT INTO product_slots VALUES(57,125); -INSERT INTO product_slots VALUES(57,126); -INSERT INTO product_slots VALUES(57,127); -INSERT INTO product_slots VALUES(57,128); -INSERT INTO product_slots VALUES(57,129); -INSERT INTO product_slots VALUES(57,130); -INSERT INTO product_slots VALUES(57,131); -INSERT INTO product_slots VALUES(57,132); -INSERT INTO product_slots VALUES(57,133); -INSERT INTO product_slots VALUES(57,134); -INSERT INTO product_slots VALUES(57,135); -INSERT INTO product_slots VALUES(57,136); -INSERT INTO product_slots VALUES(57,138); -INSERT INTO product_slots VALUES(57,139); -INSERT INTO product_slots VALUES(57,140); -INSERT INTO product_slots VALUES(57,141); -INSERT INTO product_slots VALUES(57,142); -INSERT INTO product_slots VALUES(57,143); -INSERT INTO product_slots VALUES(57,145); -INSERT INTO product_slots VALUES(57,146); -INSERT INTO product_slots VALUES(57,147); -INSERT INTO product_slots VALUES(57,148); -INSERT INTO product_slots VALUES(57,149); -INSERT INTO product_slots VALUES(57,150); -INSERT INTO product_slots VALUES(57,151); -INSERT INTO product_slots VALUES(57,152); -INSERT INTO product_slots VALUES(57,153); -INSERT INTO product_slots VALUES(57,154); -INSERT INTO product_slots VALUES(57,155); -INSERT INTO product_slots VALUES(57,156); -INSERT INTO product_slots VALUES(57,157); -INSERT INTO product_slots VALUES(57,158); -INSERT INTO product_slots VALUES(57,159); -INSERT INTO product_slots VALUES(57,160); -INSERT INTO product_slots VALUES(57,161); -INSERT INTO product_slots VALUES(57,162); -INSERT INTO product_slots VALUES(57,163); -INSERT INTO product_slots VALUES(57,164); -INSERT INTO product_slots VALUES(57,165); -INSERT INTO product_slots VALUES(57,166); -INSERT INTO product_slots VALUES(57,167); -INSERT INTO product_slots VALUES(57,168); -INSERT INTO product_slots VALUES(57,169); -INSERT INTO product_slots VALUES(57,170); -INSERT INTO product_slots VALUES(57,171); -INSERT INTO product_slots VALUES(57,172); -INSERT INTO product_slots VALUES(57,173); -INSERT INTO product_slots VALUES(57,174); -INSERT INTO product_slots VALUES(57,175); -INSERT INTO product_slots VALUES(57,176); -INSERT INTO product_slots VALUES(57,177); -INSERT INTO product_slots VALUES(57,178); -INSERT INTO product_slots VALUES(57,179); -INSERT INTO product_slots VALUES(57,180); -INSERT INTO product_slots VALUES(57,181); -INSERT INTO product_slots VALUES(57,182); -INSERT INTO product_slots VALUES(57,183); -INSERT INTO product_slots VALUES(57,184); -INSERT INTO product_slots VALUES(57,185); -INSERT INTO product_slots VALUES(57,186); -INSERT INTO product_slots VALUES(57,187); -INSERT INTO product_slots VALUES(57,188); -INSERT INTO product_slots VALUES(57,189); -INSERT INTO product_slots VALUES(57,190); -INSERT INTO product_slots VALUES(57,191); -INSERT INTO product_slots VALUES(57,192); -INSERT INTO product_slots VALUES(57,193); -INSERT INTO product_slots VALUES(57,194); -INSERT INTO product_slots VALUES(57,195); -INSERT INTO product_slots VALUES(57,196); -INSERT INTO product_slots VALUES(57,197); -INSERT INTO product_slots VALUES(57,198); -INSERT INTO product_slots VALUES(57,199); -INSERT INTO product_slots VALUES(57,200); -INSERT INTO product_slots VALUES(57,201); -INSERT INTO product_slots VALUES(57,202); -INSERT INTO product_slots VALUES(57,203); -INSERT INTO product_slots VALUES(57,204); -INSERT INTO product_slots VALUES(57,205); -INSERT INTO product_slots VALUES(57,206); -INSERT INTO product_slots VALUES(57,207); -INSERT INTO product_slots VALUES(57,208); -INSERT INTO product_slots VALUES(57,209); -INSERT INTO product_slots VALUES(57,210); -INSERT INTO product_slots VALUES(57,211); -INSERT INTO product_slots VALUES(57,212); -INSERT INTO product_slots VALUES(57,213); -INSERT INTO product_slots VALUES(57,214); -INSERT INTO product_slots VALUES(57,215); -INSERT INTO product_slots VALUES(57,216); -INSERT INTO product_slots VALUES(57,217); -INSERT INTO product_slots VALUES(57,218); -INSERT INTO product_slots VALUES(57,219); -INSERT INTO product_slots VALUES(57,220); -INSERT INTO product_slots VALUES(57,221); -INSERT INTO product_slots VALUES(57,222); -INSERT INTO product_slots VALUES(57,223); -INSERT INTO product_slots VALUES(57,224); -INSERT INTO product_slots VALUES(57,225); -INSERT INTO product_slots VALUES(57,226); -INSERT INTO product_slots VALUES(57,227); -INSERT INTO product_slots VALUES(57,228); -INSERT INTO product_slots VALUES(57,229); -INSERT INTO product_slots VALUES(57,230); -INSERT INTO product_slots VALUES(57,231); -INSERT INTO product_slots VALUES(57,232); -INSERT INTO product_slots VALUES(57,233); -INSERT INTO product_slots VALUES(57,234); -INSERT INTO product_slots VALUES(57,235); -INSERT INTO product_slots VALUES(57,236); -INSERT INTO product_slots VALUES(57,237); -INSERT INTO product_slots VALUES(57,238); -INSERT INTO product_slots VALUES(57,239); -INSERT INTO product_slots VALUES(57,240); -INSERT INTO product_slots VALUES(57,241); -INSERT INTO product_slots VALUES(57,242); -INSERT INTO product_slots VALUES(57,243); -INSERT INTO product_slots VALUES(57,244); -INSERT INTO product_slots VALUES(57,274); -INSERT INTO product_slots VALUES(57,275); -INSERT INTO product_slots VALUES(57,279); -INSERT INTO product_slots VALUES(57,280); -INSERT INTO product_slots VALUES(57,281); -INSERT INTO product_slots VALUES(57,282); -INSERT INTO product_slots VALUES(57,283); -INSERT INTO product_slots VALUES(57,284); -INSERT INTO product_slots VALUES(57,285); -INSERT INTO product_slots VALUES(57,286); -INSERT INTO product_slots VALUES(57,287); -INSERT INTO product_slots VALUES(58,39); -INSERT INTO product_slots VALUES(58,40); -INSERT INTO product_slots VALUES(58,43); -INSERT INTO product_slots VALUES(58,45); -INSERT INTO product_slots VALUES(58,46); -INSERT INTO product_slots VALUES(58,48); -INSERT INTO product_slots VALUES(58,49); -INSERT INTO product_slots VALUES(58,51); -INSERT INTO product_slots VALUES(58,52); -INSERT INTO product_slots VALUES(58,53); -INSERT INTO product_slots VALUES(58,54); -INSERT INTO product_slots VALUES(58,57); -INSERT INTO product_slots VALUES(58,58); -INSERT INTO product_slots VALUES(58,59); -INSERT INTO product_slots VALUES(58,60); -INSERT INTO product_slots VALUES(58,61); -INSERT INTO product_slots VALUES(58,62); -INSERT INTO product_slots VALUES(58,63); -INSERT INTO product_slots VALUES(58,64); -INSERT INTO product_slots VALUES(58,65); -INSERT INTO product_slots VALUES(58,66); -INSERT INTO product_slots VALUES(58,67); -INSERT INTO product_slots VALUES(58,68); -INSERT INTO product_slots VALUES(58,69); -INSERT INTO product_slots VALUES(58,70); -INSERT INTO product_slots VALUES(58,71); -INSERT INTO product_slots VALUES(58,72); -INSERT INTO product_slots VALUES(58,73); -INSERT INTO product_slots VALUES(58,74); -INSERT INTO product_slots VALUES(58,75); -INSERT INTO product_slots VALUES(58,76); -INSERT INTO product_slots VALUES(58,77); -INSERT INTO product_slots VALUES(58,78); -INSERT INTO product_slots VALUES(58,79); -INSERT INTO product_slots VALUES(58,80); -INSERT INTO product_slots VALUES(58,81); -INSERT INTO product_slots VALUES(58,82); -INSERT INTO product_slots VALUES(58,83); -INSERT INTO product_slots VALUES(58,84); -INSERT INTO product_slots VALUES(58,85); -INSERT INTO product_slots VALUES(58,86); -INSERT INTO product_slots VALUES(58,87); -INSERT INTO product_slots VALUES(58,88); -INSERT INTO product_slots VALUES(58,89); -INSERT INTO product_slots VALUES(58,90); -INSERT INTO product_slots VALUES(58,91); -INSERT INTO product_slots VALUES(58,92); -INSERT INTO product_slots VALUES(58,93); -INSERT INTO product_slots VALUES(58,94); -INSERT INTO product_slots VALUES(58,95); -INSERT INTO product_slots VALUES(58,96); -INSERT INTO product_slots VALUES(58,97); -INSERT INTO product_slots VALUES(58,98); -INSERT INTO product_slots VALUES(58,99); -INSERT INTO product_slots VALUES(58,100); -INSERT INTO product_slots VALUES(58,102); -INSERT INTO product_slots VALUES(58,103); -INSERT INTO product_slots VALUES(58,104); -INSERT INTO product_slots VALUES(58,105); -INSERT INTO product_slots VALUES(58,106); -INSERT INTO product_slots VALUES(58,107); -INSERT INTO product_slots VALUES(58,108); -INSERT INTO product_slots VALUES(58,109); -INSERT INTO product_slots VALUES(58,110); -INSERT INTO product_slots VALUES(58,111); -INSERT INTO product_slots VALUES(58,112); -INSERT INTO product_slots VALUES(58,113); -INSERT INTO product_slots VALUES(58,114); -INSERT INTO product_slots VALUES(58,115); -INSERT INTO product_slots VALUES(58,117); -INSERT INTO product_slots VALUES(58,118); -INSERT INTO product_slots VALUES(58,119); -INSERT INTO product_slots VALUES(58,120); -INSERT INTO product_slots VALUES(58,121); -INSERT INTO product_slots VALUES(58,122); -INSERT INTO product_slots VALUES(58,123); -INSERT INTO product_slots VALUES(58,124); -INSERT INTO product_slots VALUES(58,125); -INSERT INTO product_slots VALUES(58,126); -INSERT INTO product_slots VALUES(58,127); -INSERT INTO product_slots VALUES(58,128); -INSERT INTO product_slots VALUES(58,129); -INSERT INTO product_slots VALUES(58,130); -INSERT INTO product_slots VALUES(58,131); -INSERT INTO product_slots VALUES(58,132); -INSERT INTO product_slots VALUES(58,133); -INSERT INTO product_slots VALUES(58,134); -INSERT INTO product_slots VALUES(58,135); -INSERT INTO product_slots VALUES(58,136); -INSERT INTO product_slots VALUES(58,138); -INSERT INTO product_slots VALUES(58,139); -INSERT INTO product_slots VALUES(58,140); -INSERT INTO product_slots VALUES(58,141); -INSERT INTO product_slots VALUES(58,142); -INSERT INTO product_slots VALUES(58,143); -INSERT INTO product_slots VALUES(58,145); -INSERT INTO product_slots VALUES(58,146); -INSERT INTO product_slots VALUES(58,147); -INSERT INTO product_slots VALUES(58,148); -INSERT INTO product_slots VALUES(58,149); -INSERT INTO product_slots VALUES(58,150); -INSERT INTO product_slots VALUES(58,151); -INSERT INTO product_slots VALUES(58,152); -INSERT INTO product_slots VALUES(58,153); -INSERT INTO product_slots VALUES(58,154); -INSERT INTO product_slots VALUES(58,155); -INSERT INTO product_slots VALUES(58,156); -INSERT INTO product_slots VALUES(58,157); -INSERT INTO product_slots VALUES(58,158); -INSERT INTO product_slots VALUES(58,159); -INSERT INTO product_slots VALUES(58,160); -INSERT INTO product_slots VALUES(58,161); -INSERT INTO product_slots VALUES(58,162); -INSERT INTO product_slots VALUES(58,163); -INSERT INTO product_slots VALUES(58,164); -INSERT INTO product_slots VALUES(58,165); -INSERT INTO product_slots VALUES(58,166); -INSERT INTO product_slots VALUES(58,167); -INSERT INTO product_slots VALUES(58,168); -INSERT INTO product_slots VALUES(58,169); -INSERT INTO product_slots VALUES(58,170); -INSERT INTO product_slots VALUES(58,171); -INSERT INTO product_slots VALUES(58,172); -INSERT INTO product_slots VALUES(58,173); -INSERT INTO product_slots VALUES(58,174); -INSERT INTO product_slots VALUES(58,175); -INSERT INTO product_slots VALUES(58,176); -INSERT INTO product_slots VALUES(58,177); -INSERT INTO product_slots VALUES(58,178); -INSERT INTO product_slots VALUES(58,179); -INSERT INTO product_slots VALUES(58,180); -INSERT INTO product_slots VALUES(58,181); -INSERT INTO product_slots VALUES(58,182); -INSERT INTO product_slots VALUES(58,183); -INSERT INTO product_slots VALUES(58,184); -INSERT INTO product_slots VALUES(58,185); -INSERT INTO product_slots VALUES(58,186); -INSERT INTO product_slots VALUES(58,187); -INSERT INTO product_slots VALUES(58,188); -INSERT INTO product_slots VALUES(58,189); -INSERT INTO product_slots VALUES(58,190); -INSERT INTO product_slots VALUES(58,191); -INSERT INTO product_slots VALUES(58,192); -INSERT INTO product_slots VALUES(58,193); -INSERT INTO product_slots VALUES(58,194); -INSERT INTO product_slots VALUES(58,195); -INSERT INTO product_slots VALUES(58,196); -INSERT INTO product_slots VALUES(58,197); -INSERT INTO product_slots VALUES(58,198); -INSERT INTO product_slots VALUES(58,199); -INSERT INTO product_slots VALUES(58,200); -INSERT INTO product_slots VALUES(58,201); -INSERT INTO product_slots VALUES(58,202); -INSERT INTO product_slots VALUES(58,203); -INSERT INTO product_slots VALUES(58,204); -INSERT INTO product_slots VALUES(58,205); -INSERT INTO product_slots VALUES(58,206); -INSERT INTO product_slots VALUES(58,207); -INSERT INTO product_slots VALUES(58,208); -INSERT INTO product_slots VALUES(58,209); -INSERT INTO product_slots VALUES(58,210); -INSERT INTO product_slots VALUES(58,211); -INSERT INTO product_slots VALUES(58,212); -INSERT INTO product_slots VALUES(58,213); -INSERT INTO product_slots VALUES(58,214); -INSERT INTO product_slots VALUES(58,215); -INSERT INTO product_slots VALUES(58,216); -INSERT INTO product_slots VALUES(58,217); -INSERT INTO product_slots VALUES(58,218); -INSERT INTO product_slots VALUES(58,219); -INSERT INTO product_slots VALUES(58,220); -INSERT INTO product_slots VALUES(58,221); -INSERT INTO product_slots VALUES(58,222); -INSERT INTO product_slots VALUES(58,223); -INSERT INTO product_slots VALUES(58,224); -INSERT INTO product_slots VALUES(58,225); -INSERT INTO product_slots VALUES(58,226); -INSERT INTO product_slots VALUES(58,227); -INSERT INTO product_slots VALUES(58,228); -INSERT INTO product_slots VALUES(58,229); -INSERT INTO product_slots VALUES(58,230); -INSERT INTO product_slots VALUES(58,231); -INSERT INTO product_slots VALUES(58,232); -INSERT INTO product_slots VALUES(58,233); -INSERT INTO product_slots VALUES(58,234); -INSERT INTO product_slots VALUES(58,235); -INSERT INTO product_slots VALUES(58,236); -INSERT INTO product_slots VALUES(58,237); -INSERT INTO product_slots VALUES(58,238); -INSERT INTO product_slots VALUES(58,239); -INSERT INTO product_slots VALUES(58,240); -INSERT INTO product_slots VALUES(58,241); -INSERT INTO product_slots VALUES(58,242); -INSERT INTO product_slots VALUES(58,243); -INSERT INTO product_slots VALUES(58,244); -INSERT INTO product_slots VALUES(58,274); -INSERT INTO product_slots VALUES(58,275); -INSERT INTO product_slots VALUES(58,279); -INSERT INTO product_slots VALUES(58,280); -INSERT INTO product_slots VALUES(58,281); -INSERT INTO product_slots VALUES(58,282); -INSERT INTO product_slots VALUES(58,283); -INSERT INTO product_slots VALUES(58,284); -INSERT INTO product_slots VALUES(58,285); -INSERT INTO product_slots VALUES(58,286); -INSERT INTO product_slots VALUES(58,287); -INSERT INTO product_slots VALUES(59,39); -INSERT INTO product_slots VALUES(59,40); -INSERT INTO product_slots VALUES(59,43); -INSERT INTO product_slots VALUES(59,45); -INSERT INTO product_slots VALUES(59,46); -INSERT INTO product_slots VALUES(59,48); -INSERT INTO product_slots VALUES(59,49); -INSERT INTO product_slots VALUES(59,51); -INSERT INTO product_slots VALUES(59,52); -INSERT INTO product_slots VALUES(59,53); -INSERT INTO product_slots VALUES(59,54); -INSERT INTO product_slots VALUES(59,57); -INSERT INTO product_slots VALUES(59,58); -INSERT INTO product_slots VALUES(59,59); -INSERT INTO product_slots VALUES(59,60); -INSERT INTO product_slots VALUES(59,61); -INSERT INTO product_slots VALUES(59,62); -INSERT INTO product_slots VALUES(59,63); -INSERT INTO product_slots VALUES(59,64); -INSERT INTO product_slots VALUES(59,65); -INSERT INTO product_slots VALUES(59,66); -INSERT INTO product_slots VALUES(59,67); -INSERT INTO product_slots VALUES(59,68); -INSERT INTO product_slots VALUES(59,69); -INSERT INTO product_slots VALUES(59,70); -INSERT INTO product_slots VALUES(59,71); -INSERT INTO product_slots VALUES(59,72); -INSERT INTO product_slots VALUES(59,73); -INSERT INTO product_slots VALUES(59,74); -INSERT INTO product_slots VALUES(59,75); -INSERT INTO product_slots VALUES(59,76); -INSERT INTO product_slots VALUES(59,77); -INSERT INTO product_slots VALUES(59,78); -INSERT INTO product_slots VALUES(59,79); -INSERT INTO product_slots VALUES(59,80); -INSERT INTO product_slots VALUES(59,81); -INSERT INTO product_slots VALUES(59,82); -INSERT INTO product_slots VALUES(59,83); -INSERT INTO product_slots VALUES(59,84); -INSERT INTO product_slots VALUES(59,85); -INSERT INTO product_slots VALUES(59,86); -INSERT INTO product_slots VALUES(59,87); -INSERT INTO product_slots VALUES(59,88); -INSERT INTO product_slots VALUES(59,89); -INSERT INTO product_slots VALUES(59,90); -INSERT INTO product_slots VALUES(59,91); -INSERT INTO product_slots VALUES(59,92); -INSERT INTO product_slots VALUES(59,93); -INSERT INTO product_slots VALUES(59,94); -INSERT INTO product_slots VALUES(59,95); -INSERT INTO product_slots VALUES(59,96); -INSERT INTO product_slots VALUES(59,97); -INSERT INTO product_slots VALUES(59,98); -INSERT INTO product_slots VALUES(59,99); -INSERT INTO product_slots VALUES(59,100); -INSERT INTO product_slots VALUES(59,102); -INSERT INTO product_slots VALUES(59,103); -INSERT INTO product_slots VALUES(59,104); -INSERT INTO product_slots VALUES(59,105); -INSERT INTO product_slots VALUES(59,106); -INSERT INTO product_slots VALUES(59,107); -INSERT INTO product_slots VALUES(59,108); -INSERT INTO product_slots VALUES(59,109); -INSERT INTO product_slots VALUES(59,110); -INSERT INTO product_slots VALUES(59,111); -INSERT INTO product_slots VALUES(59,112); -INSERT INTO product_slots VALUES(59,113); -INSERT INTO product_slots VALUES(59,114); -INSERT INTO product_slots VALUES(59,115); -INSERT INTO product_slots VALUES(59,117); -INSERT INTO product_slots VALUES(59,118); -INSERT INTO product_slots VALUES(59,119); -INSERT INTO product_slots VALUES(59,120); -INSERT INTO product_slots VALUES(59,121); -INSERT INTO product_slots VALUES(59,122); -INSERT INTO product_slots VALUES(59,123); -INSERT INTO product_slots VALUES(59,124); -INSERT INTO product_slots VALUES(59,125); -INSERT INTO product_slots VALUES(59,126); -INSERT INTO product_slots VALUES(59,127); -INSERT INTO product_slots VALUES(59,128); -INSERT INTO product_slots VALUES(59,129); -INSERT INTO product_slots VALUES(59,130); -INSERT INTO product_slots VALUES(59,131); -INSERT INTO product_slots VALUES(59,132); -INSERT INTO product_slots VALUES(59,133); -INSERT INTO product_slots VALUES(59,134); -INSERT INTO product_slots VALUES(59,135); -INSERT INTO product_slots VALUES(59,136); -INSERT INTO product_slots VALUES(59,138); -INSERT INTO product_slots VALUES(59,139); -INSERT INTO product_slots VALUES(59,140); -INSERT INTO product_slots VALUES(59,141); -INSERT INTO product_slots VALUES(59,142); -INSERT INTO product_slots VALUES(59,143); -INSERT INTO product_slots VALUES(59,145); -INSERT INTO product_slots VALUES(59,146); -INSERT INTO product_slots VALUES(59,147); -INSERT INTO product_slots VALUES(59,148); -INSERT INTO product_slots VALUES(59,149); -INSERT INTO product_slots VALUES(59,150); -INSERT INTO product_slots VALUES(59,151); -INSERT INTO product_slots VALUES(59,152); -INSERT INTO product_slots VALUES(59,153); -INSERT INTO product_slots VALUES(59,154); -INSERT INTO product_slots VALUES(59,155); -INSERT INTO product_slots VALUES(59,156); -INSERT INTO product_slots VALUES(59,157); -INSERT INTO product_slots VALUES(59,158); -INSERT INTO product_slots VALUES(59,159); -INSERT INTO product_slots VALUES(59,160); -INSERT INTO product_slots VALUES(59,161); -INSERT INTO product_slots VALUES(59,162); -INSERT INTO product_slots VALUES(59,163); -INSERT INTO product_slots VALUES(59,164); -INSERT INTO product_slots VALUES(59,165); -INSERT INTO product_slots VALUES(59,166); -INSERT INTO product_slots VALUES(59,167); -INSERT INTO product_slots VALUES(59,168); -INSERT INTO product_slots VALUES(59,169); -INSERT INTO product_slots VALUES(59,170); -INSERT INTO product_slots VALUES(59,171); -INSERT INTO product_slots VALUES(59,172); -INSERT INTO product_slots VALUES(59,173); -INSERT INTO product_slots VALUES(59,174); -INSERT INTO product_slots VALUES(59,175); -INSERT INTO product_slots VALUES(59,176); -INSERT INTO product_slots VALUES(59,177); -INSERT INTO product_slots VALUES(59,178); -INSERT INTO product_slots VALUES(59,179); -INSERT INTO product_slots VALUES(59,180); -INSERT INTO product_slots VALUES(59,181); -INSERT INTO product_slots VALUES(59,182); -INSERT INTO product_slots VALUES(59,183); -INSERT INTO product_slots VALUES(59,184); -INSERT INTO product_slots VALUES(59,185); -INSERT INTO product_slots VALUES(59,186); -INSERT INTO product_slots VALUES(59,187); -INSERT INTO product_slots VALUES(59,188); -INSERT INTO product_slots VALUES(59,189); -INSERT INTO product_slots VALUES(59,190); -INSERT INTO product_slots VALUES(59,191); -INSERT INTO product_slots VALUES(59,192); -INSERT INTO product_slots VALUES(59,193); -INSERT INTO product_slots VALUES(59,194); -INSERT INTO product_slots VALUES(59,195); -INSERT INTO product_slots VALUES(59,196); -INSERT INTO product_slots VALUES(59,197); -INSERT INTO product_slots VALUES(59,198); -INSERT INTO product_slots VALUES(59,199); -INSERT INTO product_slots VALUES(59,200); -INSERT INTO product_slots VALUES(59,201); -INSERT INTO product_slots VALUES(59,202); -INSERT INTO product_slots VALUES(59,203); -INSERT INTO product_slots VALUES(59,204); -INSERT INTO product_slots VALUES(59,205); -INSERT INTO product_slots VALUES(59,206); -INSERT INTO product_slots VALUES(59,207); -INSERT INTO product_slots VALUES(59,208); -INSERT INTO product_slots VALUES(59,209); -INSERT INTO product_slots VALUES(59,210); -INSERT INTO product_slots VALUES(59,211); -INSERT INTO product_slots VALUES(59,212); -INSERT INTO product_slots VALUES(59,213); -INSERT INTO product_slots VALUES(59,214); -INSERT INTO product_slots VALUES(59,215); -INSERT INTO product_slots VALUES(59,216); -INSERT INTO product_slots VALUES(59,217); -INSERT INTO product_slots VALUES(59,218); -INSERT INTO product_slots VALUES(59,219); -INSERT INTO product_slots VALUES(59,220); -INSERT INTO product_slots VALUES(59,221); -INSERT INTO product_slots VALUES(59,222); -INSERT INTO product_slots VALUES(59,223); -INSERT INTO product_slots VALUES(59,224); -INSERT INTO product_slots VALUES(59,225); -INSERT INTO product_slots VALUES(59,226); -INSERT INTO product_slots VALUES(59,227); -INSERT INTO product_slots VALUES(59,228); -INSERT INTO product_slots VALUES(59,229); -INSERT INTO product_slots VALUES(59,230); -INSERT INTO product_slots VALUES(59,231); -INSERT INTO product_slots VALUES(59,232); -INSERT INTO product_slots VALUES(59,233); -INSERT INTO product_slots VALUES(59,234); -INSERT INTO product_slots VALUES(59,235); -INSERT INTO product_slots VALUES(59,236); -INSERT INTO product_slots VALUES(59,237); -INSERT INTO product_slots VALUES(59,238); -INSERT INTO product_slots VALUES(59,239); -INSERT INTO product_slots VALUES(59,240); -INSERT INTO product_slots VALUES(59,241); -INSERT INTO product_slots VALUES(59,242); -INSERT INTO product_slots VALUES(59,243); -INSERT INTO product_slots VALUES(59,244); -INSERT INTO product_slots VALUES(59,274); -INSERT INTO product_slots VALUES(59,275); -INSERT INTO product_slots VALUES(59,279); -INSERT INTO product_slots VALUES(59,280); -INSERT INTO product_slots VALUES(59,281); -INSERT INTO product_slots VALUES(59,282); -INSERT INTO product_slots VALUES(59,283); -INSERT INTO product_slots VALUES(59,284); -INSERT INTO product_slots VALUES(59,285); -INSERT INTO product_slots VALUES(59,286); -INSERT INTO product_slots VALUES(59,287); -INSERT INTO product_slots VALUES(60,39); -INSERT INTO product_slots VALUES(60,40); -INSERT INTO product_slots VALUES(60,43); -INSERT INTO product_slots VALUES(60,45); -INSERT INTO product_slots VALUES(60,46); -INSERT INTO product_slots VALUES(60,48); -INSERT INTO product_slots VALUES(60,49); -INSERT INTO product_slots VALUES(60,51); -INSERT INTO product_slots VALUES(60,52); -INSERT INTO product_slots VALUES(60,53); -INSERT INTO product_slots VALUES(60,54); -INSERT INTO product_slots VALUES(60,57); -INSERT INTO product_slots VALUES(60,58); -INSERT INTO product_slots VALUES(60,59); -INSERT INTO product_slots VALUES(60,60); -INSERT INTO product_slots VALUES(60,61); -INSERT INTO product_slots VALUES(60,62); -INSERT INTO product_slots VALUES(60,63); -INSERT INTO product_slots VALUES(60,64); -INSERT INTO product_slots VALUES(60,65); -INSERT INTO product_slots VALUES(60,66); -INSERT INTO product_slots VALUES(60,67); -INSERT INTO product_slots VALUES(60,68); -INSERT INTO product_slots VALUES(60,69); -INSERT INTO product_slots VALUES(60,70); -INSERT INTO product_slots VALUES(60,71); -INSERT INTO product_slots VALUES(60,72); -INSERT INTO product_slots VALUES(60,73); -INSERT INTO product_slots VALUES(60,74); -INSERT INTO product_slots VALUES(60,75); -INSERT INTO product_slots VALUES(60,76); -INSERT INTO product_slots VALUES(60,77); -INSERT INTO product_slots VALUES(60,78); -INSERT INTO product_slots VALUES(60,79); -INSERT INTO product_slots VALUES(60,80); -INSERT INTO product_slots VALUES(60,81); -INSERT INTO product_slots VALUES(60,82); -INSERT INTO product_slots VALUES(60,83); -INSERT INTO product_slots VALUES(60,84); -INSERT INTO product_slots VALUES(60,85); -INSERT INTO product_slots VALUES(60,86); -INSERT INTO product_slots VALUES(60,87); -INSERT INTO product_slots VALUES(60,88); -INSERT INTO product_slots VALUES(60,89); -INSERT INTO product_slots VALUES(60,90); -INSERT INTO product_slots VALUES(60,91); -INSERT INTO product_slots VALUES(60,92); -INSERT INTO product_slots VALUES(60,93); -INSERT INTO product_slots VALUES(60,94); -INSERT INTO product_slots VALUES(60,95); -INSERT INTO product_slots VALUES(60,96); -INSERT INTO product_slots VALUES(60,97); -INSERT INTO product_slots VALUES(60,98); -INSERT INTO product_slots VALUES(60,99); -INSERT INTO product_slots VALUES(60,100); -INSERT INTO product_slots VALUES(60,102); -INSERT INTO product_slots VALUES(60,103); -INSERT INTO product_slots VALUES(60,104); -INSERT INTO product_slots VALUES(60,105); -INSERT INTO product_slots VALUES(60,106); -INSERT INTO product_slots VALUES(60,107); -INSERT INTO product_slots VALUES(60,108); -INSERT INTO product_slots VALUES(60,109); -INSERT INTO product_slots VALUES(60,110); -INSERT INTO product_slots VALUES(60,111); -INSERT INTO product_slots VALUES(60,112); -INSERT INTO product_slots VALUES(60,113); -INSERT INTO product_slots VALUES(60,114); -INSERT INTO product_slots VALUES(60,115); -INSERT INTO product_slots VALUES(60,117); -INSERT INTO product_slots VALUES(60,118); -INSERT INTO product_slots VALUES(60,119); -INSERT INTO product_slots VALUES(60,120); -INSERT INTO product_slots VALUES(60,121); -INSERT INTO product_slots VALUES(60,122); -INSERT INTO product_slots VALUES(60,123); -INSERT INTO product_slots VALUES(60,124); -INSERT INTO product_slots VALUES(60,125); -INSERT INTO product_slots VALUES(60,126); -INSERT INTO product_slots VALUES(60,127); -INSERT INTO product_slots VALUES(60,128); -INSERT INTO product_slots VALUES(60,129); -INSERT INTO product_slots VALUES(60,130); -INSERT INTO product_slots VALUES(60,131); -INSERT INTO product_slots VALUES(60,132); -INSERT INTO product_slots VALUES(60,133); -INSERT INTO product_slots VALUES(60,134); -INSERT INTO product_slots VALUES(60,135); -INSERT INTO product_slots VALUES(60,136); -INSERT INTO product_slots VALUES(60,138); -INSERT INTO product_slots VALUES(60,139); -INSERT INTO product_slots VALUES(60,140); -INSERT INTO product_slots VALUES(60,141); -INSERT INTO product_slots VALUES(60,142); -INSERT INTO product_slots VALUES(60,143); -INSERT INTO product_slots VALUES(60,145); -INSERT INTO product_slots VALUES(60,146); -INSERT INTO product_slots VALUES(60,147); -INSERT INTO product_slots VALUES(60,148); -INSERT INTO product_slots VALUES(60,149); -INSERT INTO product_slots VALUES(60,150); -INSERT INTO product_slots VALUES(60,151); -INSERT INTO product_slots VALUES(60,152); -INSERT INTO product_slots VALUES(60,153); -INSERT INTO product_slots VALUES(60,154); -INSERT INTO product_slots VALUES(60,155); -INSERT INTO product_slots VALUES(60,156); -INSERT INTO product_slots VALUES(60,157); -INSERT INTO product_slots VALUES(60,158); -INSERT INTO product_slots VALUES(60,159); -INSERT INTO product_slots VALUES(60,160); -INSERT INTO product_slots VALUES(60,161); -INSERT INTO product_slots VALUES(60,162); -INSERT INTO product_slots VALUES(60,163); -INSERT INTO product_slots VALUES(60,164); -INSERT INTO product_slots VALUES(60,165); -INSERT INTO product_slots VALUES(60,166); -INSERT INTO product_slots VALUES(60,167); -INSERT INTO product_slots VALUES(60,168); -INSERT INTO product_slots VALUES(60,169); -INSERT INTO product_slots VALUES(60,170); -INSERT INTO product_slots VALUES(60,171); -INSERT INTO product_slots VALUES(60,172); -INSERT INTO product_slots VALUES(60,173); -INSERT INTO product_slots VALUES(60,174); -INSERT INTO product_slots VALUES(60,175); -INSERT INTO product_slots VALUES(60,176); -INSERT INTO product_slots VALUES(60,177); -INSERT INTO product_slots VALUES(60,178); -INSERT INTO product_slots VALUES(60,179); -INSERT INTO product_slots VALUES(60,180); -INSERT INTO product_slots VALUES(60,181); -INSERT INTO product_slots VALUES(60,182); -INSERT INTO product_slots VALUES(60,183); -INSERT INTO product_slots VALUES(60,184); -INSERT INTO product_slots VALUES(60,185); -INSERT INTO product_slots VALUES(60,186); -INSERT INTO product_slots VALUES(60,187); -INSERT INTO product_slots VALUES(60,188); -INSERT INTO product_slots VALUES(60,189); -INSERT INTO product_slots VALUES(60,190); -INSERT INTO product_slots VALUES(60,191); -INSERT INTO product_slots VALUES(60,192); -INSERT INTO product_slots VALUES(60,193); -INSERT INTO product_slots VALUES(60,194); -INSERT INTO product_slots VALUES(60,195); -INSERT INTO product_slots VALUES(60,196); -INSERT INTO product_slots VALUES(60,197); -INSERT INTO product_slots VALUES(60,198); -INSERT INTO product_slots VALUES(60,199); -INSERT INTO product_slots VALUES(60,200); -INSERT INTO product_slots VALUES(60,201); -INSERT INTO product_slots VALUES(60,202); -INSERT INTO product_slots VALUES(60,203); -INSERT INTO product_slots VALUES(60,204); -INSERT INTO product_slots VALUES(60,205); -INSERT INTO product_slots VALUES(60,206); -INSERT INTO product_slots VALUES(60,207); -INSERT INTO product_slots VALUES(60,208); -INSERT INTO product_slots VALUES(60,209); -INSERT INTO product_slots VALUES(60,210); -INSERT INTO product_slots VALUES(60,211); -INSERT INTO product_slots VALUES(60,212); -INSERT INTO product_slots VALUES(60,213); -INSERT INTO product_slots VALUES(60,214); -INSERT INTO product_slots VALUES(60,215); -INSERT INTO product_slots VALUES(60,216); -INSERT INTO product_slots VALUES(60,217); -INSERT INTO product_slots VALUES(60,218); -INSERT INTO product_slots VALUES(60,219); -INSERT INTO product_slots VALUES(60,220); -INSERT INTO product_slots VALUES(60,221); -INSERT INTO product_slots VALUES(60,222); -INSERT INTO product_slots VALUES(60,223); -INSERT INTO product_slots VALUES(60,224); -INSERT INTO product_slots VALUES(60,225); -INSERT INTO product_slots VALUES(60,226); -INSERT INTO product_slots VALUES(60,227); -INSERT INTO product_slots VALUES(60,228); -INSERT INTO product_slots VALUES(60,229); -INSERT INTO product_slots VALUES(60,230); -INSERT INTO product_slots VALUES(60,231); -INSERT INTO product_slots VALUES(60,232); -INSERT INTO product_slots VALUES(60,233); -INSERT INTO product_slots VALUES(60,234); -INSERT INTO product_slots VALUES(60,235); -INSERT INTO product_slots VALUES(60,236); -INSERT INTO product_slots VALUES(60,237); -INSERT INTO product_slots VALUES(60,238); -INSERT INTO product_slots VALUES(60,239); -INSERT INTO product_slots VALUES(60,240); -INSERT INTO product_slots VALUES(60,241); -INSERT INTO product_slots VALUES(60,242); -INSERT INTO product_slots VALUES(60,243); -INSERT INTO product_slots VALUES(60,244); -INSERT INTO product_slots VALUES(60,274); -INSERT INTO product_slots VALUES(60,275); -INSERT INTO product_slots VALUES(60,279); -INSERT INTO product_slots VALUES(60,280); -INSERT INTO product_slots VALUES(60,281); -INSERT INTO product_slots VALUES(60,282); -INSERT INTO product_slots VALUES(60,283); -INSERT INTO product_slots VALUES(60,284); -INSERT INTO product_slots VALUES(60,285); -INSERT INTO product_slots VALUES(60,286); -INSERT INTO product_slots VALUES(60,287); -INSERT INTO product_slots VALUES(61,39); -INSERT INTO product_slots VALUES(61,40); -INSERT INTO product_slots VALUES(61,43); -INSERT INTO product_slots VALUES(61,45); -INSERT INTO product_slots VALUES(61,46); -INSERT INTO product_slots VALUES(61,48); -INSERT INTO product_slots VALUES(61,49); -INSERT INTO product_slots VALUES(61,51); -INSERT INTO product_slots VALUES(61,52); -INSERT INTO product_slots VALUES(61,53); -INSERT INTO product_slots VALUES(61,54); -INSERT INTO product_slots VALUES(61,57); -INSERT INTO product_slots VALUES(61,58); -INSERT INTO product_slots VALUES(61,59); -INSERT INTO product_slots VALUES(61,60); -INSERT INTO product_slots VALUES(61,61); -INSERT INTO product_slots VALUES(61,62); -INSERT INTO product_slots VALUES(61,63); -INSERT INTO product_slots VALUES(61,64); -INSERT INTO product_slots VALUES(61,65); -INSERT INTO product_slots VALUES(61,66); -INSERT INTO product_slots VALUES(61,67); -INSERT INTO product_slots VALUES(61,68); -INSERT INTO product_slots VALUES(61,69); -INSERT INTO product_slots VALUES(61,70); -INSERT INTO product_slots VALUES(61,71); -INSERT INTO product_slots VALUES(61,72); -INSERT INTO product_slots VALUES(61,73); -INSERT INTO product_slots VALUES(61,74); -INSERT INTO product_slots VALUES(61,75); -INSERT INTO product_slots VALUES(61,76); -INSERT INTO product_slots VALUES(61,77); -INSERT INTO product_slots VALUES(61,78); -INSERT INTO product_slots VALUES(61,79); -INSERT INTO product_slots VALUES(61,80); -INSERT INTO product_slots VALUES(61,81); -INSERT INTO product_slots VALUES(61,82); -INSERT INTO product_slots VALUES(61,83); -INSERT INTO product_slots VALUES(61,84); -INSERT INTO product_slots VALUES(61,85); -INSERT INTO product_slots VALUES(61,86); -INSERT INTO product_slots VALUES(61,87); -INSERT INTO product_slots VALUES(61,88); -INSERT INTO product_slots VALUES(61,89); -INSERT INTO product_slots VALUES(61,90); -INSERT INTO product_slots VALUES(61,91); -INSERT INTO product_slots VALUES(61,92); -INSERT INTO product_slots VALUES(61,93); -INSERT INTO product_slots VALUES(61,94); -INSERT INTO product_slots VALUES(61,95); -INSERT INTO product_slots VALUES(61,96); -INSERT INTO product_slots VALUES(61,97); -INSERT INTO product_slots VALUES(61,98); -INSERT INTO product_slots VALUES(61,99); -INSERT INTO product_slots VALUES(61,100); -INSERT INTO product_slots VALUES(61,102); -INSERT INTO product_slots VALUES(61,103); -INSERT INTO product_slots VALUES(61,104); -INSERT INTO product_slots VALUES(61,105); -INSERT INTO product_slots VALUES(61,106); -INSERT INTO product_slots VALUES(61,107); -INSERT INTO product_slots VALUES(61,108); -INSERT INTO product_slots VALUES(61,109); -INSERT INTO product_slots VALUES(61,110); -INSERT INTO product_slots VALUES(61,111); -INSERT INTO product_slots VALUES(61,112); -INSERT INTO product_slots VALUES(61,113); -INSERT INTO product_slots VALUES(61,114); -INSERT INTO product_slots VALUES(61,115); -INSERT INTO product_slots VALUES(61,117); -INSERT INTO product_slots VALUES(61,118); -INSERT INTO product_slots VALUES(61,119); -INSERT INTO product_slots VALUES(61,120); -INSERT INTO product_slots VALUES(61,121); -INSERT INTO product_slots VALUES(61,122); -INSERT INTO product_slots VALUES(61,123); -INSERT INTO product_slots VALUES(61,124); -INSERT INTO product_slots VALUES(61,125); -INSERT INTO product_slots VALUES(61,126); -INSERT INTO product_slots VALUES(61,127); -INSERT INTO product_slots VALUES(61,128); -INSERT INTO product_slots VALUES(61,129); -INSERT INTO product_slots VALUES(61,130); -INSERT INTO product_slots VALUES(61,131); -INSERT INTO product_slots VALUES(61,132); -INSERT INTO product_slots VALUES(61,133); -INSERT INTO product_slots VALUES(61,134); -INSERT INTO product_slots VALUES(61,135); -INSERT INTO product_slots VALUES(61,136); -INSERT INTO product_slots VALUES(61,138); -INSERT INTO product_slots VALUES(61,139); -INSERT INTO product_slots VALUES(61,140); -INSERT INTO product_slots VALUES(61,141); -INSERT INTO product_slots VALUES(61,142); -INSERT INTO product_slots VALUES(61,143); -INSERT INTO product_slots VALUES(61,145); -INSERT INTO product_slots VALUES(61,146); -INSERT INTO product_slots VALUES(61,147); -INSERT INTO product_slots VALUES(61,148); -INSERT INTO product_slots VALUES(61,149); -INSERT INTO product_slots VALUES(61,150); -INSERT INTO product_slots VALUES(61,151); -INSERT INTO product_slots VALUES(61,152); -INSERT INTO product_slots VALUES(61,153); -INSERT INTO product_slots VALUES(61,154); -INSERT INTO product_slots VALUES(61,155); -INSERT INTO product_slots VALUES(61,156); -INSERT INTO product_slots VALUES(61,157); -INSERT INTO product_slots VALUES(61,158); -INSERT INTO product_slots VALUES(61,159); -INSERT INTO product_slots VALUES(61,160); -INSERT INTO product_slots VALUES(61,161); -INSERT INTO product_slots VALUES(61,162); -INSERT INTO product_slots VALUES(61,163); -INSERT INTO product_slots VALUES(61,164); -INSERT INTO product_slots VALUES(61,165); -INSERT INTO product_slots VALUES(61,166); -INSERT INTO product_slots VALUES(61,167); -INSERT INTO product_slots VALUES(61,168); -INSERT INTO product_slots VALUES(61,169); -INSERT INTO product_slots VALUES(61,170); -INSERT INTO product_slots VALUES(61,171); -INSERT INTO product_slots VALUES(61,172); -INSERT INTO product_slots VALUES(61,173); -INSERT INTO product_slots VALUES(61,174); -INSERT INTO product_slots VALUES(61,175); -INSERT INTO product_slots VALUES(61,176); -INSERT INTO product_slots VALUES(61,177); -INSERT INTO product_slots VALUES(61,178); -INSERT INTO product_slots VALUES(61,179); -INSERT INTO product_slots VALUES(61,180); -INSERT INTO product_slots VALUES(61,181); -INSERT INTO product_slots VALUES(61,182); -INSERT INTO product_slots VALUES(61,183); -INSERT INTO product_slots VALUES(61,184); -INSERT INTO product_slots VALUES(61,185); -INSERT INTO product_slots VALUES(61,186); -INSERT INTO product_slots VALUES(61,187); -INSERT INTO product_slots VALUES(61,188); -INSERT INTO product_slots VALUES(61,189); -INSERT INTO product_slots VALUES(61,190); -INSERT INTO product_slots VALUES(61,191); -INSERT INTO product_slots VALUES(61,192); -INSERT INTO product_slots VALUES(61,193); -INSERT INTO product_slots VALUES(61,194); -INSERT INTO product_slots VALUES(61,195); -INSERT INTO product_slots VALUES(61,196); -INSERT INTO product_slots VALUES(61,197); -INSERT INTO product_slots VALUES(61,198); -INSERT INTO product_slots VALUES(61,199); -INSERT INTO product_slots VALUES(61,200); -INSERT INTO product_slots VALUES(61,201); -INSERT INTO product_slots VALUES(61,202); -INSERT INTO product_slots VALUES(61,203); -INSERT INTO product_slots VALUES(61,204); -INSERT INTO product_slots VALUES(61,205); -INSERT INTO product_slots VALUES(61,206); -INSERT INTO product_slots VALUES(61,207); -INSERT INTO product_slots VALUES(61,208); -INSERT INTO product_slots VALUES(61,209); -INSERT INTO product_slots VALUES(61,210); -INSERT INTO product_slots VALUES(61,211); -INSERT INTO product_slots VALUES(61,212); -INSERT INTO product_slots VALUES(61,213); -INSERT INTO product_slots VALUES(61,214); -INSERT INTO product_slots VALUES(61,215); -INSERT INTO product_slots VALUES(61,216); -INSERT INTO product_slots VALUES(61,217); -INSERT INTO product_slots VALUES(61,218); -INSERT INTO product_slots VALUES(61,219); -INSERT INTO product_slots VALUES(61,220); -INSERT INTO product_slots VALUES(61,221); -INSERT INTO product_slots VALUES(61,222); -INSERT INTO product_slots VALUES(61,223); -INSERT INTO product_slots VALUES(61,224); -INSERT INTO product_slots VALUES(61,225); -INSERT INTO product_slots VALUES(61,226); -INSERT INTO product_slots VALUES(61,227); -INSERT INTO product_slots VALUES(61,228); -INSERT INTO product_slots VALUES(61,229); -INSERT INTO product_slots VALUES(61,230); -INSERT INTO product_slots VALUES(61,231); -INSERT INTO product_slots VALUES(61,232); -INSERT INTO product_slots VALUES(61,233); -INSERT INTO product_slots VALUES(61,234); -INSERT INTO product_slots VALUES(61,235); -INSERT INTO product_slots VALUES(61,236); -INSERT INTO product_slots VALUES(61,237); -INSERT INTO product_slots VALUES(61,238); -INSERT INTO product_slots VALUES(61,239); -INSERT INTO product_slots VALUES(61,240); -INSERT INTO product_slots VALUES(61,241); -INSERT INTO product_slots VALUES(61,242); -INSERT INTO product_slots VALUES(61,243); -INSERT INTO product_slots VALUES(61,244); -INSERT INTO product_slots VALUES(61,274); -INSERT INTO product_slots VALUES(61,275); -INSERT INTO product_slots VALUES(61,279); -INSERT INTO product_slots VALUES(61,280); -INSERT INTO product_slots VALUES(61,281); -INSERT INTO product_slots VALUES(61,282); -INSERT INTO product_slots VALUES(61,283); -INSERT INTO product_slots VALUES(61,284); -INSERT INTO product_slots VALUES(61,285); -INSERT INTO product_slots VALUES(61,286); -INSERT INTO product_slots VALUES(61,287); -INSERT INTO product_slots VALUES(62,39); -INSERT INTO product_slots VALUES(62,40); -INSERT INTO product_slots VALUES(62,43); -INSERT INTO product_slots VALUES(62,45); -INSERT INTO product_slots VALUES(62,46); -INSERT INTO product_slots VALUES(62,48); -INSERT INTO product_slots VALUES(62,49); -INSERT INTO product_slots VALUES(62,51); -INSERT INTO product_slots VALUES(62,52); -INSERT INTO product_slots VALUES(62,53); -INSERT INTO product_slots VALUES(62,54); -INSERT INTO product_slots VALUES(62,57); -INSERT INTO product_slots VALUES(62,58); -INSERT INTO product_slots VALUES(62,59); -INSERT INTO product_slots VALUES(62,60); -INSERT INTO product_slots VALUES(62,61); -INSERT INTO product_slots VALUES(62,62); -INSERT INTO product_slots VALUES(62,63); -INSERT INTO product_slots VALUES(62,64); -INSERT INTO product_slots VALUES(62,65); -INSERT INTO product_slots VALUES(62,66); -INSERT INTO product_slots VALUES(62,67); -INSERT INTO product_slots VALUES(62,68); -INSERT INTO product_slots VALUES(62,69); -INSERT INTO product_slots VALUES(62,70); -INSERT INTO product_slots VALUES(62,71); -INSERT INTO product_slots VALUES(62,72); -INSERT INTO product_slots VALUES(62,73); -INSERT INTO product_slots VALUES(62,74); -INSERT INTO product_slots VALUES(62,75); -INSERT INTO product_slots VALUES(62,76); -INSERT INTO product_slots VALUES(62,77); -INSERT INTO product_slots VALUES(62,78); -INSERT INTO product_slots VALUES(62,79); -INSERT INTO product_slots VALUES(62,80); -INSERT INTO product_slots VALUES(62,81); -INSERT INTO product_slots VALUES(62,82); -INSERT INTO product_slots VALUES(62,83); -INSERT INTO product_slots VALUES(62,84); -INSERT INTO product_slots VALUES(62,85); -INSERT INTO product_slots VALUES(62,86); -INSERT INTO product_slots VALUES(62,87); -INSERT INTO product_slots VALUES(62,88); -INSERT INTO product_slots VALUES(62,89); -INSERT INTO product_slots VALUES(62,90); -INSERT INTO product_slots VALUES(62,91); -INSERT INTO product_slots VALUES(62,92); -INSERT INTO product_slots VALUES(62,93); -INSERT INTO product_slots VALUES(62,94); -INSERT INTO product_slots VALUES(62,95); -INSERT INTO product_slots VALUES(62,96); -INSERT INTO product_slots VALUES(62,97); -INSERT INTO product_slots VALUES(62,98); -INSERT INTO product_slots VALUES(62,99); -INSERT INTO product_slots VALUES(62,100); -INSERT INTO product_slots VALUES(62,102); -INSERT INTO product_slots VALUES(62,103); -INSERT INTO product_slots VALUES(62,104); -INSERT INTO product_slots VALUES(62,105); -INSERT INTO product_slots VALUES(62,106); -INSERT INTO product_slots VALUES(62,107); -INSERT INTO product_slots VALUES(62,108); -INSERT INTO product_slots VALUES(62,109); -INSERT INTO product_slots VALUES(62,110); -INSERT INTO product_slots VALUES(62,111); -INSERT INTO product_slots VALUES(62,112); -INSERT INTO product_slots VALUES(62,113); -INSERT INTO product_slots VALUES(62,114); -INSERT INTO product_slots VALUES(62,115); -INSERT INTO product_slots VALUES(62,117); -INSERT INTO product_slots VALUES(62,118); -INSERT INTO product_slots VALUES(62,119); -INSERT INTO product_slots VALUES(62,120); -INSERT INTO product_slots VALUES(62,121); -INSERT INTO product_slots VALUES(62,122); -INSERT INTO product_slots VALUES(62,123); -INSERT INTO product_slots VALUES(62,124); -INSERT INTO product_slots VALUES(62,125); -INSERT INTO product_slots VALUES(62,126); -INSERT INTO product_slots VALUES(62,127); -INSERT INTO product_slots VALUES(62,128); -INSERT INTO product_slots VALUES(62,129); -INSERT INTO product_slots VALUES(62,130); -INSERT INTO product_slots VALUES(62,131); -INSERT INTO product_slots VALUES(62,132); -INSERT INTO product_slots VALUES(62,133); -INSERT INTO product_slots VALUES(62,134); -INSERT INTO product_slots VALUES(62,135); -INSERT INTO product_slots VALUES(62,136); -INSERT INTO product_slots VALUES(62,138); -INSERT INTO product_slots VALUES(62,139); -INSERT INTO product_slots VALUES(62,140); -INSERT INTO product_slots VALUES(62,141); -INSERT INTO product_slots VALUES(62,142); -INSERT INTO product_slots VALUES(62,143); -INSERT INTO product_slots VALUES(62,145); -INSERT INTO product_slots VALUES(62,146); -INSERT INTO product_slots VALUES(62,147); -INSERT INTO product_slots VALUES(62,148); -INSERT INTO product_slots VALUES(62,149); -INSERT INTO product_slots VALUES(62,150); -INSERT INTO product_slots VALUES(62,151); -INSERT INTO product_slots VALUES(62,152); -INSERT INTO product_slots VALUES(62,153); -INSERT INTO product_slots VALUES(62,154); -INSERT INTO product_slots VALUES(62,155); -INSERT INTO product_slots VALUES(62,156); -INSERT INTO product_slots VALUES(62,157); -INSERT INTO product_slots VALUES(62,158); -INSERT INTO product_slots VALUES(62,159); -INSERT INTO product_slots VALUES(62,160); -INSERT INTO product_slots VALUES(62,161); -INSERT INTO product_slots VALUES(62,162); -INSERT INTO product_slots VALUES(62,163); -INSERT INTO product_slots VALUES(62,164); -INSERT INTO product_slots VALUES(62,165); -INSERT INTO product_slots VALUES(62,166); -INSERT INTO product_slots VALUES(62,167); -INSERT INTO product_slots VALUES(62,168); -INSERT INTO product_slots VALUES(62,169); -INSERT INTO product_slots VALUES(62,170); -INSERT INTO product_slots VALUES(62,171); -INSERT INTO product_slots VALUES(62,172); -INSERT INTO product_slots VALUES(62,173); -INSERT INTO product_slots VALUES(62,174); -INSERT INTO product_slots VALUES(62,175); -INSERT INTO product_slots VALUES(62,176); -INSERT INTO product_slots VALUES(62,177); -INSERT INTO product_slots VALUES(62,178); -INSERT INTO product_slots VALUES(62,179); -INSERT INTO product_slots VALUES(62,180); -INSERT INTO product_slots VALUES(62,181); -INSERT INTO product_slots VALUES(62,182); -INSERT INTO product_slots VALUES(62,183); -INSERT INTO product_slots VALUES(62,184); -INSERT INTO product_slots VALUES(62,185); -INSERT INTO product_slots VALUES(62,186); -INSERT INTO product_slots VALUES(62,187); -INSERT INTO product_slots VALUES(62,188); -INSERT INTO product_slots VALUES(62,189); -INSERT INTO product_slots VALUES(62,190); -INSERT INTO product_slots VALUES(62,191); -INSERT INTO product_slots VALUES(62,192); -INSERT INTO product_slots VALUES(62,193); -INSERT INTO product_slots VALUES(62,194); -INSERT INTO product_slots VALUES(62,195); -INSERT INTO product_slots VALUES(62,196); -INSERT INTO product_slots VALUES(62,197); -INSERT INTO product_slots VALUES(62,198); -INSERT INTO product_slots VALUES(62,199); -INSERT INTO product_slots VALUES(62,200); -INSERT INTO product_slots VALUES(62,201); -INSERT INTO product_slots VALUES(62,202); -INSERT INTO product_slots VALUES(62,203); -INSERT INTO product_slots VALUES(62,204); -INSERT INTO product_slots VALUES(62,205); -INSERT INTO product_slots VALUES(62,206); -INSERT INTO product_slots VALUES(62,207); -INSERT INTO product_slots VALUES(62,208); -INSERT INTO product_slots VALUES(62,209); -INSERT INTO product_slots VALUES(62,210); -INSERT INTO product_slots VALUES(62,211); -INSERT INTO product_slots VALUES(62,212); -INSERT INTO product_slots VALUES(62,213); -INSERT INTO product_slots VALUES(62,214); -INSERT INTO product_slots VALUES(62,215); -INSERT INTO product_slots VALUES(62,216); -INSERT INTO product_slots VALUES(62,217); -INSERT INTO product_slots VALUES(62,218); -INSERT INTO product_slots VALUES(62,219); -INSERT INTO product_slots VALUES(62,220); -INSERT INTO product_slots VALUES(62,221); -INSERT INTO product_slots VALUES(62,222); -INSERT INTO product_slots VALUES(62,223); -INSERT INTO product_slots VALUES(62,224); -INSERT INTO product_slots VALUES(62,225); -INSERT INTO product_slots VALUES(62,226); -INSERT INTO product_slots VALUES(62,227); -INSERT INTO product_slots VALUES(62,228); -INSERT INTO product_slots VALUES(62,229); -INSERT INTO product_slots VALUES(62,230); -INSERT INTO product_slots VALUES(62,231); -INSERT INTO product_slots VALUES(62,232); -INSERT INTO product_slots VALUES(62,233); -INSERT INTO product_slots VALUES(62,234); -INSERT INTO product_slots VALUES(62,235); -INSERT INTO product_slots VALUES(62,236); -INSERT INTO product_slots VALUES(62,237); -INSERT INTO product_slots VALUES(62,238); -INSERT INTO product_slots VALUES(62,239); -INSERT INTO product_slots VALUES(62,240); -INSERT INTO product_slots VALUES(62,241); -INSERT INTO product_slots VALUES(62,242); -INSERT INTO product_slots VALUES(62,243); -INSERT INTO product_slots VALUES(62,244); -INSERT INTO product_slots VALUES(62,274); -INSERT INTO product_slots VALUES(62,275); -INSERT INTO product_slots VALUES(62,279); -INSERT INTO product_slots VALUES(62,280); -INSERT INTO product_slots VALUES(62,281); -INSERT INTO product_slots VALUES(62,282); -INSERT INTO product_slots VALUES(62,283); -INSERT INTO product_slots VALUES(62,284); -INSERT INTO product_slots VALUES(62,285); -INSERT INTO product_slots VALUES(62,286); -INSERT INTO product_slots VALUES(62,287); -INSERT INTO product_slots VALUES(63,40); -INSERT INTO product_slots VALUES(63,59); -INSERT INTO product_slots VALUES(63,64); -INSERT INTO product_slots VALUES(63,65); -INSERT INTO product_slots VALUES(63,66); -INSERT INTO product_slots VALUES(63,67); -INSERT INTO product_slots VALUES(63,68); -INSERT INTO product_slots VALUES(63,69); -INSERT INTO product_slots VALUES(63,70); -INSERT INTO product_slots VALUES(63,71); -INSERT INTO product_slots VALUES(63,72); -INSERT INTO product_slots VALUES(63,73); -INSERT INTO product_slots VALUES(63,74); -INSERT INTO product_slots VALUES(63,75); -INSERT INTO product_slots VALUES(63,76); -INSERT INTO product_slots VALUES(63,77); -INSERT INTO product_slots VALUES(63,78); -INSERT INTO product_slots VALUES(63,79); -INSERT INTO product_slots VALUES(63,80); -INSERT INTO product_slots VALUES(63,81); -INSERT INTO product_slots VALUES(63,82); -INSERT INTO product_slots VALUES(63,83); -INSERT INTO product_slots VALUES(63,84); -INSERT INTO product_slots VALUES(63,85); -INSERT INTO product_slots VALUES(63,86); -INSERT INTO product_slots VALUES(63,87); -INSERT INTO product_slots VALUES(63,88); -INSERT INTO product_slots VALUES(63,89); -INSERT INTO product_slots VALUES(63,90); -INSERT INTO product_slots VALUES(63,91); -INSERT INTO product_slots VALUES(63,92); -INSERT INTO product_slots VALUES(63,93); -INSERT INTO product_slots VALUES(63,94); -INSERT INTO product_slots VALUES(63,95); -INSERT INTO product_slots VALUES(63,96); -INSERT INTO product_slots VALUES(63,97); -INSERT INTO product_slots VALUES(63,98); -INSERT INTO product_slots VALUES(63,99); -INSERT INTO product_slots VALUES(63,100); -INSERT INTO product_slots VALUES(63,102); -INSERT INTO product_slots VALUES(63,103); -INSERT INTO product_slots VALUES(63,104); -INSERT INTO product_slots VALUES(63,105); -INSERT INTO product_slots VALUES(63,106); -INSERT INTO product_slots VALUES(63,107); -INSERT INTO product_slots VALUES(63,108); -INSERT INTO product_slots VALUES(63,109); -INSERT INTO product_slots VALUES(63,110); -INSERT INTO product_slots VALUES(63,111); -INSERT INTO product_slots VALUES(63,112); -INSERT INTO product_slots VALUES(63,113); -INSERT INTO product_slots VALUES(63,114); -INSERT INTO product_slots VALUES(63,115); -INSERT INTO product_slots VALUES(63,117); -INSERT INTO product_slots VALUES(63,118); -INSERT INTO product_slots VALUES(63,119); -INSERT INTO product_slots VALUES(63,120); -INSERT INTO product_slots VALUES(63,121); -INSERT INTO product_slots VALUES(63,122); -INSERT INTO product_slots VALUES(63,123); -INSERT INTO product_slots VALUES(63,124); -INSERT INTO product_slots VALUES(63,125); -INSERT INTO product_slots VALUES(63,126); -INSERT INTO product_slots VALUES(63,127); -INSERT INTO product_slots VALUES(63,128); -INSERT INTO product_slots VALUES(63,129); -INSERT INTO product_slots VALUES(63,130); -INSERT INTO product_slots VALUES(63,131); -INSERT INTO product_slots VALUES(63,132); -INSERT INTO product_slots VALUES(63,133); -INSERT INTO product_slots VALUES(63,134); -INSERT INTO product_slots VALUES(63,135); -INSERT INTO product_slots VALUES(63,136); -INSERT INTO product_slots VALUES(63,138); -INSERT INTO product_slots VALUES(63,139); -INSERT INTO product_slots VALUES(63,140); -INSERT INTO product_slots VALUES(63,141); -INSERT INTO product_slots VALUES(63,142); -INSERT INTO product_slots VALUES(63,143); -INSERT INTO product_slots VALUES(63,145); -INSERT INTO product_slots VALUES(63,146); -INSERT INTO product_slots VALUES(63,147); -INSERT INTO product_slots VALUES(63,148); -INSERT INTO product_slots VALUES(63,149); -INSERT INTO product_slots VALUES(63,150); -INSERT INTO product_slots VALUES(63,151); -INSERT INTO product_slots VALUES(63,152); -INSERT INTO product_slots VALUES(63,153); -INSERT INTO product_slots VALUES(63,154); -INSERT INTO product_slots VALUES(63,155); -INSERT INTO product_slots VALUES(63,156); -INSERT INTO product_slots VALUES(63,157); -INSERT INTO product_slots VALUES(63,158); -INSERT INTO product_slots VALUES(63,159); -INSERT INTO product_slots VALUES(63,160); -INSERT INTO product_slots VALUES(63,161); -INSERT INTO product_slots VALUES(63,162); -INSERT INTO product_slots VALUES(63,163); -INSERT INTO product_slots VALUES(63,164); -INSERT INTO product_slots VALUES(63,165); -INSERT INTO product_slots VALUES(63,166); -INSERT INTO product_slots VALUES(63,167); -INSERT INTO product_slots VALUES(63,168); -INSERT INTO product_slots VALUES(63,169); -INSERT INTO product_slots VALUES(63,170); -INSERT INTO product_slots VALUES(63,171); -INSERT INTO product_slots VALUES(63,172); -INSERT INTO product_slots VALUES(63,173); -INSERT INTO product_slots VALUES(63,174); -INSERT INTO product_slots VALUES(63,175); -INSERT INTO product_slots VALUES(63,176); -INSERT INTO product_slots VALUES(63,177); -INSERT INTO product_slots VALUES(63,178); -INSERT INTO product_slots VALUES(63,179); -INSERT INTO product_slots VALUES(63,180); -INSERT INTO product_slots VALUES(63,181); -INSERT INTO product_slots VALUES(63,182); -INSERT INTO product_slots VALUES(63,183); -INSERT INTO product_slots VALUES(63,184); -INSERT INTO product_slots VALUES(63,185); -INSERT INTO product_slots VALUES(63,186); -INSERT INTO product_slots VALUES(63,187); -INSERT INTO product_slots VALUES(63,188); -INSERT INTO product_slots VALUES(63,189); -INSERT INTO product_slots VALUES(63,190); -INSERT INTO product_slots VALUES(63,191); -INSERT INTO product_slots VALUES(63,192); -INSERT INTO product_slots VALUES(63,193); -INSERT INTO product_slots VALUES(63,194); -INSERT INTO product_slots VALUES(63,195); -INSERT INTO product_slots VALUES(63,196); -INSERT INTO product_slots VALUES(63,197); -INSERT INTO product_slots VALUES(63,198); -INSERT INTO product_slots VALUES(63,199); -INSERT INTO product_slots VALUES(63,200); -INSERT INTO product_slots VALUES(63,201); -INSERT INTO product_slots VALUES(63,202); -INSERT INTO product_slots VALUES(63,203); -INSERT INTO product_slots VALUES(63,204); -INSERT INTO product_slots VALUES(63,205); -INSERT INTO product_slots VALUES(63,206); -INSERT INTO product_slots VALUES(63,207); -INSERT INTO product_slots VALUES(63,208); -INSERT INTO product_slots VALUES(63,209); -INSERT INTO product_slots VALUES(63,210); -INSERT INTO product_slots VALUES(63,211); -INSERT INTO product_slots VALUES(63,212); -INSERT INTO product_slots VALUES(63,213); -INSERT INTO product_slots VALUES(63,214); -INSERT INTO product_slots VALUES(63,215); -INSERT INTO product_slots VALUES(63,216); -INSERT INTO product_slots VALUES(63,217); -INSERT INTO product_slots VALUES(63,218); -INSERT INTO product_slots VALUES(63,219); -INSERT INTO product_slots VALUES(63,220); -INSERT INTO product_slots VALUES(63,221); -INSERT INTO product_slots VALUES(63,222); -INSERT INTO product_slots VALUES(63,223); -INSERT INTO product_slots VALUES(63,224); -INSERT INTO product_slots VALUES(63,225); -INSERT INTO product_slots VALUES(63,226); -INSERT INTO product_slots VALUES(63,227); -INSERT INTO product_slots VALUES(63,228); -INSERT INTO product_slots VALUES(63,229); -INSERT INTO product_slots VALUES(63,230); -INSERT INTO product_slots VALUES(63,231); -INSERT INTO product_slots VALUES(63,232); -INSERT INTO product_slots VALUES(63,233); -INSERT INTO product_slots VALUES(63,234); -INSERT INTO product_slots VALUES(63,235); -INSERT INTO product_slots VALUES(63,236); -INSERT INTO product_slots VALUES(63,237); -INSERT INTO product_slots VALUES(63,238); -INSERT INTO product_slots VALUES(63,239); -INSERT INTO product_slots VALUES(63,240); -INSERT INTO product_slots VALUES(63,241); -INSERT INTO product_slots VALUES(63,242); -INSERT INTO product_slots VALUES(63,243); -INSERT INTO product_slots VALUES(63,244); -INSERT INTO product_slots VALUES(63,274); -INSERT INTO product_slots VALUES(63,275); -INSERT INTO product_slots VALUES(63,279); -INSERT INTO product_slots VALUES(63,280); -INSERT INTO product_slots VALUES(63,281); -INSERT INTO product_slots VALUES(63,282); -INSERT INTO product_slots VALUES(63,283); -INSERT INTO product_slots VALUES(63,284); -INSERT INTO product_slots VALUES(63,285); -INSERT INTO product_slots VALUES(63,286); -INSERT INTO product_slots VALUES(63,287); -INSERT INTO product_slots VALUES(64,39); -INSERT INTO product_slots VALUES(64,44); -INSERT INTO product_slots VALUES(64,46); -INSERT INTO product_slots VALUES(64,47); -INSERT INTO product_slots VALUES(64,48); -INSERT INTO product_slots VALUES(64,49); -INSERT INTO product_slots VALUES(64,50); -INSERT INTO product_slots VALUES(64,51); -INSERT INTO product_slots VALUES(64,52); -INSERT INTO product_slots VALUES(64,53); -INSERT INTO product_slots VALUES(64,54); -INSERT INTO product_slots VALUES(64,55); -INSERT INTO product_slots VALUES(64,56); -INSERT INTO product_slots VALUES(64,57); -INSERT INTO product_slots VALUES(64,58); -INSERT INTO product_slots VALUES(64,59); -INSERT INTO product_slots VALUES(64,60); -INSERT INTO product_slots VALUES(64,61); -INSERT INTO product_slots VALUES(64,62); -INSERT INTO product_slots VALUES(64,63); -INSERT INTO product_slots VALUES(64,64); -INSERT INTO product_slots VALUES(64,65); -INSERT INTO product_slots VALUES(64,66); -INSERT INTO product_slots VALUES(64,67); -INSERT INTO product_slots VALUES(64,68); -INSERT INTO product_slots VALUES(64,69); -INSERT INTO product_slots VALUES(64,70); -INSERT INTO product_slots VALUES(64,71); -INSERT INTO product_slots VALUES(64,72); -INSERT INTO product_slots VALUES(64,73); -INSERT INTO product_slots VALUES(64,74); -INSERT INTO product_slots VALUES(64,75); -INSERT INTO product_slots VALUES(64,76); -INSERT INTO product_slots VALUES(64,77); -INSERT INTO product_slots VALUES(64,78); -INSERT INTO product_slots VALUES(64,79); -INSERT INTO product_slots VALUES(64,80); -INSERT INTO product_slots VALUES(64,81); -INSERT INTO product_slots VALUES(64,82); -INSERT INTO product_slots VALUES(64,83); -INSERT INTO product_slots VALUES(64,84); -INSERT INTO product_slots VALUES(64,85); -INSERT INTO product_slots VALUES(64,86); -INSERT INTO product_slots VALUES(64,87); -INSERT INTO product_slots VALUES(64,88); -INSERT INTO product_slots VALUES(64,89); -INSERT INTO product_slots VALUES(64,90); -INSERT INTO product_slots VALUES(64,91); -INSERT INTO product_slots VALUES(64,92); -INSERT INTO product_slots VALUES(64,93); -INSERT INTO product_slots VALUES(64,94); -INSERT INTO product_slots VALUES(64,95); -INSERT INTO product_slots VALUES(64,96); -INSERT INTO product_slots VALUES(64,97); -INSERT INTO product_slots VALUES(64,98); -INSERT INTO product_slots VALUES(64,99); -INSERT INTO product_slots VALUES(64,100); -INSERT INTO product_slots VALUES(64,101); -INSERT INTO product_slots VALUES(64,102); -INSERT INTO product_slots VALUES(64,103); -INSERT INTO product_slots VALUES(64,104); -INSERT INTO product_slots VALUES(64,105); -INSERT INTO product_slots VALUES(64,106); -INSERT INTO product_slots VALUES(64,107); -INSERT INTO product_slots VALUES(64,108); -INSERT INTO product_slots VALUES(64,109); -INSERT INTO product_slots VALUES(64,110); -INSERT INTO product_slots VALUES(64,111); -INSERT INTO product_slots VALUES(64,112); -INSERT INTO product_slots VALUES(64,113); -INSERT INTO product_slots VALUES(64,114); -INSERT INTO product_slots VALUES(64,115); -INSERT INTO product_slots VALUES(64,116); -INSERT INTO product_slots VALUES(64,117); -INSERT INTO product_slots VALUES(64,118); -INSERT INTO product_slots VALUES(64,119); -INSERT INTO product_slots VALUES(64,120); -INSERT INTO product_slots VALUES(64,121); -INSERT INTO product_slots VALUES(64,122); -INSERT INTO product_slots VALUES(64,123); -INSERT INTO product_slots VALUES(64,124); -INSERT INTO product_slots VALUES(64,125); -INSERT INTO product_slots VALUES(64,126); -INSERT INTO product_slots VALUES(64,127); -INSERT INTO product_slots VALUES(64,128); -INSERT INTO product_slots VALUES(64,129); -INSERT INTO product_slots VALUES(64,130); -INSERT INTO product_slots VALUES(64,131); -INSERT INTO product_slots VALUES(64,132); -INSERT INTO product_slots VALUES(64,133); -INSERT INTO product_slots VALUES(64,134); -INSERT INTO product_slots VALUES(64,135); -INSERT INTO product_slots VALUES(64,136); -INSERT INTO product_slots VALUES(64,137); -INSERT INTO product_slots VALUES(64,138); -INSERT INTO product_slots VALUES(64,139); -INSERT INTO product_slots VALUES(64,140); -INSERT INTO product_slots VALUES(64,141); -INSERT INTO product_slots VALUES(64,142); -INSERT INTO product_slots VALUES(64,143); -INSERT INTO product_slots VALUES(64,144); -INSERT INTO product_slots VALUES(64,145); -INSERT INTO product_slots VALUES(64,146); -INSERT INTO product_slots VALUES(64,147); -INSERT INTO product_slots VALUES(64,148); -INSERT INTO product_slots VALUES(64,149); -INSERT INTO product_slots VALUES(64,150); -INSERT INTO product_slots VALUES(64,151); -INSERT INTO product_slots VALUES(64,152); -INSERT INTO product_slots VALUES(64,153); -INSERT INTO product_slots VALUES(64,154); -INSERT INTO product_slots VALUES(64,155); -INSERT INTO product_slots VALUES(64,156); -INSERT INTO product_slots VALUES(64,157); -INSERT INTO product_slots VALUES(64,158); -INSERT INTO product_slots VALUES(64,159); -INSERT INTO product_slots VALUES(64,160); -INSERT INTO product_slots VALUES(64,161); -INSERT INTO product_slots VALUES(64,162); -INSERT INTO product_slots VALUES(64,163); -INSERT INTO product_slots VALUES(64,164); -INSERT INTO product_slots VALUES(64,165); -INSERT INTO product_slots VALUES(64,166); -INSERT INTO product_slots VALUES(64,167); -INSERT INTO product_slots VALUES(64,168); -INSERT INTO product_slots VALUES(64,169); -INSERT INTO product_slots VALUES(64,170); -INSERT INTO product_slots VALUES(64,171); -INSERT INTO product_slots VALUES(64,172); -INSERT INTO product_slots VALUES(64,173); -INSERT INTO product_slots VALUES(64,174); -INSERT INTO product_slots VALUES(64,175); -INSERT INTO product_slots VALUES(64,176); -INSERT INTO product_slots VALUES(64,177); -INSERT INTO product_slots VALUES(64,178); -INSERT INTO product_slots VALUES(64,179); -INSERT INTO product_slots VALUES(64,180); -INSERT INTO product_slots VALUES(64,181); -INSERT INTO product_slots VALUES(64,182); -INSERT INTO product_slots VALUES(64,183); -INSERT INTO product_slots VALUES(64,184); -INSERT INTO product_slots VALUES(64,185); -INSERT INTO product_slots VALUES(64,186); -INSERT INTO product_slots VALUES(64,187); -INSERT INTO product_slots VALUES(64,188); -INSERT INTO product_slots VALUES(64,189); -INSERT INTO product_slots VALUES(64,190); -INSERT INTO product_slots VALUES(64,191); -INSERT INTO product_slots VALUES(64,192); -INSERT INTO product_slots VALUES(64,193); -INSERT INTO product_slots VALUES(64,194); -INSERT INTO product_slots VALUES(64,195); -INSERT INTO product_slots VALUES(64,196); -INSERT INTO product_slots VALUES(64,197); -INSERT INTO product_slots VALUES(64,198); -INSERT INTO product_slots VALUES(64,199); -INSERT INTO product_slots VALUES(64,200); -INSERT INTO product_slots VALUES(64,201); -INSERT INTO product_slots VALUES(64,202); -INSERT INTO product_slots VALUES(64,203); -INSERT INTO product_slots VALUES(64,204); -INSERT INTO product_slots VALUES(64,205); -INSERT INTO product_slots VALUES(64,206); -INSERT INTO product_slots VALUES(64,207); -INSERT INTO product_slots VALUES(64,208); -INSERT INTO product_slots VALUES(64,209); -INSERT INTO product_slots VALUES(64,210); -INSERT INTO product_slots VALUES(64,211); -INSERT INTO product_slots VALUES(64,212); -INSERT INTO product_slots VALUES(64,213); -INSERT INTO product_slots VALUES(64,214); -INSERT INTO product_slots VALUES(64,215); -INSERT INTO product_slots VALUES(64,216); -INSERT INTO product_slots VALUES(64,217); -INSERT INTO product_slots VALUES(64,218); -INSERT INTO product_slots VALUES(64,219); -INSERT INTO product_slots VALUES(64,220); -INSERT INTO product_slots VALUES(64,221); -INSERT INTO product_slots VALUES(64,222); -INSERT INTO product_slots VALUES(64,223); -INSERT INTO product_slots VALUES(64,224); -INSERT INTO product_slots VALUES(64,225); -INSERT INTO product_slots VALUES(64,226); -INSERT INTO product_slots VALUES(64,227); -INSERT INTO product_slots VALUES(64,228); -INSERT INTO product_slots VALUES(64,229); -INSERT INTO product_slots VALUES(64,230); -INSERT INTO product_slots VALUES(64,231); -INSERT INTO product_slots VALUES(64,232); -INSERT INTO product_slots VALUES(64,233); -INSERT INTO product_slots VALUES(64,234); -INSERT INTO product_slots VALUES(64,235); -INSERT INTO product_slots VALUES(64,236); -INSERT INTO product_slots VALUES(64,237); -INSERT INTO product_slots VALUES(64,238); -INSERT INTO product_slots VALUES(64,239); -INSERT INTO product_slots VALUES(64,240); -INSERT INTO product_slots VALUES(64,241); -INSERT INTO product_slots VALUES(64,242); -INSERT INTO product_slots VALUES(64,243); -INSERT INTO product_slots VALUES(64,244); -INSERT INTO product_slots VALUES(64,274); -INSERT INTO product_slots VALUES(64,275); -INSERT INTO product_slots VALUES(64,279); -INSERT INTO product_slots VALUES(64,280); -INSERT INTO product_slots VALUES(64,281); -INSERT INTO product_slots VALUES(64,282); -INSERT INTO product_slots VALUES(64,283); -INSERT INTO product_slots VALUES(64,284); -INSERT INTO product_slots VALUES(64,285); -INSERT INTO product_slots VALUES(64,286); -INSERT INTO product_slots VALUES(64,287); -INSERT INTO product_slots VALUES(65,39); -INSERT INTO product_slots VALUES(65,41); -INSERT INTO product_slots VALUES(65,43); -INSERT INTO product_slots VALUES(65,44); -INSERT INTO product_slots VALUES(65,45); -INSERT INTO product_slots VALUES(65,46); -INSERT INTO product_slots VALUES(65,47); -INSERT INTO product_slots VALUES(65,48); -INSERT INTO product_slots VALUES(65,49); -INSERT INTO product_slots VALUES(65,50); -INSERT INTO product_slots VALUES(65,51); -INSERT INTO product_slots VALUES(65,52); -INSERT INTO product_slots VALUES(65,53); -INSERT INTO product_slots VALUES(65,54); -INSERT INTO product_slots VALUES(65,55); -INSERT INTO product_slots VALUES(65,56); -INSERT INTO product_slots VALUES(65,57); -INSERT INTO product_slots VALUES(65,58); -INSERT INTO product_slots VALUES(65,59); -INSERT INTO product_slots VALUES(65,60); -INSERT INTO product_slots VALUES(65,61); -INSERT INTO product_slots VALUES(65,62); -INSERT INTO product_slots VALUES(65,63); -INSERT INTO product_slots VALUES(65,64); -INSERT INTO product_slots VALUES(65,65); -INSERT INTO product_slots VALUES(65,66); -INSERT INTO product_slots VALUES(65,67); -INSERT INTO product_slots VALUES(65,68); -INSERT INTO product_slots VALUES(65,69); -INSERT INTO product_slots VALUES(65,70); -INSERT INTO product_slots VALUES(65,71); -INSERT INTO product_slots VALUES(65,72); -INSERT INTO product_slots VALUES(65,73); -INSERT INTO product_slots VALUES(65,74); -INSERT INTO product_slots VALUES(65,75); -INSERT INTO product_slots VALUES(65,76); -INSERT INTO product_slots VALUES(65,77); -INSERT INTO product_slots VALUES(65,78); -INSERT INTO product_slots VALUES(65,79); -INSERT INTO product_slots VALUES(65,80); -INSERT INTO product_slots VALUES(65,81); -INSERT INTO product_slots VALUES(65,82); -INSERT INTO product_slots VALUES(65,83); -INSERT INTO product_slots VALUES(65,84); -INSERT INTO product_slots VALUES(65,85); -INSERT INTO product_slots VALUES(65,86); -INSERT INTO product_slots VALUES(65,87); -INSERT INTO product_slots VALUES(65,88); -INSERT INTO product_slots VALUES(65,89); -INSERT INTO product_slots VALUES(65,90); -INSERT INTO product_slots VALUES(65,91); -INSERT INTO product_slots VALUES(65,92); -INSERT INTO product_slots VALUES(65,93); -INSERT INTO product_slots VALUES(65,94); -INSERT INTO product_slots VALUES(65,95); -INSERT INTO product_slots VALUES(65,96); -INSERT INTO product_slots VALUES(65,97); -INSERT INTO product_slots VALUES(65,98); -INSERT INTO product_slots VALUES(65,99); -INSERT INTO product_slots VALUES(65,100); -INSERT INTO product_slots VALUES(65,101); -INSERT INTO product_slots VALUES(65,102); -INSERT INTO product_slots VALUES(65,103); -INSERT INTO product_slots VALUES(65,104); -INSERT INTO product_slots VALUES(65,105); -INSERT INTO product_slots VALUES(65,106); -INSERT INTO product_slots VALUES(65,107); -INSERT INTO product_slots VALUES(65,108); -INSERT INTO product_slots VALUES(65,109); -INSERT INTO product_slots VALUES(65,110); -INSERT INTO product_slots VALUES(65,111); -INSERT INTO product_slots VALUES(65,112); -INSERT INTO product_slots VALUES(65,113); -INSERT INTO product_slots VALUES(65,114); -INSERT INTO product_slots VALUES(65,115); -INSERT INTO product_slots VALUES(65,116); -INSERT INTO product_slots VALUES(65,117); -INSERT INTO product_slots VALUES(65,118); -INSERT INTO product_slots VALUES(65,119); -INSERT INTO product_slots VALUES(65,120); -INSERT INTO product_slots VALUES(65,121); -INSERT INTO product_slots VALUES(65,122); -INSERT INTO product_slots VALUES(65,123); -INSERT INTO product_slots VALUES(65,124); -INSERT INTO product_slots VALUES(65,125); -INSERT INTO product_slots VALUES(65,126); -INSERT INTO product_slots VALUES(65,127); -INSERT INTO product_slots VALUES(65,128); -INSERT INTO product_slots VALUES(65,129); -INSERT INTO product_slots VALUES(65,130); -INSERT INTO product_slots VALUES(65,131); -INSERT INTO product_slots VALUES(65,132); -INSERT INTO product_slots VALUES(65,133); -INSERT INTO product_slots VALUES(65,134); -INSERT INTO product_slots VALUES(65,135); -INSERT INTO product_slots VALUES(65,136); -INSERT INTO product_slots VALUES(65,137); -INSERT INTO product_slots VALUES(65,138); -INSERT INTO product_slots VALUES(65,139); -INSERT INTO product_slots VALUES(65,140); -INSERT INTO product_slots VALUES(65,141); -INSERT INTO product_slots VALUES(65,142); -INSERT INTO product_slots VALUES(65,143); -INSERT INTO product_slots VALUES(65,144); -INSERT INTO product_slots VALUES(65,145); -INSERT INTO product_slots VALUES(65,146); -INSERT INTO product_slots VALUES(65,147); -INSERT INTO product_slots VALUES(65,148); -INSERT INTO product_slots VALUES(65,149); -INSERT INTO product_slots VALUES(65,150); -INSERT INTO product_slots VALUES(65,151); -INSERT INTO product_slots VALUES(65,152); -INSERT INTO product_slots VALUES(65,153); -INSERT INTO product_slots VALUES(65,154); -INSERT INTO product_slots VALUES(65,155); -INSERT INTO product_slots VALUES(65,156); -INSERT INTO product_slots VALUES(65,157); -INSERT INTO product_slots VALUES(65,158); -INSERT INTO product_slots VALUES(65,159); -INSERT INTO product_slots VALUES(65,160); -INSERT INTO product_slots VALUES(65,161); -INSERT INTO product_slots VALUES(65,162); -INSERT INTO product_slots VALUES(65,163); -INSERT INTO product_slots VALUES(65,164); -INSERT INTO product_slots VALUES(65,165); -INSERT INTO product_slots VALUES(65,166); -INSERT INTO product_slots VALUES(65,167); -INSERT INTO product_slots VALUES(65,168); -INSERT INTO product_slots VALUES(65,169); -INSERT INTO product_slots VALUES(65,170); -INSERT INTO product_slots VALUES(65,171); -INSERT INTO product_slots VALUES(65,172); -INSERT INTO product_slots VALUES(65,173); -INSERT INTO product_slots VALUES(65,174); -INSERT INTO product_slots VALUES(65,175); -INSERT INTO product_slots VALUES(65,176); -INSERT INTO product_slots VALUES(65,177); -INSERT INTO product_slots VALUES(65,178); -INSERT INTO product_slots VALUES(65,179); -INSERT INTO product_slots VALUES(65,180); -INSERT INTO product_slots VALUES(65,181); -INSERT INTO product_slots VALUES(65,182); -INSERT INTO product_slots VALUES(65,183); -INSERT INTO product_slots VALUES(65,184); -INSERT INTO product_slots VALUES(65,185); -INSERT INTO product_slots VALUES(65,186); -INSERT INTO product_slots VALUES(65,187); -INSERT INTO product_slots VALUES(65,188); -INSERT INTO product_slots VALUES(65,189); -INSERT INTO product_slots VALUES(65,190); -INSERT INTO product_slots VALUES(65,191); -INSERT INTO product_slots VALUES(65,192); -INSERT INTO product_slots VALUES(65,193); -INSERT INTO product_slots VALUES(65,194); -INSERT INTO product_slots VALUES(65,195); -INSERT INTO product_slots VALUES(65,196); -INSERT INTO product_slots VALUES(65,197); -INSERT INTO product_slots VALUES(65,198); -INSERT INTO product_slots VALUES(65,199); -INSERT INTO product_slots VALUES(65,200); -INSERT INTO product_slots VALUES(65,201); -INSERT INTO product_slots VALUES(65,202); -INSERT INTO product_slots VALUES(65,203); -INSERT INTO product_slots VALUES(65,204); -INSERT INTO product_slots VALUES(65,205); -INSERT INTO product_slots VALUES(65,206); -INSERT INTO product_slots VALUES(65,207); -INSERT INTO product_slots VALUES(65,208); -INSERT INTO product_slots VALUES(65,209); -INSERT INTO product_slots VALUES(65,210); -INSERT INTO product_slots VALUES(65,211); -INSERT INTO product_slots VALUES(65,212); -INSERT INTO product_slots VALUES(65,213); -INSERT INTO product_slots VALUES(65,214); -INSERT INTO product_slots VALUES(65,215); -INSERT INTO product_slots VALUES(65,216); -INSERT INTO product_slots VALUES(65,217); -INSERT INTO product_slots VALUES(65,218); -INSERT INTO product_slots VALUES(65,219); -INSERT INTO product_slots VALUES(65,220); -INSERT INTO product_slots VALUES(65,221); -INSERT INTO product_slots VALUES(65,222); -INSERT INTO product_slots VALUES(65,223); -INSERT INTO product_slots VALUES(65,224); -INSERT INTO product_slots VALUES(65,225); -INSERT INTO product_slots VALUES(65,226); -INSERT INTO product_slots VALUES(65,227); -INSERT INTO product_slots VALUES(65,228); -INSERT INTO product_slots VALUES(65,229); -INSERT INTO product_slots VALUES(65,230); -INSERT INTO product_slots VALUES(65,231); -INSERT INTO product_slots VALUES(65,232); -INSERT INTO product_slots VALUES(65,233); -INSERT INTO product_slots VALUES(65,234); -INSERT INTO product_slots VALUES(65,235); -INSERT INTO product_slots VALUES(65,236); -INSERT INTO product_slots VALUES(65,237); -INSERT INTO product_slots VALUES(65,238); -INSERT INTO product_slots VALUES(65,239); -INSERT INTO product_slots VALUES(65,240); -INSERT INTO product_slots VALUES(65,241); -INSERT INTO product_slots VALUES(65,242); -INSERT INTO product_slots VALUES(65,243); -INSERT INTO product_slots VALUES(65,244); -INSERT INTO product_slots VALUES(65,274); -INSERT INTO product_slots VALUES(65,275); -INSERT INTO product_slots VALUES(65,279); -INSERT INTO product_slots VALUES(65,280); -INSERT INTO product_slots VALUES(65,281); -INSERT INTO product_slots VALUES(65,282); -INSERT INTO product_slots VALUES(65,283); -INSERT INTO product_slots VALUES(65,284); -INSERT INTO product_slots VALUES(65,285); -INSERT INTO product_slots VALUES(65,286); -INSERT INTO product_slots VALUES(65,287); -INSERT INTO product_slots VALUES(66,39); -INSERT INTO product_slots VALUES(66,41); -INSERT INTO product_slots VALUES(66,43); -INSERT INTO product_slots VALUES(66,44); -INSERT INTO product_slots VALUES(66,45); -INSERT INTO product_slots VALUES(66,46); -INSERT INTO product_slots VALUES(66,47); -INSERT INTO product_slots VALUES(66,48); -INSERT INTO product_slots VALUES(66,49); -INSERT INTO product_slots VALUES(66,50); -INSERT INTO product_slots VALUES(66,51); -INSERT INTO product_slots VALUES(66,52); -INSERT INTO product_slots VALUES(66,53); -INSERT INTO product_slots VALUES(66,54); -INSERT INTO product_slots VALUES(66,55); -INSERT INTO product_slots VALUES(66,56); -INSERT INTO product_slots VALUES(66,57); -INSERT INTO product_slots VALUES(66,58); -INSERT INTO product_slots VALUES(66,59); -INSERT INTO product_slots VALUES(66,60); -INSERT INTO product_slots VALUES(66,61); -INSERT INTO product_slots VALUES(66,62); -INSERT INTO product_slots VALUES(66,63); -INSERT INTO product_slots VALUES(66,64); -INSERT INTO product_slots VALUES(66,65); -INSERT INTO product_slots VALUES(66,66); -INSERT INTO product_slots VALUES(66,67); -INSERT INTO product_slots VALUES(66,68); -INSERT INTO product_slots VALUES(66,69); -INSERT INTO product_slots VALUES(66,70); -INSERT INTO product_slots VALUES(66,71); -INSERT INTO product_slots VALUES(66,72); -INSERT INTO product_slots VALUES(66,73); -INSERT INTO product_slots VALUES(66,74); -INSERT INTO product_slots VALUES(66,75); -INSERT INTO product_slots VALUES(66,76); -INSERT INTO product_slots VALUES(66,77); -INSERT INTO product_slots VALUES(66,78); -INSERT INTO product_slots VALUES(66,79); -INSERT INTO product_slots VALUES(66,80); -INSERT INTO product_slots VALUES(66,81); -INSERT INTO product_slots VALUES(66,82); -INSERT INTO product_slots VALUES(66,83); -INSERT INTO product_slots VALUES(66,84); -INSERT INTO product_slots VALUES(66,85); -INSERT INTO product_slots VALUES(66,86); -INSERT INTO product_slots VALUES(66,87); -INSERT INTO product_slots VALUES(66,88); -INSERT INTO product_slots VALUES(66,89); -INSERT INTO product_slots VALUES(66,90); -INSERT INTO product_slots VALUES(66,91); -INSERT INTO product_slots VALUES(66,92); -INSERT INTO product_slots VALUES(66,93); -INSERT INTO product_slots VALUES(66,94); -INSERT INTO product_slots VALUES(66,95); -INSERT INTO product_slots VALUES(66,96); -INSERT INTO product_slots VALUES(66,97); -INSERT INTO product_slots VALUES(66,98); -INSERT INTO product_slots VALUES(66,99); -INSERT INTO product_slots VALUES(66,100); -INSERT INTO product_slots VALUES(66,101); -INSERT INTO product_slots VALUES(66,102); -INSERT INTO product_slots VALUES(66,103); -INSERT INTO product_slots VALUES(66,104); -INSERT INTO product_slots VALUES(66,105); -INSERT INTO product_slots VALUES(66,106); -INSERT INTO product_slots VALUES(66,107); -INSERT INTO product_slots VALUES(66,108); -INSERT INTO product_slots VALUES(66,109); -INSERT INTO product_slots VALUES(66,110); -INSERT INTO product_slots VALUES(66,111); -INSERT INTO product_slots VALUES(66,112); -INSERT INTO product_slots VALUES(66,113); -INSERT INTO product_slots VALUES(66,114); -INSERT INTO product_slots VALUES(66,115); -INSERT INTO product_slots VALUES(66,116); -INSERT INTO product_slots VALUES(66,117); -INSERT INTO product_slots VALUES(66,118); -INSERT INTO product_slots VALUES(66,119); -INSERT INTO product_slots VALUES(66,120); -INSERT INTO product_slots VALUES(66,121); -INSERT INTO product_slots VALUES(66,122); -INSERT INTO product_slots VALUES(66,123); -INSERT INTO product_slots VALUES(66,124); -INSERT INTO product_slots VALUES(66,125); -INSERT INTO product_slots VALUES(66,126); -INSERT INTO product_slots VALUES(66,127); -INSERT INTO product_slots VALUES(66,128); -INSERT INTO product_slots VALUES(66,129); -INSERT INTO product_slots VALUES(66,130); -INSERT INTO product_slots VALUES(66,131); -INSERT INTO product_slots VALUES(66,132); -INSERT INTO product_slots VALUES(66,133); -INSERT INTO product_slots VALUES(66,134); -INSERT INTO product_slots VALUES(66,135); -INSERT INTO product_slots VALUES(66,136); -INSERT INTO product_slots VALUES(66,137); -INSERT INTO product_slots VALUES(66,138); -INSERT INTO product_slots VALUES(66,139); -INSERT INTO product_slots VALUES(66,140); -INSERT INTO product_slots VALUES(66,141); -INSERT INTO product_slots VALUES(66,142); -INSERT INTO product_slots VALUES(66,143); -INSERT INTO product_slots VALUES(66,144); -INSERT INTO product_slots VALUES(66,145); -INSERT INTO product_slots VALUES(66,146); -INSERT INTO product_slots VALUES(66,147); -INSERT INTO product_slots VALUES(66,148); -INSERT INTO product_slots VALUES(66,149); -INSERT INTO product_slots VALUES(66,150); -INSERT INTO product_slots VALUES(66,151); -INSERT INTO product_slots VALUES(66,152); -INSERT INTO product_slots VALUES(66,153); -INSERT INTO product_slots VALUES(66,154); -INSERT INTO product_slots VALUES(66,155); -INSERT INTO product_slots VALUES(66,156); -INSERT INTO product_slots VALUES(66,157); -INSERT INTO product_slots VALUES(66,158); -INSERT INTO product_slots VALUES(66,159); -INSERT INTO product_slots VALUES(66,160); -INSERT INTO product_slots VALUES(66,161); -INSERT INTO product_slots VALUES(66,162); -INSERT INTO product_slots VALUES(66,163); -INSERT INTO product_slots VALUES(66,164); -INSERT INTO product_slots VALUES(66,165); -INSERT INTO product_slots VALUES(66,166); -INSERT INTO product_slots VALUES(66,167); -INSERT INTO product_slots VALUES(66,168); -INSERT INTO product_slots VALUES(66,169); -INSERT INTO product_slots VALUES(66,170); -INSERT INTO product_slots VALUES(66,171); -INSERT INTO product_slots VALUES(66,172); -INSERT INTO product_slots VALUES(66,173); -INSERT INTO product_slots VALUES(66,174); -INSERT INTO product_slots VALUES(66,175); -INSERT INTO product_slots VALUES(66,176); -INSERT INTO product_slots VALUES(66,177); -INSERT INTO product_slots VALUES(66,178); -INSERT INTO product_slots VALUES(66,179); -INSERT INTO product_slots VALUES(66,180); -INSERT INTO product_slots VALUES(66,181); -INSERT INTO product_slots VALUES(66,182); -INSERT INTO product_slots VALUES(66,183); -INSERT INTO product_slots VALUES(66,184); -INSERT INTO product_slots VALUES(66,185); -INSERT INTO product_slots VALUES(66,186); -INSERT INTO product_slots VALUES(66,187); -INSERT INTO product_slots VALUES(66,188); -INSERT INTO product_slots VALUES(66,189); -INSERT INTO product_slots VALUES(66,190); -INSERT INTO product_slots VALUES(66,191); -INSERT INTO product_slots VALUES(66,192); -INSERT INTO product_slots VALUES(66,193); -INSERT INTO product_slots VALUES(66,194); -INSERT INTO product_slots VALUES(66,195); -INSERT INTO product_slots VALUES(66,196); -INSERT INTO product_slots VALUES(66,197); -INSERT INTO product_slots VALUES(66,198); -INSERT INTO product_slots VALUES(66,199); -INSERT INTO product_slots VALUES(66,200); -INSERT INTO product_slots VALUES(66,201); -INSERT INTO product_slots VALUES(66,202); -INSERT INTO product_slots VALUES(66,203); -INSERT INTO product_slots VALUES(66,204); -INSERT INTO product_slots VALUES(66,205); -INSERT INTO product_slots VALUES(66,206); -INSERT INTO product_slots VALUES(66,207); -INSERT INTO product_slots VALUES(66,208); -INSERT INTO product_slots VALUES(66,209); -INSERT INTO product_slots VALUES(66,210); -INSERT INTO product_slots VALUES(66,211); -INSERT INTO product_slots VALUES(66,212); -INSERT INTO product_slots VALUES(66,213); -INSERT INTO product_slots VALUES(66,214); -INSERT INTO product_slots VALUES(66,215); -INSERT INTO product_slots VALUES(66,216); -INSERT INTO product_slots VALUES(66,217); -INSERT INTO product_slots VALUES(66,218); -INSERT INTO product_slots VALUES(66,219); -INSERT INTO product_slots VALUES(66,220); -INSERT INTO product_slots VALUES(66,221); -INSERT INTO product_slots VALUES(66,222); -INSERT INTO product_slots VALUES(66,223); -INSERT INTO product_slots VALUES(66,224); -INSERT INTO product_slots VALUES(66,225); -INSERT INTO product_slots VALUES(66,226); -INSERT INTO product_slots VALUES(66,227); -INSERT INTO product_slots VALUES(66,228); -INSERT INTO product_slots VALUES(66,229); -INSERT INTO product_slots VALUES(66,230); -INSERT INTO product_slots VALUES(66,231); -INSERT INTO product_slots VALUES(66,232); -INSERT INTO product_slots VALUES(66,233); -INSERT INTO product_slots VALUES(66,234); -INSERT INTO product_slots VALUES(66,235); -INSERT INTO product_slots VALUES(66,236); -INSERT INTO product_slots VALUES(66,237); -INSERT INTO product_slots VALUES(66,238); -INSERT INTO product_slots VALUES(66,239); -INSERT INTO product_slots VALUES(66,240); -INSERT INTO product_slots VALUES(66,241); -INSERT INTO product_slots VALUES(66,242); -INSERT INTO product_slots VALUES(66,243); -INSERT INTO product_slots VALUES(66,244); -INSERT INTO product_slots VALUES(66,274); -INSERT INTO product_slots VALUES(66,275); -INSERT INTO product_slots VALUES(66,279); -INSERT INTO product_slots VALUES(66,280); -INSERT INTO product_slots VALUES(66,281); -INSERT INTO product_slots VALUES(66,282); -INSERT INTO product_slots VALUES(66,283); -INSERT INTO product_slots VALUES(66,284); -INSERT INTO product_slots VALUES(66,285); -INSERT INTO product_slots VALUES(66,286); -INSERT INTO product_slots VALUES(66,287); -INSERT INTO product_slots VALUES(67,39); -INSERT INTO product_slots VALUES(67,41); -INSERT INTO product_slots VALUES(67,43); -INSERT INTO product_slots VALUES(67,44); -INSERT INTO product_slots VALUES(67,45); -INSERT INTO product_slots VALUES(67,46); -INSERT INTO product_slots VALUES(67,47); -INSERT INTO product_slots VALUES(67,48); -INSERT INTO product_slots VALUES(67,49); -INSERT INTO product_slots VALUES(67,50); -INSERT INTO product_slots VALUES(67,51); -INSERT INTO product_slots VALUES(67,52); -INSERT INTO product_slots VALUES(67,53); -INSERT INTO product_slots VALUES(67,54); -INSERT INTO product_slots VALUES(67,55); -INSERT INTO product_slots VALUES(67,56); -INSERT INTO product_slots VALUES(67,57); -INSERT INTO product_slots VALUES(67,58); -INSERT INTO product_slots VALUES(67,59); -INSERT INTO product_slots VALUES(67,60); -INSERT INTO product_slots VALUES(67,61); -INSERT INTO product_slots VALUES(67,62); -INSERT INTO product_slots VALUES(67,63); -INSERT INTO product_slots VALUES(67,64); -INSERT INTO product_slots VALUES(67,65); -INSERT INTO product_slots VALUES(67,66); -INSERT INTO product_slots VALUES(67,67); -INSERT INTO product_slots VALUES(67,68); -INSERT INTO product_slots VALUES(67,69); -INSERT INTO product_slots VALUES(67,70); -INSERT INTO product_slots VALUES(67,71); -INSERT INTO product_slots VALUES(67,72); -INSERT INTO product_slots VALUES(67,73); -INSERT INTO product_slots VALUES(67,74); -INSERT INTO product_slots VALUES(67,75); -INSERT INTO product_slots VALUES(67,76); -INSERT INTO product_slots VALUES(67,77); -INSERT INTO product_slots VALUES(67,78); -INSERT INTO product_slots VALUES(67,79); -INSERT INTO product_slots VALUES(67,80); -INSERT INTO product_slots VALUES(67,81); -INSERT INTO product_slots VALUES(67,82); -INSERT INTO product_slots VALUES(67,83); -INSERT INTO product_slots VALUES(67,84); -INSERT INTO product_slots VALUES(67,85); -INSERT INTO product_slots VALUES(67,86); -INSERT INTO product_slots VALUES(67,87); -INSERT INTO product_slots VALUES(67,88); -INSERT INTO product_slots VALUES(67,89); -INSERT INTO product_slots VALUES(67,90); -INSERT INTO product_slots VALUES(67,91); -INSERT INTO product_slots VALUES(67,92); -INSERT INTO product_slots VALUES(67,93); -INSERT INTO product_slots VALUES(67,94); -INSERT INTO product_slots VALUES(67,95); -INSERT INTO product_slots VALUES(67,96); -INSERT INTO product_slots VALUES(67,97); -INSERT INTO product_slots VALUES(67,98); -INSERT INTO product_slots VALUES(67,99); -INSERT INTO product_slots VALUES(67,100); -INSERT INTO product_slots VALUES(67,101); -INSERT INTO product_slots VALUES(67,102); -INSERT INTO product_slots VALUES(67,103); -INSERT INTO product_slots VALUES(67,104); -INSERT INTO product_slots VALUES(67,105); -INSERT INTO product_slots VALUES(67,106); -INSERT INTO product_slots VALUES(67,107); -INSERT INTO product_slots VALUES(67,108); -INSERT INTO product_slots VALUES(67,109); -INSERT INTO product_slots VALUES(67,110); -INSERT INTO product_slots VALUES(67,111); -INSERT INTO product_slots VALUES(67,112); -INSERT INTO product_slots VALUES(67,113); -INSERT INTO product_slots VALUES(67,114); -INSERT INTO product_slots VALUES(67,115); -INSERT INTO product_slots VALUES(67,116); -INSERT INTO product_slots VALUES(67,117); -INSERT INTO product_slots VALUES(67,118); -INSERT INTO product_slots VALUES(67,119); -INSERT INTO product_slots VALUES(67,120); -INSERT INTO product_slots VALUES(67,121); -INSERT INTO product_slots VALUES(67,122); -INSERT INTO product_slots VALUES(67,123); -INSERT INTO product_slots VALUES(67,124); -INSERT INTO product_slots VALUES(67,125); -INSERT INTO product_slots VALUES(67,126); -INSERT INTO product_slots VALUES(67,127); -INSERT INTO product_slots VALUES(67,128); -INSERT INTO product_slots VALUES(67,129); -INSERT INTO product_slots VALUES(67,130); -INSERT INTO product_slots VALUES(67,131); -INSERT INTO product_slots VALUES(67,132); -INSERT INTO product_slots VALUES(67,133); -INSERT INTO product_slots VALUES(67,134); -INSERT INTO product_slots VALUES(67,135); -INSERT INTO product_slots VALUES(67,136); -INSERT INTO product_slots VALUES(67,137); -INSERT INTO product_slots VALUES(67,138); -INSERT INTO product_slots VALUES(67,139); -INSERT INTO product_slots VALUES(67,140); -INSERT INTO product_slots VALUES(67,141); -INSERT INTO product_slots VALUES(67,142); -INSERT INTO product_slots VALUES(67,143); -INSERT INTO product_slots VALUES(67,144); -INSERT INTO product_slots VALUES(67,145); -INSERT INTO product_slots VALUES(67,146); -INSERT INTO product_slots VALUES(67,147); -INSERT INTO product_slots VALUES(67,148); -INSERT INTO product_slots VALUES(67,149); -INSERT INTO product_slots VALUES(67,150); -INSERT INTO product_slots VALUES(67,151); -INSERT INTO product_slots VALUES(67,152); -INSERT INTO product_slots VALUES(67,153); -INSERT INTO product_slots VALUES(67,154); -INSERT INTO product_slots VALUES(67,155); -INSERT INTO product_slots VALUES(67,156); -INSERT INTO product_slots VALUES(67,157); -INSERT INTO product_slots VALUES(67,158); -INSERT INTO product_slots VALUES(67,159); -INSERT INTO product_slots VALUES(67,160); -INSERT INTO product_slots VALUES(67,161); -INSERT INTO product_slots VALUES(67,162); -INSERT INTO product_slots VALUES(67,163); -INSERT INTO product_slots VALUES(67,164); -INSERT INTO product_slots VALUES(67,165); -INSERT INTO product_slots VALUES(67,166); -INSERT INTO product_slots VALUES(67,167); -INSERT INTO product_slots VALUES(67,168); -INSERT INTO product_slots VALUES(67,169); -INSERT INTO product_slots VALUES(67,170); -INSERT INTO product_slots VALUES(67,171); -INSERT INTO product_slots VALUES(67,172); -INSERT INTO product_slots VALUES(67,173); -INSERT INTO product_slots VALUES(67,174); -INSERT INTO product_slots VALUES(67,175); -INSERT INTO product_slots VALUES(67,176); -INSERT INTO product_slots VALUES(67,177); -INSERT INTO product_slots VALUES(67,178); -INSERT INTO product_slots VALUES(67,179); -INSERT INTO product_slots VALUES(67,180); -INSERT INTO product_slots VALUES(67,181); -INSERT INTO product_slots VALUES(67,182); -INSERT INTO product_slots VALUES(67,183); -INSERT INTO product_slots VALUES(67,184); -INSERT INTO product_slots VALUES(67,185); -INSERT INTO product_slots VALUES(67,186); -INSERT INTO product_slots VALUES(67,187); -INSERT INTO product_slots VALUES(67,188); -INSERT INTO product_slots VALUES(67,189); -INSERT INTO product_slots VALUES(67,190); -INSERT INTO product_slots VALUES(67,191); -INSERT INTO product_slots VALUES(67,192); -INSERT INTO product_slots VALUES(67,193); -INSERT INTO product_slots VALUES(67,194); -INSERT INTO product_slots VALUES(67,195); -INSERT INTO product_slots VALUES(67,196); -INSERT INTO product_slots VALUES(67,197); -INSERT INTO product_slots VALUES(67,198); -INSERT INTO product_slots VALUES(67,199); -INSERT INTO product_slots VALUES(67,200); -INSERT INTO product_slots VALUES(67,201); -INSERT INTO product_slots VALUES(67,202); -INSERT INTO product_slots VALUES(67,203); -INSERT INTO product_slots VALUES(67,204); -INSERT INTO product_slots VALUES(67,205); -INSERT INTO product_slots VALUES(67,206); -INSERT INTO product_slots VALUES(67,207); -INSERT INTO product_slots VALUES(67,208); -INSERT INTO product_slots VALUES(67,209); -INSERT INTO product_slots VALUES(67,210); -INSERT INTO product_slots VALUES(67,211); -INSERT INTO product_slots VALUES(67,212); -INSERT INTO product_slots VALUES(67,213); -INSERT INTO product_slots VALUES(67,214); -INSERT INTO product_slots VALUES(67,215); -INSERT INTO product_slots VALUES(67,216); -INSERT INTO product_slots VALUES(67,217); -INSERT INTO product_slots VALUES(67,218); -INSERT INTO product_slots VALUES(67,219); -INSERT INTO product_slots VALUES(67,220); -INSERT INTO product_slots VALUES(67,221); -INSERT INTO product_slots VALUES(67,222); -INSERT INTO product_slots VALUES(67,223); -INSERT INTO product_slots VALUES(67,224); -INSERT INTO product_slots VALUES(67,225); -INSERT INTO product_slots VALUES(67,226); -INSERT INTO product_slots VALUES(67,227); -INSERT INTO product_slots VALUES(67,228); -INSERT INTO product_slots VALUES(67,229); -INSERT INTO product_slots VALUES(67,230); -INSERT INTO product_slots VALUES(67,231); -INSERT INTO product_slots VALUES(67,232); -INSERT INTO product_slots VALUES(67,233); -INSERT INTO product_slots VALUES(67,234); -INSERT INTO product_slots VALUES(67,235); -INSERT INTO product_slots VALUES(67,236); -INSERT INTO product_slots VALUES(67,237); -INSERT INTO product_slots VALUES(67,238); -INSERT INTO product_slots VALUES(67,239); -INSERT INTO product_slots VALUES(67,240); -INSERT INTO product_slots VALUES(67,241); -INSERT INTO product_slots VALUES(67,242); -INSERT INTO product_slots VALUES(67,243); -INSERT INTO product_slots VALUES(67,244); -INSERT INTO product_slots VALUES(67,274); -INSERT INTO product_slots VALUES(67,275); -INSERT INTO product_slots VALUES(67,279); -INSERT INTO product_slots VALUES(67,280); -INSERT INTO product_slots VALUES(67,281); -INSERT INTO product_slots VALUES(67,282); -INSERT INTO product_slots VALUES(67,283); -INSERT INTO product_slots VALUES(67,284); -INSERT INTO product_slots VALUES(67,285); -INSERT INTO product_slots VALUES(67,286); -INSERT INTO product_slots VALUES(67,287); -INSERT INTO product_slots VALUES(68,39); -INSERT INTO product_slots VALUES(68,41); -INSERT INTO product_slots VALUES(68,43); -INSERT INTO product_slots VALUES(68,44); -INSERT INTO product_slots VALUES(68,45); -INSERT INTO product_slots VALUES(68,46); -INSERT INTO product_slots VALUES(68,47); -INSERT INTO product_slots VALUES(68,48); -INSERT INTO product_slots VALUES(68,49); -INSERT INTO product_slots VALUES(68,50); -INSERT INTO product_slots VALUES(68,51); -INSERT INTO product_slots VALUES(68,52); -INSERT INTO product_slots VALUES(68,53); -INSERT INTO product_slots VALUES(68,54); -INSERT INTO product_slots VALUES(68,55); -INSERT INTO product_slots VALUES(68,56); -INSERT INTO product_slots VALUES(68,57); -INSERT INTO product_slots VALUES(68,58); -INSERT INTO product_slots VALUES(68,59); -INSERT INTO product_slots VALUES(68,60); -INSERT INTO product_slots VALUES(68,61); -INSERT INTO product_slots VALUES(68,62); -INSERT INTO product_slots VALUES(68,63); -INSERT INTO product_slots VALUES(68,64); -INSERT INTO product_slots VALUES(68,65); -INSERT INTO product_slots VALUES(68,66); -INSERT INTO product_slots VALUES(68,67); -INSERT INTO product_slots VALUES(68,68); -INSERT INTO product_slots VALUES(68,69); -INSERT INTO product_slots VALUES(68,70); -INSERT INTO product_slots VALUES(68,71); -INSERT INTO product_slots VALUES(68,72); -INSERT INTO product_slots VALUES(68,73); -INSERT INTO product_slots VALUES(68,74); -INSERT INTO product_slots VALUES(68,75); -INSERT INTO product_slots VALUES(68,76); -INSERT INTO product_slots VALUES(68,77); -INSERT INTO product_slots VALUES(68,78); -INSERT INTO product_slots VALUES(68,79); -INSERT INTO product_slots VALUES(68,80); -INSERT INTO product_slots VALUES(68,81); -INSERT INTO product_slots VALUES(68,82); -INSERT INTO product_slots VALUES(68,83); -INSERT INTO product_slots VALUES(68,84); -INSERT INTO product_slots VALUES(68,85); -INSERT INTO product_slots VALUES(68,86); -INSERT INTO product_slots VALUES(68,87); -INSERT INTO product_slots VALUES(68,88); -INSERT INTO product_slots VALUES(68,89); -INSERT INTO product_slots VALUES(68,90); -INSERT INTO product_slots VALUES(68,91); -INSERT INTO product_slots VALUES(68,92); -INSERT INTO product_slots VALUES(68,93); -INSERT INTO product_slots VALUES(68,94); -INSERT INTO product_slots VALUES(68,95); -INSERT INTO product_slots VALUES(68,96); -INSERT INTO product_slots VALUES(68,97); -INSERT INTO product_slots VALUES(68,98); -INSERT INTO product_slots VALUES(68,99); -INSERT INTO product_slots VALUES(68,100); -INSERT INTO product_slots VALUES(68,101); -INSERT INTO product_slots VALUES(68,102); -INSERT INTO product_slots VALUES(68,103); -INSERT INTO product_slots VALUES(68,104); -INSERT INTO product_slots VALUES(68,105); -INSERT INTO product_slots VALUES(68,106); -INSERT INTO product_slots VALUES(68,107); -INSERT INTO product_slots VALUES(68,108); -INSERT INTO product_slots VALUES(68,109); -INSERT INTO product_slots VALUES(68,110); -INSERT INTO product_slots VALUES(68,111); -INSERT INTO product_slots VALUES(68,112); -INSERT INTO product_slots VALUES(68,113); -INSERT INTO product_slots VALUES(68,114); -INSERT INTO product_slots VALUES(68,115); -INSERT INTO product_slots VALUES(68,116); -INSERT INTO product_slots VALUES(68,117); -INSERT INTO product_slots VALUES(68,118); -INSERT INTO product_slots VALUES(68,119); -INSERT INTO product_slots VALUES(68,120); -INSERT INTO product_slots VALUES(68,121); -INSERT INTO product_slots VALUES(68,122); -INSERT INTO product_slots VALUES(68,123); -INSERT INTO product_slots VALUES(68,124); -INSERT INTO product_slots VALUES(68,125); -INSERT INTO product_slots VALUES(68,126); -INSERT INTO product_slots VALUES(68,127); -INSERT INTO product_slots VALUES(68,128); -INSERT INTO product_slots VALUES(68,129); -INSERT INTO product_slots VALUES(68,130); -INSERT INTO product_slots VALUES(68,131); -INSERT INTO product_slots VALUES(68,132); -INSERT INTO product_slots VALUES(68,133); -INSERT INTO product_slots VALUES(68,134); -INSERT INTO product_slots VALUES(68,135); -INSERT INTO product_slots VALUES(68,136); -INSERT INTO product_slots VALUES(68,137); -INSERT INTO product_slots VALUES(68,138); -INSERT INTO product_slots VALUES(68,139); -INSERT INTO product_slots VALUES(68,140); -INSERT INTO product_slots VALUES(68,141); -INSERT INTO product_slots VALUES(68,142); -INSERT INTO product_slots VALUES(68,143); -INSERT INTO product_slots VALUES(68,144); -INSERT INTO product_slots VALUES(68,145); -INSERT INTO product_slots VALUES(68,146); -INSERT INTO product_slots VALUES(68,147); -INSERT INTO product_slots VALUES(68,148); -INSERT INTO product_slots VALUES(68,149); -INSERT INTO product_slots VALUES(68,150); -INSERT INTO product_slots VALUES(68,151); -INSERT INTO product_slots VALUES(68,152); -INSERT INTO product_slots VALUES(68,153); -INSERT INTO product_slots VALUES(68,154); -INSERT INTO product_slots VALUES(68,155); -INSERT INTO product_slots VALUES(68,156); -INSERT INTO product_slots VALUES(68,157); -INSERT INTO product_slots VALUES(68,158); -INSERT INTO product_slots VALUES(68,159); -INSERT INTO product_slots VALUES(68,160); -INSERT INTO product_slots VALUES(68,161); -INSERT INTO product_slots VALUES(68,162); -INSERT INTO product_slots VALUES(68,163); -INSERT INTO product_slots VALUES(68,164); -INSERT INTO product_slots VALUES(68,165); -INSERT INTO product_slots VALUES(68,166); -INSERT INTO product_slots VALUES(68,167); -INSERT INTO product_slots VALUES(68,168); -INSERT INTO product_slots VALUES(68,169); -INSERT INTO product_slots VALUES(68,170); -INSERT INTO product_slots VALUES(68,171); -INSERT INTO product_slots VALUES(68,172); -INSERT INTO product_slots VALUES(68,173); -INSERT INTO product_slots VALUES(68,174); -INSERT INTO product_slots VALUES(68,175); -INSERT INTO product_slots VALUES(68,176); -INSERT INTO product_slots VALUES(68,177); -INSERT INTO product_slots VALUES(68,178); -INSERT INTO product_slots VALUES(68,179); -INSERT INTO product_slots VALUES(68,180); -INSERT INTO product_slots VALUES(68,181); -INSERT INTO product_slots VALUES(68,182); -INSERT INTO product_slots VALUES(68,183); -INSERT INTO product_slots VALUES(68,184); -INSERT INTO product_slots VALUES(68,185); -INSERT INTO product_slots VALUES(68,186); -INSERT INTO product_slots VALUES(68,187); -INSERT INTO product_slots VALUES(68,188); -INSERT INTO product_slots VALUES(68,189); -INSERT INTO product_slots VALUES(68,190); -INSERT INTO product_slots VALUES(68,191); -INSERT INTO product_slots VALUES(68,192); -INSERT INTO product_slots VALUES(68,193); -INSERT INTO product_slots VALUES(68,194); -INSERT INTO product_slots VALUES(68,195); -INSERT INTO product_slots VALUES(68,196); -INSERT INTO product_slots VALUES(68,197); -INSERT INTO product_slots VALUES(68,198); -INSERT INTO product_slots VALUES(68,199); -INSERT INTO product_slots VALUES(68,200); -INSERT INTO product_slots VALUES(68,201); -INSERT INTO product_slots VALUES(68,202); -INSERT INTO product_slots VALUES(68,203); -INSERT INTO product_slots VALUES(68,204); -INSERT INTO product_slots VALUES(68,205); -INSERT INTO product_slots VALUES(68,206); -INSERT INTO product_slots VALUES(68,207); -INSERT INTO product_slots VALUES(68,208); -INSERT INTO product_slots VALUES(68,209); -INSERT INTO product_slots VALUES(68,210); -INSERT INTO product_slots VALUES(68,211); -INSERT INTO product_slots VALUES(68,212); -INSERT INTO product_slots VALUES(68,213); -INSERT INTO product_slots VALUES(68,214); -INSERT INTO product_slots VALUES(68,215); -INSERT INTO product_slots VALUES(68,216); -INSERT INTO product_slots VALUES(68,217); -INSERT INTO product_slots VALUES(68,218); -INSERT INTO product_slots VALUES(68,219); -INSERT INTO product_slots VALUES(68,220); -INSERT INTO product_slots VALUES(68,221); -INSERT INTO product_slots VALUES(68,222); -INSERT INTO product_slots VALUES(68,223); -INSERT INTO product_slots VALUES(68,224); -INSERT INTO product_slots VALUES(68,225); -INSERT INTO product_slots VALUES(68,226); -INSERT INTO product_slots VALUES(68,227); -INSERT INTO product_slots VALUES(68,228); -INSERT INTO product_slots VALUES(68,229); -INSERT INTO product_slots VALUES(68,230); -INSERT INTO product_slots VALUES(68,231); -INSERT INTO product_slots VALUES(68,232); -INSERT INTO product_slots VALUES(68,233); -INSERT INTO product_slots VALUES(68,234); -INSERT INTO product_slots VALUES(68,235); -INSERT INTO product_slots VALUES(68,236); -INSERT INTO product_slots VALUES(68,237); -INSERT INTO product_slots VALUES(68,238); -INSERT INTO product_slots VALUES(68,239); -INSERT INTO product_slots VALUES(68,240); -INSERT INTO product_slots VALUES(68,241); -INSERT INTO product_slots VALUES(68,242); -INSERT INTO product_slots VALUES(68,243); -INSERT INTO product_slots VALUES(68,244); -INSERT INTO product_slots VALUES(68,274); -INSERT INTO product_slots VALUES(68,275); -INSERT INTO product_slots VALUES(68,279); -INSERT INTO product_slots VALUES(68,280); -INSERT INTO product_slots VALUES(68,281); -INSERT INTO product_slots VALUES(68,282); -INSERT INTO product_slots VALUES(68,283); -INSERT INTO product_slots VALUES(68,284); -INSERT INTO product_slots VALUES(68,285); -INSERT INTO product_slots VALUES(68,286); -INSERT INTO product_slots VALUES(68,287); -INSERT INTO product_slots VALUES(69,39); -INSERT INTO product_slots VALUES(69,41); -INSERT INTO product_slots VALUES(69,43); -INSERT INTO product_slots VALUES(69,44); -INSERT INTO product_slots VALUES(69,45); -INSERT INTO product_slots VALUES(69,46); -INSERT INTO product_slots VALUES(69,47); -INSERT INTO product_slots VALUES(69,48); -INSERT INTO product_slots VALUES(69,49); -INSERT INTO product_slots VALUES(69,50); -INSERT INTO product_slots VALUES(69,51); -INSERT INTO product_slots VALUES(69,52); -INSERT INTO product_slots VALUES(69,53); -INSERT INTO product_slots VALUES(69,54); -INSERT INTO product_slots VALUES(69,55); -INSERT INTO product_slots VALUES(69,56); -INSERT INTO product_slots VALUES(69,57); -INSERT INTO product_slots VALUES(69,58); -INSERT INTO product_slots VALUES(69,59); -INSERT INTO product_slots VALUES(69,60); -INSERT INTO product_slots VALUES(69,61); -INSERT INTO product_slots VALUES(69,62); -INSERT INTO product_slots VALUES(69,63); -INSERT INTO product_slots VALUES(69,64); -INSERT INTO product_slots VALUES(69,65); -INSERT INTO product_slots VALUES(69,66); -INSERT INTO product_slots VALUES(69,67); -INSERT INTO product_slots VALUES(69,68); -INSERT INTO product_slots VALUES(69,69); -INSERT INTO product_slots VALUES(69,70); -INSERT INTO product_slots VALUES(69,71); -INSERT INTO product_slots VALUES(69,72); -INSERT INTO product_slots VALUES(69,73); -INSERT INTO product_slots VALUES(69,74); -INSERT INTO product_slots VALUES(69,75); -INSERT INTO product_slots VALUES(69,76); -INSERT INTO product_slots VALUES(69,77); -INSERT INTO product_slots VALUES(69,78); -INSERT INTO product_slots VALUES(69,79); -INSERT INTO product_slots VALUES(69,80); -INSERT INTO product_slots VALUES(69,81); -INSERT INTO product_slots VALUES(69,82); -INSERT INTO product_slots VALUES(69,83); -INSERT INTO product_slots VALUES(69,84); -INSERT INTO product_slots VALUES(69,85); -INSERT INTO product_slots VALUES(69,86); -INSERT INTO product_slots VALUES(69,87); -INSERT INTO product_slots VALUES(69,88); -INSERT INTO product_slots VALUES(69,89); -INSERT INTO product_slots VALUES(69,90); -INSERT INTO product_slots VALUES(69,91); -INSERT INTO product_slots VALUES(69,92); -INSERT INTO product_slots VALUES(69,93); -INSERT INTO product_slots VALUES(69,94); -INSERT INTO product_slots VALUES(69,95); -INSERT INTO product_slots VALUES(69,96); -INSERT INTO product_slots VALUES(69,97); -INSERT INTO product_slots VALUES(69,98); -INSERT INTO product_slots VALUES(69,99); -INSERT INTO product_slots VALUES(69,100); -INSERT INTO product_slots VALUES(69,101); -INSERT INTO product_slots VALUES(69,102); -INSERT INTO product_slots VALUES(69,103); -INSERT INTO product_slots VALUES(69,104); -INSERT INTO product_slots VALUES(69,105); -INSERT INTO product_slots VALUES(69,106); -INSERT INTO product_slots VALUES(69,107); -INSERT INTO product_slots VALUES(69,108); -INSERT INTO product_slots VALUES(69,109); -INSERT INTO product_slots VALUES(69,110); -INSERT INTO product_slots VALUES(69,111); -INSERT INTO product_slots VALUES(69,112); -INSERT INTO product_slots VALUES(69,113); -INSERT INTO product_slots VALUES(69,114); -INSERT INTO product_slots VALUES(69,115); -INSERT INTO product_slots VALUES(69,116); -INSERT INTO product_slots VALUES(69,117); -INSERT INTO product_slots VALUES(69,118); -INSERT INTO product_slots VALUES(69,119); -INSERT INTO product_slots VALUES(69,120); -INSERT INTO product_slots VALUES(69,121); -INSERT INTO product_slots VALUES(69,122); -INSERT INTO product_slots VALUES(69,123); -INSERT INTO product_slots VALUES(69,124); -INSERT INTO product_slots VALUES(69,125); -INSERT INTO product_slots VALUES(69,126); -INSERT INTO product_slots VALUES(69,127); -INSERT INTO product_slots VALUES(69,128); -INSERT INTO product_slots VALUES(69,129); -INSERT INTO product_slots VALUES(69,130); -INSERT INTO product_slots VALUES(69,131); -INSERT INTO product_slots VALUES(69,132); -INSERT INTO product_slots VALUES(69,133); -INSERT INTO product_slots VALUES(69,134); -INSERT INTO product_slots VALUES(69,135); -INSERT INTO product_slots VALUES(69,136); -INSERT INTO product_slots VALUES(69,137); -INSERT INTO product_slots VALUES(69,138); -INSERT INTO product_slots VALUES(69,139); -INSERT INTO product_slots VALUES(69,140); -INSERT INTO product_slots VALUES(69,141); -INSERT INTO product_slots VALUES(69,142); -INSERT INTO product_slots VALUES(69,143); -INSERT INTO product_slots VALUES(69,144); -INSERT INTO product_slots VALUES(69,145); -INSERT INTO product_slots VALUES(69,146); -INSERT INTO product_slots VALUES(69,147); -INSERT INTO product_slots VALUES(69,148); -INSERT INTO product_slots VALUES(69,149); -INSERT INTO product_slots VALUES(69,150); -INSERT INTO product_slots VALUES(69,151); -INSERT INTO product_slots VALUES(69,152); -INSERT INTO product_slots VALUES(69,153); -INSERT INTO product_slots VALUES(69,154); -INSERT INTO product_slots VALUES(69,155); -INSERT INTO product_slots VALUES(69,156); -INSERT INTO product_slots VALUES(69,157); -INSERT INTO product_slots VALUES(69,158); -INSERT INTO product_slots VALUES(69,159); -INSERT INTO product_slots VALUES(69,160); -INSERT INTO product_slots VALUES(69,161); -INSERT INTO product_slots VALUES(69,162); -INSERT INTO product_slots VALUES(69,163); -INSERT INTO product_slots VALUES(69,164); -INSERT INTO product_slots VALUES(69,165); -INSERT INTO product_slots VALUES(69,166); -INSERT INTO product_slots VALUES(69,167); -INSERT INTO product_slots VALUES(69,168); -INSERT INTO product_slots VALUES(69,169); -INSERT INTO product_slots VALUES(69,170); -INSERT INTO product_slots VALUES(69,171); -INSERT INTO product_slots VALUES(69,172); -INSERT INTO product_slots VALUES(69,173); -INSERT INTO product_slots VALUES(69,174); -INSERT INTO product_slots VALUES(69,175); -INSERT INTO product_slots VALUES(69,176); -INSERT INTO product_slots VALUES(69,177); -INSERT INTO product_slots VALUES(69,178); -INSERT INTO product_slots VALUES(69,179); -INSERT INTO product_slots VALUES(69,180); -INSERT INTO product_slots VALUES(69,181); -INSERT INTO product_slots VALUES(69,182); -INSERT INTO product_slots VALUES(69,183); -INSERT INTO product_slots VALUES(69,184); -INSERT INTO product_slots VALUES(69,185); -INSERT INTO product_slots VALUES(69,186); -INSERT INTO product_slots VALUES(69,187); -INSERT INTO product_slots VALUES(69,188); -INSERT INTO product_slots VALUES(69,189); -INSERT INTO product_slots VALUES(69,190); -INSERT INTO product_slots VALUES(69,191); -INSERT INTO product_slots VALUES(69,192); -INSERT INTO product_slots VALUES(69,193); -INSERT INTO product_slots VALUES(69,194); -INSERT INTO product_slots VALUES(69,195); -INSERT INTO product_slots VALUES(69,196); -INSERT INTO product_slots VALUES(69,197); -INSERT INTO product_slots VALUES(69,198); -INSERT INTO product_slots VALUES(69,199); -INSERT INTO product_slots VALUES(69,200); -INSERT INTO product_slots VALUES(69,201); -INSERT INTO product_slots VALUES(69,202); -INSERT INTO product_slots VALUES(69,203); -INSERT INTO product_slots VALUES(69,204); -INSERT INTO product_slots VALUES(69,205); -INSERT INTO product_slots VALUES(69,206); -INSERT INTO product_slots VALUES(69,207); -INSERT INTO product_slots VALUES(69,208); -INSERT INTO product_slots VALUES(69,209); -INSERT INTO product_slots VALUES(69,210); -INSERT INTO product_slots VALUES(69,211); -INSERT INTO product_slots VALUES(69,212); -INSERT INTO product_slots VALUES(69,213); -INSERT INTO product_slots VALUES(69,214); -INSERT INTO product_slots VALUES(69,215); -INSERT INTO product_slots VALUES(69,216); -INSERT INTO product_slots VALUES(69,217); -INSERT INTO product_slots VALUES(69,218); -INSERT INTO product_slots VALUES(69,219); -INSERT INTO product_slots VALUES(69,220); -INSERT INTO product_slots VALUES(69,221); -INSERT INTO product_slots VALUES(69,222); -INSERT INTO product_slots VALUES(69,223); -INSERT INTO product_slots VALUES(69,224); -INSERT INTO product_slots VALUES(69,225); -INSERT INTO product_slots VALUES(69,226); -INSERT INTO product_slots VALUES(69,227); -INSERT INTO product_slots VALUES(69,228); -INSERT INTO product_slots VALUES(69,229); -INSERT INTO product_slots VALUES(69,230); -INSERT INTO product_slots VALUES(69,231); -INSERT INTO product_slots VALUES(69,232); -INSERT INTO product_slots VALUES(69,233); -INSERT INTO product_slots VALUES(69,234); -INSERT INTO product_slots VALUES(69,235); -INSERT INTO product_slots VALUES(69,236); -INSERT INTO product_slots VALUES(69,237); -INSERT INTO product_slots VALUES(69,238); -INSERT INTO product_slots VALUES(69,239); -INSERT INTO product_slots VALUES(69,240); -INSERT INTO product_slots VALUES(69,241); -INSERT INTO product_slots VALUES(69,242); -INSERT INTO product_slots VALUES(69,243); -INSERT INTO product_slots VALUES(69,244); -INSERT INTO product_slots VALUES(69,274); -INSERT INTO product_slots VALUES(69,275); -INSERT INTO product_slots VALUES(69,279); -INSERT INTO product_slots VALUES(69,280); -INSERT INTO product_slots VALUES(69,281); -INSERT INTO product_slots VALUES(69,282); -INSERT INTO product_slots VALUES(69,283); -INSERT INTO product_slots VALUES(69,284); -INSERT INTO product_slots VALUES(69,285); -INSERT INTO product_slots VALUES(69,286); -INSERT INTO product_slots VALUES(69,287); -INSERT INTO product_slots VALUES(70,39); -INSERT INTO product_slots VALUES(70,44); -INSERT INTO product_slots VALUES(70,46); -INSERT INTO product_slots VALUES(70,47); -INSERT INTO product_slots VALUES(70,48); -INSERT INTO product_slots VALUES(70,49); -INSERT INTO product_slots VALUES(70,50); -INSERT INTO product_slots VALUES(70,51); -INSERT INTO product_slots VALUES(70,52); -INSERT INTO product_slots VALUES(70,53); -INSERT INTO product_slots VALUES(70,54); -INSERT INTO product_slots VALUES(70,55); -INSERT INTO product_slots VALUES(70,56); -INSERT INTO product_slots VALUES(70,57); -INSERT INTO product_slots VALUES(70,58); -INSERT INTO product_slots VALUES(70,59); -INSERT INTO product_slots VALUES(70,60); -INSERT INTO product_slots VALUES(70,61); -INSERT INTO product_slots VALUES(70,62); -INSERT INTO product_slots VALUES(70,63); -INSERT INTO product_slots VALUES(70,64); -INSERT INTO product_slots VALUES(70,65); -INSERT INTO product_slots VALUES(70,66); -INSERT INTO product_slots VALUES(70,67); -INSERT INTO product_slots VALUES(70,68); -INSERT INTO product_slots VALUES(70,69); -INSERT INTO product_slots VALUES(70,70); -INSERT INTO product_slots VALUES(70,71); -INSERT INTO product_slots VALUES(70,72); -INSERT INTO product_slots VALUES(70,73); -INSERT INTO product_slots VALUES(70,74); -INSERT INTO product_slots VALUES(70,75); -INSERT INTO product_slots VALUES(70,76); -INSERT INTO product_slots VALUES(70,77); -INSERT INTO product_slots VALUES(70,78); -INSERT INTO product_slots VALUES(70,79); -INSERT INTO product_slots VALUES(70,80); -INSERT INTO product_slots VALUES(70,81); -INSERT INTO product_slots VALUES(70,82); -INSERT INTO product_slots VALUES(70,83); -INSERT INTO product_slots VALUES(70,84); -INSERT INTO product_slots VALUES(70,85); -INSERT INTO product_slots VALUES(70,86); -INSERT INTO product_slots VALUES(70,87); -INSERT INTO product_slots VALUES(70,88); -INSERT INTO product_slots VALUES(70,89); -INSERT INTO product_slots VALUES(70,90); -INSERT INTO product_slots VALUES(70,91); -INSERT INTO product_slots VALUES(70,92); -INSERT INTO product_slots VALUES(70,93); -INSERT INTO product_slots VALUES(70,94); -INSERT INTO product_slots VALUES(70,95); -INSERT INTO product_slots VALUES(70,96); -INSERT INTO product_slots VALUES(70,97); -INSERT INTO product_slots VALUES(70,98); -INSERT INTO product_slots VALUES(70,99); -INSERT INTO product_slots VALUES(70,100); -INSERT INTO product_slots VALUES(70,101); -INSERT INTO product_slots VALUES(70,102); -INSERT INTO product_slots VALUES(70,103); -INSERT INTO product_slots VALUES(70,104); -INSERT INTO product_slots VALUES(70,105); -INSERT INTO product_slots VALUES(70,106); -INSERT INTO product_slots VALUES(70,107); -INSERT INTO product_slots VALUES(70,108); -INSERT INTO product_slots VALUES(70,109); -INSERT INTO product_slots VALUES(70,110); -INSERT INTO product_slots VALUES(70,111); -INSERT INTO product_slots VALUES(70,112); -INSERT INTO product_slots VALUES(70,113); -INSERT INTO product_slots VALUES(70,114); -INSERT INTO product_slots VALUES(70,115); -INSERT INTO product_slots VALUES(70,116); -INSERT INTO product_slots VALUES(70,117); -INSERT INTO product_slots VALUES(70,118); -INSERT INTO product_slots VALUES(70,119); -INSERT INTO product_slots VALUES(70,120); -INSERT INTO product_slots VALUES(70,121); -INSERT INTO product_slots VALUES(70,122); -INSERT INTO product_slots VALUES(70,123); -INSERT INTO product_slots VALUES(70,124); -INSERT INTO product_slots VALUES(70,125); -INSERT INTO product_slots VALUES(70,126); -INSERT INTO product_slots VALUES(70,127); -INSERT INTO product_slots VALUES(70,128); -INSERT INTO product_slots VALUES(70,129); -INSERT INTO product_slots VALUES(70,130); -INSERT INTO product_slots VALUES(70,131); -INSERT INTO product_slots VALUES(70,132); -INSERT INTO product_slots VALUES(70,133); -INSERT INTO product_slots VALUES(70,134); -INSERT INTO product_slots VALUES(70,135); -INSERT INTO product_slots VALUES(70,136); -INSERT INTO product_slots VALUES(70,137); -INSERT INTO product_slots VALUES(70,138); -INSERT INTO product_slots VALUES(70,139); -INSERT INTO product_slots VALUES(70,140); -INSERT INTO product_slots VALUES(70,141); -INSERT INTO product_slots VALUES(70,142); -INSERT INTO product_slots VALUES(70,143); -INSERT INTO product_slots VALUES(70,144); -INSERT INTO product_slots VALUES(70,145); -INSERT INTO product_slots VALUES(70,146); -INSERT INTO product_slots VALUES(70,147); -INSERT INTO product_slots VALUES(70,148); -INSERT INTO product_slots VALUES(70,149); -INSERT INTO product_slots VALUES(70,150); -INSERT INTO product_slots VALUES(70,151); -INSERT INTO product_slots VALUES(70,152); -INSERT INTO product_slots VALUES(70,153); -INSERT INTO product_slots VALUES(70,154); -INSERT INTO product_slots VALUES(70,155); -INSERT INTO product_slots VALUES(70,156); -INSERT INTO product_slots VALUES(70,157); -INSERT INTO product_slots VALUES(70,158); -INSERT INTO product_slots VALUES(70,159); -INSERT INTO product_slots VALUES(70,160); -INSERT INTO product_slots VALUES(70,161); -INSERT INTO product_slots VALUES(70,162); -INSERT INTO product_slots VALUES(70,163); -INSERT INTO product_slots VALUES(70,164); -INSERT INTO product_slots VALUES(70,165); -INSERT INTO product_slots VALUES(70,166); -INSERT INTO product_slots VALUES(70,167); -INSERT INTO product_slots VALUES(70,168); -INSERT INTO product_slots VALUES(70,169); -INSERT INTO product_slots VALUES(70,170); -INSERT INTO product_slots VALUES(70,171); -INSERT INTO product_slots VALUES(70,172); -INSERT INTO product_slots VALUES(70,173); -INSERT INTO product_slots VALUES(70,174); -INSERT INTO product_slots VALUES(70,175); -INSERT INTO product_slots VALUES(70,176); -INSERT INTO product_slots VALUES(70,177); -INSERT INTO product_slots VALUES(70,178); -INSERT INTO product_slots VALUES(70,179); -INSERT INTO product_slots VALUES(70,180); -INSERT INTO product_slots VALUES(70,181); -INSERT INTO product_slots VALUES(70,182); -INSERT INTO product_slots VALUES(70,183); -INSERT INTO product_slots VALUES(70,184); -INSERT INTO product_slots VALUES(70,185); -INSERT INTO product_slots VALUES(70,186); -INSERT INTO product_slots VALUES(70,187); -INSERT INTO product_slots VALUES(70,188); -INSERT INTO product_slots VALUES(70,189); -INSERT INTO product_slots VALUES(70,190); -INSERT INTO product_slots VALUES(70,191); -INSERT INTO product_slots VALUES(70,192); -INSERT INTO product_slots VALUES(70,193); -INSERT INTO product_slots VALUES(70,194); -INSERT INTO product_slots VALUES(70,195); -INSERT INTO product_slots VALUES(70,196); -INSERT INTO product_slots VALUES(70,197); -INSERT INTO product_slots VALUES(70,198); -INSERT INTO product_slots VALUES(70,199); -INSERT INTO product_slots VALUES(70,200); -INSERT INTO product_slots VALUES(70,201); -INSERT INTO product_slots VALUES(70,202); -INSERT INTO product_slots VALUES(70,203); -INSERT INTO product_slots VALUES(70,204); -INSERT INTO product_slots VALUES(70,205); -INSERT INTO product_slots VALUES(70,206); -INSERT INTO product_slots VALUES(70,207); -INSERT INTO product_slots VALUES(70,208); -INSERT INTO product_slots VALUES(70,209); -INSERT INTO product_slots VALUES(70,210); -INSERT INTO product_slots VALUES(70,211); -INSERT INTO product_slots VALUES(70,212); -INSERT INTO product_slots VALUES(70,213); -INSERT INTO product_slots VALUES(70,214); -INSERT INTO product_slots VALUES(70,215); -INSERT INTO product_slots VALUES(70,216); -INSERT INTO product_slots VALUES(70,217); -INSERT INTO product_slots VALUES(70,218); -INSERT INTO product_slots VALUES(70,219); -INSERT INTO product_slots VALUES(70,220); -INSERT INTO product_slots VALUES(70,221); -INSERT INTO product_slots VALUES(70,222); -INSERT INTO product_slots VALUES(70,223); -INSERT INTO product_slots VALUES(70,224); -INSERT INTO product_slots VALUES(70,225); -INSERT INTO product_slots VALUES(70,226); -INSERT INTO product_slots VALUES(70,227); -INSERT INTO product_slots VALUES(70,228); -INSERT INTO product_slots VALUES(70,229); -INSERT INTO product_slots VALUES(70,230); -INSERT INTO product_slots VALUES(70,231); -INSERT INTO product_slots VALUES(70,232); -INSERT INTO product_slots VALUES(70,233); -INSERT INTO product_slots VALUES(70,234); -INSERT INTO product_slots VALUES(70,235); -INSERT INTO product_slots VALUES(70,236); -INSERT INTO product_slots VALUES(70,237); -INSERT INTO product_slots VALUES(70,238); -INSERT INTO product_slots VALUES(70,239); -INSERT INTO product_slots VALUES(70,240); -INSERT INTO product_slots VALUES(70,241); -INSERT INTO product_slots VALUES(70,242); -INSERT INTO product_slots VALUES(70,243); -INSERT INTO product_slots VALUES(70,244); -INSERT INTO product_slots VALUES(70,274); -INSERT INTO product_slots VALUES(70,275); -INSERT INTO product_slots VALUES(70,279); -INSERT INTO product_slots VALUES(70,280); -INSERT INTO product_slots VALUES(70,281); -INSERT INTO product_slots VALUES(70,282); -INSERT INTO product_slots VALUES(70,283); -INSERT INTO product_slots VALUES(70,284); -INSERT INTO product_slots VALUES(70,285); -INSERT INTO product_slots VALUES(70,286); -INSERT INTO product_slots VALUES(70,287); -INSERT INTO product_slots VALUES(71,39); -INSERT INTO product_slots VALUES(71,41); -INSERT INTO product_slots VALUES(71,43); -INSERT INTO product_slots VALUES(71,44); -INSERT INTO product_slots VALUES(71,45); -INSERT INTO product_slots VALUES(71,46); -INSERT INTO product_slots VALUES(71,47); -INSERT INTO product_slots VALUES(71,48); -INSERT INTO product_slots VALUES(71,49); -INSERT INTO product_slots VALUES(71,50); -INSERT INTO product_slots VALUES(71,51); -INSERT INTO product_slots VALUES(71,52); -INSERT INTO product_slots VALUES(71,53); -INSERT INTO product_slots VALUES(71,54); -INSERT INTO product_slots VALUES(71,55); -INSERT INTO product_slots VALUES(71,56); -INSERT INTO product_slots VALUES(71,57); -INSERT INTO product_slots VALUES(71,58); -INSERT INTO product_slots VALUES(71,59); -INSERT INTO product_slots VALUES(71,60); -INSERT INTO product_slots VALUES(71,61); -INSERT INTO product_slots VALUES(71,62); -INSERT INTO product_slots VALUES(71,63); -INSERT INTO product_slots VALUES(71,64); -INSERT INTO product_slots VALUES(71,65); -INSERT INTO product_slots VALUES(71,66); -INSERT INTO product_slots VALUES(71,67); -INSERT INTO product_slots VALUES(71,68); -INSERT INTO product_slots VALUES(71,69); -INSERT INTO product_slots VALUES(71,70); -INSERT INTO product_slots VALUES(71,71); -INSERT INTO product_slots VALUES(71,72); -INSERT INTO product_slots VALUES(71,73); -INSERT INTO product_slots VALUES(71,74); -INSERT INTO product_slots VALUES(71,75); -INSERT INTO product_slots VALUES(71,76); -INSERT INTO product_slots VALUES(71,77); -INSERT INTO product_slots VALUES(71,78); -INSERT INTO product_slots VALUES(71,79); -INSERT INTO product_slots VALUES(71,80); -INSERT INTO product_slots VALUES(71,81); -INSERT INTO product_slots VALUES(71,82); -INSERT INTO product_slots VALUES(71,83); -INSERT INTO product_slots VALUES(71,84); -INSERT INTO product_slots VALUES(71,85); -INSERT INTO product_slots VALUES(71,86); -INSERT INTO product_slots VALUES(71,87); -INSERT INTO product_slots VALUES(71,88); -INSERT INTO product_slots VALUES(71,89); -INSERT INTO product_slots VALUES(71,90); -INSERT INTO product_slots VALUES(71,91); -INSERT INTO product_slots VALUES(71,92); -INSERT INTO product_slots VALUES(71,93); -INSERT INTO product_slots VALUES(71,94); -INSERT INTO product_slots VALUES(71,95); -INSERT INTO product_slots VALUES(71,96); -INSERT INTO product_slots VALUES(71,97); -INSERT INTO product_slots VALUES(71,98); -INSERT INTO product_slots VALUES(71,99); -INSERT INTO product_slots VALUES(71,100); -INSERT INTO product_slots VALUES(71,101); -INSERT INTO product_slots VALUES(71,102); -INSERT INTO product_slots VALUES(71,103); -INSERT INTO product_slots VALUES(71,104); -INSERT INTO product_slots VALUES(71,105); -INSERT INTO product_slots VALUES(71,106); -INSERT INTO product_slots VALUES(71,107); -INSERT INTO product_slots VALUES(71,108); -INSERT INTO product_slots VALUES(71,109); -INSERT INTO product_slots VALUES(71,110); -INSERT INTO product_slots VALUES(71,111); -INSERT INTO product_slots VALUES(71,112); -INSERT INTO product_slots VALUES(71,113); -INSERT INTO product_slots VALUES(71,114); -INSERT INTO product_slots VALUES(71,115); -INSERT INTO product_slots VALUES(71,116); -INSERT INTO product_slots VALUES(71,117); -INSERT INTO product_slots VALUES(71,118); -INSERT INTO product_slots VALUES(71,119); -INSERT INTO product_slots VALUES(71,120); -INSERT INTO product_slots VALUES(71,121); -INSERT INTO product_slots VALUES(71,122); -INSERT INTO product_slots VALUES(71,123); -INSERT INTO product_slots VALUES(71,124); -INSERT INTO product_slots VALUES(71,125); -INSERT INTO product_slots VALUES(71,126); -INSERT INTO product_slots VALUES(71,127); -INSERT INTO product_slots VALUES(71,128); -INSERT INTO product_slots VALUES(71,129); -INSERT INTO product_slots VALUES(71,130); -INSERT INTO product_slots VALUES(71,131); -INSERT INTO product_slots VALUES(71,132); -INSERT INTO product_slots VALUES(71,133); -INSERT INTO product_slots VALUES(71,134); -INSERT INTO product_slots VALUES(71,135); -INSERT INTO product_slots VALUES(71,136); -INSERT INTO product_slots VALUES(71,137); -INSERT INTO product_slots VALUES(71,138); -INSERT INTO product_slots VALUES(71,139); -INSERT INTO product_slots VALUES(71,140); -INSERT INTO product_slots VALUES(71,141); -INSERT INTO product_slots VALUES(71,142); -INSERT INTO product_slots VALUES(71,143); -INSERT INTO product_slots VALUES(71,144); -INSERT INTO product_slots VALUES(71,145); -INSERT INTO product_slots VALUES(71,146); -INSERT INTO product_slots VALUES(71,147); -INSERT INTO product_slots VALUES(71,148); -INSERT INTO product_slots VALUES(71,149); -INSERT INTO product_slots VALUES(71,150); -INSERT INTO product_slots VALUES(71,151); -INSERT INTO product_slots VALUES(71,152); -INSERT INTO product_slots VALUES(71,153); -INSERT INTO product_slots VALUES(71,154); -INSERT INTO product_slots VALUES(71,155); -INSERT INTO product_slots VALUES(71,156); -INSERT INTO product_slots VALUES(71,157); -INSERT INTO product_slots VALUES(71,158); -INSERT INTO product_slots VALUES(71,159); -INSERT INTO product_slots VALUES(71,160); -INSERT INTO product_slots VALUES(71,161); -INSERT INTO product_slots VALUES(71,162); -INSERT INTO product_slots VALUES(71,163); -INSERT INTO product_slots VALUES(71,164); -INSERT INTO product_slots VALUES(71,165); -INSERT INTO product_slots VALUES(71,166); -INSERT INTO product_slots VALUES(71,167); -INSERT INTO product_slots VALUES(71,168); -INSERT INTO product_slots VALUES(71,169); -INSERT INTO product_slots VALUES(71,170); -INSERT INTO product_slots VALUES(71,171); -INSERT INTO product_slots VALUES(71,172); -INSERT INTO product_slots VALUES(71,173); -INSERT INTO product_slots VALUES(71,174); -INSERT INTO product_slots VALUES(71,175); -INSERT INTO product_slots VALUES(71,176); -INSERT INTO product_slots VALUES(71,177); -INSERT INTO product_slots VALUES(71,178); -INSERT INTO product_slots VALUES(71,179); -INSERT INTO product_slots VALUES(71,180); -INSERT INTO product_slots VALUES(71,181); -INSERT INTO product_slots VALUES(71,182); -INSERT INTO product_slots VALUES(71,183); -INSERT INTO product_slots VALUES(71,184); -INSERT INTO product_slots VALUES(71,185); -INSERT INTO product_slots VALUES(71,186); -INSERT INTO product_slots VALUES(71,187); -INSERT INTO product_slots VALUES(71,188); -INSERT INTO product_slots VALUES(71,189); -INSERT INTO product_slots VALUES(71,190); -INSERT INTO product_slots VALUES(71,191); -INSERT INTO product_slots VALUES(71,192); -INSERT INTO product_slots VALUES(71,193); -INSERT INTO product_slots VALUES(71,194); -INSERT INTO product_slots VALUES(71,195); -INSERT INTO product_slots VALUES(71,196); -INSERT INTO product_slots VALUES(71,197); -INSERT INTO product_slots VALUES(71,198); -INSERT INTO product_slots VALUES(71,199); -INSERT INTO product_slots VALUES(71,200); -INSERT INTO product_slots VALUES(71,201); -INSERT INTO product_slots VALUES(71,202); -INSERT INTO product_slots VALUES(71,203); -INSERT INTO product_slots VALUES(71,204); -INSERT INTO product_slots VALUES(71,205); -INSERT INTO product_slots VALUES(71,206); -INSERT INTO product_slots VALUES(71,207); -INSERT INTO product_slots VALUES(71,208); -INSERT INTO product_slots VALUES(71,209); -INSERT INTO product_slots VALUES(71,210); -INSERT INTO product_slots VALUES(71,211); -INSERT INTO product_slots VALUES(71,212); -INSERT INTO product_slots VALUES(71,213); -INSERT INTO product_slots VALUES(71,214); -INSERT INTO product_slots VALUES(71,215); -INSERT INTO product_slots VALUES(71,216); -INSERT INTO product_slots VALUES(71,217); -INSERT INTO product_slots VALUES(71,218); -INSERT INTO product_slots VALUES(71,219); -INSERT INTO product_slots VALUES(71,220); -INSERT INTO product_slots VALUES(71,221); -INSERT INTO product_slots VALUES(71,222); -INSERT INTO product_slots VALUES(71,223); -INSERT INTO product_slots VALUES(71,224); -INSERT INTO product_slots VALUES(71,225); -INSERT INTO product_slots VALUES(71,226); -INSERT INTO product_slots VALUES(71,227); -INSERT INTO product_slots VALUES(71,228); -INSERT INTO product_slots VALUES(71,229); -INSERT INTO product_slots VALUES(71,230); -INSERT INTO product_slots VALUES(71,231); -INSERT INTO product_slots VALUES(71,232); -INSERT INTO product_slots VALUES(71,233); -INSERT INTO product_slots VALUES(71,234); -INSERT INTO product_slots VALUES(71,235); -INSERT INTO product_slots VALUES(71,236); -INSERT INTO product_slots VALUES(71,237); -INSERT INTO product_slots VALUES(71,238); -INSERT INTO product_slots VALUES(71,239); -INSERT INTO product_slots VALUES(71,240); -INSERT INTO product_slots VALUES(71,241); -INSERT INTO product_slots VALUES(71,242); -INSERT INTO product_slots VALUES(71,243); -INSERT INTO product_slots VALUES(71,244); -INSERT INTO product_slots VALUES(71,274); -INSERT INTO product_slots VALUES(71,275); -INSERT INTO product_slots VALUES(71,279); -INSERT INTO product_slots VALUES(71,280); -INSERT INTO product_slots VALUES(71,281); -INSERT INTO product_slots VALUES(71,282); -INSERT INTO product_slots VALUES(71,283); -INSERT INTO product_slots VALUES(71,284); -INSERT INTO product_slots VALUES(71,285); -INSERT INTO product_slots VALUES(71,286); -INSERT INTO product_slots VALUES(71,287); -INSERT INTO product_slots VALUES(72,39); -INSERT INTO product_slots VALUES(72,41); -INSERT INTO product_slots VALUES(72,43); -INSERT INTO product_slots VALUES(72,44); -INSERT INTO product_slots VALUES(72,45); -INSERT INTO product_slots VALUES(72,46); -INSERT INTO product_slots VALUES(72,47); -INSERT INTO product_slots VALUES(72,48); -INSERT INTO product_slots VALUES(72,49); -INSERT INTO product_slots VALUES(72,50); -INSERT INTO product_slots VALUES(72,51); -INSERT INTO product_slots VALUES(72,52); -INSERT INTO product_slots VALUES(72,53); -INSERT INTO product_slots VALUES(72,54); -INSERT INTO product_slots VALUES(72,55); -INSERT INTO product_slots VALUES(72,56); -INSERT INTO product_slots VALUES(72,57); -INSERT INTO product_slots VALUES(72,58); -INSERT INTO product_slots VALUES(72,59); -INSERT INTO product_slots VALUES(72,60); -INSERT INTO product_slots VALUES(72,61); -INSERT INTO product_slots VALUES(72,62); -INSERT INTO product_slots VALUES(72,63); -INSERT INTO product_slots VALUES(72,64); -INSERT INTO product_slots VALUES(72,65); -INSERT INTO product_slots VALUES(72,66); -INSERT INTO product_slots VALUES(72,67); -INSERT INTO product_slots VALUES(72,68); -INSERT INTO product_slots VALUES(72,69); -INSERT INTO product_slots VALUES(72,70); -INSERT INTO product_slots VALUES(72,71); -INSERT INTO product_slots VALUES(72,72); -INSERT INTO product_slots VALUES(72,73); -INSERT INTO product_slots VALUES(72,74); -INSERT INTO product_slots VALUES(72,75); -INSERT INTO product_slots VALUES(72,76); -INSERT INTO product_slots VALUES(72,77); -INSERT INTO product_slots VALUES(72,78); -INSERT INTO product_slots VALUES(72,79); -INSERT INTO product_slots VALUES(72,80); -INSERT INTO product_slots VALUES(72,81); -INSERT INTO product_slots VALUES(72,82); -INSERT INTO product_slots VALUES(72,83); -INSERT INTO product_slots VALUES(72,84); -INSERT INTO product_slots VALUES(72,85); -INSERT INTO product_slots VALUES(72,86); -INSERT INTO product_slots VALUES(72,87); -INSERT INTO product_slots VALUES(72,88); -INSERT INTO product_slots VALUES(72,89); -INSERT INTO product_slots VALUES(72,90); -INSERT INTO product_slots VALUES(72,91); -INSERT INTO product_slots VALUES(72,92); -INSERT INTO product_slots VALUES(72,93); -INSERT INTO product_slots VALUES(72,94); -INSERT INTO product_slots VALUES(72,95); -INSERT INTO product_slots VALUES(72,96); -INSERT INTO product_slots VALUES(72,97); -INSERT INTO product_slots VALUES(72,98); -INSERT INTO product_slots VALUES(72,99); -INSERT INTO product_slots VALUES(72,100); -INSERT INTO product_slots VALUES(72,101); -INSERT INTO product_slots VALUES(72,102); -INSERT INTO product_slots VALUES(72,103); -INSERT INTO product_slots VALUES(72,104); -INSERT INTO product_slots VALUES(72,105); -INSERT INTO product_slots VALUES(72,106); -INSERT INTO product_slots VALUES(72,107); -INSERT INTO product_slots VALUES(72,108); -INSERT INTO product_slots VALUES(72,109); -INSERT INTO product_slots VALUES(72,110); -INSERT INTO product_slots VALUES(72,111); -INSERT INTO product_slots VALUES(72,112); -INSERT INTO product_slots VALUES(72,113); -INSERT INTO product_slots VALUES(72,114); -INSERT INTO product_slots VALUES(72,115); -INSERT INTO product_slots VALUES(72,116); -INSERT INTO product_slots VALUES(72,117); -INSERT INTO product_slots VALUES(72,118); -INSERT INTO product_slots VALUES(72,119); -INSERT INTO product_slots VALUES(72,120); -INSERT INTO product_slots VALUES(72,121); -INSERT INTO product_slots VALUES(72,122); -INSERT INTO product_slots VALUES(72,123); -INSERT INTO product_slots VALUES(72,124); -INSERT INTO product_slots VALUES(72,125); -INSERT INTO product_slots VALUES(72,126); -INSERT INTO product_slots VALUES(72,127); -INSERT INTO product_slots VALUES(72,128); -INSERT INTO product_slots VALUES(72,129); -INSERT INTO product_slots VALUES(72,130); -INSERT INTO product_slots VALUES(72,131); -INSERT INTO product_slots VALUES(72,132); -INSERT INTO product_slots VALUES(72,133); -INSERT INTO product_slots VALUES(72,134); -INSERT INTO product_slots VALUES(72,135); -INSERT INTO product_slots VALUES(72,136); -INSERT INTO product_slots VALUES(72,137); -INSERT INTO product_slots VALUES(72,138); -INSERT INTO product_slots VALUES(72,139); -INSERT INTO product_slots VALUES(72,140); -INSERT INTO product_slots VALUES(72,141); -INSERT INTO product_slots VALUES(72,142); -INSERT INTO product_slots VALUES(72,143); -INSERT INTO product_slots VALUES(72,144); -INSERT INTO product_slots VALUES(72,145); -INSERT INTO product_slots VALUES(72,146); -INSERT INTO product_slots VALUES(72,147); -INSERT INTO product_slots VALUES(72,148); -INSERT INTO product_slots VALUES(72,149); -INSERT INTO product_slots VALUES(72,150); -INSERT INTO product_slots VALUES(72,151); -INSERT INTO product_slots VALUES(72,152); -INSERT INTO product_slots VALUES(72,153); -INSERT INTO product_slots VALUES(72,154); -INSERT INTO product_slots VALUES(72,155); -INSERT INTO product_slots VALUES(72,156); -INSERT INTO product_slots VALUES(72,157); -INSERT INTO product_slots VALUES(72,158); -INSERT INTO product_slots VALUES(72,159); -INSERT INTO product_slots VALUES(72,160); -INSERT INTO product_slots VALUES(72,161); -INSERT INTO product_slots VALUES(72,162); -INSERT INTO product_slots VALUES(72,163); -INSERT INTO product_slots VALUES(72,164); -INSERT INTO product_slots VALUES(72,165); -INSERT INTO product_slots VALUES(72,166); -INSERT INTO product_slots VALUES(72,167); -INSERT INTO product_slots VALUES(72,168); -INSERT INTO product_slots VALUES(72,169); -INSERT INTO product_slots VALUES(72,170); -INSERT INTO product_slots VALUES(72,171); -INSERT INTO product_slots VALUES(72,172); -INSERT INTO product_slots VALUES(72,173); -INSERT INTO product_slots VALUES(72,174); -INSERT INTO product_slots VALUES(72,175); -INSERT INTO product_slots VALUES(72,176); -INSERT INTO product_slots VALUES(72,177); -INSERT INTO product_slots VALUES(72,178); -INSERT INTO product_slots VALUES(72,179); -INSERT INTO product_slots VALUES(72,180); -INSERT INTO product_slots VALUES(72,181); -INSERT INTO product_slots VALUES(72,182); -INSERT INTO product_slots VALUES(72,183); -INSERT INTO product_slots VALUES(72,184); -INSERT INTO product_slots VALUES(72,185); -INSERT INTO product_slots VALUES(72,186); -INSERT INTO product_slots VALUES(72,187); -INSERT INTO product_slots VALUES(72,188); -INSERT INTO product_slots VALUES(72,189); -INSERT INTO product_slots VALUES(72,190); -INSERT INTO product_slots VALUES(72,191); -INSERT INTO product_slots VALUES(72,192); -INSERT INTO product_slots VALUES(72,193); -INSERT INTO product_slots VALUES(72,194); -INSERT INTO product_slots VALUES(72,195); -INSERT INTO product_slots VALUES(72,196); -INSERT INTO product_slots VALUES(72,197); -INSERT INTO product_slots VALUES(72,198); -INSERT INTO product_slots VALUES(72,199); -INSERT INTO product_slots VALUES(72,200); -INSERT INTO product_slots VALUES(72,201); -INSERT INTO product_slots VALUES(72,202); -INSERT INTO product_slots VALUES(72,203); -INSERT INTO product_slots VALUES(72,204); -INSERT INTO product_slots VALUES(72,205); -INSERT INTO product_slots VALUES(72,206); -INSERT INTO product_slots VALUES(72,207); -INSERT INTO product_slots VALUES(72,208); -INSERT INTO product_slots VALUES(72,209); -INSERT INTO product_slots VALUES(72,210); -INSERT INTO product_slots VALUES(72,211); -INSERT INTO product_slots VALUES(72,212); -INSERT INTO product_slots VALUES(72,213); -INSERT INTO product_slots VALUES(72,214); -INSERT INTO product_slots VALUES(72,215); -INSERT INTO product_slots VALUES(72,216); -INSERT INTO product_slots VALUES(72,217); -INSERT INTO product_slots VALUES(72,218); -INSERT INTO product_slots VALUES(72,219); -INSERT INTO product_slots VALUES(72,220); -INSERT INTO product_slots VALUES(72,221); -INSERT INTO product_slots VALUES(72,222); -INSERT INTO product_slots VALUES(72,223); -INSERT INTO product_slots VALUES(72,224); -INSERT INTO product_slots VALUES(72,225); -INSERT INTO product_slots VALUES(72,226); -INSERT INTO product_slots VALUES(72,227); -INSERT INTO product_slots VALUES(72,228); -INSERT INTO product_slots VALUES(72,229); -INSERT INTO product_slots VALUES(72,230); -INSERT INTO product_slots VALUES(72,231); -INSERT INTO product_slots VALUES(72,232); -INSERT INTO product_slots VALUES(72,233); -INSERT INTO product_slots VALUES(72,234); -INSERT INTO product_slots VALUES(72,235); -INSERT INTO product_slots VALUES(72,236); -INSERT INTO product_slots VALUES(72,237); -INSERT INTO product_slots VALUES(72,238); -INSERT INTO product_slots VALUES(72,239); -INSERT INTO product_slots VALUES(72,240); -INSERT INTO product_slots VALUES(72,241); -INSERT INTO product_slots VALUES(72,242); -INSERT INTO product_slots VALUES(72,243); -INSERT INTO product_slots VALUES(72,244); -INSERT INTO product_slots VALUES(72,274); -INSERT INTO product_slots VALUES(72,275); -INSERT INTO product_slots VALUES(72,279); -INSERT INTO product_slots VALUES(72,280); -INSERT INTO product_slots VALUES(72,281); -INSERT INTO product_slots VALUES(72,282); -INSERT INTO product_slots VALUES(72,283); -INSERT INTO product_slots VALUES(72,284); -INSERT INTO product_slots VALUES(72,285); -INSERT INTO product_slots VALUES(72,286); -INSERT INTO product_slots VALUES(72,287); -INSERT INTO product_slots VALUES(73,40); -INSERT INTO product_slots VALUES(73,64); -INSERT INTO product_slots VALUES(73,65); -INSERT INTO product_slots VALUES(73,66); -INSERT INTO product_slots VALUES(73,67); -INSERT INTO product_slots VALUES(73,68); -INSERT INTO product_slots VALUES(73,69); -INSERT INTO product_slots VALUES(73,70); -INSERT INTO product_slots VALUES(73,71); -INSERT INTO product_slots VALUES(73,72); -INSERT INTO product_slots VALUES(73,73); -INSERT INTO product_slots VALUES(73,74); -INSERT INTO product_slots VALUES(73,75); -INSERT INTO product_slots VALUES(73,76); -INSERT INTO product_slots VALUES(73,77); -INSERT INTO product_slots VALUES(73,78); -INSERT INTO product_slots VALUES(73,79); -INSERT INTO product_slots VALUES(73,80); -INSERT INTO product_slots VALUES(73,81); -INSERT INTO product_slots VALUES(73,82); -INSERT INTO product_slots VALUES(73,83); -INSERT INTO product_slots VALUES(73,84); -INSERT INTO product_slots VALUES(73,85); -INSERT INTO product_slots VALUES(73,86); -INSERT INTO product_slots VALUES(73,87); -INSERT INTO product_slots VALUES(73,88); -INSERT INTO product_slots VALUES(73,89); -INSERT INTO product_slots VALUES(73,90); -INSERT INTO product_slots VALUES(73,91); -INSERT INTO product_slots VALUES(73,92); -INSERT INTO product_slots VALUES(73,93); -INSERT INTO product_slots VALUES(73,94); -INSERT INTO product_slots VALUES(73,95); -INSERT INTO product_slots VALUES(73,96); -INSERT INTO product_slots VALUES(73,97); -INSERT INTO product_slots VALUES(73,98); -INSERT INTO product_slots VALUES(73,99); -INSERT INTO product_slots VALUES(73,100); -INSERT INTO product_slots VALUES(73,102); -INSERT INTO product_slots VALUES(73,103); -INSERT INTO product_slots VALUES(73,104); -INSERT INTO product_slots VALUES(73,105); -INSERT INTO product_slots VALUES(73,106); -INSERT INTO product_slots VALUES(73,107); -INSERT INTO product_slots VALUES(73,108); -INSERT INTO product_slots VALUES(73,109); -INSERT INTO product_slots VALUES(73,110); -INSERT INTO product_slots VALUES(73,111); -INSERT INTO product_slots VALUES(73,112); -INSERT INTO product_slots VALUES(73,113); -INSERT INTO product_slots VALUES(73,114); -INSERT INTO product_slots VALUES(73,115); -INSERT INTO product_slots VALUES(73,117); -INSERT INTO product_slots VALUES(73,118); -INSERT INTO product_slots VALUES(73,119); -INSERT INTO product_slots VALUES(73,120); -INSERT INTO product_slots VALUES(73,121); -INSERT INTO product_slots VALUES(73,122); -INSERT INTO product_slots VALUES(73,123); -INSERT INTO product_slots VALUES(73,124); -INSERT INTO product_slots VALUES(73,125); -INSERT INTO product_slots VALUES(73,126); -INSERT INTO product_slots VALUES(73,127); -INSERT INTO product_slots VALUES(73,128); -INSERT INTO product_slots VALUES(73,129); -INSERT INTO product_slots VALUES(73,130); -INSERT INTO product_slots VALUES(73,131); -INSERT INTO product_slots VALUES(73,132); -INSERT INTO product_slots VALUES(73,133); -INSERT INTO product_slots VALUES(73,134); -INSERT INTO product_slots VALUES(73,135); -INSERT INTO product_slots VALUES(73,136); -INSERT INTO product_slots VALUES(73,138); -INSERT INTO product_slots VALUES(73,139); -INSERT INTO product_slots VALUES(73,140); -INSERT INTO product_slots VALUES(73,141); -INSERT INTO product_slots VALUES(73,142); -INSERT INTO product_slots VALUES(73,143); -INSERT INTO product_slots VALUES(73,145); -INSERT INTO product_slots VALUES(73,146); -INSERT INTO product_slots VALUES(73,147); -INSERT INTO product_slots VALUES(73,148); -INSERT INTO product_slots VALUES(73,149); -INSERT INTO product_slots VALUES(73,150); -INSERT INTO product_slots VALUES(73,151); -INSERT INTO product_slots VALUES(73,152); -INSERT INTO product_slots VALUES(73,153); -INSERT INTO product_slots VALUES(73,154); -INSERT INTO product_slots VALUES(73,155); -INSERT INTO product_slots VALUES(73,156); -INSERT INTO product_slots VALUES(73,157); -INSERT INTO product_slots VALUES(73,158); -INSERT INTO product_slots VALUES(73,159); -INSERT INTO product_slots VALUES(73,160); -INSERT INTO product_slots VALUES(73,161); -INSERT INTO product_slots VALUES(73,162); -INSERT INTO product_slots VALUES(73,163); -INSERT INTO product_slots VALUES(73,164); -INSERT INTO product_slots VALUES(73,165); -INSERT INTO product_slots VALUES(73,166); -INSERT INTO product_slots VALUES(73,167); -INSERT INTO product_slots VALUES(73,168); -INSERT INTO product_slots VALUES(73,169); -INSERT INTO product_slots VALUES(73,170); -INSERT INTO product_slots VALUES(73,171); -INSERT INTO product_slots VALUES(73,172); -INSERT INTO product_slots VALUES(73,173); -INSERT INTO product_slots VALUES(73,174); -INSERT INTO product_slots VALUES(73,175); -INSERT INTO product_slots VALUES(73,176); -INSERT INTO product_slots VALUES(73,177); -INSERT INTO product_slots VALUES(73,178); -INSERT INTO product_slots VALUES(73,179); -INSERT INTO product_slots VALUES(73,180); -INSERT INTO product_slots VALUES(73,181); -INSERT INTO product_slots VALUES(73,182); -INSERT INTO product_slots VALUES(73,183); -INSERT INTO product_slots VALUES(73,184); -INSERT INTO product_slots VALUES(73,185); -INSERT INTO product_slots VALUES(73,186); -INSERT INTO product_slots VALUES(73,187); -INSERT INTO product_slots VALUES(73,188); -INSERT INTO product_slots VALUES(73,189); -INSERT INTO product_slots VALUES(73,190); -INSERT INTO product_slots VALUES(73,191); -INSERT INTO product_slots VALUES(73,192); -INSERT INTO product_slots VALUES(73,193); -INSERT INTO product_slots VALUES(73,194); -INSERT INTO product_slots VALUES(73,195); -INSERT INTO product_slots VALUES(73,196); -INSERT INTO product_slots VALUES(73,197); -INSERT INTO product_slots VALUES(73,198); -INSERT INTO product_slots VALUES(73,199); -INSERT INTO product_slots VALUES(73,200); -INSERT INTO product_slots VALUES(73,201); -INSERT INTO product_slots VALUES(73,202); -INSERT INTO product_slots VALUES(73,203); -INSERT INTO product_slots VALUES(73,204); -INSERT INTO product_slots VALUES(73,205); -INSERT INTO product_slots VALUES(73,206); -INSERT INTO product_slots VALUES(73,207); -INSERT INTO product_slots VALUES(73,208); -INSERT INTO product_slots VALUES(73,209); -INSERT INTO product_slots VALUES(73,210); -INSERT INTO product_slots VALUES(73,211); -INSERT INTO product_slots VALUES(73,212); -INSERT INTO product_slots VALUES(73,213); -INSERT INTO product_slots VALUES(73,214); -INSERT INTO product_slots VALUES(73,215); -INSERT INTO product_slots VALUES(73,216); -INSERT INTO product_slots VALUES(73,217); -INSERT INTO product_slots VALUES(73,218); -INSERT INTO product_slots VALUES(73,219); -INSERT INTO product_slots VALUES(73,220); -INSERT INTO product_slots VALUES(73,221); -INSERT INTO product_slots VALUES(73,222); -INSERT INTO product_slots VALUES(73,223); -INSERT INTO product_slots VALUES(73,224); -INSERT INTO product_slots VALUES(73,225); -INSERT INTO product_slots VALUES(73,226); -INSERT INTO product_slots VALUES(73,227); -INSERT INTO product_slots VALUES(73,228); -INSERT INTO product_slots VALUES(73,229); -INSERT INTO product_slots VALUES(73,230); -INSERT INTO product_slots VALUES(73,231); -INSERT INTO product_slots VALUES(73,232); -INSERT INTO product_slots VALUES(73,233); -INSERT INTO product_slots VALUES(73,234); -INSERT INTO product_slots VALUES(73,235); -INSERT INTO product_slots VALUES(73,236); -INSERT INTO product_slots VALUES(73,237); -INSERT INTO product_slots VALUES(73,238); -INSERT INTO product_slots VALUES(73,239); -INSERT INTO product_slots VALUES(73,240); -INSERT INTO product_slots VALUES(73,241); -INSERT INTO product_slots VALUES(73,242); -INSERT INTO product_slots VALUES(73,243); -INSERT INTO product_slots VALUES(73,244); -INSERT INTO product_slots VALUES(73,274); -INSERT INTO product_slots VALUES(73,275); -INSERT INTO product_slots VALUES(73,279); -INSERT INTO product_slots VALUES(73,280); -INSERT INTO product_slots VALUES(73,281); -INSERT INTO product_slots VALUES(73,282); -INSERT INTO product_slots VALUES(73,283); -INSERT INTO product_slots VALUES(73,284); -INSERT INTO product_slots VALUES(73,285); -INSERT INTO product_slots VALUES(73,286); -INSERT INTO product_slots VALUES(73,287); -INSERT INTO product_slots VALUES(74,39); -INSERT INTO product_slots VALUES(74,44); -INSERT INTO product_slots VALUES(74,46); -INSERT INTO product_slots VALUES(74,47); -INSERT INTO product_slots VALUES(74,48); -INSERT INTO product_slots VALUES(74,49); -INSERT INTO product_slots VALUES(74,50); -INSERT INTO product_slots VALUES(74,51); -INSERT INTO product_slots VALUES(74,52); -INSERT INTO product_slots VALUES(74,53); -INSERT INTO product_slots VALUES(74,54); -INSERT INTO product_slots VALUES(74,55); -INSERT INTO product_slots VALUES(74,56); -INSERT INTO product_slots VALUES(74,57); -INSERT INTO product_slots VALUES(74,58); -INSERT INTO product_slots VALUES(74,59); -INSERT INTO product_slots VALUES(74,60); -INSERT INTO product_slots VALUES(74,61); -INSERT INTO product_slots VALUES(74,62); -INSERT INTO product_slots VALUES(74,63); -INSERT INTO product_slots VALUES(74,64); -INSERT INTO product_slots VALUES(74,65); -INSERT INTO product_slots VALUES(74,66); -INSERT INTO product_slots VALUES(74,67); -INSERT INTO product_slots VALUES(74,68); -INSERT INTO product_slots VALUES(74,69); -INSERT INTO product_slots VALUES(74,70); -INSERT INTO product_slots VALUES(74,71); -INSERT INTO product_slots VALUES(74,72); -INSERT INTO product_slots VALUES(74,73); -INSERT INTO product_slots VALUES(74,74); -INSERT INTO product_slots VALUES(74,75); -INSERT INTO product_slots VALUES(74,76); -INSERT INTO product_slots VALUES(74,77); -INSERT INTO product_slots VALUES(74,78); -INSERT INTO product_slots VALUES(74,79); -INSERT INTO product_slots VALUES(74,80); -INSERT INTO product_slots VALUES(74,81); -INSERT INTO product_slots VALUES(74,82); -INSERT INTO product_slots VALUES(74,83); -INSERT INTO product_slots VALUES(74,84); -INSERT INTO product_slots VALUES(74,85); -INSERT INTO product_slots VALUES(74,86); -INSERT INTO product_slots VALUES(74,87); -INSERT INTO product_slots VALUES(74,88); -INSERT INTO product_slots VALUES(74,89); -INSERT INTO product_slots VALUES(74,90); -INSERT INTO product_slots VALUES(74,91); -INSERT INTO product_slots VALUES(74,92); -INSERT INTO product_slots VALUES(74,93); -INSERT INTO product_slots VALUES(74,94); -INSERT INTO product_slots VALUES(74,95); -INSERT INTO product_slots VALUES(74,96); -INSERT INTO product_slots VALUES(74,97); -INSERT INTO product_slots VALUES(74,98); -INSERT INTO product_slots VALUES(74,99); -INSERT INTO product_slots VALUES(74,100); -INSERT INTO product_slots VALUES(74,101); -INSERT INTO product_slots VALUES(74,102); -INSERT INTO product_slots VALUES(74,103); -INSERT INTO product_slots VALUES(74,104); -INSERT INTO product_slots VALUES(74,105); -INSERT INTO product_slots VALUES(74,106); -INSERT INTO product_slots VALUES(74,107); -INSERT INTO product_slots VALUES(74,108); -INSERT INTO product_slots VALUES(74,109); -INSERT INTO product_slots VALUES(74,110); -INSERT INTO product_slots VALUES(74,111); -INSERT INTO product_slots VALUES(74,112); -INSERT INTO product_slots VALUES(74,113); -INSERT INTO product_slots VALUES(74,114); -INSERT INTO product_slots VALUES(74,115); -INSERT INTO product_slots VALUES(74,116); -INSERT INTO product_slots VALUES(74,117); -INSERT INTO product_slots VALUES(74,118); -INSERT INTO product_slots VALUES(74,119); -INSERT INTO product_slots VALUES(74,120); -INSERT INTO product_slots VALUES(74,121); -INSERT INTO product_slots VALUES(74,122); -INSERT INTO product_slots VALUES(74,123); -INSERT INTO product_slots VALUES(74,124); -INSERT INTO product_slots VALUES(74,125); -INSERT INTO product_slots VALUES(74,126); -INSERT INTO product_slots VALUES(74,127); -INSERT INTO product_slots VALUES(74,128); -INSERT INTO product_slots VALUES(74,129); -INSERT INTO product_slots VALUES(74,130); -INSERT INTO product_slots VALUES(74,131); -INSERT INTO product_slots VALUES(74,132); -INSERT INTO product_slots VALUES(74,133); -INSERT INTO product_slots VALUES(74,134); -INSERT INTO product_slots VALUES(74,135); -INSERT INTO product_slots VALUES(74,136); -INSERT INTO product_slots VALUES(74,137); -INSERT INTO product_slots VALUES(74,138); -INSERT INTO product_slots VALUES(74,139); -INSERT INTO product_slots VALUES(74,140); -INSERT INTO product_slots VALUES(74,141); -INSERT INTO product_slots VALUES(74,142); -INSERT INTO product_slots VALUES(74,143); -INSERT INTO product_slots VALUES(74,144); -INSERT INTO product_slots VALUES(74,145); -INSERT INTO product_slots VALUES(74,146); -INSERT INTO product_slots VALUES(74,147); -INSERT INTO product_slots VALUES(74,148); -INSERT INTO product_slots VALUES(74,149); -INSERT INTO product_slots VALUES(74,150); -INSERT INTO product_slots VALUES(74,151); -INSERT INTO product_slots VALUES(74,152); -INSERT INTO product_slots VALUES(74,153); -INSERT INTO product_slots VALUES(74,154); -INSERT INTO product_slots VALUES(74,155); -INSERT INTO product_slots VALUES(74,156); -INSERT INTO product_slots VALUES(74,157); -INSERT INTO product_slots VALUES(74,158); -INSERT INTO product_slots VALUES(74,159); -INSERT INTO product_slots VALUES(74,160); -INSERT INTO product_slots VALUES(74,161); -INSERT INTO product_slots VALUES(74,162); -INSERT INTO product_slots VALUES(74,163); -INSERT INTO product_slots VALUES(74,164); -INSERT INTO product_slots VALUES(74,165); -INSERT INTO product_slots VALUES(74,166); -INSERT INTO product_slots VALUES(74,167); -INSERT INTO product_slots VALUES(74,168); -INSERT INTO product_slots VALUES(74,169); -INSERT INTO product_slots VALUES(74,170); -INSERT INTO product_slots VALUES(74,171); -INSERT INTO product_slots VALUES(74,172); -INSERT INTO product_slots VALUES(74,173); -INSERT INTO product_slots VALUES(74,174); -INSERT INTO product_slots VALUES(74,175); -INSERT INTO product_slots VALUES(74,176); -INSERT INTO product_slots VALUES(74,177); -INSERT INTO product_slots VALUES(74,178); -INSERT INTO product_slots VALUES(74,179); -INSERT INTO product_slots VALUES(74,180); -INSERT INTO product_slots VALUES(74,181); -INSERT INTO product_slots VALUES(74,182); -INSERT INTO product_slots VALUES(74,183); -INSERT INTO product_slots VALUES(74,184); -INSERT INTO product_slots VALUES(74,185); -INSERT INTO product_slots VALUES(74,186); -INSERT INTO product_slots VALUES(74,187); -INSERT INTO product_slots VALUES(74,188); -INSERT INTO product_slots VALUES(74,189); -INSERT INTO product_slots VALUES(74,190); -INSERT INTO product_slots VALUES(74,191); -INSERT INTO product_slots VALUES(74,192); -INSERT INTO product_slots VALUES(74,193); -INSERT INTO product_slots VALUES(74,194); -INSERT INTO product_slots VALUES(74,195); -INSERT INTO product_slots VALUES(74,196); -INSERT INTO product_slots VALUES(74,197); -INSERT INTO product_slots VALUES(74,198); -INSERT INTO product_slots VALUES(74,199); -INSERT INTO product_slots VALUES(74,200); -INSERT INTO product_slots VALUES(74,201); -INSERT INTO product_slots VALUES(74,202); -INSERT INTO product_slots VALUES(74,203); -INSERT INTO product_slots VALUES(74,204); -INSERT INTO product_slots VALUES(74,205); -INSERT INTO product_slots VALUES(74,206); -INSERT INTO product_slots VALUES(74,207); -INSERT INTO product_slots VALUES(74,208); -INSERT INTO product_slots VALUES(74,209); -INSERT INTO product_slots VALUES(74,210); -INSERT INTO product_slots VALUES(74,211); -INSERT INTO product_slots VALUES(74,212); -INSERT INTO product_slots VALUES(74,213); -INSERT INTO product_slots VALUES(74,214); -INSERT INTO product_slots VALUES(74,215); -INSERT INTO product_slots VALUES(74,216); -INSERT INTO product_slots VALUES(74,217); -INSERT INTO product_slots VALUES(74,218); -INSERT INTO product_slots VALUES(74,219); -INSERT INTO product_slots VALUES(74,220); -INSERT INTO product_slots VALUES(74,221); -INSERT INTO product_slots VALUES(74,222); -INSERT INTO product_slots VALUES(74,223); -INSERT INTO product_slots VALUES(74,224); -INSERT INTO product_slots VALUES(74,225); -INSERT INTO product_slots VALUES(74,226); -INSERT INTO product_slots VALUES(74,227); -INSERT INTO product_slots VALUES(74,228); -INSERT INTO product_slots VALUES(74,229); -INSERT INTO product_slots VALUES(74,230); -INSERT INTO product_slots VALUES(74,231); -INSERT INTO product_slots VALUES(74,232); -INSERT INTO product_slots VALUES(74,233); -INSERT INTO product_slots VALUES(74,234); -INSERT INTO product_slots VALUES(74,235); -INSERT INTO product_slots VALUES(74,236); -INSERT INTO product_slots VALUES(74,237); -INSERT INTO product_slots VALUES(74,238); -INSERT INTO product_slots VALUES(74,239); -INSERT INTO product_slots VALUES(74,240); -INSERT INTO product_slots VALUES(74,241); -INSERT INTO product_slots VALUES(74,242); -INSERT INTO product_slots VALUES(74,243); -INSERT INTO product_slots VALUES(74,244); -INSERT INTO product_slots VALUES(74,274); -INSERT INTO product_slots VALUES(74,275); -INSERT INTO product_slots VALUES(74,279); -INSERT INTO product_slots VALUES(74,280); -INSERT INTO product_slots VALUES(74,281); -INSERT INTO product_slots VALUES(74,282); -INSERT INTO product_slots VALUES(74,283); -INSERT INTO product_slots VALUES(74,284); -INSERT INTO product_slots VALUES(74,285); -INSERT INTO product_slots VALUES(74,286); -INSERT INTO product_slots VALUES(74,287); -INSERT INTO product_slots VALUES(75,39); -INSERT INTO product_slots VALUES(75,43); -INSERT INTO product_slots VALUES(75,45); -INSERT INTO product_slots VALUES(75,48); -INSERT INTO product_slots VALUES(75,49); -INSERT INTO product_slots VALUES(75,51); -INSERT INTO product_slots VALUES(75,52); -INSERT INTO product_slots VALUES(75,57); -INSERT INTO product_slots VALUES(75,58); -INSERT INTO product_slots VALUES(75,59); -INSERT INTO product_slots VALUES(75,62); -INSERT INTO product_slots VALUES(75,63); -INSERT INTO product_slots VALUES(75,64); -INSERT INTO product_slots VALUES(75,65); -INSERT INTO product_slots VALUES(75,66); -INSERT INTO product_slots VALUES(75,67); -INSERT INTO product_slots VALUES(75,69); -INSERT INTO product_slots VALUES(75,70); -INSERT INTO product_slots VALUES(75,71); -INSERT INTO product_slots VALUES(75,72); -INSERT INTO product_slots VALUES(75,73); -INSERT INTO product_slots VALUES(75,75); -INSERT INTO product_slots VALUES(75,82); -INSERT INTO product_slots VALUES(75,83); -INSERT INTO product_slots VALUES(75,84); -INSERT INTO product_slots VALUES(75,90); -INSERT INTO product_slots VALUES(75,91); -INSERT INTO product_slots VALUES(75,97); -INSERT INTO product_slots VALUES(75,98); -INSERT INTO product_slots VALUES(75,102); -INSERT INTO product_slots VALUES(75,103); -INSERT INTO product_slots VALUES(75,104); -INSERT INTO product_slots VALUES(75,110); -INSERT INTO product_slots VALUES(75,111); -INSERT INTO product_slots VALUES(75,112); -INSERT INTO product_slots VALUES(75,116); -INSERT INTO product_slots VALUES(75,117); -INSERT INTO product_slots VALUES(75,118); -INSERT INTO product_slots VALUES(75,119); -INSERT INTO product_slots VALUES(75,120); -INSERT INTO product_slots VALUES(75,121); -INSERT INTO product_slots VALUES(75,122); -INSERT INTO product_slots VALUES(75,123); -INSERT INTO product_slots VALUES(75,124); -INSERT INTO product_slots VALUES(75,125); -INSERT INTO product_slots VALUES(75,126); -INSERT INTO product_slots VALUES(75,127); -INSERT INTO product_slots VALUES(75,128); -INSERT INTO product_slots VALUES(75,129); -INSERT INTO product_slots VALUES(75,130); -INSERT INTO product_slots VALUES(75,131); -INSERT INTO product_slots VALUES(75,132); -INSERT INTO product_slots VALUES(75,133); -INSERT INTO product_slots VALUES(75,134); -INSERT INTO product_slots VALUES(75,135); -INSERT INTO product_slots VALUES(75,136); -INSERT INTO product_slots VALUES(75,137); -INSERT INTO product_slots VALUES(75,138); -INSERT INTO product_slots VALUES(75,139); -INSERT INTO product_slots VALUES(75,140); -INSERT INTO product_slots VALUES(75,141); -INSERT INTO product_slots VALUES(75,142); -INSERT INTO product_slots VALUES(75,143); -INSERT INTO product_slots VALUES(75,144); -INSERT INTO product_slots VALUES(75,145); -INSERT INTO product_slots VALUES(75,146); -INSERT INTO product_slots VALUES(75,147); -INSERT INTO product_slots VALUES(75,148); -INSERT INTO product_slots VALUES(75,149); -INSERT INTO product_slots VALUES(75,150); -INSERT INTO product_slots VALUES(75,151); -INSERT INTO product_slots VALUES(75,152); -INSERT INTO product_slots VALUES(75,153); -INSERT INTO product_slots VALUES(75,154); -INSERT INTO product_slots VALUES(75,155); -INSERT INTO product_slots VALUES(75,156); -INSERT INTO product_slots VALUES(75,157); -INSERT INTO product_slots VALUES(75,158); -INSERT INTO product_slots VALUES(75,159); -INSERT INTO product_slots VALUES(75,160); -INSERT INTO product_slots VALUES(75,161); -INSERT INTO product_slots VALUES(75,162); -INSERT INTO product_slots VALUES(75,163); -INSERT INTO product_slots VALUES(75,164); -INSERT INTO product_slots VALUES(75,165); -INSERT INTO product_slots VALUES(75,166); -INSERT INTO product_slots VALUES(75,167); -INSERT INTO product_slots VALUES(75,168); -INSERT INTO product_slots VALUES(75,169); -INSERT INTO product_slots VALUES(75,170); -INSERT INTO product_slots VALUES(75,171); -INSERT INTO product_slots VALUES(75,172); -INSERT INTO product_slots VALUES(75,173); -INSERT INTO product_slots VALUES(75,174); -INSERT INTO product_slots VALUES(75,175); -INSERT INTO product_slots VALUES(75,176); -INSERT INTO product_slots VALUES(75,177); -INSERT INTO product_slots VALUES(75,178); -INSERT INTO product_slots VALUES(75,179); -INSERT INTO product_slots VALUES(75,180); -INSERT INTO product_slots VALUES(75,181); -INSERT INTO product_slots VALUES(75,182); -INSERT INTO product_slots VALUES(75,183); -INSERT INTO product_slots VALUES(75,184); -INSERT INTO product_slots VALUES(75,185); -INSERT INTO product_slots VALUES(75,186); -INSERT INTO product_slots VALUES(75,187); -INSERT INTO product_slots VALUES(75,188); -INSERT INTO product_slots VALUES(75,189); -INSERT INTO product_slots VALUES(75,190); -INSERT INTO product_slots VALUES(75,191); -INSERT INTO product_slots VALUES(75,192); -INSERT INTO product_slots VALUES(75,193); -INSERT INTO product_slots VALUES(75,194); -INSERT INTO product_slots VALUES(75,195); -INSERT INTO product_slots VALUES(75,196); -INSERT INTO product_slots VALUES(75,197); -INSERT INTO product_slots VALUES(75,198); -INSERT INTO product_slots VALUES(75,199); -INSERT INTO product_slots VALUES(75,200); -INSERT INTO product_slots VALUES(75,201); -INSERT INTO product_slots VALUES(75,202); -INSERT INTO product_slots VALUES(75,203); -INSERT INTO product_slots VALUES(75,204); -INSERT INTO product_slots VALUES(75,205); -INSERT INTO product_slots VALUES(75,206); -INSERT INTO product_slots VALUES(75,207); -INSERT INTO product_slots VALUES(75,208); -INSERT INTO product_slots VALUES(75,209); -INSERT INTO product_slots VALUES(75,210); -INSERT INTO product_slots VALUES(75,211); -INSERT INTO product_slots VALUES(75,212); -INSERT INTO product_slots VALUES(75,213); -INSERT INTO product_slots VALUES(75,214); -INSERT INTO product_slots VALUES(75,215); -INSERT INTO product_slots VALUES(75,216); -INSERT INTO product_slots VALUES(75,217); -INSERT INTO product_slots VALUES(75,218); -INSERT INTO product_slots VALUES(75,219); -INSERT INTO product_slots VALUES(75,220); -INSERT INTO product_slots VALUES(75,221); -INSERT INTO product_slots VALUES(75,222); -INSERT INTO product_slots VALUES(75,223); -INSERT INTO product_slots VALUES(75,224); -INSERT INTO product_slots VALUES(75,225); -INSERT INTO product_slots VALUES(75,226); -INSERT INTO product_slots VALUES(75,227); -INSERT INTO product_slots VALUES(75,228); -INSERT INTO product_slots VALUES(75,229); -INSERT INTO product_slots VALUES(75,230); -INSERT INTO product_slots VALUES(75,231); -INSERT INTO product_slots VALUES(75,232); -INSERT INTO product_slots VALUES(75,233); -INSERT INTO product_slots VALUES(75,234); -INSERT INTO product_slots VALUES(75,235); -INSERT INTO product_slots VALUES(75,236); -INSERT INTO product_slots VALUES(75,237); -INSERT INTO product_slots VALUES(75,238); -INSERT INTO product_slots VALUES(75,239); -INSERT INTO product_slots VALUES(75,240); -INSERT INTO product_slots VALUES(75,241); -INSERT INTO product_slots VALUES(75,242); -INSERT INTO product_slots VALUES(75,243); -INSERT INTO product_slots VALUES(75,244); -INSERT INTO product_slots VALUES(75,274); -INSERT INTO product_slots VALUES(75,275); -INSERT INTO product_slots VALUES(75,279); -INSERT INTO product_slots VALUES(75,280); -INSERT INTO product_slots VALUES(75,281); -INSERT INTO product_slots VALUES(75,282); -INSERT INTO product_slots VALUES(75,283); -INSERT INTO product_slots VALUES(75,284); -INSERT INTO product_slots VALUES(75,285); -INSERT INTO product_slots VALUES(75,286); -INSERT INTO product_slots VALUES(75,287); -INSERT INTO product_slots VALUES(76,39); -INSERT INTO product_slots VALUES(76,41); -INSERT INTO product_slots VALUES(76,43); -INSERT INTO product_slots VALUES(76,44); -INSERT INTO product_slots VALUES(76,45); -INSERT INTO product_slots VALUES(76,46); -INSERT INTO product_slots VALUES(76,47); -INSERT INTO product_slots VALUES(76,48); -INSERT INTO product_slots VALUES(76,49); -INSERT INTO product_slots VALUES(76,50); -INSERT INTO product_slots VALUES(76,51); -INSERT INTO product_slots VALUES(76,52); -INSERT INTO product_slots VALUES(76,53); -INSERT INTO product_slots VALUES(76,54); -INSERT INTO product_slots VALUES(76,55); -INSERT INTO product_slots VALUES(76,56); -INSERT INTO product_slots VALUES(76,57); -INSERT INTO product_slots VALUES(76,58); -INSERT INTO product_slots VALUES(76,59); -INSERT INTO product_slots VALUES(76,60); -INSERT INTO product_slots VALUES(76,61); -INSERT INTO product_slots VALUES(76,62); -INSERT INTO product_slots VALUES(76,63); -INSERT INTO product_slots VALUES(76,64); -INSERT INTO product_slots VALUES(76,65); -INSERT INTO product_slots VALUES(76,66); -INSERT INTO product_slots VALUES(76,67); -INSERT INTO product_slots VALUES(76,68); -INSERT INTO product_slots VALUES(76,69); -INSERT INTO product_slots VALUES(76,70); -INSERT INTO product_slots VALUES(76,71); -INSERT INTO product_slots VALUES(76,72); -INSERT INTO product_slots VALUES(76,73); -INSERT INTO product_slots VALUES(76,74); -INSERT INTO product_slots VALUES(76,75); -INSERT INTO product_slots VALUES(76,76); -INSERT INTO product_slots VALUES(76,77); -INSERT INTO product_slots VALUES(76,78); -INSERT INTO product_slots VALUES(76,79); -INSERT INTO product_slots VALUES(76,80); -INSERT INTO product_slots VALUES(76,81); -INSERT INTO product_slots VALUES(76,82); -INSERT INTO product_slots VALUES(76,83); -INSERT INTO product_slots VALUES(76,84); -INSERT INTO product_slots VALUES(76,85); -INSERT INTO product_slots VALUES(76,86); -INSERT INTO product_slots VALUES(76,87); -INSERT INTO product_slots VALUES(76,88); -INSERT INTO product_slots VALUES(76,89); -INSERT INTO product_slots VALUES(76,90); -INSERT INTO product_slots VALUES(76,91); -INSERT INTO product_slots VALUES(76,92); -INSERT INTO product_slots VALUES(76,93); -INSERT INTO product_slots VALUES(76,94); -INSERT INTO product_slots VALUES(76,95); -INSERT INTO product_slots VALUES(76,96); -INSERT INTO product_slots VALUES(76,97); -INSERT INTO product_slots VALUES(76,98); -INSERT INTO product_slots VALUES(76,99); -INSERT INTO product_slots VALUES(76,100); -INSERT INTO product_slots VALUES(76,101); -INSERT INTO product_slots VALUES(76,102); -INSERT INTO product_slots VALUES(76,103); -INSERT INTO product_slots VALUES(76,104); -INSERT INTO product_slots VALUES(76,105); -INSERT INTO product_slots VALUES(76,106); -INSERT INTO product_slots VALUES(76,107); -INSERT INTO product_slots VALUES(76,108); -INSERT INTO product_slots VALUES(76,109); -INSERT INTO product_slots VALUES(76,110); -INSERT INTO product_slots VALUES(76,111); -INSERT INTO product_slots VALUES(76,112); -INSERT INTO product_slots VALUES(76,113); -INSERT INTO product_slots VALUES(76,114); -INSERT INTO product_slots VALUES(76,115); -INSERT INTO product_slots VALUES(76,116); -INSERT INTO product_slots VALUES(76,117); -INSERT INTO product_slots VALUES(76,118); -INSERT INTO product_slots VALUES(76,119); -INSERT INTO product_slots VALUES(76,120); -INSERT INTO product_slots VALUES(76,121); -INSERT INTO product_slots VALUES(76,122); -INSERT INTO product_slots VALUES(76,123); -INSERT INTO product_slots VALUES(76,124); -INSERT INTO product_slots VALUES(76,125); -INSERT INTO product_slots VALUES(76,126); -INSERT INTO product_slots VALUES(76,127); -INSERT INTO product_slots VALUES(76,128); -INSERT INTO product_slots VALUES(76,129); -INSERT INTO product_slots VALUES(76,130); -INSERT INTO product_slots VALUES(76,131); -INSERT INTO product_slots VALUES(76,132); -INSERT INTO product_slots VALUES(76,133); -INSERT INTO product_slots VALUES(76,134); -INSERT INTO product_slots VALUES(76,135); -INSERT INTO product_slots VALUES(76,136); -INSERT INTO product_slots VALUES(76,137); -INSERT INTO product_slots VALUES(76,138); -INSERT INTO product_slots VALUES(76,139); -INSERT INTO product_slots VALUES(76,140); -INSERT INTO product_slots VALUES(76,141); -INSERT INTO product_slots VALUES(76,142); -INSERT INTO product_slots VALUES(76,143); -INSERT INTO product_slots VALUES(76,144); -INSERT INTO product_slots VALUES(76,145); -INSERT INTO product_slots VALUES(76,146); -INSERT INTO product_slots VALUES(76,147); -INSERT INTO product_slots VALUES(76,148); -INSERT INTO product_slots VALUES(76,149); -INSERT INTO product_slots VALUES(76,150); -INSERT INTO product_slots VALUES(76,151); -INSERT INTO product_slots VALUES(76,152); -INSERT INTO product_slots VALUES(76,153); -INSERT INTO product_slots VALUES(76,154); -INSERT INTO product_slots VALUES(76,155); -INSERT INTO product_slots VALUES(76,156); -INSERT INTO product_slots VALUES(76,157); -INSERT INTO product_slots VALUES(76,158); -INSERT INTO product_slots VALUES(76,159); -INSERT INTO product_slots VALUES(76,160); -INSERT INTO product_slots VALUES(76,161); -INSERT INTO product_slots VALUES(76,162); -INSERT INTO product_slots VALUES(76,163); -INSERT INTO product_slots VALUES(76,164); -INSERT INTO product_slots VALUES(76,165); -INSERT INTO product_slots VALUES(76,166); -INSERT INTO product_slots VALUES(76,167); -INSERT INTO product_slots VALUES(76,168); -INSERT INTO product_slots VALUES(76,169); -INSERT INTO product_slots VALUES(76,170); -INSERT INTO product_slots VALUES(76,171); -INSERT INTO product_slots VALUES(76,172); -INSERT INTO product_slots VALUES(76,173); -INSERT INTO product_slots VALUES(76,174); -INSERT INTO product_slots VALUES(76,175); -INSERT INTO product_slots VALUES(76,176); -INSERT INTO product_slots VALUES(76,177); -INSERT INTO product_slots VALUES(76,178); -INSERT INTO product_slots VALUES(76,179); -INSERT INTO product_slots VALUES(76,180); -INSERT INTO product_slots VALUES(76,181); -INSERT INTO product_slots VALUES(76,182); -INSERT INTO product_slots VALUES(76,183); -INSERT INTO product_slots VALUES(76,184); -INSERT INTO product_slots VALUES(76,185); -INSERT INTO product_slots VALUES(76,186); -INSERT INTO product_slots VALUES(76,187); -INSERT INTO product_slots VALUES(76,188); -INSERT INTO product_slots VALUES(76,189); -INSERT INTO product_slots VALUES(76,190); -INSERT INTO product_slots VALUES(76,191); -INSERT INTO product_slots VALUES(76,192); -INSERT INTO product_slots VALUES(76,193); -INSERT INTO product_slots VALUES(76,194); -INSERT INTO product_slots VALUES(76,195); -INSERT INTO product_slots VALUES(76,196); -INSERT INTO product_slots VALUES(76,197); -INSERT INTO product_slots VALUES(76,198); -INSERT INTO product_slots VALUES(76,199); -INSERT INTO product_slots VALUES(76,200); -INSERT INTO product_slots VALUES(76,201); -INSERT INTO product_slots VALUES(76,202); -INSERT INTO product_slots VALUES(76,203); -INSERT INTO product_slots VALUES(76,204); -INSERT INTO product_slots VALUES(76,205); -INSERT INTO product_slots VALUES(76,206); -INSERT INTO product_slots VALUES(76,207); -INSERT INTO product_slots VALUES(76,208); -INSERT INTO product_slots VALUES(76,209); -INSERT INTO product_slots VALUES(76,210); -INSERT INTO product_slots VALUES(76,211); -INSERT INTO product_slots VALUES(76,212); -INSERT INTO product_slots VALUES(76,213); -INSERT INTO product_slots VALUES(76,214); -INSERT INTO product_slots VALUES(76,215); -INSERT INTO product_slots VALUES(76,216); -INSERT INTO product_slots VALUES(76,217); -INSERT INTO product_slots VALUES(76,218); -INSERT INTO product_slots VALUES(76,219); -INSERT INTO product_slots VALUES(76,220); -INSERT INTO product_slots VALUES(76,221); -INSERT INTO product_slots VALUES(76,222); -INSERT INTO product_slots VALUES(76,223); -INSERT INTO product_slots VALUES(76,224); -INSERT INTO product_slots VALUES(76,225); -INSERT INTO product_slots VALUES(76,226); -INSERT INTO product_slots VALUES(76,227); -INSERT INTO product_slots VALUES(76,228); -INSERT INTO product_slots VALUES(76,229); -INSERT INTO product_slots VALUES(76,230); -INSERT INTO product_slots VALUES(76,231); -INSERT INTO product_slots VALUES(76,232); -INSERT INTO product_slots VALUES(76,233); -INSERT INTO product_slots VALUES(76,234); -INSERT INTO product_slots VALUES(76,235); -INSERT INTO product_slots VALUES(76,236); -INSERT INTO product_slots VALUES(76,237); -INSERT INTO product_slots VALUES(76,238); -INSERT INTO product_slots VALUES(76,239); -INSERT INTO product_slots VALUES(76,240); -INSERT INTO product_slots VALUES(76,241); -INSERT INTO product_slots VALUES(76,242); -INSERT INTO product_slots VALUES(76,243); -INSERT INTO product_slots VALUES(76,244); -INSERT INTO product_slots VALUES(76,274); -INSERT INTO product_slots VALUES(76,275); -INSERT INTO product_slots VALUES(76,279); -INSERT INTO product_slots VALUES(76,280); -INSERT INTO product_slots VALUES(76,281); -INSERT INTO product_slots VALUES(76,282); -INSERT INTO product_slots VALUES(76,283); -INSERT INTO product_slots VALUES(76,284); -INSERT INTO product_slots VALUES(76,285); -INSERT INTO product_slots VALUES(76,286); -INSERT INTO product_slots VALUES(76,287); -INSERT INTO product_slots VALUES(77,39); -INSERT INTO product_slots VALUES(77,44); -INSERT INTO product_slots VALUES(77,46); -INSERT INTO product_slots VALUES(77,47); -INSERT INTO product_slots VALUES(77,48); -INSERT INTO product_slots VALUES(77,49); -INSERT INTO product_slots VALUES(77,50); -INSERT INTO product_slots VALUES(77,51); -INSERT INTO product_slots VALUES(77,52); -INSERT INTO product_slots VALUES(77,53); -INSERT INTO product_slots VALUES(77,54); -INSERT INTO product_slots VALUES(77,55); -INSERT INTO product_slots VALUES(77,56); -INSERT INTO product_slots VALUES(77,57); -INSERT INTO product_slots VALUES(77,58); -INSERT INTO product_slots VALUES(77,59); -INSERT INTO product_slots VALUES(77,60); -INSERT INTO product_slots VALUES(77,61); -INSERT INTO product_slots VALUES(77,62); -INSERT INTO product_slots VALUES(77,63); -INSERT INTO product_slots VALUES(77,64); -INSERT INTO product_slots VALUES(77,65); -INSERT INTO product_slots VALUES(77,66); -INSERT INTO product_slots VALUES(77,67); -INSERT INTO product_slots VALUES(77,68); -INSERT INTO product_slots VALUES(77,69); -INSERT INTO product_slots VALUES(77,70); -INSERT INTO product_slots VALUES(77,71); -INSERT INTO product_slots VALUES(77,72); -INSERT INTO product_slots VALUES(77,73); -INSERT INTO product_slots VALUES(77,74); -INSERT INTO product_slots VALUES(77,75); -INSERT INTO product_slots VALUES(77,76); -INSERT INTO product_slots VALUES(77,77); -INSERT INTO product_slots VALUES(77,78); -INSERT INTO product_slots VALUES(77,79); -INSERT INTO product_slots VALUES(77,80); -INSERT INTO product_slots VALUES(77,81); -INSERT INTO product_slots VALUES(77,82); -INSERT INTO product_slots VALUES(77,83); -INSERT INTO product_slots VALUES(77,84); -INSERT INTO product_slots VALUES(77,85); -INSERT INTO product_slots VALUES(77,86); -INSERT INTO product_slots VALUES(77,87); -INSERT INTO product_slots VALUES(77,88); -INSERT INTO product_slots VALUES(77,89); -INSERT INTO product_slots VALUES(77,90); -INSERT INTO product_slots VALUES(77,91); -INSERT INTO product_slots VALUES(77,92); -INSERT INTO product_slots VALUES(77,93); -INSERT INTO product_slots VALUES(77,94); -INSERT INTO product_slots VALUES(77,95); -INSERT INTO product_slots VALUES(77,96); -INSERT INTO product_slots VALUES(77,97); -INSERT INTO product_slots VALUES(77,98); -INSERT INTO product_slots VALUES(77,99); -INSERT INTO product_slots VALUES(77,100); -INSERT INTO product_slots VALUES(77,101); -INSERT INTO product_slots VALUES(77,102); -INSERT INTO product_slots VALUES(77,103); -INSERT INTO product_slots VALUES(77,104); -INSERT INTO product_slots VALUES(77,105); -INSERT INTO product_slots VALUES(77,106); -INSERT INTO product_slots VALUES(77,107); -INSERT INTO product_slots VALUES(77,108); -INSERT INTO product_slots VALUES(77,109); -INSERT INTO product_slots VALUES(77,110); -INSERT INTO product_slots VALUES(77,111); -INSERT INTO product_slots VALUES(77,112); -INSERT INTO product_slots VALUES(77,113); -INSERT INTO product_slots VALUES(77,114); -INSERT INTO product_slots VALUES(77,115); -INSERT INTO product_slots VALUES(77,116); -INSERT INTO product_slots VALUES(77,117); -INSERT INTO product_slots VALUES(77,118); -INSERT INTO product_slots VALUES(77,119); -INSERT INTO product_slots VALUES(77,120); -INSERT INTO product_slots VALUES(77,121); -INSERT INTO product_slots VALUES(77,122); -INSERT INTO product_slots VALUES(77,123); -INSERT INTO product_slots VALUES(77,124); -INSERT INTO product_slots VALUES(77,125); -INSERT INTO product_slots VALUES(77,126); -INSERT INTO product_slots VALUES(77,127); -INSERT INTO product_slots VALUES(77,128); -INSERT INTO product_slots VALUES(77,129); -INSERT INTO product_slots VALUES(77,130); -INSERT INTO product_slots VALUES(77,131); -INSERT INTO product_slots VALUES(77,132); -INSERT INTO product_slots VALUES(77,133); -INSERT INTO product_slots VALUES(77,134); -INSERT INTO product_slots VALUES(77,135); -INSERT INTO product_slots VALUES(77,136); -INSERT INTO product_slots VALUES(77,137); -INSERT INTO product_slots VALUES(77,138); -INSERT INTO product_slots VALUES(77,139); -INSERT INTO product_slots VALUES(77,140); -INSERT INTO product_slots VALUES(77,141); -INSERT INTO product_slots VALUES(77,142); -INSERT INTO product_slots VALUES(77,143); -INSERT INTO product_slots VALUES(77,144); -INSERT INTO product_slots VALUES(77,145); -INSERT INTO product_slots VALUES(77,146); -INSERT INTO product_slots VALUES(77,147); -INSERT INTO product_slots VALUES(77,148); -INSERT INTO product_slots VALUES(77,149); -INSERT INTO product_slots VALUES(77,150); -INSERT INTO product_slots VALUES(77,151); -INSERT INTO product_slots VALUES(77,152); -INSERT INTO product_slots VALUES(77,153); -INSERT INTO product_slots VALUES(77,154); -INSERT INTO product_slots VALUES(77,155); -INSERT INTO product_slots VALUES(77,156); -INSERT INTO product_slots VALUES(77,157); -INSERT INTO product_slots VALUES(77,158); -INSERT INTO product_slots VALUES(77,159); -INSERT INTO product_slots VALUES(77,160); -INSERT INTO product_slots VALUES(77,161); -INSERT INTO product_slots VALUES(77,162); -INSERT INTO product_slots VALUES(77,163); -INSERT INTO product_slots VALUES(77,164); -INSERT INTO product_slots VALUES(77,165); -INSERT INTO product_slots VALUES(77,166); -INSERT INTO product_slots VALUES(77,167); -INSERT INTO product_slots VALUES(77,168); -INSERT INTO product_slots VALUES(77,169); -INSERT INTO product_slots VALUES(77,170); -INSERT INTO product_slots VALUES(77,171); -INSERT INTO product_slots VALUES(77,172); -INSERT INTO product_slots VALUES(77,173); -INSERT INTO product_slots VALUES(77,174); -INSERT INTO product_slots VALUES(77,175); -INSERT INTO product_slots VALUES(77,176); -INSERT INTO product_slots VALUES(77,177); -INSERT INTO product_slots VALUES(77,178); -INSERT INTO product_slots VALUES(77,179); -INSERT INTO product_slots VALUES(77,180); -INSERT INTO product_slots VALUES(77,181); -INSERT INTO product_slots VALUES(77,182); -INSERT INTO product_slots VALUES(77,183); -INSERT INTO product_slots VALUES(77,184); -INSERT INTO product_slots VALUES(77,185); -INSERT INTO product_slots VALUES(77,186); -INSERT INTO product_slots VALUES(77,187); -INSERT INTO product_slots VALUES(77,188); -INSERT INTO product_slots VALUES(77,189); -INSERT INTO product_slots VALUES(77,190); -INSERT INTO product_slots VALUES(77,191); -INSERT INTO product_slots VALUES(77,192); -INSERT INTO product_slots VALUES(77,193); -INSERT INTO product_slots VALUES(77,194); -INSERT INTO product_slots VALUES(77,195); -INSERT INTO product_slots VALUES(77,196); -INSERT INTO product_slots VALUES(77,197); -INSERT INTO product_slots VALUES(77,198); -INSERT INTO product_slots VALUES(77,199); -INSERT INTO product_slots VALUES(77,200); -INSERT INTO product_slots VALUES(77,201); -INSERT INTO product_slots VALUES(77,202); -INSERT INTO product_slots VALUES(77,203); -INSERT INTO product_slots VALUES(77,204); -INSERT INTO product_slots VALUES(77,205); -INSERT INTO product_slots VALUES(77,206); -INSERT INTO product_slots VALUES(77,207); -INSERT INTO product_slots VALUES(77,208); -INSERT INTO product_slots VALUES(77,209); -INSERT INTO product_slots VALUES(77,210); -INSERT INTO product_slots VALUES(77,211); -INSERT INTO product_slots VALUES(77,212); -INSERT INTO product_slots VALUES(77,213); -INSERT INTO product_slots VALUES(77,214); -INSERT INTO product_slots VALUES(77,215); -INSERT INTO product_slots VALUES(77,216); -INSERT INTO product_slots VALUES(77,217); -INSERT INTO product_slots VALUES(77,218); -INSERT INTO product_slots VALUES(77,219); -INSERT INTO product_slots VALUES(77,220); -INSERT INTO product_slots VALUES(77,221); -INSERT INTO product_slots VALUES(77,222); -INSERT INTO product_slots VALUES(77,223); -INSERT INTO product_slots VALUES(77,224); -INSERT INTO product_slots VALUES(77,225); -INSERT INTO product_slots VALUES(77,226); -INSERT INTO product_slots VALUES(77,227); -INSERT INTO product_slots VALUES(77,228); -INSERT INTO product_slots VALUES(77,229); -INSERT INTO product_slots VALUES(77,230); -INSERT INTO product_slots VALUES(77,231); -INSERT INTO product_slots VALUES(77,232); -INSERT INTO product_slots VALUES(77,233); -INSERT INTO product_slots VALUES(77,234); -INSERT INTO product_slots VALUES(77,235); -INSERT INTO product_slots VALUES(77,236); -INSERT INTO product_slots VALUES(77,237); -INSERT INTO product_slots VALUES(77,238); -INSERT INTO product_slots VALUES(77,239); -INSERT INTO product_slots VALUES(77,240); -INSERT INTO product_slots VALUES(77,241); -INSERT INTO product_slots VALUES(77,242); -INSERT INTO product_slots VALUES(77,243); -INSERT INTO product_slots VALUES(77,244); -INSERT INTO product_slots VALUES(77,274); -INSERT INTO product_slots VALUES(77,275); -INSERT INTO product_slots VALUES(77,279); -INSERT INTO product_slots VALUES(77,280); -INSERT INTO product_slots VALUES(77,281); -INSERT INTO product_slots VALUES(77,282); -INSERT INTO product_slots VALUES(77,283); -INSERT INTO product_slots VALUES(77,284); -INSERT INTO product_slots VALUES(77,285); -INSERT INTO product_slots VALUES(77,286); -INSERT INTO product_slots VALUES(77,287); -INSERT INTO product_slots VALUES(78,39); -INSERT INTO product_slots VALUES(78,41); -INSERT INTO product_slots VALUES(78,43); -INSERT INTO product_slots VALUES(78,44); -INSERT INTO product_slots VALUES(78,45); -INSERT INTO product_slots VALUES(78,46); -INSERT INTO product_slots VALUES(78,47); -INSERT INTO product_slots VALUES(78,48); -INSERT INTO product_slots VALUES(78,49); -INSERT INTO product_slots VALUES(78,50); -INSERT INTO product_slots VALUES(78,51); -INSERT INTO product_slots VALUES(78,52); -INSERT INTO product_slots VALUES(78,53); -INSERT INTO product_slots VALUES(78,54); -INSERT INTO product_slots VALUES(78,55); -INSERT INTO product_slots VALUES(78,56); -INSERT INTO product_slots VALUES(78,57); -INSERT INTO product_slots VALUES(78,58); -INSERT INTO product_slots VALUES(78,59); -INSERT INTO product_slots VALUES(78,60); -INSERT INTO product_slots VALUES(78,61); -INSERT INTO product_slots VALUES(78,62); -INSERT INTO product_slots VALUES(78,63); -INSERT INTO product_slots VALUES(78,64); -INSERT INTO product_slots VALUES(78,65); -INSERT INTO product_slots VALUES(78,66); -INSERT INTO product_slots VALUES(78,67); -INSERT INTO product_slots VALUES(78,68); -INSERT INTO product_slots VALUES(78,69); -INSERT INTO product_slots VALUES(78,70); -INSERT INTO product_slots VALUES(78,71); -INSERT INTO product_slots VALUES(78,72); -INSERT INTO product_slots VALUES(78,73); -INSERT INTO product_slots VALUES(78,74); -INSERT INTO product_slots VALUES(78,75); -INSERT INTO product_slots VALUES(78,76); -INSERT INTO product_slots VALUES(78,77); -INSERT INTO product_slots VALUES(78,78); -INSERT INTO product_slots VALUES(78,79); -INSERT INTO product_slots VALUES(78,80); -INSERT INTO product_slots VALUES(78,81); -INSERT INTO product_slots VALUES(78,82); -INSERT INTO product_slots VALUES(78,83); -INSERT INTO product_slots VALUES(78,84); -INSERT INTO product_slots VALUES(78,85); -INSERT INTO product_slots VALUES(78,86); -INSERT INTO product_slots VALUES(78,87); -INSERT INTO product_slots VALUES(78,88); -INSERT INTO product_slots VALUES(78,89); -INSERT INTO product_slots VALUES(78,90); -INSERT INTO product_slots VALUES(78,91); -INSERT INTO product_slots VALUES(78,92); -INSERT INTO product_slots VALUES(78,93); -INSERT INTO product_slots VALUES(78,94); -INSERT INTO product_slots VALUES(78,95); -INSERT INTO product_slots VALUES(78,96); -INSERT INTO product_slots VALUES(78,97); -INSERT INTO product_slots VALUES(78,98); -INSERT INTO product_slots VALUES(78,99); -INSERT INTO product_slots VALUES(78,100); -INSERT INTO product_slots VALUES(78,101); -INSERT INTO product_slots VALUES(78,102); -INSERT INTO product_slots VALUES(78,103); -INSERT INTO product_slots VALUES(78,104); -INSERT INTO product_slots VALUES(78,105); -INSERT INTO product_slots VALUES(78,106); -INSERT INTO product_slots VALUES(78,107); -INSERT INTO product_slots VALUES(78,108); -INSERT INTO product_slots VALUES(78,109); -INSERT INTO product_slots VALUES(78,110); -INSERT INTO product_slots VALUES(78,111); -INSERT INTO product_slots VALUES(78,112); -INSERT INTO product_slots VALUES(78,113); -INSERT INTO product_slots VALUES(78,114); -INSERT INTO product_slots VALUES(78,115); -INSERT INTO product_slots VALUES(78,116); -INSERT INTO product_slots VALUES(78,117); -INSERT INTO product_slots VALUES(78,118); -INSERT INTO product_slots VALUES(78,119); -INSERT INTO product_slots VALUES(78,120); -INSERT INTO product_slots VALUES(78,121); -INSERT INTO product_slots VALUES(78,122); -INSERT INTO product_slots VALUES(78,123); -INSERT INTO product_slots VALUES(78,124); -INSERT INTO product_slots VALUES(78,125); -INSERT INTO product_slots VALUES(78,126); -INSERT INTO product_slots VALUES(78,127); -INSERT INTO product_slots VALUES(78,128); -INSERT INTO product_slots VALUES(78,129); -INSERT INTO product_slots VALUES(78,130); -INSERT INTO product_slots VALUES(78,131); -INSERT INTO product_slots VALUES(78,132); -INSERT INTO product_slots VALUES(78,133); -INSERT INTO product_slots VALUES(78,134); -INSERT INTO product_slots VALUES(78,135); -INSERT INTO product_slots VALUES(78,136); -INSERT INTO product_slots VALUES(78,137); -INSERT INTO product_slots VALUES(78,138); -INSERT INTO product_slots VALUES(78,139); -INSERT INTO product_slots VALUES(78,140); -INSERT INTO product_slots VALUES(78,141); -INSERT INTO product_slots VALUES(78,142); -INSERT INTO product_slots VALUES(78,143); -INSERT INTO product_slots VALUES(78,144); -INSERT INTO product_slots VALUES(78,145); -INSERT INTO product_slots VALUES(78,146); -INSERT INTO product_slots VALUES(78,147); -INSERT INTO product_slots VALUES(78,148); -INSERT INTO product_slots VALUES(78,149); -INSERT INTO product_slots VALUES(78,150); -INSERT INTO product_slots VALUES(78,151); -INSERT INTO product_slots VALUES(78,152); -INSERT INTO product_slots VALUES(78,153); -INSERT INTO product_slots VALUES(78,154); -INSERT INTO product_slots VALUES(78,155); -INSERT INTO product_slots VALUES(78,156); -INSERT INTO product_slots VALUES(78,157); -INSERT INTO product_slots VALUES(78,158); -INSERT INTO product_slots VALUES(78,159); -INSERT INTO product_slots VALUES(78,160); -INSERT INTO product_slots VALUES(78,161); -INSERT INTO product_slots VALUES(78,162); -INSERT INTO product_slots VALUES(78,163); -INSERT INTO product_slots VALUES(78,164); -INSERT INTO product_slots VALUES(78,165); -INSERT INTO product_slots VALUES(78,166); -INSERT INTO product_slots VALUES(78,167); -INSERT INTO product_slots VALUES(78,168); -INSERT INTO product_slots VALUES(78,169); -INSERT INTO product_slots VALUES(78,170); -INSERT INTO product_slots VALUES(78,171); -INSERT INTO product_slots VALUES(78,172); -INSERT INTO product_slots VALUES(78,173); -INSERT INTO product_slots VALUES(78,174); -INSERT INTO product_slots VALUES(78,175); -INSERT INTO product_slots VALUES(78,176); -INSERT INTO product_slots VALUES(78,177); -INSERT INTO product_slots VALUES(78,178); -INSERT INTO product_slots VALUES(78,179); -INSERT INTO product_slots VALUES(78,180); -INSERT INTO product_slots VALUES(78,181); -INSERT INTO product_slots VALUES(78,182); -INSERT INTO product_slots VALUES(78,183); -INSERT INTO product_slots VALUES(78,184); -INSERT INTO product_slots VALUES(78,185); -INSERT INTO product_slots VALUES(78,186); -INSERT INTO product_slots VALUES(78,187); -INSERT INTO product_slots VALUES(78,188); -INSERT INTO product_slots VALUES(78,189); -INSERT INTO product_slots VALUES(78,190); -INSERT INTO product_slots VALUES(78,191); -INSERT INTO product_slots VALUES(78,192); -INSERT INTO product_slots VALUES(78,193); -INSERT INTO product_slots VALUES(78,194); -INSERT INTO product_slots VALUES(78,195); -INSERT INTO product_slots VALUES(78,196); -INSERT INTO product_slots VALUES(78,197); -INSERT INTO product_slots VALUES(78,198); -INSERT INTO product_slots VALUES(78,199); -INSERT INTO product_slots VALUES(78,200); -INSERT INTO product_slots VALUES(78,201); -INSERT INTO product_slots VALUES(78,202); -INSERT INTO product_slots VALUES(78,203); -INSERT INTO product_slots VALUES(78,204); -INSERT INTO product_slots VALUES(78,205); -INSERT INTO product_slots VALUES(78,206); -INSERT INTO product_slots VALUES(78,207); -INSERT INTO product_slots VALUES(78,208); -INSERT INTO product_slots VALUES(78,209); -INSERT INTO product_slots VALUES(78,210); -INSERT INTO product_slots VALUES(78,211); -INSERT INTO product_slots VALUES(78,212); -INSERT INTO product_slots VALUES(78,213); -INSERT INTO product_slots VALUES(78,214); -INSERT INTO product_slots VALUES(78,215); -INSERT INTO product_slots VALUES(78,216); -INSERT INTO product_slots VALUES(78,217); -INSERT INTO product_slots VALUES(78,218); -INSERT INTO product_slots VALUES(78,219); -INSERT INTO product_slots VALUES(78,220); -INSERT INTO product_slots VALUES(78,221); -INSERT INTO product_slots VALUES(78,222); -INSERT INTO product_slots VALUES(78,223); -INSERT INTO product_slots VALUES(78,224); -INSERT INTO product_slots VALUES(78,225); -INSERT INTO product_slots VALUES(78,226); -INSERT INTO product_slots VALUES(78,227); -INSERT INTO product_slots VALUES(78,228); -INSERT INTO product_slots VALUES(78,229); -INSERT INTO product_slots VALUES(78,230); -INSERT INTO product_slots VALUES(78,231); -INSERT INTO product_slots VALUES(78,232); -INSERT INTO product_slots VALUES(78,233); -INSERT INTO product_slots VALUES(78,234); -INSERT INTO product_slots VALUES(78,235); -INSERT INTO product_slots VALUES(78,236); -INSERT INTO product_slots VALUES(78,237); -INSERT INTO product_slots VALUES(78,238); -INSERT INTO product_slots VALUES(78,239); -INSERT INTO product_slots VALUES(78,240); -INSERT INTO product_slots VALUES(78,241); -INSERT INTO product_slots VALUES(78,242); -INSERT INTO product_slots VALUES(78,243); -INSERT INTO product_slots VALUES(78,244); -INSERT INTO product_slots VALUES(78,274); -INSERT INTO product_slots VALUES(78,275); -INSERT INTO product_slots VALUES(78,279); -INSERT INTO product_slots VALUES(78,280); -INSERT INTO product_slots VALUES(78,281); -INSERT INTO product_slots VALUES(78,282); -INSERT INTO product_slots VALUES(78,283); -INSERT INTO product_slots VALUES(78,284); -INSERT INTO product_slots VALUES(78,285); -INSERT INTO product_slots VALUES(78,286); -INSERT INTO product_slots VALUES(78,287); -INSERT INTO product_slots VALUES(79,39); -INSERT INTO product_slots VALUES(79,41); -INSERT INTO product_slots VALUES(79,43); -INSERT INTO product_slots VALUES(79,44); -INSERT INTO product_slots VALUES(79,45); -INSERT INTO product_slots VALUES(79,46); -INSERT INTO product_slots VALUES(79,47); -INSERT INTO product_slots VALUES(79,48); -INSERT INTO product_slots VALUES(79,49); -INSERT INTO product_slots VALUES(79,50); -INSERT INTO product_slots VALUES(79,51); -INSERT INTO product_slots VALUES(79,52); -INSERT INTO product_slots VALUES(79,53); -INSERT INTO product_slots VALUES(79,54); -INSERT INTO product_slots VALUES(79,55); -INSERT INTO product_slots VALUES(79,56); -INSERT INTO product_slots VALUES(79,57); -INSERT INTO product_slots VALUES(79,58); -INSERT INTO product_slots VALUES(79,59); -INSERT INTO product_slots VALUES(79,60); -INSERT INTO product_slots VALUES(79,61); -INSERT INTO product_slots VALUES(79,62); -INSERT INTO product_slots VALUES(79,63); -INSERT INTO product_slots VALUES(79,64); -INSERT INTO product_slots VALUES(79,65); -INSERT INTO product_slots VALUES(79,66); -INSERT INTO product_slots VALUES(79,67); -INSERT INTO product_slots VALUES(79,68); -INSERT INTO product_slots VALUES(79,69); -INSERT INTO product_slots VALUES(79,70); -INSERT INTO product_slots VALUES(79,71); -INSERT INTO product_slots VALUES(79,72); -INSERT INTO product_slots VALUES(79,73); -INSERT INTO product_slots VALUES(79,74); -INSERT INTO product_slots VALUES(79,75); -INSERT INTO product_slots VALUES(79,76); -INSERT INTO product_slots VALUES(79,77); -INSERT INTO product_slots VALUES(79,78); -INSERT INTO product_slots VALUES(79,79); -INSERT INTO product_slots VALUES(79,80); -INSERT INTO product_slots VALUES(79,81); -INSERT INTO product_slots VALUES(79,82); -INSERT INTO product_slots VALUES(79,83); -INSERT INTO product_slots VALUES(79,84); -INSERT INTO product_slots VALUES(79,85); -INSERT INTO product_slots VALUES(79,86); -INSERT INTO product_slots VALUES(79,87); -INSERT INTO product_slots VALUES(79,88); -INSERT INTO product_slots VALUES(79,89); -INSERT INTO product_slots VALUES(79,90); -INSERT INTO product_slots VALUES(79,91); -INSERT INTO product_slots VALUES(79,92); -INSERT INTO product_slots VALUES(79,93); -INSERT INTO product_slots VALUES(79,94); -INSERT INTO product_slots VALUES(79,95); -INSERT INTO product_slots VALUES(79,96); -INSERT INTO product_slots VALUES(79,97); -INSERT INTO product_slots VALUES(79,98); -INSERT INTO product_slots VALUES(79,99); -INSERT INTO product_slots VALUES(79,100); -INSERT INTO product_slots VALUES(79,101); -INSERT INTO product_slots VALUES(79,102); -INSERT INTO product_slots VALUES(79,103); -INSERT INTO product_slots VALUES(79,104); -INSERT INTO product_slots VALUES(79,105); -INSERT INTO product_slots VALUES(79,106); -INSERT INTO product_slots VALUES(79,107); -INSERT INTO product_slots VALUES(79,108); -INSERT INTO product_slots VALUES(79,109); -INSERT INTO product_slots VALUES(79,110); -INSERT INTO product_slots VALUES(79,111); -INSERT INTO product_slots VALUES(79,112); -INSERT INTO product_slots VALUES(79,113); -INSERT INTO product_slots VALUES(79,114); -INSERT INTO product_slots VALUES(79,115); -INSERT INTO product_slots VALUES(79,116); -INSERT INTO product_slots VALUES(79,117); -INSERT INTO product_slots VALUES(79,118); -INSERT INTO product_slots VALUES(79,119); -INSERT INTO product_slots VALUES(79,120); -INSERT INTO product_slots VALUES(79,121); -INSERT INTO product_slots VALUES(79,122); -INSERT INTO product_slots VALUES(79,123); -INSERT INTO product_slots VALUES(79,124); -INSERT INTO product_slots VALUES(79,125); -INSERT INTO product_slots VALUES(79,126); -INSERT INTO product_slots VALUES(79,127); -INSERT INTO product_slots VALUES(79,128); -INSERT INTO product_slots VALUES(79,129); -INSERT INTO product_slots VALUES(79,130); -INSERT INTO product_slots VALUES(79,131); -INSERT INTO product_slots VALUES(79,132); -INSERT INTO product_slots VALUES(79,133); -INSERT INTO product_slots VALUES(79,134); -INSERT INTO product_slots VALUES(79,135); -INSERT INTO product_slots VALUES(79,136); -INSERT INTO product_slots VALUES(79,137); -INSERT INTO product_slots VALUES(79,138); -INSERT INTO product_slots VALUES(79,139); -INSERT INTO product_slots VALUES(79,140); -INSERT INTO product_slots VALUES(79,141); -INSERT INTO product_slots VALUES(79,142); -INSERT INTO product_slots VALUES(79,143); -INSERT INTO product_slots VALUES(79,144); -INSERT INTO product_slots VALUES(79,145); -INSERT INTO product_slots VALUES(79,146); -INSERT INTO product_slots VALUES(79,147); -INSERT INTO product_slots VALUES(79,148); -INSERT INTO product_slots VALUES(79,149); -INSERT INTO product_slots VALUES(79,150); -INSERT INTO product_slots VALUES(79,151); -INSERT INTO product_slots VALUES(79,152); -INSERT INTO product_slots VALUES(79,153); -INSERT INTO product_slots VALUES(79,154); -INSERT INTO product_slots VALUES(79,155); -INSERT INTO product_slots VALUES(79,156); -INSERT INTO product_slots VALUES(79,157); -INSERT INTO product_slots VALUES(79,158); -INSERT INTO product_slots VALUES(79,159); -INSERT INTO product_slots VALUES(79,160); -INSERT INTO product_slots VALUES(79,161); -INSERT INTO product_slots VALUES(79,162); -INSERT INTO product_slots VALUES(79,163); -INSERT INTO product_slots VALUES(79,164); -INSERT INTO product_slots VALUES(79,165); -INSERT INTO product_slots VALUES(79,166); -INSERT INTO product_slots VALUES(79,167); -INSERT INTO product_slots VALUES(79,168); -INSERT INTO product_slots VALUES(79,169); -INSERT INTO product_slots VALUES(79,170); -INSERT INTO product_slots VALUES(79,171); -INSERT INTO product_slots VALUES(79,172); -INSERT INTO product_slots VALUES(79,173); -INSERT INTO product_slots VALUES(79,174); -INSERT INTO product_slots VALUES(79,175); -INSERT INTO product_slots VALUES(79,176); -INSERT INTO product_slots VALUES(79,177); -INSERT INTO product_slots VALUES(79,178); -INSERT INTO product_slots VALUES(79,179); -INSERT INTO product_slots VALUES(79,180); -INSERT INTO product_slots VALUES(79,181); -INSERT INTO product_slots VALUES(79,182); -INSERT INTO product_slots VALUES(79,183); -INSERT INTO product_slots VALUES(79,184); -INSERT INTO product_slots VALUES(79,185); -INSERT INTO product_slots VALUES(79,186); -INSERT INTO product_slots VALUES(79,187); -INSERT INTO product_slots VALUES(79,188); -INSERT INTO product_slots VALUES(79,189); -INSERT INTO product_slots VALUES(79,190); -INSERT INTO product_slots VALUES(79,191); -INSERT INTO product_slots VALUES(79,192); -INSERT INTO product_slots VALUES(79,193); -INSERT INTO product_slots VALUES(79,194); -INSERT INTO product_slots VALUES(79,195); -INSERT INTO product_slots VALUES(79,196); -INSERT INTO product_slots VALUES(79,197); -INSERT INTO product_slots VALUES(79,198); -INSERT INTO product_slots VALUES(79,199); -INSERT INTO product_slots VALUES(79,200); -INSERT INTO product_slots VALUES(79,201); -INSERT INTO product_slots VALUES(79,202); -INSERT INTO product_slots VALUES(79,203); -INSERT INTO product_slots VALUES(79,204); -INSERT INTO product_slots VALUES(79,205); -INSERT INTO product_slots VALUES(79,206); -INSERT INTO product_slots VALUES(79,207); -INSERT INTO product_slots VALUES(79,208); -INSERT INTO product_slots VALUES(79,209); -INSERT INTO product_slots VALUES(79,210); -INSERT INTO product_slots VALUES(79,211); -INSERT INTO product_slots VALUES(79,212); -INSERT INTO product_slots VALUES(79,213); -INSERT INTO product_slots VALUES(79,214); -INSERT INTO product_slots VALUES(79,215); -INSERT INTO product_slots VALUES(79,216); -INSERT INTO product_slots VALUES(79,217); -INSERT INTO product_slots VALUES(79,218); -INSERT INTO product_slots VALUES(79,219); -INSERT INTO product_slots VALUES(79,220); -INSERT INTO product_slots VALUES(79,221); -INSERT INTO product_slots VALUES(79,222); -INSERT INTO product_slots VALUES(79,223); -INSERT INTO product_slots VALUES(79,224); -INSERT INTO product_slots VALUES(79,225); -INSERT INTO product_slots VALUES(79,226); -INSERT INTO product_slots VALUES(79,227); -INSERT INTO product_slots VALUES(79,228); -INSERT INTO product_slots VALUES(79,229); -INSERT INTO product_slots VALUES(79,230); -INSERT INTO product_slots VALUES(79,231); -INSERT INTO product_slots VALUES(79,232); -INSERT INTO product_slots VALUES(79,233); -INSERT INTO product_slots VALUES(79,234); -INSERT INTO product_slots VALUES(79,235); -INSERT INTO product_slots VALUES(79,236); -INSERT INTO product_slots VALUES(79,237); -INSERT INTO product_slots VALUES(79,238); -INSERT INTO product_slots VALUES(79,239); -INSERT INTO product_slots VALUES(79,240); -INSERT INTO product_slots VALUES(79,241); -INSERT INTO product_slots VALUES(79,242); -INSERT INTO product_slots VALUES(79,243); -INSERT INTO product_slots VALUES(79,244); -INSERT INTO product_slots VALUES(79,274); -INSERT INTO product_slots VALUES(79,275); -INSERT INTO product_slots VALUES(79,279); -INSERT INTO product_slots VALUES(79,280); -INSERT INTO product_slots VALUES(79,281); -INSERT INTO product_slots VALUES(79,282); -INSERT INTO product_slots VALUES(79,283); -INSERT INTO product_slots VALUES(79,284); -INSERT INTO product_slots VALUES(79,285); -INSERT INTO product_slots VALUES(79,286); -INSERT INTO product_slots VALUES(79,287); -INSERT INTO product_slots VALUES(80,39); -INSERT INTO product_slots VALUES(80,41); -INSERT INTO product_slots VALUES(80,43); -INSERT INTO product_slots VALUES(80,45); -INSERT INTO product_slots VALUES(80,46); -INSERT INTO product_slots VALUES(80,47); -INSERT INTO product_slots VALUES(80,48); -INSERT INTO product_slots VALUES(80,49); -INSERT INTO product_slots VALUES(80,50); -INSERT INTO product_slots VALUES(80,51); -INSERT INTO product_slots VALUES(80,52); -INSERT INTO product_slots VALUES(80,53); -INSERT INTO product_slots VALUES(80,54); -INSERT INTO product_slots VALUES(80,55); -INSERT INTO product_slots VALUES(80,56); -INSERT INTO product_slots VALUES(80,57); -INSERT INTO product_slots VALUES(80,58); -INSERT INTO product_slots VALUES(80,59); -INSERT INTO product_slots VALUES(80,60); -INSERT INTO product_slots VALUES(80,61); -INSERT INTO product_slots VALUES(80,64); -INSERT INTO product_slots VALUES(80,65); -INSERT INTO product_slots VALUES(80,66); -INSERT INTO product_slots VALUES(80,67); -INSERT INTO product_slots VALUES(80,68); -INSERT INTO product_slots VALUES(80,69); -INSERT INTO product_slots VALUES(80,70); -INSERT INTO product_slots VALUES(80,71); -INSERT INTO product_slots VALUES(80,72); -INSERT INTO product_slots VALUES(80,73); -INSERT INTO product_slots VALUES(80,74); -INSERT INTO product_slots VALUES(80,75); -INSERT INTO product_slots VALUES(80,76); -INSERT INTO product_slots VALUES(80,77); -INSERT INTO product_slots VALUES(80,78); -INSERT INTO product_slots VALUES(80,79); -INSERT INTO product_slots VALUES(80,80); -INSERT INTO product_slots VALUES(80,81); -INSERT INTO product_slots VALUES(80,82); -INSERT INTO product_slots VALUES(80,83); -INSERT INTO product_slots VALUES(80,84); -INSERT INTO product_slots VALUES(80,85); -INSERT INTO product_slots VALUES(80,86); -INSERT INTO product_slots VALUES(80,87); -INSERT INTO product_slots VALUES(80,88); -INSERT INTO product_slots VALUES(80,89); -INSERT INTO product_slots VALUES(80,90); -INSERT INTO product_slots VALUES(80,91); -INSERT INTO product_slots VALUES(80,92); -INSERT INTO product_slots VALUES(80,93); -INSERT INTO product_slots VALUES(80,94); -INSERT INTO product_slots VALUES(80,95); -INSERT INTO product_slots VALUES(80,96); -INSERT INTO product_slots VALUES(80,97); -INSERT INTO product_slots VALUES(80,98); -INSERT INTO product_slots VALUES(80,99); -INSERT INTO product_slots VALUES(80,100); -INSERT INTO product_slots VALUES(80,101); -INSERT INTO product_slots VALUES(80,102); -INSERT INTO product_slots VALUES(80,103); -INSERT INTO product_slots VALUES(80,104); -INSERT INTO product_slots VALUES(80,105); -INSERT INTO product_slots VALUES(80,106); -INSERT INTO product_slots VALUES(80,107); -INSERT INTO product_slots VALUES(80,108); -INSERT INTO product_slots VALUES(80,109); -INSERT INTO product_slots VALUES(80,110); -INSERT INTO product_slots VALUES(80,111); -INSERT INTO product_slots VALUES(80,112); -INSERT INTO product_slots VALUES(80,113); -INSERT INTO product_slots VALUES(80,114); -INSERT INTO product_slots VALUES(80,115); -INSERT INTO product_slots VALUES(80,116); -INSERT INTO product_slots VALUES(80,117); -INSERT INTO product_slots VALUES(80,118); -INSERT INTO product_slots VALUES(80,119); -INSERT INTO product_slots VALUES(80,120); -INSERT INTO product_slots VALUES(80,121); -INSERT INTO product_slots VALUES(80,122); -INSERT INTO product_slots VALUES(80,123); -INSERT INTO product_slots VALUES(80,124); -INSERT INTO product_slots VALUES(80,125); -INSERT INTO product_slots VALUES(80,126); -INSERT INTO product_slots VALUES(80,127); -INSERT INTO product_slots VALUES(80,128); -INSERT INTO product_slots VALUES(80,129); -INSERT INTO product_slots VALUES(80,130); -INSERT INTO product_slots VALUES(80,131); -INSERT INTO product_slots VALUES(80,132); -INSERT INTO product_slots VALUES(80,133); -INSERT INTO product_slots VALUES(80,134); -INSERT INTO product_slots VALUES(80,135); -INSERT INTO product_slots VALUES(80,136); -INSERT INTO product_slots VALUES(80,137); -INSERT INTO product_slots VALUES(80,138); -INSERT INTO product_slots VALUES(80,139); -INSERT INTO product_slots VALUES(80,140); -INSERT INTO product_slots VALUES(80,141); -INSERT INTO product_slots VALUES(80,142); -INSERT INTO product_slots VALUES(80,143); -INSERT INTO product_slots VALUES(80,144); -INSERT INTO product_slots VALUES(80,145); -INSERT INTO product_slots VALUES(80,146); -INSERT INTO product_slots VALUES(80,147); -INSERT INTO product_slots VALUES(80,148); -INSERT INTO product_slots VALUES(80,149); -INSERT INTO product_slots VALUES(80,150); -INSERT INTO product_slots VALUES(80,151); -INSERT INTO product_slots VALUES(80,152); -INSERT INTO product_slots VALUES(80,153); -INSERT INTO product_slots VALUES(80,154); -INSERT INTO product_slots VALUES(80,155); -INSERT INTO product_slots VALUES(80,156); -INSERT INTO product_slots VALUES(80,157); -INSERT INTO product_slots VALUES(80,158); -INSERT INTO product_slots VALUES(80,159); -INSERT INTO product_slots VALUES(80,160); -INSERT INTO product_slots VALUES(80,161); -INSERT INTO product_slots VALUES(80,162); -INSERT INTO product_slots VALUES(80,163); -INSERT INTO product_slots VALUES(80,164); -INSERT INTO product_slots VALUES(80,165); -INSERT INTO product_slots VALUES(80,166); -INSERT INTO product_slots VALUES(80,167); -INSERT INTO product_slots VALUES(80,168); -INSERT INTO product_slots VALUES(80,169); -INSERT INTO product_slots VALUES(80,170); -INSERT INTO product_slots VALUES(80,171); -INSERT INTO product_slots VALUES(80,172); -INSERT INTO product_slots VALUES(80,173); -INSERT INTO product_slots VALUES(80,174); -INSERT INTO product_slots VALUES(80,175); -INSERT INTO product_slots VALUES(80,176); -INSERT INTO product_slots VALUES(80,177); -INSERT INTO product_slots VALUES(80,178); -INSERT INTO product_slots VALUES(80,179); -INSERT INTO product_slots VALUES(80,180); -INSERT INTO product_slots VALUES(80,181); -INSERT INTO product_slots VALUES(80,182); -INSERT INTO product_slots VALUES(80,183); -INSERT INTO product_slots VALUES(80,184); -INSERT INTO product_slots VALUES(80,185); -INSERT INTO product_slots VALUES(80,186); -INSERT INTO product_slots VALUES(80,187); -INSERT INTO product_slots VALUES(80,188); -INSERT INTO product_slots VALUES(80,189); -INSERT INTO product_slots VALUES(80,190); -INSERT INTO product_slots VALUES(80,191); -INSERT INTO product_slots VALUES(80,192); -INSERT INTO product_slots VALUES(80,193); -INSERT INTO product_slots VALUES(80,194); -INSERT INTO product_slots VALUES(80,195); -INSERT INTO product_slots VALUES(80,196); -INSERT INTO product_slots VALUES(80,197); -INSERT INTO product_slots VALUES(80,198); -INSERT INTO product_slots VALUES(80,199); -INSERT INTO product_slots VALUES(80,200); -INSERT INTO product_slots VALUES(80,201); -INSERT INTO product_slots VALUES(80,202); -INSERT INTO product_slots VALUES(80,203); -INSERT INTO product_slots VALUES(80,204); -INSERT INTO product_slots VALUES(80,205); -INSERT INTO product_slots VALUES(80,206); -INSERT INTO product_slots VALUES(80,207); -INSERT INTO product_slots VALUES(80,208); -INSERT INTO product_slots VALUES(80,209); -INSERT INTO product_slots VALUES(80,210); -INSERT INTO product_slots VALUES(80,211); -INSERT INTO product_slots VALUES(80,212); -INSERT INTO product_slots VALUES(80,213); -INSERT INTO product_slots VALUES(80,214); -INSERT INTO product_slots VALUES(80,215); -INSERT INTO product_slots VALUES(80,216); -INSERT INTO product_slots VALUES(80,217); -INSERT INTO product_slots VALUES(80,218); -INSERT INTO product_slots VALUES(80,219); -INSERT INTO product_slots VALUES(80,220); -INSERT INTO product_slots VALUES(80,221); -INSERT INTO product_slots VALUES(80,222); -INSERT INTO product_slots VALUES(80,223); -INSERT INTO product_slots VALUES(80,224); -INSERT INTO product_slots VALUES(80,225); -INSERT INTO product_slots VALUES(80,226); -INSERT INTO product_slots VALUES(80,227); -INSERT INTO product_slots VALUES(80,228); -INSERT INTO product_slots VALUES(80,229); -INSERT INTO product_slots VALUES(80,230); -INSERT INTO product_slots VALUES(80,231); -INSERT INTO product_slots VALUES(80,232); -INSERT INTO product_slots VALUES(80,233); -INSERT INTO product_slots VALUES(80,234); -INSERT INTO product_slots VALUES(80,235); -INSERT INTO product_slots VALUES(80,236); -INSERT INTO product_slots VALUES(80,237); -INSERT INTO product_slots VALUES(80,238); -INSERT INTO product_slots VALUES(80,239); -INSERT INTO product_slots VALUES(80,240); -INSERT INTO product_slots VALUES(80,241); -INSERT INTO product_slots VALUES(80,242); -INSERT INTO product_slots VALUES(80,243); -INSERT INTO product_slots VALUES(80,244); -INSERT INTO product_slots VALUES(80,274); -INSERT INTO product_slots VALUES(80,275); -INSERT INTO product_slots VALUES(80,279); -INSERT INTO product_slots VALUES(80,280); -INSERT INTO product_slots VALUES(80,281); -INSERT INTO product_slots VALUES(80,282); -INSERT INTO product_slots VALUES(81,39); -INSERT INTO product_slots VALUES(81,43); -INSERT INTO product_slots VALUES(81,45); -INSERT INTO product_slots VALUES(81,48); -INSERT INTO product_slots VALUES(81,49); -INSERT INTO product_slots VALUES(81,51); -INSERT INTO product_slots VALUES(81,52); -INSERT INTO product_slots VALUES(81,57); -INSERT INTO product_slots VALUES(81,58); -INSERT INTO product_slots VALUES(81,59); -INSERT INTO product_slots VALUES(81,62); -INSERT INTO product_slots VALUES(81,63); -INSERT INTO product_slots VALUES(81,64); -INSERT INTO product_slots VALUES(81,65); -INSERT INTO product_slots VALUES(81,66); -INSERT INTO product_slots VALUES(81,67); -INSERT INTO product_slots VALUES(81,69); -INSERT INTO product_slots VALUES(81,70); -INSERT INTO product_slots VALUES(81,71); -INSERT INTO product_slots VALUES(81,72); -INSERT INTO product_slots VALUES(81,73); -INSERT INTO product_slots VALUES(81,75); -INSERT INTO product_slots VALUES(81,82); -INSERT INTO product_slots VALUES(81,83); -INSERT INTO product_slots VALUES(81,84); -INSERT INTO product_slots VALUES(81,90); -INSERT INTO product_slots VALUES(81,91); -INSERT INTO product_slots VALUES(81,97); -INSERT INTO product_slots VALUES(81,98); -INSERT INTO product_slots VALUES(81,102); -INSERT INTO product_slots VALUES(81,103); -INSERT INTO product_slots VALUES(81,104); -INSERT INTO product_slots VALUES(81,110); -INSERT INTO product_slots VALUES(81,111); -INSERT INTO product_slots VALUES(81,112); -INSERT INTO product_slots VALUES(81,116); -INSERT INTO product_slots VALUES(81,117); -INSERT INTO product_slots VALUES(81,118); -INSERT INTO product_slots VALUES(81,119); -INSERT INTO product_slots VALUES(81,120); -INSERT INTO product_slots VALUES(81,121); -INSERT INTO product_slots VALUES(81,122); -INSERT INTO product_slots VALUES(81,123); -INSERT INTO product_slots VALUES(81,124); -INSERT INTO product_slots VALUES(81,125); -INSERT INTO product_slots VALUES(81,126); -INSERT INTO product_slots VALUES(81,127); -INSERT INTO product_slots VALUES(81,128); -INSERT INTO product_slots VALUES(81,129); -INSERT INTO product_slots VALUES(81,130); -INSERT INTO product_slots VALUES(81,131); -INSERT INTO product_slots VALUES(81,132); -INSERT INTO product_slots VALUES(81,133); -INSERT INTO product_slots VALUES(81,134); -INSERT INTO product_slots VALUES(81,135); -INSERT INTO product_slots VALUES(81,136); -INSERT INTO product_slots VALUES(81,137); -INSERT INTO product_slots VALUES(81,138); -INSERT INTO product_slots VALUES(81,139); -INSERT INTO product_slots VALUES(81,140); -INSERT INTO product_slots VALUES(81,141); -INSERT INTO product_slots VALUES(81,142); -INSERT INTO product_slots VALUES(81,143); -INSERT INTO product_slots VALUES(81,144); -INSERT INTO product_slots VALUES(81,145); -INSERT INTO product_slots VALUES(81,146); -INSERT INTO product_slots VALUES(81,147); -INSERT INTO product_slots VALUES(81,148); -INSERT INTO product_slots VALUES(81,149); -INSERT INTO product_slots VALUES(81,150); -INSERT INTO product_slots VALUES(81,151); -INSERT INTO product_slots VALUES(81,152); -INSERT INTO product_slots VALUES(81,153); -INSERT INTO product_slots VALUES(81,154); -INSERT INTO product_slots VALUES(81,155); -INSERT INTO product_slots VALUES(81,156); -INSERT INTO product_slots VALUES(81,157); -INSERT INTO product_slots VALUES(81,158); -INSERT INTO product_slots VALUES(81,159); -INSERT INTO product_slots VALUES(81,160); -INSERT INTO product_slots VALUES(81,161); -INSERT INTO product_slots VALUES(81,162); -INSERT INTO product_slots VALUES(81,163); -INSERT INTO product_slots VALUES(81,164); -INSERT INTO product_slots VALUES(81,165); -INSERT INTO product_slots VALUES(81,166); -INSERT INTO product_slots VALUES(81,167); -INSERT INTO product_slots VALUES(81,168); -INSERT INTO product_slots VALUES(81,169); -INSERT INTO product_slots VALUES(81,170); -INSERT INTO product_slots VALUES(81,171); -INSERT INTO product_slots VALUES(81,172); -INSERT INTO product_slots VALUES(81,173); -INSERT INTO product_slots VALUES(81,174); -INSERT INTO product_slots VALUES(81,175); -INSERT INTO product_slots VALUES(81,176); -INSERT INTO product_slots VALUES(81,177); -INSERT INTO product_slots VALUES(81,178); -INSERT INTO product_slots VALUES(81,179); -INSERT INTO product_slots VALUES(81,180); -INSERT INTO product_slots VALUES(81,181); -INSERT INTO product_slots VALUES(81,182); -INSERT INTO product_slots VALUES(81,183); -INSERT INTO product_slots VALUES(81,184); -INSERT INTO product_slots VALUES(81,185); -INSERT INTO product_slots VALUES(81,186); -INSERT INTO product_slots VALUES(81,187); -INSERT INTO product_slots VALUES(81,188); -INSERT INTO product_slots VALUES(81,189); -INSERT INTO product_slots VALUES(81,190); -INSERT INTO product_slots VALUES(81,191); -INSERT INTO product_slots VALUES(81,192); -INSERT INTO product_slots VALUES(81,193); -INSERT INTO product_slots VALUES(81,194); -INSERT INTO product_slots VALUES(81,195); -INSERT INTO product_slots VALUES(81,196); -INSERT INTO product_slots VALUES(81,197); -INSERT INTO product_slots VALUES(81,198); -INSERT INTO product_slots VALUES(81,199); -INSERT INTO product_slots VALUES(81,200); -INSERT INTO product_slots VALUES(81,201); -INSERT INTO product_slots VALUES(81,202); -INSERT INTO product_slots VALUES(81,203); -INSERT INTO product_slots VALUES(81,204); -INSERT INTO product_slots VALUES(81,205); -INSERT INTO product_slots VALUES(81,206); -INSERT INTO product_slots VALUES(81,207); -INSERT INTO product_slots VALUES(81,208); -INSERT INTO product_slots VALUES(81,209); -INSERT INTO product_slots VALUES(81,210); -INSERT INTO product_slots VALUES(81,211); -INSERT INTO product_slots VALUES(81,212); -INSERT INTO product_slots VALUES(81,213); -INSERT INTO product_slots VALUES(81,214); -INSERT INTO product_slots VALUES(81,215); -INSERT INTO product_slots VALUES(81,216); -INSERT INTO product_slots VALUES(81,217); -INSERT INTO product_slots VALUES(81,218); -INSERT INTO product_slots VALUES(81,219); -INSERT INTO product_slots VALUES(81,220); -INSERT INTO product_slots VALUES(81,221); -INSERT INTO product_slots VALUES(81,222); -INSERT INTO product_slots VALUES(81,223); -INSERT INTO product_slots VALUES(81,224); -INSERT INTO product_slots VALUES(81,225); -INSERT INTO product_slots VALUES(81,226); -INSERT INTO product_slots VALUES(81,227); -INSERT INTO product_slots VALUES(81,228); -INSERT INTO product_slots VALUES(81,229); -INSERT INTO product_slots VALUES(81,230); -INSERT INTO product_slots VALUES(81,231); -INSERT INTO product_slots VALUES(81,232); -INSERT INTO product_slots VALUES(81,233); -INSERT INTO product_slots VALUES(81,234); -INSERT INTO product_slots VALUES(81,235); -INSERT INTO product_slots VALUES(81,236); -INSERT INTO product_slots VALUES(81,237); -INSERT INTO product_slots VALUES(81,238); -INSERT INTO product_slots VALUES(81,239); -INSERT INTO product_slots VALUES(81,240); -INSERT INTO product_slots VALUES(81,241); -INSERT INTO product_slots VALUES(81,242); -INSERT INTO product_slots VALUES(81,243); -INSERT INTO product_slots VALUES(81,244); -INSERT INTO product_slots VALUES(81,274); -INSERT INTO product_slots VALUES(81,275); -INSERT INTO product_slots VALUES(81,279); -INSERT INTO product_slots VALUES(81,280); -INSERT INTO product_slots VALUES(81,281); -INSERT INTO product_slots VALUES(81,282); -INSERT INTO product_slots VALUES(81,283); -INSERT INTO product_slots VALUES(81,284); -INSERT INTO product_slots VALUES(81,285); -INSERT INTO product_slots VALUES(81,286); -INSERT INTO product_slots VALUES(81,287); -INSERT INTO product_slots VALUES(82,39); -INSERT INTO product_slots VALUES(82,43); -INSERT INTO product_slots VALUES(82,45); -INSERT INTO product_slots VALUES(82,48); -INSERT INTO product_slots VALUES(82,49); -INSERT INTO product_slots VALUES(82,51); -INSERT INTO product_slots VALUES(82,52); -INSERT INTO product_slots VALUES(82,57); -INSERT INTO product_slots VALUES(82,58); -INSERT INTO product_slots VALUES(82,59); -INSERT INTO product_slots VALUES(82,62); -INSERT INTO product_slots VALUES(82,63); -INSERT INTO product_slots VALUES(82,64); -INSERT INTO product_slots VALUES(82,65); -INSERT INTO product_slots VALUES(82,66); -INSERT INTO product_slots VALUES(82,67); -INSERT INTO product_slots VALUES(82,69); -INSERT INTO product_slots VALUES(82,70); -INSERT INTO product_slots VALUES(82,71); -INSERT INTO product_slots VALUES(82,72); -INSERT INTO product_slots VALUES(82,73); -INSERT INTO product_slots VALUES(82,75); -INSERT INTO product_slots VALUES(82,82); -INSERT INTO product_slots VALUES(82,83); -INSERT INTO product_slots VALUES(82,84); -INSERT INTO product_slots VALUES(82,90); -INSERT INTO product_slots VALUES(82,91); -INSERT INTO product_slots VALUES(82,92); -INSERT INTO product_slots VALUES(82,93); -INSERT INTO product_slots VALUES(82,94); -INSERT INTO product_slots VALUES(82,97); -INSERT INTO product_slots VALUES(82,98); -INSERT INTO product_slots VALUES(82,99); -INSERT INTO product_slots VALUES(82,100); -INSERT INTO product_slots VALUES(82,102); -INSERT INTO product_slots VALUES(82,103); -INSERT INTO product_slots VALUES(82,104); -INSERT INTO product_slots VALUES(82,110); -INSERT INTO product_slots VALUES(82,111); -INSERT INTO product_slots VALUES(82,112); -INSERT INTO product_slots VALUES(82,116); -INSERT INTO product_slots VALUES(82,117); -INSERT INTO product_slots VALUES(82,118); -INSERT INTO product_slots VALUES(82,119); -INSERT INTO product_slots VALUES(82,120); -INSERT INTO product_slots VALUES(82,121); -INSERT INTO product_slots VALUES(82,122); -INSERT INTO product_slots VALUES(82,123); -INSERT INTO product_slots VALUES(82,124); -INSERT INTO product_slots VALUES(82,125); -INSERT INTO product_slots VALUES(82,126); -INSERT INTO product_slots VALUES(82,127); -INSERT INTO product_slots VALUES(82,128); -INSERT INTO product_slots VALUES(82,129); -INSERT INTO product_slots VALUES(82,130); -INSERT INTO product_slots VALUES(82,131); -INSERT INTO product_slots VALUES(82,132); -INSERT INTO product_slots VALUES(82,133); -INSERT INTO product_slots VALUES(82,134); -INSERT INTO product_slots VALUES(82,135); -INSERT INTO product_slots VALUES(82,136); -INSERT INTO product_slots VALUES(82,137); -INSERT INTO product_slots VALUES(82,138); -INSERT INTO product_slots VALUES(82,139); -INSERT INTO product_slots VALUES(82,140); -INSERT INTO product_slots VALUES(82,141); -INSERT INTO product_slots VALUES(82,142); -INSERT INTO product_slots VALUES(82,143); -INSERT INTO product_slots VALUES(82,144); -INSERT INTO product_slots VALUES(82,145); -INSERT INTO product_slots VALUES(82,146); -INSERT INTO product_slots VALUES(82,147); -INSERT INTO product_slots VALUES(82,148); -INSERT INTO product_slots VALUES(82,149); -INSERT INTO product_slots VALUES(82,150); -INSERT INTO product_slots VALUES(82,151); -INSERT INTO product_slots VALUES(82,152); -INSERT INTO product_slots VALUES(82,153); -INSERT INTO product_slots VALUES(82,154); -INSERT INTO product_slots VALUES(82,155); -INSERT INTO product_slots VALUES(82,156); -INSERT INTO product_slots VALUES(82,157); -INSERT INTO product_slots VALUES(82,158); -INSERT INTO product_slots VALUES(82,159); -INSERT INTO product_slots VALUES(82,160); -INSERT INTO product_slots VALUES(82,161); -INSERT INTO product_slots VALUES(82,162); -INSERT INTO product_slots VALUES(82,163); -INSERT INTO product_slots VALUES(82,164); -INSERT INTO product_slots VALUES(82,165); -INSERT INTO product_slots VALUES(82,166); -INSERT INTO product_slots VALUES(82,167); -INSERT INTO product_slots VALUES(82,168); -INSERT INTO product_slots VALUES(82,169); -INSERT INTO product_slots VALUES(82,170); -INSERT INTO product_slots VALUES(82,171); -INSERT INTO product_slots VALUES(82,172); -INSERT INTO product_slots VALUES(82,173); -INSERT INTO product_slots VALUES(82,174); -INSERT INTO product_slots VALUES(82,175); -INSERT INTO product_slots VALUES(82,176); -INSERT INTO product_slots VALUES(82,177); -INSERT INTO product_slots VALUES(82,178); -INSERT INTO product_slots VALUES(82,179); -INSERT INTO product_slots VALUES(82,180); -INSERT INTO product_slots VALUES(82,181); -INSERT INTO product_slots VALUES(82,182); -INSERT INTO product_slots VALUES(82,183); -INSERT INTO product_slots VALUES(82,184); -INSERT INTO product_slots VALUES(82,185); -INSERT INTO product_slots VALUES(82,186); -INSERT INTO product_slots VALUES(82,187); -INSERT INTO product_slots VALUES(82,188); -INSERT INTO product_slots VALUES(82,189); -INSERT INTO product_slots VALUES(82,190); -INSERT INTO product_slots VALUES(82,191); -INSERT INTO product_slots VALUES(82,192); -INSERT INTO product_slots VALUES(82,193); -INSERT INTO product_slots VALUES(82,194); -INSERT INTO product_slots VALUES(82,195); -INSERT INTO product_slots VALUES(82,196); -INSERT INTO product_slots VALUES(82,197); -INSERT INTO product_slots VALUES(82,198); -INSERT INTO product_slots VALUES(82,199); -INSERT INTO product_slots VALUES(82,200); -INSERT INTO product_slots VALUES(82,201); -INSERT INTO product_slots VALUES(82,202); -INSERT INTO product_slots VALUES(82,203); -INSERT INTO product_slots VALUES(82,204); -INSERT INTO product_slots VALUES(82,205); -INSERT INTO product_slots VALUES(82,206); -INSERT INTO product_slots VALUES(82,207); -INSERT INTO product_slots VALUES(82,208); -INSERT INTO product_slots VALUES(82,209); -INSERT INTO product_slots VALUES(82,210); -INSERT INTO product_slots VALUES(82,211); -INSERT INTO product_slots VALUES(82,212); -INSERT INTO product_slots VALUES(82,213); -INSERT INTO product_slots VALUES(82,214); -INSERT INTO product_slots VALUES(82,215); -INSERT INTO product_slots VALUES(82,216); -INSERT INTO product_slots VALUES(82,217); -INSERT INTO product_slots VALUES(82,218); -INSERT INTO product_slots VALUES(82,219); -INSERT INTO product_slots VALUES(82,220); -INSERT INTO product_slots VALUES(82,221); -INSERT INTO product_slots VALUES(82,222); -INSERT INTO product_slots VALUES(82,223); -INSERT INTO product_slots VALUES(82,224); -INSERT INTO product_slots VALUES(82,225); -INSERT INTO product_slots VALUES(82,226); -INSERT INTO product_slots VALUES(82,227); -INSERT INTO product_slots VALUES(82,228); -INSERT INTO product_slots VALUES(82,229); -INSERT INTO product_slots VALUES(82,230); -INSERT INTO product_slots VALUES(82,231); -INSERT INTO product_slots VALUES(82,232); -INSERT INTO product_slots VALUES(82,233); -INSERT INTO product_slots VALUES(82,234); -INSERT INTO product_slots VALUES(82,235); -INSERT INTO product_slots VALUES(82,236); -INSERT INTO product_slots VALUES(82,237); -INSERT INTO product_slots VALUES(82,238); -INSERT INTO product_slots VALUES(82,239); -INSERT INTO product_slots VALUES(82,240); -INSERT INTO product_slots VALUES(82,241); -INSERT INTO product_slots VALUES(82,242); -INSERT INTO product_slots VALUES(82,243); -INSERT INTO product_slots VALUES(82,244); -INSERT INTO product_slots VALUES(82,274); -INSERT INTO product_slots VALUES(82,275); -INSERT INTO product_slots VALUES(82,279); -INSERT INTO product_slots VALUES(82,280); -INSERT INTO product_slots VALUES(82,281); -INSERT INTO product_slots VALUES(82,282); -INSERT INTO product_slots VALUES(82,283); -INSERT INTO product_slots VALUES(82,284); -INSERT INTO product_slots VALUES(82,285); -INSERT INTO product_slots VALUES(82,286); -INSERT INTO product_slots VALUES(82,287); -INSERT INTO product_slots VALUES(83,39); -INSERT INTO product_slots VALUES(83,43); -INSERT INTO product_slots VALUES(83,45); -INSERT INTO product_slots VALUES(83,48); -INSERT INTO product_slots VALUES(83,49); -INSERT INTO product_slots VALUES(83,51); -INSERT INTO product_slots VALUES(83,52); -INSERT INTO product_slots VALUES(83,57); -INSERT INTO product_slots VALUES(83,58); -INSERT INTO product_slots VALUES(83,59); -INSERT INTO product_slots VALUES(83,62); -INSERT INTO product_slots VALUES(83,63); -INSERT INTO product_slots VALUES(83,64); -INSERT INTO product_slots VALUES(83,65); -INSERT INTO product_slots VALUES(83,66); -INSERT INTO product_slots VALUES(83,67); -INSERT INTO product_slots VALUES(83,69); -INSERT INTO product_slots VALUES(83,70); -INSERT INTO product_slots VALUES(83,71); -INSERT INTO product_slots VALUES(83,72); -INSERT INTO product_slots VALUES(83,73); -INSERT INTO product_slots VALUES(83,75); -INSERT INTO product_slots VALUES(83,82); -INSERT INTO product_slots VALUES(83,83); -INSERT INTO product_slots VALUES(83,84); -INSERT INTO product_slots VALUES(83,90); -INSERT INTO product_slots VALUES(83,91); -INSERT INTO product_slots VALUES(83,97); -INSERT INTO product_slots VALUES(83,98); -INSERT INTO product_slots VALUES(83,102); -INSERT INTO product_slots VALUES(83,103); -INSERT INTO product_slots VALUES(83,104); -INSERT INTO product_slots VALUES(83,110); -INSERT INTO product_slots VALUES(83,111); -INSERT INTO product_slots VALUES(83,112); -INSERT INTO product_slots VALUES(83,116); -INSERT INTO product_slots VALUES(83,117); -INSERT INTO product_slots VALUES(83,118); -INSERT INTO product_slots VALUES(83,119); -INSERT INTO product_slots VALUES(83,120); -INSERT INTO product_slots VALUES(83,121); -INSERT INTO product_slots VALUES(83,122); -INSERT INTO product_slots VALUES(83,123); -INSERT INTO product_slots VALUES(83,124); -INSERT INTO product_slots VALUES(83,125); -INSERT INTO product_slots VALUES(83,126); -INSERT INTO product_slots VALUES(83,127); -INSERT INTO product_slots VALUES(83,128); -INSERT INTO product_slots VALUES(83,129); -INSERT INTO product_slots VALUES(83,130); -INSERT INTO product_slots VALUES(83,131); -INSERT INTO product_slots VALUES(83,132); -INSERT INTO product_slots VALUES(83,133); -INSERT INTO product_slots VALUES(83,134); -INSERT INTO product_slots VALUES(83,135); -INSERT INTO product_slots VALUES(83,136); -INSERT INTO product_slots VALUES(83,137); -INSERT INTO product_slots VALUES(83,138); -INSERT INTO product_slots VALUES(83,139); -INSERT INTO product_slots VALUES(83,140); -INSERT INTO product_slots VALUES(83,141); -INSERT INTO product_slots VALUES(83,142); -INSERT INTO product_slots VALUES(83,143); -INSERT INTO product_slots VALUES(83,144); -INSERT INTO product_slots VALUES(83,145); -INSERT INTO product_slots VALUES(83,146); -INSERT INTO product_slots VALUES(83,147); -INSERT INTO product_slots VALUES(83,148); -INSERT INTO product_slots VALUES(83,149); -INSERT INTO product_slots VALUES(83,150); -INSERT INTO product_slots VALUES(83,151); -INSERT INTO product_slots VALUES(83,152); -INSERT INTO product_slots VALUES(83,153); -INSERT INTO product_slots VALUES(83,154); -INSERT INTO product_slots VALUES(83,155); -INSERT INTO product_slots VALUES(83,156); -INSERT INTO product_slots VALUES(83,157); -INSERT INTO product_slots VALUES(83,158); -INSERT INTO product_slots VALUES(83,159); -INSERT INTO product_slots VALUES(83,160); -INSERT INTO product_slots VALUES(83,161); -INSERT INTO product_slots VALUES(83,162); -INSERT INTO product_slots VALUES(83,163); -INSERT INTO product_slots VALUES(83,164); -INSERT INTO product_slots VALUES(83,165); -INSERT INTO product_slots VALUES(83,166); -INSERT INTO product_slots VALUES(83,167); -INSERT INTO product_slots VALUES(83,168); -INSERT INTO product_slots VALUES(83,169); -INSERT INTO product_slots VALUES(83,170); -INSERT INTO product_slots VALUES(83,171); -INSERT INTO product_slots VALUES(83,172); -INSERT INTO product_slots VALUES(83,173); -INSERT INTO product_slots VALUES(83,174); -INSERT INTO product_slots VALUES(83,175); -INSERT INTO product_slots VALUES(83,176); -INSERT INTO product_slots VALUES(83,177); -INSERT INTO product_slots VALUES(83,178); -INSERT INTO product_slots VALUES(83,179); -INSERT INTO product_slots VALUES(83,180); -INSERT INTO product_slots VALUES(83,181); -INSERT INTO product_slots VALUES(83,182); -INSERT INTO product_slots VALUES(83,183); -INSERT INTO product_slots VALUES(83,184); -INSERT INTO product_slots VALUES(83,185); -INSERT INTO product_slots VALUES(83,186); -INSERT INTO product_slots VALUES(83,187); -INSERT INTO product_slots VALUES(83,188); -INSERT INTO product_slots VALUES(83,189); -INSERT INTO product_slots VALUES(83,190); -INSERT INTO product_slots VALUES(83,191); -INSERT INTO product_slots VALUES(83,192); -INSERT INTO product_slots VALUES(83,193); -INSERT INTO product_slots VALUES(83,194); -INSERT INTO product_slots VALUES(83,195); -INSERT INTO product_slots VALUES(83,196); -INSERT INTO product_slots VALUES(83,197); -INSERT INTO product_slots VALUES(83,198); -INSERT INTO product_slots VALUES(83,199); -INSERT INTO product_slots VALUES(83,200); -INSERT INTO product_slots VALUES(83,201); -INSERT INTO product_slots VALUES(83,202); -INSERT INTO product_slots VALUES(83,203); -INSERT INTO product_slots VALUES(83,204); -INSERT INTO product_slots VALUES(83,205); -INSERT INTO product_slots VALUES(83,206); -INSERT INTO product_slots VALUES(83,207); -INSERT INTO product_slots VALUES(83,208); -INSERT INTO product_slots VALUES(83,209); -INSERT INTO product_slots VALUES(83,210); -INSERT INTO product_slots VALUES(83,211); -INSERT INTO product_slots VALUES(83,212); -INSERT INTO product_slots VALUES(83,213); -INSERT INTO product_slots VALUES(83,214); -INSERT INTO product_slots VALUES(83,215); -INSERT INTO product_slots VALUES(83,216); -INSERT INTO product_slots VALUES(83,217); -INSERT INTO product_slots VALUES(83,218); -INSERT INTO product_slots VALUES(83,219); -INSERT INTO product_slots VALUES(83,220); -INSERT INTO product_slots VALUES(83,221); -INSERT INTO product_slots VALUES(83,222); -INSERT INTO product_slots VALUES(83,223); -INSERT INTO product_slots VALUES(83,224); -INSERT INTO product_slots VALUES(83,225); -INSERT INTO product_slots VALUES(83,226); -INSERT INTO product_slots VALUES(83,227); -INSERT INTO product_slots VALUES(83,228); -INSERT INTO product_slots VALUES(83,229); -INSERT INTO product_slots VALUES(83,230); -INSERT INTO product_slots VALUES(83,231); -INSERT INTO product_slots VALUES(83,232); -INSERT INTO product_slots VALUES(83,233); -INSERT INTO product_slots VALUES(83,234); -INSERT INTO product_slots VALUES(83,235); -INSERT INTO product_slots VALUES(83,236); -INSERT INTO product_slots VALUES(83,237); -INSERT INTO product_slots VALUES(83,238); -INSERT INTO product_slots VALUES(83,239); -INSERT INTO product_slots VALUES(83,240); -INSERT INTO product_slots VALUES(83,241); -INSERT INTO product_slots VALUES(83,242); -INSERT INTO product_slots VALUES(83,243); -INSERT INTO product_slots VALUES(83,244); -INSERT INTO product_slots VALUES(83,274); -INSERT INTO product_slots VALUES(83,275); -INSERT INTO product_slots VALUES(83,279); -INSERT INTO product_slots VALUES(83,280); -INSERT INTO product_slots VALUES(83,281); -INSERT INTO product_slots VALUES(83,282); -INSERT INTO product_slots VALUES(83,283); -INSERT INTO product_slots VALUES(83,284); -INSERT INTO product_slots VALUES(83,285); -INSERT INTO product_slots VALUES(83,286); -INSERT INTO product_slots VALUES(83,287); -INSERT INTO product_slots VALUES(85,81); -INSERT INTO product_slots VALUES(85,82); -INSERT INTO product_slots VALUES(85,83); -INSERT INTO product_slots VALUES(85,91); -INSERT INTO product_slots VALUES(85,92); -INSERT INTO product_slots VALUES(85,93); -INSERT INTO product_slots VALUES(85,94); -INSERT INTO product_slots VALUES(85,98); -INSERT INTO product_slots VALUES(85,99); -INSERT INTO product_slots VALUES(85,100); -INSERT INTO product_slots VALUES(85,105); -INSERT INTO product_slots VALUES(85,106); -INSERT INTO product_slots VALUES(85,107); -INSERT INTO product_slots VALUES(85,108); -INSERT INTO product_slots VALUES(85,109); -INSERT INTO product_slots VALUES(85,110); -INSERT INTO product_slots VALUES(85,111); -INSERT INTO product_slots VALUES(85,112); -INSERT INTO product_slots VALUES(85,113); -INSERT INTO product_slots VALUES(85,114); -INSERT INTO product_slots VALUES(85,115); -INSERT INTO product_slots VALUES(85,120); -INSERT INTO product_slots VALUES(85,134); -INSERT INTO product_slots VALUES(85,135); -INSERT INTO product_slots VALUES(85,136); -INSERT INTO product_slots VALUES(85,187); -INSERT INTO product_slots VALUES(86,39); -INSERT INTO product_slots VALUES(86,41); -INSERT INTO product_slots VALUES(86,43); -INSERT INTO product_slots VALUES(86,45); -INSERT INTO product_slots VALUES(86,46); -INSERT INTO product_slots VALUES(86,47); -INSERT INTO product_slots VALUES(86,48); -INSERT INTO product_slots VALUES(86,49); -INSERT INTO product_slots VALUES(86,50); -INSERT INTO product_slots VALUES(86,51); -INSERT INTO product_slots VALUES(86,52); -INSERT INTO product_slots VALUES(86,53); -INSERT INTO product_slots VALUES(86,54); -INSERT INTO product_slots VALUES(86,55); -INSERT INTO product_slots VALUES(86,56); -INSERT INTO product_slots VALUES(86,57); -INSERT INTO product_slots VALUES(86,58); -INSERT INTO product_slots VALUES(86,59); -INSERT INTO product_slots VALUES(86,60); -INSERT INTO product_slots VALUES(86,61); -INSERT INTO product_slots VALUES(86,62); -INSERT INTO product_slots VALUES(86,63); -INSERT INTO product_slots VALUES(86,64); -INSERT INTO product_slots VALUES(86,65); -INSERT INTO product_slots VALUES(86,66); -INSERT INTO product_slots VALUES(86,67); -INSERT INTO product_slots VALUES(86,68); -INSERT INTO product_slots VALUES(86,69); -INSERT INTO product_slots VALUES(86,70); -INSERT INTO product_slots VALUES(86,71); -INSERT INTO product_slots VALUES(86,74); -INSERT INTO product_slots VALUES(86,75); -INSERT INTO product_slots VALUES(86,76); -INSERT INTO product_slots VALUES(86,77); -INSERT INTO product_slots VALUES(86,78); -INSERT INTO product_slots VALUES(86,81); -INSERT INTO product_slots VALUES(86,82); -INSERT INTO product_slots VALUES(86,83); -INSERT INTO product_slots VALUES(86,84); -INSERT INTO product_slots VALUES(86,87); -INSERT INTO product_slots VALUES(86,88); -INSERT INTO product_slots VALUES(86,90); -INSERT INTO product_slots VALUES(86,91); -INSERT INTO product_slots VALUES(86,95); -INSERT INTO product_slots VALUES(86,97); -INSERT INTO product_slots VALUES(86,98); -INSERT INTO product_slots VALUES(86,101); -INSERT INTO product_slots VALUES(86,102); -INSERT INTO product_slots VALUES(86,103); -INSERT INTO product_slots VALUES(86,104); -INSERT INTO product_slots VALUES(86,109); -INSERT INTO product_slots VALUES(86,110); -INSERT INTO product_slots VALUES(86,111); -INSERT INTO product_slots VALUES(86,112); -INSERT INTO product_slots VALUES(86,116); -INSERT INTO product_slots VALUES(86,117); -INSERT INTO product_slots VALUES(86,118); -INSERT INTO product_slots VALUES(86,119); -INSERT INTO product_slots VALUES(86,120); -INSERT INTO product_slots VALUES(86,123); -INSERT INTO product_slots VALUES(86,124); -INSERT INTO product_slots VALUES(86,125); -INSERT INTO product_slots VALUES(86,126); -INSERT INTO product_slots VALUES(86,130); -INSERT INTO product_slots VALUES(86,131); -INSERT INTO product_slots VALUES(86,132); -INSERT INTO product_slots VALUES(86,133); -INSERT INTO product_slots VALUES(86,137); -INSERT INTO product_slots VALUES(86,138); -INSERT INTO product_slots VALUES(86,139); -INSERT INTO product_slots VALUES(86,140); -INSERT INTO product_slots VALUES(86,144); -INSERT INTO product_slots VALUES(86,145); -INSERT INTO product_slots VALUES(86,146); -INSERT INTO product_slots VALUES(86,147); -INSERT INTO product_slots VALUES(86,148); -INSERT INTO product_slots VALUES(86,149); -INSERT INTO product_slots VALUES(86,150); -INSERT INTO product_slots VALUES(86,151); -INSERT INTO product_slots VALUES(86,155); -INSERT INTO product_slots VALUES(86,156); -INSERT INTO product_slots VALUES(86,157); -INSERT INTO product_slots VALUES(86,158); -INSERT INTO product_slots VALUES(86,162); -INSERT INTO product_slots VALUES(86,163); -INSERT INTO product_slots VALUES(86,164); -INSERT INTO product_slots VALUES(86,165); -INSERT INTO product_slots VALUES(86,166); -INSERT INTO product_slots VALUES(86,169); -INSERT INTO product_slots VALUES(86,170); -INSERT INTO product_slots VALUES(86,171); -INSERT INTO product_slots VALUES(86,172); -INSERT INTO product_slots VALUES(86,176); -INSERT INTO product_slots VALUES(86,177); -INSERT INTO product_slots VALUES(86,178); -INSERT INTO product_slots VALUES(86,179); -INSERT INTO product_slots VALUES(86,183); -INSERT INTO product_slots VALUES(86,184); -INSERT INTO product_slots VALUES(86,185); -INSERT INTO product_slots VALUES(86,186); -INSERT INTO product_slots VALUES(86,187); -INSERT INTO product_slots VALUES(86,188); -INSERT INTO product_slots VALUES(86,189); -INSERT INTO product_slots VALUES(86,190); -INSERT INTO product_slots VALUES(86,191); -INSERT INTO product_slots VALUES(86,192); -INSERT INTO product_slots VALUES(86,193); -INSERT INTO product_slots VALUES(86,194); -INSERT INTO product_slots VALUES(86,198); -INSERT INTO product_slots VALUES(86,199); -INSERT INTO product_slots VALUES(86,200); -INSERT INTO product_slots VALUES(86,201); -INSERT INTO product_slots VALUES(86,202); -INSERT INTO product_slots VALUES(86,203); -INSERT INTO product_slots VALUES(86,205); -INSERT INTO product_slots VALUES(86,208); -INSERT INTO product_slots VALUES(86,209); -INSERT INTO product_slots VALUES(86,210); -INSERT INTO product_slots VALUES(86,211); -INSERT INTO product_slots VALUES(86,216); -INSERT INTO product_slots VALUES(86,217); -INSERT INTO product_slots VALUES(86,218); -INSERT INTO product_slots VALUES(86,219); -INSERT INTO product_slots VALUES(86,220); -INSERT INTO product_slots VALUES(86,223); -INSERT INTO product_slots VALUES(86,224); -INSERT INTO product_slots VALUES(86,225); -INSERT INTO product_slots VALUES(86,226); -INSERT INTO product_slots VALUES(86,230); -INSERT INTO product_slots VALUES(86,231); -INSERT INTO product_slots VALUES(86,232); -INSERT INTO product_slots VALUES(86,234); -INSERT INTO product_slots VALUES(86,237); -INSERT INTO product_slots VALUES(86,238); -INSERT INTO product_slots VALUES(86,239); -INSERT INTO product_slots VALUES(86,240); -INSERT INTO product_slots VALUES(86,274); -INSERT INTO product_slots VALUES(86,275); -INSERT INTO product_slots VALUES(86,277); -INSERT INTO product_slots VALUES(86,278); -INSERT INTO product_slots VALUES(86,279); -INSERT INTO product_slots VALUES(88,39); -INSERT INTO product_slots VALUES(88,44); -INSERT INTO product_slots VALUES(88,46); -INSERT INTO product_slots VALUES(88,47); -INSERT INTO product_slots VALUES(88,48); -INSERT INTO product_slots VALUES(88,49); -INSERT INTO product_slots VALUES(88,50); -INSERT INTO product_slots VALUES(88,51); -INSERT INTO product_slots VALUES(88,52); -INSERT INTO product_slots VALUES(88,53); -INSERT INTO product_slots VALUES(88,54); -INSERT INTO product_slots VALUES(88,55); -INSERT INTO product_slots VALUES(88,56); -INSERT INTO product_slots VALUES(88,57); -INSERT INTO product_slots VALUES(88,58); -INSERT INTO product_slots VALUES(88,59); -INSERT INTO product_slots VALUES(88,60); -INSERT INTO product_slots VALUES(88,61); -INSERT INTO product_slots VALUES(88,62); -INSERT INTO product_slots VALUES(88,63); -INSERT INTO product_slots VALUES(88,64); -INSERT INTO product_slots VALUES(88,65); -INSERT INTO product_slots VALUES(88,66); -INSERT INTO product_slots VALUES(88,67); -INSERT INTO product_slots VALUES(88,68); -INSERT INTO product_slots VALUES(88,69); -INSERT INTO product_slots VALUES(88,70); -INSERT INTO product_slots VALUES(88,71); -INSERT INTO product_slots VALUES(88,72); -INSERT INTO product_slots VALUES(88,73); -INSERT INTO product_slots VALUES(88,74); -INSERT INTO product_slots VALUES(88,75); -INSERT INTO product_slots VALUES(88,76); -INSERT INTO product_slots VALUES(88,77); -INSERT INTO product_slots VALUES(88,78); -INSERT INTO product_slots VALUES(88,79); -INSERT INTO product_slots VALUES(88,80); -INSERT INTO product_slots VALUES(88,87); -INSERT INTO product_slots VALUES(88,88); -INSERT INTO product_slots VALUES(88,95); -INSERT INTO product_slots VALUES(88,101); -INSERT INTO product_slots VALUES(88,102); -INSERT INTO product_slots VALUES(88,103); -INSERT INTO product_slots VALUES(88,104); -INSERT INTO product_slots VALUES(88,105); -INSERT INTO product_slots VALUES(88,106); -INSERT INTO product_slots VALUES(88,107); -INSERT INTO product_slots VALUES(88,108); -INSERT INTO product_slots VALUES(88,109); -INSERT INTO product_slots VALUES(88,110); -INSERT INTO product_slots VALUES(88,111); -INSERT INTO product_slots VALUES(88,112); -INSERT INTO product_slots VALUES(88,113); -INSERT INTO product_slots VALUES(88,114); -INSERT INTO product_slots VALUES(88,115); -INSERT INTO product_slots VALUES(88,116); -INSERT INTO product_slots VALUES(88,117); -INSERT INTO product_slots VALUES(88,118); -INSERT INTO product_slots VALUES(88,119); -INSERT INTO product_slots VALUES(88,120); -INSERT INTO product_slots VALUES(88,121); -INSERT INTO product_slots VALUES(88,122); -INSERT INTO product_slots VALUES(88,123); -INSERT INTO product_slots VALUES(88,124); -INSERT INTO product_slots VALUES(88,125); -INSERT INTO product_slots VALUES(88,126); -INSERT INTO product_slots VALUES(88,127); -INSERT INTO product_slots VALUES(88,128); -INSERT INTO product_slots VALUES(88,129); -INSERT INTO product_slots VALUES(88,130); -INSERT INTO product_slots VALUES(88,131); -INSERT INTO product_slots VALUES(88,132); -INSERT INTO product_slots VALUES(88,133); -INSERT INTO product_slots VALUES(88,137); -INSERT INTO product_slots VALUES(88,138); -INSERT INTO product_slots VALUES(88,139); -INSERT INTO product_slots VALUES(88,141); -INSERT INTO product_slots VALUES(88,144); -INSERT INTO product_slots VALUES(88,156); -INSERT INTO product_slots VALUES(88,164); -INSERT INTO product_slots VALUES(88,165); -INSERT INTO product_slots VALUES(88,166); -INSERT INTO product_slots VALUES(88,167); -INSERT INTO product_slots VALUES(88,169); -INSERT INTO product_slots VALUES(88,176); -INSERT INTO product_slots VALUES(88,187); -INSERT INTO product_slots VALUES(88,203); -INSERT INTO product_slots VALUES(88,204); -INSERT INTO product_slots VALUES(88,205); -INSERT INTO product_slots VALUES(88,206); -INSERT INTO product_slots VALUES(88,207); -INSERT INTO product_slots VALUES(88,208); -INSERT INTO product_slots VALUES(88,209); -INSERT INTO product_slots VALUES(88,210); -INSERT INTO product_slots VALUES(88,211); -INSERT INTO product_slots VALUES(88,212); -INSERT INTO product_slots VALUES(88,213); -INSERT INTO product_slots VALUES(88,214); -INSERT INTO product_slots VALUES(88,215); -INSERT INTO product_slots VALUES(88,216); -INSERT INTO product_slots VALUES(88,217); -INSERT INTO product_slots VALUES(88,218); -INSERT INTO product_slots VALUES(88,219); -INSERT INTO product_slots VALUES(88,220); -INSERT INTO product_slots VALUES(88,221); -INSERT INTO product_slots VALUES(88,222); -INSERT INTO product_slots VALUES(88,223); -INSERT INTO product_slots VALUES(88,224); -INSERT INTO product_slots VALUES(88,225); -INSERT INTO product_slots VALUES(88,226); -INSERT INTO product_slots VALUES(88,227); -INSERT INTO product_slots VALUES(88,228); -INSERT INTO product_slots VALUES(88,229); -INSERT INTO product_slots VALUES(88,230); -INSERT INTO product_slots VALUES(88,231); -INSERT INTO product_slots VALUES(88,232); -INSERT INTO product_slots VALUES(88,233); -INSERT INTO product_slots VALUES(88,234); -INSERT INTO product_slots VALUES(88,235); -INSERT INTO product_slots VALUES(88,236); -INSERT INTO product_slots VALUES(88,237); -INSERT INTO product_slots VALUES(88,238); -INSERT INTO product_slots VALUES(88,239); -INSERT INTO product_slots VALUES(88,240); -INSERT INTO product_slots VALUES(88,241); -INSERT INTO product_slots VALUES(88,242); -INSERT INTO product_slots VALUES(88,243); -INSERT INTO product_slots VALUES(88,244); -INSERT INTO product_slots VALUES(88,274); -INSERT INTO product_slots VALUES(88,275); -INSERT INTO product_slots VALUES(88,279); -INSERT INTO product_slots VALUES(88,280); -INSERT INTO product_slots VALUES(88,281); -INSERT INTO product_slots VALUES(88,282); -INSERT INTO product_slots VALUES(88,283); -INSERT INTO product_slots VALUES(88,284); -INSERT INTO product_slots VALUES(88,285); -INSERT INTO product_slots VALUES(88,286); -INSERT INTO product_slots VALUES(88,287); -INSERT INTO product_slots VALUES(89,39); -INSERT INTO product_slots VALUES(89,44); -INSERT INTO product_slots VALUES(89,46); -INSERT INTO product_slots VALUES(89,47); -INSERT INTO product_slots VALUES(89,48); -INSERT INTO product_slots VALUES(89,49); -INSERT INTO product_slots VALUES(89,50); -INSERT INTO product_slots VALUES(89,51); -INSERT INTO product_slots VALUES(89,52); -INSERT INTO product_slots VALUES(89,53); -INSERT INTO product_slots VALUES(89,54); -INSERT INTO product_slots VALUES(89,55); -INSERT INTO product_slots VALUES(89,56); -INSERT INTO product_slots VALUES(89,57); -INSERT INTO product_slots VALUES(89,58); -INSERT INTO product_slots VALUES(89,59); -INSERT INTO product_slots VALUES(89,60); -INSERT INTO product_slots VALUES(89,61); -INSERT INTO product_slots VALUES(89,62); -INSERT INTO product_slots VALUES(89,63); -INSERT INTO product_slots VALUES(89,64); -INSERT INTO product_slots VALUES(89,65); -INSERT INTO product_slots VALUES(89,66); -INSERT INTO product_slots VALUES(89,67); -INSERT INTO product_slots VALUES(89,68); -INSERT INTO product_slots VALUES(89,69); -INSERT INTO product_slots VALUES(89,70); -INSERT INTO product_slots VALUES(89,71); -INSERT INTO product_slots VALUES(89,72); -INSERT INTO product_slots VALUES(89,73); -INSERT INTO product_slots VALUES(89,74); -INSERT INTO product_slots VALUES(89,75); -INSERT INTO product_slots VALUES(89,76); -INSERT INTO product_slots VALUES(89,77); -INSERT INTO product_slots VALUES(89,78); -INSERT INTO product_slots VALUES(89,79); -INSERT INTO product_slots VALUES(89,80); -INSERT INTO product_slots VALUES(89,81); -INSERT INTO product_slots VALUES(89,82); -INSERT INTO product_slots VALUES(89,83); -INSERT INTO product_slots VALUES(89,84); -INSERT INTO product_slots VALUES(89,85); -INSERT INTO product_slots VALUES(89,86); -INSERT INTO product_slots VALUES(89,87); -INSERT INTO product_slots VALUES(89,88); -INSERT INTO product_slots VALUES(89,89); -INSERT INTO product_slots VALUES(89,90); -INSERT INTO product_slots VALUES(89,91); -INSERT INTO product_slots VALUES(89,92); -INSERT INTO product_slots VALUES(89,93); -INSERT INTO product_slots VALUES(89,94); -INSERT INTO product_slots VALUES(89,95); -INSERT INTO product_slots VALUES(89,96); -INSERT INTO product_slots VALUES(89,97); -INSERT INTO product_slots VALUES(89,98); -INSERT INTO product_slots VALUES(89,99); -INSERT INTO product_slots VALUES(89,100); -INSERT INTO product_slots VALUES(89,101); -INSERT INTO product_slots VALUES(89,102); -INSERT INTO product_slots VALUES(89,103); -INSERT INTO product_slots VALUES(89,104); -INSERT INTO product_slots VALUES(89,105); -INSERT INTO product_slots VALUES(89,106); -INSERT INTO product_slots VALUES(89,107); -INSERT INTO product_slots VALUES(89,108); -INSERT INTO product_slots VALUES(89,109); -INSERT INTO product_slots VALUES(89,110); -INSERT INTO product_slots VALUES(89,111); -INSERT INTO product_slots VALUES(89,112); -INSERT INTO product_slots VALUES(89,113); -INSERT INTO product_slots VALUES(89,114); -INSERT INTO product_slots VALUES(89,115); -INSERT INTO product_slots VALUES(89,116); -INSERT INTO product_slots VALUES(89,117); -INSERT INTO product_slots VALUES(89,118); -INSERT INTO product_slots VALUES(89,119); -INSERT INTO product_slots VALUES(89,120); -INSERT INTO product_slots VALUES(89,121); -INSERT INTO product_slots VALUES(89,122); -INSERT INTO product_slots VALUES(89,123); -INSERT INTO product_slots VALUES(89,124); -INSERT INTO product_slots VALUES(89,125); -INSERT INTO product_slots VALUES(89,126); -INSERT INTO product_slots VALUES(89,127); -INSERT INTO product_slots VALUES(89,128); -INSERT INTO product_slots VALUES(89,129); -INSERT INTO product_slots VALUES(89,130); -INSERT INTO product_slots VALUES(89,131); -INSERT INTO product_slots VALUES(89,132); -INSERT INTO product_slots VALUES(89,133); -INSERT INTO product_slots VALUES(89,134); -INSERT INTO product_slots VALUES(89,135); -INSERT INTO product_slots VALUES(89,136); -INSERT INTO product_slots VALUES(89,137); -INSERT INTO product_slots VALUES(89,138); -INSERT INTO product_slots VALUES(89,139); -INSERT INTO product_slots VALUES(89,140); -INSERT INTO product_slots VALUES(89,141); -INSERT INTO product_slots VALUES(89,142); -INSERT INTO product_slots VALUES(89,143); -INSERT INTO product_slots VALUES(89,144); -INSERT INTO product_slots VALUES(89,145); -INSERT INTO product_slots VALUES(89,146); -INSERT INTO product_slots VALUES(89,147); -INSERT INTO product_slots VALUES(89,148); -INSERT INTO product_slots VALUES(89,149); -INSERT INTO product_slots VALUES(89,150); -INSERT INTO product_slots VALUES(89,151); -INSERT INTO product_slots VALUES(89,152); -INSERT INTO product_slots VALUES(89,153); -INSERT INTO product_slots VALUES(89,154); -INSERT INTO product_slots VALUES(89,155); -INSERT INTO product_slots VALUES(89,156); -INSERT INTO product_slots VALUES(89,157); -INSERT INTO product_slots VALUES(89,158); -INSERT INTO product_slots VALUES(89,159); -INSERT INTO product_slots VALUES(89,160); -INSERT INTO product_slots VALUES(89,161); -INSERT INTO product_slots VALUES(89,162); -INSERT INTO product_slots VALUES(89,163); -INSERT INTO product_slots VALUES(89,164); -INSERT INTO product_slots VALUES(89,165); -INSERT INTO product_slots VALUES(89,166); -INSERT INTO product_slots VALUES(89,167); -INSERT INTO product_slots VALUES(89,168); -INSERT INTO product_slots VALUES(89,169); -INSERT INTO product_slots VALUES(89,170); -INSERT INTO product_slots VALUES(89,171); -INSERT INTO product_slots VALUES(89,172); -INSERT INTO product_slots VALUES(89,173); -INSERT INTO product_slots VALUES(89,174); -INSERT INTO product_slots VALUES(89,175); -INSERT INTO product_slots VALUES(89,176); -INSERT INTO product_slots VALUES(89,177); -INSERT INTO product_slots VALUES(89,178); -INSERT INTO product_slots VALUES(89,179); -INSERT INTO product_slots VALUES(89,180); -INSERT INTO product_slots VALUES(89,181); -INSERT INTO product_slots VALUES(89,182); -INSERT INTO product_slots VALUES(89,183); -INSERT INTO product_slots VALUES(89,184); -INSERT INTO product_slots VALUES(89,185); -INSERT INTO product_slots VALUES(89,186); -INSERT INTO product_slots VALUES(89,187); -INSERT INTO product_slots VALUES(89,188); -INSERT INTO product_slots VALUES(89,189); -INSERT INTO product_slots VALUES(89,190); -INSERT INTO product_slots VALUES(89,191); -INSERT INTO product_slots VALUES(89,192); -INSERT INTO product_slots VALUES(89,193); -INSERT INTO product_slots VALUES(89,194); -INSERT INTO product_slots VALUES(89,195); -INSERT INTO product_slots VALUES(89,196); -INSERT INTO product_slots VALUES(89,197); -INSERT INTO product_slots VALUES(89,198); -INSERT INTO product_slots VALUES(89,199); -INSERT INTO product_slots VALUES(89,200); -INSERT INTO product_slots VALUES(89,201); -INSERT INTO product_slots VALUES(89,202); -INSERT INTO product_slots VALUES(89,203); -INSERT INTO product_slots VALUES(89,204); -INSERT INTO product_slots VALUES(89,205); -INSERT INTO product_slots VALUES(89,206); -INSERT INTO product_slots VALUES(89,207); -INSERT INTO product_slots VALUES(89,208); -INSERT INTO product_slots VALUES(89,209); -INSERT INTO product_slots VALUES(89,210); -INSERT INTO product_slots VALUES(89,211); -INSERT INTO product_slots VALUES(89,212); -INSERT INTO product_slots VALUES(89,213); -INSERT INTO product_slots VALUES(89,214); -INSERT INTO product_slots VALUES(89,215); -INSERT INTO product_slots VALUES(89,216); -INSERT INTO product_slots VALUES(89,217); -INSERT INTO product_slots VALUES(89,218); -INSERT INTO product_slots VALUES(89,219); -INSERT INTO product_slots VALUES(89,220); -INSERT INTO product_slots VALUES(89,221); -INSERT INTO product_slots VALUES(89,222); -INSERT INTO product_slots VALUES(89,223); -INSERT INTO product_slots VALUES(89,224); -INSERT INTO product_slots VALUES(89,225); -INSERT INTO product_slots VALUES(89,226); -INSERT INTO product_slots VALUES(89,227); -INSERT INTO product_slots VALUES(89,228); -INSERT INTO product_slots VALUES(89,229); -INSERT INTO product_slots VALUES(89,230); -INSERT INTO product_slots VALUES(89,231); -INSERT INTO product_slots VALUES(89,232); -INSERT INTO product_slots VALUES(89,233); -INSERT INTO product_slots VALUES(89,234); -INSERT INTO product_slots VALUES(89,235); -INSERT INTO product_slots VALUES(89,236); -INSERT INTO product_slots VALUES(89,237); -INSERT INTO product_slots VALUES(89,238); -INSERT INTO product_slots VALUES(89,239); -INSERT INTO product_slots VALUES(89,240); -INSERT INTO product_slots VALUES(89,241); -INSERT INTO product_slots VALUES(89,242); -INSERT INTO product_slots VALUES(89,243); -INSERT INTO product_slots VALUES(89,244); -INSERT INTO product_slots VALUES(89,274); -INSERT INTO product_slots VALUES(89,275); -INSERT INTO product_slots VALUES(89,279); -INSERT INTO product_slots VALUES(89,280); -INSERT INTO product_slots VALUES(89,281); -INSERT INTO product_slots VALUES(89,282); -INSERT INTO product_slots VALUES(89,283); -INSERT INTO product_slots VALUES(89,284); -INSERT INTO product_slots VALUES(89,285); -INSERT INTO product_slots VALUES(89,286); -INSERT INTO product_slots VALUES(89,287); -INSERT INTO product_slots VALUES(90,39); -INSERT INTO product_slots VALUES(90,44); -INSERT INTO product_slots VALUES(90,46); -INSERT INTO product_slots VALUES(90,47); -INSERT INTO product_slots VALUES(90,48); -INSERT INTO product_slots VALUES(90,49); -INSERT INTO product_slots VALUES(90,50); -INSERT INTO product_slots VALUES(90,51); -INSERT INTO product_slots VALUES(90,52); -INSERT INTO product_slots VALUES(90,53); -INSERT INTO product_slots VALUES(90,54); -INSERT INTO product_slots VALUES(90,55); -INSERT INTO product_slots VALUES(90,56); -INSERT INTO product_slots VALUES(90,57); -INSERT INTO product_slots VALUES(90,58); -INSERT INTO product_slots VALUES(90,59); -INSERT INTO product_slots VALUES(90,60); -INSERT INTO product_slots VALUES(90,61); -INSERT INTO product_slots VALUES(90,62); -INSERT INTO product_slots VALUES(90,63); -INSERT INTO product_slots VALUES(90,64); -INSERT INTO product_slots VALUES(90,65); -INSERT INTO product_slots VALUES(90,66); -INSERT INTO product_slots VALUES(90,67); -INSERT INTO product_slots VALUES(90,68); -INSERT INTO product_slots VALUES(90,69); -INSERT INTO product_slots VALUES(90,70); -INSERT INTO product_slots VALUES(90,71); -INSERT INTO product_slots VALUES(90,72); -INSERT INTO product_slots VALUES(90,73); -INSERT INTO product_slots VALUES(90,74); -INSERT INTO product_slots VALUES(90,75); -INSERT INTO product_slots VALUES(90,76); -INSERT INTO product_slots VALUES(90,77); -INSERT INTO product_slots VALUES(90,78); -INSERT INTO product_slots VALUES(90,79); -INSERT INTO product_slots VALUES(90,80); -INSERT INTO product_slots VALUES(90,81); -INSERT INTO product_slots VALUES(90,82); -INSERT INTO product_slots VALUES(90,83); -INSERT INTO product_slots VALUES(90,84); -INSERT INTO product_slots VALUES(90,85); -INSERT INTO product_slots VALUES(90,86); -INSERT INTO product_slots VALUES(90,87); -INSERT INTO product_slots VALUES(90,88); -INSERT INTO product_slots VALUES(90,89); -INSERT INTO product_slots VALUES(90,90); -INSERT INTO product_slots VALUES(90,91); -INSERT INTO product_slots VALUES(90,92); -INSERT INTO product_slots VALUES(90,93); -INSERT INTO product_slots VALUES(90,94); -INSERT INTO product_slots VALUES(90,95); -INSERT INTO product_slots VALUES(90,96); -INSERT INTO product_slots VALUES(90,97); -INSERT INTO product_slots VALUES(90,98); -INSERT INTO product_slots VALUES(90,99); -INSERT INTO product_slots VALUES(90,100); -INSERT INTO product_slots VALUES(90,101); -INSERT INTO product_slots VALUES(90,102); -INSERT INTO product_slots VALUES(90,103); -INSERT INTO product_slots VALUES(90,104); -INSERT INTO product_slots VALUES(90,105); -INSERT INTO product_slots VALUES(90,106); -INSERT INTO product_slots VALUES(90,107); -INSERT INTO product_slots VALUES(90,108); -INSERT INTO product_slots VALUES(90,109); -INSERT INTO product_slots VALUES(90,110); -INSERT INTO product_slots VALUES(90,111); -INSERT INTO product_slots VALUES(90,112); -INSERT INTO product_slots VALUES(90,113); -INSERT INTO product_slots VALUES(90,114); -INSERT INTO product_slots VALUES(90,115); -INSERT INTO product_slots VALUES(90,116); -INSERT INTO product_slots VALUES(90,117); -INSERT INTO product_slots VALUES(90,118); -INSERT INTO product_slots VALUES(90,119); -INSERT INTO product_slots VALUES(90,120); -INSERT INTO product_slots VALUES(90,121); -INSERT INTO product_slots VALUES(90,122); -INSERT INTO product_slots VALUES(90,123); -INSERT INTO product_slots VALUES(90,124); -INSERT INTO product_slots VALUES(90,125); -INSERT INTO product_slots VALUES(90,126); -INSERT INTO product_slots VALUES(90,127); -INSERT INTO product_slots VALUES(90,128); -INSERT INTO product_slots VALUES(90,129); -INSERT INTO product_slots VALUES(90,130); -INSERT INTO product_slots VALUES(90,131); -INSERT INTO product_slots VALUES(90,132); -INSERT INTO product_slots VALUES(90,133); -INSERT INTO product_slots VALUES(90,134); -INSERT INTO product_slots VALUES(90,135); -INSERT INTO product_slots VALUES(90,136); -INSERT INTO product_slots VALUES(90,137); -INSERT INTO product_slots VALUES(90,138); -INSERT INTO product_slots VALUES(90,139); -INSERT INTO product_slots VALUES(90,140); -INSERT INTO product_slots VALUES(90,141); -INSERT INTO product_slots VALUES(90,142); -INSERT INTO product_slots VALUES(90,143); -INSERT INTO product_slots VALUES(90,144); -INSERT INTO product_slots VALUES(90,145); -INSERT INTO product_slots VALUES(90,146); -INSERT INTO product_slots VALUES(90,147); -INSERT INTO product_slots VALUES(90,148); -INSERT INTO product_slots VALUES(90,149); -INSERT INTO product_slots VALUES(90,150); -INSERT INTO product_slots VALUES(90,151); -INSERT INTO product_slots VALUES(90,152); -INSERT INTO product_slots VALUES(90,153); -INSERT INTO product_slots VALUES(90,154); -INSERT INTO product_slots VALUES(90,155); -INSERT INTO product_slots VALUES(90,156); -INSERT INTO product_slots VALUES(90,157); -INSERT INTO product_slots VALUES(90,158); -INSERT INTO product_slots VALUES(90,159); -INSERT INTO product_slots VALUES(90,160); -INSERT INTO product_slots VALUES(90,161); -INSERT INTO product_slots VALUES(90,162); -INSERT INTO product_slots VALUES(90,163); -INSERT INTO product_slots VALUES(90,164); -INSERT INTO product_slots VALUES(90,165); -INSERT INTO product_slots VALUES(90,166); -INSERT INTO product_slots VALUES(90,167); -INSERT INTO product_slots VALUES(90,168); -INSERT INTO product_slots VALUES(90,169); -INSERT INTO product_slots VALUES(90,170); -INSERT INTO product_slots VALUES(90,171); -INSERT INTO product_slots VALUES(90,172); -INSERT INTO product_slots VALUES(90,173); -INSERT INTO product_slots VALUES(90,174); -INSERT INTO product_slots VALUES(90,175); -INSERT INTO product_slots VALUES(90,176); -INSERT INTO product_slots VALUES(90,177); -INSERT INTO product_slots VALUES(90,178); -INSERT INTO product_slots VALUES(90,179); -INSERT INTO product_slots VALUES(90,180); -INSERT INTO product_slots VALUES(90,181); -INSERT INTO product_slots VALUES(90,182); -INSERT INTO product_slots VALUES(90,183); -INSERT INTO product_slots VALUES(90,184); -INSERT INTO product_slots VALUES(90,185); -INSERT INTO product_slots VALUES(90,186); -INSERT INTO product_slots VALUES(90,187); -INSERT INTO product_slots VALUES(90,188); -INSERT INTO product_slots VALUES(90,189); -INSERT INTO product_slots VALUES(90,190); -INSERT INTO product_slots VALUES(90,191); -INSERT INTO product_slots VALUES(90,192); -INSERT INTO product_slots VALUES(90,193); -INSERT INTO product_slots VALUES(90,194); -INSERT INTO product_slots VALUES(90,195); -INSERT INTO product_slots VALUES(90,196); -INSERT INTO product_slots VALUES(90,197); -INSERT INTO product_slots VALUES(90,198); -INSERT INTO product_slots VALUES(90,199); -INSERT INTO product_slots VALUES(90,200); -INSERT INTO product_slots VALUES(90,201); -INSERT INTO product_slots VALUES(90,202); -INSERT INTO product_slots VALUES(90,203); -INSERT INTO product_slots VALUES(90,204); -INSERT INTO product_slots VALUES(90,205); -INSERT INTO product_slots VALUES(90,206); -INSERT INTO product_slots VALUES(90,207); -INSERT INTO product_slots VALUES(90,208); -INSERT INTO product_slots VALUES(90,209); -INSERT INTO product_slots VALUES(90,210); -INSERT INTO product_slots VALUES(90,211); -INSERT INTO product_slots VALUES(90,212); -INSERT INTO product_slots VALUES(90,213); -INSERT INTO product_slots VALUES(90,214); -INSERT INTO product_slots VALUES(90,215); -INSERT INTO product_slots VALUES(90,216); -INSERT INTO product_slots VALUES(90,217); -INSERT INTO product_slots VALUES(90,218); -INSERT INTO product_slots VALUES(90,219); -INSERT INTO product_slots VALUES(90,220); -INSERT INTO product_slots VALUES(90,221); -INSERT INTO product_slots VALUES(90,222); -INSERT INTO product_slots VALUES(90,223); -INSERT INTO product_slots VALUES(90,224); -INSERT INTO product_slots VALUES(90,225); -INSERT INTO product_slots VALUES(90,226); -INSERT INTO product_slots VALUES(90,227); -INSERT INTO product_slots VALUES(90,228); -INSERT INTO product_slots VALUES(90,229); -INSERT INTO product_slots VALUES(90,230); -INSERT INTO product_slots VALUES(90,231); -INSERT INTO product_slots VALUES(90,232); -INSERT INTO product_slots VALUES(90,233); -INSERT INTO product_slots VALUES(90,234); -INSERT INTO product_slots VALUES(90,235); -INSERT INTO product_slots VALUES(90,236); -INSERT INTO product_slots VALUES(90,237); -INSERT INTO product_slots VALUES(90,238); -INSERT INTO product_slots VALUES(90,239); -INSERT INTO product_slots VALUES(90,240); -INSERT INTO product_slots VALUES(90,241); -INSERT INTO product_slots VALUES(90,242); -INSERT INTO product_slots VALUES(90,243); -INSERT INTO product_slots VALUES(90,244); -INSERT INTO product_slots VALUES(90,274); -INSERT INTO product_slots VALUES(90,275); -INSERT INTO product_slots VALUES(90,279); -INSERT INTO product_slots VALUES(90,280); -INSERT INTO product_slots VALUES(90,281); -INSERT INTO product_slots VALUES(90,282); -INSERT INTO product_slots VALUES(90,283); -INSERT INTO product_slots VALUES(90,284); -INSERT INTO product_slots VALUES(90,285); -INSERT INTO product_slots VALUES(90,286); -INSERT INTO product_slots VALUES(90,287); -INSERT INTO product_slots VALUES(91,39); -INSERT INTO product_slots VALUES(91,44); -INSERT INTO product_slots VALUES(91,46); -INSERT INTO product_slots VALUES(91,47); -INSERT INTO product_slots VALUES(91,48); -INSERT INTO product_slots VALUES(91,49); -INSERT INTO product_slots VALUES(91,50); -INSERT INTO product_slots VALUES(91,51); -INSERT INTO product_slots VALUES(91,52); -INSERT INTO product_slots VALUES(91,53); -INSERT INTO product_slots VALUES(91,54); -INSERT INTO product_slots VALUES(91,55); -INSERT INTO product_slots VALUES(91,56); -INSERT INTO product_slots VALUES(91,57); -INSERT INTO product_slots VALUES(91,58); -INSERT INTO product_slots VALUES(91,59); -INSERT INTO product_slots VALUES(91,60); -INSERT INTO product_slots VALUES(91,61); -INSERT INTO product_slots VALUES(91,62); -INSERT INTO product_slots VALUES(91,63); -INSERT INTO product_slots VALUES(91,64); -INSERT INTO product_slots VALUES(91,65); -INSERT INTO product_slots VALUES(91,66); -INSERT INTO product_slots VALUES(91,67); -INSERT INTO product_slots VALUES(91,68); -INSERT INTO product_slots VALUES(91,69); -INSERT INTO product_slots VALUES(91,70); -INSERT INTO product_slots VALUES(91,71); -INSERT INTO product_slots VALUES(91,72); -INSERT INTO product_slots VALUES(91,73); -INSERT INTO product_slots VALUES(91,74); -INSERT INTO product_slots VALUES(91,75); -INSERT INTO product_slots VALUES(91,76); -INSERT INTO product_slots VALUES(91,77); -INSERT INTO product_slots VALUES(91,78); -INSERT INTO product_slots VALUES(91,79); -INSERT INTO product_slots VALUES(91,80); -INSERT INTO product_slots VALUES(91,81); -INSERT INTO product_slots VALUES(91,82); -INSERT INTO product_slots VALUES(91,83); -INSERT INTO product_slots VALUES(91,84); -INSERT INTO product_slots VALUES(91,85); -INSERT INTO product_slots VALUES(91,86); -INSERT INTO product_slots VALUES(91,87); -INSERT INTO product_slots VALUES(91,88); -INSERT INTO product_slots VALUES(91,89); -INSERT INTO product_slots VALUES(91,90); -INSERT INTO product_slots VALUES(91,91); -INSERT INTO product_slots VALUES(91,92); -INSERT INTO product_slots VALUES(91,93); -INSERT INTO product_slots VALUES(91,94); -INSERT INTO product_slots VALUES(91,95); -INSERT INTO product_slots VALUES(91,96); -INSERT INTO product_slots VALUES(91,97); -INSERT INTO product_slots VALUES(91,98); -INSERT INTO product_slots VALUES(91,99); -INSERT INTO product_slots VALUES(91,100); -INSERT INTO product_slots VALUES(91,101); -INSERT INTO product_slots VALUES(91,102); -INSERT INTO product_slots VALUES(91,103); -INSERT INTO product_slots VALUES(91,104); -INSERT INTO product_slots VALUES(91,105); -INSERT INTO product_slots VALUES(91,106); -INSERT INTO product_slots VALUES(91,107); -INSERT INTO product_slots VALUES(91,108); -INSERT INTO product_slots VALUES(91,109); -INSERT INTO product_slots VALUES(91,110); -INSERT INTO product_slots VALUES(91,111); -INSERT INTO product_slots VALUES(91,112); -INSERT INTO product_slots VALUES(91,113); -INSERT INTO product_slots VALUES(91,114); -INSERT INTO product_slots VALUES(91,115); -INSERT INTO product_slots VALUES(91,116); -INSERT INTO product_slots VALUES(91,117); -INSERT INTO product_slots VALUES(91,118); -INSERT INTO product_slots VALUES(91,119); -INSERT INTO product_slots VALUES(91,120); -INSERT INTO product_slots VALUES(91,121); -INSERT INTO product_slots VALUES(91,122); -INSERT INTO product_slots VALUES(91,123); -INSERT INTO product_slots VALUES(91,124); -INSERT INTO product_slots VALUES(91,125); -INSERT INTO product_slots VALUES(91,126); -INSERT INTO product_slots VALUES(91,127); -INSERT INTO product_slots VALUES(91,128); -INSERT INTO product_slots VALUES(91,129); -INSERT INTO product_slots VALUES(91,130); -INSERT INTO product_slots VALUES(91,131); -INSERT INTO product_slots VALUES(91,132); -INSERT INTO product_slots VALUES(91,133); -INSERT INTO product_slots VALUES(91,134); -INSERT INTO product_slots VALUES(91,135); -INSERT INTO product_slots VALUES(91,136); -INSERT INTO product_slots VALUES(91,137); -INSERT INTO product_slots VALUES(91,138); -INSERT INTO product_slots VALUES(91,139); -INSERT INTO product_slots VALUES(91,140); -INSERT INTO product_slots VALUES(91,141); -INSERT INTO product_slots VALUES(91,142); -INSERT INTO product_slots VALUES(91,143); -INSERT INTO product_slots VALUES(91,144); -INSERT INTO product_slots VALUES(91,145); -INSERT INTO product_slots VALUES(91,146); -INSERT INTO product_slots VALUES(91,147); -INSERT INTO product_slots VALUES(91,148); -INSERT INTO product_slots VALUES(91,149); -INSERT INTO product_slots VALUES(91,150); -INSERT INTO product_slots VALUES(91,151); -INSERT INTO product_slots VALUES(91,152); -INSERT INTO product_slots VALUES(91,153); -INSERT INTO product_slots VALUES(91,154); -INSERT INTO product_slots VALUES(91,155); -INSERT INTO product_slots VALUES(91,156); -INSERT INTO product_slots VALUES(91,157); -INSERT INTO product_slots VALUES(91,158); -INSERT INTO product_slots VALUES(91,159); -INSERT INTO product_slots VALUES(91,160); -INSERT INTO product_slots VALUES(91,161); -INSERT INTO product_slots VALUES(91,162); -INSERT INTO product_slots VALUES(91,163); -INSERT INTO product_slots VALUES(91,164); -INSERT INTO product_slots VALUES(91,165); -INSERT INTO product_slots VALUES(91,166); -INSERT INTO product_slots VALUES(91,167); -INSERT INTO product_slots VALUES(91,168); -INSERT INTO product_slots VALUES(91,169); -INSERT INTO product_slots VALUES(91,170); -INSERT INTO product_slots VALUES(91,171); -INSERT INTO product_slots VALUES(91,172); -INSERT INTO product_slots VALUES(91,173); -INSERT INTO product_slots VALUES(91,174); -INSERT INTO product_slots VALUES(91,175); -INSERT INTO product_slots VALUES(91,176); -INSERT INTO product_slots VALUES(91,177); -INSERT INTO product_slots VALUES(91,178); -INSERT INTO product_slots VALUES(91,179); -INSERT INTO product_slots VALUES(91,180); -INSERT INTO product_slots VALUES(91,181); -INSERT INTO product_slots VALUES(91,182); -INSERT INTO product_slots VALUES(91,183); -INSERT INTO product_slots VALUES(91,184); -INSERT INTO product_slots VALUES(91,185); -INSERT INTO product_slots VALUES(91,186); -INSERT INTO product_slots VALUES(91,187); -INSERT INTO product_slots VALUES(91,188); -INSERT INTO product_slots VALUES(91,189); -INSERT INTO product_slots VALUES(91,190); -INSERT INTO product_slots VALUES(91,191); -INSERT INTO product_slots VALUES(91,192); -INSERT INTO product_slots VALUES(91,193); -INSERT INTO product_slots VALUES(91,194); -INSERT INTO product_slots VALUES(91,195); -INSERT INTO product_slots VALUES(91,196); -INSERT INTO product_slots VALUES(91,197); -INSERT INTO product_slots VALUES(91,198); -INSERT INTO product_slots VALUES(91,199); -INSERT INTO product_slots VALUES(91,200); -INSERT INTO product_slots VALUES(91,201); -INSERT INTO product_slots VALUES(91,202); -INSERT INTO product_slots VALUES(91,203); -INSERT INTO product_slots VALUES(91,204); -INSERT INTO product_slots VALUES(91,205); -INSERT INTO product_slots VALUES(91,206); -INSERT INTO product_slots VALUES(91,207); -INSERT INTO product_slots VALUES(91,208); -INSERT INTO product_slots VALUES(91,209); -INSERT INTO product_slots VALUES(91,210); -INSERT INTO product_slots VALUES(91,211); -INSERT INTO product_slots VALUES(91,212); -INSERT INTO product_slots VALUES(91,213); -INSERT INTO product_slots VALUES(91,214); -INSERT INTO product_slots VALUES(91,215); -INSERT INTO product_slots VALUES(91,216); -INSERT INTO product_slots VALUES(91,217); -INSERT INTO product_slots VALUES(91,218); -INSERT INTO product_slots VALUES(91,219); -INSERT INTO product_slots VALUES(91,220); -INSERT INTO product_slots VALUES(91,221); -INSERT INTO product_slots VALUES(91,222); -INSERT INTO product_slots VALUES(91,223); -INSERT INTO product_slots VALUES(91,224); -INSERT INTO product_slots VALUES(91,225); -INSERT INTO product_slots VALUES(91,226); -INSERT INTO product_slots VALUES(91,227); -INSERT INTO product_slots VALUES(91,228); -INSERT INTO product_slots VALUES(91,229); -INSERT INTO product_slots VALUES(91,230); -INSERT INTO product_slots VALUES(91,231); -INSERT INTO product_slots VALUES(91,232); -INSERT INTO product_slots VALUES(91,233); -INSERT INTO product_slots VALUES(91,234); -INSERT INTO product_slots VALUES(91,235); -INSERT INTO product_slots VALUES(91,236); -INSERT INTO product_slots VALUES(91,237); -INSERT INTO product_slots VALUES(91,238); -INSERT INTO product_slots VALUES(91,239); -INSERT INTO product_slots VALUES(91,240); -INSERT INTO product_slots VALUES(91,241); -INSERT INTO product_slots VALUES(91,242); -INSERT INTO product_slots VALUES(91,243); -INSERT INTO product_slots VALUES(91,244); -INSERT INTO product_slots VALUES(91,274); -INSERT INTO product_slots VALUES(91,275); -INSERT INTO product_slots VALUES(91,279); -INSERT INTO product_slots VALUES(91,280); -INSERT INTO product_slots VALUES(91,281); -INSERT INTO product_slots VALUES(91,282); -INSERT INTO product_slots VALUES(91,283); -INSERT INTO product_slots VALUES(91,284); -INSERT INTO product_slots VALUES(91,285); -INSERT INTO product_slots VALUES(91,286); -INSERT INTO product_slots VALUES(91,287); -INSERT INTO product_slots VALUES(92,39); -INSERT INTO product_slots VALUES(92,44); -INSERT INTO product_slots VALUES(92,46); -INSERT INTO product_slots VALUES(92,47); -INSERT INTO product_slots VALUES(92,48); -INSERT INTO product_slots VALUES(92,49); -INSERT INTO product_slots VALUES(92,50); -INSERT INTO product_slots VALUES(92,51); -INSERT INTO product_slots VALUES(92,52); -INSERT INTO product_slots VALUES(92,53); -INSERT INTO product_slots VALUES(92,54); -INSERT INTO product_slots VALUES(92,55); -INSERT INTO product_slots VALUES(92,56); -INSERT INTO product_slots VALUES(92,57); -INSERT INTO product_slots VALUES(92,58); -INSERT INTO product_slots VALUES(92,59); -INSERT INTO product_slots VALUES(92,60); -INSERT INTO product_slots VALUES(92,61); -INSERT INTO product_slots VALUES(92,62); -INSERT INTO product_slots VALUES(92,63); -INSERT INTO product_slots VALUES(92,64); -INSERT INTO product_slots VALUES(92,65); -INSERT INTO product_slots VALUES(92,66); -INSERT INTO product_slots VALUES(92,67); -INSERT INTO product_slots VALUES(92,68); -INSERT INTO product_slots VALUES(92,69); -INSERT INTO product_slots VALUES(92,70); -INSERT INTO product_slots VALUES(92,71); -INSERT INTO product_slots VALUES(92,72); -INSERT INTO product_slots VALUES(92,73); -INSERT INTO product_slots VALUES(92,74); -INSERT INTO product_slots VALUES(92,75); -INSERT INTO product_slots VALUES(92,76); -INSERT INTO product_slots VALUES(92,77); -INSERT INTO product_slots VALUES(92,78); -INSERT INTO product_slots VALUES(92,79); -INSERT INTO product_slots VALUES(92,80); -INSERT INTO product_slots VALUES(92,81); -INSERT INTO product_slots VALUES(92,82); -INSERT INTO product_slots VALUES(92,83); -INSERT INTO product_slots VALUES(92,84); -INSERT INTO product_slots VALUES(92,85); -INSERT INTO product_slots VALUES(92,86); -INSERT INTO product_slots VALUES(92,87); -INSERT INTO product_slots VALUES(92,88); -INSERT INTO product_slots VALUES(92,89); -INSERT INTO product_slots VALUES(92,90); -INSERT INTO product_slots VALUES(92,91); -INSERT INTO product_slots VALUES(92,92); -INSERT INTO product_slots VALUES(92,93); -INSERT INTO product_slots VALUES(92,94); -INSERT INTO product_slots VALUES(92,95); -INSERT INTO product_slots VALUES(92,96); -INSERT INTO product_slots VALUES(92,97); -INSERT INTO product_slots VALUES(92,98); -INSERT INTO product_slots VALUES(92,99); -INSERT INTO product_slots VALUES(92,100); -INSERT INTO product_slots VALUES(92,101); -INSERT INTO product_slots VALUES(92,102); -INSERT INTO product_slots VALUES(92,103); -INSERT INTO product_slots VALUES(92,104); -INSERT INTO product_slots VALUES(92,105); -INSERT INTO product_slots VALUES(92,106); -INSERT INTO product_slots VALUES(92,107); -INSERT INTO product_slots VALUES(92,108); -INSERT INTO product_slots VALUES(92,109); -INSERT INTO product_slots VALUES(92,110); -INSERT INTO product_slots VALUES(92,111); -INSERT INTO product_slots VALUES(92,112); -INSERT INTO product_slots VALUES(92,113); -INSERT INTO product_slots VALUES(92,114); -INSERT INTO product_slots VALUES(92,115); -INSERT INTO product_slots VALUES(92,116); -INSERT INTO product_slots VALUES(92,117); -INSERT INTO product_slots VALUES(92,118); -INSERT INTO product_slots VALUES(92,119); -INSERT INTO product_slots VALUES(92,120); -INSERT INTO product_slots VALUES(92,121); -INSERT INTO product_slots VALUES(92,122); -INSERT INTO product_slots VALUES(92,123); -INSERT INTO product_slots VALUES(92,124); -INSERT INTO product_slots VALUES(92,125); -INSERT INTO product_slots VALUES(92,126); -INSERT INTO product_slots VALUES(92,127); -INSERT INTO product_slots VALUES(92,128); -INSERT INTO product_slots VALUES(92,129); -INSERT INTO product_slots VALUES(92,130); -INSERT INTO product_slots VALUES(92,131); -INSERT INTO product_slots VALUES(92,132); -INSERT INTO product_slots VALUES(92,133); -INSERT INTO product_slots VALUES(92,134); -INSERT INTO product_slots VALUES(92,135); -INSERT INTO product_slots VALUES(92,136); -INSERT INTO product_slots VALUES(92,137); -INSERT INTO product_slots VALUES(92,138); -INSERT INTO product_slots VALUES(92,139); -INSERT INTO product_slots VALUES(92,140); -INSERT INTO product_slots VALUES(92,141); -INSERT INTO product_slots VALUES(92,142); -INSERT INTO product_slots VALUES(92,143); -INSERT INTO product_slots VALUES(92,144); -INSERT INTO product_slots VALUES(92,145); -INSERT INTO product_slots VALUES(92,146); -INSERT INTO product_slots VALUES(92,147); -INSERT INTO product_slots VALUES(92,148); -INSERT INTO product_slots VALUES(92,149); -INSERT INTO product_slots VALUES(92,150); -INSERT INTO product_slots VALUES(92,151); -INSERT INTO product_slots VALUES(92,152); -INSERT INTO product_slots VALUES(92,153); -INSERT INTO product_slots VALUES(92,154); -INSERT INTO product_slots VALUES(92,155); -INSERT INTO product_slots VALUES(92,156); -INSERT INTO product_slots VALUES(92,157); -INSERT INTO product_slots VALUES(92,158); -INSERT INTO product_slots VALUES(92,159); -INSERT INTO product_slots VALUES(92,160); -INSERT INTO product_slots VALUES(92,161); -INSERT INTO product_slots VALUES(92,162); -INSERT INTO product_slots VALUES(92,163); -INSERT INTO product_slots VALUES(92,164); -INSERT INTO product_slots VALUES(92,165); -INSERT INTO product_slots VALUES(92,166); -INSERT INTO product_slots VALUES(92,167); -INSERT INTO product_slots VALUES(92,168); -INSERT INTO product_slots VALUES(92,169); -INSERT INTO product_slots VALUES(92,170); -INSERT INTO product_slots VALUES(92,171); -INSERT INTO product_slots VALUES(92,172); -INSERT INTO product_slots VALUES(92,173); -INSERT INTO product_slots VALUES(92,174); -INSERT INTO product_slots VALUES(92,175); -INSERT INTO product_slots VALUES(92,176); -INSERT INTO product_slots VALUES(92,177); -INSERT INTO product_slots VALUES(92,178); -INSERT INTO product_slots VALUES(92,179); -INSERT INTO product_slots VALUES(92,180); -INSERT INTO product_slots VALUES(92,181); -INSERT INTO product_slots VALUES(92,182); -INSERT INTO product_slots VALUES(92,183); -INSERT INTO product_slots VALUES(92,184); -INSERT INTO product_slots VALUES(92,185); -INSERT INTO product_slots VALUES(92,186); -INSERT INTO product_slots VALUES(92,187); -INSERT INTO product_slots VALUES(92,188); -INSERT INTO product_slots VALUES(92,189); -INSERT INTO product_slots VALUES(92,190); -INSERT INTO product_slots VALUES(92,191); -INSERT INTO product_slots VALUES(92,192); -INSERT INTO product_slots VALUES(92,193); -INSERT INTO product_slots VALUES(92,194); -INSERT INTO product_slots VALUES(92,195); -INSERT INTO product_slots VALUES(92,196); -INSERT INTO product_slots VALUES(92,197); -INSERT INTO product_slots VALUES(92,198); -INSERT INTO product_slots VALUES(92,199); -INSERT INTO product_slots VALUES(92,200); -INSERT INTO product_slots VALUES(92,201); -INSERT INTO product_slots VALUES(92,202); -INSERT INTO product_slots VALUES(92,203); -INSERT INTO product_slots VALUES(92,204); -INSERT INTO product_slots VALUES(92,205); -INSERT INTO product_slots VALUES(92,206); -INSERT INTO product_slots VALUES(92,207); -INSERT INTO product_slots VALUES(92,208); -INSERT INTO product_slots VALUES(92,209); -INSERT INTO product_slots VALUES(92,210); -INSERT INTO product_slots VALUES(92,211); -INSERT INTO product_slots VALUES(92,212); -INSERT INTO product_slots VALUES(92,213); -INSERT INTO product_slots VALUES(92,214); -INSERT INTO product_slots VALUES(92,215); -INSERT INTO product_slots VALUES(92,216); -INSERT INTO product_slots VALUES(92,217); -INSERT INTO product_slots VALUES(92,218); -INSERT INTO product_slots VALUES(92,219); -INSERT INTO product_slots VALUES(92,220); -INSERT INTO product_slots VALUES(92,221); -INSERT INTO product_slots VALUES(92,222); -INSERT INTO product_slots VALUES(92,223); -INSERT INTO product_slots VALUES(92,224); -INSERT INTO product_slots VALUES(92,225); -INSERT INTO product_slots VALUES(92,226); -INSERT INTO product_slots VALUES(92,227); -INSERT INTO product_slots VALUES(92,228); -INSERT INTO product_slots VALUES(92,229); -INSERT INTO product_slots VALUES(92,230); -INSERT INTO product_slots VALUES(92,231); -INSERT INTO product_slots VALUES(92,232); -INSERT INTO product_slots VALUES(92,233); -INSERT INTO product_slots VALUES(92,234); -INSERT INTO product_slots VALUES(92,235); -INSERT INTO product_slots VALUES(92,236); -INSERT INTO product_slots VALUES(92,237); -INSERT INTO product_slots VALUES(92,238); -INSERT INTO product_slots VALUES(92,239); -INSERT INTO product_slots VALUES(92,240); -INSERT INTO product_slots VALUES(92,241); -INSERT INTO product_slots VALUES(92,242); -INSERT INTO product_slots VALUES(92,243); -INSERT INTO product_slots VALUES(92,244); -INSERT INTO product_slots VALUES(92,274); -INSERT INTO product_slots VALUES(92,275); -INSERT INTO product_slots VALUES(92,279); -INSERT INTO product_slots VALUES(92,280); -INSERT INTO product_slots VALUES(92,281); -INSERT INTO product_slots VALUES(92,282); -INSERT INTO product_slots VALUES(92,283); -INSERT INTO product_slots VALUES(92,284); -INSERT INTO product_slots VALUES(92,285); -INSERT INTO product_slots VALUES(92,286); -INSERT INTO product_slots VALUES(92,287); -INSERT INTO product_slots VALUES(93,59); -INSERT INTO product_slots VALUES(93,62); -INSERT INTO product_slots VALUES(93,63); -INSERT INTO product_slots VALUES(93,64); -INSERT INTO product_slots VALUES(93,65); -INSERT INTO product_slots VALUES(93,66); -INSERT INTO product_slots VALUES(93,67); -INSERT INTO product_slots VALUES(94,39); -INSERT INTO product_slots VALUES(94,62); -INSERT INTO product_slots VALUES(94,63); -INSERT INTO product_slots VALUES(94,64); -INSERT INTO product_slots VALUES(94,65); -INSERT INTO product_slots VALUES(94,66); -INSERT INTO product_slots VALUES(94,67); -INSERT INTO product_slots VALUES(94,68); -INSERT INTO product_slots VALUES(94,69); -INSERT INTO product_slots VALUES(94,70); -INSERT INTO product_slots VALUES(94,71); -INSERT INTO product_slots VALUES(94,72); -INSERT INTO product_slots VALUES(94,73); -INSERT INTO product_slots VALUES(94,74); -INSERT INTO product_slots VALUES(94,75); -INSERT INTO product_slots VALUES(94,76); -INSERT INTO product_slots VALUES(94,77); -INSERT INTO product_slots VALUES(94,78); -INSERT INTO product_slots VALUES(94,79); -INSERT INTO product_slots VALUES(94,80); -INSERT INTO product_slots VALUES(94,81); -INSERT INTO product_slots VALUES(94,82); -INSERT INTO product_slots VALUES(94,83); -INSERT INTO product_slots VALUES(94,84); -INSERT INTO product_slots VALUES(94,85); -INSERT INTO product_slots VALUES(94,86); -INSERT INTO product_slots VALUES(94,87); -INSERT INTO product_slots VALUES(94,88); -INSERT INTO product_slots VALUES(94,89); -INSERT INTO product_slots VALUES(94,90); -INSERT INTO product_slots VALUES(94,91); -INSERT INTO product_slots VALUES(94,92); -INSERT INTO product_slots VALUES(94,93); -INSERT INTO product_slots VALUES(94,94); -INSERT INTO product_slots VALUES(94,95); -INSERT INTO product_slots VALUES(94,96); -INSERT INTO product_slots VALUES(94,97); -INSERT INTO product_slots VALUES(94,98); -INSERT INTO product_slots VALUES(94,99); -INSERT INTO product_slots VALUES(94,100); -INSERT INTO product_slots VALUES(94,101); -INSERT INTO product_slots VALUES(94,102); -INSERT INTO product_slots VALUES(94,103); -INSERT INTO product_slots VALUES(94,104); -INSERT INTO product_slots VALUES(94,105); -INSERT INTO product_slots VALUES(94,106); -INSERT INTO product_slots VALUES(94,107); -INSERT INTO product_slots VALUES(94,108); -INSERT INTO product_slots VALUES(94,109); -INSERT INTO product_slots VALUES(94,110); -INSERT INTO product_slots VALUES(94,111); -INSERT INTO product_slots VALUES(94,112); -INSERT INTO product_slots VALUES(94,113); -INSERT INTO product_slots VALUES(94,114); -INSERT INTO product_slots VALUES(94,115); -INSERT INTO product_slots VALUES(94,116); -INSERT INTO product_slots VALUES(94,117); -INSERT INTO product_slots VALUES(94,118); -INSERT INTO product_slots VALUES(94,119); -INSERT INTO product_slots VALUES(94,120); -INSERT INTO product_slots VALUES(94,121); -INSERT INTO product_slots VALUES(94,122); -INSERT INTO product_slots VALUES(94,123); -INSERT INTO product_slots VALUES(94,124); -INSERT INTO product_slots VALUES(94,125); -INSERT INTO product_slots VALUES(94,126); -INSERT INTO product_slots VALUES(94,127); -INSERT INTO product_slots VALUES(94,128); -INSERT INTO product_slots VALUES(94,129); -INSERT INTO product_slots VALUES(94,130); -INSERT INTO product_slots VALUES(94,131); -INSERT INTO product_slots VALUES(94,132); -INSERT INTO product_slots VALUES(94,133); -INSERT INTO product_slots VALUES(94,134); -INSERT INTO product_slots VALUES(94,135); -INSERT INTO product_slots VALUES(94,136); -INSERT INTO product_slots VALUES(94,137); -INSERT INTO product_slots VALUES(94,138); -INSERT INTO product_slots VALUES(94,139); -INSERT INTO product_slots VALUES(94,140); -INSERT INTO product_slots VALUES(94,141); -INSERT INTO product_slots VALUES(94,142); -INSERT INTO product_slots VALUES(94,143); -INSERT INTO product_slots VALUES(94,144); -INSERT INTO product_slots VALUES(94,145); -INSERT INTO product_slots VALUES(94,146); -INSERT INTO product_slots VALUES(94,147); -INSERT INTO product_slots VALUES(94,148); -INSERT INTO product_slots VALUES(94,149); -INSERT INTO product_slots VALUES(94,150); -INSERT INTO product_slots VALUES(94,151); -INSERT INTO product_slots VALUES(94,152); -INSERT INTO product_slots VALUES(94,153); -INSERT INTO product_slots VALUES(94,154); -INSERT INTO product_slots VALUES(94,155); -INSERT INTO product_slots VALUES(94,156); -INSERT INTO product_slots VALUES(94,157); -INSERT INTO product_slots VALUES(94,158); -INSERT INTO product_slots VALUES(94,159); -INSERT INTO product_slots VALUES(94,160); -INSERT INTO product_slots VALUES(94,161); -INSERT INTO product_slots VALUES(94,162); -INSERT INTO product_slots VALUES(94,163); -INSERT INTO product_slots VALUES(94,164); -INSERT INTO product_slots VALUES(94,165); -INSERT INTO product_slots VALUES(94,166); -INSERT INTO product_slots VALUES(94,167); -INSERT INTO product_slots VALUES(94,168); -INSERT INTO product_slots VALUES(94,169); -INSERT INTO product_slots VALUES(94,170); -INSERT INTO product_slots VALUES(94,171); -INSERT INTO product_slots VALUES(94,172); -INSERT INTO product_slots VALUES(94,173); -INSERT INTO product_slots VALUES(94,174); -INSERT INTO product_slots VALUES(94,175); -INSERT INTO product_slots VALUES(94,176); -INSERT INTO product_slots VALUES(94,177); -INSERT INTO product_slots VALUES(94,178); -INSERT INTO product_slots VALUES(94,179); -INSERT INTO product_slots VALUES(94,180); -INSERT INTO product_slots VALUES(94,181); -INSERT INTO product_slots VALUES(94,182); -INSERT INTO product_slots VALUES(94,183); -INSERT INTO product_slots VALUES(94,184); -INSERT INTO product_slots VALUES(94,185); -INSERT INTO product_slots VALUES(94,186); -INSERT INTO product_slots VALUES(94,187); -INSERT INTO product_slots VALUES(94,188); -INSERT INTO product_slots VALUES(94,189); -INSERT INTO product_slots VALUES(94,190); -INSERT INTO product_slots VALUES(94,191); -INSERT INTO product_slots VALUES(94,192); -INSERT INTO product_slots VALUES(94,193); -INSERT INTO product_slots VALUES(94,194); -INSERT INTO product_slots VALUES(94,195); -INSERT INTO product_slots VALUES(94,196); -INSERT INTO product_slots VALUES(94,197); -INSERT INTO product_slots VALUES(94,198); -INSERT INTO product_slots VALUES(94,199); -INSERT INTO product_slots VALUES(94,200); -INSERT INTO product_slots VALUES(94,201); -INSERT INTO product_slots VALUES(94,202); -INSERT INTO product_slots VALUES(94,203); -INSERT INTO product_slots VALUES(94,204); -INSERT INTO product_slots VALUES(94,205); -INSERT INTO product_slots VALUES(94,206); -INSERT INTO product_slots VALUES(94,207); -INSERT INTO product_slots VALUES(94,208); -INSERT INTO product_slots VALUES(94,209); -INSERT INTO product_slots VALUES(94,210); -INSERT INTO product_slots VALUES(94,211); -INSERT INTO product_slots VALUES(94,212); -INSERT INTO product_slots VALUES(94,213); -INSERT INTO product_slots VALUES(94,214); -INSERT INTO product_slots VALUES(94,215); -INSERT INTO product_slots VALUES(94,216); -INSERT INTO product_slots VALUES(94,217); -INSERT INTO product_slots VALUES(94,218); -INSERT INTO product_slots VALUES(94,219); -INSERT INTO product_slots VALUES(94,220); -INSERT INTO product_slots VALUES(94,221); -INSERT INTO product_slots VALUES(94,222); -INSERT INTO product_slots VALUES(94,223); -INSERT INTO product_slots VALUES(94,224); -INSERT INTO product_slots VALUES(94,225); -INSERT INTO product_slots VALUES(94,226); -INSERT INTO product_slots VALUES(94,227); -INSERT INTO product_slots VALUES(94,228); -INSERT INTO product_slots VALUES(94,229); -INSERT INTO product_slots VALUES(94,230); -INSERT INTO product_slots VALUES(94,231); -INSERT INTO product_slots VALUES(94,232); -INSERT INTO product_slots VALUES(94,233); -INSERT INTO product_slots VALUES(94,234); -INSERT INTO product_slots VALUES(94,235); -INSERT INTO product_slots VALUES(94,236); -INSERT INTO product_slots VALUES(94,237); -INSERT INTO product_slots VALUES(94,238); -INSERT INTO product_slots VALUES(94,239); -INSERT INTO product_slots VALUES(94,240); -INSERT INTO product_slots VALUES(94,241); -INSERT INTO product_slots VALUES(94,242); -INSERT INTO product_slots VALUES(94,243); -INSERT INTO product_slots VALUES(94,244); -INSERT INTO product_slots VALUES(94,274); -INSERT INTO product_slots VALUES(94,275); -INSERT INTO product_slots VALUES(94,279); -INSERT INTO product_slots VALUES(94,280); -INSERT INTO product_slots VALUES(94,281); -INSERT INTO product_slots VALUES(94,282); -INSERT INTO product_slots VALUES(94,283); -INSERT INTO product_slots VALUES(94,284); -INSERT INTO product_slots VALUES(94,285); -INSERT INTO product_slots VALUES(94,286); -INSERT INTO product_slots VALUES(94,287); -INSERT INTO product_slots VALUES(95,39); -INSERT INTO product_slots VALUES(95,55); -INSERT INTO product_slots VALUES(95,59); -INSERT INTO product_slots VALUES(95,62); -INSERT INTO product_slots VALUES(95,63); -INSERT INTO product_slots VALUES(95,64); -INSERT INTO product_slots VALUES(95,65); -INSERT INTO product_slots VALUES(95,66); -INSERT INTO product_slots VALUES(95,67); -INSERT INTO product_slots VALUES(95,68); -INSERT INTO product_slots VALUES(95,69); -INSERT INTO product_slots VALUES(95,70); -INSERT INTO product_slots VALUES(95,71); -INSERT INTO product_slots VALUES(95,72); -INSERT INTO product_slots VALUES(95,73); -INSERT INTO product_slots VALUES(95,74); -INSERT INTO product_slots VALUES(95,75); -INSERT INTO product_slots VALUES(95,76); -INSERT INTO product_slots VALUES(95,77); -INSERT INTO product_slots VALUES(95,78); -INSERT INTO product_slots VALUES(95,79); -INSERT INTO product_slots VALUES(95,80); -INSERT INTO product_slots VALUES(95,81); -INSERT INTO product_slots VALUES(95,82); -INSERT INTO product_slots VALUES(95,83); -INSERT INTO product_slots VALUES(95,84); -INSERT INTO product_slots VALUES(95,85); -INSERT INTO product_slots VALUES(95,86); -INSERT INTO product_slots VALUES(95,87); -INSERT INTO product_slots VALUES(95,88); -INSERT INTO product_slots VALUES(95,89); -INSERT INTO product_slots VALUES(95,90); -INSERT INTO product_slots VALUES(95,91); -INSERT INTO product_slots VALUES(95,92); -INSERT INTO product_slots VALUES(95,93); -INSERT INTO product_slots VALUES(95,94); -INSERT INTO product_slots VALUES(95,95); -INSERT INTO product_slots VALUES(95,96); -INSERT INTO product_slots VALUES(95,97); -INSERT INTO product_slots VALUES(95,98); -INSERT INTO product_slots VALUES(95,99); -INSERT INTO product_slots VALUES(95,100); -INSERT INTO product_slots VALUES(95,101); -INSERT INTO product_slots VALUES(95,102); -INSERT INTO product_slots VALUES(95,103); -INSERT INTO product_slots VALUES(95,104); -INSERT INTO product_slots VALUES(95,105); -INSERT INTO product_slots VALUES(95,106); -INSERT INTO product_slots VALUES(95,107); -INSERT INTO product_slots VALUES(95,108); -INSERT INTO product_slots VALUES(95,109); -INSERT INTO product_slots VALUES(95,110); -INSERT INTO product_slots VALUES(95,111); -INSERT INTO product_slots VALUES(95,112); -INSERT INTO product_slots VALUES(95,113); -INSERT INTO product_slots VALUES(95,114); -INSERT INTO product_slots VALUES(95,115); -INSERT INTO product_slots VALUES(95,116); -INSERT INTO product_slots VALUES(95,117); -INSERT INTO product_slots VALUES(95,118); -INSERT INTO product_slots VALUES(95,119); -INSERT INTO product_slots VALUES(95,120); -INSERT INTO product_slots VALUES(95,121); -INSERT INTO product_slots VALUES(95,122); -INSERT INTO product_slots VALUES(95,123); -INSERT INTO product_slots VALUES(95,124); -INSERT INTO product_slots VALUES(95,125); -INSERT INTO product_slots VALUES(95,126); -INSERT INTO product_slots VALUES(95,127); -INSERT INTO product_slots VALUES(95,128); -INSERT INTO product_slots VALUES(95,129); -INSERT INTO product_slots VALUES(95,130); -INSERT INTO product_slots VALUES(95,131); -INSERT INTO product_slots VALUES(95,132); -INSERT INTO product_slots VALUES(95,133); -INSERT INTO product_slots VALUES(95,134); -INSERT INTO product_slots VALUES(95,135); -INSERT INTO product_slots VALUES(95,136); -INSERT INTO product_slots VALUES(95,137); -INSERT INTO product_slots VALUES(95,138); -INSERT INTO product_slots VALUES(95,139); -INSERT INTO product_slots VALUES(95,140); -INSERT INTO product_slots VALUES(95,141); -INSERT INTO product_slots VALUES(95,142); -INSERT INTO product_slots VALUES(95,143); -INSERT INTO product_slots VALUES(95,144); -INSERT INTO product_slots VALUES(95,145); -INSERT INTO product_slots VALUES(95,146); -INSERT INTO product_slots VALUES(95,147); -INSERT INTO product_slots VALUES(95,148); -INSERT INTO product_slots VALUES(95,149); -INSERT INTO product_slots VALUES(95,150); -INSERT INTO product_slots VALUES(95,151); -INSERT INTO product_slots VALUES(95,152); -INSERT INTO product_slots VALUES(95,153); -INSERT INTO product_slots VALUES(95,154); -INSERT INTO product_slots VALUES(95,155); -INSERT INTO product_slots VALUES(95,156); -INSERT INTO product_slots VALUES(95,157); -INSERT INTO product_slots VALUES(95,158); -INSERT INTO product_slots VALUES(95,159); -INSERT INTO product_slots VALUES(95,160); -INSERT INTO product_slots VALUES(95,161); -INSERT INTO product_slots VALUES(95,162); -INSERT INTO product_slots VALUES(95,163); -INSERT INTO product_slots VALUES(95,164); -INSERT INTO product_slots VALUES(95,165); -INSERT INTO product_slots VALUES(95,166); -INSERT INTO product_slots VALUES(95,167); -INSERT INTO product_slots VALUES(95,168); -INSERT INTO product_slots VALUES(95,169); -INSERT INTO product_slots VALUES(95,170); -INSERT INTO product_slots VALUES(95,171); -INSERT INTO product_slots VALUES(95,172); -INSERT INTO product_slots VALUES(95,173); -INSERT INTO product_slots VALUES(95,174); -INSERT INTO product_slots VALUES(95,175); -INSERT INTO product_slots VALUES(95,176); -INSERT INTO product_slots VALUES(95,177); -INSERT INTO product_slots VALUES(95,178); -INSERT INTO product_slots VALUES(95,179); -INSERT INTO product_slots VALUES(95,180); -INSERT INTO product_slots VALUES(95,181); -INSERT INTO product_slots VALUES(95,182); -INSERT INTO product_slots VALUES(95,183); -INSERT INTO product_slots VALUES(95,184); -INSERT INTO product_slots VALUES(95,185); -INSERT INTO product_slots VALUES(95,186); -INSERT INTO product_slots VALUES(95,187); -INSERT INTO product_slots VALUES(95,188); -INSERT INTO product_slots VALUES(95,189); -INSERT INTO product_slots VALUES(95,190); -INSERT INTO product_slots VALUES(95,191); -INSERT INTO product_slots VALUES(95,192); -INSERT INTO product_slots VALUES(95,193); -INSERT INTO product_slots VALUES(95,194); -INSERT INTO product_slots VALUES(95,195); -INSERT INTO product_slots VALUES(95,196); -INSERT INTO product_slots VALUES(95,197); -INSERT INTO product_slots VALUES(95,198); -INSERT INTO product_slots VALUES(95,199); -INSERT INTO product_slots VALUES(95,200); -INSERT INTO product_slots VALUES(95,201); -INSERT INTO product_slots VALUES(95,202); -INSERT INTO product_slots VALUES(95,203); -INSERT INTO product_slots VALUES(95,204); -INSERT INTO product_slots VALUES(95,205); -INSERT INTO product_slots VALUES(95,206); -INSERT INTO product_slots VALUES(95,207); -INSERT INTO product_slots VALUES(95,208); -INSERT INTO product_slots VALUES(95,209); -INSERT INTO product_slots VALUES(95,210); -INSERT INTO product_slots VALUES(95,211); -INSERT INTO product_slots VALUES(95,212); -INSERT INTO product_slots VALUES(95,213); -INSERT INTO product_slots VALUES(95,214); -INSERT INTO product_slots VALUES(95,215); -INSERT INTO product_slots VALUES(95,216); -INSERT INTO product_slots VALUES(95,217); -INSERT INTO product_slots VALUES(95,218); -INSERT INTO product_slots VALUES(95,219); -INSERT INTO product_slots VALUES(95,220); -INSERT INTO product_slots VALUES(95,221); -INSERT INTO product_slots VALUES(95,222); -INSERT INTO product_slots VALUES(95,223); -INSERT INTO product_slots VALUES(95,224); -INSERT INTO product_slots VALUES(95,225); -INSERT INTO product_slots VALUES(95,226); -INSERT INTO product_slots VALUES(95,227); -INSERT INTO product_slots VALUES(95,228); -INSERT INTO product_slots VALUES(95,229); -INSERT INTO product_slots VALUES(95,230); -INSERT INTO product_slots VALUES(95,231); -INSERT INTO product_slots VALUES(95,232); -INSERT INTO product_slots VALUES(95,233); -INSERT INTO product_slots VALUES(95,234); -INSERT INTO product_slots VALUES(95,235); -INSERT INTO product_slots VALUES(95,236); -INSERT INTO product_slots VALUES(95,237); -INSERT INTO product_slots VALUES(95,238); -INSERT INTO product_slots VALUES(95,239); -INSERT INTO product_slots VALUES(95,240); -INSERT INTO product_slots VALUES(95,241); -INSERT INTO product_slots VALUES(95,242); -INSERT INTO product_slots VALUES(95,243); -INSERT INTO product_slots VALUES(95,244); -INSERT INTO product_slots VALUES(95,274); -INSERT INTO product_slots VALUES(95,275); -INSERT INTO product_slots VALUES(95,279); -INSERT INTO product_slots VALUES(95,280); -INSERT INTO product_slots VALUES(95,281); -INSERT INTO product_slots VALUES(95,282); -INSERT INTO product_slots VALUES(95,283); -INSERT INTO product_slots VALUES(95,284); -INSERT INTO product_slots VALUES(95,285); -INSERT INTO product_slots VALUES(95,286); -INSERT INTO product_slots VALUES(95,287); -INSERT INTO product_slots VALUES(96,59); -INSERT INTO product_slots VALUES(96,62); -INSERT INTO product_slots VALUES(96,63); -INSERT INTO product_slots VALUES(96,64); -INSERT INTO product_slots VALUES(96,65); -INSERT INTO product_slots VALUES(96,66); -INSERT INTO product_slots VALUES(96,67); -INSERT INTO product_slots VALUES(96,68); -INSERT INTO product_slots VALUES(96,69); -INSERT INTO product_slots VALUES(96,70); -INSERT INTO product_slots VALUES(96,71); -INSERT INTO product_slots VALUES(96,72); -INSERT INTO product_slots VALUES(96,73); -INSERT INTO product_slots VALUES(96,74); -INSERT INTO product_slots VALUES(96,75); -INSERT INTO product_slots VALUES(96,76); -INSERT INTO product_slots VALUES(96,77); -INSERT INTO product_slots VALUES(96,78); -INSERT INTO product_slots VALUES(96,79); -INSERT INTO product_slots VALUES(96,80); -INSERT INTO product_slots VALUES(96,81); -INSERT INTO product_slots VALUES(96,82); -INSERT INTO product_slots VALUES(96,83); -INSERT INTO product_slots VALUES(96,84); -INSERT INTO product_slots VALUES(96,85); -INSERT INTO product_slots VALUES(96,86); -INSERT INTO product_slots VALUES(96,87); -INSERT INTO product_slots VALUES(96,88); -INSERT INTO product_slots VALUES(96,89); -INSERT INTO product_slots VALUES(96,90); -INSERT INTO product_slots VALUES(96,91); -INSERT INTO product_slots VALUES(96,92); -INSERT INTO product_slots VALUES(96,93); -INSERT INTO product_slots VALUES(96,94); -INSERT INTO product_slots VALUES(96,95); -INSERT INTO product_slots VALUES(96,96); -INSERT INTO product_slots VALUES(96,97); -INSERT INTO product_slots VALUES(96,98); -INSERT INTO product_slots VALUES(96,99); -INSERT INTO product_slots VALUES(96,100); -INSERT INTO product_slots VALUES(96,102); -INSERT INTO product_slots VALUES(96,103); -INSERT INTO product_slots VALUES(96,104); -INSERT INTO product_slots VALUES(96,105); -INSERT INTO product_slots VALUES(96,106); -INSERT INTO product_slots VALUES(96,107); -INSERT INTO product_slots VALUES(96,108); -INSERT INTO product_slots VALUES(96,109); -INSERT INTO product_slots VALUES(96,110); -INSERT INTO product_slots VALUES(96,111); -INSERT INTO product_slots VALUES(96,112); -INSERT INTO product_slots VALUES(96,113); -INSERT INTO product_slots VALUES(96,114); -INSERT INTO product_slots VALUES(96,115); -INSERT INTO product_slots VALUES(96,117); -INSERT INTO product_slots VALUES(96,118); -INSERT INTO product_slots VALUES(96,119); -INSERT INTO product_slots VALUES(96,120); -INSERT INTO product_slots VALUES(96,121); -INSERT INTO product_slots VALUES(96,122); -INSERT INTO product_slots VALUES(96,124); -INSERT INTO product_slots VALUES(96,125); -INSERT INTO product_slots VALUES(96,126); -INSERT INTO product_slots VALUES(96,127); -INSERT INTO product_slots VALUES(96,128); -INSERT INTO product_slots VALUES(96,129); -INSERT INTO product_slots VALUES(96,130); -INSERT INTO product_slots VALUES(96,131); -INSERT INTO product_slots VALUES(96,132); -INSERT INTO product_slots VALUES(96,133); -INSERT INTO product_slots VALUES(96,134); -INSERT INTO product_slots VALUES(96,135); -INSERT INTO product_slots VALUES(96,136); -INSERT INTO product_slots VALUES(96,138); -INSERT INTO product_slots VALUES(96,139); -INSERT INTO product_slots VALUES(96,140); -INSERT INTO product_slots VALUES(96,141); -INSERT INTO product_slots VALUES(96,142); -INSERT INTO product_slots VALUES(96,143); -INSERT INTO product_slots VALUES(96,145); -INSERT INTO product_slots VALUES(96,146); -INSERT INTO product_slots VALUES(96,147); -INSERT INTO product_slots VALUES(96,148); -INSERT INTO product_slots VALUES(96,149); -INSERT INTO product_slots VALUES(96,150); -INSERT INTO product_slots VALUES(96,151); -INSERT INTO product_slots VALUES(96,152); -INSERT INTO product_slots VALUES(96,153); -INSERT INTO product_slots VALUES(96,154); -INSERT INTO product_slots VALUES(96,155); -INSERT INTO product_slots VALUES(96,156); -INSERT INTO product_slots VALUES(96,157); -INSERT INTO product_slots VALUES(96,158); -INSERT INTO product_slots VALUES(96,159); -INSERT INTO product_slots VALUES(96,160); -INSERT INTO product_slots VALUES(96,161); -INSERT INTO product_slots VALUES(96,162); -INSERT INTO product_slots VALUES(96,163); -INSERT INTO product_slots VALUES(96,164); -INSERT INTO product_slots VALUES(96,165); -INSERT INTO product_slots VALUES(96,166); -INSERT INTO product_slots VALUES(96,167); -INSERT INTO product_slots VALUES(96,168); -INSERT INTO product_slots VALUES(96,169); -INSERT INTO product_slots VALUES(96,170); -INSERT INTO product_slots VALUES(96,171); -INSERT INTO product_slots VALUES(96,172); -INSERT INTO product_slots VALUES(96,173); -INSERT INTO product_slots VALUES(96,174); -INSERT INTO product_slots VALUES(96,175); -INSERT INTO product_slots VALUES(96,176); -INSERT INTO product_slots VALUES(96,177); -INSERT INTO product_slots VALUES(96,178); -INSERT INTO product_slots VALUES(96,179); -INSERT INTO product_slots VALUES(96,180); -INSERT INTO product_slots VALUES(96,181); -INSERT INTO product_slots VALUES(96,182); -INSERT INTO product_slots VALUES(96,183); -INSERT INTO product_slots VALUES(96,184); -INSERT INTO product_slots VALUES(96,185); -INSERT INTO product_slots VALUES(96,186); -INSERT INTO product_slots VALUES(96,187); -INSERT INTO product_slots VALUES(96,188); -INSERT INTO product_slots VALUES(96,189); -INSERT INTO product_slots VALUES(96,190); -INSERT INTO product_slots VALUES(96,191); -INSERT INTO product_slots VALUES(96,192); -INSERT INTO product_slots VALUES(96,193); -INSERT INTO product_slots VALUES(96,194); -INSERT INTO product_slots VALUES(96,195); -INSERT INTO product_slots VALUES(96,196); -INSERT INTO product_slots VALUES(96,197); -INSERT INTO product_slots VALUES(96,198); -INSERT INTO product_slots VALUES(96,199); -INSERT INTO product_slots VALUES(96,200); -INSERT INTO product_slots VALUES(96,201); -INSERT INTO product_slots VALUES(96,202); -INSERT INTO product_slots VALUES(96,203); -INSERT INTO product_slots VALUES(96,204); -INSERT INTO product_slots VALUES(96,205); -INSERT INTO product_slots VALUES(96,206); -INSERT INTO product_slots VALUES(96,207); -INSERT INTO product_slots VALUES(96,208); -INSERT INTO product_slots VALUES(96,209); -INSERT INTO product_slots VALUES(96,210); -INSERT INTO product_slots VALUES(96,211); -INSERT INTO product_slots VALUES(96,212); -INSERT INTO product_slots VALUES(96,213); -INSERT INTO product_slots VALUES(96,214); -INSERT INTO product_slots VALUES(96,215); -INSERT INTO product_slots VALUES(96,216); -INSERT INTO product_slots VALUES(96,217); -INSERT INTO product_slots VALUES(96,218); -INSERT INTO product_slots VALUES(96,219); -INSERT INTO product_slots VALUES(96,220); -INSERT INTO product_slots VALUES(96,221); -INSERT INTO product_slots VALUES(96,222); -INSERT INTO product_slots VALUES(96,223); -INSERT INTO product_slots VALUES(96,224); -INSERT INTO product_slots VALUES(96,225); -INSERT INTO product_slots VALUES(96,226); -INSERT INTO product_slots VALUES(96,227); -INSERT INTO product_slots VALUES(96,228); -INSERT INTO product_slots VALUES(96,229); -INSERT INTO product_slots VALUES(96,230); -INSERT INTO product_slots VALUES(96,231); -INSERT INTO product_slots VALUES(96,232); -INSERT INTO product_slots VALUES(96,233); -INSERT INTO product_slots VALUES(96,234); -INSERT INTO product_slots VALUES(96,235); -INSERT INTO product_slots VALUES(96,236); -INSERT INTO product_slots VALUES(96,237); -INSERT INTO product_slots VALUES(96,238); -INSERT INTO product_slots VALUES(96,239); -INSERT INTO product_slots VALUES(96,240); -INSERT INTO product_slots VALUES(96,241); -INSERT INTO product_slots VALUES(96,242); -INSERT INTO product_slots VALUES(96,243); -INSERT INTO product_slots VALUES(96,244); -INSERT INTO product_slots VALUES(96,274); -INSERT INTO product_slots VALUES(96,275); -INSERT INTO product_slots VALUES(96,279); -INSERT INTO product_slots VALUES(96,280); -INSERT INTO product_slots VALUES(96,281); -INSERT INTO product_slots VALUES(96,282); -INSERT INTO product_slots VALUES(96,283); -INSERT INTO product_slots VALUES(96,284); -INSERT INTO product_slots VALUES(96,285); -INSERT INTO product_slots VALUES(96,286); -INSERT INTO product_slots VALUES(96,287); -INSERT INTO product_slots VALUES(97,39); -INSERT INTO product_slots VALUES(97,55); -INSERT INTO product_slots VALUES(97,59); -INSERT INTO product_slots VALUES(97,62); -INSERT INTO product_slots VALUES(97,63); -INSERT INTO product_slots VALUES(97,64); -INSERT INTO product_slots VALUES(97,65); -INSERT INTO product_slots VALUES(97,66); -INSERT INTO product_slots VALUES(97,67); -INSERT INTO product_slots VALUES(97,68); -INSERT INTO product_slots VALUES(97,69); -INSERT INTO product_slots VALUES(97,70); -INSERT INTO product_slots VALUES(97,71); -INSERT INTO product_slots VALUES(97,72); -INSERT INTO product_slots VALUES(97,73); -INSERT INTO product_slots VALUES(97,74); -INSERT INTO product_slots VALUES(97,75); -INSERT INTO product_slots VALUES(97,76); -INSERT INTO product_slots VALUES(97,77); -INSERT INTO product_slots VALUES(97,78); -INSERT INTO product_slots VALUES(97,79); -INSERT INTO product_slots VALUES(97,80); -INSERT INTO product_slots VALUES(97,81); -INSERT INTO product_slots VALUES(97,82); -INSERT INTO product_slots VALUES(97,83); -INSERT INTO product_slots VALUES(97,84); -INSERT INTO product_slots VALUES(97,85); -INSERT INTO product_slots VALUES(97,86); -INSERT INTO product_slots VALUES(97,87); -INSERT INTO product_slots VALUES(97,88); -INSERT INTO product_slots VALUES(97,89); -INSERT INTO product_slots VALUES(97,90); -INSERT INTO product_slots VALUES(97,91); -INSERT INTO product_slots VALUES(97,92); -INSERT INTO product_slots VALUES(97,93); -INSERT INTO product_slots VALUES(97,94); -INSERT INTO product_slots VALUES(97,95); -INSERT INTO product_slots VALUES(97,96); -INSERT INTO product_slots VALUES(97,97); -INSERT INTO product_slots VALUES(97,98); -INSERT INTO product_slots VALUES(97,99); -INSERT INTO product_slots VALUES(97,100); -INSERT INTO product_slots VALUES(97,101); -INSERT INTO product_slots VALUES(97,102); -INSERT INTO product_slots VALUES(97,103); -INSERT INTO product_slots VALUES(97,104); -INSERT INTO product_slots VALUES(97,105); -INSERT INTO product_slots VALUES(97,106); -INSERT INTO product_slots VALUES(97,107); -INSERT INTO product_slots VALUES(97,108); -INSERT INTO product_slots VALUES(97,109); -INSERT INTO product_slots VALUES(97,110); -INSERT INTO product_slots VALUES(97,111); -INSERT INTO product_slots VALUES(97,112); -INSERT INTO product_slots VALUES(97,113); -INSERT INTO product_slots VALUES(97,114); -INSERT INTO product_slots VALUES(97,115); -INSERT INTO product_slots VALUES(97,116); -INSERT INTO product_slots VALUES(97,117); -INSERT INTO product_slots VALUES(97,118); -INSERT INTO product_slots VALUES(97,119); -INSERT INTO product_slots VALUES(97,120); -INSERT INTO product_slots VALUES(97,121); -INSERT INTO product_slots VALUES(97,122); -INSERT INTO product_slots VALUES(97,123); -INSERT INTO product_slots VALUES(97,124); -INSERT INTO product_slots VALUES(97,125); -INSERT INTO product_slots VALUES(97,126); -INSERT INTO product_slots VALUES(97,127); -INSERT INTO product_slots VALUES(97,128); -INSERT INTO product_slots VALUES(97,129); -INSERT INTO product_slots VALUES(97,130); -INSERT INTO product_slots VALUES(97,131); -INSERT INTO product_slots VALUES(97,132); -INSERT INTO product_slots VALUES(97,133); -INSERT INTO product_slots VALUES(97,134); -INSERT INTO product_slots VALUES(97,135); -INSERT INTO product_slots VALUES(97,136); -INSERT INTO product_slots VALUES(97,137); -INSERT INTO product_slots VALUES(97,138); -INSERT INTO product_slots VALUES(97,139); -INSERT INTO product_slots VALUES(97,140); -INSERT INTO product_slots VALUES(97,141); -INSERT INTO product_slots VALUES(97,142); -INSERT INTO product_slots VALUES(97,143); -INSERT INTO product_slots VALUES(97,144); -INSERT INTO product_slots VALUES(97,145); -INSERT INTO product_slots VALUES(97,146); -INSERT INTO product_slots VALUES(97,147); -INSERT INTO product_slots VALUES(97,148); -INSERT INTO product_slots VALUES(97,149); -INSERT INTO product_slots VALUES(97,150); -INSERT INTO product_slots VALUES(97,151); -INSERT INTO product_slots VALUES(97,152); -INSERT INTO product_slots VALUES(97,153); -INSERT INTO product_slots VALUES(97,154); -INSERT INTO product_slots VALUES(97,155); -INSERT INTO product_slots VALUES(97,156); -INSERT INTO product_slots VALUES(97,157); -INSERT INTO product_slots VALUES(97,158); -INSERT INTO product_slots VALUES(97,159); -INSERT INTO product_slots VALUES(97,160); -INSERT INTO product_slots VALUES(97,161); -INSERT INTO product_slots VALUES(97,162); -INSERT INTO product_slots VALUES(97,163); -INSERT INTO product_slots VALUES(97,164); -INSERT INTO product_slots VALUES(97,165); -INSERT INTO product_slots VALUES(97,166); -INSERT INTO product_slots VALUES(97,167); -INSERT INTO product_slots VALUES(97,168); -INSERT INTO product_slots VALUES(97,169); -INSERT INTO product_slots VALUES(97,170); -INSERT INTO product_slots VALUES(97,171); -INSERT INTO product_slots VALUES(97,172); -INSERT INTO product_slots VALUES(97,173); -INSERT INTO product_slots VALUES(97,174); -INSERT INTO product_slots VALUES(97,175); -INSERT INTO product_slots VALUES(97,176); -INSERT INTO product_slots VALUES(97,177); -INSERT INTO product_slots VALUES(97,178); -INSERT INTO product_slots VALUES(97,179); -INSERT INTO product_slots VALUES(97,180); -INSERT INTO product_slots VALUES(97,181); -INSERT INTO product_slots VALUES(97,182); -INSERT INTO product_slots VALUES(97,183); -INSERT INTO product_slots VALUES(97,184); -INSERT INTO product_slots VALUES(97,185); -INSERT INTO product_slots VALUES(97,186); -INSERT INTO product_slots VALUES(97,187); -INSERT INTO product_slots VALUES(97,188); -INSERT INTO product_slots VALUES(97,189); -INSERT INTO product_slots VALUES(97,190); -INSERT INTO product_slots VALUES(97,191); -INSERT INTO product_slots VALUES(97,192); -INSERT INTO product_slots VALUES(97,193); -INSERT INTO product_slots VALUES(97,194); -INSERT INTO product_slots VALUES(97,195); -INSERT INTO product_slots VALUES(97,196); -INSERT INTO product_slots VALUES(97,197); -INSERT INTO product_slots VALUES(97,198); -INSERT INTO product_slots VALUES(97,199); -INSERT INTO product_slots VALUES(97,200); -INSERT INTO product_slots VALUES(97,201); -INSERT INTO product_slots VALUES(97,202); -INSERT INTO product_slots VALUES(97,203); -INSERT INTO product_slots VALUES(97,204); -INSERT INTO product_slots VALUES(97,205); -INSERT INTO product_slots VALUES(97,206); -INSERT INTO product_slots VALUES(97,207); -INSERT INTO product_slots VALUES(97,208); -INSERT INTO product_slots VALUES(97,209); -INSERT INTO product_slots VALUES(97,210); -INSERT INTO product_slots VALUES(97,211); -INSERT INTO product_slots VALUES(97,212); -INSERT INTO product_slots VALUES(97,213); -INSERT INTO product_slots VALUES(97,214); -INSERT INTO product_slots VALUES(97,215); -INSERT INTO product_slots VALUES(97,216); -INSERT INTO product_slots VALUES(97,217); -INSERT INTO product_slots VALUES(97,218); -INSERT INTO product_slots VALUES(97,219); -INSERT INTO product_slots VALUES(97,220); -INSERT INTO product_slots VALUES(97,221); -INSERT INTO product_slots VALUES(97,222); -INSERT INTO product_slots VALUES(97,223); -INSERT INTO product_slots VALUES(97,224); -INSERT INTO product_slots VALUES(97,225); -INSERT INTO product_slots VALUES(97,226); -INSERT INTO product_slots VALUES(97,227); -INSERT INTO product_slots VALUES(97,228); -INSERT INTO product_slots VALUES(97,229); -INSERT INTO product_slots VALUES(97,230); -INSERT INTO product_slots VALUES(97,231); -INSERT INTO product_slots VALUES(97,232); -INSERT INTO product_slots VALUES(97,233); -INSERT INTO product_slots VALUES(97,234); -INSERT INTO product_slots VALUES(97,235); -INSERT INTO product_slots VALUES(97,236); -INSERT INTO product_slots VALUES(97,237); -INSERT INTO product_slots VALUES(97,238); -INSERT INTO product_slots VALUES(97,239); -INSERT INTO product_slots VALUES(97,240); -INSERT INTO product_slots VALUES(97,241); -INSERT INTO product_slots VALUES(97,242); -INSERT INTO product_slots VALUES(97,243); -INSERT INTO product_slots VALUES(97,244); -INSERT INTO product_slots VALUES(97,274); -INSERT INTO product_slots VALUES(97,275); -INSERT INTO product_slots VALUES(97,279); -INSERT INTO product_slots VALUES(97,280); -INSERT INTO product_slots VALUES(97,281); -INSERT INTO product_slots VALUES(97,282); -INSERT INTO product_slots VALUES(97,283); -INSERT INTO product_slots VALUES(97,284); -INSERT INTO product_slots VALUES(97,285); -INSERT INTO product_slots VALUES(97,286); -INSERT INTO product_slots VALUES(97,287); -INSERT INTO product_slots VALUES(98,81); -INSERT INTO product_slots VALUES(98,82); -INSERT INTO product_slots VALUES(98,83); -INSERT INTO product_slots VALUES(98,87); -INSERT INTO product_slots VALUES(98,89); -INSERT INTO product_slots VALUES(98,90); -INSERT INTO product_slots VALUES(98,91); -INSERT INTO product_slots VALUES(98,92); -INSERT INTO product_slots VALUES(98,93); -INSERT INTO product_slots VALUES(98,94); -INSERT INTO product_slots VALUES(98,96); -INSERT INTO product_slots VALUES(98,97); -INSERT INTO product_slots VALUES(98,98); -INSERT INTO product_slots VALUES(98,99); -INSERT INTO product_slots VALUES(98,100); -INSERT INTO product_slots VALUES(98,102); -INSERT INTO product_slots VALUES(98,103); -INSERT INTO product_slots VALUES(98,104); -INSERT INTO product_slots VALUES(98,105); -INSERT INTO product_slots VALUES(98,106); -INSERT INTO product_slots VALUES(98,107); -INSERT INTO product_slots VALUES(98,108); -INSERT INTO product_slots VALUES(98,109); -INSERT INTO product_slots VALUES(98,110); -INSERT INTO product_slots VALUES(98,111); -INSERT INTO product_slots VALUES(98,112); -INSERT INTO product_slots VALUES(98,113); -INSERT INTO product_slots VALUES(98,114); -INSERT INTO product_slots VALUES(98,115); -INSERT INTO product_slots VALUES(98,117); -INSERT INTO product_slots VALUES(98,118); -INSERT INTO product_slots VALUES(98,119); -INSERT INTO product_slots VALUES(98,120); -INSERT INTO product_slots VALUES(98,123); -INSERT INTO product_slots VALUES(98,124); -INSERT INTO product_slots VALUES(98,125); -INSERT INTO product_slots VALUES(98,126); -INSERT INTO product_slots VALUES(98,130); -INSERT INTO product_slots VALUES(98,131); -INSERT INTO product_slots VALUES(98,132); -INSERT INTO product_slots VALUES(98,133); -INSERT INTO product_slots VALUES(98,137); -INSERT INTO product_slots VALUES(98,138); -INSERT INTO product_slots VALUES(98,139); -INSERT INTO product_slots VALUES(98,140); -INSERT INTO product_slots VALUES(98,144); -INSERT INTO product_slots VALUES(98,145); -INSERT INTO product_slots VALUES(98,146); -INSERT INTO product_slots VALUES(98,147); -INSERT INTO product_slots VALUES(98,148); -INSERT INTO product_slots VALUES(98,149); -INSERT INTO product_slots VALUES(98,150); -INSERT INTO product_slots VALUES(98,151); -INSERT INTO product_slots VALUES(98,155); -INSERT INTO product_slots VALUES(98,156); -INSERT INTO product_slots VALUES(98,157); -INSERT INTO product_slots VALUES(98,158); -INSERT INTO product_slots VALUES(98,162); -INSERT INTO product_slots VALUES(98,163); -INSERT INTO product_slots VALUES(98,164); -INSERT INTO product_slots VALUES(98,165); -INSERT INTO product_slots VALUES(98,166); -INSERT INTO product_slots VALUES(98,169); -INSERT INTO product_slots VALUES(98,170); -INSERT INTO product_slots VALUES(98,171); -INSERT INTO product_slots VALUES(98,172); -INSERT INTO product_slots VALUES(98,173); -INSERT INTO product_slots VALUES(98,176); -INSERT INTO product_slots VALUES(98,177); -INSERT INTO product_slots VALUES(98,178); -INSERT INTO product_slots VALUES(98,179); -INSERT INTO product_slots VALUES(98,180); -INSERT INTO product_slots VALUES(98,181); -INSERT INTO product_slots VALUES(98,182); -INSERT INTO product_slots VALUES(98,183); -INSERT INTO product_slots VALUES(98,184); -INSERT INTO product_slots VALUES(98,185); -INSERT INTO product_slots VALUES(98,186); -INSERT INTO product_slots VALUES(98,187); -INSERT INTO product_slots VALUES(98,188); -INSERT INTO product_slots VALUES(98,189); -INSERT INTO product_slots VALUES(98,190); -INSERT INTO product_slots VALUES(98,191); -INSERT INTO product_slots VALUES(98,192); -INSERT INTO product_slots VALUES(98,193); -INSERT INTO product_slots VALUES(98,194); -INSERT INTO product_slots VALUES(98,198); -INSERT INTO product_slots VALUES(98,199); -INSERT INTO product_slots VALUES(98,200); -INSERT INTO product_slots VALUES(98,201); -INSERT INTO product_slots VALUES(98,202); -INSERT INTO product_slots VALUES(98,203); -INSERT INTO product_slots VALUES(98,205); -INSERT INTO product_slots VALUES(98,208); -INSERT INTO product_slots VALUES(98,209); -INSERT INTO product_slots VALUES(98,210); -INSERT INTO product_slots VALUES(98,211); -INSERT INTO product_slots VALUES(98,216); -INSERT INTO product_slots VALUES(98,217); -INSERT INTO product_slots VALUES(98,218); -INSERT INTO product_slots VALUES(98,219); -INSERT INTO product_slots VALUES(98,220); -INSERT INTO product_slots VALUES(98,223); -INSERT INTO product_slots VALUES(98,224); -INSERT INTO product_slots VALUES(98,225); -INSERT INTO product_slots VALUES(98,226); -INSERT INTO product_slots VALUES(98,230); -INSERT INTO product_slots VALUES(98,231); -INSERT INTO product_slots VALUES(98,232); -INSERT INTO product_slots VALUES(98,234); -INSERT INTO product_slots VALUES(98,237); -INSERT INTO product_slots VALUES(98,238); -INSERT INTO product_slots VALUES(98,239); -INSERT INTO product_slots VALUES(98,240); -INSERT INTO product_slots VALUES(98,274); -INSERT INTO product_slots VALUES(98,275); -INSERT INTO product_slots VALUES(98,277); -INSERT INTO product_slots VALUES(98,278); -INSERT INTO product_slots VALUES(98,279); -INSERT INTO product_slots VALUES(99,81); -INSERT INTO product_slots VALUES(99,82); -INSERT INTO product_slots VALUES(99,83); -INSERT INTO product_slots VALUES(99,87); -INSERT INTO product_slots VALUES(99,89); -INSERT INTO product_slots VALUES(99,90); -INSERT INTO product_slots VALUES(99,91); -INSERT INTO product_slots VALUES(99,92); -INSERT INTO product_slots VALUES(99,93); -INSERT INTO product_slots VALUES(99,94); -INSERT INTO product_slots VALUES(99,96); -INSERT INTO product_slots VALUES(99,97); -INSERT INTO product_slots VALUES(99,98); -INSERT INTO product_slots VALUES(99,99); -INSERT INTO product_slots VALUES(99,100); -INSERT INTO product_slots VALUES(99,102); -INSERT INTO product_slots VALUES(99,103); -INSERT INTO product_slots VALUES(99,104); -INSERT INTO product_slots VALUES(99,105); -INSERT INTO product_slots VALUES(99,106); -INSERT INTO product_slots VALUES(99,107); -INSERT INTO product_slots VALUES(99,108); -INSERT INTO product_slots VALUES(99,109); -INSERT INTO product_slots VALUES(99,110); -INSERT INTO product_slots VALUES(99,111); -INSERT INTO product_slots VALUES(99,112); -INSERT INTO product_slots VALUES(99,113); -INSERT INTO product_slots VALUES(99,114); -INSERT INTO product_slots VALUES(99,115); -INSERT INTO product_slots VALUES(99,118); -INSERT INTO product_slots VALUES(99,119); -INSERT INTO product_slots VALUES(99,120); -INSERT INTO product_slots VALUES(99,123); -INSERT INTO product_slots VALUES(99,124); -INSERT INTO product_slots VALUES(99,125); -INSERT INTO product_slots VALUES(99,126); -INSERT INTO product_slots VALUES(99,130); -INSERT INTO product_slots VALUES(99,131); -INSERT INTO product_slots VALUES(99,132); -INSERT INTO product_slots VALUES(99,133); -INSERT INTO product_slots VALUES(99,137); -INSERT INTO product_slots VALUES(99,138); -INSERT INTO product_slots VALUES(99,139); -INSERT INTO product_slots VALUES(99,140); -INSERT INTO product_slots VALUES(99,144); -INSERT INTO product_slots VALUES(99,145); -INSERT INTO product_slots VALUES(99,146); -INSERT INTO product_slots VALUES(99,147); -INSERT INTO product_slots VALUES(99,148); -INSERT INTO product_slots VALUES(99,149); -INSERT INTO product_slots VALUES(99,150); -INSERT INTO product_slots VALUES(99,151); -INSERT INTO product_slots VALUES(99,155); -INSERT INTO product_slots VALUES(99,156); -INSERT INTO product_slots VALUES(99,157); -INSERT INTO product_slots VALUES(99,158); -INSERT INTO product_slots VALUES(99,162); -INSERT INTO product_slots VALUES(99,163); -INSERT INTO product_slots VALUES(99,164); -INSERT INTO product_slots VALUES(99,165); -INSERT INTO product_slots VALUES(99,166); -INSERT INTO product_slots VALUES(99,169); -INSERT INTO product_slots VALUES(99,170); -INSERT INTO product_slots VALUES(99,171); -INSERT INTO product_slots VALUES(99,172); -INSERT INTO product_slots VALUES(99,173); -INSERT INTO product_slots VALUES(99,176); -INSERT INTO product_slots VALUES(99,177); -INSERT INTO product_slots VALUES(99,178); -INSERT INTO product_slots VALUES(99,179); -INSERT INTO product_slots VALUES(99,180); -INSERT INTO product_slots VALUES(99,181); -INSERT INTO product_slots VALUES(99,182); -INSERT INTO product_slots VALUES(99,183); -INSERT INTO product_slots VALUES(99,184); -INSERT INTO product_slots VALUES(99,185); -INSERT INTO product_slots VALUES(99,186); -INSERT INTO product_slots VALUES(99,187); -INSERT INTO product_slots VALUES(99,188); -INSERT INTO product_slots VALUES(99,189); -INSERT INTO product_slots VALUES(99,190); -INSERT INTO product_slots VALUES(99,191); -INSERT INTO product_slots VALUES(99,192); -INSERT INTO product_slots VALUES(99,193); -INSERT INTO product_slots VALUES(99,194); -INSERT INTO product_slots VALUES(99,198); -INSERT INTO product_slots VALUES(99,199); -INSERT INTO product_slots VALUES(99,200); -INSERT INTO product_slots VALUES(99,201); -INSERT INTO product_slots VALUES(99,202); -INSERT INTO product_slots VALUES(99,203); -INSERT INTO product_slots VALUES(99,205); -INSERT INTO product_slots VALUES(99,208); -INSERT INTO product_slots VALUES(99,209); -INSERT INTO product_slots VALUES(99,210); -INSERT INTO product_slots VALUES(99,211); -INSERT INTO product_slots VALUES(99,216); -INSERT INTO product_slots VALUES(99,217); -INSERT INTO product_slots VALUES(99,218); -INSERT INTO product_slots VALUES(99,219); -INSERT INTO product_slots VALUES(99,220); -INSERT INTO product_slots VALUES(99,223); -INSERT INTO product_slots VALUES(99,224); -INSERT INTO product_slots VALUES(99,225); -INSERT INTO product_slots VALUES(99,226); -INSERT INTO product_slots VALUES(99,230); -INSERT INTO product_slots VALUES(99,231); -INSERT INTO product_slots VALUES(99,232); -INSERT INTO product_slots VALUES(99,234); -INSERT INTO product_slots VALUES(99,237); -INSERT INTO product_slots VALUES(99,238); -INSERT INTO product_slots VALUES(99,239); -INSERT INTO product_slots VALUES(99,240); -INSERT INTO product_slots VALUES(99,274); -INSERT INTO product_slots VALUES(99,275); -INSERT INTO product_slots VALUES(99,277); -INSERT INTO product_slots VALUES(99,278); -INSERT INTO product_slots VALUES(99,279); -INSERT INTO product_slots VALUES(100,102); -INSERT INTO product_slots VALUES(100,103); -INSERT INTO product_slots VALUES(100,104); -INSERT INTO product_slots VALUES(100,105); -INSERT INTO product_slots VALUES(100,106); -INSERT INTO product_slots VALUES(100,107); -INSERT INTO product_slots VALUES(100,108); -INSERT INTO product_slots VALUES(100,109); -INSERT INTO product_slots VALUES(100,110); -INSERT INTO product_slots VALUES(100,111); -INSERT INTO product_slots VALUES(100,112); -INSERT INTO product_slots VALUES(100,113); -INSERT INTO product_slots VALUES(100,114); -INSERT INTO product_slots VALUES(100,115); -INSERT INTO product_slots VALUES(100,120); -INSERT INTO product_slots VALUES(100,121); -INSERT INTO product_slots VALUES(100,122); -INSERT INTO product_slots VALUES(100,134); -INSERT INTO product_slots VALUES(100,135); -INSERT INTO product_slots VALUES(100,136); -INSERT INTO product_slots VALUES(100,139); -INSERT INTO product_slots VALUES(100,140); -INSERT INTO product_slots VALUES(100,141); -INSERT INTO product_slots VALUES(100,142); -INSERT INTO product_slots VALUES(100,143); -INSERT INTO product_slots VALUES(100,145); -INSERT INTO product_slots VALUES(100,146); -INSERT INTO product_slots VALUES(100,147); -INSERT INTO product_slots VALUES(100,148); -INSERT INTO product_slots VALUES(100,149); -INSERT INTO product_slots VALUES(100,150); -INSERT INTO product_slots VALUES(100,151); -INSERT INTO product_slots VALUES(100,152); -INSERT INTO product_slots VALUES(100,153); -INSERT INTO product_slots VALUES(100,154); -INSERT INTO product_slots VALUES(100,155); -INSERT INTO product_slots VALUES(100,157); -INSERT INTO product_slots VALUES(100,158); -INSERT INTO product_slots VALUES(100,159); -INSERT INTO product_slots VALUES(100,160); -INSERT INTO product_slots VALUES(100,161); -INSERT INTO product_slots VALUES(100,162); -INSERT INTO product_slots VALUES(100,163); -INSERT INTO product_slots VALUES(100,168); -INSERT INTO product_slots VALUES(100,170); -INSERT INTO product_slots VALUES(100,171); -INSERT INTO product_slots VALUES(100,172); -INSERT INTO product_slots VALUES(100,173); -INSERT INTO product_slots VALUES(100,174); -INSERT INTO product_slots VALUES(100,175); -INSERT INTO product_slots VALUES(100,177); -INSERT INTO product_slots VALUES(100,178); -INSERT INTO product_slots VALUES(100,179); -INSERT INTO product_slots VALUES(100,180); -INSERT INTO product_slots VALUES(100,181); -INSERT INTO product_slots VALUES(100,182); -INSERT INTO product_slots VALUES(100,183); -INSERT INTO product_slots VALUES(100,184); -INSERT INTO product_slots VALUES(100,185); -INSERT INTO product_slots VALUES(100,186); -INSERT INTO product_slots VALUES(100,187); -INSERT INTO product_slots VALUES(100,188); -INSERT INTO product_slots VALUES(100,189); -INSERT INTO product_slots VALUES(100,190); -INSERT INTO product_slots VALUES(100,191); -INSERT INTO product_slots VALUES(100,192); -INSERT INTO product_slots VALUES(100,193); -INSERT INTO product_slots VALUES(100,194); -INSERT INTO product_slots VALUES(100,195); -INSERT INTO product_slots VALUES(100,196); -INSERT INTO product_slots VALUES(100,197); -INSERT INTO product_slots VALUES(100,198); -INSERT INTO product_slots VALUES(100,199); -INSERT INTO product_slots VALUES(100,200); -INSERT INTO product_slots VALUES(100,201); -INSERT INTO product_slots VALUES(100,202); -INSERT INTO product_slots VALUES(100,203); -INSERT INTO product_slots VALUES(100,204); -INSERT INTO product_slots VALUES(100,205); -INSERT INTO product_slots VALUES(100,206); -INSERT INTO product_slots VALUES(100,207); -INSERT INTO product_slots VALUES(100,208); -INSERT INTO product_slots VALUES(100,209); -INSERT INTO product_slots VALUES(100,210); -INSERT INTO product_slots VALUES(100,211); -INSERT INTO product_slots VALUES(100,212); -INSERT INTO product_slots VALUES(100,213); -INSERT INTO product_slots VALUES(100,214); -INSERT INTO product_slots VALUES(100,215); -INSERT INTO product_slots VALUES(100,216); -INSERT INTO product_slots VALUES(100,217); -INSERT INTO product_slots VALUES(100,218); -INSERT INTO product_slots VALUES(100,219); -INSERT INTO product_slots VALUES(100,220); -INSERT INTO product_slots VALUES(100,221); -INSERT INTO product_slots VALUES(100,222); -INSERT INTO product_slots VALUES(100,223); -INSERT INTO product_slots VALUES(100,224); -INSERT INTO product_slots VALUES(100,225); -INSERT INTO product_slots VALUES(100,226); -INSERT INTO product_slots VALUES(100,227); -INSERT INTO product_slots VALUES(100,228); -INSERT INTO product_slots VALUES(100,229); -INSERT INTO product_slots VALUES(100,230); -INSERT INTO product_slots VALUES(100,231); -INSERT INTO product_slots VALUES(100,232); -INSERT INTO product_slots VALUES(100,233); -INSERT INTO product_slots VALUES(100,234); -INSERT INTO product_slots VALUES(100,235); -INSERT INTO product_slots VALUES(100,236); -INSERT INTO product_slots VALUES(100,237); -INSERT INTO product_slots VALUES(100,238); -INSERT INTO product_slots VALUES(100,239); -INSERT INTO product_slots VALUES(100,240); -INSERT INTO product_slots VALUES(100,241); -INSERT INTO product_slots VALUES(100,242); -INSERT INTO product_slots VALUES(100,243); -INSERT INTO product_slots VALUES(100,244); -INSERT INTO product_slots VALUES(100,274); -INSERT INTO product_slots VALUES(100,275); -INSERT INTO product_slots VALUES(100,279); -INSERT INTO product_slots VALUES(100,280); -INSERT INTO product_slots VALUES(100,281); -INSERT INTO product_slots VALUES(100,282); -INSERT INTO product_slots VALUES(100,283); -INSERT INTO product_slots VALUES(100,284); -INSERT INTO product_slots VALUES(100,285); -INSERT INTO product_slots VALUES(100,286); -INSERT INTO product_slots VALUES(100,287); -INSERT INTO product_slots VALUES(101,211); -INSERT INTO product_slots VALUES(101,230); -INSERT INTO product_slots VALUES(101,231); -INSERT INTO product_slots VALUES(101,232); -INSERT INTO product_slots VALUES(101,233); -INSERT INTO product_slots VALUES(101,234); -INSERT INTO product_slots VALUES(101,235); -INSERT INTO product_slots VALUES(101,236); -INSERT INTO product_slots VALUES(101,237); -INSERT INTO product_slots VALUES(101,238); -INSERT INTO product_slots VALUES(101,239); -INSERT INTO product_slots VALUES(101,240); -INSERT INTO product_slots VALUES(101,241); -INSERT INTO product_slots VALUES(101,242); -INSERT INTO product_slots VALUES(101,243); -INSERT INTO product_slots VALUES(101,244); -INSERT INTO product_slots VALUES(101,274); -INSERT INTO product_slots VALUES(101,275); -INSERT INTO product_slots VALUES(101,279); -INSERT INTO product_slots VALUES(101,280); -INSERT INTO product_slots VALUES(101,281); -INSERT INTO product_slots VALUES(101,282); -INSERT INTO product_slots VALUES(101,283); -INSERT INTO product_slots VALUES(101,284); -INSERT INTO product_slots VALUES(101,285); -INSERT INTO product_slots VALUES(101,286); -INSERT INTO product_slots VALUES(101,287); -INSERT INTO product_slots VALUES(102,188); -INSERT INTO product_slots VALUES(102,189); -INSERT INTO product_slots VALUES(102,203); -INSERT INTO product_slots VALUES(102,204); -INSERT INTO product_slots VALUES(102,205); -INSERT INTO product_slots VALUES(102,206); -INSERT INTO product_slots VALUES(102,207); -INSERT INTO product_slots VALUES(102,208); -INSERT INTO product_slots VALUES(102,209); -INSERT INTO product_slots VALUES(102,210); -INSERT INTO product_slots VALUES(102,211); -INSERT INTO product_slots VALUES(102,212); -INSERT INTO product_slots VALUES(102,213); -INSERT INTO product_slots VALUES(102,214); -INSERT INTO product_slots VALUES(102,215); -INSERT INTO product_slots VALUES(102,216); -INSERT INTO product_slots VALUES(102,217); -INSERT INTO product_slots VALUES(102,218); -INSERT INTO product_slots VALUES(102,219); -INSERT INTO product_slots VALUES(102,220); -INSERT INTO product_slots VALUES(102,221); -INSERT INTO product_slots VALUES(102,222); -INSERT INTO product_slots VALUES(102,223); -INSERT INTO product_slots VALUES(102,224); -INSERT INTO product_slots VALUES(102,225); -INSERT INTO product_slots VALUES(102,226); -INSERT INTO product_slots VALUES(102,227); -INSERT INTO product_slots VALUES(102,228); -INSERT INTO product_slots VALUES(102,229); -INSERT INTO product_slots VALUES(102,230); -INSERT INTO product_slots VALUES(102,231); -INSERT INTO product_slots VALUES(102,232); -INSERT INTO product_slots VALUES(102,233); -INSERT INTO product_slots VALUES(102,234); -INSERT INTO product_slots VALUES(102,235); -INSERT INTO product_slots VALUES(102,236); -INSERT INTO product_slots VALUES(102,237); -INSERT INTO product_slots VALUES(102,238); -INSERT INTO product_slots VALUES(102,239); -INSERT INTO product_slots VALUES(102,240); -INSERT INTO product_slots VALUES(102,241); -INSERT INTO product_slots VALUES(102,242); -INSERT INTO product_slots VALUES(102,243); -INSERT INTO product_slots VALUES(102,244); -INSERT INTO product_slots VALUES(102,274); -INSERT INTO product_slots VALUES(102,275); -INSERT INTO product_slots VALUES(102,279); -INSERT INTO product_slots VALUES(102,280); -INSERT INTO product_slots VALUES(102,281); -INSERT INTO product_slots VALUES(102,282); -INSERT INTO product_slots VALUES(102,283); -INSERT INTO product_slots VALUES(102,284); -INSERT INTO product_slots VALUES(102,285); -INSERT INTO product_slots VALUES(102,286); -INSERT INTO product_slots VALUES(102,287); -INSERT INTO product_slots VALUES(103,210); -INSERT INTO product_slots VALUES(103,211); -INSERT INTO product_slots VALUES(103,212); -INSERT INTO product_slots VALUES(103,213); -INSERT INTO product_slots VALUES(103,214); -INSERT INTO product_slots VALUES(103,215); -INSERT INTO product_slots VALUES(103,227); -INSERT INTO product_slots VALUES(103,228); -INSERT INTO product_slots VALUES(103,229); -INSERT INTO product_slots VALUES(103,230); -INSERT INTO product_slots VALUES(103,231); -INSERT INTO product_slots VALUES(103,232); -INSERT INTO product_slots VALUES(103,233); -INSERT INTO product_slots VALUES(103,234); -INSERT INTO product_slots VALUES(103,235); -INSERT INTO product_slots VALUES(103,236); -INSERT INTO product_slots VALUES(103,237); -INSERT INTO product_slots VALUES(103,238); -INSERT INTO product_slots VALUES(103,239); -INSERT INTO product_slots VALUES(103,240); -INSERT INTO product_slots VALUES(103,241); -INSERT INTO product_slots VALUES(103,242); -INSERT INTO product_slots VALUES(103,243); -INSERT INTO product_slots VALUES(103,244); -INSERT INTO product_slots VALUES(103,274); -INSERT INTO product_slots VALUES(103,275); -INSERT INTO product_slots VALUES(103,279); -INSERT INTO product_slots VALUES(103,280); -INSERT INTO product_slots VALUES(103,281); -INSERT INTO product_slots VALUES(103,282); -INSERT INTO product_slots VALUES(103,283); -INSERT INTO product_slots VALUES(103,284); -INSERT INTO product_slots VALUES(103,285); -INSERT INTO product_slots VALUES(103,286); -INSERT INTO product_slots VALUES(103,287); -CREATE TABLE IF NOT EXISTS "product_tag_info" ("id" INTEGER PRIMARY KEY, "tag_name" TEXT NOT NULL, "tag_description" TEXT, "image_url" TEXT, "is_dashboard_tag" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "related_stores" TEXT); -INSERT INTO product_tag_info VALUES(1,'Chicken','Chicken related items','tags/1770321659633-1763869265110-e22b6d94-dac9-499f-babb-1e944d90b01a.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260205%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260205T195535Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3D917db15bcc60cab7ac5cd5e49d85d13a960fe77b4a5e327dd449048870494cf9%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject',1,'2025-11-22T02:00:14.678Z','[1]'); -INSERT INTO product_tag_info VALUES(2,'Meat','Meat Products','tags/1763835253683-c9c3e293-0bef-4c58-a976-dd49c050cd36.jpeg',1,'2025-11-22T12:44:15.930Z',NULL); -INSERT INTO product_tag_info VALUES(3,'Fruits','Delicious fresh fruits','tags/1763835293899-43b3fbe1-9b5b-441c-b4d4-d1691c3f02f3.webp',1,'2025-11-22T12:44:55.491Z',NULL); -INSERT INTO product_tag_info VALUES(4,'Fish','Types ','tags/1770323410499-1763869436182-bf82f7b4-a1f3-4113-985b-96311b7a910e.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260205%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260205T202804Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3Dea436390b277935d843cae6b5cfa62aeed5799cb4a962ab31a0be4b132ca4b30%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject',1,'2025-11-22T22:13:03.039Z','[1]'); -INSERT INTO product_tag_info VALUES(5,'Vegetables',NULL,'tags/1768709725124-ebf421c5-ad52-49a9-b65c-1de008110b8a.png',1,'2026-01-17T22:45:25.461Z',NULL); -INSERT INTO product_tag_info VALUES(6,'Mutton','Mutton Products','tags/1770323560823-fd0ec463-bed0-474e-aa14-dc6480ce36af.jpeg',1,'2026-02-05T15:02:41.070Z','[1]'); -INSERT INTO product_tag_info VALUES(39,'DemoTag','Demo prod tag','product-images/1774116266063.jpg',0,'2026-03-21T12:20:34.282Z','[2,1]'); -CREATE TABLE IF NOT EXISTS "product_tags" ("id" INTEGER PRIMARY KEY, "product_id" INTEGER NOT NULL, "tag_id" INTEGER NOT NULL, "assigned_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_tags VALUES(114,2,1,'2026-01-15T06:49:23.323Z'); -INSERT INTO product_tags VALUES(115,2,2,'2026-01-15T06:49:23.323Z'); -INSERT INTO product_tags VALUES(130,42,1,'2026-01-17T02:37:49.548Z'); -INSERT INTO product_tags VALUES(131,42,2,'2026-01-17T02:37:49.548Z'); -INSERT INTO product_tags VALUES(132,7,3,'2026-01-17T03:23:29.890Z'); -INSERT INTO product_tags VALUES(133,21,1,'2026-01-17T03:28:21.647Z'); -INSERT INTO product_tags VALUES(134,21,2,'2026-01-17T03:28:21.647Z'); -INSERT INTO product_tags VALUES(136,26,3,'2026-01-17T03:34:05.740Z'); -INSERT INTO product_tags VALUES(143,39,3,'2026-01-17T06:11:21.465Z'); -INSERT INTO product_tags VALUES(164,3,1,'2026-01-18T01:05:33.690Z'); -INSERT INTO product_tags VALUES(165,3,2,'2026-01-18T01:05:33.690Z'); -INSERT INTO product_tags VALUES(168,49,3,'2026-01-18T11:28:56.144Z'); -INSERT INTO product_tags VALUES(202,9,4,'2026-01-25T08:36:25.210Z'); -INSERT INTO product_tags VALUES(203,75,4,'2026-01-25T08:38:25.840Z'); -INSERT INTO product_tags VALUES(215,11,3,'2026-01-25T11:09:47.389Z'); -INSERT INTO product_tags VALUES(222,8,3,'2026-01-25T11:49:56.733Z'); -INSERT INTO product_tags VALUES(223,25,3,'2026-01-25T11:50:46.177Z'); -INSERT INTO product_tags VALUES(226,48,3,'2026-01-25T11:55:18.601Z'); -INSERT INTO product_tags VALUES(230,24,2,'2026-01-25T12:17:02.952Z'); -INSERT INTO product_tags VALUES(231,24,1,'2026-01-25T12:17:02.952Z'); -INSERT INTO product_tags VALUES(234,15,1,'2026-01-25T12:19:07.538Z'); -INSERT INTO product_tags VALUES(235,15,2,'2026-01-25T12:19:07.538Z'); -INSERT INTO product_tags VALUES(238,36,1,'2026-01-25T12:20:23.324Z'); -INSERT INTO product_tags VALUES(242,55,3,'2026-01-25T12:36:14.976Z'); -INSERT INTO product_tags VALUES(243,82,4,'2026-01-25T12:49:15.711Z'); -INSERT INTO product_tags VALUES(244,81,2,'2026-01-25T12:55:33.320Z'); -INSERT INTO product_tags VALUES(245,81,4,'2026-01-25T12:55:33.320Z'); -INSERT INTO product_tags VALUES(246,83,4,'2026-01-25T12:56:28.787Z'); -INSERT INTO product_tags VALUES(251,64,5,'2026-01-25T22:42:34.137Z'); -INSERT INTO product_tags VALUES(253,33,5,'2026-01-25T22:44:37.101Z'); -INSERT INTO product_tags VALUES(254,16,5,'2026-01-25T22:45:58.208Z'); -INSERT INTO product_tags VALUES(263,53,3,'2026-01-25T22:53:41.199Z'); -INSERT INTO product_tags VALUES(274,1,1,'2026-01-25T23:19:00.304Z'); -INSERT INTO product_tags VALUES(278,62,3,'2026-01-27T11:51:39.242Z'); -INSERT INTO product_tags VALUES(279,60,3,'2026-01-27T11:52:45.990Z'); -INSERT INTO product_tags VALUES(280,61,3,'2026-01-27T11:57:45.345Z'); -INSERT INTO product_tags VALUES(282,44,3,'2026-01-27T11:59:15.067Z'); -INSERT INTO product_tags VALUES(283,13,3,'2026-01-27T20:24:25.976Z'); -INSERT INTO product_tags VALUES(290,41,1,'2026-01-27T21:12:14.665Z'); -INSERT INTO product_tags VALUES(291,41,2,'2026-01-27T21:12:14.665Z'); -INSERT INTO product_tags VALUES(293,6,3,'2026-01-27T21:13:55.115Z'); -INSERT INTO product_tags VALUES(294,72,5,'2026-01-27T21:17:12.977Z'); -INSERT INTO product_tags VALUES(295,29,5,'2026-01-27T21:20:37.640Z'); -INSERT INTO product_tags VALUES(298,19,5,'2026-01-27T21:30:53.298Z'); -INSERT INTO product_tags VALUES(299,18,5,'2026-01-27T21:32:17.814Z'); -INSERT INTO product_tags VALUES(301,30,5,'2026-01-27T21:35:38.807Z'); -INSERT INTO product_tags VALUES(303,27,5,'2026-01-27T21:38:48.593Z'); -INSERT INTO product_tags VALUES(304,89,5,'2026-01-27T21:39:06.159Z'); -INSERT INTO product_tags VALUES(306,70,5,'2026-01-27T21:42:26.477Z'); -INSERT INTO product_tags VALUES(307,80,1,'2026-01-27T21:43:10.425Z'); -INSERT INTO product_tags VALUES(308,5,5,'2026-01-27T21:43:12.449Z'); -INSERT INTO product_tags VALUES(309,76,5,'2026-01-27T21:44:10.836Z'); -INSERT INTO product_tags VALUES(310,78,5,'2026-01-27T21:50:37.216Z'); -INSERT INTO product_tags VALUES(312,45,5,'2026-01-27T23:02:05.789Z'); -INSERT INTO product_tags VALUES(313,31,5,'2026-01-27T23:03:13.073Z'); -INSERT INTO product_tags VALUES(314,77,5,'2026-01-28T02:36:29.616Z'); -INSERT INTO product_tags VALUES(315,47,3,'2026-01-28T02:37:53.143Z'); -INSERT INTO product_tags VALUES(316,96,3,'2026-01-28T02:40:33.400Z'); -INSERT INTO product_tags VALUES(318,59,3,'2026-01-30T01:08:49.461Z'); -INSERT INTO product_tags VALUES(319,10,1,'2026-02-01T02:29:06.966Z'); -INSERT INTO product_tags VALUES(320,10,2,'2026-02-01T02:29:06.966Z'); -INSERT INTO product_tags VALUES(322,34,2,'2026-02-02T21:48:40.200Z'); -INSERT INTO product_tags VALUES(323,38,3,'2026-02-03T04:50:39.627Z'); -INSERT INTO product_tags VALUES(324,46,3,'2026-02-03T13:09:46.365Z'); -INSERT INTO product_tags VALUES(325,12,2,'2026-02-05T21:38:15.915Z'); -INSERT INTO product_tags VALUES(326,4,2,'2026-02-05T21:38:30.229Z'); -INSERT INTO product_tags VALUES(327,4,6,'2026-02-05T21:38:30.229Z'); -INSERT INTO product_tags VALUES(330,28,2,'2026-02-05T21:39:03.379Z'); -INSERT INTO product_tags VALUES(331,28,6,'2026-02-05T21:39:03.379Z'); -INSERT INTO product_tags VALUES(332,14,2,'2026-02-05T21:39:17.766Z'); -INSERT INTO product_tags VALUES(333,14,6,'2026-02-05T21:39:17.766Z'); -INSERT INTO product_tags VALUES(334,84,2,'2026-02-05T21:39:32.746Z'); -INSERT INTO product_tags VALUES(335,84,6,'2026-02-05T21:39:32.746Z'); -INSERT INTO product_tags VALUES(336,86,2,'2026-02-05T21:39:41.075Z'); -INSERT INTO product_tags VALUES(337,86,6,'2026-02-05T21:39:41.075Z'); -INSERT INTO product_tags VALUES(338,98,6,'2026-02-05T21:39:49.218Z'); -INSERT INTO product_tags VALUES(339,98,2,'2026-02-05T21:39:49.218Z'); -INSERT INTO product_tags VALUES(340,99,2,'2026-02-05T21:40:00.488Z'); -INSERT INTO product_tags VALUES(341,99,6,'2026-02-05T21:40:00.488Z'); -INSERT INTO product_tags VALUES(342,20,2,'2026-02-05T21:40:13.041Z'); -INSERT INTO product_tags VALUES(343,20,6,'2026-02-05T21:40:13.041Z'); -INSERT INTO product_tags VALUES(344,35,2,'2026-02-05T21:40:21.153Z'); -INSERT INTO product_tags VALUES(345,35,6,'2026-02-05T21:40:21.153Z'); -INSERT INTO product_tags VALUES(346,85,6,'2026-02-05T21:40:31.451Z'); -INSERT INTO product_tags VALUES(347,85,2,'2026-02-05T21:40:31.451Z'); -INSERT INTO product_tags VALUES(348,87,2,'2026-02-05T21:40:40.483Z'); -INSERT INTO product_tags VALUES(349,87,6,'2026-02-05T21:40:40.483Z'); -INSERT INTO product_tags VALUES(350,67,5,'2026-02-06T03:28:46.803Z'); -INSERT INTO product_tags VALUES(353,17,5,'2026-02-20T05:05:15.691Z'); -INSERT INTO product_tags VALUES(354,32,5,'2026-02-21T23:13:56.993Z'); -INSERT INTO product_tags VALUES(355,37,5,'2026-02-23T03:02:49.047Z'); -INSERT INTO product_tags VALUES(388,23,2,'2026-03-12T09:45:05.232Z'); -INSERT INTO product_tags VALUES(389,23,1,'2026-03-12T09:45:05.232Z'); -INSERT INTO product_tags VALUES(391,50,3,'2026-03-14T05:54:04.645Z'); -INSERT INTO product_tags VALUES(394,140,1,'2026-03-26T06:15:15.135Z'); -INSERT INTO product_tags VALUES(395,140,4,'2026-03-26T06:15:15.135Z'); -CREATE TABLE IF NOT EXISTS "refunds" ("id" INTEGER PRIMARY KEY, "order_id" INTEGER NOT NULL, "refund_amount" REAL, "refund_status" TEXT DEFAULT 'none', "merchant_refund_id" TEXT, "refund_processed_at" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO refunds VALUES(1,14,73.499999999999996447,'success','rfnd_Rithb3BCPvwCVZ','2025-11-22T13:45:42.202Z','2025-11-19T12:47:41.044Z'); -INSERT INTO refunds VALUES(2,16,NULL,'none',NULL,NULL,'2025-11-23T06:11:45.422Z'); -INSERT INTO refunds VALUES(3,21,250.0,'success','rfnd_RjAobSg6UT2mvE','2025-11-23T06:29:45.582Z','2025-11-23T06:20:11.343Z'); -INSERT INTO refunds VALUES(4,17,NULL,'na',NULL,NULL,'2025-11-22T13:42:48.103Z'); -INSERT INTO refunds VALUES(5,22,NULL,'none',NULL,NULL,'2025-11-24T06:03:51.483Z'); -INSERT INTO refunds VALUES(6,23,220.0,'success','rfnd_RjZ0NnNrz80osd','2025-11-24T06:10:00.791Z','2025-11-24T06:03:20.864Z'); -INSERT INTO refunds VALUES(7,25,250.0,'success','rfnd_RjwqkDB4wfwBuY','2025-11-25T05:30:00.813Z','2025-11-25T05:25:53.609Z'); -INSERT INTO refunds VALUES(8,12,NULL,'pending',NULL,NULL,'2025-11-28T22:12:39.527Z'); -INSERT INTO refunds VALUES(9,31,NULL,'pending',NULL,NULL,'2025-11-28T22:33:24.299Z'); -INSERT INTO refunds VALUES(10,35,NULL,'pending',NULL,NULL,'2025-11-28T23:15:19.165Z'); -INSERT INTO refunds VALUES(11,50,NULL,'pending',NULL,NULL,'2025-11-29T01:16:21.186Z'); -INSERT INTO refunds VALUES(12,51,NULL,'pending',NULL,NULL,'2025-11-29T01:42:14.433Z'); -INSERT INTO refunds VALUES(13,52,NULL,'pending',NULL,NULL,'2025-11-29T01:52:21.830Z'); -INSERT INTO refunds VALUES(14,53,320.0,'success','rfnd_RlTSoRRkSliydO','2025-11-29T02:07:29.105Z','2025-11-29T01:58:56.303Z'); -INSERT INTO refunds VALUES(15,54,2850.0,'success','rfnd_RlcXX2g7K7jDCh','2025-11-29T11:00:00.772Z','2025-11-29T10:54:08.554Z'); -INSERT INTO refunds VALUES(16,64,NULL,'pending',NULL,NULL,'2025-12-19T04:15:02.346Z'); -INSERT INTO refunds VALUES(17,74,NULL,'na',NULL,NULL,'2025-12-19T11:38:55.276Z'); -INSERT INTO refunds VALUES(18,68,NULL,'na',NULL,NULL,'2025-12-19T21:20:54.339Z'); -INSERT INTO refunds VALUES(19,89,NULL,'na',NULL,NULL,'2025-12-20T15:09:31.699Z'); -INSERT INTO refunds VALUES(20,88,NULL,'na',NULL,NULL,'2025-12-20T21:37:32.151Z'); -INSERT INTO refunds VALUES(21,93,NULL,'na',NULL,NULL,'2025-12-22T08:15:45.531Z'); -INSERT INTO refunds VALUES(22,96,NULL,'na',NULL,NULL,'2025-12-22T09:07:24.665Z'); -INSERT INTO refunds VALUES(23,101,NULL,'na',NULL,NULL,'2025-12-23T11:46:55.138Z'); -INSERT INTO refunds VALUES(24,102,NULL,'na',NULL,NULL,'2025-12-27T01:40:37.790Z'); -INSERT INTO refunds VALUES(25,148,NULL,'na',NULL,NULL,'2026-01-17T23:01:50.064Z'); -INSERT INTO refunds VALUES(26,159,NULL,'na',NULL,NULL,'2026-01-18T10:06:56.160Z'); -INSERT INTO refunds VALUES(27,171,NULL,'na',NULL,NULL,'2026-01-27T22:25:10.936Z'); -INSERT INTO refunds VALUES(28,167,NULL,'na',NULL,NULL,'2026-01-27T22:26:35.510Z'); -INSERT INTO refunds VALUES(29,168,NULL,'na',NULL,NULL,'2026-01-27T22:27:15.817Z'); -INSERT INTO refunds VALUES(30,169,NULL,'na',NULL,NULL,'2026-01-27T22:27:32.421Z'); -INSERT INTO refunds VALUES(31,156,NULL,'na',NULL,NULL,'2026-01-27T22:30:19.302Z'); -INSERT INTO refunds VALUES(32,146,NULL,'na',NULL,NULL,'2026-01-28T00:39:48.320Z'); -INSERT INTO refunds VALUES(33,178,NULL,'na',NULL,NULL,'2026-01-28T10:02:31.195Z'); -INSERT INTO refunds VALUES(34,145,NULL,'na',NULL,NULL,'2026-01-28T12:53:28.911Z'); -INSERT INTO refunds VALUES(35,144,NULL,'na',NULL,NULL,'2026-01-28T13:29:22.470Z'); -INSERT INTO refunds VALUES(36,143,NULL,'na',NULL,NULL,'2026-01-28T13:30:04.792Z'); -INSERT INTO refunds VALUES(37,141,NULL,'na',NULL,NULL,'2026-01-28T13:30:36.001Z'); -INSERT INTO refunds VALUES(38,140,NULL,'na',NULL,NULL,'2026-01-28T13:31:05.250Z'); -INSERT INTO refunds VALUES(39,183,NULL,'na',NULL,NULL,'2026-01-30T02:09:22.273Z'); -INSERT INTO refunds VALUES(40,188,NULL,'na',NULL,NULL,'2026-01-31T05:26:43.840Z'); -INSERT INTO refunds VALUES(41,186,NULL,'na',NULL,NULL,'2026-01-31T07:35:41.324Z'); -INSERT INTO refunds VALUES(42,185,NULL,'na',NULL,NULL,'2026-01-31T07:36:00.966Z'); -INSERT INTO refunds VALUES(43,190,NULL,'na',NULL,NULL,'2026-01-31T22:05:43.606Z'); -INSERT INTO refunds VALUES(44,190,NULL,'na',NULL,NULL,'2026-01-31T23:03:59.073Z'); -INSERT INTO refunds VALUES(45,196,NULL,'na',NULL,NULL,'2026-02-01T04:42:48.106Z'); -INSERT INTO refunds VALUES(46,204,NULL,'na',NULL,NULL,'2026-02-02T06:48:48.035Z'); -INSERT INTO refunds VALUES(47,166,NULL,'na',NULL,NULL,'2026-02-02T10:47:37.685Z'); -INSERT INTO refunds VALUES(48,207,NULL,'na',NULL,NULL,'2026-02-02T11:22:59.955Z'); -INSERT INTO refunds VALUES(49,213,NULL,'na',NULL,NULL,'2026-02-03T07:34:17.723Z'); -INSERT INTO refunds VALUES(50,214,NULL,'na',NULL,NULL,'2026-02-03T08:41:50.996Z'); -INSERT INTO refunds VALUES(51,216,NULL,'na',NULL,NULL,'2026-02-03T23:34:45.350Z'); -INSERT INTO refunds VALUES(52,228,NULL,'na',NULL,NULL,'2026-02-06T16:17:39.262Z'); -INSERT INTO refunds VALUES(53,225,NULL,'na',NULL,NULL,'2026-02-06T23:20:32.417Z'); -INSERT INTO refunds VALUES(54,230,NULL,'na',NULL,NULL,'2026-02-06T23:34:36.400Z'); -INSERT INTO refunds VALUES(55,233,NULL,'na',NULL,NULL,'2026-02-07T07:25:04.081Z'); -INSERT INTO refunds VALUES(56,232,NULL,'na',NULL,NULL,'2026-02-07T07:26:35.768Z'); -INSERT INTO refunds VALUES(57,238,NULL,'na',NULL,NULL,'2026-02-08T00:55:38.297Z'); -INSERT INTO refunds VALUES(58,239,NULL,'na',NULL,NULL,'2026-02-08T00:59:58.539Z'); -INSERT INTO refunds VALUES(59,246,NULL,'na',NULL,NULL,'2026-02-08T23:17:27.385Z'); -INSERT INTO refunds VALUES(60,247,NULL,'na',NULL,NULL,'2026-02-09T02:04:46.141Z'); -INSERT INTO refunds VALUES(61,250,NULL,'na',NULL,NULL,'2026-02-10T22:00:06.670Z'); -INSERT INTO refunds VALUES(62,256,NULL,'na',NULL,NULL,'2026-02-16T01:22:51.309Z'); -INSERT INTO refunds VALUES(63,269,NULL,'na',NULL,NULL,'2026-02-18T04:17:30.087Z'); -INSERT INTO refunds VALUES(64,273,NULL,'na',NULL,NULL,'2026-02-18T05:16:11.655Z'); -INSERT INTO refunds VALUES(65,260,NULL,'na',NULL,NULL,'2026-02-18T06:14:42.228Z'); -INSERT INTO refunds VALUES(66,288,NULL,'na',NULL,NULL,'2026-02-19T04:37:45.086Z'); -INSERT INTO refunds VALUES(67,287,NULL,'na',NULL,NULL,'2026-02-19T04:40:17.239Z'); -INSERT INTO refunds VALUES(68,282,NULL,'na',NULL,NULL,'2026-02-19T05:33:59.169Z'); -INSERT INTO refunds VALUES(69,281,NULL,'na',NULL,NULL,'2026-02-19T05:34:11.079Z'); -INSERT INTO refunds VALUES(70,285,NULL,'na',NULL,NULL,'2026-02-19T05:37:22.327Z'); -INSERT INTO refunds VALUES(71,293,NULL,'na',NULL,NULL,'2026-02-19T07:22:21.525Z'); -INSERT INTO refunds VALUES(72,292,NULL,'na',NULL,NULL,'2026-02-19T07:22:49.181Z'); -INSERT INTO refunds VALUES(73,296,NULL,'na',NULL,NULL,'2026-02-19T12:49:30.261Z'); -INSERT INTO refunds VALUES(74,315,NULL,'na',NULL,NULL,'2026-02-21T04:45:00.816Z'); -INSERT INTO refunds VALUES(75,317,NULL,'na',NULL,NULL,'2026-02-21T06:26:57.626Z'); -INSERT INTO refunds VALUES(76,321,NULL,'na',NULL,NULL,'2026-02-21T22:47:12.386Z'); -INSERT INTO refunds VALUES(77,335,NULL,'na',NULL,NULL,'2026-02-23T04:42:18.550Z'); -INSERT INTO refunds VALUES(78,20,NULL,'na',NULL,NULL,'2026-02-25T02:13:38.575Z'); -CREATE TABLE IF NOT EXISTS "reserved_coupons" ("id" INTEGER PRIMARY KEY, "secret_code" TEXT NOT NULL, "coupon_code" TEXT NOT NULL, "discount_percent" REAL, "flat_discount" REAL, "min_order" REAL, "product_ids" TEXT, "max_value" REAL, "valid_till" TEXT, "max_limit_for_user" INTEGER, "exclusive_apply" INTEGER NOT NULL DEFAULT false, "is_redeemed" INTEGER NOT NULL DEFAULT false, "redeemed_by" INTEGER, "redeemed_at" TEXT, "created_by" INTEGER NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO reserved_coupons VALUES(1,'RESERVE_TEST34','RESERVE_TEST34',25.0,NULL,1000.0,NULL,250.0,'2026-01-30T07:46:00.000Z',2,0,1,1,'2026-01-12T03:28:20.468Z',1,'2026-01-07T07:46:53.387Z'); -CREATE TABLE IF NOT EXISTS "special_deals" ("id" INTEGER PRIMARY KEY, "product_id" INTEGER NOT NULL, "quantity" REAL NOT NULL, "price" REAL NOT NULL, "valid_till" TEXT NOT NULL); -INSERT INTO special_deals VALUES(12,9,2.0,500.0,'2025-12-08T18:30:00.000Z'); -CREATE TABLE IF NOT EXISTS "staff_permissions" ("id" INTEGER PRIMARY KEY, "permission_name" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO staff_permissions VALUES(1,'crud_product','2026-01-12T13:13:14.537Z'); -INSERT INTO staff_permissions VALUES(2,'make_coupon','2026-01-12T13:13:14.650Z'); -INSERT INTO staff_permissions VALUES(3,'crud_staff_users','2026-01-12T13:13:14.759Z'); -CREATE TABLE IF NOT EXISTS "staff_role_permissions" ("id" INTEGER PRIMARY KEY, "staff_role_id" INTEGER NOT NULL, "staff_permission_id" INTEGER NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO staff_role_permissions VALUES(1,1,1,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(2,1,2,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(3,1,3,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(4,2,1,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(5,2,2,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(6,3,2,'2026-01-12T13:13:14.815Z'); -CREATE TABLE IF NOT EXISTS "staff_roles" ("id" INTEGER PRIMARY KEY, "role_name" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO staff_roles VALUES(1,'super_admin','2026-01-12T13:13:14.097Z'); -INSERT INTO staff_roles VALUES(2,'admin','2026-01-12T13:13:14.208Z'); -INSERT INTO staff_roles VALUES(3,'marketer','2026-01-12T13:13:14.318Z'); -INSERT INTO staff_roles VALUES(4,'delivery_staff','2026-01-12T13:13:14.427Z'); -CREATE TABLE IF NOT EXISTS "staff_users" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "password" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "staff_role_id" INTEGER); -INSERT INTO staff_users VALUES(1,'admin1','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:02.349Z',NULL); -INSERT INTO staff_users VALUES(2,'admin2','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:12.054Z',NULL); -INSERT INTO staff_users VALUES(3,'admin3','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:12.054Z',NULL); -CREATE TABLE IF NOT EXISTS "store_info" ("id" INTEGER PRIMARY KEY, "name" TEXT NOT NULL, "description" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "owner" INTEGER NOT NULL, "image_url" TEXT); -INSERT INTO store_info VALUES(1,'Fresh meat','"Fresh, high-quality meat sourced from trusted suppliers and hygienically processed. Cut fresh, packed safely, and delivered to your doorstep."','2025-11-16T21:59:24.030Z',1,'store-images/1766052073748.png'); -INSERT INTO store_info VALUES(2,'The Fruit Store','"Fresh, juicy fruits handpicked for quality and taste. Naturally ripened, carefully packed, and delivered fresh to your home."','2025-11-18T09:01:21.914Z',1,'store-images/1766053828604.png'); -INSERT INTO store_info VALUES(4,'Vegetables','Fresh, handpicked vegetables delivered straight from trusted farms to your home. Enjoy clean, high-quality sabzi every day-healthy, natural, and full of freshness.','2025-12-18T04:23:40.707Z',1,'store-images/1766051618139.png'); -INSERT INTO store_info VALUES(8,'Demo2','Demo2 ','2026-03-21T09:35:33.855Z',1,'store-images/1774105532235.jpg'); -INSERT INTO store_info VALUES(9,'Test3','Test3','2026-03-21T23:18:44.202Z',1,'store-images/1774524652442.jpg'); -CREATE TABLE IF NOT EXISTS "units" ("id" INTEGER PRIMARY KEY, "short_notation" TEXT NOT NULL, "full_name" TEXT NOT NULL); -INSERT INTO units VALUES(1,'Kg','Kilogram'); -INSERT INTO units VALUES(2,'L','Litre'); -INSERT INTO units VALUES(3,'Dz','Dozen'); -INSERT INTO units VALUES(4,'Pc','Unit Piece'); -CREATE TABLE IF NOT EXISTS "unlogged_user_tokens" ("id" INTEGER PRIMARY KEY, "token" TEXT NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_verified" TEXT); -INSERT INTO unlogged_user_tokens VALUES(2,'ExponentPushToken[5NlYMFDaJDm9RH7N14zUrA]','2026-03-20T02:00:07.752Z','2026-03-20T02:00:07.748Z'); -INSERT INTO unlogged_user_tokens VALUES(3,'ExponentPushToken[QjoZ9xGsqPYMF2CJC_pv7e]','2026-03-20T02:11:22.747Z','2026-03-20T02:11:22.746Z'); -INSERT INTO unlogged_user_tokens VALUES(4,'ExponentPushToken[IAt9_oGP63t5X2AKTm-Z_r]','2026-03-20T03:32:58.675Z','2026-03-21T01:23:00.017Z'); -CREATE TABLE IF NOT EXISTS "upload_url_status" ("id" INTEGER PRIMARY KEY, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "key" TEXT NOT NULL, "status" TEXT NOT NULL DEFAULT 'pending'); -INSERT INTO upload_url_status VALUES(35,'2025-12-07T03:28:13.136Z','review-images/1765097892914.jpg','pending'); -INSERT INTO upload_url_status VALUES(36,'2025-12-07T03:28:13.347Z','review-images/1765097893129.png','pending'); -INSERT INTO upload_url_status VALUES(37,'2025-12-07T03:33:04.090Z','review-images/1765098183876.jpg','pending'); -INSERT INTO upload_url_status VALUES(38,'2025-12-07T03:36:01.524Z','review-images/1765098361309.jpg','pending'); -INSERT INTO upload_url_status VALUES(39,'2025-12-07T03:38:00.499Z','review-images/1765098480284.jpg','pending'); -INSERT INTO upload_url_status VALUES(40,'2025-12-07T03:40:38.378Z','review-images/1765098638162.jpg','pending'); -INSERT INTO upload_url_status VALUES(41,'2025-12-07T03:44:45.828Z','review-images/1765098885608.jpg','pending'); -INSERT INTO upload_url_status VALUES(42,'2025-12-07T03:44:46.024Z','review-images/1765098885808.png','pending'); -INSERT INTO upload_url_status VALUES(43,'2025-12-07T03:45:55.598Z','review-images/1765098955365.jpg','pending'); -INSERT INTO upload_url_status VALUES(44,'2025-12-07T03:48:02.893Z','review-images/1765099082661.jpg','pending'); -INSERT INTO upload_url_status VALUES(45,'2025-12-07T03:54:36.343Z','review-images/1765099476101.jpg','pending'); -INSERT INTO upload_url_status VALUES(46,'2025-12-07T03:54:36.534Z','review-images/1765099476297.png','pending'); -INSERT INTO upload_url_status VALUES(47,'2025-12-07T04:21:35.194Z','review-images/1765101095057.jpg','pending'); -INSERT INTO upload_url_status VALUES(48,'2025-12-07T04:21:35.389Z','review-images/1765101095257.png','pending'); -INSERT INTO upload_url_status VALUES(49,'2025-12-07T04:21:43.722Z','review-images/1765101103591.jpg','pending'); -INSERT INTO upload_url_status VALUES(50,'2025-12-07T04:21:43.890Z','review-images/1765101103758.png','pending'); -INSERT INTO upload_url_status VALUES(51,'2025-12-07T04:24:01.353Z','review-images/1765101241219.jpg','pending'); -INSERT INTO upload_url_status VALUES(52,'2025-12-07T05:37:42.847Z','review-images/1765105662736.jpg','pending'); -INSERT INTO upload_url_status VALUES(53,'2025-12-07T05:40:19.798Z','review-images/1765105819687.jpg','pending'); -INSERT INTO upload_url_status VALUES(54,'2025-12-07T05:43:50.973Z','review-images/1765106030866.jpg','pending'); -INSERT INTO upload_url_status VALUES(55,'2025-12-07T05:48:27.294Z','review-images/1765106307190.jpg','pending'); -INSERT INTO upload_url_status VALUES(56,'2025-12-07T05:49:52.911Z','review-images/1765106392806.jpg','claimed'); -INSERT INTO upload_url_status VALUES(57,'2025-12-07T06:28:47.323Z','review-images/1765108727182.jpg','claimed'); -INSERT INTO upload_url_status VALUES(58,'2025-12-07T06:30:52.243Z','review-images/1765108852104.jpg','claimed'); -INSERT INTO upload_url_status VALUES(59,'2025-12-07T09:35:32.784Z','review-images/1765119932782.jpg','claimed'); -INSERT INTO upload_url_status VALUES(60,'2025-12-07T09:35:32.803Z','review-images/1765119932802.jpg','claimed'); -INSERT INTO upload_url_status VALUES(61,'2025-12-07T09:35:35.171Z','review-images/1765119935171.jpg','claimed'); -INSERT INTO upload_url_status VALUES(62,'2025-12-07T09:35:35.175Z','review-images/1765119935174.jpg','claimed'); -INSERT INTO upload_url_status VALUES(63,'2025-12-08T12:07:24.062Z','store-images/1765215443815.jpg','pending'); -INSERT INTO upload_url_status VALUES(64,'2025-12-08T12:19:22.136Z','store-images/1765216161855.jpg','pending'); -INSERT INTO upload_url_status VALUES(65,'2025-12-08T12:19:50.299Z','store-images/1765216190015.jpg','pending'); -INSERT INTO upload_url_status VALUES(66,'2025-12-08T12:22:27.708Z','store-images/1765216347423.jpg','pending'); -INSERT INTO upload_url_status VALUES(67,'2025-12-08T12:23:17.627Z','store-images/1765216397341.jpg','pending'); -INSERT INTO upload_url_status VALUES(68,'2025-12-08T12:23:50.898Z','store-images/1765216430679.jpg','pending'); -INSERT INTO upload_url_status VALUES(69,'2025-12-08T12:26:57.233Z','store-images/1765216617009.jpg','pending'); -INSERT INTO upload_url_status VALUES(70,'2025-12-08T12:35:30.092Z','store-images/1765217129859.jpg','pending'); -INSERT INTO upload_url_status VALUES(71,'2025-12-08T13:04:22.371Z','store-images/1765218862137.jpg','pending'); -INSERT INTO upload_url_status VALUES(72,'2025-12-08T13:14:47.858Z','store-images/1765219487659.jpg','pending'); -INSERT INTO upload_url_status VALUES(73,'2025-12-08T13:17:53.380Z','store-images/1765219673182.jpg','pending'); -INSERT INTO upload_url_status VALUES(74,'2025-12-08T13:18:59.825Z','store-images/1765219739627.jpg','pending'); -INSERT INTO upload_url_status VALUES(75,'2025-12-08T13:19:11.635Z','store-images/1765219751441.png','pending'); -INSERT INTO upload_url_status VALUES(76,'2025-12-08T13:26:24.852Z','store-images/1765220184655.jpg','pending'); -INSERT INTO upload_url_status VALUES(77,'2025-12-18T04:23:38.142Z','store-images/1766051618139.png','pending'); -INSERT INTO upload_url_status VALUES(78,'2025-12-18T04:29:00.775Z','store-images/1766051940774.png','pending'); -INSERT INTO upload_url_status VALUES(79,'2025-12-18T04:31:13.748Z','store-images/1766052073748.png','pending'); -INSERT INTO upload_url_status VALUES(80,'2025-12-18T05:00:28.605Z','store-images/1766053828604.png','pending'); -INSERT INTO upload_url_status VALUES(81,'2025-12-19T02:24:01.803Z','store-images/1766130841801.png','pending'); -INSERT INTO upload_url_status VALUES(82,'2025-12-19T03:21:37.362Z','store-images/1766134297361.png','pending'); -INSERT INTO upload_url_status VALUES(83,'2025-12-19T09:36:54.727Z','store-images/1766156814725.jpg','pending'); -INSERT INTO upload_url_status VALUES(84,'2025-12-19T09:37:23.364Z','store-images/1766156843363.jpg','pending'); -INSERT INTO upload_url_status VALUES(85,'2025-12-19T09:48:15.263Z','review-images/1766157495262.jpg','claimed'); -INSERT INTO upload_url_status VALUES(86,'2025-12-19T09:48:16.653Z','review-images/1766157496653.jpg','claimed'); -INSERT INTO upload_url_status VALUES(87,'2025-12-22T11:38:49.581Z','review-images/1766423329579.jpg','claimed'); -INSERT INTO upload_url_status VALUES(88,'2025-12-24T05:08:16.926Z','review-images/1766572696924.jpg','pending'); -INSERT INTO upload_url_status VALUES(89,'2025-12-24T05:08:19.865Z','review-images/1766572699864.jpg','pending'); -INSERT INTO upload_url_status VALUES(90,'2025-12-24T05:08:20.373Z','review-images/1766572700372.jpg','pending'); -INSERT INTO upload_url_status VALUES(91,'2025-12-24T05:08:20.544Z','review-images/1766572700543.jpg','claimed'); -INSERT INTO upload_url_status VALUES(92,'2025-12-24T05:08:20.718Z','review-images/1766572700718.jpg','pending'); -INSERT INTO upload_url_status VALUES(93,'2025-12-24T05:08:20.880Z','review-images/1766572700880.jpg','claimed'); -INSERT INTO upload_url_status VALUES(94,'2025-12-24T05:08:21.138Z','review-images/1766572701138.jpg','claimed'); -INSERT INTO upload_url_status VALUES(95,'2025-12-24T05:08:21.266Z','review-images/1766572701266.jpg','claimed'); -INSERT INTO upload_url_status VALUES(96,'2025-12-24T05:08:21.491Z','review-images/1766572701490.jpg','claimed'); -INSERT INTO upload_url_status VALUES(97,'2025-12-31T01:38:50.807Z','store-images/1767164930805.jpg','pending'); -INSERT INTO upload_url_status VALUES(98,'2025-12-31T01:47:30.381Z','store-images/1767165450380.jpg','pending'); -INSERT INTO upload_url_status VALUES(99,'2025-12-31T03:50:22.326Z','store-images/1767172822325.jpg','pending'); -INSERT INTO upload_url_status VALUES(100,'2025-12-31T03:51:09.711Z','store-images/1767172869656.jpg','pending'); -INSERT INTO upload_url_status VALUES(101,'2025-12-31T03:52:27.878Z','store-images/1767172947808.jpg','pending'); -INSERT INTO upload_url_status VALUES(102,'2025-12-31T03:56:02.505Z','store-images/1767173162428.jpg','pending'); -INSERT INTO upload_url_status VALUES(103,'2025-12-31T03:57:38.564Z','store-images/1767173258487.jpg','pending'); -INSERT INTO upload_url_status VALUES(104,'2025-12-31T03:58:37.526Z','store-images/1767173317447.jpg','pending'); -INSERT INTO upload_url_status VALUES(105,'2025-12-31T03:59:01.794Z','store-images/1767173341715.jpg','pending'); -INSERT INTO upload_url_status VALUES(106,'2025-12-31T04:00:21.099Z','store-images/1767173421020.jpg','pending'); -INSERT INTO upload_url_status VALUES(107,'2025-12-31T04:02:13.724Z','store-images/1767173533644.jpg','pending'); -INSERT INTO upload_url_status VALUES(108,'2025-12-31T04:22:07.810Z','store-images/1767174727704.png','pending'); -INSERT INTO upload_url_status VALUES(109,'2025-12-31T04:23:31.985Z','store-images/1767174811880.png','pending'); -INSERT INTO upload_url_status VALUES(110,'2025-12-31T06:24:23.209Z','store-images/1767182063206.jpg','pending'); -INSERT INTO upload_url_status VALUES(111,'2026-01-01T05:10:51.927Z','store-images/1767264051926.png','pending'); -INSERT INTO upload_url_status VALUES(112,'2026-01-01T05:10:53.379Z','store-images/1767264053378.png','pending'); -INSERT INTO upload_url_status VALUES(113,'2026-01-03T04:36:07.083Z','store-images/1767434767082.png','pending'); -INSERT INTO upload_url_status VALUES(114,'2026-01-18T21:44:01.277Z','review-images/1768792441275.jpg','claimed'); -INSERT INTO upload_url_status VALUES(115,'2026-01-18T21:44:01.748Z','review-images/1768792441748.jpg','claimed'); -INSERT INTO upload_url_status VALUES(116,'2026-01-24T02:31:51.676Z','store-images/1769241711675.png','pending'); -INSERT INTO upload_url_status VALUES(117,'2026-02-05T03:14:05.023Z','store-images/1770281045021.jpg','pending'); -INSERT INTO upload_url_status VALUES(118,'2026-02-05T03:14:06.298Z','store-images/1770281046297.jpg','pending'); -INSERT INTO upload_url_status VALUES(119,'2026-02-06T20:13:56.019Z','store-images/1770428636017.png','pending'); -INSERT INTO upload_url_status VALUES(120,'2026-02-06T20:29:53.456Z','store-images/1770429593455.jpg','pending'); -INSERT INTO upload_url_status VALUES(121,'2026-02-08T09:05:45.256Z','notification-images/1770561345196.jpg','pending'); -INSERT INTO upload_url_status VALUES(122,'2026-02-08T09:10:44.302Z','notification-images/1770561644251.jpg','pending'); -INSERT INTO upload_url_status VALUES(123,'2026-02-08T09:12:48.344Z','notification-images/1770561768293.jpg','pending'); -INSERT INTO upload_url_status VALUES(124,'2026-02-08T09:16:02.798Z','notification-images/1770561962747.jpg','pending'); -INSERT INTO upload_url_status VALUES(125,'2026-02-08T09:18:25.414Z','notification-images/1770562105363.jpg','pending'); -INSERT INTO upload_url_status VALUES(126,'2026-02-08T09:20:51.168Z','notification-images/1770562251117.jpg','pending'); -INSERT INTO upload_url_status VALUES(127,'2026-02-08T09:25:03.084Z','notification-images/1770562502985.jpg','pending'); -INSERT INTO upload_url_status VALUES(128,'2026-02-08T09:28:10.135Z','notification-images/1770562690047.jpg','pending'); -INSERT INTO upload_url_status VALUES(129,'2026-02-08T09:29:29.284Z','notification-images/1770562769196.jpg','pending'); -INSERT INTO upload_url_status VALUES(130,'2026-02-08T09:30:26.055Z','notification-images/1770562825967.jpg','pending'); -INSERT INTO upload_url_status VALUES(131,'2026-02-08T09:38:15.554Z','notification-images/1770563295459.jpg','pending'); -INSERT INTO upload_url_status VALUES(132,'2026-02-08T10:10:16.618Z','notification-images/1770565216512.jpg','pending'); -INSERT INTO upload_url_status VALUES(133,'2026-02-08T10:11:54.181Z','notification-images/1770565314077.jpg','pending'); -INSERT INTO upload_url_status VALUES(134,'2026-02-08T10:15:57.611Z','notification-images/1770565557504.jpg','pending'); -INSERT INTO upload_url_status VALUES(135,'2026-02-08T10:20:10.883Z','notification-images/1770565810774.jpg','pending'); -INSERT INTO upload_url_status VALUES(136,'2026-02-08T10:21:46.053Z','notification-images/1770565905943.jpg','pending'); -INSERT INTO upload_url_status VALUES(137,'2026-02-08T13:20:07.705Z','notification-images/1770576607704.jpg','pending'); -INSERT INTO upload_url_status VALUES(170,'2026-03-20T09:16:34.603Z','store-images/1774017994443.jpg','pending'); -INSERT INTO upload_url_status VALUES(171,'2026-03-20T09:17:04.596Z','store-images/1774018024432.jpg','pending'); -INSERT INTO upload_url_status VALUES(172,'2026-03-20T09:20:04.863Z','store-images/1774018204689.jpg','pending'); -INSERT INTO upload_url_status VALUES(173,'2026-03-20T09:20:57.508Z','store-images/1774018257330.jpg','pending'); -INSERT INTO upload_url_status VALUES(174,'2026-03-20T09:22:44.445Z','store-images/1774018364266.jpg','pending'); -INSERT INTO upload_url_status VALUES(175,'2026-03-21T09:24:15.290Z','store-images/1774104855151.jpg','pending'); -INSERT INTO upload_url_status VALUES(176,'2026-03-21T09:34:11.705Z','store-images/1774105451535.jpg','pending'); -INSERT INTO upload_url_status VALUES(177,'2026-03-21T09:35:32.404Z','store-images/1774105532235.jpg','pending'); -INSERT INTO upload_url_status VALUES(178,'2026-03-21T10:37:23.303Z','product-images/1774109243042.jpg','pending'); -INSERT INTO upload_url_status VALUES(179,'2026-03-21T10:37:23.532Z','product-images/1774109243274.jpg','pending'); -INSERT INTO upload_url_status VALUES(180,'2026-03-21T10:39:51.342Z','product-images/1774109391069.jpg','pending'); -INSERT INTO upload_url_status VALUES(181,'2026-03-21T10:39:51.668Z','product-images/1774109391409.jpg','pending'); -INSERT INTO upload_url_status VALUES(182,'2026-03-21T10:44:02.249Z','product-images/1774109641982.jpg','pending'); -INSERT INTO upload_url_status VALUES(183,'2026-03-21T10:44:02.477Z','product-images/1774109642211.jpg','pending'); -INSERT INTO upload_url_status VALUES(184,'2026-03-21T10:47:55.364Z','product-images/1774109875092.jpg','claimed'); -INSERT INTO upload_url_status VALUES(185,'2026-03-21T10:47:55.552Z','product-images/1774109875283.jpg','claimed'); -INSERT INTO upload_url_status VALUES(186,'2026-03-21T10:53:34.410Z','product-images/1774110214128.jpg','claimed'); -INSERT INTO upload_url_status VALUES(187,'2026-03-21T11:05:02.699Z','product-images/1774110902472.jpg','claimed'); -INSERT INTO upload_url_status VALUES(188,'2026-03-21T11:05:46.485Z','product-images/1774110946273.jpg','claimed'); -INSERT INTO upload_url_status VALUES(189,'2026-03-21T11:05:46.696Z','product-images/1774110946486.jpg','claimed'); -INSERT INTO upload_url_status VALUES(190,'2026-03-21T11:06:37.135Z','product-images/1774110996916.jpg','claimed'); -INSERT INTO upload_url_status VALUES(191,'2026-03-21T11:21:57.523Z','product-images/1774111917349.jpg','claimed'); -INSERT INTO upload_url_status VALUES(192,'2026-03-21T11:21:57.776Z','product-images/1774111917606.jpg','claimed'); -INSERT INTO upload_url_status VALUES(193,'2026-03-21T11:22:57.142Z','product-images/1774111976967.jpg','claimed'); -INSERT INTO upload_url_status VALUES(194,'2026-03-21T11:22:57.326Z','product-images/1774111977156.jpg','claimed'); -INSERT INTO upload_url_status VALUES(195,'2026-03-21T12:20:31.649Z','product-images/1774115431487.jpg','claimed'); -INSERT INTO upload_url_status VALUES(196,'2026-03-21T12:34:26.218Z','product-images/1774116266063.jpg','claimed'); -INSERT INTO upload_url_status VALUES(197,'2026-03-21T23:15:45.311Z','store-images/1774154745204.jpg','pending'); -INSERT INTO upload_url_status VALUES(198,'2026-03-21T23:18:41.659Z','store-images/1774154921529.jpg','pending'); -INSERT INTO upload_url_status VALUES(199,'2026-03-21T23:18:53.275Z','store-images/1774154933114.jpg','pending'); -INSERT INTO upload_url_status VALUES(200,'2026-03-22T00:28:59.866Z','profile-images/1774159139649.jpg','claimed'); -INSERT INTO upload_url_status VALUES(201,'2026-03-22T00:40:45.910Z','profile-images/1774159845659.jpg','claimed'); -INSERT INTO upload_url_status VALUES(202,'2026-03-22T04:45:38.531Z','complaint-images/1774174538370.jpg','claimed'); -INSERT INTO upload_url_status VALUES(203,'2026-03-22T04:57:50.211Z','complaint-images/1774175270043.jpg','claimed'); -INSERT INTO upload_url_status VALUES(204,'2026-03-22T05:06:00.920Z','complaint-images/1774175760765.jpg','claimed'); -INSERT INTO upload_url_status VALUES(205,'2026-03-22T05:08:54.126Z','complaint-images/1774175933889.jpg','claimed'); -INSERT INTO upload_url_status VALUES(206,'2026-03-22T05:10:03.192Z','complaint-images/1774176003038.jpg','claimed'); -INSERT INTO upload_url_status VALUES(207,'2026-03-22T05:10:03.381Z','complaint-images/1774176003229.jpg','claimed'); -INSERT INTO upload_url_status VALUES(208,'2026-03-22T05:10:03.567Z','complaint-images/1774176003414.jpg','claimed'); -INSERT INTO upload_url_status VALUES(209,'2026-03-24T09:49:20.825Z','store-images/1774365560714.jpg','pending'); -INSERT INTO upload_url_status VALUES(210,'2026-03-26T05:56:41.671Z','profile-images/1774524401549.jpg','pending'); -INSERT INTO upload_url_status VALUES(211,'2026-03-26T05:58:44.761Z','product-images/1774524524649.jpg','claimed'); -INSERT INTO upload_url_status VALUES(212,'2026-03-26T05:58:44.957Z','product-images/1774524524845.jpg','claimed'); -INSERT INTO upload_url_status VALUES(213,'2026-03-26T05:58:45.145Z','product-images/1774524525034.jpg','claimed'); -INSERT INTO upload_url_status VALUES(214,'2026-03-26T05:58:45.334Z','product-images/1774524525222.jpg','claimed'); -INSERT INTO upload_url_status VALUES(215,'2026-03-26T06:00:52.552Z','store-images/1774524652442.jpg','pending'); -INSERT INTO upload_url_status VALUES(216,'2026-03-26T06:15:11.287Z','product-images/1774525511146.jpg','claimed'); -CREATE TABLE IF NOT EXISTS "user_creds" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "user_password" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO user_creds VALUES(2,1,'$2b$10$aJacFZFCniKqXOewMIlznOsEKcTJa/ji7xBU2dhHsioxTC0mR9BvK','2025-11-19T12:00:25.180Z'); -INSERT INTO user_creds VALUES(3,17,'$2b$10$mn/CpXmKq.dKgeH2gHtKk.IvlgQyahG2tCpD8k42mPOEysWoO3pti','2025-12-19T03:44:09.761Z'); -CREATE TABLE IF NOT EXISTS "user_details" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "bio" TEXT, "date_of_birth" TEXT, "gender" TEXT, "occupation" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "profile_image" TEXT, "is_suspended" INTEGER NOT NULL DEFAULT false); -INSERT INTO user_details VALUES(1,1,NULL,NULL,NULL,NULL,'2025-11-18T10:56:21.130Z','2026-03-26T05:56:44.292Z','profile-images/1774524401549.jpg',0); -INSERT INTO user_details VALUES(2,2,NULL,NULL,NULL,NULL,'2025-11-28T14:47:57.109Z','2025-11-28T14:47:57.109Z',NULL,0); -INSERT INTO user_details VALUES(6,4,NULL,NULL,NULL,NULL,'2025-12-02T09:58:27.226Z','2025-12-02T10:02:29.066Z','profile-images/1764689548097-1000159418.jpg',0); -INSERT INTO user_details VALUES(7,16,NULL,NULL,NULL,NULL,'2025-12-19T01:45:00.531Z','2025-12-19T01:45:00.530Z',NULL,0); -INSERT INTO user_details VALUES(8,17,NULL,NULL,NULL,NULL,'2025-12-19T03:43:18.108Z','2025-12-20T05:54:43.942Z','profile-images/1766229878891-1000167980.jpg',0); -INSERT INTO user_details VALUES(9,22,NULL,NULL,NULL,NULL,'2026-01-18T01:00:42.356Z','2026-01-18T01:00:42.355Z',NULL,0); -INSERT INTO user_details VALUES(10,54,NULL,NULL,NULL,NULL,'2026-01-26T06:43:25.929Z','2026-01-26T06:43:25.928Z',NULL,0); -INSERT INTO user_details VALUES(11,61,NULL,NULL,NULL,NULL,'2026-01-26T23:34:37.576Z','2026-01-26T23:34:37.575Z',NULL,0); -INSERT INTO user_details VALUES(12,62,NULL,NULL,NULL,NULL,'2026-01-27T00:04:43.010Z','2026-01-27T00:04:43.009Z',NULL,0); -INSERT INTO user_details VALUES(13,107,NULL,NULL,NULL,NULL,'2026-02-06T02:46:48.046Z','2026-02-06T02:46:48.045Z',NULL,0); -INSERT INTO user_details VALUES(14,91,NULL,NULL,NULL,NULL,'2026-02-07T04:18:52.616Z','2026-02-07T04:18:52.615Z',NULL,0); -INSERT INTO user_details VALUES(15,121,NULL,NULL,NULL,NULL,'2026-02-08T10:09:19.571Z','2026-02-08T10:09:19.571Z',NULL,1); -INSERT INTO user_details VALUES(16,12,NULL,NULL,NULL,NULL,'2026-02-08T10:09:58.357Z','2026-02-08T10:09:58.357Z',NULL,0); -INSERT INTO user_details VALUES(17,145,NULL,NULL,NULL,NULL,'2026-02-18T03:41:32.333Z','2026-02-18T03:41:32.332Z',NULL,0); -INSERT INTO user_details VALUES(18,159,NULL,NULL,NULL,NULL,'2026-02-19T04:08:47.047Z','2026-02-19T04:08:47.046Z',NULL,0); -INSERT INTO user_details VALUES(19,151,NULL,NULL,NULL,NULL,'2026-02-19T06:13:14.187Z','2026-02-19T06:13:14.186Z',NULL,0); -INSERT INTO user_details VALUES(20,140,NULL,NULL,NULL,NULL,'2026-02-20T03:30:19.023Z','2026-02-20T03:30:19.022Z',NULL,0); -INSERT INTO user_details VALUES(21,172,NULL,NULL,NULL,NULL,'2026-02-20T04:04:44.392Z','2026-02-20T04:04:44.391Z',NULL,0); -INSERT INTO user_details VALUES(22,184,NULL,NULL,NULL,NULL,'2026-02-22T00:49:25.502Z','2026-02-22T00:51:54.175Z','profile-images/1771741313402-1000001181.jpg',0); -INSERT INTO user_details VALUES(23,99,NULL,NULL,NULL,NULL,'2026-02-22T04:52:08.552Z','2026-02-22T04:52:08.551Z',NULL,0); -INSERT INTO user_details VALUES(56,265,NULL,NULL,NULL,NULL,'2026-03-22T00:29:01.903Z','2026-03-22T00:29:01.903Z','profile-images/1774159845659.jpg',0); -CREATE TABLE IF NOT EXISTS "user_incidents" ("id" INTEGER PRIMARY KEY, "user_id" INTEGER NOT NULL, "order_id" INTEGER, "date_added" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "admin_comment" TEXT, "added_by" INTEGER, "negativity_score" INTEGER); -INSERT INTO user_incidents VALUES(1,1,384,'2026-03-04T10:40:45.532Z','Not Paying Money',1,2); -CREATE TABLE IF NOT EXISTS "user_notifications" ("id" INTEGER PRIMARY KEY, "image_url" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "body" TEXT NOT NULL, "applicable_users" TEXT, "title" TEXT NOT NULL); -INSERT INTO user_notifications VALUES(21,NULL,'2026-02-08T23:51:32.312Z',replace(replace('Van Winkle liked hunting, too. He liked going to the mountains to shoot squirrels. \r\nHe also liked sitting in the mountains and watching the world below—the','\r',char(13)),'\n',char(10)),'[1]','Hii'); -INSERT INTO user_notifications VALUES(22,NULL,'2026-02-09T03:28:19.744Z','Test Notification','[65]','Hello'); -INSERT INTO user_notifications VALUES(23,NULL,'2026-02-09T03:29:52.024Z','Hello','[1,65]','Hello'); -INSERT INTO user_notifications VALUES(24,NULL,'2026-02-20T07:52:30.399Z','Freshyo','[2]','Qusham'); -INSERT INTO user_notifications VALUES(25,NULL,'2026-02-23T02:20:51.468Z','Buy fresh, juicy and titillating fruits. Order Now!','[2,3,6,7,4,9,12,21,24,26,1,38,39,22,50,64,65,66,74,82,98,102,107,113,115,118,91,119,120,121,122,123,124,125,127,128,129,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,158,160,159,161,162,151,163,164,166,165,167,140,169,170,172,173,174,175,176,177,178,179,180,181,182,183,185,186,188,189,191,190,194,184,221,220,219,217,216,215,214,213,212,210,99,209,208,207,206,205,204,203,202,201,200,199,198,197,196,195]','Mesmerizing Fruits'); -CREATE TABLE IF NOT EXISTS "users" ("id" INTEGER PRIMARY KEY, "name" TEXT, "email" TEXT, "mobile" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO users VALUES(1,'Mohammed Shafiuddin','mohammedshafiuddin54@gmail.com','9676651496','2025-11-18T08:35:55.801Z'); -INSERT INTO users VALUES(2,NULL,NULL,'8688182552','2025-11-19T06:34:47.086Z'); -INSERT INTO users VALUES(3,NULL,NULL,'9000190484','2025-11-19T07:06:09.284Z'); -INSERT INTO users VALUES(4,'Saniya','saniya123@gmail.com','8688326100','2025-11-20T11:58:13.296Z'); -INSERT INTO users VALUES(5,NULL,NULL,'7093212611','2025-11-22T05:35:41.069Z'); -INSERT INTO users VALUES(6,NULL,NULL,'9346436140','2025-11-22T09:02:42.569Z'); -INSERT INTO users VALUES(7,NULL,NULL,'7386623412','2025-11-28T22:18:57.177Z'); -INSERT INTO users VALUES(8,NULL,NULL,'7675084307','2025-11-29T08:33:35.481Z'); -INSERT INTO users VALUES(9,NULL,NULL,'8985081850','2025-12-07T21:58:30.768Z'); -INSERT INTO users VALUES(10,NULL,NULL,'8121258519','2025-12-07T23:16:29.228Z'); -INSERT INTO users VALUES(11,NULL,NULL,'8639236092','2025-12-14T07:50:29.893Z'); -INSERT INTO users VALUES(12,NULL,NULL,'6302478945','2025-12-18T05:03:06.218Z'); -INSERT INTO users VALUES(13,NULL,NULL,'7095705186','2025-12-19T00:31:43.745Z'); -INSERT INTO users VALUES(14,NULL,NULL,'9390567030','2025-12-19T00:52:18.278Z'); -INSERT INTO users VALUES(15,NULL,NULL,'9866116948','2025-12-19T00:58:58.593Z'); -INSERT INTO users VALUES(16,'pradeep','pradeepdeep484@gmail.com','7799420184','2025-12-19T01:44:25.069Z'); -INSERT INTO users VALUES(17,'Bha','sbhavanikumar2016@gmail.com','7013167289','2025-12-19T03:01:17.931Z'); -INSERT INTO users VALUES(18,NULL,NULL,'9381316634','2025-12-19T04:51:00.938Z'); -INSERT INTO users VALUES(19,NULL,NULL,'9398972993','2025-12-19T08:55:04.116Z'); -INSERT INTO users VALUES(20,NULL,NULL,'9676010763','2025-12-22T09:03:04.773Z'); -INSERT INTO users VALUES(21,NULL,NULL,'9701690010','2025-12-22T12:29:08.147Z'); -INSERT INTO users VALUES(22,'Nawaz','afunawaz@gmail.com','8885456295','2025-12-23T21:05:27.523Z'); -INSERT INTO users VALUES(23,NULL,NULL,'9247242246','2025-12-25T13:27:14.313Z'); -INSERT INTO users VALUES(24,NULL,NULL,'9948350118','2025-12-27T12:57:43.504Z'); -INSERT INTO users VALUES(25,NULL,NULL,'9848296296','2025-12-31T14:49:04.015Z'); -INSERT INTO users VALUES(26,NULL,NULL,'9652180398','2026-01-03T02:42:08.528Z'); -INSERT INTO users VALUES(27,NULL,NULL,'8074020144','2026-01-05T04:44:15.312Z'); -INSERT INTO users VALUES(28,NULL,NULL,'7382343977','2026-01-05T09:08:25.774Z'); -INSERT INTO users VALUES(29,NULL,NULL,'6302300646','2026-01-06T04:28:48.967Z'); -INSERT INTO users VALUES(30,NULL,NULL,'8341217812','2026-01-06T07:44:49.015Z'); -INSERT INTO users VALUES(31,NULL,NULL,'7601003021','2026-01-12T02:18:41.456Z'); -INSERT INTO users VALUES(32,NULL,NULL,'8919304169','2026-01-12T02:56:48.668Z'); -INSERT INTO users VALUES(33,NULL,NULL,'9059529741','2026-01-13T09:20:02.174Z'); -INSERT INTO users VALUES(34,NULL,NULL,'9985254508','2026-01-13T09:25:27.981Z'); -INSERT INTO users VALUES(35,NULL,NULL,'6304804044','2026-01-13T09:29:31.683Z'); -INSERT INTO users VALUES(36,NULL,NULL,'6281222530','2026-01-13T16:42:02.068Z'); -INSERT INTO users VALUES(37,NULL,NULL,'8555038131','2026-01-14T09:28:43.382Z'); -INSERT INTO users VALUES(38,NULL,NULL,'9492230173','2026-01-15T03:25:50.547Z'); -INSERT INTO users VALUES(39,NULL,NULL,'6281768720','2026-01-16T06:33:17.501Z'); -INSERT INTO users VALUES(40,NULL,NULL,'8790196183','2026-01-18T11:31:13.136Z'); -INSERT INTO users VALUES(41,NULL,NULL,'9618451678','2026-01-20T04:07:45.096Z'); -INSERT INTO users VALUES(42,NULL,NULL,'8019548522','2026-01-21T00:01:02.852Z'); -INSERT INTO users VALUES(43,NULL,NULL,'9985751104','2026-01-22T06:40:13.655Z'); -INSERT INTO users VALUES(44,NULL,NULL,'6302138817','2026-01-22T06:55:55.593Z'); -INSERT INTO users VALUES(45,NULL,NULL,'7989242921','2026-01-22T06:57:29.593Z'); -INSERT INTO users VALUES(46,NULL,NULL,'9392266793','2026-01-22T07:00:03.023Z'); -INSERT INTO users VALUES(47,NULL,NULL,'7013843505','2026-01-22T07:16:37.997Z'); -INSERT INTO users VALUES(48,NULL,NULL,'9642200622','2026-01-23T07:57:20.233Z'); -INSERT INTO users VALUES(49,NULL,NULL,'9182043867','2026-01-23T13:48:07.569Z'); -INSERT INTO users VALUES(50,NULL,NULL,'9390338662','2026-01-23T13:57:09.989Z'); -INSERT INTO users VALUES(51,NULL,NULL,'8686465444','2026-01-23T22:48:49.770Z'); -INSERT INTO users VALUES(52,NULL,NULL,'8121807322','2026-01-26T00:53:18.325Z'); -INSERT INTO users VALUES(53,NULL,NULL,'8886868702','2026-01-26T02:32:51.301Z'); -INSERT INTO users VALUES(54,'Abdul ahad','umizazarieshzarish@gmail.com','9849759289','2026-01-26T06:39:06.569Z'); -INSERT INTO users VALUES(55,NULL,NULL,'7780659850','2026-01-26T09:29:28.984Z'); -INSERT INTO users VALUES(56,NULL,NULL,'7396924154','2026-01-26T09:46:27.950Z'); -INSERT INTO users VALUES(57,NULL,NULL,'9515837506','2026-01-26T10:09:05.694Z'); -INSERT INTO users VALUES(58,NULL,NULL,'9603333080','2026-01-26T11:52:06.161Z'); -INSERT INTO users VALUES(59,NULL,NULL,'9490585051','2026-01-26T13:07:07.742Z'); -INSERT INTO users VALUES(60,NULL,NULL,'8331989727','2026-01-26T22:19:45.345Z'); -INSERT INTO users VALUES(61,'Mohd Zubair khan','mohdzubair772@gmail.com','7729916250','2026-01-26T23:32:23.837Z'); -INSERT INTO users VALUES(62,'Aftab Ur Rahman','aftabaffu333@gmail.com','7671939155','2026-01-27T00:04:08.085Z'); -INSERT INTO users VALUES(63,NULL,NULL,'8328161112','2026-01-27T04:36:03.156Z'); -INSERT INTO users VALUES(64,NULL,NULL,'9985383270','2026-01-27T06:41:11.387Z'); -INSERT INTO users VALUES(65,NULL,NULL,'9381637374','2026-01-27T11:27:44.071Z'); -INSERT INTO users VALUES(66,NULL,NULL,'9618791714','2026-01-28T01:24:44.881Z'); -INSERT INTO users VALUES(67,NULL,NULL,'8297666911','2026-01-28T01:57:03.995Z'); -INSERT INTO users VALUES(68,NULL,NULL,'9441204280','2026-01-29T10:32:41.779Z'); -INSERT INTO users VALUES(69,NULL,NULL,'9949548015','2026-01-29T22:47:42.263Z'); -INSERT INTO users VALUES(70,NULL,NULL,'7842638264','2026-01-30T01:44:38.667Z'); -INSERT INTO users VALUES(71,NULL,NULL,'9110314975','2026-01-30T03:46:01.334Z'); -INSERT INTO users VALUES(72,NULL,NULL,'8686544418','2026-01-30T06:32:47.754Z'); -INSERT INTO users VALUES(73,NULL,NULL,'9652801308','2026-01-30T08:47:09.826Z'); -INSERT INTO users VALUES(74,NULL,NULL,'8639145664','2026-01-30T08:49:55.471Z'); -INSERT INTO users VALUES(75,NULL,NULL,'9966786521','2026-01-30T09:36:21.649Z'); -INSERT INTO users VALUES(76,NULL,NULL,'6300352629','2026-01-30T09:48:12.235Z'); -INSERT INTO users VALUES(77,NULL,NULL,'7287952112','2026-01-30T14:04:00.794Z'); -INSERT INTO users VALUES(78,NULL,NULL,'9059201201','2026-01-31T04:21:03.872Z'); -INSERT INTO users VALUES(79,NULL,NULL,'9701896405','2026-01-31T05:02:06.385Z'); -INSERT INTO users VALUES(80,NULL,NULL,'8897763408','2026-01-31T09:04:31.842Z'); -INSERT INTO users VALUES(81,NULL,NULL,'9652338446','2026-01-31T11:30:05.039Z'); -INSERT INTO users VALUES(82,NULL,NULL,'7981337554','2026-02-01T01:01:39.061Z'); -INSERT INTO users VALUES(83,NULL,NULL,'9441740551','2026-02-01T02:09:00.953Z'); -INSERT INTO users VALUES(84,NULL,NULL,'8639762655','2026-02-01T04:27:54.485Z'); -INSERT INTO users VALUES(85,NULL,NULL,'8897076204','2026-02-01T04:28:15.894Z'); -INSERT INTO users VALUES(86,NULL,NULL,'9121585783','2026-02-01T05:43:59.004Z'); -INSERT INTO users VALUES(87,NULL,NULL,'6301552539','2026-02-01T07:09:19.500Z'); -INSERT INTO users VALUES(88,NULL,NULL,'9398199100','2026-02-01T10:05:52.738Z'); -INSERT INTO users VALUES(89,NULL,NULL,'8919308867','2026-02-01T23:24:10.239Z'); -INSERT INTO users VALUES(90,NULL,NULL,'8688629245','2026-02-02T03:47:50.938Z'); -INSERT INTO users VALUES(91,'P Praveen Goud','ppraveengoud95@gmail.com','9347168525','2026-02-02T04:24:13.149Z'); -INSERT INTO users VALUES(92,NULL,NULL,'6305442889','2026-02-02T04:51:19.029Z'); -INSERT INTO users VALUES(93,NULL,NULL,'9705107988','2026-02-02T04:55:39.662Z'); -INSERT INTO users VALUES(94,NULL,NULL,'9392974026','2026-02-02T05:57:56.245Z'); -INSERT INTO users VALUES(95,NULL,NULL,'6301612623','2026-02-02T06:38:42.733Z'); -INSERT INTO users VALUES(96,NULL,NULL,'9848466280','2026-02-02T08:27:54.916Z'); -INSERT INTO users VALUES(97,NULL,NULL,'8522862163','2026-02-02T23:55:27.426Z'); -INSERT INTO users VALUES(98,NULL,NULL,'9381165946','2026-02-03T00:25:04.574Z'); -INSERT INTO users VALUES(99,'Saniya Shafeen','shafeensaniya45@gmail.com','7893499520','2026-02-03T04:39:25.892Z'); -INSERT INTO users VALUES(100,NULL,NULL,'6304650114','2026-02-03T09:18:43.200Z'); -INSERT INTO users VALUES(101,NULL,NULL,'9502114234','2026-02-04T00:14:08.656Z'); -INSERT INTO users VALUES(102,NULL,NULL,'9985202474','2026-02-04T08:47:28.278Z'); -INSERT INTO users VALUES(103,NULL,NULL,'6302119072','2026-02-05T03:14:11.453Z'); -INSERT INTO users VALUES(104,NULL,NULL,'7981006980','2026-02-05T03:16:32.728Z'); -INSERT INTO users VALUES(105,NULL,NULL,'9063857682','2026-02-05T22:57:15.947Z'); -INSERT INTO users VALUES(106,NULL,NULL,'9701261238','2026-02-06T02:43:06.599Z'); -INSERT INTO users VALUES(107,'Saad bin shafi','saadhindustanigamer@gmail.com','9573989830','2026-02-06T02:46:25.903Z'); -INSERT INTO users VALUES(108,NULL,NULL,'9949035807','2026-02-06T03:09:58.138Z'); -INSERT INTO users VALUES(109,NULL,NULL,'9063508083','2026-02-06T03:12:31.689Z'); -INSERT INTO users VALUES(110,NULL,NULL,'9985261902','2026-02-06T03:15:56.628Z'); -INSERT INTO users VALUES(111,NULL,NULL,'8106483142','2026-02-06T04:10:51.372Z'); -INSERT INTO users VALUES(112,NULL,NULL,'9542134959','2026-02-06T04:26:57.486Z'); -INSERT INTO users VALUES(113,NULL,NULL,'9052741123','2026-02-06T04:59:13.973Z'); -INSERT INTO users VALUES(114,NULL,NULL,'9052323490','2026-02-06T05:37:18.707Z'); -INSERT INTO users VALUES(115,NULL,NULL,'9949055660','2026-02-06T10:09:32.042Z'); -INSERT INTO users VALUES(116,NULL,NULL,'9885525123','2026-02-06T11:09:45.755Z'); -INSERT INTO users VALUES(117,NULL,NULL,'7013765027','2026-02-06T15:19:32.458Z'); -INSERT INTO users VALUES(118,NULL,NULL,'9966022031','2026-02-06T22:54:18.273Z'); -INSERT INTO users VALUES(119,NULL,NULL,'9059318255','2026-02-07T07:04:29.373Z'); -INSERT INTO users VALUES(120,NULL,NULL,'7013641457','2026-02-07T23:09:49.039Z'); -INSERT INTO users VALUES(121,NULL,NULL,'8639958133','2026-02-08T00:39:50.553Z'); -INSERT INTO users VALUES(122,NULL,NULL,'9642339427','2026-02-08T04:30:06.375Z'); -INSERT INTO users VALUES(123,NULL,NULL,'6305184261','2026-02-09T05:48:49.256Z'); -INSERT INTO users VALUES(124,NULL,NULL,'7993504221','2026-02-09T06:32:24.848Z'); -INSERT INTO users VALUES(125,NULL,NULL,'8341078342','2026-02-09T07:54:10.686Z'); -INSERT INTO users VALUES(126,NULL,NULL,'6305464103','2026-02-09T12:28:45.736Z'); -INSERT INTO users VALUES(127,NULL,NULL,'7989653339','2026-02-10T05:33:41.303Z'); -INSERT INTO users VALUES(128,NULL,NULL,'7032235482','2026-02-12T03:16:41.897Z'); -INSERT INTO users VALUES(129,NULL,NULL,'9581686892','2026-02-12T07:57:59.947Z'); -INSERT INTO users VALUES(130,NULL,NULL,'9912951895','2026-02-14T02:35:40.864Z'); -INSERT INTO users VALUES(131,NULL,NULL,'9966710280','2026-02-14T04:55:40.255Z'); -INSERT INTO users VALUES(132,NULL,NULL,'9110526651','2026-02-14T23:05:21.765Z'); -INSERT INTO users VALUES(133,NULL,NULL,'9398533610','2026-02-15T01:15:30.327Z'); -INSERT INTO users VALUES(134,NULL,NULL,'9133621540','2026-02-16T04:00:23.915Z'); -INSERT INTO users VALUES(135,NULL,NULL,'8660801043','2026-02-17T03:29:12.461Z'); -INSERT INTO users VALUES(136,NULL,NULL,'9390785046','2026-02-17T07:26:31.443Z'); -INSERT INTO users VALUES(137,NULL,NULL,'8555938403','2026-02-17T08:52:01.136Z'); -INSERT INTO users VALUES(138,NULL,NULL,'8328369823','2026-02-17T09:06:40.132Z'); -INSERT INTO users VALUES(139,NULL,NULL,'8143905611','2026-02-17T09:20:24.409Z'); -INSERT INTO users VALUES(140,'Sara','iiamsara554@gmail.com','9848738554','2026-02-17T13:47:07.407Z'); -INSERT INTO users VALUES(141,NULL,NULL,'8919042963','2026-02-17T19:44:41.712Z'); -INSERT INTO users VALUES(142,NULL,NULL,'9490020005','2026-02-17T22:23:19.414Z'); -INSERT INTO users VALUES(143,NULL,NULL,'7286888001','2026-02-17T22:54:09.153Z'); -INSERT INTO users VALUES(144,NULL,NULL,'7981140388','2026-02-18T03:32:55.242Z'); -INSERT INTO users VALUES(145,'Naheed','mohammednaheed007@gmail.com','8179264991','2026-02-18T03:39:58.246Z'); -INSERT INTO users VALUES(146,NULL,NULL,'9392457825','2026-02-18T04:29:38.244Z'); -INSERT INTO users VALUES(147,NULL,NULL,'9885579134','2026-02-18T05:14:12.703Z'); -INSERT INTO users VALUES(148,NULL,NULL,'9100529645','2026-02-18T07:29:50.622Z'); -INSERT INTO users VALUES(149,NULL,NULL,'8519862344','2026-02-18T09:09:16.387Z'); -INSERT INTO users VALUES(150,NULL,NULL,'9700630611','2026-02-18T09:11:40.075Z'); -INSERT INTO users VALUES(151,'Anjum','anjuman2504@gmail.com','9346508676','2026-02-18T09:21:02.267Z'); -INSERT INTO users VALUES(152,NULL,NULL,'6300961220','2026-02-18T10:43:20.416Z'); -INSERT INTO users VALUES(153,NULL,NULL,'9618363653','2026-02-18T13:29:45.209Z'); -INSERT INTO users VALUES(154,NULL,NULL,'7981078600','2026-02-18T23:28:16.145Z'); -INSERT INTO users VALUES(155,NULL,NULL,'9010023867','2026-02-18T23:41:27.596Z'); -INSERT INTO users VALUES(156,NULL,NULL,'9381371156','2026-02-18T23:57:31.708Z'); -INSERT INTO users VALUES(157,NULL,NULL,'6300072507','2026-02-19T01:25:16.627Z'); -INSERT INTO users VALUES(158,NULL,NULL,'9381289050','2026-02-19T01:44:34.090Z'); -INSERT INTO users VALUES(159,'Mohd.Mujahid','mujahidmohd953@gmail.com','9182114853','2026-02-19T03:38:52.038Z'); -INSERT INTO users VALUES(160,NULL,NULL,'9642417025','2026-02-19T03:46:24.011Z'); -INSERT INTO users VALUES(161,NULL,NULL,'8008981838','2026-02-19T04:25:22.873Z'); -INSERT INTO users VALUES(162,NULL,NULL,'6302798105','2026-02-19T05:06:14.768Z'); -INSERT INTO users VALUES(163,NULL,NULL,'7032026589','2026-02-19T06:46:48.871Z'); -INSERT INTO users VALUES(164,NULL,NULL,'7989819435','2026-02-19T07:01:00.060Z'); -INSERT INTO users VALUES(165,NULL,NULL,'6281349676','2026-02-19T10:26:45.515Z'); -INSERT INTO users VALUES(166,NULL,NULL,'7013950981','2026-02-19T12:05:05.705Z'); -INSERT INTO users VALUES(167,NULL,NULL,'9550936995','2026-02-20T03:19:18.911Z'); -INSERT INTO users VALUES(168,NULL,NULL,'8498937807','2026-02-20T03:28:19.863Z'); -INSERT INTO users VALUES(169,NULL,NULL,'7799420422','2026-02-20T03:35:55.512Z'); -INSERT INTO users VALUES(170,NULL,NULL,'9901294914','2026-02-20T03:53:54.048Z'); -INSERT INTO users VALUES(171,NULL,NULL,'6281738569','2026-02-20T03:55:41.510Z'); -INSERT INTO users VALUES(172,'Irfan','md.irfan.s@gmail.com','6300758922','2026-02-20T04:00:52.359Z'); -INSERT INTO users VALUES(173,NULL,NULL,'8978932551','2026-02-20T04:08:12.465Z'); -INSERT INTO users VALUES(174,NULL,NULL,'9642275691','2026-02-20T05:28:56.025Z'); -INSERT INTO users VALUES(175,NULL,NULL,'8179512068','2026-02-20T05:49:56.484Z'); -INSERT INTO users VALUES(176,NULL,NULL,'9885578647','2026-02-20T05:59:41.714Z'); -INSERT INTO users VALUES(177,NULL,NULL,'8519977988','2026-02-20T06:50:34.128Z'); -INSERT INTO users VALUES(178,NULL,NULL,'7799492001','2026-02-20T08:36:19.907Z'); -INSERT INTO users VALUES(179,NULL,NULL,'7995930618','2026-02-20T10:08:20.176Z'); -INSERT INTO users VALUES(180,NULL,NULL,'8328255182','2026-02-20T10:57:02.738Z'); -INSERT INTO users VALUES(181,NULL,NULL,'9885252564','2026-02-20T13:32:49.791Z'); -INSERT INTO users VALUES(182,NULL,NULL,'8790821267','2026-02-20T17:13:22.843Z'); -INSERT INTO users VALUES(183,NULL,NULL,'9885734956','2026-02-20T18:20:16.708Z'); -INSERT INTO users VALUES(184,'Muhammad Hussain','hussainmuhammad85@gmail.com','9160481161','2026-02-20T22:45:28.449Z'); -INSERT INTO users VALUES(185,NULL,NULL,'9966621818','2026-02-21T02:47:52.969Z'); -INSERT INTO users VALUES(186,NULL,NULL,'9550541366','2026-02-21T03:35:01.487Z'); -INSERT INTO users VALUES(187,NULL,NULL,'9703691566','2026-02-21T05:38:35.653Z'); -INSERT INTO users VALUES(188,NULL,NULL,'9014920842','2026-02-21T07:16:31.153Z'); -INSERT INTO users VALUES(189,NULL,NULL,'8019231723','2026-02-21T13:01:22.359Z'); -INSERT INTO users VALUES(190,NULL,NULL,'9912119864','2026-02-21T13:29:01.921Z'); -INSERT INTO users VALUES(191,NULL,NULL,'7097321320','2026-02-21T17:55:26.140Z'); -INSERT INTO users VALUES(192,NULL,NULL,'9160475130','2026-02-21T18:43:27.474Z'); -INSERT INTO users VALUES(193,NULL,NULL,'7207490881','2026-02-21T22:51:12.696Z'); -INSERT INTO users VALUES(194,NULL,NULL,'6302774527','2026-02-22T00:12:34.868Z'); -INSERT INTO users VALUES(195,NULL,NULL,'6301375032','2026-02-22T00:57:17.585Z'); -INSERT INTO users VALUES(196,NULL,NULL,'9666209134','2026-02-22T00:58:27.611Z'); -INSERT INTO users VALUES(197,NULL,NULL,'7842321671','2026-02-22T01:05:28.299Z'); -INSERT INTO users VALUES(198,NULL,NULL,'7799311559','2026-02-22T01:07:16.081Z'); -INSERT INTO users VALUES(199,NULL,NULL,'6301857893','2026-02-22T01:14:22.337Z'); -INSERT INTO users VALUES(200,NULL,NULL,'8328216403','2026-02-22T02:01:34.549Z'); -INSERT INTO users VALUES(201,NULL,NULL,'9121477995','2026-02-22T02:01:43.802Z'); -INSERT INTO users VALUES(202,NULL,NULL,'9347152305','2026-02-22T02:17:36.033Z'); -INSERT INTO users VALUES(203,NULL,NULL,'7989814618','2026-02-22T03:02:36.782Z'); -INSERT INTO users VALUES(204,NULL,NULL,'8919712147','2026-02-22T03:19:54.195Z'); -INSERT INTO users VALUES(205,NULL,NULL,'9177629869','2026-02-22T03:22:45.416Z'); -INSERT INTO users VALUES(206,NULL,NULL,'9000452637','2026-02-22T04:20:17.471Z'); -INSERT INTO users VALUES(207,NULL,NULL,'6301318598','2026-02-22T04:24:09.076Z'); -INSERT INTO users VALUES(208,NULL,NULL,'9618770682','2026-02-22T04:36:58.705Z'); -INSERT INTO users VALUES(209,NULL,NULL,'7993744243','2026-02-22T04:43:48.074Z'); -INSERT INTO users VALUES(210,NULL,NULL,'7989131798','2026-02-22T05:14:34.275Z'); -INSERT INTO users VALUES(211,NULL,NULL,'9398417118','2026-02-22T05:15:20.227Z'); -INSERT INTO users VALUES(212,NULL,NULL,'7670818331','2026-02-22T06:00:11.447Z'); -INSERT INTO users VALUES(213,NULL,NULL,'9392816978','2026-02-22T06:29:48.269Z'); -INSERT INTO users VALUES(214,NULL,NULL,'9110505256','2026-02-22T06:33:52.862Z'); -INSERT INTO users VALUES(215,NULL,NULL,'9573018203','2026-02-22T06:59:09.861Z'); -INSERT INTO users VALUES(216,NULL,NULL,'9542208012','2026-02-22T07:13:11.645Z'); -INSERT INTO users VALUES(217,NULL,NULL,'7285920951','2026-02-22T07:30:19.201Z'); -INSERT INTO users VALUES(218,NULL,NULL,'8886029909','2026-02-22T12:03:42.001Z'); -INSERT INTO users VALUES(219,NULL,NULL,'7569573638','2026-02-23T00:50:15.659Z'); -INSERT INTO users VALUES(220,NULL,NULL,'7993421951','2026-02-23T01:39:32.592Z'); -INSERT INTO users VALUES(221,NULL,NULL,'6301475500','2026-02-23T02:13:14.075Z'); -INSERT INTO users VALUES(222,NULL,NULL,'9951260514','2026-02-23T03:24:02.953Z'); -INSERT INTO users VALUES(223,NULL,NULL,'9398876512','2026-02-23T03:46:04.808Z'); -INSERT INTO users VALUES(224,NULL,NULL,'8374782337','2026-02-23T04:36:49.085Z'); -INSERT INTO users VALUES(225,NULL,NULL,'9666426396','2026-02-23T06:41:13.767Z'); -INSERT INTO users VALUES(226,NULL,NULL,'9391479179','2026-02-23T08:30:31.544Z'); -INSERT INTO users VALUES(227,NULL,NULL,'8688806599','2026-02-23T11:25:23.839Z'); -INSERT INTO users VALUES(228,NULL,NULL,'9966138248','2026-02-23T22:38:46.818Z'); -INSERT INTO users VALUES(229,NULL,NULL,'9885575791','2026-02-24T01:40:31.078Z'); -INSERT INTO users VALUES(230,NULL,NULL,'9398645142','2026-02-24T01:40:35.864Z'); -INSERT INTO users VALUES(231,NULL,NULL,'9949237303','2026-02-24T12:27:35.380Z'); -INSERT INTO users VALUES(232,NULL,NULL,'9059525115','2026-02-24T14:49:55.020Z'); -INSERT INTO users VALUES(265,'John Wick','john@email.com','9676651499','2026-03-22T00:28:18.510Z'); -CREATE TABLE IF NOT EXISTS "vendor_snippets" ("id" INTEGER PRIMARY KEY, "snippet_code" TEXT NOT NULL, "slot_id" INTEGER, "product_ids" TEXT NOT NULL, "valid_till" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_permanent" INTEGER NOT NULL DEFAULT false); -INSERT INTO vendor_snippets VALUES(55,'Allvegetables1',NULL,'[88,66,70,64,91,19,71,27,79,32,5,65,45,77,74,17,16,72,33,13,89,29,78,30,69,31,76,90,18,68]','2027-01-27T12:26:00.000Z','2026-01-27T12:33:18.974Z',1); -INSERT INTO vendor_snippets VALUES(56,'AllMuttonitems',NULL,'[34,85,14,87,35,84,28,86,4,12]','2027-03-30T21:21:00.000Z','2026-01-27T21:22:14.560Z',1); -INSERT INTO vendor_snippets VALUES(57,'AllChickenitems',NULL,'[3,10,15,1,24,40,42,80,23,41,21,2,36]','2027-04-21T21:24:00.000Z','2026-01-27T21:25:03.144Z',1); -INSERT INTO vendor_snippets VALUES(58,'AllFruitsitem',NULL,'[7,47,49,56,39,62,38,59,57,53,11,48,63,6,43,13,50,54,52,46,51,26,60,55,44,73,61,25,58]','2027-04-28T21:27:00.000Z','2026-01-27T21:28:06.746Z',1); -COMMIT; diff --git a/apps/backend/src/lib/const-keys.ts b/apps/backend/src/lib/const-keys.ts index 1e4ee38..7ea1dbf 100644 --- a/apps/backend/src/lib/const-keys.ts +++ b/apps/backend/src/lib/const-keys.ts @@ -12,6 +12,7 @@ export const CONST_KEYS = { flashDeliverySlotId: 'flashDeliverySlotId', readableOrderId: 'readableOrderId', versionNum: 'versionNum', + cacheVersion: 'cache_version', playStoreUrl: 'playStoreUrl', appStoreUrl: 'appStoreUrl', popularItems: 'popularItems', @@ -35,6 +36,7 @@ export const CONST_LABELS: Record = { flashDeliverySlotId: 'Flash Delivery Slot ID', readableOrderId: 'Readable Order ID', versionNum: 'Version Number', + 'cache_version': 'Cache Version', playStoreUrl: 'Play Store URL', appStoreUrl: 'App Store URL', popularItems: 'Popular Items', @@ -47,3 +49,53 @@ export const CONST_LABELS: Record = { export type ConstKey = (typeof CONST_KEYS)[keyof typeof CONST_KEYS]; export const CONST_KEYS_ARRAY = Object.values(CONST_KEYS) as ConstKey[]; + +export type ConstValueType = 'string' | 'boolean' | 'number' + +export const CONST_TYPES: Record = { + minRegularOrderValue: 'number', + freeDeliveryThreshold: 'number', + deliveryCharge: 'number', + flashFreeDeliveryThreshold: 'number', + flashDeliveryCharge: 'number', + platformFeePercent: 'number', + taxRate: 'number', + tester: 'string', + minOrderAmountForCoupon: 'number', + maxCouponDiscount: 'number', + flashDeliverySlotId: 'number', + readableOrderId: 'number', + versionNum: 'string', + 'cache_version': 'number', + playStoreUrl: 'string', + appStoreUrl: 'string', + popularItems: 'string', + allItemsOrder: 'string', + isFlashDeliveryEnabled: 'boolean', + supportMobile: 'string', + supportEmail: 'string', +}; + +export const CONST_VISIBILITY: Record = { + minRegularOrderValue: true, + freeDeliveryThreshold: true, + deliveryCharge: true, + flashFreeDeliveryThreshold: true, + flashDeliveryCharge: true, + platformFeePercent: true, + taxRate: false, + tester: false, + minOrderAmountForCoupon: true, + maxCouponDiscount: false, + flashDeliverySlotId: true, + readableOrderId: false, + versionNum: true, + 'cache_version': false, + playStoreUrl: true, + appStoreUrl: true, + popularItems: true, + allItemsOrder: true, + isFlashDeliveryEnabled: true, + supportMobile: true, + supportEmail: true, +}; diff --git a/apps/backend/src/lib/notif-job.ts b/apps/backend/src/lib/notif-job.ts index d3014ff..7e9d011 100644 --- a/apps/backend/src/lib/notif-job.ts +++ b/apps/backend/src/lib/notif-job.ts @@ -1,7 +1,7 @@ // import { Queue, Worker } from 'bullmq'; import { Expo } from 'expo-server-sdk'; // import { db } from '@/src/db/db_index' -import { generateSignedUrlFromS3Url } from '@/src/lib/s3-client' +import { scaffoldAssetUrl } from '@/src/lib/s3-client' import { queueDataPusher } from '@/src/lib/queue-data-pusher' import { NOTIFS_QUEUE, @@ -59,7 +59,7 @@ export async function sendAdminNotification(data: { } // Generate signed URL for image if provided - const signedImageUrl = imageUrl ? await generateSignedUrlFromS3Url(imageUrl) : null; + const signedImageUrl = imageUrl ? scaffoldAssetUrl(imageUrl) : null; // Send notification const expo = new Expo(); diff --git a/apps/backend/src/stores/product-tag-store.ts b/apps/backend/src/stores/product-tag-store.ts index 92b3f77..1241af6 100644 --- a/apps/backend/src/stores/product-tag-store.ts +++ b/apps/backend/src/stores/product-tag-store.ts @@ -7,7 +7,7 @@ import { type TagBasicData, type TagProductMapping, } from '@/src/dbService' -import { generateSignedUrlFromS3Url } from '@/src/lib/s3-client' +import { scaffoldAssetUrl } from '@/src/lib/s3-client' // Tag Type (matches getDashboardTags return) interface Tag { @@ -30,7 +30,7 @@ async function transformTagToStoreTag(tag: { products?: Array<{ productId: number }> }): Promise { const signedImageUrl = tag.imageUrl - ? await generateSignedUrlFromS3Url(tag.imageUrl) + ? scaffoldAssetUrl(tag.imageUrl) : null return { diff --git a/apps/backend/src/trpc/apis/admin-apis/apis/banner.ts b/apps/backend/src/trpc/apis/admin-apis/apis/banner.ts index 2922330..e1e1649 100644 --- a/apps/backend/src/trpc/apis/admin-apis/apis/banner.ts +++ b/apps/backend/src/trpc/apis/admin-apis/apis/banner.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; import { protectedProcedure, router } from '@/src/trpc/trpc-index' -import { extractKeyFromPresignedUrl, generateSignedUrlFromS3Url } from '@/src/lib/s3-client' +import { extractKeyFromPresignedUrl, scaffoldAssetUrl } from '@/src/lib/s3-client' import { ApiError } from '@/src/lib/api-error'; import { scheduleStoreInitialization } from '@/src/stores/store-initializer' import { @@ -36,7 +36,7 @@ export const bannerRouter = router({ try { return { ...banner, - imageUrl: banner.imageUrl ? await generateSignedUrlFromS3Url(banner.imageUrl) : banner.imageUrl, + imageUrl: banner.imageUrl ? scaffoldAssetUrl(banner.imageUrl) : banner.imageUrl, // Ensure productIds is always an array productIds: banner.productIds || [], }; @@ -82,7 +82,7 @@ export const bannerRouter = router({ try { // Convert S3 key to signed URL for client if (banner.imageUrl) { - banner.imageUrl = await generateSignedUrlFromS3Url(banner.imageUrl); + banner.imageUrl = scaffoldAssetUrl(banner.imageUrl); } } catch (error) { console.error(`Failed to generate signed URL for banner ${banner.id}:`, error); diff --git a/apps/backend/src/trpc/apis/admin-apis/apis/const.ts b/apps/backend/src/trpc/apis/admin-apis/apis/const.ts index 6047f2f..e99961e 100644 --- a/apps/backend/src/trpc/apis/admin-apis/apis/const.ts +++ b/apps/backend/src/trpc/apis/admin-apis/apis/const.ts @@ -43,6 +43,7 @@ export const constRouter = router({ throw new Error(`Invalid constant keys: ${invalidKeys.join(', ')}`); } + console.log(input) // Using dbService helper (new implementation) await upsertConstantsInDb(constants); diff --git a/apps/backend/src/trpc/apis/admin-apis/apis/product.ts b/apps/backend/src/trpc/apis/admin-apis/apis/product.ts index 37d73d7..0d3ca76 100644 --- a/apps/backend/src/trpc/apis/admin-apis/apis/product.ts +++ b/apps/backend/src/trpc/apis/admin-apis/apis/product.ts @@ -1,7 +1,7 @@ import { router, protectedProcedure } from '@/src/trpc/trpc-index' import { z } from 'zod' import { ApiError } from '@/src/lib/api-error' -import { generateSignedUrlsFromS3Urls, generateSignedUrlFromS3Url, claimUploadUrl, extractKeyFromPresignedUrl, deleteImageUtil } from '@/src/lib/s3-client' +import { generateSignedUrlsFromS3Urls, scaffoldAssetUrl, claimUploadUrl, extractKeyFromPresignedUrl, deleteImageUtil } from '@/src/lib/s3-client' import { scheduleStoreInitialization } from '@/src/stores/store-initializer' import { getAllProducts as getAllProductsInDb, @@ -908,7 +908,7 @@ export const productRouter = router({ const tagsWithSignedUrls = await Promise.all( tags.map(async (tag) => ({ ...tag, - imageUrl: tag.imageUrl ? await generateSignedUrlFromS3Url(tag.imageUrl) : null, + imageUrl: tag.imageUrl ? scaffoldAssetUrl(tag.imageUrl) : null, })) ) @@ -929,7 +929,7 @@ export const productRouter = router({ const tagWithSignedUrl = { ...tag, - imageUrl: tag.imageUrl ? await generateSignedUrlFromS3Url(tag.imageUrl) : null, + imageUrl: tag.imageUrl ? scaffoldAssetUrl(tag.imageUrl) : null, } return { @@ -974,7 +974,7 @@ export const productRouter = router({ return { tag: { ...createdTagInfo, - imageUrl: createdTagInfo.imageUrl ? await generateSignedUrlFromS3Url(createdTagInfo.imageUrl) : null, + imageUrl: createdTagInfo.imageUrl ? scaffoldAssetUrl(createdTagInfo.imageUrl) : null, }, message: 'Tag created successfully', } @@ -1024,7 +1024,7 @@ export const productRouter = router({ return { tag: { ...updatedTagInfo, - imageUrl: updatedTagInfo.imageUrl ? await generateSignedUrlFromS3Url(updatedTagInfo.imageUrl) : null, + imageUrl: updatedTagInfo.imageUrl ? scaffoldAssetUrl(updatedTagInfo.imageUrl) : null, }, message: 'Tag updated successfully', } diff --git a/apps/backend/src/trpc/apis/admin-apis/apis/store.ts b/apps/backend/src/trpc/apis/admin-apis/apis/store.ts index 5f5694e..ff02dbf 100644 --- a/apps/backend/src/trpc/apis/admin-apis/apis/store.ts +++ b/apps/backend/src/trpc/apis/admin-apis/apis/store.ts @@ -1,7 +1,7 @@ import { router, protectedProcedure } from '@/src/trpc/trpc-index' import { z } from 'zod'; import { ApiError } from '@/src/lib/api-error' -import { extractKeyFromPresignedUrl, deleteImageUtil, generateSignedUrlFromS3Url } from '@/src/lib/s3-client' +import { extractKeyFromPresignedUrl, deleteImageUtil, scaffoldAssetUrl } from '@/src/lib/s3-client' import { scheduleStoreInitialization } from '@/src/stores/store-initializer' import { getAllStores as getAllStoresFromDb, @@ -19,7 +19,7 @@ export const storeRouter = router({ await Promise.all(stores.map(async store => { if(store.imageUrl) - store.imageUrl = await generateSignedUrlFromS3Url(store.imageUrl) + store.imageUrl = scaffoldAssetUrl(store.imageUrl) })).catch((e) => { throw new ApiError("Unable to find store image urls") }) @@ -42,7 +42,7 @@ export const storeRouter = router({ if (!store) { throw new ApiError("Store not found", 404); } - store.imageUrl = await generateSignedUrlFromS3Url(store.imageUrl); + store.imageUrl = scaffoldAssetUrl(store.imageUrl); return { store, }; diff --git a/apps/backend/src/trpc/apis/common-apis/common-trpc-index.ts b/apps/backend/src/trpc/apis/common-apis/common-trpc-index.ts index 2e1dc6a..7f92d57 100644 --- a/apps/backend/src/trpc/apis/common-apis/common-trpc-index.ts +++ b/apps/backend/src/trpc/apis/common-apis/common-trpc-index.ts @@ -26,13 +26,13 @@ export async function scaffoldEssentialConsts() { deliveryCharge: consts[CONST_KEYS.deliveryCharge] ?? 0, flashFreeDeliveryThreshold: consts[CONST_KEYS.flashFreeDeliveryThreshold] ?? 500, flashDeliveryCharge: consts[CONST_KEYS.flashDeliveryCharge] ?? 69, - popularItems: consts[CONST_KEYS.popularItems] ?? '5,3,2,4,1', - versionNum: consts[CONST_KEYS.versionNum] ?? '1.1.0', - playStoreUrl: consts[CONST_KEYS.playStoreUrl] ?? 'https://play.google.com/store/apps/details?id=in.freshyo.app', - appStoreUrl: consts[CONST_KEYS.appStoreUrl] ?? 'https://apps.apple.com/in/app/freshyo/id6756889077', + popularItems: consts[CONST_KEYS.popularItems], + versionNum: consts[CONST_KEYS.versionNum], + playStoreUrl: consts[CONST_KEYS.playStoreUrl], + appStoreUrl: consts[CONST_KEYS.appStoreUrl], webViewHtml: null, isWebviewClosable: true, - isFlashDeliveryEnabled: consts[CONST_KEYS.isFlashDeliveryEnabled] ?? true, + isFlashDeliveryEnabled: consts[CONST_KEYS.isFlashDeliveryEnabled] ?? false, supportMobile: consts[CONST_KEYS.supportMobile] ?? '', supportEmail: consts[CONST_KEYS.supportEmail] ?? '', assetsDomain: getAssetsDomain(), diff --git a/apps/backend/src/trpc/apis/user-apis/apis/user.ts b/apps/backend/src/trpc/apis/user-apis/apis/user.ts index 2f92cbe..fd81652 100644 --- a/apps/backend/src/trpc/apis/user-apis/apis/user.ts +++ b/apps/backend/src/trpc/apis/user-apis/apis/user.ts @@ -3,7 +3,7 @@ import { SignJWT } from 'jose' import { z } from 'zod' import { ApiError } from '@/src/lib/api-error' import { getEncodedJwtSecret } from '@/src/lib/env-exporter' -import { generateSignedUrlFromS3Url } from '@/src/lib/s3-client' +import { scaffoldAssetUrl } from '@/src/lib/s3-client' import { getUserProfileById as getUserProfileByIdInDb, getUserProfileDetailById as getUserProfileDetailByIdInDb, @@ -46,7 +46,7 @@ export const userRouter = router({ // Generate signed URL for profile image if it exists const profileImageSignedUrl = userDetail?.profileImage - ? await generateSignedUrlFromS3Url(userDetail.profileImage) + ? scaffoldAssetUrl(userDetail.profileImage) : null; return { diff --git a/apps/user-ui/app/(drawer)/(tabs)/home/index.tsx b/apps/user-ui/app/(drawer)/(tabs)/home/index.tsx index 92962c8..3d3e034 100755 --- a/apps/user-ui/app/(drawer)/(tabs)/home/index.tsx +++ b/apps/user-ui/app/(drawer)/(tabs)/home/index.tsx @@ -427,11 +427,14 @@ export default function Dashboard() { const sortedSlots = useMemo(() => { if (!slotsData?.slots) return []; - return [...slotsData.slots].sort((a, b) => { - const deliveryDiff = dayjs(a.deliveryTime).diff(dayjs(b.deliveryTime)); - if (deliveryDiff !== 0) return deliveryDiff; - return dayjs(a.freezeTime).diff(dayjs(b.freezeTime)); - }); + const now = dayjs(); + return [...slotsData.slots] + .filter(slot => dayjs(slot.deliveryTime).isAfter(now)) + .sort((a, b) => { + const deliveryDiff = dayjs(a.deliveryTime).diff(dayjs(b.deliveryTime)); + if (deliveryDiff !== 0) return deliveryDiff; + return dayjs(a.freezeTime).diff(dayjs(b.freezeTime)); + }); }, [slotsData]); const popularProducts = useMemo(() => { diff --git a/apps/user-ui/src/hooks/prominent-api-hooks.ts b/apps/user-ui/src/hooks/prominent-api-hooks.ts index d2f356b..71f615f 100644 --- a/apps/user-ui/src/hooks/prominent-api-hooks.ts +++ b/apps/user-ui/src/hooks/prominent-api-hooks.ts @@ -36,7 +36,7 @@ function useCacheUrl(filename: string): string | null { export function useAllProducts() { const cacheUrl = useCacheUrl(CACHE_FILENAMES.products) - console.log({cacheUrl}) + return useQuery({ queryKey: ['all-products', cacheUrl], queryFn: async () => { @@ -54,6 +54,7 @@ export function useAllProducts() { export function useStores() { const cacheUrl = useCacheUrl(CACHE_FILENAMES.stores) + console.log(cacheUrl) return useQuery({ queryKey: ['stores', cacheUrl], queryFn: async () => { diff --git a/packages/db_helper_sqlite/src/admin-apis/const.ts b/packages/db_helper_sqlite/src/admin-apis/const.ts index a332faa..283800c 100644 --- a/packages/db_helper_sqlite/src/admin-apis/const.ts +++ b/packages/db_helper_sqlite/src/admin-apis/const.ts @@ -1,6 +1,7 @@ import { db } from '../db/db_index' import { keyValStore } from '../db/schema' import { eq } from 'drizzle-orm' +import { CONST_KEYS, castConstValue } from '../lib/const-keys' export interface Constant { key: string @@ -12,24 +13,33 @@ export async function getAllConstants(): Promise { return constants.map(c => ({ key: c.key, - value: c.value, + value: castConstValue(c.key, c.value), })) } export async function upsertConstants(constants: Constant[]): Promise { await db.transaction(async (tx) => { for (const { key, value } of constants) { - await tx.insert(keyValStore) - .values({ key, value }) - .onConflictDoUpdate({ - target: keyValStore.key, - set: { value }, - }) + // const castedValue = castConstValue(key, value) + const castedValue = value+''; + const existing = await tx.query.keyValStore.findFirst({ + where: eq(keyValStore.key, key), + columns: { key: true }, + }) + + if (existing) { + await tx.update(keyValStore) + .set({ value: castedValue }) + .where(eq(keyValStore.key, key)) + } else { + await tx.insert(keyValStore) + .values({ key, value: castedValue }) + } } }) } -const CACHE_VERSION_KEY = 'cache_version' +const CACHE_VERSION_KEY = CONST_KEYS.cacheVersion const parseCacheVersion = (value: unknown) => { const parsed = Number(value) diff --git a/packages/db_helper_sqlite/src/db/schema.ts b/packages/db_helper_sqlite/src/db/schema.ts index eed9f5b..1192ae2 100644 --- a/packages/db_helper_sqlite/src/db/schema.ts +++ b/packages/db_helper_sqlite/src/db/schema.ts @@ -387,7 +387,7 @@ export const refunds = sqliteTable('refunds', { export const keyValStore = sqliteTable('key_val_store', { key: text('key').primaryKey(), - value: jsonText('value'), + value: text(), }) export const notifications = sqliteTable('notifications', { diff --git a/packages/db_helper_sqlite/src/helper_methods/const.ts b/packages/db_helper_sqlite/src/helper_methods/const.ts index 603c684..0b9b6c5 100644 --- a/packages/db_helper_sqlite/src/helper_methods/const.ts +++ b/packages/db_helper_sqlite/src/helper_methods/const.ts @@ -1,5 +1,7 @@ import { db } from '../db/db_index' import { keyValStore } from '../db/schema' +import { eq } from 'drizzle-orm' +import { castConstValue } from '../lib/const-keys' export interface Constant { key: string @@ -11,19 +13,27 @@ export async function getAllConstants(): Promise { return constants.map(c => ({ key: c.key, - value: c.value, + value: castConstValue(c.key, c.value), })) } export async function upsertConstants(constants: Constant[]): Promise { await db.transaction(async (tx) => { for (const { key, value } of constants) { - await tx.insert(keyValStore) - .values({ key, value }) - .onConflictDoUpdate({ - target: keyValStore.key, - set: { value }, - }) + const castedValue = castConstValue(key, value) + const existing = await tx.query.keyValStore.findFirst({ + where: eq(keyValStore.key, key), + columns: { key: true }, + }) + + if (existing) { + await tx.update(keyValStore) + .set({ value: castedValue }) + .where(eq(keyValStore.key, key)) + } else { + await tx.insert(keyValStore) + .values({ key, value: castedValue }) + } } }) } diff --git a/packages/db_helper_sqlite/src/lib/const-keys.ts b/packages/db_helper_sqlite/src/lib/const-keys.ts index 82fcff6..60e81e2 100644 --- a/packages/db_helper_sqlite/src/lib/const-keys.ts +++ b/packages/db_helper_sqlite/src/lib/const-keys.ts @@ -12,6 +12,7 @@ export const CONST_KEYS = { flashDeliverySlotId: 'flashDeliverySlotId', readableOrderId: 'readableOrderId', versionNum: 'versionNum', + cacheVersion: 'cache_version', playStoreUrl: 'playStoreUrl', appStoreUrl: 'appStoreUrl', popularItems: 'popularItems', @@ -35,6 +36,7 @@ export const CONST_LABELS: Record = { flashDeliverySlotId: 'Flash Delivery Slot ID', readableOrderId: 'Readable Order ID', versionNum: 'Version Number', + 'cache_version': 'Cache Version', playStoreUrl: 'Play Store URL', appStoreUrl: 'App Store URL', popularItems: 'Popular Items', @@ -47,3 +49,83 @@ export const CONST_LABELS: Record = { export type ConstKey = (typeof CONST_KEYS)[keyof typeof CONST_KEYS] export const CONST_KEYS_ARRAY = Object.values(CONST_KEYS) as ConstKey[] + +export type ConstValueType = 'string' | 'boolean' | 'number' + +export const CONST_TYPES: Record = { + minRegularOrderValue: 'number', + freeDeliveryThreshold: 'number', + deliveryCharge: 'number', + flashFreeDeliveryThreshold: 'number', + flashDeliveryCharge: 'number', + platformFeePercent: 'number', + taxRate: 'number', + tester: 'string', + minOrderAmountForCoupon: 'number', + maxCouponDiscount: 'number', + flashDeliverySlotId: 'number', + readableOrderId: 'number', + versionNum: 'string', + 'cache_version': 'number', + playStoreUrl: 'string', + appStoreUrl: 'string', + popularItems: 'string', + allItemsOrder: 'string', + isFlashDeliveryEnabled: 'boolean', + supportMobile: 'string', + supportEmail: 'string', +} + +export const CONST_VISIBILITY: Record = { + minRegularOrderValue: true, + freeDeliveryThreshold: true, + deliveryCharge: true, + flashFreeDeliveryThreshold: true, + flashDeliveryCharge: true, + platformFeePercent: true, + taxRate: false, + tester: false, + minOrderAmountForCoupon: true, + maxCouponDiscount: false, + flashDeliverySlotId: true, + readableOrderId: false, + versionNum: true, + 'cache_version': false, + playStoreUrl: true, + appStoreUrl: true, + popularItems: true, + allItemsOrder: true, + isFlashDeliveryEnabled: true, + supportMobile: true, + supportEmail: true, +} + +export const castConstValue = (key: string, value: unknown) => { + if (!Object.prototype.hasOwnProperty.call(CONST_TYPES, key)) { + return value + } + + const type = CONST_TYPES[key as ConstKey] + if (type === 'number') { + const parsed = Number(value) + return Number.isFinite(parsed) ? parsed : 0 + } + + if (type === 'boolean') { + + let newVal = value+''; + if(newVal === '0') { + return false; + } + else if(newVal?.toLowerCase() === 'false') { + return false; + } + return true; + } + + if (value === null || value === undefined) { + return '' + } + + return String(value) +} diff --git a/packages/migrator/LOCAL_D1_IMPORT.md b/packages/migrator/LOCAL_D1_IMPORT.md new file mode 100644 index 0000000..258222b --- /dev/null +++ b/packages/migrator/LOCAL_D1_IMPORT.md @@ -0,0 +1,96 @@ +# Local D1 Import (FKs preserved, temporarily disabled) + +This guide migrates Postgres -> local D1 while keeping FK definitions and disabling enforcement during import. + +## 1) Run Postgres -> SQLite migrator +Ensure schema is `mf` in `packages/migrator/src/config.ts`, then run the migrator to produce: +- `packages/migrator/data/migrated.db` +- `apps/backend/migrated.sql` + +Command: +``` +cd packages/migrator +npm run migrate:pg-to-sqlite +``` + +## Dump SQLite DB to SQL +Command: +``` +sqlite3 packages/migrator/data/migrated.db ".output apps/backend/migrated.sql" ".dump" ".exit" +``` + +## 2) Wrap SQL dump to disable FK during inserts +Create `apps/backend/migrated_with_fk_disabled.sql`: + +```sql +PRAGMA foreign_keys = OFF; +BEGIN; + +-- contents of migrated.sql go here + +COMMIT; +PRAGMA foreign_keys = ON; +PRAGMA foreign_key_check; +``` + +Command (macOS/Linux): +``` +cd /Users/mohammedshafiuddin/WebDev/freshyo +{ + echo "PRAGMA foreign_keys = OFF;"; + echo "BEGIN;"; + cat apps/backend/migrated.sql; + echo "COMMIT;"; + echo "PRAGMA foreign_keys = ON;"; + echo "PRAGMA foreign_key_check;"; +} > apps/backend/migrated_with_fk_disabled.sql +``` + +## 3) Reset local D1 (Miniflare) +Delete local D1 sqlite files: +`apps/backend/.wrangler/state/v3/d1/miniflare-D1DatabaseObject/*.sqlite*` + +Command: +``` +rm -f apps/backend/.wrangler/state/v3/d1/miniflare-D1DatabaseObject/*.sqlite* +``` + +Alternative (clean local D1 using wrangler): +``` +wrangler d1 execute freshyo-dev --command "DROP TABLE IF EXISTS \"__drizzle_migrations\";" +``` + +Initialize empty local D1 file: +``` +wrangler d1 execute freshyo-dev --command "SELECT 1;" +``` + +## 4) Import into local D1 +``` +wrangler d1 execute freshyo-dev --file apps/backend/migrated_with_fk_disabled.sql +``` + +## 5) Verify +Run: +```sql +PRAGMA foreign_key_check; +``` + +Command: +``` +wrangler d1 execute freshyo-dev --command "PRAGMA foreign_key_check;" +``` + +## 6) Spot-check counts +```sql +SELECT count(*) FROM product_info; +SELECT count(*) FROM orders; +SELECT count(*) FROM delivery_slot_info; +``` + +Command: +``` +wrangler d1 execute freshyo-dev --command "SELECT count(*) FROM product_info;" +wrangler d1 execute freshyo-dev --command "SELECT count(*) FROM orders;" +wrangler d1 execute freshyo-dev --command "SELECT count(*) FROM delivery_slot_info;" +``` diff --git a/packages/migrator/data/migrated.db b/packages/migrator/data/migrated.db index 26cac24fb154bd29410b257683d085c163ffb249..8ee68dbfd7974777c3720a29d28ae34c7ee6ecaf 100644 GIT binary patch literal 1032192 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

^wxM%=8(_k^V{2@Cnu;yM2@ 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

^ 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%0AD;XGue{}0OGo5 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

4dcu<~%QW8%qV~G4v928^5 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%0DBmt5dt{XW}tvZ6vD%} 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 JClGQ&V3$nr#E|`|6A}bXVW?=}Y#|ti5 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

=@)2;>0i;Ark|rTOg}@Xn_fqYP5**UGyN2u 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 nGrJQuN-ngq{9 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

  • 29<(qT@L9%?KP7p|z zZ_o(<$@29&!5>+^PABjq%h&1zePsC>oq&%lU#%1Dk>#s&0zI;PrA~l{pZ5x#0FNwR zt`ppm<;!#eJF&Gr z3^%fTu8z@0me0{K*vRtPI=rir|1}CWcg$r|KF_LXPBh*dFOlXLHFG~Gu=Jda**s@VcEL^nJj{ODu<`4 zi=1;9lE^vd0ue^u(bsNIS;xW1nU}W)V-G(o+c$98~7g;<~x1H_RBXk?K z$l~F;4O(RJFx`eMvUsR&1D3oj9-`ZTMHUa%ZMY(f2kACgk;Mab8>-0S0lE!TWO0Ap zhAFa`(`}F4q4n;x25^Ol*OHF zo5S((|9xQdU){`yyD(U2EEE>rUHHku>kBU~JhSk%g)c5VvT)zR?F%<9 zT)A-J!Y39^UO0N;V7{3$y0GuUZVUgN=e+&#!u*2r?UesK|F`pl`Nn)<{@wYX%)ibz zR6aBRwfQg3KQe#c{O$8M&R@y5RDNRqR2L+rxIU9Y17$YMX3E|5N`}|6WJh(vtpKf5vaedRf1tPi?*EvYF5L5wpY_ zeqEUDDe;yker_c@d?)a-=^^mE4kTWrl<6m(|F2CZg!aIDLL6;rl;g& zhnb#|lO1MyN=|l|=_xtcVWuZva;|O7EM-omPTy{+m0jv~C)=TM5It zbDNbwoVeABc^IcYX+<0-Zm}Ye6E|zoCFd&#MVCB$lNMd_@Qqq@$-_5j(IpRGuSJ(U ze4Q3u^6<459cq_qDvmWREsWo_!2F; za zII2Y)k#IzdFe2fw7EwgPAuWQ4gg0vuLL|JO77;|k`)UzDB)pFn@k7FUYY{#qyq6Zy zL&AG%5j-TkyB7E4<4?l7X%Ralyo(m0L&7_25jiBhlNB9~5XY{f!x7@xRdhH)9J`9{ zMu=lq(cK7f>?*n&A&y-|cO%5HtLScoICd4?jS$DKqPr2|*j02lLjF6-iw;MKb63&f z2yyNz?l_Hqw4%ci;@DMmI6@q|iVjDJV^`7L2yyHxx*H*mT}5{z#Fwjz?na1XSJB-F zaqKF(8zGKeMRy~_v8(8Ag#34u7afie=dPl|5#rocbT~pByNV7+h+|jL;Rtc;Dmok? zj$K7}BgC<*=x&5Kb`{-?5T9}^x*H*mT}5{z#IdXBZiF~?72S;x$F8Eg5#rdDFFG6{ z&Rs=^BgDC@=x~HMb`>3t5XY{f!x7@xRdhH)9J>m<--zE@!QBXP>?*h$A&y-I+#r5! z1>hjwvjTDu?^*#mh+kO&JBVNM=b#7m3oF0}@pCKS2l0*-0EGCN6%d5@sTClE_=y!T zg!r))K!kYP3LrxK$OOnCju3BH0Z51+S^-Ij*R62w?_ZA}SOHA9^_msX zgm~2oa6)|F3V1@iVg*1UUbX_F5HDE)QivC=fGNcHtN<#+3s%@Njpwa^D%|<56<~#U z&I-6fe8&nW`lr}JY+nIdh-a*TEyTC204~J0tbi`WH?06K#5b&fFT~SU02tyaDlXH#C=wP9^zgrU=MMR6~KqM+Y0DI++_v$A?~yS{t$Oq0f30x zt$;wpZB~FF;#MnQ(7I5b?JMj#y>*KfP>7e^tOaK%l-GhY6uL30)8ws7R1+009IwT?Q5j9jwc^BB6tH8CE28 zpf00|gbvVUP?6C7x{N6j%IPwsNN7oy0YyStUB(j$Wpo)%Boyc}nn)I!mqA2An|1kIzwW2Y z2qK|7P653Oj!9zm3>oRumF}9m7V~2!x(Pik6(9XKN z#jiWrvcs{N?OS#@HnV-p4##G;Z~4S&{1;nxH#W0<%kIWzwr|`o7ui)cVjc#x9o0gX8V@ijm>P|vb(XFPdP4Uw*O}{-V{F{xx-1zp!*EYVe@mpJW;5TD$-99yY_tqQ#a^_FA ze(B3IC;Mrx>aS)L=Bxf{Mq$3{JVsHz>aS%K<*UwP6y>YVV-)49&SMnitIlH-<*V^& zJZ)9iF^ck4*D;FnRo5|!@>SO{it<(0F}hv;D^_(LqcC4}9-}Z{bsnQAUv(a%C|`9R zqbOf>9-}B9iu2;bseK9Uqwe^t5xBVc+{%+NIa6aDne49 zu_{Co4_g%@iHEETlEi~n-Dw&RSoI^*xZkQc$&2o@>VKQYy;em^?%ZQls3h*T>W8Os zmsPQnJ9k=j$7$SQRkY;J?Ut|NC3Txs0h74Zs)$K^(yEY2++tPCByQHKqZ!R>)zOUJ zq*X^VdZShy&FBqUbu^>bYt_+=UZ+(@GkUF7-OT7UT6Hs{S8LVHj9#VH1^zWj^h&Kd zn$gR(>S#tU)2gExy;Q4?X7m!RI-1dowd!a_FVgCaUoX_E`Sk*=I-1e*wfa84o~Knu zGkUI89nI)DT6Hs{XKU5XjGm>H>Hps|xjLHBGqmDpMo-s@qZvI-D~@LLRINCg(JfkW zG^3|z#nFtOtQAKydXiQg&FG0*aWtbRXvNWt99L?ylT5&U@$7sdPj2^8O zH#2&a<|~e7^hm8Zn$aV);%G(>*NUSVJxnW(X7o_4IGWKzwBl$+57x@remzJlXZiI& ztvH&|1GI9cU-#FFqZ!R<#nFr|X~oTqX0_sGMl)L3;@2Rr70{GuS}T|-(UevoQ=&<& zAf`kUS^-Rn# z5rO%N!x2IGio+2>`HI64LHUZq5kdKiyAeV8in|d(`HH&{LHUZi5kdKiyAeV8in|d( z`HH&{LHUZi5y``R#o>s+e8u62z z2q&D1yAk1pQ*k#UoNy}cMuZbi#odT-!l}3$5l%Q2cO$Z0zGfANBf=4<;&4Pb;#3@t z2q&D1!x7jR+^4in|fvgi~=hBAjq4xIz5d zD!@U!XBFfi-pyMDJE&h-1w4pfS_M6bUswe`h@V>pKZtj%0wBcCtb!oKPpz^rjh|Qr zLb&r|t6&K6wpBoc_>ommgm}v;Fhaa(6&xYnuzUqcs2^GdN{H93f+fTctO6#)YgR!M z;#I4_3Gsca;0f`HRRD!}*~*AQykuoWAzrjHq!8b;GNuqOSQ%7^=dFw?#CQ2$;R^Mf zm4Su$j+K#xc-G3$LOf$-Y$3jFWpE+BWo2|BzG-E6A--W{d?B8;GQbc|Ss7u7uUi>m zh_6{0Vu-I=8DogASo!?l|E<4lWtidCm#mC4#FJJA8sZ5nBMtGmm7#|CqLs0R_=1(e zhWNad(T4b(mEnf?td;SGc+ARxLu|G3mT5d{WyImmBUV1yPjeBruM9fG!&XKe;vp-; z4)LIsaff)o%D_Y1Z)M~m?z1xV5cgUcdx(3i3_ir&Rz@Ghq%Ma07Tqw zWdzDow^$Rz@M>W-U8Ik-V0jp~y{Ih9QaEsAUwA$PHQsA&FeC zWek$Yby|iXiCn8?1d_-#S_UAAT&-pNk;qkAh9CaCE43W=xLnKNBazFrj6D*$RLjsK zkxR6UJQBHB%fKU%i?ob861h;zup^NRw2V3uIbX}5Ba!p8j5!iHSIdwik#n?+I1)Kq z%YY-1v$PC15;;@LXe0T^8CpggiJY!wu#w1VTE-fQoT_E0k;oP;BaK8((K66T81B^tD(K5bBj? za-^1b^czQL8C)cCxR$X+B8O=iS|oC)mXSpwhiDmCByzBpaYZ5rX&F`|a-fz`MIr}i z8B`>)zm_3IA~`K1ibR&Q3@8%GY8g)?lF>4pNF>nm4t)GcB&}sMkw{9*U?P#Ema#-4 z2`xj3MB-XT5{bmL3?veXY8gi)645e@NF=Of5Rpho%NQb&&02;KiR`Ck1d+(TS_Tk_ z?4xD;kjUOzh7XDCrRDAT_a~7(wKTo%t|jo0$ZlG~4vFldCFqdI&RRkaiR@%0ha=4P zmE4Um+gEZo!fap3-3YUNC3hpt_Lba?FxyvhH^OXR$=wLEeI<7z%=G0;4o8?HPRZd2 zvwbCpBh2=d9F8#CS8_PQY+uRY2(x{q^QZAUE4dqCwy)%FgxS85yAfvlO72FO?JKz( zVYaX2ZiLyslDiRR`bv3+Bh2=d9F8#CS8_PQY+uRY2(x{qEz{^*$>9jIeWjD9(Y2Dh z5oY^J?napHE4dqCwy)%FgxS85yAfvlO72FO?JKz(VLrQ8I-0jTRkf1C5oY^J4o8^n zD>)otwy)%Hg!$}V$>9jIeI?)^maXJ&gxS85yAfvlO72FO?JKz(VYaV?8^o`z1RTVB zRzeQqT`Mj5X)et6mB54erJv?*-hKx^%{_VSUh^NF|M2_==l@`SJwFlUf6o2G+{#>M zt}?f6?&ouF@iS4rJNJ#bFU@^+?!mcF&D}D0Ek70I+_}@{j-NYxZvVOD+~&Ex__-(_ zp8Me3AIz*;nJ#u{+8 zF3w0a{I3*eBpQH5eAya^MtsQ{kVZUd4NN1Rum-3Rk6Q!Ph%Z_rK8-I}1J=0nd28Sr z@i}V%8}V6dARF01Zw-(m?z0BU5%*dH<%oN%0dvIN*1$R9E^F-S9|mzoq5*Zp9oE1);&y9*9dVmA z(2ls(8gNH^(i$I`#x2$WJnr1A4Hu7Z!fLp9@td^a;>B;&hKm=!K^urC@$0p*qhGJn zhJzQsRvUR2FMf?ST)giYQw>cpQHJPix)pz8!le_EN!@W z@iVpI;>FL>fgsCAr^_yJmnIf?JDb(E8MPU|4Y zyKG78ASdyx)-g`v8LdN{!~?A(oW#>w2RMnRw2p5QPih_BB%aXvS$+*`9o!_ov(??U z7(~~dwira$owgW6*PXT)MAx0R7(~~%Oyke;R(IQC7+rVUVi;X_+hQ19ciUnRU3c4J z5M6iMVh~+-+hP!1ciUnRU3c4J5M4id8o#r;(-wp1y3-be=(^JugXp@`7K7+~-EE6u zblq)>VRYSXi(z!#ZHqy4-EE6Oblq)>L3G`1i$QeVZHsX{sk?14h_1UMF^(s7cO(YU zb$28N(RFtu2GMnQBnHv-yh9Sh=(U1&J0vlPt~(?#h^{*%F^H}^ zBr%AtyCX4(uDc^Kh_1UMF^I0aBQc1syCX4(uDc^Kh_3I$MC5`bT&eLcL{mha|@Nqz)v+8&*dW;)hm;65@5MV+rvCtAh#gn$>rl#;aC` z6YhN9>Tp85Vs$(rUbZ@*5HDFBQHU3<4k^UIJK#3h}(vVTJgv)p3P*&g#HI ze8=j@LOg4AXd#}lI<^qswmP^F-?BQo5Z|;qyb#~8I=m21TOD7Br>qVz#MiBkFzfO$ z&L?$@;nr8J4l=}7td26om#q#n#Fwm&GsKft2O8oDt0N8ZxYePC_@dRZhWLWj!G`#} z)qel}{hZa{hC83N8r%?%Sq*R2#qvx~4RN^jsMR2cc*JU$Lwv?+phG-tHPj&jO^dauD8vGFXJFSL4)E!m>AmVnb zArNt!)gXwt)oK_-e9~$lMBHLE6e4ccnllv3Yt0#o-J~@blGu$}Lm`RXpfwPZ*!5b& zAcm zU7|JQk=Vsr10IQ8q&3`;*o9hy9f@6_HPn&V`C0=ViJhl4%#ql+T0GrE>~yVxjl@pV8rDecRINdc#I|S+X(V=v)__K0Cu03xxywT2%O+e>TkA+bHRh8_~zU2EVWvE8(W9TM9`YtSLFowWuW65GjY?nadD ztGOFdwy)-HMA^QYyAfskYVJmq?W?&PQI01yKZa2sw3@>aW&3IlN0jZWIUG^8ujX(> z*}j^?5oP;o4o8&jtGOFdwy)-HMA^QYyAkD6b2WD(%J$XVjVRk!b2p-FU(MZ!vVAq& z$Ws%mIUG^8ujX(>*}kg75oPs=EO6nlTcwtY+u#kh_ZcEha<}NRUM8f$CIkV5oPs=EO6nlc$IWvc=T@sd>$g?Q1bkV1UVs+dB&@IkAh3iZ5IVTJha@4vA2$6IIK zv{yd-leyRDUYvVo?rU>jS`Y&g` z_P>u|+i9D>k0h_xHh&#SUZ-tWE_toCUAg2n+IHoVS8LmqOJ1dIS1x&_wq3d871~bv z^>S^ya>>iIjdGH_RNIbR@)B)3a>+Ba?aC!j*Y+NMJx$w=T=G^JVM($`t@*aJ95dxwC%_x57o9KmpnwOu%{JpdVW|G`fTUaK^J+uX7 zlH8q_LzyIZ(-x9Ra#w8unIw177LG~squPQoN$zAVS1f_^Emtgo^DS2_f%7d#EP?Ya zM=XK!Ek`VY^DRd#0rM?KECKT^M=SyJEk`UN`S)AP6-(fJ%N0xDe9IL};C$=cY5b$L z&Y8wPSj!bl;C#y!OW=IV5li5F%MnZ9eCv#9tXazuOTc{Vv}vqb%MnY!d~3@z#(8VG zVhNmYxnc>NZ@FR#oNu{e37l`aVhNmYxnc>NZ@FR#oNqZ|37l^^VhNmYIbsQ%Z#iNK zm~S~^37Bs=VhNaUIbsQz&$nE$1kSfyu>{VyT(Jbsw_LFV&bM5#1kSfyu>{VyT(Jbs zw?KpVt+h~t*k&!*Abw*l+#r5!E#M&Dvlem??^-K8jbB-7dJIe8d@DJ<^$Tmk2mjH} ztreffJJtda?)=PJ2txeSS`b3~#9A0a{McF;LcDD)5FvhKEfgW%vKEXGZ(0jSh&QYS zB*YJ`H9dwUaK42l-1>pFz=U|sT4+MNYArY+zHco&AzrZ-pb#%x3sH!dtOY5=i`K#v z;(OM@6ygPIfeP`wwNQoluC-u=c+OhWV_1SSP77JM^{lm^g?PqVe>IJ7TMJyc^DS$A zcpBfd7QArh8`j!!8c$mbV7T*?wGf8*y0svN_?or;d>UW17RGSrE7k%T;>*@TnLPC+ zYvBy>q_u#Cc*0spLp*LRs3E>+EvzBFU@fpAK5s3wAwFj@rSs}ngB%HX-xzo?yx2VtxM!N^)xYvTen#ggos302|1EDSDT0T{BypTJ@kJ8HY7<^0pEyRF@FIz$wTUj0I7*w~ zB8elli7k>iLYvSciNm#tERr}(o4_K8L$!%3k~l=0up)_rwVC$oLE23D^+0VxiX;xu zCZb4Ue{BMaBy!rs6G<#-6HfAy$Z8W#B$3f3nn)thCYVSftxYVEL`s`bB8j9nkwg*+ zZ32lT;@ZR!NyN0dk6)wO1QAI@w22{-2x}8UBoWdkf=FVsHUUHui`v8wNqk(JyZQbn z_R}VONMc`YqK72*(I$9EVsC9?ha^6xP3VxsUfM(sN$jc3kN9;DZNi2mcGo6qNMcuQ z{*_;MvZk96XDyp5x*2iSvgu~TS<9xI5zjN1O-CcnTs9qzICI%_G~&!<)6s}C zmrX|_&Z(#g8pI!3)6IypmQ6P!&RRCzj5w#FrkfGxRMd1c;;d!U&4{y>O*bRXS~lH` z_;&ffwWgyH=UCKqG~&!<)6s}?Dr!0!aptn=Xv8@cH64vOYuR)&;;d!U&4{y>O*bRX zS~lH`IBVH-Gvcge)6Iypmd)*_(YB_W5#O$rx2B^JXD*wLMx429I2v*0vf*gNnahTw z5oazNjz*ldY`7V5*0SMd#97ORn-OO%8*WCNwQRTlo;9F@c-I=(LHx=Z;6eP-8t6g%!W!s7{M;JwLA+xP{2+d24FDm2 zY7GP-eqs#>A%1KP3?bg;RYei%N7jH5;w@{OF^xB^0VLdc!x~6J{LmUuLcDGbEFpei z4KN{Ivj&RZqvVQ`rW4SrZzv5^1V$z+4O@=FKqherY~)JjGst( z$EF)MU9su>O{Z@902Z*``0(G`sMh3;)6s?)nS0h2JjxeBsT7 zmlvMp>2_aOczEINg!+#26HS>?-g@65e1_Y$YZukwwP5Aj91o9C{cyNEO6NqpPn0ep#Wac+;fkIeno zxj*82CfD%=y5HqDjy5(o7B>EhZ<%~`<99bcz43{Sk8Zqg<82$S-+0-^b2py4@wknL zZOm;8=*Y}{ev?8faj{M&}#Z5VH8^ZW3Av*Dc$Z*F*H!*d&+-tgpx z$M}tScWtKK=Q#Ty9;V^zDUSh-IhCMgzyx}i4d|<;48)i3bxBlPO|8D(w z{lV?^<@LW=|IYe1*T1sp#8zuJt#szh?a<>(5z#>iXl>AGSWXKCymr z{hsT0UjG;CKd^p>^|R}@oBg-h-_4F^+q31_-^{)<`{wK`v(LT!^l50Y=`Y^*f%on3 zzS;L}xBb6u|GVwSTVFYSmggyNr#;@wl0Ha#J|yV_wdX^UK0tduB57GB%RV8Ln7&<_IyXu3GMlgq~qH29ZAQu$ByJB z9o3!>NjjoEACh!fdp;!TkoJ5?(wnvCLy}(9o)1a-b0p6^I{5AFGmq<7ceM}270yJ>G{zp<PF^C?L&96g_s6vNT;DM_&#y&b3VXV&v6NwFI}Uy>BN z(eouqu^T;Kk`%j<@A;IZ7>=G#Ns8g<`IMv>j-F3Ris9(_l%yDro=-`N;pq94q!^B# zPf3d5==qeSIA-;HN>c1b&!;5CZuERfQtU?0mn6k*^n6KD>_#u|Q<7phdOjs7hNI_G zl43Y|J|!uJqsIpi(X*aUNs8g<`IMv>j-F3RiepyKrzFKOtLIaaVmEp|B`J2JC)21~ z&zB^{Zgicu6uZ&A>GxH!u1`sd;pqC5q!^B_Pf3d5==zkT7>=$_Ns8g<`jn&?j;>Eh zis9(`l%yDru1`sd-RSz1q}YwFFG-5s==zeR*p03)Ns8U*UgFTD7>=$_Ns8g<`jn&? zj;>Ehis9(`l%yDru1`sd;pqC5q!^B_Pf3d5=$r;~AnAP_*p@B*kuYeM#~uhNJ6Kl43ZzJ|!uJ zqw7r;|qIJ!P1DTbr#Q<7phx;`Z-hNJ6Kl43WyJ|!uRS>64o@m1?$ z40pa_U63KZY+aODm&$X@>f#Kyp0qB|5KmYaX^6+I3pKW6PpS3RD5RX|GaEPteMI7Q$>p~9kh;=cC_>6TihsZx{UDTl-vM%fp4_X&@h)-J= zc!&qAi#){r)`cG8KI>u+aj$j3hq%YO=tJCXUHBnBWnKIs?y@cb5qDY_frvY-3qi!~ zdFy_3TDMsjgt&F9by0};q;+A4xW&3SMBJ=hAd*yGyEr7No3slsNa{H4;ESY=)egK!>X^KC z;6+kLYX@BbLDyk{Ru|7)g#_9Ty|XjCNd%Bs1D^Fp|t@$H7Q4qa6n$$%=MT9;|35IgNj^ zj)Re8MLY3n{DXBIj3g`CiMszuX0+pCB$?5Ui;-kTJ1$0&8SS_jNoKU;VkDW-j)Re8 zMmr8hk{Rtd7)e&N<6tCN(T;C@+5rrrXdT2L z3fB3{X)Igk!$dyGjCN3im;Kf{J5FPpb#Q|_zp)N*5Wlt#auDxX2Rev%tpgpzudIU| z#4oJ_9>g!KgC4}stpgv#JJ!Ju;%C+Y5aOrSL6CLHJTuzC5N`e0Iv_&4Z5OhMju3BJ2S|uFtb-)P53K_w#Ov0965wpRIs&&wW_`Y@Egm}d|ctYe~ zwhp3DFIfjth!?GcDa7}zBhz@nI;g^(=dC^cfMrJ8xWb+1tPL#0cdU&p#Ix3h7UCIe zLksb3Yhw%XEo*}d@l9)^3-OJ-wef{|+S&j^JY{W!A--;Hh#|gaZHytlYHg4qzG7{Z zA--&Fm?6GoZJZ&Vv^LNXPgomih{vrBHN+RK4K>6Utc^9q=Plnx8|rh`h8yCu*2Wv+ zF>3=3vDMm$Lp*A2$RQrFHs%nYvG!@xc-Y#g!<~n$y=58?S{rw`^J!}X5AlGtk%ze7 z+R#JX$D0#-sC%sqKEyrNMjzsCYr_xmDQn{oahJ6Lh`7_*2t?drZ3rT6w>Ab5w^?W^DtJ@cha4LEHa1ag(+W^cy#78-*l!!|%WObA$gny>p&A zcZc+%w95k&g`kP$MI##+-zcYadywyooD}I_5-s! z%+AhkH}h{ZzndBFI@6vh&-`ZQ9ezXlD>Ki{JU#Q|%wsd3p1Eu0=9z0|E}1!J=G2+v zW)7Rl@i$)Fy2C>=f5*AbhAwCTibEGP0L7sT8gR52x}X6l4qecIqs7n#4M1_|f(Dp4 zOittPZ0Ldpm^gGn156ycpaCWhqtjTmp#vIV;?MyNw#$!g=z<2IICMb+P#n6T0Vob# z&;S&NE@%LXLl-mv#i0utVB*jP4KQ)&f(Dp4bU_159J-(ZCJqslsN2v14KQ)&fCk%D z^EPxr15g~gpaCcjUC;m&hc0LUibEGP0L7sT8gR52x}X6j4qeay6NfHnz|mspf(Dp4 zbU_159DaBj@7d4+4KQ)&fCiYDAG)9cC=OlF02GHVXaI^s7c>CHp$i&-;?M;RKym1T z2ADW>K?6)2x}X6j4qeay6NfHnfQdsFG{D560~%oB&;boFahP{O15g~gpaCcjUC;m& zhc0LUibEGP0L7sT8i3-^1r0b_3|-Iw6NfHnfQdsFG{D563mR~=7`mVVCJr6Y027A} zXn={sb@=15h0N{zc!mfeRXd;=lzBKyl!L1{^I0E@*&>0~a*F#DNPM zVB)|94KQ)wf(Dp4a6ki095|o>CJwIfT@OHU;DQFAIB-D&P#n0R0Vob!&;S$%E@%LX z0~a&^#eoYNVB)|94KQ)wf(Dp4a6to19JrtXCJr3X022oeXn=_W0L@bm+rR}4Kyl!L z1{^I0E@%LX0~a&^#ldOQxZegYXaI_XEz`Ky1}CKv3anhywtX;3gg5rvx|Z z06rzSK?mq5!SyjgRh9SP3Y0p>_>o(>>K zf^&6%I1-$r1H6&oY#qRjG!mSu z1E7&$iwU$=GZLJv1C){ABprZ^1SjeMV15@d9MCK3cX022w) zI=~VMQaXSV36eTM5(yGI01^q}I=~SLVmd$(38Fdx5eXtXzz_+-I)D%fLOMVY2{!8h zKqOey0e(pEaUHDZAGrkk=>R??*jESWA;CU601pZF)&X`%@G%`ghXi}+068SsQwQt( zx`z&6LxSCPfEp6)rv2%kx2yIsLxNqj4;d1CRQre_!A{n9Fwz_?`VK}~K9skpK`}juw3fBhAsG?_i`^(Y}L`W<~oB zMw%7vI~ZwJwC`Y~S<$|Ok!D5neHSCmjP_lOG)IfRi;-qV`z}VB8ST3mX=b#K7{sde z9gH+H+IKM094-0|Mw%7vI~ZwJwC`Y~S<(Kf)971&%QSk{cQDedXg}{_q?ysai;-qV z`z}VB8ST3mX=b$VVx*bTzKfA&M*9v%ni=go7-^0ceFr1WiuN6hG%MP7Fw(4OA25ib z^$~+8SRXQoW$Pcx`-}P;>!SwoTkFFHvCaCpLHx%0z(M@l`p7}NXMN}(-nBk-5WliM zb`Za`K6ntnus(VaKes-75bszYKZu`MA3%toT0iOjr*Q^gF#H-dv6XN^UhZEuz>*GnD zdfEDjLcC;sNFiRdKBf@gvp%R0FIXQ{i07>jE5vuLk1ND;)&~~iJJv@Q;#uoM3-OHg zp@sOi^|6Kcmi57f_@?#IWnDhajP~(`TTfdbV2G!zk1)j7tq(E8*R1~+)A*|Ocbvvo ztdBCh=*!lJ8RARU#~I>D>jMq(g!Pezc-;CQoW>We4>jERg7vXxT{_Q<_R)r0pR+#P z5TCU^-Vl#jA8?4R)<+!TQR_nv@rd;?hxm;3L5FzQ`lv%ZWPR8n9<)C05TCX_@DLAJ zA9;xTt-pR6`TMMoJ>0t2`rt#{V}0}??zTSs5TCL>{t$OrAApEEt&c#&9oB~+;&$tA zH;vo)Wcf61wH^xbqEA{6hKO6NheO28+5;j<=QZC0B1zw*Js6VojoL#YN#CG75R&xu z+QT48U#C3?lJvFOLm)|CqdfqU^wrwKA4y-OJ@}FImD)oeNnfEo@R9W8+QS}6U#30i zk@Th7Lmo+AqCMP^G`}{YhdYwKNPDm&=?k@oI+DIXd!Qrf^RNuR7el#%pF+5;I$pQt^Ik@N}LgBVF4uRVm3^l{n)7)c+iJ$#Y$G1`L{ zNgu5}bdmH?+B?**M`{mRBz=VTkVVpmYY$i?eVF!eMLw85RC~B0=|i*!E0R9gPj$EY zQ~EBMIb`dhhs|8|)axAWw!XD(_N4v)#W?2h6>@$rw*Az8XfN5b_H}#Q9<}@J4!g;& zvWx62JH?K%Lo91C+s}5lkJyLoPi(OfZCi2N zvQW0-xMiVi#c|7Smw(e%T(>Nit+;MkEL(BivRJm_x@EC!#dXVK*^29y#j+LGEsJF< zu3Hw%R$R9%l&!dKStwgUH{wNGaon;{w&J*Dp=`x*%Wn64-d0?Fv210RX*^>qe?5(F+sa3$@hw|%-LhD=;<{y_Y{hlULfMMzmW8qv$1MwGD~?+h z%2ph=EGL5eitCo;NU-9%WwC6MIf)&>-i)AaW zTNcVzT(>Ngt+;MkC|hydvQW0-xMiVi#c|6**-GAZ%VODz>z2i`71u3`Wh<^*7Ry## zw=9;exNcc2TXEg8ShnK2WwC5!<23HGl?~Il*H+d~;~raa+_F%%;<#m@Y{hZQLfMMC zQ&}uqaow_5w&J>Fv24Y4%W@)Eaow_<2v%ITES8Ob|G&D$#;#iy%f{#?*}RUyO|m!X z*lo++sAH!sdxMUhw(RvfcG|Mn>DXz@UaRB0+m^jX$8KBpY8|_6*{gKywq>u>vD=ot zLdR}f_HrG&ZQ09o?6zeu)v?=_y+p@uTlQidyKUKvbbP*FFVyjQe!W1)=lb=09XoB= z^K|UAWzW_8*lo+6qhq%%d$x|X}ZQ0{_leul#<8$8KBpXdSz4*`svqwq=jhvD=nCLdR}f_HZ4$ZP~+g?6zeO)v?=_Jw(T-BH4p= z3@Va6NXM8W*#mV9DUv-v$B4qaY=0diiez&-1{BFI=@?HWo7FL#NH(KmG?8qeV=$3y zTE|!-*_4jseog8aNhF)lF^)(!u45RHY)r=}BH5^pK}50<9b<@O!#ai#$%b@{Ad=5+ z)-i%ec2UOwBH54Y7(XPtpN`=}vis^7JtVu2j=@8+d+QiGB>OQPBZp-7(lKyIc26DS zhGh59F>FY7cO9dKWOvmuXh?P^8@m}99{G>mj0|5?81LjC$r&E`j~$H+kNn4uMutcJ zV@D&yBmc3Zk>Qd5*wM)FMTN1Ok>Qd5*v-iB$bY=!H2%=WZbpVj{$n>I!z2H(n~~v> z|JcpQ@W_AcW@LEeKlZ~H_4hV*G%`H$A3GWu9{G}F(mQeAGCcAhV@96p*x1p? z@W_AcXk>WgKXx=SJn|nq8W|q>j~$H+kNn3vjhcchz(!a?yk;XXAzrl+ znh@W&5u6aO*a%MuzNj!l6zU}#ZJEZ4Ho_F{e9uOpLcCxjR3VRuax4{?u;(1*C&M({&?%0~D@++`yGBJQ*i0uguE z2!e>)ZG=I@Z8icS;#M1>5b;SH!4Pqajc|y#Sw}!5nY@m6_D{ZKZqm_Ce&a?Rp^#*5 z&=Ckp=6W4rkYujY5d=x*S{)&fWUkQ>07>R*9pR5;uF?_wNaji%p^s#)&=L4Z=5ifj zk7O>>5%fsrQXL_WWG>Os2mN}njy}M@O37TLBiND5g*rkV$y}f#(2>mfI>H>uoTnqm zk<7U|LLAAQqa(nP%-K4^8_ArdBe;>wCv=21k~vdHU?Z6`bc8jMIbBCkBbn251T>O4 zRYy1@nJqfX*y_WKPf##7O3N9U+Wlj?)pqNak1_ z;frLB(c$zJIa-J4BAKIf2riO2QisqYnIm+FERs1~hrlA4!*qx%lHr&C3~@y=hv*Pi zBy+G1QAIKb=@3*TbD$0}MKTBI5K<(wzYY;aGC3Urie#2_h$oWC>JUyOlhGlVNG8xB zmPjV8Lnx6%KY!56SGKL+p^u-a3R1$$U(Q$RU}%bO;=h z*;9wO!3W_UI>Zgh?5;!Dkj!p6L=DO8szcC_%q}{_49R>{hmaweoowh}1kC8r!3dbq zp@R{yqC*EGU`2-xM!<>=9gKh#9Xc2RD>`&A0#c(pXv|wC4E-Eu8-@ZdcWSGH|bS+k)EZe=rMYTW;Le! z>F)Xw{gD2NE~u@0-+yeqZr%FbwqD%b@F!c}eQ0J64sHCOt@$gN!@xCvC36_K=C5Q9 z1K0eO%wgb~zmho&T=Um4hkT*Vv)uDOai2wZa&a}c=ZDCQt=%~8xj;F_bD zgTOUV%u|opnyZ+@z_s`^9=0`CF^7R`u3`=Y*IdOM2Clh^ISgEL6>}K4<|^heaLrZB zLExIJn1jGIM==M1YmQvhdZ%w4BzPGas_ zU4z8D*H!*j$uDOZ1t8~px%w4H#Zes2VUE9&Gm+P9Fn7d5Z+{E0ay5=V4F3~kN zF?X@9xrw=pbj?l7U8rjx@aqM-<|O9M*EJ_Gcb={}iMexi?T;Mo+&Q}DCg#r8H8(ML zmae&pxlibto0vOO*WAS18M?OM*VA=v-mj6)9EJ66}+#N08u<|gKj)-^XVca%=1|J{)~ zaT9Y#=)_IT9j+5MF?X0w+{E0WI&l+ohv>vj%pI%~Coy-BPMpNtfjV&#a|h_eNzCof zpX(;(ayoGnb4xmL6LVRexQV%pPTa&?pc6MSm)6Neeog7*Lcb<;a)DnHIyv93ah;s! z*O*Su^=nioPGT;i6DKhj)`^pt3+cp3%x%{E#7)dC>cmaVeOxDQVs1a3xQV%ab>b%G z_R+}}zwWIQH!=4yow$j)y>#Lx=JwQyo0!`}CvIYHcb&M2x!rW)B<6P2iIbSyMJG;T z?xQ+!5_3D{ZGwsGmN0Mvio}O(;wmm-;KWs2!oZ2ExP*ZdS8)jgCl1CE22LD|B@CQ6 z7)ua1aWIxRNlYA!CBB9*aWIxRNlYA!B~B6(2V;qoM1JC8EOC^WxEMV&Y;fagvxI2C-%n2V;qo#3VkARhu{%OPnMo4#pBEiHU=;#7Sb}U@UQxm^c_q zoFpa=#u6uqN#4a+;wUk3F_t(=Ok9j5P7)IrV~LZ*#KlGS5)%hw ziIc>{!C2yJ2oncmiIc>{!C2xXF>x@KI7v(#j3rJI6Tl#fHu-BluBn1eFoRgO31|?1 zV-wUMerprhAhy{AH;CWZ1UQIa+XOg>_iTb3#Je_u4&qlf!4Be=Hra6+zpx2>x8Q=32t@e`Y12=QZ^fC%xnO;CjRkxgKPc*`a@LcD2{KbpoH zHUSdu{Lm&yLcDGhC?S4e6D%QKvk90Gui6An^3?Zjf+xf)HUSjkWt$)h@sdp-g?P~> zm_mHdCZIyRU=vg!p0^3C5Z|>4t`N`JO#uw5*D*{S@ciKkhweulJr^|5NYtlPnnKSFg|aS3PvUS68t|=C9FJ0*}mJsjIjn^H=C9?8yA(x{5k7f0?d=j?7=Gt6Ti_5?zHHnZH<95l7}P(pA8b z`3rRwZ)E-gU4MF9xd_q@&Mdkxt#TA*4>ng0sd`wqSMdqWr z3Mw)m(N#>5`LM1+ip+;}6;Wh?{jul;TFy>g%6$fLE6#l@IoMps;nIc9Xl z#h7D8S6qxaW^~2Dm}5p)9E>?;bj87#V?|dSj5$_x#le_kMOPe*IaYMV!I)!3R~(Ev zR&?cJ_kWHVU2!qy_&{#O#h7D8S6qxaW^~2Hm}5p)T#Pwpbj87#V@6jTj5%g>#le_k zMOPe*IaYLK$29)YRve5uR&>R|m}5m(9E>?ubOkW-)Zg2Ri!sNHuDBR;%;<`XF~^Lq zxEOQH=!%Om$BeEx7<0_%3SbbwvK7Q2{=!xugZQPbU`y4a6f*f4>u|KpGX8043U$rmh|3g1=;D7uR2R1&l@zIU{R)Ilc*(zJ6 zQM3vWa;0DuBqWx!;uMDST5$@)w`;{I4Bw^|r!ai0R-D4{En0C3!#8UM3MG7#R$RjH zjaqRD!#8NfB@AD$l|%jg7QRj^PGR_3tvH3@_iE)Jf4xR42m0&PS~w_&lvRh2e9xvX8%>qZOwxe707c!thyIaSFpbwBi(o&(w-j7(PQQPGNYvR-D4{ zHmx{?;ha`}+h4OVBZ+}f`4G)DGZ;i<>_zDNm_Oa!zXGP3MG7kmXT1xTeJ*>5U2ra{(gb&v; z`bqdOEnn%chidr>e?3IYm;39%TE5I*57IL5N%%l5LYQ54G(wnNb~HkmU3N4=m|b==LYQ54GeVeM-ZG6}S=r49 zVRqTg2w`>^Gl*YU88nEWTNyQopIP}RAF2>&mw|)$iItIq__39tgZPn^v4i-bmBEAf zftAsN_`a17oyPa93?E$iu9fkF_>PqUg!s0V5rp`bl_7-qrj;>-_=c51Bu{XhMA6%4kA-&dP8?eAdc%LcD3^ zeWvjlDKN7lLOYkG1>$J4PU*D@G@R86pTEZR)U9BbPkw3T7n!2U92UNazAB;f;jO(-PcB z=v*zKjfBq864*%SY%O7pgwE0u)JSNDmXJn5XKD#(By@(Ba7IGgwFEN~+NPy>f6ZwL zVz!Ha|zwS+DbN@)pPB$U(=wn!+U zC1{aQpe1CHP+UvEBB7X;j`G*2mQY1P5iNm=gu+_F6bXg21St|)(9+@lpcI8gleL5<5;{psU?QOtwS*-SIzdZNBB4LC5|XT2U~)B*cze`Z`c~75U<-BrVyXD{2HoI zpRzSrAwFqqxI(;UYrsN$!q$+5__(b>3-PM0VGHq!t$_>iFTd7vd#b!x!R3 zTf-OP1zQ6c;(1#`7~(lw`yGs-p0zcQA)fJvwfxN9{;>9U+y3N#+k@B_-dqrFyWL0q ze9w>X{^vvY`klAFVmAG%SsmxrMOlkF&=GfA9qEYoSsm(#yR43N#GO_LJ7SmB7p8HC z)!~jSJFSj)#In@^k0@Fl@rZ)e5sz5Xx|0{pYd!DgMQ_)-n-{%J>uz53R;{~v(Ob0c z=0$JTx|3qPofuT9r7f4 zq1F*kq8DiW&;0d#t>c|U&(k{GN%UN;qn$+0(K^;i^lYs|okY*lI?_pW2mc6=PNHXO z9q1%_hSqUTqT96&a}wRAb(E86PU|2i(X7@nPNEsDL!3lU*E+&UG_7@jljv5hl6IbW!WzCef7Eu}z{$twWnc6Iw?$ehUJvBb!9yS_d|X#{@&>DP6^l+`AmqZWK8hAAJtsz%lq6cXWxg>g^ z)__Z*2WSnqB)Y%WU`wL=X$`d``Yx?umPGfpnv)e__i9d7gx#w-SrK-xcF{E6VKpZ! z!tT|atO&bTbFw1LUd_phFnhIg{XrnY?$z9^2)kEvvm)$X&CQCido?#J!tT|atO&bT zbFw1rUd_phuzNKpE5h#8oU91DS97u=>|V{uim-b%Co972)tsydvsZ(xJhfsqH!H&K z)!eKIyH|6wBJ5tx&5E#lH76^=?$w;E2)kEvFe2<;&B2JUdo>3m!tT`^j0n3|b1)+8 zUd_RXFncuzBf{*}9E^N~-K)765q7WUVno=znu`%(_i8Rigx#wl2JtJaAqMdmR)Y-U zmsZ0J;ulr}4dUlkLk;3*R)Y=Vr&hxa;wM%E4&ujFLymQkJiAxJ4le!BYT!Zqz-s70 zeBWyDL440@_(6QvY5+of$7%>deA{XWLVU|=5JG&@Y8XO%!)hQxeBEj&LVV3?FhYFQ zYB)mVzhX5cp}uT2C?URNH7p^%Xf-e)zF;*pAwF+4I3Ye~H9R3cYc)V2-n1H`5TCIc zq7ZLb4N{2Lt%fPYr>zDm#HXx=D#R!AR>KwQHLC#&@d>LT3-NKQK@0J!)v$$l#cJR} ze9UU-LcDA>cp+Z08om%OS`A=`7p#Ub#Pe1|7~(mrK@9P%)i8#5#_~0kp`NxH%n(mm z4QGfatp+s26IMeS;&H1%4e?Q{VGZ$^)xd^$)M{u$JYqGtAs)6G-VhI24RDCvRzn=( zBUVEk;z6tBF^77$HkK61i5ZJN)%3tzwTvuGA{@NaPBwB9BBa(kk#s-HBasudiZT+}qE(QQ z$njc*7>OLCRfLhq(OLxDssJOA!?lVp5;;t(@FI~zw2CegIasS({Ph5>Vv9uf z(<-z`WM8YgEMYdF>av8{fU3(9W&^4&OPFV$s>2dy1F8;7m<^~pEMYdF>ac|6ck@n}K-FalvjJ6?CCmm?U6wE#P<2_tY(Ujz39|uJ zhb7DgR2`Nu8&Gvv!fZg*VF|MV`KrqjW&^4&OPCF)x-4Nfpz5-O*?_9c5@rLcE=!mV zsJbj+HlVuCH2%q|E=!mVsJbj+HlXUTgxP?q!xCl#st!w-4X8RSVK$(ecUi)0K-Fal zvjJ6?CCmm?U6wE#P<2_tY(Ujz39|uJmnF;wR9%)Z8&Gvw!fZg*WeKwZRfi?a22>rE zFdI;HSi)>T)nN&<0o7UVf9gk8by>n}K-FalvjJ6?CCmm?U6wE#P<2_tY(Ujz39|uJ zmnF;wR9%)Z8&Gvw!fZg*VF|MVmAC#9U$=_G5@rJ`4ojE~sNCxNALiMo;Y*TLodb@|;y5hIrO07_%-PW&|obrk9?!3e51IJ!KV~A)d4f z&=5~p1!;)KtpYW~N3DW2#A8+g8{$!`pbhbeRp5qr*eZBKJY*HXA$D5@aEOms1##Ae z|9}ywU=EiaunOo9_xr=x(#$4*7+c*v`l(&;ThZB5W{;gce0KlYKb?KY>~GF)nq9xw zaQB&qY&c-|`G;&e@c-YBDR?UX&Glbg|N8n@)<3)cvGotEzjyu4^|!9ScKv1R&s)EJ z{b}o?>rYvK?E1sk@4x;}*S}-^Z?508e*MgFra7}V^Di@hH}lJxAI^Mp=8H40&%848 z?95{`56s*lZ0`^;%G(V0_bj-5GtX8)N#oq5O1Z_aG;$2@Jhr17(~ z74uJl;ybkEl*Z50mQxx(Lt9R1e7m-s()c!QIi>NOww%&w= zSj&x!F+MFfGRF9{+{hT?({dwYj8Dsrj4?hfH!{ZfwA{!TeG8 zu_@oBn|F~+CqM#dPQrW+Y!e46LI^^5+IH66(q z$BV&wD(~XQVK20|=#`rYd$Qa|(bR%PoPt%Qz z@c`0vBV&wD(~XQVKFzd`PmJ+tI+8KQr|C$>7@wvi8Do5!j%1ASX}Xay#;55<#u%Sw zFpbYz6HvJFrZr>J_>46Xg)47Z6HzMp#HXx@DtYRY*2ER!HERM3@d;}p z3-NJlLJRS#HL-dd}gdO6;*2Ep+ zL)HWy;)B*i9^wPmgdXDk*2Es-UTcC6agR08hq&9C@I$=Mn)^)SE^7i1SNK6`O$4HL zSrdYYJFJO8#7=915V34c6e5b&gdw6}O&lVYv$HhJ61!HL;3Kj3Y7=`T zc8xZnM`BlN6L}+wpAPGBC*r70WK0-)CRUlETs)-kyuh2$Re?XHh@K9fi`eOVsUMp=dUqsfQrPT z+Q1ZvMYI7a5({esQ6v`9#tz^A*n&0yMPl>Xz!QnhX#-9qcB(eeL}I6C156}#vNo_p zVkc<>N+fooHjqSOCuk$>uUoVMBN97a8z>^N^<555Q)888~7oyBeek^5<5a0=pnJgwE-RyJ4_qcA+bZX0UZ)ML>s^%v4gdN z8xlK68?Yg<1GRw~65C%Jpdqn+t>I=wS<8l-5oIkKZbnq{e`pOyBg$Mh9E~V**>E(X z%w@yTh%%QAM3a5SRKWy8^kvX%`uBg$Gf+>9t| z*>E$WtYyQ^i1Mh`a5JK;Wy8&gvX%`uBg$Gf+>9t|nQu56QRcGYXhfOIhNBT>E*p+U zl(}p;8d2u5;b=rz%Z8f~Wi1MAqSdj4D_^iWm=K@0I+_rlvpSp*pS3!k5N}%jCg0yE&uVo@ zA>Ob$rVy`N9aM-<}NeI_?l3vO4e(AGA915FfBQ^bqg2df>6w z9{0ZWb+--vZ6dei|EGV%!T;KyaB%wn^p80B|NIFDr*DjJJau>fwY~Ps|3`mp!T+Xj zlezzY^!sG`x5?c7S7&edXZ_2WAJ2Si_s##b*B|5;W=@!S&&U?+Grv3YfAC{0 z_Ry}+MdDEH`dlOq(XP)$;$ZFiTqF+CuFpl{K<)ZmBo5H7&qZQC?fP6K-lbiii^RUx zWiHkQ%tM#GApVneeJ}zZrn){DfxIJcU0;lVdFXDL#_wC#2P0q}x;_{I^U(Fd2$+Yi z4@ST|bbT-a=Ar9@5ik#3AB=!`==xv;%tO})BVZo7J{SS>(DlIxc$n(?U<9l~zUzw- zFb`cHjDUIQ`d|diL)Ql*U>>?Y7yw^(64_zOOfO+Wp zU>?Y7y z(DlIxn1`+pM!-CDeJ}#np}WDM4w#4Tp3_TTx2_LHz&vz)FaqYG>w^(64_zOOfO+Wp zU$jfOY6F7)bTG z^tyF?FaqYG$jfO+WnUbROV3-!2P0q}IzAWy^U(3Z2$+YC4@ST|bbK%Z z=Aq+*5ik!OAB=!`==fj+%tOZqBVZmnJ{SQHQym|SfO+Wbn8qX4@xci4%tOZ)BVZmn zJ{SS>(DA_tn1_xJM!-CDd@us$q2q%QFb^FcjDUIQ_+SLgL&parU>-U?7y%b6EunrCpOWFY<3G&*(Aqj5R4h%_fn|4m*ev#l-?SPO3w`gaJ zzuv4J2$J9??I4f@H);ofB)CC4_#?sf+JPSluG0?sNN}xoz(<1jY6p8HxJEnBBf-_$ zK^_UN(hl%QaHV!|M}jM~gE|siuAMyUNN|~UKu3a0wSzelT%sMwk>FzOAdUnVX$Np5 zxKKNIBf$mQfg1_V*ACi9aGrL+MuKy-gEbPIqaCP`;B4(6jRa?D2WKSMp&gi!;7skH zj09(BzJoFnY}XFRNU%*i`}k{4I}js5RyznIK}I_OBf;s~!50bA+JP4dwrU4mBsfhw z;3C1IcCbZ)ly-jGUz6Ga76}sC!4(Mt?ZAozaqXar1U%q&P(^~Mc0fgfh;}eVg0OZV zMS_ra5JiFo?Es1d^V-1^3Ffo|ClZ{h9W;^P6zy#A*ORpaB@&#Z9VC(9MC|~H1Se<* zM?R2@cXWY)EjRwoya!!2#Mv z4GH$wHfTt&pSCeWf_G^fG9=j7+Ac<%8Ev~5ab~pbV8ofxwu2GpA*=0R#97g{gAwN; ztLU2haaOeLV8mI`_Ez^l&WyHQ zj5sseb}{12XxqhzGox)6BhHMrU5q$0+IBGF%xK%eh%=*Y2P4jkwjGQ(E82E2;;d-f z!HBb>Z3iRHinbk$I1gEEz{pd7ZEY7L&WyHQj5sseMhxOt)`kq?FRYCj#4oLV;xv9? zZP4J#&#k>>8b7l(Y;fhL*2WFuC)NfI;>XrT4&q1Fh7RI~*2a!?`8YG$Mh`B1-`em& ze9zkWL44QR0787n+6Y2?+u9I9e9PJxLVVNO7(#r*+8{!F-P$NZe9hW0LVVTQI6{2I z+CV~l+1g05E}myb+gQS-FIpQ+h%ZqE+}hAWylQQ1AzraIxDX$+ zHo6cmTN_@8m#mF1#EaGj7~%zMBMkApwIPOh&e|A5JZo)?A)c`|$PiCk8)b;6^47)~ z>Pc$@4e^Avk%oBO+E7D$)Y@1>JZ5dMAs)3h+7ORe8*Ye)`Gy_Sc*xp-!)!ITHiC?8H;F0*1+QJ=) zU!g77k@)4>LLG@;rY+Es_@&yy9Eo3|Ey$7h#o9s~iC?6xt^RtUw%|tM7iepdcZ0;w z*B07H{5)-ejl|E@7S>4o9Bo03#Ls@~S$6a8J^yI0hjuTYwegYtR%ic_A7b~D*>BH& zY4-KmkIg}Y^EaHaVe5w2hEq2j$B$`0V8c5%{NaY*+OTaZbJUW zpV-W)Gsn#wF>}DoJ7@lI=C@|}+n)ZP4x;=rQpe~36(x1F4nR>-N9h0)C3UzCAW>3> z>0sVp577Z0O6p)8z@elL&;c4sYCj!-p``Y;fm@hlkp^yIl0_Pv;J0s*Ng8aK#yf1_ z7$%vdfn%6tk_L`pl1UmkhDj!A;20*Eq=93YWReDMVUk4}xP?g;Y2X$nS)_qmm}HR# zZefxKyMbGnWRV7k`jRA>q=93YWReDsVUkH2IEG0kY2X+pnWTYZm}HU${Pq(oHgF7+ zOwzzDOtMG=w=l^f4cx*ci!|7G8vkMgw=l^f4cx*ci!{K(JoS$@a14`7(!eoHGD!o+ zFv%nh9K$4&G}vbve`f>7Fv%nh9K$4&G;j-(EYiR&OtMG=w=l^f4cx*ci!^WxlPuD} zEljdV1Gg}rsqYphS){&Om}HUq zZeh~Dtz6$ROfpG*$1uqx^&P_`lhk(%lT1?IF-$T^eaA4#gI(V-OfpG*w=l_rUEeKC zvPgZmFv%kI-NGb`)OQP$EK(l}iI=T^*);gJa(y`D(u>x|L*fPN10wOf^%0SH&iWTl z<5}xtB3GWVJ}44TTOSpPr>uYOG@i6REOO-u>*FHvxb=aN_^9=FOye=@LnBxCwsL)N zq#m(8IuZ|CA0CN^tdEbxZtDXi@e%7IB=Mm2A(D8&`WQ*vZ+(y??z28h5+Any;xs;F zeVF9R2d$5j#0RVol*Ie_ErUwxUhBuFagX(5)41FE@WX%fKI`KTahLT0h`7`G2t@3% zJ_HeWSRaFkoz@2-V%hpAL=>$LLqx&)I7BRIABZHG*S>#Gb4lK={S*AcZQ4g6N#3e` z5R&9A+Q%SC-mHBHlH^U=M<7YwsC@vEnNHM;=LDr2Rwv^+N3*!YwPw3$zbAk~~NIs3Xa{ zw2wHFT+}|`NHV2;ypd!?`*0)4koM6=k_*}g8%fS$%C~IE|NSz`_LlE{j`rPlHAw&4od>n`wmM&^1o+&mn8w~eU~Kx>wT9c z0qcF2B?0Swmn8w~eU~Kx>wT9c0qcF2B?0Swmn8w~eU~MH>V1bLf$DvSC4uUFhb4jP zeTOBn$FF(+xhx4-@4GAsSnsphnx z0qZ@NC4uTahb4jPJ%=TM>OF@gf$BYnC4uVsp39QpNu%eoBw)SgvLs-==dvVVz2~wd zV7=$EBw)SgvLs-==dvVVz2~wdV7=$EBv8HQuq05u=ddJDz2~qbP`&4{Bv8GVcUcm! z-g8+Ju-mISQ#T$Ti^_jXL<+tzbg5~$vDSQ4n- zb666n-g8(IsNQo}5~$wGzV#3GtJZT_60qKLSrV|`b6FCw-g8+Ju-QS?l2o@r?BVhIra~2tzz&J%}Nmv>wI~PgoCRh{vsmGQ>x%2Q$QD*25X% zQR@K>@rd=1hIrU|hfL!k>p=}yc3Tf?*5wnh-a{KMJ!n0+As(h8%#J$$T9pWDA0S|Gv^^k{npY@PuT_O+bJ?!Dq zoz~lD8oR8AK3uuOdhkQ+v>yHt%hm%RqG&w?A_~@nAYw^-ZcrkxJvS(EyY}3m#BJJh zgA%uD&kai4qCE_f#Le1+pu8k*(jEdy;zsQOkR)!<9{xz;dhNlFB(BpQ`bgqh?SYRZ z-m5+Ak;FCHgC0p-tv%$C#8uh@9!XrOJ=~GR721OxNnEZy)RDwx+5;U)T&g|Dk;En1 zTj%?exLA9LBZ-T&2RM?rP`kV>ByoXu;YJeYYZq-Kah`U;MiS?07i%POj&`9&5@%}{ zX(Vx$c7a9`JG6^4k~mYlFe8aGv zPS-BJNFuFWc#*_b?V^h$PSY;9NMcdD*dmFPcA-TQN$nzwBof*M7D)u!g%wG}wTmi} zh-nv8BoWmvrbr^9T}Y8cm|rNQNFtQ z{D1W4O#P8g$1o@9!*z^ul0HnwASdZVbv*B{hv*pMBz>@s5l-^ygLI5=l0Hz!04M1K zbc}D3-cQHyCh2$S7~LejuZ_3x9^4AeW5;bPZ|X6)5qH|yZQHuXE*)c=Y`sy(&?Z~o zt7Bx7t=H%n*ktR~I>t5GdXloBz>t#B|G}(Hojv-C9 zUZP_}ldTu)7|>+vc{+wO*?O*y(M-0Uqhm0Wt!L^O%Vg^rI)*aYx?RUeCR?}Z7|3Mn zqK^0V*OZQ7OtvQTHg?7qd0-toV~aenj-9bZo>#}t*diaHj-9bZo>#}N*diyJ@jlb| zJsZ1XiyUmmuGk_6o3Sgl$iZgpiY;=m8M|VO9Bjs}*dhm;F^Um<^TIKXQ8gO_8Bw({ zk`WafLm5%FF_sY}8-p3KW@9iTer;nkBUWt;XT*w)@r?L)8v`2g-)xL%#J|}X(ujYx zF{Tm!V&gojQU7dXSR?+)#@v;}KiU}Bh<~s#vJwB6jiHVBuQtXu;_q#|ZW@1QV{qfj z-`W`6h`+HB>JWczBYY$N%0>W3{H2W$j`)?0Zh7m!^cOY)IWGOuMkq)8!bUJh{M<%3 zNBqo2Ku7%4Mo35e#70m@{MbfVNBqb}*G%JwHUc}Y{J=(NM||H#a7TR4MtDbj*G8B7 z(O{92%?R>{Z`%m-h;P{l^oVcT2=$0>*a-HBuiNOtX?)E_z{i!Z+6eiGuhXaH+6erJFW3nEh|k+-haU|VIoXT=koc^P5RiD&Mi5AR#zq)OykR2{Bwn`> z3KE~T5eyQavJnmvpR^GW60g|^35ieG2nvah+XxGZS8ara#49!e!*%&ZPBtSr=|X*_SE$TXg_5zg@6dDcciLp)<6q#>TR5!4V**$8WhCv5~a z#1l3G8{%;rq0PEQ|K^1wyy4PgHUb>tQ5zu+@raGKOygl2IXR0wua2CYMNT#&Cufm^ z%?NUc2W^Bo!~-@09pZi)p$>7MjbMlPu#Iqs_>hfohv1tRj*y4?fQ_Jsc)yLXhq%{9 z;6vPFBlIEewh{ag@3Rs95O>)KfQUP7gh0eD8$l3phmA0Z*l8mWB9?80LPXIyirF0 zB#Srb2!CYpdL6-!EMBK0^pVADbp$@Lc$JQ@M;5Qt5%NfW@d_Owk1SrKBjAz63w4A$ zvUq`xU`H0u(Glv%;@LU^9a-F_Bg~P-oQ@zz7EjX=;>hBnjsQm%Q#!&MS&ZliZe%f} zBeapl1s!3HEY9l)YGiRvM@W;G#Zz^JG_rWIj(|oMPtp<2$l{4Qf*DynK}RSfi(7OA zGO~EQjxa_RkI^A|$l}pDL>O5-N{0X=i-+qFUu5wx9p2)vhv*PoWbt4fVv8&uphIYp z#r<@6gCETn_qCzRl41jfE=!6H7`iMeHel$oq}YI=%aURPhAvBr4H&vCDL%6tx-2O+ zVCb@>*nr{X(|EfL9hMXuFmzZ_Y{1ZANwEP#hb5n41cok4iVYaLEGaf%=(42PfT7Eh zVgrUQONtE`x-2O+VCb@>*npwSl41jfE=!6H7$OVt?>2N;Qf$D`VM(z8Lx&~B1`HjR zRGtwSx-2O+VCb@>*npwSl41jfE=!6H7`iMeHel$oq}YI=%aURPhAvBrhufjcl41jf zE=!6H7&NfT6>Z+T*)< z8@enhHel$oq}YI=%aURPhAvBr4H&vCDK=o}vZUC6q05ru>2~O{q}YI=%aURPhAvBr z4H!BsDK=o}u%y_4p~I451BMPuiVesQU6vFZFmzc`Y{1ZENwEP#mnFpp3|*EK8!&WP zQf$D`Wl6CCLzgAR1`J)66dN#fSyF7k&|yij0YhLRK5j!~Azrm1v=Fb@(7z`g^)VZw z3-PiI;e~j~hWJ9fXhVP@Ua%p;5YO8XVuH9(Qkl3LIK&PZxr2QVY4IUS&kq)ycV$VlpB z9bk;4PSOFyNa{o#AdI9=&;h_mYKso=MN-H6Bi*&@x_j*1-MhN?zwiAId;itmKi&Jg zdw+HB&+h%&-Y@R`s4sAYR^Sd`6xcQx% z-?91an`bx6rtYT7rhnV?_nUsX=?9y>zUgzDUfcA-rpGruxar1Mv%E_R1$QvZ+oVu%2(!FT3I&%i%NwOo za0;`$QwjyQFw0w|P;d;hoRss!xRcGVwQJI zq2MHDdCL?EZeo_VOrhW?W;r(%3aBXj?65)s6(xH+fr^s7jX*`o-b$dNWN#r*QL;B{ zAzy$+$=<{zSd{FI1T0GS1_Bi&dp&`QlD&>VMaf=EprT~oOQ51;uOU!TvR4zRDA}tB zRFv$M1S(4Q3IY`+dpUuMlD&+`!=hv_rC?FAmk_Wh*^7za^tgyXMaf=BprT|iAW%`V z=M$(X+4Bfgl}gt9n*J{@5~wKI6oHD8O%kXm*#vQm zpS-dG1&fl66R;@R7y*ltjS{FR*$Ck(X2XQDm<W3RCljt?_9Oxx^O8N0av-xO5H4hP3*kg&k0;#7>~Vw}nLUx<<06Jq zze}Mg^*a=fQg5e_l==-S>ctthuoRhAg9=ZpPKBmbqZX!BrRJwqq2{JlrcRw!zC@lf z%{A)eY5kfyX-zY~b!-=-AHwuL2EE5q5gu;glGINTPN z9IXte+rpBgmEm|>SaP&7oNo(Dj#h>PZehvM%J3;iVad_TaKbGtIa(QxxV%eHi~I!% zThz}f+@gL)0T=aC3c0ACP|!vFn0n{5enepx*M3NW7xe=Qy{Iox@I}2w;TQE1wa>I( z$deGp#pfvuqn@KcjCz(rG3qf2#wfO63CAehUji};?U#UzLi;5oqtJc{$|yKr!ZHfZ zm%xmI^CdJ}m(RH8OL)dbJYNDd3eT5Zv<#jvxo8%wxkxAOSmr{VIAfU$ zbmEF-^5^Ts70c|;#_5p(}`=9IaVi*RpuC-xK){>b>dWIj?#%sm3fa&9IDK_ zb%IlpIZ`JmC7C01f>C+N9Ig|HlFVT`0Vv5FsuOsU%pp3#CdnME6J(OiK{~-D$sDK? zRFcg8I>98#>}wMjDUDYX2PrMTZ4>t>Ex%UlYeD&C~V7Ey|~Pyq>s4 zX&$d9E>W7t>xn~@=3#o`4yAd9o;X8ko}nkMP#SS2j!+s>CT>s~Q6^4M8c!xJP#R7q z4p167ChkufI3~_d8aF2Bvo4*-jfvxvhK-5alLmu{)04)6iOZ9Qf{DYEMuLgEljiw$ z;_Re(r%zm+G>^3tM<>l=?ZnMV^U>zS$w~86J8^N+Jk?Izn>3HE6XzzqNB(Ozac%^@|^XxitYSKKrPF$Kas!SZ3G|#RRcP7oF>%^H!^XNKpWzsyl zP8^vu&!-b7Ce8Ed#Dz)od^&Mp(tEs?w}}Ij<|%aIzNC2woj5OP9zrLsOB${wj!PP% zCT>d_p(ajC8lWaFOPWW{iNliSk#pj%q)2UI-=UzSxNIH z7FQ+BmsnhtbW+EzN;DX0CAFE?mC4G#J zU6n)9N9)*GNgt(SXC?g}9Xl)Ock38dBz>fgQAN^6_(SBG>%O&n&$IUWyWR4&Jzsp` zp0CZy?&bStk7lKIazo2D&Z0ZHpJf|o(Vg7SvW>IoPVQ&f##wYH_p@x{EV`5XS+<=_ za6ij7&Z0ZHpJf|I(Vg7SvW=tYPVQ&f#!+-9_p@x{D7usTS+;Q$-O2qd+c=8uq`o=GLY-iY{|=QyfK? zxxFclqRZUi6i3lzZgGmE=rT9?y4)U3PBF{e=Oky*W$tu}v*lLZnY*3hEV|6? zPH`4p=7y&@i!O7^QyfK?x#=m6qRZU&6i3lzZhVTP=rXrH#Zh#bo1fw+y3FmrE}vr< z3d_6$xX4*_nfCz2S#+6q0mWH#nfC$3S#+6q0>xQ$nfC(4S#+6q1I1BvnYRPQQFNI% z1jSKwnYRSRQFNI%1;tTxnYRVSQFJ*s{fF*n(PiEnT;wde%)5i)EV|75gW@c@%sYhQ zEV|5lgyJl^%)5l*EV|75gyJZ=%sYkRD7wshh2ki>%)5o+D7wtsh2ki>%o~RKvE>WP zyk|(xqRYH%D9)nGyl*JZqRZiFeV+wDC~w7yHtPwP9>+_b(;ojR>=QKwAno7BnE z`UZ8WFE*LHYOe=GXZ;dD!&gr>R4y^(pF*X?>D9cv_spmk*lO zC#VCb^>ONeX}wDAKdo1&{igLX>d&Y3GWD)$afV<1vuVA^Q{3{t(|m!8|7BX7=9k|& zEl%^xe>yEr^UHrSt!Jn|p4QXUf1cJ;)E`ajNot>IJwg4aX+2K;;j}(VVI994b`cXWgEW;ng6Us9FQ9Pk610Z!5g@DwZ6a-ScC=8_T zpg@q~`DGaeDV|@JVUXhSWjPOoB+oC)KuGcYQshl3IhLUagp%X=rHF%)nAYe{%+XeDHJlU$m>H_2@!;7xL;5$GnlMFQL;mm;uDa!CT(B**7bMP!p4A4e5|O>%r3 zRfILk@o`iU)g;HqQAJRb93Mv&F->xO990bYQ)G_Mql%CwInDq@M3Wq6fFhttjx#_J z&m_kgpa^G@;|x$lGs&GyfSKet0~E1La-0E*NG3VX0L3jHoB@hBCOOUkMHrJDXMiG# zNsco>5ybM6t}$XtCjULK+)C8`Wc|;YGwTlP;|7ieg-Hy zT3J5>6dkRsp8<-FR@Tn|MMo>^XMm!kmGv_~(b3BK8K9VVwX%K&D7so%KLZq9t*oB` zimq1H&j3YNE9+-~B5F~b0g8@R*3SS%M=R@RfTE+7^)o=x(aQQ6py+62{R~iaw6cB% zC^}l%J^nUNx>{L30~B>yoB@iiR@Tn|MOQ29XMm!smGv_~(b3BK8KCHBW&I3L;GIPM zfpnzQK@>%~ps(@WwI0F>$ zi{cDW05FO(Kmow0?@$OvaRw+r81*d*!zj)G1rVb+0~An<;tWu@{H?!h&Hx1<<05B( z0+LZ*p`eW73{b!_iZeg~%qY$P1vH~L0~Fwl;tWtYe_EUY3V6mf&Hx2Kqc{T;5RKvt zP=GY*4bDFWP$M}56n0GO(-f?6?Nb!4QJet^z(#QfC?Fff8K3}d6lZ_}wo#k`3gAX@ z1}L09EzST1bmJOlfC9WxoB;~>wl16J>$8Od!g28h3gRfv00oSro})mH;tWtgIf^qt z0p=*q00o?*I0F=bj^YeZKsxFP3hF4%0EN)BI0F>0j%%C&3iC7DJvjpu;Ev)9P&jp3 zoB;}e$2HCX1;nE`0~8>S;tWv0Jc=_w0rV)&0EI2nntm_Pv)29K%{>#dSIO>Iuio>; z-FvUw_>zCg$_l&uUfk~Y>@L3-xBET2%kRbQe$VdmTXDPJv%CCO-0t`6F25DG`#rnM zZ^i9?%kJ`9al7BLyZlz%?zikNzZJLpExXHa#qEB}?($o4yWg_^y|*(DljE%K{Jb-o zQ!~>x4j3D-}kUuWXywg+l z`+a`j_ia6z&Vwp8M>X3~Ejp^%j%v|S&2|o3qGmfPMMpK;Q7JmA*^WxlQO$N#ijHDy zN2TbfWIHNFMOpx+5tOsk48g3$E_8*Z0GhMZfp%K*q023` zp&gbUgD$i5D0Hc%7IcXvVr%DOrnp0F?OY@vwstNQ5L-JJ2;QvUJ6}X@?VKkdw|34I zkXt+31?1MwHUYV{bB=)A+Ifk9+}e4ufZW=7k$~9RIa@$%?VKebwsu}9AhveS6cAfG zFAyBzu%q*Q5xKSVV*+w(=L`Y4wevgyxwUh;fZWXH zXGlP9^)ZQYh^_ux1jJVVCj`V+AG;Zc*yF-)CR-ZU~tfhurGpGUJe2eN<)~a;uNYj6-hq5t(twtv((z4!PAw zW5yx3`bf+;#8w}N8Hd>FqcGzTTYU^>9Ac|q5fEE_{ACPuQB z#a3U^Dk--5l2%Evwdu=RCFNFM)+#Bt`m$C@xz(4oO3JOitW{EO^>4Ox1|(^flv{mC ztEAZKOIjtxR$tO8DYp8OR!Ondm$XWXt-hpH8ftzIl(kCAt-h>PQf~ESt&(!9f3>B* zfn=?ca;qPuQB#a3U^Dk--5l2%Ev)t9tNimkq+RZ?vAkyaD@Q&83_ zDYyEvR!OPQf~ESt&(!9FKLyOTYX8Zq_Znu(kdyo`jS>jM_0b2RZ?vA zC9RTTt1oGl6kGkKtW{EO^<}M+GJub@pl?BF3;HI6w;(crkGLQ*fRDH!GJub{ATofD zx*#%ukGmi;fWOTW8NkP0Tq6Vc=nML46GUJj8NkP2(62)%3?c*gI1C~K_(%*Q1Nc}B zA_Mqn3?c*gXbd6)_;?H=1Nevx`XYqMATofD${;d;kIROeCFNEhn{km0;G;8$4B+E4 zhz#H(G>8n~V>E~i;G;B%4B+E5hz#H(HHZx0BQ@xg5LSbpgwPs92JrD3L$pCGn2ay5VSPyy}LVM8LAiM{W z0osTUA_KHBA4CRdqdtfX(8hfb8K8~)ATmI^Vu=jUMt@u*1GMEokPOg9fDjp=jRBzm zLV*w&pp63|GC&&%LS%q87KF$EZ8Qjx0or&FA_KG$Aw&jfV?tA6&bJYvDUku%c+ix{ z0PWl4-_n~QENDt(fHo2|B{D!82bvNYpp61ei44%jfTlzSXd^&VA_KJXpDB?6+UU=e z$N+8ZXG&y%Hu5tiGC&*mnGzYGjrvT94A91WrbGs4VMF1GEvFDUku%c+Hf^0By8pN@RfcHUSx+jnqtu4A91DrgW3u+Nuu!mfqUB zXMOdFsqA`k+Vpki#&>*w;@pq?{S&;)m3wk5T5sJk$=?TLw_l-(uc8hOReTk7XsF_= zD5ZxgzKR+&RPj~RprMMdq6Q6Bd=)ilsN$=rK|>W^MGYEKd=L#9Qhg8&8d81`4H`CY zvq*=A6d)Jr(2xp*=+KZ7glN!^8iZ)jkRpU=(2y#GXwZ-{glN!^I)rG@kV1rL(2z=m zXwZ;SglN!^T7(kpA5x7V9U4-O5FHv)ju0IhQjZV~8d8uD4H{CB5Dgkqk`N6VQj-u3 z8d8)H4H{CF5DgkqmJkgZQkM`78d8|U&5AlSRB7@P>{_8pvqFc4D$NQV8mclYG-#;G ztk9sLDzid^hN{d84H~L4D>P`R%B;|!p(?XNgNCZi3Jn^nGAlG_sLHI+prIo=+JOVK!=8t0va@& z5YV9ExPS%?#{@KJI4Yn)!z}_DG#nAopy9B91`UmX1`US_4+|E7hXfao zwYsmN_R54~zW#$2&*9<&mR5CaaRs2D;#(4*7Pka9d{+MveI!^5-TemcO|j1!f{s;D=Qp# zC9$%?aaR&6D;#&_u(HB&R}L#H9Czigvchp!4l64hcjd6M!f{s)D=Qo~yOLO0>9{M2 zm6eXWl2}>kxGRa36^^@-SXtq?D~XjAj=PdrS>d=Vhm{qMyK-1r;kYY@l@*S=a#&g6 zxGRU16^^@dSb3=V4Nwv*>x8T;iItU(yOLO0CuChotgLX{mBh*l$6ZORtZ>|w#L5cC zT^t7eDul$K{|sR<=*tiqgPwx$7(_VkBC;m z;WOwn5JH1K4Pi9sD1^}A2K^$0 z+Mr*6a2rH8?jkqn;}CX(ejY+^(8nPB2K^j_-=L2|2oCxPgyEnMGk>}`4rKOrksQSA z?P58I+1o{P5VN<7=OAWp7tuk?-Y%wt-Up#Nh}ql4br7?+i|im~Zx`D^%-$}xgP6Tt zbT`~AD;;+c9v7LtU5p1Yd%GwPV)k}%9>nbJB0Y%N+r@g&;}F_|-Ui`4h}qjkd=Rs@ zi}@gCZx{7J%-#U^L4@PrEys}A8(=>!GJ6B`2QhmC{0A|60|W>$djkvz1rQ2^n7siG zgqXbn5`>t&0TzUqy#X48n7siWgqXbnB81+Ge*;u#%FKZP5t=fyH^76Y%@%-#U)nKH9Czv9GP5_pc&5zk4G^9wGkb%(1H)vuzQ?5hE&Xk$G0j@J;W^aJ% zOqtmmU^-J~_6CT~l$pH&o-<`;Z-C}Znb{j)Ia6l#21w47nY{syGi7FPfZ{Z-CQGnb{klG*f2w1{lqhIUoy`wfiYEdjo`K%FNyX zpP4eVH$Z2m%^qlj>F6WeL4zjngjZL6lM$$a(V!0GFGt5%f&As@7%Pyz9KHJ*NMDXlu>$GK(J59SeK|VC3ZySb@4g1o zm!m-)oX+zHnbd*&bqKj{N-p;2lAJrNgc>vjwW>=e>s}ef&ArYPEfnX_37fKSoP`Rrdajq;-*;j>Efn1tBQA#Q>+4YkyES!b&*r70(Fs7tO9kBQ%r#x z7dOSKPZu}Es!ta;#i~yiH^tPaadA^jc^Vft#Z;$paZ^lj8W%Uk)TVK9Q%q?#jf$dZVrtR2$SFQufSh6q(YVMdrVfpZn_|k) zxVR~%3XO}KVv5kXxGAOvjf?0i=1L=&$!4bru2-9oMI}^xVR~%@QjO_deoh9aZ``7GcIoGQFX@M4ZK-^TzYR3 zAeY`71-Pa61_5sAyAl7h zy6HV=3ElJ_u!L@UM=YV6-eF7Vrgy(3bkn=f(iu(gUW@3acSt1N^j>WV-Sk#1p_^XA z61wRfw1jSYo+WhCt6M@hy_zL-({nAMn_krty6IIcp_^VAYF4G2-T`|N-Siww=%!b) zgl>BKEuov8cSb?uD0|w=qgKJg?3r`3iMJ-zYfV^ zRqYFUa#&USf*uZoeicGu!_}rX20b*!#V8d@2%kZph7cNb6xyL3UsW4}9!`VU81#@D^eG6dL7#-s8uTQD z*Pu^8hz(+2(8FxdFG8pd`UU7bOaBSNZCv{}gxsK?hqhVz7(2cme&gcLaS_2mAB8X+ z^brWfK_7;29Q3mgl7l`3VL9l75SoKN0O2|4XCOoeu`lRhI_P~6rh|SOLUmB{y&$p! z-vePg=-m*ygWd(~p*`qr5Z;5< zAiUQEQxNk(eF*hI2{ddehL9iEdJy)5qOn$VtaG{${^MEzAwZ}DVL-@-P$1NXa3J&; zgan~Sp(YvxTOb;Qn6r^QSjCKyJXmGUMtIOvnX?fZG*#wogau8N@fsmPQ)RqHIM7rX zuMr9~RmN+C0Zo z^k%9I(+InnD#J8FZl=mGjc}W(GE5`XW~vO+2(y_gvou0%rphdh(3+_-OCzjis?5^p zIsvmZ!fB?;ERC*F{;4udqpNj^VH#mHQ)QS&2+dS?1Nh8T8Kx0BGgXFZgw0HqVHzPb zQ@t9%Wu|%+fXPhtN~%dBt7vjY5?Mt-J(9>O3hI$WR1JONj;LuDoW~+Ojc1+ zk7Tlnl6oYQRrG#yB$HJX)FYX!qM#n_5NUEo5?Mt-J(9>O3hI$WR#8xoB(jQvdL)rm z?EB4;Ojc1+k7Tlnl6oYQRg~1D^DHqsBbltCq#ns+6-~})n1JONj;LuDmqe&WU`7T zXC#wV6x1V$tfHVENn{lT^++PCD5ysgSw$ymkwjL}iCWZ@$tpThi)6Bjj?^NVtfC{e zNG7Z3NG+1dDmqe&WU`8m)FPRzq9e5klR-?*NFuA~NG+1cDtf;;8n(pbj3ly(PShfa ztYY794(S1q(HY8Q6&gC=#6WP&hXghGC9MFy~gAWF&w|kZ+quwN+OgrK+vE>L^uh)m0v;YOAjDNL5>P zl}D=Ds;fLwl~!G)kgBxmI#NwlT6Gmbs?w@Ab*7rCw(2T?RJB!C0i>#}x(XmwZPoRN zQ`J^ok2qCr)%A!|)mB}PI8|-c^@vl|R$Y&{uhOdP3HMc6bv@y}N~^9X+<)^3@u#jw z+*fVY^@#hbt-2m@U$s@&BkrrV>UzX|)mB}PxUbr(>k;==TXj9+zG|zkN8DF!)%A$` zDy_PnW?!XM*VF8)wCV~%&Aw`@uE*I|ZPgWo`l_wELQh|{RafZgtG4P2J$=esw=njRa*6-Cc&kz+NvwK^i^AR1(&{R ztFGYES8df5T>7f5x`InzwN=-FW}op1#Zbvo587`jf?j1Qgzm9K9_in0i9FK3OZuxT zko51g7atvM_4hGA>O_wID+NT3{v84$NB?#KTl@ZP0+L4m6#|k*|5gD>qkoHlfYE=s zfPm3|nSgxJzga-O=-(tDU-WO}`I|Zcqkn@g5it6D1q6)#^#TG$e~*BG(cdi~VDzsO z5HR}J3J4heYXk(0{?!5kM*k{79oQuxU-UIb>*S06l>+ibe?{B>I=Q01tV`sI{*r)P z(O(phEBXrpaz(!=AXoI~1;mMdK|o~a=LJNDeok;Z_cP1=tZ7*Gudwt2XwK5}p`Dh_ zfSQ+Ed>*(%q{-O7%+mLuOD!=N`Wp|mJm??Y)c5Jf0iW#)PJER z1k^v%5(4VKz!C!LOL8>{s4vOYB%r<|*Q`lEeOaz10rh3MngrCBngo;_TLl3nvRq99N@Tg31e9oi)+C@rlB-ETi6mD;K+RSn z%he>HM3$>bK#43@lYkOgt|kE`vRq99N@Tg31eC~fH3=w@qL;P$J3I>>oEuWVxCIl*n>52`G`}Y7$T)%he>HM3$>bK#43@lYkOgt|kE` zvRqA@q(qjhX_J)5ay7kWl1OqjZHN*{uBHu9QkDN}5>QgH7ZFf`Qda$5}(C30I06D4w64HG4DTMZK>a$5}( zB{vE%Q6ja~>VVW%!$gVHR>MTe9{I0^iW0f4hKUlnt%ivbxvhqY61lC0iIS@Ym?)9k zYM3aI+iI97k=tsRD3RN0m?*(*riO_U)HdvDACTZS=o|>SK`()t=nZ@^h~J5^+6W|)oU466BFVYh2PBf5t9?Ks$+_AGB$Aw~eLy0~ zx!MOLlANpjmPm50@>?Rwxyo;eBi5%xDza?^u^i{h(Xkxo>IcBJVoA=Gq+?0Wm84@y&XuHNNzRp{V@b}Hqhm?Vm7`-x&XuEM zNzRp{V@b}Hqhm?Vm7`-h&Q(Z^@%-i)yvh|FU&2O;wq z&p|%}Av);&5T=9P2cbF$)yKFFLiI7SgHU~p?I2ViqdVwb5Wa(c3cAD6PeKTfYfUCW zjPgK|XpHk920@JUAO=B<^`OTgvK&T60Kq!DvAk=}bw!{>Pks#NYA~6<(7$PwmgdWwqUgM)* zUmqV#?mhal_fLJ*eDd_uerW{Ptf|pgWy3W!`l@WWrbb_t4cFA@tCHcG8huqVTvMa3 zN``A{^i|1lO^v=P8Lp|(S0%$WHTtS#xTZ#5l?>O^=&O?9+G$X8RW@8xqp!+_YijgW z*>FvbzN+lErbb_t4A<1?tCHcG8huqVTvMa3N``A{^i|1lO^v=P8Lp|(S0%$WHTtS# zxTZ#5l?>PHAFW=M4cFA@t2z}~Q=_lShHGl{RmpImMqibl25R(G*=e9gUzME(YV=jv zX`n`5m7NA^^i|nuphj=#{tndW4c*^?8oj~&ZMFt#^oDNmK#kte4IZe`8@j;*HF`rg zc%Vja=mrne=ndWAff~J`8$3{>H*|vsYV?L~@IZ~;(ES~#(HpwI12uX>_jhowsHqz~ zP@^|=g9mE#hHmgcjo#1=9;ne9y1@fAdP6sOphj=#1`pKe4c*{@8oi+#JW!)Ibb|+K z^oH*5K#kte{T-;$8@j&(`$wxA_6Dob8=5u)HF`tSW}rrIXxa?a=nYMqff~J`X){ox zH#BVqYV?Mt%|MOb(6kw-(HojJ12uX>(`KMXZ)n;K)aVU8&gMXk-muS8joz@&Q;puR z&r^-wu+LMC-muS8jo#3-8K}`4nl=M9dPCD@phjg_4NaSY8oi-Yr-2&1p=mRq z(V-@)AE?nAQvE=Ue$bYR8vURx6*c-nwcEOJzb& zK`oUDJ*Bf$CiIlfQkl?GI!k3jPw6a`2|cB=R3`M4&Qh7sQzmPsQlY1;mCA&kvQ{b+ zddga{xY zCiIl6Qkl?Ggi2*XPZ27`giWwB+DcKO@p$JjMTExVox>Cl8jtOCiUy6xo;k&W#$(T% zB0=M^XHIdT@z^t`DA0IpnNtjCJhsd!0yG|5<`n-Kk1cbG{*1?#ImLd)W6PZ4zNYcm zGpD%Ec8e^QCBF8`zwUtNYtCBC{0lS+Jb z877tZ>O+4_z#JN%{KOD{b@xNl|2*|KQ;$tePkw@s`R>X6uex|*=tURbGO_E-JqHgz zu+Lr9zqUX4&;#D~N8DBY`?d8)b{;zHt{!~&irnJjd@i?;Us%X46z1-Ia5bOJFYL?~ zcII>Ya`}~fcBL>smtV^7FXb=K9o_n|8GZs-b>!Cd@h4`kS^VnOpW7O2J-BuE)^n%+ zZR(GvKF8nH{rai9rsk)fH~Ia^-<-(mOS4}LgzvYRU z<U$lJU;T8kz0B7o#E#8$F`0R4Vzs<@s<-WWno`-VI^1Oe{;D) zasRf*rudLaKIGINF+MtE%&z>%(;tzW-Ciapv%|KIG|-SpVTCXI77X;8QdII&$=>PtQz^?B4e1nf6m& zdi=}gcIFrN<#H><{K|ZBZh1Mof7_!kupe>Nvp*uYQdpkL&*#^__SuInB)gBufIJr`^ux=&CH&2&BV8dGVjf-%zm4X z{pxJf9T^`wt2Mf7$n_2%I#ReG?_QA0UvSs;x8L~kn;(2Ad;jA8?6q?b?tkd^-S^GC z>fR%b{4MkM&E0XwQofPhcmK`#H}1c4Vd24BZp`2M>N#G1ac3^KGq<=eTUg1@ujKM` z+2Z_ucX;EM$e;8jn*UK>!)*K-xs$%ezxO3}{l9!4+5B8#etEyTaCDm6chT%UGxyGH zpVlq>wdv*!ljB2Yp1EuCrhNw=exzW3dAf#Zt9)T4x3n@(TV?b6AAaP4hYoIR#$tYc zf&b6v)r>bzu+Uj7q!!NGUnV!KM8Ot{D}}<`Qn9#UrE{L{>uj-D$ma`1E!Dbj%f!&R zkG_&e|C+P(3pH;q|Zo+3Yz}t-Fmra0eH!cwqL)^~|5o zp7Y@cXHT2ecRMosouSP8GuO<1hwt>8v+LjK&z`mSrfVNrt~_wVZ3~4*iudHNec8Ul zJNH)}I&k8JX7%(7`IX|*+`?jU|B36lec9X!cO#pf%jOo>uTE#r-h2DK5A0ul{S6Pl z=C)VevNyl`=G~PCU$=Phq_y%Zv{XJnw>ZD}%vyYnXRa@-zmK)_%@N_KH>v6z3>TF0-?FYO=Y`yS5xfM18+p7}qS9~?dHJF|b0 znc_bmZx#6UZAbs@d$XgbjVujC?-oyZ~DMQ+9%Pi+5Yj?OOU=L`A8c|FSq4<7Lj9a-Je%5Snv^Vm9tY~j@FWRI2C z@pZ0iSu}JpVBF$$8h*qKLb90N?jrIA=D)Yr$@mP7D zSmlaMUW&|tl=0_t+9j8rr}%Tl+==_rJhFOSYwqM#sE%byMol-5{GYQ*Hn&t*m}dx{ zSVfEM+-#BTN^xcw0zPcJ2qJ)x2R!O zTwXYNkvlcg`G&Gcq+l&_;@)1i*(wVfDhpK0CU<3Vd3l~ycqvDhMl#=+zV*V<&kSWg zlX)n!WA@Ky-#dHPY-Z*wGp(7G>3^91`1HZ)bGCka>tO3mTenPokssGlnEczx4^Hl% zJbmIT6U~W*@xL4Y=(sz6_Sm<^;<4+;hDJYwLsmzdds_GKx;AvfiE*DJc`R;L#l<|& zJeQld&#QjFd+6{%@4D9ACx3f(8QQp*pDWVd&-wO_o3?pUFYIaE^_&+&Zot>Yxk6!n z^A|JE>&aszTJ!je+0(l7l*{C(zzrSVd^(2ldRQmR)7ZGqzEi9-Ket>w#l2yf`6XWO z#${f4%4M313%QN2=cJc2zc6nL@x-@v$7bs+tjy<7yIrPn=>BKVGpez8Y?%|4cst7+ z7fw@QlXOP-qDQlHOZiP2w6IVtE@T&T8}+xhbsMYP{*1OraAZV$jzt$1_tzgd{2--q z!a-pzv%pJ!c+1}R6H(O{yQ+GL^-Cu8Rew&KCsKtei zMYOl|vgfQcj}2Ff*|~h~ly|9^U(9B$L!NGqy{(%!EY#%j^W^5~uoZ4Wv2eP6fl_{{fX|_yZI_=vf}dQtK@UVW0iPf zk?S{Gq-Z_H!+PeWG@l;F#rZ|d!AN=LrR-_#Ir+ZWO(8QqzrZ73+DscKZ6;4Vrrnz? zqrD~HQIjCOL5EN4C&#@hW^>h>2-4Ro9C|_>ntoUocwaG*|5%uW!Uc#C>Kxpa@6h{UQUzhyZV&t6!V+MI9^U} zkv+&scju~2mSN{yShU;bP47;2xw*WsoZIkvcsaW^TZhtFnBxv?ewVY$jEbd`mwD+a zmm#yASf+W>NrcwPFWQrc6UB4o=IgKtTUb6t?PQmUKZ_?%V~yTCzL!`yesa&A6rYx%go_O#|txlZ8}9cq`!E-WAYK_-(qZSMI~=j&+X;OxK5 zeqr{`*)#bWckiA#Ftcs?Po_UeRJ~~HUv2&9)cJhRodVF+n#luXaDbxo1;H|S?1i))sopdH2L&bVXb3lBuo2< zF2#kFe2#9-KJzt*u>?>e76%4Ih)uqRjtfpiEbY=w=IcY5uOB`At;0`c?kupKpB&z` zbJCc%KK;V8^ZH`P=A<^9w?6R5_S@Vyu&3O9%L7LazF}CaOpoSty&2hUt25S_Vd<1@zl)D^ zBj)1uKe|72g;`slJ)C*cT(thw;Y`sC*8ll%=4Z~j(7uwEd+e1QIrPZGuhlO@>G~&* zWbQW?te^8h=3LWXzvh9=mquFmoWK5tr)JJK$@+Vrn)zjO-uk{T^I!4$>%TnHdFK<2FVDPtqg;JrE-U{CZbvxC_NKVJ4{g11>p4^Z$PYPu|J3WIUOsi+CrzO{q$&m z)EhlxOYT>mM zZ#H+BONM?l^t+Fre%kh$~sL^S^88 zcZV`Rn|V{__RQ@6kMHc7XMJn`QQz5hr;l7UdL@4rBQy7kKjz0xhFi;93tK0q{*a$9 z8B94-xv8YGqH1Gc>LSk{?_9o& zA*6h$lm)@B%qx|=E$N&4g@6Nn< z%k-9+zaGjsv;Q>Po%w6N@*m6`{m$nzGiKadni#rt=%)35{6c1Kea9CwzxRIu&gZ{9 diff --git a/packages/migrator/data/migrated.sql b/packages/migrator/data/migrated.sql deleted file mode 100644 index d9fe8f9..0000000 --- a/packages/migrator/data/migrated.sql +++ /dev/null @@ -1,21840 +0,0 @@ -PRAGMA foreign_keys=OFF; -BEGIN TRANSACTION; -CREATE TABLE IF NOT EXISTS "address_areas" ("id" INTEGER NOT NULL, "place_name" TEXT NOT NULL, "zone_id" INTEGER, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO address_areas VALUES(1,'Housing Board',1,'2025-12-10T14:30:58.912Z'); -INSERT INTO address_areas VALUES(2,'Mettugadda',2,'2025-12-10T14:31:22.451Z'); -CREATE TABLE IF NOT EXISTS "address_zones" ("id" INTEGER NOT NULL, "zone_name" TEXT NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO address_zones VALUES(1,'zone 1','2025-12-10T14:30:40.126Z'); -INSERT INTO address_zones VALUES(2,'Zone 2','2025-12-10T14:31:12.245Z'); -CREATE TABLE IF NOT EXISTS "addresses" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "is_default" INTEGER NOT NULL DEFAULT false, "name" TEXT NOT NULL, "phone" TEXT NOT NULL, "address_line1" TEXT NOT NULL, "address_line2" TEXT, "city" TEXT NOT NULL, "state" TEXT NOT NULL, "pincode" TEXT NOT NULL, "latitude" REAL, "longitude" REAL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "zone_id" INTEGER, "admin_latitude" REAL, "admin_longitude" REAL, "google_maps_url" TEXT); -INSERT INTO addresses VALUES(1,3,0,'Bushra ','9000190484','Mahabubnagar ','Noor nagar','Mahabubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:13:54.439Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(2,3,0,'Bushra ','9000190484','Mahabubnagar ','Noor nagar','Mahabubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:13:56.852Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(3,3,0,'Bushra ','9000190484','Mahabubnagar ','Noor nagar','Mahabubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:13:59.752Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(4,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:15:59.602Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(5,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:09.066Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(6,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:10.587Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(7,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:13.227Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(8,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:14.410Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(9,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:15.341Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(10,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:16.029Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(11,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:16.818Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(12,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:17.605Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(13,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:18.595Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(14,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:20.593Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(15,3,0,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:25.042Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(16,3,1,'Bhsj','9000190484','Mahbubnagar ','Fcd gown motinagar ','Mahbubnagar ','Telangana ','509001',NULL,NULL,'2025-11-19T07:16:26.343Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(17,1,1,'Mohammed Shafiuddin','9676651496','Hno: 1-9-25/25, Noor Nagar','Nawabpet Road','Mahabubnagar','Telangana','509001',16.73764400000000041,78.00380999999999787,'2025-11-19T07:36:43.907Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(18,1,0,'Mohammed Rafiuddin','9676651496','H No: 1-9-25/25, Noor Nagar','Nawabpet Road','Mahabubnagar','Telangana','509001',37.785834999999998728,-122.40641999999999356,'2025-11-19T07:40:54.902Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(19,1,0,'Khamar Jahan','8297666911','H no: 1-9-25/25, Noor Nagar','Nawabpet Road','Mahabubnagar','Telangana','509001',37.785834999999998728,-122.40641999999999356,'2025-11-19T07:49:04.462Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(20,2,1,'Qusham ','8688182552','5-7-30/L/9','','Mahabubnagar','Telangana','509001',16.741472000000001685,78.011600000000003163,'2025-11-21T08:45:46.550Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(21,4,0,'Shafi ','8688326100','1-4-6/9/12','Noor nagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-02T09:55:46.194Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(22,4,0,'Saniya','8688326100','1-4/25/L','Mothinagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-02T09:57:32.847Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(23,14,0,'Saqib Mujtaba','9390567030','S s guyta','','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-19T00:53:31.858Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(24,15,0,'Arif uddin','9866116948','Noor nagar','Noor nagar ','Mahabubnagar','Telangana','509001',16.741569999999999396,78.011669999999995184,'2025-12-19T01:00:27.678Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(25,15,0,'Arif uddin','9866116948','Noor nagar','Nawapet road','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-19T01:02:03.968Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(26,17,1,'Bbavani','7013167289','Market','','Mahabubnagar','Telangana','509001',16.760310000000000485,77.99338000000000548,'2025-12-19T03:01:51.649Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(28,17,0,'H','6666666666','Hh','H','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-19T03:42:49.915Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(29,17,0,'Bhavaniiiiiii kumar SEDAMKAR iii','6666666666','Hh','H','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-19T10:11:23.603Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(30,20,0,'Md waseed','9676010763','Mothi nagar','Mothi nagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-22T09:04:00.235Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(31,22,0,'Myhome','8885456295','1-10','11','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-23T21:09:01.181Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(32,16,1,'Pradeep kumar ','7799420184','Near the sub Post office, OLD PALAMOOR ','MAHABUBNAGAR ','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-26T19:30:44.314Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(33,12,0,'Marlu','6302478945','Yogi tiffin ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2025-12-27T23:56:10.399Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(34,26,1,'Faiz ','9652180398','Gol masjid ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-03T02:42:42.263Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(35,21,0,'Sailesh','9701690010','Sailesh Nilayam, Sagara colony','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-04T13:19:25.837Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(36,30,1,'Tirmaldev gate ','8341217812','T.d gutta ','Kosgi road','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-06T07:45:37.451Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(37,22,0,'My brother''s home','8885456295','Hjuu','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-07T10:24:39.504Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(38,34,1,'Habeeb','1218182456','Shah ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-13T09:26:06.610Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(39,36,1,'Rimsha','9985785747','near bharath talkies road,beside punjab bakery','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-14T03:26:36.657Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(40,22,1,'Address name afroz','8862958999','Address line 1','Address line 2 optional','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-18T10:23:28.923Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(41,42,1,'Inzamam ','8019548522','Goal masjid near sr graden','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-21T00:01:32.400Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(42,39,0,'Shabana begum ','6281768720','6-5-50/1, Habeeb nagar,menaka theatre ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T10:23:54.676Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(43,25,1,'Mohsin Dk','9848296296','TD GUTTA ','AL MADINA CHICKEN CENTRE','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T10:37:26.594Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(44,49,0,'Akram hashmi ','9182043867','Rb function hall ','Talab katta ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T13:49:40.718Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(45,50,0,'Shaista ','9390338662','A S chicken center Bhageerata colony road ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T13:58:33.695Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(46,51,1,'Santhosh Guptha','8606465444','Kamakshi Smart City Block A-101 ','Venkateshwara Colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T23:00:16.057Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(47,1,0,'Mohammed Rafiuddin','7330875929','Noor Nagar, Nawabpet Road','Mahabubnagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T23:08:31.533Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(48,1,0,'Mohammed Fasiuddin','9441740551','Noor Nagar, Nawabpet Road','Mahabubnagar','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-23T23:10:52.880Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(50,22,0,'7-38 BK reddy colony ','8885456295','Near masjid e Umar Farooq ','','Mahabubnagar','Telangana','509001',16.740442000000001598,78.007355000000000444,'2026-01-24T20:43:47.162Z',NULL,16.732927000000000106,77.993509999999997006,NULL); -INSERT INTO addresses VALUES(51,29,1,'Zahed Habeeb ','6302300646','5-7-30/L/9 gaolnl masjid','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-25T23:35:14.565Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(52,55,1,'rahman junaid','7780659850','Bk reddy colony road no.1','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-26T09:30:35.593Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(53,59,0,'Mohammed yahiya khan ','9490585051','House no 1-1-77/b/3','Opp golbanglaw beside royal cement n steel','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-26T13:08:50.114Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(54,60,1,'Srinivasulu ','8331989727','Koilkonda X Road','TD GUTTA','Mahabubnagar','Telangana','509001',16.760335999999997902,77.993645000000002553,'2026-01-26T22:21:40.119Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(55,64,1,'Sayeed Pasha','9985383270','Goal masjid ','5-7-30/L/9','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-27T06:43:54.588Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(56,65,1,'Mahesh','9381637374','Beside Dl Narayana tuitions','Panchowrastha','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-27T11:28:27.599Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(57,54,0,'Abdul ahad ','9849759289','Veernapet shareef calony ','Fz water plant patel masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-27T11:43:53.572Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(58,66,1,'Faizan ','9618791714','Near farooq masjid ','Bk reddy colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T01:30:42.348Z',NULL,16.760255999999998266,77.993515000000002146,NULL); -INSERT INTO addresses VALUES(59,6,1,'TANVEER ','9346436140','BN REDDY COLONY ','BESIDE PASULA KISTA REDDY FUNCTION HALL ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T06:33:17.478Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(60,58,0,'Mohd Bilal','9603333080','Edira road before masjid-e-soulath','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-28T10:39:59.776Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(63,1,0,'Saniya Shaik','9676651496','Noor Nagar, Nawabpet Road','Near FCI Godown','Mahabubnagar','Telangana','509001',37.785834999999998728,-122.40641999999999356,'2026-01-29T14:11:38.999Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(65,1,0,'John Wick','9676651496','Noor Nagar','Mahabubnagar','Mahabubnagar','Telangana','509001',16.731055999999999706,78.011049999999997339,'2026-01-29T14:54:04.995Z',NULL,NULL,NULL,'https://maps.app.goo.gl/B3X3kkkgXdp6YbGW9'); -INSERT INTO addresses VALUES(66,38,0,'Inzamam Innu','9492230173','Ar talent school','Sr garden habeeb nagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-29T22:40:44.484Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(67,77,0,'Tauheed Ahmed ','7287952112','B.k reddy Omer Farooq masjid road','','Mahabubnagar','Telangana','509001',16.739729000000000525,78.006410000000006021,'2026-01-30T14:07:03.540Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(69,54,1,'Abdul ahad ','9849759289','3-11-137/A/11Veernapet shareef calony ','Fz water plant patel masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-01-31T02:30:19.844Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(70,78,1,'Vidya sagar','9059201201','65/a brundavana gardens','Svs dental hospital behind ashok leyland showroom','Mahabubnagar','Telangana','509001',16.759952999999998546,78.052940000000008424,'2026-01-31T04:25:12.551Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(71,7,1,'Umair ','7386623412','Brundavan colony near MG show room ','','Mahabubnagar','Telangana','509001',16.755016000000000353,78.052220000000005484,'2026-02-01T00:27:45.058Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(72,82,0,'Noushin','7981337554','Habib nagar','Near kirshima kirna','Mahabubnagar','Telangana','509001',16.733945999999999543,77.989480000000002135,'2026-02-01T01:03:36.263Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(73,74,1,'Mohd ','8639145664','Mahabubnagar habeeb nagar near karishma kirna','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T01:31:41.702Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(74,83,0,'Mohd Fasiuddin ','9441740551','H. No. 1-9-25/B/1/A.Nawab pet road','Noor. Nagar Mahabub Nagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T02:12:41.964Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(79,1,0,'Ethan Hunt','9676651496','Noor Nagar','Nawabpet Road','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T02:51:47.852Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(80,1,0,'Ethan Hunt','9676651496','NN','NN','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T02:58:10.268Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(81,84,1,'H.No. 8-1-72/B','8639762655','Road No. 4, Teacher''s Colony','Near Ramalayam','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T04:29:57.712Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(82,86,0,'heena begum','9121585783','hanumanpura ','jamaulamma nagar temple road ','Mahabubnagar','Telangana','509001',16.728843999999998715,77.987433999999993261,'2026-02-01T05:44:57.399Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(83,88,1,'Hani','9398199100','Goal masjid 5-7-30/L/9','Mahabubnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T10:07:03.325Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(84,89,1,'Khaja mujeebuddin','8919308867','Srinivas colony','Beside geetam school taj residency','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-01T23:25:14.868Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(85,91,1,'H No 14-5-208/13/A','9347168525','2A Road, Krishna Nagar Colony,','Bhageeratha Colony Road','Mahabubnagar','Telangana','509001',16.735164999999998514,78.002075000000008486,'2026-02-02T04:29:24.308Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(86,92,0,'Asif','6305442889','Balaji convention hall','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T04:52:59.786Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(87,93,1,'md ghouse moin uddin','9705107988','rayeesa masjid trasfaram mbnr','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T04:57:17.798Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(88,95,1,'Mohammed arham','6301612623','Madina masjid','Karachi bakery back side','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T06:39:17.730Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(89,73,0,'Ameen ','9652801308','Bharath takies opp mm poly clinic','Madina masjid','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T20:23:12.850Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(90,97,1,'K Krishnaiah','9441565235','Hno 10-6-ye0033, srinivasa colony','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-02T23:57:41.024Z',NULL,NULL,NULL,'https://maps.app.goo.gl/7PsHmbWYvzbdkMHm8'); -INSERT INTO addresses VALUES(91,98,1,'Abdul ahad ','9381165946','3-11-137/A/11','Fz water plant veernapet patel masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-03T00:26:41.356Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(92,24,0,'Tausif ali','9948350118','14-8-87/4 iqbal manzil marlu','Iqbal manzil marlu','Mahabubnagar','Telangana','509001',16.741389999999998217,78.011604000000005498,'2026-02-03T03:06:18.057Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(93,46,0,'Sidra','9392266793','Gol masjid Sr garden ','Sr garden 1 flore','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-03T07:32:53.282Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(94,81,0,'SYED','9652338446','H.no 14-8-121','Near, Masjid e Mustafa ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-03T10:16:08.941Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(95,96,0,'Arif hussain','9848466280','Near mvs college, christianpally, opposite true value showroom','Bhavani nagar colony 2-96/2','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-04T01:34:16.516Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(96,103,0,'Zaid','6302119072','Opposite of Malabar gold and diamonds ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-05T03:15:46.045Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(98,105,1,'Ayesha mahmeen','9063857682','Ramaiah bowli; one town; mahabubanagar','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-05T22:58:26.450Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(99,107,0,'Saad','9573989830','Road no 6d ','Bhageritha colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T02:47:54.809Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(100,108,0,'SADIYA TAZEEN','9949035807','RB palace function hall ','RB palace function hall ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T03:10:35.120Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(101,109,0,'Aman','9063508083','1-8-17/10 T.d gutta fire station, Nalbowli Durdkhna.','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T03:14:49.128Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(102,113,0,'Kamal','9052741123','Marlu ','Brundavan colony','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T05:00:45.506Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(103,114,0,'Md.khizar Ahmed','9052323490','RB palace functionhall','RB palace functionhall ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T05:49:47.686Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(104,71,1,'Karthik ','9110314975','Line 7 balajinagar ','','Mahabubnagar','Telangana','509001',16.728182000000000329,77.997190000000005127,'2026-02-06T06:25:28.389Z',NULL,NULL,NULL,'PXHW+7WQ, Lane No. 7, BalajiNagar Colony, Mahbubnagar, Telangana 509001'); -INSERT INTO addresses VALUES(105,115,0,'Nadera','9985232643','H.no.1-10-19/3/6/a','Opp two taps','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T10:26:24.248Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(106,118,0,'Nida','9966022031','Shiva Shakti nagar ','Shiva Shakti nagar kaman','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-06T22:55:26.874Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(107,119,0,'Mohd Mujahed ','9059318255','Madina masjid old hospital ','Madina masjid kumarvadi','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-07T07:06:08.579Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(108,120,0,'Raza','7013641457','Hno5-7-30/n/6 habeebnagar Mahabubnagar ','Near zamzam kiranam habeebnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-07T23:10:58.038Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(109,121,1,'Ram reddy','5457545442','Ganesh Nagar ','','Mahabubnagar','Telangana','509001',16.736355000000000536,77.986789999999999167,'2026-02-08T00:48:19.094Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(110,122,1,'MD SULTAN','9642339427','Hno 5-7-30/n/6 habeebnagar mahbubnagar','','Mahabubnagar','Telangana','509001',16.731957999999997888,77.989800000000002455,'2026-02-08T04:33:41.585Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(111,123,0,'Tahera begum','6305184261','Hn function hall veerana pet Mahabubnagar','Hn function hall veerana pet Mahabubnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-09T05:50:43.617Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(112,125,0,'Ayesha','8341078342','Opp redbucket biryani lane','Padmavati colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-09T07:56:36.555Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(113,127,1,'khaja aleem uddin','7989653339','7-133/4 sun city colony sha sahab gutta','razzak masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-10T05:41:41.020Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(114,114,0,'Zunera','9052333490','Rb palace','Kitchen side','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-14T01:01:09.499Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(115,131,1,'Fathima ','9966710280','Seshadri nagar colony street 0/7','bk reddy colony, beside bc hostel ','Mahabubnagar','Telangana','509001',16.739141000000000047,78.004074000000001021,'2026-02-15T00:33:30.890Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(116,134,1,'Kaleem','9133621540','Shah shah gutta','Beside ss gutta masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-16T04:02:17.458Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(117,136,0,'Arman ','9390785046','Employees colony ','Road no 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-17T07:30:03.424Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(118,137,1,'Abdul Gaffar','8555938403','6-107/5','Sheshadri Nagar Road no 1 ','Mahabubnagar','Telangana','509001',16.74219099999999738,78.006219999999997227,'2026-02-17T08:53:09.780Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(119,140,0,'Sara','9848738554','Golmasjid mahaboobnagar ','Zam zam opposite ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-17T13:48:37.631Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(120,141,0,'Inzamam','8919042963','Sr garden back side gate','Gol masjid','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-17T19:47:20.768Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(121,143,0,'Samir','7286888001','Employees colony ','Road 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-17T22:56:28.656Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(122,130,1,'Rahiman','9912951895','Flat no 202,Aayra manzil Beside veeresh kiranam near Ibrahim Masjid','Street no:6/B,Sheshadri Nagar','Mahabubnagar','Telangana','509001',16.738883999999998763,78.004279999999992512,'2026-02-17T23:27:21.024Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(123,132,1,'Muzammil ','9110526651','5-7-30/L/2/C ,opp ghousiya kiranam gol masjid ','','Mahabubnagar','Telangana','509001',16.732962000000000557,77.990610000000000212,'2026-02-18T00:28:03.816Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(124,145,0,'Naheed','8179264991','5-7-30/L/7/H Habeeb Nagar Near Rayeesa Masjid','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T03:46:16.471Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(125,138,0,'Mahek','8328369823','B k ready colony ','Near omer Farooq masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T05:15:32.019Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(126,147,1,'Mohammad ','9885579134','H.no.5-7-30/L/10/C','Opp rayeesa masjid line','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T05:15:47.126Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(127,148,0,'Abdul razeek ','9100529645','Shavia shakti nagar ','','Mahabubnagar','Telangana','509001',16.735370000000000523,77.995819999999991267,'2026-02-18T07:31:27.609Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(128,150,1,'Khaleel Ahmed','9700630611','B.k Reddy Colony near Umar Farooq masjid ,Aziz kiranam opposite lane','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T09:13:27.828Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(129,144,1,'Asad','7981140388','Yenugonda Opp Masjid','','Mahabubnagar','Telangana','509001',16.754571999999998688,78.036539999999998684,'2026-02-18T10:09:17.009Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(130,149,1,'Moulali ','8519862344','Rayeesa masjid ','Habeeb Nagar ','Mahabubnagar','Telangana','509001',16.730108000000001311,77.99151600000000073,'2026-02-18T22:18:46.343Z',NULL,16.731068000000000495,77.990629999999994126,NULL); -INSERT INTO addresses VALUES(131,156,0,'Arshed','9381371156','H.no4-2, beside wisdom school ','Ramaiah Bowli ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-18T23:58:56.880Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(132,99,1,'Saniya','7893499520','H.No: 4-2-7/2a Tayyabnagar Ramaiyah bowli ','Near Almas function hall opp lane ','Mahabubnagar','Telangana','509001',16.740355999999998459,77.991410000000005453,'2026-02-19T01:03:59.675Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(133,159,0,'Mohd.Mujahid','9182114853','14-107/2,suncity colony','Sheshadrinagar,near masjid e razzaq ','Mahabubnagar','Telangana','509001',16.742678000000001503,78.006249999999992539,'2026-02-19T03:40:34.252Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(134,160,1,'Mohmmed pro','9642417025','50','Ibadur raheman masjed opposite road Shiva Shakti road iron shop opposite ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T03:49:45.149Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(135,151,0,'Anjum','9346508676','H۔No:6-5-57/10 Habeeb nagar ','Beside Hanan masjid ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T04:09:11.514Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(136,4,0,'Saniya','8688326100','Marlu , near Ali tower ','','Mahabubnagar','Telangana','509001',16.741472000000001685,78.011610000000004561,'2026-02-19T04:16:33.494Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(137,162,0,'Shaik Hussain','6302798105','Zehra School Noori Nagar','Masjid a noore Ilahi','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T05:08:26.454Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(138,32,1,'Md kaif','8919304169','14_6_13/9/a2','Pasula kistta reddy colony','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T06:14:03.397Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(139,163,0,'farhana begum','7032026589','Marlu , employes colony','Road no. 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-19T06:49:20.611Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(140,165,0,'Rumana ','6281349676','Govt hospital back side mahabubnagr ','Tawakal bekry mahabubnagr 8-1-39/1','Mahabubnagar','Telangana','509001',16.749452999999999036,78.00876999999999839,'2026-02-19T10:27:50.727Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(141,168,0,'Aladdin','8498937807','S.s gutta mahabubnagar bhagat Singh colony ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T03:29:56.135Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(142,169,1,'Ahmed Ali','7799420422','Near Mustafa masjid','Marlu','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T03:37:22.057Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(143,171,1,'Mohammed Mudassir','6281738569','H.No:5-7-30/N/9, Old Palamoor Location, Near Rayeesa Masjid','First Right turn after S.M.Tent House','Mahabubnagar','Telangana','509001',16.73113299999999981,77.990329999999996601,'2026-02-20T03:57:59.497Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(144,170,0,'Raheel','9901294914','1-10-79/B, ShahSaheb Gutta','Vasavi college lane.','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T03:59:16.614Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(145,176,0,'Arshad Ali','9885578647','14-8-120 Near Masjid e Mustafa','Marlu','Mahabubnagar','Telangana','509001',16.743597000000001173,78.010283999999998627,'2026-02-20T06:01:46.916Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(146,163,0,'farhana begum','7032026589','Marlu , employes colony mbnr','Road no. 3','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T07:20:46.386Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(147,181,1,'Khaled ','9885252564','1-10-87/3/A','1-10-87/3/A','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-20T13:34:13.988Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(148,184,1,'Shazia ','9160481161','Near puchamma temple bk reddy colony ','Near puchamma temple bk reddy colony ','Mahabubnagar','Telangana','509001',16.742122999999999422,78.0064849999999943,'2026-02-20T22:47:32.316Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(149,186,0,'Faiz ul Rahman ','9550541366','Masdoos Nagar ','','Mahabubnagar','Telangana','509001',16.732306999999999597,77.990759999999994533,'2026-02-21T03:45:12.460Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(150,187,0,'Mohd Fasi','9703691566','Habeebnagar ','Near Narmada Honda Showroom ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-21T05:40:59.163Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(151,189,0,'Chintu','8019231723','Road no 6B','BHAGEERATHA colony ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-21T13:02:30.211Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(152,178,0,'Abdul khadar ','7799492001','Nakha Pride apartment,door no 304','Near district court, telangana chowrasta ','Mahabubnagar','Telangana','509001',16.751510000000000566,77.992390000000000327,'2026-02-21T20:56:08.971Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(153,193,0,'Raza','7207490881','5-7-30/n/6 habeebnagar mbnr','Near zamzam kiranam','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-21T22:53:08.954Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(154,194,1,'Syed Aijaz','6302774527','Al noor school straight shashabgutta','Alkouser madarsa backnside','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T00:16:09.557Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(155,195,0,'Aditya','6301375032','Old palamoor','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T00:58:09.170Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(156,196,0,'Rani','8978874860','Vinayak Nagar, housing board colony ','Near edira Bypass X Road','Mahabubnagar','Telangana','509001',16.747900000000002229,78.04578999999999489,'2026-02-22T00:59:40.685Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(157,197,0,'Habeeb Hasham','7842321671','14-6-14/6','Beside masjid e ibrahim back road','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T01:07:34.153Z',NULL,NULL,NULL,'https://maps.app.goo.gl/P5sxjAGjgjELdnh37?g_st=ic'); -INSERT INTO addresses VALUES(158,198,0,'Atiya sikandar','7799311559','3-2-3, afzal manzil, beside hamdard clinic makka masjid road verrannapet','','Mahabubnagar','Telangana','509001',16.744990000000001373,77.98212399999999711,'2026-02-22T01:08:33.396Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(159,200,1,'Srinath','8328216406','Manyamkonda ','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T02:02:31.789Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(160,201,0,'Imaduddin ','9121477995','Near Mothinagar government High school ','Near SV godam','Mahabubnagar','Telangana','509001',16.759189999999999365,77.997765000000001123,'2026-02-22T02:03:54.841Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(161,205,1,'nasir','9177629869','Hanuman pura masjid e jabbar','mahabubngar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T03:45:47.686Z',NULL,16.730706999999997997,77.988939999999997709,NULL); -INSERT INTO addresses VALUES(162,206,0,'M.A MALIK','9000452637','14-7-91/2/1/C','Marlu Jr palace','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T04:21:36.419Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(163,208,0,'Amer','9618770682','H no 6-3-44/D/10/2/1, hanuman pura,Imran kiranam','9059566856','Mahabubnagar','Telangana','509001',16.729278999999999122,77.989990000000002368,'2026-02-22T04:39:03.925Z',NULL,16.729820000000000135,77.990039999999991593,NULL); -INSERT INTO addresses VALUES(164,209,0,'Shakeel','7993744243','Shiva shakthi nagar','telugu geri','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T04:45:09.965Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(165,212,0,'Salma ','7670818331','5-5-11 dist jail khana riyaz ul Jannah masjid old palamoor mahabubnagar ','Riyaz ul Jannah masjid mahabubnagar telengana 509001','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T06:04:13.075Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(166,213,1,'Ahmed ','9392816978','Habeeb nagar ','Zam Zam kiranam ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-22T08:01:50.655Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(167,50,0,'Shaista','9390338662','Santosh Nagar colony beside maheshwari theatre ','','Mahabubnagar','Telangana','509001',16.750419999999999198,78.033630000000000492,'2026-02-22T14:05:23.161Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(168,223,0,'Syed','9398876512','S.S gutta 2 nal galli ','Tipu sultan chowk ','Mahabubnagar','Telangana','509001',16.746738000000000567,78.00908999999999871,'2026-02-23T03:47:19.976Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(169,224,1,'Saud Amodi ','8374782337','Shah Sahab gutta','Shah Sahab Gupta A1 chicken center Gali ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T04:40:34.997Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(170,225,0,'Akheel ','9666426396','3-3-48','Nagar mahabubnagar Telangana ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T06:45:56.079Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(171,226,0,'Anas Affuaf ','9391479179','Near Taiba masjid Ramaiah bowli ','Mahabubnagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T08:32:01.241Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(172,228,1,'Abdur rahman','9966138248','Plot 22 Opp children''s park last lane z and z colony ','1 town back side alis mart colony','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-23T22:39:52.264Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(173,229,1,'Abdul kaleem','9885575791','5-4-85/f/14/2','Opposite Amena masjid tayyab nagar ','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T01:41:59.722Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(174,230,0,'Mehreen','9398645142','Opposite to bright school, marlu','','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T01:44:03.723Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(175,219,1,'Naseer','7569573638','5-3-71/2/C masdoos nagar near gouds colony','','Mahabubnagar','Telangana','509001',16.735652999999999224,77.989829999999997767,'2026-02-24T02:55:23.438Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(176,158,0,'Shabana ','9381289050','Wisdom school near','Ramaiah bowli','Mahabubnagar','Telangana','509001',NULL,NULL,'2026-02-24T04:02:06.921Z',NULL,NULL,NULL,NULL); -INSERT INTO addresses VALUES(177,232,1,'Sultan bahiyal','9059525115','Adjcent to laxmi tiffin centre, old hospital road, madina masjid ','','Mahabubnagar','Telangana','509001',16.74373200000000228,77.985489999999995092,'2026-02-24T14:51:10.955Z',NULL,NULL,NULL,NULL); -CREATE TABLE IF NOT EXISTS "cart_items" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "quantity" REAL NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO cart_items VALUES(32,3,3,1.0,'2025-11-24T06:25:02.963Z'); -INSERT INTO cart_items VALUES(48,3,9,2.0,'2025-11-28T09:43:04.203Z'); -INSERT INTO cart_items VALUES(49,7,11,1.0,'2025-11-28T22:20:23.104Z'); -INSERT INTO cart_items VALUES(99,4,11,1.0,'2025-11-29T11:36:06.140Z'); -INSERT INTO cart_items VALUES(100,4,12,1.0,'2025-12-02T09:50:53.817Z'); -INSERT INTO cart_items VALUES(102,4,3,2.0,'2025-12-02T09:53:19.217Z'); -INSERT INTO cart_items VALUES(108,6,11,1.0,'2025-12-06T01:58:02.112Z'); -INSERT INTO cart_items VALUES(109,6,3,1.0,'2025-12-06T02:02:59.975Z'); -INSERT INTO cart_items VALUES(112,10,1,1.0,'2025-12-07T23:18:24.863Z'); -INSERT INTO cart_items VALUES(114,2,12,2.0,'2025-12-09T06:57:51.258Z'); -INSERT INTO cart_items VALUES(128,11,1,1.0,'2025-12-14T07:52:10.000Z'); -CREATE TABLE IF NOT EXISTS "complaints" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "order_id" INTEGER, "complaint_body" TEXT NOT NULL, "is_resolved" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "response" TEXT, "images" TEXT); -INSERT INTO complaints VALUES(1,3,1,'Some eggs are broken',1,'2025-11-19T11:01:59.549Z','We sent you the apples not eggs 😁',NULL); -INSERT INTO complaints VALUES(2,1,54,'This item is not good at all. You guys should stop this immediately',1,'2025-11-29T11:53:25.720Z','Okk',NULL); -INSERT INTO complaints VALUES(3,1,NULL,'Test Complaint',1,'2025-11-29T23:22:44.507Z','Hi','["complaint-images/1764478363144-0"]'); -INSERT INTO complaints VALUES(4,17,NULL,'Hello',1,'2025-12-19T03:04:32.924Z','Hi',NULL); -INSERT INTO complaints VALUES(5,17,NULL,'Hello',1,'2025-12-19T04:02:59.187Z','','["complaint-images/1766136777180-0"]'); -INSERT INTO complaints VALUES(6,15,NULL,'THIS ITEM IS NOT GOOD REMOVE THIS ITEM 🚫',1,'2025-12-19T07:17:34.114Z','Ok',NULL); -INSERT INTO complaints VALUES(7,17,NULL,'Gg',1,'2025-12-20T21:38:30.627Z','Okk',NULL); -INSERT INTO complaints VALUES(8,17,NULL,'Hh',1,'2025-12-23T11:48:56.053Z','Bla',NULL); -INSERT INTO complaints VALUES(9,1,NULL,'Funny comparing',1,'2026-01-15T13:22:10.666Z','Resolving as test ','["complaint-images/1768503130322-0"]'); -INSERT INTO complaints VALUES(10,22,NULL,'Raise a complaint scenario when order is placed and at shipping status',1,'2026-01-18T09:59:59.381Z','Okk',NULL); -INSERT INTO complaints VALUES(11,22,NULL,'Hi product quality is not good can you please do a replacement for this.',1,'2026-01-18T21:59:20.647Z','No',NULL); -INSERT INTO complaints VALUES(12,22,66,'Bad quality nai paki papai aur',1,'2026-01-28T10:42:13.347Z','"From next time, we''ll take care.','["complaint-images/1769616732515-0","complaint-images/1769616732516-1"]'); -INSERT INTO complaints VALUES(13,54,81,'I needed it quickly',1,'2026-01-31T02:03:32.243Z','Not answered call',NULL); -INSERT INTO complaints VALUES(14,46,137,'Yes',1,'2026-02-03T07:34:35.816Z','Resolvedd',NULL); -INSERT INTO complaints VALUES(15,81,143,replace('Is someone looking at complaints :) \n\nTest','\n',char(10)),1,'2026-02-03T10:20:23.832Z','Yeah... Complaints are being actively monitored. We welcome feedback and criticism',NULL); -INSERT INTO complaints VALUES(16,121,NULL,'We by its sorry please cancel it',1,'2026-02-08T00:56:29.295Z','',NULL); -INSERT INTO complaints VALUES(17,121,NULL,'It is only 50 right why RS 60 showing',1,'2026-02-08T04:33:16.782Z','It''s the authentic rate',NULL); -INSERT INTO complaints VALUES(18,119,NULL,'I need the order early',1,'2026-02-18T01:58:37.530Z','',NULL); -INSERT INTO complaints VALUES(19,82,NULL,'Where order',1,'2026-02-19T05:01:41.560Z','',NULL); -INSERT INTO complaints VALUES(20,162,NULL,'Ky time hota oder aana',1,'2026-02-19T05:11:21.737Z','',NULL); -INSERT INTO complaints VALUES(21,82,NULL,'Its late',1,'2026-02-19T05:30:11.017Z','Sorry. Will take care from next time',NULL); -INSERT INTO complaints VALUES(22,160,NULL,'Bohot Acha items good and fresh hai sab chez think u freshyo',1,'2026-02-19T06:42:28.833Z','Thank you...our service will improve further. ',NULL); -INSERT INTO complaints VALUES(23,225,NULL,'Akheel',1,'2026-02-23T06:55:20.175Z','Complaint not clear',NULL); -INSERT INTO complaints VALUES(24,225,NULL,'Cash',1,'2026-02-23T06:56:45.780Z','Complaint not clear',NULL); -INSERT INTO complaints VALUES(25,225,NULL,'Cash',1,'2026-02-23T07:00:17.914Z','Complaint not clear',NULL); -INSERT INTO complaints VALUES(58,1,385,'No order',0,'2026-03-22T04:45:39.793Z',NULL,'["complaint-images/1774174538370.jpg"]'); -INSERT INTO complaints VALUES(59,1,385,'Hii',0,'2026-03-22T04:57:51.234Z',NULL,'["complaint-images/1774175270043.jpg"]'); -INSERT INTO complaints VALUES(60,1,385,'Another fest',0,'2026-03-22T05:06:02.150Z',NULL,'["complaint-images/1774175760765.jpg"]'); -INSERT INTO complaints VALUES(61,1,384,'Testing again',0,'2026-03-22T05:08:55.745Z',NULL,'["complaint-images/1774175933889.jpg"]'); -INSERT INTO complaints VALUES(62,1,383,'Last test',1,'2026-03-22T05:10:05.820Z','Doneee','["complaint-images/1774176003038.jpg","complaint-images/1774176003229.jpg","complaint-images/1774176003414.jpg"]'); -CREATE TABLE IF NOT EXISTS "coupon_applicable_products" ("id" INTEGER NOT NULL, "coupon_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL); -INSERT INTO coupon_applicable_products VALUES(1,8,25); -CREATE TABLE IF NOT EXISTS "coupon_applicable_users" ("id" INTEGER NOT NULL, "coupon_id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL); -INSERT INTO coupon_applicable_users VALUES(1,11,1); -INSERT INTO coupon_applicable_users VALUES(2,11,4); -INSERT INTO coupon_applicable_users VALUES(3,13,1); -INSERT INTO coupon_applicable_users VALUES(4,14,1); -INSERT INTO coupon_applicable_users VALUES(5,15,1); -INSERT INTO coupon_applicable_users VALUES(6,18,145); -CREATE TABLE IF NOT EXISTS "coupon_usage" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "coupon_id" INTEGER NOT NULL, "used_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "order_id" INTEGER, "order_item_id" INTEGER); -INSERT INTO coupon_usage VALUES(1,2,4,'2025-11-25T00:59:10.947Z',NULL,NULL); -INSERT INTO coupon_usage VALUES(2,1,4,'2025-11-25T05:22:34.453Z',NULL,NULL); -INSERT INTO coupon_usage VALUES(3,1,4,'2025-11-27T06:03:27.515Z',NULL,NULL); -INSERT INTO coupon_usage VALUES(4,1,3,'2025-11-28T05:42:31.979Z',27,NULL); -INSERT INTO coupon_usage VALUES(5,1,4,'2025-11-28T05:42:31.979Z',27,NULL); -INSERT INTO coupon_usage VALUES(6,1,5,'2025-11-28T05:42:31.979Z',27,NULL); -INSERT INTO coupon_usage VALUES(7,1,4,'2025-11-28T08:13:29.610Z',28,39); -INSERT INTO coupon_usage VALUES(8,1,4,'2025-11-28T08:13:29.610Z',28,40); -INSERT INTO coupon_usage VALUES(9,1,4,'2025-11-28T22:34:42.745Z',32,48); -INSERT INTO coupon_usage VALUES(10,1,4,'2025-11-28T22:34:42.745Z',32,49); -INSERT INTO coupon_usage VALUES(11,1,4,'2025-11-28T22:34:42.745Z',32,50); -INSERT INTO coupon_usage VALUES(12,1,4,'2025-11-28T22:36:51.615Z',33,51); -INSERT INTO coupon_usage VALUES(13,1,4,'2025-11-28T22:52:17.337Z',34,52); -INSERT INTO coupon_usage VALUES(14,1,4,'2025-11-28T22:52:17.337Z',34,53); -INSERT INTO coupon_usage VALUES(15,1,4,'2025-11-28T22:52:17.337Z',34,54); -INSERT INTO coupon_usage VALUES(16,1,4,'2025-11-28T22:58:19.949Z',35,55); -INSERT INTO coupon_usage VALUES(17,1,4,'2025-11-28T23:17:00.736Z',39,64); -INSERT INTO coupon_usage VALUES(18,1,4,'2025-11-28T23:17:00.736Z',39,65); -INSERT INTO coupon_usage VALUES(19,1,4,'2025-11-28T23:17:56.567Z',40,66); -INSERT INTO coupon_usage VALUES(20,1,4,'2025-11-28T23:17:56.567Z',40,67); -INSERT INTO coupon_usage VALUES(21,1,4,'2025-11-28T23:22:24.357Z',41,68); -INSERT INTO coupon_usage VALUES(22,1,4,'2025-11-28T23:22:24.357Z',41,69); -INSERT INTO coupon_usage VALUES(23,1,4,'2025-11-28T23:23:26.876Z',42,70); -INSERT INTO coupon_usage VALUES(24,1,4,'2025-11-28T23:23:26.876Z',42,71); -INSERT INTO coupon_usage VALUES(25,1,4,'2025-11-28T23:31:56.572Z',43,72); -INSERT INTO coupon_usage VALUES(26,1,4,'2025-11-28T23:31:56.572Z',43,73); -INSERT INTO coupon_usage VALUES(27,1,4,'2025-11-28T23:31:56.572Z',43,74); -INSERT INTO coupon_usage VALUES(28,1,4,'2025-11-28T23:33:28.518Z',44,75); -INSERT INTO coupon_usage VALUES(29,1,4,'2025-11-28T23:33:28.518Z',44,76); -INSERT INTO coupon_usage VALUES(30,1,4,'2025-11-28T23:33:28.518Z',44,77); -INSERT INTO coupon_usage VALUES(31,1,4,'2025-11-28T23:35:19.817Z',45,78); -INSERT INTO coupon_usage VALUES(32,1,4,'2025-11-28T23:35:19.817Z',45,79); -INSERT INTO coupon_usage VALUES(33,1,4,'2025-11-28T23:35:19.817Z',45,80); -INSERT INTO coupon_usage VALUES(34,1,4,'2025-11-28T23:42:35.845Z',46,81); -INSERT INTO coupon_usage VALUES(35,1,4,'2025-11-28T23:42:35.845Z',46,82); -INSERT INTO coupon_usage VALUES(36,1,4,'2025-11-28T23:42:35.845Z',46,83); -INSERT INTO coupon_usage VALUES(37,1,4,'2025-11-29T00:35:34.926Z',47,84); -INSERT INTO coupon_usage VALUES(38,1,4,'2025-11-29T00:35:34.926Z',47,85); -INSERT INTO coupon_usage VALUES(39,1,3,'2025-11-29T00:47:38.510Z',48,86); -INSERT INTO coupon_usage VALUES(40,1,3,'2025-11-29T00:47:38.510Z',48,87); -INSERT INTO coupon_usage VALUES(41,1,3,'2025-11-29T00:47:38.510Z',48,88); -INSERT INTO coupon_usage VALUES(42,1,4,'2025-11-29T00:47:38.510Z',48,86); -INSERT INTO coupon_usage VALUES(43,1,4,'2025-11-29T00:47:38.510Z',48,87); -INSERT INTO coupon_usage VALUES(44,1,4,'2025-11-29T00:47:38.510Z',48,88); -INSERT INTO coupon_usage VALUES(45,1,3,'2025-11-29T00:51:58.214Z',49,89); -INSERT INTO coupon_usage VALUES(46,1,3,'2025-11-29T00:51:58.214Z',49,90); -INSERT INTO coupon_usage VALUES(47,1,3,'2025-11-29T00:51:58.214Z',49,91); -INSERT INTO coupon_usage VALUES(48,1,3,'2025-11-29T00:51:58.214Z',49,92); -INSERT INTO coupon_usage VALUES(49,1,4,'2025-11-29T00:51:58.214Z',49,89); -INSERT INTO coupon_usage VALUES(50,1,4,'2025-11-29T00:51:58.214Z',49,90); -INSERT INTO coupon_usage VALUES(51,1,4,'2025-11-29T00:51:58.214Z',49,91); -INSERT INTO coupon_usage VALUES(52,1,4,'2025-11-29T00:51:58.214Z',49,92); -INSERT INTO coupon_usage VALUES(53,1,3,'2025-11-29T01:06:19.496Z',50,NULL); -INSERT INTO coupon_usage VALUES(54,1,4,'2025-11-29T01:06:19.496Z',50,NULL); -INSERT INTO coupon_usage VALUES(55,1,4,'2025-11-29T01:57:48.593Z',53,NULL); -INSERT INTO coupon_usage VALUES(56,2,5,'2025-12-04T23:32:41.260Z',55,NULL); -INSERT INTO coupon_usage VALUES(57,17,5,'2025-12-19T03:46:32.077Z',74,NULL); -INSERT INTO coupon_usage VALUES(58,17,7,'2025-12-19T11:01:02.235Z',85,NULL); -INSERT INTO coupon_usage VALUES(59,2,8,'2025-12-27T12:09:01.970Z',117,NULL); -INSERT INTO coupon_usage VALUES(60,2,8,'2025-12-28T08:41:24.922Z',121,NULL); -INSERT INTO coupon_usage VALUES(61,2,10,'2026-01-01T03:14:07.880Z',125,NULL); -INSERT INTO coupon_usage VALUES(62,2,12,'2026-01-01T06:40:15.200Z',127,NULL); -INSERT INTO coupon_usage VALUES(63,1,13,'2026-01-06T07:21:22.063Z',132,NULL); -INSERT INTO coupon_usage VALUES(64,21,5,'2026-01-06T11:13:08.886Z',134,NULL); -INSERT INTO coupon_usage VALUES(65,2,16,'2026-01-15T10:38:51.425Z',149,NULL); -INSERT INTO coupon_usage VALUES(66,2,16,'2026-01-16T07:20:20.484Z',151,NULL); -INSERT INTO coupon_usage VALUES(67,2,16,'2026-01-16T07:20:39.331Z',152,NULL); -INSERT INTO coupon_usage VALUES(68,2,16,'2026-01-16T07:21:00.372Z',153,NULL); -INSERT INTO coupon_usage VALUES(69,2,16,'2026-01-16T07:21:27.067Z',154,NULL); -INSERT INTO coupon_usage VALUES(70,2,16,'2026-01-16T07:22:32.774Z',155,NULL); -INSERT INTO coupon_usage VALUES(71,7,17,'2026-02-01T00:28:05.860Z',191,NULL); -INSERT INTO coupon_usage VALUES(72,38,17,'2026-02-01T02:19:04.935Z',194,NULL); -INSERT INTO coupon_usage VALUES(77,7,17,'2026-02-02T08:27:54.169Z',206,NULL); -INSERT INTO coupon_usage VALUES(78,1,17,'2026-02-02T12:53:25.042Z',208,NULL); -INSERT INTO coupon_usage VALUES(79,38,17,'2026-02-02T22:40:01.684Z',209,NULL); -INSERT INTO coupon_usage VALUES(80,38,17,'2026-02-03T08:43:00.805Z',215,NULL); -INSERT INTO coupon_usage VALUES(81,96,17,'2026-02-04T01:36:25.150Z',217,NULL); -INSERT INTO coupon_usage VALUES(82,81,17,'2026-02-04T02:41:07.529Z',218,NULL); -INSERT INTO coupon_usage VALUES(83,24,17,'2026-02-05T04:00:30.760Z',221,NULL); -INSERT INTO coupon_usage VALUES(84,115,17,'2026-02-06T10:26:39.549Z',226,NULL); -INSERT INTO coupon_usage VALUES(85,103,17,'2026-02-06T23:28:37.564Z',230,NULL); -INSERT INTO coupon_usage VALUES(86,103,17,'2026-02-06T23:36:55.440Z',231,NULL); -INSERT INTO coupon_usage VALUES(87,120,17,'2026-02-07T23:11:07.314Z',235,NULL); -INSERT INTO coupon_usage VALUES(88,2,17,'2026-02-10T21:59:33.775Z',250,NULL); -INSERT INTO coupon_usage VALUES(89,2,17,'2026-02-16T01:21:48.065Z',256,NULL); -INSERT INTO coupon_usage VALUES(90,134,17,'2026-02-16T04:14:55.536Z',257,NULL); -INSERT INTO coupon_usage VALUES(91,120,17,'2026-02-17T00:44:27.989Z',259,NULL); -INSERT INTO coupon_usage VALUES(92,145,17,'2026-02-18T03:46:31.310Z',271,NULL); -INSERT INTO coupon_usage VALUES(93,81,17,'2026-02-21T03:19:33.184Z',312,NULL); -INSERT INTO coupon_usage VALUES(94,7,17,'2026-02-21T12:32:34.322Z',318,NULL); -INSERT INTO coupon_usage VALUES(95,141,17,'2026-02-21T19:42:40.636Z',319,NULL); -INSERT INTO coupon_usage VALUES(96,120,17,'2026-02-21T22:34:37.455Z',321,NULL); -INSERT INTO coupon_usage VALUES(97,193,17,'2026-02-21T22:53:17.777Z',322,NULL); -INSERT INTO coupon_usage VALUES(98,130,17,'2026-02-21T23:38:18.551Z',324,NULL); -INSERT INTO coupon_usage VALUES(99,223,17,'2026-02-23T03:47:30.752Z',334,NULL); -CREATE TABLE IF NOT EXISTS "coupons" ("id" INTEGER NOT NULL, "is_user_based" INTEGER NOT NULL DEFAULT false, "discount_percent" REAL, "flat_discount" REAL, "min_order" REAL, "created_by" INTEGER, "max_value" REAL, "is_invalidated" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_apply_for_all" INTEGER NOT NULL DEFAULT false, "valid_till" TEXT, "max_limit_for_user" INTEGER, "coupon_code" TEXT NOT NULL, "product_ids" INTEGER, "exclusive_apply" INTEGER NOT NULL DEFAULT false); -INSERT INTO coupons VALUES(1,0,20.0,NULL,500.0,1,NULL,1,'2025-11-21T08:44:20.264Z',1,'2025-11-29T18:30:00.000Z',NULL,'BIG50',NULL,0); -INSERT INTO coupons VALUES(2,0,50.0,NULL,1000.0,1,500.0,1,'2025-11-22T03:29:29.904Z',1,'2026-01-06T18:30:00.000Z',1,'SAVEMORE',NULL,0); -INSERT INTO coupons VALUES(3,0,20.0,NULL,5000.0,1,NULL,0,'2025-11-24T06:11:19.047Z',1,'2025-12-24T18:30:00.000Z',NULL,'BIG100',NULL,0); -INSERT INTO coupons VALUES(4,0,20.0,NULL,500.0,1,NULL,0,'2025-11-24T06:13:06.090Z',1,'2025-11-29T18:30:00.000Z',NULL,'BIG150',NULL,0); -INSERT INTO coupons VALUES(5,0,NULL,150.0,700.0,1,150.0,0,'2025-11-26T14:20:29.369Z',1,'2026-01-29T14:20:00.000Z',1,'FIRST150',NULL,0); -INSERT INTO coupons VALUES(6,1,NULL,4686.0,0.0,1,4686.0,0,'2025-11-29T01:35:51.215Z',0,'2025-12-29T01:35:51.214Z',1,'MOHORD050',NULL,0); -INSERT INTO coupons VALUES(7,1,NULL,22.0,22.0,1,22.0,0,'2025-12-19T10:00:13.297Z',0,'2026-01-18T10:00:13.297Z',1,'BHA82',NULL,0); -INSERT INTO coupons VALUES(8,0,10.0,20.0,200.0,1,20.0,1,'2025-12-22T05:20:27.988Z',1,'2025-12-29T18:30:00.000Z',6,'135',NULL,0); -INSERT INTO coupons VALUES(9,1,NULL,236.0,236.0,1,236.0,0,'2025-12-27T12:04:22.196Z',0,'2026-01-26T12:04:22.195Z',1,'MOH115',NULL,0); -INSERT INTO coupons VALUES(10,1,NULL,128.41999999999997861,128.41999999999997861,1,128.41999999999997861,0,'2025-12-27T19:11:57.259Z',0,'2026-01-26T19:11:57.259Z',1,'868117',NULL,0); -INSERT INTO coupons VALUES(11,1,20.0,NULL,500.0,1,250.0,0,'2026-01-01T04:39:53.608Z',0,'2026-01-30T04:39:00.000Z',3,'SHAFITEST2',NULL,0); -INSERT INTO coupons VALUES(12,0,10.0,NULL,500.0,1,50.0,0,'2026-01-01T06:39:22.230Z',1,'2026-01-07T06:37:00.000Z',1,'SAVEMORE0',NULL,0); -INSERT INTO coupons VALUES(13,1,30.0,NULL,2000.0,1,850.0,0,'2026-01-06T07:19:44.069Z',0,'2026-01-30T07:19:00.000Z',5,'TESTDISCOUNT',NULL,0); -INSERT INTO coupons VALUES(14,1,20.0,NULL,1200.0,1,600.0,0,'2026-01-06T13:10:01.161Z',0,'2026-02-27T13:09:00.000Z',4,'TESTCOUPON3',NULL,0); -INSERT INTO coupons VALUES(15,1,25.0,NULL,1000.0,1,250.0,0,'2026-01-12T03:28:20.356Z',0,'2026-01-30T07:46:00.000Z',2,'RESERVE_TEST34',NULL,0); -INSERT INTO coupons VALUES(16,0,10.0,NULL,500.0,1,50.0,0,'2026-01-15T10:27:07.302Z',1,'2026-01-19T18:30:00.000Z',2,'SAVEOFF10U',NULL,0); -INSERT INTO coupons VALUES(17,0,10.0,NULL,359.0,1,50.0,0,'2026-01-25T13:00:26.545Z',1,'2026-03-30T18:30:00.000Z',3,'START10',NULL,0); -INSERT INTO coupons VALUES(18,1,10.0,NULL,100.0,1,50.0,0,'2026-02-18T03:44:14.005Z',0,'2026-02-28T03:44:00.000Z',2,'NAHEED10',NULL,0); -CREATE TABLE IF NOT EXISTS "delivery_slot_info" ("id" INTEGER NOT NULL, "delivery_time" TEXT NOT NULL, "freeze_time" TEXT NOT NULL, "is_active" INTEGER NOT NULL DEFAULT true, "delivery_sequence" TEXT, "is_flash" INTEGER NOT NULL DEFAULT false, "group_ids" TEXT, "is_capacity_full" INTEGER NOT NULL DEFAULT false); -INSERT INTO delivery_slot_info VALUES(1,'2025-11-25T20:00:00.000Z','2025-11-21T18:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(2,'2025-11-30T01:39:00.000Z','2025-11-29T01:40:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(3,'2025-11-22T19:01:00.000Z','2025-11-23T19:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(4,'2025-11-29T19:30:00.000Z','2025-11-29T17:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(5,'2025-12-10T00:00:00.000Z','2025-12-06T19:50:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(6,'2025-12-10T18:59:00.000Z','2025-12-10T18:59:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(7,'2025-12-15T03:00:00.000Z','2025-12-15T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(8,'2025-12-24T14:00:00.000Z','2025-12-25T00:00:00.000Z',1,'{"1":[72,71,67],"2":[70],"3":[69,73,74,76,75]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(9,'2025-12-24T23:00:00.000Z','2025-12-24T21:00:00.000Z',1,'{"1":[62,60]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(10,'2025-12-25T05:20:00.000Z','2025-12-24T18:25:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(11,'2025-12-20T16:00:00.000Z','2025-12-19T07:46:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(12,'2025-12-22T16:00:00.000Z','2025-12-23T17:51:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(13,'2025-12-19T09:52:00.000Z','2025-12-19T10:52:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(14,'2025-12-19T10:05:00.000Z','2025-12-19T12:05:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(15,'2025-12-19T10:08:00.000Z','2025-12-18T14:08:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(16,'2025-12-29T21:00:00.000Z','2025-12-29T19:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(17,'2025-12-30T15:10:00.000Z','2025-12-30T19:37:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(18,'2025-12-30T08:00:00.000Z','2025-12-29T18:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(19,'2025-12-28T19:00:00.000Z','2025-12-28T19:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(20,'2026-01-04T21:00:00.000Z','2026-01-04T19:00:00.000Z',1,'{"1":[123,124]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(21,'2026-01-05T22:00:00.000Z','2026-01-05T21:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(22,'2026-01-09T22:00:00.000Z','2026-01-09T21:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(23,'2026-01-22T03:00:00.000Z','2026-01-20T03:00:00.000Z',1,'{"1":[149,151,139,142,148]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(24,'2026-01-13T04:27:08.055Z','2026-01-13T04:27:08.055Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(25,'2026-01-13T04:46:11.387Z','2026-01-13T04:46:11.387Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(26,'2026-01-14T13:38:58.391Z','2026-01-14T13:38:58.391Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(27,'2026-01-14T13:53:52.798Z','2026-01-14T13:53:52.798Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(28,'2026-01-14T13:54:46.003Z','2026-01-14T13:54:46.003Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(29,'2026-01-14T13:59:46.565Z','2026-01-14T13:59:46.565Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(30,'2026-01-14T14:07:19.783Z','2026-01-14T14:07:19.783Z',1,NULL,1,NULL,0); -INSERT INTO delivery_slot_info VALUES(31,'2026-01-15T20:00:00.000Z','2026-01-15T20:00:00.000Z',1,'{"1":[150]}',0,NULL,0); -INSERT INTO delivery_slot_info VALUES(32,'2026-01-16T21:00:00.000Z','2026-01-16T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(33,'2026-01-17T00:16:00.000Z','2026-01-17T00:16:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(34,'2026-01-21T03:00:00.000Z','2026-01-20T23:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(35,'2026-01-23T20:00:00.000Z','2026-01-23T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(37,'2026-01-24T00:00:00.000Z','2026-01-23T23:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(38,'2026-01-24T01:00:00.000Z','2026-01-24T00:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(39,'2026-01-29T08:00:00.000Z','2026-01-29T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(40,'2026-01-23T08:00:00.000Z','2026-01-23T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(41,'2026-01-25T20:00:00.000Z','2026-01-25T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(43,'2026-01-25T21:00:00.000Z','2026-01-25T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(44,'2026-01-26T00:00:00.000Z','2026-01-26T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(45,'2026-01-26T01:00:00.000Z','2026-01-26T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(46,'2026-01-26T07:00:00.000Z','2026-01-26T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(47,'2026-01-26T20:00:00.000Z','2026-01-26T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(48,'2026-01-26T21:00:00.000Z','2026-01-26T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(49,'2026-01-27T00:00:00.000Z','2026-01-27T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(50,'2026-01-27T20:00:00.000Z','2026-01-27T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(51,'2026-01-27T21:00:00.000Z','2026-01-27T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(52,'2026-01-28T00:00:00.000Z','2026-01-28T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(53,'2026-01-28T01:00:00.000Z','2026-01-28T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(54,'2026-01-28T07:00:00.000Z','2026-01-28T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(55,'2026-01-28T20:00:00.000Z','2026-01-28T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(56,'2026-01-29T20:00:00.000Z','2026-01-29T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(57,'2026-01-29T21:00:00.000Z','2026-01-29T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(58,'2026-01-30T00:00:00.000Z','2026-01-30T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(59,'2026-01-30T01:00:00.000Z','2026-01-30T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(60,'2026-01-30T07:00:00.000Z','2026-01-30T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(61,'2026-01-30T08:00:00.000Z','2026-01-30T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(62,'2026-01-30T20:00:00.000Z','2026-01-30T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(63,'2026-01-30T21:00:00.000Z','2026-01-30T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(64,'2026-01-31T00:00:00.000Z','2026-01-31T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(65,'2026-01-31T01:00:00.000Z','2026-01-31T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(66,'2026-01-31T07:00:00.000Z','2026-01-31T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(67,'2026-01-31T08:00:00.000Z','2026-01-31T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(68,'2026-01-31T20:00:00.000Z','2026-01-31T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(69,'2026-01-31T21:00:00.000Z','2026-01-31T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(70,'2026-02-01T00:00:00.000Z','2026-02-01T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(71,'2026-02-01T04:00:00.000Z','2026-02-01T03:30:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(72,'2026-02-01T07:00:00.000Z','2026-02-01T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(73,'2026-02-01T08:00:00.000Z','2026-02-01T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(74,'2026-02-01T20:00:00.000Z','2026-02-01T20:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(75,'2026-02-01T21:00:00.000Z','2026-02-01T21:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(76,'2026-02-02T00:00:00.000Z','2026-02-02T00:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(77,'2026-02-02T01:00:00.000Z','2026-02-02T01:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(78,'2026-02-02T04:00:00.000Z','2026-02-02T04:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(79,'2026-02-02T07:00:00.000Z','2026-02-02T07:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(80,'2026-02-02T08:00:00.000Z','2026-02-02T08:00:00.000Z',1,NULL,0,NULL,0); -INSERT INTO delivery_slot_info VALUES(81,'2026-02-02T20:00:00.000Z','2026-02-02T20:00:00.000Z',1,NULL,0,'[5,7,8,10]',0); -INSERT INTO delivery_slot_info VALUES(82,'2026-02-02T21:00:00.000Z','2026-02-02T21:00:00.000Z',1,NULL,0,'[5,7,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(83,'2026-02-03T00:00:00.000Z','2026-02-03T00:00:00.000Z',1,NULL,0,'[5,7,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(84,'2026-02-03T01:00:00.000Z','2026-02-03T01:00:00.000Z',1,NULL,0,'[8,7,5,10,9]',0); -INSERT INTO delivery_slot_info VALUES(85,'2026-02-03T07:00:00.000Z','2026-02-03T07:00:00.000Z',1,NULL,0,'[8,5,10]',0); -INSERT INTO delivery_slot_info VALUES(86,'2026-02-03T08:00:00.000Z','2026-02-03T08:00:00.000Z',1,NULL,0,'[8,5,10]',0); -INSERT INTO delivery_slot_info VALUES(87,'2026-02-03T04:00:00.000Z','2026-02-03T04:00:00.000Z',1,NULL,0,'[5,7,8,10]',0); -INSERT INTO delivery_slot_info VALUES(88,'2026-02-03T20:00:00.000Z','2026-02-03T20:00:00.000Z',1,NULL,0,'[10,8,5,7]',0); -INSERT INTO delivery_slot_info VALUES(89,'2026-02-03T21:00:00.000Z','2026-02-03T21:00:00.000Z',1,NULL,0,'[8,5,10]',0); -INSERT INTO delivery_slot_info VALUES(90,'2026-02-04T00:00:00.000Z','2026-02-04T00:00:00.000Z',1,NULL,0,'[8,5,10,7,9]',0); -INSERT INTO delivery_slot_info VALUES(91,'2026-02-04T01:00:00.000Z','2026-02-04T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(92,'2026-02-04T04:00:00.000Z','2026-02-04T04:00:00.000Z',1,NULL,0,'[5,8,10]',0); -INSERT INTO delivery_slot_info VALUES(93,'2026-02-04T07:00:00.000Z','2026-02-04T07:00:00.000Z',1,NULL,0,'[10,8,5]',0); -INSERT INTO delivery_slot_info VALUES(94,'2026-02-04T08:00:00.000Z','2026-02-04T08:00:00.000Z',1,NULL,0,'[10,8,5]',0); -INSERT INTO delivery_slot_info VALUES(95,'2026-02-04T20:00:00.000Z','2026-02-04T19:45:00.000Z',1,NULL,0,'[10,8,5,7]',0); -INSERT INTO delivery_slot_info VALUES(96,'2026-02-04T21:00:00.000Z','2026-02-04T20:45:00.000Z',1,NULL,0,'[8,5,10]',0); -INSERT INTO delivery_slot_info VALUES(97,'2026-02-05T00:00:00.000Z','2026-02-04T23:45:00.000Z',1,NULL,0,'[8,5,10,7,9]',0); -INSERT INTO delivery_slot_info VALUES(98,'2026-02-05T01:00:00.000Z','2026-02-05T00:45:00.000Z',1,NULL,0,'[10,9,8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(99,'2026-02-05T04:00:00.000Z','2026-02-05T03:45:00.000Z',1,NULL,0,'[5,8,10]',0); -INSERT INTO delivery_slot_info VALUES(100,'2026-02-05T07:00:00.000Z','2026-02-05T06:45:00.000Z',1,NULL,0,'[10,8,5]',0); -INSERT INTO delivery_slot_info VALUES(101,'2026-02-05T20:00:00.000Z','2026-02-05T20:00:00.000Z',1,NULL,0,'[8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(102,'2026-02-05T21:00:00.000Z','2026-02-05T21:00:00.000Z',1,NULL,0,'[8,7,5,9,10,3]',0); -INSERT INTO delivery_slot_info VALUES(103,'2026-02-06T00:00:00.000Z','2026-02-06T00:00:00.000Z',1,NULL,0,'[8,7,5,9,10,3]',0); -INSERT INTO delivery_slot_info VALUES(104,'2026-02-06T01:00:00.000Z','2026-02-06T01:00:00.000Z',1,NULL,0,'[8,7,5,9,10,3]',0); -INSERT INTO delivery_slot_info VALUES(105,'2026-02-06T04:00:00.000Z','2026-02-06T04:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(106,'2026-02-06T07:00:00.000Z','2026-02-06T07:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(107,'2026-02-05T20:00:00.000Z','2026-02-05T20:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(108,'2026-02-06T08:00:00.000Z','2026-02-06T08:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(109,'2026-02-06T20:00:00.000Z','2026-02-06T20:00:00.000Z',1,NULL,0,'[8,5,10,3,7]',0); -INSERT INTO delivery_slot_info VALUES(110,'2026-02-06T21:00:00.000Z','2026-02-06T21:00:00.000Z',1,NULL,0,'[8,5,10,3,7,9]',0); -INSERT INTO delivery_slot_info VALUES(111,'2026-02-07T00:00:00.000Z','2026-02-07T00:00:00.000Z',1,NULL,0,'[8,5,10,3,7,9]',0); -INSERT INTO delivery_slot_info VALUES(112,'2026-02-07T01:00:00.000Z','2026-02-07T01:00:00.000Z',1,NULL,0,'[8,5,10,3,7,9]',0); -INSERT INTO delivery_slot_info VALUES(113,'2026-02-07T04:00:00.000Z','2026-02-07T04:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(114,'2026-02-07T07:00:00.000Z','2026-02-07T07:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(115,'2026-02-07T08:00:00.000Z','2026-02-07T08:00:00.000Z',1,NULL,0,'[8,5,10,3]',0); -INSERT INTO delivery_slot_info VALUES(116,'2026-02-07T20:00:00.000Z','2026-02-07T20:00:00.000Z',1,NULL,0,'[9,8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(117,'2026-02-07T21:00:00.000Z','2026-02-07T21:00:00.000Z',1,NULL,0,'[3,5,7,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(118,'2026-02-08T00:00:00.000Z','2026-02-08T00:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(119,'2026-02-08T01:00:00.000Z','2026-02-08T01:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(120,'2026-02-08T04:00:00.000Z','2026-02-08T04:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(121,'2026-02-08T07:00:00.000Z','2026-02-08T07:00:00.000Z',1,NULL,0,'[10,8,5,3,9]',0); -INSERT INTO delivery_slot_info VALUES(122,'2026-02-08T08:00:00.000Z','2026-02-08T08:00:00.000Z',1,NULL,0,'[10,8,5,3,9]',0); -INSERT INTO delivery_slot_info VALUES(123,'2026-02-08T20:00:00.000Z','2026-02-08T20:00:00.000Z',1,NULL,0,'[9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(124,'2026-02-08T21:00:00.000Z','2026-02-08T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(125,'2026-02-09T00:00:00.000Z','2026-02-09T00:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(126,'2026-02-09T01:00:00.000Z','2026-02-09T01:00:00.000Z',1,NULL,0,'[9,8,7,5,3,10]',0); -INSERT INTO delivery_slot_info VALUES(127,'2026-02-09T04:00:00.000Z','2026-02-09T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(128,'2026-02-09T07:00:00.000Z','2026-02-09T07:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(129,'2026-02-09T08:00:00.000Z','2026-02-09T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(130,'2026-02-09T20:00:00.000Z','2026-02-09T20:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(131,'2026-02-09T21:00:00.000Z','2026-02-09T21:00:00.000Z',1,NULL,0,'[10,9,8,5,3,7]',0); -INSERT INTO delivery_slot_info VALUES(132,'2026-02-10T00:00:00.000Z','2026-02-10T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(133,'2026-02-10T01:00:00.000Z','2026-02-10T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(134,'2026-02-10T04:00:00.000Z','2026-02-10T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(135,'2026-02-10T07:00:00.000Z','2026-02-10T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(136,'2026-02-10T08:00:00.000Z','2026-02-10T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(137,'2026-02-10T20:00:00.000Z','2026-02-10T20:00:00.000Z',1,NULL,0,'[9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(138,'2026-02-10T21:00:00.000Z','2026-02-10T21:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(139,'2026-02-11T00:00:00.000Z','2026-02-11T00:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(140,'2026-02-11T01:00:00.000Z','2026-02-11T01:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(141,'2026-02-11T04:00:00.000Z','2026-02-11T04:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(142,'2026-02-11T07:00:00.000Z','2026-02-11T07:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(143,'2026-02-11T08:00:00.000Z','2026-02-11T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(144,'2026-02-11T20:00:00.000Z','2026-02-11T20:00:00.000Z',1,NULL,0,'[9,8,7,5]',0); -INSERT INTO delivery_slot_info VALUES(145,'2026-02-11T21:00:00.000Z','2026-02-11T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(146,'2026-02-12T00:00:00.000Z','2026-02-12T00:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(147,'2026-02-12T01:00:00.000Z','2026-02-12T00:45:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(148,'2026-02-12T20:00:00.000Z','2026-02-12T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(149,'2026-02-12T21:00:00.000Z','2026-02-12T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(150,'2026-02-13T00:00:00.000Z','2026-02-13T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(151,'2026-02-13T01:00:00.000Z','2026-02-13T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(152,'2026-02-13T04:00:00.000Z','2026-02-13T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(153,'2026-02-13T07:00:00.000Z','2026-02-13T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(154,'2026-02-13T08:00:00.000Z','2026-02-13T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(155,'2026-02-13T20:00:00.000Z','2026-02-13T20:00:00.000Z',1,NULL,0,'[10,9,8,5,3,7]',0); -INSERT INTO delivery_slot_info VALUES(156,'2026-02-13T21:00:00.000Z','2026-02-13T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(157,'2026-02-14T00:00:00.000Z','2026-02-14T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(158,'2026-02-14T01:00:00.000Z','2026-02-14T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(159,'2026-02-14T04:00:00.000Z','2026-02-14T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(160,'2026-02-14T07:00:00.000Z','2026-02-14T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(161,'2026-02-14T08:00:00.000Z','2026-02-14T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(162,'2026-02-14T20:00:00.000Z','2026-02-14T20:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(163,'2026-02-14T21:00:00.000Z','2026-02-14T21:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(164,'2026-02-15T00:00:00.000Z','2026-02-15T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(165,'2026-02-15T01:00:00.000Z','2026-02-15T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(166,'2026-02-15T04:00:00.000Z','2026-02-15T04:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(167,'2026-02-15T07:00:00.000Z','2026-02-15T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(168,'2026-02-15T08:00:00.000Z','2026-02-15T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(169,'2026-02-15T20:00:00.000Z','2026-02-15T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(170,'2026-02-15T21:00:00.000Z','2026-02-15T21:00:00.000Z',1,NULL,0,'[10,8,9,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(171,'2026-02-16T00:00:00.000Z','2026-02-16T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(172,'2026-02-16T01:00:00.000Z','2026-02-16T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(173,'2026-02-16T04:30:00.000Z','2026-02-16T04:30:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(174,'2026-02-16T07:00:00.000Z','2026-02-16T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(175,'2026-02-16T08:00:00.000Z','2026-02-16T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(176,'2026-02-16T20:00:00.000Z','2026-02-16T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(177,'2026-02-16T21:00:00.000Z','2026-02-16T20:45:00.000Z',1,NULL,0,'[10,8,9,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(178,'2026-02-17T00:00:00.000Z','2026-02-16T23:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(179,'2026-02-17T01:00:00.000Z','2026-02-17T00:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(180,'2026-02-17T04:30:00.000Z','2026-02-17T04:15:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(181,'2026-02-17T07:00:00.000Z','2026-02-17T07:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(182,'2026-02-17T08:00:00.000Z','2026-02-17T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10]',0); -INSERT INTO delivery_slot_info VALUES(183,'2026-02-17T20:00:00.000Z','2026-02-17T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(184,'2026-02-17T21:00:00.000Z','2026-02-17T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(185,'2026-02-18T00:00:00.000Z','2026-02-18T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(186,'2026-02-18T01:00:00.000Z','2026-02-18T01:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(187,'2026-02-18T04:00:00.000Z','2026-02-18T04:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(188,'2026-02-18T07:00:00.000Z','2026-02-18T07:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(189,'2026-02-18T08:00:00.000Z','2026-02-18T08:00:00.000Z',1,NULL,0,'[3,5,9,8,10,7]',0); -INSERT INTO delivery_slot_info VALUES(190,'2026-02-18T20:00:00.000Z','2026-02-18T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(191,'2026-02-18T21:00:00.000Z','2026-02-18T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(192,'2026-02-19T00:00:00.000Z','2026-02-19T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(193,'2026-02-19T21:00:00.000Z','2026-02-19T21:00:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(194,'2026-02-19T04:00:00.000Z','2026-02-19T04:00:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(195,'2026-02-19T07:00:00.000Z','2026-02-19T07:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(196,'2026-02-19T08:00:00.000Z','2026-02-19T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(197,'2026-02-19T06:00:00.000Z','2026-02-19T06:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(198,'2026-02-18T20:00:00.000Z','2026-02-18T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(199,'2026-02-18T21:00:00.000Z','2026-02-18T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(200,'2026-02-19T20:00:00.000Z','2026-02-19T20:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(201,'2026-02-19T21:00:00.000Z','2026-02-19T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(202,'2026-02-20T00:00:00.000Z','2026-02-20T00:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(203,'2026-02-20T01:00:00.000Z','2026-02-20T01:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(204,'2026-02-20T04:00:00.000Z','2026-02-20T04:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(205,'2026-02-19T20:00:00.000Z','2026-02-19T20:00:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(206,'2026-02-20T08:00:00.000Z','2026-02-20T08:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(207,'2026-02-20T05:00:00.000Z','2026-02-20T05:00:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(208,'2026-02-20T20:00:00.000Z','2026-02-20T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(209,'2026-02-20T21:00:00.000Z','2026-02-20T21:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(210,'2026-02-21T00:00:00.000Z','2026-02-21T00:00:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(211,'2026-02-21T01:00:00.000Z','2026-02-21T00:45:00.000Z',1,NULL,0,'[3,5,8,7,9,10]',0); -INSERT INTO delivery_slot_info VALUES(212,'2026-02-21T04:00:00.000Z','2026-02-21T03:45:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(213,'2026-02-21T05:00:00.000Z','2026-02-21T04:45:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(214,'2026-02-21T08:00:00.000Z','2026-02-21T07:45:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(215,'2026-02-21T06:30:00.000Z','2026-02-21T06:30:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(216,'2026-02-21T20:00:00.000Z','2026-02-21T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(217,'2026-02-21T21:00:00.000Z','2026-02-21T20:45:00.000Z',1,NULL,0,'[10,9,8,5,7,3]',0); -INSERT INTO delivery_slot_info VALUES(218,'2026-02-22T00:00:00.000Z','2026-02-21T23:44:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(219,'2026-02-22T01:00:00.000Z','2026-02-22T00:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(220,'2026-02-22T04:00:00.000Z','2026-02-22T03:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(221,'2026-02-22T05:00:00.000Z','2026-02-22T04:45:00.000Z',1,NULL,0,'[3,5,8,9,10]',0); -INSERT INTO delivery_slot_info VALUES(222,'2026-02-22T08:00:00.000Z','2026-02-22T07:45:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(223,'2026-02-22T20:00:00.000Z','2026-02-22T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(224,'2026-02-22T21:00:00.000Z','2026-02-22T20:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(225,'2026-02-23T00:00:00.000Z','2026-02-22T23:44:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(226,'2026-02-23T01:00:00.000Z','2026-02-23T00:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(227,'2026-02-23T04:00:00.000Z','2026-02-23T03:45:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(228,'2026-02-23T05:00:00.000Z','2026-02-23T04:45:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(229,'2026-02-23T08:00:00.000Z','2026-02-23T07:45:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(230,'2026-02-23T20:00:00.000Z','2026-02-23T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(231,'2026-02-23T21:00:00.000Z','2026-02-23T20:45:00.000Z',1,NULL,0,'[5,7,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(232,'2026-02-24T00:00:00.000Z','2026-02-23T23:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(233,'2026-02-24T05:00:00.000Z','2026-02-24T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(234,'2026-02-24T01:00:00.000Z','2026-02-24T00:50:00.000Z',1,NULL,0,'[10,8,9,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(235,'2026-02-24T04:00:00.000Z','2026-02-24T03:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(236,'2026-02-24T08:00:00.000Z','2026-02-24T07:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(237,'2026-02-24T20:00:00.000Z','2026-02-24T19:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(238,'2026-02-24T21:00:00.000Z','2026-02-25T08:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(239,'2026-02-25T00:00:00.000Z','2026-02-25T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(240,'2026-02-25T01:00:00.000Z','2026-02-25T00:50:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(241,'2026-02-25T04:00:00.000Z','2026-02-25T03:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(242,'2026-02-25T05:00:00.000Z','2026-02-25T04:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(243,'2026-02-25T08:00:00.000Z','2026-02-25T07:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(244,'2026-02-24T05:00:00.000Z','2026-02-24T04:50:00.000Z',1,NULL,0,'[10,9,8,5,3]',0); -INSERT INTO delivery_slot_info VALUES(274,'2026-03-04T20:00:00.000Z','2026-03-04T19:45:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(275,'2026-03-08T02:04:00.000Z','2026-03-08T02:00:00.000Z',1,NULL,0,'[10,9,8,7,5,3]',0); -INSERT INTO delivery_slot_info VALUES(276,'2026-03-08T04:59:17.000Z','2026-03-08T04:44:17.000Z',1,NULL,0,'[]',0); -INSERT INTO delivery_slot_info VALUES(277,'2026-03-08T05:27:40.000Z','2026-03-08T05:12:40.000Z',1,NULL,0,'[7]',0); -INSERT INTO delivery_slot_info VALUES(278,'2026-03-08T06:38:16.000Z','2026-03-08T06:23:16.000Z',1,NULL,0,'[7]',0); -INSERT INTO delivery_slot_info VALUES(279,'2026-03-10T10:00:00.000Z','2026-03-10T08:00:00.000Z',1,NULL,0,'[7,8,9,10,5,3,2,1]',0); -INSERT INTO delivery_slot_info VALUES(280,'2026-03-13T09:00:00.000Z','2026-03-13T08:30:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(281,'2026-03-15T08:00:00.000Z','2026-03-15T07:30:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(282,'2026-03-15T21:00:00.000Z','2026-03-15T20:50:00.000Z',1,NULL,0,'[5,9,10,8,3]',0); -INSERT INTO delivery_slot_info VALUES(283,'2026-03-20T20:00:00.000Z','2026-03-20T19:50:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(284,'2026-03-22T08:00:00.000Z','2026-03-22T07:45:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(285,'2026-03-23T07:00:00.000Z','2026-03-23T06:28:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(286,'2026-03-27T01:00:00.000Z','2026-03-27T00:04:00.000Z',1,NULL,0,'[9,10,8]',0); -INSERT INTO delivery_slot_info VALUES(287,'2026-03-27T06:02:00.000Z','2026-03-27T05:54:00.000Z',1,NULL,0,'[9,10,8]',0); -CREATE TABLE IF NOT EXISTS "home_banners" ("id" INTEGER NOT NULL, "name" TEXT NOT NULL, "image_url" TEXT NOT NULL, "description" TEXT, "redirect_url" TEXT, "serial_num" INTEGER, "is_active" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_updated" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "product_ids" TEXT); -INSERT INTO home_banners VALUES(9,'10%off ','store-images/1770281046297.jpg',NULL,NULL,1,0,'2026-02-05T03:14:06.996Z','2026-02-05T03:14:40.930Z','[]'); -INSERT INTO home_banners VALUES(11,'Daily veggies ','store-images/1770429593455.jpg','Under 19 ',NULL,2,0,'2026-02-06T20:29:57.566Z','2026-02-06T20:30:39.410Z','[45,72,76,97,70,32,74,77,33]'); -INSERT INTO home_banners VALUES(44,'Demo2','store-images/1774018257330.jpg','Demo to test image upload',NULL,999,0,'2026-03-20T09:20:59.008Z','2026-03-20T09:20:59.008Z','[33]'); -INSERT INTO home_banners VALUES(45,'Demo4','store-images/1774104855151.jpg','Ferocious',NULL,999,0,'2026-03-21T09:24:17.745Z','2026-03-21T09:24:17.745Z','[]'); -INSERT INTO home_banners VALUES(46,'Tests banner','store-images/1774365560714.jpg','Testing things again',NULL,999,0,'2026-03-24T09:49:25.241Z','2026-03-24T09:49:25.241Z','[]'); -CREATE TABLE IF NOT EXISTS "key_val_store" ("key" TEXT NOT NULL, "value" TEXT); -INSERT INTO key_val_store VALUES('allItemsOrder','[10,57,99,75,33,90,51,27,6,35,67,97,58,29,65,77,79,5,19,20,14,82,25,56,66,16,83,91,64,36,22,11,1,76,43,94,93,17,47,87,81,50,2,44,59,45,38,85,42,13,55,95,37,34,31,28,18,60,9,84,61,80,7,68,49,69,23,53,4,52,98,63,73,21,78,24,8,74,46,89,40,88,100,72,96,41,86,70,92,26,54,71,48,15,32,62,39,12,3,30]'); -INSERT INTO key_val_store VALUES('androidVersion','1.2.0'); -INSERT INTO key_val_store VALUES('appStoreUrl','https://info.freshyo.in/qr-based-download'); -INSERT INTO key_val_store VALUES('deliveryCharge','12.0'); -INSERT INTO key_val_store VALUES('flashDeliveryCharge','45.0'); -INSERT INTO key_val_store VALUES('flashFreeDeliveryThreshold','500.0'); -INSERT INTO key_val_store VALUES('freeDeliveryThreshold','180.0'); -INSERT INTO key_val_store VALUES('iosVersion','1.2.0'); -INSERT INTO key_val_store VALUES('isFlashDeliveryEnabled','1.0'); -INSERT INTO key_val_store VALUES('minRegularOrderValue','180.0'); -INSERT INTO key_val_store VALUES('playStoreUrl','https://info.freshyo.in/qr-based-download'); -INSERT INTO key_val_store VALUES('popularItems','[23,9,75,98,6,24,59]'); -INSERT INTO key_val_store VALUES('readableOrderId','160.0'); -INSERT INTO key_val_store VALUES('supportEmail','qushammohd@gmail.com'); -INSERT INTO key_val_store VALUES('supportMobile','9000885620.0'); -INSERT INTO key_val_store VALUES('tester','value41'); -INSERT INTO key_val_store VALUES('versionNum','1.2.0'); -CREATE TABLE IF NOT EXISTS "notif_creds" ("id" INTEGER NOT NULL, "token" TEXT NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "user_id" INTEGER NOT NULL, "last_verified" TEXT); -INSERT INTO notif_creds VALUES(3,'ExponentPushToken[iv6POIJTUIiGpkElL84fG7]','2026-02-07T11:16:24.831Z',7,'2026-02-24T00:15:43.239Z'); -INSERT INTO notif_creds VALUES(5,'ExponentPushToken[HnHTZNKG8TO0uuxIEus-PG]','2026-02-07T22:03:08.347Z',91,'2026-02-07T22:03:13.416Z'); -INSERT INTO notif_creds VALUES(6,'ExponentPushToken[UHMotrBnf-vEcprdmbwgIZ]','2026-02-07T23:41:11.318Z',98,'2026-02-08T00:48:44.187Z'); -INSERT INTO notif_creds VALUES(7,'ExponentPushToken[5lelv4B74He5Nhvhsar6bz]','2026-02-08T00:39:52.317Z',121,'2026-02-08T00:42:39.299Z'); -INSERT INTO notif_creds VALUES(8,'ExponentPushToken[v9sccYJj1ubyT6IIQxbvnI]','2026-02-08T01:20:56.512Z',121,'2026-02-08T04:34:48.600Z'); -INSERT INTO notif_creds VALUES(9,'ExponentPushToken[Gzd1aWPU7x-2s4MHC66HgW]','2026-02-08T02:59:16.517Z',21,'2026-02-09T02:55:46.044Z'); -INSERT INTO notif_creds VALUES(10,'ExponentPushToken[qDmbx7D1wEHMyxdeTQj70d]','2026-02-08T04:32:21.955Z',122,'2026-02-08T04:32:21.954Z'); -INSERT INTO notif_creds VALUES(11,'ExponentPushToken[Tsdy4SCnFIXCEU3c2rWW2f]','2026-02-08T04:50:08.729Z',12,'2026-02-14T00:57:01.965Z'); -INSERT INTO notif_creds VALUES(12,'ExponentPushToken[TEbTuZC7F2E9OJTzFHNeoa]','2026-02-08T08:30:08.387Z',2,'2026-02-10T09:45:05.213Z'); -INSERT INTO notif_creds VALUES(14,'ExponentPushToken[RZKHsOC-WpryYm3Q50I86K]','2026-02-08T11:35:05.556Z',39,'2026-02-15T01:04:02.876Z'); -INSERT INTO notif_creds VALUES(15,'ExponentPushToken[VISDPrNjHVUy58fOF4jDWM]','2026-02-08T13:18:22.587Z',1,'2026-02-25T03:03:24.766Z'); -INSERT INTO notif_creds VALUES(16,'ExponentPushToken[w4KTsLKnnp8SbURdl5-Q6x]','2026-02-08T23:42:12.594Z',22,'2026-02-08T23:42:15.073Z'); -INSERT INTO notif_creds VALUES(17,'ExponentPushToken[CvSnNAF6ZN9qCVAsEH21kv]','2026-02-09T03:27:37.036Z',65,'2026-02-16T09:52:41.038Z'); -INSERT INTO notif_creds VALUES(18,'ExponentPushToken[qjCI58EqTOeyVk5yLFHGRq]','2026-02-09T05:48:51.370Z',123,'2026-02-09T05:48:51.369Z'); -INSERT INTO notif_creds VALUES(19,'ExponentPushToken[mZo3TECtB4tDVgxkDOwev6]','2026-02-09T06:32:26.730Z',124,'2026-02-15T05:21:29.871Z'); -INSERT INTO notif_creds VALUES(20,'ExponentPushToken[l527a0C4KT5Ez8aJL7K76l]','2026-02-09T06:40:39.831Z',107,'2026-02-09T06:40:43.875Z'); -INSERT INTO notif_creds VALUES(21,'ExponentPushToken[WxQDABD09Hd7JBURDocB67]','2026-02-09T07:54:12.209Z',125,'2026-02-11T13:07:59.678Z'); -INSERT INTO notif_creds VALUES(22,'ExponentPushToken[81Io9TG3Qg0s3N0V8L86T-]','2026-02-09T08:42:50.649Z',4,'2026-02-23T03:15:48.191Z'); -INSERT INTO notif_creds VALUES(23,'ExponentPushToken[buJyUUCfCpMmsiXqb1--T4]','2026-02-09T10:27:32.198Z',38,'2026-02-25T00:37:28.465Z'); -INSERT INTO notif_creds VALUES(24,'ExponentPushToken[B2zWnHNaumIgbeFFKO-15D]','2026-02-09T14:23:37.594Z',113,'2026-02-10T02:13:48.632Z'); -INSERT INTO notif_creds VALUES(25,'ExponentPushToken[wIhrdlAmwj0Eytvz3W3TTZ]','2026-02-10T05:39:24.848Z',127,'2026-02-11T10:41:39.340Z'); -INSERT INTO notif_creds VALUES(26,'ExponentPushToken[hFUlPFOKMdAUgtDP7EtSzM]','2026-02-10T06:03:43.821Z',3,'2026-02-24T05:46:46.799Z'); -INSERT INTO notif_creds VALUES(27,'ExponentPushToken[NymZTEED3G7YCyDg7ihgBA]','2026-02-10T21:46:04.540Z',2,'2026-02-25T02:12:27.021Z'); -INSERT INTO notif_creds VALUES(28,'ExponentPushToken[ARCT4KD7CJ_pFF_GkywepP]','2026-02-11T06:04:32.238Z',115,'2026-02-22T11:49:39.347Z'); -INSERT INTO notif_creds VALUES(29,'ExponentPushToken[NN4v16BFslBX8ryVXDwQIg]','2026-02-12T03:16:42.421Z',128,'2026-02-17T13:34:12.936Z'); -INSERT INTO notif_creds VALUES(30,'ExponentPushToken[qbteKBC1wbLMCe1ltpul7u]','2026-02-12T07:58:00.376Z',129,'2026-02-12T07:58:00.375Z'); -INSERT INTO notif_creds VALUES(31,'ExponentPushToken[PfjMc_CTRvSvOWtSNmaHhL]','2026-02-14T04:55:41.451Z',131,'2026-02-21T01:58:28.454Z'); -INSERT INTO notif_creds VALUES(32,'ExponentPushToken[dugZtvNyRBevvIcQED783-]','2026-02-14T13:12:44.549Z',120,'2026-02-21T22:33:17.004Z'); -INSERT INTO notif_creds VALUES(33,'ExponentPushToken[5AOIo1AxGkk5zpoVANRRxq]','2026-02-14T23:05:26.237Z',132,'2026-02-25T02:45:27.434Z'); -INSERT INTO notif_creds VALUES(34,'ExponentPushToken[1ZJ_ubPRINgtgfF4JcRz7Q]','2026-02-15T01:15:32.122Z',133,'2026-02-15T01:15:32.121Z'); -INSERT INTO notif_creds VALUES(35,'ExponentPushToken[pIQ2waNDjjSHjQYJbXKD8m]','2026-02-15T01:44:10.912Z',9,'2026-02-15T01:44:10.910Z'); -INSERT INTO notif_creds VALUES(36,'ExponentPushToken[93-_2gEHMwejR3miLX0RGU]','2026-02-15T22:24:33.307Z',1,'2026-03-26T05:56:10.685Z'); -INSERT INTO notif_creds VALUES(37,'ExponentPushToken[kq0I8ADfcQ4VcsZ0yK0Mlc]','2026-02-15T22:31:56.375Z',102,'2026-02-15T22:31:56.374Z'); -INSERT INTO notif_creds VALUES(38,'ExponentPushToken[8wH85rFtQRMk7ciFszmirX]','2026-02-16T04:00:32.930Z',134,'2026-02-22T01:32:06.467Z'); -INSERT INTO notif_creds VALUES(39,'ExponentPushToken[YJRSQmMUEUbaI2VCZLaoN_]','2026-02-16T04:19:56.439Z',6,'2026-02-22T05:05:18.294Z'); -INSERT INTO notif_creds VALUES(40,'ExponentPushToken[QoWbURL2N8-3jRhQwfnRP_]','2026-02-17T03:29:14.561Z',135,'2026-02-17T03:29:14.561Z'); -INSERT INTO notif_creds VALUES(41,'ExponentPushToken[sz_g75Il_CNAG6KpEAxYUH]','2026-02-17T07:26:33.589Z',136,'2026-02-21T03:12:45.220Z'); -INSERT INTO notif_creds VALUES(42,'ExponentPushToken[JMEvkUHKT0n34hcs-MiJAJ]','2026-02-17T08:52:02.805Z',137,'2026-02-17T13:05:14.821Z'); -INSERT INTO notif_creds VALUES(43,'ExponentPushToken[1msqBjJghAi4y8iYwJU-mS]','2026-02-17T09:06:43.131Z',138,'2026-02-23T02:25:49.796Z'); -INSERT INTO notif_creds VALUES(44,'ExponentPushToken[Wvc-xZKA5atNZTuIldtSIw]','2026-02-17T09:22:56.267Z',139,'2026-02-22T03:54:47.956Z'); -INSERT INTO notif_creds VALUES(45,'ExponentPushToken[cZOImkGKtoAxHQZgVtqP2K]','2026-02-17T13:47:10.364Z',140,'2026-02-20T04:17:44.482Z'); -INSERT INTO notif_creds VALUES(46,'ExponentPushToken[Z9RdieHVKXjshIx5Fde2N_]','2026-02-17T19:44:42.642Z',141,'2026-02-23T22:43:32.802Z'); -INSERT INTO notif_creds VALUES(47,'ExponentPushToken[y_gztJB3YIgxaTIe90h081]','2026-02-17T21:39:14.285Z',26,'2026-02-21T01:15:53.015Z'); -INSERT INTO notif_creds VALUES(48,'ExponentPushToken[PwdA7uENlBKK9zfX0IUQHX]','2026-02-17T22:23:25.609Z',142,'2026-02-17T22:28:05.274Z'); -INSERT INTO notif_creds VALUES(49,'ExponentPushToken[I9t84QIYuJ2wkBXTQCrWiO]','2026-02-17T22:54:14.079Z',143,'2026-02-20T01:53:38.305Z'); -INSERT INTO notif_creds VALUES(50,'ExponentPushToken[q6CpdyAjzrLcX5h-XyT2qd]','2026-02-18T00:19:05.701Z',119,'2026-02-18T01:54:00.101Z'); -INSERT INTO notif_creds VALUES(51,'ExponentPushToken[t9-luuLjLIZy__1AFGQne9]','2026-02-18T03:32:56.669Z',144,'2026-02-18T10:07:23.052Z'); -INSERT INTO notif_creds VALUES(52,'ExponentPushToken[LMwZ9hA618rm1SBbnSpLka]','2026-02-18T03:39:58.906Z',145,'2026-02-18T04:47:29.431Z'); -INSERT INTO notif_creds VALUES(53,'ExponentPushToken[Gb4KieGJIaPnwHmzTYtcMv]','2026-02-18T04:29:40.489Z',146,'2026-02-25T01:51:55.372Z'); -INSERT INTO notif_creds VALUES(54,'ExponentPushToken[B74UidJrvnrP8wBb_rHdAC]','2026-02-18T05:14:13.691Z',147,'2026-02-23T03:08:19.771Z'); -INSERT INTO notif_creds VALUES(55,'ExponentPushToken[x2VSb-OGOkn6ivVxpzk6tX]','2026-02-18T06:52:43.429Z',24,'2026-02-23T02:24:07.334Z'); -INSERT INTO notif_creds VALUES(56,'ExponentPushToken[qh6APjAuydb_LnlN4DqYsO]','2026-02-18T07:16:15.407Z',82,'2026-02-22T17:42:52.899Z'); -INSERT INTO notif_creds VALUES(57,'ExponentPushToken[2o572RMsmVSFjUamLuEcoU]','2026-02-18T07:29:53.266Z',148,'2026-02-20T06:08:25.014Z'); -INSERT INTO notif_creds VALUES(58,'ExponentPushToken[3kQdCMDTdTPoDMGP05IITB]','2026-02-18T09:09:16.947Z',149,'2026-02-24T07:04:44.462Z'); -INSERT INTO notif_creds VALUES(59,'ExponentPushToken[oHNDFzFcWPaMrr6UuCUaUd]','2026-02-18T09:11:42.373Z',150,'2026-02-19T04:45:17.727Z'); -INSERT INTO notif_creds VALUES(60,'ExponentPushToken[yjbwNxNUlwI3Gg2xmg_zEL]','2026-02-18T09:21:04.075Z',151,'2026-02-23T03:16:34.760Z'); -INSERT INTO notif_creds VALUES(61,'ExponentPushToken[WoLNBzF_Z7S79-otdUf4hA]','2026-02-18T10:43:23.031Z',152,'2026-02-18T10:47:26.759Z'); -INSERT INTO notif_creds VALUES(62,'ExponentPushToken[VBwbhYESzYkrYBaJNOr_Cd]','2026-02-18T13:29:45.807Z',153,'2026-02-24T13:08:44.803Z'); -INSERT INTO notif_creds VALUES(63,'ExponentPushToken[efBUNsNPuI9UiZMSyisyrS]','2026-02-18T23:28:22.392Z',154,'2026-02-18T23:28:55.761Z'); -INSERT INTO notif_creds VALUES(64,'ExponentPushToken[yoRlFwEZScYynd7F-b0EbZ]','2026-02-18T23:41:30.251Z',155,'2026-02-23T09:36:00.904Z'); -INSERT INTO notif_creds VALUES(65,'ExponentPushToken[QYu6kOP5XdkvJoa8BrF94D]','2026-02-18T23:57:33.153Z',156,'2026-02-23T06:19:11.964Z'); -INSERT INTO notif_creds VALUES(66,'ExponentPushToken[XB2QNBIw79ZsuLKMvoC75T]','2026-02-19T01:01:38.648Z',99,'2026-02-24T08:37:14.569Z'); -INSERT INTO notif_creds VALUES(67,'ExponentPushToken[JR8jlxCcjA6zSt1sIsEaFs]','2026-02-19T01:25:18.880Z',157,'2026-02-19T01:28:03.367Z'); -INSERT INTO notif_creds VALUES(68,'ExponentPushToken[yF2OgLNRsS-YpjLTkltwb7]','2026-02-19T01:44:36.670Z',158,'2026-02-24T05:24:44.962Z'); -INSERT INTO notif_creds VALUES(69,'ExponentPushToken[x4igFdIV9grI1HW3WI-4pI]','2026-02-19T02:15:42.349Z',66,'2026-02-25T02:57:31.607Z'); -INSERT INTO notif_creds VALUES(70,'ExponentPushToken[UrQXC8Eln55JuaZPjM9Ui-]','2026-02-19T02:26:27.728Z',118,'2026-02-19T02:26:27.727Z'); -INSERT INTO notif_creds VALUES(71,'ExponentPushToken[V3hUgLCihO9nsDNBx0uPA6]','2026-02-19T03:38:53.530Z',159,'2026-02-19T05:45:13.240Z'); -INSERT INTO notif_creds VALUES(72,'ExponentPushToken[ivyzcdINsQ3zwCkjlvbAv6]','2026-02-19T03:46:26.528Z',160,'2026-02-23T00:16:28.336Z'); -INSERT INTO notif_creds VALUES(73,'ExponentPushToken[UBKsoGEwMZLkm4B3wUtx5S]','2026-02-19T03:53:26.723Z',64,'2026-02-21T02:22:49.103Z'); -INSERT INTO notif_creds VALUES(74,'ExponentPushToken[8DeRubBDyrcnTSLEd0eYje]','2026-02-19T04:25:24.491Z',161,'2026-02-22T04:34:09.916Z'); -INSERT INTO notif_creds VALUES(76,'ExponentPushToken[AYJ8CwAMYzVS9VIFLdgWZw]','2026-02-19T05:06:22.547Z',162,'2026-02-19T05:09:49.327Z'); -INSERT INTO notif_creds VALUES(77,'ExponentPushToken[tgDCJ1Ht7X4xhJgvosny0I]','2026-02-19T06:46:50.611Z',163,'2026-02-23T01:08:20.953Z'); -INSERT INTO notif_creds VALUES(78,'ExponentPushToken[3ytgOdB6DwYeWZEbsYrcPT]','2026-02-19T07:01:01.329Z',164,'2026-02-19T07:01:01.328Z'); -INSERT INTO notif_creds VALUES(79,'ExponentPushToken[jYpwSQIh9pvCLtSH0WYq5F]','2026-02-19T10:26:49.976Z',165,'2026-02-22T04:41:48.209Z'); -INSERT INTO notif_creds VALUES(80,'ExponentPushToken[dcm7FmItp3TsKicDlHnkc2]','2026-02-19T12:05:06.988Z',166,'2026-02-19T12:05:06.987Z'); -INSERT INTO notif_creds VALUES(83,'ExponentPushToken[4AaCLjFOFe00dA_VppqThU]','2026-02-20T03:19:35.125Z',167,'2026-02-23T07:58:42.730Z'); -INSERT INTO notif_creds VALUES(84,'ExponentPushToken[58ID1kBjfcym3CJINcQD1b]','2026-02-20T03:35:57.056Z',169,'2026-02-20T11:05:08.705Z'); -INSERT INTO notif_creds VALUES(85,'ExponentPushToken[1BrdooOKzJj_P5fDkR3VWJ]','2026-02-20T03:53:54.652Z',170,'2026-02-24T04:56:33.324Z'); -INSERT INTO notif_creds VALUES(86,'ExponentPushToken[j1wJcqI6zGjw3c5oI-Dx9x]','2026-02-20T04:00:53.707Z',172,'2026-02-20T05:14:51.085Z'); -INSERT INTO notif_creds VALUES(89,'ExponentPushToken[6y3qNeJGgyakoSunKhEJT-]','2026-02-20T04:08:13.997Z',173,'2026-02-21T02:20:17.087Z'); -INSERT INTO notif_creds VALUES(93,'ExponentPushToken[T7gjPaDVOJQtJ5anemtNYZ]','2026-02-20T05:29:10.123Z',174,'2026-02-21T11:21:22.446Z'); -INSERT INTO notif_creds VALUES(94,'ExponentPushToken[bSn2s-AWE2bPZFmNbR3wBr]','2026-02-20T05:49:58.947Z',175,'2026-02-23T11:23:09.680Z'); -INSERT INTO notif_creds VALUES(95,'ExponentPushToken[nP7cTjChjAdo68V5rXbjX2]','2026-02-20T05:59:42.482Z',176,'2026-02-20T08:05:40.295Z'); -INSERT INTO notif_creds VALUES(96,'ExponentPushToken[7mwTBgFGWCsZ5bQW2Xn-8j]','2026-02-20T06:50:35.197Z',177,'2026-02-20T09:32:51.775Z'); -INSERT INTO notif_creds VALUES(97,'ExponentPushToken[Y1nFTyC4zbqVCw38UPwEh1]','2026-02-20T07:20:34.337Z',74,'2026-02-21T08:16:21.124Z'); -INSERT INTO notif_creds VALUES(98,'ExponentPushToken[SiFDTqAbkzt6Gqhy7CDvup]','2026-02-20T08:36:23.058Z',178,'2026-02-21T20:53:16.045Z'); -INSERT INTO notif_creds VALUES(99,'ExponentPushToken[a140_7HNF0K2YvX7h4ARWx]','2026-02-20T10:08:25.067Z',179,'2026-02-20T10:08:25.066Z'); -INSERT INTO notif_creds VALUES(100,'ExponentPushToken[2ZZr7mF_h2lch2VVqcFCLs]','2026-02-20T10:57:04.669Z',180,'2026-02-20T10:57:18.409Z'); -INSERT INTO notif_creds VALUES(101,'ExponentPushToken[6l-WlJL-dUG2BixclCkzSa]','2026-02-20T13:32:52.357Z',181,'2026-02-21T10:23:21.219Z'); -INSERT INTO notif_creds VALUES(102,'ExponentPushToken[GWm8_aOevnr5ec38AN858s]','2026-02-20T17:13:24.944Z',182,'2026-02-20T17:13:24.942Z'); -INSERT INTO notif_creds VALUES(103,'ExponentPushToken[IfWmkbPqhvki2Ddpx20WN5]','2026-02-20T18:20:19.602Z',183,'2026-02-20T18:20:19.601Z'); -INSERT INTO notif_creds VALUES(106,'ExponentPushToken[DPeHKsBNbTJ74b4C69d_1e]','2026-02-20T22:45:31.155Z',184,'2026-02-24T05:12:12.438Z'); -INSERT INTO notif_creds VALUES(107,'ExponentPushToken[4mdT-7ILy1RkxkKGHVeFih]','2026-02-21T02:47:55.879Z',185,'2026-02-21T02:48:55.139Z'); -INSERT INTO notif_creds VALUES(108,'ExponentPushToken[OYJNU2Hl_BHC8vNmnh5nIa]','2026-02-21T03:35:03.666Z',186,'2026-02-21T18:26:53.165Z'); -INSERT INTO notif_creds VALUES(110,'ExponentPushToken[2KeIQoIW7_xfYnmYKLjIxX]','2026-02-21T07:16:33.392Z',188,'2026-02-21T07:16:33.391Z'); -INSERT INTO notif_creds VALUES(112,'ExponentPushToken[-o5CHgOgd7yq4gBoUKQdhA]','2026-02-21T13:01:23.842Z',189,'2026-02-21T13:04:47.429Z'); -INSERT INTO notif_creds VALUES(113,'ExponentPushToken[QC4khLHZvU0B2xDfMuLxrr]','2026-02-21T13:29:03.311Z',190,'2026-02-24T07:23:45.452Z'); -INSERT INTO notif_creds VALUES(115,'ExponentPushToken[7xOFPzKtSr9Q3QjuGP_1RY]','2026-02-21T17:55:28.063Z',191,'2026-02-23T05:05:54.186Z'); -INSERT INTO notif_creds VALUES(117,'ExponentPushToken[FQkh_ZP1lkQyiNnxXEqr4E]','2026-02-22T00:12:36.263Z',194,'2026-02-25T02:28:06.068Z'); -INSERT INTO notif_creds VALUES(118,'ExponentPushToken[FCF4nPGQZlVobJpYtPMA1V]','2026-02-22T00:57:19.376Z',195,'2026-02-22T00:57:19.375Z'); -INSERT INTO notif_creds VALUES(119,'ExponentPushToken[IwM94nPyLTuoLgc-dgwPTq]','2026-02-22T00:58:28.876Z',196,'2026-02-22T01:49:01.069Z'); -INSERT INTO notif_creds VALUES(120,'ExponentPushToken[jIY_4pLTlau3wASP_0TYDq]','2026-02-22T01:05:29.613Z',197,'2026-02-22T02:22:29.991Z'); -INSERT INTO notif_creds VALUES(121,'ExponentPushToken[HaF3clPj70n8AdWkidFnJY]','2026-02-22T01:07:17.891Z',198,'2026-02-22T04:30:02.306Z'); -INSERT INTO notif_creds VALUES(122,'ExponentPushToken[dqK4JpEi2SUuPBPRqDHGTE]','2026-02-22T01:14:27.496Z',199,'2026-02-24T23:33:42.767Z'); -INSERT INTO notif_creds VALUES(123,'ExponentPushToken[gJFheJE7Ie9y42gYqTz0cv]','2026-02-22T02:01:38.770Z',200,'2026-02-22T02:01:38.769Z'); -INSERT INTO notif_creds VALUES(124,'ExponentPushToken[Z07jHhEkYiW820OA8-mYma]','2026-02-22T02:01:45.615Z',201,'2026-02-22T02:01:45.614Z'); -INSERT INTO notif_creds VALUES(125,'ExponentPushToken[I4TLMrA8fhjU4YDnC9ssrj]','2026-02-22T02:17:38.253Z',202,'2026-02-22T02:17:38.252Z'); -INSERT INTO notif_creds VALUES(126,'ExponentPushToken[zOk8M4FBYHztnQIxr7ZhzY]','2026-02-22T03:02:38.558Z',203,'2026-02-22T03:02:38.558Z'); -INSERT INTO notif_creds VALUES(127,'ExponentPushToken[H94IyWDEhTwZiV_PsomZ86]','2026-02-22T03:19:56.829Z',204,'2026-02-22T07:59:51.430Z'); -INSERT INTO notif_creds VALUES(128,'ExponentPushToken[700fYUMqIA-ft5HcmU1tmR]','2026-02-22T03:22:47.498Z',205,'2026-02-22T03:53:07.395Z'); -INSERT INTO notif_creds VALUES(129,'ExponentPushToken[1Mq1TLEfmyCHBvCoTdYzlA]','2026-02-22T04:20:20.012Z',206,'2026-02-22T05:05:52.419Z'); -INSERT INTO notif_creds VALUES(130,'ExponentPushToken[_4SQFkNreSaKN8HJCwkO0d]','2026-02-22T04:24:10.912Z',207,'2026-02-22T04:24:10.911Z'); -INSERT INTO notif_creds VALUES(131,'ExponentPushToken[nMmoPDNa2B-FzS0tTKUVJq]','2026-02-22T04:37:00.262Z',208,'2026-02-25T03:26:36.919Z'); -INSERT INTO notif_creds VALUES(132,'ExponentPushToken[_KlKvdPBjid4uWtGl9oj1w]','2026-02-22T04:43:50.020Z',209,'2026-02-22T04:43:50.019Z'); -INSERT INTO notif_creds VALUES(133,'ExponentPushToken[lUQnqhGJAN_4YY4wQ9AsxU]','2026-02-22T05:14:35.973Z',210,'2026-02-22T05:14:35.972Z'); -INSERT INTO notif_creds VALUES(134,'ExponentPushToken[9MdSNKGJEuTvO7e_pUGutQ]','2026-02-22T06:00:13.290Z',212,'2026-02-23T00:39:33.185Z'); -INSERT INTO notif_creds VALUES(135,'ExponentPushToken[O8hwqtKbEc8aWG_xDyiTng]','2026-02-22T06:29:49.199Z',213,'2026-02-25T01:01:33.072Z'); -INSERT INTO notif_creds VALUES(136,'ExponentPushToken[8C19GxE0u9UAVhJurTSUCD]','2026-02-22T06:33:55.924Z',214,'2026-02-22T06:33:55.924Z'); -INSERT INTO notif_creds VALUES(137,'ExponentPushToken[O-HudjMpRjEPPtOY7P8xNf]','2026-02-22T06:59:10.922Z',215,'2026-02-22T06:59:10.921Z'); -INSERT INTO notif_creds VALUES(138,'ExponentPushToken[3vLy4aIVVz6JhDs28edZ7A]','2026-02-22T07:13:12.618Z',216,'2026-02-22T07:13:12.618Z'); -INSERT INTO notif_creds VALUES(139,'ExponentPushToken[gd9P-IJzX8mPS8WIQ4L_aO]','2026-02-22T07:30:21.756Z',217,'2026-02-24T03:15:03.767Z'); -INSERT INTO notif_creds VALUES(140,'ExponentPushToken[Lyp_JhEp-mzptQkxT2gV5j]','2026-02-22T14:03:46.271Z',50,'2026-02-24T23:40:50.787Z'); -INSERT INTO notif_creds VALUES(141,'ExponentPushToken[bKljnNAKOQhNtEuFH61wdv]','2026-02-23T00:50:17.502Z',219,'2026-02-24T02:54:24.861Z'); -INSERT INTO notif_creds VALUES(143,'ExponentPushToken[4MaEIUHLXJTeIUk5Tw2Bre]','2026-02-23T01:39:34.734Z',220,'2026-02-23T01:39:34.734Z'); -INSERT INTO notif_creds VALUES(144,'ExponentPushToken[WFqHJnGXt5zJQgezyZMT-F]','2026-02-23T02:13:14.745Z',221,'2026-02-23T02:13:14.744Z'); -INSERT INTO notif_creds VALUES(146,'ExponentPushToken[_w34c8IpadSoTyzQIgfiRf]','2026-02-23T03:24:04.981Z',222,'2026-02-23T07:32:10.879Z'); -INSERT INTO notif_creds VALUES(147,'ExponentPushToken[BAMOz8A3uZ98l8lIIF5cvC]','2026-02-23T03:32:38.907Z',218,'2026-02-24T23:29:49.706Z'); -INSERT INTO notif_creds VALUES(148,'ExponentPushToken[PnJS6KN--CeuepgdgEOUKz]','2026-02-23T03:46:06.431Z',223,'2026-02-23T06:35:54.102Z'); -INSERT INTO notif_creds VALUES(149,'ExponentPushToken[q6LVtfMMHCmI-CVuzkjete]','2026-02-23T04:36:52.684Z',224,'2026-02-24T03:00:47.885Z'); -INSERT INTO notif_creds VALUES(151,'ExponentPushToken[qFtLZVFHGA-08finEVoLvk]','2026-02-23T06:41:17.865Z',225,'2026-02-23T11:53:56.553Z'); -INSERT INTO notif_creds VALUES(152,'ExponentPushToken[f8BfgiIMzCgsrT8D0GrcbC]','2026-02-23T08:30:40.686Z',226,'2026-02-24T01:31:30.979Z'); -INSERT INTO notif_creds VALUES(153,'ExponentPushToken[Tlj0Y5ENGMH1gqQMOE4Vet]','2026-02-23T22:38:49.132Z',228,'2026-02-23T22:38:49.131Z'); -INSERT INTO notif_creds VALUES(154,'ExponentPushToken[xpA3OSLWnk2-oUz2J_jq9V]','2026-02-24T07:52:52.533Z',15,'2026-02-24T07:52:52.532Z'); -INSERT INTO notif_creds VALUES(155,'ExponentPushToken[LkHZ5lKBW9CMi6UWZ1jZvJ]','2026-02-24T12:27:39.430Z',231,'2026-02-24T12:27:39.429Z'); -INSERT INTO notif_creds VALUES(156,'ExponentPushToken[HpS7v_O9a0YX-ctUWczWc9]','2026-02-24T14:49:55.883Z',232,'2026-02-24T14:49:55.882Z'); -CREATE TABLE IF NOT EXISTS "notifications" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "title" TEXT NOT NULL, "body" TEXT NOT NULL, "type" TEXT, "is_read" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -CREATE TABLE IF NOT EXISTS "order_items" ("id" INTEGER NOT NULL, "order_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "quantity" TEXT NOT NULL, "price" REAL NOT NULL, "discounted_price" REAL, "is_packaged" INTEGER NOT NULL DEFAULT false, "is_package_verified" INTEGER NOT NULL DEFAULT false); -INSERT INTO order_items VALUES(1,1,6,'2',22.0,NULL,0,0); -INSERT INTO order_items VALUES(2,2,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(3,3,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(4,4,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(5,4,1,'1',210.0,NULL,0,0); -INSERT INTO order_items VALUES(6,5,4,'1',700.0,NULL,0,0); -INSERT INTO order_items VALUES(7,6,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(8,7,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(9,8,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(10,9,3,'2',250.0,NULL,0,0); -INSERT INTO order_items VALUES(11,10,3,'2',250.0,NULL,0,0); -INSERT INTO order_items VALUES(12,11,6,'2',22.0,NULL,0,0); -INSERT INTO order_items VALUES(13,12,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(14,13,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(15,14,1,'1',210.0,NULL,0,0); -INSERT INTO order_items VALUES(16,15,4,'1',700.0,NULL,0,0); -INSERT INTO order_items VALUES(17,16,4,'1',700.0,NULL,0,0); -INSERT INTO order_items VALUES(18,17,1,'1',210.0,NULL,0,0); -INSERT INTO order_items VALUES(19,18,1,'4',210.0,NULL,0,0); -INSERT INTO order_items VALUES(20,19,3,'1',250.0,NULL,0,0); -INSERT INTO order_items VALUES(21,19,9,'1',280.0,NULL,0,0); -INSERT INTO order_items VALUES(22,20,3,'1',250.0,NULL,0,0); -INSERT INTO order_items VALUES(23,20,9,'1',280.0,NULL,0,0); -INSERT INTO order_items VALUES(24,21,4,'1',700.0,NULL,0,0); -INSERT INTO order_items VALUES(25,21,6,'1',22.0,NULL,0,0); -INSERT INTO order_items VALUES(26,22,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(27,23,2,'1',220.0,NULL,0,0); -INSERT INTO order_items VALUES(28,24,3,'3',250.0,NULL,0,0); -INSERT INTO order_items VALUES(29,25,2,'25',220.0,NULL,0,0); -INSERT INTO order_items VALUES(30,25,7,'4',50.0,NULL,0,0); -INSERT INTO order_items VALUES(31,26,5,'4',72.0,NULL,0,0); -INSERT INTO order_items VALUES(32,26,1,'3',210.0,NULL,0,0); -INSERT INTO order_items VALUES(33,26,4,'3',700.0,NULL,0,0); -INSERT INTO order_items VALUES(34,26,10,'3',210.0,NULL,0,0); -INSERT INTO order_items VALUES(35,26,8,'4',20.0,NULL,0,0); -INSERT INTO order_items VALUES(36,26,11,'6',1400.0,NULL,0,0); -INSERT INTO order_items VALUES(37,27,11,'9',1400.0,NULL,0,0); -INSERT INTO order_items VALUES(38,27,3,'13',250.0,NULL,0,0); -INSERT INTO order_items VALUES(39,28,10,'5',210.0,168.0,0,0); -INSERT INTO order_items VALUES(40,28,6,'6',22.0,17.600000000000002309,0,0); -INSERT INTO order_items VALUES(41,29,4,'2',700.0,700.0,0,0); -INSERT INTO order_items VALUES(42,30,2,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(43,30,11,'5',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(44,30,3,'2',250.0,250.0,0,0); -INSERT INTO order_items VALUES(45,31,2,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(46,31,11,'5',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(47,31,3,'2',250.0,250.0,0,0); -INSERT INTO order_items VALUES(48,32,2,'1',220.0,176.0,0,0); -INSERT INTO order_items VALUES(49,32,11,'5',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(50,32,3,'1',250.0,200.0,0,0); -INSERT INTO order_items VALUES(51,33,4,'3',700.0,560.0,0,0); -INSERT INTO order_items VALUES(52,34,2,'1',220.0,176.0,0,0); -INSERT INTO order_items VALUES(53,34,11,'1',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(54,34,3,'1',250.0,200.0,0,0); -INSERT INTO order_items VALUES(55,35,11,'2',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(56,36,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(57,36,4,'1',700.0,700.0,0,0); -INSERT INTO order_items VALUES(58,36,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(59,37,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(60,37,4,'1',700.0,700.0,0,0); -INSERT INTO order_items VALUES(61,37,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(62,38,2,'1',220.0,220.0,0,0); -INSERT INTO order_items VALUES(63,38,11,'2',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(64,39,3,'1',250.0,200.0,0,0); -INSERT INTO order_items VALUES(65,39,11,'2',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(66,40,11,'3',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(67,40,3,'4',250.0,200.0,0,0); -INSERT INTO order_items VALUES(68,41,11,'2',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(69,41,3,'2',250.0,200.0,0,0); -INSERT INTO order_items VALUES(70,42,2,'4',220.0,176.0,0,0); -INSERT INTO order_items VALUES(71,42,3,'4',250.0,200.0,0,0); -INSERT INTO order_items VALUES(72,43,11,'1',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(73,43,2,'5',220.0,176.0,0,0); -INSERT INTO order_items VALUES(74,43,10,'3',210.0,168.0,0,0); -INSERT INTO order_items VALUES(75,44,11,'1',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(76,44,2,'5',220.0,176.0,0,0); -INSERT INTO order_items VALUES(77,44,10,'3',210.0,168.0,0,0); -INSERT INTO order_items VALUES(78,45,11,'3',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(79,45,2,'5',220.0,176.0,0,0); -INSERT INTO order_items VALUES(80,45,3,'3',250.0,200.0,0,0); -INSERT INTO order_items VALUES(81,46,11,'5',1400.0,1120.0,0,0); -INSERT INTO order_items VALUES(82,46,3,'4',250.0,200.0,0,0); -INSERT INTO order_items VALUES(83,46,10,'3',210.0,168.0,0,0); -INSERT INTO order_items VALUES(84,47,3,'2',250.0,250.0,0,0); -INSERT INTO order_items VALUES(85,47,2,'2',220.0,220.0,0,0); -INSERT INTO order_items VALUES(86,48,3,'5',250.0,150.0,0,0); -INSERT INTO order_items VALUES(87,48,11,'3',1400.0,840.0,0,0); -INSERT INTO order_items VALUES(88,48,2,'3',220.0,132.0,0,0); -INSERT INTO order_items VALUES(89,49,10,'5',210.0,210.0,0,0); -INSERT INTO order_items VALUES(90,49,2,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(91,49,11,'2',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(92,49,3,'3',250.0,250.0,0,0); -INSERT INTO order_items VALUES(93,50,4,'3',700.0,700.0,0,0); -INSERT INTO order_items VALUES(94,50,10,'3',210.0,210.0,0,0); -INSERT INTO order_items VALUES(95,50,2,'4',220.0,220.0,0,0); -INSERT INTO order_items VALUES(96,50,11,'3',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(97,51,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(98,52,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(99,53,3,'2',250.0,250.0,0,0); -INSERT INTO order_items VALUES(100,54,4,'3',700.0,700.0,0,0); -INSERT INTO order_items VALUES(101,54,3,'3',250.0,250.0,0,0); -INSERT INTO order_items VALUES(102,55,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(103,55,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(104,55,1,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(105,56,8,'1',20.0,20.0,0,0); -INSERT INTO order_items VALUES(106,56,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(107,57,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(108,58,1,'28',210.0,210.0,0,0); -INSERT INTO order_items VALUES(109,58,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(110,58,3,'3',250.0,250.0,0,0); -INSERT INTO order_items VALUES(111,58,2,'1',220.0,220.0,0,0); -INSERT INTO order_items VALUES(112,59,1,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(113,60,12,'1',350.0,350.0,0,0); -INSERT INTO order_items VALUES(114,61,1,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(115,62,12,'2',350.0,350.0,0,0); -INSERT INTO order_items VALUES(116,63,1,'2',210.0,210.0,0,0); -INSERT INTO order_items VALUES(117,63,12,'2',350.0,350.0,0,0); -INSERT INTO order_items VALUES(118,64,1,'2',210.0,210.0,0,0); -INSERT INTO order_items VALUES(119,65,12,'2',350.0,350.0,0,0); -INSERT INTO order_items VALUES(120,66,12,'1',350.0,350.0,0,0); -INSERT INTO order_items VALUES(121,66,1,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(122,67,15,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(123,68,15,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(124,69,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(125,70,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(126,71,11,'1',1400.0,1400.0,1,0); -INSERT INTO order_items VALUES(127,71,15,'1',220.0,220.0,1,0); -INSERT INTO order_items VALUES(128,71,6,'1',22.0,22.0,1,0); -INSERT INTO order_items VALUES(129,72,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(130,73,5,'3',72.0,72.0,0,0); -INSERT INTO order_items VALUES(131,74,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(132,74,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(133,75,11,'15',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(134,76,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(135,77,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(136,78,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(137,79,25,'3',100.0,100.0,0,0); -INSERT INTO order_items VALUES(138,80,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(139,81,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(140,82,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(141,83,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(142,84,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(143,85,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(144,86,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(145,87,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(146,88,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(147,89,15,'1',140.0,140.0,0,0); -INSERT INTO order_items VALUES(148,89,11,'2',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(149,90,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(150,91,19,'1',40.0,40.0,0,0); -INSERT INTO order_items VALUES(151,92,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(152,93,25,'2',100.0,100.0,0,0); -INSERT INTO order_items VALUES(153,94,26,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(154,95,6,'6',22.0,22.0,0,0); -INSERT INTO order_items VALUES(155,96,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(156,97,25,'2',100.0,100.0,0,0); -INSERT INTO order_items VALUES(157,98,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(158,99,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(159,100,16,'10',100.0,100.0,0,0); -INSERT INTO order_items VALUES(160,101,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(161,102,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(162,103,16,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(163,104,5,'5',72.0,72.0,0,0); -INSERT INTO order_items VALUES(164,104,6,'108',22.0,22.0,0,0); -INSERT INTO order_items VALUES(165,105,12,'22',350.0,350.0,0,0); -INSERT INTO order_items VALUES(166,106,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(167,106,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(168,107,8,'1',20.0,20.0,1,0); -INSERT INTO order_items VALUES(169,107,26,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(170,108,25,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(171,109,13,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(172,110,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(173,111,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(174,111,6,'1',22.0,22.0,0,0); -INSERT INTO order_items VALUES(175,111,12,'1',350.0,350.0,0,0); -INSERT INTO order_items VALUES(176,112,8,'1',20.0,20.0,0,0); -INSERT INTO order_items VALUES(177,113,12,'1',350.0,350.0,0,0); -INSERT INTO order_items VALUES(178,114,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(179,115,5,'1',72.0,72.0,0,0); -INSERT INTO order_items VALUES(180,115,6,'2',22.0,22.0,0,0); -INSERT INTO order_items VALUES(181,115,16,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(182,116,15,'4',140.0,140.0,0,0); -INSERT INTO order_items VALUES(183,117,6,'2',22.0,22.0,1,0); -INSERT INTO order_items VALUES(184,117,5,'1',72.0,72.0,1,0); -INSERT INTO order_items VALUES(185,118,13,'1',120.0,120.0,0,1); -INSERT INTO order_items VALUES(186,119,8,'1',20.0,20.0,0,0); -INSERT INTO order_items VALUES(187,119,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(188,120,21,'1',380.0,380.0,0,0); -INSERT INTO order_items VALUES(189,120,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(190,121,10,'1',210.0,210.0,1,1); -INSERT INTO order_items VALUES(191,121,24,'1',230.0,230.0,1,1); -INSERT INTO order_items VALUES(192,122,5,'1',72.0,72.0,1,1); -INSERT INTO order_items VALUES(193,122,11,'1',1400.0,1400.0,1,1); -INSERT INTO order_items VALUES(194,122,13,'1',120.0,120.0,1,1); -INSERT INTO order_items VALUES(195,122,6,'1',22.0,22.0,1,1); -INSERT INTO order_items VALUES(196,123,35,'1',485.0,485.0,0,0); -INSERT INTO order_items VALUES(197,124,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(198,125,22,'1',680.0,680.0,0,0); -INSERT INTO order_items VALUES(199,126,10,'1',210.0,210.0,1,1); -INSERT INTO order_items VALUES(200,126,6,'1',22.0,22.0,1,1); -INSERT INTO order_items VALUES(201,127,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(202,127,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(203,127,24,'1',230.0,230.0,0,0); -INSERT INTO order_items VALUES(204,127,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(205,127,20,'1',340.0,340.0,0,0); -INSERT INTO order_items VALUES(206,128,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(207,128,15,'1',140.0,140.0,0,0); -INSERT INTO order_items VALUES(208,129,24,'1',230.0,230.0,0,0); -INSERT INTO order_items VALUES(209,129,4,'1',780.0,780.0,0,0); -INSERT INTO order_items VALUES(210,129,21,'1',380.0,380.0,0,0); -INSERT INTO order_items VALUES(211,130,10,'1',210.0,210.0,0,0); -INSERT INTO order_items VALUES(212,131,20,'1',340.0,340.0,0,0); -INSERT INTO order_items VALUES(213,132,10,'1',240.0,240.0,1,0); -INSERT INTO order_items VALUES(214,132,23,'2',300.0,300.0,1,0); -INSERT INTO order_items VALUES(215,132,11,'2',1400.0,1400.0,1,0); -INSERT INTO order_items VALUES(216,133,4,'1',780.0,780.0,0,0); -INSERT INTO order_items VALUES(217,134,6,'1',24.0,24.0,0,0); -INSERT INTO order_items VALUES(218,134,13,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(219,134,8,'1',20.0,20.0,0,0); -INSERT INTO order_items VALUES(220,134,7,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(221,134,25,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(222,134,26,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(223,134,38,'1',100.0,100.0,0,0); -INSERT INTO order_items VALUES(224,134,39,'1',150.0,150.0,0,0); -INSERT INTO order_items VALUES(225,134,20,'1',340.0,340.0,0,0); -INSERT INTO order_items VALUES(226,134,14,'1',180.0,180.0,0,0); -INSERT INTO order_items VALUES(227,134,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(228,134,10,'1',240.0,240.0,0,0); -INSERT INTO order_items VALUES(229,134,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(230,134,23,'1',300.0,300.0,0,0); -INSERT INTO order_items VALUES(231,134,22,'1',680.0,680.0,0,0); -INSERT INTO order_items VALUES(232,135,20,'5',340.0,340.0,0,0); -INSERT INTO order_items VALUES(233,136,20,'3',340.0,340.0,0,0); -INSERT INTO order_items VALUES(234,137,13,'5',120.0,120.0,0,0); -INSERT INTO order_items VALUES(235,138,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(236,138,21,'1',380.0,380.0,0,0); -INSERT INTO order_items VALUES(237,139,4,'1',780.0,780.0,0,0); -INSERT INTO order_items VALUES(238,140,14,'3',180.0,180.0,0,0); -INSERT INTO order_items VALUES(239,141,14,'3',180.0,180.0,0,0); -INSERT INTO order_items VALUES(240,142,6,'1',24.0,24.0,0,0); -INSERT INTO order_items VALUES(241,143,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(242,143,14,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(243,144,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(244,144,14,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(245,145,1,'2',120.0,120.0,0,0); -INSERT INTO order_items VALUES(246,145,14,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(247,146,1,'2',120.0,120.0,0,0); -INSERT INTO order_items VALUES(248,146,14,'3',220.0,220.0,0,0); -INSERT INTO order_items VALUES(249,147,1,'3',120.0,120.0,1,0); -INSERT INTO order_items VALUES(250,147,14,'3',220.0,220.0,1,0); -INSERT INTO order_items VALUES(251,148,11,'1',1400.0,1400.0,0,0); -INSERT INTO order_items VALUES(252,148,35,'2',499.0,499.0,0,0); -INSERT INTO order_items VALUES(253,149,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(254,150,1,'1',120.0,120.0,1,0); -INSERT INTO order_items VALUES(255,150,3,'1',250.0,250.0,1,0); -INSERT INTO order_items VALUES(256,151,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(257,151,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(258,151,10,'1',240.0,240.0,0,0); -INSERT INTO order_items VALUES(259,152,21,'1',489.0,489.0,0,0); -INSERT INTO order_items VALUES(260,152,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(261,153,22,'1',680.0,680.0,0,0); -INSERT INTO order_items VALUES(262,154,23,'1',300.0,300.0,0,0); -INSERT INTO order_items VALUES(263,154,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(264,155,21,'1',489.0,489.0,0,0); -INSERT INTO order_items VALUES(265,155,3,'1',250.0,250.0,0,0); -INSERT INTO order_items VALUES(266,156,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(267,156,14,'1',220.0,220.0,0,0); -INSERT INTO order_items VALUES(268,157,75,'3',25.0,25.0,1,0); -INSERT INTO order_items VALUES(269,158,21,'1',559.0,559.0,0,0); -INSERT INTO order_items VALUES(270,158,3,'1',76.0,76.0,0,0); -INSERT INTO order_items VALUES(271,158,1,'1',120.0,120.0,0,0); -INSERT INTO order_items VALUES(272,158,9,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(273,158,35,'1',499.0,499.0,0,0); -INSERT INTO order_items VALUES(274,159,77,'56',22.0,22.0,0,0); -INSERT INTO order_items VALUES(275,160,77,'6',22.0,22.0,0,0); -INSERT INTO order_items VALUES(276,161,77,'14',22.0,22.0,0,0); -INSERT INTO order_items VALUES(277,162,77,'8',22.0,22.0,1,0); -INSERT INTO order_items VALUES(278,163,24,'7',249.0,249.0,0,0); -INSERT INTO order_items VALUES(279,164,3,'4',76.0,76.0,0,0); -INSERT INTO order_items VALUES(280,165,4,'1',820.0,820.0,0,0); -INSERT INTO order_items VALUES(281,166,7,'1',49.0,49.0,0,0); -INSERT INTO order_items VALUES(282,167,10,'1',240.0,240.0,0,0); -INSERT INTO order_items VALUES(283,167,6,'1',154.0,154.0,0,0); -INSERT INTO order_items VALUES(284,167,24,'1',249.0,249.0,0,0); -INSERT INTO order_items VALUES(285,168,35,'2',410.0,410.0,0,0); -INSERT INTO order_items VALUES(286,168,3,'2',76.0,76.0,0,0); -INSERT INTO order_items VALUES(287,168,4,'2',820.0,820.0,0,0); -INSERT INTO order_items VALUES(288,169,37,'3',29.0,29.0,0,0); -INSERT INTO order_items VALUES(289,170,23,'1',146.0,146.0,1,0); -INSERT INTO order_items VALUES(290,171,35,'1',429.0,429.0,1,1); -INSERT INTO order_items VALUES(291,172,13,'1',35.0,35.0,1,1); -INSERT INTO order_items VALUES(292,172,5,'1',17.0,17.0,1,1); -INSERT INTO order_items VALUES(293,172,68,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(294,173,56,'1',44.0,44.0,1,1); -INSERT INTO order_items VALUES(295,174,47,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(296,174,38,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(297,175,19,'1',27.0,27.0,1,1); -INSERT INTO order_items VALUES(298,176,56,'1',67.0,67.0,1,1); -INSERT INTO order_items VALUES(299,176,23,'1',146.0,146.0,1,1); -INSERT INTO order_items VALUES(300,177,58,'2',79.0,79.0,1,1); -INSERT INTO order_items VALUES(301,178,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(302,179,23,'1',146.0,146.0,1,0); -INSERT INTO order_items VALUES(303,180,13,'2',47.0,47.0,1,0); -INSERT INTO order_items VALUES(304,181,71,'1',17.0,17.0,1,0); -INSERT INTO order_items VALUES(305,182,59,'1',39.0,39.0,1,0); -INSERT INTO order_items VALUES(306,183,66,'1',32.0,32.0,0,0); -INSERT INTO order_items VALUES(307,184,41,'1',179.0,179.0,1,1); -INSERT INTO order_items VALUES(308,185,76,'1',25.0,25.0,0,0); -INSERT INTO order_items VALUES(309,185,32,'1',23.0,23.0,0,0); -INSERT INTO order_items VALUES(310,185,97,'1',19.0,19.0,0,0); -INSERT INTO order_items VALUES(311,186,24,'1',218.0,218.0,0,0); -INSERT INTO order_items VALUES(312,186,1,'1',89.0,89.0,0,0); -INSERT INTO order_items VALUES(313,187,67,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(314,187,45,'1',25.0,25.0,1,1); -INSERT INTO order_items VALUES(315,188,9,'1',296.0,296.0,0,0); -INSERT INTO order_items VALUES(316,189,23,'2',146.0,146.0,1,1); -INSERT INTO order_items VALUES(317,190,71,'1',17.0,17.0,0,0); -INSERT INTO order_items VALUES(318,191,23,'2',135.0,135.0,1,1); -INSERT INTO order_items VALUES(319,192,24,'2',210.0,210.0,1,1); -INSERT INTO order_items VALUES(320,193,10,'1',269.0,269.0,1,1); -INSERT INTO order_items VALUES(321,194,41,'1',179.0,179.0,1,1); -INSERT INTO order_items VALUES(322,194,4,'1',820.0,820.0,1,1); -INSERT INTO order_items VALUES(323,195,96,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(324,196,41,'1',179.0,179.0,0,0); -INSERT INTO order_items VALUES(325,197,41,'1',179.0,179.0,1,1); -INSERT INTO order_items VALUES(326,197,10,'1',269.0,269.0,1,1); -INSERT INTO order_items VALUES(332,202,40,'1',135.0,135.0,1,0); -INSERT INTO order_items VALUES(333,203,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(334,204,51,'1',79.0,79.0,0,0); -INSERT INTO order_items VALUES(335,205,51,'1',79.0,79.0,1,1); -INSERT INTO order_items VALUES(336,206,4,'1',820.0,820.0,0,0); -INSERT INTO order_items VALUES(337,207,14,'1',369.0,369.0,0,0); -INSERT INTO order_items VALUES(338,208,98,'1',420.0,420.0,1,0); -INSERT INTO order_items VALUES(339,209,40,'2',135.0,135.0,1,1); -INSERT INTO order_items VALUES(340,209,38,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(341,209,8,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(342,210,24,'1',210.0,210.0,1,0); -INSERT INTO order_items VALUES(343,211,76,'1',25.0,25.0,1,1); -INSERT INTO order_items VALUES(344,211,19,'1',27.0,27.0,1,1); -INSERT INTO order_items VALUES(345,211,32,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(346,211,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(347,212,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(348,213,18,'2',44.0,44.0,0,0); -INSERT INTO order_items VALUES(349,214,13,'2',49.0,49.0,0,0); -INSERT INTO order_items VALUES(350,215,13,'4',69.0,69.0,1,1); -INSERT INTO order_items VALUES(351,216,7,'1',49.0,49.0,0,0); -INSERT INTO order_items VALUES(352,216,8,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(353,216,46,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(354,216,6,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(355,217,38,'1',76.0,76.0,1,0); -INSERT INTO order_items VALUES(356,217,85,'1',259.0,259.0,1,0); -INSERT INTO order_items VALUES(357,218,6,'2',109.0,109.0,1,1); -INSERT INTO order_items VALUES(358,218,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(359,218,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(360,218,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(361,218,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(362,219,96,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(363,220,6,'1',109.0,109.0,1,0); -INSERT INTO order_items VALUES(364,220,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(365,221,6,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(366,221,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(367,221,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(368,222,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(369,222,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(370,222,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(371,223,7,'1',49.0,49.0,0,0); -INSERT INTO order_items VALUES(372,223,78,'1',29.0,29.0,0,0); -INSERT INTO order_items VALUES(373,223,45,'1',19.0,19.0,0,0); -INSERT INTO order_items VALUES(374,224,42,'1',149.0,149.0,1,0); -INSERT INTO order_items VALUES(375,225,59,'1',98.0,98.0,0,0); -INSERT INTO order_items VALUES(376,226,91,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(377,226,45,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(378,226,71,'1',17.0,17.0,1,1); -INSERT INTO order_items VALUES(379,226,95,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(380,227,14,'1',379.0,379.0,1,0); -INSERT INTO order_items VALUES(381,228,16,'1',28.0,28.0,0,0); -INSERT INTO order_items VALUES(382,228,91,'2',29.0,29.0,0,0); -INSERT INTO order_items VALUES(383,228,45,'2',19.0,19.0,0,0); -INSERT INTO order_items VALUES(384,228,71,'1',17.0,17.0,0,0); -INSERT INTO order_items VALUES(385,228,95,'1',39.0,39.0,0,0); -INSERT INTO order_items VALUES(386,229,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(387,229,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(388,229,77,'1',18.0,18.0,1,1); -INSERT INTO order_items VALUES(389,229,29,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(390,229,68,'1',32.0,32.0,1,1); -INSERT INTO order_items VALUES(391,230,45,'1',19.0,19.0,0,0); -INSERT INTO order_items VALUES(392,230,31,'2',29.0,29.0,0,0); -INSERT INTO order_items VALUES(393,230,6,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(394,231,6,'2',109.0,109.0,1,1); -INSERT INTO order_items VALUES(395,231,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(396,232,2,'1',219.0,219.0,0,0); -INSERT INTO order_items VALUES(397,233,24,'1',219.0,219.0,0,0); -INSERT INTO order_items VALUES(398,234,24,'1',219.0,219.0,1,1); -INSERT INTO order_items VALUES(399,235,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(400,236,23,'1',139.0,139.0,1,0); -INSERT INTO order_items VALUES(401,237,13,'2',69.0,69.0,1,0); -INSERT INTO order_items VALUES(402,238,67,'4',24.0,24.0,0,0); -INSERT INTO order_items VALUES(403,239,67,'4',24.0,24.0,0,0); -INSERT INTO order_items VALUES(404,240,40,'1',160.0,160.0,0,0); -INSERT INTO order_items VALUES(405,241,40,'1',160.0,160.0,0,0); -INSERT INTO order_items VALUES(406,242,66,'1',27.0,27.0,0,0); -INSERT INTO order_items VALUES(407,243,19,'1',50.0,50.0,0,0); -INSERT INTO order_items VALUES(408,244,82,'1',389.0,389.0,0,0); -INSERT INTO order_items VALUES(409,245,59,'10',98.0,98.0,0,0); -INSERT INTO order_items VALUES(410,246,23,'1',139.0,139.0,0,0); -INSERT INTO order_items VALUES(411,247,42,'1',149.0,149.0,0,0); -INSERT INTO order_items VALUES(412,248,23,'1',139.0,139.0,1,0); -INSERT INTO order_items VALUES(413,248,7,'1',49.0,49.0,1,0); -INSERT INTO order_items VALUES(414,249,96,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(415,250,98,'1',419.0,419.0,0,0); -INSERT INTO order_items VALUES(416,250,80,'1',849.0,849.0,0,0); -INSERT INTO order_items VALUES(417,250,58,'1',59.0,59.0,0,0); -INSERT INTO order_items VALUES(418,251,48,'2',55.0,55.0,1,0); -INSERT INTO order_items VALUES(419,252,78,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(420,252,91,'2',39.0,39.0,1,0); -INSERT INTO order_items VALUES(421,253,19,'2',27.0,27.0,1,0); -INSERT INTO order_items VALUES(422,253,72,'2',18.0,18.0,1,0); -INSERT INTO order_items VALUES(423,253,16,'1',28.0,28.0,1,0); -INSERT INTO order_items VALUES(424,254,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(425,254,19,'1',27.0,27.0,1,1); -INSERT INTO order_items VALUES(426,254,32,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(427,254,27,'1',24.0,24.0,1,1); -INSERT INTO order_items VALUES(428,254,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(429,254,74,'1',17.0,17.0,1,1); -INSERT INTO order_items VALUES(430,255,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(431,256,98,'1',419.0,419.0,0,0); -INSERT INTO order_items VALUES(432,257,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(433,258,58,'1',59.0,59.0,1,1); -INSERT INTO order_items VALUES(434,259,35,'1',459.0,459.0,1,1); -INSERT INTO order_items VALUES(435,260,40,'1',150.0,150.0,0,0); -INSERT INTO order_items VALUES(436,260,24,'1',230.0,230.0,0,0); -INSERT INTO order_items VALUES(437,261,73,'2',59.0,59.0,1,0); -INSERT INTO order_items VALUES(438,262,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(439,263,40,'1',150.0,150.0,0,0); -INSERT INTO order_items VALUES(440,264,24,'2',198.0,198.0,1,0); -INSERT INTO order_items VALUES(441,264,66,'1',27.0,27.0,1,0); -INSERT INTO order_items VALUES(442,265,73,'2',59.0,59.0,1,0); -INSERT INTO order_items VALUES(443,266,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(444,267,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(445,267,60,'1',78.0,78.0,1,0); -INSERT INTO order_items VALUES(446,267,8,'1',119.0,119.0,1,0); -INSERT INTO order_items VALUES(447,267,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(448,268,35,'1',429.0,429.0,1,1); -INSERT INTO order_items VALUES(449,269,24,'2',198.0,198.0,0,0); -INSERT INTO order_items VALUES(450,270,2,'1',230.0,230.0,1,0); -INSERT INTO order_items VALUES(451,271,100,'1',99.0,99.0,1,0); -INSERT INTO order_items VALUES(452,271,69,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(453,271,9,'1',296.0,296.0,1,0); -INSERT INTO order_items VALUES(454,272,58,'1',59.0,59.0,0,0); -INSERT INTO order_items VALUES(455,273,58,'1',59.0,59.0,0,0); -INSERT INTO order_items VALUES(456,274,9,'1',296.0,296.0,1,1); -INSERT INTO order_items VALUES(457,274,85,'1',259.0,259.0,1,1); -INSERT INTO order_items VALUES(458,275,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(459,275,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(460,276,45,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(461,276,91,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(462,276,35,'1',429.0,429.0,1,1); -INSERT INTO order_items VALUES(463,277,97,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(464,277,95,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(465,277,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(466,277,90,'1',27.0,27.0,1,0); -INSERT INTO order_items VALUES(467,277,19,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(468,277,27,'1',24.0,24.0,1,1); -INSERT INTO order_items VALUES(469,277,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(470,277,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(471,277,29,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(472,277,45,'2',19.0,19.0,1,0); -INSERT INTO order_items VALUES(473,277,67,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(474,277,66,'1',27.0,27.0,1,1); -INSERT INTO order_items VALUES(475,277,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(476,277,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(477,278,24,'2',198.0,198.0,1,0); -INSERT INTO order_items VALUES(478,279,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(479,280,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(480,280,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(481,280,72,'1',14.0,14.0,1,1); -INSERT INTO order_items VALUES(482,280,92,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(483,280,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(484,280,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(485,280,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(486,281,91,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(487,281,19,'2',23.0,23.0,1,1); -INSERT INTO order_items VALUES(488,281,10,'2',249.0,249.0,1,0); -INSERT INTO order_items VALUES(489,282,59,'1',98.0,98.0,0,0); -INSERT INTO order_items VALUES(490,283,73,'2',59.0,59.0,1,0); -INSERT INTO order_items VALUES(491,283,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(492,284,7,'1',49.0,49.0,1,0); -INSERT INTO order_items VALUES(493,284,48,'1',55.0,55.0,1,0); -INSERT INTO order_items VALUES(494,284,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(495,285,38,'1',76.0,76.0,0,0); -INSERT INTO order_items VALUES(496,285,56,'1',67.0,67.0,0,0); -INSERT INTO order_items VALUES(497,285,96,'1',109.0,109.0,0,0); -INSERT INTO order_items VALUES(498,285,47,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(499,286,27,'1',24.0,24.0,1,0); -INSERT INTO order_items VALUES(500,286,5,'1',26.0,26.0,1,0); -INSERT INTO order_items VALUES(501,286,32,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(502,286,16,'1',28.0,28.0,1,0); -INSERT INTO order_items VALUES(503,286,33,'1',15.0,15.0,1,0); -INSERT INTO order_items VALUES(504,286,89,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(505,286,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(506,286,48,'1',55.0,55.0,1,0); -INSERT INTO order_items VALUES(507,287,97,'6',19.0,19.0,0,0); -INSERT INTO order_items VALUES(508,288,38,'1',76.0,76.0,0,0); -INSERT INTO order_items VALUES(509,289,31,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(510,290,24,'1',198.0,198.0,1,1); -INSERT INTO order_items VALUES(511,290,41,'1',189.0,189.0,1,0); -INSERT INTO order_items VALUES(512,291,21,'1',559.0,559.0,1,1); -INSERT INTO order_items VALUES(513,292,59,'1',98.0,98.0,0,0); -INSERT INTO order_items VALUES(514,293,59,'1',98.0,98.0,0,0); -INSERT INTO order_items VALUES(515,294,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(516,295,73,'4',59.0,59.0,1,0); -INSERT INTO order_items VALUES(517,296,4,'1',819.0,819.0,0,0); -INSERT INTO order_items VALUES(518,297,23,'2',125.0,125.0,1,1); -INSERT INTO order_items VALUES(519,297,76,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(520,297,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(521,297,32,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(522,298,33,'1',15.0,15.0,1,0); -INSERT INTO order_items VALUES(523,298,89,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(524,298,32,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(525,299,48,'1',55.0,55.0,1,0); -INSERT INTO order_items VALUES(526,299,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(527,300,44,'2',119.0,119.0,1,1); -INSERT INTO order_items VALUES(528,301,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(529,301,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(530,301,100,'1',99.0,99.0,1,1); -INSERT INTO order_items VALUES(531,301,83,'1',159.0,159.0,1,1); -INSERT INTO order_items VALUES(532,301,40,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(533,301,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(534,301,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(535,301,29,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(536,301,72,'3',14.0,14.0,1,0); -INSERT INTO order_items VALUES(537,301,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(538,301,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(539,301,92,'1',29.0,29.0,1,0); -INSERT INTO order_items VALUES(540,301,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(541,301,19,'2',23.0,23.0,1,1); -INSERT INTO order_items VALUES(542,301,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(543,301,77,'3',16.0,16.0,1,1); -INSERT INTO order_items VALUES(544,301,33,'1',15.0,15.0,1,0); -INSERT INTO order_items VALUES(545,301,95,'1',39.0,39.0,1,0); -INSERT INTO order_items VALUES(546,301,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(547,301,79,'1',33.0,33.0,1,0); -INSERT INTO order_items VALUES(548,301,76,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(549,302,41,'1',189.0,189.0,1,0); -INSERT INTO order_items VALUES(550,303,61,'1',99.0,99.0,1,0); -INSERT INTO order_items VALUES(551,303,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(552,304,9,'1',296.0,296.0,1,1); -INSERT INTO order_items VALUES(553,304,24,'1',198.0,198.0,1,1); -INSERT INTO order_items VALUES(554,305,73,'5',59.0,59.0,1,0); -INSERT INTO order_items VALUES(555,306,23,'2',125.0,125.0,1,1); -INSERT INTO order_items VALUES(556,306,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(557,306,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(558,307,73,'4',59.0,59.0,1,1); -INSERT INTO order_items VALUES(559,308,35,'1',429.0,429.0,1,0); -INSERT INTO order_items VALUES(560,309,40,'1',150.0,150.0,1,1); -INSERT INTO order_items VALUES(561,309,23,'1',149.0,149.0,1,1); -INSERT INTO order_items VALUES(562,309,19,'2',50.0,50.0,1,1); -INSERT INTO order_items VALUES(563,309,45,'3',19.0,19.0,1,1); -INSERT INTO order_items VALUES(564,309,29,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(565,309,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(566,309,76,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(567,309,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(568,309,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(569,309,27,'1',24.0,24.0,1,1); -INSERT INTO order_items VALUES(570,310,98,'1',419.0,419.0,1,0); -INSERT INTO order_items VALUES(571,311,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(572,311,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(573,311,56,'1',67.0,67.0,1,1); -INSERT INTO order_items VALUES(574,311,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(575,311,58,'1',59.0,59.0,1,1); -INSERT INTO order_items VALUES(576,311,100,'1',99.0,99.0,1,1); -INSERT INTO order_items VALUES(577,311,79,'1',33.0,33.0,1,1); -INSERT INTO order_items VALUES(578,312,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(579,312,58,'1',59.0,59.0,1,1); -INSERT INTO order_items VALUES(580,312,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(581,312,46,'1',109.0,109.0,1,1); -INSERT INTO order_items VALUES(582,312,100,'1',99.0,99.0,1,1); -INSERT INTO order_items VALUES(583,312,56,'1',67.0,67.0,1,1); -INSERT INTO order_items VALUES(584,312,8,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(585,313,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(586,313,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(587,314,40,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(588,315,76,'1',19.0,19.0,0,0); -INSERT INTO order_items VALUES(589,315,19,'1',23.0,23.0,0,0); -INSERT INTO order_items VALUES(590,315,48,'1',55.0,55.0,0,0); -INSERT INTO order_items VALUES(591,316,19,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(592,316,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(593,316,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(594,316,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(595,317,23,'1',149.0,149.0,0,0); -INSERT INTO order_items VALUES(596,318,14,'2',389.0,389.0,1,1); -INSERT INTO order_items VALUES(597,318,98,'2',419.0,419.0,1,1); -INSERT INTO order_items VALUES(598,319,11,'1',119.0,119.0,1,0); -INSERT INTO order_items VALUES(599,319,79,'2',33.0,33.0,1,0); -INSERT INTO order_items VALUES(600,320,38,'1',76.0,76.0,1,1); -INSERT INTO order_items VALUES(601,320,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(602,320,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(603,320,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(604,320,33,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(605,320,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(606,321,98,'1',419.0,419.0,0,0); -INSERT INTO order_items VALUES(607,322,35,'1',429.0,429.0,1,0); -INSERT INTO order_items VALUES(608,323,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(609,323,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(610,323,37,'1',139.0,139.0,1,1); -INSERT INTO order_items VALUES(611,323,76,'4',19.0,19.0,1,1); -INSERT INTO order_items VALUES(612,323,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(613,323,72,'1',14.0,14.0,1,1); -INSERT INTO order_items VALUES(614,323,92,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(615,323,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(616,323,97,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(617,323,24,'1',198.0,198.0,1,1); -INSERT INTO order_items VALUES(618,324,8,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(619,324,51,'1',169.0,169.0,1,0); -INSERT INTO order_items VALUES(620,324,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(621,324,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(622,324,100,'1',99.0,99.0,1,1); -INSERT INTO order_items VALUES(623,325,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(624,325,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(625,325,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(626,325,19,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(627,325,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(628,326,2,'1',198.0,198.0,1,1); -INSERT INTO order_items VALUES(629,326,23,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(630,327,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(631,327,38,'1',76.0,76.0,1,0); -INSERT INTO order_items VALUES(632,327,79,'2',33.0,33.0,1,0); -INSERT INTO order_items VALUES(633,328,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(634,329,13,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(635,329,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(636,329,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(637,329,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(638,329,50,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(639,330,72,'2',14.0,14.0,1,1); -INSERT INTO order_items VALUES(640,331,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(641,331,37,'1',139.0,139.0,1,0); -INSERT INTO order_items VALUES(642,332,38,'1',76.0,76.0,1,0); -INSERT INTO order_items VALUES(643,332,53,'1',239.0,239.0,1,1); -INSERT INTO order_items VALUES(644,333,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(645,333,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(646,333,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(647,333,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(648,333,19,'1',23.0,23.0,1,1); -INSERT INTO order_items VALUES(649,333,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(650,334,45,'2',19.0,19.0,1,1); -INSERT INTO order_items VALUES(651,334,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(652,334,94,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(653,334,33,'2',15.0,15.0,1,1); -INSERT INTO order_items VALUES(654,334,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(655,334,72,'2',14.0,14.0,1,1); -INSERT INTO order_items VALUES(656,334,19,'2',23.0,23.0,1,1); -INSERT INTO order_items VALUES(657,334,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(658,334,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(659,334,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(660,334,5,'1',26.0,26.0,1,0); -INSERT INTO order_items VALUES(661,334,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(662,334,13,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(663,335,59,'2',98.0,98.0,0,0); -INSERT INTO order_items VALUES(664,335,60,'2',78.0,78.0,0,0); -INSERT INTO order_items VALUES(665,335,8,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(666,336,8,'1',119.0,119.0,1,1); -INSERT INTO order_items VALUES(667,336,59,'1',98.0,98.0,1,1); -INSERT INTO order_items VALUES(668,336,60,'1',78.0,78.0,1,1); -INSERT INTO order_items VALUES(669,337,76,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(670,337,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(671,337,97,'1',19.0,19.0,1,0); -INSERT INTO order_items VALUES(672,338,23,'2',125.0,125.0,1,1); -INSERT INTO order_items VALUES(673,339,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(674,339,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(675,339,13,'1',69.0,69.0,1,1); -INSERT INTO order_items VALUES(676,340,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(677,340,7,'1',49.0,49.0,1,0); -INSERT INTO order_items VALUES(678,340,48,'1',55.0,55.0,1,1); -INSERT INTO order_items VALUES(679,340,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(680,341,23,'2',125.0,125.0,1,0); -INSERT INTO order_items VALUES(681,342,9,'1',296.0,296.0,1,0); -INSERT INTO order_items VALUES(682,342,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(683,342,19,'2',50.0,50.0,1,0); -INSERT INTO order_items VALUES(684,342,60,'1',78.0,78.0,1,0); -INSERT INTO order_items VALUES(685,342,48,'3',55.0,55.0,1,0); -INSERT INTO order_items VALUES(686,343,58,'1',59.0,59.0,1,0); -INSERT INTO order_items VALUES(687,343,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(688,344,40,'1',125.0,125.0,1,1); -INSERT INTO order_items VALUES(689,344,7,'1',49.0,49.0,1,1); -INSERT INTO order_items VALUES(690,345,7,'1',49.0,49.0,1,0); -INSERT INTO order_items VALUES(691,345,59,'1',98.0,98.0,1,0); -INSERT INTO order_items VALUES(692,345,44,'1',119.0,119.0,1,0); -INSERT INTO order_items VALUES(693,345,60,'1',78.0,78.0,1,0); -INSERT INTO order_items VALUES(694,345,48,'1',55.0,55.0,1,0); -INSERT INTO order_items VALUES(695,346,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(696,346,67,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(697,346,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(698,346,91,'1',39.0,39.0,1,1); -INSERT INTO order_items VALUES(699,346,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(700,346,97,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(701,346,74,'1',18.0,18.0,1,1); -INSERT INTO order_items VALUES(702,346,72,'1',14.0,14.0,1,1); -INSERT INTO order_items VALUES(703,347,69,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(704,347,5,'1',26.0,26.0,1,1); -INSERT INTO order_items VALUES(705,347,65,'1',28.0,28.0,1,1); -INSERT INTO order_items VALUES(706,347,71,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(707,347,31,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(708,347,29,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(709,347,76,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(710,347,45,'1',19.0,19.0,1,1); -INSERT INTO order_items VALUES(711,347,72,'1',14.0,14.0,1,1); -INSERT INTO order_items VALUES(712,347,32,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(713,347,33,'1',15.0,15.0,1,1); -INSERT INTO order_items VALUES(714,347,78,'1',29.0,29.0,1,1); -INSERT INTO order_items VALUES(715,348,35,'1',429.0,429.0,0,0); -INSERT INTO order_items VALUES(748,381,1,'1',99.0,99.0,0,0); -INSERT INTO order_items VALUES(749,381,9,'1',296.0,296.0,0,0); -INSERT INTO order_items VALUES(750,382,91,'1',39.0,39.0,0,0); -INSERT INTO order_items VALUES(751,382,25,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(752,382,31,'1',29.0,29.0,0,0); -INSERT INTO order_items VALUES(753,383,25,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(754,384,84,'1',119.0,119.0,0,0); -INSERT INTO order_items VALUES(755,384,36,'1',280.0,280.0,0,0); -INSERT INTO order_items VALUES(756,385,79,'2',39.0,39.0,0,0); -INSERT INTO order_items VALUES(757,385,23,'2',133.0,133.0,0,0); -INSERT INTO order_items VALUES(758,386,91,'1',39.0,39.0,0,0); -CREATE TABLE IF NOT EXISTS "order_status" ("id" INTEGER NOT NULL, "order_time" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "user_id" INTEGER NOT NULL, "order_id" INTEGER NOT NULL, "is_packaged" INTEGER NOT NULL DEFAULT false, "is_delivered" INTEGER NOT NULL DEFAULT false, "is_cancelled" INTEGER NOT NULL DEFAULT false, "cancel_reason" TEXT, "payment_state" TEXT NOT NULL DEFAULT 'pending', "cancellation_user_notes" TEXT, "cancellation_admin_notes" TEXT, "cancellation_reviewed" INTEGER NOT NULL DEFAULT false, "cancellation_reviewed_at" TEXT, "refund_coupon_id" INTEGER, "is_cancelled_by_admin" INTEGER); -INSERT INTO order_status VALUES(1,'2025-11-19T09:21:36.005Z',3,1,1,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(2,'2025-11-19T09:38:30.002Z',1,2,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(3,'2025-11-19T11:46:20.300Z',1,3,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(4,'2025-11-19T11:47:33.139Z',1,4,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(5,'2025-11-19T11:57:48.269Z',1,5,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(6,'2025-11-19T12:13:52.466Z',1,6,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(7,'2025-11-19T12:15:06.264Z',1,7,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(8,'2025-11-19T12:18:02.760Z',1,8,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(9,'2025-11-19T12:23:19.913Z',1,9,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(10,'2025-11-19T12:24:04.853Z',1,10,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(11,'2025-11-19T12:32:19.093Z',1,11,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(12,'2025-11-19T12:34:24.892Z',1,12,0,0,1,'Simply','success','Simply',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(13,'2025-11-19T12:36:42.741Z',1,13,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(14,'2025-11-19T12:39:28.501Z',1,14,0,0,1,'Simply','success','Simply',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(15,'2025-11-20T13:57:28.656Z',1,15,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(16,'2025-11-20T13:58:25.443Z',1,16,0,0,1,'Just for fun','pending','Just for fun',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(17,'2025-11-20T13:59:33.401Z',1,17,0,0,1,'Simply','pending','Simply',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(18,'2025-11-22T06:22:17.202Z',1,18,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(19,'2025-11-22T22:47:06.288Z',2,19,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(20,'2025-11-22T22:47:51.311Z',2,20,0,0,1,'Demo ','cod','Demo ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(21,'2025-11-23T06:17:57.049Z',1,21,1,1,1,'Having some fun','success','Having some fun',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(22,'2025-11-24T05:57:28.143Z',3,22,1,1,1,'On more need','cod','On more need',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(23,'2025-11-24T05:57:47.787Z',3,23,1,1,1,'No more need','success','No more need',NULL,1,'2025-11-24T06:07:29.145Z',NULL,NULL); -INSERT INTO order_status VALUES(24,'2025-11-25T00:59:10.926Z',2,24,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(25,'2025-11-25T05:22:32.946Z',1,25,0,0,1,'Will order again. ','success','Will order again. ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(26,'2025-11-27T06:03:25.875Z',1,26,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(27,'2025-11-28T05:42:30.513Z',1,27,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(28,'2025-11-28T08:13:28.023Z',1,28,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(29,'2025-11-28T13:35:07.141Z',1,29,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(30,'2025-11-28T22:21:06.630Z',1,30,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(31,'2025-11-28T22:24:57.085Z',1,31,0,0,1,'Not paid for','pending','Not paid for',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(32,'2025-11-28T22:34:41.736Z',1,32,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(33,'2025-11-28T22:36:50.767Z',1,33,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(34,'2025-11-28T22:52:17.319Z',1,34,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(35,'2025-11-28T22:58:18.465Z',1,35,0,0,1,'Payment failed','pending','Payment failed',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(36,'2025-11-28T23:08:27.789Z',1,36,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(37,'2025-11-28T23:09:42.893Z',1,37,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(38,'2025-11-28T23:11:19.776Z',1,38,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(39,'2025-11-28T23:17:00.716Z',1,39,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(40,'2025-11-28T23:17:55.763Z',1,40,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(41,'2025-11-28T23:22:23.472Z',1,41,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(42,'2025-11-28T23:23:26.081Z',1,42,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(43,'2025-11-28T23:31:53.995Z',1,43,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(44,'2025-11-28T23:33:25.999Z',1,44,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(45,'2025-11-28T23:35:17.386Z',1,45,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(46,'2025-11-28T23:42:33.188Z',1,46,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(47,'2025-11-29T00:35:31.578Z',1,47,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(48,'2025-11-29T00:47:37.657Z',1,48,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(49,'2025-11-29T00:51:57.402Z',1,49,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(50,'2025-11-29T01:06:18.087Z',1,50,0,0,1,'Testing cancellation functionality','success','Testing cancellation functionality',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(51,'2025-11-29T01:40:22.677Z',1,51,0,0,1,'Testingg','success','Testingg',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(52,'2025-11-29T01:51:02.498Z',1,52,0,0,1,'Testing','success','Testing',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(53,'2025-11-29T01:57:47.891Z',1,53,0,0,1,'Testing 3','success','Testing 3',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(54,'2025-11-29T03:01:07.992Z',1,54,1,1,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(55,'2025-12-04T23:32:41.242Z',2,55,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(56,'2025-12-10T10:02:38.859Z',4,56,0,0,0,NULL,'success',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(57,'2025-12-10T10:04:32.211Z',4,57,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(58,'2025-12-13T11:19:59.242Z',1,58,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(59,'2025-12-13T11:23:12.720Z',1,59,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(60,'2025-12-13T11:23:12.720Z',1,60,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(61,'2025-12-13T11:24:58.073Z',1,61,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(62,'2025-12-13T11:24:58.073Z',1,62,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(63,'2025-12-13T11:30:04.358Z',1,63,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(64,'2025-12-13T11:31:12.284Z',1,64,0,0,1,'just for fun','pending','just for fun',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(65,'2025-12-13T11:31:12.284Z',1,65,0,0,0,NULL,'pending',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(66,'2025-12-15T09:42:52.294Z',1,66,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(67,'2025-12-15T09:46:00.443Z',1,67,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(68,'2025-12-15T09:57:50.680Z',1,68,0,0,1,'funnn','cod','funnn',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(69,'2025-12-18T04:55:00.617Z',2,69,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(70,'2025-12-19T01:02:15.969Z',15,70,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(71,'2025-12-19T03:02:11.838Z',17,71,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(72,'2025-12-19T03:07:12.056Z',17,72,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(73,'2025-12-19T03:40:04.180Z',17,73,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(74,'2025-12-19T03:46:32.062Z',17,74,0,0,1,'Xdf','cod','Xdf',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(75,'2025-12-19T03:55:08.427Z',17,75,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(76,'2025-12-19T03:57:05.639Z',17,76,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(77,'2025-12-19T04:02:06.098Z',17,77,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(78,'2025-12-19T07:02:11.424Z',15,78,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(79,'2025-12-19T07:53:09.910Z',15,79,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(80,'2025-12-19T09:10:25.557Z',17,80,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(81,'2025-12-19T09:49:01.904Z',17,81,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(82,'2025-12-19T09:55:53.524Z',17,82,1,1,0,NULL,'cod',NULL,NULL,0,NULL,7,NULL); -INSERT INTO order_status VALUES(83,'2025-12-19T10:37:21.739Z',17,83,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(84,'2025-12-19T10:46:56.208Z',17,84,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(85,'2025-12-19T11:01:02.225Z',17,85,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(86,'2025-12-19T11:26:56.607Z',17,86,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(87,'2025-12-19T11:38:46.198Z',17,87,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(88,'2025-12-20T05:46:31.197Z',17,88,0,0,1,'Hh','cod','Hh',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(89,'2025-12-20T15:09:16.076Z',1,89,0,0,1,'Simply','cod','Simply',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(90,'2025-12-20T21:38:45.891Z',17,90,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(91,'2025-12-20T21:39:35.232Z',17,91,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(92,'2025-12-22T05:12:52.301Z',15,92,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(93,'2025-12-22T05:22:59.518Z',15,93,0,0,1,replace('Plz cancle this order \nIt''s mistake to order ','\n',char(10)),'cod',replace('Plz cancle this order \nIt''s mistake to order ','\n',char(10)),NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(94,'2025-12-22T08:12:49.911Z',15,94,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(95,'2025-12-22T08:40:14.765Z',15,95,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(96,'2025-12-22T09:05:51.054Z',20,96,0,0,1,'Sorry by mistake ordered ','cod','Sorry by mistake ordered ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(97,'2025-12-23T00:47:34.830Z',2,97,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(98,'2025-12-23T00:47:34.830Z',2,98,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(99,'2025-12-23T00:50:21.885Z',2,99,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(100,'2025-12-23T08:23:28.094Z',15,100,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(101,'2025-12-23T11:45:50.591Z',17,101,0,0,1,'Hh','cod','Hh',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(102,'2025-12-23T11:49:14.841Z',17,102,0,0,1,'Gg','cod','Gg',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(103,'2025-12-23T21:09:04.114Z',22,103,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(104,'2025-12-23T21:20:33.284Z',22,104,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(105,'2025-12-23T21:20:33.284Z',22,105,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(106,'2025-12-24T05:02:01.957Z',15,106,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(107,'2025-12-24T05:02:01.957Z',15,107,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(108,'2025-12-24T05:02:01.957Z',15,108,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(109,'2025-12-24T05:02:01.957Z',15,109,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(110,'2025-12-25T07:48:48.478Z',1,110,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(111,'2025-12-25T10:06:02.108Z',1,111,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(112,'2025-12-25T10:06:02.108Z',1,112,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(113,'2025-12-25T10:32:45.526Z',1,113,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(114,'2025-12-26T19:38:17.686Z',16,114,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(115,'2025-12-26T23:02:15.299Z',1,115,0,0,0,NULL,'cod',NULL,NULL,0,NULL,9,NULL); -INSERT INTO order_status VALUES(116,'2025-12-26T23:02:15.299Z',1,116,1,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(117,'2025-12-27T12:09:01.944Z',2,117,1,1,0,NULL,'cod',NULL,NULL,0,NULL,10,NULL); -INSERT INTO order_status VALUES(118,'2025-12-27T12:09:01.944Z',2,118,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(119,'2025-12-27T12:09:01.944Z',2,119,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(120,'2025-12-28T08:37:33.787Z',2,120,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(121,'2025-12-28T08:41:24.904Z',2,121,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(122,'2025-12-28T22:17:14.213Z',1,122,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(123,'2026-01-01T03:08:22.110Z',2,123,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(124,'2026-01-01T03:09:11.420Z',2,124,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(125,'2026-01-01T03:14:07.865Z',2,125,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(126,'2026-01-01T05:09:15.780Z',2,126,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(127,'2026-01-01T06:40:15.182Z',2,127,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(128,'2026-01-03T02:42:48.013Z',26,128,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(129,'2026-01-04T07:35:41.022Z',2,129,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(130,'2026-01-04T07:37:44.994Z',12,130,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(131,'2026-01-04T13:20:00.136Z',21,131,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(132,'2026-01-06T07:21:22.047Z',1,132,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(133,'2026-01-06T07:45:52.275Z',30,133,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(134,'2026-01-06T11:13:08.862Z',21,134,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(135,'2026-01-07T09:32:56.404Z',22,135,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(136,'2026-01-07T10:17:55.795Z',22,136,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(137,'2026-01-07T10:22:37.964Z',22,137,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(138,'2026-01-07T18:03:50.419Z',2,138,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(139,'2026-01-12T08:37:09.285Z',2,139,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(140,'2026-01-13T03:57:08.501Z',1,140,0,0,1,'Cancell','cod','Cancell',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(141,'2026-01-13T04:16:11.800Z',1,141,0,0,1,'Cancell','cod','Cancell',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(142,'2026-01-13T09:26:55.340Z',34,142,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(143,'2026-01-14T13:37:20.272Z',1,143,0,0,1,'Cancell','cod','Cancell',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(144,'2026-01-14T13:40:52.673Z',1,144,0,0,1,'Cancelll','cod','Cancelll',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(145,'2026-01-14T13:43:51.004Z',1,145,0,0,1,'Cabcell','cod','Cabcell',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(146,'2026-01-14T13:46:29.183Z',1,146,0,0,1,'Cancel','cod',NULL,'Cancel',1,'2026-01-28T00:39:48.321Z',NULL,1); -INSERT INTO order_status VALUES(147,'2026-01-14T13:48:47.459Z',1,147,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(148,'2026-01-14T14:18:23.106Z',1,148,0,0,1,'Area Not Serviced yet','cod',NULL,'Area Not Serviced yet',1,'2026-01-17T23:01:50.046Z',NULL,1); -INSERT INTO order_status VALUES(149,'2026-01-15T10:38:51.399Z',2,149,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(150,'2026-01-15T10:38:51.399Z',2,150,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(151,'2026-01-16T07:20:20.462Z',2,151,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(152,'2026-01-16T07:20:39.316Z',2,152,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(153,'2026-01-16T07:21:00.354Z',2,153,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(154,'2026-01-16T07:21:27.051Z',2,154,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(155,'2026-01-16T07:22:32.758Z',2,155,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(156,'2026-01-16T23:21:39.925Z',2,156,0,0,1,'Cancel ','cod',NULL,'Cancel ',1,'2026-01-27T22:30:19.302Z',NULL,1); -INSERT INTO order_status VALUES(157,'2026-01-18T00:56:50.633Z',22,157,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(158,'2026-01-18T03:02:03.729Z',2,158,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(159,'2026-01-18T09:53:08.648Z',22,159,0,0,1,'Reason for cancellation ','cod','Reason for cancellation ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(160,'2026-01-18T10:14:06.341Z',22,160,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(161,'2026-01-18T10:20:14.848Z',22,161,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(162,'2026-01-18T10:24:09.003Z',22,162,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(163,'2026-01-18T21:46:46.398Z',22,163,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(164,'2026-01-19T14:17:52.639Z',1,164,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(165,'2026-01-23T03:22:03.840Z',2,165,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(166,'2026-01-23T10:37:42.952Z',25,166,0,0,1,'I''ll order later','cod','I''ll order later',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(167,'2026-01-24T02:56:06.720Z',2,167,0,0,1,'Unnecessary order','cod',NULL,'Unnecessary order',1,'2026-01-27T22:26:35.510Z',NULL,1); -INSERT INTO order_status VALUES(168,'2026-01-24T14:56:52.645Z',1,168,0,0,1,'Cancel ','cod',NULL,'Cancel ',1,'2026-01-27T22:27:15.817Z',NULL,1); -INSERT INTO order_status VALUES(169,'2026-01-24T20:44:03.566Z',22,169,0,0,1,'Cancel ','cod',NULL,'Cancel ',1,'2026-01-27T22:27:32.422Z',NULL,1); -INSERT INTO order_status VALUES(170,'2026-01-25T23:35:31.364Z',29,170,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(171,'2026-01-27T06:44:08.218Z',64,171,0,0,1,'Unnecessary','cod',NULL,'Unnecessary',1,'2026-01-27T22:25:10.943Z',NULL,1); -INSERT INTO order_status VALUES(172,'2026-01-27T11:29:12.321Z',65,172,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(173,'2026-01-27T11:29:12.321Z',65,173,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(174,'2026-01-28T00:03:00.256Z',60,174,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(175,'2026-01-28T00:38:05.827Z',1,175,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(176,'2026-01-28T00:38:05.827Z',1,176,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(177,'2026-01-28T01:51:10.288Z',22,177,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(178,'2026-01-28T01:51:10.288Z',22,178,1,1,1,'Cancel ','cod',NULL,'Cancel ',1,'2026-01-28T10:02:31.195Z',NULL,1); -INSERT INTO order_status VALUES(179,'2026-01-28T10:40:36.187Z',58,179,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(180,'2026-01-29T22:42:25.446Z',38,180,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(181,'2026-01-30T00:31:02.610Z',1,181,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(182,'2026-01-30T00:46:59.261Z',38,182,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(183,'2026-01-30T01:42:25.118Z',1,183,0,0,1,'Not a serious order','cod',NULL,'Not a serious order',1,'2026-01-30T02:09:22.274Z',NULL,1); -INSERT INTO order_status VALUES(184,'2026-01-30T03:13:07.360Z',38,184,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(185,'2026-01-31T01:44:10.735Z',54,185,0,0,1,'No response from customer ','cod',NULL,'No response from customer ',1,'2026-01-31T07:36:00.972Z',NULL,1); -INSERT INTO order_status VALUES(186,'2026-01-31T01:44:48.105Z',54,186,0,0,1,'No response from customer','cod',NULL,'No response from customer',1,'2026-01-31T07:35:41.324Z',NULL,1); -INSERT INTO order_status VALUES(187,'2026-01-31T04:25:19.495Z',78,187,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(188,'2026-01-31T05:26:01.981Z',1,188,0,0,1,'Cancel','cod','Cancel',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(189,'2026-01-31T06:32:04.589Z',1,189,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(190,'2026-01-31T22:04:46.197Z',1,190,0,0,1,'Yes’s cancel','cod','Yes’s cancel',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(191,'2026-02-01T00:28:05.843Z',7,191,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(192,'2026-02-01T01:31:50.642Z',74,192,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(193,'2026-02-01T01:56:14.147Z',74,193,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(194,'2026-02-01T02:19:04.918Z',38,194,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(195,'2026-02-01T03:22:19.400Z',22,195,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(196,'2026-02-01T04:41:15.161Z',82,196,0,0,1,'Zdyt','cod','Zdyt',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(197,'2026-02-01T04:46:41.872Z',82,197,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(202,'2026-02-01T10:07:16.233Z',88,202,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(203,'2026-02-02T04:53:54.970Z',92,203,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(204,'2026-02-02T06:48:31.456Z',38,204,0,0,1,'Mistake ','cod','Mistake ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(205,'2026-02-02T06:50:24.727Z',38,205,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(206,'2026-02-02T08:27:54.149Z',7,206,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(207,'2026-02-02T09:01:16.193Z',1,207,0,0,1,'Will order Mutton','cod','Will order Mutton',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(208,'2026-02-02T12:53:25.021Z',1,208,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(209,'2026-02-02T22:40:01.666Z',38,209,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(210,'2026-02-03T00:26:45.500Z',98,210,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(211,'2026-02-03T00:28:30.230Z',98,211,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(212,'2026-02-03T03:11:48.475Z',24,212,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(213,'2026-02-03T07:33:13.302Z',46,213,0,0,1,'Yes','cod','Yes',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(214,'2026-02-03T08:40:49.538Z',38,214,0,0,1,'I want to change shedule ','cod','I want to change shedule ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(215,'2026-02-03T08:43:00.789Z',38,215,1,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(216,'2026-02-03T10:16:16.915Z',81,216,0,0,1,'No response from customer','cod',NULL,'No response from customer',1,'2026-02-03T23:34:45.350Z',NULL,1); -INSERT INTO order_status VALUES(217,'2026-02-04T01:36:25.133Z',96,217,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(218,'2026-02-04T02:41:07.508Z',81,218,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(219,'2026-02-04T07:47:53.067Z',1,219,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(220,'2026-02-05T03:15:53.554Z',103,220,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(221,'2026-02-05T04:00:30.739Z',24,221,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(222,'2026-02-06T05:49:57.315Z',114,222,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(223,'2026-02-06T06:21:43.659Z',1,223,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(224,'2026-02-06T06:25:36.038Z',71,224,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(225,'2026-02-06T08:53:10.229Z',1,225,0,0,1,'Testing cancel Telegram Notification ','cod',NULL,'Testing cancel Telegram Notification ',1,'2026-02-06T23:20:32.419Z',NULL,1); -INSERT INTO order_status VALUES(226,'2026-02-06T10:26:39.531Z',115,226,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(227,'2026-02-06T10:26:39.531Z',115,227,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(228,'2026-02-06T16:16:47.346Z',115,228,0,0,1,'Ordered by mistake','cod','Ordered by mistake',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(229,'2026-02-06T23:01:13.646Z',109,229,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(230,'2026-02-06T23:28:37.545Z',103,230,0,0,1,'Wrong address ','cod','Wrong address ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(231,'2026-02-06T23:36:55.424Z',103,231,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(232,'2026-02-07T07:06:17.096Z',119,232,0,0,1,'The order is still pending ','cod','The order is still pending ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(233,'2026-02-07T07:24:42.810Z',38,233,0,0,1,'Change shedule ','cod','Change shedule ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(234,'2026-02-07T07:25:52.698Z',38,234,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(235,'2026-02-07T23:11:07.297Z',120,235,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(236,'2026-02-07T23:43:00.160Z',98,236,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(237,'2026-02-07T23:58:12.863Z',38,237,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(238,'2026-02-08T00:48:23.089Z',121,238,0,0,1,'We buy','cod','We buy',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(239,'2026-02-08T00:55:15.154Z',121,239,0,0,1,'Sorry that is cost is more expensive then market price','cod','Sorry that is cost is more expensive then market price',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(240,'2026-02-08T04:28:56.405Z',121,240,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(241,'2026-02-08T04:29:20.307Z',121,241,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(242,'2026-02-08T04:29:55.364Z',121,242,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(243,'2026-02-08T04:30:37.777Z',121,243,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(244,'2026-02-08T04:32:20.374Z',121,244,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(245,'2026-02-08T04:33:59.746Z',121,245,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(246,'2026-02-08T05:09:24.720Z',12,246,0,0,1,'J','cod',NULL,'J',1,'2026-02-08T23:17:27.385Z',NULL,1); -INSERT INTO order_status VALUES(247,'2026-02-09T01:52:55.524Z',2,247,0,0,1,'Demo for correct location ','cod','Demo for correct location ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(248,'2026-02-09T07:56:42.048Z',125,248,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(249,'2026-02-10T06:04:04.471Z',3,249,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(250,'2026-02-10T21:59:33.763Z',2,250,0,0,1,'Demo','cod',NULL,'Demo',1,'2026-02-10T22:00:06.670Z',NULL,1); -INSERT INTO order_status VALUES(251,'2026-02-11T16:13:20.142Z',115,251,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(252,'2026-02-11T16:13:20.142Z',115,252,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(253,'2026-02-11T16:13:20.142Z',115,253,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(254,'2026-02-14T01:01:13.769Z',114,254,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(255,'2026-02-15T00:00:53.358Z',120,255,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(256,'2026-02-16T01:21:48.050Z',2,256,0,0,1,'Demo','cod',NULL,'Demo',1,'2026-02-16T01:22:51.309Z',NULL,1); -INSERT INTO order_status VALUES(257,'2026-02-16T04:14:55.522Z',134,257,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(258,'2026-02-16T04:22:00.592Z',134,258,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(259,'2026-02-17T00:44:27.971Z',120,259,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(260,'2026-02-17T07:16:27.421Z',1,260,0,0,1,'D','cod',NULL,'D',1,'2026-02-18T06:14:42.228Z',NULL,1); -INSERT INTO order_status VALUES(261,'2026-02-17T07:30:07.521Z',136,261,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(262,'2026-02-17T07:45:43.734Z',136,262,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(263,'2026-02-17T07:52:41.197Z',3,263,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(264,'2026-02-17T19:47:31.551Z',141,264,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(265,'2026-02-17T22:56:42.974Z',143,265,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(266,'2026-02-17T23:04:14.592Z',143,266,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(267,'2026-02-17T23:27:35.908Z',130,267,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(268,'2026-02-18T00:28:16.181Z',132,268,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(269,'2026-02-18T01:34:08.441Z',119,269,0,0,1,'No response from customer','cod',NULL,'No response from customer',1,'2026-02-18T04:17:30.092Z',NULL,1); -INSERT INTO order_status VALUES(270,'2026-02-18T02:04:32.495Z',119,270,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(271,'2026-02-18T03:46:31.297Z',145,271,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(272,'2026-02-18T05:15:38.160Z',138,272,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(273,'2026-02-18T05:15:38.161Z',138,273,0,0,1,'Cancel order ','cod','Cancel order ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(274,'2026-02-18T05:15:59.580Z',147,274,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(275,'2026-02-18T06:53:25.416Z',24,275,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(276,'2026-02-18T07:16:24.911Z',82,276,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(277,'2026-02-18T07:31:33.186Z',148,277,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(278,'2026-02-18T23:12:20.428Z',38,278,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(279,'2026-02-19T00:00:57.733Z',156,279,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(280,'2026-02-19T01:04:09.663Z',99,280,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(281,'2026-02-19T01:57:57.613Z',82,281,0,0,1,'Its late','cod','Its late',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(282,'2026-02-19T01:59:43.093Z',82,282,0,0,1,'Its late','cod','Its late',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(283,'2026-02-19T02:16:07.844Z',66,283,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(284,'2026-02-19T03:09:55.456Z',120,284,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(285,'2026-02-19T03:40:51.549Z',159,285,0,0,1,'So late and slow service ','cod','So late and slow service ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(286,'2026-02-19T03:49:55.745Z',160,286,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(287,'2026-02-19T03:54:05.397Z',64,287,0,0,1,'N','cod',NULL,'N',1,'2026-02-19T04:40:17.239Z',NULL,1); -INSERT INTO order_status VALUES(288,'2026-02-19T03:54:05.397Z',64,288,0,0,1,'D','cod',NULL,'D',1,'2026-02-19T04:37:45.087Z',NULL,1); -INSERT INTO order_status VALUES(289,'2026-02-19T04:00:41.001Z',160,289,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(290,'2026-02-19T04:09:35.859Z',151,290,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(291,'2026-02-19T04:16:50.189Z',4,291,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(292,'2026-02-19T05:08:36.439Z',162,292,0,0,1,'No response from customer ','cod',NULL,'No response from customer ',1,'2026-02-19T07:22:49.182Z',NULL,1); -INSERT INTO order_status VALUES(293,'2026-02-19T05:08:36.736Z',162,293,0,0,1,'No response from customer ','cod',NULL,'No response from customer ',1,'2026-02-19T07:22:21.525Z',NULL,1); -INSERT INTO order_status VALUES(294,'2026-02-19T06:14:11.047Z',32,294,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(295,'2026-02-19T06:49:34.891Z',163,295,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(296,'2026-02-19T12:38:24.984Z',38,296,0,0,1,'I don''t walt this because I will buy on Sunday ','cod','I don''t walt this because I will buy on Sunday ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(297,'2026-02-19T15:48:55.517Z',82,297,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(298,'2026-02-20T01:39:04.912Z',66,298,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(299,'2026-02-20T02:41:56.608Z',66,299,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(300,'2026-02-20T03:24:43.556Z',140,300,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(301,'2026-02-20T03:37:43.245Z',169,301,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(302,'2026-02-20T03:59:51.171Z',170,302,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(303,'2026-02-20T04:04:04.909Z',170,303,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(304,'2026-02-20T04:47:12.538Z',132,304,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(305,'2026-02-20T06:02:01.579Z',176,305,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(306,'2026-02-20T06:41:12.043Z',99,306,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(307,'2026-02-20T07:21:21.906Z',163,307,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(308,'2026-02-20T07:41:37.350Z',74,308,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(309,'2026-02-20T09:08:15.335Z',115,309,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(310,'2026-02-20T13:06:33.249Z',38,310,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(311,'2026-02-20T22:50:10.927Z',184,311,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(312,'2026-02-21T03:19:33.169Z',81,312,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(313,'2026-02-21T03:33:25.012Z',24,313,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(314,'2026-02-21T03:45:19.764Z',186,314,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(315,'2026-02-21T04:36:43.124Z',160,315,0,0,1,'Double order','cod',NULL,'Double order',1,'2026-02-21T04:45:00.817Z',NULL,1); -INSERT INTO order_status VALUES(316,'2026-02-21T04:40:27.736Z',160,316,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(317,'2026-02-21T06:23:19.310Z',32,317,0,0,1,'I want to change my order','cod','I want to change my order',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(318,'2026-02-21T12:32:34.307Z',7,318,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(319,'2026-02-21T19:42:40.619Z',141,319,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(320,'2026-02-21T19:42:40.619Z',141,320,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(321,'2026-02-21T22:34:37.439Z',120,321,0,0,1,replace('Kheema\n','\n',char(10)),'cod',replace('Kheema\n','\n',char(10)),NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(322,'2026-02-21T22:53:17.760Z',193,322,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(323,'2026-02-21T23:09:55.795Z',132,323,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(324,'2026-02-21T23:38:18.540Z',130,324,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(325,'2026-02-22T00:16:21.567Z',194,325,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(326,'2026-02-22T01:08:52.833Z',198,326,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(327,'2026-02-22T01:13:15.958Z',184,327,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(328,'2026-02-22T01:13:15.958Z',184,328,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(329,'2026-02-22T03:46:06.235Z',205,329,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(330,'2026-02-22T04:21:41.707Z',206,330,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(331,'2026-02-22T04:39:37.484Z',208,331,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(332,'2026-02-22T14:05:39.863Z',50,332,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(333,'2026-02-23T03:21:16.555Z',151,333,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(334,'2026-02-23T03:47:30.738Z',223,334,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(335,'2026-02-23T04:40:46.728Z',224,335,0,0,1,'By mistake ','cod','By mistake ',NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(336,'2026-02-23T04:44:00.644Z',224,336,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(337,'2026-02-23T04:45:56.017Z',224,337,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(338,'2026-02-23T05:51:07.943Z',38,338,0,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(339,'2026-02-23T06:46:04.203Z',225,339,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(340,'2026-02-23T22:40:33.438Z',228,340,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(341,'2026-02-24T01:44:30.406Z',230,341,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(342,'2026-02-24T01:46:05.872Z',229,342,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(343,'2026-02-24T02:52:22.431Z',224,343,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(344,'2026-02-24T04:15:41.683Z',158,344,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(345,'2026-02-24T05:47:59.572Z',3,345,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(346,'2026-02-24T07:17:54.419Z',149,346,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(347,'2026-02-24T12:55:21.432Z',50,347,1,1,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(348,'2026-02-25T02:47:44.024Z',132,348,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(381,'2026-02-26T11:24:06.998Z',1,381,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(382,'2026-02-26T11:30:33.419Z',1,382,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(383,'2026-02-26T11:34:03.543Z',1,383,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(384,'2026-02-26T11:36:20.560Z',1,384,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(385,'2026-03-09T10:16:59.219Z',1,385,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -INSERT INTO order_status VALUES(386,'2026-03-26T01:19:29.108Z',1,386,0,0,0,NULL,'cod',NULL,NULL,0,NULL,NULL,NULL); -CREATE TABLE IF NOT EXISTS "orders" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "address_id" INTEGER NOT NULL, "slot_id" INTEGER, "total_amount" REAL NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_cod" INTEGER NOT NULL DEFAULT false, "is_online_payment" INTEGER NOT NULL DEFAULT false, "payment_info_id" INTEGER, "readable_id" INTEGER NOT NULL, "admin_notes" TEXT, "user_notes" TEXT, "delivery_charge" REAL NOT NULL DEFAULT '0', "order_group_id" TEXT, "order_group_proportion" REAL, "is_flash_delivery" INTEGER NOT NULL DEFAULT false); -INSERT INTO orders VALUES(1,3,1,1,44.0,'2025-11-19T09:21:36.005Z',0,1,1,1,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(2,1,17,1,220.0,'2025-11-19T09:38:30.002Z',0,1,2,2,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(3,1,17,1,220.0,'2025-11-19T11:46:20.300Z',0,1,3,3,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(4,1,17,1,430.0,'2025-11-19T11:47:33.139Z',0,1,4,4,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(5,1,17,1,700.0,'2025-11-19T11:57:48.269Z',0,1,5,5,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(6,1,17,1,22.0,'2025-11-19T12:13:52.466Z',0,1,6,6,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(7,1,17,1,22.0,'2025-11-19T12:15:06.264Z',0,1,7,7,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(8,1,17,1,22.0,'2025-11-19T12:18:02.760Z',0,1,8,8,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(9,1,17,1,500.0,'2025-11-19T12:23:19.913Z',0,1,9,9,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(10,1,17,1,500.0,'2025-11-19T12:24:04.853Z',1,0,NULL,10,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(11,1,17,1,44.0,'2025-11-19T12:32:19.093Z',0,1,10,11,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(12,1,19,1,220.0,'2025-11-19T12:34:24.892Z',0,1,11,12,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(13,1,17,1,22.0,'2025-11-19T12:36:42.741Z',0,1,12,13,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(14,1,19,1,210.0,'2025-11-19T12:39:28.501Z',0,1,13,14,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(15,1,19,1,700.0,'2025-11-20T13:57:28.656Z',0,1,14,15,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(16,1,17,1,700.0,'2025-11-20T13:58:25.443Z',0,1,15,16,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(17,1,17,1,210.0,'2025-11-20T13:59:33.401Z',0,1,16,17,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(18,1,17,2,840.0,'2025-11-22T06:22:17.202Z',1,0,NULL,18,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(19,2,20,3,530.0,'2025-11-22T22:47:06.288Z',0,1,17,19,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(20,2,20,3,530.0,'2025-11-22T22:47:51.311Z',1,0,NULL,20,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(21,1,17,2,722.0,'2025-11-23T06:17:57.049Z',0,1,18,21,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(22,3,1,2,220.0,'2025-11-24T05:57:28.143Z',1,0,NULL,22,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(23,3,1,2,220.0,'2025-11-24T05:57:47.787Z',0,1,19,23,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(24,2,20,2,600.0,'2025-11-25T00:59:10.926Z',1,0,NULL,24,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(25,1,17,2,4560.0,'2025-11-25T05:22:32.946Z',0,1,20,25,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(26,1,19,4,9702.3999999999990251,'2025-11-27T06:03:25.875Z',0,1,21,26,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(27,1,19,4,9360.0,'2025-11-28T05:42:30.513Z',1,0,NULL,27,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(28,1,17,4,185.59999999999998721,'2025-11-28T08:13:28.023Z',1,0,NULL,28,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(29,1,17,2,700.0,'2025-11-28T13:35:07.141Z',1,0,NULL,29,NULL,'Fresh and no wastage ',0.0,NULL,NULL,0); -INSERT INTO orders VALUES(30,1,19,4,1870.0,'2025-11-28T22:21:06.630Z',0,1,22,30,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(31,1,19,4,1870.0,'2025-11-28T22:24:57.085Z',0,1,23,31,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(32,1,19,4,1496.0,'2025-11-28T22:34:41.736Z',0,1,24,32,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(33,1,19,4,560.0,'2025-11-28T22:36:50.767Z',0,1,25,33,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(34,1,19,4,1496.0,'2025-11-28T22:52:17.319Z',1,0,NULL,34,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(35,1,19,4,1120.0,'2025-11-28T22:58:18.465Z',0,1,26,35,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(36,1,19,4,2310.0,'2025-11-28T23:08:27.789Z',1,0,NULL,36,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(37,1,19,4,2310.0,'2025-11-28T23:09:42.893Z',0,1,27,37,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(38,1,19,4,1620.0,'2025-11-28T23:11:19.776Z',0,1,28,38,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(39,1,19,4,1320.0,'2025-11-28T23:17:00.716Z',1,0,NULL,39,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(40,1,19,4,1320.0,'2025-11-28T23:17:55.763Z',0,1,29,40,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(41,1,19,4,1320.0,'2025-11-28T23:22:23.472Z',0,1,30,41,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(42,1,19,4,376.0,'2025-11-28T23:23:26.081Z',0,1,31,42,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(43,1,19,4,1464.0,'2025-11-28T23:31:53.995Z',0,1,32,43,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(44,1,19,4,1464.0,'2025-11-28T23:33:25.999Z',0,1,33,44,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(45,1,19,4,1496.0,'2025-11-28T23:35:17.386Z',0,1,34,45,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(46,1,19,4,6904.0,'2025-11-28T23:42:33.188Z',0,1,35,46,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(47,1,19,4,752.0,'2025-11-29T00:35:31.578Z',0,1,36,47,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(48,1,19,4,1122.0,'2025-11-29T00:47:37.657Z',0,1,37,48,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(49,1,19,4,3156.0,'2025-11-29T00:51:57.402Z',0,1,38,49,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(50,1,19,4,4686.0,'2025-11-29T01:06:18.087Z',0,1,39,50,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(51,1,17,4,250.0,'2025-11-29T01:40:22.677Z',0,1,40,51,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(52,1,17,4,250.0,'2025-11-29T01:51:02.498Z',0,1,41,52,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(53,1,17,4,400.0,'2025-11-29T01:57:47.891Z',0,1,42,53,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(54,1,19,4,2850.0,'2025-11-29T03:01:07.992Z',0,1,43,54,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(55,2,20,5,1710.0,'2025-12-04T23:32:41.242Z',1,0,NULL,55,NULL,'Good packaging',0.0,NULL,NULL,0); -INSERT INTO orders VALUES(56,4,21,6,64.0,'2025-12-10T10:02:38.859Z',0,1,44,56,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(57,4,22,6,72.0,'2025-12-10T10:04:32.211Z',0,1,45,57,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(58,1,19,7,6900.0,'2025-12-13T11:19:59.242Z',1,0,NULL,58,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(59,1,19,7,210.0,'2025-12-13T11:23:12.720Z',1,0,NULL,60,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(60,1,19,9,350.0,'2025-12-13T11:23:12.720Z',1,0,NULL,61,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(61,1,19,7,210.0,'2025-12-13T11:24:58.073Z',1,0,NULL,63,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(62,1,19,9,700.0,'2025-12-13T11:24:58.073Z',1,0,NULL,64,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(63,1,19,7,1120.0,'2025-12-13T11:30:04.358Z',0,1,46,66,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(64,1,19,7,420.0,'2025-12-13T11:31:12.284Z',0,1,47,68,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(65,1,19,9,700.0,'2025-12-13T11:31:12.284Z',0,1,47,69,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(66,1,17,9,560.0,'2025-12-15T09:42:52.294Z',1,0,NULL,71,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(67,1,17,8,660.0,'2025-12-15T09:46:00.443Z',1,0,NULL,73,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(68,1,17,9,660.0,'2025-12-15T09:57:50.680Z',1,0,NULL,75,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(69,2,20,8,1400.0,'2025-12-18T04:55:00.617Z',1,0,NULL,77,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(70,15,25,8,50.0,'2025-12-19T01:02:15.969Z',1,0,NULL,79,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(71,17,26,8,1642.0,'2025-12-19T03:02:11.838Z',1,0,NULL,81,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(72,17,26,8,50.0,'2025-12-19T03:07:12.056Z',1,0,NULL,83,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(73,17,26,8,216.0,'2025-12-19T03:40:04.180Z',1,0,NULL,85,NULL,'Hello',0.0,NULL,NULL,0); -INSERT INTO orders VALUES(74,17,28,8,1500.0,'2025-12-19T03:46:32.062Z',1,0,NULL,87,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(75,17,28,8,21000.0,'2025-12-19T03:55:08.427Z',1,0,NULL,89,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(76,17,28,8,250.0,'2025-12-19T03:57:05.639Z',1,0,NULL,91,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(77,17,28,8,22.0,'2025-12-19T04:02:06.098Z',1,0,NULL,93,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(78,15,25,8,1400.0,'2025-12-19T07:02:11.424Z',1,0,NULL,95,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(79,15,24,12,300.0,'2025-12-19T07:53:09.910Z',1,0,NULL,97,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(80,17,28,8,1400.0,'2025-12-19T09:10:25.557Z',1,0,NULL,99,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(81,17,28,8,72.0,'2025-12-19T09:49:01.904Z',1,0,NULL,101,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(82,17,28,13,22.0,'2025-12-19T09:55:53.524Z',1,0,NULL,103,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(83,17,26,8,72.0,'2025-12-19T10:37:21.739Z',1,0,NULL,105,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(84,17,26,8,72.0,'2025-12-19T10:46:56.208Z',1,0,NULL,107,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(85,17,26,8,50.0,'2025-12-19T11:01:02.225Z',1,0,NULL,109,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(86,17,26,9,120.0,'2025-12-19T11:26:56.607Z',1,0,NULL,111,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(87,17,26,8,72.0,'2025-12-19T11:38:46.198Z',1,0,NULL,113,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(88,17,26,8,22.0,'2025-12-20T05:46:31.197Z',1,0,NULL,115,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(89,1,17,8,2940.0,'2025-12-20T15:09:16.076Z',1,0,NULL,117,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(90,17,26,8,64.0,'2025-12-20T21:38:45.891Z',1,0,NULL,119,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(91,17,26,10,60.0,'2025-12-20T21:39:35.232Z',1,0,NULL,121,NULL,'Fff',20.0,NULL,NULL,0); -INSERT INTO orders VALUES(92,15,25,8,42.0,'2025-12-22T05:12:52.301Z',1,0,NULL,123,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(93,15,25,12,220.0,'2025-12-22T05:22:59.518Z',1,0,NULL,125,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(94,15,25,17,140.0,'2025-12-22T08:12:49.911Z',1,0,NULL,127,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(95,15,25,8,152.0,'2025-12-22T08:40:14.765Z',1,0,NULL,129,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(96,20,30,8,70.0,'2025-12-22T09:05:51.054Z',1,0,NULL,131,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(97,2,20,10,220.0,'2025-12-23T00:47:34.830Z',1,0,NULL,133,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(98,2,20,8,44.0,'2025-12-23T00:47:34.830Z',1,0,NULL,134,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(99,2,20,8,1400.0,'2025-12-23T00:50:21.885Z',1,0,NULL,136,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(100,15,24,16,1000.0,'2025-12-23T08:23:28.094Z',1,0,NULL,138,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(101,17,26,8,42.0,'2025-12-23T11:45:50.591Z',1,0,NULL,140,NULL,'Hello',20.0,NULL,NULL,0); -INSERT INTO orders VALUES(102,17,26,8,92.0,'2025-12-23T11:49:14.841Z',1,0,NULL,142,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(103,22,31,16,120.0,'2025-12-23T21:09:04.114Z',1,0,NULL,144,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(104,22,31,8,2736.0,'2025-12-23T21:20:33.284Z',1,0,NULL,146,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(105,22,31,9,7700.0,'2025-12-23T21:20:33.284Z',1,0,NULL,147,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(106,15,24,8,92.0,'2025-12-24T05:02:01.957Z',1,0,NULL,149,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(107,15,24,17,140.0,'2025-12-24T05:02:01.957Z',1,0,NULL,150,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(108,15,24,10,100.0,'2025-12-24T05:02:01.957Z',1,0,NULL,151,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(109,15,24,16,120.0,'2025-12-24T05:02:01.957Z',1,0,NULL,152,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(110,1,17,16,64.0,'2025-12-25T07:48:48.478Z',1,0,NULL,154,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(111,1,17,16,444.0,'2025-12-25T10:06:02.108Z',1,0,NULL,156,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(112,1,17,18,20.0,'2025-12-25T10:06:02.108Z',1,0,NULL,157,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(113,1,17,16,350.0,'2025-12-25T10:32:45.526Z',1,0,NULL,159,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(114,16,32,16,92.0,'2025-12-26T19:38:17.686Z',1,0,NULL,161,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(115,1,17,16,236.0,'2025-12-26T23:02:15.299Z',1,0,NULL,163,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(116,1,17,18,560.0,'2025-12-26T23:02:15.299Z',1,0,NULL,164,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(117,2,20,16,128.41999999999997861,'2025-12-27T12:09:01.944Z',1,0,NULL,166,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(118,2,20,18,112.15999999999999303,'2025-12-27T12:09:01.944Z',1,0,NULL,167,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(119,2,20,17,65.419999999999998152,'2025-12-27T12:09:01.944Z',1,0,NULL,168,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(120,2,20,19,590.0,'2025-12-28T08:37:33.787Z',1,0,NULL,170,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(121,2,20,19,420.0,'2025-12-28T08:41:24.904Z',1,0,NULL,172,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(122,1,17,16,1614.0,'2025-12-28T22:17:14.213Z',1,0,NULL,174,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(123,2,20,20,485.0,'2026-01-01T03:08:22.110Z',1,0,NULL,176,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(124,2,20,20,230.0,'2026-01-01T03:09:11.420Z',1,0,NULL,178,NULL,NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(125,2,20,21,551.58000000000004803,'2026-01-01T03:14:07.865Z',1,0,NULL,180,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(126,2,20,20,252.0,'2026-01-01T05:09:15.780Z',1,0,NULL,182,'Beside RR downtown in Yenugonda. around 1km away from the main road. ',NULL,20.0,NULL,NULL,0); -INSERT INTO orders VALUES(127,2,20,20,1130.0,'2026-01-01T06:40:15.182Z',1,0,NULL,184,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(128,26,34,20,420.0,'2026-01-03T02:42:48.013Z',1,0,NULL,186,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(129,2,20,20,1390.0,'2026-01-04T07:35:41.022Z',1,0,NULL,188,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(130,12,33,20,230.0,'2026-01-04T07:37:44.994Z',1,0,NULL,190,NULL,'Beside alo tower',20.0,NULL,NULL,0); -INSERT INTO orders VALUES(131,21,35,20,340.0,'2026-01-04T13:20:00.136Z',1,0,NULL,192,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(132,1,17,22,2790.0,'2026-01-06T07:21:22.047Z',1,0,NULL,194,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(133,30,36,22,780.0,'2026-01-06T07:45:52.275Z',1,0,NULL,196,NULL,NULL,0.0,NULL,NULL,0); -INSERT INTO orders VALUES(134,21,35,22,2644.0,'2026-01-06T11:13:08.862Z',1,0,NULL,198,NULL,NULL,0.0,'1767717788828-21',1.0,0); -INSERT INTO orders VALUES(135,22,31,22,1700.0,'2026-01-07T09:32:56.404Z',1,0,NULL,200,NULL,NULL,0.0,'1767798176399-22',1.0,0); -INSERT INTO orders VALUES(136,22,31,22,1020.0,'2026-01-07T10:17:55.795Z',1,0,NULL,202,NULL,NULL,0.0,'1767800875792-22',1.0,0); -INSERT INTO orders VALUES(137,22,31,22,600.0,'2026-01-07T10:22:37.964Z',1,0,NULL,204,NULL,replace('Please call to my brother after reaching home.\nNumber is abcd8688y777','\n',char(10)),0.0,'1767801157960-22',1.0,0); -INSERT INTO orders VALUES(138,2,20,22,660.0,'2026-01-07T18:03:50.419Z',1,0,NULL,206,NULL,NULL,0.0,'1767828830413-2',1.0,0); -INSERT INTO orders VALUES(139,2,20,23,780.0,'2026-01-12T08:37:09.285Z',1,0,NULL,208,NULL,NULL,0.0,'1768226829276-2',1.0,0); -INSERT INTO orders VALUES(140,1,17,NULL,660.0,'2026-01-13T03:57:08.501Z',1,0,NULL,210,NULL,NULL,0.0,'1768296428205-1',1.0,1); -INSERT INTO orders VALUES(141,1,17,NULL,660.0,'2026-01-13T04:16:11.800Z',1,0,NULL,212,NULL,NULL,0.0,'1768297571530-1',1.0,1); -INSERT INTO orders VALUES(142,34,38,23,24.0,'2026-01-13T09:26:55.340Z',1,0,NULL,214,NULL,NULL,20.0,'1768316215336-34',1.0,0); -INSERT INTO orders VALUES(143,1,17,NULL,780.0,'2026-01-14T13:37:20.272Z',1,0,NULL,1,NULL,NULL,0.0,'1768417639897-1',1.0,1); -INSERT INTO orders VALUES(144,1,17,NULL,780.0,'2026-01-14T13:40:52.673Z',1,0,NULL,3,NULL,NULL,0.0,'1768417852308-1',1.0,1); -INSERT INTO orders VALUES(145,1,17,NULL,900.0,'2026-01-14T13:43:51.004Z',1,0,NULL,5,NULL,NULL,0.0,'1768418030542-1',1.0,1); -INSERT INTO orders VALUES(146,1,17,NULL,900.0,'2026-01-14T13:46:29.183Z',1,0,NULL,7,NULL,NULL,0.0,'1768418188748-1',1.0,1); -INSERT INTO orders VALUES(147,1,17,NULL,1020.0,'2026-01-14T13:48:47.459Z',1,0,NULL,9,NULL,NULL,0.0,'1768418327051-1',1.0,1); -INSERT INTO orders VALUES(148,1,17,23,2398.0,'2026-01-14T14:18:23.106Z',1,0,NULL,11,NULL,NULL,0.0,'1768420102803-1',1.0,0); -INSERT INTO orders VALUES(149,2,20,23,258.46000000000000085,'2026-01-15T10:38:51.399Z',1,0,NULL,13,NULL,NULL,0.0,'1768493331389-2',0.43079999999999998294,0); -INSERT INTO orders VALUES(150,2,20,31,341.53999999999999914,'2026-01-15T10:38:51.399Z',1,0,NULL,14,NULL,NULL,0.0,'1768493331389-2',0.56920000000000001705,0); -INSERT INTO orders VALUES(151,2,20,23,590.0,'2026-01-16T07:20:20.462Z',1,0,NULL,16,NULL,NULL,0.0,'1768567820452-2',1.0,0); -INSERT INTO orders VALUES(152,2,20,23,689.0,'2026-01-16T07:20:39.316Z',1,0,NULL,18,NULL,NULL,0.0,'1768567839309-2',1.0,0); -INSERT INTO orders VALUES(153,2,20,23,630.0,'2026-01-16T07:21:00.354Z',1,0,NULL,20,NULL,NULL,0.0,'1768567860348-2',1.0,0); -INSERT INTO orders VALUES(154,2,20,23,500.0,'2026-01-16T07:21:27.051Z',1,0,NULL,22,NULL,NULL,0.0,'1768567887044-2',1.0,0); -INSERT INTO orders VALUES(155,2,20,23,689.0,'2026-01-16T07:22:32.758Z',1,0,NULL,24,NULL,NULL,0.0,'1768567952750-2',1.0,0); -INSERT INTO orders VALUES(156,2,20,NULL,500.0,'2026-01-16T23:21:39.925Z',1,0,NULL,26,NULL,NULL,0.0,'1768625499917-2',1.0,1); -INSERT INTO orders VALUES(157,22,31,23,75.0,'2026-01-18T00:56:50.633Z',1,0,NULL,28,NULL,NULL,20.0,'1768717610629-22',1.0,0); -INSERT INTO orders VALUES(158,2,20,23,1534.0,'2026-01-18T03:02:03.729Z',1,0,NULL,30,NULL,NULL,0.0,'1768725123718-2',1.0,0); -INSERT INTO orders VALUES(159,22,37,23,1232.0,'2026-01-18T09:53:08.648Z',1,0,NULL,32,'Nothing just getting',NULL,0.0,'1768749788638-22',1.0,0); -INSERT INTO orders VALUES(160,22,31,23,132.0,'2026-01-18T10:14:06.341Z',1,0,NULL,34,'Testing admin notes','Call on 9199osisbushn',20.0,'1768751046336-22',1.0,0); -INSERT INTO orders VALUES(161,22,31,23,308.0,'2026-01-18T10:20:14.848Z',1,0,NULL,36,NULL,NULL,0.0,'1768751414843-22',1.0,0); -INSERT INTO orders VALUES(162,22,40,23,176.0,'2026-01-18T10:24:09.003Z',1,0,NULL,38,NULL,replace('Instructions no limit max limit low limit ui ux \nInstructions no limit max limit low limit ui ux \n\nInstructions no limit max limit low limit ui ux ','\n',char(10)),20.0,'1768751648997-22',1.0,0); -INSERT INTO orders VALUES(163,22,37,23,1743.0,'2026-01-18T21:46:46.398Z',1,0,NULL,40,NULL,NULL,0.0,'1768792606394-22',1.0,0); -INSERT INTO orders VALUES(164,1,17,23,304.0,'2026-01-19T14:17:52.639Z',1,0,NULL,42,NULL,NULL,0.0,'1768852072633-1',1.0,0); -INSERT INTO orders VALUES(165,2,20,40,820.0,'2026-01-23T03:22:03.840Z',1,0,NULL,44,NULL,NULL,0.0,'1769158323836-2',1.0,0); -INSERT INTO orders VALUES(166,25,43,35,49.0,'2026-01-23T10:37:42.952Z',1,0,NULL,46,NULL,NULL,20.0,'1769184462944-25',1.0,0); -INSERT INTO orders VALUES(167,2,20,39,643.0,'2026-01-24T02:56:06.720Z',1,0,NULL,48,NULL,NULL,0.0,'1769243166713-2',1.0,0); -INSERT INTO orders VALUES(168,1,17,39,2612.0,'2026-01-24T14:56:52.645Z',1,0,NULL,50,NULL,NULL,0.0,'1769286412630-1',1.0,0); -INSERT INTO orders VALUES(169,22,40,39,87.0,'2026-01-24T20:44:03.566Z',1,0,NULL,52,NULL,NULL,20.0,'1769307243555-22',1.0,0); -INSERT INTO orders VALUES(170,29,51,45,146.0,'2026-01-25T23:35:31.364Z',1,0,NULL,54,NULL,NULL,20.0,'1769403931353-29',1.0,0); -INSERT INTO orders VALUES(171,64,55,39,429.0,'2026-01-27T06:44:08.218Z',1,0,NULL,56,NULL,NULL,0.0,'1769516048207-64',1.0,0); -INSERT INTO orders VALUES(172,65,56,50,81.0,'2026-01-27T11:29:12.321Z',1,0,NULL,58,NULL,NULL,20.0,'1769533152305-65',0.64800000000000004263,0); -INSERT INTO orders VALUES(173,65,56,51,44.0,'2026-01-27T11:29:12.321Z',1,0,NULL,59,NULL,NULL,0.0,'1769533152305-65',0.35199999999999995736,0); -INSERT INTO orders VALUES(174,60,54,53,178.0,'2026-01-28T00:03:00.256Z',1,0,NULL,61,NULL,NULL,20.0,'1769578380246-60',1.0,0); -INSERT INTO orders VALUES(175,1,17,54,27.0,'2026-01-28T00:38:05.827Z',1,0,NULL,63,NULL,NULL,20.0,'1769580485819-1',0.1125,0); -INSERT INTO orders VALUES(176,1,17,53,213.0,'2026-01-28T00:38:05.827Z',1,0,NULL,64,NULL,NULL,0.0,'1769580485819-1',0.8875,0); -INSERT INTO orders VALUES(177,22,40,54,158.0,'2026-01-28T01:51:10.288Z',1,0,NULL,66,NULL,NULL,20.0,'1769584870283-22',0.76330000000000000071,0); -INSERT INTO orders VALUES(178,22,40,39,49.0,'2026-01-28T01:51:10.288Z',1,0,NULL,67,NULL,NULL,0.0,'1769584870283-22',0.23669999999999999928,0); -INSERT INTO orders VALUES(179,58,60,39,146.0,'2026-01-28T10:40:36.187Z',1,0,NULL,69,NULL,NULL,20.0,'1769616636177-58',1.0,0); -INSERT INTO orders VALUES(180,38,66,58,104.0,'2026-01-29T22:42:25.446Z',1,0,NULL,71,NULL,'Hi I''m inzamam come slowly ',20.0,'1769746345431-38',1.0,0); -INSERT INTO orders VALUES(181,1,17,59,17.0,'2026-01-30T00:31:02.610Z',1,0,NULL,73,NULL,NULL,10.0,'1769752862605-1',1.0,0); -INSERT INTO orders VALUES(182,38,66,59,49.0,'2026-01-30T00:46:59.261Z',1,0,NULL,75,NULL,NULL,10.0,'1769753819256-38',1.0,0); -INSERT INTO orders VALUES(183,1,17,60,42.0,'2026-01-30T01:42:25.118Z',1,0,NULL,77,NULL,NULL,10.0,'1769757144875-1',1.0,0); -INSERT INTO orders VALUES(184,38,66,60,179.0,'2026-01-30T03:13:07.360Z',1,0,NULL,79,NULL,NULL,0.0,'1769762587355-38',1.0,0); -INSERT INTO orders VALUES(185,54,57,66,77.0,'2026-01-31T01:44:10.735Z',1,0,NULL,81,NULL,'I needed it quickly',10.0,'1769843650726-54',1.0,0); -INSERT INTO orders VALUES(186,54,57,66,307.0,'2026-01-31T01:44:48.105Z',1,0,NULL,83,NULL,NULL,0.0,'1769843688098-54',1.0,0); -INSERT INTO orders VALUES(187,78,70,66,64.0,'2026-01-31T04:25:19.495Z',1,0,NULL,85,NULL,NULL,10.0,'1769853319488-78',1.0,0); -INSERT INTO orders VALUES(188,1,17,66,296.0,'2026-01-31T05:26:01.981Z',1,0,NULL,87,NULL,NULL,0.0,'1769856961704-1',1.0,0); -INSERT INTO orders VALUES(189,1,17,66,292.0,'2026-01-31T06:32:04.589Z',1,0,NULL,89,NULL,NULL,0.0,'1769860924583-1',1.0,0); -INSERT INTO orders VALUES(190,1,17,70,27.0,'2026-01-31T22:04:46.197Z',1,0,NULL,91,NULL,NULL,10.0,'1769916886192-1',1.0,0); -INSERT INTO orders VALUES(191,7,71,72,243.0,'2026-02-01T00:28:05.843Z',1,0,NULL,93,NULL,replace(' Half chest and half leg \n Pura chest piece ich mat lao bhai ....','\n',char(10)),0.0,'1769925485827-7',1.0,0); -INSERT INTO orders VALUES(192,74,73,72,420.0,'2026-02-01T01:31:50.642Z',1,0,NULL,95,NULL,NULL,0.0,'1769929310636-74',1.0,0); -INSERT INTO orders VALUES(193,74,73,72,269.0,'2026-02-01T01:56:14.147Z',1,0,NULL,97,NULL,NULL,0.0,'1769930774143-74',1.0,0); -INSERT INTO orders VALUES(194,38,66,71,999.0,'2026-02-01T02:19:04.918Z',1,0,NULL,99,NULL,NULL,0.0,'1769932144902-38',1.0,0); -INSERT INTO orders VALUES(195,22,50,71,119.0,'2026-02-01T03:22:19.400Z',1,0,NULL,101,NULL,NULL,10.0,'1769935939395-22',1.0,0); -INSERT INTO orders VALUES(196,82,72,72,179.0,'2026-02-01T04:41:15.161Z',1,0,NULL,103,NULL,NULL,0.0,'1769940675157-82',1.0,0); -INSERT INTO orders VALUES(197,82,72,72,448.0,'2026-02-01T04:46:41.872Z',1,0,NULL,105,NULL,NULL,0.0,'1769941001866-82',1.0,0); -INSERT INTO orders VALUES(202,88,83,76,135.0,'2026-02-01T10:07:16.233Z',1,0,NULL,115,NULL,NULL,0.0,'1769960236219-88',1.0,0); -INSERT INTO orders VALUES(203,92,86,79,49.0,'2026-02-02T04:53:54.970Z',1,0,NULL,117,NULL,NULL,10.0,'1770027834964-92',1.0,0); -INSERT INTO orders VALUES(204,38,66,79,79.0,'2026-02-02T06:48:31.456Z',1,0,NULL,119,NULL,NULL,10.0,'1770034711451-38',1.0,0); -INSERT INTO orders VALUES(205,38,66,79,79.0,'2026-02-02T06:50:24.727Z',1,0,NULL,121,NULL,NULL,10.0,'1770034824717-38',1.0,0); -INSERT INTO orders VALUES(206,7,71,83,770.0,'2026-02-02T08:27:54.149Z',1,0,NULL,123,NULL,NULL,0.0,'1770040674142-7',1.0,0); -INSERT INTO orders VALUES(207,1,17,81,369.0,'2026-02-02T09:01:16.193Z',1,0,NULL,125,NULL,NULL,0.0,'1770042676188-1',1.0,0); -INSERT INTO orders VALUES(208,1,17,81,378.0,'2026-02-02T12:53:25.021Z',1,0,NULL,127,NULL,NULL,0.0,'1770056605014-1',1.0,0); -INSERT INTO orders VALUES(209,38,66,83,412.19999999999998863,'2026-02-02T22:40:01.666Z',1,0,NULL,129,NULL,NULL,0.0,'1770091801642-38',1.0,0); -INSERT INTO orders VALUES(210,98,91,84,210.0,'2026-02-03T00:26:45.500Z',1,0,NULL,131,NULL,NULL,0.0,'1770098205495-98',1.0,0); -INSERT INTO orders VALUES(211,98,91,84,94.0,'2026-02-03T00:28:30.230Z',1,0,NULL,133,NULL,NULL,10.0,'1770098310221-98',1.0,0); -INSERT INTO orders VALUES(212,24,92,87,419.0,'2026-02-03T03:11:48.475Z',1,0,NULL,135,NULL,NULL,0.0,'1770108108470-24',1.0,0); -INSERT INTO orders VALUES(213,46,93,86,88.0,'2026-02-03T07:33:13.302Z',1,0,NULL,137,NULL,replace('Gol masjid Sr garden \n1flore\n','\n',char(10)),10.0,'1770123793291-46',1.0,0); -INSERT INTO orders VALUES(214,38,66,88,98.0,'2026-02-03T08:40:49.538Z',1,0,NULL,139,NULL,NULL,10.0,'1770127849534-38',1.0,0); -INSERT INTO orders VALUES(215,38,66,89,248.39999999999999857,'2026-02-03T08:43:00.789Z',1,0,NULL,141,NULL,NULL,0.0,'1770127980775-38',1.0,0); -INSERT INTO orders VALUES(216,81,94,88,386.0,'2026-02-03T10:16:16.915Z',1,0,NULL,143,NULL,NULL,0.0,'1770133576898-81',1.0,0); -INSERT INTO orders VALUES(217,96,95,92,301.50000000000001243,'2026-02-04T01:36:25.133Z',1,0,NULL,145,NULL,NULL,0.0,'1770188785117-96',1.0,0); -INSERT INTO orders VALUES(218,81,94,92,401.39999999999993463,'2026-02-04T02:41:07.508Z',1,0,NULL,147,NULL,NULL,0.0,'1770192667485-81',1.0,0); -INSERT INTO orders VALUES(219,1,17,94,109.0,'2026-02-04T07:47:53.067Z',1,0,NULL,149,NULL,NULL,10.0,'1770211073063-1',1.0,0); -INSERT INTO orders VALUES(220,103,96,99,158.0,'2026-02-05T03:15:53.554Z',1,0,NULL,151,NULL,NULL,0.0,'1770281153546-103',1.0,0); -INSERT INTO orders VALUES(221,24,92,100,235.80000000000000959,'2026-02-05T04:00:30.739Z',1,0,NULL,153,NULL,NULL,0.0,'1770283830726-24',1.0,0); -INSERT INTO orders VALUES(222,114,103,106,97.0,'2026-02-06T05:49:57.315Z',1,0,NULL,155,NULL,NULL,10.0,'1770376797308-114',1.0,0); -INSERT INTO orders VALUES(223,1,17,106,97.0,'2026-02-06T06:21:43.659Z',1,0,NULL,157,NULL,NULL,10.0,'1770378703652-1',1.0,0); -INSERT INTO orders VALUES(224,71,104,106,149.0,'2026-02-06T06:25:36.038Z',1,0,NULL,159,NULL,NULL,0.0,'1770378936033-71',1.0,0); -INSERT INTO orders VALUES(225,1,17,111,108.0,'2026-02-06T08:53:10.229Z',1,0,NULL,-1,NULL,NULL,10.0,'1770387790223-1',1.0,0); -INSERT INTO orders VALUES(226,115,105,113,110.74999999999999289,'2026-02-06T10:26:39.531Z',1,0,NULL,-1,NULL,NULL,0.0,'1770393399507-115',0.24500000000000001776,0); -INSERT INTO orders VALUES(227,115,105,112,341.25000000000000888,'2026-02-06T10:26:39.531Z',1,0,NULL,-1,NULL,NULL,0.0,'1770393399507-115',0.75499999999999998223,0); -INSERT INTO orders VALUES(228,115,105,113,180.0,'2026-02-06T16:16:47.346Z',1,0,NULL,-1,NULL,NULL,0.0,'1770414407330-115',1.0,0); -INSERT INTO orders VALUES(229,109,101,111,127.0,'2026-02-06T23:01:13.646Z',1,0,NULL,-1,NULL,NULL,0.0,'1770438673632-109',1.0,0); -INSERT INTO orders VALUES(230,103,96,111,167.40000000000001989,'2026-02-06T23:28:37.545Z',1,0,NULL,-1,NULL,NULL,0.0,'1770440317529-103',1.0,0); -INSERT INTO orders VALUES(231,103,96,111,213.30000000000000071,'2026-02-06T23:36:55.424Z',1,0,NULL,-1,NULL,NULL,0.0,'1770440815414-103',1.0,0); -INSERT INTO orders VALUES(232,119,107,115,219.0,'2026-02-07T07:06:17.096Z',1,0,NULL,-1,NULL,NULL,0.0,'1770467777091-119',1.0,0); -INSERT INTO orders VALUES(233,38,66,115,219.0,'2026-02-07T07:24:42.810Z',1,0,NULL,-1,NULL,NULL,0.0,'1770468882806-38',1.0,0); -INSERT INTO orders VALUES(234,38,66,115,219.0,'2026-02-07T07:25:52.698Z',1,0,NULL,-1,NULL,NULL,0.0,'1770468952694-38',1.0,0); -INSERT INTO orders VALUES(235,120,108,118,377.10000000000003517,'2026-02-07T23:11:07.297Z',1,0,NULL,-1,NULL,NULL,0.0,'1770525667289-120',1.0,0); -INSERT INTO orders VALUES(236,98,91,118,149.0,'2026-02-07T23:43:00.160Z',1,0,NULL,-1,NULL,NULL,10.0,'1770527580152-98',1.0,0); -INSERT INTO orders VALUES(237,38,66,118,148.0,'2026-02-07T23:58:12.863Z',1,0,NULL,-1,NULL,NULL,10.0,'1770528492859-38',1.0,0); -INSERT INTO orders VALUES(238,121,109,119,106.0,'2026-02-08T00:48:23.089Z',1,0,NULL,-1,NULL,NULL,10.0,'1770531503085-121',1.0,0); -INSERT INTO orders VALUES(239,121,109,119,106.0,'2026-02-08T00:55:15.154Z',1,0,NULL,-1,NULL,NULL,10.0,'1770531915149-121',1.0,0); -INSERT INTO orders VALUES(240,121,109,NULL,170.0,'2026-02-08T04:28:56.405Z',1,0,NULL,-1,NULL,NULL,10.0,'1770544736398-121',1.0,1); -INSERT INTO orders VALUES(241,121,109,NULL,170.0,'2026-02-08T04:29:20.307Z',1,0,NULL,-1,NULL,NULL,10.0,'1770544760296-121',1.0,1); -INSERT INTO orders VALUES(242,121,109,121,37.0,'2026-02-08T04:29:55.364Z',1,0,NULL,-1,NULL,NULL,10.0,'1770544795359-121',1.0,0); -INSERT INTO orders VALUES(243,121,109,NULL,60.0,'2026-02-08T04:30:37.777Z',1,0,NULL,-1,NULL,NULL,10.0,'1770544837770-121',1.0,1); -INSERT INTO orders VALUES(244,121,109,121,389.0,'2026-02-08T04:32:20.374Z',1,0,NULL,-1,NULL,NULL,0.0,'1770544940368-121',1.0,0); -INSERT INTO orders VALUES(245,121,109,121,980.0,'2026-02-08T04:33:59.746Z',1,0,NULL,-1,NULL,NULL,0.0,'1770545039741-121',1.0,0); -INSERT INTO orders VALUES(246,12,33,121,149.0,'2026-02-08T05:09:24.720Z',1,0,NULL,-1,NULL,NULL,10.0,'1770547164704-12',1.0,0); -INSERT INTO orders VALUES(247,2,20,127,159.0,'2026-02-09T01:52:55.524Z',1,0,NULL,-1,NULL,NULL,10.0,'1770621775517-2',1.0,0); -INSERT INTO orders VALUES(248,125,112,129,188.0,'2026-02-09T07:56:42.048Z',1,0,NULL,-1,NULL,NULL,0.0,'1770643602042-125',1.0,0); -INSERT INTO orders VALUES(249,3,16,135,119.0,'2026-02-10T06:04:04.471Z',1,0,NULL,-1,NULL,NULL,10.0,'1770723244466-3',1.0,0); -INSERT INTO orders VALUES(250,2,20,139,1277.0,'2026-02-10T21:59:33.763Z',1,0,NULL,-1,NULL,NULL,0.0,'1770780573747-2',1.0,0); -INSERT INTO orders VALUES(251,115,105,145,110.0,'2026-02-11T16:13:20.142Z',1,0,NULL,-1,NULL,NULL,0.0,'1770846200125-115',0.32840000000000002522,0); -INSERT INTO orders VALUES(252,115,105,144,107.0,'2026-02-11T16:13:20.142Z',1,0,NULL,-1,NULL,NULL,0.0,'1770846200125-115',0.31939999999999999502,0); -INSERT INTO orders VALUES(253,115,105,147,118.0,'2026-02-11T16:13:20.142Z',1,0,NULL,-1,NULL,NULL,0.0,'1770846200125-115',0.35220000000000002415,0); -INSERT INTO orders VALUES(254,114,114,158,145.0,'2026-02-14T01:01:13.769Z',1,0,NULL,-1,NULL,replace('Rb palace \n','\n',char(10)),10.0,'1771050673757-114',1.0,0); -INSERT INTO orders VALUES(255,120,108,165,419.0,'2026-02-15T00:00:53.358Z',1,0,NULL,-1,NULL,'Can you deliver it now pls its urgent',0.0,'1771133453347-120',1.0,0); -INSERT INTO orders VALUES(256,2,20,173,377.10000000000003517,'2026-02-16T01:21:48.050Z',1,0,NULL,-1,NULL,NULL,0.0,'1771224708041-2',1.0,0); -INSERT INTO orders VALUES(257,134,116,173,377.10000000000003517,'2026-02-16T04:14:55.522Z',1,0,NULL,-1,NULL,'Come faster ',0.0,'1771235095508-134',1.0,0); -INSERT INTO orders VALUES(258,134,116,174,74.0,'2026-02-16T04:22:00.592Z',1,0,NULL,-1,NULL,NULL,15.0,'1771235520588-134',1.0,0); -INSERT INTO orders VALUES(259,120,108,179,413.10000000000002273,'2026-02-17T00:44:27.971Z',1,0,NULL,-1,NULL,NULL,0.0,'1771308867959-120',1.0,0); -INSERT INTO orders VALUES(260,1,17,NULL,380.0,'2026-02-17T07:16:27.421Z',1,0,NULL,-1,NULL,NULL,0.0,'1771332387411-1',1.0,1); -INSERT INTO orders VALUES(261,136,117,182,130.0,'2026-02-17T07:30:07.521Z',1,0,NULL,-1,NULL,NULL,12.0,'1771333207516-136',1.0,0); -INSERT INTO orders VALUES(262,136,117,182,67.0,'2026-02-17T07:45:43.734Z',1,0,NULL,-1,NULL,NULL,12.0,'1771334143729-136',1.0,0); -INSERT INTO orders VALUES(263,3,16,NULL,162.0,'2026-02-17T07:52:41.197Z',1,0,NULL,-1,NULL,NULL,12.0,'1771334561185-3',1.0,1); -INSERT INTO orders VALUES(264,141,120,184,423.0,'2026-02-17T19:47:31.551Z',1,0,NULL,-1,NULL,NULL,0.0,'1771377451545-141',1.0,0); -INSERT INTO orders VALUES(265,143,121,185,130.0,'2026-02-17T22:56:42.974Z',1,0,NULL,-1,NULL,'Employees colony colony ',12.0,'1771388802969-143',1.0,0); -INSERT INTO orders VALUES(266,143,121,185,110.0,'2026-02-17T23:04:14.592Z',1,0,NULL,-1,NULL,NULL,12.0,'1771389254586-143',1.0,0); -INSERT INTO orders VALUES(267,130,122,186,305.0,'2026-02-17T23:27:35.908Z',1,0,NULL,-1,NULL,NULL,0.0,'1771390655900-130',1.0,0); -INSERT INTO orders VALUES(268,132,123,186,429.0,'2026-02-18T00:28:16.181Z',1,0,NULL,-1,NULL,NULL,0.0,'1771394296177-132',1.0,0); -INSERT INTO orders VALUES(269,119,107,187,396.0,'2026-02-18T01:34:08.441Z',1,0,NULL,-1,NULL,NULL,0.0,'1771398248436-119',1.0,0); -INSERT INTO orders VALUES(270,119,107,NULL,230.0,'2026-02-18T02:04:32.495Z',1,0,NULL,-1,NULL,NULL,0.0,'1771400072481-119',1.0,1); -INSERT INTO orders VALUES(271,145,124,187,381.60000000000003694,'2026-02-18T03:46:31.297Z',1,0,NULL,-1,NULL,NULL,0.0,'1771406191279-145',1.0,0); -INSERT INTO orders VALUES(272,138,125,188,71.0,'2026-02-18T05:15:38.160Z',1,0,NULL,-1,NULL,NULL,12.0,'1771411538154-138',1.0,0); -INSERT INTO orders VALUES(273,138,125,188,71.0,'2026-02-18T05:15:38.161Z',1,0,NULL,-1,NULL,NULL,12.0,'1771411538155-138',1.0,0); -INSERT INTO orders VALUES(274,147,126,NULL,555.0,'2026-02-18T05:15:59.580Z',1,0,NULL,-1,NULL,NULL,0.0,'1771411559572-147',1.0,1); -INSERT INTO orders VALUES(275,24,92,188,223.0,'2026-02-18T06:53:25.416Z',1,0,NULL,-1,NULL,NULL,0.0,'1771417405404-24',1.0,0); -INSERT INTO orders VALUES(276,82,72,189,506.0,'2026-02-18T07:16:24.911Z',1,0,NULL,-1,NULL,NULL,0.0,'1771418784904-82',1.0,0); -INSERT INTO orders VALUES(277,148,127,189,388.0,'2026-02-18T07:31:33.186Z',1,0,NULL,-1,NULL,NULL,0.0,'1771419693158-148',1.0,0); -INSERT INTO orders VALUES(278,38,66,192,396.0,'2026-02-18T23:12:20.428Z',1,0,NULL,-1,NULL,'Come slowly and drive slowly ',0.0,'1771476140424-38',1.0,0); -INSERT INTO orders VALUES(279,156,131,192,419.0,'2026-02-19T00:00:57.733Z',1,0,NULL,-1,NULL,NULL,0.0,'1771479057729-156',1.0,0); -INSERT INTO orders VALUES(280,99,132,194,170.0,'2026-02-19T01:04:09.663Z',1,0,NULL,-1,NULL,NULL,12.0,'1771482849644-99',1.0,0); -INSERT INTO orders VALUES(281,82,72,194,583.0,'2026-02-19T01:57:57.613Z',1,0,NULL,-1,NULL,NULL,0.0,'1771486077606-82',1.0,0); -INSERT INTO orders VALUES(282,82,72,194,110.0,'2026-02-19T01:59:43.093Z',1,0,NULL,-1,NULL,NULL,12.0,'1771486183088-82',1.0,0); -INSERT INTO orders VALUES(283,66,58,194,216.0,'2026-02-19T02:16:07.844Z',1,0,NULL,-1,NULL,NULL,0.0,'1771487167839-66',1.0,0); -INSERT INTO orders VALUES(284,120,108,194,202.0,'2026-02-19T03:09:55.456Z',1,0,NULL,-1,NULL,NULL,0.0,'1771490395448-120',1.0,0); -INSERT INTO orders VALUES(285,159,133,194,371.0,'2026-02-19T03:40:51.549Z',1,0,NULL,-1,NULL,NULL,0.0,'1771492251530-159',1.0,0); -INSERT INTO orders VALUES(286,160,134,194,255.0,'2026-02-19T03:49:55.745Z',1,0,NULL,-1,NULL,NULL,0.0,'1771492795724-160',1.0,0); -INSERT INTO orders VALUES(287,64,55,194,114.0,'2026-02-19T03:54:05.397Z',1,0,NULL,-1,NULL,NULL,0.0,'1771493045384-64',0.6,0); -INSERT INTO orders VALUES(288,64,55,196,76.0,'2026-02-19T03:54:05.397Z',1,0,NULL,-1,NULL,NULL,0.0,'1771493045384-64',0.4,0); -INSERT INTO orders VALUES(289,160,134,197,41.0,'2026-02-19T04:00:41.001Z',1,0,NULL,-1,NULL,NULL,12.0,'1771493440990-160',1.0,0); -INSERT INTO orders VALUES(290,151,135,197,387.0,'2026-02-19T04:09:35.859Z',1,0,NULL,-1,NULL,NULL,0.0,'1771493975853-151',1.0,0); -INSERT INTO orders VALUES(291,4,136,195,559.0,'2026-02-19T04:16:50.189Z',1,0,NULL,-1,NULL,NULL,0.0,'1771494410183-4',1.0,0); -INSERT INTO orders VALUES(292,162,137,197,110.0,'2026-02-19T05:08:36.439Z',1,0,NULL,-1,NULL,NULL,12.0,'1771497516435-162',1.0,0); -INSERT INTO orders VALUES(293,162,137,197,110.0,'2026-02-19T05:08:36.736Z',1,0,NULL,-1,NULL,NULL,12.0,'1771497516732-162',1.0,0); -INSERT INTO orders VALUES(294,32,138,195,110.0,'2026-02-19T06:14:11.047Z',1,0,NULL,-1,NULL,NULL,12.0,'1771501451044-32',1.0,0); -INSERT INTO orders VALUES(295,163,139,195,236.0,'2026-02-19T06:49:34.891Z',1,0,NULL,-1,NULL,NULL,0.0,'1771503574888-163',1.0,0); -INSERT INTO orders VALUES(296,38,66,200,819.0,'2026-02-19T12:38:24.984Z',1,0,NULL,-1,NULL,NULL,0.0,'1771524504980-38',1.0,0); -INSERT INTO orders VALUES(297,82,72,201,307.0,'2026-02-19T15:48:55.517Z',1,0,NULL,-1,NULL,NULL,0.0,'1771535935502-82',1.0,0); -INSERT INTO orders VALUES(298,66,58,204,85.0,'2026-02-20T01:39:04.912Z',1,0,NULL,-1,NULL,replace('Employee''s colony road no 3 \nmahabubnagar 9618791714','\n',char(10)),12.0,'1771571344901-66',1.0,0); -INSERT INTO orders VALUES(299,66,58,204,165.0,'2026-02-20T02:41:56.608Z',1,0,NULL,-1,NULL,NULL,12.0,'1771575116599-66',1.0,0); -INSERT INTO orders VALUES(300,140,119,204,238.0,'2026-02-20T03:24:43.556Z',1,0,NULL,-1,NULL,NULL,0.0,'1771577683547-140',1.0,0); -INSERT INTO orders VALUES(301,169,142,204,1116.0,'2026-02-20T03:37:43.245Z',1,0,NULL,-1,NULL,NULL,0.0,'1771578463205-169',1.0,0); -INSERT INTO orders VALUES(302,170,144,204,189.0,'2026-02-20T03:59:51.171Z',1,0,NULL,-1,NULL,NULL,0.0,'1771579791166-170',1.0,0); -INSERT INTO orders VALUES(303,170,144,207,197.0,'2026-02-20T04:04:04.909Z',1,0,NULL,-1,NULL,NULL,0.0,'1771580044903-170',1.0,0); -INSERT INTO orders VALUES(304,132,123,207,494.0,'2026-02-20T04:47:12.538Z',1,0,NULL,-1,NULL,NULL,0.0,'1771582632531-132',1.0,0); -INSERT INTO orders VALUES(305,176,145,206,295.0,'2026-02-20T06:02:01.579Z',1,0,NULL,-1,NULL,NULL,0.0,'1771587121570-176',1.0,0); -INSERT INTO orders VALUES(306,99,132,206,294.0,'2026-02-20T06:41:12.043Z',1,0,NULL,-1,NULL,NULL,0.0,'1771589472035-99',1.0,0); -INSERT INTO orders VALUES(307,163,146,NULL,236.0,'2026-02-20T07:21:21.906Z',1,0,NULL,-1,NULL,NULL,0.0,'1771591881894-163',1.0,1); -INSERT INTO orders VALUES(308,74,73,208,429.0,'2026-02-20T07:41:37.350Z',1,0,NULL,-1,NULL,NULL,0.0,'1771593097346-74',1.0,0); -INSERT INTO orders VALUES(309,115,105,NULL,624.0,'2026-02-20T09:08:15.335Z',1,0,NULL,-1,NULL,NULL,0.0,'1771598295290-115',1.0,1); -INSERT INTO orders VALUES(310,38,66,208,419.0,'2026-02-20T13:06:33.249Z',1,0,NULL,-1,NULL,'Bheje lalo bhaiya 3',0.0,'1771612593245-38',1.0,0); -INSERT INTO orders VALUES(311,184,148,211,364.0,'2026-02-20T22:50:10.927Z',1,0,NULL,-1,NULL,NULL,0.0,'1771647610908-184',1.0,0); -INSERT INTO orders VALUES(312,81,94,212,550.0,'2026-02-21T03:19:33.169Z',1,0,NULL,-1,NULL,NULL,0.0,'1771663773148-81',1.0,0); -INSERT INTO orders VALUES(313,24,92,212,223.0,'2026-02-21T03:33:25.012Z',1,0,NULL,-1,NULL,NULL,0.0,'1771664605006-24',1.0,0); -INSERT INTO orders VALUES(314,186,149,214,137.0,'2026-02-21T03:45:19.764Z',1,0,NULL,-1,NULL,NULL,12.0,'1771665319759-186',1.0,0); -INSERT INTO orders VALUES(315,160,134,213,109.0,'2026-02-21T04:36:43.124Z',1,0,NULL,-1,NULL,NULL,12.0,'1771668403117-160',1.0,0); -INSERT INTO orders VALUES(316,160,134,213,138.0,'2026-02-21T04:40:27.736Z',1,0,NULL,-1,NULL,NULL,12.0,'1771668627722-160',1.0,0); -INSERT INTO orders VALUES(317,32,138,NULL,161.0,'2026-02-21T06:23:19.310Z',1,0,NULL,-1,NULL,NULL,12.0,'1771674799304-32',1.0,1); -INSERT INTO orders VALUES(318,7,71,217,1566.0,'2026-02-21T12:32:34.307Z',1,0,NULL,-1,NULL,replace('Boti me chikna kam karo \nBoti ke pooray parts rehna dekho bhai \nExcept tilli\n\nMutton zara acha lalo \nBone quantity kam kar ke ','\n',char(10)),0.0,'1771696954291-7',1.0,0); -INSERT INTO orders VALUES(319,141,120,219,166.50000000000000355,'2026-02-21T19:42:40.619Z',1,0,NULL,-1,NULL,NULL,0.0,'1771722760597-141',0.5027000000000000135,0); -INSERT INTO orders VALUES(320,141,120,218,164.69999999999997974,'2026-02-21T19:42:40.619Z',1,0,NULL,-1,NULL,NULL,0.0,'1771722760597-141',0.49729999999999998649,0); -INSERT INTO orders VALUES(321,120,108,218,377.10000000000003517,'2026-02-21T22:34:37.439Z',1,0,NULL,-1,NULL,NULL,0.0,'1771733077431-120',1.0,0); -INSERT INTO orders VALUES(322,193,153,218,386.10000000000002984,'2026-02-21T22:53:17.760Z',1,0,NULL,-1,NULL,NULL,0.0,'1771734197748-193',1.0,0); -INSERT INTO orders VALUES(323,132,123,218,583.0,'2026-02-21T23:09:55.795Z',1,0,NULL,-1,NULL,NULL,0.0,'1771735195777-132',1.0,0); -INSERT INTO orders VALUES(324,130,122,218,490.0,'2026-02-21T23:38:18.540Z',1,0,NULL,-1,NULL,NULL,0.0,'1771736898523-130',1.0,0); -INSERT INTO orders VALUES(325,194,154,219,232.0,'2026-02-22T00:16:21.567Z',1,0,NULL,-1,NULL,NULL,0.0,'1771739181558-194',1.0,0); -INSERT INTO orders VALUES(326,198,158,220,323.0,'2026-02-22T01:08:52.833Z',1,0,NULL,-1,NULL,NULL,0.0,'1771742332826-198',1.0,0); -INSERT INTO orders VALUES(327,184,148,221,201.0,'2026-02-22T01:13:15.958Z',1,0,NULL,-1,NULL,NULL,0.0,'1771742595948-184',0.80400000000000009237,0); -INSERT INTO orders VALUES(328,184,148,220,49.0,'2026-02-22T01:13:15.958Z',1,0,NULL,-1,NULL,NULL,0.0,'1771742595948-184',0.19599999999999999644,0); -INSERT INTO orders VALUES(329,205,161,222,272.0,'2026-02-22T03:46:06.235Z',1,0,NULL,-1,NULL,NULL,0.0,'1771751766217-205',1.0,0); -INSERT INTO orders VALUES(330,206,162,221,40.0,'2026-02-22T04:21:41.707Z',1,0,NULL,-1,NULL,NULL,12.0,'1771753901703-206',1.0,0); -INSERT INTO orders VALUES(331,208,163,221,166.0,'2026-02-22T04:39:37.484Z',1,0,NULL,-1,NULL,NULL,12.0,'1771754977472-208',1.0,0); -INSERT INTO orders VALUES(332,50,167,224,315.0,'2026-02-22T14:05:39.863Z',1,0,NULL,-1,NULL,NULL,0.0,'1771788939856-50',1.0,0); -INSERT INTO orders VALUES(333,151,135,227,136.0,'2026-02-23T03:21:16.555Z',1,0,NULL,-1,NULL,NULL,12.0,'1771836676538-151',1.0,0); -INSERT INTO orders VALUES(334,223,168,227,373.49999999999998756,'2026-02-23T03:47:30.738Z',1,0,NULL,-1,NULL,NULL,0.0,'1771838250710-223',1.0,0); -INSERT INTO orders VALUES(335,224,169,228,471.0,'2026-02-23T04:40:46.728Z',1,0,NULL,-1,NULL,NULL,0.0,'1771841446722-224',1.0,0); -INSERT INTO orders VALUES(336,224,169,228,295.0,'2026-02-23T04:44:00.644Z',1,0,NULL,-1,NULL,NULL,0.0,'1771841640635-224',1.0,0); -INSERT INTO orders VALUES(337,224,169,227,69.0,'2026-02-23T04:45:56.017Z',1,0,NULL,-1,NULL,NULL,12.0,'1771841756009-224',1.0,0); -INSERT INTO orders VALUES(338,38,66,229,250.0,'2026-02-23T05:51:07.943Z',1,0,NULL,-1,NULL,'Plz bring fast please jaldi lalo thoda',0.0,'1771845667938-38',1.0,0); -INSERT INTO orders VALUES(339,225,170,229,138.0,'2026-02-23T06:46:04.203Z',1,0,NULL,-1,NULL,NULL,12.0,'1771848964196-225',1.0,0); -INSERT INTO orders VALUES(340,228,172,232,261.0,'2026-02-23T22:40:33.438Z',1,0,NULL,-1,NULL,'Back side alis mart beside lane last lane ,opp children''s park ground floor house ',0.0,'1771906233428-228',1.0,0); -INSERT INTO orders VALUES(341,230,174,235,250.0,'2026-02-24T01:44:30.406Z',1,0,NULL,-1,NULL,NULL,0.0,'1771917270395-230',1.0,0); -INSERT INTO orders VALUES(342,229,173,NULL,737.0,'2026-02-24T01:46:05.872Z',1,0,NULL,-1,NULL,NULL,0.0,'1771917365846-229',1.0,1); -INSERT INTO orders VALUES(343,224,169,227,169.0,'2026-02-24T02:52:22.431Z',1,0,NULL,-1,NULL,NULL,12.0,'1771921342425-224',1.0,0); -INSERT INTO orders VALUES(344,158,176,236,186.0,'2026-02-24T04:15:41.683Z',1,0,NULL,-1,NULL,NULL,12.0,'1771926341678-158',1.0,0); -INSERT INTO orders VALUES(345,3,16,NULL,399.0,'2026-02-24T05:47:59.572Z',1,0,NULL,-1,NULL,NULL,0.0,'1771931879550-3',1.0,1); -INSERT INTO orders VALUES(346,149,130,236,181.0,'2026-02-24T07:17:54.419Z',1,0,NULL,-1,NULL,NULL,0.0,'1771937274400-149',1.0,0); -INSERT INTO orders VALUES(347,50,45,238,281.0,'2026-02-24T12:55:21.432Z',1,0,NULL,-1,NULL,'If I don''t attend the call please call to this number 86888065996',0.0,'1771957521407-50',1.0,0); -INSERT INTO orders VALUES(348,132,123,242,429.0,'2026-02-25T02:47:44.024Z',1,0,NULL,-1,NULL,NULL,0.0,'1772007464014-132',1.0,0); -INSERT INTO orders VALUES(381,1,17,NULL,395.0,'2026-02-26T11:24:06.998Z',1,0,NULL,-1,NULL,NULL,0.0,'1772124844672-1',1.0,1); -INSERT INTO orders VALUES(382,1,17,NULL,187.0,'2026-02-26T11:30:33.419Z',1,0,NULL,-1,NULL,NULL,0.0,'1772125229922-1',1.0,1); -INSERT INTO orders VALUES(383,1,17,NULL,164.0,'2026-02-26T11:34:03.543Z',1,0,NULL,-1,NULL,NULL,45.0,'1772125441817-1',1.0,1); -INSERT INTO orders VALUES(384,1,17,NULL,444.0,'2026-02-26T11:36:20.560Z',1,0,NULL,-1,NULL,NULL,45.0,'1772125578199-1',1.0,1); -INSERT INTO orders VALUES(385,1,17,279,344.0,'2026-03-09T10:16:59.219Z',1,0,NULL,-1,NULL,NULL,0.0,'1773071219214-1',1.0,0); -INSERT INTO orders VALUES(386,1,17,286,51.0,'2026-03-26T01:19:29.108Z',1,0,NULL,-1,NULL,NULL,12.0,'1774507768653-1',1.0,0); -CREATE TABLE IF NOT EXISTS "payment_info" ("id" INTEGER NOT NULL, "status" TEXT NOT NULL, "gateway" TEXT NOT NULL, "order_id" TEXT, "token" TEXT, "merchant_order_id" TEXT NOT NULL, "payload" TEXT); -INSERT INTO payment_info VALUES(1,'pending','phonepe',NULL,NULL,'order_1763563896010',NULL); -INSERT INTO payment_info VALUES(2,'pending','phonepe',NULL,NULL,'order_1763564910006',NULL); -INSERT INTO payment_info VALUES(3,'pending','phonepe',NULL,NULL,'order_1763572580304',NULL); -INSERT INTO payment_info VALUES(4,'pending','phonepe',NULL,NULL,'order_1763572653144',NULL); -INSERT INTO payment_info VALUES(5,'pending','phonepe',NULL,NULL,'order_1763573268603',NULL); -INSERT INTO payment_info VALUES(6,'pending','phonepe',NULL,NULL,'order_1763574232471',NULL); -INSERT INTO payment_info VALUES(7,'pending','phonepe',NULL,NULL,'order_1763574306269',NULL); -INSERT INTO payment_info VALUES(8,'pending','phonepe',NULL,NULL,'order_1763574482764',NULL); -INSERT INTO payment_info VALUES(9,'pending','phonepe',NULL,NULL,'order_1763574799918',NULL); -INSERT INTO payment_info VALUES(10,'pending','phonepe',NULL,NULL,'order_1763575339097',NULL); -INSERT INTO payment_info VALUES(11,'pending','phonepe',NULL,NULL,'order_1763575464896',NULL); -INSERT INTO payment_info VALUES(12,'pending','phonepe',NULL,NULL,'order_1763575602750',NULL); -INSERT INTO payment_info VALUES(13,'pending','phonepe',NULL,NULL,'order_1763575768505',NULL); -INSERT INTO payment_info VALUES(14,'pending','phonepe',NULL,NULL,'order_1763666849104',NULL); -INSERT INTO payment_info VALUES(15,'pending','phonepe',NULL,NULL,'order_1763666905893',NULL); -INSERT INTO payment_info VALUES(16,'pending','phonepe',NULL,NULL,'order_1763666973849',NULL); -INSERT INTO payment_info VALUES(17,'pending','phonepe',NULL,NULL,'order_1763871426295',NULL); -INSERT INTO payment_info VALUES(18,'pending','phonepe',NULL,NULL,'order_1763898477055',NULL); -INSERT INTO payment_info VALUES(19,'pending','phonepe',NULL,NULL,'order_1763983667789',NULL); -INSERT INTO payment_info VALUES(20,'pending','phonepe',NULL,NULL,'order_1764067952957',NULL); -INSERT INTO payment_info VALUES(21,'pending','phonepe',NULL,NULL,'order_1764243205881',NULL); -INSERT INTO payment_info VALUES(22,'pending','phonepe',NULL,NULL,'order_1764388266634',NULL); -INSERT INTO payment_info VALUES(23,'pending','phonepe',NULL,NULL,'order_1764388497092',NULL); -INSERT INTO payment_info VALUES(24,'pending','phonepe',NULL,NULL,'order_1764389081742',NULL); -INSERT INTO payment_info VALUES(25,'pending','phonepe',NULL,NULL,'order_1764389210771',NULL); -INSERT INTO payment_info VALUES(26,'pending','phonepe',NULL,NULL,'order_1764390498471',NULL); -INSERT INTO payment_info VALUES(27,'pending','phonepe',NULL,NULL,'order_1764391183329',NULL); -INSERT INTO payment_info VALUES(28,'pending','phonepe',NULL,NULL,'order_1764391279780',NULL); -INSERT INTO payment_info VALUES(29,'pending','phonepe',NULL,NULL,'order_1764391675769',NULL); -INSERT INTO payment_info VALUES(30,'pending','phonepe',NULL,NULL,'order_1764391943478',NULL); -INSERT INTO payment_info VALUES(31,'pending','phonepe',NULL,NULL,'order_1764392006085',NULL); -INSERT INTO payment_info VALUES(32,'pending','razorpay',NULL,NULL,'order_1764392514440',NULL); -INSERT INTO payment_info VALUES(33,'pending','razorpay',NULL,NULL,'order_1764392606452',NULL); -INSERT INTO payment_info VALUES(34,'pending','razorpay',NULL,NULL,'order_1764392717827',NULL); -INSERT INTO payment_info VALUES(35,'pending','razorpay',NULL,NULL,'order_1764393153653',NULL); -INSERT INTO payment_info VALUES(36,'pending','razorpay',NULL,NULL,'order_1764396332043',NULL); -INSERT INTO payment_info VALUES(37,'pending','phonepe',NULL,NULL,'order_1764397057662',NULL); -INSERT INTO payment_info VALUES(38,'pending','razorpay',NULL,NULL,'order_1764397317408',NULL); -INSERT INTO payment_info VALUES(39,'pending','razorpay',NULL,NULL,'order_1764398178092',NULL); -INSERT INTO payment_info VALUES(40,'pending','razorpay',NULL,NULL,'order_1764400222682',NULL); -INSERT INTO payment_info VALUES(41,'pending','razorpay',NULL,NULL,'order_1764400862503',NULL); -INSERT INTO payment_info VALUES(42,'pending','razorpay',NULL,NULL,'order_1764401267896',NULL); -INSERT INTO payment_info VALUES(43,'pending','razorpay',NULL,NULL,'order_1764405067997',NULL); -INSERT INTO payment_info VALUES(44,'pending','razorpay',NULL,NULL,'order_1765380758868',NULL); -INSERT INTO payment_info VALUES(45,'pending','razorpay',NULL,NULL,'order_1765380872212',NULL); -INSERT INTO payment_info VALUES(46,'pending','razorpay',NULL,NULL,'multi_order_1765645204515',NULL); -INSERT INTO payment_info VALUES(47,'pending','razorpay',NULL,NULL,'multi_order_1765645272415',NULL); -CREATE TABLE IF NOT EXISTS "payments" ("id" INTEGER NOT NULL, "order_id" INTEGER NOT NULL, "status" TEXT NOT NULL, "gateway" TEXT NOT NULL, "token" TEXT, "merchant_order_id" TEXT NOT NULL, "payload" TEXT); -INSERT INTO payments VALUES(1,1,'success','razorpay','1','order_RhdccfyUTkxlH4','{"id":"order_RhdccfyUTkxlH4","notes":{"customerOrderId":"1"},"amount":4400,"entity":"order","status":"created","receipt":"order_1","attempts":0,"currency":"INR","offer_id":null,"signature":"b767a4fdda78476999d21bb7e1cfa72a938e21d592870bd6873ea1bc33336da5","amount_due":4400,"created_at":1763563898,"payment_id":"pay_RheSGc35HYPRPH","amount_paid":0}'); -INSERT INTO payments VALUES(2,2,'pending','razorpay','2','order_RhduSaAJIuFBzZ','{"id":"order_RhduSaAJIuFBzZ","notes":{"customerOrderId":"2"},"amount":22000,"entity":"order","status":"created","receipt":"order_2","attempts":0,"currency":"INR","offer_id":null,"amount_due":22000,"created_at":1763564911,"amount_paid":0}'); -INSERT INTO payments VALUES(3,3,'pending','razorpay','3','order_Rhg5W23p2znoMY','{"id":"order_Rhg5W23p2znoMY","notes":{"customerOrderId":"3"},"amount":22000,"entity":"order","status":"created","receipt":"order_3","attempts":0,"currency":"INR","offer_id":null,"amount_due":22000,"created_at":1763572582,"amount_paid":0}'); -INSERT INTO payments VALUES(4,4,'pending','razorpay','4','order_Rhg6mh3BUvamRb','{"id":"order_Rhg6mh3BUvamRb","notes":{"customerOrderId":"4"},"amount":43000,"entity":"order","status":"created","receipt":"order_4","attempts":0,"currency":"INR","offer_id":null,"amount_due":43000,"created_at":1763572654,"amount_paid":0}'); -INSERT INTO payments VALUES(5,5,'failed','razorpay','5','order_RhgHdO0tN2ze09','{"id":"order_RhgHdO0tN2ze09","notes":{"customerOrderId":"5"},"amount":70000,"entity":"order","status":"created","receipt":"order_5","attempts":0,"currency":"INR","offer_id":null,"amount_due":70000,"created_at":1763573270,"amount_paid":0}'); -INSERT INTO payments VALUES(6,6,'pending','razorpay','6','order_RhgYaSCauk0Q2K','{"id":"order_RhgYaSCauk0Q2K","notes":{"customerOrderId":"6"},"amount":2200,"entity":"order","status":"created","receipt":"order_6","attempts":0,"currency":"INR","offer_id":null,"amount_due":2200,"created_at":1763574233,"amount_paid":0}'); -INSERT INTO payments VALUES(7,7,'pending','razorpay','7','order_RhgZsq1zxjncFX','{"id":"order_RhgZsq1zxjncFX","notes":{"customerOrderId":"7"},"amount":2200,"entity":"order","status":"created","receipt":"order_7","attempts":0,"currency":"INR","offer_id":null,"amount_due":2200,"created_at":1763574307,"amount_paid":0}'); -INSERT INTO payments VALUES(8,8,'pending','razorpay','8','order_Rhgczd7LM2RlaP','{"id":"order_Rhgczd7LM2RlaP","notes":{"customerOrderId":"8"},"amount":2200,"entity":"order","status":"created","receipt":"order_8","attempts":0,"currency":"INR","offer_id":null,"amount_due":2200,"created_at":1763574483,"amount_paid":0}'); -INSERT INTO payments VALUES(9,9,'pending','razorpay','9','order_RhgiZalLiVPuH8','{"id":"order_RhgiZalLiVPuH8","notes":{"customerOrderId":"9"},"amount":50000,"entity":"order","status":"created","receipt":"order_9","attempts":0,"currency":"INR","offer_id":null,"amount_due":50000,"created_at":1763574800,"amount_paid":0}'); -INSERT INTO payments VALUES(10,11,'pending','razorpay','11','order_Rhgs4FOJ0LP3Ey','{"id":"order_Rhgs4FOJ0LP3Ey","notes":{"customerOrderId":"11"},"amount":4400,"entity":"order","status":"created","receipt":"order_11","attempts":0,"currency":"INR","offer_id":null,"amount_due":4400,"created_at":1763575340,"amount_paid":0}'); -INSERT INTO payments VALUES(11,12,'failed','razorpay','12','order_RhguHTMNkOdUwp','{"id":"order_RhguHTMNkOdUwp","notes":{"customerOrderId":"12"},"amount":22000,"entity":"order","status":"created","receipt":"order_12","attempts":0,"currency":"INR","offer_id":null,"amount_due":22000,"created_at":1763575465,"amount_paid":0}'); -INSERT INTO payments VALUES(12,13,'pending','razorpay','13','order_RhgwhwZZdjweOR','{"id":"order_RhgwhwZZdjweOR","notes":{"customerOrderId":"13"},"amount":2200,"entity":"order","status":"created","receipt":"order_13","attempts":0,"currency":"INR","offer_id":null,"amount_due":2200,"created_at":1763575603,"amount_paid":0}'); -INSERT INTO payments VALUES(13,14,'failed','razorpay','14','order_RhgzcqerOQNs98','{"id":"order_RhgzcqerOQNs98","notes":{"customerOrderId":"14"},"amount":21000,"entity":"order","status":"created","receipt":"order_14","attempts":0,"currency":"INR","offer_id":null,"amount_due":21000,"created_at":1763575769,"amount_paid":0}'); -INSERT INTO payments VALUES(14,14,'success','razorpay','14','order_Rhh00qJNdjUp8o','{"id":"order_Rhh00qJNdjUp8o","notes":{"retry":"true","customerOrderId":"14"},"amount":21000,"entity":"order","status":"created","receipt":"order_14_retry","attempts":0,"currency":"INR","offer_id":null,"signature":"6df20655021f1d6841340f2a2ef2ef9378cb3d43495ab09e85f08aea1a851583","amount_due":21000,"created_at":1763575791,"payment_id":"pay_Rhh15cLL28YM7j","amount_paid":0}'); -INSERT INTO payments VALUES(15,12,'success','razorpay','12','order_Rhh1R5ViTgI0Zs','{"id":"order_Rhh1R5ViTgI0Zs","notes":{"retry":"true","customerOrderId":"12"},"amount":22000,"entity":"order","status":"created","receipt":"order_12_retry","attempts":0,"currency":"INR","offer_id":null,"signature":"bef3958fa069c43b61801c1f16edf8372835a324e17bc2448f8ec6a28a8eb7f4","amount_due":22000,"created_at":1763575872,"payment_id":"pay_Rhh1qKLJknk3n4","amount_paid":0}'); -INSERT INTO payments VALUES(16,5,'pending','razorpay','5','order_Rhh2UWeTun3fju','{"id":"order_Rhh2UWeTun3fju","notes":{"retry":"true","customerOrderId":"5"},"amount":70000,"entity":"order","status":"created","receipt":"order_5_retry","attempts":0,"currency":"INR","offer_id":null,"amount_due":70000,"created_at":1763575932,"amount_paid":0}'); -INSERT INTO payments VALUES(17,15,'failed','razorpay','15','order_Ri6rB90w7pYBr9','{"id":"order_Ri6rB90w7pYBr9","notes":{"customerOrderId":"15"},"amount":70000,"entity":"order","status":"created","receipt":"order_15","attempts":0,"currency":"INR","offer_id":null,"amount_due":70000,"created_at":1763666851,"amount_paid":0}'); -INSERT INTO payments VALUES(18,16,'failed','razorpay','16','order_Ri6sAWser4nop7','{"id":"order_Ri6sAWser4nop7","notes":{"customerOrderId":"16"},"amount":70000,"entity":"order","status":"created","receipt":"order_16","attempts":0,"currency":"INR","offer_id":null,"amount_due":70000,"created_at":1763666907,"amount_paid":0}'); -INSERT INTO payments VALUES(19,17,'failed','razorpay','17','order_Ri6tMMIZdzeqis','{"id":"order_Ri6tMMIZdzeqis","notes":{"customerOrderId":"17"},"amount":21000,"entity":"order","status":"created","receipt":"order_17","attempts":0,"currency":"INR","offer_id":null,"amount_due":21000,"created_at":1763666975,"amount_paid":0}'); -INSERT INTO payments VALUES(20,17,'failed','razorpay','17','order_Ri6tQL1UNaANTQ','{"id":"order_Ri6tQL1UNaANTQ","notes":{"customerOrderId":"17"},"amount":21000,"entity":"order","status":"created","receipt":"order_17","attempts":0,"currency":"INR","offer_id":null,"amount_due":21000,"created_at":1763666979,"amount_paid":0}'); -INSERT INTO payments VALUES(21,17,'failed','razorpay','17','order_Ri6tVB8hDRO076','{"id":"order_Ri6tVB8hDRO076","notes":{"customerOrderId":"17"},"amount":21000,"entity":"order","status":"created","receipt":"order_17","attempts":0,"currency":"INR","offer_id":null,"amount_due":21000,"created_at":1763666983,"amount_paid":0}'); -INSERT INTO payments VALUES(22,19,'failed','razorpay','19','order_Rj2wr3MPXGMjHS','{"id":"order_Rj2wr3MPXGMjHS","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1763871427,"amount_paid":0}'); -INSERT INTO payments VALUES(23,21,'success','razorpay','21','order_RjAd65gFHGAF4g','{"id":"order_RjAd65gFHGAF4g","notes":{"customerOrderId":"21"},"amount":72200,"entity":"order","status":"created","receipt":"order_21","attempts":0,"currency":"INR","offer_id":null,"signature":"7f4ec6ff7361e0f2a5e0a27d409506fee107402f84d0c4ad86767d84fb6e75d0","amount_due":72200,"created_at":1763898478,"payment_id":"pay_RjAe9Zb7Si4j4o","amount_paid":0}'); -INSERT INTO payments VALUES(24,23,'success','razorpay','23','order_RjYovXkkXeehgQ','{"id":"order_RjYovXkkXeehgQ","notes":{"customerOrderId":"23"},"amount":22000,"entity":"order","status":"created","receipt":"order_23","attempts":0,"currency":"INR","offer_id":null,"signature":"099541f6002cc931b300141af765c194c016f07d89717c962667a743b8694c21","amount_due":22000,"created_at":1763983669,"payment_id":"pay_RjYtSlsBMHg07p","amount_paid":0}'); -INSERT INTO payments VALUES(25,25,'success','razorpay','25','order_Rjwkoef4xrIElJ','{"id":"order_Rjwkoef4xrIElJ","notes":{"customerOrderId":"25"},"amount":456000,"entity":"order","status":"created","receipt":"order_25","attempts":0,"currency":"INR","offer_id":null,"signature":"7c17e6edf771b124218cdc4ecaa4957bf4410c39a70d38e0c5610266e36aeb2c","amount_due":456000,"created_at":1764067954,"payment_id":"pay_RjwmIVh7dXngbZ","amount_paid":0}'); -INSERT INTO payments VALUES(26,26,'success','razorpay','26','order_RkkWFDKoRb26Wl','{"id":"order_RkkWFDKoRb26Wl","notes":{"customerOrderId":"26"},"amount":970240,"entity":"order","status":"created","receipt":"order_26","attempts":0,"currency":"INR","offer_id":null,"signature":"dfd2a9b63673d6fc1293c7206a14907a699d0da094c8e8a483cfaa75f76447fc","amount_due":970240,"created_at":1764243207,"payment_id":"pay_RkkWqcVVg01uW6","amount_paid":0}'); -INSERT INTO payments VALUES(27,30,'success','razorpay','30','order_RlPi7QaPW4b8Gw','{"id":"order_RlPi7QaPW4b8Gw","notes":{"customerOrderId":"30"},"amount":187000,"entity":"order","status":"created","receipt":"order_30","attempts":0,"currency":"INR","offer_id":null,"signature":"5e42cb3791ed3fb19b4d13f4c8a21f30de1f74ec5e0babf31510bb4249edd483","amount_due":187000,"created_at":1764388268,"payment_id":"pay_RlPjeb1hpjBIt6","amount_paid":0}'); -INSERT INTO payments VALUES(28,31,'failed','razorpay','31','order_RlPmA6xXh1YRDc','{"id":"order_RlPmA6xXh1YRDc","notes":{"customerOrderId":"31"},"amount":187000,"entity":"order","status":"created","receipt":"order_31","attempts":0,"currency":"INR","offer_id":null,"amount_due":187000,"created_at":1764388497,"amount_paid":0}'); -INSERT INTO payments VALUES(29,32,'failed','razorpay','32','order_RlPwSYB4XqfQB7','{"id":"order_RlPwSYB4XqfQB7","notes":{"customerOrderId":"32"},"amount":149600,"entity":"order","status":"created","receipt":"order_32","attempts":0,"currency":"INR","offer_id":null,"amount_due":149600,"created_at":1764389082,"amount_paid":0}'); -INSERT INTO payments VALUES(30,33,'success','razorpay','33','order_RlPyjETea6ty73','{"id":"order_RlPyjETea6ty73","notes":{"customerOrderId":"33"},"amount":56000,"entity":"order","status":"created","receipt":"order_33","attempts":0,"currency":"INR","offer_id":null,"signature":"e72f5ca9b95f1837861b5efc2f2289f9f556c908ba2a19cf85e1d545980eee7c","amount_due":56000,"created_at":1764389211,"payment_id":"pay_RlPzYBu93IT0Vi","amount_paid":0}'); -INSERT INTO payments VALUES(31,35,'failed','razorpay','35','order_RlQLPUSRDheMYA','{"id":"order_RlQLPUSRDheMYA","notes":{"customerOrderId":"35"},"amount":112000,"entity":"order","status":"created","receipt":"order_35","attempts":0,"currency":"INR","offer_id":null,"amount_due":112000,"created_at":1764390499,"amount_paid":0}'); -INSERT INTO payments VALUES(32,37,'failed','razorpay','37','order_RlQXT2rr7csMdO','{"id":"order_RlQXT2rr7csMdO","notes":{"customerOrderId":"37"},"amount":231000,"entity":"order","status":"created","receipt":"order_37","attempts":0,"currency":"INR","offer_id":null,"amount_due":231000,"created_at":1764391184,"amount_paid":0}'); -INSERT INTO payments VALUES(33,38,'failed','razorpay','38','order_RlQZ9Z4bHiEctz','{"id":"order_RlQZ9Z4bHiEctz","notes":{"customerOrderId":"38"},"amount":162000,"entity":"order","status":"created","receipt":"order_38","attempts":0,"currency":"INR","offer_id":null,"amount_due":162000,"created_at":1764391280,"amount_paid":0}'); -INSERT INTO payments VALUES(34,40,'failed','razorpay','40','order_RlQg7pdyZk07ev','{"id":"order_RlQg7pdyZk07ev","notes":{"customerOrderId":"40"},"amount":132000,"entity":"order","status":"created","receipt":"order_40","attempts":0,"currency":"INR","offer_id":null,"amount_due":132000,"created_at":1764391676,"amount_paid":0}'); -INSERT INTO payments VALUES(35,41,'pending','razorpay','41','order_RlQkq8lYf2blRm','{"id":"order_RlQkq8lYf2blRm","notes":{"customerOrderId":"41"},"amount":132000,"entity":"order","status":"created","receipt":"order_41","attempts":0,"currency":"INR","offer_id":null,"amount_due":132000,"created_at":1764391944,"amount_paid":0}'); -INSERT INTO payments VALUES(36,42,'pending','razorpay','42','order_RlQlwOKfGfD8Ew','{"id":"order_RlQlwOKfGfD8Ew","notes":{"customerOrderId":"42"},"amount":37600,"entity":"order","status":"created","receipt":"order_42","attempts":0,"currency":"INR","offer_id":null,"amount_due":37600,"created_at":1764392006,"amount_paid":0}'); -INSERT INTO payments VALUES(37,43,'pending','razorpay','43','order_RlQuu1EUfczKPN','{"id":"order_RlQuu1EUfczKPN","notes":{"customerOrderId":"43"},"amount":146400,"entity":"order","status":"created","receipt":"order_43","attempts":0,"currency":"INR","offer_id":null,"amount_due":146400,"created_at":1764392515,"amount_paid":0}'); -INSERT INTO payments VALUES(38,44,'pending','razorpay','44','order_RlQwWNsgADgxDz','{"id":"order_RlQwWNsgADgxDz","notes":{"customerOrderId":"44"},"amount":146400,"entity":"order","status":"created","receipt":"order_44","attempts":0,"currency":"INR","offer_id":null,"amount_due":146400,"created_at":1764392607,"amount_paid":0}'); -INSERT INTO payments VALUES(39,45,'pending','razorpay','45','order_RlQyTsabL2V16b','{"id":"order_RlQyTsabL2V16b","notes":{"customerOrderId":"45"},"amount":149600,"entity":"order","status":"created","receipt":"order_45","attempts":0,"currency":"INR","offer_id":null,"amount_due":149600,"created_at":1764392719,"amount_paid":0}'); -INSERT INTO payments VALUES(40,46,'pending','razorpay','46','order_RlR69lcxwqstb6','{"id":"order_RlR69lcxwqstb6","notes":{"customerOrderId":"46"},"amount":690400,"entity":"order","status":"created","receipt":"order_46","attempts":0,"currency":"INR","offer_id":null,"amount_due":690400,"created_at":1764393155,"amount_paid":0}'); -INSERT INTO payments VALUES(41,47,'pending','razorpay','47','order_RlS07mRZPryR3t','{"id":"order_RlS07mRZPryR3t","notes":{"customerOrderId":"47"},"amount":75200,"entity":"order","status":"created","receipt":"order_47","attempts":0,"currency":"INR","offer_id":null,"amount_due":75200,"created_at":1764396334,"amount_paid":0}'); -INSERT INTO payments VALUES(42,48,'failed','razorpay','48','order_RlSCsTHyNKuOhn','{"id":"order_RlSCsTHyNKuOhn","notes":{"customerOrderId":"48"},"amount":112200,"entity":"order","status":"created","receipt":"order_48","attempts":0,"currency":"INR","offer_id":null,"amount_due":112200,"created_at":1764397058,"amount_paid":0}'); -INSERT INTO payments VALUES(43,49,'success','razorpay','49','order_RlSHRuwHdMoUye','{"id":"order_RlSHRuwHdMoUye","notes":{"customerOrderId":"49"},"amount":315600,"entity":"order","status":"created","receipt":"order_49","attempts":0,"currency":"INR","offer_id":null,"signature":"7822497f6f5c8894b139e0565223a2d3c6fb5df298a4998f9979efbe474d24e6","amount_due":315600,"created_at":1764397318,"payment_id":"pay_RlSHwidHn91jay","amount_paid":0}'); -INSERT INTO payments VALUES(44,50,'success','razorpay','50','order_RlSWc4NJJ69f7V','{"id":"order_RlSWc4NJJ69f7V","notes":{"customerOrderId":"50"},"amount":468600,"entity":"order","status":"created","receipt":"order_50","attempts":0,"currency":"INR","offer_id":null,"signature":"839a9f6ccf1306ca400587567b80ef8865972855657e228126dfabecd65866e7","amount_due":468600,"created_at":1764398179,"payment_id":"pay_RlSX31RGtluYVh","amount_paid":0}'); -INSERT INTO payments VALUES(45,51,'success','razorpay','51','order_RlT6bwRhArlEkf','{"id":"order_RlT6bwRhArlEkf","notes":{"customerOrderId":"51"},"amount":25000,"entity":"order","status":"created","receipt":"order_51","attempts":0,"currency":"INR","offer_id":null,"signature":"59150ddcdd04d841a95e7e3a7d3f209b267e46ecfe2cf91b85c96eb977f9b026","amount_due":25000,"created_at":1764400224,"payment_id":"pay_RlT7JjVCrxXRHC","amount_paid":0}'); -INSERT INTO payments VALUES(46,52,'success','razorpay','52','order_RlTHrPLnw2EujN','{"id":"order_RlTHrPLnw2EujN","notes":{"customerOrderId":"52"},"amount":25000,"entity":"order","status":"created","receipt":"order_52","attempts":0,"currency":"INR","offer_id":null,"signature":"45d931069bf90287f48010decf24a9eba589909069ecb184f0bc8311105cb673","amount_due":25000,"created_at":1764400863,"payment_id":"pay_RlTIbvllphqQnW","amount_paid":0}'); -INSERT INTO payments VALUES(47,53,'success','razorpay','53','order_RlTOzxz8DaDOwf','{"id":"order_RlTOzxz8DaDOwf","notes":{"customerOrderId":"53"},"amount":40000,"entity":"order","status":"created","receipt":"order_53","attempts":0,"currency":"INR","offer_id":null,"signature":"5452ac1b6535e0348ff7f91eee9d597856cf32a9ec64dfc467e7d2b53e8fef95","amount_due":40000,"created_at":1764401268,"payment_id":"pay_RlTPeKJPkdLz7Z","amount_paid":0}'); -INSERT INTO payments VALUES(48,54,'success','razorpay','54','order_RlUTuqAZzfNeUv','{"id":"order_RlUTuqAZzfNeUv","notes":{"customerOrderId":"54"},"amount":285000,"entity":"order","status":"created","receipt":"order_54","attempts":0,"currency":"INR","offer_id":null,"signature":"724b5c2ca061a38dd2a8d21c43a2f7caf246936d628961d9739bbea1edffc4bd","amount_due":285000,"created_at":1764405069,"payment_id":"pay_RlUUaZfFUQu0bw","amount_paid":0}'); -INSERT INTO payments VALUES(49,19,'pending','razorpay','19','order_RpVxTzSti5nJlk','{"id":"order_RpVxTzSti5nJlk","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1765283630,"amount_paid":0}'); -INSERT INTO payments VALUES(50,19,'pending','razorpay','19','order_RpVxUPtLxk2htm','{"id":"order_RpVxUPtLxk2htm","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1765283631,"amount_paid":0}'); -INSERT INTO payments VALUES(51,56,'success','razorpay','56','order_RpxXVYjAZ9hKRs','{"id":"order_RpxXVYjAZ9hKRs","notes":{"customerOrderId":"56"},"amount":6400,"entity":"order","status":"created","receipt":"order_56","attempts":0,"currency":"INR","offer_id":null,"signature":"a0bf4ed36bfc2f29c3744374450dcfc516f7d59493102959fc2acb03d1bf09ab","amount_due":6400,"created_at":1765380760,"payment_id":"pay_RpxYgEbuw15e12","amount_paid":0}'); -INSERT INTO payments VALUES(52,57,'failed','razorpay','57','order_RpxZTOWJFF0sor','{"id":"order_RpxZTOWJFF0sor","notes":{"customerOrderId":"57"},"amount":7200,"entity":"order","status":"created","receipt":"order_57","attempts":0,"currency":"INR","offer_id":null,"amount_due":7200,"created_at":1765380872,"amount_paid":0}'); -INSERT INTO payments VALUES(53,57,'pending','razorpay','57','order_RpxaFYaBBoE3xA','{"id":"order_RpxaFYaBBoE3xA","notes":{"customerOrderId":"57"},"amount":7200,"entity":"order","status":"created","receipt":"order_57","attempts":0,"currency":"INR","offer_id":null,"amount_due":7200,"created_at":1765380916,"amount_paid":0}'); -INSERT INTO payments VALUES(54,46,'pending','razorpay','46','order_RrAdEPX05BXXGH','{"id":"order_RrAdEPX05BXXGH","notes":{"customerOrderId":"46"},"amount":112000,"entity":"order","status":"created","receipt":"order_46","attempts":0,"currency":"INR","offer_id":null,"amount_due":112000,"created_at":1765645206,"amount_paid":0}'); -INSERT INTO payments VALUES(55,63,'failed','razorpay','63','order_RrAdG1zzVqBNBX','{"id":"order_RrAdG1zzVqBNBX","notes":{"customerOrderId":"63"},"amount":112000,"entity":"order","status":"created","receipt":"order_63","attempts":0,"currency":"INR","offer_id":null,"amount_due":112000,"created_at":1765645208,"amount_paid":0}'); -INSERT INTO payments VALUES(56,47,'pending','razorpay','47','order_RrAePs61Rzlajz','{"id":"order_RrAePs61Rzlajz","notes":{"customerOrderId":"47"},"amount":112000,"entity":"order","status":"created","receipt":"order_47","attempts":0,"currency":"INR","offer_id":null,"amount_due":112000,"created_at":1765645274,"amount_paid":0}'); -INSERT INTO payments VALUES(57,64,'failed','razorpay','64','order_RrAeRKPcgCqCH5','{"id":"order_RrAeRKPcgCqCH5","notes":{"customerOrderId":"64"},"amount":42000,"entity":"order","status":"created","receipt":"order_64","attempts":0,"currency":"INR","offer_id":null,"amount_due":42000,"created_at":1765645275,"amount_paid":0}'); -INSERT INTO payments VALUES(58,64,'failed','razorpay','64','order_RrAeVlINAOaLMi','{"id":"order_RrAeVlINAOaLMi","notes":{"customerOrderId":"64"},"amount":42000,"entity":"order","status":"created","receipt":"order_64","attempts":0,"currency":"INR","offer_id":null,"amount_due":42000,"created_at":1765645279,"amount_paid":0}'); -INSERT INTO payments VALUES(59,19,'pending','razorpay','19','order_Rx3m1bvIbeGnQy','{"id":"order_Rx3m1bvIbeGnQy","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931095,"amount_paid":0}'); -INSERT INTO payments VALUES(60,19,'pending','razorpay','19','order_Rx3m23b4jndeAR','{"id":"order_Rx3m23b4jndeAR","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931096,"amount_paid":0}'); -INSERT INTO payments VALUES(61,19,'pending','razorpay','19','order_Rx3m2DF1gpeu8L','{"id":"order_Rx3m2DF1gpeu8L","notes":{"customerOrderId":"19"},"amount":53000,"entity":"order","status":"created","receipt":"order_19","attempts":0,"currency":"INR","offer_id":null,"amount_due":53000,"created_at":1766931096,"amount_paid":0}'); -CREATE TABLE IF NOT EXISTS "product_availability_schedules" ("id" INTEGER NOT NULL, "time" TEXT NOT NULL, "schedule_name" TEXT NOT NULL, "action" TEXT NOT NULL, "product_ids" TEXT NOT NULL DEFAULT '[]', "group_ids" TEXT NOT NULL DEFAULT '[]', "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_updated" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_availability_schedules VALUES(1,'22:00','Demo schedule','in','[9,83,81,75,82,22,102,6,14,35,86,4,99,98]','[9,7]','2026-03-19T08:25:27.311Z','2026-03-19T08:25:27.311Z'); -INSERT INTO product_availability_schedules VALUES(3,'00:22','Test4','in','[50]','[]','2026-03-19T13:20:01.972Z','2026-03-19T13:20:01.972Z'); -INSERT INTO product_availability_schedules VALUES(4,'12:00','Mutton off','out','[6,14,35,86,4,99,98]','[7]','2026-03-20T11:27:20.629Z','2026-03-20T11:27:20.629Z'); -CREATE TABLE IF NOT EXISTS "product_categories" ("id" INTEGER NOT NULL, "name" TEXT NOT NULL, "description" TEXT); -CREATE TABLE IF NOT EXISTS "product_group_info" ("id" INTEGER NOT NULL, "group_name" TEXT NOT NULL, "description" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_group_info VALUES(1,'Vegetables','All Market Vegetables','2025-12-31T22:12:45.110Z'); -INSERT INTO product_group_info VALUES(2,'Chicken Items','All Chicken Items','2025-12-31T22:13:41.539Z'); -INSERT INTO product_group_info VALUES(3,'Fruits','All Fruits','2025-12-31T22:15:13.138Z'); -INSERT INTO product_group_info VALUES(5,'All Chicken items ','All chicken items only ','2026-01-25T08:24:51.769Z'); -INSERT INTO product_group_info VALUES(7,'All mutton items','All mutton items ','2026-01-25T08:32:15.938Z'); -INSERT INTO product_group_info VALUES(8,'All vegetables items ','All vegetables items ','2026-01-25T08:35:03.380Z'); -INSERT INTO product_group_info VALUES(9,'All fish ','All fish ','2026-01-25T08:57:31.702Z'); -INSERT INTO product_group_info VALUES(10,'All fruits items ','','2026-01-30T09:39:13.561Z'); -CREATE TABLE IF NOT EXISTS "product_group_membership" ("product_id" INTEGER NOT NULL, "group_id" INTEGER NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_group_membership VALUES(1,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(2,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(2,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(3,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(3,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(4,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(5,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(6,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(6,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(6,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(6,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(7,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(7,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(8,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(8,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(9,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(10,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(10,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(11,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(11,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(13,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(13,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(13,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(14,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(15,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(16,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(17,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(17,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(18,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(18,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(19,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(19,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(21,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(21,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(22,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(23,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(23,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(24,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(24,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(25,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(25,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(26,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(26,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(27,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(27,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(28,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(28,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(29,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(29,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(30,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(30,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(31,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(31,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(32,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(32,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(33,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(33,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(34,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(35,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(36,2,'2025-12-31T22:13:41.542Z'); -INSERT INTO product_group_membership VALUES(36,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(37,1,'2025-12-31T22:12:45.118Z'); -INSERT INTO product_group_membership VALUES(37,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(38,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(38,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(39,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(39,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(40,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(41,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(42,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(43,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(43,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(44,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(44,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(45,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(46,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(46,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(47,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(47,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(48,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(49,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(49,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(50,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(50,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(51,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(51,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(52,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(52,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(53,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(53,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(54,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(54,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(55,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(55,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(56,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(56,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(57,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(57,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(58,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(58,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(59,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(59,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(60,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(60,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(61,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(61,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(62,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(62,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(63,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(63,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(64,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(65,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(66,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(67,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(68,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(69,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(70,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(71,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(72,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(73,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(73,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(74,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(75,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(76,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(77,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(78,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(79,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(80,5,'2026-01-25T08:24:51.778Z'); -INSERT INTO product_group_membership VALUES(81,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(82,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(83,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(86,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(88,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(89,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(90,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(91,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(92,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(94,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(95,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(96,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(96,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(97,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(98,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(99,7,'2026-02-07T22:17:04.063Z'); -INSERT INTO product_group_membership VALUES(100,10,'2026-02-18T12:21:50.395Z'); -INSERT INTO product_group_membership VALUES(100,3,'2026-02-23T03:23:47.142Z'); -INSERT INTO product_group_membership VALUES(101,8,'2026-02-23T03:23:13.305Z'); -INSERT INTO product_group_membership VALUES(102,9,'2026-02-18T12:20:51.332Z'); -INSERT INTO product_group_membership VALUES(103,8,'2026-02-23T03:23:13.305Z'); -CREATE TABLE IF NOT EXISTS "product_info" ("id" INTEGER NOT NULL, "name" TEXT NOT NULL, "short_description" TEXT, "long_description" TEXT, "unit_id" INTEGER NOT NULL, "price" REAL NOT NULL, "images" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_out_of_stock" INTEGER NOT NULL DEFAULT false, "market_price" REAL, "store_id" INTEGER, "is_suspended" INTEGER NOT NULL DEFAULT false, "increment_step" REAL NOT NULL DEFAULT 1, "is_flash_available" INTEGER NOT NULL DEFAULT false, "flash_price" REAL, "product_quantity" REAL NOT NULL DEFAULT 1, "scheduled_availability" INTEGER NOT NULL DEFAULT true); -INSERT INTO product_info VALUES(1,'Chicken Liver','Liver sourced from the farm hens.',replace('Bring home the deep, hearty taste of fresh Chicken Liver, sourced from healthy, farm-raised chickens. Each piece is carefully cleaned and handled with care to retain its natural richness, smooth texture, and vibrant color.\n\nPerfect for making creamy pâtés, spicy fry dishes, gravies, or traditional home-style recipes, our chicken liver delivers authentic flavor and exceptional freshness in every bite.','\n',char(10)),1,99.0,'["product-images/1768478127128-0","product-images/1768478472220-0"]','2025-11-18T08:06:27.505Z',0,110.0,1,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(2,'Chicken Breast 500 g','Farm Chicken Breast uncut and solid.',replace('Experience the rich taste of fresh, premium-quality chicken sourced directly from trusted farms. Each bird is carefully cleaned, processed hygienically, and delivered chilled to preserve its natural flavor, tenderness, and juiciness.\n\nWhether you''re preparing a hearty curry, roasting for a family meal, or grilling for a weekend cookout, our whole chicken offers consistent texture, rich aroma, and superior taste in every bite.','\n',char(10)),1,198.0,'["product-images/1768397780093-0","product-images/1768479562478-0"]','2025-11-18T08:32:49.003Z',0,220.0,1,0,1.0,1,230.0,0.5,1); -INSERT INTO product_info VALUES(3,'Chicken Lollipops','Chicken cut for lollipop starter dish',replace('Turn any meal into a celebration with our premium Chicken Lollipop Cuts, expertly carved from fresh chicken drumettes and wings. Each piece is shaped cleanly into the classic “lollipop” form—perfect for frying, grilling, or tossing in your favorite tangy sauces.\n\nEnjoy the ideal balance of meatiness, tenderness, and crunch potential, making it a must-have for home chefs, party hosts, and spice lovers alike.','\n',char(10)),1,76.0,'["product-images/1768475599800-0"]','2025-11-18T08:56:07.106Z',1,89.0,1,0,1.0,0,120.0,0.25,1); -INSERT INTO product_info VALUES(4,'Mutton','Fresh, tender mutton cut from quality goat meat, cleaned and prepared hygienically for rich taste and authentic curries.',replace('Our mutton is sourced from healthy, quality goats and cut fresh to ensure natural flavor and tenderness. Each piece is carefully cleaned and processed under hygienic conditions to retain its juiciness and traditional taste. Known for its deep, rich flavor, this mutton is ideal for curries, biryanis, gravies, roasts, and slow-cooked dishes. No chemicals, no preservatives—just pure mutton that cooks well, absorbs spices properly, and delivers the taste people actually expect from good meat.\n','\n',char(10)),1,819.0,'["product-images/1767636171845-0"]','2025-11-18T08:57:53.779Z',1,860.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(5,'Cucumber(Kheera)','High water content, helps hydration, and keeps the body cool.',replace('\nThis fresh cucumber is crisp, juicy, and mild in taste, making it perfect for everyday use. Carefully selected for firmness and freshness, it’s ideal for salads, raita, juices, and garnishing. With high water content and a clean, refreshing bite, cucumber is best enjoyed fresh and chilled.','\n',char(10)),1,26.0,'["product-images/1768710099841-0"]','2025-11-18T08:59:53.556Z',0,33.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(6,'Apple ( pack of 3) ','Kashmiri Apples',replace('These apples are fresh, firm, and crisp with a clean, naturally sweet flavor. Handpicked for quality and freshness, they’re ideal for everyday snacking, salads, or cooking. Simple, reliable fruit that fits easily into daily meals.\n','\n',char(10)),4,109.0,'["product-images/1768640936747-0"]','2025-11-18T09:02:29.167Z',1,120.0,2,0,1.0,1,NULL,3.0,1); -INSERT INTO product_info VALUES(7,'Banana','Fresh bananas with a naturally sweet taste and soft, creamy texture.','Bananas supporting heart health through potassium, improving digestion with fiber, and providing an energy boost from carbohydrates. ',3,49.0,'["product-images/1768640009078-0"]','2025-11-22T01:37:58.613Z',0,60.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(8,'Kiwi','Fresh kiwis with sweet-tart flavor, juicy green flesh, and edible seeds.','Kiwi is rich in Vitamin C, which boosts immunity and keeps the body strong. It also has fiber that helps in digestion and keeps the stomach healthy. Eating kiwi improves skin glow and supports heart health.',4,119.0,'["product-images/1768647119198-0"]','2025-11-22T01:49:17.573Z',0,130.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(9,'Apollo Fish',replace('Boneless\nFresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.','\n',char(10)),'Fresh sea-caught tuna fish with firm texture and rich flavor. Widely used for curries, steaks, grilling, and shallow frying. Naturally high in protein and omega-3 fatty acids, supporting muscle health and heart health. Cleaned and cut hygienically to retain freshness and taste.',1,296.0,'["product-images/1768832690994-0"]','2025-11-22T22:17:08.582Z',0,340.0,1,0,1.0,0,355.0,0.7,1); -INSERT INTO product_info VALUES(10,'Chicken leg piece ','6 pieces ','Fresh, meaty leg pieces with rich flavor and soft texture. Ideal for tandoori, BBQ, and home-style recipes.',4,249.0,'["product-images/1768390245969-0"]','2025-11-22T22:28:25.741Z',0,269.0,1,0,1.0,1,270.0,6.0,1); -INSERT INTO product_info VALUES(11,'Nagpur orange (pack 5)','Fresh oranges with juicy, sweet-tangy flesh and a refreshing citrus taste.','These oranges have a naturally juicy interior with a balanced sweet and tangy flavor. Though green on the outside, the flesh inside is bright, fresh, and full of citrus goodness. Ideal for everyday eating, fresh juice, or adding a refreshing twist to meals.',4,119.0,'["product-images/1768641635898-0"]','2025-11-22T22:30:28.878Z',0,150.0,2,0,1.0,1,150.0,5.0,1); -INSERT INTO product_info VALUES(12,'Lamb Mutton','','"Indulge in the rich, savory experience of our premium mutton. Sourced from the finest cuts, our muttons offers unparalleled tenderness and flavor. Whether you''re grilling a juicy steak, slow-cooking a tender roast, or creating a hearty stew, our mutton is the perfect choice for any culinary creation. Experience the difference quality makes – savor every delicious bite."',1,850.0,'["product-images/1764500702143-0","product-images/1764500702144-1"]','2025-11-30T05:35:04.520Z',1,870.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(13,'Amla (Gooseberry)','Fresh amla with a tangy, slightly sour taste and firm texture.','These fresh amlas are firm, tangy, and packed with natural goodness. Carefully selected for size and freshness, they’re perfect for eating raw, making juice, pickles, or adding to traditional recipes. A healthy fruit full of Vitamin C, with a natural bite and authentic flavor.',1,69.0,'["product-images/1768641988607-0"]','2025-11-30T05:46:29.900Z',0,79.0,2,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(14,'Mutton Boti (Goat Intestines)','Fresh mutton boti, rich in protein and iron, ideal for traditional curries and spicy dishes.','Freshly cleaned mutton boti sourced from healthy goats. Carefully washed and prepared for cooking traditional recipes like boti curry and spicy gravies. Rich in protein and iron, commonly used in regional cuisines. Cleaned hygienically and packed fresh.',1,389.0,'["product-images/1768834170995-0"]','2025-12-04T22:10:55.354Z',1,400.0,1,0,1.0,0,420.0,1.0,1); -INSERT INTO product_info VALUES(15,'Chicken Gizard','Fresh, cleaned chicken gizzards with a rich, meaty texture-ideal for curries, fry recipes, and traditional dishes.','Chicken gizzard is a flavorful and nutrient-rich cut known for its firm texture and deep taste. Carefully cleaned and hygienically packed, our gizzards are sourced fresh to ensure quality and freshness. Perfect for slow-cooked curries, spicy fries, stir-fries, and regional delicacies, chicken gizzard absorbs spices beautifully and delivers a hearty bite in every dish.',1,210.0,'["product-images/1768477813647-0","product-images/1768477813648-1"]','2025-12-06T12:35:43.241Z',1,250.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(16,'Arvi (Arbi) – Colocasia Root','Fresh arvi with soft texture when cooked, ideal for curries, fries, and dry sabzi.','Arvi, also known as colocasia or taro root, is a popular root vegetable used in many Indian dishes. When cooked properly, it becomes soft and creamy with a mildly nutty flavour. Arvi is commonly used in dry sabzis, gravies, and fried preparations. It absorbs spices well and pairs perfectly with both mild and spicy masalas. Naturally rich in dietary fiber and essential nutrients, arvi supports digestion and provides long-lasting energy. Freshly sourced and cleaned to ensure quality and taste. Must be washed and cooked thoroughly before consumption.',1,28.0,'["product-images/1769397372526-0"]','2025-12-12T03:09:59.286Z',0,33.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(17,'Tomato ','Healthy, tasty, and fresh tomatoes','Fresh, red, and juicy tomatoes to make your meals healthier and tastier.',1,28.0,'["product-images/1768640233068-0"]','2025-12-18T02:22:23.436Z',1,35.0,4,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(18,'Onions ','Fresh and flavorful onions for everyday cooking.','Healthy, fresh onions at the best quality and price',1,44.0,'["product-images/1769351976737-0"]','2025-12-18T03:37:08.849Z',0,48.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(19,'Potato','Fresh, healthy potatoes perfect for every dish.','A versatile vegetable every kitchen needs.',1,23.0,'["product-images/1768639707515-0"]','2025-12-18T03:40:28.496Z',0,29.0,4,0,1.0,1,50.0,0.5,1); -INSERT INTO product_info VALUES(20,'Mutton Head','Fresh mutton head rich in protein and collagen, ideal for traditional curries and soups.','Freshly sourced goat head, commonly used in traditional dishes and slow-cooked recipes. Contains head meat (sira) and bones that release rich flavor and collagen when cooked slowly. Popular in regional cuisines for its taste and nourishment. Cleaned thoroughly and packed hygienically.',4,379.0,'["product-images/1769353802270-0"]','2025-12-19T03:42:31.946Z',0,400.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(21,'Whole chicken - fresh cut','Fresh, tender whole chicken cleaned and cut hygienically for rich taste and high protein meals.','Our Whole Chicken is farm-fresh, carefully cleaned, and hygienically processed to lock in natural tenderness and flavor. Rich in protein and essential nutrients, it''s perfect for curries, roasting, grilling, or slow cooking. Delivered fresh to your doorstep, ensuring quality, taste, and nutrition in every bite.',1,559.0,'["product-images/1768539930897-0","product-images/1768539930899-1"]','2025-12-19T03:45:54.143Z',0,620.0,1,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(22,'Tuna Fish boneless ','Fresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.',replace('Fresh sea-caught tuna with firm texture and rich flavor. Suitable for curry preparations, steaks, grilling, and shallow frying. Naturally high in protein and omega-3 fatty acids, supporting muscle and heart health. Cleaned and cut hygienically to retain freshness.\nBrutal truth','\n',char(10)),1,469.0,'["product-images/1768834996932-0"]','2025-12-19T03:53:12.867Z',0,529.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(23,'Chicken ( regular cut )- Small pieces ','Fresh, bone-in chicken pieces ideal for making rich and flavorful curries.','Freshly cut, bone-in chicken pieces perfect for rich, flavorful curries. Cleaned and hygienically packed to lock in tenderness and taste for a delicious home-style meal every time.',1,140.0,'["product-images/1767635527063-0"]','2025-12-19T03:53:53.748Z',1,160.0,1,0,1.0,1,149.0,0.5,1); -INSERT INTO product_info VALUES(24,'Chicken boneless','Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.','Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.',1,198.0,'["product-images/1768484106870-0"]','2025-12-19T03:59:46.418Z',0,220.0,1,0,1.0,1,230.0,0.5,1); -INSERT INTO product_info VALUES(25,'White Dragon Fruit','Fresh white dragon fruit with mild sweetness and soft, juicy flesh.','This white dragon fruit is fresh, mildly sweet, and refreshing with soft white flesh and tiny edible seeds. Carefully selected for size and freshness, it’s ideal for eating fresh, adding to fruit bowls, or blending into smoothies. Light on taste, easy to digest, and perfect for everyday healthy eating.',4,119.0,'["product-images/1768649838027-0"]','2025-12-19T07:39:11.874Z',0,130.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(26,'Fig (Anjeer)','Fresh fig with a soft flesh and mild, naturally sweet flavor.','These fresh figs are soft, juicy, and mildly sweet with a delicate texture. Carefully selected to avoid overripeness, they’re best enjoyed fresh or paired with desserts and salads. A premium fruit meant to be eaten gently and enjoyed slowly.',1,78.0,'["product-images/1768640645444-0"]','2025-12-22T05:34:50.001Z',1,94.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(27,'Brinjal ','Fresh medium-sized brinjal, rich in fiber, low in calories, and ideal for everyday curries and fries.','Freshly harvested brinjal with smooth skin and tender flesh. Mild in taste and versatile in cooking, it is commonly used in curries, stir-fries, bharta, and gravies. Naturally rich in fiber and antioxidants, making it suitable for regular home cooking. Washed and packed hygienically.',1,24.0,'["product-images/1768639645423-0"]','2025-12-22T06:01:30.466Z',0,30.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(28,'Mutton Boneless ','Tender boneless mutton rich in protein, ideal for quick curries, fry, and kebabs.','Freshly cut boneless mutton pieces with minimal fat and strong natural flavour. Suitable for fast-cooking dishes such as gravies, stir-fries, kebabs, and biryani. High in protein and essential minerals, supporting strength and energy. Cleaned and packed hygienically to ensure freshness and quality.',1,855.0,'["product-images/1769356702593-0"]','2025-12-22T06:14:24.499Z',1,879.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(29,' Bottle Gourd (Lauki)','Fresh medium-sized bottle gourd, low in calories, high in water content, easy to digest, and ideal for healthy everyday cooking.','Fresh bottle gourd with smooth green skin and soft, tender flesh. Light in taste and easy to digest, it is widely used in Indian home cooking for curries, dals, soups, and juices. Naturally low in calories and rich in water content, making it suitable for daily meals. Handpicked for freshness and packed hygienically.',4,29.0,'["product-images/1768823985921-0"]','2025-12-22T06:15:31.316Z',0,32.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(30,' Bitter Gourd (Karela)','Fresh bitter gourd, known to help control blood sugar and support digestion.','Fresh bitter gourd with firm texture and deep green color. Widely used in Indian cooking for stir-fries, curries, and juices. Naturally low in calories and rich in fiber, vitamins, and antioxidants. Commonly consumed for its potential benefits in blood sugar management and digestion. Wash thoroughly before use.',1,34.0,'["product-images/1768726783083-0"]','2025-12-22T06:16:16.981Z',0,42.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(31,'Lady Finger (Okra / Bhindi)','Fresh tender lady finger, soft and non-fibrous, ideal for fries and curries.','Lady finger, also known as okra or bhindi, is a popular vegetable used in everyday Indian cooking. Tender lady finger has a soft texture and mild flavour, making it perfect for fries, stir-fries, curries, and gravies. When fresh, it cooks evenly without becoming too sticky. Rich in dietary fiber, vitamins, and antioxidants, it supports digestion and overall health. Carefully sourced and packed to maintain freshness and tenderness. Wash well and trim the ends before cooking.',1,29.0,'["product-images/1769574792720-0"]','2025-12-22T06:17:07.804Z',0,34.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(32,'Lemons ','Farm-fresh lemons with high juice content and natural tangy flavor. Perfect for daily cooking, juices, and salads.','Fresh, handpicked lemons known for their strong aroma, thin skin, and high juice yield. Ideal for nimbu pani, curries, marinades, chutneys, and garnishing. Carefully selected to ensure firmness, freshness, and bright yellow color. Stored and delivered with proper care to maintain natural taste and quality.',4,29.0,'["product-images/1766406273176-0","product-images/1766406273178-1"]','2025-12-22T06:54:35.209Z',0,36.0,4,0,1.0,1,NULL,6.0,1); -INSERT INTO product_info VALUES(33,'Small Methi / Baby Fenugreek Leaves','Fresh small methi leaves with a mild bitterness, perfect for everyday cooking and quick stir-fries.','Small methi, also known as baby fenugreek leaves, is a tender and flavorful leafy vegetable widely used in Indian kitchens. Compared to regular methi, these leaves are smaller, softer, and less bitter, making them ideal for curries, dal, parathas, and simple stir-fries. They cook quickly and blend well with spices without overpowering the dish. Small methi is naturally rich in fiber, iron, and essential nutrients that support digestion and overall health. Carefully cleaned and freshly sourced, these leaves bring authentic taste and freshness to your daily meals.',4,15.0,'["product-images/1769396046557-0"]','2025-12-22T06:55:49.838Z',0,20.0,4,0,1.0,0,NULL,8.0,1); -INSERT INTO product_info VALUES(34,' Mutton Boneless – Mini Pack','Tender boneless mutton, high in protein, easy to cook, ideal for quick curries and fry.','Freshly cut boneless mutton pieces with minimal fat, perfect for quick cooking dishes like stir-fries, gravies, and kebabs. High in protein and rich in flavor, this mini pack is ideal for small families or single meals. Cleaned and packed hygienically to ensure freshness.',1,465.0,'["product-images/1769356039418-0"]','2025-12-22T06:56:25.537Z',1,489.0,1,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(35,'Mutton kheema','Freshly minced premium mutton, finely ground for rich flavor and juicy texture—perfect for kebabs, keema curry, cutlets, and stuffing.','Our mutton mince is prepared from carefully selected fresh cuts, hygienically cleaned and finely minced to deliver bold, authentic flavor in every bite. It has the ideal fat balance to stay juicy while cooking, making it suitable for keema curry, seekh kebabs, koftas, samosas, and stuffed parathas. No additives, no preservatives—just pure, high-quality mutton processed under strict hygiene standards for consistent taste, texture, and freshness.',1,429.0,'["product-images/1767636561867-0"]','2025-12-24T22:43:30.811Z',1,450.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(36,'Chicken Leg With Thigh Pack of 3','Fresh chicken leg with thigh, cut from tender, juicy chicken. Rich in flavor, naturally succulent, and ideal for frying, roasting, grilling, and curries.',replace('Chicken leg with thigh is a flavorful cut taken from the lower and upper leg portion of the chicken, known for its juicy texture and rich taste. This cut retains moisture during cooking, making it perfect for deep frying, tandoori, grilling, roasting, and slow-cooked curries. Hygienically cleaned and neatly cut to ensure freshness and quality. High in protein and full of natural flavor, it delivers a satisfying, tender bite in every dish.\nIf this is for a premium app, we can refine the tone.\nIf it’s for mass-market, this is already more than enough.\nStop being unclear—next time, say where it will be used.','\n',char(10)),1,266.0,'["product-images/1768413754684-0"]','2025-12-24T22:44:23.272Z',0,280.0,1,0,1.0,1,280.0,1.0,1); -INSERT INTO product_info VALUES(37,'Drum sticks ','Rich in fiber, vitamins, supports digestion.','Fresh, tender moringa pods used in sambar, curries, and stir-fries.',4,79.0,'["product-images/1766636589779-0"]','2025-12-24T22:53:10.791Z',0,89.0,4,0,1.0,0,NULL,6.0,1); -INSERT INTO product_info VALUES(38,'Sapota (Chikoo)','Fresh sapota with a soft texture and naturally sweet, malty flavor.','This sapota is fresh, ripe, and naturally sweet with a soft, grainy texture. Selected for good ripeness and flavor, it’s perfect for eating as it is or adding to desserts and milkshakes. A classic fruit with a rich taste and satisfying bite.',1,76.0,'["product-images/1768640403001-0"]','2025-12-24T22:53:56.874Z',1,85.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(39,'Mango','Fresh seasonal mangoes with juicy flesh and natural sweetness.','These mangoes are fresh, ripe, and full of natural sweetness with juicy, flavorful flesh. Carefully selected for ripeness and quality, they’re perfect for eating fresh, making juices, smoothies, or desserts. A seasonal favorite that brings rich taste and aroma to every bite.',1,149.0,'["product-images/1768650081183-0"]','2025-12-24T22:55:16.935Z',1,169.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(40,'Chicken (regular cut) Large pieces ','Fresh chicken curry cut with large pieces, high in protein and ideal for rich gravies and slow cooking.','Fresh broiler chicken cut into large curry-sized pieces for hearty home-style cooking. Ideal for slow-cooked curries, biryanis, and gravies where bigger pieces retain juiciness and flavor. High in protein and prepared hygienically to ensure freshness and quality.',1,133.0,'["product-images/1767637606890-0"]','2026-01-05T12:56:48.180Z',0,145.0,1,0,1.0,1,150.0,0.5,1); -INSERT INTO product_info VALUES(41,'Chicken mince/kheema 500 g','Fresh, lean chicken mince made from premium chicken meat. Finely ground, high in protein, low in fat—perfect for kebabs, cutlets, burgers, curries, and wraps.',replace('Our chicken mince is prepared from carefully selected, fresh chicken meat and finely ground to achieve a smooth, consistent texture. It is naturally lean, rich in high-quality protein, and free from added preservatives, fillers, or artificial colors.\nThis mince cooks quickly and absorbs spices exceptionally well, making it ideal for a wide range of dishes—from juicy kebabs, patties, and meatballs to flavorful curries, stuffed parathas, and wraps. Every batch is hygienically processed and packed to retain freshness, flavor, and nutritional value.\nIf you’re serious about clean eating, muscle-friendly meals, or simply better taste, this chicken mince does the job without compromises.','\n',char(10)),1,189.0,'["product-images/1768307047191-0"]','2026-01-13T06:54:08.959Z',0,200.0,1,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(42,'Chicken Breast Boneless - Mini Pack','Fresh boneless chicken breast mini pack. Lean, tender, and high in protein—perfect for quick meals, salads, grilling, and stir-fries.','Our boneless chicken breast mini pack is made from premium, skinless chicken breast, carefully trimmed and hygienically processed. This cut is lean, low in fat, and rich in protein, making it ideal for healthy cooking. The mini pack size is perfect for small households or single meals, ensuring minimal waste and maximum freshness. Suitable for grilling, pan-frying, boiling, salads, wraps, and meal prep recipes. Free from added preservatives and artificial colors.',1,139.0,'["product-images/1768393778962-0"]','2026-01-14T06:59:39.928Z',0,150.0,1,0,1.0,1,160.0,0.25,1); -INSERT INTO product_info VALUES(43,'Strawberry ','Fresh, juicy strawberries with a natural sweetness and soft bite. Handpicked for vibrant color, rich aroma, and everyday freshness.','Bright red, naturally sweet, and bursting with juice — these strawberries are selected at peak ripeness for their bold flavor and smooth texture. Perfect for desserts, smoothies, or eating straight from the box.',1,135.0,'["product-images/1768638795991-0"]','2026-01-17T03:03:16.953Z',1,160.0,2,0,1.0,0,NULL,0.2,1); -INSERT INTO product_info VALUES(44,'Kinu Oranges (pack of 5)','Fresh, juicy oranges with a natural balance of sweetness and tang. Perfect for snacking or fresh juice.','These oranges are naturally juicy, refreshing, and full of real citrus flavor. Grown and picked at the right time, they have a firm peel, bright color, and a sweet-tangy taste inside. Ideal for everyday eating, fresh juice, or adding a fresh citrus touch to your meals.',4,119.0,'["product-images/1768639090932-0"]','2026-01-17T03:08:11.731Z',0,130.0,2,0,1.0,1,NULL,5.0,1); -INSERT INTO product_info VALUES(45,replace('Tomato\n','\n',char(10)),replace('Indian Tomato\n\nJuicy, tangy & ideal for all Indian curries\n500 g','\n',char(10)),'',1,19.0,'["product-images/1768639292540-0"]','2026-01-17T03:11:32.838Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(46,'Pomegranate ','Fresh pomegranate with deep red seeds and a naturally sweet-tangy taste.','This pomegranate is fresh, juicy, and full of vibrant red seeds with a balanced sweet and slightly tangy flavor. Carefully selected for firmness and freshness, it’s perfect for eating on its own, adding to salads, or using in fresh juice. No artificial shine — just real fruit with real taste.',4,109.0,'["product-images/1768639705530-0"]','2026-01-17T03:18:26.329Z',0,130.0,2,0,1.0,1,NULL,3.0,1); -INSERT INTO product_info VALUES(47,'Green Apple (pack 2) ','Crisp green apples with a tangy-sweet taste and firm, juicy texture.','These green apples are fresh, firm, and naturally crisp with a tangy-sweet flavor. Handpicked for quality and freshness, they’re perfect for snacking, making salads, or juicing. A refreshing fruit that adds a burst of natural flavor to any meal or snack.',4,119.0,'["product-images/1768642455479-0"]','2026-01-17T04:04:16.269Z',0,130.0,2,0,1.0,1,NULL,2.0,1); -INSERT INTO product_info VALUES(48,'Guava (Jama Kaya)','Fresh guavas with a sweet-tangy flavor and crisp, juicy texture.','These guavas are fresh, firm, and packed with natural sweetness and tang. Carefully selected for ripeness and flavor, they’re perfect for eating raw, adding to salads, or making juice. A nutritious fruit that’s rich in vitamins and refreshing in every bite.',1,55.0,'["product-images/1768642724520-0"]','2026-01-17T04:08:44.824Z',0,68.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(49,'Pear','Fresh pears with soft, juicy texture and a naturally sweet flavor.','These fresh pears are firm yet tender, naturally juicy, and mildly sweet. Handpicked for quality and ripeness, they’re perfect for eating as-is, adding to fruit salads, or using in desserts. A refreshing fruit that balances sweetness and softness in every bite.',4,119.0,'["product-images/1768643138910-0"]','2026-01-17T04:15:39.802Z',1,159.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(50,'Alu Bukhara (Plum / Prunes)','Fresh plums (Alu Bukhara) with a juicy, sweet‑tart flavor, perfect for snacking or making chutneys and juices.','Alu Bukhara refers to ripe plums with rich, juicy flesh and a natural sweet‑tart taste. These plums are refreshing and flavorful, great for eating fresh or using in chutneys, jams, and traditional dishes. When dried, they’re also known as prunes — a nutritious, fiber‑rich snack with long shelf life. Packed with vitamins and antioxidants, they’re a wholesome addition to your fruit selection. ',4,119.0,'["product-images/1768643354251-0"]','2026-01-17T04:19:14.555Z',0,128.0,2,0,1.0,0,NULL,4.0,1); -INSERT INTO product_info VALUES(51,'Shahtoot (Mulberry)','Fresh mulberries with a naturally sweet flavor and juicy, soft texture.','These fresh mulberries are ripe, juicy, and naturally sweet with a delicate texture. Perfect for snacking, smoothies, desserts, or topping cereals and salads. Carefully selected for freshness and flavor, mulberries are also packed with vitamins and antioxidants, making them a healthy and delicious choice.',1,169.0,'["product-images/1768646295695-0"]','2026-01-17T05:08:16.491Z',1,180.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(52,'Sugarcane','Fresh sugarcane stalks with natural sweetness, juicy and perfect for chewing or juice extraction.','These sugarcane stalks are fresh, juicy, and naturally sweet. Perfect for chewing directly or extracting fresh sugarcane juice at home. Carefully selected for quality and ripeness, sugarcane provides a refreshing, natural source of energy and flavor.',4,29.0,'["product-images/1768646744949-0"]','2026-01-17T05:15:45.254Z',1,40.0,2,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(53,'Hass Avocado','Creamy Hass avocados with rich, buttery texture and mild, nutty flavor.','Hass avocados are known for their distinct creamy texture and mild, nutty flavor. With thick, bumpy skin that darkens as it ripens, these avocados offer smooth, rich green flesh perfect for salads, smoothies, sandwiches, or spreads like guacamole. Packed with healthy fats, fiber, and essential vitamins, they’re a nutritious addition to any diet. Treat them gently and ripen at room temperature for best taste and texture.',4,239.0,'["product-images/1768646932088-0"]','2026-01-17T05:18:52.342Z',0,250.0,2,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(54,'Blueberry','Fresh blueberries with a sweet-tart flavor, juicy texture, and rich purple color.','These fresh blueberries are plump, juicy, and naturally sweet-tart with deep purple color. Perfect for snacking, adding to cereals, desserts, or smoothies. Packed with antioxidants, vitamins, and flavor, blueberries are a nutritious and premium fruit choice. Handle carefully as they’re delicate and perishable.',1,280.0,'["product-images/1768649454994-0"]','2026-01-17T06:00:55.308Z',0,310.0,2,0,1.0,0,NULL,0.15,1); -INSERT INTO product_info VALUES(55,'Muscat Grapes','Fresh seasonal mangoes with juicy flesh and natural sweetness.','These mangoes are fresh, ripe, and full of natural sweetness with juicy, flavorful flesh. Carefully selected for ripeness and quality, they’re perfect for eating fresh, making juices, smoothies, or desserts. A seasonal favorite that brings rich taste and aroma to every bite.',1,69.0,'["product-images/1768650709484-0"]','2026-01-17T06:21:49.844Z',1,80.0,2,0,1.0,0,NULL,0.25,1); -INSERT INTO product_info VALUES(56,'Muskmelon (Kharbuja)','For bigger-sized muskmelon, choose the 1 kg option.','This fresh muskmelon (kharbuja) has a naturally sweet aroma and soft, juicy orange flesh. Carefully selected for ripeness, it’s refreshing, hydrating, and perfect for eating fresh, fruit salads, or summer juices. Best enjoyed chilled for maximum sweetness and flavor.',1,67.0,'["product-images/1768651334320-0"]','2026-01-17T06:32:14.675Z',0,72.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(57,'Pineapple','Note: This is a medium-size pineapple.','This fresh pineapple is naturally juicy with a sweet and slightly tangy flavor. Selected for ripeness and freshness, it’s perfect for eating fresh, juices, salads, and desserts. Best enjoyed chilled for maximum taste.',4,59.0,'["product-images/1768651774899-0"]','2026-01-17T06:39:35.228Z',1,69.0,2,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(58,'Papaya','Note: This is a medium-size papaya.','This fresh papaya is naturally soft, mildly sweet, and easy to digest. Carefully selected for ripeness, it’s ideal for eating fresh, fruit bowls, smoothies, or breakfast plates. Best consumed ripe for smooth texture and better taste.',4,59.0,'["product-images/1768652061701-0"]','2026-01-17T06:44:22.034Z',0,75.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(59,'Watermelon','Add 1kg if you want watermelon in big size','This fresh watermelon has bright red, juicy flesh with natural sweetness and high water content. Perfect for summer refreshment, fruit salads, juices, or eating chilled. Carefully selected for freshness and firmness.',1,98.0,'["product-images/1768653009851-0"]','2026-01-17T07:00:10.168Z',0,110.0,2,0,1.0,1,NULL,2.5,1); -INSERT INTO product_info VALUES(60,'Green Grapes','Supports immunity, provides natural energy, and is rich in antioxidants.','These fresh green grapes are handpicked for firm texture and sweet, juicy flavor. Perfect for snacking, fruit salads, juices, or desserts, they’re packed with vitamins and antioxidants. Carefully stored to maintain freshness from farm to table.',1,78.0,'["product-images/1768653997561-0"]','2026-01-17T07:16:37.967Z',0,90.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(61,'Red Globe Grapes','High in antioxidants, supports immunity, and provides natural energy. Seeded','These Red Globe grapes are large, plump, and naturally sweet with firm, juicy flesh. Carefully selected for size and freshness, they’re perfect for snacking, fruit salads, desserts, or making fresh juice. Packed with vitamins and antioxidants, Red Globe grapes are a healthy and premium choice for everyday consumption.',1,99.0,'["product-images/1768654475850-0"]','2026-01-17T07:24:36.247Z',0,119.0,2,0,1.0,1,NULL,0.25,1); -INSERT INTO product_info VALUES(62,'Black Grapes','Supports immunity, rich in antioxidants, and provides natural energy.','These black grapes are handpicked for firm texture, juiciness, and natural sweetness. Perfect for snacking, fruit salads, desserts, or making fresh juice. Rich in vitamins and antioxidants, they’re a healthy and refreshing fruit for everyday consumption.',1,78.0,'["product-images/1768654740988-0"]','2026-01-17T07:29:01.488Z',0,91.0,2,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(63,'Pink Dragon Fruit','Boosts immunity, rich in antioxidants, supports digestion, and provides natural energy.','This pink dragon fruit is fresh, juicy, and mildly sweet with soft flesh and tiny edible seeds. Carefully selected for ripeness and quality, it’s perfect for eating fresh, adding to fruit bowls, smoothies, or desserts. Exotic in appearance, nutritious, and rich in antioxidants.',4,269.0,'["product-images/1768658094891-0"]','2026-01-17T08:24:55.423Z',1,289.0,2,0,1.0,1,NULL,2.0,1); -INSERT INTO product_info VALUES(64,'Broccoli',replace('Note: This is a medium-size broccoli.\nRich in fiber and vitamins, supports digestion and overall nutrition.','\n',char(10)),'This fresh broccoli is crisp, green, and carefully selected for firmness and freshness. Ideal for stir-fries, salads, soups, or steaming. Mild in taste and versatile in cooking, it’s best used fresh for good texture and flavor.',1,59.0,'["product-images/1768709567040-0"]','2026-01-17T22:42:48.248Z',1,69.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(65,'Beetroot','Supports blood health, rich in fiber, and helps maintain energy levels.','This fresh beetroot is firm, clean, and naturally rich in color. Carefully selected for freshness, it’s ideal for cooking, salads, juices, and curries. Mildly sweet when cooked and earthy in flavor, beetroot is a versatile vegetable used in everyday meals.',1,28.0,'["product-images/1768710434326-0"]','2026-01-17T22:57:14.620Z',0,35.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(66,'Cabbage(Patta Gobhi)',replace('Note: This is a medium-size cabbage.\nRich in fiber, supports digestion, and low in calories.','\n',char(10)),'This fresh green cabbage is medium-sized, firm, and tightly packed with pale green leaves. It has a mild flavor and crunchy texture, making it ideal for curries, stir-fries, salads, soups, and fried snacks. Carefully selected for freshness and cleanliness, this cabbage is suitable for everyday cooking.',4,27.0,'["product-images/1768710760133-0"]','2026-01-17T23:02:40.448Z',0,35.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(67,'Cauliflower(Phool Gobhi)',replace('Note: This is a medium-size cauliflower.\nHigh in fiber and vitamin C, supports digestion and immunity.','\n',char(10)),'This fresh medium-sized cauliflower has compact, creamy-white florets and crisp green leaves. Carefully selected for firmness and freshness, it is ideal for curries, stir-fries, fried snacks, soups, and biryani-style dishes. Clean and naturally grown, suitable for daily home cooking.',4,28.0,'["product-images/1768711261174-0"]','2026-01-17T23:11:02.227Z',0,32.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(68,'Sweet Potato','High in fiber, supports digestion, and provides natural energy.','These medium-sized red sweet potatoes have smooth skin and pale, creamy flesh with a mildly sweet taste. Ideal for boiling, roasting, frying, and traditional Indian dishes, they cook evenly and remain soft inside. Carefully selected for freshness and quality, suitable for daily home cooking.',1,32.0,'["product-images/1768711919135-0"]','2026-01-17T23:21:59.416Z',0,34.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(69,'Carrot','Rich in vitamin A, supports eye health and immunity.','These fresh medium-sized carrots are firm, smooth-skinned, and bright in color. They have a crisp texture and mildly sweet taste, making them perfect for salads, curries, stir-fries, juices, and snacks. Carefully selected for freshness and quality, suitable for everyday cooking.',1,29.0,'["product-images/1768712093829-0"]','2026-01-17T23:24:54.154Z',0,35.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(70,'White Radish(Mooli)','Aids digestion, rich in fibre, supports gut health.','Fresh white radish (mullangi) is crisp, juicy, and naturally pungent with a refreshing bite. Ideal for sambar, curries, stir-fries, salads, and chutneys. Carefully sourced to ensure firmness, clean skin, and freshness for daily home cooking.',4,19.0,'["product-images/1768712490280-0"]','2026-01-17T23:31:30.647Z',0,25.0,4,0,1.0,0,NULL,2.0,1); -INSERT INTO product_info VALUES(71,replace('Curry Leaves(Karivepak)\n','\n',char(10)),replace('1 bunch\nAdds aroma, supports digestion, and enhances flavour in cooking.','\n',char(10)),'These fresh curry leaves are aromatic, clean, and deep green in colour. Carefully selected to enhance flavour, they are essential for tempering and everyday South Indian cooking. Best used fresh for maximum aroma and taste.',4,15.0,'["product-images/1768713206145-0"]','2026-01-17T23:43:26.487Z',0,22.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(72,'Spinach (Palak)','Rich in iron, supports blood health, and boosts immunity.','Fresh spinach (palak) leaves are medium-sized, crisp, and bright green. Carefully selected for freshness, they are ideal for curries, soups, smoothies, salads, and dals. Best consumed fresh to retain nutrients, flavor, and texture.',4,14.0,'["product-images/1768713537512-0"]','2026-01-17T23:48:57.829Z',0,19.0,4,0,1.0,1,NULL,7.0,1); -INSERT INTO product_info VALUES(73,'Coconut','Rich in natural electrolytes, supports hydration, and provides energy.','This fresh medium-sized coconut is carefully selected for quality and freshness. Ideal for drinking tender coconut water, making coconut milk, chutneys, desserts, or cooking. Naturally nutritious and rich in flavor, it’s perfect for daily home use.',4,59.0,'["product-images/1768718685357-0"]','2026-01-17T23:51:54.586Z',0,79.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(74,'Fenugreek Leaves(Methi)','Rich in vitamins, supports digestion, and enhances flavor in cooking.','These fresh fenugreek leaves (methi) are medium-sized, aromatic, and vibrant green. Carefully selected for freshness, they are ideal for curries, parathas, dals, and seasoning. Best used fresh to retain aroma, flavor, and nutritional value.',4,18.0,'["product-images/1768713886512-0"]','2026-01-17T23:54:47.138Z',0,25.0,4,0,1.0,0,NULL,10.0,1); -INSERT INTO product_info VALUES(75,'Murrel / Korameenu / కోరమీను - Live','Fresh murrel fish, high in protein, known for aiding recovery and boosting strength.',' Fresh freshwater murrel fish (snakehead) known for its firm flesh and rich taste. Highly valued in Indian households for its nutritional benefits, especially during recovery and post-illness diets. Rich in protein and essential nutrients. Ideal for curries and traditional preparations. Cleaned and packed hygienically to retain freshness.',1,489.0,'["product-images/1768817786453-0","product-images/1768817786455-1"]','2026-01-18T00:08:16.173Z',0,580.0,1,0,1.0,1,600.0,1.0,1); -INSERT INTO product_info VALUES(76,'Coriander Leaves (Kothimeer)','Fresh coriander leaves with a strong aroma, perfect for garnishing and cooking.','Freshly harvested coriander leaves with tender stems and vibrant green color. Widely used in Indian cooking for garnishing curries, chutneys, salads, and rice dishes. Adds a refreshing flavor and aroma to everyday meals. Wash thoroughly before use.',4,19.0,'["product-images/1768727264220-0"]','2026-01-18T03:37:45.047Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(77,'Gongura (Sorrel Leaves)','Fresh gongura leaves with a natural tangy taste, perfect for traditional Andhra dishes and chutneys.','Gongura, also known as sorrel leaves, is a popular leafy vegetable widely used in Andhra and Telangana cuisine. Known for its unique sour and refreshing flavour, gongura adds a distinctive taste to dals, curries, chutneys, and pickles. The leaves are tender and aromatic, making them ideal for both cooking and grinding. Naturally rich in iron, antioxidants, and essential vitamins, gongura supports digestion and overall health. Freshly sourced and carefully cleaned to retain its natural taste and quality. Wash thoroughly before use and cook fresh for the best flavour.',4,16.0,'["product-images/1769396724595-0"]','2026-01-18T08:56:30.867Z',0,19.0,4,0,1.0,0,NULL,6.0,1); -INSERT INTO product_info VALUES(78,'Green Chillies','Fresh green chillies rich in vitamin C, add heat and flavor to everyday cooking.',' Fresh green chillies with bright green color and firm texture. Commonly used in Indian cooking to add spice and aroma to curries, stir-fries, chutneys, and snacks. Naturally rich in vitamin C and antioxidants. Wash thoroughly before use. Packed fresh for daily kitchen needs.',1,29.0,'["product-images/1769241234003-0"]','2026-01-18T09:03:36.108Z',0,32.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(79,'Red Carrot ','Big-sized red carrots with natural sweetness, ideal for salads, juices, and cooking.','Fresh big-sized red carrots with deep red color and firm texture. Naturally sweet and juicy, these carrots are rich in beta-carotene, fiber, and antioxidants. Perfect for raw salads, juices, halwa, soups, and everyday cooking. Carefully selected for size and freshness, cleaned and packed hygienically.',1,39.0,'["product-images/1768822893380-0"]','2026-01-19T06:11:34.210Z',0,47.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(80,'Country Chicken (Desi / Natu Kodi)','Fresh country chicken, high in protein and rich in natural flavor, ideal for traditional slow-cooked dishes.','Freshly sourced country chicken known for its firm texture and strong taste. Preferred for traditional curries, soups, and slow-cooked recipes. Naturally high in protein and considered more nutritious than broiler chicken. Cleaned and cut hygienically for safe cooking.',1,849.0,'["product-images/1769063336125-0"]','2026-01-22T00:58:57.053Z',0,920.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(81,'Tigers prawns large ','Premium tiger prawns rich in protein and omega-3, ideal for grilling, frying, and special dishes.','Fresh premium tiger prawns known for their large size, firm texture, and rich taste. Perfect for grilling, frying, curries, and restaurant-style recipes. High in protein and omega-3 fatty acids, supporting muscle and heart health. Available cleaned or uncleaned and packed hygienically to maintain freshness.',1,669.0,'["product-images/1769063467386-0"]','2026-01-22T01:01:08.364Z',0,700.0,1,0,1.0,0,NULL,0.65,1); -INSERT INTO product_info VALUES(82,'Fresh Prawns – Medium (Cleaned & Deveined)','High in protein and omega-3, supports muscle growth and heart health.','Fresh prawns with firm texture and natural sweetness. Ideal for curries, fry, grills, and Asian-style dishes. Rich in protein and omega-3 fatty acids, supporting muscle and heart health. Available cleaned or uncleaned and packed hygienically to maintain freshness.',1,389.0,'["product-images/1769063660493-0"]','2026-01-22T01:04:21.712Z',0,419.0,1,0,1.0,0,NULL,0.65,1); -INSERT INTO product_info VALUES(83,'Rohu- రోహు live ','Fresh rohu fish rich in protein and omega-3, ideal for everyday curries and home cooking.','Freshwater rohu fish with soft texture and mild flavor, widely used in Indian households for daily meals. Suitable for curry preparations and light frying. Naturally rich in protein and omega-3 fatty acids, supporting muscle health and balanced nutrition. Cleaned and cut hygienically to ensure freshness and quality.',1,159.0,'["product-images/1769149204037-0"]','2026-01-23T00:50:05.311Z',0,180.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(84,'Mutton Brain (Bheja). మటన్ బ్రెయిన్ (భేజా)','Fresh mutton brain, rich in healthy fats and protein, ideal for traditional bheja fry and curries.','Freshly sourced mutton brain (bheja) from healthy goats. Known for its soft texture and rich taste, it is commonly used in traditional dishes like bheja fry and masala. Rich in healthy fats and nutrients. Cleaned carefully and packed hygienically to maintain freshness.',4,119.0,'["product-images/1769149707440-0"]','2026-01-23T00:56:40.140Z',0,130.0,1,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(85,'Mutton Paya (Goat Trotters)','Fresh mutton paya rich in collagen and minerals, ideal for nourishing paya soup.','Freshly cleaned mutton paya (goat trotters) commonly used to prepare traditional paya soup. When slow-cooked, paya releases natural collagen and minerals, making the soup rich, flavorful, and nourishing. Popular for strength recovery and home-style remedies. Cleaned thoroughly and packed hygienically for freshness.',4,259.0,'["product-images/1769150471654-0","product-images/1769150471655-1"]','2026-01-23T01:11:12.693Z',0,270.0,1,0,1.0,0,NULL,4.0,1); -INSERT INTO product_info VALUES(86,'Mutton Chops - మటన్ చాప్స్','Fresh mutton chops, rich in protein and iron, ideal for curries and slow cooking.','Fresh mutton chops cut from tender sections with bone, known for rich flavor and juiciness. Perfect for slow-cooked curries, gravies, and traditional dishes where bone enhances taste. High in protein and iron, supporting strength and energy. Cleaned and cut hygienically for freshness.',1,419.0,'["product-images/1769151216776-0"]','2026-01-23T01:23:37.665Z',1,440.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(87,'Mutton Soup Bones -మటన్ సూప్ ఎముకలు','Fresh mutton soup bones rich in collagen and minerals, ideal for nourishing soups and broths.',' Fresh mutton soup bones cut from healthy goat meat, perfect for preparing rich and flavorful soups and bone broths. Slowly cooked bones release natural collagen, minerals, and nutrients, making them ideal for strength recovery and traditional home remedies. Cleaned hygienically and packed fresh for daily cooking.',1,149.0,'["product-images/1769151844424-0"]','2026-01-23T01:34:05.440Z',0,179.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(88,'Purple Cabbage (Red Cabbage)',replace('Medium-sized purple cabbage\nFresh purple cabbage rich in antioxidants and fiber, supports digestion and immunity.','\n',char(10)),'Fresh purple (red) cabbage with crisp texture and vibrant color. Commonly used in salads, stir-fries, slaws, and garnishing. Naturally rich in antioxidants, fiber, and vitamin C, helping support digestion and overall health. Wash thoroughly before use. Packed fresh for daily cooking.',4,99.0,'["product-images/1769394457296-0"]','2026-01-25T20:57:37.763Z',0,110.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(89,'Light Purple Brinjal','Fresh light purple brinjal rich in fiber and antioxidants, ideal for curries and fries.','Fresh light purple brinjal with smooth skin and tender flesh, handpicked for everyday cooking. This variety cooks quickly and absorbs spices well, making it perfect for curries, fries, bharta, and stir-fried dishes. Mild in taste and easy to digest, it is a regular choice in Indian kitchens. Rich in fiber and antioxidants, it supports digestion and overall health. Wash thoroughly before use. Best used fresh for maximum taste and texture.',1,29.0,'["product-images/1769395184980-0"]','2026-01-25T21:09:46.227Z',0,40.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(90,'Indian Yellow Cucumber (Madras / Dosakai)','Fresh Indian yellow cucumber, also known as Madras cucumber, mild and crisp, perfect for salads, pickles, and cooking.','Indian yellow cucumber, also called Madras cucumber, is a rare and vibrant variety with tender yellow skin and crisp, juicy flesh. Favored in Indian kitchens, it is perfect for fresh salads, traditional pickles, or lightly cooked curries. Naturally rich in fiber, vitamins, and antioxidants, it promotes digestion and overall wellness. Carefully harvested and packed to retain freshness, this cucumber delivers mild sweetness and a refreshing crunch to everyday meals. Wash thoroughly before use and consume fresh for maximum taste.',1,27.0,'["product-images/1769398103853-0"]','2026-01-25T21:58:24.668Z',0,29.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(91,'Green Peas','Fresh green peas with natural sweetness, ideal for curries, pulao, and snacks.','Fresh green peas, carefully harvested for their sweetness, tenderness, and bright green color. Perfect for adding to Indian curries, pulao, stir-fries, soups, and snacks. Rich in protein, fiber, vitamins, and minerals, green peas support digestion and overall health. Available fresh or shelled for convenience, these peas are packed to retain their crisp texture and natural flavor. Wash thoroughly before use and cook fresh for the best taste.',1,39.0,'["product-images/1769398710713-0"]','2026-01-25T22:08:31.554Z',0,44.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(92,'French Beans (Chikkudukaya)','Fresh Benis with crisp texture, ideal for stir-fries, curries, and salads.','Fresh Benis, also known as French beans or cluster beans, are tender and crisp vegetables widely used in Indian cooking. Perfect for stir-fries, curries, and salads, these beans cook quickly and absorb spices well. Naturally rich in fiber, vitamins, and minerals, Benis supports digestion and overall wellness. Carefully handpicked and packed to retain freshness, these beans bring color, crunch, and nutrition to your daily meals. Wash thoroughly before cooking.',1,29.0,'["product-images/1769399617573-0"]','2026-01-25T22:23:38.391Z',0,32.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(93,'Red & Yellow Capsicum (Bell Peppers)','Fresh red and yellow capsicum with crisp texture and mild sweetness, perfect for cooking and salads.','Red and yellow capsicum, also known as bell peppers, are vibrant, crunchy vegetables with a naturally mild and slightly sweet flavour. Commonly used in stir-fries, curries, salads, and continental dishes, these capsicums add colour and nutrition to meals. Rich in vitamin C, antioxidants, and dietary fiber, they help support immunity and overall health. Carefully selected and packed to maintain freshness, firmness, and bright colour. Wash thoroughly and cut as required before use.',1,89.0,'["product-images/1769571126092-0"]','2026-01-27T22:02:07.050Z',0,96.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(94,'Gawar Beans (Cluster Beans)','Fresh tender gawar beans, ideal for stir-fries, curries, and traditional dishes.','Gawar beans, also known as cluster beans, are a traditional vegetable widely used in Indian cooking. These tender green pods have a slightly earthy flavour and firm texture, making them perfect for stir-fries, dry sabzis, curries, and dals. Rich in dietary fiber, vitamins, and minerals, gawar beans support digestion and help maintain blood sugar balance. Carefully sourced and packed to retain freshness, tenderness, and natural colour. Wash thoroughly, trim ends, and cook well before consumption.',1,29.0,'["product-images/1769571810861-0"]','2026-01-27T22:13:31.656Z',0,35.0,4,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(95,'Dondakaya (Ivy Gourd)','Fresh tender ivy gourd, ideal for fries, stir-fries, and curries.',replace('Long Description (human-written, not robotic)\nIvy gourd, commonly known as tindora or dondakaya, is a popular vegetable used in daily Indian cooking. These small green gourds have a mild taste and firm texture that works perfectly for shallow frying, stir-fries, and traditional curries. Tender ivy gourd cooks quickly and absorbs spices well without turning mushy. It is naturally low in calories and rich in fiber, making it suitable for light and healthy meals. Carefully selected to ensure freshness, uniform size, and good cooking quality.','\n',char(10)),1,39.0,'["product-images/1769571978680-0"]','2026-01-27T22:16:18.992Z',0,50.0,4,0,1.0,1,NULL,0.5,1); -INSERT INTO product_info VALUES(96,'Pineapple – Large','Large-sized fresh pineapple with juicy, sweet-tangy flesh.','This large pineapple is carefully selected for size and ripeness, offering juicy golden flesh with a naturally sweet and mildly tangy taste. Perfect for fresh juices, fruit salads, desserts, and cooking, it delivers more pulp and better value. Ideal for families or recipes that need a generous quantity of fresh pineapple.',4,109.0,'["product-images/1769576743718-0"]','2026-01-27T23:35:44.520Z',0,120.0,2,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(97,'Pudina (Mint Leaves)','Fresh aromatic mint leaves, ideal for chutneys, curries, and drinks.','Pudina, also known as mint leaves, is a fragrant herb widely used in Indian cooking. Its refreshing aroma and cooling taste make it perfect for chutneys, raitas, biryani, curries, and beverages like mint water and mojito. Carefully selected for freshness, these tender green leaves add both flavor and aroma to everyday dishes and are best used fresh.',4,19.0,'["product-images/1769577010969-0"]','2026-01-27T23:40:11.263Z',0,25.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(98,'Mutton Curry Cut (Regular)– 500 g','Fresh mutton curry cut with bone, suitable for everyday curries.','Mutton curry cut (regular) includes a balanced mix of bone and meat, making it ideal for everyday home-style curries and gravies. Cut from fresh goat meat, these pieces cook well in slow and pressure-cooked dishes, releasing rich flavour into the gravy. Cleaned and cut hygienically, this pack is suitable for regular family meals.',1,419.0,'["product-images/1770051810386-0"]','2026-02-02T11:33:31.411Z',1,459.0,1,0,1.0,0,NULL,0.5,1); -INSERT INTO product_info VALUES(99,'Mutton Curry Cut (Regular) – 750 g','Fresh mutton curry cut with bone, ideal for family-sized curries.','Mutton curry cut (regular) – 750 g includes a well-balanced mix of bone and meat, perfect for preparing rich and flavorful curries. Cut from fresh goat meat, these pieces are suitable for slow cooking and pressure cooking, allowing the meat to turn tender while enhancing the taste of the gravy. Cleaned and cut hygienically, this pack is ideal for medium to large family meals.',1,635.0,'["product-images/1770051959669-0"]','2026-02-02T11:36:00.205Z',1,660.0,1,0,1.0,0,NULL,0.75,1); -INSERT INTO product_info VALUES(100,'Irani Apple. Pack of (4)','Fresh Irani apples with crisp texture and mildly sweet taste.','Irani apples, also known as Iranian apples, are known for their firm texture, long shelf life, and mildly sweet flavor. These apples are crisp and juicy, making them suitable for fresh consumption, fruit salads, and juicing. Carefully selected for quality and freshness, Irani apples are a popular everyday fruit choice due to their balanced taste and good keeping quality. Wash thoroughly before consumption.',4,99.0,'["product-images/1770212631435-0"]','2026-02-04T08:13:52.295Z',0,119.0,2,0,1.0,1,NULL,4.0,1); -INSERT INTO product_info VALUES(101,'Coriander Leaves (Kothimeer) small 1 ','','',4,12.0,'["product-images/1771249922306-0"]','2026-02-16T08:22:03.573Z',0,15.0,4,0,1.0,1,NULL,1.0,1); -INSERT INTO product_info VALUES(102,' Basa Fish Fillets','','',1,499.0,'["product-images/1771411526889-0"]','2026-02-18T05:15:27.907Z',0,550.0,1,0,1.0,0,NULL,0.8,1); -INSERT INTO product_info VALUES(103,'Ridge Gourd (Turai) ..(Beerkaya)','','',1,29.0,'["product-images/1771647812442-0"]','2026-02-20T22:53:33.321Z',0,35.0,4,0,1.0,0,NULL,1.0,1); -INSERT INTO product_info VALUES(136,'Demo product','Demo product demo','Demo Product and just for fun description',1,222.0,'[]','2026-03-21T10:37:26.835Z',0,233.0,8,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(137,'Demo3','Demo3','Demo3',1,233.0,'["product-images/1774110996916.jpg","product-images/1774111917349.jpg","product-images/1774111977156.jpg"]','2026-03-21T10:39:54.216Z',0,233.0,1,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(138,'Demo4','Demo4','Demo4',1,233.0,'["product-images/1774109641982.jpg","product-images/1774109642211.jpg"]','2026-03-21T10:44:05.635Z',0,233.0,8,0,1.0,1,233.0,1.0,1); -INSERT INTO product_info VALUES(139,'Demo5','Demo5','Demo5 ',1,233.0,'["product-images/1774109875092.jpg","product-images/1774109875283.jpg"]','2026-03-21T10:47:58.585Z',0,235.0,1,0,1.0,1,235.0,1.0,1); -INSERT INTO product_info VALUES(140,'Demo Productsz','Demooo','Demoooo',1,250.0,'["product-images/1774524524649.jpg","product-images/1774524524845.jpg","product-images/1774524525034.jpg","product-images/1774525511146.jpg"]','2026-03-26T05:58:47.322Z',0,285.0,1,0,1.0,1,300.0,1.0,1); -CREATE TABLE IF NOT EXISTS "product_reviews" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "review_body" TEXT NOT NULL, "image_urls" TEXT, "review_time" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "ratings" REAL NOT NULL, "admin_response" TEXT, "admin_response_images" TEXT); -INSERT INTO product_reviews VALUES(1,1,9,'Nice','["review-images/1765087473110.jpg","review-images/1765087473110.jpg"]','2025-12-07T00:35:23.088Z',4.0,'Thank Youu','["review-images/1765108852104.jpg"]'); -INSERT INTO product_reviews VALUES(2,1,9,'Nice','["review-images/1765093365201.jpg"]','2025-12-07T02:12:47.173Z',4.0,'','["review-images/1765106307190.jpg"]'); -INSERT INTO product_reviews VALUES(3,1,14,'Not Good','["review-images/1765096663203.jpg","review-images/1765096663403.jpg","review-images/1765096663575.png"]','2025-12-07T03:07:47.450Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(4,1,14,'Another test review this is.','["review-images/1765097892914.jpg","review-images/1765097893129.png"]','2025-12-07T03:28:13.977Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(5,1,14,'test again','["review-images/1765098183876.jpg"]','2025-12-07T03:33:04.648Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(6,1,14,'review 4','["review-images/1765098361309.jpg"]','2025-12-07T03:36:02.126Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(7,1,14,'another review','["review-images/1765098480284.jpg"]','2025-12-07T03:38:01.100Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(8,1,14,'5 star review','["review-images/1765098638162.jpg"]','2025-12-07T03:40:40.683Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(9,1,14,'another testing round','["review-images/1765098885608.jpg","review-images/1765098885808.png"]','2025-12-07T03:44:49.071Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(10,1,14,'testing again','["review-images/1765098955365.jpg"]','2025-12-07T03:45:56.837Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(11,1,14,'test review','["review-images/1765099082661.jpg"]','2025-12-07T03:48:04.218Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(12,1,14,'testing continues','["review-images/1765099476101.jpg","review-images/1765099476297.png"]','2025-12-07T03:54:39.689Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(13,1,14,'It should work now','["review-images/1765101095057.jpg","review-images/1765101095257.png"]','2025-12-07T04:21:44.960Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(14,1,14,'It should work now','["review-images/1765101103591.jpg","review-images/1765101103758.png"]','2025-12-07T04:21:46.666Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(15,1,1,'Very nutritious','["review-images/1765101241219.jpg"]','2025-12-07T04:24:02.615Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(16,1,1,'Item was fresh and juicy','["review-images/1765119932782.jpg","review-images/1765119932802.jpg"]','2025-12-07T09:35:37.267Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(17,1,1,'Item was fresh and juicy','["review-images/1765119935171.jpg","review-images/1765119935174.jpg"]','2025-12-07T09:35:40.420Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(18,17,5,'R','[]','2025-12-19T09:47:47.194Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(19,17,5,'G','["review-images/1766157495262.jpg"]','2025-12-19T09:48:17.365Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(20,17,5,'G','["review-images/1766157496653.jpg"]','2025-12-19T09:48:18.989Z',4.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(21,17,5,'R','[]','2025-12-19T09:48:42.279Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(22,17,23,'Ff','[]','2025-12-19T10:02:56.865Z',1.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(23,17,17,'Aa','[]','2025-12-19T10:48:05.094Z',1.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(24,17,16,'Dd','[]','2025-12-20T05:52:01.527Z',2.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(25,1,6,'Nice Item','["review-images/1766423329579.jpg"]','2025-12-22T11:38:51.838Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(26,17,22,'Bb','[]','2025-12-23T11:55:36.314Z',3.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(27,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572700543.jpg"]','2025-12-24T05:08:21.515Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(28,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572700880.jpg"]','2025-12-24T05:08:22.057Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(29,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572701138.jpg"]','2025-12-24T05:08:22.587Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(30,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572701266.jpg"]','2025-12-24T05:08:23.203Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(31,15,6,replace('Excellent \n👍👍','\n',char(10)),'["review-images/1766572701490.jpg"]','2025-12-24T05:08:25.076Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(32,2,6,replace('Good \n','\n',char(10)),'[]','2026-01-01T06:04:48.298Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(33,2,3,'That''s a great cut of meat and a good quantity','[]','2026-01-03T05:21:46.903Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(34,2,3,'That''s a great cut of meat and a good quantity','[]','2026-01-03T05:21:47.197Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(35,22,24,'Test review ','["review-images/1768792441275.jpg"]','2026-01-18T21:44:02.726Z',5.0,NULL,'[]'); -INSERT INTO product_reviews VALUES(36,22,24,'Test review ','["review-images/1768792441748.jpg"]','2026-01-18T21:44:03.075Z',5.0,NULL,'[]'); -CREATE TABLE IF NOT EXISTS "product_slots" ("product_id" INTEGER NOT NULL, "slot_id" INTEGER NOT NULL); -INSERT INTO product_slots VALUES(1,1); -INSERT INTO product_slots VALUES(1,2); -INSERT INTO product_slots VALUES(1,3); -INSERT INTO product_slots VALUES(1,4); -INSERT INTO product_slots VALUES(1,5); -INSERT INTO product_slots VALUES(1,6); -INSERT INTO product_slots VALUES(1,7); -INSERT INTO product_slots VALUES(1,9); -INSERT INTO product_slots VALUES(1,12); -INSERT INTO product_slots VALUES(1,18); -INSERT INTO product_slots VALUES(1,19); -INSERT INTO product_slots VALUES(1,20); -INSERT INTO product_slots VALUES(1,21); -INSERT INTO product_slots VALUES(1,22); -INSERT INTO product_slots VALUES(1,23); -INSERT INTO product_slots VALUES(1,31); -INSERT INTO product_slots VALUES(1,33); -INSERT INTO product_slots VALUES(1,35); -INSERT INTO product_slots VALUES(1,37); -INSERT INTO product_slots VALUES(1,38); -INSERT INTO product_slots VALUES(1,39); -INSERT INTO product_slots VALUES(1,40); -INSERT INTO product_slots VALUES(1,59); -INSERT INTO product_slots VALUES(1,63); -INSERT INTO product_slots VALUES(1,64); -INSERT INTO product_slots VALUES(1,65); -INSERT INTO product_slots VALUES(1,66); -INSERT INTO product_slots VALUES(1,67); -INSERT INTO product_slots VALUES(1,72); -INSERT INTO product_slots VALUES(1,73); -INSERT INTO product_slots VALUES(1,74); -INSERT INTO product_slots VALUES(1,279); -INSERT INTO product_slots VALUES(2,1); -INSERT INTO product_slots VALUES(2,2); -INSERT INTO product_slots VALUES(2,3); -INSERT INTO product_slots VALUES(2,4); -INSERT INTO product_slots VALUES(2,5); -INSERT INTO product_slots VALUES(2,6); -INSERT INTO product_slots VALUES(2,7); -INSERT INTO product_slots VALUES(2,18); -INSERT INTO product_slots VALUES(2,19); -INSERT INTO product_slots VALUES(2,20); -INSERT INTO product_slots VALUES(2,21); -INSERT INTO product_slots VALUES(2,22); -INSERT INTO product_slots VALUES(2,23); -INSERT INTO product_slots VALUES(2,31); -INSERT INTO product_slots VALUES(2,33); -INSERT INTO product_slots VALUES(2,35); -INSERT INTO product_slots VALUES(2,37); -INSERT INTO product_slots VALUES(2,38); -INSERT INTO product_slots VALUES(2,39); -INSERT INTO product_slots VALUES(2,40); -INSERT INTO product_slots VALUES(2,41); -INSERT INTO product_slots VALUES(2,43); -INSERT INTO product_slots VALUES(2,45); -INSERT INTO product_slots VALUES(2,46); -INSERT INTO product_slots VALUES(2,47); -INSERT INTO product_slots VALUES(2,48); -INSERT INTO product_slots VALUES(2,49); -INSERT INTO product_slots VALUES(2,50); -INSERT INTO product_slots VALUES(2,51); -INSERT INTO product_slots VALUES(2,52); -INSERT INTO product_slots VALUES(2,53); -INSERT INTO product_slots VALUES(2,54); -INSERT INTO product_slots VALUES(2,55); -INSERT INTO product_slots VALUES(2,56); -INSERT INTO product_slots VALUES(2,57); -INSERT INTO product_slots VALUES(2,58); -INSERT INTO product_slots VALUES(2,59); -INSERT INTO product_slots VALUES(2,60); -INSERT INTO product_slots VALUES(2,61); -INSERT INTO product_slots VALUES(2,62); -INSERT INTO product_slots VALUES(2,63); -INSERT INTO product_slots VALUES(2,64); -INSERT INTO product_slots VALUES(2,65); -INSERT INTO product_slots VALUES(2,66); -INSERT INTO product_slots VALUES(2,67); -INSERT INTO product_slots VALUES(2,68); -INSERT INTO product_slots VALUES(2,69); -INSERT INTO product_slots VALUES(2,70); -INSERT INTO product_slots VALUES(2,71); -INSERT INTO product_slots VALUES(2,72); -INSERT INTO product_slots VALUES(2,73); -INSERT INTO product_slots VALUES(2,74); -INSERT INTO product_slots VALUES(2,75); -INSERT INTO product_slots VALUES(2,76); -INSERT INTO product_slots VALUES(2,77); -INSERT INTO product_slots VALUES(2,78); -INSERT INTO product_slots VALUES(2,79); -INSERT INTO product_slots VALUES(2,80); -INSERT INTO product_slots VALUES(2,81); -INSERT INTO product_slots VALUES(2,82); -INSERT INTO product_slots VALUES(2,83); -INSERT INTO product_slots VALUES(2,84); -INSERT INTO product_slots VALUES(2,85); -INSERT INTO product_slots VALUES(2,86); -INSERT INTO product_slots VALUES(2,87); -INSERT INTO product_slots VALUES(2,88); -INSERT INTO product_slots VALUES(2,89); -INSERT INTO product_slots VALUES(2,90); -INSERT INTO product_slots VALUES(2,91); -INSERT INTO product_slots VALUES(2,92); -INSERT INTO product_slots VALUES(2,93); -INSERT INTO product_slots VALUES(2,94); -INSERT INTO product_slots VALUES(2,95); -INSERT INTO product_slots VALUES(2,96); -INSERT INTO product_slots VALUES(2,97); -INSERT INTO product_slots VALUES(2,98); -INSERT INTO product_slots VALUES(2,99); -INSERT INTO product_slots VALUES(2,100); -INSERT INTO product_slots VALUES(2,101); -INSERT INTO product_slots VALUES(2,102); -INSERT INTO product_slots VALUES(2,103); -INSERT INTO product_slots VALUES(2,104); -INSERT INTO product_slots VALUES(2,105); -INSERT INTO product_slots VALUES(2,106); -INSERT INTO product_slots VALUES(2,107); -INSERT INTO product_slots VALUES(2,108); -INSERT INTO product_slots VALUES(2,109); -INSERT INTO product_slots VALUES(2,110); -INSERT INTO product_slots VALUES(2,111); -INSERT INTO product_slots VALUES(2,112); -INSERT INTO product_slots VALUES(2,113); -INSERT INTO product_slots VALUES(2,114); -INSERT INTO product_slots VALUES(2,115); -INSERT INTO product_slots VALUES(2,116); -INSERT INTO product_slots VALUES(2,117); -INSERT INTO product_slots VALUES(2,118); -INSERT INTO product_slots VALUES(2,119); -INSERT INTO product_slots VALUES(2,120); -INSERT INTO product_slots VALUES(2,121); -INSERT INTO product_slots VALUES(2,122); -INSERT INTO product_slots VALUES(2,123); -INSERT INTO product_slots VALUES(2,124); -INSERT INTO product_slots VALUES(2,125); -INSERT INTO product_slots VALUES(2,126); -INSERT INTO product_slots VALUES(2,127); -INSERT INTO product_slots VALUES(2,128); -INSERT INTO product_slots VALUES(2,129); -INSERT INTO product_slots VALUES(2,130); -INSERT INTO product_slots VALUES(2,131); -INSERT INTO product_slots VALUES(2,132); -INSERT INTO product_slots VALUES(2,133); -INSERT INTO product_slots VALUES(2,134); -INSERT INTO product_slots VALUES(2,135); -INSERT INTO product_slots VALUES(2,136); -INSERT INTO product_slots VALUES(2,137); -INSERT INTO product_slots VALUES(2,138); -INSERT INTO product_slots VALUES(2,139); -INSERT INTO product_slots VALUES(2,140); -INSERT INTO product_slots VALUES(2,141); -INSERT INTO product_slots VALUES(2,142); -INSERT INTO product_slots VALUES(2,143); -INSERT INTO product_slots VALUES(2,144); -INSERT INTO product_slots VALUES(2,145); -INSERT INTO product_slots VALUES(2,146); -INSERT INTO product_slots VALUES(2,147); -INSERT INTO product_slots VALUES(2,148); -INSERT INTO product_slots VALUES(2,149); -INSERT INTO product_slots VALUES(2,150); -INSERT INTO product_slots VALUES(2,151); -INSERT INTO product_slots VALUES(2,152); -INSERT INTO product_slots VALUES(2,153); -INSERT INTO product_slots VALUES(2,154); -INSERT INTO product_slots VALUES(2,155); -INSERT INTO product_slots VALUES(2,156); -INSERT INTO product_slots VALUES(2,157); -INSERT INTO product_slots VALUES(2,158); -INSERT INTO product_slots VALUES(2,159); -INSERT INTO product_slots VALUES(2,160); -INSERT INTO product_slots VALUES(2,161); -INSERT INTO product_slots VALUES(2,162); -INSERT INTO product_slots VALUES(2,163); -INSERT INTO product_slots VALUES(2,164); -INSERT INTO product_slots VALUES(2,165); -INSERT INTO product_slots VALUES(2,166); -INSERT INTO product_slots VALUES(2,167); -INSERT INTO product_slots VALUES(2,168); -INSERT INTO product_slots VALUES(2,169); -INSERT INTO product_slots VALUES(2,170); -INSERT INTO product_slots VALUES(2,171); -INSERT INTO product_slots VALUES(2,172); -INSERT INTO product_slots VALUES(2,173); -INSERT INTO product_slots VALUES(2,174); -INSERT INTO product_slots VALUES(2,175); -INSERT INTO product_slots VALUES(2,176); -INSERT INTO product_slots VALUES(2,177); -INSERT INTO product_slots VALUES(2,178); -INSERT INTO product_slots VALUES(2,179); -INSERT INTO product_slots VALUES(2,180); -INSERT INTO product_slots VALUES(2,181); -INSERT INTO product_slots VALUES(2,182); -INSERT INTO product_slots VALUES(2,183); -INSERT INTO product_slots VALUES(2,184); -INSERT INTO product_slots VALUES(2,185); -INSERT INTO product_slots VALUES(2,186); -INSERT INTO product_slots VALUES(2,187); -INSERT INTO product_slots VALUES(2,188); -INSERT INTO product_slots VALUES(2,189); -INSERT INTO product_slots VALUES(2,190); -INSERT INTO product_slots VALUES(2,191); -INSERT INTO product_slots VALUES(2,192); -INSERT INTO product_slots VALUES(2,193); -INSERT INTO product_slots VALUES(2,194); -INSERT INTO product_slots VALUES(2,195); -INSERT INTO product_slots VALUES(2,196); -INSERT INTO product_slots VALUES(2,197); -INSERT INTO product_slots VALUES(2,198); -INSERT INTO product_slots VALUES(2,199); -INSERT INTO product_slots VALUES(2,200); -INSERT INTO product_slots VALUES(2,201); -INSERT INTO product_slots VALUES(2,202); -INSERT INTO product_slots VALUES(2,203); -INSERT INTO product_slots VALUES(2,204); -INSERT INTO product_slots VALUES(2,205); -INSERT INTO product_slots VALUES(2,206); -INSERT INTO product_slots VALUES(2,207); -INSERT INTO product_slots VALUES(2,208); -INSERT INTO product_slots VALUES(2,209); -INSERT INTO product_slots VALUES(2,210); -INSERT INTO product_slots VALUES(2,211); -INSERT INTO product_slots VALUES(2,212); -INSERT INTO product_slots VALUES(2,213); -INSERT INTO product_slots VALUES(2,214); -INSERT INTO product_slots VALUES(2,215); -INSERT INTO product_slots VALUES(2,216); -INSERT INTO product_slots VALUES(2,217); -INSERT INTO product_slots VALUES(2,218); -INSERT INTO product_slots VALUES(2,219); -INSERT INTO product_slots VALUES(2,220); -INSERT INTO product_slots VALUES(2,221); -INSERT INTO product_slots VALUES(2,222); -INSERT INTO product_slots VALUES(2,223); -INSERT INTO product_slots VALUES(2,224); -INSERT INTO product_slots VALUES(2,225); -INSERT INTO product_slots VALUES(2,226); -INSERT INTO product_slots VALUES(2,227); -INSERT INTO product_slots VALUES(2,228); -INSERT INTO product_slots VALUES(2,229); -INSERT INTO product_slots VALUES(2,230); -INSERT INTO product_slots VALUES(2,231); -INSERT INTO product_slots VALUES(2,232); -INSERT INTO product_slots VALUES(2,234); -INSERT INTO product_slots VALUES(2,235); -INSERT INTO product_slots VALUES(2,236); -INSERT INTO product_slots VALUES(2,237); -INSERT INTO product_slots VALUES(2,238); -INSERT INTO product_slots VALUES(2,239); -INSERT INTO product_slots VALUES(2,240); -INSERT INTO product_slots VALUES(2,241); -INSERT INTO product_slots VALUES(2,242); -INSERT INTO product_slots VALUES(2,243); -INSERT INTO product_slots VALUES(2,244); -INSERT INTO product_slots VALUES(2,274); -INSERT INTO product_slots VALUES(2,275); -INSERT INTO product_slots VALUES(2,279); -INSERT INTO product_slots VALUES(2,280); -INSERT INTO product_slots VALUES(2,281); -INSERT INTO product_slots VALUES(2,282); -INSERT INTO product_slots VALUES(3,1); -INSERT INTO product_slots VALUES(3,2); -INSERT INTO product_slots VALUES(3,3); -INSERT INTO product_slots VALUES(3,4); -INSERT INTO product_slots VALUES(3,5); -INSERT INTO product_slots VALUES(3,6); -INSERT INTO product_slots VALUES(3,7); -INSERT INTO product_slots VALUES(3,8); -INSERT INTO product_slots VALUES(3,12); -INSERT INTO product_slots VALUES(3,18); -INSERT INTO product_slots VALUES(3,19); -INSERT INTO product_slots VALUES(3,20); -INSERT INTO product_slots VALUES(3,21); -INSERT INTO product_slots VALUES(3,22); -INSERT INTO product_slots VALUES(3,23); -INSERT INTO product_slots VALUES(3,31); -INSERT INTO product_slots VALUES(3,33); -INSERT INTO product_slots VALUES(3,35); -INSERT INTO product_slots VALUES(3,37); -INSERT INTO product_slots VALUES(3,38); -INSERT INTO product_slots VALUES(3,39); -INSERT INTO product_slots VALUES(3,40); -INSERT INTO product_slots VALUES(3,41); -INSERT INTO product_slots VALUES(3,43); -INSERT INTO product_slots VALUES(3,45); -INSERT INTO product_slots VALUES(3,46); -INSERT INTO product_slots VALUES(3,47); -INSERT INTO product_slots VALUES(3,48); -INSERT INTO product_slots VALUES(3,49); -INSERT INTO product_slots VALUES(3,50); -INSERT INTO product_slots VALUES(3,51); -INSERT INTO product_slots VALUES(3,52); -INSERT INTO product_slots VALUES(3,53); -INSERT INTO product_slots VALUES(3,54); -INSERT INTO product_slots VALUES(3,55); -INSERT INTO product_slots VALUES(3,56); -INSERT INTO product_slots VALUES(3,57); -INSERT INTO product_slots VALUES(3,58); -INSERT INTO product_slots VALUES(3,59); -INSERT INTO product_slots VALUES(3,60); -INSERT INTO product_slots VALUES(3,61); -INSERT INTO product_slots VALUES(3,62); -INSERT INTO product_slots VALUES(3,63); -INSERT INTO product_slots VALUES(3,64); -INSERT INTO product_slots VALUES(3,65); -INSERT INTO product_slots VALUES(3,66); -INSERT INTO product_slots VALUES(3,67); -INSERT INTO product_slots VALUES(3,68); -INSERT INTO product_slots VALUES(3,69); -INSERT INTO product_slots VALUES(3,70); -INSERT INTO product_slots VALUES(3,71); -INSERT INTO product_slots VALUES(3,72); -INSERT INTO product_slots VALUES(3,73); -INSERT INTO product_slots VALUES(3,74); -INSERT INTO product_slots VALUES(3,75); -INSERT INTO product_slots VALUES(3,76); -INSERT INTO product_slots VALUES(3,77); -INSERT INTO product_slots VALUES(3,78); -INSERT INTO product_slots VALUES(3,79); -INSERT INTO product_slots VALUES(3,80); -INSERT INTO product_slots VALUES(3,81); -INSERT INTO product_slots VALUES(3,82); -INSERT INTO product_slots VALUES(3,83); -INSERT INTO product_slots VALUES(3,84); -INSERT INTO product_slots VALUES(3,85); -INSERT INTO product_slots VALUES(3,86); -INSERT INTO product_slots VALUES(3,87); -INSERT INTO product_slots VALUES(3,88); -INSERT INTO product_slots VALUES(3,89); -INSERT INTO product_slots VALUES(3,90); -INSERT INTO product_slots VALUES(3,91); -INSERT INTO product_slots VALUES(3,92); -INSERT INTO product_slots VALUES(3,93); -INSERT INTO product_slots VALUES(3,94); -INSERT INTO product_slots VALUES(3,95); -INSERT INTO product_slots VALUES(3,96); -INSERT INTO product_slots VALUES(3,97); -INSERT INTO product_slots VALUES(3,98); -INSERT INTO product_slots VALUES(3,99); -INSERT INTO product_slots VALUES(3,100); -INSERT INTO product_slots VALUES(3,101); -INSERT INTO product_slots VALUES(3,102); -INSERT INTO product_slots VALUES(3,103); -INSERT INTO product_slots VALUES(3,104); -INSERT INTO product_slots VALUES(3,105); -INSERT INTO product_slots VALUES(3,106); -INSERT INTO product_slots VALUES(3,107); -INSERT INTO product_slots VALUES(3,108); -INSERT INTO product_slots VALUES(3,109); -INSERT INTO product_slots VALUES(3,110); -INSERT INTO product_slots VALUES(3,111); -INSERT INTO product_slots VALUES(3,112); -INSERT INTO product_slots VALUES(3,113); -INSERT INTO product_slots VALUES(3,114); -INSERT INTO product_slots VALUES(3,115); -INSERT INTO product_slots VALUES(3,116); -INSERT INTO product_slots VALUES(3,117); -INSERT INTO product_slots VALUES(3,118); -INSERT INTO product_slots VALUES(3,119); -INSERT INTO product_slots VALUES(3,120); -INSERT INTO product_slots VALUES(3,121); -INSERT INTO product_slots VALUES(3,122); -INSERT INTO product_slots VALUES(3,123); -INSERT INTO product_slots VALUES(3,124); -INSERT INTO product_slots VALUES(3,125); -INSERT INTO product_slots VALUES(3,126); -INSERT INTO product_slots VALUES(3,127); -INSERT INTO product_slots VALUES(3,128); -INSERT INTO product_slots VALUES(3,129); -INSERT INTO product_slots VALUES(3,130); -INSERT INTO product_slots VALUES(3,131); -INSERT INTO product_slots VALUES(3,132); -INSERT INTO product_slots VALUES(3,133); -INSERT INTO product_slots VALUES(3,134); -INSERT INTO product_slots VALUES(3,135); -INSERT INTO product_slots VALUES(3,136); -INSERT INTO product_slots VALUES(3,137); -INSERT INTO product_slots VALUES(3,138); -INSERT INTO product_slots VALUES(3,139); -INSERT INTO product_slots VALUES(3,140); -INSERT INTO product_slots VALUES(3,141); -INSERT INTO product_slots VALUES(3,142); -INSERT INTO product_slots VALUES(3,143); -INSERT INTO product_slots VALUES(3,144); -INSERT INTO product_slots VALUES(3,145); -INSERT INTO product_slots VALUES(3,146); -INSERT INTO product_slots VALUES(3,147); -INSERT INTO product_slots VALUES(3,148); -INSERT INTO product_slots VALUES(3,149); -INSERT INTO product_slots VALUES(3,150); -INSERT INTO product_slots VALUES(3,151); -INSERT INTO product_slots VALUES(3,152); -INSERT INTO product_slots VALUES(3,153); -INSERT INTO product_slots VALUES(3,154); -INSERT INTO product_slots VALUES(3,155); -INSERT INTO product_slots VALUES(3,156); -INSERT INTO product_slots VALUES(3,157); -INSERT INTO product_slots VALUES(3,158); -INSERT INTO product_slots VALUES(3,159); -INSERT INTO product_slots VALUES(3,160); -INSERT INTO product_slots VALUES(3,161); -INSERT INTO product_slots VALUES(3,162); -INSERT INTO product_slots VALUES(3,163); -INSERT INTO product_slots VALUES(3,164); -INSERT INTO product_slots VALUES(3,165); -INSERT INTO product_slots VALUES(3,166); -INSERT INTO product_slots VALUES(3,167); -INSERT INTO product_slots VALUES(3,168); -INSERT INTO product_slots VALUES(3,169); -INSERT INTO product_slots VALUES(3,170); -INSERT INTO product_slots VALUES(3,171); -INSERT INTO product_slots VALUES(3,172); -INSERT INTO product_slots VALUES(3,173); -INSERT INTO product_slots VALUES(3,174); -INSERT INTO product_slots VALUES(3,175); -INSERT INTO product_slots VALUES(3,176); -INSERT INTO product_slots VALUES(3,177); -INSERT INTO product_slots VALUES(3,178); -INSERT INTO product_slots VALUES(3,179); -INSERT INTO product_slots VALUES(3,180); -INSERT INTO product_slots VALUES(3,181); -INSERT INTO product_slots VALUES(3,182); -INSERT INTO product_slots VALUES(3,183); -INSERT INTO product_slots VALUES(3,184); -INSERT INTO product_slots VALUES(3,185); -INSERT INTO product_slots VALUES(3,186); -INSERT INTO product_slots VALUES(3,187); -INSERT INTO product_slots VALUES(3,188); -INSERT INTO product_slots VALUES(3,189); -INSERT INTO product_slots VALUES(3,190); -INSERT INTO product_slots VALUES(3,191); -INSERT INTO product_slots VALUES(3,192); -INSERT INTO product_slots VALUES(3,193); -INSERT INTO product_slots VALUES(3,194); -INSERT INTO product_slots VALUES(3,195); -INSERT INTO product_slots VALUES(3,196); -INSERT INTO product_slots VALUES(3,197); -INSERT INTO product_slots VALUES(3,198); -INSERT INTO product_slots VALUES(3,199); -INSERT INTO product_slots VALUES(3,200); -INSERT INTO product_slots VALUES(3,201); -INSERT INTO product_slots VALUES(3,202); -INSERT INTO product_slots VALUES(3,203); -INSERT INTO product_slots VALUES(3,204); -INSERT INTO product_slots VALUES(3,205); -INSERT INTO product_slots VALUES(3,206); -INSERT INTO product_slots VALUES(3,207); -INSERT INTO product_slots VALUES(3,208); -INSERT INTO product_slots VALUES(3,209); -INSERT INTO product_slots VALUES(3,210); -INSERT INTO product_slots VALUES(3,211); -INSERT INTO product_slots VALUES(3,212); -INSERT INTO product_slots VALUES(3,213); -INSERT INTO product_slots VALUES(3,214); -INSERT INTO product_slots VALUES(3,215); -INSERT INTO product_slots VALUES(3,216); -INSERT INTO product_slots VALUES(3,217); -INSERT INTO product_slots VALUES(3,218); -INSERT INTO product_slots VALUES(3,219); -INSERT INTO product_slots VALUES(3,220); -INSERT INTO product_slots VALUES(3,221); -INSERT INTO product_slots VALUES(3,222); -INSERT INTO product_slots VALUES(3,223); -INSERT INTO product_slots VALUES(3,224); -INSERT INTO product_slots VALUES(3,225); -INSERT INTO product_slots VALUES(3,226); -INSERT INTO product_slots VALUES(3,227); -INSERT INTO product_slots VALUES(3,228); -INSERT INTO product_slots VALUES(3,229); -INSERT INTO product_slots VALUES(3,230); -INSERT INTO product_slots VALUES(3,231); -INSERT INTO product_slots VALUES(3,232); -INSERT INTO product_slots VALUES(3,234); -INSERT INTO product_slots VALUES(3,235); -INSERT INTO product_slots VALUES(3,236); -INSERT INTO product_slots VALUES(3,237); -INSERT INTO product_slots VALUES(3,238); -INSERT INTO product_slots VALUES(3,239); -INSERT INTO product_slots VALUES(3,240); -INSERT INTO product_slots VALUES(3,241); -INSERT INTO product_slots VALUES(3,242); -INSERT INTO product_slots VALUES(3,243); -INSERT INTO product_slots VALUES(3,244); -INSERT INTO product_slots VALUES(3,274); -INSERT INTO product_slots VALUES(3,275); -INSERT INTO product_slots VALUES(3,279); -INSERT INTO product_slots VALUES(3,280); -INSERT INTO product_slots VALUES(3,281); -INSERT INTO product_slots VALUES(3,282); -INSERT INTO product_slots VALUES(4,1); -INSERT INTO product_slots VALUES(4,2); -INSERT INTO product_slots VALUES(4,3); -INSERT INTO product_slots VALUES(4,4); -INSERT INTO product_slots VALUES(4,5); -INSERT INTO product_slots VALUES(4,6); -INSERT INTO product_slots VALUES(4,7); -INSERT INTO product_slots VALUES(4,18); -INSERT INTO product_slots VALUES(4,19); -INSERT INTO product_slots VALUES(4,20); -INSERT INTO product_slots VALUES(4,21); -INSERT INTO product_slots VALUES(4,22); -INSERT INTO product_slots VALUES(4,33); -INSERT INTO product_slots VALUES(4,35); -INSERT INTO product_slots VALUES(4,37); -INSERT INTO product_slots VALUES(4,38); -INSERT INTO product_slots VALUES(4,39); -INSERT INTO product_slots VALUES(4,40); -INSERT INTO product_slots VALUES(4,41); -INSERT INTO product_slots VALUES(4,43); -INSERT INTO product_slots VALUES(4,45); -INSERT INTO product_slots VALUES(4,46); -INSERT INTO product_slots VALUES(4,47); -INSERT INTO product_slots VALUES(4,48); -INSERT INTO product_slots VALUES(4,49); -INSERT INTO product_slots VALUES(4,50); -INSERT INTO product_slots VALUES(4,51); -INSERT INTO product_slots VALUES(4,52); -INSERT INTO product_slots VALUES(4,53); -INSERT INTO product_slots VALUES(4,54); -INSERT INTO product_slots VALUES(4,55); -INSERT INTO product_slots VALUES(4,56); -INSERT INTO product_slots VALUES(4,57); -INSERT INTO product_slots VALUES(4,58); -INSERT INTO product_slots VALUES(4,59); -INSERT INTO product_slots VALUES(4,60); -INSERT INTO product_slots VALUES(4,61); -INSERT INTO product_slots VALUES(4,62); -INSERT INTO product_slots VALUES(4,63); -INSERT INTO product_slots VALUES(4,64); -INSERT INTO product_slots VALUES(4,65); -INSERT INTO product_slots VALUES(4,66); -INSERT INTO product_slots VALUES(4,67); -INSERT INTO product_slots VALUES(4,68); -INSERT INTO product_slots VALUES(4,69); -INSERT INTO product_slots VALUES(4,70); -INSERT INTO product_slots VALUES(4,71); -INSERT INTO product_slots VALUES(4,74); -INSERT INTO product_slots VALUES(4,75); -INSERT INTO product_slots VALUES(4,76); -INSERT INTO product_slots VALUES(4,77); -INSERT INTO product_slots VALUES(4,78); -INSERT INTO product_slots VALUES(4,81); -INSERT INTO product_slots VALUES(4,82); -INSERT INTO product_slots VALUES(4,83); -INSERT INTO product_slots VALUES(4,84); -INSERT INTO product_slots VALUES(4,87); -INSERT INTO product_slots VALUES(4,88); -INSERT INTO product_slots VALUES(4,89); -INSERT INTO product_slots VALUES(4,90); -INSERT INTO product_slots VALUES(4,91); -INSERT INTO product_slots VALUES(4,95); -INSERT INTO product_slots VALUES(4,96); -INSERT INTO product_slots VALUES(4,97); -INSERT INTO product_slots VALUES(4,98); -INSERT INTO product_slots VALUES(4,101); -INSERT INTO product_slots VALUES(4,102); -INSERT INTO product_slots VALUES(4,103); -INSERT INTO product_slots VALUES(4,104); -INSERT INTO product_slots VALUES(4,109); -INSERT INTO product_slots VALUES(4,110); -INSERT INTO product_slots VALUES(4,111); -INSERT INTO product_slots VALUES(4,112); -INSERT INTO product_slots VALUES(4,116); -INSERT INTO product_slots VALUES(4,117); -INSERT INTO product_slots VALUES(4,118); -INSERT INTO product_slots VALUES(4,119); -INSERT INTO product_slots VALUES(4,120); -INSERT INTO product_slots VALUES(4,123); -INSERT INTO product_slots VALUES(4,124); -INSERT INTO product_slots VALUES(4,125); -INSERT INTO product_slots VALUES(4,126); -INSERT INTO product_slots VALUES(4,130); -INSERT INTO product_slots VALUES(4,131); -INSERT INTO product_slots VALUES(4,132); -INSERT INTO product_slots VALUES(4,133); -INSERT INTO product_slots VALUES(4,137); -INSERT INTO product_slots VALUES(4,138); -INSERT INTO product_slots VALUES(4,139); -INSERT INTO product_slots VALUES(4,140); -INSERT INTO product_slots VALUES(4,144); -INSERT INTO product_slots VALUES(4,145); -INSERT INTO product_slots VALUES(4,146); -INSERT INTO product_slots VALUES(4,147); -INSERT INTO product_slots VALUES(4,148); -INSERT INTO product_slots VALUES(4,149); -INSERT INTO product_slots VALUES(4,150); -INSERT INTO product_slots VALUES(4,151); -INSERT INTO product_slots VALUES(4,155); -INSERT INTO product_slots VALUES(4,156); -INSERT INTO product_slots VALUES(4,157); -INSERT INTO product_slots VALUES(4,158); -INSERT INTO product_slots VALUES(4,162); -INSERT INTO product_slots VALUES(4,163); -INSERT INTO product_slots VALUES(4,164); -INSERT INTO product_slots VALUES(4,165); -INSERT INTO product_slots VALUES(4,166); -INSERT INTO product_slots VALUES(4,169); -INSERT INTO product_slots VALUES(4,170); -INSERT INTO product_slots VALUES(4,171); -INSERT INTO product_slots VALUES(4,172); -INSERT INTO product_slots VALUES(4,173); -INSERT INTO product_slots VALUES(4,176); -INSERT INTO product_slots VALUES(4,177); -INSERT INTO product_slots VALUES(4,178); -INSERT INTO product_slots VALUES(4,179); -INSERT INTO product_slots VALUES(4,180); -INSERT INTO product_slots VALUES(4,181); -INSERT INTO product_slots VALUES(4,182); -INSERT INTO product_slots VALUES(4,183); -INSERT INTO product_slots VALUES(4,184); -INSERT INTO product_slots VALUES(4,185); -INSERT INTO product_slots VALUES(4,186); -INSERT INTO product_slots VALUES(4,187); -INSERT INTO product_slots VALUES(4,188); -INSERT INTO product_slots VALUES(4,189); -INSERT INTO product_slots VALUES(4,190); -INSERT INTO product_slots VALUES(4,191); -INSERT INTO product_slots VALUES(4,192); -INSERT INTO product_slots VALUES(4,193); -INSERT INTO product_slots VALUES(4,194); -INSERT INTO product_slots VALUES(4,198); -INSERT INTO product_slots VALUES(4,199); -INSERT INTO product_slots VALUES(4,200); -INSERT INTO product_slots VALUES(4,201); -INSERT INTO product_slots VALUES(4,202); -INSERT INTO product_slots VALUES(4,203); -INSERT INTO product_slots VALUES(4,205); -INSERT INTO product_slots VALUES(4,208); -INSERT INTO product_slots VALUES(4,209); -INSERT INTO product_slots VALUES(4,210); -INSERT INTO product_slots VALUES(4,211); -INSERT INTO product_slots VALUES(4,216); -INSERT INTO product_slots VALUES(4,217); -INSERT INTO product_slots VALUES(4,218); -INSERT INTO product_slots VALUES(4,219); -INSERT INTO product_slots VALUES(4,220); -INSERT INTO product_slots VALUES(4,223); -INSERT INTO product_slots VALUES(4,224); -INSERT INTO product_slots VALUES(4,225); -INSERT INTO product_slots VALUES(4,226); -INSERT INTO product_slots VALUES(4,230); -INSERT INTO product_slots VALUES(4,231); -INSERT INTO product_slots VALUES(4,232); -INSERT INTO product_slots VALUES(4,234); -INSERT INTO product_slots VALUES(4,237); -INSERT INTO product_slots VALUES(4,238); -INSERT INTO product_slots VALUES(4,239); -INSERT INTO product_slots VALUES(4,240); -INSERT INTO product_slots VALUES(4,274); -INSERT INTO product_slots VALUES(4,275); -INSERT INTO product_slots VALUES(4,277); -INSERT INTO product_slots VALUES(4,278); -INSERT INTO product_slots VALUES(4,279); -INSERT INTO product_slots VALUES(5,1); -INSERT INTO product_slots VALUES(5,3); -INSERT INTO product_slots VALUES(5,4); -INSERT INTO product_slots VALUES(5,5); -INSERT INTO product_slots VALUES(5,6); -INSERT INTO product_slots VALUES(5,7); -INSERT INTO product_slots VALUES(5,8); -INSERT INTO product_slots VALUES(5,16); -INSERT INTO product_slots VALUES(5,18); -INSERT INTO product_slots VALUES(5,20); -INSERT INTO product_slots VALUES(5,21); -INSERT INTO product_slots VALUES(5,22); -INSERT INTO product_slots VALUES(5,33); -INSERT INTO product_slots VALUES(5,35); -INSERT INTO product_slots VALUES(5,37); -INSERT INTO product_slots VALUES(5,38); -INSERT INTO product_slots VALUES(5,39); -INSERT INTO product_slots VALUES(5,40); -INSERT INTO product_slots VALUES(5,41); -INSERT INTO product_slots VALUES(5,43); -INSERT INTO product_slots VALUES(5,44); -INSERT INTO product_slots VALUES(5,45); -INSERT INTO product_slots VALUES(5,46); -INSERT INTO product_slots VALUES(5,47); -INSERT INTO product_slots VALUES(5,48); -INSERT INTO product_slots VALUES(5,49); -INSERT INTO product_slots VALUES(5,50); -INSERT INTO product_slots VALUES(5,51); -INSERT INTO product_slots VALUES(5,52); -INSERT INTO product_slots VALUES(5,53); -INSERT INTO product_slots VALUES(5,54); -INSERT INTO product_slots VALUES(5,55); -INSERT INTO product_slots VALUES(5,56); -INSERT INTO product_slots VALUES(5,57); -INSERT INTO product_slots VALUES(5,58); -INSERT INTO product_slots VALUES(5,59); -INSERT INTO product_slots VALUES(5,60); -INSERT INTO product_slots VALUES(5,61); -INSERT INTO product_slots VALUES(5,62); -INSERT INTO product_slots VALUES(5,63); -INSERT INTO product_slots VALUES(5,64); -INSERT INTO product_slots VALUES(5,65); -INSERT INTO product_slots VALUES(5,66); -INSERT INTO product_slots VALUES(5,67); -INSERT INTO product_slots VALUES(5,68); -INSERT INTO product_slots VALUES(5,69); -INSERT INTO product_slots VALUES(5,70); -INSERT INTO product_slots VALUES(5,71); -INSERT INTO product_slots VALUES(5,72); -INSERT INTO product_slots VALUES(5,73); -INSERT INTO product_slots VALUES(5,74); -INSERT INTO product_slots VALUES(5,75); -INSERT INTO product_slots VALUES(5,76); -INSERT INTO product_slots VALUES(5,77); -INSERT INTO product_slots VALUES(5,78); -INSERT INTO product_slots VALUES(5,79); -INSERT INTO product_slots VALUES(5,80); -INSERT INTO product_slots VALUES(5,81); -INSERT INTO product_slots VALUES(5,82); -INSERT INTO product_slots VALUES(5,83); -INSERT INTO product_slots VALUES(5,84); -INSERT INTO product_slots VALUES(5,85); -INSERT INTO product_slots VALUES(5,86); -INSERT INTO product_slots VALUES(5,87); -INSERT INTO product_slots VALUES(5,88); -INSERT INTO product_slots VALUES(5,89); -INSERT INTO product_slots VALUES(5,90); -INSERT INTO product_slots VALUES(5,91); -INSERT INTO product_slots VALUES(5,92); -INSERT INTO product_slots VALUES(5,93); -INSERT INTO product_slots VALUES(5,94); -INSERT INTO product_slots VALUES(5,95); -INSERT INTO product_slots VALUES(5,96); -INSERT INTO product_slots VALUES(5,97); -INSERT INTO product_slots VALUES(5,98); -INSERT INTO product_slots VALUES(5,99); -INSERT INTO product_slots VALUES(5,100); -INSERT INTO product_slots VALUES(5,101); -INSERT INTO product_slots VALUES(5,102); -INSERT INTO product_slots VALUES(5,103); -INSERT INTO product_slots VALUES(5,104); -INSERT INTO product_slots VALUES(5,105); -INSERT INTO product_slots VALUES(5,106); -INSERT INTO product_slots VALUES(5,107); -INSERT INTO product_slots VALUES(5,108); -INSERT INTO product_slots VALUES(5,109); -INSERT INTO product_slots VALUES(5,110); -INSERT INTO product_slots VALUES(5,111); -INSERT INTO product_slots VALUES(5,112); -INSERT INTO product_slots VALUES(5,113); -INSERT INTO product_slots VALUES(5,114); -INSERT INTO product_slots VALUES(5,115); -INSERT INTO product_slots VALUES(5,116); -INSERT INTO product_slots VALUES(5,117); -INSERT INTO product_slots VALUES(5,118); -INSERT INTO product_slots VALUES(5,119); -INSERT INTO product_slots VALUES(5,120); -INSERT INTO product_slots VALUES(5,121); -INSERT INTO product_slots VALUES(5,122); -INSERT INTO product_slots VALUES(5,123); -INSERT INTO product_slots VALUES(5,124); -INSERT INTO product_slots VALUES(5,125); -INSERT INTO product_slots VALUES(5,126); -INSERT INTO product_slots VALUES(5,127); -INSERT INTO product_slots VALUES(5,128); -INSERT INTO product_slots VALUES(5,129); -INSERT INTO product_slots VALUES(5,130); -INSERT INTO product_slots VALUES(5,131); -INSERT INTO product_slots VALUES(5,132); -INSERT INTO product_slots VALUES(5,133); -INSERT INTO product_slots VALUES(5,134); -INSERT INTO product_slots VALUES(5,135); -INSERT INTO product_slots VALUES(5,136); -INSERT INTO product_slots VALUES(5,137); -INSERT INTO product_slots VALUES(5,138); -INSERT INTO product_slots VALUES(5,139); -INSERT INTO product_slots VALUES(5,140); -INSERT INTO product_slots VALUES(5,141); -INSERT INTO product_slots VALUES(5,142); -INSERT INTO product_slots VALUES(5,143); -INSERT INTO product_slots VALUES(5,144); -INSERT INTO product_slots VALUES(5,145); -INSERT INTO product_slots VALUES(5,146); -INSERT INTO product_slots VALUES(5,147); -INSERT INTO product_slots VALUES(5,148); -INSERT INTO product_slots VALUES(5,149); -INSERT INTO product_slots VALUES(5,150); -INSERT INTO product_slots VALUES(5,151); -INSERT INTO product_slots VALUES(5,152); -INSERT INTO product_slots VALUES(5,153); -INSERT INTO product_slots VALUES(5,154); -INSERT INTO product_slots VALUES(5,155); -INSERT INTO product_slots VALUES(5,156); -INSERT INTO product_slots VALUES(5,157); -INSERT INTO product_slots VALUES(5,158); -INSERT INTO product_slots VALUES(5,159); -INSERT INTO product_slots VALUES(5,160); -INSERT INTO product_slots VALUES(5,161); -INSERT INTO product_slots VALUES(5,162); -INSERT INTO product_slots VALUES(5,163); -INSERT INTO product_slots VALUES(5,164); -INSERT INTO product_slots VALUES(5,165); -INSERT INTO product_slots VALUES(5,166); -INSERT INTO product_slots VALUES(5,167); -INSERT INTO product_slots VALUES(5,168); -INSERT INTO product_slots VALUES(5,169); -INSERT INTO product_slots VALUES(5,170); -INSERT INTO product_slots VALUES(5,171); -INSERT INTO product_slots VALUES(5,172); -INSERT INTO product_slots VALUES(5,173); -INSERT INTO product_slots VALUES(5,174); -INSERT INTO product_slots VALUES(5,175); -INSERT INTO product_slots VALUES(5,176); -INSERT INTO product_slots VALUES(5,177); -INSERT INTO product_slots VALUES(5,178); -INSERT INTO product_slots VALUES(5,179); -INSERT INTO product_slots VALUES(5,180); -INSERT INTO product_slots VALUES(5,181); -INSERT INTO product_slots VALUES(5,182); -INSERT INTO product_slots VALUES(5,183); -INSERT INTO product_slots VALUES(5,184); -INSERT INTO product_slots VALUES(5,185); -INSERT INTO product_slots VALUES(5,186); -INSERT INTO product_slots VALUES(5,187); -INSERT INTO product_slots VALUES(5,188); -INSERT INTO product_slots VALUES(5,189); -INSERT INTO product_slots VALUES(5,190); -INSERT INTO product_slots VALUES(5,191); -INSERT INTO product_slots VALUES(5,192); -INSERT INTO product_slots VALUES(5,193); -INSERT INTO product_slots VALUES(5,194); -INSERT INTO product_slots VALUES(5,195); -INSERT INTO product_slots VALUES(5,196); -INSERT INTO product_slots VALUES(5,197); -INSERT INTO product_slots VALUES(5,198); -INSERT INTO product_slots VALUES(5,199); -INSERT INTO product_slots VALUES(5,200); -INSERT INTO product_slots VALUES(5,201); -INSERT INTO product_slots VALUES(5,202); -INSERT INTO product_slots VALUES(5,203); -INSERT INTO product_slots VALUES(5,204); -INSERT INTO product_slots VALUES(5,205); -INSERT INTO product_slots VALUES(5,206); -INSERT INTO product_slots VALUES(5,207); -INSERT INTO product_slots VALUES(5,208); -INSERT INTO product_slots VALUES(5,209); -INSERT INTO product_slots VALUES(5,210); -INSERT INTO product_slots VALUES(5,211); -INSERT INTO product_slots VALUES(5,212); -INSERT INTO product_slots VALUES(5,213); -INSERT INTO product_slots VALUES(5,214); -INSERT INTO product_slots VALUES(5,215); -INSERT INTO product_slots VALUES(5,216); -INSERT INTO product_slots VALUES(5,217); -INSERT INTO product_slots VALUES(5,218); -INSERT INTO product_slots VALUES(5,219); -INSERT INTO product_slots VALUES(5,220); -INSERT INTO product_slots VALUES(5,221); -INSERT INTO product_slots VALUES(5,222); -INSERT INTO product_slots VALUES(5,223); -INSERT INTO product_slots VALUES(5,224); -INSERT INTO product_slots VALUES(5,225); -INSERT INTO product_slots VALUES(5,226); -INSERT INTO product_slots VALUES(5,227); -INSERT INTO product_slots VALUES(5,228); -INSERT INTO product_slots VALUES(5,229); -INSERT INTO product_slots VALUES(5,230); -INSERT INTO product_slots VALUES(5,231); -INSERT INTO product_slots VALUES(5,232); -INSERT INTO product_slots VALUES(5,233); -INSERT INTO product_slots VALUES(5,234); -INSERT INTO product_slots VALUES(5,235); -INSERT INTO product_slots VALUES(5,236); -INSERT INTO product_slots VALUES(5,237); -INSERT INTO product_slots VALUES(5,238); -INSERT INTO product_slots VALUES(5,239); -INSERT INTO product_slots VALUES(5,240); -INSERT INTO product_slots VALUES(5,241); -INSERT INTO product_slots VALUES(5,242); -INSERT INTO product_slots VALUES(5,243); -INSERT INTO product_slots VALUES(5,244); -INSERT INTO product_slots VALUES(5,274); -INSERT INTO product_slots VALUES(5,275); -INSERT INTO product_slots VALUES(5,279); -INSERT INTO product_slots VALUES(5,280); -INSERT INTO product_slots VALUES(5,281); -INSERT INTO product_slots VALUES(5,282); -INSERT INTO product_slots VALUES(5,283); -INSERT INTO product_slots VALUES(5,284); -INSERT INTO product_slots VALUES(5,285); -INSERT INTO product_slots VALUES(5,286); -INSERT INTO product_slots VALUES(5,287); -INSERT INTO product_slots VALUES(6,1); -INSERT INTO product_slots VALUES(6,2); -INSERT INTO product_slots VALUES(6,3); -INSERT INTO product_slots VALUES(6,4); -INSERT INTO product_slots VALUES(6,5); -INSERT INTO product_slots VALUES(6,6); -INSERT INTO product_slots VALUES(6,7); -INSERT INTO product_slots VALUES(6,8); -INSERT INTO product_slots VALUES(6,13); -INSERT INTO product_slots VALUES(6,14); -INSERT INTO product_slots VALUES(6,16); -INSERT INTO product_slots VALUES(6,17); -INSERT INTO product_slots VALUES(6,18); -INSERT INTO product_slots VALUES(6,20); -INSERT INTO product_slots VALUES(6,21); -INSERT INTO product_slots VALUES(6,22); -INSERT INTO product_slots VALUES(6,33); -INSERT INTO product_slots VALUES(6,35); -INSERT INTO product_slots VALUES(6,37); -INSERT INTO product_slots VALUES(6,38); -INSERT INTO product_slots VALUES(6,39); -INSERT INTO product_slots VALUES(6,40); -INSERT INTO product_slots VALUES(6,41); -INSERT INTO product_slots VALUES(6,43); -INSERT INTO product_slots VALUES(6,44); -INSERT INTO product_slots VALUES(6,45); -INSERT INTO product_slots VALUES(6,46); -INSERT INTO product_slots VALUES(6,47); -INSERT INTO product_slots VALUES(6,48); -INSERT INTO product_slots VALUES(6,49); -INSERT INTO product_slots VALUES(6,50); -INSERT INTO product_slots VALUES(6,51); -INSERT INTO product_slots VALUES(6,52); -INSERT INTO product_slots VALUES(6,53); -INSERT INTO product_slots VALUES(6,54); -INSERT INTO product_slots VALUES(6,55); -INSERT INTO product_slots VALUES(6,56); -INSERT INTO product_slots VALUES(6,57); -INSERT INTO product_slots VALUES(6,58); -INSERT INTO product_slots VALUES(6,59); -INSERT INTO product_slots VALUES(6,60); -INSERT INTO product_slots VALUES(6,61); -INSERT INTO product_slots VALUES(6,62); -INSERT INTO product_slots VALUES(6,63); -INSERT INTO product_slots VALUES(6,64); -INSERT INTO product_slots VALUES(6,65); -INSERT INTO product_slots VALUES(6,66); -INSERT INTO product_slots VALUES(6,67); -INSERT INTO product_slots VALUES(6,68); -INSERT INTO product_slots VALUES(6,69); -INSERT INTO product_slots VALUES(6,70); -INSERT INTO product_slots VALUES(6,71); -INSERT INTO product_slots VALUES(6,72); -INSERT INTO product_slots VALUES(6,73); -INSERT INTO product_slots VALUES(6,74); -INSERT INTO product_slots VALUES(6,75); -INSERT INTO product_slots VALUES(6,76); -INSERT INTO product_slots VALUES(6,77); -INSERT INTO product_slots VALUES(6,78); -INSERT INTO product_slots VALUES(6,79); -INSERT INTO product_slots VALUES(6,80); -INSERT INTO product_slots VALUES(6,81); -INSERT INTO product_slots VALUES(6,82); -INSERT INTO product_slots VALUES(6,83); -INSERT INTO product_slots VALUES(6,84); -INSERT INTO product_slots VALUES(6,87); -INSERT INTO product_slots VALUES(6,88); -INSERT INTO product_slots VALUES(6,89); -INSERT INTO product_slots VALUES(6,90); -INSERT INTO product_slots VALUES(6,91); -INSERT INTO product_slots VALUES(6,92); -INSERT INTO product_slots VALUES(6,93); -INSERT INTO product_slots VALUES(6,94); -INSERT INTO product_slots VALUES(6,95); -INSERT INTO product_slots VALUES(6,96); -INSERT INTO product_slots VALUES(6,97); -INSERT INTO product_slots VALUES(6,98); -INSERT INTO product_slots VALUES(6,99); -INSERT INTO product_slots VALUES(6,100); -INSERT INTO product_slots VALUES(6,102); -INSERT INTO product_slots VALUES(6,103); -INSERT INTO product_slots VALUES(6,104); -INSERT INTO product_slots VALUES(6,109); -INSERT INTO product_slots VALUES(6,110); -INSERT INTO product_slots VALUES(6,111); -INSERT INTO product_slots VALUES(6,112); -INSERT INTO product_slots VALUES(6,117); -INSERT INTO product_slots VALUES(6,118); -INSERT INTO product_slots VALUES(6,119); -INSERT INTO product_slots VALUES(6,120); -INSERT INTO product_slots VALUES(6,121); -INSERT INTO product_slots VALUES(6,122); -INSERT INTO product_slots VALUES(6,123); -INSERT INTO product_slots VALUES(6,124); -INSERT INTO product_slots VALUES(6,125); -INSERT INTO product_slots VALUES(6,126); -INSERT INTO product_slots VALUES(6,127); -INSERT INTO product_slots VALUES(6,128); -INSERT INTO product_slots VALUES(6,129); -INSERT INTO product_slots VALUES(6,130); -INSERT INTO product_slots VALUES(6,131); -INSERT INTO product_slots VALUES(6,132); -INSERT INTO product_slots VALUES(6,133); -INSERT INTO product_slots VALUES(6,134); -INSERT INTO product_slots VALUES(6,135); -INSERT INTO product_slots VALUES(6,136); -INSERT INTO product_slots VALUES(6,138); -INSERT INTO product_slots VALUES(6,139); -INSERT INTO product_slots VALUES(6,140); -INSERT INTO product_slots VALUES(6,141); -INSERT INTO product_slots VALUES(6,142); -INSERT INTO product_slots VALUES(6,143); -INSERT INTO product_slots VALUES(6,145); -INSERT INTO product_slots VALUES(6,146); -INSERT INTO product_slots VALUES(6,147); -INSERT INTO product_slots VALUES(6,148); -INSERT INTO product_slots VALUES(6,149); -INSERT INTO product_slots VALUES(6,150); -INSERT INTO product_slots VALUES(6,151); -INSERT INTO product_slots VALUES(6,152); -INSERT INTO product_slots VALUES(6,153); -INSERT INTO product_slots VALUES(6,154); -INSERT INTO product_slots VALUES(6,155); -INSERT INTO product_slots VALUES(6,156); -INSERT INTO product_slots VALUES(6,157); -INSERT INTO product_slots VALUES(6,158); -INSERT INTO product_slots VALUES(6,159); -INSERT INTO product_slots VALUES(6,160); -INSERT INTO product_slots VALUES(6,161); -INSERT INTO product_slots VALUES(6,162); -INSERT INTO product_slots VALUES(6,163); -INSERT INTO product_slots VALUES(6,164); -INSERT INTO product_slots VALUES(6,165); -INSERT INTO product_slots VALUES(6,166); -INSERT INTO product_slots VALUES(6,169); -INSERT INTO product_slots VALUES(6,170); -INSERT INTO product_slots VALUES(6,171); -INSERT INTO product_slots VALUES(6,172); -INSERT INTO product_slots VALUES(6,173); -INSERT INTO product_slots VALUES(6,174); -INSERT INTO product_slots VALUES(6,175); -INSERT INTO product_slots VALUES(6,176); -INSERT INTO product_slots VALUES(6,177); -INSERT INTO product_slots VALUES(6,178); -INSERT INTO product_slots VALUES(6,179); -INSERT INTO product_slots VALUES(6,180); -INSERT INTO product_slots VALUES(6,181); -INSERT INTO product_slots VALUES(6,182); -INSERT INTO product_slots VALUES(6,183); -INSERT INTO product_slots VALUES(6,184); -INSERT INTO product_slots VALUES(6,185); -INSERT INTO product_slots VALUES(6,186); -INSERT INTO product_slots VALUES(6,187); -INSERT INTO product_slots VALUES(6,188); -INSERT INTO product_slots VALUES(6,189); -INSERT INTO product_slots VALUES(6,190); -INSERT INTO product_slots VALUES(6,191); -INSERT INTO product_slots VALUES(6,192); -INSERT INTO product_slots VALUES(6,193); -INSERT INTO product_slots VALUES(6,194); -INSERT INTO product_slots VALUES(6,198); -INSERT INTO product_slots VALUES(6,199); -INSERT INTO product_slots VALUES(6,200); -INSERT INTO product_slots VALUES(6,201); -INSERT INTO product_slots VALUES(6,202); -INSERT INTO product_slots VALUES(6,203); -INSERT INTO product_slots VALUES(6,204); -INSERT INTO product_slots VALUES(6,205); -INSERT INTO product_slots VALUES(6,206); -INSERT INTO product_slots VALUES(6,207); -INSERT INTO product_slots VALUES(6,208); -INSERT INTO product_slots VALUES(6,209); -INSERT INTO product_slots VALUES(6,210); -INSERT INTO product_slots VALUES(6,211); -INSERT INTO product_slots VALUES(6,212); -INSERT INTO product_slots VALUES(6,213); -INSERT INTO product_slots VALUES(6,214); -INSERT INTO product_slots VALUES(6,215); -INSERT INTO product_slots VALUES(6,216); -INSERT INTO product_slots VALUES(6,217); -INSERT INTO product_slots VALUES(6,218); -INSERT INTO product_slots VALUES(6,219); -INSERT INTO product_slots VALUES(6,220); -INSERT INTO product_slots VALUES(6,222); -INSERT INTO product_slots VALUES(6,223); -INSERT INTO product_slots VALUES(6,224); -INSERT INTO product_slots VALUES(6,225); -INSERT INTO product_slots VALUES(6,226); -INSERT INTO product_slots VALUES(6,227); -INSERT INTO product_slots VALUES(6,228); -INSERT INTO product_slots VALUES(6,229); -INSERT INTO product_slots VALUES(6,230); -INSERT INTO product_slots VALUES(6,231); -INSERT INTO product_slots VALUES(6,232); -INSERT INTO product_slots VALUES(6,234); -INSERT INTO product_slots VALUES(6,235); -INSERT INTO product_slots VALUES(6,236); -INSERT INTO product_slots VALUES(6,237); -INSERT INTO product_slots VALUES(6,238); -INSERT INTO product_slots VALUES(6,239); -INSERT INTO product_slots VALUES(6,240); -INSERT INTO product_slots VALUES(6,244); -INSERT INTO product_slots VALUES(6,274); -INSERT INTO product_slots VALUES(6,275); -INSERT INTO product_slots VALUES(6,277); -INSERT INTO product_slots VALUES(6,278); -INSERT INTO product_slots VALUES(6,279); -INSERT INTO product_slots VALUES(6,283); -INSERT INTO product_slots VALUES(6,284); -INSERT INTO product_slots VALUES(6,285); -INSERT INTO product_slots VALUES(6,286); -INSERT INTO product_slots VALUES(6,287); -INSERT INTO product_slots VALUES(7,1); -INSERT INTO product_slots VALUES(7,2); -INSERT INTO product_slots VALUES(7,3); -INSERT INTO product_slots VALUES(7,4); -INSERT INTO product_slots VALUES(7,5); -INSERT INTO product_slots VALUES(7,6); -INSERT INTO product_slots VALUES(7,7); -INSERT INTO product_slots VALUES(7,8); -INSERT INTO product_slots VALUES(7,9); -INSERT INTO product_slots VALUES(7,17); -INSERT INTO product_slots VALUES(7,18); -INSERT INTO product_slots VALUES(7,20); -INSERT INTO product_slots VALUES(7,21); -INSERT INTO product_slots VALUES(7,22); -INSERT INTO product_slots VALUES(7,33); -INSERT INTO product_slots VALUES(7,35); -INSERT INTO product_slots VALUES(7,37); -INSERT INTO product_slots VALUES(7,38); -INSERT INTO product_slots VALUES(7,39); -INSERT INTO product_slots VALUES(7,40); -INSERT INTO product_slots VALUES(7,43); -INSERT INTO product_slots VALUES(7,45); -INSERT INTO product_slots VALUES(7,46); -INSERT INTO product_slots VALUES(7,48); -INSERT INTO product_slots VALUES(7,49); -INSERT INTO product_slots VALUES(7,51); -INSERT INTO product_slots VALUES(7,52); -INSERT INTO product_slots VALUES(7,53); -INSERT INTO product_slots VALUES(7,54); -INSERT INTO product_slots VALUES(7,57); -INSERT INTO product_slots VALUES(7,58); -INSERT INTO product_slots VALUES(7,59); -INSERT INTO product_slots VALUES(7,60); -INSERT INTO product_slots VALUES(7,61); -INSERT INTO product_slots VALUES(7,62); -INSERT INTO product_slots VALUES(7,63); -INSERT INTO product_slots VALUES(7,64); -INSERT INTO product_slots VALUES(7,65); -INSERT INTO product_slots VALUES(7,66); -INSERT INTO product_slots VALUES(7,67); -INSERT INTO product_slots VALUES(7,68); -INSERT INTO product_slots VALUES(7,69); -INSERT INTO product_slots VALUES(7,70); -INSERT INTO product_slots VALUES(7,71); -INSERT INTO product_slots VALUES(7,72); -INSERT INTO product_slots VALUES(7,73); -INSERT INTO product_slots VALUES(7,74); -INSERT INTO product_slots VALUES(7,75); -INSERT INTO product_slots VALUES(7,76); -INSERT INTO product_slots VALUES(7,77); -INSERT INTO product_slots VALUES(7,78); -INSERT INTO product_slots VALUES(7,79); -INSERT INTO product_slots VALUES(7,80); -INSERT INTO product_slots VALUES(7,81); -INSERT INTO product_slots VALUES(7,82); -INSERT INTO product_slots VALUES(7,83); -INSERT INTO product_slots VALUES(7,84); -INSERT INTO product_slots VALUES(7,85); -INSERT INTO product_slots VALUES(7,86); -INSERT INTO product_slots VALUES(7,87); -INSERT INTO product_slots VALUES(7,88); -INSERT INTO product_slots VALUES(7,89); -INSERT INTO product_slots VALUES(7,90); -INSERT INTO product_slots VALUES(7,91); -INSERT INTO product_slots VALUES(7,92); -INSERT INTO product_slots VALUES(7,93); -INSERT INTO product_slots VALUES(7,94); -INSERT INTO product_slots VALUES(7,95); -INSERT INTO product_slots VALUES(7,96); -INSERT INTO product_slots VALUES(7,97); -INSERT INTO product_slots VALUES(7,98); -INSERT INTO product_slots VALUES(7,99); -INSERT INTO product_slots VALUES(7,100); -INSERT INTO product_slots VALUES(7,102); -INSERT INTO product_slots VALUES(7,103); -INSERT INTO product_slots VALUES(7,104); -INSERT INTO product_slots VALUES(7,105); -INSERT INTO product_slots VALUES(7,106); -INSERT INTO product_slots VALUES(7,107); -INSERT INTO product_slots VALUES(7,108); -INSERT INTO product_slots VALUES(7,109); -INSERT INTO product_slots VALUES(7,110); -INSERT INTO product_slots VALUES(7,111); -INSERT INTO product_slots VALUES(7,112); -INSERT INTO product_slots VALUES(7,113); -INSERT INTO product_slots VALUES(7,114); -INSERT INTO product_slots VALUES(7,115); -INSERT INTO product_slots VALUES(7,117); -INSERT INTO product_slots VALUES(7,118); -INSERT INTO product_slots VALUES(7,119); -INSERT INTO product_slots VALUES(7,120); -INSERT INTO product_slots VALUES(7,121); -INSERT INTO product_slots VALUES(7,122); -INSERT INTO product_slots VALUES(7,123); -INSERT INTO product_slots VALUES(7,124); -INSERT INTO product_slots VALUES(7,125); -INSERT INTO product_slots VALUES(7,126); -INSERT INTO product_slots VALUES(7,127); -INSERT INTO product_slots VALUES(7,128); -INSERT INTO product_slots VALUES(7,129); -INSERT INTO product_slots VALUES(7,130); -INSERT INTO product_slots VALUES(7,131); -INSERT INTO product_slots VALUES(7,132); -INSERT INTO product_slots VALUES(7,133); -INSERT INTO product_slots VALUES(7,134); -INSERT INTO product_slots VALUES(7,135); -INSERT INTO product_slots VALUES(7,136); -INSERT INTO product_slots VALUES(7,138); -INSERT INTO product_slots VALUES(7,139); -INSERT INTO product_slots VALUES(7,140); -INSERT INTO product_slots VALUES(7,141); -INSERT INTO product_slots VALUES(7,142); -INSERT INTO product_slots VALUES(7,143); -INSERT INTO product_slots VALUES(7,145); -INSERT INTO product_slots VALUES(7,146); -INSERT INTO product_slots VALUES(7,147); -INSERT INTO product_slots VALUES(7,148); -INSERT INTO product_slots VALUES(7,149); -INSERT INTO product_slots VALUES(7,150); -INSERT INTO product_slots VALUES(7,151); -INSERT INTO product_slots VALUES(7,152); -INSERT INTO product_slots VALUES(7,153); -INSERT INTO product_slots VALUES(7,154); -INSERT INTO product_slots VALUES(7,155); -INSERT INTO product_slots VALUES(7,156); -INSERT INTO product_slots VALUES(7,157); -INSERT INTO product_slots VALUES(7,158); -INSERT INTO product_slots VALUES(7,159); -INSERT INTO product_slots VALUES(7,160); -INSERT INTO product_slots VALUES(7,161); -INSERT INTO product_slots VALUES(7,162); -INSERT INTO product_slots VALUES(7,163); -INSERT INTO product_slots VALUES(7,164); -INSERT INTO product_slots VALUES(7,165); -INSERT INTO product_slots VALUES(7,166); -INSERT INTO product_slots VALUES(7,167); -INSERT INTO product_slots VALUES(7,168); -INSERT INTO product_slots VALUES(7,169); -INSERT INTO product_slots VALUES(7,170); -INSERT INTO product_slots VALUES(7,171); -INSERT INTO product_slots VALUES(7,172); -INSERT INTO product_slots VALUES(7,173); -INSERT INTO product_slots VALUES(7,174); -INSERT INTO product_slots VALUES(7,175); -INSERT INTO product_slots VALUES(7,176); -INSERT INTO product_slots VALUES(7,177); -INSERT INTO product_slots VALUES(7,178); -INSERT INTO product_slots VALUES(7,179); -INSERT INTO product_slots VALUES(7,180); -INSERT INTO product_slots VALUES(7,181); -INSERT INTO product_slots VALUES(7,182); -INSERT INTO product_slots VALUES(7,183); -INSERT INTO product_slots VALUES(7,184); -INSERT INTO product_slots VALUES(7,185); -INSERT INTO product_slots VALUES(7,186); -INSERT INTO product_slots VALUES(7,187); -INSERT INTO product_slots VALUES(7,188); -INSERT INTO product_slots VALUES(7,189); -INSERT INTO product_slots VALUES(7,190); -INSERT INTO product_slots VALUES(7,191); -INSERT INTO product_slots VALUES(7,192); -INSERT INTO product_slots VALUES(7,193); -INSERT INTO product_slots VALUES(7,194); -INSERT INTO product_slots VALUES(7,195); -INSERT INTO product_slots VALUES(7,196); -INSERT INTO product_slots VALUES(7,197); -INSERT INTO product_slots VALUES(7,198); -INSERT INTO product_slots VALUES(7,199); -INSERT INTO product_slots VALUES(7,200); -INSERT INTO product_slots VALUES(7,201); -INSERT INTO product_slots VALUES(7,202); -INSERT INTO product_slots VALUES(7,203); -INSERT INTO product_slots VALUES(7,204); -INSERT INTO product_slots VALUES(7,205); -INSERT INTO product_slots VALUES(7,206); -INSERT INTO product_slots VALUES(7,207); -INSERT INTO product_slots VALUES(7,208); -INSERT INTO product_slots VALUES(7,209); -INSERT INTO product_slots VALUES(7,210); -INSERT INTO product_slots VALUES(7,211); -INSERT INTO product_slots VALUES(7,212); -INSERT INTO product_slots VALUES(7,213); -INSERT INTO product_slots VALUES(7,214); -INSERT INTO product_slots VALUES(7,215); -INSERT INTO product_slots VALUES(7,216); -INSERT INTO product_slots VALUES(7,217); -INSERT INTO product_slots VALUES(7,218); -INSERT INTO product_slots VALUES(7,219); -INSERT INTO product_slots VALUES(7,220); -INSERT INTO product_slots VALUES(7,221); -INSERT INTO product_slots VALUES(7,222); -INSERT INTO product_slots VALUES(7,223); -INSERT INTO product_slots VALUES(7,224); -INSERT INTO product_slots VALUES(7,225); -INSERT INTO product_slots VALUES(7,226); -INSERT INTO product_slots VALUES(7,227); -INSERT INTO product_slots VALUES(7,228); -INSERT INTO product_slots VALUES(7,229); -INSERT INTO product_slots VALUES(7,230); -INSERT INTO product_slots VALUES(7,231); -INSERT INTO product_slots VALUES(7,232); -INSERT INTO product_slots VALUES(7,233); -INSERT INTO product_slots VALUES(7,234); -INSERT INTO product_slots VALUES(7,235); -INSERT INTO product_slots VALUES(7,236); -INSERT INTO product_slots VALUES(7,237); -INSERT INTO product_slots VALUES(7,238); -INSERT INTO product_slots VALUES(7,239); -INSERT INTO product_slots VALUES(7,240); -INSERT INTO product_slots VALUES(7,241); -INSERT INTO product_slots VALUES(7,242); -INSERT INTO product_slots VALUES(7,243); -INSERT INTO product_slots VALUES(7,244); -INSERT INTO product_slots VALUES(7,274); -INSERT INTO product_slots VALUES(7,275); -INSERT INTO product_slots VALUES(7,279); -INSERT INTO product_slots VALUES(7,280); -INSERT INTO product_slots VALUES(7,281); -INSERT INTO product_slots VALUES(7,282); -INSERT INTO product_slots VALUES(7,283); -INSERT INTO product_slots VALUES(7,284); -INSERT INTO product_slots VALUES(7,285); -INSERT INTO product_slots VALUES(7,286); -INSERT INTO product_slots VALUES(7,287); -INSERT INTO product_slots VALUES(8,1); -INSERT INTO product_slots VALUES(8,2); -INSERT INTO product_slots VALUES(8,3); -INSERT INTO product_slots VALUES(8,4); -INSERT INTO product_slots VALUES(8,5); -INSERT INTO product_slots VALUES(8,6); -INSERT INTO product_slots VALUES(8,7); -INSERT INTO product_slots VALUES(8,12); -INSERT INTO product_slots VALUES(8,17); -INSERT INTO product_slots VALUES(8,18); -INSERT INTO product_slots VALUES(8,20); -INSERT INTO product_slots VALUES(8,21); -INSERT INTO product_slots VALUES(8,22); -INSERT INTO product_slots VALUES(8,33); -INSERT INTO product_slots VALUES(8,35); -INSERT INTO product_slots VALUES(8,37); -INSERT INTO product_slots VALUES(8,38); -INSERT INTO product_slots VALUES(8,39); -INSERT INTO product_slots VALUES(8,40); -INSERT INTO product_slots VALUES(8,43); -INSERT INTO product_slots VALUES(8,45); -INSERT INTO product_slots VALUES(8,46); -INSERT INTO product_slots VALUES(8,48); -INSERT INTO product_slots VALUES(8,49); -INSERT INTO product_slots VALUES(8,51); -INSERT INTO product_slots VALUES(8,52); -INSERT INTO product_slots VALUES(8,53); -INSERT INTO product_slots VALUES(8,54); -INSERT INTO product_slots VALUES(8,57); -INSERT INTO product_slots VALUES(8,58); -INSERT INTO product_slots VALUES(8,59); -INSERT INTO product_slots VALUES(8,60); -INSERT INTO product_slots VALUES(8,61); -INSERT INTO product_slots VALUES(8,62); -INSERT INTO product_slots VALUES(8,63); -INSERT INTO product_slots VALUES(8,64); -INSERT INTO product_slots VALUES(8,65); -INSERT INTO product_slots VALUES(8,66); -INSERT INTO product_slots VALUES(8,67); -INSERT INTO product_slots VALUES(8,68); -INSERT INTO product_slots VALUES(8,69); -INSERT INTO product_slots VALUES(8,70); -INSERT INTO product_slots VALUES(8,71); -INSERT INTO product_slots VALUES(8,72); -INSERT INTO product_slots VALUES(8,73); -INSERT INTO product_slots VALUES(8,74); -INSERT INTO product_slots VALUES(8,75); -INSERT INTO product_slots VALUES(8,76); -INSERT INTO product_slots VALUES(8,77); -INSERT INTO product_slots VALUES(8,78); -INSERT INTO product_slots VALUES(8,79); -INSERT INTO product_slots VALUES(8,80); -INSERT INTO product_slots VALUES(8,81); -INSERT INTO product_slots VALUES(8,82); -INSERT INTO product_slots VALUES(8,83); -INSERT INTO product_slots VALUES(8,84); -INSERT INTO product_slots VALUES(8,85); -INSERT INTO product_slots VALUES(8,86); -INSERT INTO product_slots VALUES(8,87); -INSERT INTO product_slots VALUES(8,88); -INSERT INTO product_slots VALUES(8,89); -INSERT INTO product_slots VALUES(8,90); -INSERT INTO product_slots VALUES(8,91); -INSERT INTO product_slots VALUES(8,92); -INSERT INTO product_slots VALUES(8,93); -INSERT INTO product_slots VALUES(8,94); -INSERT INTO product_slots VALUES(8,95); -INSERT INTO product_slots VALUES(8,96); -INSERT INTO product_slots VALUES(8,97); -INSERT INTO product_slots VALUES(8,98); -INSERT INTO product_slots VALUES(8,99); -INSERT INTO product_slots VALUES(8,100); -INSERT INTO product_slots VALUES(8,102); -INSERT INTO product_slots VALUES(8,103); -INSERT INTO product_slots VALUES(8,104); -INSERT INTO product_slots VALUES(8,105); -INSERT INTO product_slots VALUES(8,106); -INSERT INTO product_slots VALUES(8,107); -INSERT INTO product_slots VALUES(8,108); -INSERT INTO product_slots VALUES(8,109); -INSERT INTO product_slots VALUES(8,110); -INSERT INTO product_slots VALUES(8,111); -INSERT INTO product_slots VALUES(8,112); -INSERT INTO product_slots VALUES(8,113); -INSERT INTO product_slots VALUES(8,114); -INSERT INTO product_slots VALUES(8,115); -INSERT INTO product_slots VALUES(8,117); -INSERT INTO product_slots VALUES(8,118); -INSERT INTO product_slots VALUES(8,119); -INSERT INTO product_slots VALUES(8,120); -INSERT INTO product_slots VALUES(8,121); -INSERT INTO product_slots VALUES(8,122); -INSERT INTO product_slots VALUES(8,123); -INSERT INTO product_slots VALUES(8,124); -INSERT INTO product_slots VALUES(8,125); -INSERT INTO product_slots VALUES(8,126); -INSERT INTO product_slots VALUES(8,127); -INSERT INTO product_slots VALUES(8,128); -INSERT INTO product_slots VALUES(8,129); -INSERT INTO product_slots VALUES(8,130); -INSERT INTO product_slots VALUES(8,131); -INSERT INTO product_slots VALUES(8,132); -INSERT INTO product_slots VALUES(8,133); -INSERT INTO product_slots VALUES(8,134); -INSERT INTO product_slots VALUES(8,135); -INSERT INTO product_slots VALUES(8,136); -INSERT INTO product_slots VALUES(8,138); -INSERT INTO product_slots VALUES(8,139); -INSERT INTO product_slots VALUES(8,140); -INSERT INTO product_slots VALUES(8,141); -INSERT INTO product_slots VALUES(8,142); -INSERT INTO product_slots VALUES(8,143); -INSERT INTO product_slots VALUES(8,145); -INSERT INTO product_slots VALUES(8,146); -INSERT INTO product_slots VALUES(8,147); -INSERT INTO product_slots VALUES(8,148); -INSERT INTO product_slots VALUES(8,149); -INSERT INTO product_slots VALUES(8,150); -INSERT INTO product_slots VALUES(8,151); -INSERT INTO product_slots VALUES(8,152); -INSERT INTO product_slots VALUES(8,153); -INSERT INTO product_slots VALUES(8,154); -INSERT INTO product_slots VALUES(8,155); -INSERT INTO product_slots VALUES(8,156); -INSERT INTO product_slots VALUES(8,157); -INSERT INTO product_slots VALUES(8,158); -INSERT INTO product_slots VALUES(8,159); -INSERT INTO product_slots VALUES(8,160); -INSERT INTO product_slots VALUES(8,161); -INSERT INTO product_slots VALUES(8,162); -INSERT INTO product_slots VALUES(8,163); -INSERT INTO product_slots VALUES(8,164); -INSERT INTO product_slots VALUES(8,165); -INSERT INTO product_slots VALUES(8,166); -INSERT INTO product_slots VALUES(8,167); -INSERT INTO product_slots VALUES(8,168); -INSERT INTO product_slots VALUES(8,169); -INSERT INTO product_slots VALUES(8,170); -INSERT INTO product_slots VALUES(8,171); -INSERT INTO product_slots VALUES(8,172); -INSERT INTO product_slots VALUES(8,173); -INSERT INTO product_slots VALUES(8,174); -INSERT INTO product_slots VALUES(8,175); -INSERT INTO product_slots VALUES(8,176); -INSERT INTO product_slots VALUES(8,177); -INSERT INTO product_slots VALUES(8,178); -INSERT INTO product_slots VALUES(8,179); -INSERT INTO product_slots VALUES(8,180); -INSERT INTO product_slots VALUES(8,181); -INSERT INTO product_slots VALUES(8,182); -INSERT INTO product_slots VALUES(8,183); -INSERT INTO product_slots VALUES(8,184); -INSERT INTO product_slots VALUES(8,185); -INSERT INTO product_slots VALUES(8,186); -INSERT INTO product_slots VALUES(8,187); -INSERT INTO product_slots VALUES(8,188); -INSERT INTO product_slots VALUES(8,189); -INSERT INTO product_slots VALUES(8,190); -INSERT INTO product_slots VALUES(8,191); -INSERT INTO product_slots VALUES(8,192); -INSERT INTO product_slots VALUES(8,193); -INSERT INTO product_slots VALUES(8,194); -INSERT INTO product_slots VALUES(8,195); -INSERT INTO product_slots VALUES(8,196); -INSERT INTO product_slots VALUES(8,197); -INSERT INTO product_slots VALUES(8,198); -INSERT INTO product_slots VALUES(8,199); -INSERT INTO product_slots VALUES(8,200); -INSERT INTO product_slots VALUES(8,201); -INSERT INTO product_slots VALUES(8,202); -INSERT INTO product_slots VALUES(8,203); -INSERT INTO product_slots VALUES(8,204); -INSERT INTO product_slots VALUES(8,205); -INSERT INTO product_slots VALUES(8,206); -INSERT INTO product_slots VALUES(8,207); -INSERT INTO product_slots VALUES(8,208); -INSERT INTO product_slots VALUES(8,209); -INSERT INTO product_slots VALUES(8,210); -INSERT INTO product_slots VALUES(8,211); -INSERT INTO product_slots VALUES(8,212); -INSERT INTO product_slots VALUES(8,213); -INSERT INTO product_slots VALUES(8,214); -INSERT INTO product_slots VALUES(8,215); -INSERT INTO product_slots VALUES(8,216); -INSERT INTO product_slots VALUES(8,217); -INSERT INTO product_slots VALUES(8,218); -INSERT INTO product_slots VALUES(8,219); -INSERT INTO product_slots VALUES(8,220); -INSERT INTO product_slots VALUES(8,221); -INSERT INTO product_slots VALUES(8,222); -INSERT INTO product_slots VALUES(8,223); -INSERT INTO product_slots VALUES(8,224); -INSERT INTO product_slots VALUES(8,225); -INSERT INTO product_slots VALUES(8,226); -INSERT INTO product_slots VALUES(8,227); -INSERT INTO product_slots VALUES(8,228); -INSERT INTO product_slots VALUES(8,229); -INSERT INTO product_slots VALUES(8,230); -INSERT INTO product_slots VALUES(8,231); -INSERT INTO product_slots VALUES(8,232); -INSERT INTO product_slots VALUES(8,233); -INSERT INTO product_slots VALUES(8,234); -INSERT INTO product_slots VALUES(8,235); -INSERT INTO product_slots VALUES(8,236); -INSERT INTO product_slots VALUES(8,237); -INSERT INTO product_slots VALUES(8,238); -INSERT INTO product_slots VALUES(8,239); -INSERT INTO product_slots VALUES(8,240); -INSERT INTO product_slots VALUES(8,241); -INSERT INTO product_slots VALUES(8,242); -INSERT INTO product_slots VALUES(8,243); -INSERT INTO product_slots VALUES(8,244); -INSERT INTO product_slots VALUES(8,274); -INSERT INTO product_slots VALUES(8,275); -INSERT INTO product_slots VALUES(8,279); -INSERT INTO product_slots VALUES(8,280); -INSERT INTO product_slots VALUES(8,281); -INSERT INTO product_slots VALUES(8,282); -INSERT INTO product_slots VALUES(8,283); -INSERT INTO product_slots VALUES(8,284); -INSERT INTO product_slots VALUES(8,285); -INSERT INTO product_slots VALUES(8,286); -INSERT INTO product_slots VALUES(8,287); -INSERT INTO product_slots VALUES(9,1); -INSERT INTO product_slots VALUES(9,2); -INSERT INTO product_slots VALUES(9,3); -INSERT INTO product_slots VALUES(9,4); -INSERT INTO product_slots VALUES(9,5); -INSERT INTO product_slots VALUES(9,6); -INSERT INTO product_slots VALUES(9,7); -INSERT INTO product_slots VALUES(9,12); -INSERT INTO product_slots VALUES(9,18); -INSERT INTO product_slots VALUES(9,19); -INSERT INTO product_slots VALUES(9,20); -INSERT INTO product_slots VALUES(9,21); -INSERT INTO product_slots VALUES(9,22); -INSERT INTO product_slots VALUES(9,33); -INSERT INTO product_slots VALUES(9,35); -INSERT INTO product_slots VALUES(9,37); -INSERT INTO product_slots VALUES(9,38); -INSERT INTO product_slots VALUES(9,39); -INSERT INTO product_slots VALUES(9,40); -INSERT INTO product_slots VALUES(9,43); -INSERT INTO product_slots VALUES(9,45); -INSERT INTO product_slots VALUES(9,48); -INSERT INTO product_slots VALUES(9,49); -INSERT INTO product_slots VALUES(9,51); -INSERT INTO product_slots VALUES(9,52); -INSERT INTO product_slots VALUES(9,57); -INSERT INTO product_slots VALUES(9,58); -INSERT INTO product_slots VALUES(9,59); -INSERT INTO product_slots VALUES(9,62); -INSERT INTO product_slots VALUES(9,63); -INSERT INTO product_slots VALUES(9,64); -INSERT INTO product_slots VALUES(9,65); -INSERT INTO product_slots VALUES(9,66); -INSERT INTO product_slots VALUES(9,67); -INSERT INTO product_slots VALUES(9,69); -INSERT INTO product_slots VALUES(9,70); -INSERT INTO product_slots VALUES(9,71); -INSERT INTO product_slots VALUES(9,72); -INSERT INTO product_slots VALUES(9,73); -INSERT INTO product_slots VALUES(9,75); -INSERT INTO product_slots VALUES(9,82); -INSERT INTO product_slots VALUES(9,83); -INSERT INTO product_slots VALUES(9,84); -INSERT INTO product_slots VALUES(9,90); -INSERT INTO product_slots VALUES(9,91); -INSERT INTO product_slots VALUES(9,92); -INSERT INTO product_slots VALUES(9,93); -INSERT INTO product_slots VALUES(9,94); -INSERT INTO product_slots VALUES(9,97); -INSERT INTO product_slots VALUES(9,98); -INSERT INTO product_slots VALUES(9,99); -INSERT INTO product_slots VALUES(9,100); -INSERT INTO product_slots VALUES(9,102); -INSERT INTO product_slots VALUES(9,103); -INSERT INTO product_slots VALUES(9,104); -INSERT INTO product_slots VALUES(9,110); -INSERT INTO product_slots VALUES(9,111); -INSERT INTO product_slots VALUES(9,112); -INSERT INTO product_slots VALUES(9,116); -INSERT INTO product_slots VALUES(9,117); -INSERT INTO product_slots VALUES(9,118); -INSERT INTO product_slots VALUES(9,119); -INSERT INTO product_slots VALUES(9,120); -INSERT INTO product_slots VALUES(9,121); -INSERT INTO product_slots VALUES(9,122); -INSERT INTO product_slots VALUES(9,123); -INSERT INTO product_slots VALUES(9,124); -INSERT INTO product_slots VALUES(9,125); -INSERT INTO product_slots VALUES(9,126); -INSERT INTO product_slots VALUES(9,127); -INSERT INTO product_slots VALUES(9,128); -INSERT INTO product_slots VALUES(9,129); -INSERT INTO product_slots VALUES(9,130); -INSERT INTO product_slots VALUES(9,131); -INSERT INTO product_slots VALUES(9,132); -INSERT INTO product_slots VALUES(9,133); -INSERT INTO product_slots VALUES(9,134); -INSERT INTO product_slots VALUES(9,135); -INSERT INTO product_slots VALUES(9,136); -INSERT INTO product_slots VALUES(9,137); -INSERT INTO product_slots VALUES(9,138); -INSERT INTO product_slots VALUES(9,139); -INSERT INTO product_slots VALUES(9,140); -INSERT INTO product_slots VALUES(9,141); -INSERT INTO product_slots VALUES(9,142); -INSERT INTO product_slots VALUES(9,143); -INSERT INTO product_slots VALUES(9,144); -INSERT INTO product_slots VALUES(9,145); -INSERT INTO product_slots VALUES(9,146); -INSERT INTO product_slots VALUES(9,147); -INSERT INTO product_slots VALUES(9,148); -INSERT INTO product_slots VALUES(9,149); -INSERT INTO product_slots VALUES(9,150); -INSERT INTO product_slots VALUES(9,151); -INSERT INTO product_slots VALUES(9,152); -INSERT INTO product_slots VALUES(9,153); -INSERT INTO product_slots VALUES(9,154); -INSERT INTO product_slots VALUES(9,155); -INSERT INTO product_slots VALUES(9,156); -INSERT INTO product_slots VALUES(9,157); -INSERT INTO product_slots VALUES(9,158); -INSERT INTO product_slots VALUES(9,159); -INSERT INTO product_slots VALUES(9,160); -INSERT INTO product_slots VALUES(9,161); -INSERT INTO product_slots VALUES(9,162); -INSERT INTO product_slots VALUES(9,163); -INSERT INTO product_slots VALUES(9,164); -INSERT INTO product_slots VALUES(9,165); -INSERT INTO product_slots VALUES(9,166); -INSERT INTO product_slots VALUES(9,167); -INSERT INTO product_slots VALUES(9,168); -INSERT INTO product_slots VALUES(9,169); -INSERT INTO product_slots VALUES(9,170); -INSERT INTO product_slots VALUES(9,171); -INSERT INTO product_slots VALUES(9,172); -INSERT INTO product_slots VALUES(9,173); -INSERT INTO product_slots VALUES(9,174); -INSERT INTO product_slots VALUES(9,175); -INSERT INTO product_slots VALUES(9,176); -INSERT INTO product_slots VALUES(9,177); -INSERT INTO product_slots VALUES(9,178); -INSERT INTO product_slots VALUES(9,179); -INSERT INTO product_slots VALUES(9,180); -INSERT INTO product_slots VALUES(9,181); -INSERT INTO product_slots VALUES(9,182); -INSERT INTO product_slots VALUES(9,183); -INSERT INTO product_slots VALUES(9,184); -INSERT INTO product_slots VALUES(9,185); -INSERT INTO product_slots VALUES(9,186); -INSERT INTO product_slots VALUES(9,187); -INSERT INTO product_slots VALUES(9,188); -INSERT INTO product_slots VALUES(9,189); -INSERT INTO product_slots VALUES(9,190); -INSERT INTO product_slots VALUES(9,191); -INSERT INTO product_slots VALUES(9,192); -INSERT INTO product_slots VALUES(9,193); -INSERT INTO product_slots VALUES(9,194); -INSERT INTO product_slots VALUES(9,195); -INSERT INTO product_slots VALUES(9,196); -INSERT INTO product_slots VALUES(9,197); -INSERT INTO product_slots VALUES(9,198); -INSERT INTO product_slots VALUES(9,199); -INSERT INTO product_slots VALUES(9,200); -INSERT INTO product_slots VALUES(9,201); -INSERT INTO product_slots VALUES(9,202); -INSERT INTO product_slots VALUES(9,203); -INSERT INTO product_slots VALUES(9,204); -INSERT INTO product_slots VALUES(9,205); -INSERT INTO product_slots VALUES(9,206); -INSERT INTO product_slots VALUES(9,207); -INSERT INTO product_slots VALUES(9,208); -INSERT INTO product_slots VALUES(9,209); -INSERT INTO product_slots VALUES(9,210); -INSERT INTO product_slots VALUES(9,211); -INSERT INTO product_slots VALUES(9,212); -INSERT INTO product_slots VALUES(9,213); -INSERT INTO product_slots VALUES(9,214); -INSERT INTO product_slots VALUES(9,215); -INSERT INTO product_slots VALUES(9,216); -INSERT INTO product_slots VALUES(9,217); -INSERT INTO product_slots VALUES(9,218); -INSERT INTO product_slots VALUES(9,219); -INSERT INTO product_slots VALUES(9,220); -INSERT INTO product_slots VALUES(9,221); -INSERT INTO product_slots VALUES(9,222); -INSERT INTO product_slots VALUES(9,223); -INSERT INTO product_slots VALUES(9,224); -INSERT INTO product_slots VALUES(9,225); -INSERT INTO product_slots VALUES(9,226); -INSERT INTO product_slots VALUES(9,227); -INSERT INTO product_slots VALUES(9,228); -INSERT INTO product_slots VALUES(9,229); -INSERT INTO product_slots VALUES(9,230); -INSERT INTO product_slots VALUES(9,231); -INSERT INTO product_slots VALUES(9,232); -INSERT INTO product_slots VALUES(9,233); -INSERT INTO product_slots VALUES(9,234); -INSERT INTO product_slots VALUES(9,235); -INSERT INTO product_slots VALUES(9,236); -INSERT INTO product_slots VALUES(9,237); -INSERT INTO product_slots VALUES(9,238); -INSERT INTO product_slots VALUES(9,239); -INSERT INTO product_slots VALUES(9,240); -INSERT INTO product_slots VALUES(9,241); -INSERT INTO product_slots VALUES(9,242); -INSERT INTO product_slots VALUES(9,243); -INSERT INTO product_slots VALUES(9,244); -INSERT INTO product_slots VALUES(9,274); -INSERT INTO product_slots VALUES(9,275); -INSERT INTO product_slots VALUES(9,279); -INSERT INTO product_slots VALUES(9,280); -INSERT INTO product_slots VALUES(9,281); -INSERT INTO product_slots VALUES(9,282); -INSERT INTO product_slots VALUES(9,283); -INSERT INTO product_slots VALUES(9,284); -INSERT INTO product_slots VALUES(9,285); -INSERT INTO product_slots VALUES(9,286); -INSERT INTO product_slots VALUES(9,287); -INSERT INTO product_slots VALUES(10,1); -INSERT INTO product_slots VALUES(10,3); -INSERT INTO product_slots VALUES(10,4); -INSERT INTO product_slots VALUES(10,5); -INSERT INTO product_slots VALUES(10,6); -INSERT INTO product_slots VALUES(10,7); -INSERT INTO product_slots VALUES(10,12); -INSERT INTO product_slots VALUES(10,18); -INSERT INTO product_slots VALUES(10,19); -INSERT INTO product_slots VALUES(10,20); -INSERT INTO product_slots VALUES(10,21); -INSERT INTO product_slots VALUES(10,22); -INSERT INTO product_slots VALUES(10,23); -INSERT INTO product_slots VALUES(10,31); -INSERT INTO product_slots VALUES(10,33); -INSERT INTO product_slots VALUES(10,35); -INSERT INTO product_slots VALUES(10,37); -INSERT INTO product_slots VALUES(10,38); -INSERT INTO product_slots VALUES(10,39); -INSERT INTO product_slots VALUES(10,40); -INSERT INTO product_slots VALUES(10,41); -INSERT INTO product_slots VALUES(10,43); -INSERT INTO product_slots VALUES(10,45); -INSERT INTO product_slots VALUES(10,46); -INSERT INTO product_slots VALUES(10,47); -INSERT INTO product_slots VALUES(10,48); -INSERT INTO product_slots VALUES(10,49); -INSERT INTO product_slots VALUES(10,50); -INSERT INTO product_slots VALUES(10,51); -INSERT INTO product_slots VALUES(10,52); -INSERT INTO product_slots VALUES(10,53); -INSERT INTO product_slots VALUES(10,54); -INSERT INTO product_slots VALUES(10,55); -INSERT INTO product_slots VALUES(10,56); -INSERT INTO product_slots VALUES(10,57); -INSERT INTO product_slots VALUES(10,58); -INSERT INTO product_slots VALUES(10,59); -INSERT INTO product_slots VALUES(10,60); -INSERT INTO product_slots VALUES(10,61); -INSERT INTO product_slots VALUES(10,62); -INSERT INTO product_slots VALUES(10,63); -INSERT INTO product_slots VALUES(10,64); -INSERT INTO product_slots VALUES(10,65); -INSERT INTO product_slots VALUES(10,66); -INSERT INTO product_slots VALUES(10,67); -INSERT INTO product_slots VALUES(10,68); -INSERT INTO product_slots VALUES(10,69); -INSERT INTO product_slots VALUES(10,70); -INSERT INTO product_slots VALUES(10,71); -INSERT INTO product_slots VALUES(10,72); -INSERT INTO product_slots VALUES(10,73); -INSERT INTO product_slots VALUES(10,74); -INSERT INTO product_slots VALUES(10,75); -INSERT INTO product_slots VALUES(10,76); -INSERT INTO product_slots VALUES(10,77); -INSERT INTO product_slots VALUES(10,78); -INSERT INTO product_slots VALUES(10,79); -INSERT INTO product_slots VALUES(10,80); -INSERT INTO product_slots VALUES(10,81); -INSERT INTO product_slots VALUES(10,82); -INSERT INTO product_slots VALUES(10,83); -INSERT INTO product_slots VALUES(10,84); -INSERT INTO product_slots VALUES(10,85); -INSERT INTO product_slots VALUES(10,86); -INSERT INTO product_slots VALUES(10,87); -INSERT INTO product_slots VALUES(10,88); -INSERT INTO product_slots VALUES(10,89); -INSERT INTO product_slots VALUES(10,90); -INSERT INTO product_slots VALUES(10,91); -INSERT INTO product_slots VALUES(10,92); -INSERT INTO product_slots VALUES(10,93); -INSERT INTO product_slots VALUES(10,94); -INSERT INTO product_slots VALUES(10,95); -INSERT INTO product_slots VALUES(10,96); -INSERT INTO product_slots VALUES(10,97); -INSERT INTO product_slots VALUES(10,98); -INSERT INTO product_slots VALUES(10,99); -INSERT INTO product_slots VALUES(10,100); -INSERT INTO product_slots VALUES(10,101); -INSERT INTO product_slots VALUES(10,102); -INSERT INTO product_slots VALUES(10,103); -INSERT INTO product_slots VALUES(10,104); -INSERT INTO product_slots VALUES(10,105); -INSERT INTO product_slots VALUES(10,106); -INSERT INTO product_slots VALUES(10,107); -INSERT INTO product_slots VALUES(10,108); -INSERT INTO product_slots VALUES(10,109); -INSERT INTO product_slots VALUES(10,110); -INSERT INTO product_slots VALUES(10,111); -INSERT INTO product_slots VALUES(10,112); -INSERT INTO product_slots VALUES(10,113); -INSERT INTO product_slots VALUES(10,114); -INSERT INTO product_slots VALUES(10,115); -INSERT INTO product_slots VALUES(10,116); -INSERT INTO product_slots VALUES(10,117); -INSERT INTO product_slots VALUES(10,118); -INSERT INTO product_slots VALUES(10,119); -INSERT INTO product_slots VALUES(10,120); -INSERT INTO product_slots VALUES(10,121); -INSERT INTO product_slots VALUES(10,122); -INSERT INTO product_slots VALUES(10,123); -INSERT INTO product_slots VALUES(10,124); -INSERT INTO product_slots VALUES(10,125); -INSERT INTO product_slots VALUES(10,126); -INSERT INTO product_slots VALUES(10,127); -INSERT INTO product_slots VALUES(10,128); -INSERT INTO product_slots VALUES(10,129); -INSERT INTO product_slots VALUES(10,130); -INSERT INTO product_slots VALUES(10,131); -INSERT INTO product_slots VALUES(10,132); -INSERT INTO product_slots VALUES(10,133); -INSERT INTO product_slots VALUES(10,134); -INSERT INTO product_slots VALUES(10,135); -INSERT INTO product_slots VALUES(10,136); -INSERT INTO product_slots VALUES(10,137); -INSERT INTO product_slots VALUES(10,138); -INSERT INTO product_slots VALUES(10,139); -INSERT INTO product_slots VALUES(10,140); -INSERT INTO product_slots VALUES(10,141); -INSERT INTO product_slots VALUES(10,142); -INSERT INTO product_slots VALUES(10,143); -INSERT INTO product_slots VALUES(10,144); -INSERT INTO product_slots VALUES(10,145); -INSERT INTO product_slots VALUES(10,146); -INSERT INTO product_slots VALUES(10,147); -INSERT INTO product_slots VALUES(10,148); -INSERT INTO product_slots VALUES(10,149); -INSERT INTO product_slots VALUES(10,150); -INSERT INTO product_slots VALUES(10,151); -INSERT INTO product_slots VALUES(10,152); -INSERT INTO product_slots VALUES(10,153); -INSERT INTO product_slots VALUES(10,154); -INSERT INTO product_slots VALUES(10,155); -INSERT INTO product_slots VALUES(10,156); -INSERT INTO product_slots VALUES(10,157); -INSERT INTO product_slots VALUES(10,158); -INSERT INTO product_slots VALUES(10,159); -INSERT INTO product_slots VALUES(10,160); -INSERT INTO product_slots VALUES(10,161); -INSERT INTO product_slots VALUES(10,162); -INSERT INTO product_slots VALUES(10,163); -INSERT INTO product_slots VALUES(10,164); -INSERT INTO product_slots VALUES(10,165); -INSERT INTO product_slots VALUES(10,166); -INSERT INTO product_slots VALUES(10,167); -INSERT INTO product_slots VALUES(10,168); -INSERT INTO product_slots VALUES(10,169); -INSERT INTO product_slots VALUES(10,170); -INSERT INTO product_slots VALUES(10,171); -INSERT INTO product_slots VALUES(10,172); -INSERT INTO product_slots VALUES(10,173); -INSERT INTO product_slots VALUES(10,174); -INSERT INTO product_slots VALUES(10,175); -INSERT INTO product_slots VALUES(10,176); -INSERT INTO product_slots VALUES(10,177); -INSERT INTO product_slots VALUES(10,178); -INSERT INTO product_slots VALUES(10,179); -INSERT INTO product_slots VALUES(10,180); -INSERT INTO product_slots VALUES(10,181); -INSERT INTO product_slots VALUES(10,182); -INSERT INTO product_slots VALUES(10,183); -INSERT INTO product_slots VALUES(10,184); -INSERT INTO product_slots VALUES(10,185); -INSERT INTO product_slots VALUES(10,186); -INSERT INTO product_slots VALUES(10,187); -INSERT INTO product_slots VALUES(10,188); -INSERT INTO product_slots VALUES(10,189); -INSERT INTO product_slots VALUES(10,190); -INSERT INTO product_slots VALUES(10,191); -INSERT INTO product_slots VALUES(10,192); -INSERT INTO product_slots VALUES(10,193); -INSERT INTO product_slots VALUES(10,194); -INSERT INTO product_slots VALUES(10,195); -INSERT INTO product_slots VALUES(10,196); -INSERT INTO product_slots VALUES(10,197); -INSERT INTO product_slots VALUES(10,198); -INSERT INTO product_slots VALUES(10,199); -INSERT INTO product_slots VALUES(10,200); -INSERT INTO product_slots VALUES(10,201); -INSERT INTO product_slots VALUES(10,202); -INSERT INTO product_slots VALUES(10,203); -INSERT INTO product_slots VALUES(10,204); -INSERT INTO product_slots VALUES(10,205); -INSERT INTO product_slots VALUES(10,206); -INSERT INTO product_slots VALUES(10,207); -INSERT INTO product_slots VALUES(10,208); -INSERT INTO product_slots VALUES(10,209); -INSERT INTO product_slots VALUES(10,210); -INSERT INTO product_slots VALUES(10,211); -INSERT INTO product_slots VALUES(10,212); -INSERT INTO product_slots VALUES(10,213); -INSERT INTO product_slots VALUES(10,214); -INSERT INTO product_slots VALUES(10,215); -INSERT INTO product_slots VALUES(10,216); -INSERT INTO product_slots VALUES(10,217); -INSERT INTO product_slots VALUES(10,218); -INSERT INTO product_slots VALUES(10,219); -INSERT INTO product_slots VALUES(10,220); -INSERT INTO product_slots VALUES(10,221); -INSERT INTO product_slots VALUES(10,222); -INSERT INTO product_slots VALUES(10,223); -INSERT INTO product_slots VALUES(10,224); -INSERT INTO product_slots VALUES(10,225); -INSERT INTO product_slots VALUES(10,226); -INSERT INTO product_slots VALUES(10,227); -INSERT INTO product_slots VALUES(10,228); -INSERT INTO product_slots VALUES(10,229); -INSERT INTO product_slots VALUES(10,230); -INSERT INTO product_slots VALUES(10,231); -INSERT INTO product_slots VALUES(10,232); -INSERT INTO product_slots VALUES(10,234); -INSERT INTO product_slots VALUES(10,235); -INSERT INTO product_slots VALUES(10,236); -INSERT INTO product_slots VALUES(10,237); -INSERT INTO product_slots VALUES(10,238); -INSERT INTO product_slots VALUES(10,239); -INSERT INTO product_slots VALUES(10,240); -INSERT INTO product_slots VALUES(10,241); -INSERT INTO product_slots VALUES(10,242); -INSERT INTO product_slots VALUES(10,243); -INSERT INTO product_slots VALUES(10,244); -INSERT INTO product_slots VALUES(10,274); -INSERT INTO product_slots VALUES(10,275); -INSERT INTO product_slots VALUES(10,279); -INSERT INTO product_slots VALUES(10,280); -INSERT INTO product_slots VALUES(10,281); -INSERT INTO product_slots VALUES(10,282); -INSERT INTO product_slots VALUES(11,1); -INSERT INTO product_slots VALUES(11,3); -INSERT INTO product_slots VALUES(11,4); -INSERT INTO product_slots VALUES(11,5); -INSERT INTO product_slots VALUES(11,6); -INSERT INTO product_slots VALUES(11,7); -INSERT INTO product_slots VALUES(11,8); -INSERT INTO product_slots VALUES(11,9); -INSERT INTO product_slots VALUES(11,12); -INSERT INTO product_slots VALUES(11,16); -INSERT INTO product_slots VALUES(11,18); -INSERT INTO product_slots VALUES(11,20); -INSERT INTO product_slots VALUES(11,21); -INSERT INTO product_slots VALUES(11,22); -INSERT INTO product_slots VALUES(11,33); -INSERT INTO product_slots VALUES(11,35); -INSERT INTO product_slots VALUES(11,37); -INSERT INTO product_slots VALUES(11,38); -INSERT INTO product_slots VALUES(11,40); -INSERT INTO product_slots VALUES(11,59); -INSERT INTO product_slots VALUES(11,62); -INSERT INTO product_slots VALUES(11,63); -INSERT INTO product_slots VALUES(11,64); -INSERT INTO product_slots VALUES(11,65); -INSERT INTO product_slots VALUES(11,66); -INSERT INTO product_slots VALUES(11,67); -INSERT INTO product_slots VALUES(11,68); -INSERT INTO product_slots VALUES(11,69); -INSERT INTO product_slots VALUES(11,70); -INSERT INTO product_slots VALUES(11,71); -INSERT INTO product_slots VALUES(11,72); -INSERT INTO product_slots VALUES(11,73); -INSERT INTO product_slots VALUES(11,74); -INSERT INTO product_slots VALUES(11,75); -INSERT INTO product_slots VALUES(11,76); -INSERT INTO product_slots VALUES(11,77); -INSERT INTO product_slots VALUES(11,78); -INSERT INTO product_slots VALUES(11,79); -INSERT INTO product_slots VALUES(11,80); -INSERT INTO product_slots VALUES(11,81); -INSERT INTO product_slots VALUES(11,82); -INSERT INTO product_slots VALUES(11,83); -INSERT INTO product_slots VALUES(11,84); -INSERT INTO product_slots VALUES(11,85); -INSERT INTO product_slots VALUES(11,86); -INSERT INTO product_slots VALUES(11,87); -INSERT INTO product_slots VALUES(11,88); -INSERT INTO product_slots VALUES(11,89); -INSERT INTO product_slots VALUES(11,90); -INSERT INTO product_slots VALUES(11,91); -INSERT INTO product_slots VALUES(11,92); -INSERT INTO product_slots VALUES(11,93); -INSERT INTO product_slots VALUES(11,94); -INSERT INTO product_slots VALUES(11,95); -INSERT INTO product_slots VALUES(11,96); -INSERT INTO product_slots VALUES(11,97); -INSERT INTO product_slots VALUES(11,98); -INSERT INTO product_slots VALUES(11,99); -INSERT INTO product_slots VALUES(11,100); -INSERT INTO product_slots VALUES(11,102); -INSERT INTO product_slots VALUES(11,103); -INSERT INTO product_slots VALUES(11,104); -INSERT INTO product_slots VALUES(11,105); -INSERT INTO product_slots VALUES(11,106); -INSERT INTO product_slots VALUES(11,107); -INSERT INTO product_slots VALUES(11,108); -INSERT INTO product_slots VALUES(11,109); -INSERT INTO product_slots VALUES(11,110); -INSERT INTO product_slots VALUES(11,111); -INSERT INTO product_slots VALUES(11,112); -INSERT INTO product_slots VALUES(11,113); -INSERT INTO product_slots VALUES(11,114); -INSERT INTO product_slots VALUES(11,115); -INSERT INTO product_slots VALUES(11,117); -INSERT INTO product_slots VALUES(11,118); -INSERT INTO product_slots VALUES(11,119); -INSERT INTO product_slots VALUES(11,120); -INSERT INTO product_slots VALUES(11,121); -INSERT INTO product_slots VALUES(11,122); -INSERT INTO product_slots VALUES(11,123); -INSERT INTO product_slots VALUES(11,124); -INSERT INTO product_slots VALUES(11,125); -INSERT INTO product_slots VALUES(11,126); -INSERT INTO product_slots VALUES(11,127); -INSERT INTO product_slots VALUES(11,128); -INSERT INTO product_slots VALUES(11,129); -INSERT INTO product_slots VALUES(11,130); -INSERT INTO product_slots VALUES(11,131); -INSERT INTO product_slots VALUES(11,132); -INSERT INTO product_slots VALUES(11,133); -INSERT INTO product_slots VALUES(11,134); -INSERT INTO product_slots VALUES(11,135); -INSERT INTO product_slots VALUES(11,136); -INSERT INTO product_slots VALUES(11,138); -INSERT INTO product_slots VALUES(11,139); -INSERT INTO product_slots VALUES(11,140); -INSERT INTO product_slots VALUES(11,141); -INSERT INTO product_slots VALUES(11,142); -INSERT INTO product_slots VALUES(11,143); -INSERT INTO product_slots VALUES(11,145); -INSERT INTO product_slots VALUES(11,146); -INSERT INTO product_slots VALUES(11,147); -INSERT INTO product_slots VALUES(11,148); -INSERT INTO product_slots VALUES(11,149); -INSERT INTO product_slots VALUES(11,150); -INSERT INTO product_slots VALUES(11,151); -INSERT INTO product_slots VALUES(11,152); -INSERT INTO product_slots VALUES(11,153); -INSERT INTO product_slots VALUES(11,154); -INSERT INTO product_slots VALUES(11,155); -INSERT INTO product_slots VALUES(11,156); -INSERT INTO product_slots VALUES(11,157); -INSERT INTO product_slots VALUES(11,158); -INSERT INTO product_slots VALUES(11,159); -INSERT INTO product_slots VALUES(11,160); -INSERT INTO product_slots VALUES(11,161); -INSERT INTO product_slots VALUES(11,162); -INSERT INTO product_slots VALUES(11,163); -INSERT INTO product_slots VALUES(11,164); -INSERT INTO product_slots VALUES(11,165); -INSERT INTO product_slots VALUES(11,166); -INSERT INTO product_slots VALUES(11,167); -INSERT INTO product_slots VALUES(11,168); -INSERT INTO product_slots VALUES(11,169); -INSERT INTO product_slots VALUES(11,170); -INSERT INTO product_slots VALUES(11,171); -INSERT INTO product_slots VALUES(11,172); -INSERT INTO product_slots VALUES(11,173); -INSERT INTO product_slots VALUES(11,174); -INSERT INTO product_slots VALUES(11,175); -INSERT INTO product_slots VALUES(11,176); -INSERT INTO product_slots VALUES(11,177); -INSERT INTO product_slots VALUES(11,178); -INSERT INTO product_slots VALUES(11,179); -INSERT INTO product_slots VALUES(11,180); -INSERT INTO product_slots VALUES(11,181); -INSERT INTO product_slots VALUES(11,182); -INSERT INTO product_slots VALUES(11,183); -INSERT INTO product_slots VALUES(11,184); -INSERT INTO product_slots VALUES(11,185); -INSERT INTO product_slots VALUES(11,186); -INSERT INTO product_slots VALUES(11,187); -INSERT INTO product_slots VALUES(11,188); -INSERT INTO product_slots VALUES(11,189); -INSERT INTO product_slots VALUES(11,190); -INSERT INTO product_slots VALUES(11,191); -INSERT INTO product_slots VALUES(11,192); -INSERT INTO product_slots VALUES(11,193); -INSERT INTO product_slots VALUES(11,194); -INSERT INTO product_slots VALUES(11,195); -INSERT INTO product_slots VALUES(11,196); -INSERT INTO product_slots VALUES(11,197); -INSERT INTO product_slots VALUES(11,198); -INSERT INTO product_slots VALUES(11,199); -INSERT INTO product_slots VALUES(11,200); -INSERT INTO product_slots VALUES(11,201); -INSERT INTO product_slots VALUES(11,202); -INSERT INTO product_slots VALUES(11,203); -INSERT INTO product_slots VALUES(11,204); -INSERT INTO product_slots VALUES(11,205); -INSERT INTO product_slots VALUES(11,206); -INSERT INTO product_slots VALUES(11,207); -INSERT INTO product_slots VALUES(11,208); -INSERT INTO product_slots VALUES(11,209); -INSERT INTO product_slots VALUES(11,210); -INSERT INTO product_slots VALUES(11,211); -INSERT INTO product_slots VALUES(11,212); -INSERT INTO product_slots VALUES(11,213); -INSERT INTO product_slots VALUES(11,214); -INSERT INTO product_slots VALUES(11,215); -INSERT INTO product_slots VALUES(11,216); -INSERT INTO product_slots VALUES(11,217); -INSERT INTO product_slots VALUES(11,218); -INSERT INTO product_slots VALUES(11,219); -INSERT INTO product_slots VALUES(11,220); -INSERT INTO product_slots VALUES(11,221); -INSERT INTO product_slots VALUES(11,222); -INSERT INTO product_slots VALUES(11,223); -INSERT INTO product_slots VALUES(11,224); -INSERT INTO product_slots VALUES(11,225); -INSERT INTO product_slots VALUES(11,226); -INSERT INTO product_slots VALUES(11,227); -INSERT INTO product_slots VALUES(11,228); -INSERT INTO product_slots VALUES(11,229); -INSERT INTO product_slots VALUES(11,230); -INSERT INTO product_slots VALUES(11,231); -INSERT INTO product_slots VALUES(11,232); -INSERT INTO product_slots VALUES(11,233); -INSERT INTO product_slots VALUES(11,234); -INSERT INTO product_slots VALUES(11,235); -INSERT INTO product_slots VALUES(11,236); -INSERT INTO product_slots VALUES(11,237); -INSERT INTO product_slots VALUES(11,238); -INSERT INTO product_slots VALUES(11,239); -INSERT INTO product_slots VALUES(11,240); -INSERT INTO product_slots VALUES(11,241); -INSERT INTO product_slots VALUES(11,242); -INSERT INTO product_slots VALUES(11,243); -INSERT INTO product_slots VALUES(11,244); -INSERT INTO product_slots VALUES(11,274); -INSERT INTO product_slots VALUES(11,275); -INSERT INTO product_slots VALUES(11,279); -INSERT INTO product_slots VALUES(11,280); -INSERT INTO product_slots VALUES(11,281); -INSERT INTO product_slots VALUES(11,282); -INSERT INTO product_slots VALUES(11,283); -INSERT INTO product_slots VALUES(11,284); -INSERT INTO product_slots VALUES(11,285); -INSERT INTO product_slots VALUES(11,286); -INSERT INTO product_slots VALUES(11,287); -INSERT INTO product_slots VALUES(12,5); -INSERT INTO product_slots VALUES(12,6); -INSERT INTO product_slots VALUES(12,7); -INSERT INTO product_slots VALUES(12,9); -INSERT INTO product_slots VALUES(12,16); -INSERT INTO product_slots VALUES(12,18); -INSERT INTO product_slots VALUES(12,20); -INSERT INTO product_slots VALUES(12,21); -INSERT INTO product_slots VALUES(12,22); -INSERT INTO product_slots VALUES(12,33); -INSERT INTO product_slots VALUES(12,35); -INSERT INTO product_slots VALUES(12,37); -INSERT INTO product_slots VALUES(12,38); -INSERT INTO product_slots VALUES(12,40); -INSERT INTO product_slots VALUES(13,5); -INSERT INTO product_slots VALUES(13,6); -INSERT INTO product_slots VALUES(13,7); -INSERT INTO product_slots VALUES(13,15); -INSERT INTO product_slots VALUES(13,16); -INSERT INTO product_slots VALUES(13,17); -INSERT INTO product_slots VALUES(13,18); -INSERT INTO product_slots VALUES(13,20); -INSERT INTO product_slots VALUES(13,21); -INSERT INTO product_slots VALUES(13,22); -INSERT INTO product_slots VALUES(13,33); -INSERT INTO product_slots VALUES(13,35); -INSERT INTO product_slots VALUES(13,37); -INSERT INTO product_slots VALUES(13,38); -INSERT INTO product_slots VALUES(13,39); -INSERT INTO product_slots VALUES(13,40); -INSERT INTO product_slots VALUES(13,43); -INSERT INTO product_slots VALUES(13,44); -INSERT INTO product_slots VALUES(13,45); -INSERT INTO product_slots VALUES(13,46); -INSERT INTO product_slots VALUES(13,47); -INSERT INTO product_slots VALUES(13,48); -INSERT INTO product_slots VALUES(13,49); -INSERT INTO product_slots VALUES(13,50); -INSERT INTO product_slots VALUES(13,51); -INSERT INTO product_slots VALUES(13,52); -INSERT INTO product_slots VALUES(13,53); -INSERT INTO product_slots VALUES(13,54); -INSERT INTO product_slots VALUES(13,55); -INSERT INTO product_slots VALUES(13,56); -INSERT INTO product_slots VALUES(13,57); -INSERT INTO product_slots VALUES(13,58); -INSERT INTO product_slots VALUES(13,59); -INSERT INTO product_slots VALUES(13,60); -INSERT INTO product_slots VALUES(13,61); -INSERT INTO product_slots VALUES(13,62); -INSERT INTO product_slots VALUES(13,63); -INSERT INTO product_slots VALUES(13,64); -INSERT INTO product_slots VALUES(13,65); -INSERT INTO product_slots VALUES(13,66); -INSERT INTO product_slots VALUES(13,67); -INSERT INTO product_slots VALUES(13,68); -INSERT INTO product_slots VALUES(13,69); -INSERT INTO product_slots VALUES(13,70); -INSERT INTO product_slots VALUES(13,71); -INSERT INTO product_slots VALUES(13,72); -INSERT INTO product_slots VALUES(13,73); -INSERT INTO product_slots VALUES(13,74); -INSERT INTO product_slots VALUES(13,75); -INSERT INTO product_slots VALUES(13,76); -INSERT INTO product_slots VALUES(13,77); -INSERT INTO product_slots VALUES(13,78); -INSERT INTO product_slots VALUES(13,79); -INSERT INTO product_slots VALUES(13,80); -INSERT INTO product_slots VALUES(13,81); -INSERT INTO product_slots VALUES(13,82); -INSERT INTO product_slots VALUES(13,83); -INSERT INTO product_slots VALUES(13,84); -INSERT INTO product_slots VALUES(13,85); -INSERT INTO product_slots VALUES(13,86); -INSERT INTO product_slots VALUES(13,87); -INSERT INTO product_slots VALUES(13,88); -INSERT INTO product_slots VALUES(13,89); -INSERT INTO product_slots VALUES(13,90); -INSERT INTO product_slots VALUES(13,91); -INSERT INTO product_slots VALUES(13,92); -INSERT INTO product_slots VALUES(13,93); -INSERT INTO product_slots VALUES(13,94); -INSERT INTO product_slots VALUES(13,95); -INSERT INTO product_slots VALUES(13,96); -INSERT INTO product_slots VALUES(13,97); -INSERT INTO product_slots VALUES(13,98); -INSERT INTO product_slots VALUES(13,99); -INSERT INTO product_slots VALUES(13,100); -INSERT INTO product_slots VALUES(13,102); -INSERT INTO product_slots VALUES(13,103); -INSERT INTO product_slots VALUES(13,104); -INSERT INTO product_slots VALUES(13,105); -INSERT INTO product_slots VALUES(13,106); -INSERT INTO product_slots VALUES(13,107); -INSERT INTO product_slots VALUES(13,108); -INSERT INTO product_slots VALUES(13,109); -INSERT INTO product_slots VALUES(13,110); -INSERT INTO product_slots VALUES(13,111); -INSERT INTO product_slots VALUES(13,112); -INSERT INTO product_slots VALUES(13,113); -INSERT INTO product_slots VALUES(13,114); -INSERT INTO product_slots VALUES(13,115); -INSERT INTO product_slots VALUES(13,117); -INSERT INTO product_slots VALUES(13,118); -INSERT INTO product_slots VALUES(13,119); -INSERT INTO product_slots VALUES(13,120); -INSERT INTO product_slots VALUES(13,121); -INSERT INTO product_slots VALUES(13,122); -INSERT INTO product_slots VALUES(13,123); -INSERT INTO product_slots VALUES(13,124); -INSERT INTO product_slots VALUES(13,125); -INSERT INTO product_slots VALUES(13,126); -INSERT INTO product_slots VALUES(13,127); -INSERT INTO product_slots VALUES(13,128); -INSERT INTO product_slots VALUES(13,129); -INSERT INTO product_slots VALUES(13,130); -INSERT INTO product_slots VALUES(13,131); -INSERT INTO product_slots VALUES(13,132); -INSERT INTO product_slots VALUES(13,133); -INSERT INTO product_slots VALUES(13,134); -INSERT INTO product_slots VALUES(13,135); -INSERT INTO product_slots VALUES(13,136); -INSERT INTO product_slots VALUES(13,138); -INSERT INTO product_slots VALUES(13,139); -INSERT INTO product_slots VALUES(13,140); -INSERT INTO product_slots VALUES(13,141); -INSERT INTO product_slots VALUES(13,142); -INSERT INTO product_slots VALUES(13,143); -INSERT INTO product_slots VALUES(13,145); -INSERT INTO product_slots VALUES(13,146); -INSERT INTO product_slots VALUES(13,147); -INSERT INTO product_slots VALUES(13,148); -INSERT INTO product_slots VALUES(13,149); -INSERT INTO product_slots VALUES(13,150); -INSERT INTO product_slots VALUES(13,151); -INSERT INTO product_slots VALUES(13,152); -INSERT INTO product_slots VALUES(13,153); -INSERT INTO product_slots VALUES(13,154); -INSERT INTO product_slots VALUES(13,155); -INSERT INTO product_slots VALUES(13,156); -INSERT INTO product_slots VALUES(13,157); -INSERT INTO product_slots VALUES(13,158); -INSERT INTO product_slots VALUES(13,159); -INSERT INTO product_slots VALUES(13,160); -INSERT INTO product_slots VALUES(13,161); -INSERT INTO product_slots VALUES(13,162); -INSERT INTO product_slots VALUES(13,163); -INSERT INTO product_slots VALUES(13,164); -INSERT INTO product_slots VALUES(13,165); -INSERT INTO product_slots VALUES(13,166); -INSERT INTO product_slots VALUES(13,167); -INSERT INTO product_slots VALUES(13,168); -INSERT INTO product_slots VALUES(13,169); -INSERT INTO product_slots VALUES(13,170); -INSERT INTO product_slots VALUES(13,171); -INSERT INTO product_slots VALUES(13,172); -INSERT INTO product_slots VALUES(13,173); -INSERT INTO product_slots VALUES(13,174); -INSERT INTO product_slots VALUES(13,175); -INSERT INTO product_slots VALUES(13,176); -INSERT INTO product_slots VALUES(13,177); -INSERT INTO product_slots VALUES(13,178); -INSERT INTO product_slots VALUES(13,179); -INSERT INTO product_slots VALUES(13,180); -INSERT INTO product_slots VALUES(13,181); -INSERT INTO product_slots VALUES(13,182); -INSERT INTO product_slots VALUES(13,183); -INSERT INTO product_slots VALUES(13,184); -INSERT INTO product_slots VALUES(13,185); -INSERT INTO product_slots VALUES(13,186); -INSERT INTO product_slots VALUES(13,187); -INSERT INTO product_slots VALUES(13,188); -INSERT INTO product_slots VALUES(13,189); -INSERT INTO product_slots VALUES(13,190); -INSERT INTO product_slots VALUES(13,191); -INSERT INTO product_slots VALUES(13,192); -INSERT INTO product_slots VALUES(13,193); -INSERT INTO product_slots VALUES(13,194); -INSERT INTO product_slots VALUES(13,195); -INSERT INTO product_slots VALUES(13,196); -INSERT INTO product_slots VALUES(13,197); -INSERT INTO product_slots VALUES(13,198); -INSERT INTO product_slots VALUES(13,199); -INSERT INTO product_slots VALUES(13,200); -INSERT INTO product_slots VALUES(13,201); -INSERT INTO product_slots VALUES(13,202); -INSERT INTO product_slots VALUES(13,203); -INSERT INTO product_slots VALUES(13,204); -INSERT INTO product_slots VALUES(13,205); -INSERT INTO product_slots VALUES(13,206); -INSERT INTO product_slots VALUES(13,207); -INSERT INTO product_slots VALUES(13,208); -INSERT INTO product_slots VALUES(13,209); -INSERT INTO product_slots VALUES(13,210); -INSERT INTO product_slots VALUES(13,211); -INSERT INTO product_slots VALUES(13,212); -INSERT INTO product_slots VALUES(13,213); -INSERT INTO product_slots VALUES(13,214); -INSERT INTO product_slots VALUES(13,215); -INSERT INTO product_slots VALUES(13,216); -INSERT INTO product_slots VALUES(13,217); -INSERT INTO product_slots VALUES(13,218); -INSERT INTO product_slots VALUES(13,219); -INSERT INTO product_slots VALUES(13,220); -INSERT INTO product_slots VALUES(13,221); -INSERT INTO product_slots VALUES(13,222); -INSERT INTO product_slots VALUES(13,223); -INSERT INTO product_slots VALUES(13,224); -INSERT INTO product_slots VALUES(13,225); -INSERT INTO product_slots VALUES(13,226); -INSERT INTO product_slots VALUES(13,227); -INSERT INTO product_slots VALUES(13,228); -INSERT INTO product_slots VALUES(13,229); -INSERT INTO product_slots VALUES(13,230); -INSERT INTO product_slots VALUES(13,231); -INSERT INTO product_slots VALUES(13,232); -INSERT INTO product_slots VALUES(13,233); -INSERT INTO product_slots VALUES(13,234); -INSERT INTO product_slots VALUES(13,235); -INSERT INTO product_slots VALUES(13,236); -INSERT INTO product_slots VALUES(13,237); -INSERT INTO product_slots VALUES(13,238); -INSERT INTO product_slots VALUES(13,239); -INSERT INTO product_slots VALUES(13,240); -INSERT INTO product_slots VALUES(13,241); -INSERT INTO product_slots VALUES(13,242); -INSERT INTO product_slots VALUES(13,243); -INSERT INTO product_slots VALUES(13,244); -INSERT INTO product_slots VALUES(13,274); -INSERT INTO product_slots VALUES(13,275); -INSERT INTO product_slots VALUES(13,279); -INSERT INTO product_slots VALUES(13,280); -INSERT INTO product_slots VALUES(13,281); -INSERT INTO product_slots VALUES(13,282); -INSERT INTO product_slots VALUES(13,283); -INSERT INTO product_slots VALUES(13,284); -INSERT INTO product_slots VALUES(13,285); -INSERT INTO product_slots VALUES(13,286); -INSERT INTO product_slots VALUES(13,287); -INSERT INTO product_slots VALUES(14,5); -INSERT INTO product_slots VALUES(14,6); -INSERT INTO product_slots VALUES(14,7); -INSERT INTO product_slots VALUES(14,12); -INSERT INTO product_slots VALUES(14,18); -INSERT INTO product_slots VALUES(14,20); -INSERT INTO product_slots VALUES(14,21); -INSERT INTO product_slots VALUES(14,22); -INSERT INTO product_slots VALUES(14,33); -INSERT INTO product_slots VALUES(14,35); -INSERT INTO product_slots VALUES(14,37); -INSERT INTO product_slots VALUES(14,38); -INSERT INTO product_slots VALUES(14,39); -INSERT INTO product_slots VALUES(14,40); -INSERT INTO product_slots VALUES(14,41); -INSERT INTO product_slots VALUES(14,43); -INSERT INTO product_slots VALUES(14,45); -INSERT INTO product_slots VALUES(14,46); -INSERT INTO product_slots VALUES(14,47); -INSERT INTO product_slots VALUES(14,48); -INSERT INTO product_slots VALUES(14,49); -INSERT INTO product_slots VALUES(14,50); -INSERT INTO product_slots VALUES(14,51); -INSERT INTO product_slots VALUES(14,52); -INSERT INTO product_slots VALUES(14,53); -INSERT INTO product_slots VALUES(14,54); -INSERT INTO product_slots VALUES(14,55); -INSERT INTO product_slots VALUES(14,56); -INSERT INTO product_slots VALUES(14,57); -INSERT INTO product_slots VALUES(14,58); -INSERT INTO product_slots VALUES(14,59); -INSERT INTO product_slots VALUES(14,60); -INSERT INTO product_slots VALUES(14,61); -INSERT INTO product_slots VALUES(14,62); -INSERT INTO product_slots VALUES(14,63); -INSERT INTO product_slots VALUES(14,64); -INSERT INTO product_slots VALUES(14,65); -INSERT INTO product_slots VALUES(14,66); -INSERT INTO product_slots VALUES(14,67); -INSERT INTO product_slots VALUES(14,68); -INSERT INTO product_slots VALUES(14,69); -INSERT INTO product_slots VALUES(14,70); -INSERT INTO product_slots VALUES(14,71); -INSERT INTO product_slots VALUES(14,74); -INSERT INTO product_slots VALUES(14,75); -INSERT INTO product_slots VALUES(14,76); -INSERT INTO product_slots VALUES(14,77); -INSERT INTO product_slots VALUES(14,78); -INSERT INTO product_slots VALUES(14,81); -INSERT INTO product_slots VALUES(14,82); -INSERT INTO product_slots VALUES(14,83); -INSERT INTO product_slots VALUES(14,84); -INSERT INTO product_slots VALUES(14,87); -INSERT INTO product_slots VALUES(14,88); -INSERT INTO product_slots VALUES(14,89); -INSERT INTO product_slots VALUES(14,90); -INSERT INTO product_slots VALUES(14,91); -INSERT INTO product_slots VALUES(14,95); -INSERT INTO product_slots VALUES(14,96); -INSERT INTO product_slots VALUES(14,97); -INSERT INTO product_slots VALUES(14,98); -INSERT INTO product_slots VALUES(14,101); -INSERT INTO product_slots VALUES(14,102); -INSERT INTO product_slots VALUES(14,103); -INSERT INTO product_slots VALUES(14,104); -INSERT INTO product_slots VALUES(14,109); -INSERT INTO product_slots VALUES(14,110); -INSERT INTO product_slots VALUES(14,111); -INSERT INTO product_slots VALUES(14,112); -INSERT INTO product_slots VALUES(14,116); -INSERT INTO product_slots VALUES(14,117); -INSERT INTO product_slots VALUES(14,118); -INSERT INTO product_slots VALUES(14,119); -INSERT INTO product_slots VALUES(14,120); -INSERT INTO product_slots VALUES(14,123); -INSERT INTO product_slots VALUES(14,124); -INSERT INTO product_slots VALUES(14,125); -INSERT INTO product_slots VALUES(14,126); -INSERT INTO product_slots VALUES(14,130); -INSERT INTO product_slots VALUES(14,131); -INSERT INTO product_slots VALUES(14,132); -INSERT INTO product_slots VALUES(14,133); -INSERT INTO product_slots VALUES(14,137); -INSERT INTO product_slots VALUES(14,138); -INSERT INTO product_slots VALUES(14,139); -INSERT INTO product_slots VALUES(14,140); -INSERT INTO product_slots VALUES(14,144); -INSERT INTO product_slots VALUES(14,145); -INSERT INTO product_slots VALUES(14,146); -INSERT INTO product_slots VALUES(14,147); -INSERT INTO product_slots VALUES(14,148); -INSERT INTO product_slots VALUES(14,149); -INSERT INTO product_slots VALUES(14,150); -INSERT INTO product_slots VALUES(14,151); -INSERT INTO product_slots VALUES(14,155); -INSERT INTO product_slots VALUES(14,156); -INSERT INTO product_slots VALUES(14,157); -INSERT INTO product_slots VALUES(14,158); -INSERT INTO product_slots VALUES(14,162); -INSERT INTO product_slots VALUES(14,163); -INSERT INTO product_slots VALUES(14,164); -INSERT INTO product_slots VALUES(14,165); -INSERT INTO product_slots VALUES(14,166); -INSERT INTO product_slots VALUES(14,169); -INSERT INTO product_slots VALUES(14,170); -INSERT INTO product_slots VALUES(14,171); -INSERT INTO product_slots VALUES(14,172); -INSERT INTO product_slots VALUES(14,176); -INSERT INTO product_slots VALUES(14,177); -INSERT INTO product_slots VALUES(14,178); -INSERT INTO product_slots VALUES(14,179); -INSERT INTO product_slots VALUES(14,183); -INSERT INTO product_slots VALUES(14,184); -INSERT INTO product_slots VALUES(14,185); -INSERT INTO product_slots VALUES(14,186); -INSERT INTO product_slots VALUES(14,187); -INSERT INTO product_slots VALUES(14,188); -INSERT INTO product_slots VALUES(14,189); -INSERT INTO product_slots VALUES(14,190); -INSERT INTO product_slots VALUES(14,191); -INSERT INTO product_slots VALUES(14,192); -INSERT INTO product_slots VALUES(14,193); -INSERT INTO product_slots VALUES(14,194); -INSERT INTO product_slots VALUES(14,198); -INSERT INTO product_slots VALUES(14,199); -INSERT INTO product_slots VALUES(14,200); -INSERT INTO product_slots VALUES(14,201); -INSERT INTO product_slots VALUES(14,202); -INSERT INTO product_slots VALUES(14,203); -INSERT INTO product_slots VALUES(14,205); -INSERT INTO product_slots VALUES(14,208); -INSERT INTO product_slots VALUES(14,209); -INSERT INTO product_slots VALUES(14,210); -INSERT INTO product_slots VALUES(14,211); -INSERT INTO product_slots VALUES(14,216); -INSERT INTO product_slots VALUES(14,217); -INSERT INTO product_slots VALUES(14,218); -INSERT INTO product_slots VALUES(14,219); -INSERT INTO product_slots VALUES(14,220); -INSERT INTO product_slots VALUES(14,223); -INSERT INTO product_slots VALUES(14,224); -INSERT INTO product_slots VALUES(14,225); -INSERT INTO product_slots VALUES(14,226); -INSERT INTO product_slots VALUES(14,230); -INSERT INTO product_slots VALUES(14,231); -INSERT INTO product_slots VALUES(14,232); -INSERT INTO product_slots VALUES(14,234); -INSERT INTO product_slots VALUES(14,237); -INSERT INTO product_slots VALUES(14,238); -INSERT INTO product_slots VALUES(14,239); -INSERT INTO product_slots VALUES(14,240); -INSERT INTO product_slots VALUES(14,274); -INSERT INTO product_slots VALUES(14,275); -INSERT INTO product_slots VALUES(14,277); -INSERT INTO product_slots VALUES(14,278); -INSERT INTO product_slots VALUES(14,279); -INSERT INTO product_slots VALUES(15,5); -INSERT INTO product_slots VALUES(15,6); -INSERT INTO product_slots VALUES(15,7); -INSERT INTO product_slots VALUES(15,8); -INSERT INTO product_slots VALUES(15,9); -INSERT INTO product_slots VALUES(15,12); -INSERT INTO product_slots VALUES(15,18); -INSERT INTO product_slots VALUES(15,19); -INSERT INTO product_slots VALUES(15,20); -INSERT INTO product_slots VALUES(15,21); -INSERT INTO product_slots VALUES(15,22); -INSERT INTO product_slots VALUES(15,23); -INSERT INTO product_slots VALUES(15,31); -INSERT INTO product_slots VALUES(15,33); -INSERT INTO product_slots VALUES(15,35); -INSERT INTO product_slots VALUES(15,37); -INSERT INTO product_slots VALUES(15,38); -INSERT INTO product_slots VALUES(15,39); -INSERT INTO product_slots VALUES(15,40); -INSERT INTO product_slots VALUES(15,59); -INSERT INTO product_slots VALUES(15,62); -INSERT INTO product_slots VALUES(15,63); -INSERT INTO product_slots VALUES(15,64); -INSERT INTO product_slots VALUES(15,65); -INSERT INTO product_slots VALUES(15,66); -INSERT INTO product_slots VALUES(15,67); -INSERT INTO product_slots VALUES(15,72); -INSERT INTO product_slots VALUES(15,73); -INSERT INTO product_slots VALUES(15,279); -INSERT INTO product_slots VALUES(16,16); -INSERT INTO product_slots VALUES(16,18); -INSERT INTO product_slots VALUES(16,20); -INSERT INTO product_slots VALUES(16,39); -INSERT INTO product_slots VALUES(16,44); -INSERT INTO product_slots VALUES(16,46); -INSERT INTO product_slots VALUES(16,47); -INSERT INTO product_slots VALUES(16,48); -INSERT INTO product_slots VALUES(16,49); -INSERT INTO product_slots VALUES(16,50); -INSERT INTO product_slots VALUES(16,51); -INSERT INTO product_slots VALUES(16,52); -INSERT INTO product_slots VALUES(16,53); -INSERT INTO product_slots VALUES(16,54); -INSERT INTO product_slots VALUES(16,55); -INSERT INTO product_slots VALUES(16,56); -INSERT INTO product_slots VALUES(16,57); -INSERT INTO product_slots VALUES(16,58); -INSERT INTO product_slots VALUES(16,59); -INSERT INTO product_slots VALUES(16,60); -INSERT INTO product_slots VALUES(16,61); -INSERT INTO product_slots VALUES(16,62); -INSERT INTO product_slots VALUES(16,63); -INSERT INTO product_slots VALUES(16,64); -INSERT INTO product_slots VALUES(16,65); -INSERT INTO product_slots VALUES(16,66); -INSERT INTO product_slots VALUES(16,67); -INSERT INTO product_slots VALUES(16,68); -INSERT INTO product_slots VALUES(16,69); -INSERT INTO product_slots VALUES(16,70); -INSERT INTO product_slots VALUES(16,71); -INSERT INTO product_slots VALUES(16,72); -INSERT INTO product_slots VALUES(16,73); -INSERT INTO product_slots VALUES(16,74); -INSERT INTO product_slots VALUES(16,75); -INSERT INTO product_slots VALUES(16,76); -INSERT INTO product_slots VALUES(16,77); -INSERT INTO product_slots VALUES(16,78); -INSERT INTO product_slots VALUES(16,79); -INSERT INTO product_slots VALUES(16,80); -INSERT INTO product_slots VALUES(16,81); -INSERT INTO product_slots VALUES(16,82); -INSERT INTO product_slots VALUES(16,83); -INSERT INTO product_slots VALUES(16,84); -INSERT INTO product_slots VALUES(16,85); -INSERT INTO product_slots VALUES(16,86); -INSERT INTO product_slots VALUES(16,87); -INSERT INTO product_slots VALUES(16,88); -INSERT INTO product_slots VALUES(16,89); -INSERT INTO product_slots VALUES(16,90); -INSERT INTO product_slots VALUES(16,91); -INSERT INTO product_slots VALUES(16,92); -INSERT INTO product_slots VALUES(16,93); -INSERT INTO product_slots VALUES(16,94); -INSERT INTO product_slots VALUES(16,95); -INSERT INTO product_slots VALUES(16,96); -INSERT INTO product_slots VALUES(16,97); -INSERT INTO product_slots VALUES(16,98); -INSERT INTO product_slots VALUES(16,99); -INSERT INTO product_slots VALUES(16,100); -INSERT INTO product_slots VALUES(16,101); -INSERT INTO product_slots VALUES(16,102); -INSERT INTO product_slots VALUES(16,103); -INSERT INTO product_slots VALUES(16,104); -INSERT INTO product_slots VALUES(16,105); -INSERT INTO product_slots VALUES(16,106); -INSERT INTO product_slots VALUES(16,107); -INSERT INTO product_slots VALUES(16,108); -INSERT INTO product_slots VALUES(16,109); -INSERT INTO product_slots VALUES(16,110); -INSERT INTO product_slots VALUES(16,111); -INSERT INTO product_slots VALUES(16,112); -INSERT INTO product_slots VALUES(16,113); -INSERT INTO product_slots VALUES(16,114); -INSERT INTO product_slots VALUES(16,115); -INSERT INTO product_slots VALUES(16,116); -INSERT INTO product_slots VALUES(16,117); -INSERT INTO product_slots VALUES(16,118); -INSERT INTO product_slots VALUES(16,119); -INSERT INTO product_slots VALUES(16,120); -INSERT INTO product_slots VALUES(16,121); -INSERT INTO product_slots VALUES(16,122); -INSERT INTO product_slots VALUES(16,123); -INSERT INTO product_slots VALUES(16,124); -INSERT INTO product_slots VALUES(16,125); -INSERT INTO product_slots VALUES(16,126); -INSERT INTO product_slots VALUES(16,127); -INSERT INTO product_slots VALUES(16,128); -INSERT INTO product_slots VALUES(16,129); -INSERT INTO product_slots VALUES(16,130); -INSERT INTO product_slots VALUES(16,131); -INSERT INTO product_slots VALUES(16,132); -INSERT INTO product_slots VALUES(16,133); -INSERT INTO product_slots VALUES(16,134); -INSERT INTO product_slots VALUES(16,135); -INSERT INTO product_slots VALUES(16,136); -INSERT INTO product_slots VALUES(16,137); -INSERT INTO product_slots VALUES(16,138); -INSERT INTO product_slots VALUES(16,139); -INSERT INTO product_slots VALUES(16,140); -INSERT INTO product_slots VALUES(16,141); -INSERT INTO product_slots VALUES(16,142); -INSERT INTO product_slots VALUES(16,143); -INSERT INTO product_slots VALUES(16,144); -INSERT INTO product_slots VALUES(16,145); -INSERT INTO product_slots VALUES(16,146); -INSERT INTO product_slots VALUES(16,147); -INSERT INTO product_slots VALUES(16,148); -INSERT INTO product_slots VALUES(16,149); -INSERT INTO product_slots VALUES(16,150); -INSERT INTO product_slots VALUES(16,151); -INSERT INTO product_slots VALUES(16,152); -INSERT INTO product_slots VALUES(16,153); -INSERT INTO product_slots VALUES(16,154); -INSERT INTO product_slots VALUES(16,155); -INSERT INTO product_slots VALUES(16,156); -INSERT INTO product_slots VALUES(16,157); -INSERT INTO product_slots VALUES(16,158); -INSERT INTO product_slots VALUES(16,159); -INSERT INTO product_slots VALUES(16,160); -INSERT INTO product_slots VALUES(16,161); -INSERT INTO product_slots VALUES(16,162); -INSERT INTO product_slots VALUES(16,163); -INSERT INTO product_slots VALUES(16,164); -INSERT INTO product_slots VALUES(16,165); -INSERT INTO product_slots VALUES(16,166); -INSERT INTO product_slots VALUES(16,167); -INSERT INTO product_slots VALUES(16,168); -INSERT INTO product_slots VALUES(16,169); -INSERT INTO product_slots VALUES(16,170); -INSERT INTO product_slots VALUES(16,171); -INSERT INTO product_slots VALUES(16,172); -INSERT INTO product_slots VALUES(16,173); -INSERT INTO product_slots VALUES(16,174); -INSERT INTO product_slots VALUES(16,175); -INSERT INTO product_slots VALUES(16,176); -INSERT INTO product_slots VALUES(16,177); -INSERT INTO product_slots VALUES(16,178); -INSERT INTO product_slots VALUES(16,179); -INSERT INTO product_slots VALUES(16,180); -INSERT INTO product_slots VALUES(16,181); -INSERT INTO product_slots VALUES(16,182); -INSERT INTO product_slots VALUES(16,183); -INSERT INTO product_slots VALUES(16,184); -INSERT INTO product_slots VALUES(16,185); -INSERT INTO product_slots VALUES(16,186); -INSERT INTO product_slots VALUES(16,187); -INSERT INTO product_slots VALUES(16,188); -INSERT INTO product_slots VALUES(16,189); -INSERT INTO product_slots VALUES(16,190); -INSERT INTO product_slots VALUES(16,191); -INSERT INTO product_slots VALUES(16,192); -INSERT INTO product_slots VALUES(16,193); -INSERT INTO product_slots VALUES(16,194); -INSERT INTO product_slots VALUES(16,195); -INSERT INTO product_slots VALUES(16,196); -INSERT INTO product_slots VALUES(16,197); -INSERT INTO product_slots VALUES(16,198); -INSERT INTO product_slots VALUES(16,199); -INSERT INTO product_slots VALUES(16,200); -INSERT INTO product_slots VALUES(16,201); -INSERT INTO product_slots VALUES(16,202); -INSERT INTO product_slots VALUES(16,203); -INSERT INTO product_slots VALUES(16,204); -INSERT INTO product_slots VALUES(16,205); -INSERT INTO product_slots VALUES(16,206); -INSERT INTO product_slots VALUES(16,207); -INSERT INTO product_slots VALUES(16,208); -INSERT INTO product_slots VALUES(16,209); -INSERT INTO product_slots VALUES(16,210); -INSERT INTO product_slots VALUES(16,211); -INSERT INTO product_slots VALUES(16,212); -INSERT INTO product_slots VALUES(16,213); -INSERT INTO product_slots VALUES(16,214); -INSERT INTO product_slots VALUES(16,215); -INSERT INTO product_slots VALUES(16,216); -INSERT INTO product_slots VALUES(16,217); -INSERT INTO product_slots VALUES(16,218); -INSERT INTO product_slots VALUES(16,219); -INSERT INTO product_slots VALUES(16,220); -INSERT INTO product_slots VALUES(16,221); -INSERT INTO product_slots VALUES(16,222); -INSERT INTO product_slots VALUES(16,223); -INSERT INTO product_slots VALUES(16,224); -INSERT INTO product_slots VALUES(16,225); -INSERT INTO product_slots VALUES(16,226); -INSERT INTO product_slots VALUES(16,227); -INSERT INTO product_slots VALUES(16,228); -INSERT INTO product_slots VALUES(16,229); -INSERT INTO product_slots VALUES(16,230); -INSERT INTO product_slots VALUES(16,231); -INSERT INTO product_slots VALUES(16,232); -INSERT INTO product_slots VALUES(16,233); -INSERT INTO product_slots VALUES(16,234); -INSERT INTO product_slots VALUES(16,235); -INSERT INTO product_slots VALUES(16,236); -INSERT INTO product_slots VALUES(16,237); -INSERT INTO product_slots VALUES(16,238); -INSERT INTO product_slots VALUES(16,239); -INSERT INTO product_slots VALUES(16,240); -INSERT INTO product_slots VALUES(16,241); -INSERT INTO product_slots VALUES(16,242); -INSERT INTO product_slots VALUES(16,243); -INSERT INTO product_slots VALUES(16,244); -INSERT INTO product_slots VALUES(16,274); -INSERT INTO product_slots VALUES(16,275); -INSERT INTO product_slots VALUES(16,279); -INSERT INTO product_slots VALUES(16,280); -INSERT INTO product_slots VALUES(16,281); -INSERT INTO product_slots VALUES(16,282); -INSERT INTO product_slots VALUES(16,283); -INSERT INTO product_slots VALUES(16,284); -INSERT INTO product_slots VALUES(16,285); -INSERT INTO product_slots VALUES(16,286); -INSERT INTO product_slots VALUES(16,287); -INSERT INTO product_slots VALUES(17,12); -INSERT INTO product_slots VALUES(17,18); -INSERT INTO product_slots VALUES(17,20); -INSERT INTO product_slots VALUES(17,21); -INSERT INTO product_slots VALUES(17,33); -INSERT INTO product_slots VALUES(17,35); -INSERT INTO product_slots VALUES(17,37); -INSERT INTO product_slots VALUES(17,38); -INSERT INTO product_slots VALUES(17,39); -INSERT INTO product_slots VALUES(17,40); -INSERT INTO product_slots VALUES(17,41); -INSERT INTO product_slots VALUES(17,43); -INSERT INTO product_slots VALUES(17,44); -INSERT INTO product_slots VALUES(17,45); -INSERT INTO product_slots VALUES(17,46); -INSERT INTO product_slots VALUES(17,47); -INSERT INTO product_slots VALUES(17,48); -INSERT INTO product_slots VALUES(17,49); -INSERT INTO product_slots VALUES(17,50); -INSERT INTO product_slots VALUES(17,51); -INSERT INTO product_slots VALUES(17,52); -INSERT INTO product_slots VALUES(17,53); -INSERT INTO product_slots VALUES(17,54); -INSERT INTO product_slots VALUES(17,55); -INSERT INTO product_slots VALUES(17,56); -INSERT INTO product_slots VALUES(17,57); -INSERT INTO product_slots VALUES(17,58); -INSERT INTO product_slots VALUES(17,59); -INSERT INTO product_slots VALUES(17,60); -INSERT INTO product_slots VALUES(17,61); -INSERT INTO product_slots VALUES(17,62); -INSERT INTO product_slots VALUES(17,63); -INSERT INTO product_slots VALUES(17,64); -INSERT INTO product_slots VALUES(17,65); -INSERT INTO product_slots VALUES(17,66); -INSERT INTO product_slots VALUES(17,67); -INSERT INTO product_slots VALUES(17,68); -INSERT INTO product_slots VALUES(17,69); -INSERT INTO product_slots VALUES(17,70); -INSERT INTO product_slots VALUES(17,71); -INSERT INTO product_slots VALUES(17,72); -INSERT INTO product_slots VALUES(17,73); -INSERT INTO product_slots VALUES(17,74); -INSERT INTO product_slots VALUES(17,75); -INSERT INTO product_slots VALUES(17,76); -INSERT INTO product_slots VALUES(17,77); -INSERT INTO product_slots VALUES(17,78); -INSERT INTO product_slots VALUES(17,79); -INSERT INTO product_slots VALUES(17,80); -INSERT INTO product_slots VALUES(17,81); -INSERT INTO product_slots VALUES(17,82); -INSERT INTO product_slots VALUES(17,83); -INSERT INTO product_slots VALUES(17,84); -INSERT INTO product_slots VALUES(17,85); -INSERT INTO product_slots VALUES(17,86); -INSERT INTO product_slots VALUES(17,87); -INSERT INTO product_slots VALUES(17,88); -INSERT INTO product_slots VALUES(17,89); -INSERT INTO product_slots VALUES(17,90); -INSERT INTO product_slots VALUES(17,91); -INSERT INTO product_slots VALUES(17,92); -INSERT INTO product_slots VALUES(17,93); -INSERT INTO product_slots VALUES(17,94); -INSERT INTO product_slots VALUES(17,95); -INSERT INTO product_slots VALUES(17,96); -INSERT INTO product_slots VALUES(17,97); -INSERT INTO product_slots VALUES(17,98); -INSERT INTO product_slots VALUES(17,99); -INSERT INTO product_slots VALUES(17,100); -INSERT INTO product_slots VALUES(17,101); -INSERT INTO product_slots VALUES(17,102); -INSERT INTO product_slots VALUES(17,103); -INSERT INTO product_slots VALUES(17,104); -INSERT INTO product_slots VALUES(17,105); -INSERT INTO product_slots VALUES(17,106); -INSERT INTO product_slots VALUES(17,107); -INSERT INTO product_slots VALUES(17,108); -INSERT INTO product_slots VALUES(17,109); -INSERT INTO product_slots VALUES(17,110); -INSERT INTO product_slots VALUES(17,111); -INSERT INTO product_slots VALUES(17,112); -INSERT INTO product_slots VALUES(17,113); -INSERT INTO product_slots VALUES(17,114); -INSERT INTO product_slots VALUES(17,115); -INSERT INTO product_slots VALUES(17,116); -INSERT INTO product_slots VALUES(17,117); -INSERT INTO product_slots VALUES(17,118); -INSERT INTO product_slots VALUES(17,119); -INSERT INTO product_slots VALUES(17,120); -INSERT INTO product_slots VALUES(17,121); -INSERT INTO product_slots VALUES(17,122); -INSERT INTO product_slots VALUES(17,123); -INSERT INTO product_slots VALUES(17,124); -INSERT INTO product_slots VALUES(17,125); -INSERT INTO product_slots VALUES(17,126); -INSERT INTO product_slots VALUES(17,127); -INSERT INTO product_slots VALUES(17,128); -INSERT INTO product_slots VALUES(17,129); -INSERT INTO product_slots VALUES(17,130); -INSERT INTO product_slots VALUES(17,131); -INSERT INTO product_slots VALUES(17,132); -INSERT INTO product_slots VALUES(17,133); -INSERT INTO product_slots VALUES(17,134); -INSERT INTO product_slots VALUES(17,135); -INSERT INTO product_slots VALUES(17,136); -INSERT INTO product_slots VALUES(17,137); -INSERT INTO product_slots VALUES(17,138); -INSERT INTO product_slots VALUES(17,139); -INSERT INTO product_slots VALUES(17,140); -INSERT INTO product_slots VALUES(17,141); -INSERT INTO product_slots VALUES(17,142); -INSERT INTO product_slots VALUES(17,143); -INSERT INTO product_slots VALUES(17,144); -INSERT INTO product_slots VALUES(17,145); -INSERT INTO product_slots VALUES(17,146); -INSERT INTO product_slots VALUES(17,147); -INSERT INTO product_slots VALUES(17,148); -INSERT INTO product_slots VALUES(17,149); -INSERT INTO product_slots VALUES(17,150); -INSERT INTO product_slots VALUES(17,151); -INSERT INTO product_slots VALUES(17,152); -INSERT INTO product_slots VALUES(17,153); -INSERT INTO product_slots VALUES(17,154); -INSERT INTO product_slots VALUES(17,155); -INSERT INTO product_slots VALUES(17,156); -INSERT INTO product_slots VALUES(17,157); -INSERT INTO product_slots VALUES(17,158); -INSERT INTO product_slots VALUES(17,159); -INSERT INTO product_slots VALUES(17,160); -INSERT INTO product_slots VALUES(17,161); -INSERT INTO product_slots VALUES(17,162); -INSERT INTO product_slots VALUES(17,163); -INSERT INTO product_slots VALUES(17,164); -INSERT INTO product_slots VALUES(17,165); -INSERT INTO product_slots VALUES(17,166); -INSERT INTO product_slots VALUES(17,167); -INSERT INTO product_slots VALUES(17,168); -INSERT INTO product_slots VALUES(17,169); -INSERT INTO product_slots VALUES(17,170); -INSERT INTO product_slots VALUES(17,171); -INSERT INTO product_slots VALUES(17,172); -INSERT INTO product_slots VALUES(17,173); -INSERT INTO product_slots VALUES(17,174); -INSERT INTO product_slots VALUES(17,175); -INSERT INTO product_slots VALUES(17,176); -INSERT INTO product_slots VALUES(17,177); -INSERT INTO product_slots VALUES(17,178); -INSERT INTO product_slots VALUES(17,179); -INSERT INTO product_slots VALUES(17,180); -INSERT INTO product_slots VALUES(17,181); -INSERT INTO product_slots VALUES(17,182); -INSERT INTO product_slots VALUES(17,183); -INSERT INTO product_slots VALUES(17,184); -INSERT INTO product_slots VALUES(17,185); -INSERT INTO product_slots VALUES(17,186); -INSERT INTO product_slots VALUES(17,187); -INSERT INTO product_slots VALUES(17,188); -INSERT INTO product_slots VALUES(17,189); -INSERT INTO product_slots VALUES(17,190); -INSERT INTO product_slots VALUES(17,191); -INSERT INTO product_slots VALUES(17,192); -INSERT INTO product_slots VALUES(17,193); -INSERT INTO product_slots VALUES(17,194); -INSERT INTO product_slots VALUES(17,195); -INSERT INTO product_slots VALUES(17,196); -INSERT INTO product_slots VALUES(17,197); -INSERT INTO product_slots VALUES(17,198); -INSERT INTO product_slots VALUES(17,199); -INSERT INTO product_slots VALUES(17,200); -INSERT INTO product_slots VALUES(17,201); -INSERT INTO product_slots VALUES(17,202); -INSERT INTO product_slots VALUES(17,203); -INSERT INTO product_slots VALUES(17,204); -INSERT INTO product_slots VALUES(17,205); -INSERT INTO product_slots VALUES(17,206); -INSERT INTO product_slots VALUES(17,207); -INSERT INTO product_slots VALUES(17,208); -INSERT INTO product_slots VALUES(17,209); -INSERT INTO product_slots VALUES(17,210); -INSERT INTO product_slots VALUES(17,211); -INSERT INTO product_slots VALUES(17,212); -INSERT INTO product_slots VALUES(17,213); -INSERT INTO product_slots VALUES(17,214); -INSERT INTO product_slots VALUES(17,215); -INSERT INTO product_slots VALUES(17,216); -INSERT INTO product_slots VALUES(17,217); -INSERT INTO product_slots VALUES(17,218); -INSERT INTO product_slots VALUES(17,219); -INSERT INTO product_slots VALUES(17,220); -INSERT INTO product_slots VALUES(17,221); -INSERT INTO product_slots VALUES(17,222); -INSERT INTO product_slots VALUES(17,223); -INSERT INTO product_slots VALUES(17,224); -INSERT INTO product_slots VALUES(17,225); -INSERT INTO product_slots VALUES(17,226); -INSERT INTO product_slots VALUES(17,227); -INSERT INTO product_slots VALUES(17,228); -INSERT INTO product_slots VALUES(17,229); -INSERT INTO product_slots VALUES(17,230); -INSERT INTO product_slots VALUES(17,231); -INSERT INTO product_slots VALUES(17,232); -INSERT INTO product_slots VALUES(17,233); -INSERT INTO product_slots VALUES(17,234); -INSERT INTO product_slots VALUES(17,235); -INSERT INTO product_slots VALUES(17,236); -INSERT INTO product_slots VALUES(17,237); -INSERT INTO product_slots VALUES(17,238); -INSERT INTO product_slots VALUES(17,239); -INSERT INTO product_slots VALUES(17,240); -INSERT INTO product_slots VALUES(17,241); -INSERT INTO product_slots VALUES(17,242); -INSERT INTO product_slots VALUES(17,243); -INSERT INTO product_slots VALUES(17,244); -INSERT INTO product_slots VALUES(17,274); -INSERT INTO product_slots VALUES(17,275); -INSERT INTO product_slots VALUES(17,279); -INSERT INTO product_slots VALUES(17,280); -INSERT INTO product_slots VALUES(17,281); -INSERT INTO product_slots VALUES(17,282); -INSERT INTO product_slots VALUES(17,283); -INSERT INTO product_slots VALUES(17,284); -INSERT INTO product_slots VALUES(17,285); -INSERT INTO product_slots VALUES(17,286); -INSERT INTO product_slots VALUES(17,287); -INSERT INTO product_slots VALUES(18,12); -INSERT INTO product_slots VALUES(18,18); -INSERT INTO product_slots VALUES(18,20); -INSERT INTO product_slots VALUES(18,21); -INSERT INTO product_slots VALUES(18,33); -INSERT INTO product_slots VALUES(18,35); -INSERT INTO product_slots VALUES(18,37); -INSERT INTO product_slots VALUES(18,38); -INSERT INTO product_slots VALUES(18,39); -INSERT INTO product_slots VALUES(18,40); -INSERT INTO product_slots VALUES(18,44); -INSERT INTO product_slots VALUES(18,46); -INSERT INTO product_slots VALUES(18,47); -INSERT INTO product_slots VALUES(18,48); -INSERT INTO product_slots VALUES(18,49); -INSERT INTO product_slots VALUES(18,50); -INSERT INTO product_slots VALUES(18,51); -INSERT INTO product_slots VALUES(18,52); -INSERT INTO product_slots VALUES(18,53); -INSERT INTO product_slots VALUES(18,54); -INSERT INTO product_slots VALUES(18,55); -INSERT INTO product_slots VALUES(18,56); -INSERT INTO product_slots VALUES(18,57); -INSERT INTO product_slots VALUES(18,58); -INSERT INTO product_slots VALUES(18,59); -INSERT INTO product_slots VALUES(18,60); -INSERT INTO product_slots VALUES(18,61); -INSERT INTO product_slots VALUES(18,62); -INSERT INTO product_slots VALUES(18,63); -INSERT INTO product_slots VALUES(18,64); -INSERT INTO product_slots VALUES(18,65); -INSERT INTO product_slots VALUES(18,66); -INSERT INTO product_slots VALUES(18,67); -INSERT INTO product_slots VALUES(18,68); -INSERT INTO product_slots VALUES(18,69); -INSERT INTO product_slots VALUES(18,70); -INSERT INTO product_slots VALUES(18,71); -INSERT INTO product_slots VALUES(18,72); -INSERT INTO product_slots VALUES(18,73); -INSERT INTO product_slots VALUES(18,74); -INSERT INTO product_slots VALUES(18,75); -INSERT INTO product_slots VALUES(18,76); -INSERT INTO product_slots VALUES(18,77); -INSERT INTO product_slots VALUES(18,78); -INSERT INTO product_slots VALUES(18,79); -INSERT INTO product_slots VALUES(18,80); -INSERT INTO product_slots VALUES(18,81); -INSERT INTO product_slots VALUES(18,82); -INSERT INTO product_slots VALUES(18,83); -INSERT INTO product_slots VALUES(18,84); -INSERT INTO product_slots VALUES(18,85); -INSERT INTO product_slots VALUES(18,86); -INSERT INTO product_slots VALUES(18,87); -INSERT INTO product_slots VALUES(18,88); -INSERT INTO product_slots VALUES(18,89); -INSERT INTO product_slots VALUES(18,90); -INSERT INTO product_slots VALUES(18,91); -INSERT INTO product_slots VALUES(18,92); -INSERT INTO product_slots VALUES(18,93); -INSERT INTO product_slots VALUES(18,94); -INSERT INTO product_slots VALUES(18,95); -INSERT INTO product_slots VALUES(18,96); -INSERT INTO product_slots VALUES(18,97); -INSERT INTO product_slots VALUES(18,98); -INSERT INTO product_slots VALUES(18,99); -INSERT INTO product_slots VALUES(18,100); -INSERT INTO product_slots VALUES(18,101); -INSERT INTO product_slots VALUES(18,102); -INSERT INTO product_slots VALUES(18,103); -INSERT INTO product_slots VALUES(18,104); -INSERT INTO product_slots VALUES(18,105); -INSERT INTO product_slots VALUES(18,106); -INSERT INTO product_slots VALUES(18,107); -INSERT INTO product_slots VALUES(18,108); -INSERT INTO product_slots VALUES(18,109); -INSERT INTO product_slots VALUES(18,110); -INSERT INTO product_slots VALUES(18,111); -INSERT INTO product_slots VALUES(18,112); -INSERT INTO product_slots VALUES(18,113); -INSERT INTO product_slots VALUES(18,114); -INSERT INTO product_slots VALUES(18,115); -INSERT INTO product_slots VALUES(18,116); -INSERT INTO product_slots VALUES(18,117); -INSERT INTO product_slots VALUES(18,118); -INSERT INTO product_slots VALUES(18,119); -INSERT INTO product_slots VALUES(18,120); -INSERT INTO product_slots VALUES(18,121); -INSERT INTO product_slots VALUES(18,122); -INSERT INTO product_slots VALUES(18,123); -INSERT INTO product_slots VALUES(18,124); -INSERT INTO product_slots VALUES(18,125); -INSERT INTO product_slots VALUES(18,126); -INSERT INTO product_slots VALUES(18,127); -INSERT INTO product_slots VALUES(18,128); -INSERT INTO product_slots VALUES(18,129); -INSERT INTO product_slots VALUES(18,130); -INSERT INTO product_slots VALUES(18,131); -INSERT INTO product_slots VALUES(18,132); -INSERT INTO product_slots VALUES(18,133); -INSERT INTO product_slots VALUES(18,134); -INSERT INTO product_slots VALUES(18,135); -INSERT INTO product_slots VALUES(18,136); -INSERT INTO product_slots VALUES(18,137); -INSERT INTO product_slots VALUES(18,138); -INSERT INTO product_slots VALUES(18,139); -INSERT INTO product_slots VALUES(18,140); -INSERT INTO product_slots VALUES(18,141); -INSERT INTO product_slots VALUES(18,142); -INSERT INTO product_slots VALUES(18,143); -INSERT INTO product_slots VALUES(18,144); -INSERT INTO product_slots VALUES(18,145); -INSERT INTO product_slots VALUES(18,146); -INSERT INTO product_slots VALUES(18,147); -INSERT INTO product_slots VALUES(18,148); -INSERT INTO product_slots VALUES(18,149); -INSERT INTO product_slots VALUES(18,150); -INSERT INTO product_slots VALUES(18,151); -INSERT INTO product_slots VALUES(18,152); -INSERT INTO product_slots VALUES(18,153); -INSERT INTO product_slots VALUES(18,154); -INSERT INTO product_slots VALUES(18,155); -INSERT INTO product_slots VALUES(18,156); -INSERT INTO product_slots VALUES(18,157); -INSERT INTO product_slots VALUES(18,158); -INSERT INTO product_slots VALUES(18,159); -INSERT INTO product_slots VALUES(18,160); -INSERT INTO product_slots VALUES(18,161); -INSERT INTO product_slots VALUES(18,162); -INSERT INTO product_slots VALUES(18,163); -INSERT INTO product_slots VALUES(18,164); -INSERT INTO product_slots VALUES(18,165); -INSERT INTO product_slots VALUES(18,166); -INSERT INTO product_slots VALUES(18,167); -INSERT INTO product_slots VALUES(18,168); -INSERT INTO product_slots VALUES(18,169); -INSERT INTO product_slots VALUES(18,170); -INSERT INTO product_slots VALUES(18,171); -INSERT INTO product_slots VALUES(18,172); -INSERT INTO product_slots VALUES(18,173); -INSERT INTO product_slots VALUES(18,174); -INSERT INTO product_slots VALUES(18,175); -INSERT INTO product_slots VALUES(18,176); -INSERT INTO product_slots VALUES(18,177); -INSERT INTO product_slots VALUES(18,178); -INSERT INTO product_slots VALUES(18,179); -INSERT INTO product_slots VALUES(18,180); -INSERT INTO product_slots VALUES(18,181); -INSERT INTO product_slots VALUES(18,182); -INSERT INTO product_slots VALUES(18,183); -INSERT INTO product_slots VALUES(18,184); -INSERT INTO product_slots VALUES(18,185); -INSERT INTO product_slots VALUES(18,186); -INSERT INTO product_slots VALUES(18,187); -INSERT INTO product_slots VALUES(18,188); -INSERT INTO product_slots VALUES(18,189); -INSERT INTO product_slots VALUES(18,190); -INSERT INTO product_slots VALUES(18,191); -INSERT INTO product_slots VALUES(18,192); -INSERT INTO product_slots VALUES(18,193); -INSERT INTO product_slots VALUES(18,194); -INSERT INTO product_slots VALUES(18,195); -INSERT INTO product_slots VALUES(18,196); -INSERT INTO product_slots VALUES(18,197); -INSERT INTO product_slots VALUES(18,198); -INSERT INTO product_slots VALUES(18,199); -INSERT INTO product_slots VALUES(18,200); -INSERT INTO product_slots VALUES(18,201); -INSERT INTO product_slots VALUES(18,202); -INSERT INTO product_slots VALUES(18,203); -INSERT INTO product_slots VALUES(18,204); -INSERT INTO product_slots VALUES(18,205); -INSERT INTO product_slots VALUES(18,206); -INSERT INTO product_slots VALUES(18,207); -INSERT INTO product_slots VALUES(18,208); -INSERT INTO product_slots VALUES(18,209); -INSERT INTO product_slots VALUES(18,210); -INSERT INTO product_slots VALUES(18,211); -INSERT INTO product_slots VALUES(18,212); -INSERT INTO product_slots VALUES(18,213); -INSERT INTO product_slots VALUES(18,214); -INSERT INTO product_slots VALUES(18,215); -INSERT INTO product_slots VALUES(18,216); -INSERT INTO product_slots VALUES(18,217); -INSERT INTO product_slots VALUES(18,218); -INSERT INTO product_slots VALUES(18,219); -INSERT INTO product_slots VALUES(18,220); -INSERT INTO product_slots VALUES(18,221); -INSERT INTO product_slots VALUES(18,222); -INSERT INTO product_slots VALUES(18,223); -INSERT INTO product_slots VALUES(18,224); -INSERT INTO product_slots VALUES(18,225); -INSERT INTO product_slots VALUES(18,226); -INSERT INTO product_slots VALUES(18,227); -INSERT INTO product_slots VALUES(18,228); -INSERT INTO product_slots VALUES(18,229); -INSERT INTO product_slots VALUES(18,230); -INSERT INTO product_slots VALUES(18,231); -INSERT INTO product_slots VALUES(18,232); -INSERT INTO product_slots VALUES(18,233); -INSERT INTO product_slots VALUES(18,234); -INSERT INTO product_slots VALUES(18,235); -INSERT INTO product_slots VALUES(18,236); -INSERT INTO product_slots VALUES(18,237); -INSERT INTO product_slots VALUES(18,238); -INSERT INTO product_slots VALUES(18,239); -INSERT INTO product_slots VALUES(18,240); -INSERT INTO product_slots VALUES(18,241); -INSERT INTO product_slots VALUES(18,242); -INSERT INTO product_slots VALUES(18,243); -INSERT INTO product_slots VALUES(18,244); -INSERT INTO product_slots VALUES(18,274); -INSERT INTO product_slots VALUES(18,275); -INSERT INTO product_slots VALUES(18,279); -INSERT INTO product_slots VALUES(18,280); -INSERT INTO product_slots VALUES(18,281); -INSERT INTO product_slots VALUES(18,282); -INSERT INTO product_slots VALUES(18,283); -INSERT INTO product_slots VALUES(18,284); -INSERT INTO product_slots VALUES(18,285); -INSERT INTO product_slots VALUES(18,286); -INSERT INTO product_slots VALUES(18,287); -INSERT INTO product_slots VALUES(19,10); -INSERT INTO product_slots VALUES(19,12); -INSERT INTO product_slots VALUES(19,18); -INSERT INTO product_slots VALUES(19,20); -INSERT INTO product_slots VALUES(19,21); -INSERT INTO product_slots VALUES(19,33); -INSERT INTO product_slots VALUES(19,35); -INSERT INTO product_slots VALUES(19,37); -INSERT INTO product_slots VALUES(19,38); -INSERT INTO product_slots VALUES(19,39); -INSERT INTO product_slots VALUES(19,40); -INSERT INTO product_slots VALUES(19,41); -INSERT INTO product_slots VALUES(19,43); -INSERT INTO product_slots VALUES(19,44); -INSERT INTO product_slots VALUES(19,45); -INSERT INTO product_slots VALUES(19,46); -INSERT INTO product_slots VALUES(19,47); -INSERT INTO product_slots VALUES(19,48); -INSERT INTO product_slots VALUES(19,49); -INSERT INTO product_slots VALUES(19,50); -INSERT INTO product_slots VALUES(19,51); -INSERT INTO product_slots VALUES(19,52); -INSERT INTO product_slots VALUES(19,53); -INSERT INTO product_slots VALUES(19,54); -INSERT INTO product_slots VALUES(19,55); -INSERT INTO product_slots VALUES(19,56); -INSERT INTO product_slots VALUES(19,57); -INSERT INTO product_slots VALUES(19,58); -INSERT INTO product_slots VALUES(19,59); -INSERT INTO product_slots VALUES(19,60); -INSERT INTO product_slots VALUES(19,61); -INSERT INTO product_slots VALUES(19,62); -INSERT INTO product_slots VALUES(19,63); -INSERT INTO product_slots VALUES(19,64); -INSERT INTO product_slots VALUES(19,65); -INSERT INTO product_slots VALUES(19,66); -INSERT INTO product_slots VALUES(19,67); -INSERT INTO product_slots VALUES(19,68); -INSERT INTO product_slots VALUES(19,69); -INSERT INTO product_slots VALUES(19,70); -INSERT INTO product_slots VALUES(19,71); -INSERT INTO product_slots VALUES(19,72); -INSERT INTO product_slots VALUES(19,73); -INSERT INTO product_slots VALUES(19,74); -INSERT INTO product_slots VALUES(19,75); -INSERT INTO product_slots VALUES(19,76); -INSERT INTO product_slots VALUES(19,77); -INSERT INTO product_slots VALUES(19,78); -INSERT INTO product_slots VALUES(19,79); -INSERT INTO product_slots VALUES(19,80); -INSERT INTO product_slots VALUES(19,81); -INSERT INTO product_slots VALUES(19,82); -INSERT INTO product_slots VALUES(19,83); -INSERT INTO product_slots VALUES(19,84); -INSERT INTO product_slots VALUES(19,85); -INSERT INTO product_slots VALUES(19,86); -INSERT INTO product_slots VALUES(19,87); -INSERT INTO product_slots VALUES(19,88); -INSERT INTO product_slots VALUES(19,89); -INSERT INTO product_slots VALUES(19,90); -INSERT INTO product_slots VALUES(19,91); -INSERT INTO product_slots VALUES(19,92); -INSERT INTO product_slots VALUES(19,93); -INSERT INTO product_slots VALUES(19,94); -INSERT INTO product_slots VALUES(19,95); -INSERT INTO product_slots VALUES(19,96); -INSERT INTO product_slots VALUES(19,97); -INSERT INTO product_slots VALUES(19,98); -INSERT INTO product_slots VALUES(19,99); -INSERT INTO product_slots VALUES(19,100); -INSERT INTO product_slots VALUES(19,101); -INSERT INTO product_slots VALUES(19,102); -INSERT INTO product_slots VALUES(19,103); -INSERT INTO product_slots VALUES(19,104); -INSERT INTO product_slots VALUES(19,105); -INSERT INTO product_slots VALUES(19,106); -INSERT INTO product_slots VALUES(19,107); -INSERT INTO product_slots VALUES(19,108); -INSERT INTO product_slots VALUES(19,109); -INSERT INTO product_slots VALUES(19,110); -INSERT INTO product_slots VALUES(19,111); -INSERT INTO product_slots VALUES(19,112); -INSERT INTO product_slots VALUES(19,113); -INSERT INTO product_slots VALUES(19,114); -INSERT INTO product_slots VALUES(19,115); -INSERT INTO product_slots VALUES(19,116); -INSERT INTO product_slots VALUES(19,117); -INSERT INTO product_slots VALUES(19,118); -INSERT INTO product_slots VALUES(19,119); -INSERT INTO product_slots VALUES(19,120); -INSERT INTO product_slots VALUES(19,121); -INSERT INTO product_slots VALUES(19,122); -INSERT INTO product_slots VALUES(19,123); -INSERT INTO product_slots VALUES(19,124); -INSERT INTO product_slots VALUES(19,125); -INSERT INTO product_slots VALUES(19,126); -INSERT INTO product_slots VALUES(19,127); -INSERT INTO product_slots VALUES(19,128); -INSERT INTO product_slots VALUES(19,129); -INSERT INTO product_slots VALUES(19,130); -INSERT INTO product_slots VALUES(19,131); -INSERT INTO product_slots VALUES(19,132); -INSERT INTO product_slots VALUES(19,133); -INSERT INTO product_slots VALUES(19,134); -INSERT INTO product_slots VALUES(19,135); -INSERT INTO product_slots VALUES(19,136); -INSERT INTO product_slots VALUES(19,137); -INSERT INTO product_slots VALUES(19,138); -INSERT INTO product_slots VALUES(19,139); -INSERT INTO product_slots VALUES(19,140); -INSERT INTO product_slots VALUES(19,141); -INSERT INTO product_slots VALUES(19,142); -INSERT INTO product_slots VALUES(19,143); -INSERT INTO product_slots VALUES(19,144); -INSERT INTO product_slots VALUES(19,145); -INSERT INTO product_slots VALUES(19,146); -INSERT INTO product_slots VALUES(19,147); -INSERT INTO product_slots VALUES(19,148); -INSERT INTO product_slots VALUES(19,149); -INSERT INTO product_slots VALUES(19,150); -INSERT INTO product_slots VALUES(19,151); -INSERT INTO product_slots VALUES(19,152); -INSERT INTO product_slots VALUES(19,153); -INSERT INTO product_slots VALUES(19,154); -INSERT INTO product_slots VALUES(19,155); -INSERT INTO product_slots VALUES(19,156); -INSERT INTO product_slots VALUES(19,157); -INSERT INTO product_slots VALUES(19,158); -INSERT INTO product_slots VALUES(19,159); -INSERT INTO product_slots VALUES(19,160); -INSERT INTO product_slots VALUES(19,161); -INSERT INTO product_slots VALUES(19,162); -INSERT INTO product_slots VALUES(19,163); -INSERT INTO product_slots VALUES(19,164); -INSERT INTO product_slots VALUES(19,165); -INSERT INTO product_slots VALUES(19,166); -INSERT INTO product_slots VALUES(19,167); -INSERT INTO product_slots VALUES(19,168); -INSERT INTO product_slots VALUES(19,169); -INSERT INTO product_slots VALUES(19,170); -INSERT INTO product_slots VALUES(19,171); -INSERT INTO product_slots VALUES(19,172); -INSERT INTO product_slots VALUES(19,173); -INSERT INTO product_slots VALUES(19,174); -INSERT INTO product_slots VALUES(19,175); -INSERT INTO product_slots VALUES(19,176); -INSERT INTO product_slots VALUES(19,177); -INSERT INTO product_slots VALUES(19,178); -INSERT INTO product_slots VALUES(19,179); -INSERT INTO product_slots VALUES(19,180); -INSERT INTO product_slots VALUES(19,181); -INSERT INTO product_slots VALUES(19,182); -INSERT INTO product_slots VALUES(19,183); -INSERT INTO product_slots VALUES(19,184); -INSERT INTO product_slots VALUES(19,185); -INSERT INTO product_slots VALUES(19,186); -INSERT INTO product_slots VALUES(19,187); -INSERT INTO product_slots VALUES(19,188); -INSERT INTO product_slots VALUES(19,189); -INSERT INTO product_slots VALUES(19,190); -INSERT INTO product_slots VALUES(19,191); -INSERT INTO product_slots VALUES(19,192); -INSERT INTO product_slots VALUES(19,193); -INSERT INTO product_slots VALUES(19,194); -INSERT INTO product_slots VALUES(19,195); -INSERT INTO product_slots VALUES(19,196); -INSERT INTO product_slots VALUES(19,197); -INSERT INTO product_slots VALUES(19,198); -INSERT INTO product_slots VALUES(19,199); -INSERT INTO product_slots VALUES(19,200); -INSERT INTO product_slots VALUES(19,201); -INSERT INTO product_slots VALUES(19,202); -INSERT INTO product_slots VALUES(19,203); -INSERT INTO product_slots VALUES(19,204); -INSERT INTO product_slots VALUES(19,205); -INSERT INTO product_slots VALUES(19,206); -INSERT INTO product_slots VALUES(19,207); -INSERT INTO product_slots VALUES(19,208); -INSERT INTO product_slots VALUES(19,209); -INSERT INTO product_slots VALUES(19,210); -INSERT INTO product_slots VALUES(19,211); -INSERT INTO product_slots VALUES(19,212); -INSERT INTO product_slots VALUES(19,213); -INSERT INTO product_slots VALUES(19,214); -INSERT INTO product_slots VALUES(19,215); -INSERT INTO product_slots VALUES(19,216); -INSERT INTO product_slots VALUES(19,217); -INSERT INTO product_slots VALUES(19,218); -INSERT INTO product_slots VALUES(19,219); -INSERT INTO product_slots VALUES(19,220); -INSERT INTO product_slots VALUES(19,221); -INSERT INTO product_slots VALUES(19,222); -INSERT INTO product_slots VALUES(19,223); -INSERT INTO product_slots VALUES(19,224); -INSERT INTO product_slots VALUES(19,225); -INSERT INTO product_slots VALUES(19,226); -INSERT INTO product_slots VALUES(19,227); -INSERT INTO product_slots VALUES(19,228); -INSERT INTO product_slots VALUES(19,229); -INSERT INTO product_slots VALUES(19,230); -INSERT INTO product_slots VALUES(19,231); -INSERT INTO product_slots VALUES(19,232); -INSERT INTO product_slots VALUES(19,233); -INSERT INTO product_slots VALUES(19,234); -INSERT INTO product_slots VALUES(19,235); -INSERT INTO product_slots VALUES(19,236); -INSERT INTO product_slots VALUES(19,237); -INSERT INTO product_slots VALUES(19,238); -INSERT INTO product_slots VALUES(19,239); -INSERT INTO product_slots VALUES(19,240); -INSERT INTO product_slots VALUES(19,241); -INSERT INTO product_slots VALUES(19,242); -INSERT INTO product_slots VALUES(19,243); -INSERT INTO product_slots VALUES(19,244); -INSERT INTO product_slots VALUES(19,274); -INSERT INTO product_slots VALUES(19,275); -INSERT INTO product_slots VALUES(19,279); -INSERT INTO product_slots VALUES(19,280); -INSERT INTO product_slots VALUES(19,281); -INSERT INTO product_slots VALUES(19,282); -INSERT INTO product_slots VALUES(19,283); -INSERT INTO product_slots VALUES(19,284); -INSERT INTO product_slots VALUES(19,285); -INSERT INTO product_slots VALUES(19,286); -INSERT INTO product_slots VALUES(19,287); -INSERT INTO product_slots VALUES(20,12); -INSERT INTO product_slots VALUES(20,18); -INSERT INTO product_slots VALUES(20,20); -INSERT INTO product_slots VALUES(20,21); -INSERT INTO product_slots VALUES(20,22); -INSERT INTO product_slots VALUES(20,33); -INSERT INTO product_slots VALUES(20,35); -INSERT INTO product_slots VALUES(20,37); -INSERT INTO product_slots VALUES(20,38); -INSERT INTO product_slots VALUES(20,40); -INSERT INTO product_slots VALUES(20,59); -INSERT INTO product_slots VALUES(20,81); -INSERT INTO product_slots VALUES(20,82); -INSERT INTO product_slots VALUES(20,83); -INSERT INTO product_slots VALUES(20,105); -INSERT INTO product_slots VALUES(20,106); -INSERT INTO product_slots VALUES(20,107); -INSERT INTO product_slots VALUES(20,108); -INSERT INTO product_slots VALUES(20,109); -INSERT INTO product_slots VALUES(20,110); -INSERT INTO product_slots VALUES(20,111); -INSERT INTO product_slots VALUES(20,112); -INSERT INTO product_slots VALUES(20,113); -INSERT INTO product_slots VALUES(20,114); -INSERT INTO product_slots VALUES(20,115); -INSERT INTO product_slots VALUES(20,120); -INSERT INTO product_slots VALUES(20,134); -INSERT INTO product_slots VALUES(20,135); -INSERT INTO product_slots VALUES(20,136); -INSERT INTO product_slots VALUES(20,187); -INSERT INTO product_slots VALUES(21,12); -INSERT INTO product_slots VALUES(21,18); -INSERT INTO product_slots VALUES(21,19); -INSERT INTO product_slots VALUES(21,20); -INSERT INTO product_slots VALUES(21,21); -INSERT INTO product_slots VALUES(21,22); -INSERT INTO product_slots VALUES(21,23); -INSERT INTO product_slots VALUES(21,31); -INSERT INTO product_slots VALUES(21,33); -INSERT INTO product_slots VALUES(21,35); -INSERT INTO product_slots VALUES(21,37); -INSERT INTO product_slots VALUES(21,38); -INSERT INTO product_slots VALUES(21,39); -INSERT INTO product_slots VALUES(21,40); -INSERT INTO product_slots VALUES(21,41); -INSERT INTO product_slots VALUES(21,43); -INSERT INTO product_slots VALUES(21,45); -INSERT INTO product_slots VALUES(21,46); -INSERT INTO product_slots VALUES(21,47); -INSERT INTO product_slots VALUES(21,48); -INSERT INTO product_slots VALUES(21,49); -INSERT INTO product_slots VALUES(21,50); -INSERT INTO product_slots VALUES(21,51); -INSERT INTO product_slots VALUES(21,52); -INSERT INTO product_slots VALUES(21,53); -INSERT INTO product_slots VALUES(21,54); -INSERT INTO product_slots VALUES(21,55); -INSERT INTO product_slots VALUES(21,56); -INSERT INTO product_slots VALUES(21,57); -INSERT INTO product_slots VALUES(21,58); -INSERT INTO product_slots VALUES(21,59); -INSERT INTO product_slots VALUES(21,60); -INSERT INTO product_slots VALUES(21,61); -INSERT INTO product_slots VALUES(21,62); -INSERT INTO product_slots VALUES(21,63); -INSERT INTO product_slots VALUES(21,64); -INSERT INTO product_slots VALUES(21,65); -INSERT INTO product_slots VALUES(21,66); -INSERT INTO product_slots VALUES(21,67); -INSERT INTO product_slots VALUES(21,68); -INSERT INTO product_slots VALUES(21,69); -INSERT INTO product_slots VALUES(21,70); -INSERT INTO product_slots VALUES(21,71); -INSERT INTO product_slots VALUES(21,72); -INSERT INTO product_slots VALUES(21,73); -INSERT INTO product_slots VALUES(21,74); -INSERT INTO product_slots VALUES(21,75); -INSERT INTO product_slots VALUES(21,76); -INSERT INTO product_slots VALUES(21,77); -INSERT INTO product_slots VALUES(21,78); -INSERT INTO product_slots VALUES(21,79); -INSERT INTO product_slots VALUES(21,80); -INSERT INTO product_slots VALUES(21,81); -INSERT INTO product_slots VALUES(21,82); -INSERT INTO product_slots VALUES(21,83); -INSERT INTO product_slots VALUES(21,84); -INSERT INTO product_slots VALUES(21,85); -INSERT INTO product_slots VALUES(21,86); -INSERT INTO product_slots VALUES(21,87); -INSERT INTO product_slots VALUES(21,88); -INSERT INTO product_slots VALUES(21,89); -INSERT INTO product_slots VALUES(21,90); -INSERT INTO product_slots VALUES(21,91); -INSERT INTO product_slots VALUES(21,92); -INSERT INTO product_slots VALUES(21,93); -INSERT INTO product_slots VALUES(21,94); -INSERT INTO product_slots VALUES(21,95); -INSERT INTO product_slots VALUES(21,96); -INSERT INTO product_slots VALUES(21,97); -INSERT INTO product_slots VALUES(21,98); -INSERT INTO product_slots VALUES(21,99); -INSERT INTO product_slots VALUES(21,100); -INSERT INTO product_slots VALUES(21,101); -INSERT INTO product_slots VALUES(21,102); -INSERT INTO product_slots VALUES(21,103); -INSERT INTO product_slots VALUES(21,104); -INSERT INTO product_slots VALUES(21,105); -INSERT INTO product_slots VALUES(21,106); -INSERT INTO product_slots VALUES(21,107); -INSERT INTO product_slots VALUES(21,108); -INSERT INTO product_slots VALUES(21,109); -INSERT INTO product_slots VALUES(21,110); -INSERT INTO product_slots VALUES(21,111); -INSERT INTO product_slots VALUES(21,112); -INSERT INTO product_slots VALUES(21,113); -INSERT INTO product_slots VALUES(21,114); -INSERT INTO product_slots VALUES(21,115); -INSERT INTO product_slots VALUES(21,116); -INSERT INTO product_slots VALUES(21,117); -INSERT INTO product_slots VALUES(21,118); -INSERT INTO product_slots VALUES(21,119); -INSERT INTO product_slots VALUES(21,120); -INSERT INTO product_slots VALUES(21,121); -INSERT INTO product_slots VALUES(21,122); -INSERT INTO product_slots VALUES(21,123); -INSERT INTO product_slots VALUES(21,124); -INSERT INTO product_slots VALUES(21,125); -INSERT INTO product_slots VALUES(21,126); -INSERT INTO product_slots VALUES(21,127); -INSERT INTO product_slots VALUES(21,128); -INSERT INTO product_slots VALUES(21,129); -INSERT INTO product_slots VALUES(21,130); -INSERT INTO product_slots VALUES(21,131); -INSERT INTO product_slots VALUES(21,132); -INSERT INTO product_slots VALUES(21,133); -INSERT INTO product_slots VALUES(21,134); -INSERT INTO product_slots VALUES(21,135); -INSERT INTO product_slots VALUES(21,136); -INSERT INTO product_slots VALUES(21,137); -INSERT INTO product_slots VALUES(21,138); -INSERT INTO product_slots VALUES(21,139); -INSERT INTO product_slots VALUES(21,140); -INSERT INTO product_slots VALUES(21,141); -INSERT INTO product_slots VALUES(21,142); -INSERT INTO product_slots VALUES(21,143); -INSERT INTO product_slots VALUES(21,144); -INSERT INTO product_slots VALUES(21,145); -INSERT INTO product_slots VALUES(21,146); -INSERT INTO product_slots VALUES(21,147); -INSERT INTO product_slots VALUES(21,148); -INSERT INTO product_slots VALUES(21,149); -INSERT INTO product_slots VALUES(21,150); -INSERT INTO product_slots VALUES(21,151); -INSERT INTO product_slots VALUES(21,152); -INSERT INTO product_slots VALUES(21,153); -INSERT INTO product_slots VALUES(21,154); -INSERT INTO product_slots VALUES(21,155); -INSERT INTO product_slots VALUES(21,156); -INSERT INTO product_slots VALUES(21,157); -INSERT INTO product_slots VALUES(21,158); -INSERT INTO product_slots VALUES(21,159); -INSERT INTO product_slots VALUES(21,160); -INSERT INTO product_slots VALUES(21,161); -INSERT INTO product_slots VALUES(21,162); -INSERT INTO product_slots VALUES(21,163); -INSERT INTO product_slots VALUES(21,164); -INSERT INTO product_slots VALUES(21,165); -INSERT INTO product_slots VALUES(21,166); -INSERT INTO product_slots VALUES(21,167); -INSERT INTO product_slots VALUES(21,168); -INSERT INTO product_slots VALUES(21,169); -INSERT INTO product_slots VALUES(21,170); -INSERT INTO product_slots VALUES(21,171); -INSERT INTO product_slots VALUES(21,172); -INSERT INTO product_slots VALUES(21,173); -INSERT INTO product_slots VALUES(21,174); -INSERT INTO product_slots VALUES(21,175); -INSERT INTO product_slots VALUES(21,176); -INSERT INTO product_slots VALUES(21,177); -INSERT INTO product_slots VALUES(21,178); -INSERT INTO product_slots VALUES(21,179); -INSERT INTO product_slots VALUES(21,180); -INSERT INTO product_slots VALUES(21,181); -INSERT INTO product_slots VALUES(21,182); -INSERT INTO product_slots VALUES(21,183); -INSERT INTO product_slots VALUES(21,184); -INSERT INTO product_slots VALUES(21,185); -INSERT INTO product_slots VALUES(21,186); -INSERT INTO product_slots VALUES(21,187); -INSERT INTO product_slots VALUES(21,188); -INSERT INTO product_slots VALUES(21,189); -INSERT INTO product_slots VALUES(21,190); -INSERT INTO product_slots VALUES(21,191); -INSERT INTO product_slots VALUES(21,192); -INSERT INTO product_slots VALUES(21,193); -INSERT INTO product_slots VALUES(21,194); -INSERT INTO product_slots VALUES(21,195); -INSERT INTO product_slots VALUES(21,196); -INSERT INTO product_slots VALUES(21,197); -INSERT INTO product_slots VALUES(21,198); -INSERT INTO product_slots VALUES(21,199); -INSERT INTO product_slots VALUES(21,200); -INSERT INTO product_slots VALUES(21,201); -INSERT INTO product_slots VALUES(21,202); -INSERT INTO product_slots VALUES(21,203); -INSERT INTO product_slots VALUES(21,204); -INSERT INTO product_slots VALUES(21,205); -INSERT INTO product_slots VALUES(21,206); -INSERT INTO product_slots VALUES(21,207); -INSERT INTO product_slots VALUES(21,208); -INSERT INTO product_slots VALUES(21,209); -INSERT INTO product_slots VALUES(21,210); -INSERT INTO product_slots VALUES(21,211); -INSERT INTO product_slots VALUES(21,212); -INSERT INTO product_slots VALUES(21,213); -INSERT INTO product_slots VALUES(21,214); -INSERT INTO product_slots VALUES(21,215); -INSERT INTO product_slots VALUES(21,216); -INSERT INTO product_slots VALUES(21,217); -INSERT INTO product_slots VALUES(21,218); -INSERT INTO product_slots VALUES(21,219); -INSERT INTO product_slots VALUES(21,220); -INSERT INTO product_slots VALUES(21,221); -INSERT INTO product_slots VALUES(21,222); -INSERT INTO product_slots VALUES(21,223); -INSERT INTO product_slots VALUES(21,224); -INSERT INTO product_slots VALUES(21,225); -INSERT INTO product_slots VALUES(21,226); -INSERT INTO product_slots VALUES(21,227); -INSERT INTO product_slots VALUES(21,228); -INSERT INTO product_slots VALUES(21,229); -INSERT INTO product_slots VALUES(21,230); -INSERT INTO product_slots VALUES(21,231); -INSERT INTO product_slots VALUES(21,232); -INSERT INTO product_slots VALUES(21,234); -INSERT INTO product_slots VALUES(21,235); -INSERT INTO product_slots VALUES(21,236); -INSERT INTO product_slots VALUES(21,237); -INSERT INTO product_slots VALUES(21,238); -INSERT INTO product_slots VALUES(21,239); -INSERT INTO product_slots VALUES(21,240); -INSERT INTO product_slots VALUES(21,241); -INSERT INTO product_slots VALUES(21,242); -INSERT INTO product_slots VALUES(21,243); -INSERT INTO product_slots VALUES(21,244); -INSERT INTO product_slots VALUES(21,274); -INSERT INTO product_slots VALUES(21,275); -INSERT INTO product_slots VALUES(21,279); -INSERT INTO product_slots VALUES(21,280); -INSERT INTO product_slots VALUES(21,281); -INSERT INTO product_slots VALUES(21,282); -INSERT INTO product_slots VALUES(22,12); -INSERT INTO product_slots VALUES(22,18); -INSERT INTO product_slots VALUES(22,20); -INSERT INTO product_slots VALUES(22,21); -INSERT INTO product_slots VALUES(22,22); -INSERT INTO product_slots VALUES(22,33); -INSERT INTO product_slots VALUES(22,35); -INSERT INTO product_slots VALUES(22,37); -INSERT INTO product_slots VALUES(22,38); -INSERT INTO product_slots VALUES(22,40); -INSERT INTO product_slots VALUES(22,203); -INSERT INTO product_slots VALUES(22,204); -INSERT INTO product_slots VALUES(22,205); -INSERT INTO product_slots VALUES(22,206); -INSERT INTO product_slots VALUES(22,207); -INSERT INTO product_slots VALUES(22,208); -INSERT INTO product_slots VALUES(22,209); -INSERT INTO product_slots VALUES(22,210); -INSERT INTO product_slots VALUES(22,211); -INSERT INTO product_slots VALUES(22,212); -INSERT INTO product_slots VALUES(22,213); -INSERT INTO product_slots VALUES(22,214); -INSERT INTO product_slots VALUES(22,215); -INSERT INTO product_slots VALUES(22,216); -INSERT INTO product_slots VALUES(22,217); -INSERT INTO product_slots VALUES(22,218); -INSERT INTO product_slots VALUES(22,219); -INSERT INTO product_slots VALUES(22,220); -INSERT INTO product_slots VALUES(22,221); -INSERT INTO product_slots VALUES(22,222); -INSERT INTO product_slots VALUES(22,223); -INSERT INTO product_slots VALUES(22,224); -INSERT INTO product_slots VALUES(22,225); -INSERT INTO product_slots VALUES(22,226); -INSERT INTO product_slots VALUES(22,227); -INSERT INTO product_slots VALUES(22,228); -INSERT INTO product_slots VALUES(22,229); -INSERT INTO product_slots VALUES(22,230); -INSERT INTO product_slots VALUES(22,231); -INSERT INTO product_slots VALUES(22,232); -INSERT INTO product_slots VALUES(22,233); -INSERT INTO product_slots VALUES(22,234); -INSERT INTO product_slots VALUES(22,235); -INSERT INTO product_slots VALUES(22,236); -INSERT INTO product_slots VALUES(22,237); -INSERT INTO product_slots VALUES(22,238); -INSERT INTO product_slots VALUES(22,239); -INSERT INTO product_slots VALUES(22,240); -INSERT INTO product_slots VALUES(22,241); -INSERT INTO product_slots VALUES(22,242); -INSERT INTO product_slots VALUES(22,243); -INSERT INTO product_slots VALUES(22,244); -INSERT INTO product_slots VALUES(22,274); -INSERT INTO product_slots VALUES(22,275); -INSERT INTO product_slots VALUES(22,279); -INSERT INTO product_slots VALUES(22,280); -INSERT INTO product_slots VALUES(22,281); -INSERT INTO product_slots VALUES(22,282); -INSERT INTO product_slots VALUES(22,283); -INSERT INTO product_slots VALUES(22,284); -INSERT INTO product_slots VALUES(22,285); -INSERT INTO product_slots VALUES(22,286); -INSERT INTO product_slots VALUES(22,287); -INSERT INTO product_slots VALUES(23,12); -INSERT INTO product_slots VALUES(23,18); -INSERT INTO product_slots VALUES(23,19); -INSERT INTO product_slots VALUES(23,20); -INSERT INTO product_slots VALUES(23,21); -INSERT INTO product_slots VALUES(23,22); -INSERT INTO product_slots VALUES(23,23); -INSERT INTO product_slots VALUES(23,31); -INSERT INTO product_slots VALUES(23,33); -INSERT INTO product_slots VALUES(23,35); -INSERT INTO product_slots VALUES(23,37); -INSERT INTO product_slots VALUES(23,38); -INSERT INTO product_slots VALUES(23,39); -INSERT INTO product_slots VALUES(23,40); -INSERT INTO product_slots VALUES(23,41); -INSERT INTO product_slots VALUES(23,43); -INSERT INTO product_slots VALUES(23,45); -INSERT INTO product_slots VALUES(23,46); -INSERT INTO product_slots VALUES(23,47); -INSERT INTO product_slots VALUES(23,48); -INSERT INTO product_slots VALUES(23,49); -INSERT INTO product_slots VALUES(23,50); -INSERT INTO product_slots VALUES(23,51); -INSERT INTO product_slots VALUES(23,52); -INSERT INTO product_slots VALUES(23,53); -INSERT INTO product_slots VALUES(23,54); -INSERT INTO product_slots VALUES(23,55); -INSERT INTO product_slots VALUES(23,56); -INSERT INTO product_slots VALUES(23,57); -INSERT INTO product_slots VALUES(23,58); -INSERT INTO product_slots VALUES(23,59); -INSERT INTO product_slots VALUES(23,60); -INSERT INTO product_slots VALUES(23,61); -INSERT INTO product_slots VALUES(23,62); -INSERT INTO product_slots VALUES(23,63); -INSERT INTO product_slots VALUES(23,64); -INSERT INTO product_slots VALUES(23,65); -INSERT INTO product_slots VALUES(23,66); -INSERT INTO product_slots VALUES(23,67); -INSERT INTO product_slots VALUES(23,68); -INSERT INTO product_slots VALUES(23,69); -INSERT INTO product_slots VALUES(23,70); -INSERT INTO product_slots VALUES(23,71); -INSERT INTO product_slots VALUES(23,72); -INSERT INTO product_slots VALUES(23,73); -INSERT INTO product_slots VALUES(23,74); -INSERT INTO product_slots VALUES(23,75); -INSERT INTO product_slots VALUES(23,76); -INSERT INTO product_slots VALUES(23,77); -INSERT INTO product_slots VALUES(23,78); -INSERT INTO product_slots VALUES(23,79); -INSERT INTO product_slots VALUES(23,80); -INSERT INTO product_slots VALUES(23,81); -INSERT INTO product_slots VALUES(23,82); -INSERT INTO product_slots VALUES(23,83); -INSERT INTO product_slots VALUES(23,84); -INSERT INTO product_slots VALUES(23,85); -INSERT INTO product_slots VALUES(23,86); -INSERT INTO product_slots VALUES(23,87); -INSERT INTO product_slots VALUES(23,88); -INSERT INTO product_slots VALUES(23,89); -INSERT INTO product_slots VALUES(23,90); -INSERT INTO product_slots VALUES(23,91); -INSERT INTO product_slots VALUES(23,92); -INSERT INTO product_slots VALUES(23,93); -INSERT INTO product_slots VALUES(23,94); -INSERT INTO product_slots VALUES(23,95); -INSERT INTO product_slots VALUES(23,96); -INSERT INTO product_slots VALUES(23,97); -INSERT INTO product_slots VALUES(23,98); -INSERT INTO product_slots VALUES(23,99); -INSERT INTO product_slots VALUES(23,100); -INSERT INTO product_slots VALUES(23,101); -INSERT INTO product_slots VALUES(23,102); -INSERT INTO product_slots VALUES(23,103); -INSERT INTO product_slots VALUES(23,104); -INSERT INTO product_slots VALUES(23,105); -INSERT INTO product_slots VALUES(23,106); -INSERT INTO product_slots VALUES(23,107); -INSERT INTO product_slots VALUES(23,108); -INSERT INTO product_slots VALUES(23,109); -INSERT INTO product_slots VALUES(23,110); -INSERT INTO product_slots VALUES(23,111); -INSERT INTO product_slots VALUES(23,112); -INSERT INTO product_slots VALUES(23,113); -INSERT INTO product_slots VALUES(23,114); -INSERT INTO product_slots VALUES(23,115); -INSERT INTO product_slots VALUES(23,116); -INSERT INTO product_slots VALUES(23,117); -INSERT INTO product_slots VALUES(23,118); -INSERT INTO product_slots VALUES(23,119); -INSERT INTO product_slots VALUES(23,120); -INSERT INTO product_slots VALUES(23,121); -INSERT INTO product_slots VALUES(23,122); -INSERT INTO product_slots VALUES(23,123); -INSERT INTO product_slots VALUES(23,124); -INSERT INTO product_slots VALUES(23,125); -INSERT INTO product_slots VALUES(23,126); -INSERT INTO product_slots VALUES(23,127); -INSERT INTO product_slots VALUES(23,128); -INSERT INTO product_slots VALUES(23,129); -INSERT INTO product_slots VALUES(23,130); -INSERT INTO product_slots VALUES(23,131); -INSERT INTO product_slots VALUES(23,132); -INSERT INTO product_slots VALUES(23,133); -INSERT INTO product_slots VALUES(23,134); -INSERT INTO product_slots VALUES(23,135); -INSERT INTO product_slots VALUES(23,136); -INSERT INTO product_slots VALUES(23,137); -INSERT INTO product_slots VALUES(23,138); -INSERT INTO product_slots VALUES(23,139); -INSERT INTO product_slots VALUES(23,140); -INSERT INTO product_slots VALUES(23,141); -INSERT INTO product_slots VALUES(23,142); -INSERT INTO product_slots VALUES(23,143); -INSERT INTO product_slots VALUES(23,144); -INSERT INTO product_slots VALUES(23,145); -INSERT INTO product_slots VALUES(23,146); -INSERT INTO product_slots VALUES(23,147); -INSERT INTO product_slots VALUES(23,148); -INSERT INTO product_slots VALUES(23,149); -INSERT INTO product_slots VALUES(23,150); -INSERT INTO product_slots VALUES(23,151); -INSERT INTO product_slots VALUES(23,152); -INSERT INTO product_slots VALUES(23,153); -INSERT INTO product_slots VALUES(23,154); -INSERT INTO product_slots VALUES(23,155); -INSERT INTO product_slots VALUES(23,156); -INSERT INTO product_slots VALUES(23,157); -INSERT INTO product_slots VALUES(23,158); -INSERT INTO product_slots VALUES(23,159); -INSERT INTO product_slots VALUES(23,160); -INSERT INTO product_slots VALUES(23,161); -INSERT INTO product_slots VALUES(23,162); -INSERT INTO product_slots VALUES(23,163); -INSERT INTO product_slots VALUES(23,164); -INSERT INTO product_slots VALUES(23,165); -INSERT INTO product_slots VALUES(23,166); -INSERT INTO product_slots VALUES(23,167); -INSERT INTO product_slots VALUES(23,168); -INSERT INTO product_slots VALUES(23,169); -INSERT INTO product_slots VALUES(23,170); -INSERT INTO product_slots VALUES(23,171); -INSERT INTO product_slots VALUES(23,172); -INSERT INTO product_slots VALUES(23,173); -INSERT INTO product_slots VALUES(23,174); -INSERT INTO product_slots VALUES(23,175); -INSERT INTO product_slots VALUES(23,176); -INSERT INTO product_slots VALUES(23,177); -INSERT INTO product_slots VALUES(23,178); -INSERT INTO product_slots VALUES(23,179); -INSERT INTO product_slots VALUES(23,180); -INSERT INTO product_slots VALUES(23,181); -INSERT INTO product_slots VALUES(23,182); -INSERT INTO product_slots VALUES(23,183); -INSERT INTO product_slots VALUES(23,184); -INSERT INTO product_slots VALUES(23,185); -INSERT INTO product_slots VALUES(23,186); -INSERT INTO product_slots VALUES(23,187); -INSERT INTO product_slots VALUES(23,188); -INSERT INTO product_slots VALUES(23,189); -INSERT INTO product_slots VALUES(23,190); -INSERT INTO product_slots VALUES(23,191); -INSERT INTO product_slots VALUES(23,192); -INSERT INTO product_slots VALUES(23,193); -INSERT INTO product_slots VALUES(23,194); -INSERT INTO product_slots VALUES(23,195); -INSERT INTO product_slots VALUES(23,196); -INSERT INTO product_slots VALUES(23,197); -INSERT INTO product_slots VALUES(23,198); -INSERT INTO product_slots VALUES(23,199); -INSERT INTO product_slots VALUES(23,200); -INSERT INTO product_slots VALUES(23,201); -INSERT INTO product_slots VALUES(23,202); -INSERT INTO product_slots VALUES(23,203); -INSERT INTO product_slots VALUES(23,204); -INSERT INTO product_slots VALUES(23,205); -INSERT INTO product_slots VALUES(23,206); -INSERT INTO product_slots VALUES(23,207); -INSERT INTO product_slots VALUES(23,208); -INSERT INTO product_slots VALUES(23,209); -INSERT INTO product_slots VALUES(23,210); -INSERT INTO product_slots VALUES(23,211); -INSERT INTO product_slots VALUES(23,212); -INSERT INTO product_slots VALUES(23,213); -INSERT INTO product_slots VALUES(23,214); -INSERT INTO product_slots VALUES(23,215); -INSERT INTO product_slots VALUES(23,216); -INSERT INTO product_slots VALUES(23,217); -INSERT INTO product_slots VALUES(23,218); -INSERT INTO product_slots VALUES(23,219); -INSERT INTO product_slots VALUES(23,220); -INSERT INTO product_slots VALUES(23,221); -INSERT INTO product_slots VALUES(23,222); -INSERT INTO product_slots VALUES(23,223); -INSERT INTO product_slots VALUES(23,224); -INSERT INTO product_slots VALUES(23,225); -INSERT INTO product_slots VALUES(23,226); -INSERT INTO product_slots VALUES(23,227); -INSERT INTO product_slots VALUES(23,228); -INSERT INTO product_slots VALUES(23,229); -INSERT INTO product_slots VALUES(23,230); -INSERT INTO product_slots VALUES(23,231); -INSERT INTO product_slots VALUES(23,232); -INSERT INTO product_slots VALUES(23,234); -INSERT INTO product_slots VALUES(23,235); -INSERT INTO product_slots VALUES(23,236); -INSERT INTO product_slots VALUES(23,237); -INSERT INTO product_slots VALUES(23,238); -INSERT INTO product_slots VALUES(23,239); -INSERT INTO product_slots VALUES(23,240); -INSERT INTO product_slots VALUES(23,241); -INSERT INTO product_slots VALUES(23,242); -INSERT INTO product_slots VALUES(23,243); -INSERT INTO product_slots VALUES(23,244); -INSERT INTO product_slots VALUES(23,274); -INSERT INTO product_slots VALUES(23,275); -INSERT INTO product_slots VALUES(23,279); -INSERT INTO product_slots VALUES(23,280); -INSERT INTO product_slots VALUES(23,281); -INSERT INTO product_slots VALUES(23,282); -INSERT INTO product_slots VALUES(24,12); -INSERT INTO product_slots VALUES(24,18); -INSERT INTO product_slots VALUES(24,19); -INSERT INTO product_slots VALUES(24,20); -INSERT INTO product_slots VALUES(24,21); -INSERT INTO product_slots VALUES(24,22); -INSERT INTO product_slots VALUES(24,23); -INSERT INTO product_slots VALUES(24,31); -INSERT INTO product_slots VALUES(24,33); -INSERT INTO product_slots VALUES(24,35); -INSERT INTO product_slots VALUES(24,37); -INSERT INTO product_slots VALUES(24,38); -INSERT INTO product_slots VALUES(24,39); -INSERT INTO product_slots VALUES(24,40); -INSERT INTO product_slots VALUES(24,41); -INSERT INTO product_slots VALUES(24,43); -INSERT INTO product_slots VALUES(24,45); -INSERT INTO product_slots VALUES(24,46); -INSERT INTO product_slots VALUES(24,47); -INSERT INTO product_slots VALUES(24,48); -INSERT INTO product_slots VALUES(24,49); -INSERT INTO product_slots VALUES(24,50); -INSERT INTO product_slots VALUES(24,51); -INSERT INTO product_slots VALUES(24,52); -INSERT INTO product_slots VALUES(24,53); -INSERT INTO product_slots VALUES(24,54); -INSERT INTO product_slots VALUES(24,55); -INSERT INTO product_slots VALUES(24,56); -INSERT INTO product_slots VALUES(24,57); -INSERT INTO product_slots VALUES(24,58); -INSERT INTO product_slots VALUES(24,59); -INSERT INTO product_slots VALUES(24,60); -INSERT INTO product_slots VALUES(24,61); -INSERT INTO product_slots VALUES(24,62); -INSERT INTO product_slots VALUES(24,63); -INSERT INTO product_slots VALUES(24,64); -INSERT INTO product_slots VALUES(24,65); -INSERT INTO product_slots VALUES(24,66); -INSERT INTO product_slots VALUES(24,67); -INSERT INTO product_slots VALUES(24,68); -INSERT INTO product_slots VALUES(24,69); -INSERT INTO product_slots VALUES(24,70); -INSERT INTO product_slots VALUES(24,71); -INSERT INTO product_slots VALUES(24,72); -INSERT INTO product_slots VALUES(24,73); -INSERT INTO product_slots VALUES(24,74); -INSERT INTO product_slots VALUES(24,75); -INSERT INTO product_slots VALUES(24,76); -INSERT INTO product_slots VALUES(24,77); -INSERT INTO product_slots VALUES(24,78); -INSERT INTO product_slots VALUES(24,79); -INSERT INTO product_slots VALUES(24,80); -INSERT INTO product_slots VALUES(24,81); -INSERT INTO product_slots VALUES(24,82); -INSERT INTO product_slots VALUES(24,83); -INSERT INTO product_slots VALUES(24,84); -INSERT INTO product_slots VALUES(24,85); -INSERT INTO product_slots VALUES(24,86); -INSERT INTO product_slots VALUES(24,87); -INSERT INTO product_slots VALUES(24,88); -INSERT INTO product_slots VALUES(24,89); -INSERT INTO product_slots VALUES(24,90); -INSERT INTO product_slots VALUES(24,91); -INSERT INTO product_slots VALUES(24,92); -INSERT INTO product_slots VALUES(24,93); -INSERT INTO product_slots VALUES(24,94); -INSERT INTO product_slots VALUES(24,95); -INSERT INTO product_slots VALUES(24,96); -INSERT INTO product_slots VALUES(24,97); -INSERT INTO product_slots VALUES(24,98); -INSERT INTO product_slots VALUES(24,99); -INSERT INTO product_slots VALUES(24,100); -INSERT INTO product_slots VALUES(24,101); -INSERT INTO product_slots VALUES(24,102); -INSERT INTO product_slots VALUES(24,103); -INSERT INTO product_slots VALUES(24,104); -INSERT INTO product_slots VALUES(24,105); -INSERT INTO product_slots VALUES(24,106); -INSERT INTO product_slots VALUES(24,107); -INSERT INTO product_slots VALUES(24,108); -INSERT INTO product_slots VALUES(24,109); -INSERT INTO product_slots VALUES(24,110); -INSERT INTO product_slots VALUES(24,111); -INSERT INTO product_slots VALUES(24,112); -INSERT INTO product_slots VALUES(24,113); -INSERT INTO product_slots VALUES(24,114); -INSERT INTO product_slots VALUES(24,115); -INSERT INTO product_slots VALUES(24,116); -INSERT INTO product_slots VALUES(24,117); -INSERT INTO product_slots VALUES(24,118); -INSERT INTO product_slots VALUES(24,119); -INSERT INTO product_slots VALUES(24,120); -INSERT INTO product_slots VALUES(24,121); -INSERT INTO product_slots VALUES(24,122); -INSERT INTO product_slots VALUES(24,123); -INSERT INTO product_slots VALUES(24,124); -INSERT INTO product_slots VALUES(24,125); -INSERT INTO product_slots VALUES(24,126); -INSERT INTO product_slots VALUES(24,127); -INSERT INTO product_slots VALUES(24,128); -INSERT INTO product_slots VALUES(24,129); -INSERT INTO product_slots VALUES(24,130); -INSERT INTO product_slots VALUES(24,131); -INSERT INTO product_slots VALUES(24,132); -INSERT INTO product_slots VALUES(24,133); -INSERT INTO product_slots VALUES(24,134); -INSERT INTO product_slots VALUES(24,135); -INSERT INTO product_slots VALUES(24,136); -INSERT INTO product_slots VALUES(24,137); -INSERT INTO product_slots VALUES(24,138); -INSERT INTO product_slots VALUES(24,139); -INSERT INTO product_slots VALUES(24,140); -INSERT INTO product_slots VALUES(24,141); -INSERT INTO product_slots VALUES(24,142); -INSERT INTO product_slots VALUES(24,143); -INSERT INTO product_slots VALUES(24,144); -INSERT INTO product_slots VALUES(24,145); -INSERT INTO product_slots VALUES(24,146); -INSERT INTO product_slots VALUES(24,147); -INSERT INTO product_slots VALUES(24,148); -INSERT INTO product_slots VALUES(24,149); -INSERT INTO product_slots VALUES(24,150); -INSERT INTO product_slots VALUES(24,151); -INSERT INTO product_slots VALUES(24,152); -INSERT INTO product_slots VALUES(24,153); -INSERT INTO product_slots VALUES(24,154); -INSERT INTO product_slots VALUES(24,155); -INSERT INTO product_slots VALUES(24,156); -INSERT INTO product_slots VALUES(24,157); -INSERT INTO product_slots VALUES(24,158); -INSERT INTO product_slots VALUES(24,159); -INSERT INTO product_slots VALUES(24,160); -INSERT INTO product_slots VALUES(24,161); -INSERT INTO product_slots VALUES(24,162); -INSERT INTO product_slots VALUES(24,163); -INSERT INTO product_slots VALUES(24,164); -INSERT INTO product_slots VALUES(24,165); -INSERT INTO product_slots VALUES(24,166); -INSERT INTO product_slots VALUES(24,167); -INSERT INTO product_slots VALUES(24,168); -INSERT INTO product_slots VALUES(24,169); -INSERT INTO product_slots VALUES(24,170); -INSERT INTO product_slots VALUES(24,171); -INSERT INTO product_slots VALUES(24,172); -INSERT INTO product_slots VALUES(24,173); -INSERT INTO product_slots VALUES(24,174); -INSERT INTO product_slots VALUES(24,175); -INSERT INTO product_slots VALUES(24,176); -INSERT INTO product_slots VALUES(24,177); -INSERT INTO product_slots VALUES(24,178); -INSERT INTO product_slots VALUES(24,179); -INSERT INTO product_slots VALUES(24,180); -INSERT INTO product_slots VALUES(24,181); -INSERT INTO product_slots VALUES(24,182); -INSERT INTO product_slots VALUES(24,183); -INSERT INTO product_slots VALUES(24,184); -INSERT INTO product_slots VALUES(24,185); -INSERT INTO product_slots VALUES(24,186); -INSERT INTO product_slots VALUES(24,187); -INSERT INTO product_slots VALUES(24,188); -INSERT INTO product_slots VALUES(24,189); -INSERT INTO product_slots VALUES(24,190); -INSERT INTO product_slots VALUES(24,191); -INSERT INTO product_slots VALUES(24,192); -INSERT INTO product_slots VALUES(24,193); -INSERT INTO product_slots VALUES(24,194); -INSERT INTO product_slots VALUES(24,195); -INSERT INTO product_slots VALUES(24,196); -INSERT INTO product_slots VALUES(24,197); -INSERT INTO product_slots VALUES(24,198); -INSERT INTO product_slots VALUES(24,199); -INSERT INTO product_slots VALUES(24,200); -INSERT INTO product_slots VALUES(24,201); -INSERT INTO product_slots VALUES(24,202); -INSERT INTO product_slots VALUES(24,203); -INSERT INTO product_slots VALUES(24,204); -INSERT INTO product_slots VALUES(24,205); -INSERT INTO product_slots VALUES(24,206); -INSERT INTO product_slots VALUES(24,207); -INSERT INTO product_slots VALUES(24,208); -INSERT INTO product_slots VALUES(24,209); -INSERT INTO product_slots VALUES(24,210); -INSERT INTO product_slots VALUES(24,211); -INSERT INTO product_slots VALUES(24,212); -INSERT INTO product_slots VALUES(24,213); -INSERT INTO product_slots VALUES(24,214); -INSERT INTO product_slots VALUES(24,215); -INSERT INTO product_slots VALUES(24,216); -INSERT INTO product_slots VALUES(24,217); -INSERT INTO product_slots VALUES(24,218); -INSERT INTO product_slots VALUES(24,219); -INSERT INTO product_slots VALUES(24,220); -INSERT INTO product_slots VALUES(24,221); -INSERT INTO product_slots VALUES(24,222); -INSERT INTO product_slots VALUES(24,223); -INSERT INTO product_slots VALUES(24,224); -INSERT INTO product_slots VALUES(24,225); -INSERT INTO product_slots VALUES(24,226); -INSERT INTO product_slots VALUES(24,227); -INSERT INTO product_slots VALUES(24,228); -INSERT INTO product_slots VALUES(24,229); -INSERT INTO product_slots VALUES(24,230); -INSERT INTO product_slots VALUES(24,231); -INSERT INTO product_slots VALUES(24,232); -INSERT INTO product_slots VALUES(24,234); -INSERT INTO product_slots VALUES(24,235); -INSERT INTO product_slots VALUES(24,236); -INSERT INTO product_slots VALUES(24,237); -INSERT INTO product_slots VALUES(24,238); -INSERT INTO product_slots VALUES(24,239); -INSERT INTO product_slots VALUES(24,240); -INSERT INTO product_slots VALUES(24,241); -INSERT INTO product_slots VALUES(24,242); -INSERT INTO product_slots VALUES(24,243); -INSERT INTO product_slots VALUES(24,244); -INSERT INTO product_slots VALUES(24,274); -INSERT INTO product_slots VALUES(24,275); -INSERT INTO product_slots VALUES(24,279); -INSERT INTO product_slots VALUES(24,280); -INSERT INTO product_slots VALUES(24,281); -INSERT INTO product_slots VALUES(24,282); -INSERT INTO product_slots VALUES(25,10); -INSERT INTO product_slots VALUES(25,11); -INSERT INTO product_slots VALUES(25,12); -INSERT INTO product_slots VALUES(25,17); -INSERT INTO product_slots VALUES(25,18); -INSERT INTO product_slots VALUES(25,20); -INSERT INTO product_slots VALUES(25,21); -INSERT INTO product_slots VALUES(25,22); -INSERT INTO product_slots VALUES(25,33); -INSERT INTO product_slots VALUES(25,35); -INSERT INTO product_slots VALUES(25,37); -INSERT INTO product_slots VALUES(25,38); -INSERT INTO product_slots VALUES(25,39); -INSERT INTO product_slots VALUES(25,40); -INSERT INTO product_slots VALUES(25,43); -INSERT INTO product_slots VALUES(25,45); -INSERT INTO product_slots VALUES(25,46); -INSERT INTO product_slots VALUES(25,48); -INSERT INTO product_slots VALUES(25,49); -INSERT INTO product_slots VALUES(25,51); -INSERT INTO product_slots VALUES(25,52); -INSERT INTO product_slots VALUES(25,53); -INSERT INTO product_slots VALUES(25,54); -INSERT INTO product_slots VALUES(25,57); -INSERT INTO product_slots VALUES(25,58); -INSERT INTO product_slots VALUES(25,59); -INSERT INTO product_slots VALUES(25,60); -INSERT INTO product_slots VALUES(25,61); -INSERT INTO product_slots VALUES(25,62); -INSERT INTO product_slots VALUES(25,63); -INSERT INTO product_slots VALUES(25,64); -INSERT INTO product_slots VALUES(25,65); -INSERT INTO product_slots VALUES(25,66); -INSERT INTO product_slots VALUES(25,67); -INSERT INTO product_slots VALUES(25,68); -INSERT INTO product_slots VALUES(25,69); -INSERT INTO product_slots VALUES(25,70); -INSERT INTO product_slots VALUES(25,71); -INSERT INTO product_slots VALUES(25,72); -INSERT INTO product_slots VALUES(25,73); -INSERT INTO product_slots VALUES(25,74); -INSERT INTO product_slots VALUES(25,75); -INSERT INTO product_slots VALUES(25,76); -INSERT INTO product_slots VALUES(25,77); -INSERT INTO product_slots VALUES(25,78); -INSERT INTO product_slots VALUES(25,79); -INSERT INTO product_slots VALUES(25,80); -INSERT INTO product_slots VALUES(25,81); -INSERT INTO product_slots VALUES(25,82); -INSERT INTO product_slots VALUES(25,83); -INSERT INTO product_slots VALUES(25,84); -INSERT INTO product_slots VALUES(25,85); -INSERT INTO product_slots VALUES(25,86); -INSERT INTO product_slots VALUES(25,87); -INSERT INTO product_slots VALUES(25,88); -INSERT INTO product_slots VALUES(25,89); -INSERT INTO product_slots VALUES(25,90); -INSERT INTO product_slots VALUES(25,91); -INSERT INTO product_slots VALUES(25,92); -INSERT INTO product_slots VALUES(25,93); -INSERT INTO product_slots VALUES(25,94); -INSERT INTO product_slots VALUES(25,95); -INSERT INTO product_slots VALUES(25,96); -INSERT INTO product_slots VALUES(25,97); -INSERT INTO product_slots VALUES(25,98); -INSERT INTO product_slots VALUES(25,99); -INSERT INTO product_slots VALUES(25,100); -INSERT INTO product_slots VALUES(25,102); -INSERT INTO product_slots VALUES(25,103); -INSERT INTO product_slots VALUES(25,104); -INSERT INTO product_slots VALUES(25,105); -INSERT INTO product_slots VALUES(25,106); -INSERT INTO product_slots VALUES(25,107); -INSERT INTO product_slots VALUES(25,108); -INSERT INTO product_slots VALUES(25,109); -INSERT INTO product_slots VALUES(25,110); -INSERT INTO product_slots VALUES(25,111); -INSERT INTO product_slots VALUES(25,112); -INSERT INTO product_slots VALUES(25,113); -INSERT INTO product_slots VALUES(25,114); -INSERT INTO product_slots VALUES(25,115); -INSERT INTO product_slots VALUES(25,117); -INSERT INTO product_slots VALUES(25,118); -INSERT INTO product_slots VALUES(25,119); -INSERT INTO product_slots VALUES(25,120); -INSERT INTO product_slots VALUES(25,121); -INSERT INTO product_slots VALUES(25,122); -INSERT INTO product_slots VALUES(25,123); -INSERT INTO product_slots VALUES(25,124); -INSERT INTO product_slots VALUES(25,125); -INSERT INTO product_slots VALUES(25,126); -INSERT INTO product_slots VALUES(25,127); -INSERT INTO product_slots VALUES(25,128); -INSERT INTO product_slots VALUES(25,129); -INSERT INTO product_slots VALUES(25,130); -INSERT INTO product_slots VALUES(25,131); -INSERT INTO product_slots VALUES(25,132); -INSERT INTO product_slots VALUES(25,133); -INSERT INTO product_slots VALUES(25,134); -INSERT INTO product_slots VALUES(25,135); -INSERT INTO product_slots VALUES(25,136); -INSERT INTO product_slots VALUES(25,138); -INSERT INTO product_slots VALUES(25,139); -INSERT INTO product_slots VALUES(25,140); -INSERT INTO product_slots VALUES(25,141); -INSERT INTO product_slots VALUES(25,142); -INSERT INTO product_slots VALUES(25,143); -INSERT INTO product_slots VALUES(25,145); -INSERT INTO product_slots VALUES(25,146); -INSERT INTO product_slots VALUES(25,147); -INSERT INTO product_slots VALUES(25,148); -INSERT INTO product_slots VALUES(25,149); -INSERT INTO product_slots VALUES(25,150); -INSERT INTO product_slots VALUES(25,151); -INSERT INTO product_slots VALUES(25,152); -INSERT INTO product_slots VALUES(25,153); -INSERT INTO product_slots VALUES(25,154); -INSERT INTO product_slots VALUES(25,155); -INSERT INTO product_slots VALUES(25,156); -INSERT INTO product_slots VALUES(25,157); -INSERT INTO product_slots VALUES(25,158); -INSERT INTO product_slots VALUES(25,159); -INSERT INTO product_slots VALUES(25,160); -INSERT INTO product_slots VALUES(25,161); -INSERT INTO product_slots VALUES(25,162); -INSERT INTO product_slots VALUES(25,163); -INSERT INTO product_slots VALUES(25,164); -INSERT INTO product_slots VALUES(25,165); -INSERT INTO product_slots VALUES(25,166); -INSERT INTO product_slots VALUES(25,167); -INSERT INTO product_slots VALUES(25,168); -INSERT INTO product_slots VALUES(25,169); -INSERT INTO product_slots VALUES(25,170); -INSERT INTO product_slots VALUES(25,171); -INSERT INTO product_slots VALUES(25,172); -INSERT INTO product_slots VALUES(25,173); -INSERT INTO product_slots VALUES(25,174); -INSERT INTO product_slots VALUES(25,175); -INSERT INTO product_slots VALUES(25,176); -INSERT INTO product_slots VALUES(25,177); -INSERT INTO product_slots VALUES(25,178); -INSERT INTO product_slots VALUES(25,179); -INSERT INTO product_slots VALUES(25,180); -INSERT INTO product_slots VALUES(25,181); -INSERT INTO product_slots VALUES(25,182); -INSERT INTO product_slots VALUES(25,183); -INSERT INTO product_slots VALUES(25,184); -INSERT INTO product_slots VALUES(25,185); -INSERT INTO product_slots VALUES(25,186); -INSERT INTO product_slots VALUES(25,187); -INSERT INTO product_slots VALUES(25,188); -INSERT INTO product_slots VALUES(25,189); -INSERT INTO product_slots VALUES(25,190); -INSERT INTO product_slots VALUES(25,191); -INSERT INTO product_slots VALUES(25,192); -INSERT INTO product_slots VALUES(25,193); -INSERT INTO product_slots VALUES(25,194); -INSERT INTO product_slots VALUES(25,195); -INSERT INTO product_slots VALUES(25,196); -INSERT INTO product_slots VALUES(25,197); -INSERT INTO product_slots VALUES(25,198); -INSERT INTO product_slots VALUES(25,199); -INSERT INTO product_slots VALUES(25,200); -INSERT INTO product_slots VALUES(25,201); -INSERT INTO product_slots VALUES(25,202); -INSERT INTO product_slots VALUES(25,203); -INSERT INTO product_slots VALUES(25,204); -INSERT INTO product_slots VALUES(25,205); -INSERT INTO product_slots VALUES(25,206); -INSERT INTO product_slots VALUES(25,207); -INSERT INTO product_slots VALUES(25,208); -INSERT INTO product_slots VALUES(25,209); -INSERT INTO product_slots VALUES(25,210); -INSERT INTO product_slots VALUES(25,211); -INSERT INTO product_slots VALUES(25,212); -INSERT INTO product_slots VALUES(25,213); -INSERT INTO product_slots VALUES(25,214); -INSERT INTO product_slots VALUES(25,215); -INSERT INTO product_slots VALUES(25,216); -INSERT INTO product_slots VALUES(25,217); -INSERT INTO product_slots VALUES(25,218); -INSERT INTO product_slots VALUES(25,219); -INSERT INTO product_slots VALUES(25,220); -INSERT INTO product_slots VALUES(25,221); -INSERT INTO product_slots VALUES(25,222); -INSERT INTO product_slots VALUES(25,223); -INSERT INTO product_slots VALUES(25,224); -INSERT INTO product_slots VALUES(25,225); -INSERT INTO product_slots VALUES(25,226); -INSERT INTO product_slots VALUES(25,227); -INSERT INTO product_slots VALUES(25,228); -INSERT INTO product_slots VALUES(25,229); -INSERT INTO product_slots VALUES(25,230); -INSERT INTO product_slots VALUES(25,231); -INSERT INTO product_slots VALUES(25,232); -INSERT INTO product_slots VALUES(25,233); -INSERT INTO product_slots VALUES(25,234); -INSERT INTO product_slots VALUES(25,235); -INSERT INTO product_slots VALUES(25,236); -INSERT INTO product_slots VALUES(25,237); -INSERT INTO product_slots VALUES(25,238); -INSERT INTO product_slots VALUES(25,239); -INSERT INTO product_slots VALUES(25,240); -INSERT INTO product_slots VALUES(25,241); -INSERT INTO product_slots VALUES(25,242); -INSERT INTO product_slots VALUES(25,243); -INSERT INTO product_slots VALUES(25,244); -INSERT INTO product_slots VALUES(25,274); -INSERT INTO product_slots VALUES(25,275); -INSERT INTO product_slots VALUES(25,279); -INSERT INTO product_slots VALUES(25,280); -INSERT INTO product_slots VALUES(25,281); -INSERT INTO product_slots VALUES(25,282); -INSERT INTO product_slots VALUES(25,283); -INSERT INTO product_slots VALUES(25,284); -INSERT INTO product_slots VALUES(25,285); -INSERT INTO product_slots VALUES(25,286); -INSERT INTO product_slots VALUES(25,287); -INSERT INTO product_slots VALUES(26,17); -INSERT INTO product_slots VALUES(26,18); -INSERT INTO product_slots VALUES(26,20); -INSERT INTO product_slots VALUES(26,21); -INSERT INTO product_slots VALUES(26,22); -INSERT INTO product_slots VALUES(26,33); -INSERT INTO product_slots VALUES(26,35); -INSERT INTO product_slots VALUES(26,37); -INSERT INTO product_slots VALUES(26,38); -INSERT INTO product_slots VALUES(26,40); -INSERT INTO product_slots VALUES(26,64); -INSERT INTO product_slots VALUES(26,65); -INSERT INTO product_slots VALUES(26,66); -INSERT INTO product_slots VALUES(26,67); -INSERT INTO product_slots VALUES(26,68); -INSERT INTO product_slots VALUES(26,69); -INSERT INTO product_slots VALUES(26,70); -INSERT INTO product_slots VALUES(26,71); -INSERT INTO product_slots VALUES(26,72); -INSERT INTO product_slots VALUES(26,73); -INSERT INTO product_slots VALUES(26,74); -INSERT INTO product_slots VALUES(26,75); -INSERT INTO product_slots VALUES(26,76); -INSERT INTO product_slots VALUES(26,77); -INSERT INTO product_slots VALUES(26,78); -INSERT INTO product_slots VALUES(26,79); -INSERT INTO product_slots VALUES(26,80); -INSERT INTO product_slots VALUES(26,81); -INSERT INTO product_slots VALUES(26,82); -INSERT INTO product_slots VALUES(26,83); -INSERT INTO product_slots VALUES(26,84); -INSERT INTO product_slots VALUES(26,85); -INSERT INTO product_slots VALUES(26,86); -INSERT INTO product_slots VALUES(26,87); -INSERT INTO product_slots VALUES(26,88); -INSERT INTO product_slots VALUES(26,89); -INSERT INTO product_slots VALUES(26,90); -INSERT INTO product_slots VALUES(26,91); -INSERT INTO product_slots VALUES(26,92); -INSERT INTO product_slots VALUES(26,93); -INSERT INTO product_slots VALUES(26,94); -INSERT INTO product_slots VALUES(26,95); -INSERT INTO product_slots VALUES(26,96); -INSERT INTO product_slots VALUES(26,97); -INSERT INTO product_slots VALUES(26,98); -INSERT INTO product_slots VALUES(26,99); -INSERT INTO product_slots VALUES(26,100); -INSERT INTO product_slots VALUES(26,102); -INSERT INTO product_slots VALUES(26,103); -INSERT INTO product_slots VALUES(26,104); -INSERT INTO product_slots VALUES(26,105); -INSERT INTO product_slots VALUES(26,106); -INSERT INTO product_slots VALUES(26,107); -INSERT INTO product_slots VALUES(26,108); -INSERT INTO product_slots VALUES(26,109); -INSERT INTO product_slots VALUES(26,110); -INSERT INTO product_slots VALUES(26,111); -INSERT INTO product_slots VALUES(26,112); -INSERT INTO product_slots VALUES(26,113); -INSERT INTO product_slots VALUES(26,114); -INSERT INTO product_slots VALUES(26,115); -INSERT INTO product_slots VALUES(26,117); -INSERT INTO product_slots VALUES(26,118); -INSERT INTO product_slots VALUES(26,119); -INSERT INTO product_slots VALUES(26,120); -INSERT INTO product_slots VALUES(26,121); -INSERT INTO product_slots VALUES(26,122); -INSERT INTO product_slots VALUES(26,123); -INSERT INTO product_slots VALUES(26,124); -INSERT INTO product_slots VALUES(26,125); -INSERT INTO product_slots VALUES(26,126); -INSERT INTO product_slots VALUES(26,127); -INSERT INTO product_slots VALUES(26,128); -INSERT INTO product_slots VALUES(26,129); -INSERT INTO product_slots VALUES(26,130); -INSERT INTO product_slots VALUES(26,131); -INSERT INTO product_slots VALUES(26,132); -INSERT INTO product_slots VALUES(26,133); -INSERT INTO product_slots VALUES(26,134); -INSERT INTO product_slots VALUES(26,135); -INSERT INTO product_slots VALUES(26,136); -INSERT INTO product_slots VALUES(26,138); -INSERT INTO product_slots VALUES(26,139); -INSERT INTO product_slots VALUES(26,140); -INSERT INTO product_slots VALUES(26,141); -INSERT INTO product_slots VALUES(26,142); -INSERT INTO product_slots VALUES(26,143); -INSERT INTO product_slots VALUES(26,145); -INSERT INTO product_slots VALUES(26,146); -INSERT INTO product_slots VALUES(26,147); -INSERT INTO product_slots VALUES(26,148); -INSERT INTO product_slots VALUES(26,149); -INSERT INTO product_slots VALUES(26,150); -INSERT INTO product_slots VALUES(26,151); -INSERT INTO product_slots VALUES(26,152); -INSERT INTO product_slots VALUES(26,153); -INSERT INTO product_slots VALUES(26,154); -INSERT INTO product_slots VALUES(26,155); -INSERT INTO product_slots VALUES(26,156); -INSERT INTO product_slots VALUES(26,157); -INSERT INTO product_slots VALUES(26,158); -INSERT INTO product_slots VALUES(26,159); -INSERT INTO product_slots VALUES(26,160); -INSERT INTO product_slots VALUES(26,161); -INSERT INTO product_slots VALUES(26,162); -INSERT INTO product_slots VALUES(26,163); -INSERT INTO product_slots VALUES(26,164); -INSERT INTO product_slots VALUES(26,165); -INSERT INTO product_slots VALUES(26,166); -INSERT INTO product_slots VALUES(26,167); -INSERT INTO product_slots VALUES(26,168); -INSERT INTO product_slots VALUES(26,169); -INSERT INTO product_slots VALUES(26,170); -INSERT INTO product_slots VALUES(26,171); -INSERT INTO product_slots VALUES(26,172); -INSERT INTO product_slots VALUES(26,173); -INSERT INTO product_slots VALUES(26,174); -INSERT INTO product_slots VALUES(26,175); -INSERT INTO product_slots VALUES(26,176); -INSERT INTO product_slots VALUES(26,177); -INSERT INTO product_slots VALUES(26,178); -INSERT INTO product_slots VALUES(26,179); -INSERT INTO product_slots VALUES(26,180); -INSERT INTO product_slots VALUES(26,181); -INSERT INTO product_slots VALUES(26,182); -INSERT INTO product_slots VALUES(26,183); -INSERT INTO product_slots VALUES(26,184); -INSERT INTO product_slots VALUES(26,185); -INSERT INTO product_slots VALUES(26,186); -INSERT INTO product_slots VALUES(26,187); -INSERT INTO product_slots VALUES(26,188); -INSERT INTO product_slots VALUES(26,189); -INSERT INTO product_slots VALUES(26,190); -INSERT INTO product_slots VALUES(26,191); -INSERT INTO product_slots VALUES(26,192); -INSERT INTO product_slots VALUES(26,193); -INSERT INTO product_slots VALUES(26,194); -INSERT INTO product_slots VALUES(26,195); -INSERT INTO product_slots VALUES(26,196); -INSERT INTO product_slots VALUES(26,197); -INSERT INTO product_slots VALUES(26,198); -INSERT INTO product_slots VALUES(26,199); -INSERT INTO product_slots VALUES(26,200); -INSERT INTO product_slots VALUES(26,201); -INSERT INTO product_slots VALUES(26,202); -INSERT INTO product_slots VALUES(26,203); -INSERT INTO product_slots VALUES(26,204); -INSERT INTO product_slots VALUES(26,205); -INSERT INTO product_slots VALUES(26,206); -INSERT INTO product_slots VALUES(26,207); -INSERT INTO product_slots VALUES(26,208); -INSERT INTO product_slots VALUES(26,209); -INSERT INTO product_slots VALUES(26,210); -INSERT INTO product_slots VALUES(26,211); -INSERT INTO product_slots VALUES(26,212); -INSERT INTO product_slots VALUES(26,213); -INSERT INTO product_slots VALUES(26,214); -INSERT INTO product_slots VALUES(26,215); -INSERT INTO product_slots VALUES(26,216); -INSERT INTO product_slots VALUES(26,217); -INSERT INTO product_slots VALUES(26,218); -INSERT INTO product_slots VALUES(26,219); -INSERT INTO product_slots VALUES(26,220); -INSERT INTO product_slots VALUES(26,221); -INSERT INTO product_slots VALUES(26,222); -INSERT INTO product_slots VALUES(26,223); -INSERT INTO product_slots VALUES(26,224); -INSERT INTO product_slots VALUES(26,225); -INSERT INTO product_slots VALUES(26,226); -INSERT INTO product_slots VALUES(26,227); -INSERT INTO product_slots VALUES(26,228); -INSERT INTO product_slots VALUES(26,229); -INSERT INTO product_slots VALUES(26,230); -INSERT INTO product_slots VALUES(26,231); -INSERT INTO product_slots VALUES(26,232); -INSERT INTO product_slots VALUES(26,233); -INSERT INTO product_slots VALUES(26,234); -INSERT INTO product_slots VALUES(26,235); -INSERT INTO product_slots VALUES(26,236); -INSERT INTO product_slots VALUES(26,237); -INSERT INTO product_slots VALUES(26,238); -INSERT INTO product_slots VALUES(26,239); -INSERT INTO product_slots VALUES(26,240); -INSERT INTO product_slots VALUES(26,241); -INSERT INTO product_slots VALUES(26,242); -INSERT INTO product_slots VALUES(26,243); -INSERT INTO product_slots VALUES(26,244); -INSERT INTO product_slots VALUES(26,274); -INSERT INTO product_slots VALUES(26,275); -INSERT INTO product_slots VALUES(26,279); -INSERT INTO product_slots VALUES(26,280); -INSERT INTO product_slots VALUES(26,281); -INSERT INTO product_slots VALUES(26,282); -INSERT INTO product_slots VALUES(26,283); -INSERT INTO product_slots VALUES(26,284); -INSERT INTO product_slots VALUES(26,285); -INSERT INTO product_slots VALUES(26,286); -INSERT INTO product_slots VALUES(26,287); -INSERT INTO product_slots VALUES(27,18); -INSERT INTO product_slots VALUES(27,20); -INSERT INTO product_slots VALUES(27,21); -INSERT INTO product_slots VALUES(27,33); -INSERT INTO product_slots VALUES(27,35); -INSERT INTO product_slots VALUES(27,37); -INSERT INTO product_slots VALUES(27,38); -INSERT INTO product_slots VALUES(27,39); -INSERT INTO product_slots VALUES(27,40); -INSERT INTO product_slots VALUES(27,41); -INSERT INTO product_slots VALUES(27,43); -INSERT INTO product_slots VALUES(27,44); -INSERT INTO product_slots VALUES(27,45); -INSERT INTO product_slots VALUES(27,46); -INSERT INTO product_slots VALUES(27,47); -INSERT INTO product_slots VALUES(27,48); -INSERT INTO product_slots VALUES(27,49); -INSERT INTO product_slots VALUES(27,50); -INSERT INTO product_slots VALUES(27,51); -INSERT INTO product_slots VALUES(27,52); -INSERT INTO product_slots VALUES(27,53); -INSERT INTO product_slots VALUES(27,54); -INSERT INTO product_slots VALUES(27,55); -INSERT INTO product_slots VALUES(27,56); -INSERT INTO product_slots VALUES(27,57); -INSERT INTO product_slots VALUES(27,58); -INSERT INTO product_slots VALUES(27,59); -INSERT INTO product_slots VALUES(27,60); -INSERT INTO product_slots VALUES(27,61); -INSERT INTO product_slots VALUES(27,62); -INSERT INTO product_slots VALUES(27,63); -INSERT INTO product_slots VALUES(27,64); -INSERT INTO product_slots VALUES(27,65); -INSERT INTO product_slots VALUES(27,66); -INSERT INTO product_slots VALUES(27,67); -INSERT INTO product_slots VALUES(27,68); -INSERT INTO product_slots VALUES(27,69); -INSERT INTO product_slots VALUES(27,70); -INSERT INTO product_slots VALUES(27,71); -INSERT INTO product_slots VALUES(27,72); -INSERT INTO product_slots VALUES(27,73); -INSERT INTO product_slots VALUES(27,74); -INSERT INTO product_slots VALUES(27,75); -INSERT INTO product_slots VALUES(27,76); -INSERT INTO product_slots VALUES(27,77); -INSERT INTO product_slots VALUES(27,78); -INSERT INTO product_slots VALUES(27,79); -INSERT INTO product_slots VALUES(27,80); -INSERT INTO product_slots VALUES(27,81); -INSERT INTO product_slots VALUES(27,82); -INSERT INTO product_slots VALUES(27,83); -INSERT INTO product_slots VALUES(27,84); -INSERT INTO product_slots VALUES(27,85); -INSERT INTO product_slots VALUES(27,86); -INSERT INTO product_slots VALUES(27,87); -INSERT INTO product_slots VALUES(27,88); -INSERT INTO product_slots VALUES(27,89); -INSERT INTO product_slots VALUES(27,90); -INSERT INTO product_slots VALUES(27,91); -INSERT INTO product_slots VALUES(27,92); -INSERT INTO product_slots VALUES(27,93); -INSERT INTO product_slots VALUES(27,94); -INSERT INTO product_slots VALUES(27,95); -INSERT INTO product_slots VALUES(27,96); -INSERT INTO product_slots VALUES(27,97); -INSERT INTO product_slots VALUES(27,98); -INSERT INTO product_slots VALUES(27,99); -INSERT INTO product_slots VALUES(27,100); -INSERT INTO product_slots VALUES(27,101); -INSERT INTO product_slots VALUES(27,102); -INSERT INTO product_slots VALUES(27,103); -INSERT INTO product_slots VALUES(27,104); -INSERT INTO product_slots VALUES(27,105); -INSERT INTO product_slots VALUES(27,106); -INSERT INTO product_slots VALUES(27,107); -INSERT INTO product_slots VALUES(27,108); -INSERT INTO product_slots VALUES(27,109); -INSERT INTO product_slots VALUES(27,110); -INSERT INTO product_slots VALUES(27,111); -INSERT INTO product_slots VALUES(27,112); -INSERT INTO product_slots VALUES(27,113); -INSERT INTO product_slots VALUES(27,114); -INSERT INTO product_slots VALUES(27,115); -INSERT INTO product_slots VALUES(27,116); -INSERT INTO product_slots VALUES(27,117); -INSERT INTO product_slots VALUES(27,118); -INSERT INTO product_slots VALUES(27,119); -INSERT INTO product_slots VALUES(27,120); -INSERT INTO product_slots VALUES(27,121); -INSERT INTO product_slots VALUES(27,122); -INSERT INTO product_slots VALUES(27,123); -INSERT INTO product_slots VALUES(27,124); -INSERT INTO product_slots VALUES(27,125); -INSERT INTO product_slots VALUES(27,126); -INSERT INTO product_slots VALUES(27,127); -INSERT INTO product_slots VALUES(27,128); -INSERT INTO product_slots VALUES(27,129); -INSERT INTO product_slots VALUES(27,130); -INSERT INTO product_slots VALUES(27,131); -INSERT INTO product_slots VALUES(27,132); -INSERT INTO product_slots VALUES(27,133); -INSERT INTO product_slots VALUES(27,134); -INSERT INTO product_slots VALUES(27,135); -INSERT INTO product_slots VALUES(27,136); -INSERT INTO product_slots VALUES(27,137); -INSERT INTO product_slots VALUES(27,138); -INSERT INTO product_slots VALUES(27,139); -INSERT INTO product_slots VALUES(27,140); -INSERT INTO product_slots VALUES(27,141); -INSERT INTO product_slots VALUES(27,142); -INSERT INTO product_slots VALUES(27,143); -INSERT INTO product_slots VALUES(27,144); -INSERT INTO product_slots VALUES(27,145); -INSERT INTO product_slots VALUES(27,146); -INSERT INTO product_slots VALUES(27,147); -INSERT INTO product_slots VALUES(27,148); -INSERT INTO product_slots VALUES(27,149); -INSERT INTO product_slots VALUES(27,150); -INSERT INTO product_slots VALUES(27,151); -INSERT INTO product_slots VALUES(27,152); -INSERT INTO product_slots VALUES(27,153); -INSERT INTO product_slots VALUES(27,154); -INSERT INTO product_slots VALUES(27,155); -INSERT INTO product_slots VALUES(27,156); -INSERT INTO product_slots VALUES(27,157); -INSERT INTO product_slots VALUES(27,158); -INSERT INTO product_slots VALUES(27,159); -INSERT INTO product_slots VALUES(27,160); -INSERT INTO product_slots VALUES(27,161); -INSERT INTO product_slots VALUES(27,162); -INSERT INTO product_slots VALUES(27,163); -INSERT INTO product_slots VALUES(27,164); -INSERT INTO product_slots VALUES(27,165); -INSERT INTO product_slots VALUES(27,166); -INSERT INTO product_slots VALUES(27,167); -INSERT INTO product_slots VALUES(27,168); -INSERT INTO product_slots VALUES(27,169); -INSERT INTO product_slots VALUES(27,170); -INSERT INTO product_slots VALUES(27,171); -INSERT INTO product_slots VALUES(27,172); -INSERT INTO product_slots VALUES(27,173); -INSERT INTO product_slots VALUES(27,174); -INSERT INTO product_slots VALUES(27,175); -INSERT INTO product_slots VALUES(27,176); -INSERT INTO product_slots VALUES(27,177); -INSERT INTO product_slots VALUES(27,178); -INSERT INTO product_slots VALUES(27,179); -INSERT INTO product_slots VALUES(27,180); -INSERT INTO product_slots VALUES(27,181); -INSERT INTO product_slots VALUES(27,182); -INSERT INTO product_slots VALUES(27,183); -INSERT INTO product_slots VALUES(27,184); -INSERT INTO product_slots VALUES(27,185); -INSERT INTO product_slots VALUES(27,186); -INSERT INTO product_slots VALUES(27,187); -INSERT INTO product_slots VALUES(27,188); -INSERT INTO product_slots VALUES(27,189); -INSERT INTO product_slots VALUES(27,190); -INSERT INTO product_slots VALUES(27,191); -INSERT INTO product_slots VALUES(27,192); -INSERT INTO product_slots VALUES(27,193); -INSERT INTO product_slots VALUES(27,194); -INSERT INTO product_slots VALUES(27,195); -INSERT INTO product_slots VALUES(27,196); -INSERT INTO product_slots VALUES(27,197); -INSERT INTO product_slots VALUES(27,198); -INSERT INTO product_slots VALUES(27,199); -INSERT INTO product_slots VALUES(27,200); -INSERT INTO product_slots VALUES(27,201); -INSERT INTO product_slots VALUES(27,202); -INSERT INTO product_slots VALUES(27,203); -INSERT INTO product_slots VALUES(27,204); -INSERT INTO product_slots VALUES(27,205); -INSERT INTO product_slots VALUES(27,206); -INSERT INTO product_slots VALUES(27,207); -INSERT INTO product_slots VALUES(27,208); -INSERT INTO product_slots VALUES(27,209); -INSERT INTO product_slots VALUES(27,210); -INSERT INTO product_slots VALUES(27,211); -INSERT INTO product_slots VALUES(27,212); -INSERT INTO product_slots VALUES(27,213); -INSERT INTO product_slots VALUES(27,214); -INSERT INTO product_slots VALUES(27,215); -INSERT INTO product_slots VALUES(27,216); -INSERT INTO product_slots VALUES(27,217); -INSERT INTO product_slots VALUES(27,218); -INSERT INTO product_slots VALUES(27,219); -INSERT INTO product_slots VALUES(27,220); -INSERT INTO product_slots VALUES(27,221); -INSERT INTO product_slots VALUES(27,222); -INSERT INTO product_slots VALUES(27,223); -INSERT INTO product_slots VALUES(27,224); -INSERT INTO product_slots VALUES(27,225); -INSERT INTO product_slots VALUES(27,226); -INSERT INTO product_slots VALUES(27,227); -INSERT INTO product_slots VALUES(27,228); -INSERT INTO product_slots VALUES(27,229); -INSERT INTO product_slots VALUES(27,230); -INSERT INTO product_slots VALUES(27,231); -INSERT INTO product_slots VALUES(27,232); -INSERT INTO product_slots VALUES(27,233); -INSERT INTO product_slots VALUES(27,234); -INSERT INTO product_slots VALUES(27,235); -INSERT INTO product_slots VALUES(27,236); -INSERT INTO product_slots VALUES(27,237); -INSERT INTO product_slots VALUES(27,238); -INSERT INTO product_slots VALUES(27,239); -INSERT INTO product_slots VALUES(27,240); -INSERT INTO product_slots VALUES(27,241); -INSERT INTO product_slots VALUES(27,242); -INSERT INTO product_slots VALUES(27,243); -INSERT INTO product_slots VALUES(27,244); -INSERT INTO product_slots VALUES(27,274); -INSERT INTO product_slots VALUES(27,275); -INSERT INTO product_slots VALUES(27,279); -INSERT INTO product_slots VALUES(27,280); -INSERT INTO product_slots VALUES(27,281); -INSERT INTO product_slots VALUES(27,282); -INSERT INTO product_slots VALUES(27,283); -INSERT INTO product_slots VALUES(27,284); -INSERT INTO product_slots VALUES(27,285); -INSERT INTO product_slots VALUES(27,286); -INSERT INTO product_slots VALUES(27,287); -INSERT INTO product_slots VALUES(28,18); -INSERT INTO product_slots VALUES(28,20); -INSERT INTO product_slots VALUES(28,21); -INSERT INTO product_slots VALUES(28,33); -INSERT INTO product_slots VALUES(28,35); -INSERT INTO product_slots VALUES(28,37); -INSERT INTO product_slots VALUES(28,38); -INSERT INTO product_slots VALUES(28,39); -INSERT INTO product_slots VALUES(28,40); -INSERT INTO product_slots VALUES(28,41); -INSERT INTO product_slots VALUES(28,43); -INSERT INTO product_slots VALUES(28,44); -INSERT INTO product_slots VALUES(28,45); -INSERT INTO product_slots VALUES(28,46); -INSERT INTO product_slots VALUES(28,47); -INSERT INTO product_slots VALUES(28,48); -INSERT INTO product_slots VALUES(28,49); -INSERT INTO product_slots VALUES(28,50); -INSERT INTO product_slots VALUES(28,51); -INSERT INTO product_slots VALUES(28,52); -INSERT INTO product_slots VALUES(28,53); -INSERT INTO product_slots VALUES(28,54); -INSERT INTO product_slots VALUES(28,55); -INSERT INTO product_slots VALUES(28,56); -INSERT INTO product_slots VALUES(28,57); -INSERT INTO product_slots VALUES(28,58); -INSERT INTO product_slots VALUES(28,59); -INSERT INTO product_slots VALUES(28,60); -INSERT INTO product_slots VALUES(28,61); -INSERT INTO product_slots VALUES(28,62); -INSERT INTO product_slots VALUES(28,63); -INSERT INTO product_slots VALUES(28,64); -INSERT INTO product_slots VALUES(28,65); -INSERT INTO product_slots VALUES(28,66); -INSERT INTO product_slots VALUES(28,67); -INSERT INTO product_slots VALUES(28,68); -INSERT INTO product_slots VALUES(28,69); -INSERT INTO product_slots VALUES(28,70); -INSERT INTO product_slots VALUES(28,71); -INSERT INTO product_slots VALUES(28,72); -INSERT INTO product_slots VALUES(28,73); -INSERT INTO product_slots VALUES(28,74); -INSERT INTO product_slots VALUES(28,75); -INSERT INTO product_slots VALUES(28,76); -INSERT INTO product_slots VALUES(28,77); -INSERT INTO product_slots VALUES(28,78); -INSERT INTO product_slots VALUES(28,79); -INSERT INTO product_slots VALUES(28,80); -INSERT INTO product_slots VALUES(28,81); -INSERT INTO product_slots VALUES(28,82); -INSERT INTO product_slots VALUES(28,83); -INSERT INTO product_slots VALUES(28,84); -INSERT INTO product_slots VALUES(28,85); -INSERT INTO product_slots VALUES(28,86); -INSERT INTO product_slots VALUES(28,87); -INSERT INTO product_slots VALUES(28,88); -INSERT INTO product_slots VALUES(28,89); -INSERT INTO product_slots VALUES(28,90); -INSERT INTO product_slots VALUES(28,91); -INSERT INTO product_slots VALUES(28,92); -INSERT INTO product_slots VALUES(28,93); -INSERT INTO product_slots VALUES(28,94); -INSERT INTO product_slots VALUES(28,95); -INSERT INTO product_slots VALUES(28,96); -INSERT INTO product_slots VALUES(28,97); -INSERT INTO product_slots VALUES(28,98); -INSERT INTO product_slots VALUES(28,99); -INSERT INTO product_slots VALUES(28,100); -INSERT INTO product_slots VALUES(28,101); -INSERT INTO product_slots VALUES(28,102); -INSERT INTO product_slots VALUES(28,103); -INSERT INTO product_slots VALUES(28,104); -INSERT INTO product_slots VALUES(28,105); -INSERT INTO product_slots VALUES(28,106); -INSERT INTO product_slots VALUES(28,107); -INSERT INTO product_slots VALUES(28,108); -INSERT INTO product_slots VALUES(28,109); -INSERT INTO product_slots VALUES(28,110); -INSERT INTO product_slots VALUES(28,111); -INSERT INTO product_slots VALUES(28,112); -INSERT INTO product_slots VALUES(28,113); -INSERT INTO product_slots VALUES(28,114); -INSERT INTO product_slots VALUES(28,115); -INSERT INTO product_slots VALUES(28,116); -INSERT INTO product_slots VALUES(28,117); -INSERT INTO product_slots VALUES(28,118); -INSERT INTO product_slots VALUES(28,119); -INSERT INTO product_slots VALUES(28,120); -INSERT INTO product_slots VALUES(28,121); -INSERT INTO product_slots VALUES(28,122); -INSERT INTO product_slots VALUES(28,123); -INSERT INTO product_slots VALUES(28,124); -INSERT INTO product_slots VALUES(28,125); -INSERT INTO product_slots VALUES(28,126); -INSERT INTO product_slots VALUES(28,127); -INSERT INTO product_slots VALUES(28,128); -INSERT INTO product_slots VALUES(28,129); -INSERT INTO product_slots VALUES(28,130); -INSERT INTO product_slots VALUES(28,131); -INSERT INTO product_slots VALUES(28,132); -INSERT INTO product_slots VALUES(28,133); -INSERT INTO product_slots VALUES(28,134); -INSERT INTO product_slots VALUES(28,135); -INSERT INTO product_slots VALUES(28,136); -INSERT INTO product_slots VALUES(28,137); -INSERT INTO product_slots VALUES(28,138); -INSERT INTO product_slots VALUES(28,139); -INSERT INTO product_slots VALUES(28,140); -INSERT INTO product_slots VALUES(28,144); -INSERT INTO product_slots VALUES(28,145); -INSERT INTO product_slots VALUES(28,146); -INSERT INTO product_slots VALUES(28,147); -INSERT INTO product_slots VALUES(28,148); -INSERT INTO product_slots VALUES(28,149); -INSERT INTO product_slots VALUES(28,150); -INSERT INTO product_slots VALUES(28,151); -INSERT INTO product_slots VALUES(28,152); -INSERT INTO product_slots VALUES(28,153); -INSERT INTO product_slots VALUES(28,154); -INSERT INTO product_slots VALUES(28,155); -INSERT INTO product_slots VALUES(28,156); -INSERT INTO product_slots VALUES(28,157); -INSERT INTO product_slots VALUES(28,158); -INSERT INTO product_slots VALUES(28,159); -INSERT INTO product_slots VALUES(28,160); -INSERT INTO product_slots VALUES(28,161); -INSERT INTO product_slots VALUES(28,162); -INSERT INTO product_slots VALUES(28,163); -INSERT INTO product_slots VALUES(28,164); -INSERT INTO product_slots VALUES(28,165); -INSERT INTO product_slots VALUES(28,166); -INSERT INTO product_slots VALUES(28,167); -INSERT INTO product_slots VALUES(28,169); -INSERT INTO product_slots VALUES(28,170); -INSERT INTO product_slots VALUES(28,171); -INSERT INTO product_slots VALUES(28,172); -INSERT INTO product_slots VALUES(28,173); -INSERT INTO product_slots VALUES(28,174); -INSERT INTO product_slots VALUES(28,175); -INSERT INTO product_slots VALUES(28,176); -INSERT INTO product_slots VALUES(28,177); -INSERT INTO product_slots VALUES(28,178); -INSERT INTO product_slots VALUES(28,179); -INSERT INTO product_slots VALUES(28,180); -INSERT INTO product_slots VALUES(28,181); -INSERT INTO product_slots VALUES(28,182); -INSERT INTO product_slots VALUES(28,183); -INSERT INTO product_slots VALUES(28,184); -INSERT INTO product_slots VALUES(28,185); -INSERT INTO product_slots VALUES(28,186); -INSERT INTO product_slots VALUES(28,187); -INSERT INTO product_slots VALUES(28,188); -INSERT INTO product_slots VALUES(28,189); -INSERT INTO product_slots VALUES(28,190); -INSERT INTO product_slots VALUES(28,191); -INSERT INTO product_slots VALUES(28,192); -INSERT INTO product_slots VALUES(28,193); -INSERT INTO product_slots VALUES(28,194); -INSERT INTO product_slots VALUES(28,195); -INSERT INTO product_slots VALUES(28,196); -INSERT INTO product_slots VALUES(28,197); -INSERT INTO product_slots VALUES(28,198); -INSERT INTO product_slots VALUES(28,199); -INSERT INTO product_slots VALUES(28,200); -INSERT INTO product_slots VALUES(28,201); -INSERT INTO product_slots VALUES(28,202); -INSERT INTO product_slots VALUES(28,203); -INSERT INTO product_slots VALUES(28,204); -INSERT INTO product_slots VALUES(28,205); -INSERT INTO product_slots VALUES(28,206); -INSERT INTO product_slots VALUES(28,207); -INSERT INTO product_slots VALUES(28,208); -INSERT INTO product_slots VALUES(28,209); -INSERT INTO product_slots VALUES(28,210); -INSERT INTO product_slots VALUES(28,211); -INSERT INTO product_slots VALUES(28,212); -INSERT INTO product_slots VALUES(28,213); -INSERT INTO product_slots VALUES(28,214); -INSERT INTO product_slots VALUES(28,215); -INSERT INTO product_slots VALUES(28,216); -INSERT INTO product_slots VALUES(28,217); -INSERT INTO product_slots VALUES(28,218); -INSERT INTO product_slots VALUES(28,219); -INSERT INTO product_slots VALUES(28,220); -INSERT INTO product_slots VALUES(28,221); -INSERT INTO product_slots VALUES(28,222); -INSERT INTO product_slots VALUES(28,223); -INSERT INTO product_slots VALUES(28,224); -INSERT INTO product_slots VALUES(28,225); -INSERT INTO product_slots VALUES(28,226); -INSERT INTO product_slots VALUES(28,227); -INSERT INTO product_slots VALUES(28,228); -INSERT INTO product_slots VALUES(28,229); -INSERT INTO product_slots VALUES(28,230); -INSERT INTO product_slots VALUES(28,231); -INSERT INTO product_slots VALUES(28,232); -INSERT INTO product_slots VALUES(28,233); -INSERT INTO product_slots VALUES(28,234); -INSERT INTO product_slots VALUES(28,235); -INSERT INTO product_slots VALUES(28,236); -INSERT INTO product_slots VALUES(28,237); -INSERT INTO product_slots VALUES(28,238); -INSERT INTO product_slots VALUES(28,239); -INSERT INTO product_slots VALUES(28,240); -INSERT INTO product_slots VALUES(28,241); -INSERT INTO product_slots VALUES(28,242); -INSERT INTO product_slots VALUES(28,243); -INSERT INTO product_slots VALUES(28,244); -INSERT INTO product_slots VALUES(28,274); -INSERT INTO product_slots VALUES(28,275); -INSERT INTO product_slots VALUES(28,279); -INSERT INTO product_slots VALUES(28,280); -INSERT INTO product_slots VALUES(28,281); -INSERT INTO product_slots VALUES(28,282); -INSERT INTO product_slots VALUES(28,283); -INSERT INTO product_slots VALUES(28,284); -INSERT INTO product_slots VALUES(28,285); -INSERT INTO product_slots VALUES(28,286); -INSERT INTO product_slots VALUES(28,287); -INSERT INTO product_slots VALUES(29,18); -INSERT INTO product_slots VALUES(29,20); -INSERT INTO product_slots VALUES(29,21); -INSERT INTO product_slots VALUES(29,33); -INSERT INTO product_slots VALUES(29,35); -INSERT INTO product_slots VALUES(29,37); -INSERT INTO product_slots VALUES(29,38); -INSERT INTO product_slots VALUES(29,39); -INSERT INTO product_slots VALUES(29,40); -INSERT INTO product_slots VALUES(29,41); -INSERT INTO product_slots VALUES(29,43); -INSERT INTO product_slots VALUES(29,44); -INSERT INTO product_slots VALUES(29,45); -INSERT INTO product_slots VALUES(29,46); -INSERT INTO product_slots VALUES(29,47); -INSERT INTO product_slots VALUES(29,48); -INSERT INTO product_slots VALUES(29,49); -INSERT INTO product_slots VALUES(29,50); -INSERT INTO product_slots VALUES(29,51); -INSERT INTO product_slots VALUES(29,52); -INSERT INTO product_slots VALUES(29,53); -INSERT INTO product_slots VALUES(29,54); -INSERT INTO product_slots VALUES(29,55); -INSERT INTO product_slots VALUES(29,56); -INSERT INTO product_slots VALUES(29,57); -INSERT INTO product_slots VALUES(29,58); -INSERT INTO product_slots VALUES(29,59); -INSERT INTO product_slots VALUES(29,60); -INSERT INTO product_slots VALUES(29,61); -INSERT INTO product_slots VALUES(29,62); -INSERT INTO product_slots VALUES(29,63); -INSERT INTO product_slots VALUES(29,64); -INSERT INTO product_slots VALUES(29,65); -INSERT INTO product_slots VALUES(29,66); -INSERT INTO product_slots VALUES(29,67); -INSERT INTO product_slots VALUES(29,68); -INSERT INTO product_slots VALUES(29,69); -INSERT INTO product_slots VALUES(29,70); -INSERT INTO product_slots VALUES(29,71); -INSERT INTO product_slots VALUES(29,72); -INSERT INTO product_slots VALUES(29,73); -INSERT INTO product_slots VALUES(29,74); -INSERT INTO product_slots VALUES(29,75); -INSERT INTO product_slots VALUES(29,76); -INSERT INTO product_slots VALUES(29,77); -INSERT INTO product_slots VALUES(29,78); -INSERT INTO product_slots VALUES(29,79); -INSERT INTO product_slots VALUES(29,80); -INSERT INTO product_slots VALUES(29,81); -INSERT INTO product_slots VALUES(29,82); -INSERT INTO product_slots VALUES(29,83); -INSERT INTO product_slots VALUES(29,84); -INSERT INTO product_slots VALUES(29,85); -INSERT INTO product_slots VALUES(29,86); -INSERT INTO product_slots VALUES(29,87); -INSERT INTO product_slots VALUES(29,88); -INSERT INTO product_slots VALUES(29,89); -INSERT INTO product_slots VALUES(29,90); -INSERT INTO product_slots VALUES(29,91); -INSERT INTO product_slots VALUES(29,92); -INSERT INTO product_slots VALUES(29,93); -INSERT INTO product_slots VALUES(29,94); -INSERT INTO product_slots VALUES(29,95); -INSERT INTO product_slots VALUES(29,96); -INSERT INTO product_slots VALUES(29,97); -INSERT INTO product_slots VALUES(29,98); -INSERT INTO product_slots VALUES(29,99); -INSERT INTO product_slots VALUES(29,100); -INSERT INTO product_slots VALUES(29,101); -INSERT INTO product_slots VALUES(29,102); -INSERT INTO product_slots VALUES(29,103); -INSERT INTO product_slots VALUES(29,104); -INSERT INTO product_slots VALUES(29,105); -INSERT INTO product_slots VALUES(29,106); -INSERT INTO product_slots VALUES(29,107); -INSERT INTO product_slots VALUES(29,108); -INSERT INTO product_slots VALUES(29,109); -INSERT INTO product_slots VALUES(29,110); -INSERT INTO product_slots VALUES(29,111); -INSERT INTO product_slots VALUES(29,112); -INSERT INTO product_slots VALUES(29,113); -INSERT INTO product_slots VALUES(29,114); -INSERT INTO product_slots VALUES(29,115); -INSERT INTO product_slots VALUES(29,116); -INSERT INTO product_slots VALUES(29,117); -INSERT INTO product_slots VALUES(29,118); -INSERT INTO product_slots VALUES(29,119); -INSERT INTO product_slots VALUES(29,120); -INSERT INTO product_slots VALUES(29,121); -INSERT INTO product_slots VALUES(29,122); -INSERT INTO product_slots VALUES(29,123); -INSERT INTO product_slots VALUES(29,124); -INSERT INTO product_slots VALUES(29,125); -INSERT INTO product_slots VALUES(29,126); -INSERT INTO product_slots VALUES(29,127); -INSERT INTO product_slots VALUES(29,128); -INSERT INTO product_slots VALUES(29,129); -INSERT INTO product_slots VALUES(29,130); -INSERT INTO product_slots VALUES(29,131); -INSERT INTO product_slots VALUES(29,132); -INSERT INTO product_slots VALUES(29,133); -INSERT INTO product_slots VALUES(29,134); -INSERT INTO product_slots VALUES(29,135); -INSERT INTO product_slots VALUES(29,136); -INSERT INTO product_slots VALUES(29,137); -INSERT INTO product_slots VALUES(29,138); -INSERT INTO product_slots VALUES(29,139); -INSERT INTO product_slots VALUES(29,140); -INSERT INTO product_slots VALUES(29,141); -INSERT INTO product_slots VALUES(29,142); -INSERT INTO product_slots VALUES(29,143); -INSERT INTO product_slots VALUES(29,144); -INSERT INTO product_slots VALUES(29,145); -INSERT INTO product_slots VALUES(29,146); -INSERT INTO product_slots VALUES(29,147); -INSERT INTO product_slots VALUES(29,148); -INSERT INTO product_slots VALUES(29,149); -INSERT INTO product_slots VALUES(29,150); -INSERT INTO product_slots VALUES(29,151); -INSERT INTO product_slots VALUES(29,152); -INSERT INTO product_slots VALUES(29,153); -INSERT INTO product_slots VALUES(29,154); -INSERT INTO product_slots VALUES(29,155); -INSERT INTO product_slots VALUES(29,156); -INSERT INTO product_slots VALUES(29,157); -INSERT INTO product_slots VALUES(29,158); -INSERT INTO product_slots VALUES(29,159); -INSERT INTO product_slots VALUES(29,160); -INSERT INTO product_slots VALUES(29,161); -INSERT INTO product_slots VALUES(29,162); -INSERT INTO product_slots VALUES(29,163); -INSERT INTO product_slots VALUES(29,164); -INSERT INTO product_slots VALUES(29,165); -INSERT INTO product_slots VALUES(29,166); -INSERT INTO product_slots VALUES(29,167); -INSERT INTO product_slots VALUES(29,168); -INSERT INTO product_slots VALUES(29,169); -INSERT INTO product_slots VALUES(29,170); -INSERT INTO product_slots VALUES(29,171); -INSERT INTO product_slots VALUES(29,172); -INSERT INTO product_slots VALUES(29,173); -INSERT INTO product_slots VALUES(29,174); -INSERT INTO product_slots VALUES(29,175); -INSERT INTO product_slots VALUES(29,176); -INSERT INTO product_slots VALUES(29,177); -INSERT INTO product_slots VALUES(29,178); -INSERT INTO product_slots VALUES(29,179); -INSERT INTO product_slots VALUES(29,180); -INSERT INTO product_slots VALUES(29,181); -INSERT INTO product_slots VALUES(29,182); -INSERT INTO product_slots VALUES(29,183); -INSERT INTO product_slots VALUES(29,184); -INSERT INTO product_slots VALUES(29,185); -INSERT INTO product_slots VALUES(29,186); -INSERT INTO product_slots VALUES(29,187); -INSERT INTO product_slots VALUES(29,188); -INSERT INTO product_slots VALUES(29,189); -INSERT INTO product_slots VALUES(29,190); -INSERT INTO product_slots VALUES(29,191); -INSERT INTO product_slots VALUES(29,192); -INSERT INTO product_slots VALUES(29,193); -INSERT INTO product_slots VALUES(29,194); -INSERT INTO product_slots VALUES(29,195); -INSERT INTO product_slots VALUES(29,196); -INSERT INTO product_slots VALUES(29,197); -INSERT INTO product_slots VALUES(29,198); -INSERT INTO product_slots VALUES(29,199); -INSERT INTO product_slots VALUES(29,200); -INSERT INTO product_slots VALUES(29,201); -INSERT INTO product_slots VALUES(29,202); -INSERT INTO product_slots VALUES(29,203); -INSERT INTO product_slots VALUES(29,204); -INSERT INTO product_slots VALUES(29,205); -INSERT INTO product_slots VALUES(29,206); -INSERT INTO product_slots VALUES(29,207); -INSERT INTO product_slots VALUES(29,208); -INSERT INTO product_slots VALUES(29,209); -INSERT INTO product_slots VALUES(29,210); -INSERT INTO product_slots VALUES(29,211); -INSERT INTO product_slots VALUES(29,212); -INSERT INTO product_slots VALUES(29,213); -INSERT INTO product_slots VALUES(29,214); -INSERT INTO product_slots VALUES(29,215); -INSERT INTO product_slots VALUES(29,216); -INSERT INTO product_slots VALUES(29,217); -INSERT INTO product_slots VALUES(29,218); -INSERT INTO product_slots VALUES(29,219); -INSERT INTO product_slots VALUES(29,220); -INSERT INTO product_slots VALUES(29,221); -INSERT INTO product_slots VALUES(29,222); -INSERT INTO product_slots VALUES(29,223); -INSERT INTO product_slots VALUES(29,224); -INSERT INTO product_slots VALUES(29,225); -INSERT INTO product_slots VALUES(29,226); -INSERT INTO product_slots VALUES(29,227); -INSERT INTO product_slots VALUES(29,228); -INSERT INTO product_slots VALUES(29,229); -INSERT INTO product_slots VALUES(29,230); -INSERT INTO product_slots VALUES(29,231); -INSERT INTO product_slots VALUES(29,232); -INSERT INTO product_slots VALUES(29,233); -INSERT INTO product_slots VALUES(29,234); -INSERT INTO product_slots VALUES(29,235); -INSERT INTO product_slots VALUES(29,236); -INSERT INTO product_slots VALUES(29,237); -INSERT INTO product_slots VALUES(29,238); -INSERT INTO product_slots VALUES(29,239); -INSERT INTO product_slots VALUES(29,240); -INSERT INTO product_slots VALUES(29,241); -INSERT INTO product_slots VALUES(29,242); -INSERT INTO product_slots VALUES(29,243); -INSERT INTO product_slots VALUES(29,244); -INSERT INTO product_slots VALUES(29,274); -INSERT INTO product_slots VALUES(29,275); -INSERT INTO product_slots VALUES(29,279); -INSERT INTO product_slots VALUES(29,280); -INSERT INTO product_slots VALUES(29,281); -INSERT INTO product_slots VALUES(29,282); -INSERT INTO product_slots VALUES(29,283); -INSERT INTO product_slots VALUES(29,284); -INSERT INTO product_slots VALUES(29,285); -INSERT INTO product_slots VALUES(29,286); -INSERT INTO product_slots VALUES(29,287); -INSERT INTO product_slots VALUES(30,18); -INSERT INTO product_slots VALUES(30,20); -INSERT INTO product_slots VALUES(30,21); -INSERT INTO product_slots VALUES(30,33); -INSERT INTO product_slots VALUES(30,35); -INSERT INTO product_slots VALUES(30,37); -INSERT INTO product_slots VALUES(30,38); -INSERT INTO product_slots VALUES(30,39); -INSERT INTO product_slots VALUES(30,40); -INSERT INTO product_slots VALUES(30,41); -INSERT INTO product_slots VALUES(30,43); -INSERT INTO product_slots VALUES(30,44); -INSERT INTO product_slots VALUES(30,45); -INSERT INTO product_slots VALUES(30,46); -INSERT INTO product_slots VALUES(30,47); -INSERT INTO product_slots VALUES(30,48); -INSERT INTO product_slots VALUES(30,49); -INSERT INTO product_slots VALUES(30,50); -INSERT INTO product_slots VALUES(30,51); -INSERT INTO product_slots VALUES(30,52); -INSERT INTO product_slots VALUES(30,53); -INSERT INTO product_slots VALUES(30,54); -INSERT INTO product_slots VALUES(30,55); -INSERT INTO product_slots VALUES(30,56); -INSERT INTO product_slots VALUES(30,57); -INSERT INTO product_slots VALUES(30,58); -INSERT INTO product_slots VALUES(30,59); -INSERT INTO product_slots VALUES(30,60); -INSERT INTO product_slots VALUES(30,61); -INSERT INTO product_slots VALUES(30,62); -INSERT INTO product_slots VALUES(30,63); -INSERT INTO product_slots VALUES(30,64); -INSERT INTO product_slots VALUES(30,65); -INSERT INTO product_slots VALUES(30,66); -INSERT INTO product_slots VALUES(30,67); -INSERT INTO product_slots VALUES(30,68); -INSERT INTO product_slots VALUES(30,69); -INSERT INTO product_slots VALUES(30,70); -INSERT INTO product_slots VALUES(30,71); -INSERT INTO product_slots VALUES(30,72); -INSERT INTO product_slots VALUES(30,73); -INSERT INTO product_slots VALUES(30,74); -INSERT INTO product_slots VALUES(30,75); -INSERT INTO product_slots VALUES(30,76); -INSERT INTO product_slots VALUES(30,77); -INSERT INTO product_slots VALUES(30,78); -INSERT INTO product_slots VALUES(30,79); -INSERT INTO product_slots VALUES(30,80); -INSERT INTO product_slots VALUES(30,81); -INSERT INTO product_slots VALUES(30,82); -INSERT INTO product_slots VALUES(30,83); -INSERT INTO product_slots VALUES(30,84); -INSERT INTO product_slots VALUES(30,85); -INSERT INTO product_slots VALUES(30,86); -INSERT INTO product_slots VALUES(30,87); -INSERT INTO product_slots VALUES(30,88); -INSERT INTO product_slots VALUES(30,89); -INSERT INTO product_slots VALUES(30,90); -INSERT INTO product_slots VALUES(30,91); -INSERT INTO product_slots VALUES(30,92); -INSERT INTO product_slots VALUES(30,93); -INSERT INTO product_slots VALUES(30,94); -INSERT INTO product_slots VALUES(30,95); -INSERT INTO product_slots VALUES(30,96); -INSERT INTO product_slots VALUES(30,97); -INSERT INTO product_slots VALUES(30,98); -INSERT INTO product_slots VALUES(30,99); -INSERT INTO product_slots VALUES(30,100); -INSERT INTO product_slots VALUES(30,101); -INSERT INTO product_slots VALUES(30,102); -INSERT INTO product_slots VALUES(30,103); -INSERT INTO product_slots VALUES(30,104); -INSERT INTO product_slots VALUES(30,105); -INSERT INTO product_slots VALUES(30,106); -INSERT INTO product_slots VALUES(30,107); -INSERT INTO product_slots VALUES(30,108); -INSERT INTO product_slots VALUES(30,109); -INSERT INTO product_slots VALUES(30,110); -INSERT INTO product_slots VALUES(30,111); -INSERT INTO product_slots VALUES(30,112); -INSERT INTO product_slots VALUES(30,113); -INSERT INTO product_slots VALUES(30,114); -INSERT INTO product_slots VALUES(30,115); -INSERT INTO product_slots VALUES(30,116); -INSERT INTO product_slots VALUES(30,117); -INSERT INTO product_slots VALUES(30,118); -INSERT INTO product_slots VALUES(30,119); -INSERT INTO product_slots VALUES(30,120); -INSERT INTO product_slots VALUES(30,121); -INSERT INTO product_slots VALUES(30,122); -INSERT INTO product_slots VALUES(30,123); -INSERT INTO product_slots VALUES(30,124); -INSERT INTO product_slots VALUES(30,125); -INSERT INTO product_slots VALUES(30,126); -INSERT INTO product_slots VALUES(30,127); -INSERT INTO product_slots VALUES(30,128); -INSERT INTO product_slots VALUES(30,129); -INSERT INTO product_slots VALUES(30,130); -INSERT INTO product_slots VALUES(30,131); -INSERT INTO product_slots VALUES(30,132); -INSERT INTO product_slots VALUES(30,133); -INSERT INTO product_slots VALUES(30,134); -INSERT INTO product_slots VALUES(30,135); -INSERT INTO product_slots VALUES(30,136); -INSERT INTO product_slots VALUES(30,137); -INSERT INTO product_slots VALUES(30,138); -INSERT INTO product_slots VALUES(30,139); -INSERT INTO product_slots VALUES(30,140); -INSERT INTO product_slots VALUES(30,141); -INSERT INTO product_slots VALUES(30,142); -INSERT INTO product_slots VALUES(30,143); -INSERT INTO product_slots VALUES(30,144); -INSERT INTO product_slots VALUES(30,145); -INSERT INTO product_slots VALUES(30,146); -INSERT INTO product_slots VALUES(30,147); -INSERT INTO product_slots VALUES(30,148); -INSERT INTO product_slots VALUES(30,149); -INSERT INTO product_slots VALUES(30,150); -INSERT INTO product_slots VALUES(30,151); -INSERT INTO product_slots VALUES(30,152); -INSERT INTO product_slots VALUES(30,153); -INSERT INTO product_slots VALUES(30,154); -INSERT INTO product_slots VALUES(30,155); -INSERT INTO product_slots VALUES(30,156); -INSERT INTO product_slots VALUES(30,157); -INSERT INTO product_slots VALUES(30,158); -INSERT INTO product_slots VALUES(30,159); -INSERT INTO product_slots VALUES(30,160); -INSERT INTO product_slots VALUES(30,161); -INSERT INTO product_slots VALUES(30,162); -INSERT INTO product_slots VALUES(30,163); -INSERT INTO product_slots VALUES(30,164); -INSERT INTO product_slots VALUES(30,165); -INSERT INTO product_slots VALUES(30,166); -INSERT INTO product_slots VALUES(30,167); -INSERT INTO product_slots VALUES(30,168); -INSERT INTO product_slots VALUES(30,169); -INSERT INTO product_slots VALUES(30,170); -INSERT INTO product_slots VALUES(30,171); -INSERT INTO product_slots VALUES(30,172); -INSERT INTO product_slots VALUES(30,173); -INSERT INTO product_slots VALUES(30,174); -INSERT INTO product_slots VALUES(30,175); -INSERT INTO product_slots VALUES(30,176); -INSERT INTO product_slots VALUES(30,177); -INSERT INTO product_slots VALUES(30,178); -INSERT INTO product_slots VALUES(30,179); -INSERT INTO product_slots VALUES(30,180); -INSERT INTO product_slots VALUES(30,181); -INSERT INTO product_slots VALUES(30,182); -INSERT INTO product_slots VALUES(30,183); -INSERT INTO product_slots VALUES(30,184); -INSERT INTO product_slots VALUES(30,185); -INSERT INTO product_slots VALUES(30,186); -INSERT INTO product_slots VALUES(30,187); -INSERT INTO product_slots VALUES(30,188); -INSERT INTO product_slots VALUES(30,189); -INSERT INTO product_slots VALUES(30,190); -INSERT INTO product_slots VALUES(30,191); -INSERT INTO product_slots VALUES(30,192); -INSERT INTO product_slots VALUES(30,193); -INSERT INTO product_slots VALUES(30,194); -INSERT INTO product_slots VALUES(30,195); -INSERT INTO product_slots VALUES(30,196); -INSERT INTO product_slots VALUES(30,197); -INSERT INTO product_slots VALUES(30,198); -INSERT INTO product_slots VALUES(30,199); -INSERT INTO product_slots VALUES(30,200); -INSERT INTO product_slots VALUES(30,201); -INSERT INTO product_slots VALUES(30,202); -INSERT INTO product_slots VALUES(30,203); -INSERT INTO product_slots VALUES(30,204); -INSERT INTO product_slots VALUES(30,205); -INSERT INTO product_slots VALUES(30,206); -INSERT INTO product_slots VALUES(30,207); -INSERT INTO product_slots VALUES(30,208); -INSERT INTO product_slots VALUES(30,209); -INSERT INTO product_slots VALUES(30,210); -INSERT INTO product_slots VALUES(30,211); -INSERT INTO product_slots VALUES(30,212); -INSERT INTO product_slots VALUES(30,213); -INSERT INTO product_slots VALUES(30,214); -INSERT INTO product_slots VALUES(30,215); -INSERT INTO product_slots VALUES(30,216); -INSERT INTO product_slots VALUES(30,217); -INSERT INTO product_slots VALUES(30,218); -INSERT INTO product_slots VALUES(30,219); -INSERT INTO product_slots VALUES(30,220); -INSERT INTO product_slots VALUES(30,221); -INSERT INTO product_slots VALUES(30,222); -INSERT INTO product_slots VALUES(30,223); -INSERT INTO product_slots VALUES(30,224); -INSERT INTO product_slots VALUES(30,225); -INSERT INTO product_slots VALUES(30,226); -INSERT INTO product_slots VALUES(30,227); -INSERT INTO product_slots VALUES(30,228); -INSERT INTO product_slots VALUES(30,229); -INSERT INTO product_slots VALUES(30,230); -INSERT INTO product_slots VALUES(30,231); -INSERT INTO product_slots VALUES(30,232); -INSERT INTO product_slots VALUES(30,233); -INSERT INTO product_slots VALUES(30,234); -INSERT INTO product_slots VALUES(30,235); -INSERT INTO product_slots VALUES(30,236); -INSERT INTO product_slots VALUES(30,237); -INSERT INTO product_slots VALUES(30,238); -INSERT INTO product_slots VALUES(30,239); -INSERT INTO product_slots VALUES(30,240); -INSERT INTO product_slots VALUES(30,241); -INSERT INTO product_slots VALUES(30,242); -INSERT INTO product_slots VALUES(30,243); -INSERT INTO product_slots VALUES(30,244); -INSERT INTO product_slots VALUES(30,274); -INSERT INTO product_slots VALUES(30,275); -INSERT INTO product_slots VALUES(30,279); -INSERT INTO product_slots VALUES(30,280); -INSERT INTO product_slots VALUES(30,281); -INSERT INTO product_slots VALUES(30,282); -INSERT INTO product_slots VALUES(30,283); -INSERT INTO product_slots VALUES(30,284); -INSERT INTO product_slots VALUES(30,285); -INSERT INTO product_slots VALUES(30,286); -INSERT INTO product_slots VALUES(30,287); -INSERT INTO product_slots VALUES(31,18); -INSERT INTO product_slots VALUES(31,20); -INSERT INTO product_slots VALUES(31,21); -INSERT INTO product_slots VALUES(31,33); -INSERT INTO product_slots VALUES(31,35); -INSERT INTO product_slots VALUES(31,37); -INSERT INTO product_slots VALUES(31,38); -INSERT INTO product_slots VALUES(31,39); -INSERT INTO product_slots VALUES(31,40); -INSERT INTO product_slots VALUES(31,44); -INSERT INTO product_slots VALUES(31,46); -INSERT INTO product_slots VALUES(31,47); -INSERT INTO product_slots VALUES(31,48); -INSERT INTO product_slots VALUES(31,49); -INSERT INTO product_slots VALUES(31,50); -INSERT INTO product_slots VALUES(31,51); -INSERT INTO product_slots VALUES(31,52); -INSERT INTO product_slots VALUES(31,53); -INSERT INTO product_slots VALUES(31,54); -INSERT INTO product_slots VALUES(31,55); -INSERT INTO product_slots VALUES(31,56); -INSERT INTO product_slots VALUES(31,57); -INSERT INTO product_slots VALUES(31,58); -INSERT INTO product_slots VALUES(31,59); -INSERT INTO product_slots VALUES(31,60); -INSERT INTO product_slots VALUES(31,61); -INSERT INTO product_slots VALUES(31,62); -INSERT INTO product_slots VALUES(31,63); -INSERT INTO product_slots VALUES(31,64); -INSERT INTO product_slots VALUES(31,65); -INSERT INTO product_slots VALUES(31,66); -INSERT INTO product_slots VALUES(31,67); -INSERT INTO product_slots VALUES(31,68); -INSERT INTO product_slots VALUES(31,69); -INSERT INTO product_slots VALUES(31,70); -INSERT INTO product_slots VALUES(31,71); -INSERT INTO product_slots VALUES(31,72); -INSERT INTO product_slots VALUES(31,73); -INSERT INTO product_slots VALUES(31,74); -INSERT INTO product_slots VALUES(31,75); -INSERT INTO product_slots VALUES(31,76); -INSERT INTO product_slots VALUES(31,77); -INSERT INTO product_slots VALUES(31,78); -INSERT INTO product_slots VALUES(31,79); -INSERT INTO product_slots VALUES(31,80); -INSERT INTO product_slots VALUES(31,81); -INSERT INTO product_slots VALUES(31,82); -INSERT INTO product_slots VALUES(31,83); -INSERT INTO product_slots VALUES(31,84); -INSERT INTO product_slots VALUES(31,85); -INSERT INTO product_slots VALUES(31,86); -INSERT INTO product_slots VALUES(31,87); -INSERT INTO product_slots VALUES(31,88); -INSERT INTO product_slots VALUES(31,89); -INSERT INTO product_slots VALUES(31,90); -INSERT INTO product_slots VALUES(31,91); -INSERT INTO product_slots VALUES(31,92); -INSERT INTO product_slots VALUES(31,93); -INSERT INTO product_slots VALUES(31,94); -INSERT INTO product_slots VALUES(31,95); -INSERT INTO product_slots VALUES(31,96); -INSERT INTO product_slots VALUES(31,97); -INSERT INTO product_slots VALUES(31,98); -INSERT INTO product_slots VALUES(31,99); -INSERT INTO product_slots VALUES(31,100); -INSERT INTO product_slots VALUES(31,101); -INSERT INTO product_slots VALUES(31,102); -INSERT INTO product_slots VALUES(31,103); -INSERT INTO product_slots VALUES(31,104); -INSERT INTO product_slots VALUES(31,105); -INSERT INTO product_slots VALUES(31,106); -INSERT INTO product_slots VALUES(31,107); -INSERT INTO product_slots VALUES(31,108); -INSERT INTO product_slots VALUES(31,109); -INSERT INTO product_slots VALUES(31,110); -INSERT INTO product_slots VALUES(31,111); -INSERT INTO product_slots VALUES(31,112); -INSERT INTO product_slots VALUES(31,113); -INSERT INTO product_slots VALUES(31,114); -INSERT INTO product_slots VALUES(31,115); -INSERT INTO product_slots VALUES(31,116); -INSERT INTO product_slots VALUES(31,117); -INSERT INTO product_slots VALUES(31,118); -INSERT INTO product_slots VALUES(31,119); -INSERT INTO product_slots VALUES(31,120); -INSERT INTO product_slots VALUES(31,121); -INSERT INTO product_slots VALUES(31,122); -INSERT INTO product_slots VALUES(31,123); -INSERT INTO product_slots VALUES(31,124); -INSERT INTO product_slots VALUES(31,125); -INSERT INTO product_slots VALUES(31,126); -INSERT INTO product_slots VALUES(31,127); -INSERT INTO product_slots VALUES(31,128); -INSERT INTO product_slots VALUES(31,129); -INSERT INTO product_slots VALUES(31,130); -INSERT INTO product_slots VALUES(31,131); -INSERT INTO product_slots VALUES(31,132); -INSERT INTO product_slots VALUES(31,133); -INSERT INTO product_slots VALUES(31,134); -INSERT INTO product_slots VALUES(31,135); -INSERT INTO product_slots VALUES(31,136); -INSERT INTO product_slots VALUES(31,137); -INSERT INTO product_slots VALUES(31,138); -INSERT INTO product_slots VALUES(31,139); -INSERT INTO product_slots VALUES(31,140); -INSERT INTO product_slots VALUES(31,141); -INSERT INTO product_slots VALUES(31,142); -INSERT INTO product_slots VALUES(31,143); -INSERT INTO product_slots VALUES(31,144); -INSERT INTO product_slots VALUES(31,145); -INSERT INTO product_slots VALUES(31,146); -INSERT INTO product_slots VALUES(31,147); -INSERT INTO product_slots VALUES(31,148); -INSERT INTO product_slots VALUES(31,149); -INSERT INTO product_slots VALUES(31,150); -INSERT INTO product_slots VALUES(31,151); -INSERT INTO product_slots VALUES(31,152); -INSERT INTO product_slots VALUES(31,153); -INSERT INTO product_slots VALUES(31,154); -INSERT INTO product_slots VALUES(31,155); -INSERT INTO product_slots VALUES(31,156); -INSERT INTO product_slots VALUES(31,157); -INSERT INTO product_slots VALUES(31,158); -INSERT INTO product_slots VALUES(31,159); -INSERT INTO product_slots VALUES(31,160); -INSERT INTO product_slots VALUES(31,161); -INSERT INTO product_slots VALUES(31,162); -INSERT INTO product_slots VALUES(31,163); -INSERT INTO product_slots VALUES(31,164); -INSERT INTO product_slots VALUES(31,165); -INSERT INTO product_slots VALUES(31,166); -INSERT INTO product_slots VALUES(31,167); -INSERT INTO product_slots VALUES(31,168); -INSERT INTO product_slots VALUES(31,169); -INSERT INTO product_slots VALUES(31,170); -INSERT INTO product_slots VALUES(31,171); -INSERT INTO product_slots VALUES(31,172); -INSERT INTO product_slots VALUES(31,173); -INSERT INTO product_slots VALUES(31,174); -INSERT INTO product_slots VALUES(31,175); -INSERT INTO product_slots VALUES(31,176); -INSERT INTO product_slots VALUES(31,177); -INSERT INTO product_slots VALUES(31,178); -INSERT INTO product_slots VALUES(31,179); -INSERT INTO product_slots VALUES(31,180); -INSERT INTO product_slots VALUES(31,181); -INSERT INTO product_slots VALUES(31,182); -INSERT INTO product_slots VALUES(31,183); -INSERT INTO product_slots VALUES(31,184); -INSERT INTO product_slots VALUES(31,185); -INSERT INTO product_slots VALUES(31,186); -INSERT INTO product_slots VALUES(31,187); -INSERT INTO product_slots VALUES(31,188); -INSERT INTO product_slots VALUES(31,189); -INSERT INTO product_slots VALUES(31,190); -INSERT INTO product_slots VALUES(31,191); -INSERT INTO product_slots VALUES(31,192); -INSERT INTO product_slots VALUES(31,193); -INSERT INTO product_slots VALUES(31,194); -INSERT INTO product_slots VALUES(31,195); -INSERT INTO product_slots VALUES(31,196); -INSERT INTO product_slots VALUES(31,197); -INSERT INTO product_slots VALUES(31,198); -INSERT INTO product_slots VALUES(31,199); -INSERT INTO product_slots VALUES(31,200); -INSERT INTO product_slots VALUES(31,201); -INSERT INTO product_slots VALUES(31,202); -INSERT INTO product_slots VALUES(31,203); -INSERT INTO product_slots VALUES(31,204); -INSERT INTO product_slots VALUES(31,205); -INSERT INTO product_slots VALUES(31,206); -INSERT INTO product_slots VALUES(31,207); -INSERT INTO product_slots VALUES(31,208); -INSERT INTO product_slots VALUES(31,209); -INSERT INTO product_slots VALUES(31,210); -INSERT INTO product_slots VALUES(31,211); -INSERT INTO product_slots VALUES(31,212); -INSERT INTO product_slots VALUES(31,213); -INSERT INTO product_slots VALUES(31,214); -INSERT INTO product_slots VALUES(31,215); -INSERT INTO product_slots VALUES(31,216); -INSERT INTO product_slots VALUES(31,217); -INSERT INTO product_slots VALUES(31,218); -INSERT INTO product_slots VALUES(31,219); -INSERT INTO product_slots VALUES(31,220); -INSERT INTO product_slots VALUES(31,221); -INSERT INTO product_slots VALUES(31,222); -INSERT INTO product_slots VALUES(31,223); -INSERT INTO product_slots VALUES(31,224); -INSERT INTO product_slots VALUES(31,225); -INSERT INTO product_slots VALUES(31,226); -INSERT INTO product_slots VALUES(31,227); -INSERT INTO product_slots VALUES(31,228); -INSERT INTO product_slots VALUES(31,229); -INSERT INTO product_slots VALUES(31,230); -INSERT INTO product_slots VALUES(31,231); -INSERT INTO product_slots VALUES(31,232); -INSERT INTO product_slots VALUES(31,233); -INSERT INTO product_slots VALUES(31,234); -INSERT INTO product_slots VALUES(31,235); -INSERT INTO product_slots VALUES(31,236); -INSERT INTO product_slots VALUES(31,237); -INSERT INTO product_slots VALUES(31,238); -INSERT INTO product_slots VALUES(31,239); -INSERT INTO product_slots VALUES(31,240); -INSERT INTO product_slots VALUES(31,241); -INSERT INTO product_slots VALUES(31,242); -INSERT INTO product_slots VALUES(31,243); -INSERT INTO product_slots VALUES(31,244); -INSERT INTO product_slots VALUES(31,274); -INSERT INTO product_slots VALUES(31,275); -INSERT INTO product_slots VALUES(31,279); -INSERT INTO product_slots VALUES(31,280); -INSERT INTO product_slots VALUES(31,281); -INSERT INTO product_slots VALUES(31,282); -INSERT INTO product_slots VALUES(31,283); -INSERT INTO product_slots VALUES(31,284); -INSERT INTO product_slots VALUES(31,285); -INSERT INTO product_slots VALUES(31,286); -INSERT INTO product_slots VALUES(31,287); -INSERT INTO product_slots VALUES(32,18); -INSERT INTO product_slots VALUES(32,20); -INSERT INTO product_slots VALUES(32,21); -INSERT INTO product_slots VALUES(32,33); -INSERT INTO product_slots VALUES(32,35); -INSERT INTO product_slots VALUES(32,37); -INSERT INTO product_slots VALUES(32,38); -INSERT INTO product_slots VALUES(32,39); -INSERT INTO product_slots VALUES(32,40); -INSERT INTO product_slots VALUES(32,41); -INSERT INTO product_slots VALUES(32,43); -INSERT INTO product_slots VALUES(32,44); -INSERT INTO product_slots VALUES(32,45); -INSERT INTO product_slots VALUES(32,46); -INSERT INTO product_slots VALUES(32,47); -INSERT INTO product_slots VALUES(32,48); -INSERT INTO product_slots VALUES(32,49); -INSERT INTO product_slots VALUES(32,50); -INSERT INTO product_slots VALUES(32,51); -INSERT INTO product_slots VALUES(32,52); -INSERT INTO product_slots VALUES(32,53); -INSERT INTO product_slots VALUES(32,54); -INSERT INTO product_slots VALUES(32,55); -INSERT INTO product_slots VALUES(32,56); -INSERT INTO product_slots VALUES(32,57); -INSERT INTO product_slots VALUES(32,58); -INSERT INTO product_slots VALUES(32,59); -INSERT INTO product_slots VALUES(32,60); -INSERT INTO product_slots VALUES(32,61); -INSERT INTO product_slots VALUES(32,62); -INSERT INTO product_slots VALUES(32,63); -INSERT INTO product_slots VALUES(32,64); -INSERT INTO product_slots VALUES(32,65); -INSERT INTO product_slots VALUES(32,66); -INSERT INTO product_slots VALUES(32,67); -INSERT INTO product_slots VALUES(32,68); -INSERT INTO product_slots VALUES(32,69); -INSERT INTO product_slots VALUES(32,70); -INSERT INTO product_slots VALUES(32,71); -INSERT INTO product_slots VALUES(32,72); -INSERT INTO product_slots VALUES(32,73); -INSERT INTO product_slots VALUES(32,74); -INSERT INTO product_slots VALUES(32,75); -INSERT INTO product_slots VALUES(32,76); -INSERT INTO product_slots VALUES(32,77); -INSERT INTO product_slots VALUES(32,78); -INSERT INTO product_slots VALUES(32,79); -INSERT INTO product_slots VALUES(32,80); -INSERT INTO product_slots VALUES(32,81); -INSERT INTO product_slots VALUES(32,82); -INSERT INTO product_slots VALUES(32,83); -INSERT INTO product_slots VALUES(32,84); -INSERT INTO product_slots VALUES(32,85); -INSERT INTO product_slots VALUES(32,86); -INSERT INTO product_slots VALUES(32,87); -INSERT INTO product_slots VALUES(32,88); -INSERT INTO product_slots VALUES(32,89); -INSERT INTO product_slots VALUES(32,90); -INSERT INTO product_slots VALUES(32,91); -INSERT INTO product_slots VALUES(32,92); -INSERT INTO product_slots VALUES(32,93); -INSERT INTO product_slots VALUES(32,94); -INSERT INTO product_slots VALUES(32,95); -INSERT INTO product_slots VALUES(32,96); -INSERT INTO product_slots VALUES(32,97); -INSERT INTO product_slots VALUES(32,98); -INSERT INTO product_slots VALUES(32,99); -INSERT INTO product_slots VALUES(32,100); -INSERT INTO product_slots VALUES(32,101); -INSERT INTO product_slots VALUES(32,102); -INSERT INTO product_slots VALUES(32,103); -INSERT INTO product_slots VALUES(32,104); -INSERT INTO product_slots VALUES(32,105); -INSERT INTO product_slots VALUES(32,106); -INSERT INTO product_slots VALUES(32,107); -INSERT INTO product_slots VALUES(32,108); -INSERT INTO product_slots VALUES(32,109); -INSERT INTO product_slots VALUES(32,110); -INSERT INTO product_slots VALUES(32,111); -INSERT INTO product_slots VALUES(32,112); -INSERT INTO product_slots VALUES(32,113); -INSERT INTO product_slots VALUES(32,114); -INSERT INTO product_slots VALUES(32,115); -INSERT INTO product_slots VALUES(32,116); -INSERT INTO product_slots VALUES(32,117); -INSERT INTO product_slots VALUES(32,118); -INSERT INTO product_slots VALUES(32,119); -INSERT INTO product_slots VALUES(32,120); -INSERT INTO product_slots VALUES(32,121); -INSERT INTO product_slots VALUES(32,122); -INSERT INTO product_slots VALUES(32,123); -INSERT INTO product_slots VALUES(32,124); -INSERT INTO product_slots VALUES(32,125); -INSERT INTO product_slots VALUES(32,126); -INSERT INTO product_slots VALUES(32,127); -INSERT INTO product_slots VALUES(32,128); -INSERT INTO product_slots VALUES(32,129); -INSERT INTO product_slots VALUES(32,130); -INSERT INTO product_slots VALUES(32,131); -INSERT INTO product_slots VALUES(32,132); -INSERT INTO product_slots VALUES(32,133); -INSERT INTO product_slots VALUES(32,134); -INSERT INTO product_slots VALUES(32,135); -INSERT INTO product_slots VALUES(32,136); -INSERT INTO product_slots VALUES(32,137); -INSERT INTO product_slots VALUES(32,138); -INSERT INTO product_slots VALUES(32,139); -INSERT INTO product_slots VALUES(32,140); -INSERT INTO product_slots VALUES(32,141); -INSERT INTO product_slots VALUES(32,142); -INSERT INTO product_slots VALUES(32,143); -INSERT INTO product_slots VALUES(32,144); -INSERT INTO product_slots VALUES(32,145); -INSERT INTO product_slots VALUES(32,146); -INSERT INTO product_slots VALUES(32,147); -INSERT INTO product_slots VALUES(32,148); -INSERT INTO product_slots VALUES(32,149); -INSERT INTO product_slots VALUES(32,150); -INSERT INTO product_slots VALUES(32,151); -INSERT INTO product_slots VALUES(32,152); -INSERT INTO product_slots VALUES(32,153); -INSERT INTO product_slots VALUES(32,154); -INSERT INTO product_slots VALUES(32,155); -INSERT INTO product_slots VALUES(32,156); -INSERT INTO product_slots VALUES(32,157); -INSERT INTO product_slots VALUES(32,158); -INSERT INTO product_slots VALUES(32,159); -INSERT INTO product_slots VALUES(32,160); -INSERT INTO product_slots VALUES(32,161); -INSERT INTO product_slots VALUES(32,162); -INSERT INTO product_slots VALUES(32,163); -INSERT INTO product_slots VALUES(32,164); -INSERT INTO product_slots VALUES(32,165); -INSERT INTO product_slots VALUES(32,166); -INSERT INTO product_slots VALUES(32,167); -INSERT INTO product_slots VALUES(32,168); -INSERT INTO product_slots VALUES(32,169); -INSERT INTO product_slots VALUES(32,170); -INSERT INTO product_slots VALUES(32,171); -INSERT INTO product_slots VALUES(32,172); -INSERT INTO product_slots VALUES(32,173); -INSERT INTO product_slots VALUES(32,174); -INSERT INTO product_slots VALUES(32,175); -INSERT INTO product_slots VALUES(32,176); -INSERT INTO product_slots VALUES(32,177); -INSERT INTO product_slots VALUES(32,178); -INSERT INTO product_slots VALUES(32,179); -INSERT INTO product_slots VALUES(32,180); -INSERT INTO product_slots VALUES(32,181); -INSERT INTO product_slots VALUES(32,182); -INSERT INTO product_slots VALUES(32,183); -INSERT INTO product_slots VALUES(32,184); -INSERT INTO product_slots VALUES(32,185); -INSERT INTO product_slots VALUES(32,186); -INSERT INTO product_slots VALUES(32,187); -INSERT INTO product_slots VALUES(32,188); -INSERT INTO product_slots VALUES(32,189); -INSERT INTO product_slots VALUES(32,190); -INSERT INTO product_slots VALUES(32,191); -INSERT INTO product_slots VALUES(32,192); -INSERT INTO product_slots VALUES(32,193); -INSERT INTO product_slots VALUES(32,194); -INSERT INTO product_slots VALUES(32,195); -INSERT INTO product_slots VALUES(32,196); -INSERT INTO product_slots VALUES(32,197); -INSERT INTO product_slots VALUES(32,198); -INSERT INTO product_slots VALUES(32,199); -INSERT INTO product_slots VALUES(32,200); -INSERT INTO product_slots VALUES(32,201); -INSERT INTO product_slots VALUES(32,202); -INSERT INTO product_slots VALUES(32,203); -INSERT INTO product_slots VALUES(32,204); -INSERT INTO product_slots VALUES(32,205); -INSERT INTO product_slots VALUES(32,206); -INSERT INTO product_slots VALUES(32,207); -INSERT INTO product_slots VALUES(32,208); -INSERT INTO product_slots VALUES(32,209); -INSERT INTO product_slots VALUES(32,210); -INSERT INTO product_slots VALUES(32,211); -INSERT INTO product_slots VALUES(32,212); -INSERT INTO product_slots VALUES(32,213); -INSERT INTO product_slots VALUES(32,214); -INSERT INTO product_slots VALUES(32,215); -INSERT INTO product_slots VALUES(32,216); -INSERT INTO product_slots VALUES(32,217); -INSERT INTO product_slots VALUES(32,218); -INSERT INTO product_slots VALUES(32,219); -INSERT INTO product_slots VALUES(32,220); -INSERT INTO product_slots VALUES(32,221); -INSERT INTO product_slots VALUES(32,222); -INSERT INTO product_slots VALUES(32,223); -INSERT INTO product_slots VALUES(32,224); -INSERT INTO product_slots VALUES(32,225); -INSERT INTO product_slots VALUES(32,226); -INSERT INTO product_slots VALUES(32,227); -INSERT INTO product_slots VALUES(32,228); -INSERT INTO product_slots VALUES(32,229); -INSERT INTO product_slots VALUES(32,230); -INSERT INTO product_slots VALUES(32,231); -INSERT INTO product_slots VALUES(32,232); -INSERT INTO product_slots VALUES(32,233); -INSERT INTO product_slots VALUES(32,234); -INSERT INTO product_slots VALUES(32,235); -INSERT INTO product_slots VALUES(32,236); -INSERT INTO product_slots VALUES(32,237); -INSERT INTO product_slots VALUES(32,238); -INSERT INTO product_slots VALUES(32,239); -INSERT INTO product_slots VALUES(32,240); -INSERT INTO product_slots VALUES(32,241); -INSERT INTO product_slots VALUES(32,242); -INSERT INTO product_slots VALUES(32,243); -INSERT INTO product_slots VALUES(32,244); -INSERT INTO product_slots VALUES(32,274); -INSERT INTO product_slots VALUES(32,275); -INSERT INTO product_slots VALUES(32,279); -INSERT INTO product_slots VALUES(32,280); -INSERT INTO product_slots VALUES(32,281); -INSERT INTO product_slots VALUES(32,282); -INSERT INTO product_slots VALUES(32,283); -INSERT INTO product_slots VALUES(32,284); -INSERT INTO product_slots VALUES(32,285); -INSERT INTO product_slots VALUES(32,286); -INSERT INTO product_slots VALUES(32,287); -INSERT INTO product_slots VALUES(33,18); -INSERT INTO product_slots VALUES(33,20); -INSERT INTO product_slots VALUES(33,21); -INSERT INTO product_slots VALUES(33,33); -INSERT INTO product_slots VALUES(33,35); -INSERT INTO product_slots VALUES(33,37); -INSERT INTO product_slots VALUES(33,38); -INSERT INTO product_slots VALUES(33,39); -INSERT INTO product_slots VALUES(33,40); -INSERT INTO product_slots VALUES(33,44); -INSERT INTO product_slots VALUES(33,46); -INSERT INTO product_slots VALUES(33,47); -INSERT INTO product_slots VALUES(33,48); -INSERT INTO product_slots VALUES(33,49); -INSERT INTO product_slots VALUES(33,50); -INSERT INTO product_slots VALUES(33,51); -INSERT INTO product_slots VALUES(33,52); -INSERT INTO product_slots VALUES(33,53); -INSERT INTO product_slots VALUES(33,54); -INSERT INTO product_slots VALUES(33,55); -INSERT INTO product_slots VALUES(33,56); -INSERT INTO product_slots VALUES(33,57); -INSERT INTO product_slots VALUES(33,58); -INSERT INTO product_slots VALUES(33,59); -INSERT INTO product_slots VALUES(33,60); -INSERT INTO product_slots VALUES(33,61); -INSERT INTO product_slots VALUES(33,62); -INSERT INTO product_slots VALUES(33,63); -INSERT INTO product_slots VALUES(33,64); -INSERT INTO product_slots VALUES(33,65); -INSERT INTO product_slots VALUES(33,66); -INSERT INTO product_slots VALUES(33,67); -INSERT INTO product_slots VALUES(33,68); -INSERT INTO product_slots VALUES(33,69); -INSERT INTO product_slots VALUES(33,70); -INSERT INTO product_slots VALUES(33,71); -INSERT INTO product_slots VALUES(33,72); -INSERT INTO product_slots VALUES(33,73); -INSERT INTO product_slots VALUES(33,74); -INSERT INTO product_slots VALUES(33,75); -INSERT INTO product_slots VALUES(33,76); -INSERT INTO product_slots VALUES(33,77); -INSERT INTO product_slots VALUES(33,78); -INSERT INTO product_slots VALUES(33,79); -INSERT INTO product_slots VALUES(33,80); -INSERT INTO product_slots VALUES(33,81); -INSERT INTO product_slots VALUES(33,82); -INSERT INTO product_slots VALUES(33,83); -INSERT INTO product_slots VALUES(33,84); -INSERT INTO product_slots VALUES(33,85); -INSERT INTO product_slots VALUES(33,86); -INSERT INTO product_slots VALUES(33,87); -INSERT INTO product_slots VALUES(33,88); -INSERT INTO product_slots VALUES(33,89); -INSERT INTO product_slots VALUES(33,90); -INSERT INTO product_slots VALUES(33,91); -INSERT INTO product_slots VALUES(33,92); -INSERT INTO product_slots VALUES(33,93); -INSERT INTO product_slots VALUES(33,94); -INSERT INTO product_slots VALUES(33,95); -INSERT INTO product_slots VALUES(33,96); -INSERT INTO product_slots VALUES(33,97); -INSERT INTO product_slots VALUES(33,98); -INSERT INTO product_slots VALUES(33,99); -INSERT INTO product_slots VALUES(33,100); -INSERT INTO product_slots VALUES(33,101); -INSERT INTO product_slots VALUES(33,102); -INSERT INTO product_slots VALUES(33,103); -INSERT INTO product_slots VALUES(33,104); -INSERT INTO product_slots VALUES(33,105); -INSERT INTO product_slots VALUES(33,106); -INSERT INTO product_slots VALUES(33,107); -INSERT INTO product_slots VALUES(33,108); -INSERT INTO product_slots VALUES(33,109); -INSERT INTO product_slots VALUES(33,110); -INSERT INTO product_slots VALUES(33,111); -INSERT INTO product_slots VALUES(33,112); -INSERT INTO product_slots VALUES(33,113); -INSERT INTO product_slots VALUES(33,114); -INSERT INTO product_slots VALUES(33,115); -INSERT INTO product_slots VALUES(33,116); -INSERT INTO product_slots VALUES(33,117); -INSERT INTO product_slots VALUES(33,118); -INSERT INTO product_slots VALUES(33,119); -INSERT INTO product_slots VALUES(33,120); -INSERT INTO product_slots VALUES(33,121); -INSERT INTO product_slots VALUES(33,122); -INSERT INTO product_slots VALUES(33,123); -INSERT INTO product_slots VALUES(33,124); -INSERT INTO product_slots VALUES(33,125); -INSERT INTO product_slots VALUES(33,126); -INSERT INTO product_slots VALUES(33,127); -INSERT INTO product_slots VALUES(33,128); -INSERT INTO product_slots VALUES(33,129); -INSERT INTO product_slots VALUES(33,130); -INSERT INTO product_slots VALUES(33,131); -INSERT INTO product_slots VALUES(33,132); -INSERT INTO product_slots VALUES(33,133); -INSERT INTO product_slots VALUES(33,134); -INSERT INTO product_slots VALUES(33,135); -INSERT INTO product_slots VALUES(33,136); -INSERT INTO product_slots VALUES(33,137); -INSERT INTO product_slots VALUES(33,138); -INSERT INTO product_slots VALUES(33,139); -INSERT INTO product_slots VALUES(33,140); -INSERT INTO product_slots VALUES(33,141); -INSERT INTO product_slots VALUES(33,142); -INSERT INTO product_slots VALUES(33,143); -INSERT INTO product_slots VALUES(33,144); -INSERT INTO product_slots VALUES(33,145); -INSERT INTO product_slots VALUES(33,146); -INSERT INTO product_slots VALUES(33,147); -INSERT INTO product_slots VALUES(33,148); -INSERT INTO product_slots VALUES(33,149); -INSERT INTO product_slots VALUES(33,150); -INSERT INTO product_slots VALUES(33,151); -INSERT INTO product_slots VALUES(33,152); -INSERT INTO product_slots VALUES(33,153); -INSERT INTO product_slots VALUES(33,154); -INSERT INTO product_slots VALUES(33,155); -INSERT INTO product_slots VALUES(33,156); -INSERT INTO product_slots VALUES(33,157); -INSERT INTO product_slots VALUES(33,158); -INSERT INTO product_slots VALUES(33,159); -INSERT INTO product_slots VALUES(33,160); -INSERT INTO product_slots VALUES(33,161); -INSERT INTO product_slots VALUES(33,162); -INSERT INTO product_slots VALUES(33,163); -INSERT INTO product_slots VALUES(33,164); -INSERT INTO product_slots VALUES(33,165); -INSERT INTO product_slots VALUES(33,166); -INSERT INTO product_slots VALUES(33,167); -INSERT INTO product_slots VALUES(33,168); -INSERT INTO product_slots VALUES(33,169); -INSERT INTO product_slots VALUES(33,170); -INSERT INTO product_slots VALUES(33,171); -INSERT INTO product_slots VALUES(33,172); -INSERT INTO product_slots VALUES(33,173); -INSERT INTO product_slots VALUES(33,174); -INSERT INTO product_slots VALUES(33,175); -INSERT INTO product_slots VALUES(33,176); -INSERT INTO product_slots VALUES(33,177); -INSERT INTO product_slots VALUES(33,178); -INSERT INTO product_slots VALUES(33,179); -INSERT INTO product_slots VALUES(33,180); -INSERT INTO product_slots VALUES(33,181); -INSERT INTO product_slots VALUES(33,182); -INSERT INTO product_slots VALUES(33,183); -INSERT INTO product_slots VALUES(33,184); -INSERT INTO product_slots VALUES(33,185); -INSERT INTO product_slots VALUES(33,186); -INSERT INTO product_slots VALUES(33,187); -INSERT INTO product_slots VALUES(33,188); -INSERT INTO product_slots VALUES(33,189); -INSERT INTO product_slots VALUES(33,190); -INSERT INTO product_slots VALUES(33,191); -INSERT INTO product_slots VALUES(33,192); -INSERT INTO product_slots VALUES(33,193); -INSERT INTO product_slots VALUES(33,194); -INSERT INTO product_slots VALUES(33,195); -INSERT INTO product_slots VALUES(33,196); -INSERT INTO product_slots VALUES(33,197); -INSERT INTO product_slots VALUES(33,198); -INSERT INTO product_slots VALUES(33,199); -INSERT INTO product_slots VALUES(33,200); -INSERT INTO product_slots VALUES(33,201); -INSERT INTO product_slots VALUES(33,202); -INSERT INTO product_slots VALUES(33,203); -INSERT INTO product_slots VALUES(33,204); -INSERT INTO product_slots VALUES(33,205); -INSERT INTO product_slots VALUES(33,206); -INSERT INTO product_slots VALUES(33,207); -INSERT INTO product_slots VALUES(33,208); -INSERT INTO product_slots VALUES(33,209); -INSERT INTO product_slots VALUES(33,210); -INSERT INTO product_slots VALUES(33,211); -INSERT INTO product_slots VALUES(33,212); -INSERT INTO product_slots VALUES(33,213); -INSERT INTO product_slots VALUES(33,214); -INSERT INTO product_slots VALUES(33,215); -INSERT INTO product_slots VALUES(33,216); -INSERT INTO product_slots VALUES(33,217); -INSERT INTO product_slots VALUES(33,218); -INSERT INTO product_slots VALUES(33,219); -INSERT INTO product_slots VALUES(33,220); -INSERT INTO product_slots VALUES(33,221); -INSERT INTO product_slots VALUES(33,222); -INSERT INTO product_slots VALUES(33,223); -INSERT INTO product_slots VALUES(33,224); -INSERT INTO product_slots VALUES(33,225); -INSERT INTO product_slots VALUES(33,226); -INSERT INTO product_slots VALUES(33,227); -INSERT INTO product_slots VALUES(33,228); -INSERT INTO product_slots VALUES(33,229); -INSERT INTO product_slots VALUES(33,230); -INSERT INTO product_slots VALUES(33,231); -INSERT INTO product_slots VALUES(33,232); -INSERT INTO product_slots VALUES(33,233); -INSERT INTO product_slots VALUES(33,234); -INSERT INTO product_slots VALUES(33,235); -INSERT INTO product_slots VALUES(33,236); -INSERT INTO product_slots VALUES(33,237); -INSERT INTO product_slots VALUES(33,238); -INSERT INTO product_slots VALUES(33,239); -INSERT INTO product_slots VALUES(33,240); -INSERT INTO product_slots VALUES(33,241); -INSERT INTO product_slots VALUES(33,242); -INSERT INTO product_slots VALUES(33,243); -INSERT INTO product_slots VALUES(33,244); -INSERT INTO product_slots VALUES(33,274); -INSERT INTO product_slots VALUES(33,275); -INSERT INTO product_slots VALUES(33,279); -INSERT INTO product_slots VALUES(33,280); -INSERT INTO product_slots VALUES(33,281); -INSERT INTO product_slots VALUES(33,282); -INSERT INTO product_slots VALUES(33,283); -INSERT INTO product_slots VALUES(33,284); -INSERT INTO product_slots VALUES(33,285); -INSERT INTO product_slots VALUES(33,286); -INSERT INTO product_slots VALUES(33,287); -INSERT INTO product_slots VALUES(34,18); -INSERT INTO product_slots VALUES(34,20); -INSERT INTO product_slots VALUES(34,21); -INSERT INTO product_slots VALUES(34,33); -INSERT INTO product_slots VALUES(34,35); -INSERT INTO product_slots VALUES(34,37); -INSERT INTO product_slots VALUES(34,38); -INSERT INTO product_slots VALUES(34,40); -INSERT INTO product_slots VALUES(34,82); -INSERT INTO product_slots VALUES(34,87); -INSERT INTO product_slots VALUES(34,279); -INSERT INTO product_slots VALUES(35,18); -INSERT INTO product_slots VALUES(35,19); -INSERT INTO product_slots VALUES(35,20); -INSERT INTO product_slots VALUES(35,21); -INSERT INTO product_slots VALUES(35,22); -INSERT INTO product_slots VALUES(35,33); -INSERT INTO product_slots VALUES(35,35); -INSERT INTO product_slots VALUES(35,37); -INSERT INTO product_slots VALUES(35,38); -INSERT INTO product_slots VALUES(35,39); -INSERT INTO product_slots VALUES(35,40); -INSERT INTO product_slots VALUES(35,41); -INSERT INTO product_slots VALUES(35,43); -INSERT INTO product_slots VALUES(35,45); -INSERT INTO product_slots VALUES(35,46); -INSERT INTO product_slots VALUES(35,47); -INSERT INTO product_slots VALUES(35,48); -INSERT INTO product_slots VALUES(35,49); -INSERT INTO product_slots VALUES(35,50); -INSERT INTO product_slots VALUES(35,51); -INSERT INTO product_slots VALUES(35,52); -INSERT INTO product_slots VALUES(35,53); -INSERT INTO product_slots VALUES(35,54); -INSERT INTO product_slots VALUES(35,55); -INSERT INTO product_slots VALUES(35,56); -INSERT INTO product_slots VALUES(35,57); -INSERT INTO product_slots VALUES(35,58); -INSERT INTO product_slots VALUES(35,59); -INSERT INTO product_slots VALUES(35,60); -INSERT INTO product_slots VALUES(35,61); -INSERT INTO product_slots VALUES(35,62); -INSERT INTO product_slots VALUES(35,63); -INSERT INTO product_slots VALUES(35,64); -INSERT INTO product_slots VALUES(35,65); -INSERT INTO product_slots VALUES(35,66); -INSERT INTO product_slots VALUES(35,67); -INSERT INTO product_slots VALUES(35,68); -INSERT INTO product_slots VALUES(35,69); -INSERT INTO product_slots VALUES(35,70); -INSERT INTO product_slots VALUES(35,71); -INSERT INTO product_slots VALUES(35,74); -INSERT INTO product_slots VALUES(35,75); -INSERT INTO product_slots VALUES(35,76); -INSERT INTO product_slots VALUES(35,77); -INSERT INTO product_slots VALUES(35,78); -INSERT INTO product_slots VALUES(35,81); -INSERT INTO product_slots VALUES(35,82); -INSERT INTO product_slots VALUES(35,83); -INSERT INTO product_slots VALUES(35,84); -INSERT INTO product_slots VALUES(35,87); -INSERT INTO product_slots VALUES(35,88); -INSERT INTO product_slots VALUES(35,89); -INSERT INTO product_slots VALUES(35,90); -INSERT INTO product_slots VALUES(35,91); -INSERT INTO product_slots VALUES(35,95); -INSERT INTO product_slots VALUES(35,96); -INSERT INTO product_slots VALUES(35,97); -INSERT INTO product_slots VALUES(35,98); -INSERT INTO product_slots VALUES(35,101); -INSERT INTO product_slots VALUES(35,102); -INSERT INTO product_slots VALUES(35,103); -INSERT INTO product_slots VALUES(35,104); -INSERT INTO product_slots VALUES(35,109); -INSERT INTO product_slots VALUES(35,110); -INSERT INTO product_slots VALUES(35,111); -INSERT INTO product_slots VALUES(35,112); -INSERT INTO product_slots VALUES(35,116); -INSERT INTO product_slots VALUES(35,117); -INSERT INTO product_slots VALUES(35,118); -INSERT INTO product_slots VALUES(35,119); -INSERT INTO product_slots VALUES(35,120); -INSERT INTO product_slots VALUES(35,123); -INSERT INTO product_slots VALUES(35,124); -INSERT INTO product_slots VALUES(35,125); -INSERT INTO product_slots VALUES(35,126); -INSERT INTO product_slots VALUES(35,130); -INSERT INTO product_slots VALUES(35,131); -INSERT INTO product_slots VALUES(35,132); -INSERT INTO product_slots VALUES(35,133); -INSERT INTO product_slots VALUES(35,137); -INSERT INTO product_slots VALUES(35,138); -INSERT INTO product_slots VALUES(35,139); -INSERT INTO product_slots VALUES(35,140); -INSERT INTO product_slots VALUES(35,144); -INSERT INTO product_slots VALUES(35,145); -INSERT INTO product_slots VALUES(35,146); -INSERT INTO product_slots VALUES(35,147); -INSERT INTO product_slots VALUES(35,148); -INSERT INTO product_slots VALUES(35,149); -INSERT INTO product_slots VALUES(35,150); -INSERT INTO product_slots VALUES(35,151); -INSERT INTO product_slots VALUES(35,155); -INSERT INTO product_slots VALUES(35,156); -INSERT INTO product_slots VALUES(35,157); -INSERT INTO product_slots VALUES(35,158); -INSERT INTO product_slots VALUES(35,162); -INSERT INTO product_slots VALUES(35,163); -INSERT INTO product_slots VALUES(35,164); -INSERT INTO product_slots VALUES(35,165); -INSERT INTO product_slots VALUES(35,166); -INSERT INTO product_slots VALUES(35,169); -INSERT INTO product_slots VALUES(35,170); -INSERT INTO product_slots VALUES(35,171); -INSERT INTO product_slots VALUES(35,172); -INSERT INTO product_slots VALUES(35,176); -INSERT INTO product_slots VALUES(35,177); -INSERT INTO product_slots VALUES(35,178); -INSERT INTO product_slots VALUES(35,179); -INSERT INTO product_slots VALUES(35,183); -INSERT INTO product_slots VALUES(35,184); -INSERT INTO product_slots VALUES(35,185); -INSERT INTO product_slots VALUES(35,186); -INSERT INTO product_slots VALUES(35,187); -INSERT INTO product_slots VALUES(35,188); -INSERT INTO product_slots VALUES(35,189); -INSERT INTO product_slots VALUES(35,190); -INSERT INTO product_slots VALUES(35,191); -INSERT INTO product_slots VALUES(35,192); -INSERT INTO product_slots VALUES(35,193); -INSERT INTO product_slots VALUES(35,194); -INSERT INTO product_slots VALUES(35,198); -INSERT INTO product_slots VALUES(35,199); -INSERT INTO product_slots VALUES(35,200); -INSERT INTO product_slots VALUES(35,201); -INSERT INTO product_slots VALUES(35,202); -INSERT INTO product_slots VALUES(35,203); -INSERT INTO product_slots VALUES(35,205); -INSERT INTO product_slots VALUES(35,208); -INSERT INTO product_slots VALUES(35,209); -INSERT INTO product_slots VALUES(35,210); -INSERT INTO product_slots VALUES(35,211); -INSERT INTO product_slots VALUES(35,216); -INSERT INTO product_slots VALUES(35,217); -INSERT INTO product_slots VALUES(35,218); -INSERT INTO product_slots VALUES(35,219); -INSERT INTO product_slots VALUES(35,220); -INSERT INTO product_slots VALUES(35,223); -INSERT INTO product_slots VALUES(35,224); -INSERT INTO product_slots VALUES(35,225); -INSERT INTO product_slots VALUES(35,226); -INSERT INTO product_slots VALUES(35,230); -INSERT INTO product_slots VALUES(35,231); -INSERT INTO product_slots VALUES(35,232); -INSERT INTO product_slots VALUES(35,234); -INSERT INTO product_slots VALUES(35,237); -INSERT INTO product_slots VALUES(35,238); -INSERT INTO product_slots VALUES(35,239); -INSERT INTO product_slots VALUES(35,240); -INSERT INTO product_slots VALUES(35,274); -INSERT INTO product_slots VALUES(35,275); -INSERT INTO product_slots VALUES(35,277); -INSERT INTO product_slots VALUES(35,278); -INSERT INTO product_slots VALUES(35,279); -INSERT INTO product_slots VALUES(36,18); -INSERT INTO product_slots VALUES(36,19); -INSERT INTO product_slots VALUES(36,20); -INSERT INTO product_slots VALUES(36,21); -INSERT INTO product_slots VALUES(36,22); -INSERT INTO product_slots VALUES(36,23); -INSERT INTO product_slots VALUES(36,31); -INSERT INTO product_slots VALUES(36,33); -INSERT INTO product_slots VALUES(36,35); -INSERT INTO product_slots VALUES(36,37); -INSERT INTO product_slots VALUES(36,38); -INSERT INTO product_slots VALUES(36,39); -INSERT INTO product_slots VALUES(36,40); -INSERT INTO product_slots VALUES(36,41); -INSERT INTO product_slots VALUES(36,43); -INSERT INTO product_slots VALUES(36,45); -INSERT INTO product_slots VALUES(36,46); -INSERT INTO product_slots VALUES(36,47); -INSERT INTO product_slots VALUES(36,48); -INSERT INTO product_slots VALUES(36,49); -INSERT INTO product_slots VALUES(36,50); -INSERT INTO product_slots VALUES(36,51); -INSERT INTO product_slots VALUES(36,52); -INSERT INTO product_slots VALUES(36,53); -INSERT INTO product_slots VALUES(36,54); -INSERT INTO product_slots VALUES(36,55); -INSERT INTO product_slots VALUES(36,56); -INSERT INTO product_slots VALUES(36,57); -INSERT INTO product_slots VALUES(36,58); -INSERT INTO product_slots VALUES(36,59); -INSERT INTO product_slots VALUES(36,60); -INSERT INTO product_slots VALUES(36,61); -INSERT INTO product_slots VALUES(36,62); -INSERT INTO product_slots VALUES(36,63); -INSERT INTO product_slots VALUES(36,64); -INSERT INTO product_slots VALUES(36,65); -INSERT INTO product_slots VALUES(36,66); -INSERT INTO product_slots VALUES(36,67); -INSERT INTO product_slots VALUES(36,68); -INSERT INTO product_slots VALUES(36,69); -INSERT INTO product_slots VALUES(36,70); -INSERT INTO product_slots VALUES(36,71); -INSERT INTO product_slots VALUES(36,72); -INSERT INTO product_slots VALUES(36,73); -INSERT INTO product_slots VALUES(36,74); -INSERT INTO product_slots VALUES(36,75); -INSERT INTO product_slots VALUES(36,76); -INSERT INTO product_slots VALUES(36,77); -INSERT INTO product_slots VALUES(36,78); -INSERT INTO product_slots VALUES(36,79); -INSERT INTO product_slots VALUES(36,80); -INSERT INTO product_slots VALUES(36,81); -INSERT INTO product_slots VALUES(36,82); -INSERT INTO product_slots VALUES(36,83); -INSERT INTO product_slots VALUES(36,84); -INSERT INTO product_slots VALUES(36,85); -INSERT INTO product_slots VALUES(36,86); -INSERT INTO product_slots VALUES(36,87); -INSERT INTO product_slots VALUES(36,88); -INSERT INTO product_slots VALUES(36,89); -INSERT INTO product_slots VALUES(36,90); -INSERT INTO product_slots VALUES(36,91); -INSERT INTO product_slots VALUES(36,92); -INSERT INTO product_slots VALUES(36,93); -INSERT INTO product_slots VALUES(36,94); -INSERT INTO product_slots VALUES(36,95); -INSERT INTO product_slots VALUES(36,96); -INSERT INTO product_slots VALUES(36,97); -INSERT INTO product_slots VALUES(36,98); -INSERT INTO product_slots VALUES(36,99); -INSERT INTO product_slots VALUES(36,100); -INSERT INTO product_slots VALUES(36,101); -INSERT INTO product_slots VALUES(36,102); -INSERT INTO product_slots VALUES(36,103); -INSERT INTO product_slots VALUES(36,104); -INSERT INTO product_slots VALUES(36,105); -INSERT INTO product_slots VALUES(36,106); -INSERT INTO product_slots VALUES(36,107); -INSERT INTO product_slots VALUES(36,108); -INSERT INTO product_slots VALUES(36,109); -INSERT INTO product_slots VALUES(36,110); -INSERT INTO product_slots VALUES(36,111); -INSERT INTO product_slots VALUES(36,112); -INSERT INTO product_slots VALUES(36,113); -INSERT INTO product_slots VALUES(36,114); -INSERT INTO product_slots VALUES(36,115); -INSERT INTO product_slots VALUES(36,116); -INSERT INTO product_slots VALUES(36,117); -INSERT INTO product_slots VALUES(36,118); -INSERT INTO product_slots VALUES(36,119); -INSERT INTO product_slots VALUES(36,120); -INSERT INTO product_slots VALUES(36,121); -INSERT INTO product_slots VALUES(36,122); -INSERT INTO product_slots VALUES(36,123); -INSERT INTO product_slots VALUES(36,124); -INSERT INTO product_slots VALUES(36,125); -INSERT INTO product_slots VALUES(36,126); -INSERT INTO product_slots VALUES(36,127); -INSERT INTO product_slots VALUES(36,128); -INSERT INTO product_slots VALUES(36,129); -INSERT INTO product_slots VALUES(36,130); -INSERT INTO product_slots VALUES(36,131); -INSERT INTO product_slots VALUES(36,132); -INSERT INTO product_slots VALUES(36,133); -INSERT INTO product_slots VALUES(36,134); -INSERT INTO product_slots VALUES(36,135); -INSERT INTO product_slots VALUES(36,136); -INSERT INTO product_slots VALUES(36,137); -INSERT INTO product_slots VALUES(36,138); -INSERT INTO product_slots VALUES(36,139); -INSERT INTO product_slots VALUES(36,140); -INSERT INTO product_slots VALUES(36,141); -INSERT INTO product_slots VALUES(36,142); -INSERT INTO product_slots VALUES(36,143); -INSERT INTO product_slots VALUES(36,144); -INSERT INTO product_slots VALUES(36,145); -INSERT INTO product_slots VALUES(36,146); -INSERT INTO product_slots VALUES(36,147); -INSERT INTO product_slots VALUES(36,148); -INSERT INTO product_slots VALUES(36,149); -INSERT INTO product_slots VALUES(36,150); -INSERT INTO product_slots VALUES(36,151); -INSERT INTO product_slots VALUES(36,152); -INSERT INTO product_slots VALUES(36,153); -INSERT INTO product_slots VALUES(36,154); -INSERT INTO product_slots VALUES(36,155); -INSERT INTO product_slots VALUES(36,156); -INSERT INTO product_slots VALUES(36,157); -INSERT INTO product_slots VALUES(36,158); -INSERT INTO product_slots VALUES(36,159); -INSERT INTO product_slots VALUES(36,160); -INSERT INTO product_slots VALUES(36,161); -INSERT INTO product_slots VALUES(36,162); -INSERT INTO product_slots VALUES(36,163); -INSERT INTO product_slots VALUES(36,164); -INSERT INTO product_slots VALUES(36,165); -INSERT INTO product_slots VALUES(36,166); -INSERT INTO product_slots VALUES(36,167); -INSERT INTO product_slots VALUES(36,168); -INSERT INTO product_slots VALUES(36,169); -INSERT INTO product_slots VALUES(36,170); -INSERT INTO product_slots VALUES(36,171); -INSERT INTO product_slots VALUES(36,172); -INSERT INTO product_slots VALUES(36,173); -INSERT INTO product_slots VALUES(36,174); -INSERT INTO product_slots VALUES(36,175); -INSERT INTO product_slots VALUES(36,176); -INSERT INTO product_slots VALUES(36,177); -INSERT INTO product_slots VALUES(36,178); -INSERT INTO product_slots VALUES(36,179); -INSERT INTO product_slots VALUES(36,180); -INSERT INTO product_slots VALUES(36,181); -INSERT INTO product_slots VALUES(36,182); -INSERT INTO product_slots VALUES(36,183); -INSERT INTO product_slots VALUES(36,184); -INSERT INTO product_slots VALUES(36,185); -INSERT INTO product_slots VALUES(36,186); -INSERT INTO product_slots VALUES(36,187); -INSERT INTO product_slots VALUES(36,188); -INSERT INTO product_slots VALUES(36,189); -INSERT INTO product_slots VALUES(36,190); -INSERT INTO product_slots VALUES(36,191); -INSERT INTO product_slots VALUES(36,192); -INSERT INTO product_slots VALUES(36,193); -INSERT INTO product_slots VALUES(36,194); -INSERT INTO product_slots VALUES(36,195); -INSERT INTO product_slots VALUES(36,196); -INSERT INTO product_slots VALUES(36,197); -INSERT INTO product_slots VALUES(36,198); -INSERT INTO product_slots VALUES(36,199); -INSERT INTO product_slots VALUES(36,200); -INSERT INTO product_slots VALUES(36,201); -INSERT INTO product_slots VALUES(36,202); -INSERT INTO product_slots VALUES(36,203); -INSERT INTO product_slots VALUES(36,204); -INSERT INTO product_slots VALUES(36,205); -INSERT INTO product_slots VALUES(36,206); -INSERT INTO product_slots VALUES(36,207); -INSERT INTO product_slots VALUES(36,208); -INSERT INTO product_slots VALUES(36,209); -INSERT INTO product_slots VALUES(36,210); -INSERT INTO product_slots VALUES(36,211); -INSERT INTO product_slots VALUES(36,212); -INSERT INTO product_slots VALUES(36,213); -INSERT INTO product_slots VALUES(36,214); -INSERT INTO product_slots VALUES(36,215); -INSERT INTO product_slots VALUES(36,216); -INSERT INTO product_slots VALUES(36,217); -INSERT INTO product_slots VALUES(36,218); -INSERT INTO product_slots VALUES(36,219); -INSERT INTO product_slots VALUES(36,220); -INSERT INTO product_slots VALUES(36,221); -INSERT INTO product_slots VALUES(36,222); -INSERT INTO product_slots VALUES(36,223); -INSERT INTO product_slots VALUES(36,224); -INSERT INTO product_slots VALUES(36,225); -INSERT INTO product_slots VALUES(36,226); -INSERT INTO product_slots VALUES(36,227); -INSERT INTO product_slots VALUES(36,228); -INSERT INTO product_slots VALUES(36,229); -INSERT INTO product_slots VALUES(36,230); -INSERT INTO product_slots VALUES(36,231); -INSERT INTO product_slots VALUES(36,232); -INSERT INTO product_slots VALUES(36,234); -INSERT INTO product_slots VALUES(36,235); -INSERT INTO product_slots VALUES(36,236); -INSERT INTO product_slots VALUES(36,237); -INSERT INTO product_slots VALUES(36,238); -INSERT INTO product_slots VALUES(36,239); -INSERT INTO product_slots VALUES(36,240); -INSERT INTO product_slots VALUES(36,241); -INSERT INTO product_slots VALUES(36,242); -INSERT INTO product_slots VALUES(36,243); -INSERT INTO product_slots VALUES(36,244); -INSERT INTO product_slots VALUES(36,274); -INSERT INTO product_slots VALUES(36,275); -INSERT INTO product_slots VALUES(36,279); -INSERT INTO product_slots VALUES(36,280); -INSERT INTO product_slots VALUES(36,281); -INSERT INTO product_slots VALUES(36,282); -INSERT INTO product_slots VALUES(37,18); -INSERT INTO product_slots VALUES(37,20); -INSERT INTO product_slots VALUES(37,21); -INSERT INTO product_slots VALUES(37,33); -INSERT INTO product_slots VALUES(37,35); -INSERT INTO product_slots VALUES(37,37); -INSERT INTO product_slots VALUES(37,38); -INSERT INTO product_slots VALUES(37,39); -INSERT INTO product_slots VALUES(37,40); -INSERT INTO product_slots VALUES(37,41); -INSERT INTO product_slots VALUES(37,43); -INSERT INTO product_slots VALUES(37,44); -INSERT INTO product_slots VALUES(37,45); -INSERT INTO product_slots VALUES(37,46); -INSERT INTO product_slots VALUES(37,47); -INSERT INTO product_slots VALUES(37,48); -INSERT INTO product_slots VALUES(37,49); -INSERT INTO product_slots VALUES(37,50); -INSERT INTO product_slots VALUES(37,51); -INSERT INTO product_slots VALUES(37,52); -INSERT INTO product_slots VALUES(37,53); -INSERT INTO product_slots VALUES(37,54); -INSERT INTO product_slots VALUES(37,55); -INSERT INTO product_slots VALUES(37,56); -INSERT INTO product_slots VALUES(37,57); -INSERT INTO product_slots VALUES(37,58); -INSERT INTO product_slots VALUES(37,59); -INSERT INTO product_slots VALUES(37,60); -INSERT INTO product_slots VALUES(37,61); -INSERT INTO product_slots VALUES(37,62); -INSERT INTO product_slots VALUES(37,63); -INSERT INTO product_slots VALUES(37,64); -INSERT INTO product_slots VALUES(37,65); -INSERT INTO product_slots VALUES(37,66); -INSERT INTO product_slots VALUES(37,67); -INSERT INTO product_slots VALUES(37,68); -INSERT INTO product_slots VALUES(37,69); -INSERT INTO product_slots VALUES(37,70); -INSERT INTO product_slots VALUES(37,71); -INSERT INTO product_slots VALUES(37,72); -INSERT INTO product_slots VALUES(37,73); -INSERT INTO product_slots VALUES(37,74); -INSERT INTO product_slots VALUES(37,75); -INSERT INTO product_slots VALUES(37,76); -INSERT INTO product_slots VALUES(37,77); -INSERT INTO product_slots VALUES(37,78); -INSERT INTO product_slots VALUES(37,79); -INSERT INTO product_slots VALUES(37,80); -INSERT INTO product_slots VALUES(37,81); -INSERT INTO product_slots VALUES(37,82); -INSERT INTO product_slots VALUES(37,83); -INSERT INTO product_slots VALUES(37,84); -INSERT INTO product_slots VALUES(37,85); -INSERT INTO product_slots VALUES(37,86); -INSERT INTO product_slots VALUES(37,87); -INSERT INTO product_slots VALUES(37,88); -INSERT INTO product_slots VALUES(37,89); -INSERT INTO product_slots VALUES(37,90); -INSERT INTO product_slots VALUES(37,91); -INSERT INTO product_slots VALUES(37,92); -INSERT INTO product_slots VALUES(37,93); -INSERT INTO product_slots VALUES(37,94); -INSERT INTO product_slots VALUES(37,95); -INSERT INTO product_slots VALUES(37,96); -INSERT INTO product_slots VALUES(37,97); -INSERT INTO product_slots VALUES(37,98); -INSERT INTO product_slots VALUES(37,99); -INSERT INTO product_slots VALUES(37,100); -INSERT INTO product_slots VALUES(37,101); -INSERT INTO product_slots VALUES(37,102); -INSERT INTO product_slots VALUES(37,103); -INSERT INTO product_slots VALUES(37,104); -INSERT INTO product_slots VALUES(37,105); -INSERT INTO product_slots VALUES(37,106); -INSERT INTO product_slots VALUES(37,107); -INSERT INTO product_slots VALUES(37,108); -INSERT INTO product_slots VALUES(37,109); -INSERT INTO product_slots VALUES(37,110); -INSERT INTO product_slots VALUES(37,111); -INSERT INTO product_slots VALUES(37,112); -INSERT INTO product_slots VALUES(37,113); -INSERT INTO product_slots VALUES(37,114); -INSERT INTO product_slots VALUES(37,115); -INSERT INTO product_slots VALUES(37,116); -INSERT INTO product_slots VALUES(37,117); -INSERT INTO product_slots VALUES(37,118); -INSERT INTO product_slots VALUES(37,119); -INSERT INTO product_slots VALUES(37,120); -INSERT INTO product_slots VALUES(37,121); -INSERT INTO product_slots VALUES(37,122); -INSERT INTO product_slots VALUES(37,123); -INSERT INTO product_slots VALUES(37,124); -INSERT INTO product_slots VALUES(37,125); -INSERT INTO product_slots VALUES(37,126); -INSERT INTO product_slots VALUES(37,127); -INSERT INTO product_slots VALUES(37,128); -INSERT INTO product_slots VALUES(37,129); -INSERT INTO product_slots VALUES(37,130); -INSERT INTO product_slots VALUES(37,131); -INSERT INTO product_slots VALUES(37,132); -INSERT INTO product_slots VALUES(37,133); -INSERT INTO product_slots VALUES(37,134); -INSERT INTO product_slots VALUES(37,135); -INSERT INTO product_slots VALUES(37,136); -INSERT INTO product_slots VALUES(37,137); -INSERT INTO product_slots VALUES(37,138); -INSERT INTO product_slots VALUES(37,139); -INSERT INTO product_slots VALUES(37,140); -INSERT INTO product_slots VALUES(37,141); -INSERT INTO product_slots VALUES(37,142); -INSERT INTO product_slots VALUES(37,143); -INSERT INTO product_slots VALUES(37,144); -INSERT INTO product_slots VALUES(37,145); -INSERT INTO product_slots VALUES(37,146); -INSERT INTO product_slots VALUES(37,147); -INSERT INTO product_slots VALUES(37,148); -INSERT INTO product_slots VALUES(37,149); -INSERT INTO product_slots VALUES(37,150); -INSERT INTO product_slots VALUES(37,151); -INSERT INTO product_slots VALUES(37,152); -INSERT INTO product_slots VALUES(37,153); -INSERT INTO product_slots VALUES(37,154); -INSERT INTO product_slots VALUES(37,155); -INSERT INTO product_slots VALUES(37,156); -INSERT INTO product_slots VALUES(37,157); -INSERT INTO product_slots VALUES(37,158); -INSERT INTO product_slots VALUES(37,159); -INSERT INTO product_slots VALUES(37,160); -INSERT INTO product_slots VALUES(37,161); -INSERT INTO product_slots VALUES(37,162); -INSERT INTO product_slots VALUES(37,163); -INSERT INTO product_slots VALUES(37,164); -INSERT INTO product_slots VALUES(37,165); -INSERT INTO product_slots VALUES(37,166); -INSERT INTO product_slots VALUES(37,167); -INSERT INTO product_slots VALUES(37,168); -INSERT INTO product_slots VALUES(37,169); -INSERT INTO product_slots VALUES(37,170); -INSERT INTO product_slots VALUES(37,171); -INSERT INTO product_slots VALUES(37,172); -INSERT INTO product_slots VALUES(37,173); -INSERT INTO product_slots VALUES(37,174); -INSERT INTO product_slots VALUES(37,175); -INSERT INTO product_slots VALUES(37,176); -INSERT INTO product_slots VALUES(37,177); -INSERT INTO product_slots VALUES(37,178); -INSERT INTO product_slots VALUES(37,179); -INSERT INTO product_slots VALUES(37,180); -INSERT INTO product_slots VALUES(37,181); -INSERT INTO product_slots VALUES(37,182); -INSERT INTO product_slots VALUES(37,183); -INSERT INTO product_slots VALUES(37,184); -INSERT INTO product_slots VALUES(37,185); -INSERT INTO product_slots VALUES(37,186); -INSERT INTO product_slots VALUES(37,187); -INSERT INTO product_slots VALUES(37,188); -INSERT INTO product_slots VALUES(37,189); -INSERT INTO product_slots VALUES(37,190); -INSERT INTO product_slots VALUES(37,191); -INSERT INTO product_slots VALUES(37,192); -INSERT INTO product_slots VALUES(37,193); -INSERT INTO product_slots VALUES(37,194); -INSERT INTO product_slots VALUES(37,195); -INSERT INTO product_slots VALUES(37,196); -INSERT INTO product_slots VALUES(37,197); -INSERT INTO product_slots VALUES(37,198); -INSERT INTO product_slots VALUES(37,199); -INSERT INTO product_slots VALUES(37,200); -INSERT INTO product_slots VALUES(37,201); -INSERT INTO product_slots VALUES(37,202); -INSERT INTO product_slots VALUES(37,203); -INSERT INTO product_slots VALUES(37,204); -INSERT INTO product_slots VALUES(37,205); -INSERT INTO product_slots VALUES(37,206); -INSERT INTO product_slots VALUES(37,207); -INSERT INTO product_slots VALUES(37,208); -INSERT INTO product_slots VALUES(37,209); -INSERT INTO product_slots VALUES(37,210); -INSERT INTO product_slots VALUES(37,211); -INSERT INTO product_slots VALUES(37,212); -INSERT INTO product_slots VALUES(37,213); -INSERT INTO product_slots VALUES(37,214); -INSERT INTO product_slots VALUES(37,215); -INSERT INTO product_slots VALUES(37,216); -INSERT INTO product_slots VALUES(37,217); -INSERT INTO product_slots VALUES(37,218); -INSERT INTO product_slots VALUES(37,219); -INSERT INTO product_slots VALUES(37,220); -INSERT INTO product_slots VALUES(37,221); -INSERT INTO product_slots VALUES(37,222); -INSERT INTO product_slots VALUES(37,223); -INSERT INTO product_slots VALUES(37,224); -INSERT INTO product_slots VALUES(37,225); -INSERT INTO product_slots VALUES(37,226); -INSERT INTO product_slots VALUES(37,227); -INSERT INTO product_slots VALUES(37,228); -INSERT INTO product_slots VALUES(37,229); -INSERT INTO product_slots VALUES(37,230); -INSERT INTO product_slots VALUES(37,231); -INSERT INTO product_slots VALUES(37,232); -INSERT INTO product_slots VALUES(37,233); -INSERT INTO product_slots VALUES(37,234); -INSERT INTO product_slots VALUES(37,235); -INSERT INTO product_slots VALUES(37,236); -INSERT INTO product_slots VALUES(37,237); -INSERT INTO product_slots VALUES(37,238); -INSERT INTO product_slots VALUES(37,239); -INSERT INTO product_slots VALUES(37,240); -INSERT INTO product_slots VALUES(37,241); -INSERT INTO product_slots VALUES(37,242); -INSERT INTO product_slots VALUES(37,243); -INSERT INTO product_slots VALUES(37,244); -INSERT INTO product_slots VALUES(37,274); -INSERT INTO product_slots VALUES(37,275); -INSERT INTO product_slots VALUES(37,279); -INSERT INTO product_slots VALUES(37,280); -INSERT INTO product_slots VALUES(37,281); -INSERT INTO product_slots VALUES(37,282); -INSERT INTO product_slots VALUES(37,283); -INSERT INTO product_slots VALUES(37,284); -INSERT INTO product_slots VALUES(37,285); -INSERT INTO product_slots VALUES(37,286); -INSERT INTO product_slots VALUES(37,287); -INSERT INTO product_slots VALUES(38,18); -INSERT INTO product_slots VALUES(38,20); -INSERT INTO product_slots VALUES(38,21); -INSERT INTO product_slots VALUES(38,22); -INSERT INTO product_slots VALUES(38,33); -INSERT INTO product_slots VALUES(38,35); -INSERT INTO product_slots VALUES(38,37); -INSERT INTO product_slots VALUES(38,38); -INSERT INTO product_slots VALUES(38,39); -INSERT INTO product_slots VALUES(38,40); -INSERT INTO product_slots VALUES(38,43); -INSERT INTO product_slots VALUES(38,45); -INSERT INTO product_slots VALUES(38,46); -INSERT INTO product_slots VALUES(38,48); -INSERT INTO product_slots VALUES(38,49); -INSERT INTO product_slots VALUES(38,51); -INSERT INTO product_slots VALUES(38,52); -INSERT INTO product_slots VALUES(38,53); -INSERT INTO product_slots VALUES(38,54); -INSERT INTO product_slots VALUES(38,57); -INSERT INTO product_slots VALUES(38,58); -INSERT INTO product_slots VALUES(38,59); -INSERT INTO product_slots VALUES(38,60); -INSERT INTO product_slots VALUES(38,61); -INSERT INTO product_slots VALUES(38,62); -INSERT INTO product_slots VALUES(38,63); -INSERT INTO product_slots VALUES(38,64); -INSERT INTO product_slots VALUES(38,65); -INSERT INTO product_slots VALUES(38,66); -INSERT INTO product_slots VALUES(38,67); -INSERT INTO product_slots VALUES(38,68); -INSERT INTO product_slots VALUES(38,69); -INSERT INTO product_slots VALUES(38,70); -INSERT INTO product_slots VALUES(38,71); -INSERT INTO product_slots VALUES(38,72); -INSERT INTO product_slots VALUES(38,73); -INSERT INTO product_slots VALUES(38,74); -INSERT INTO product_slots VALUES(38,75); -INSERT INTO product_slots VALUES(38,76); -INSERT INTO product_slots VALUES(38,77); -INSERT INTO product_slots VALUES(38,78); -INSERT INTO product_slots VALUES(38,79); -INSERT INTO product_slots VALUES(38,80); -INSERT INTO product_slots VALUES(38,81); -INSERT INTO product_slots VALUES(38,82); -INSERT INTO product_slots VALUES(38,83); -INSERT INTO product_slots VALUES(38,84); -INSERT INTO product_slots VALUES(38,85); -INSERT INTO product_slots VALUES(38,86); -INSERT INTO product_slots VALUES(38,87); -INSERT INTO product_slots VALUES(38,88); -INSERT INTO product_slots VALUES(38,89); -INSERT INTO product_slots VALUES(38,90); -INSERT INTO product_slots VALUES(38,91); -INSERT INTO product_slots VALUES(38,92); -INSERT INTO product_slots VALUES(38,93); -INSERT INTO product_slots VALUES(38,94); -INSERT INTO product_slots VALUES(38,95); -INSERT INTO product_slots VALUES(38,96); -INSERT INTO product_slots VALUES(38,97); -INSERT INTO product_slots VALUES(38,98); -INSERT INTO product_slots VALUES(38,99); -INSERT INTO product_slots VALUES(38,100); -INSERT INTO product_slots VALUES(38,102); -INSERT INTO product_slots VALUES(38,103); -INSERT INTO product_slots VALUES(38,104); -INSERT INTO product_slots VALUES(38,105); -INSERT INTO product_slots VALUES(38,106); -INSERT INTO product_slots VALUES(38,107); -INSERT INTO product_slots VALUES(38,108); -INSERT INTO product_slots VALUES(38,109); -INSERT INTO product_slots VALUES(38,110); -INSERT INTO product_slots VALUES(38,111); -INSERT INTO product_slots VALUES(38,112); -INSERT INTO product_slots VALUES(38,113); -INSERT INTO product_slots VALUES(38,114); -INSERT INTO product_slots VALUES(38,115); -INSERT INTO product_slots VALUES(38,117); -INSERT INTO product_slots VALUES(38,118); -INSERT INTO product_slots VALUES(38,119); -INSERT INTO product_slots VALUES(38,120); -INSERT INTO product_slots VALUES(38,121); -INSERT INTO product_slots VALUES(38,122); -INSERT INTO product_slots VALUES(38,123); -INSERT INTO product_slots VALUES(38,124); -INSERT INTO product_slots VALUES(38,125); -INSERT INTO product_slots VALUES(38,126); -INSERT INTO product_slots VALUES(38,127); -INSERT INTO product_slots VALUES(38,128); -INSERT INTO product_slots VALUES(38,129); -INSERT INTO product_slots VALUES(38,130); -INSERT INTO product_slots VALUES(38,131); -INSERT INTO product_slots VALUES(38,132); -INSERT INTO product_slots VALUES(38,133); -INSERT INTO product_slots VALUES(38,134); -INSERT INTO product_slots VALUES(38,135); -INSERT INTO product_slots VALUES(38,136); -INSERT INTO product_slots VALUES(38,138); -INSERT INTO product_slots VALUES(38,139); -INSERT INTO product_slots VALUES(38,140); -INSERT INTO product_slots VALUES(38,141); -INSERT INTO product_slots VALUES(38,142); -INSERT INTO product_slots VALUES(38,143); -INSERT INTO product_slots VALUES(38,145); -INSERT INTO product_slots VALUES(38,146); -INSERT INTO product_slots VALUES(38,147); -INSERT INTO product_slots VALUES(38,148); -INSERT INTO product_slots VALUES(38,149); -INSERT INTO product_slots VALUES(38,150); -INSERT INTO product_slots VALUES(38,151); -INSERT INTO product_slots VALUES(38,152); -INSERT INTO product_slots VALUES(38,153); -INSERT INTO product_slots VALUES(38,154); -INSERT INTO product_slots VALUES(38,155); -INSERT INTO product_slots VALUES(38,156); -INSERT INTO product_slots VALUES(38,157); -INSERT INTO product_slots VALUES(38,158); -INSERT INTO product_slots VALUES(38,159); -INSERT INTO product_slots VALUES(38,160); -INSERT INTO product_slots VALUES(38,161); -INSERT INTO product_slots VALUES(38,162); -INSERT INTO product_slots VALUES(38,163); -INSERT INTO product_slots VALUES(38,164); -INSERT INTO product_slots VALUES(38,165); -INSERT INTO product_slots VALUES(38,166); -INSERT INTO product_slots VALUES(38,167); -INSERT INTO product_slots VALUES(38,168); -INSERT INTO product_slots VALUES(38,169); -INSERT INTO product_slots VALUES(38,170); -INSERT INTO product_slots VALUES(38,171); -INSERT INTO product_slots VALUES(38,172); -INSERT INTO product_slots VALUES(38,173); -INSERT INTO product_slots VALUES(38,174); -INSERT INTO product_slots VALUES(38,175); -INSERT INTO product_slots VALUES(38,176); -INSERT INTO product_slots VALUES(38,177); -INSERT INTO product_slots VALUES(38,178); -INSERT INTO product_slots VALUES(38,179); -INSERT INTO product_slots VALUES(38,180); -INSERT INTO product_slots VALUES(38,181); -INSERT INTO product_slots VALUES(38,182); -INSERT INTO product_slots VALUES(38,183); -INSERT INTO product_slots VALUES(38,184); -INSERT INTO product_slots VALUES(38,185); -INSERT INTO product_slots VALUES(38,186); -INSERT INTO product_slots VALUES(38,187); -INSERT INTO product_slots VALUES(38,188); -INSERT INTO product_slots VALUES(38,189); -INSERT INTO product_slots VALUES(38,190); -INSERT INTO product_slots VALUES(38,191); -INSERT INTO product_slots VALUES(38,192); -INSERT INTO product_slots VALUES(38,193); -INSERT INTO product_slots VALUES(38,194); -INSERT INTO product_slots VALUES(38,195); -INSERT INTO product_slots VALUES(38,196); -INSERT INTO product_slots VALUES(38,197); -INSERT INTO product_slots VALUES(38,198); -INSERT INTO product_slots VALUES(38,199); -INSERT INTO product_slots VALUES(38,200); -INSERT INTO product_slots VALUES(38,201); -INSERT INTO product_slots VALUES(38,202); -INSERT INTO product_slots VALUES(38,203); -INSERT INTO product_slots VALUES(38,204); -INSERT INTO product_slots VALUES(38,205); -INSERT INTO product_slots VALUES(38,206); -INSERT INTO product_slots VALUES(38,207); -INSERT INTO product_slots VALUES(38,208); -INSERT INTO product_slots VALUES(38,209); -INSERT INTO product_slots VALUES(38,210); -INSERT INTO product_slots VALUES(38,211); -INSERT INTO product_slots VALUES(38,212); -INSERT INTO product_slots VALUES(38,213); -INSERT INTO product_slots VALUES(38,214); -INSERT INTO product_slots VALUES(38,215); -INSERT INTO product_slots VALUES(38,216); -INSERT INTO product_slots VALUES(38,217); -INSERT INTO product_slots VALUES(38,218); -INSERT INTO product_slots VALUES(38,219); -INSERT INTO product_slots VALUES(38,220); -INSERT INTO product_slots VALUES(38,221); -INSERT INTO product_slots VALUES(38,222); -INSERT INTO product_slots VALUES(38,223); -INSERT INTO product_slots VALUES(38,224); -INSERT INTO product_slots VALUES(38,225); -INSERT INTO product_slots VALUES(38,226); -INSERT INTO product_slots VALUES(38,227); -INSERT INTO product_slots VALUES(38,228); -INSERT INTO product_slots VALUES(38,229); -INSERT INTO product_slots VALUES(38,230); -INSERT INTO product_slots VALUES(38,231); -INSERT INTO product_slots VALUES(38,232); -INSERT INTO product_slots VALUES(38,233); -INSERT INTO product_slots VALUES(38,234); -INSERT INTO product_slots VALUES(38,235); -INSERT INTO product_slots VALUES(38,236); -INSERT INTO product_slots VALUES(38,237); -INSERT INTO product_slots VALUES(38,238); -INSERT INTO product_slots VALUES(38,239); -INSERT INTO product_slots VALUES(38,240); -INSERT INTO product_slots VALUES(38,241); -INSERT INTO product_slots VALUES(38,242); -INSERT INTO product_slots VALUES(38,243); -INSERT INTO product_slots VALUES(38,244); -INSERT INTO product_slots VALUES(38,274); -INSERT INTO product_slots VALUES(38,275); -INSERT INTO product_slots VALUES(38,279); -INSERT INTO product_slots VALUES(38,280); -INSERT INTO product_slots VALUES(38,281); -INSERT INTO product_slots VALUES(38,282); -INSERT INTO product_slots VALUES(38,283); -INSERT INTO product_slots VALUES(38,284); -INSERT INTO product_slots VALUES(38,285); -INSERT INTO product_slots VALUES(38,286); -INSERT INTO product_slots VALUES(38,287); -INSERT INTO product_slots VALUES(39,18); -INSERT INTO product_slots VALUES(39,20); -INSERT INTO product_slots VALUES(39,21); -INSERT INTO product_slots VALUES(39,22); -INSERT INTO product_slots VALUES(39,33); -INSERT INTO product_slots VALUES(39,35); -INSERT INTO product_slots VALUES(39,37); -INSERT INTO product_slots VALUES(39,38); -INSERT INTO product_slots VALUES(39,40); -INSERT INTO product_slots VALUES(39,64); -INSERT INTO product_slots VALUES(39,65); -INSERT INTO product_slots VALUES(39,66); -INSERT INTO product_slots VALUES(39,67); -INSERT INTO product_slots VALUES(39,68); -INSERT INTO product_slots VALUES(39,69); -INSERT INTO product_slots VALUES(39,70); -INSERT INTO product_slots VALUES(39,71); -INSERT INTO product_slots VALUES(39,72); -INSERT INTO product_slots VALUES(39,73); -INSERT INTO product_slots VALUES(39,74); -INSERT INTO product_slots VALUES(39,75); -INSERT INTO product_slots VALUES(39,76); -INSERT INTO product_slots VALUES(39,77); -INSERT INTO product_slots VALUES(39,78); -INSERT INTO product_slots VALUES(39,79); -INSERT INTO product_slots VALUES(39,80); -INSERT INTO product_slots VALUES(39,81); -INSERT INTO product_slots VALUES(39,82); -INSERT INTO product_slots VALUES(39,83); -INSERT INTO product_slots VALUES(39,84); -INSERT INTO product_slots VALUES(39,85); -INSERT INTO product_slots VALUES(39,86); -INSERT INTO product_slots VALUES(39,87); -INSERT INTO product_slots VALUES(39,88); -INSERT INTO product_slots VALUES(39,89); -INSERT INTO product_slots VALUES(39,90); -INSERT INTO product_slots VALUES(39,91); -INSERT INTO product_slots VALUES(39,92); -INSERT INTO product_slots VALUES(39,93); -INSERT INTO product_slots VALUES(39,94); -INSERT INTO product_slots VALUES(39,95); -INSERT INTO product_slots VALUES(39,96); -INSERT INTO product_slots VALUES(39,97); -INSERT INTO product_slots VALUES(39,98); -INSERT INTO product_slots VALUES(39,99); -INSERT INTO product_slots VALUES(39,100); -INSERT INTO product_slots VALUES(39,102); -INSERT INTO product_slots VALUES(39,103); -INSERT INTO product_slots VALUES(39,104); -INSERT INTO product_slots VALUES(39,105); -INSERT INTO product_slots VALUES(39,106); -INSERT INTO product_slots VALUES(39,107); -INSERT INTO product_slots VALUES(39,108); -INSERT INTO product_slots VALUES(39,109); -INSERT INTO product_slots VALUES(39,110); -INSERT INTO product_slots VALUES(39,111); -INSERT INTO product_slots VALUES(39,112); -INSERT INTO product_slots VALUES(39,113); -INSERT INTO product_slots VALUES(39,114); -INSERT INTO product_slots VALUES(39,115); -INSERT INTO product_slots VALUES(39,117); -INSERT INTO product_slots VALUES(39,118); -INSERT INTO product_slots VALUES(39,119); -INSERT INTO product_slots VALUES(39,120); -INSERT INTO product_slots VALUES(39,121); -INSERT INTO product_slots VALUES(39,122); -INSERT INTO product_slots VALUES(39,123); -INSERT INTO product_slots VALUES(39,124); -INSERT INTO product_slots VALUES(39,125); -INSERT INTO product_slots VALUES(39,126); -INSERT INTO product_slots VALUES(39,127); -INSERT INTO product_slots VALUES(39,128); -INSERT INTO product_slots VALUES(39,129); -INSERT INTO product_slots VALUES(39,130); -INSERT INTO product_slots VALUES(39,131); -INSERT INTO product_slots VALUES(39,132); -INSERT INTO product_slots VALUES(39,133); -INSERT INTO product_slots VALUES(39,134); -INSERT INTO product_slots VALUES(39,135); -INSERT INTO product_slots VALUES(39,136); -INSERT INTO product_slots VALUES(39,138); -INSERT INTO product_slots VALUES(39,139); -INSERT INTO product_slots VALUES(39,140); -INSERT INTO product_slots VALUES(39,141); -INSERT INTO product_slots VALUES(39,142); -INSERT INTO product_slots VALUES(39,143); -INSERT INTO product_slots VALUES(39,145); -INSERT INTO product_slots VALUES(39,146); -INSERT INTO product_slots VALUES(39,147); -INSERT INTO product_slots VALUES(39,148); -INSERT INTO product_slots VALUES(39,149); -INSERT INTO product_slots VALUES(39,150); -INSERT INTO product_slots VALUES(39,151); -INSERT INTO product_slots VALUES(39,152); -INSERT INTO product_slots VALUES(39,153); -INSERT INTO product_slots VALUES(39,154); -INSERT INTO product_slots VALUES(39,155); -INSERT INTO product_slots VALUES(39,156); -INSERT INTO product_slots VALUES(39,157); -INSERT INTO product_slots VALUES(39,158); -INSERT INTO product_slots VALUES(39,159); -INSERT INTO product_slots VALUES(39,160); -INSERT INTO product_slots VALUES(39,161); -INSERT INTO product_slots VALUES(39,162); -INSERT INTO product_slots VALUES(39,163); -INSERT INTO product_slots VALUES(39,164); -INSERT INTO product_slots VALUES(39,165); -INSERT INTO product_slots VALUES(39,166); -INSERT INTO product_slots VALUES(39,167); -INSERT INTO product_slots VALUES(39,168); -INSERT INTO product_slots VALUES(39,169); -INSERT INTO product_slots VALUES(39,170); -INSERT INTO product_slots VALUES(39,171); -INSERT INTO product_slots VALUES(39,172); -INSERT INTO product_slots VALUES(39,173); -INSERT INTO product_slots VALUES(39,174); -INSERT INTO product_slots VALUES(39,175); -INSERT INTO product_slots VALUES(39,176); -INSERT INTO product_slots VALUES(39,177); -INSERT INTO product_slots VALUES(39,178); -INSERT INTO product_slots VALUES(39,179); -INSERT INTO product_slots VALUES(39,180); -INSERT INTO product_slots VALUES(39,181); -INSERT INTO product_slots VALUES(39,182); -INSERT INTO product_slots VALUES(39,183); -INSERT INTO product_slots VALUES(39,184); -INSERT INTO product_slots VALUES(39,185); -INSERT INTO product_slots VALUES(39,186); -INSERT INTO product_slots VALUES(39,187); -INSERT INTO product_slots VALUES(39,188); -INSERT INTO product_slots VALUES(39,189); -INSERT INTO product_slots VALUES(39,190); -INSERT INTO product_slots VALUES(39,191); -INSERT INTO product_slots VALUES(39,192); -INSERT INTO product_slots VALUES(39,193); -INSERT INTO product_slots VALUES(39,194); -INSERT INTO product_slots VALUES(39,195); -INSERT INTO product_slots VALUES(39,196); -INSERT INTO product_slots VALUES(39,197); -INSERT INTO product_slots VALUES(39,198); -INSERT INTO product_slots VALUES(39,199); -INSERT INTO product_slots VALUES(39,200); -INSERT INTO product_slots VALUES(39,201); -INSERT INTO product_slots VALUES(39,202); -INSERT INTO product_slots VALUES(39,203); -INSERT INTO product_slots VALUES(39,204); -INSERT INTO product_slots VALUES(39,205); -INSERT INTO product_slots VALUES(39,206); -INSERT INTO product_slots VALUES(39,207); -INSERT INTO product_slots VALUES(39,208); -INSERT INTO product_slots VALUES(39,209); -INSERT INTO product_slots VALUES(39,210); -INSERT INTO product_slots VALUES(39,211); -INSERT INTO product_slots VALUES(39,212); -INSERT INTO product_slots VALUES(39,213); -INSERT INTO product_slots VALUES(39,214); -INSERT INTO product_slots VALUES(39,215); -INSERT INTO product_slots VALUES(39,216); -INSERT INTO product_slots VALUES(39,217); -INSERT INTO product_slots VALUES(39,218); -INSERT INTO product_slots VALUES(39,219); -INSERT INTO product_slots VALUES(39,220); -INSERT INTO product_slots VALUES(39,221); -INSERT INTO product_slots VALUES(39,222); -INSERT INTO product_slots VALUES(39,223); -INSERT INTO product_slots VALUES(39,224); -INSERT INTO product_slots VALUES(39,225); -INSERT INTO product_slots VALUES(39,226); -INSERT INTO product_slots VALUES(39,227); -INSERT INTO product_slots VALUES(39,228); -INSERT INTO product_slots VALUES(39,229); -INSERT INTO product_slots VALUES(39,230); -INSERT INTO product_slots VALUES(39,231); -INSERT INTO product_slots VALUES(39,232); -INSERT INTO product_slots VALUES(39,233); -INSERT INTO product_slots VALUES(39,234); -INSERT INTO product_slots VALUES(39,235); -INSERT INTO product_slots VALUES(39,236); -INSERT INTO product_slots VALUES(39,237); -INSERT INTO product_slots VALUES(39,238); -INSERT INTO product_slots VALUES(39,239); -INSERT INTO product_slots VALUES(39,240); -INSERT INTO product_slots VALUES(39,241); -INSERT INTO product_slots VALUES(39,242); -INSERT INTO product_slots VALUES(39,243); -INSERT INTO product_slots VALUES(39,244); -INSERT INTO product_slots VALUES(39,274); -INSERT INTO product_slots VALUES(39,275); -INSERT INTO product_slots VALUES(39,279); -INSERT INTO product_slots VALUES(39,280); -INSERT INTO product_slots VALUES(39,281); -INSERT INTO product_slots VALUES(39,282); -INSERT INTO product_slots VALUES(39,283); -INSERT INTO product_slots VALUES(39,284); -INSERT INTO product_slots VALUES(39,285); -INSERT INTO product_slots VALUES(39,286); -INSERT INTO product_slots VALUES(39,287); -INSERT INTO product_slots VALUES(40,31); -INSERT INTO product_slots VALUES(40,39); -INSERT INTO product_slots VALUES(40,41); -INSERT INTO product_slots VALUES(40,43); -INSERT INTO product_slots VALUES(40,45); -INSERT INTO product_slots VALUES(40,46); -INSERT INTO product_slots VALUES(40,47); -INSERT INTO product_slots VALUES(40,48); -INSERT INTO product_slots VALUES(40,49); -INSERT INTO product_slots VALUES(40,50); -INSERT INTO product_slots VALUES(40,51); -INSERT INTO product_slots VALUES(40,52); -INSERT INTO product_slots VALUES(40,53); -INSERT INTO product_slots VALUES(40,54); -INSERT INTO product_slots VALUES(40,55); -INSERT INTO product_slots VALUES(40,56); -INSERT INTO product_slots VALUES(40,57); -INSERT INTO product_slots VALUES(40,58); -INSERT INTO product_slots VALUES(40,59); -INSERT INTO product_slots VALUES(40,60); -INSERT INTO product_slots VALUES(40,61); -INSERT INTO product_slots VALUES(40,62); -INSERT INTO product_slots VALUES(40,63); -INSERT INTO product_slots VALUES(40,64); -INSERT INTO product_slots VALUES(40,65); -INSERT INTO product_slots VALUES(40,66); -INSERT INTO product_slots VALUES(40,67); -INSERT INTO product_slots VALUES(40,68); -INSERT INTO product_slots VALUES(40,69); -INSERT INTO product_slots VALUES(40,70); -INSERT INTO product_slots VALUES(40,71); -INSERT INTO product_slots VALUES(40,72); -INSERT INTO product_slots VALUES(40,73); -INSERT INTO product_slots VALUES(40,74); -INSERT INTO product_slots VALUES(40,75); -INSERT INTO product_slots VALUES(40,76); -INSERT INTO product_slots VALUES(40,77); -INSERT INTO product_slots VALUES(40,78); -INSERT INTO product_slots VALUES(40,79); -INSERT INTO product_slots VALUES(40,80); -INSERT INTO product_slots VALUES(40,81); -INSERT INTO product_slots VALUES(40,82); -INSERT INTO product_slots VALUES(40,83); -INSERT INTO product_slots VALUES(40,84); -INSERT INTO product_slots VALUES(40,85); -INSERT INTO product_slots VALUES(40,86); -INSERT INTO product_slots VALUES(40,87); -INSERT INTO product_slots VALUES(40,88); -INSERT INTO product_slots VALUES(40,89); -INSERT INTO product_slots VALUES(40,90); -INSERT INTO product_slots VALUES(40,91); -INSERT INTO product_slots VALUES(40,92); -INSERT INTO product_slots VALUES(40,93); -INSERT INTO product_slots VALUES(40,94); -INSERT INTO product_slots VALUES(40,95); -INSERT INTO product_slots VALUES(40,96); -INSERT INTO product_slots VALUES(40,97); -INSERT INTO product_slots VALUES(40,98); -INSERT INTO product_slots VALUES(40,99); -INSERT INTO product_slots VALUES(40,100); -INSERT INTO product_slots VALUES(40,101); -INSERT INTO product_slots VALUES(40,102); -INSERT INTO product_slots VALUES(40,103); -INSERT INTO product_slots VALUES(40,104); -INSERT INTO product_slots VALUES(40,105); -INSERT INTO product_slots VALUES(40,106); -INSERT INTO product_slots VALUES(40,107); -INSERT INTO product_slots VALUES(40,108); -INSERT INTO product_slots VALUES(40,109); -INSERT INTO product_slots VALUES(40,110); -INSERT INTO product_slots VALUES(40,111); -INSERT INTO product_slots VALUES(40,112); -INSERT INTO product_slots VALUES(40,113); -INSERT INTO product_slots VALUES(40,114); -INSERT INTO product_slots VALUES(40,115); -INSERT INTO product_slots VALUES(40,116); -INSERT INTO product_slots VALUES(40,117); -INSERT INTO product_slots VALUES(40,118); -INSERT INTO product_slots VALUES(40,119); -INSERT INTO product_slots VALUES(40,120); -INSERT INTO product_slots VALUES(40,121); -INSERT INTO product_slots VALUES(40,122); -INSERT INTO product_slots VALUES(40,123); -INSERT INTO product_slots VALUES(40,124); -INSERT INTO product_slots VALUES(40,125); -INSERT INTO product_slots VALUES(40,126); -INSERT INTO product_slots VALUES(40,127); -INSERT INTO product_slots VALUES(40,128); -INSERT INTO product_slots VALUES(40,129); -INSERT INTO product_slots VALUES(40,130); -INSERT INTO product_slots VALUES(40,131); -INSERT INTO product_slots VALUES(40,132); -INSERT INTO product_slots VALUES(40,133); -INSERT INTO product_slots VALUES(40,134); -INSERT INTO product_slots VALUES(40,135); -INSERT INTO product_slots VALUES(40,136); -INSERT INTO product_slots VALUES(40,137); -INSERT INTO product_slots VALUES(40,138); -INSERT INTO product_slots VALUES(40,139); -INSERT INTO product_slots VALUES(40,140); -INSERT INTO product_slots VALUES(40,141); -INSERT INTO product_slots VALUES(40,142); -INSERT INTO product_slots VALUES(40,143); -INSERT INTO product_slots VALUES(40,144); -INSERT INTO product_slots VALUES(40,145); -INSERT INTO product_slots VALUES(40,146); -INSERT INTO product_slots VALUES(40,147); -INSERT INTO product_slots VALUES(40,148); -INSERT INTO product_slots VALUES(40,149); -INSERT INTO product_slots VALUES(40,150); -INSERT INTO product_slots VALUES(40,151); -INSERT INTO product_slots VALUES(40,152); -INSERT INTO product_slots VALUES(40,153); -INSERT INTO product_slots VALUES(40,154); -INSERT INTO product_slots VALUES(40,155); -INSERT INTO product_slots VALUES(40,156); -INSERT INTO product_slots VALUES(40,157); -INSERT INTO product_slots VALUES(40,158); -INSERT INTO product_slots VALUES(40,159); -INSERT INTO product_slots VALUES(40,160); -INSERT INTO product_slots VALUES(40,161); -INSERT INTO product_slots VALUES(40,162); -INSERT INTO product_slots VALUES(40,163); -INSERT INTO product_slots VALUES(40,164); -INSERT INTO product_slots VALUES(40,165); -INSERT INTO product_slots VALUES(40,166); -INSERT INTO product_slots VALUES(40,167); -INSERT INTO product_slots VALUES(40,168); -INSERT INTO product_slots VALUES(40,169); -INSERT INTO product_slots VALUES(40,170); -INSERT INTO product_slots VALUES(40,171); -INSERT INTO product_slots VALUES(40,172); -INSERT INTO product_slots VALUES(40,173); -INSERT INTO product_slots VALUES(40,174); -INSERT INTO product_slots VALUES(40,175); -INSERT INTO product_slots VALUES(40,176); -INSERT INTO product_slots VALUES(40,177); -INSERT INTO product_slots VALUES(40,178); -INSERT INTO product_slots VALUES(40,179); -INSERT INTO product_slots VALUES(40,180); -INSERT INTO product_slots VALUES(40,181); -INSERT INTO product_slots VALUES(40,182); -INSERT INTO product_slots VALUES(40,183); -INSERT INTO product_slots VALUES(40,184); -INSERT INTO product_slots VALUES(40,185); -INSERT INTO product_slots VALUES(40,186); -INSERT INTO product_slots VALUES(40,187); -INSERT INTO product_slots VALUES(40,188); -INSERT INTO product_slots VALUES(40,189); -INSERT INTO product_slots VALUES(40,190); -INSERT INTO product_slots VALUES(40,191); -INSERT INTO product_slots VALUES(40,192); -INSERT INTO product_slots VALUES(40,193); -INSERT INTO product_slots VALUES(40,194); -INSERT INTO product_slots VALUES(40,195); -INSERT INTO product_slots VALUES(40,196); -INSERT INTO product_slots VALUES(40,197); -INSERT INTO product_slots VALUES(40,198); -INSERT INTO product_slots VALUES(40,199); -INSERT INTO product_slots VALUES(40,200); -INSERT INTO product_slots VALUES(40,201); -INSERT INTO product_slots VALUES(40,202); -INSERT INTO product_slots VALUES(40,203); -INSERT INTO product_slots VALUES(40,204); -INSERT INTO product_slots VALUES(40,205); -INSERT INTO product_slots VALUES(40,206); -INSERT INTO product_slots VALUES(40,207); -INSERT INTO product_slots VALUES(40,208); -INSERT INTO product_slots VALUES(40,209); -INSERT INTO product_slots VALUES(40,210); -INSERT INTO product_slots VALUES(40,211); -INSERT INTO product_slots VALUES(40,212); -INSERT INTO product_slots VALUES(40,213); -INSERT INTO product_slots VALUES(40,214); -INSERT INTO product_slots VALUES(40,215); -INSERT INTO product_slots VALUES(40,216); -INSERT INTO product_slots VALUES(40,217); -INSERT INTO product_slots VALUES(40,218); -INSERT INTO product_slots VALUES(40,219); -INSERT INTO product_slots VALUES(40,220); -INSERT INTO product_slots VALUES(40,221); -INSERT INTO product_slots VALUES(40,222); -INSERT INTO product_slots VALUES(40,223); -INSERT INTO product_slots VALUES(40,224); -INSERT INTO product_slots VALUES(40,225); -INSERT INTO product_slots VALUES(40,226); -INSERT INTO product_slots VALUES(40,227); -INSERT INTO product_slots VALUES(40,228); -INSERT INTO product_slots VALUES(40,229); -INSERT INTO product_slots VALUES(40,230); -INSERT INTO product_slots VALUES(40,231); -INSERT INTO product_slots VALUES(40,232); -INSERT INTO product_slots VALUES(40,233); -INSERT INTO product_slots VALUES(40,234); -INSERT INTO product_slots VALUES(40,235); -INSERT INTO product_slots VALUES(40,236); -INSERT INTO product_slots VALUES(40,237); -INSERT INTO product_slots VALUES(40,238); -INSERT INTO product_slots VALUES(40,239); -INSERT INTO product_slots VALUES(40,240); -INSERT INTO product_slots VALUES(40,241); -INSERT INTO product_slots VALUES(40,242); -INSERT INTO product_slots VALUES(40,243); -INSERT INTO product_slots VALUES(40,244); -INSERT INTO product_slots VALUES(40,274); -INSERT INTO product_slots VALUES(40,275); -INSERT INTO product_slots VALUES(40,279); -INSERT INTO product_slots VALUES(40,280); -INSERT INTO product_slots VALUES(40,281); -INSERT INTO product_slots VALUES(40,282); -INSERT INTO product_slots VALUES(41,31); -INSERT INTO product_slots VALUES(41,39); -INSERT INTO product_slots VALUES(41,41); -INSERT INTO product_slots VALUES(41,43); -INSERT INTO product_slots VALUES(41,45); -INSERT INTO product_slots VALUES(41,46); -INSERT INTO product_slots VALUES(41,47); -INSERT INTO product_slots VALUES(41,48); -INSERT INTO product_slots VALUES(41,49); -INSERT INTO product_slots VALUES(41,50); -INSERT INTO product_slots VALUES(41,51); -INSERT INTO product_slots VALUES(41,52); -INSERT INTO product_slots VALUES(41,53); -INSERT INTO product_slots VALUES(41,54); -INSERT INTO product_slots VALUES(41,55); -INSERT INTO product_slots VALUES(41,56); -INSERT INTO product_slots VALUES(41,57); -INSERT INTO product_slots VALUES(41,58); -INSERT INTO product_slots VALUES(41,59); -INSERT INTO product_slots VALUES(41,60); -INSERT INTO product_slots VALUES(41,61); -INSERT INTO product_slots VALUES(41,62); -INSERT INTO product_slots VALUES(41,63); -INSERT INTO product_slots VALUES(41,64); -INSERT INTO product_slots VALUES(41,65); -INSERT INTO product_slots VALUES(41,66); -INSERT INTO product_slots VALUES(41,67); -INSERT INTO product_slots VALUES(41,68); -INSERT INTO product_slots VALUES(41,69); -INSERT INTO product_slots VALUES(41,70); -INSERT INTO product_slots VALUES(41,71); -INSERT INTO product_slots VALUES(41,72); -INSERT INTO product_slots VALUES(41,73); -INSERT INTO product_slots VALUES(41,74); -INSERT INTO product_slots VALUES(41,75); -INSERT INTO product_slots VALUES(41,76); -INSERT INTO product_slots VALUES(41,77); -INSERT INTO product_slots VALUES(41,78); -INSERT INTO product_slots VALUES(41,79); -INSERT INTO product_slots VALUES(41,80); -INSERT INTO product_slots VALUES(41,81); -INSERT INTO product_slots VALUES(41,82); -INSERT INTO product_slots VALUES(41,83); -INSERT INTO product_slots VALUES(41,84); -INSERT INTO product_slots VALUES(41,85); -INSERT INTO product_slots VALUES(41,86); -INSERT INTO product_slots VALUES(41,87); -INSERT INTO product_slots VALUES(41,88); -INSERT INTO product_slots VALUES(41,89); -INSERT INTO product_slots VALUES(41,90); -INSERT INTO product_slots VALUES(41,91); -INSERT INTO product_slots VALUES(41,92); -INSERT INTO product_slots VALUES(41,93); -INSERT INTO product_slots VALUES(41,94); -INSERT INTO product_slots VALUES(41,95); -INSERT INTO product_slots VALUES(41,96); -INSERT INTO product_slots VALUES(41,97); -INSERT INTO product_slots VALUES(41,98); -INSERT INTO product_slots VALUES(41,99); -INSERT INTO product_slots VALUES(41,100); -INSERT INTO product_slots VALUES(41,101); -INSERT INTO product_slots VALUES(41,102); -INSERT INTO product_slots VALUES(41,103); -INSERT INTO product_slots VALUES(41,104); -INSERT INTO product_slots VALUES(41,105); -INSERT INTO product_slots VALUES(41,106); -INSERT INTO product_slots VALUES(41,107); -INSERT INTO product_slots VALUES(41,108); -INSERT INTO product_slots VALUES(41,109); -INSERT INTO product_slots VALUES(41,110); -INSERT INTO product_slots VALUES(41,111); -INSERT INTO product_slots VALUES(41,112); -INSERT INTO product_slots VALUES(41,113); -INSERT INTO product_slots VALUES(41,114); -INSERT INTO product_slots VALUES(41,115); -INSERT INTO product_slots VALUES(41,116); -INSERT INTO product_slots VALUES(41,117); -INSERT INTO product_slots VALUES(41,118); -INSERT INTO product_slots VALUES(41,119); -INSERT INTO product_slots VALUES(41,120); -INSERT INTO product_slots VALUES(41,121); -INSERT INTO product_slots VALUES(41,122); -INSERT INTO product_slots VALUES(41,123); -INSERT INTO product_slots VALUES(41,124); -INSERT INTO product_slots VALUES(41,125); -INSERT INTO product_slots VALUES(41,126); -INSERT INTO product_slots VALUES(41,127); -INSERT INTO product_slots VALUES(41,128); -INSERT INTO product_slots VALUES(41,129); -INSERT INTO product_slots VALUES(41,130); -INSERT INTO product_slots VALUES(41,131); -INSERT INTO product_slots VALUES(41,132); -INSERT INTO product_slots VALUES(41,133); -INSERT INTO product_slots VALUES(41,134); -INSERT INTO product_slots VALUES(41,135); -INSERT INTO product_slots VALUES(41,136); -INSERT INTO product_slots VALUES(41,137); -INSERT INTO product_slots VALUES(41,138); -INSERT INTO product_slots VALUES(41,139); -INSERT INTO product_slots VALUES(41,140); -INSERT INTO product_slots VALUES(41,141); -INSERT INTO product_slots VALUES(41,142); -INSERT INTO product_slots VALUES(41,143); -INSERT INTO product_slots VALUES(41,144); -INSERT INTO product_slots VALUES(41,145); -INSERT INTO product_slots VALUES(41,146); -INSERT INTO product_slots VALUES(41,147); -INSERT INTO product_slots VALUES(41,148); -INSERT INTO product_slots VALUES(41,149); -INSERT INTO product_slots VALUES(41,150); -INSERT INTO product_slots VALUES(41,151); -INSERT INTO product_slots VALUES(41,152); -INSERT INTO product_slots VALUES(41,153); -INSERT INTO product_slots VALUES(41,154); -INSERT INTO product_slots VALUES(41,155); -INSERT INTO product_slots VALUES(41,156); -INSERT INTO product_slots VALUES(41,157); -INSERT INTO product_slots VALUES(41,158); -INSERT INTO product_slots VALUES(41,159); -INSERT INTO product_slots VALUES(41,160); -INSERT INTO product_slots VALUES(41,161); -INSERT INTO product_slots VALUES(41,162); -INSERT INTO product_slots VALUES(41,163); -INSERT INTO product_slots VALUES(41,164); -INSERT INTO product_slots VALUES(41,165); -INSERT INTO product_slots VALUES(41,166); -INSERT INTO product_slots VALUES(41,167); -INSERT INTO product_slots VALUES(41,168); -INSERT INTO product_slots VALUES(41,169); -INSERT INTO product_slots VALUES(41,170); -INSERT INTO product_slots VALUES(41,171); -INSERT INTO product_slots VALUES(41,172); -INSERT INTO product_slots VALUES(41,173); -INSERT INTO product_slots VALUES(41,174); -INSERT INTO product_slots VALUES(41,175); -INSERT INTO product_slots VALUES(41,176); -INSERT INTO product_slots VALUES(41,177); -INSERT INTO product_slots VALUES(41,178); -INSERT INTO product_slots VALUES(41,179); -INSERT INTO product_slots VALUES(41,180); -INSERT INTO product_slots VALUES(41,181); -INSERT INTO product_slots VALUES(41,182); -INSERT INTO product_slots VALUES(41,183); -INSERT INTO product_slots VALUES(41,184); -INSERT INTO product_slots VALUES(41,185); -INSERT INTO product_slots VALUES(41,186); -INSERT INTO product_slots VALUES(41,187); -INSERT INTO product_slots VALUES(41,188); -INSERT INTO product_slots VALUES(41,189); -INSERT INTO product_slots VALUES(41,190); -INSERT INTO product_slots VALUES(41,191); -INSERT INTO product_slots VALUES(41,192); -INSERT INTO product_slots VALUES(41,193); -INSERT INTO product_slots VALUES(41,194); -INSERT INTO product_slots VALUES(41,195); -INSERT INTO product_slots VALUES(41,196); -INSERT INTO product_slots VALUES(41,197); -INSERT INTO product_slots VALUES(41,198); -INSERT INTO product_slots VALUES(41,199); -INSERT INTO product_slots VALUES(41,200); -INSERT INTO product_slots VALUES(41,201); -INSERT INTO product_slots VALUES(41,202); -INSERT INTO product_slots VALUES(41,203); -INSERT INTO product_slots VALUES(41,204); -INSERT INTO product_slots VALUES(41,205); -INSERT INTO product_slots VALUES(41,206); -INSERT INTO product_slots VALUES(41,207); -INSERT INTO product_slots VALUES(41,208); -INSERT INTO product_slots VALUES(41,209); -INSERT INTO product_slots VALUES(41,210); -INSERT INTO product_slots VALUES(41,211); -INSERT INTO product_slots VALUES(41,212); -INSERT INTO product_slots VALUES(41,213); -INSERT INTO product_slots VALUES(41,214); -INSERT INTO product_slots VALUES(41,215); -INSERT INTO product_slots VALUES(41,216); -INSERT INTO product_slots VALUES(41,217); -INSERT INTO product_slots VALUES(41,218); -INSERT INTO product_slots VALUES(41,219); -INSERT INTO product_slots VALUES(41,220); -INSERT INTO product_slots VALUES(41,221); -INSERT INTO product_slots VALUES(41,222); -INSERT INTO product_slots VALUES(41,223); -INSERT INTO product_slots VALUES(41,224); -INSERT INTO product_slots VALUES(41,225); -INSERT INTO product_slots VALUES(41,226); -INSERT INTO product_slots VALUES(41,227); -INSERT INTO product_slots VALUES(41,228); -INSERT INTO product_slots VALUES(41,229); -INSERT INTO product_slots VALUES(41,230); -INSERT INTO product_slots VALUES(41,231); -INSERT INTO product_slots VALUES(41,232); -INSERT INTO product_slots VALUES(41,233); -INSERT INTO product_slots VALUES(41,234); -INSERT INTO product_slots VALUES(41,235); -INSERT INTO product_slots VALUES(41,236); -INSERT INTO product_slots VALUES(41,237); -INSERT INTO product_slots VALUES(41,238); -INSERT INTO product_slots VALUES(41,239); -INSERT INTO product_slots VALUES(41,240); -INSERT INTO product_slots VALUES(41,241); -INSERT INTO product_slots VALUES(41,242); -INSERT INTO product_slots VALUES(41,243); -INSERT INTO product_slots VALUES(41,244); -INSERT INTO product_slots VALUES(41,274); -INSERT INTO product_slots VALUES(41,275); -INSERT INTO product_slots VALUES(41,279); -INSERT INTO product_slots VALUES(41,280); -INSERT INTO product_slots VALUES(41,281); -INSERT INTO product_slots VALUES(41,282); -INSERT INTO product_slots VALUES(42,31); -INSERT INTO product_slots VALUES(42,39); -INSERT INTO product_slots VALUES(42,41); -INSERT INTO product_slots VALUES(42,43); -INSERT INTO product_slots VALUES(42,45); -INSERT INTO product_slots VALUES(42,46); -INSERT INTO product_slots VALUES(42,47); -INSERT INTO product_slots VALUES(42,48); -INSERT INTO product_slots VALUES(42,49); -INSERT INTO product_slots VALUES(42,50); -INSERT INTO product_slots VALUES(42,51); -INSERT INTO product_slots VALUES(42,52); -INSERT INTO product_slots VALUES(42,53); -INSERT INTO product_slots VALUES(42,54); -INSERT INTO product_slots VALUES(42,55); -INSERT INTO product_slots VALUES(42,56); -INSERT INTO product_slots VALUES(42,57); -INSERT INTO product_slots VALUES(42,58); -INSERT INTO product_slots VALUES(42,59); -INSERT INTO product_slots VALUES(42,60); -INSERT INTO product_slots VALUES(42,61); -INSERT INTO product_slots VALUES(42,62); -INSERT INTO product_slots VALUES(42,63); -INSERT INTO product_slots VALUES(42,64); -INSERT INTO product_slots VALUES(42,65); -INSERT INTO product_slots VALUES(42,66); -INSERT INTO product_slots VALUES(42,67); -INSERT INTO product_slots VALUES(42,68); -INSERT INTO product_slots VALUES(42,69); -INSERT INTO product_slots VALUES(42,70); -INSERT INTO product_slots VALUES(42,71); -INSERT INTO product_slots VALUES(42,72); -INSERT INTO product_slots VALUES(42,73); -INSERT INTO product_slots VALUES(42,74); -INSERT INTO product_slots VALUES(42,75); -INSERT INTO product_slots VALUES(42,76); -INSERT INTO product_slots VALUES(42,77); -INSERT INTO product_slots VALUES(42,78); -INSERT INTO product_slots VALUES(42,79); -INSERT INTO product_slots VALUES(42,80); -INSERT INTO product_slots VALUES(42,81); -INSERT INTO product_slots VALUES(42,82); -INSERT INTO product_slots VALUES(42,83); -INSERT INTO product_slots VALUES(42,84); -INSERT INTO product_slots VALUES(42,85); -INSERT INTO product_slots VALUES(42,86); -INSERT INTO product_slots VALUES(42,87); -INSERT INTO product_slots VALUES(42,88); -INSERT INTO product_slots VALUES(42,89); -INSERT INTO product_slots VALUES(42,90); -INSERT INTO product_slots VALUES(42,91); -INSERT INTO product_slots VALUES(42,92); -INSERT INTO product_slots VALUES(42,93); -INSERT INTO product_slots VALUES(42,94); -INSERT INTO product_slots VALUES(42,95); -INSERT INTO product_slots VALUES(42,96); -INSERT INTO product_slots VALUES(42,97); -INSERT INTO product_slots VALUES(42,98); -INSERT INTO product_slots VALUES(42,99); -INSERT INTO product_slots VALUES(42,100); -INSERT INTO product_slots VALUES(42,101); -INSERT INTO product_slots VALUES(42,102); -INSERT INTO product_slots VALUES(42,103); -INSERT INTO product_slots VALUES(42,104); -INSERT INTO product_slots VALUES(42,105); -INSERT INTO product_slots VALUES(42,106); -INSERT INTO product_slots VALUES(42,107); -INSERT INTO product_slots VALUES(42,108); -INSERT INTO product_slots VALUES(42,109); -INSERT INTO product_slots VALUES(42,110); -INSERT INTO product_slots VALUES(42,111); -INSERT INTO product_slots VALUES(42,112); -INSERT INTO product_slots VALUES(42,113); -INSERT INTO product_slots VALUES(42,114); -INSERT INTO product_slots VALUES(42,115); -INSERT INTO product_slots VALUES(42,116); -INSERT INTO product_slots VALUES(42,117); -INSERT INTO product_slots VALUES(42,118); -INSERT INTO product_slots VALUES(42,119); -INSERT INTO product_slots VALUES(42,120); -INSERT INTO product_slots VALUES(42,121); -INSERT INTO product_slots VALUES(42,122); -INSERT INTO product_slots VALUES(42,123); -INSERT INTO product_slots VALUES(42,124); -INSERT INTO product_slots VALUES(42,125); -INSERT INTO product_slots VALUES(42,126); -INSERT INTO product_slots VALUES(42,127); -INSERT INTO product_slots VALUES(42,128); -INSERT INTO product_slots VALUES(42,129); -INSERT INTO product_slots VALUES(42,130); -INSERT INTO product_slots VALUES(42,131); -INSERT INTO product_slots VALUES(42,132); -INSERT INTO product_slots VALUES(42,133); -INSERT INTO product_slots VALUES(42,134); -INSERT INTO product_slots VALUES(42,135); -INSERT INTO product_slots VALUES(42,136); -INSERT INTO product_slots VALUES(42,137); -INSERT INTO product_slots VALUES(42,138); -INSERT INTO product_slots VALUES(42,139); -INSERT INTO product_slots VALUES(42,140); -INSERT INTO product_slots VALUES(42,141); -INSERT INTO product_slots VALUES(42,142); -INSERT INTO product_slots VALUES(42,143); -INSERT INTO product_slots VALUES(42,144); -INSERT INTO product_slots VALUES(42,145); -INSERT INTO product_slots VALUES(42,146); -INSERT INTO product_slots VALUES(42,147); -INSERT INTO product_slots VALUES(42,148); -INSERT INTO product_slots VALUES(42,149); -INSERT INTO product_slots VALUES(42,150); -INSERT INTO product_slots VALUES(42,151); -INSERT INTO product_slots VALUES(42,152); -INSERT INTO product_slots VALUES(42,153); -INSERT INTO product_slots VALUES(42,154); -INSERT INTO product_slots VALUES(42,155); -INSERT INTO product_slots VALUES(42,156); -INSERT INTO product_slots VALUES(42,157); -INSERT INTO product_slots VALUES(42,158); -INSERT INTO product_slots VALUES(42,159); -INSERT INTO product_slots VALUES(42,160); -INSERT INTO product_slots VALUES(42,161); -INSERT INTO product_slots VALUES(42,162); -INSERT INTO product_slots VALUES(42,163); -INSERT INTO product_slots VALUES(42,164); -INSERT INTO product_slots VALUES(42,165); -INSERT INTO product_slots VALUES(42,166); -INSERT INTO product_slots VALUES(42,167); -INSERT INTO product_slots VALUES(42,168); -INSERT INTO product_slots VALUES(42,169); -INSERT INTO product_slots VALUES(42,170); -INSERT INTO product_slots VALUES(42,171); -INSERT INTO product_slots VALUES(42,172); -INSERT INTO product_slots VALUES(42,173); -INSERT INTO product_slots VALUES(42,174); -INSERT INTO product_slots VALUES(42,175); -INSERT INTO product_slots VALUES(42,176); -INSERT INTO product_slots VALUES(42,177); -INSERT INTO product_slots VALUES(42,178); -INSERT INTO product_slots VALUES(42,179); -INSERT INTO product_slots VALUES(42,180); -INSERT INTO product_slots VALUES(42,181); -INSERT INTO product_slots VALUES(42,182); -INSERT INTO product_slots VALUES(42,183); -INSERT INTO product_slots VALUES(42,184); -INSERT INTO product_slots VALUES(42,185); -INSERT INTO product_slots VALUES(42,186); -INSERT INTO product_slots VALUES(42,187); -INSERT INTO product_slots VALUES(42,188); -INSERT INTO product_slots VALUES(42,189); -INSERT INTO product_slots VALUES(42,190); -INSERT INTO product_slots VALUES(42,191); -INSERT INTO product_slots VALUES(42,192); -INSERT INTO product_slots VALUES(42,193); -INSERT INTO product_slots VALUES(42,194); -INSERT INTO product_slots VALUES(42,195); -INSERT INTO product_slots VALUES(42,196); -INSERT INTO product_slots VALUES(42,197); -INSERT INTO product_slots VALUES(42,198); -INSERT INTO product_slots VALUES(42,199); -INSERT INTO product_slots VALUES(42,200); -INSERT INTO product_slots VALUES(42,201); -INSERT INTO product_slots VALUES(42,202); -INSERT INTO product_slots VALUES(42,203); -INSERT INTO product_slots VALUES(42,204); -INSERT INTO product_slots VALUES(42,205); -INSERT INTO product_slots VALUES(42,206); -INSERT INTO product_slots VALUES(42,207); -INSERT INTO product_slots VALUES(42,208); -INSERT INTO product_slots VALUES(42,209); -INSERT INTO product_slots VALUES(42,210); -INSERT INTO product_slots VALUES(42,211); -INSERT INTO product_slots VALUES(42,212); -INSERT INTO product_slots VALUES(42,213); -INSERT INTO product_slots VALUES(42,214); -INSERT INTO product_slots VALUES(42,215); -INSERT INTO product_slots VALUES(42,216); -INSERT INTO product_slots VALUES(42,217); -INSERT INTO product_slots VALUES(42,218); -INSERT INTO product_slots VALUES(42,219); -INSERT INTO product_slots VALUES(42,220); -INSERT INTO product_slots VALUES(42,221); -INSERT INTO product_slots VALUES(42,222); -INSERT INTO product_slots VALUES(42,223); -INSERT INTO product_slots VALUES(42,224); -INSERT INTO product_slots VALUES(42,225); -INSERT INTO product_slots VALUES(42,226); -INSERT INTO product_slots VALUES(42,227); -INSERT INTO product_slots VALUES(42,228); -INSERT INTO product_slots VALUES(42,229); -INSERT INTO product_slots VALUES(42,230); -INSERT INTO product_slots VALUES(42,231); -INSERT INTO product_slots VALUES(42,232); -INSERT INTO product_slots VALUES(42,233); -INSERT INTO product_slots VALUES(42,234); -INSERT INTO product_slots VALUES(42,235); -INSERT INTO product_slots VALUES(42,236); -INSERT INTO product_slots VALUES(42,237); -INSERT INTO product_slots VALUES(42,238); -INSERT INTO product_slots VALUES(42,239); -INSERT INTO product_slots VALUES(42,240); -INSERT INTO product_slots VALUES(42,241); -INSERT INTO product_slots VALUES(42,242); -INSERT INTO product_slots VALUES(42,243); -INSERT INTO product_slots VALUES(42,244); -INSERT INTO product_slots VALUES(42,274); -INSERT INTO product_slots VALUES(42,275); -INSERT INTO product_slots VALUES(42,279); -INSERT INTO product_slots VALUES(42,280); -INSERT INTO product_slots VALUES(42,281); -INSERT INTO product_slots VALUES(42,282); -INSERT INTO product_slots VALUES(43,39); -INSERT INTO product_slots VALUES(43,40); -INSERT INTO product_slots VALUES(43,43); -INSERT INTO product_slots VALUES(43,45); -INSERT INTO product_slots VALUES(43,46); -INSERT INTO product_slots VALUES(43,48); -INSERT INTO product_slots VALUES(43,49); -INSERT INTO product_slots VALUES(43,51); -INSERT INTO product_slots VALUES(43,52); -INSERT INTO product_slots VALUES(43,53); -INSERT INTO product_slots VALUES(43,54); -INSERT INTO product_slots VALUES(43,57); -INSERT INTO product_slots VALUES(43,58); -INSERT INTO product_slots VALUES(43,59); -INSERT INTO product_slots VALUES(43,60); -INSERT INTO product_slots VALUES(43,61); -INSERT INTO product_slots VALUES(43,62); -INSERT INTO product_slots VALUES(43,63); -INSERT INTO product_slots VALUES(43,64); -INSERT INTO product_slots VALUES(43,65); -INSERT INTO product_slots VALUES(43,66); -INSERT INTO product_slots VALUES(43,67); -INSERT INTO product_slots VALUES(43,68); -INSERT INTO product_slots VALUES(43,69); -INSERT INTO product_slots VALUES(43,70); -INSERT INTO product_slots VALUES(43,71); -INSERT INTO product_slots VALUES(43,72); -INSERT INTO product_slots VALUES(43,73); -INSERT INTO product_slots VALUES(43,74); -INSERT INTO product_slots VALUES(43,75); -INSERT INTO product_slots VALUES(43,76); -INSERT INTO product_slots VALUES(43,77); -INSERT INTO product_slots VALUES(43,78); -INSERT INTO product_slots VALUES(43,79); -INSERT INTO product_slots VALUES(43,80); -INSERT INTO product_slots VALUES(43,81); -INSERT INTO product_slots VALUES(43,82); -INSERT INTO product_slots VALUES(43,83); -INSERT INTO product_slots VALUES(43,84); -INSERT INTO product_slots VALUES(43,85); -INSERT INTO product_slots VALUES(43,86); -INSERT INTO product_slots VALUES(43,87); -INSERT INTO product_slots VALUES(43,88); -INSERT INTO product_slots VALUES(43,89); -INSERT INTO product_slots VALUES(43,90); -INSERT INTO product_slots VALUES(43,91); -INSERT INTO product_slots VALUES(43,92); -INSERT INTO product_slots VALUES(43,93); -INSERT INTO product_slots VALUES(43,94); -INSERT INTO product_slots VALUES(43,95); -INSERT INTO product_slots VALUES(43,96); -INSERT INTO product_slots VALUES(43,97); -INSERT INTO product_slots VALUES(43,98); -INSERT INTO product_slots VALUES(43,99); -INSERT INTO product_slots VALUES(43,100); -INSERT INTO product_slots VALUES(43,102); -INSERT INTO product_slots VALUES(43,103); -INSERT INTO product_slots VALUES(43,104); -INSERT INTO product_slots VALUES(43,105); -INSERT INTO product_slots VALUES(43,106); -INSERT INTO product_slots VALUES(43,107); -INSERT INTO product_slots VALUES(43,108); -INSERT INTO product_slots VALUES(43,109); -INSERT INTO product_slots VALUES(43,110); -INSERT INTO product_slots VALUES(43,111); -INSERT INTO product_slots VALUES(43,112); -INSERT INTO product_slots VALUES(43,113); -INSERT INTO product_slots VALUES(43,114); -INSERT INTO product_slots VALUES(43,115); -INSERT INTO product_slots VALUES(43,117); -INSERT INTO product_slots VALUES(43,118); -INSERT INTO product_slots VALUES(43,119); -INSERT INTO product_slots VALUES(43,120); -INSERT INTO product_slots VALUES(43,121); -INSERT INTO product_slots VALUES(43,122); -INSERT INTO product_slots VALUES(43,123); -INSERT INTO product_slots VALUES(43,124); -INSERT INTO product_slots VALUES(43,125); -INSERT INTO product_slots VALUES(43,126); -INSERT INTO product_slots VALUES(43,127); -INSERT INTO product_slots VALUES(43,128); -INSERT INTO product_slots VALUES(43,129); -INSERT INTO product_slots VALUES(43,130); -INSERT INTO product_slots VALUES(43,131); -INSERT INTO product_slots VALUES(43,132); -INSERT INTO product_slots VALUES(43,133); -INSERT INTO product_slots VALUES(43,134); -INSERT INTO product_slots VALUES(43,135); -INSERT INTO product_slots VALUES(43,136); -INSERT INTO product_slots VALUES(43,138); -INSERT INTO product_slots VALUES(43,139); -INSERT INTO product_slots VALUES(43,140); -INSERT INTO product_slots VALUES(43,141); -INSERT INTO product_slots VALUES(43,142); -INSERT INTO product_slots VALUES(43,143); -INSERT INTO product_slots VALUES(43,145); -INSERT INTO product_slots VALUES(43,146); -INSERT INTO product_slots VALUES(43,147); -INSERT INTO product_slots VALUES(43,148); -INSERT INTO product_slots VALUES(43,149); -INSERT INTO product_slots VALUES(43,150); -INSERT INTO product_slots VALUES(43,151); -INSERT INTO product_slots VALUES(43,152); -INSERT INTO product_slots VALUES(43,153); -INSERT INTO product_slots VALUES(43,154); -INSERT INTO product_slots VALUES(43,155); -INSERT INTO product_slots VALUES(43,156); -INSERT INTO product_slots VALUES(43,157); -INSERT INTO product_slots VALUES(43,158); -INSERT INTO product_slots VALUES(43,159); -INSERT INTO product_slots VALUES(43,160); -INSERT INTO product_slots VALUES(43,161); -INSERT INTO product_slots VALUES(43,162); -INSERT INTO product_slots VALUES(43,163); -INSERT INTO product_slots VALUES(43,164); -INSERT INTO product_slots VALUES(43,165); -INSERT INTO product_slots VALUES(43,166); -INSERT INTO product_slots VALUES(43,167); -INSERT INTO product_slots VALUES(43,168); -INSERT INTO product_slots VALUES(43,169); -INSERT INTO product_slots VALUES(43,170); -INSERT INTO product_slots VALUES(43,171); -INSERT INTO product_slots VALUES(43,172); -INSERT INTO product_slots VALUES(43,173); -INSERT INTO product_slots VALUES(43,174); -INSERT INTO product_slots VALUES(43,175); -INSERT INTO product_slots VALUES(43,176); -INSERT INTO product_slots VALUES(43,177); -INSERT INTO product_slots VALUES(43,178); -INSERT INTO product_slots VALUES(43,179); -INSERT INTO product_slots VALUES(43,180); -INSERT INTO product_slots VALUES(43,181); -INSERT INTO product_slots VALUES(43,182); -INSERT INTO product_slots VALUES(43,183); -INSERT INTO product_slots VALUES(43,184); -INSERT INTO product_slots VALUES(43,185); -INSERT INTO product_slots VALUES(43,186); -INSERT INTO product_slots VALUES(43,187); -INSERT INTO product_slots VALUES(43,188); -INSERT INTO product_slots VALUES(43,189); -INSERT INTO product_slots VALUES(43,190); -INSERT INTO product_slots VALUES(43,191); -INSERT INTO product_slots VALUES(43,192); -INSERT INTO product_slots VALUES(43,193); -INSERT INTO product_slots VALUES(43,194); -INSERT INTO product_slots VALUES(43,195); -INSERT INTO product_slots VALUES(43,196); -INSERT INTO product_slots VALUES(43,197); -INSERT INTO product_slots VALUES(43,198); -INSERT INTO product_slots VALUES(43,199); -INSERT INTO product_slots VALUES(43,200); -INSERT INTO product_slots VALUES(43,201); -INSERT INTO product_slots VALUES(43,202); -INSERT INTO product_slots VALUES(43,203); -INSERT INTO product_slots VALUES(43,204); -INSERT INTO product_slots VALUES(43,205); -INSERT INTO product_slots VALUES(43,206); -INSERT INTO product_slots VALUES(43,207); -INSERT INTO product_slots VALUES(43,208); -INSERT INTO product_slots VALUES(43,209); -INSERT INTO product_slots VALUES(43,210); -INSERT INTO product_slots VALUES(43,211); -INSERT INTO product_slots VALUES(43,212); -INSERT INTO product_slots VALUES(43,213); -INSERT INTO product_slots VALUES(43,214); -INSERT INTO product_slots VALUES(43,215); -INSERT INTO product_slots VALUES(43,216); -INSERT INTO product_slots VALUES(43,217); -INSERT INTO product_slots VALUES(43,218); -INSERT INTO product_slots VALUES(43,219); -INSERT INTO product_slots VALUES(43,220); -INSERT INTO product_slots VALUES(43,221); -INSERT INTO product_slots VALUES(43,222); -INSERT INTO product_slots VALUES(43,223); -INSERT INTO product_slots VALUES(43,224); -INSERT INTO product_slots VALUES(43,225); -INSERT INTO product_slots VALUES(43,226); -INSERT INTO product_slots VALUES(43,227); -INSERT INTO product_slots VALUES(43,228); -INSERT INTO product_slots VALUES(43,229); -INSERT INTO product_slots VALUES(43,230); -INSERT INTO product_slots VALUES(43,231); -INSERT INTO product_slots VALUES(43,232); -INSERT INTO product_slots VALUES(43,233); -INSERT INTO product_slots VALUES(43,234); -INSERT INTO product_slots VALUES(43,235); -INSERT INTO product_slots VALUES(43,236); -INSERT INTO product_slots VALUES(43,237); -INSERT INTO product_slots VALUES(43,238); -INSERT INTO product_slots VALUES(43,239); -INSERT INTO product_slots VALUES(43,240); -INSERT INTO product_slots VALUES(43,241); -INSERT INTO product_slots VALUES(43,242); -INSERT INTO product_slots VALUES(43,243); -INSERT INTO product_slots VALUES(43,244); -INSERT INTO product_slots VALUES(43,274); -INSERT INTO product_slots VALUES(43,275); -INSERT INTO product_slots VALUES(43,279); -INSERT INTO product_slots VALUES(43,280); -INSERT INTO product_slots VALUES(43,281); -INSERT INTO product_slots VALUES(43,282); -INSERT INTO product_slots VALUES(43,283); -INSERT INTO product_slots VALUES(43,284); -INSERT INTO product_slots VALUES(43,285); -INSERT INTO product_slots VALUES(43,286); -INSERT INTO product_slots VALUES(43,287); -INSERT INTO product_slots VALUES(44,39); -INSERT INTO product_slots VALUES(44,40); -INSERT INTO product_slots VALUES(44,43); -INSERT INTO product_slots VALUES(44,45); -INSERT INTO product_slots VALUES(44,46); -INSERT INTO product_slots VALUES(44,48); -INSERT INTO product_slots VALUES(44,49); -INSERT INTO product_slots VALUES(44,51); -INSERT INTO product_slots VALUES(44,52); -INSERT INTO product_slots VALUES(44,53); -INSERT INTO product_slots VALUES(44,54); -INSERT INTO product_slots VALUES(44,57); -INSERT INTO product_slots VALUES(44,58); -INSERT INTO product_slots VALUES(44,59); -INSERT INTO product_slots VALUES(44,60); -INSERT INTO product_slots VALUES(44,61); -INSERT INTO product_slots VALUES(44,62); -INSERT INTO product_slots VALUES(44,63); -INSERT INTO product_slots VALUES(44,64); -INSERT INTO product_slots VALUES(44,65); -INSERT INTO product_slots VALUES(44,66); -INSERT INTO product_slots VALUES(44,67); -INSERT INTO product_slots VALUES(44,68); -INSERT INTO product_slots VALUES(44,69); -INSERT INTO product_slots VALUES(44,70); -INSERT INTO product_slots VALUES(44,71); -INSERT INTO product_slots VALUES(44,72); -INSERT INTO product_slots VALUES(44,73); -INSERT INTO product_slots VALUES(44,74); -INSERT INTO product_slots VALUES(44,75); -INSERT INTO product_slots VALUES(44,76); -INSERT INTO product_slots VALUES(44,77); -INSERT INTO product_slots VALUES(44,78); -INSERT INTO product_slots VALUES(44,79); -INSERT INTO product_slots VALUES(44,80); -INSERT INTO product_slots VALUES(44,81); -INSERT INTO product_slots VALUES(44,82); -INSERT INTO product_slots VALUES(44,83); -INSERT INTO product_slots VALUES(44,84); -INSERT INTO product_slots VALUES(44,85); -INSERT INTO product_slots VALUES(44,86); -INSERT INTO product_slots VALUES(44,87); -INSERT INTO product_slots VALUES(44,88); -INSERT INTO product_slots VALUES(44,89); -INSERT INTO product_slots VALUES(44,90); -INSERT INTO product_slots VALUES(44,91); -INSERT INTO product_slots VALUES(44,92); -INSERT INTO product_slots VALUES(44,93); -INSERT INTO product_slots VALUES(44,94); -INSERT INTO product_slots VALUES(44,95); -INSERT INTO product_slots VALUES(44,96); -INSERT INTO product_slots VALUES(44,97); -INSERT INTO product_slots VALUES(44,98); -INSERT INTO product_slots VALUES(44,99); -INSERT INTO product_slots VALUES(44,100); -INSERT INTO product_slots VALUES(44,102); -INSERT INTO product_slots VALUES(44,103); -INSERT INTO product_slots VALUES(44,104); -INSERT INTO product_slots VALUES(44,105); -INSERT INTO product_slots VALUES(44,106); -INSERT INTO product_slots VALUES(44,107); -INSERT INTO product_slots VALUES(44,108); -INSERT INTO product_slots VALUES(44,109); -INSERT INTO product_slots VALUES(44,110); -INSERT INTO product_slots VALUES(44,111); -INSERT INTO product_slots VALUES(44,112); -INSERT INTO product_slots VALUES(44,113); -INSERT INTO product_slots VALUES(44,114); -INSERT INTO product_slots VALUES(44,115); -INSERT INTO product_slots VALUES(44,117); -INSERT INTO product_slots VALUES(44,118); -INSERT INTO product_slots VALUES(44,119); -INSERT INTO product_slots VALUES(44,120); -INSERT INTO product_slots VALUES(44,121); -INSERT INTO product_slots VALUES(44,122); -INSERT INTO product_slots VALUES(44,123); -INSERT INTO product_slots VALUES(44,124); -INSERT INTO product_slots VALUES(44,125); -INSERT INTO product_slots VALUES(44,126); -INSERT INTO product_slots VALUES(44,127); -INSERT INTO product_slots VALUES(44,128); -INSERT INTO product_slots VALUES(44,129); -INSERT INTO product_slots VALUES(44,130); -INSERT INTO product_slots VALUES(44,131); -INSERT INTO product_slots VALUES(44,132); -INSERT INTO product_slots VALUES(44,133); -INSERT INTO product_slots VALUES(44,134); -INSERT INTO product_slots VALUES(44,135); -INSERT INTO product_slots VALUES(44,136); -INSERT INTO product_slots VALUES(44,138); -INSERT INTO product_slots VALUES(44,139); -INSERT INTO product_slots VALUES(44,140); -INSERT INTO product_slots VALUES(44,141); -INSERT INTO product_slots VALUES(44,142); -INSERT INTO product_slots VALUES(44,143); -INSERT INTO product_slots VALUES(44,145); -INSERT INTO product_slots VALUES(44,146); -INSERT INTO product_slots VALUES(44,147); -INSERT INTO product_slots VALUES(44,148); -INSERT INTO product_slots VALUES(44,149); -INSERT INTO product_slots VALUES(44,150); -INSERT INTO product_slots VALUES(44,151); -INSERT INTO product_slots VALUES(44,152); -INSERT INTO product_slots VALUES(44,153); -INSERT INTO product_slots VALUES(44,154); -INSERT INTO product_slots VALUES(44,155); -INSERT INTO product_slots VALUES(44,156); -INSERT INTO product_slots VALUES(44,157); -INSERT INTO product_slots VALUES(44,158); -INSERT INTO product_slots VALUES(44,159); -INSERT INTO product_slots VALUES(44,160); -INSERT INTO product_slots VALUES(44,161); -INSERT INTO product_slots VALUES(44,162); -INSERT INTO product_slots VALUES(44,163); -INSERT INTO product_slots VALUES(44,164); -INSERT INTO product_slots VALUES(44,165); -INSERT INTO product_slots VALUES(44,166); -INSERT INTO product_slots VALUES(44,167); -INSERT INTO product_slots VALUES(44,168); -INSERT INTO product_slots VALUES(44,169); -INSERT INTO product_slots VALUES(44,170); -INSERT INTO product_slots VALUES(44,171); -INSERT INTO product_slots VALUES(44,172); -INSERT INTO product_slots VALUES(44,173); -INSERT INTO product_slots VALUES(44,174); -INSERT INTO product_slots VALUES(44,175); -INSERT INTO product_slots VALUES(44,176); -INSERT INTO product_slots VALUES(44,177); -INSERT INTO product_slots VALUES(44,178); -INSERT INTO product_slots VALUES(44,179); -INSERT INTO product_slots VALUES(44,180); -INSERT INTO product_slots VALUES(44,181); -INSERT INTO product_slots VALUES(44,182); -INSERT INTO product_slots VALUES(44,183); -INSERT INTO product_slots VALUES(44,184); -INSERT INTO product_slots VALUES(44,185); -INSERT INTO product_slots VALUES(44,186); -INSERT INTO product_slots VALUES(44,187); -INSERT INTO product_slots VALUES(44,188); -INSERT INTO product_slots VALUES(44,189); -INSERT INTO product_slots VALUES(44,190); -INSERT INTO product_slots VALUES(44,191); -INSERT INTO product_slots VALUES(44,192); -INSERT INTO product_slots VALUES(44,193); -INSERT INTO product_slots VALUES(44,194); -INSERT INTO product_slots VALUES(44,195); -INSERT INTO product_slots VALUES(44,196); -INSERT INTO product_slots VALUES(44,197); -INSERT INTO product_slots VALUES(44,198); -INSERT INTO product_slots VALUES(44,199); -INSERT INTO product_slots VALUES(44,200); -INSERT INTO product_slots VALUES(44,201); -INSERT INTO product_slots VALUES(44,202); -INSERT INTO product_slots VALUES(44,203); -INSERT INTO product_slots VALUES(44,204); -INSERT INTO product_slots VALUES(44,205); -INSERT INTO product_slots VALUES(44,206); -INSERT INTO product_slots VALUES(44,207); -INSERT INTO product_slots VALUES(44,208); -INSERT INTO product_slots VALUES(44,209); -INSERT INTO product_slots VALUES(44,210); -INSERT INTO product_slots VALUES(44,211); -INSERT INTO product_slots VALUES(44,212); -INSERT INTO product_slots VALUES(44,213); -INSERT INTO product_slots VALUES(44,214); -INSERT INTO product_slots VALUES(44,215); -INSERT INTO product_slots VALUES(44,216); -INSERT INTO product_slots VALUES(44,217); -INSERT INTO product_slots VALUES(44,218); -INSERT INTO product_slots VALUES(44,219); -INSERT INTO product_slots VALUES(44,220); -INSERT INTO product_slots VALUES(44,221); -INSERT INTO product_slots VALUES(44,222); -INSERT INTO product_slots VALUES(44,223); -INSERT INTO product_slots VALUES(44,224); -INSERT INTO product_slots VALUES(44,225); -INSERT INTO product_slots VALUES(44,226); -INSERT INTO product_slots VALUES(44,227); -INSERT INTO product_slots VALUES(44,228); -INSERT INTO product_slots VALUES(44,229); -INSERT INTO product_slots VALUES(44,230); -INSERT INTO product_slots VALUES(44,231); -INSERT INTO product_slots VALUES(44,232); -INSERT INTO product_slots VALUES(44,233); -INSERT INTO product_slots VALUES(44,234); -INSERT INTO product_slots VALUES(44,235); -INSERT INTO product_slots VALUES(44,236); -INSERT INTO product_slots VALUES(44,237); -INSERT INTO product_slots VALUES(44,238); -INSERT INTO product_slots VALUES(44,239); -INSERT INTO product_slots VALUES(44,240); -INSERT INTO product_slots VALUES(44,241); -INSERT INTO product_slots VALUES(44,242); -INSERT INTO product_slots VALUES(44,243); -INSERT INTO product_slots VALUES(44,244); -INSERT INTO product_slots VALUES(44,274); -INSERT INTO product_slots VALUES(44,275); -INSERT INTO product_slots VALUES(44,279); -INSERT INTO product_slots VALUES(44,280); -INSERT INTO product_slots VALUES(44,281); -INSERT INTO product_slots VALUES(44,282); -INSERT INTO product_slots VALUES(44,283); -INSERT INTO product_slots VALUES(44,284); -INSERT INTO product_slots VALUES(44,285); -INSERT INTO product_slots VALUES(44,286); -INSERT INTO product_slots VALUES(44,287); -INSERT INTO product_slots VALUES(45,39); -INSERT INTO product_slots VALUES(45,41); -INSERT INTO product_slots VALUES(45,43); -INSERT INTO product_slots VALUES(45,44); -INSERT INTO product_slots VALUES(45,45); -INSERT INTO product_slots VALUES(45,46); -INSERT INTO product_slots VALUES(45,47); -INSERT INTO product_slots VALUES(45,48); -INSERT INTO product_slots VALUES(45,49); -INSERT INTO product_slots VALUES(45,50); -INSERT INTO product_slots VALUES(45,51); -INSERT INTO product_slots VALUES(45,52); -INSERT INTO product_slots VALUES(45,53); -INSERT INTO product_slots VALUES(45,54); -INSERT INTO product_slots VALUES(45,55); -INSERT INTO product_slots VALUES(45,56); -INSERT INTO product_slots VALUES(45,57); -INSERT INTO product_slots VALUES(45,58); -INSERT INTO product_slots VALUES(45,59); -INSERT INTO product_slots VALUES(45,60); -INSERT INTO product_slots VALUES(45,61); -INSERT INTO product_slots VALUES(45,62); -INSERT INTO product_slots VALUES(45,63); -INSERT INTO product_slots VALUES(45,64); -INSERT INTO product_slots VALUES(45,65); -INSERT INTO product_slots VALUES(45,66); -INSERT INTO product_slots VALUES(45,67); -INSERT INTO product_slots VALUES(45,68); -INSERT INTO product_slots VALUES(45,69); -INSERT INTO product_slots VALUES(45,70); -INSERT INTO product_slots VALUES(45,71); -INSERT INTO product_slots VALUES(45,72); -INSERT INTO product_slots VALUES(45,73); -INSERT INTO product_slots VALUES(45,74); -INSERT INTO product_slots VALUES(45,75); -INSERT INTO product_slots VALUES(45,76); -INSERT INTO product_slots VALUES(45,77); -INSERT INTO product_slots VALUES(45,78); -INSERT INTO product_slots VALUES(45,79); -INSERT INTO product_slots VALUES(45,80); -INSERT INTO product_slots VALUES(45,81); -INSERT INTO product_slots VALUES(45,82); -INSERT INTO product_slots VALUES(45,83); -INSERT INTO product_slots VALUES(45,84); -INSERT INTO product_slots VALUES(45,85); -INSERT INTO product_slots VALUES(45,86); -INSERT INTO product_slots VALUES(45,87); -INSERT INTO product_slots VALUES(45,88); -INSERT INTO product_slots VALUES(45,89); -INSERT INTO product_slots VALUES(45,90); -INSERT INTO product_slots VALUES(45,91); -INSERT INTO product_slots VALUES(45,92); -INSERT INTO product_slots VALUES(45,93); -INSERT INTO product_slots VALUES(45,94); -INSERT INTO product_slots VALUES(45,95); -INSERT INTO product_slots VALUES(45,96); -INSERT INTO product_slots VALUES(45,97); -INSERT INTO product_slots VALUES(45,98); -INSERT INTO product_slots VALUES(45,99); -INSERT INTO product_slots VALUES(45,100); -INSERT INTO product_slots VALUES(45,101); -INSERT INTO product_slots VALUES(45,102); -INSERT INTO product_slots VALUES(45,103); -INSERT INTO product_slots VALUES(45,104); -INSERT INTO product_slots VALUES(45,105); -INSERT INTO product_slots VALUES(45,106); -INSERT INTO product_slots VALUES(45,107); -INSERT INTO product_slots VALUES(45,108); -INSERT INTO product_slots VALUES(45,109); -INSERT INTO product_slots VALUES(45,110); -INSERT INTO product_slots VALUES(45,111); -INSERT INTO product_slots VALUES(45,112); -INSERT INTO product_slots VALUES(45,113); -INSERT INTO product_slots VALUES(45,114); -INSERT INTO product_slots VALUES(45,115); -INSERT INTO product_slots VALUES(45,116); -INSERT INTO product_slots VALUES(45,117); -INSERT INTO product_slots VALUES(45,118); -INSERT INTO product_slots VALUES(45,119); -INSERT INTO product_slots VALUES(45,120); -INSERT INTO product_slots VALUES(45,121); -INSERT INTO product_slots VALUES(45,122); -INSERT INTO product_slots VALUES(45,123); -INSERT INTO product_slots VALUES(45,124); -INSERT INTO product_slots VALUES(45,125); -INSERT INTO product_slots VALUES(45,126); -INSERT INTO product_slots VALUES(45,127); -INSERT INTO product_slots VALUES(45,128); -INSERT INTO product_slots VALUES(45,129); -INSERT INTO product_slots VALUES(45,130); -INSERT INTO product_slots VALUES(45,131); -INSERT INTO product_slots VALUES(45,132); -INSERT INTO product_slots VALUES(45,133); -INSERT INTO product_slots VALUES(45,134); -INSERT INTO product_slots VALUES(45,135); -INSERT INTO product_slots VALUES(45,136); -INSERT INTO product_slots VALUES(45,137); -INSERT INTO product_slots VALUES(45,138); -INSERT INTO product_slots VALUES(45,139); -INSERT INTO product_slots VALUES(45,140); -INSERT INTO product_slots VALUES(45,141); -INSERT INTO product_slots VALUES(45,142); -INSERT INTO product_slots VALUES(45,143); -INSERT INTO product_slots VALUES(45,144); -INSERT INTO product_slots VALUES(45,145); -INSERT INTO product_slots VALUES(45,146); -INSERT INTO product_slots VALUES(45,147); -INSERT INTO product_slots VALUES(45,148); -INSERT INTO product_slots VALUES(45,149); -INSERT INTO product_slots VALUES(45,150); -INSERT INTO product_slots VALUES(45,151); -INSERT INTO product_slots VALUES(45,152); -INSERT INTO product_slots VALUES(45,153); -INSERT INTO product_slots VALUES(45,154); -INSERT INTO product_slots VALUES(45,155); -INSERT INTO product_slots VALUES(45,156); -INSERT INTO product_slots VALUES(45,157); -INSERT INTO product_slots VALUES(45,158); -INSERT INTO product_slots VALUES(45,159); -INSERT INTO product_slots VALUES(45,160); -INSERT INTO product_slots VALUES(45,161); -INSERT INTO product_slots VALUES(45,162); -INSERT INTO product_slots VALUES(45,163); -INSERT INTO product_slots VALUES(45,164); -INSERT INTO product_slots VALUES(45,165); -INSERT INTO product_slots VALUES(45,166); -INSERT INTO product_slots VALUES(45,167); -INSERT INTO product_slots VALUES(45,168); -INSERT INTO product_slots VALUES(45,169); -INSERT INTO product_slots VALUES(45,170); -INSERT INTO product_slots VALUES(45,171); -INSERT INTO product_slots VALUES(45,172); -INSERT INTO product_slots VALUES(45,173); -INSERT INTO product_slots VALUES(45,174); -INSERT INTO product_slots VALUES(45,175); -INSERT INTO product_slots VALUES(45,176); -INSERT INTO product_slots VALUES(45,177); -INSERT INTO product_slots VALUES(45,178); -INSERT INTO product_slots VALUES(45,179); -INSERT INTO product_slots VALUES(45,180); -INSERT INTO product_slots VALUES(45,181); -INSERT INTO product_slots VALUES(45,182); -INSERT INTO product_slots VALUES(45,183); -INSERT INTO product_slots VALUES(45,184); -INSERT INTO product_slots VALUES(45,185); -INSERT INTO product_slots VALUES(45,186); -INSERT INTO product_slots VALUES(45,187); -INSERT INTO product_slots VALUES(45,188); -INSERT INTO product_slots VALUES(45,189); -INSERT INTO product_slots VALUES(45,190); -INSERT INTO product_slots VALUES(45,191); -INSERT INTO product_slots VALUES(45,192); -INSERT INTO product_slots VALUES(45,193); -INSERT INTO product_slots VALUES(45,194); -INSERT INTO product_slots VALUES(45,195); -INSERT INTO product_slots VALUES(45,196); -INSERT INTO product_slots VALUES(45,197); -INSERT INTO product_slots VALUES(45,198); -INSERT INTO product_slots VALUES(45,199); -INSERT INTO product_slots VALUES(45,200); -INSERT INTO product_slots VALUES(45,201); -INSERT INTO product_slots VALUES(45,202); -INSERT INTO product_slots VALUES(45,203); -INSERT INTO product_slots VALUES(45,204); -INSERT INTO product_slots VALUES(45,205); -INSERT INTO product_slots VALUES(45,206); -INSERT INTO product_slots VALUES(45,207); -INSERT INTO product_slots VALUES(45,208); -INSERT INTO product_slots VALUES(45,209); -INSERT INTO product_slots VALUES(45,210); -INSERT INTO product_slots VALUES(45,211); -INSERT INTO product_slots VALUES(45,212); -INSERT INTO product_slots VALUES(45,213); -INSERT INTO product_slots VALUES(45,214); -INSERT INTO product_slots VALUES(45,215); -INSERT INTO product_slots VALUES(45,216); -INSERT INTO product_slots VALUES(45,217); -INSERT INTO product_slots VALUES(45,218); -INSERT INTO product_slots VALUES(45,219); -INSERT INTO product_slots VALUES(45,220); -INSERT INTO product_slots VALUES(45,221); -INSERT INTO product_slots VALUES(45,222); -INSERT INTO product_slots VALUES(45,223); -INSERT INTO product_slots VALUES(45,224); -INSERT INTO product_slots VALUES(45,225); -INSERT INTO product_slots VALUES(45,226); -INSERT INTO product_slots VALUES(45,227); -INSERT INTO product_slots VALUES(45,228); -INSERT INTO product_slots VALUES(45,229); -INSERT INTO product_slots VALUES(45,230); -INSERT INTO product_slots VALUES(45,231); -INSERT INTO product_slots VALUES(45,232); -INSERT INTO product_slots VALUES(45,233); -INSERT INTO product_slots VALUES(45,234); -INSERT INTO product_slots VALUES(45,235); -INSERT INTO product_slots VALUES(45,236); -INSERT INTO product_slots VALUES(45,237); -INSERT INTO product_slots VALUES(45,238); -INSERT INTO product_slots VALUES(45,239); -INSERT INTO product_slots VALUES(45,240); -INSERT INTO product_slots VALUES(45,241); -INSERT INTO product_slots VALUES(45,242); -INSERT INTO product_slots VALUES(45,243); -INSERT INTO product_slots VALUES(45,244); -INSERT INTO product_slots VALUES(45,274); -INSERT INTO product_slots VALUES(45,275); -INSERT INTO product_slots VALUES(45,279); -INSERT INTO product_slots VALUES(45,280); -INSERT INTO product_slots VALUES(45,281); -INSERT INTO product_slots VALUES(45,282); -INSERT INTO product_slots VALUES(45,283); -INSERT INTO product_slots VALUES(45,284); -INSERT INTO product_slots VALUES(45,285); -INSERT INTO product_slots VALUES(45,286); -INSERT INTO product_slots VALUES(45,287); -INSERT INTO product_slots VALUES(46,39); -INSERT INTO product_slots VALUES(46,40); -INSERT INTO product_slots VALUES(46,43); -INSERT INTO product_slots VALUES(46,45); -INSERT INTO product_slots VALUES(46,46); -INSERT INTO product_slots VALUES(46,48); -INSERT INTO product_slots VALUES(46,49); -INSERT INTO product_slots VALUES(46,51); -INSERT INTO product_slots VALUES(46,52); -INSERT INTO product_slots VALUES(46,53); -INSERT INTO product_slots VALUES(46,54); -INSERT INTO product_slots VALUES(46,57); -INSERT INTO product_slots VALUES(46,58); -INSERT INTO product_slots VALUES(46,59); -INSERT INTO product_slots VALUES(46,60); -INSERT INTO product_slots VALUES(46,61); -INSERT INTO product_slots VALUES(46,62); -INSERT INTO product_slots VALUES(46,63); -INSERT INTO product_slots VALUES(46,64); -INSERT INTO product_slots VALUES(46,65); -INSERT INTO product_slots VALUES(46,66); -INSERT INTO product_slots VALUES(46,67); -INSERT INTO product_slots VALUES(46,68); -INSERT INTO product_slots VALUES(46,69); -INSERT INTO product_slots VALUES(46,70); -INSERT INTO product_slots VALUES(46,71); -INSERT INTO product_slots VALUES(46,72); -INSERT INTO product_slots VALUES(46,73); -INSERT INTO product_slots VALUES(46,74); -INSERT INTO product_slots VALUES(46,75); -INSERT INTO product_slots VALUES(46,76); -INSERT INTO product_slots VALUES(46,77); -INSERT INTO product_slots VALUES(46,78); -INSERT INTO product_slots VALUES(46,79); -INSERT INTO product_slots VALUES(46,80); -INSERT INTO product_slots VALUES(46,81); -INSERT INTO product_slots VALUES(46,82); -INSERT INTO product_slots VALUES(46,83); -INSERT INTO product_slots VALUES(46,84); -INSERT INTO product_slots VALUES(46,85); -INSERT INTO product_slots VALUES(46,86); -INSERT INTO product_slots VALUES(46,87); -INSERT INTO product_slots VALUES(46,88); -INSERT INTO product_slots VALUES(46,89); -INSERT INTO product_slots VALUES(46,90); -INSERT INTO product_slots VALUES(46,91); -INSERT INTO product_slots VALUES(46,92); -INSERT INTO product_slots VALUES(46,93); -INSERT INTO product_slots VALUES(46,94); -INSERT INTO product_slots VALUES(46,95); -INSERT INTO product_slots VALUES(46,96); -INSERT INTO product_slots VALUES(46,97); -INSERT INTO product_slots VALUES(46,98); -INSERT INTO product_slots VALUES(46,99); -INSERT INTO product_slots VALUES(46,100); -INSERT INTO product_slots VALUES(46,102); -INSERT INTO product_slots VALUES(46,103); -INSERT INTO product_slots VALUES(46,104); -INSERT INTO product_slots VALUES(46,105); -INSERT INTO product_slots VALUES(46,106); -INSERT INTO product_slots VALUES(46,107); -INSERT INTO product_slots VALUES(46,108); -INSERT INTO product_slots VALUES(46,109); -INSERT INTO product_slots VALUES(46,110); -INSERT INTO product_slots VALUES(46,111); -INSERT INTO product_slots VALUES(46,112); -INSERT INTO product_slots VALUES(46,113); -INSERT INTO product_slots VALUES(46,114); -INSERT INTO product_slots VALUES(46,115); -INSERT INTO product_slots VALUES(46,117); -INSERT INTO product_slots VALUES(46,118); -INSERT INTO product_slots VALUES(46,119); -INSERT INTO product_slots VALUES(46,120); -INSERT INTO product_slots VALUES(46,121); -INSERT INTO product_slots VALUES(46,122); -INSERT INTO product_slots VALUES(46,123); -INSERT INTO product_slots VALUES(46,124); -INSERT INTO product_slots VALUES(46,125); -INSERT INTO product_slots VALUES(46,126); -INSERT INTO product_slots VALUES(46,127); -INSERT INTO product_slots VALUES(46,128); -INSERT INTO product_slots VALUES(46,129); -INSERT INTO product_slots VALUES(46,130); -INSERT INTO product_slots VALUES(46,131); -INSERT INTO product_slots VALUES(46,132); -INSERT INTO product_slots VALUES(46,133); -INSERT INTO product_slots VALUES(46,134); -INSERT INTO product_slots VALUES(46,135); -INSERT INTO product_slots VALUES(46,136); -INSERT INTO product_slots VALUES(46,138); -INSERT INTO product_slots VALUES(46,139); -INSERT INTO product_slots VALUES(46,140); -INSERT INTO product_slots VALUES(46,141); -INSERT INTO product_slots VALUES(46,142); -INSERT INTO product_slots VALUES(46,143); -INSERT INTO product_slots VALUES(46,145); -INSERT INTO product_slots VALUES(46,146); -INSERT INTO product_slots VALUES(46,147); -INSERT INTO product_slots VALUES(46,148); -INSERT INTO product_slots VALUES(46,149); -INSERT INTO product_slots VALUES(46,150); -INSERT INTO product_slots VALUES(46,151); -INSERT INTO product_slots VALUES(46,152); -INSERT INTO product_slots VALUES(46,153); -INSERT INTO product_slots VALUES(46,154); -INSERT INTO product_slots VALUES(46,155); -INSERT INTO product_slots VALUES(46,156); -INSERT INTO product_slots VALUES(46,157); -INSERT INTO product_slots VALUES(46,158); -INSERT INTO product_slots VALUES(46,159); -INSERT INTO product_slots VALUES(46,160); -INSERT INTO product_slots VALUES(46,161); -INSERT INTO product_slots VALUES(46,162); -INSERT INTO product_slots VALUES(46,163); -INSERT INTO product_slots VALUES(46,164); -INSERT INTO product_slots VALUES(46,165); -INSERT INTO product_slots VALUES(46,166); -INSERT INTO product_slots VALUES(46,167); -INSERT INTO product_slots VALUES(46,168); -INSERT INTO product_slots VALUES(46,169); -INSERT INTO product_slots VALUES(46,170); -INSERT INTO product_slots VALUES(46,171); -INSERT INTO product_slots VALUES(46,172); -INSERT INTO product_slots VALUES(46,173); -INSERT INTO product_slots VALUES(46,174); -INSERT INTO product_slots VALUES(46,175); -INSERT INTO product_slots VALUES(46,176); -INSERT INTO product_slots VALUES(46,177); -INSERT INTO product_slots VALUES(46,178); -INSERT INTO product_slots VALUES(46,179); -INSERT INTO product_slots VALUES(46,180); -INSERT INTO product_slots VALUES(46,181); -INSERT INTO product_slots VALUES(46,182); -INSERT INTO product_slots VALUES(46,183); -INSERT INTO product_slots VALUES(46,184); -INSERT INTO product_slots VALUES(46,185); -INSERT INTO product_slots VALUES(46,186); -INSERT INTO product_slots VALUES(46,187); -INSERT INTO product_slots VALUES(46,188); -INSERT INTO product_slots VALUES(46,189); -INSERT INTO product_slots VALUES(46,190); -INSERT INTO product_slots VALUES(46,191); -INSERT INTO product_slots VALUES(46,192); -INSERT INTO product_slots VALUES(46,193); -INSERT INTO product_slots VALUES(46,194); -INSERT INTO product_slots VALUES(46,195); -INSERT INTO product_slots VALUES(46,196); -INSERT INTO product_slots VALUES(46,197); -INSERT INTO product_slots VALUES(46,198); -INSERT INTO product_slots VALUES(46,199); -INSERT INTO product_slots VALUES(46,200); -INSERT INTO product_slots VALUES(46,201); -INSERT INTO product_slots VALUES(46,202); -INSERT INTO product_slots VALUES(46,203); -INSERT INTO product_slots VALUES(46,204); -INSERT INTO product_slots VALUES(46,205); -INSERT INTO product_slots VALUES(46,206); -INSERT INTO product_slots VALUES(46,207); -INSERT INTO product_slots VALUES(46,208); -INSERT INTO product_slots VALUES(46,209); -INSERT INTO product_slots VALUES(46,210); -INSERT INTO product_slots VALUES(46,211); -INSERT INTO product_slots VALUES(46,212); -INSERT INTO product_slots VALUES(46,213); -INSERT INTO product_slots VALUES(46,214); -INSERT INTO product_slots VALUES(46,215); -INSERT INTO product_slots VALUES(46,216); -INSERT INTO product_slots VALUES(46,217); -INSERT INTO product_slots VALUES(46,218); -INSERT INTO product_slots VALUES(46,219); -INSERT INTO product_slots VALUES(46,220); -INSERT INTO product_slots VALUES(46,221); -INSERT INTO product_slots VALUES(46,222); -INSERT INTO product_slots VALUES(46,223); -INSERT INTO product_slots VALUES(46,224); -INSERT INTO product_slots VALUES(46,225); -INSERT INTO product_slots VALUES(46,226); -INSERT INTO product_slots VALUES(46,227); -INSERT INTO product_slots VALUES(46,228); -INSERT INTO product_slots VALUES(46,229); -INSERT INTO product_slots VALUES(46,230); -INSERT INTO product_slots VALUES(46,231); -INSERT INTO product_slots VALUES(46,232); -INSERT INTO product_slots VALUES(46,233); -INSERT INTO product_slots VALUES(46,234); -INSERT INTO product_slots VALUES(46,235); -INSERT INTO product_slots VALUES(46,236); -INSERT INTO product_slots VALUES(46,237); -INSERT INTO product_slots VALUES(46,238); -INSERT INTO product_slots VALUES(46,239); -INSERT INTO product_slots VALUES(46,240); -INSERT INTO product_slots VALUES(46,241); -INSERT INTO product_slots VALUES(46,242); -INSERT INTO product_slots VALUES(46,243); -INSERT INTO product_slots VALUES(46,244); -INSERT INTO product_slots VALUES(46,274); -INSERT INTO product_slots VALUES(46,275); -INSERT INTO product_slots VALUES(46,279); -INSERT INTO product_slots VALUES(46,280); -INSERT INTO product_slots VALUES(46,281); -INSERT INTO product_slots VALUES(46,282); -INSERT INTO product_slots VALUES(46,283); -INSERT INTO product_slots VALUES(46,284); -INSERT INTO product_slots VALUES(46,285); -INSERT INTO product_slots VALUES(46,286); -INSERT INTO product_slots VALUES(46,287); -INSERT INTO product_slots VALUES(47,39); -INSERT INTO product_slots VALUES(47,40); -INSERT INTO product_slots VALUES(47,43); -INSERT INTO product_slots VALUES(47,45); -INSERT INTO product_slots VALUES(47,46); -INSERT INTO product_slots VALUES(47,48); -INSERT INTO product_slots VALUES(47,49); -INSERT INTO product_slots VALUES(47,51); -INSERT INTO product_slots VALUES(47,52); -INSERT INTO product_slots VALUES(47,53); -INSERT INTO product_slots VALUES(47,54); -INSERT INTO product_slots VALUES(47,57); -INSERT INTO product_slots VALUES(47,58); -INSERT INTO product_slots VALUES(47,59); -INSERT INTO product_slots VALUES(47,60); -INSERT INTO product_slots VALUES(47,61); -INSERT INTO product_slots VALUES(47,62); -INSERT INTO product_slots VALUES(47,63); -INSERT INTO product_slots VALUES(47,64); -INSERT INTO product_slots VALUES(47,65); -INSERT INTO product_slots VALUES(47,66); -INSERT INTO product_slots VALUES(47,67); -INSERT INTO product_slots VALUES(47,68); -INSERT INTO product_slots VALUES(47,69); -INSERT INTO product_slots VALUES(47,70); -INSERT INTO product_slots VALUES(47,71); -INSERT INTO product_slots VALUES(47,72); -INSERT INTO product_slots VALUES(47,73); -INSERT INTO product_slots VALUES(47,74); -INSERT INTO product_slots VALUES(47,75); -INSERT INTO product_slots VALUES(47,76); -INSERT INTO product_slots VALUES(47,77); -INSERT INTO product_slots VALUES(47,78); -INSERT INTO product_slots VALUES(47,79); -INSERT INTO product_slots VALUES(47,80); -INSERT INTO product_slots VALUES(47,81); -INSERT INTO product_slots VALUES(47,82); -INSERT INTO product_slots VALUES(47,83); -INSERT INTO product_slots VALUES(47,84); -INSERT INTO product_slots VALUES(47,85); -INSERT INTO product_slots VALUES(47,86); -INSERT INTO product_slots VALUES(47,87); -INSERT INTO product_slots VALUES(47,88); -INSERT INTO product_slots VALUES(47,89); -INSERT INTO product_slots VALUES(47,90); -INSERT INTO product_slots VALUES(47,91); -INSERT INTO product_slots VALUES(47,92); -INSERT INTO product_slots VALUES(47,93); -INSERT INTO product_slots VALUES(47,94); -INSERT INTO product_slots VALUES(47,95); -INSERT INTO product_slots VALUES(47,96); -INSERT INTO product_slots VALUES(47,97); -INSERT INTO product_slots VALUES(47,98); -INSERT INTO product_slots VALUES(47,99); -INSERT INTO product_slots VALUES(47,100); -INSERT INTO product_slots VALUES(47,102); -INSERT INTO product_slots VALUES(47,103); -INSERT INTO product_slots VALUES(47,104); -INSERT INTO product_slots VALUES(47,105); -INSERT INTO product_slots VALUES(47,106); -INSERT INTO product_slots VALUES(47,107); -INSERT INTO product_slots VALUES(47,108); -INSERT INTO product_slots VALUES(47,109); -INSERT INTO product_slots VALUES(47,110); -INSERT INTO product_slots VALUES(47,111); -INSERT INTO product_slots VALUES(47,112); -INSERT INTO product_slots VALUES(47,113); -INSERT INTO product_slots VALUES(47,114); -INSERT INTO product_slots VALUES(47,115); -INSERT INTO product_slots VALUES(47,117); -INSERT INTO product_slots VALUES(47,118); -INSERT INTO product_slots VALUES(47,119); -INSERT INTO product_slots VALUES(47,120); -INSERT INTO product_slots VALUES(47,121); -INSERT INTO product_slots VALUES(47,122); -INSERT INTO product_slots VALUES(47,123); -INSERT INTO product_slots VALUES(47,124); -INSERT INTO product_slots VALUES(47,125); -INSERT INTO product_slots VALUES(47,126); -INSERT INTO product_slots VALUES(47,127); -INSERT INTO product_slots VALUES(47,128); -INSERT INTO product_slots VALUES(47,129); -INSERT INTO product_slots VALUES(47,130); -INSERT INTO product_slots VALUES(47,131); -INSERT INTO product_slots VALUES(47,132); -INSERT INTO product_slots VALUES(47,133); -INSERT INTO product_slots VALUES(47,134); -INSERT INTO product_slots VALUES(47,135); -INSERT INTO product_slots VALUES(47,136); -INSERT INTO product_slots VALUES(47,138); -INSERT INTO product_slots VALUES(47,139); -INSERT INTO product_slots VALUES(47,140); -INSERT INTO product_slots VALUES(47,141); -INSERT INTO product_slots VALUES(47,142); -INSERT INTO product_slots VALUES(47,143); -INSERT INTO product_slots VALUES(47,145); -INSERT INTO product_slots VALUES(47,146); -INSERT INTO product_slots VALUES(47,147); -INSERT INTO product_slots VALUES(47,148); -INSERT INTO product_slots VALUES(47,149); -INSERT INTO product_slots VALUES(47,150); -INSERT INTO product_slots VALUES(47,151); -INSERT INTO product_slots VALUES(47,152); -INSERT INTO product_slots VALUES(47,153); -INSERT INTO product_slots VALUES(47,154); -INSERT INTO product_slots VALUES(47,155); -INSERT INTO product_slots VALUES(47,156); -INSERT INTO product_slots VALUES(47,157); -INSERT INTO product_slots VALUES(47,158); -INSERT INTO product_slots VALUES(47,159); -INSERT INTO product_slots VALUES(47,160); -INSERT INTO product_slots VALUES(47,161); -INSERT INTO product_slots VALUES(47,162); -INSERT INTO product_slots VALUES(47,163); -INSERT INTO product_slots VALUES(47,164); -INSERT INTO product_slots VALUES(47,165); -INSERT INTO product_slots VALUES(47,166); -INSERT INTO product_slots VALUES(47,167); -INSERT INTO product_slots VALUES(47,168); -INSERT INTO product_slots VALUES(47,169); -INSERT INTO product_slots VALUES(47,170); -INSERT INTO product_slots VALUES(47,171); -INSERT INTO product_slots VALUES(47,172); -INSERT INTO product_slots VALUES(47,173); -INSERT INTO product_slots VALUES(47,174); -INSERT INTO product_slots VALUES(47,175); -INSERT INTO product_slots VALUES(47,176); -INSERT INTO product_slots VALUES(47,177); -INSERT INTO product_slots VALUES(47,178); -INSERT INTO product_slots VALUES(47,179); -INSERT INTO product_slots VALUES(47,180); -INSERT INTO product_slots VALUES(47,181); -INSERT INTO product_slots VALUES(47,182); -INSERT INTO product_slots VALUES(47,183); -INSERT INTO product_slots VALUES(47,184); -INSERT INTO product_slots VALUES(47,185); -INSERT INTO product_slots VALUES(47,186); -INSERT INTO product_slots VALUES(47,187); -INSERT INTO product_slots VALUES(47,188); -INSERT INTO product_slots VALUES(47,189); -INSERT INTO product_slots VALUES(47,190); -INSERT INTO product_slots VALUES(47,191); -INSERT INTO product_slots VALUES(47,192); -INSERT INTO product_slots VALUES(47,193); -INSERT INTO product_slots VALUES(47,194); -INSERT INTO product_slots VALUES(47,195); -INSERT INTO product_slots VALUES(47,196); -INSERT INTO product_slots VALUES(47,197); -INSERT INTO product_slots VALUES(47,198); -INSERT INTO product_slots VALUES(47,199); -INSERT INTO product_slots VALUES(47,200); -INSERT INTO product_slots VALUES(47,201); -INSERT INTO product_slots VALUES(47,202); -INSERT INTO product_slots VALUES(47,203); -INSERT INTO product_slots VALUES(47,204); -INSERT INTO product_slots VALUES(47,205); -INSERT INTO product_slots VALUES(47,206); -INSERT INTO product_slots VALUES(47,207); -INSERT INTO product_slots VALUES(47,208); -INSERT INTO product_slots VALUES(47,209); -INSERT INTO product_slots VALUES(47,210); -INSERT INTO product_slots VALUES(47,211); -INSERT INTO product_slots VALUES(47,212); -INSERT INTO product_slots VALUES(47,213); -INSERT INTO product_slots VALUES(47,214); -INSERT INTO product_slots VALUES(47,215); -INSERT INTO product_slots VALUES(47,216); -INSERT INTO product_slots VALUES(47,217); -INSERT INTO product_slots VALUES(47,218); -INSERT INTO product_slots VALUES(47,219); -INSERT INTO product_slots VALUES(47,220); -INSERT INTO product_slots VALUES(47,221); -INSERT INTO product_slots VALUES(47,222); -INSERT INTO product_slots VALUES(47,223); -INSERT INTO product_slots VALUES(47,224); -INSERT INTO product_slots VALUES(47,225); -INSERT INTO product_slots VALUES(47,226); -INSERT INTO product_slots VALUES(47,227); -INSERT INTO product_slots VALUES(47,228); -INSERT INTO product_slots VALUES(47,229); -INSERT INTO product_slots VALUES(47,230); -INSERT INTO product_slots VALUES(47,231); -INSERT INTO product_slots VALUES(47,232); -INSERT INTO product_slots VALUES(47,233); -INSERT INTO product_slots VALUES(47,234); -INSERT INTO product_slots VALUES(47,235); -INSERT INTO product_slots VALUES(47,236); -INSERT INTO product_slots VALUES(47,237); -INSERT INTO product_slots VALUES(47,238); -INSERT INTO product_slots VALUES(47,239); -INSERT INTO product_slots VALUES(47,240); -INSERT INTO product_slots VALUES(47,241); -INSERT INTO product_slots VALUES(47,242); -INSERT INTO product_slots VALUES(47,243); -INSERT INTO product_slots VALUES(47,244); -INSERT INTO product_slots VALUES(47,274); -INSERT INTO product_slots VALUES(47,275); -INSERT INTO product_slots VALUES(47,279); -INSERT INTO product_slots VALUES(47,280); -INSERT INTO product_slots VALUES(47,281); -INSERT INTO product_slots VALUES(47,282); -INSERT INTO product_slots VALUES(47,283); -INSERT INTO product_slots VALUES(47,284); -INSERT INTO product_slots VALUES(47,285); -INSERT INTO product_slots VALUES(47,286); -INSERT INTO product_slots VALUES(47,287); -INSERT INTO product_slots VALUES(48,39); -INSERT INTO product_slots VALUES(48,43); -INSERT INTO product_slots VALUES(48,45); -INSERT INTO product_slots VALUES(48,46); -INSERT INTO product_slots VALUES(48,48); -INSERT INTO product_slots VALUES(48,49); -INSERT INTO product_slots VALUES(48,51); -INSERT INTO product_slots VALUES(48,52); -INSERT INTO product_slots VALUES(48,53); -INSERT INTO product_slots VALUES(48,54); -INSERT INTO product_slots VALUES(48,57); -INSERT INTO product_slots VALUES(48,58); -INSERT INTO product_slots VALUES(48,59); -INSERT INTO product_slots VALUES(48,60); -INSERT INTO product_slots VALUES(48,61); -INSERT INTO product_slots VALUES(48,62); -INSERT INTO product_slots VALUES(48,63); -INSERT INTO product_slots VALUES(48,64); -INSERT INTO product_slots VALUES(48,65); -INSERT INTO product_slots VALUES(48,66); -INSERT INTO product_slots VALUES(48,67); -INSERT INTO product_slots VALUES(48,68); -INSERT INTO product_slots VALUES(48,69); -INSERT INTO product_slots VALUES(48,70); -INSERT INTO product_slots VALUES(48,71); -INSERT INTO product_slots VALUES(48,72); -INSERT INTO product_slots VALUES(48,73); -INSERT INTO product_slots VALUES(48,74); -INSERT INTO product_slots VALUES(48,75); -INSERT INTO product_slots VALUES(48,76); -INSERT INTO product_slots VALUES(48,77); -INSERT INTO product_slots VALUES(48,78); -INSERT INTO product_slots VALUES(48,79); -INSERT INTO product_slots VALUES(48,80); -INSERT INTO product_slots VALUES(48,81); -INSERT INTO product_slots VALUES(48,82); -INSERT INTO product_slots VALUES(48,83); -INSERT INTO product_slots VALUES(48,84); -INSERT INTO product_slots VALUES(48,85); -INSERT INTO product_slots VALUES(48,86); -INSERT INTO product_slots VALUES(48,87); -INSERT INTO product_slots VALUES(48,88); -INSERT INTO product_slots VALUES(48,89); -INSERT INTO product_slots VALUES(48,90); -INSERT INTO product_slots VALUES(48,91); -INSERT INTO product_slots VALUES(48,92); -INSERT INTO product_slots VALUES(48,93); -INSERT INTO product_slots VALUES(48,94); -INSERT INTO product_slots VALUES(48,95); -INSERT INTO product_slots VALUES(48,96); -INSERT INTO product_slots VALUES(48,97); -INSERT INTO product_slots VALUES(48,98); -INSERT INTO product_slots VALUES(48,99); -INSERT INTO product_slots VALUES(48,100); -INSERT INTO product_slots VALUES(48,102); -INSERT INTO product_slots VALUES(48,103); -INSERT INTO product_slots VALUES(48,104); -INSERT INTO product_slots VALUES(48,105); -INSERT INTO product_slots VALUES(48,106); -INSERT INTO product_slots VALUES(48,107); -INSERT INTO product_slots VALUES(48,108); -INSERT INTO product_slots VALUES(48,109); -INSERT INTO product_slots VALUES(48,110); -INSERT INTO product_slots VALUES(48,111); -INSERT INTO product_slots VALUES(48,112); -INSERT INTO product_slots VALUES(48,113); -INSERT INTO product_slots VALUES(48,114); -INSERT INTO product_slots VALUES(48,115); -INSERT INTO product_slots VALUES(48,117); -INSERT INTO product_slots VALUES(48,118); -INSERT INTO product_slots VALUES(48,119); -INSERT INTO product_slots VALUES(48,120); -INSERT INTO product_slots VALUES(48,121); -INSERT INTO product_slots VALUES(48,122); -INSERT INTO product_slots VALUES(48,124); -INSERT INTO product_slots VALUES(48,125); -INSERT INTO product_slots VALUES(48,126); -INSERT INTO product_slots VALUES(48,127); -INSERT INTO product_slots VALUES(48,128); -INSERT INTO product_slots VALUES(48,129); -INSERT INTO product_slots VALUES(48,130); -INSERT INTO product_slots VALUES(48,131); -INSERT INTO product_slots VALUES(48,132); -INSERT INTO product_slots VALUES(48,133); -INSERT INTO product_slots VALUES(48,134); -INSERT INTO product_slots VALUES(48,135); -INSERT INTO product_slots VALUES(48,136); -INSERT INTO product_slots VALUES(48,138); -INSERT INTO product_slots VALUES(48,139); -INSERT INTO product_slots VALUES(48,140); -INSERT INTO product_slots VALUES(48,141); -INSERT INTO product_slots VALUES(48,142); -INSERT INTO product_slots VALUES(48,143); -INSERT INTO product_slots VALUES(48,145); -INSERT INTO product_slots VALUES(48,146); -INSERT INTO product_slots VALUES(48,147); -INSERT INTO product_slots VALUES(48,148); -INSERT INTO product_slots VALUES(48,149); -INSERT INTO product_slots VALUES(48,150); -INSERT INTO product_slots VALUES(48,151); -INSERT INTO product_slots VALUES(48,152); -INSERT INTO product_slots VALUES(48,153); -INSERT INTO product_slots VALUES(48,154); -INSERT INTO product_slots VALUES(48,155); -INSERT INTO product_slots VALUES(48,156); -INSERT INTO product_slots VALUES(48,157); -INSERT INTO product_slots VALUES(48,158); -INSERT INTO product_slots VALUES(48,159); -INSERT INTO product_slots VALUES(48,160); -INSERT INTO product_slots VALUES(48,161); -INSERT INTO product_slots VALUES(48,162); -INSERT INTO product_slots VALUES(48,163); -INSERT INTO product_slots VALUES(48,164); -INSERT INTO product_slots VALUES(48,165); -INSERT INTO product_slots VALUES(48,166); -INSERT INTO product_slots VALUES(48,167); -INSERT INTO product_slots VALUES(48,168); -INSERT INTO product_slots VALUES(48,169); -INSERT INTO product_slots VALUES(48,170); -INSERT INTO product_slots VALUES(48,171); -INSERT INTO product_slots VALUES(48,172); -INSERT INTO product_slots VALUES(48,173); -INSERT INTO product_slots VALUES(48,174); -INSERT INTO product_slots VALUES(48,175); -INSERT INTO product_slots VALUES(48,176); -INSERT INTO product_slots VALUES(48,177); -INSERT INTO product_slots VALUES(48,178); -INSERT INTO product_slots VALUES(48,179); -INSERT INTO product_slots VALUES(48,180); -INSERT INTO product_slots VALUES(48,181); -INSERT INTO product_slots VALUES(48,182); -INSERT INTO product_slots VALUES(48,183); -INSERT INTO product_slots VALUES(48,184); -INSERT INTO product_slots VALUES(48,185); -INSERT INTO product_slots VALUES(48,186); -INSERT INTO product_slots VALUES(48,187); -INSERT INTO product_slots VALUES(48,188); -INSERT INTO product_slots VALUES(48,189); -INSERT INTO product_slots VALUES(48,190); -INSERT INTO product_slots VALUES(48,191); -INSERT INTO product_slots VALUES(48,192); -INSERT INTO product_slots VALUES(48,193); -INSERT INTO product_slots VALUES(48,194); -INSERT INTO product_slots VALUES(48,195); -INSERT INTO product_slots VALUES(48,196); -INSERT INTO product_slots VALUES(48,197); -INSERT INTO product_slots VALUES(48,198); -INSERT INTO product_slots VALUES(48,199); -INSERT INTO product_slots VALUES(48,200); -INSERT INTO product_slots VALUES(48,201); -INSERT INTO product_slots VALUES(48,202); -INSERT INTO product_slots VALUES(48,203); -INSERT INTO product_slots VALUES(48,204); -INSERT INTO product_slots VALUES(48,205); -INSERT INTO product_slots VALUES(48,206); -INSERT INTO product_slots VALUES(48,207); -INSERT INTO product_slots VALUES(48,208); -INSERT INTO product_slots VALUES(48,209); -INSERT INTO product_slots VALUES(48,210); -INSERT INTO product_slots VALUES(48,211); -INSERT INTO product_slots VALUES(48,212); -INSERT INTO product_slots VALUES(48,213); -INSERT INTO product_slots VALUES(48,214); -INSERT INTO product_slots VALUES(48,215); -INSERT INTO product_slots VALUES(48,216); -INSERT INTO product_slots VALUES(48,217); -INSERT INTO product_slots VALUES(48,218); -INSERT INTO product_slots VALUES(48,219); -INSERT INTO product_slots VALUES(48,220); -INSERT INTO product_slots VALUES(48,221); -INSERT INTO product_slots VALUES(48,222); -INSERT INTO product_slots VALUES(48,223); -INSERT INTO product_slots VALUES(48,224); -INSERT INTO product_slots VALUES(48,225); -INSERT INTO product_slots VALUES(48,226); -INSERT INTO product_slots VALUES(48,227); -INSERT INTO product_slots VALUES(48,228); -INSERT INTO product_slots VALUES(48,229); -INSERT INTO product_slots VALUES(48,230); -INSERT INTO product_slots VALUES(48,231); -INSERT INTO product_slots VALUES(48,232); -INSERT INTO product_slots VALUES(48,233); -INSERT INTO product_slots VALUES(48,234); -INSERT INTO product_slots VALUES(48,235); -INSERT INTO product_slots VALUES(48,236); -INSERT INTO product_slots VALUES(48,237); -INSERT INTO product_slots VALUES(48,238); -INSERT INTO product_slots VALUES(48,239); -INSERT INTO product_slots VALUES(48,240); -INSERT INTO product_slots VALUES(48,241); -INSERT INTO product_slots VALUES(48,242); -INSERT INTO product_slots VALUES(48,243); -INSERT INTO product_slots VALUES(48,244); -INSERT INTO product_slots VALUES(48,274); -INSERT INTO product_slots VALUES(48,275); -INSERT INTO product_slots VALUES(48,279); -INSERT INTO product_slots VALUES(48,280); -INSERT INTO product_slots VALUES(48,281); -INSERT INTO product_slots VALUES(48,282); -INSERT INTO product_slots VALUES(48,283); -INSERT INTO product_slots VALUES(48,284); -INSERT INTO product_slots VALUES(48,285); -INSERT INTO product_slots VALUES(48,286); -INSERT INTO product_slots VALUES(48,287); -INSERT INTO product_slots VALUES(49,40); -INSERT INTO product_slots VALUES(49,74); -INSERT INTO product_slots VALUES(49,75); -INSERT INTO product_slots VALUES(49,76); -INSERT INTO product_slots VALUES(49,77); -INSERT INTO product_slots VALUES(49,78); -INSERT INTO product_slots VALUES(49,79); -INSERT INTO product_slots VALUES(49,80); -INSERT INTO product_slots VALUES(49,102); -INSERT INTO product_slots VALUES(49,103); -INSERT INTO product_slots VALUES(49,104); -INSERT INTO product_slots VALUES(49,105); -INSERT INTO product_slots VALUES(49,106); -INSERT INTO product_slots VALUES(49,107); -INSERT INTO product_slots VALUES(49,108); -INSERT INTO product_slots VALUES(49,109); -INSERT INTO product_slots VALUES(49,110); -INSERT INTO product_slots VALUES(49,111); -INSERT INTO product_slots VALUES(49,112); -INSERT INTO product_slots VALUES(49,113); -INSERT INTO product_slots VALUES(49,114); -INSERT INTO product_slots VALUES(49,115); -INSERT INTO product_slots VALUES(49,117); -INSERT INTO product_slots VALUES(49,118); -INSERT INTO product_slots VALUES(49,119); -INSERT INTO product_slots VALUES(49,120); -INSERT INTO product_slots VALUES(49,121); -INSERT INTO product_slots VALUES(49,122); -INSERT INTO product_slots VALUES(49,123); -INSERT INTO product_slots VALUES(49,124); -INSERT INTO product_slots VALUES(49,125); -INSERT INTO product_slots VALUES(49,126); -INSERT INTO product_slots VALUES(49,127); -INSERT INTO product_slots VALUES(49,128); -INSERT INTO product_slots VALUES(49,129); -INSERT INTO product_slots VALUES(49,130); -INSERT INTO product_slots VALUES(49,131); -INSERT INTO product_slots VALUES(49,132); -INSERT INTO product_slots VALUES(49,133); -INSERT INTO product_slots VALUES(49,134); -INSERT INTO product_slots VALUES(49,135); -INSERT INTO product_slots VALUES(49,136); -INSERT INTO product_slots VALUES(49,137); -INSERT INTO product_slots VALUES(49,138); -INSERT INTO product_slots VALUES(49,139); -INSERT INTO product_slots VALUES(49,140); -INSERT INTO product_slots VALUES(49,141); -INSERT INTO product_slots VALUES(49,142); -INSERT INTO product_slots VALUES(49,143); -INSERT INTO product_slots VALUES(49,145); -INSERT INTO product_slots VALUES(49,146); -INSERT INTO product_slots VALUES(49,147); -INSERT INTO product_slots VALUES(49,148); -INSERT INTO product_slots VALUES(49,149); -INSERT INTO product_slots VALUES(49,150); -INSERT INTO product_slots VALUES(49,151); -INSERT INTO product_slots VALUES(49,152); -INSERT INTO product_slots VALUES(49,153); -INSERT INTO product_slots VALUES(49,154); -INSERT INTO product_slots VALUES(49,155); -INSERT INTO product_slots VALUES(49,156); -INSERT INTO product_slots VALUES(49,157); -INSERT INTO product_slots VALUES(49,158); -INSERT INTO product_slots VALUES(49,159); -INSERT INTO product_slots VALUES(49,160); -INSERT INTO product_slots VALUES(49,161); -INSERT INTO product_slots VALUES(49,162); -INSERT INTO product_slots VALUES(49,163); -INSERT INTO product_slots VALUES(49,164); -INSERT INTO product_slots VALUES(49,165); -INSERT INTO product_slots VALUES(49,166); -INSERT INTO product_slots VALUES(49,167); -INSERT INTO product_slots VALUES(49,168); -INSERT INTO product_slots VALUES(49,169); -INSERT INTO product_slots VALUES(49,170); -INSERT INTO product_slots VALUES(49,171); -INSERT INTO product_slots VALUES(49,172); -INSERT INTO product_slots VALUES(49,173); -INSERT INTO product_slots VALUES(49,174); -INSERT INTO product_slots VALUES(49,175); -INSERT INTO product_slots VALUES(49,176); -INSERT INTO product_slots VALUES(49,177); -INSERT INTO product_slots VALUES(49,178); -INSERT INTO product_slots VALUES(49,179); -INSERT INTO product_slots VALUES(49,180); -INSERT INTO product_slots VALUES(49,181); -INSERT INTO product_slots VALUES(49,182); -INSERT INTO product_slots VALUES(49,183); -INSERT INTO product_slots VALUES(49,184); -INSERT INTO product_slots VALUES(49,185); -INSERT INTO product_slots VALUES(49,186); -INSERT INTO product_slots VALUES(49,187); -INSERT INTO product_slots VALUES(49,188); -INSERT INTO product_slots VALUES(49,189); -INSERT INTO product_slots VALUES(49,190); -INSERT INTO product_slots VALUES(49,191); -INSERT INTO product_slots VALUES(49,192); -INSERT INTO product_slots VALUES(49,193); -INSERT INTO product_slots VALUES(49,194); -INSERT INTO product_slots VALUES(49,195); -INSERT INTO product_slots VALUES(49,196); -INSERT INTO product_slots VALUES(49,197); -INSERT INTO product_slots VALUES(49,198); -INSERT INTO product_slots VALUES(49,199); -INSERT INTO product_slots VALUES(49,200); -INSERT INTO product_slots VALUES(49,201); -INSERT INTO product_slots VALUES(49,202); -INSERT INTO product_slots VALUES(49,203); -INSERT INTO product_slots VALUES(49,204); -INSERT INTO product_slots VALUES(49,205); -INSERT INTO product_slots VALUES(49,206); -INSERT INTO product_slots VALUES(49,207); -INSERT INTO product_slots VALUES(49,208); -INSERT INTO product_slots VALUES(49,209); -INSERT INTO product_slots VALUES(49,210); -INSERT INTO product_slots VALUES(49,211); -INSERT INTO product_slots VALUES(49,212); -INSERT INTO product_slots VALUES(49,213); -INSERT INTO product_slots VALUES(49,214); -INSERT INTO product_slots VALUES(49,215); -INSERT INTO product_slots VALUES(49,216); -INSERT INTO product_slots VALUES(49,217); -INSERT INTO product_slots VALUES(49,218); -INSERT INTO product_slots VALUES(49,219); -INSERT INTO product_slots VALUES(49,220); -INSERT INTO product_slots VALUES(49,221); -INSERT INTO product_slots VALUES(49,222); -INSERT INTO product_slots VALUES(49,223); -INSERT INTO product_slots VALUES(49,224); -INSERT INTO product_slots VALUES(49,225); -INSERT INTO product_slots VALUES(49,226); -INSERT INTO product_slots VALUES(49,227); -INSERT INTO product_slots VALUES(49,228); -INSERT INTO product_slots VALUES(49,229); -INSERT INTO product_slots VALUES(49,230); -INSERT INTO product_slots VALUES(49,231); -INSERT INTO product_slots VALUES(49,232); -INSERT INTO product_slots VALUES(49,233); -INSERT INTO product_slots VALUES(49,234); -INSERT INTO product_slots VALUES(49,235); -INSERT INTO product_slots VALUES(49,236); -INSERT INTO product_slots VALUES(49,237); -INSERT INTO product_slots VALUES(49,238); -INSERT INTO product_slots VALUES(49,239); -INSERT INTO product_slots VALUES(49,240); -INSERT INTO product_slots VALUES(49,241); -INSERT INTO product_slots VALUES(49,242); -INSERT INTO product_slots VALUES(49,243); -INSERT INTO product_slots VALUES(49,244); -INSERT INTO product_slots VALUES(49,274); -INSERT INTO product_slots VALUES(49,275); -INSERT INTO product_slots VALUES(49,279); -INSERT INTO product_slots VALUES(49,280); -INSERT INTO product_slots VALUES(49,281); -INSERT INTO product_slots VALUES(49,282); -INSERT INTO product_slots VALUES(49,283); -INSERT INTO product_slots VALUES(49,284); -INSERT INTO product_slots VALUES(49,285); -INSERT INTO product_slots VALUES(49,286); -INSERT INTO product_slots VALUES(49,287); -INSERT INTO product_slots VALUES(50,39); -INSERT INTO product_slots VALUES(50,40); -INSERT INTO product_slots VALUES(50,43); -INSERT INTO product_slots VALUES(50,45); -INSERT INTO product_slots VALUES(50,46); -INSERT INTO product_slots VALUES(50,48); -INSERT INTO product_slots VALUES(50,49); -INSERT INTO product_slots VALUES(50,51); -INSERT INTO product_slots VALUES(50,52); -INSERT INTO product_slots VALUES(50,53); -INSERT INTO product_slots VALUES(50,54); -INSERT INTO product_slots VALUES(50,57); -INSERT INTO product_slots VALUES(50,58); -INSERT INTO product_slots VALUES(50,59); -INSERT INTO product_slots VALUES(50,60); -INSERT INTO product_slots VALUES(50,61); -INSERT INTO product_slots VALUES(50,62); -INSERT INTO product_slots VALUES(50,63); -INSERT INTO product_slots VALUES(50,64); -INSERT INTO product_slots VALUES(50,65); -INSERT INTO product_slots VALUES(50,66); -INSERT INTO product_slots VALUES(50,67); -INSERT INTO product_slots VALUES(50,68); -INSERT INTO product_slots VALUES(50,69); -INSERT INTO product_slots VALUES(50,70); -INSERT INTO product_slots VALUES(50,71); -INSERT INTO product_slots VALUES(50,72); -INSERT INTO product_slots VALUES(50,73); -INSERT INTO product_slots VALUES(50,74); -INSERT INTO product_slots VALUES(50,75); -INSERT INTO product_slots VALUES(50,76); -INSERT INTO product_slots VALUES(50,77); -INSERT INTO product_slots VALUES(50,78); -INSERT INTO product_slots VALUES(50,79); -INSERT INTO product_slots VALUES(50,80); -INSERT INTO product_slots VALUES(50,81); -INSERT INTO product_slots VALUES(50,82); -INSERT INTO product_slots VALUES(50,83); -INSERT INTO product_slots VALUES(50,84); -INSERT INTO product_slots VALUES(50,85); -INSERT INTO product_slots VALUES(50,86); -INSERT INTO product_slots VALUES(50,87); -INSERT INTO product_slots VALUES(50,88); -INSERT INTO product_slots VALUES(50,89); -INSERT INTO product_slots VALUES(50,90); -INSERT INTO product_slots VALUES(50,91); -INSERT INTO product_slots VALUES(50,92); -INSERT INTO product_slots VALUES(50,93); -INSERT INTO product_slots VALUES(50,94); -INSERT INTO product_slots VALUES(50,95); -INSERT INTO product_slots VALUES(50,96); -INSERT INTO product_slots VALUES(50,97); -INSERT INTO product_slots VALUES(50,98); -INSERT INTO product_slots VALUES(50,99); -INSERT INTO product_slots VALUES(50,100); -INSERT INTO product_slots VALUES(50,102); -INSERT INTO product_slots VALUES(50,103); -INSERT INTO product_slots VALUES(50,104); -INSERT INTO product_slots VALUES(50,105); -INSERT INTO product_slots VALUES(50,106); -INSERT INTO product_slots VALUES(50,107); -INSERT INTO product_slots VALUES(50,108); -INSERT INTO product_slots VALUES(50,109); -INSERT INTO product_slots VALUES(50,110); -INSERT INTO product_slots VALUES(50,111); -INSERT INTO product_slots VALUES(50,112); -INSERT INTO product_slots VALUES(50,113); -INSERT INTO product_slots VALUES(50,114); -INSERT INTO product_slots VALUES(50,115); -INSERT INTO product_slots VALUES(50,117); -INSERT INTO product_slots VALUES(50,118); -INSERT INTO product_slots VALUES(50,119); -INSERT INTO product_slots VALUES(50,120); -INSERT INTO product_slots VALUES(50,121); -INSERT INTO product_slots VALUES(50,122); -INSERT INTO product_slots VALUES(50,123); -INSERT INTO product_slots VALUES(50,124); -INSERT INTO product_slots VALUES(50,125); -INSERT INTO product_slots VALUES(50,126); -INSERT INTO product_slots VALUES(50,127); -INSERT INTO product_slots VALUES(50,128); -INSERT INTO product_slots VALUES(50,129); -INSERT INTO product_slots VALUES(50,130); -INSERT INTO product_slots VALUES(50,131); -INSERT INTO product_slots VALUES(50,132); -INSERT INTO product_slots VALUES(50,133); -INSERT INTO product_slots VALUES(50,134); -INSERT INTO product_slots VALUES(50,135); -INSERT INTO product_slots VALUES(50,136); -INSERT INTO product_slots VALUES(50,138); -INSERT INTO product_slots VALUES(50,139); -INSERT INTO product_slots VALUES(50,140); -INSERT INTO product_slots VALUES(50,141); -INSERT INTO product_slots VALUES(50,142); -INSERT INTO product_slots VALUES(50,143); -INSERT INTO product_slots VALUES(50,145); -INSERT INTO product_slots VALUES(50,146); -INSERT INTO product_slots VALUES(50,147); -INSERT INTO product_slots VALUES(50,148); -INSERT INTO product_slots VALUES(50,149); -INSERT INTO product_slots VALUES(50,150); -INSERT INTO product_slots VALUES(50,151); -INSERT INTO product_slots VALUES(50,152); -INSERT INTO product_slots VALUES(50,153); -INSERT INTO product_slots VALUES(50,154); -INSERT INTO product_slots VALUES(50,155); -INSERT INTO product_slots VALUES(50,156); -INSERT INTO product_slots VALUES(50,157); -INSERT INTO product_slots VALUES(50,158); -INSERT INTO product_slots VALUES(50,159); -INSERT INTO product_slots VALUES(50,160); -INSERT INTO product_slots VALUES(50,161); -INSERT INTO product_slots VALUES(50,162); -INSERT INTO product_slots VALUES(50,163); -INSERT INTO product_slots VALUES(50,164); -INSERT INTO product_slots VALUES(50,165); -INSERT INTO product_slots VALUES(50,166); -INSERT INTO product_slots VALUES(50,167); -INSERT INTO product_slots VALUES(50,168); -INSERT INTO product_slots VALUES(50,169); -INSERT INTO product_slots VALUES(50,170); -INSERT INTO product_slots VALUES(50,171); -INSERT INTO product_slots VALUES(50,172); -INSERT INTO product_slots VALUES(50,173); -INSERT INTO product_slots VALUES(50,174); -INSERT INTO product_slots VALUES(50,175); -INSERT INTO product_slots VALUES(50,176); -INSERT INTO product_slots VALUES(50,177); -INSERT INTO product_slots VALUES(50,178); -INSERT INTO product_slots VALUES(50,179); -INSERT INTO product_slots VALUES(50,180); -INSERT INTO product_slots VALUES(50,181); -INSERT INTO product_slots VALUES(50,182); -INSERT INTO product_slots VALUES(50,183); -INSERT INTO product_slots VALUES(50,184); -INSERT INTO product_slots VALUES(50,185); -INSERT INTO product_slots VALUES(50,186); -INSERT INTO product_slots VALUES(50,187); -INSERT INTO product_slots VALUES(50,188); -INSERT INTO product_slots VALUES(50,189); -INSERT INTO product_slots VALUES(50,190); -INSERT INTO product_slots VALUES(50,191); -INSERT INTO product_slots VALUES(50,192); -INSERT INTO product_slots VALUES(50,193); -INSERT INTO product_slots VALUES(50,194); -INSERT INTO product_slots VALUES(50,195); -INSERT INTO product_slots VALUES(50,196); -INSERT INTO product_slots VALUES(50,197); -INSERT INTO product_slots VALUES(50,198); -INSERT INTO product_slots VALUES(50,199); -INSERT INTO product_slots VALUES(50,200); -INSERT INTO product_slots VALUES(50,201); -INSERT INTO product_slots VALUES(50,202); -INSERT INTO product_slots VALUES(50,203); -INSERT INTO product_slots VALUES(50,204); -INSERT INTO product_slots VALUES(50,205); -INSERT INTO product_slots VALUES(50,206); -INSERT INTO product_slots VALUES(50,207); -INSERT INTO product_slots VALUES(50,208); -INSERT INTO product_slots VALUES(50,209); -INSERT INTO product_slots VALUES(50,210); -INSERT INTO product_slots VALUES(50,211); -INSERT INTO product_slots VALUES(50,212); -INSERT INTO product_slots VALUES(50,213); -INSERT INTO product_slots VALUES(50,214); -INSERT INTO product_slots VALUES(50,215); -INSERT INTO product_slots VALUES(50,216); -INSERT INTO product_slots VALUES(50,217); -INSERT INTO product_slots VALUES(50,218); -INSERT INTO product_slots VALUES(50,219); -INSERT INTO product_slots VALUES(50,220); -INSERT INTO product_slots VALUES(50,221); -INSERT INTO product_slots VALUES(50,222); -INSERT INTO product_slots VALUES(50,223); -INSERT INTO product_slots VALUES(50,224); -INSERT INTO product_slots VALUES(50,225); -INSERT INTO product_slots VALUES(50,226); -INSERT INTO product_slots VALUES(50,227); -INSERT INTO product_slots VALUES(50,228); -INSERT INTO product_slots VALUES(50,229); -INSERT INTO product_slots VALUES(50,230); -INSERT INTO product_slots VALUES(50,231); -INSERT INTO product_slots VALUES(50,232); -INSERT INTO product_slots VALUES(50,233); -INSERT INTO product_slots VALUES(50,234); -INSERT INTO product_slots VALUES(50,235); -INSERT INTO product_slots VALUES(50,236); -INSERT INTO product_slots VALUES(50,237); -INSERT INTO product_slots VALUES(50,238); -INSERT INTO product_slots VALUES(50,239); -INSERT INTO product_slots VALUES(50,240); -INSERT INTO product_slots VALUES(50,241); -INSERT INTO product_slots VALUES(50,242); -INSERT INTO product_slots VALUES(50,243); -INSERT INTO product_slots VALUES(50,244); -INSERT INTO product_slots VALUES(50,274); -INSERT INTO product_slots VALUES(50,275); -INSERT INTO product_slots VALUES(50,279); -INSERT INTO product_slots VALUES(50,280); -INSERT INTO product_slots VALUES(50,281); -INSERT INTO product_slots VALUES(50,282); -INSERT INTO product_slots VALUES(50,283); -INSERT INTO product_slots VALUES(50,284); -INSERT INTO product_slots VALUES(50,285); -INSERT INTO product_slots VALUES(50,286); -INSERT INTO product_slots VALUES(50,287); -INSERT INTO product_slots VALUES(51,40); -INSERT INTO product_slots VALUES(51,64); -INSERT INTO product_slots VALUES(51,65); -INSERT INTO product_slots VALUES(51,66); -INSERT INTO product_slots VALUES(51,67); -INSERT INTO product_slots VALUES(51,68); -INSERT INTO product_slots VALUES(51,69); -INSERT INTO product_slots VALUES(51,70); -INSERT INTO product_slots VALUES(51,71); -INSERT INTO product_slots VALUES(51,72); -INSERT INTO product_slots VALUES(51,73); -INSERT INTO product_slots VALUES(51,74); -INSERT INTO product_slots VALUES(51,75); -INSERT INTO product_slots VALUES(51,76); -INSERT INTO product_slots VALUES(51,77); -INSERT INTO product_slots VALUES(51,78); -INSERT INTO product_slots VALUES(51,79); -INSERT INTO product_slots VALUES(51,80); -INSERT INTO product_slots VALUES(51,81); -INSERT INTO product_slots VALUES(51,82); -INSERT INTO product_slots VALUES(51,83); -INSERT INTO product_slots VALUES(51,84); -INSERT INTO product_slots VALUES(51,85); -INSERT INTO product_slots VALUES(51,86); -INSERT INTO product_slots VALUES(51,87); -INSERT INTO product_slots VALUES(51,88); -INSERT INTO product_slots VALUES(51,89); -INSERT INTO product_slots VALUES(51,90); -INSERT INTO product_slots VALUES(51,91); -INSERT INTO product_slots VALUES(51,92); -INSERT INTO product_slots VALUES(51,93); -INSERT INTO product_slots VALUES(51,94); -INSERT INTO product_slots VALUES(51,95); -INSERT INTO product_slots VALUES(51,96); -INSERT INTO product_slots VALUES(51,97); -INSERT INTO product_slots VALUES(51,98); -INSERT INTO product_slots VALUES(51,99); -INSERT INTO product_slots VALUES(51,100); -INSERT INTO product_slots VALUES(51,102); -INSERT INTO product_slots VALUES(51,103); -INSERT INTO product_slots VALUES(51,104); -INSERT INTO product_slots VALUES(51,105); -INSERT INTO product_slots VALUES(51,106); -INSERT INTO product_slots VALUES(51,107); -INSERT INTO product_slots VALUES(51,108); -INSERT INTO product_slots VALUES(51,109); -INSERT INTO product_slots VALUES(51,110); -INSERT INTO product_slots VALUES(51,111); -INSERT INTO product_slots VALUES(51,112); -INSERT INTO product_slots VALUES(51,113); -INSERT INTO product_slots VALUES(51,114); -INSERT INTO product_slots VALUES(51,115); -INSERT INTO product_slots VALUES(51,117); -INSERT INTO product_slots VALUES(51,118); -INSERT INTO product_slots VALUES(51,119); -INSERT INTO product_slots VALUES(51,120); -INSERT INTO product_slots VALUES(51,121); -INSERT INTO product_slots VALUES(51,122); -INSERT INTO product_slots VALUES(51,123); -INSERT INTO product_slots VALUES(51,124); -INSERT INTO product_slots VALUES(51,125); -INSERT INTO product_slots VALUES(51,126); -INSERT INTO product_slots VALUES(51,127); -INSERT INTO product_slots VALUES(51,128); -INSERT INTO product_slots VALUES(51,129); -INSERT INTO product_slots VALUES(51,130); -INSERT INTO product_slots VALUES(51,131); -INSERT INTO product_slots VALUES(51,132); -INSERT INTO product_slots VALUES(51,133); -INSERT INTO product_slots VALUES(51,134); -INSERT INTO product_slots VALUES(51,135); -INSERT INTO product_slots VALUES(51,136); -INSERT INTO product_slots VALUES(51,138); -INSERT INTO product_slots VALUES(51,139); -INSERT INTO product_slots VALUES(51,140); -INSERT INTO product_slots VALUES(51,141); -INSERT INTO product_slots VALUES(51,142); -INSERT INTO product_slots VALUES(51,143); -INSERT INTO product_slots VALUES(51,145); -INSERT INTO product_slots VALUES(51,146); -INSERT INTO product_slots VALUES(51,147); -INSERT INTO product_slots VALUES(51,148); -INSERT INTO product_slots VALUES(51,149); -INSERT INTO product_slots VALUES(51,150); -INSERT INTO product_slots VALUES(51,151); -INSERT INTO product_slots VALUES(51,152); -INSERT INTO product_slots VALUES(51,153); -INSERT INTO product_slots VALUES(51,154); -INSERT INTO product_slots VALUES(51,155); -INSERT INTO product_slots VALUES(51,156); -INSERT INTO product_slots VALUES(51,157); -INSERT INTO product_slots VALUES(51,158); -INSERT INTO product_slots VALUES(51,159); -INSERT INTO product_slots VALUES(51,160); -INSERT INTO product_slots VALUES(51,161); -INSERT INTO product_slots VALUES(51,162); -INSERT INTO product_slots VALUES(51,163); -INSERT INTO product_slots VALUES(51,164); -INSERT INTO product_slots VALUES(51,165); -INSERT INTO product_slots VALUES(51,166); -INSERT INTO product_slots VALUES(51,167); -INSERT INTO product_slots VALUES(51,168); -INSERT INTO product_slots VALUES(51,169); -INSERT INTO product_slots VALUES(51,170); -INSERT INTO product_slots VALUES(51,171); -INSERT INTO product_slots VALUES(51,172); -INSERT INTO product_slots VALUES(51,173); -INSERT INTO product_slots VALUES(51,174); -INSERT INTO product_slots VALUES(51,175); -INSERT INTO product_slots VALUES(51,176); -INSERT INTO product_slots VALUES(51,177); -INSERT INTO product_slots VALUES(51,178); -INSERT INTO product_slots VALUES(51,179); -INSERT INTO product_slots VALUES(51,180); -INSERT INTO product_slots VALUES(51,181); -INSERT INTO product_slots VALUES(51,182); -INSERT INTO product_slots VALUES(51,183); -INSERT INTO product_slots VALUES(51,184); -INSERT INTO product_slots VALUES(51,185); -INSERT INTO product_slots VALUES(51,186); -INSERT INTO product_slots VALUES(51,187); -INSERT INTO product_slots VALUES(51,188); -INSERT INTO product_slots VALUES(51,189); -INSERT INTO product_slots VALUES(51,190); -INSERT INTO product_slots VALUES(51,191); -INSERT INTO product_slots VALUES(51,192); -INSERT INTO product_slots VALUES(51,193); -INSERT INTO product_slots VALUES(51,194); -INSERT INTO product_slots VALUES(51,195); -INSERT INTO product_slots VALUES(51,196); -INSERT INTO product_slots VALUES(51,197); -INSERT INTO product_slots VALUES(51,198); -INSERT INTO product_slots VALUES(51,199); -INSERT INTO product_slots VALUES(51,200); -INSERT INTO product_slots VALUES(51,201); -INSERT INTO product_slots VALUES(51,202); -INSERT INTO product_slots VALUES(51,203); -INSERT INTO product_slots VALUES(51,204); -INSERT INTO product_slots VALUES(51,205); -INSERT INTO product_slots VALUES(51,206); -INSERT INTO product_slots VALUES(51,207); -INSERT INTO product_slots VALUES(51,208); -INSERT INTO product_slots VALUES(51,209); -INSERT INTO product_slots VALUES(51,210); -INSERT INTO product_slots VALUES(51,211); -INSERT INTO product_slots VALUES(51,212); -INSERT INTO product_slots VALUES(51,213); -INSERT INTO product_slots VALUES(51,214); -INSERT INTO product_slots VALUES(51,215); -INSERT INTO product_slots VALUES(51,216); -INSERT INTO product_slots VALUES(51,217); -INSERT INTO product_slots VALUES(51,218); -INSERT INTO product_slots VALUES(51,219); -INSERT INTO product_slots VALUES(51,220); -INSERT INTO product_slots VALUES(51,221); -INSERT INTO product_slots VALUES(51,222); -INSERT INTO product_slots VALUES(51,223); -INSERT INTO product_slots VALUES(51,224); -INSERT INTO product_slots VALUES(51,225); -INSERT INTO product_slots VALUES(51,226); -INSERT INTO product_slots VALUES(51,227); -INSERT INTO product_slots VALUES(51,228); -INSERT INTO product_slots VALUES(51,229); -INSERT INTO product_slots VALUES(51,230); -INSERT INTO product_slots VALUES(51,231); -INSERT INTO product_slots VALUES(51,232); -INSERT INTO product_slots VALUES(51,233); -INSERT INTO product_slots VALUES(51,234); -INSERT INTO product_slots VALUES(51,235); -INSERT INTO product_slots VALUES(51,236); -INSERT INTO product_slots VALUES(51,237); -INSERT INTO product_slots VALUES(51,238); -INSERT INTO product_slots VALUES(51,239); -INSERT INTO product_slots VALUES(51,240); -INSERT INTO product_slots VALUES(51,241); -INSERT INTO product_slots VALUES(51,242); -INSERT INTO product_slots VALUES(51,243); -INSERT INTO product_slots VALUES(51,244); -INSERT INTO product_slots VALUES(51,274); -INSERT INTO product_slots VALUES(51,275); -INSERT INTO product_slots VALUES(51,279); -INSERT INTO product_slots VALUES(51,280); -INSERT INTO product_slots VALUES(51,281); -INSERT INTO product_slots VALUES(51,282); -INSERT INTO product_slots VALUES(51,283); -INSERT INTO product_slots VALUES(51,284); -INSERT INTO product_slots VALUES(51,285); -INSERT INTO product_slots VALUES(51,286); -INSERT INTO product_slots VALUES(51,287); -INSERT INTO product_slots VALUES(52,40); -INSERT INTO product_slots VALUES(52,64); -INSERT INTO product_slots VALUES(52,65); -INSERT INTO product_slots VALUES(52,66); -INSERT INTO product_slots VALUES(52,67); -INSERT INTO product_slots VALUES(52,68); -INSERT INTO product_slots VALUES(52,69); -INSERT INTO product_slots VALUES(52,70); -INSERT INTO product_slots VALUES(52,71); -INSERT INTO product_slots VALUES(52,72); -INSERT INTO product_slots VALUES(52,73); -INSERT INTO product_slots VALUES(52,74); -INSERT INTO product_slots VALUES(52,75); -INSERT INTO product_slots VALUES(52,76); -INSERT INTO product_slots VALUES(52,77); -INSERT INTO product_slots VALUES(52,78); -INSERT INTO product_slots VALUES(52,79); -INSERT INTO product_slots VALUES(52,80); -INSERT INTO product_slots VALUES(52,81); -INSERT INTO product_slots VALUES(52,82); -INSERT INTO product_slots VALUES(52,83); -INSERT INTO product_slots VALUES(52,84); -INSERT INTO product_slots VALUES(52,85); -INSERT INTO product_slots VALUES(52,86); -INSERT INTO product_slots VALUES(52,87); -INSERT INTO product_slots VALUES(52,88); -INSERT INTO product_slots VALUES(52,89); -INSERT INTO product_slots VALUES(52,90); -INSERT INTO product_slots VALUES(52,91); -INSERT INTO product_slots VALUES(52,92); -INSERT INTO product_slots VALUES(52,93); -INSERT INTO product_slots VALUES(52,94); -INSERT INTO product_slots VALUES(52,95); -INSERT INTO product_slots VALUES(52,96); -INSERT INTO product_slots VALUES(52,97); -INSERT INTO product_slots VALUES(52,98); -INSERT INTO product_slots VALUES(52,99); -INSERT INTO product_slots VALUES(52,100); -INSERT INTO product_slots VALUES(52,102); -INSERT INTO product_slots VALUES(52,103); -INSERT INTO product_slots VALUES(52,104); -INSERT INTO product_slots VALUES(52,105); -INSERT INTO product_slots VALUES(52,106); -INSERT INTO product_slots VALUES(52,107); -INSERT INTO product_slots VALUES(52,108); -INSERT INTO product_slots VALUES(52,109); -INSERT INTO product_slots VALUES(52,110); -INSERT INTO product_slots VALUES(52,111); -INSERT INTO product_slots VALUES(52,112); -INSERT INTO product_slots VALUES(52,113); -INSERT INTO product_slots VALUES(52,114); -INSERT INTO product_slots VALUES(52,115); -INSERT INTO product_slots VALUES(52,117); -INSERT INTO product_slots VALUES(52,118); -INSERT INTO product_slots VALUES(52,119); -INSERT INTO product_slots VALUES(52,120); -INSERT INTO product_slots VALUES(52,121); -INSERT INTO product_slots VALUES(52,122); -INSERT INTO product_slots VALUES(52,123); -INSERT INTO product_slots VALUES(52,124); -INSERT INTO product_slots VALUES(52,125); -INSERT INTO product_slots VALUES(52,126); -INSERT INTO product_slots VALUES(52,127); -INSERT INTO product_slots VALUES(52,128); -INSERT INTO product_slots VALUES(52,129); -INSERT INTO product_slots VALUES(52,130); -INSERT INTO product_slots VALUES(52,131); -INSERT INTO product_slots VALUES(52,132); -INSERT INTO product_slots VALUES(52,133); -INSERT INTO product_slots VALUES(52,134); -INSERT INTO product_slots VALUES(52,135); -INSERT INTO product_slots VALUES(52,136); -INSERT INTO product_slots VALUES(52,138); -INSERT INTO product_slots VALUES(52,139); -INSERT INTO product_slots VALUES(52,140); -INSERT INTO product_slots VALUES(52,141); -INSERT INTO product_slots VALUES(52,142); -INSERT INTO product_slots VALUES(52,143); -INSERT INTO product_slots VALUES(52,145); -INSERT INTO product_slots VALUES(52,146); -INSERT INTO product_slots VALUES(52,147); -INSERT INTO product_slots VALUES(52,148); -INSERT INTO product_slots VALUES(52,149); -INSERT INTO product_slots VALUES(52,150); -INSERT INTO product_slots VALUES(52,151); -INSERT INTO product_slots VALUES(52,152); -INSERT INTO product_slots VALUES(52,153); -INSERT INTO product_slots VALUES(52,154); -INSERT INTO product_slots VALUES(52,155); -INSERT INTO product_slots VALUES(52,156); -INSERT INTO product_slots VALUES(52,157); -INSERT INTO product_slots VALUES(52,158); -INSERT INTO product_slots VALUES(52,159); -INSERT INTO product_slots VALUES(52,160); -INSERT INTO product_slots VALUES(52,161); -INSERT INTO product_slots VALUES(52,162); -INSERT INTO product_slots VALUES(52,163); -INSERT INTO product_slots VALUES(52,164); -INSERT INTO product_slots VALUES(52,165); -INSERT INTO product_slots VALUES(52,166); -INSERT INTO product_slots VALUES(52,167); -INSERT INTO product_slots VALUES(52,168); -INSERT INTO product_slots VALUES(52,169); -INSERT INTO product_slots VALUES(52,170); -INSERT INTO product_slots VALUES(52,171); -INSERT INTO product_slots VALUES(52,172); -INSERT INTO product_slots VALUES(52,173); -INSERT INTO product_slots VALUES(52,174); -INSERT INTO product_slots VALUES(52,175); -INSERT INTO product_slots VALUES(52,176); -INSERT INTO product_slots VALUES(52,177); -INSERT INTO product_slots VALUES(52,178); -INSERT INTO product_slots VALUES(52,179); -INSERT INTO product_slots VALUES(52,180); -INSERT INTO product_slots VALUES(52,181); -INSERT INTO product_slots VALUES(52,182); -INSERT INTO product_slots VALUES(52,183); -INSERT INTO product_slots VALUES(52,184); -INSERT INTO product_slots VALUES(52,185); -INSERT INTO product_slots VALUES(52,186); -INSERT INTO product_slots VALUES(52,187); -INSERT INTO product_slots VALUES(52,188); -INSERT INTO product_slots VALUES(52,189); -INSERT INTO product_slots VALUES(52,190); -INSERT INTO product_slots VALUES(52,191); -INSERT INTO product_slots VALUES(52,192); -INSERT INTO product_slots VALUES(52,193); -INSERT INTO product_slots VALUES(52,194); -INSERT INTO product_slots VALUES(52,195); -INSERT INTO product_slots VALUES(52,196); -INSERT INTO product_slots VALUES(52,197); -INSERT INTO product_slots VALUES(52,198); -INSERT INTO product_slots VALUES(52,199); -INSERT INTO product_slots VALUES(52,200); -INSERT INTO product_slots VALUES(52,201); -INSERT INTO product_slots VALUES(52,202); -INSERT INTO product_slots VALUES(52,203); -INSERT INTO product_slots VALUES(52,204); -INSERT INTO product_slots VALUES(52,205); -INSERT INTO product_slots VALUES(52,206); -INSERT INTO product_slots VALUES(52,207); -INSERT INTO product_slots VALUES(52,208); -INSERT INTO product_slots VALUES(52,209); -INSERT INTO product_slots VALUES(52,210); -INSERT INTO product_slots VALUES(52,211); -INSERT INTO product_slots VALUES(52,212); -INSERT INTO product_slots VALUES(52,213); -INSERT INTO product_slots VALUES(52,214); -INSERT INTO product_slots VALUES(52,215); -INSERT INTO product_slots VALUES(52,216); -INSERT INTO product_slots VALUES(52,217); -INSERT INTO product_slots VALUES(52,218); -INSERT INTO product_slots VALUES(52,219); -INSERT INTO product_slots VALUES(52,220); -INSERT INTO product_slots VALUES(52,221); -INSERT INTO product_slots VALUES(52,222); -INSERT INTO product_slots VALUES(52,223); -INSERT INTO product_slots VALUES(52,224); -INSERT INTO product_slots VALUES(52,225); -INSERT INTO product_slots VALUES(52,226); -INSERT INTO product_slots VALUES(52,227); -INSERT INTO product_slots VALUES(52,228); -INSERT INTO product_slots VALUES(52,229); -INSERT INTO product_slots VALUES(52,230); -INSERT INTO product_slots VALUES(52,231); -INSERT INTO product_slots VALUES(52,232); -INSERT INTO product_slots VALUES(52,233); -INSERT INTO product_slots VALUES(52,234); -INSERT INTO product_slots VALUES(52,235); -INSERT INTO product_slots VALUES(52,236); -INSERT INTO product_slots VALUES(52,237); -INSERT INTO product_slots VALUES(52,238); -INSERT INTO product_slots VALUES(52,239); -INSERT INTO product_slots VALUES(52,240); -INSERT INTO product_slots VALUES(52,241); -INSERT INTO product_slots VALUES(52,242); -INSERT INTO product_slots VALUES(52,243); -INSERT INTO product_slots VALUES(52,244); -INSERT INTO product_slots VALUES(52,274); -INSERT INTO product_slots VALUES(52,275); -INSERT INTO product_slots VALUES(52,279); -INSERT INTO product_slots VALUES(52,280); -INSERT INTO product_slots VALUES(52,281); -INSERT INTO product_slots VALUES(52,282); -INSERT INTO product_slots VALUES(52,283); -INSERT INTO product_slots VALUES(52,284); -INSERT INTO product_slots VALUES(52,285); -INSERT INTO product_slots VALUES(52,286); -INSERT INTO product_slots VALUES(52,287); -INSERT INTO product_slots VALUES(53,39); -INSERT INTO product_slots VALUES(53,40); -INSERT INTO product_slots VALUES(53,43); -INSERT INTO product_slots VALUES(53,45); -INSERT INTO product_slots VALUES(53,46); -INSERT INTO product_slots VALUES(53,48); -INSERT INTO product_slots VALUES(53,49); -INSERT INTO product_slots VALUES(53,51); -INSERT INTO product_slots VALUES(53,52); -INSERT INTO product_slots VALUES(53,53); -INSERT INTO product_slots VALUES(53,54); -INSERT INTO product_slots VALUES(53,57); -INSERT INTO product_slots VALUES(53,58); -INSERT INTO product_slots VALUES(53,59); -INSERT INTO product_slots VALUES(53,60); -INSERT INTO product_slots VALUES(53,61); -INSERT INTO product_slots VALUES(53,62); -INSERT INTO product_slots VALUES(53,63); -INSERT INTO product_slots VALUES(53,64); -INSERT INTO product_slots VALUES(53,65); -INSERT INTO product_slots VALUES(53,66); -INSERT INTO product_slots VALUES(53,67); -INSERT INTO product_slots VALUES(53,68); -INSERT INTO product_slots VALUES(53,69); -INSERT INTO product_slots VALUES(53,70); -INSERT INTO product_slots VALUES(53,71); -INSERT INTO product_slots VALUES(53,72); -INSERT INTO product_slots VALUES(53,73); -INSERT INTO product_slots VALUES(53,74); -INSERT INTO product_slots VALUES(53,75); -INSERT INTO product_slots VALUES(53,76); -INSERT INTO product_slots VALUES(53,77); -INSERT INTO product_slots VALUES(53,78); -INSERT INTO product_slots VALUES(53,79); -INSERT INTO product_slots VALUES(53,80); -INSERT INTO product_slots VALUES(53,81); -INSERT INTO product_slots VALUES(53,82); -INSERT INTO product_slots VALUES(53,83); -INSERT INTO product_slots VALUES(53,84); -INSERT INTO product_slots VALUES(53,85); -INSERT INTO product_slots VALUES(53,86); -INSERT INTO product_slots VALUES(53,87); -INSERT INTO product_slots VALUES(53,88); -INSERT INTO product_slots VALUES(53,89); -INSERT INTO product_slots VALUES(53,90); -INSERT INTO product_slots VALUES(53,91); -INSERT INTO product_slots VALUES(53,92); -INSERT INTO product_slots VALUES(53,93); -INSERT INTO product_slots VALUES(53,94); -INSERT INTO product_slots VALUES(53,95); -INSERT INTO product_slots VALUES(53,96); -INSERT INTO product_slots VALUES(53,97); -INSERT INTO product_slots VALUES(53,98); -INSERT INTO product_slots VALUES(53,99); -INSERT INTO product_slots VALUES(53,100); -INSERT INTO product_slots VALUES(53,102); -INSERT INTO product_slots VALUES(53,103); -INSERT INTO product_slots VALUES(53,104); -INSERT INTO product_slots VALUES(53,105); -INSERT INTO product_slots VALUES(53,106); -INSERT INTO product_slots VALUES(53,107); -INSERT INTO product_slots VALUES(53,108); -INSERT INTO product_slots VALUES(53,109); -INSERT INTO product_slots VALUES(53,110); -INSERT INTO product_slots VALUES(53,111); -INSERT INTO product_slots VALUES(53,112); -INSERT INTO product_slots VALUES(53,113); -INSERT INTO product_slots VALUES(53,114); -INSERT INTO product_slots VALUES(53,115); -INSERT INTO product_slots VALUES(53,117); -INSERT INTO product_slots VALUES(53,118); -INSERT INTO product_slots VALUES(53,119); -INSERT INTO product_slots VALUES(53,120); -INSERT INTO product_slots VALUES(53,121); -INSERT INTO product_slots VALUES(53,122); -INSERT INTO product_slots VALUES(53,123); -INSERT INTO product_slots VALUES(53,124); -INSERT INTO product_slots VALUES(53,125); -INSERT INTO product_slots VALUES(53,126); -INSERT INTO product_slots VALUES(53,127); -INSERT INTO product_slots VALUES(53,128); -INSERT INTO product_slots VALUES(53,129); -INSERT INTO product_slots VALUES(53,130); -INSERT INTO product_slots VALUES(53,131); -INSERT INTO product_slots VALUES(53,132); -INSERT INTO product_slots VALUES(53,133); -INSERT INTO product_slots VALUES(53,134); -INSERT INTO product_slots VALUES(53,135); -INSERT INTO product_slots VALUES(53,136); -INSERT INTO product_slots VALUES(53,138); -INSERT INTO product_slots VALUES(53,139); -INSERT INTO product_slots VALUES(53,140); -INSERT INTO product_slots VALUES(53,141); -INSERT INTO product_slots VALUES(53,142); -INSERT INTO product_slots VALUES(53,143); -INSERT INTO product_slots VALUES(53,145); -INSERT INTO product_slots VALUES(53,146); -INSERT INTO product_slots VALUES(53,147); -INSERT INTO product_slots VALUES(53,148); -INSERT INTO product_slots VALUES(53,149); -INSERT INTO product_slots VALUES(53,150); -INSERT INTO product_slots VALUES(53,151); -INSERT INTO product_slots VALUES(53,152); -INSERT INTO product_slots VALUES(53,153); -INSERT INTO product_slots VALUES(53,154); -INSERT INTO product_slots VALUES(53,155); -INSERT INTO product_slots VALUES(53,156); -INSERT INTO product_slots VALUES(53,157); -INSERT INTO product_slots VALUES(53,158); -INSERT INTO product_slots VALUES(53,159); -INSERT INTO product_slots VALUES(53,160); -INSERT INTO product_slots VALUES(53,161); -INSERT INTO product_slots VALUES(53,162); -INSERT INTO product_slots VALUES(53,163); -INSERT INTO product_slots VALUES(53,164); -INSERT INTO product_slots VALUES(53,165); -INSERT INTO product_slots VALUES(53,166); -INSERT INTO product_slots VALUES(53,167); -INSERT INTO product_slots VALUES(53,168); -INSERT INTO product_slots VALUES(53,169); -INSERT INTO product_slots VALUES(53,170); -INSERT INTO product_slots VALUES(53,171); -INSERT INTO product_slots VALUES(53,172); -INSERT INTO product_slots VALUES(53,173); -INSERT INTO product_slots VALUES(53,174); -INSERT INTO product_slots VALUES(53,175); -INSERT INTO product_slots VALUES(53,176); -INSERT INTO product_slots VALUES(53,177); -INSERT INTO product_slots VALUES(53,178); -INSERT INTO product_slots VALUES(53,179); -INSERT INTO product_slots VALUES(53,180); -INSERT INTO product_slots VALUES(53,181); -INSERT INTO product_slots VALUES(53,182); -INSERT INTO product_slots VALUES(53,183); -INSERT INTO product_slots VALUES(53,184); -INSERT INTO product_slots VALUES(53,185); -INSERT INTO product_slots VALUES(53,186); -INSERT INTO product_slots VALUES(53,187); -INSERT INTO product_slots VALUES(53,188); -INSERT INTO product_slots VALUES(53,189); -INSERT INTO product_slots VALUES(53,190); -INSERT INTO product_slots VALUES(53,191); -INSERT INTO product_slots VALUES(53,192); -INSERT INTO product_slots VALUES(53,193); -INSERT INTO product_slots VALUES(53,194); -INSERT INTO product_slots VALUES(53,195); -INSERT INTO product_slots VALUES(53,196); -INSERT INTO product_slots VALUES(53,197); -INSERT INTO product_slots VALUES(53,198); -INSERT INTO product_slots VALUES(53,199); -INSERT INTO product_slots VALUES(53,200); -INSERT INTO product_slots VALUES(53,201); -INSERT INTO product_slots VALUES(53,202); -INSERT INTO product_slots VALUES(53,203); -INSERT INTO product_slots VALUES(53,204); -INSERT INTO product_slots VALUES(53,205); -INSERT INTO product_slots VALUES(53,206); -INSERT INTO product_slots VALUES(53,207); -INSERT INTO product_slots VALUES(53,208); -INSERT INTO product_slots VALUES(53,209); -INSERT INTO product_slots VALUES(53,210); -INSERT INTO product_slots VALUES(53,211); -INSERT INTO product_slots VALUES(53,212); -INSERT INTO product_slots VALUES(53,213); -INSERT INTO product_slots VALUES(53,214); -INSERT INTO product_slots VALUES(53,215); -INSERT INTO product_slots VALUES(53,216); -INSERT INTO product_slots VALUES(53,217); -INSERT INTO product_slots VALUES(53,218); -INSERT INTO product_slots VALUES(53,219); -INSERT INTO product_slots VALUES(53,220); -INSERT INTO product_slots VALUES(53,221); -INSERT INTO product_slots VALUES(53,222); -INSERT INTO product_slots VALUES(53,223); -INSERT INTO product_slots VALUES(53,224); -INSERT INTO product_slots VALUES(53,225); -INSERT INTO product_slots VALUES(53,226); -INSERT INTO product_slots VALUES(53,227); -INSERT INTO product_slots VALUES(53,228); -INSERT INTO product_slots VALUES(53,229); -INSERT INTO product_slots VALUES(53,230); -INSERT INTO product_slots VALUES(53,231); -INSERT INTO product_slots VALUES(53,232); -INSERT INTO product_slots VALUES(53,233); -INSERT INTO product_slots VALUES(53,234); -INSERT INTO product_slots VALUES(53,235); -INSERT INTO product_slots VALUES(53,236); -INSERT INTO product_slots VALUES(53,237); -INSERT INTO product_slots VALUES(53,238); -INSERT INTO product_slots VALUES(53,239); -INSERT INTO product_slots VALUES(53,240); -INSERT INTO product_slots VALUES(53,241); -INSERT INTO product_slots VALUES(53,242); -INSERT INTO product_slots VALUES(53,243); -INSERT INTO product_slots VALUES(53,244); -INSERT INTO product_slots VALUES(53,274); -INSERT INTO product_slots VALUES(53,275); -INSERT INTO product_slots VALUES(53,279); -INSERT INTO product_slots VALUES(53,280); -INSERT INTO product_slots VALUES(53,281); -INSERT INTO product_slots VALUES(53,282); -INSERT INTO product_slots VALUES(53,283); -INSERT INTO product_slots VALUES(53,284); -INSERT INTO product_slots VALUES(53,285); -INSERT INTO product_slots VALUES(53,286); -INSERT INTO product_slots VALUES(53,287); -INSERT INTO product_slots VALUES(54,40); -INSERT INTO product_slots VALUES(54,62); -INSERT INTO product_slots VALUES(54,63); -INSERT INTO product_slots VALUES(54,64); -INSERT INTO product_slots VALUES(54,65); -INSERT INTO product_slots VALUES(54,66); -INSERT INTO product_slots VALUES(54,67); -INSERT INTO product_slots VALUES(54,68); -INSERT INTO product_slots VALUES(54,69); -INSERT INTO product_slots VALUES(54,70); -INSERT INTO product_slots VALUES(54,71); -INSERT INTO product_slots VALUES(54,72); -INSERT INTO product_slots VALUES(54,73); -INSERT INTO product_slots VALUES(54,74); -INSERT INTO product_slots VALUES(54,75); -INSERT INTO product_slots VALUES(54,76); -INSERT INTO product_slots VALUES(54,77); -INSERT INTO product_slots VALUES(54,78); -INSERT INTO product_slots VALUES(54,79); -INSERT INTO product_slots VALUES(54,80); -INSERT INTO product_slots VALUES(54,81); -INSERT INTO product_slots VALUES(54,82); -INSERT INTO product_slots VALUES(54,83); -INSERT INTO product_slots VALUES(54,84); -INSERT INTO product_slots VALUES(54,85); -INSERT INTO product_slots VALUES(54,86); -INSERT INTO product_slots VALUES(54,87); -INSERT INTO product_slots VALUES(54,88); -INSERT INTO product_slots VALUES(54,89); -INSERT INTO product_slots VALUES(54,90); -INSERT INTO product_slots VALUES(54,91); -INSERT INTO product_slots VALUES(54,92); -INSERT INTO product_slots VALUES(54,93); -INSERT INTO product_slots VALUES(54,94); -INSERT INTO product_slots VALUES(54,95); -INSERT INTO product_slots VALUES(54,96); -INSERT INTO product_slots VALUES(54,97); -INSERT INTO product_slots VALUES(54,98); -INSERT INTO product_slots VALUES(54,99); -INSERT INTO product_slots VALUES(54,100); -INSERT INTO product_slots VALUES(54,102); -INSERT INTO product_slots VALUES(54,103); -INSERT INTO product_slots VALUES(54,104); -INSERT INTO product_slots VALUES(54,105); -INSERT INTO product_slots VALUES(54,106); -INSERT INTO product_slots VALUES(54,107); -INSERT INTO product_slots VALUES(54,108); -INSERT INTO product_slots VALUES(54,109); -INSERT INTO product_slots VALUES(54,110); -INSERT INTO product_slots VALUES(54,111); -INSERT INTO product_slots VALUES(54,112); -INSERT INTO product_slots VALUES(54,113); -INSERT INTO product_slots VALUES(54,114); -INSERT INTO product_slots VALUES(54,115); -INSERT INTO product_slots VALUES(54,117); -INSERT INTO product_slots VALUES(54,118); -INSERT INTO product_slots VALUES(54,119); -INSERT INTO product_slots VALUES(54,120); -INSERT INTO product_slots VALUES(54,121); -INSERT INTO product_slots VALUES(54,122); -INSERT INTO product_slots VALUES(54,123); -INSERT INTO product_slots VALUES(54,124); -INSERT INTO product_slots VALUES(54,125); -INSERT INTO product_slots VALUES(54,126); -INSERT INTO product_slots VALUES(54,127); -INSERT INTO product_slots VALUES(54,128); -INSERT INTO product_slots VALUES(54,129); -INSERT INTO product_slots VALUES(54,130); -INSERT INTO product_slots VALUES(54,131); -INSERT INTO product_slots VALUES(54,132); -INSERT INTO product_slots VALUES(54,133); -INSERT INTO product_slots VALUES(54,134); -INSERT INTO product_slots VALUES(54,135); -INSERT INTO product_slots VALUES(54,136); -INSERT INTO product_slots VALUES(54,138); -INSERT INTO product_slots VALUES(54,139); -INSERT INTO product_slots VALUES(54,140); -INSERT INTO product_slots VALUES(54,141); -INSERT INTO product_slots VALUES(54,142); -INSERT INTO product_slots VALUES(54,143); -INSERT INTO product_slots VALUES(54,145); -INSERT INTO product_slots VALUES(54,146); -INSERT INTO product_slots VALUES(54,147); -INSERT INTO product_slots VALUES(54,148); -INSERT INTO product_slots VALUES(54,149); -INSERT INTO product_slots VALUES(54,150); -INSERT INTO product_slots VALUES(54,151); -INSERT INTO product_slots VALUES(54,152); -INSERT INTO product_slots VALUES(54,153); -INSERT INTO product_slots VALUES(54,154); -INSERT INTO product_slots VALUES(54,155); -INSERT INTO product_slots VALUES(54,156); -INSERT INTO product_slots VALUES(54,157); -INSERT INTO product_slots VALUES(54,158); -INSERT INTO product_slots VALUES(54,159); -INSERT INTO product_slots VALUES(54,160); -INSERT INTO product_slots VALUES(54,161); -INSERT INTO product_slots VALUES(54,162); -INSERT INTO product_slots VALUES(54,163); -INSERT INTO product_slots VALUES(54,164); -INSERT INTO product_slots VALUES(54,165); -INSERT INTO product_slots VALUES(54,166); -INSERT INTO product_slots VALUES(54,167); -INSERT INTO product_slots VALUES(54,168); -INSERT INTO product_slots VALUES(54,169); -INSERT INTO product_slots VALUES(54,170); -INSERT INTO product_slots VALUES(54,171); -INSERT INTO product_slots VALUES(54,172); -INSERT INTO product_slots VALUES(54,173); -INSERT INTO product_slots VALUES(54,174); -INSERT INTO product_slots VALUES(54,175); -INSERT INTO product_slots VALUES(54,176); -INSERT INTO product_slots VALUES(54,177); -INSERT INTO product_slots VALUES(54,178); -INSERT INTO product_slots VALUES(54,179); -INSERT INTO product_slots VALUES(54,180); -INSERT INTO product_slots VALUES(54,181); -INSERT INTO product_slots VALUES(54,182); -INSERT INTO product_slots VALUES(54,183); -INSERT INTO product_slots VALUES(54,184); -INSERT INTO product_slots VALUES(54,185); -INSERT INTO product_slots VALUES(54,186); -INSERT INTO product_slots VALUES(54,187); -INSERT INTO product_slots VALUES(54,188); -INSERT INTO product_slots VALUES(54,189); -INSERT INTO product_slots VALUES(54,190); -INSERT INTO product_slots VALUES(54,191); -INSERT INTO product_slots VALUES(54,192); -INSERT INTO product_slots VALUES(54,193); -INSERT INTO product_slots VALUES(54,194); -INSERT INTO product_slots VALUES(54,195); -INSERT INTO product_slots VALUES(54,196); -INSERT INTO product_slots VALUES(54,197); -INSERT INTO product_slots VALUES(54,198); -INSERT INTO product_slots VALUES(54,199); -INSERT INTO product_slots VALUES(54,200); -INSERT INTO product_slots VALUES(54,201); -INSERT INTO product_slots VALUES(54,202); -INSERT INTO product_slots VALUES(54,203); -INSERT INTO product_slots VALUES(54,204); -INSERT INTO product_slots VALUES(54,205); -INSERT INTO product_slots VALUES(54,206); -INSERT INTO product_slots VALUES(54,207); -INSERT INTO product_slots VALUES(54,208); -INSERT INTO product_slots VALUES(54,209); -INSERT INTO product_slots VALUES(54,210); -INSERT INTO product_slots VALUES(54,211); -INSERT INTO product_slots VALUES(54,212); -INSERT INTO product_slots VALUES(54,213); -INSERT INTO product_slots VALUES(54,214); -INSERT INTO product_slots VALUES(54,215); -INSERT INTO product_slots VALUES(54,216); -INSERT INTO product_slots VALUES(54,217); -INSERT INTO product_slots VALUES(54,218); -INSERT INTO product_slots VALUES(54,219); -INSERT INTO product_slots VALUES(54,220); -INSERT INTO product_slots VALUES(54,221); -INSERT INTO product_slots VALUES(54,222); -INSERT INTO product_slots VALUES(54,223); -INSERT INTO product_slots VALUES(54,224); -INSERT INTO product_slots VALUES(54,225); -INSERT INTO product_slots VALUES(54,226); -INSERT INTO product_slots VALUES(54,227); -INSERT INTO product_slots VALUES(54,228); -INSERT INTO product_slots VALUES(54,229); -INSERT INTO product_slots VALUES(54,230); -INSERT INTO product_slots VALUES(54,231); -INSERT INTO product_slots VALUES(54,232); -INSERT INTO product_slots VALUES(54,233); -INSERT INTO product_slots VALUES(54,234); -INSERT INTO product_slots VALUES(54,235); -INSERT INTO product_slots VALUES(54,236); -INSERT INTO product_slots VALUES(54,237); -INSERT INTO product_slots VALUES(54,238); -INSERT INTO product_slots VALUES(54,239); -INSERT INTO product_slots VALUES(54,240); -INSERT INTO product_slots VALUES(54,241); -INSERT INTO product_slots VALUES(54,242); -INSERT INTO product_slots VALUES(54,243); -INSERT INTO product_slots VALUES(54,244); -INSERT INTO product_slots VALUES(54,274); -INSERT INTO product_slots VALUES(54,275); -INSERT INTO product_slots VALUES(54,279); -INSERT INTO product_slots VALUES(54,280); -INSERT INTO product_slots VALUES(54,281); -INSERT INTO product_slots VALUES(54,282); -INSERT INTO product_slots VALUES(54,283); -INSERT INTO product_slots VALUES(54,284); -INSERT INTO product_slots VALUES(54,285); -INSERT INTO product_slots VALUES(54,286); -INSERT INTO product_slots VALUES(54,287); -INSERT INTO product_slots VALUES(55,40); -INSERT INTO product_slots VALUES(55,59); -INSERT INTO product_slots VALUES(55,62); -INSERT INTO product_slots VALUES(55,63); -INSERT INTO product_slots VALUES(55,64); -INSERT INTO product_slots VALUES(55,65); -INSERT INTO product_slots VALUES(55,66); -INSERT INTO product_slots VALUES(55,67); -INSERT INTO product_slots VALUES(55,68); -INSERT INTO product_slots VALUES(55,69); -INSERT INTO product_slots VALUES(55,70); -INSERT INTO product_slots VALUES(55,71); -INSERT INTO product_slots VALUES(55,72); -INSERT INTO product_slots VALUES(55,73); -INSERT INTO product_slots VALUES(55,74); -INSERT INTO product_slots VALUES(55,75); -INSERT INTO product_slots VALUES(55,76); -INSERT INTO product_slots VALUES(55,77); -INSERT INTO product_slots VALUES(55,78); -INSERT INTO product_slots VALUES(55,79); -INSERT INTO product_slots VALUES(55,80); -INSERT INTO product_slots VALUES(55,81); -INSERT INTO product_slots VALUES(55,82); -INSERT INTO product_slots VALUES(55,83); -INSERT INTO product_slots VALUES(55,84); -INSERT INTO product_slots VALUES(55,85); -INSERT INTO product_slots VALUES(55,86); -INSERT INTO product_slots VALUES(55,87); -INSERT INTO product_slots VALUES(55,88); -INSERT INTO product_slots VALUES(55,89); -INSERT INTO product_slots VALUES(55,90); -INSERT INTO product_slots VALUES(55,91); -INSERT INTO product_slots VALUES(55,92); -INSERT INTO product_slots VALUES(55,93); -INSERT INTO product_slots VALUES(55,94); -INSERT INTO product_slots VALUES(55,95); -INSERT INTO product_slots VALUES(55,96); -INSERT INTO product_slots VALUES(55,97); -INSERT INTO product_slots VALUES(55,98); -INSERT INTO product_slots VALUES(55,99); -INSERT INTO product_slots VALUES(55,100); -INSERT INTO product_slots VALUES(55,102); -INSERT INTO product_slots VALUES(55,103); -INSERT INTO product_slots VALUES(55,104); -INSERT INTO product_slots VALUES(55,105); -INSERT INTO product_slots VALUES(55,106); -INSERT INTO product_slots VALUES(55,107); -INSERT INTO product_slots VALUES(55,108); -INSERT INTO product_slots VALUES(55,109); -INSERT INTO product_slots VALUES(55,110); -INSERT INTO product_slots VALUES(55,111); -INSERT INTO product_slots VALUES(55,112); -INSERT INTO product_slots VALUES(55,113); -INSERT INTO product_slots VALUES(55,114); -INSERT INTO product_slots VALUES(55,115); -INSERT INTO product_slots VALUES(55,117); -INSERT INTO product_slots VALUES(55,118); -INSERT INTO product_slots VALUES(55,119); -INSERT INTO product_slots VALUES(55,120); -INSERT INTO product_slots VALUES(55,121); -INSERT INTO product_slots VALUES(55,122); -INSERT INTO product_slots VALUES(55,123); -INSERT INTO product_slots VALUES(55,124); -INSERT INTO product_slots VALUES(55,125); -INSERT INTO product_slots VALUES(55,126); -INSERT INTO product_slots VALUES(55,127); -INSERT INTO product_slots VALUES(55,128); -INSERT INTO product_slots VALUES(55,129); -INSERT INTO product_slots VALUES(55,130); -INSERT INTO product_slots VALUES(55,131); -INSERT INTO product_slots VALUES(55,132); -INSERT INTO product_slots VALUES(55,133); -INSERT INTO product_slots VALUES(55,134); -INSERT INTO product_slots VALUES(55,135); -INSERT INTO product_slots VALUES(55,136); -INSERT INTO product_slots VALUES(55,138); -INSERT INTO product_slots VALUES(55,139); -INSERT INTO product_slots VALUES(55,140); -INSERT INTO product_slots VALUES(55,141); -INSERT INTO product_slots VALUES(55,142); -INSERT INTO product_slots VALUES(55,143); -INSERT INTO product_slots VALUES(55,145); -INSERT INTO product_slots VALUES(55,146); -INSERT INTO product_slots VALUES(55,147); -INSERT INTO product_slots VALUES(55,148); -INSERT INTO product_slots VALUES(55,149); -INSERT INTO product_slots VALUES(55,150); -INSERT INTO product_slots VALUES(55,151); -INSERT INTO product_slots VALUES(55,152); -INSERT INTO product_slots VALUES(55,153); -INSERT INTO product_slots VALUES(55,154); -INSERT INTO product_slots VALUES(55,155); -INSERT INTO product_slots VALUES(55,156); -INSERT INTO product_slots VALUES(55,157); -INSERT INTO product_slots VALUES(55,158); -INSERT INTO product_slots VALUES(55,159); -INSERT INTO product_slots VALUES(55,160); -INSERT INTO product_slots VALUES(55,161); -INSERT INTO product_slots VALUES(55,162); -INSERT INTO product_slots VALUES(55,163); -INSERT INTO product_slots VALUES(55,164); -INSERT INTO product_slots VALUES(55,165); -INSERT INTO product_slots VALUES(55,166); -INSERT INTO product_slots VALUES(55,167); -INSERT INTO product_slots VALUES(55,168); -INSERT INTO product_slots VALUES(55,169); -INSERT INTO product_slots VALUES(55,170); -INSERT INTO product_slots VALUES(55,171); -INSERT INTO product_slots VALUES(55,172); -INSERT INTO product_slots VALUES(55,173); -INSERT INTO product_slots VALUES(55,174); -INSERT INTO product_slots VALUES(55,175); -INSERT INTO product_slots VALUES(55,176); -INSERT INTO product_slots VALUES(55,177); -INSERT INTO product_slots VALUES(55,178); -INSERT INTO product_slots VALUES(55,179); -INSERT INTO product_slots VALUES(55,180); -INSERT INTO product_slots VALUES(55,181); -INSERT INTO product_slots VALUES(55,182); -INSERT INTO product_slots VALUES(55,183); -INSERT INTO product_slots VALUES(55,184); -INSERT INTO product_slots VALUES(55,185); -INSERT INTO product_slots VALUES(55,186); -INSERT INTO product_slots VALUES(55,187); -INSERT INTO product_slots VALUES(55,188); -INSERT INTO product_slots VALUES(55,189); -INSERT INTO product_slots VALUES(55,190); -INSERT INTO product_slots VALUES(55,191); -INSERT INTO product_slots VALUES(55,192); -INSERT INTO product_slots VALUES(55,193); -INSERT INTO product_slots VALUES(55,194); -INSERT INTO product_slots VALUES(55,195); -INSERT INTO product_slots VALUES(55,196); -INSERT INTO product_slots VALUES(55,197); -INSERT INTO product_slots VALUES(55,198); -INSERT INTO product_slots VALUES(55,199); -INSERT INTO product_slots VALUES(55,200); -INSERT INTO product_slots VALUES(55,201); -INSERT INTO product_slots VALUES(55,202); -INSERT INTO product_slots VALUES(55,203); -INSERT INTO product_slots VALUES(55,204); -INSERT INTO product_slots VALUES(55,205); -INSERT INTO product_slots VALUES(55,206); -INSERT INTO product_slots VALUES(55,207); -INSERT INTO product_slots VALUES(55,208); -INSERT INTO product_slots VALUES(55,209); -INSERT INTO product_slots VALUES(55,210); -INSERT INTO product_slots VALUES(55,211); -INSERT INTO product_slots VALUES(55,212); -INSERT INTO product_slots VALUES(55,213); -INSERT INTO product_slots VALUES(55,214); -INSERT INTO product_slots VALUES(55,215); -INSERT INTO product_slots VALUES(55,216); -INSERT INTO product_slots VALUES(55,217); -INSERT INTO product_slots VALUES(55,218); -INSERT INTO product_slots VALUES(55,219); -INSERT INTO product_slots VALUES(55,220); -INSERT INTO product_slots VALUES(55,221); -INSERT INTO product_slots VALUES(55,222); -INSERT INTO product_slots VALUES(55,223); -INSERT INTO product_slots VALUES(55,224); -INSERT INTO product_slots VALUES(55,225); -INSERT INTO product_slots VALUES(55,226); -INSERT INTO product_slots VALUES(55,227); -INSERT INTO product_slots VALUES(55,228); -INSERT INTO product_slots VALUES(55,229); -INSERT INTO product_slots VALUES(55,230); -INSERT INTO product_slots VALUES(55,231); -INSERT INTO product_slots VALUES(55,232); -INSERT INTO product_slots VALUES(55,233); -INSERT INTO product_slots VALUES(55,234); -INSERT INTO product_slots VALUES(55,235); -INSERT INTO product_slots VALUES(55,236); -INSERT INTO product_slots VALUES(55,237); -INSERT INTO product_slots VALUES(55,238); -INSERT INTO product_slots VALUES(55,239); -INSERT INTO product_slots VALUES(55,240); -INSERT INTO product_slots VALUES(55,241); -INSERT INTO product_slots VALUES(55,242); -INSERT INTO product_slots VALUES(55,243); -INSERT INTO product_slots VALUES(55,244); -INSERT INTO product_slots VALUES(55,274); -INSERT INTO product_slots VALUES(55,275); -INSERT INTO product_slots VALUES(55,279); -INSERT INTO product_slots VALUES(55,280); -INSERT INTO product_slots VALUES(55,281); -INSERT INTO product_slots VALUES(55,282); -INSERT INTO product_slots VALUES(55,283); -INSERT INTO product_slots VALUES(55,284); -INSERT INTO product_slots VALUES(55,285); -INSERT INTO product_slots VALUES(55,286); -INSERT INTO product_slots VALUES(55,287); -INSERT INTO product_slots VALUES(56,39); -INSERT INTO product_slots VALUES(56,40); -INSERT INTO product_slots VALUES(56,43); -INSERT INTO product_slots VALUES(56,45); -INSERT INTO product_slots VALUES(56,46); -INSERT INTO product_slots VALUES(56,48); -INSERT INTO product_slots VALUES(56,49); -INSERT INTO product_slots VALUES(56,51); -INSERT INTO product_slots VALUES(56,52); -INSERT INTO product_slots VALUES(56,53); -INSERT INTO product_slots VALUES(56,54); -INSERT INTO product_slots VALUES(56,57); -INSERT INTO product_slots VALUES(56,58); -INSERT INTO product_slots VALUES(56,59); -INSERT INTO product_slots VALUES(56,60); -INSERT INTO product_slots VALUES(56,61); -INSERT INTO product_slots VALUES(56,62); -INSERT INTO product_slots VALUES(56,63); -INSERT INTO product_slots VALUES(56,64); -INSERT INTO product_slots VALUES(56,65); -INSERT INTO product_slots VALUES(56,66); -INSERT INTO product_slots VALUES(56,67); -INSERT INTO product_slots VALUES(56,68); -INSERT INTO product_slots VALUES(56,69); -INSERT INTO product_slots VALUES(56,70); -INSERT INTO product_slots VALUES(56,71); -INSERT INTO product_slots VALUES(56,72); -INSERT INTO product_slots VALUES(56,73); -INSERT INTO product_slots VALUES(56,74); -INSERT INTO product_slots VALUES(56,75); -INSERT INTO product_slots VALUES(56,76); -INSERT INTO product_slots VALUES(56,77); -INSERT INTO product_slots VALUES(56,78); -INSERT INTO product_slots VALUES(56,79); -INSERT INTO product_slots VALUES(56,80); -INSERT INTO product_slots VALUES(56,81); -INSERT INTO product_slots VALUES(56,82); -INSERT INTO product_slots VALUES(56,83); -INSERT INTO product_slots VALUES(56,84); -INSERT INTO product_slots VALUES(56,85); -INSERT INTO product_slots VALUES(56,86); -INSERT INTO product_slots VALUES(56,87); -INSERT INTO product_slots VALUES(56,88); -INSERT INTO product_slots VALUES(56,89); -INSERT INTO product_slots VALUES(56,90); -INSERT INTO product_slots VALUES(56,91); -INSERT INTO product_slots VALUES(56,92); -INSERT INTO product_slots VALUES(56,93); -INSERT INTO product_slots VALUES(56,94); -INSERT INTO product_slots VALUES(56,95); -INSERT INTO product_slots VALUES(56,96); -INSERT INTO product_slots VALUES(56,97); -INSERT INTO product_slots VALUES(56,98); -INSERT INTO product_slots VALUES(56,99); -INSERT INTO product_slots VALUES(56,100); -INSERT INTO product_slots VALUES(56,102); -INSERT INTO product_slots VALUES(56,103); -INSERT INTO product_slots VALUES(56,104); -INSERT INTO product_slots VALUES(56,105); -INSERT INTO product_slots VALUES(56,106); -INSERT INTO product_slots VALUES(56,107); -INSERT INTO product_slots VALUES(56,108); -INSERT INTO product_slots VALUES(56,109); -INSERT INTO product_slots VALUES(56,110); -INSERT INTO product_slots VALUES(56,111); -INSERT INTO product_slots VALUES(56,112); -INSERT INTO product_slots VALUES(56,113); -INSERT INTO product_slots VALUES(56,114); -INSERT INTO product_slots VALUES(56,115); -INSERT INTO product_slots VALUES(56,117); -INSERT INTO product_slots VALUES(56,118); -INSERT INTO product_slots VALUES(56,119); -INSERT INTO product_slots VALUES(56,120); -INSERT INTO product_slots VALUES(56,121); -INSERT INTO product_slots VALUES(56,122); -INSERT INTO product_slots VALUES(56,123); -INSERT INTO product_slots VALUES(56,124); -INSERT INTO product_slots VALUES(56,125); -INSERT INTO product_slots VALUES(56,126); -INSERT INTO product_slots VALUES(56,127); -INSERT INTO product_slots VALUES(56,128); -INSERT INTO product_slots VALUES(56,129); -INSERT INTO product_slots VALUES(56,130); -INSERT INTO product_slots VALUES(56,131); -INSERT INTO product_slots VALUES(56,132); -INSERT INTO product_slots VALUES(56,133); -INSERT INTO product_slots VALUES(56,134); -INSERT INTO product_slots VALUES(56,135); -INSERT INTO product_slots VALUES(56,136); -INSERT INTO product_slots VALUES(56,138); -INSERT INTO product_slots VALUES(56,139); -INSERT INTO product_slots VALUES(56,140); -INSERT INTO product_slots VALUES(56,141); -INSERT INTO product_slots VALUES(56,142); -INSERT INTO product_slots VALUES(56,143); -INSERT INTO product_slots VALUES(56,145); -INSERT INTO product_slots VALUES(56,146); -INSERT INTO product_slots VALUES(56,147); -INSERT INTO product_slots VALUES(56,148); -INSERT INTO product_slots VALUES(56,149); -INSERT INTO product_slots VALUES(56,150); -INSERT INTO product_slots VALUES(56,151); -INSERT INTO product_slots VALUES(56,152); -INSERT INTO product_slots VALUES(56,153); -INSERT INTO product_slots VALUES(56,154); -INSERT INTO product_slots VALUES(56,155); -INSERT INTO product_slots VALUES(56,156); -INSERT INTO product_slots VALUES(56,157); -INSERT INTO product_slots VALUES(56,158); -INSERT INTO product_slots VALUES(56,159); -INSERT INTO product_slots VALUES(56,160); -INSERT INTO product_slots VALUES(56,161); -INSERT INTO product_slots VALUES(56,162); -INSERT INTO product_slots VALUES(56,163); -INSERT INTO product_slots VALUES(56,164); -INSERT INTO product_slots VALUES(56,165); -INSERT INTO product_slots VALUES(56,166); -INSERT INTO product_slots VALUES(56,167); -INSERT INTO product_slots VALUES(56,168); -INSERT INTO product_slots VALUES(56,169); -INSERT INTO product_slots VALUES(56,170); -INSERT INTO product_slots VALUES(56,171); -INSERT INTO product_slots VALUES(56,172); -INSERT INTO product_slots VALUES(56,173); -INSERT INTO product_slots VALUES(56,174); -INSERT INTO product_slots VALUES(56,175); -INSERT INTO product_slots VALUES(56,176); -INSERT INTO product_slots VALUES(56,177); -INSERT INTO product_slots VALUES(56,178); -INSERT INTO product_slots VALUES(56,179); -INSERT INTO product_slots VALUES(56,180); -INSERT INTO product_slots VALUES(56,181); -INSERT INTO product_slots VALUES(56,182); -INSERT INTO product_slots VALUES(56,183); -INSERT INTO product_slots VALUES(56,184); -INSERT INTO product_slots VALUES(56,185); -INSERT INTO product_slots VALUES(56,186); -INSERT INTO product_slots VALUES(56,187); -INSERT INTO product_slots VALUES(56,188); -INSERT INTO product_slots VALUES(56,189); -INSERT INTO product_slots VALUES(56,190); -INSERT INTO product_slots VALUES(56,191); -INSERT INTO product_slots VALUES(56,192); -INSERT INTO product_slots VALUES(56,193); -INSERT INTO product_slots VALUES(56,194); -INSERT INTO product_slots VALUES(56,195); -INSERT INTO product_slots VALUES(56,196); -INSERT INTO product_slots VALUES(56,197); -INSERT INTO product_slots VALUES(56,198); -INSERT INTO product_slots VALUES(56,199); -INSERT INTO product_slots VALUES(56,200); -INSERT INTO product_slots VALUES(56,201); -INSERT INTO product_slots VALUES(56,202); -INSERT INTO product_slots VALUES(56,203); -INSERT INTO product_slots VALUES(56,204); -INSERT INTO product_slots VALUES(56,205); -INSERT INTO product_slots VALUES(56,206); -INSERT INTO product_slots VALUES(56,207); -INSERT INTO product_slots VALUES(56,208); -INSERT INTO product_slots VALUES(56,209); -INSERT INTO product_slots VALUES(56,210); -INSERT INTO product_slots VALUES(56,211); -INSERT INTO product_slots VALUES(56,212); -INSERT INTO product_slots VALUES(56,213); -INSERT INTO product_slots VALUES(56,214); -INSERT INTO product_slots VALUES(56,215); -INSERT INTO product_slots VALUES(56,216); -INSERT INTO product_slots VALUES(56,217); -INSERT INTO product_slots VALUES(56,218); -INSERT INTO product_slots VALUES(56,219); -INSERT INTO product_slots VALUES(56,220); -INSERT INTO product_slots VALUES(56,221); -INSERT INTO product_slots VALUES(56,222); -INSERT INTO product_slots VALUES(56,223); -INSERT INTO product_slots VALUES(56,224); -INSERT INTO product_slots VALUES(56,225); -INSERT INTO product_slots VALUES(56,226); -INSERT INTO product_slots VALUES(56,227); -INSERT INTO product_slots VALUES(56,228); -INSERT INTO product_slots VALUES(56,229); -INSERT INTO product_slots VALUES(56,230); -INSERT INTO product_slots VALUES(56,231); -INSERT INTO product_slots VALUES(56,232); -INSERT INTO product_slots VALUES(56,233); -INSERT INTO product_slots VALUES(56,234); -INSERT INTO product_slots VALUES(56,235); -INSERT INTO product_slots VALUES(56,236); -INSERT INTO product_slots VALUES(56,237); -INSERT INTO product_slots VALUES(56,238); -INSERT INTO product_slots VALUES(56,239); -INSERT INTO product_slots VALUES(56,240); -INSERT INTO product_slots VALUES(56,241); -INSERT INTO product_slots VALUES(56,242); -INSERT INTO product_slots VALUES(56,243); -INSERT INTO product_slots VALUES(56,244); -INSERT INTO product_slots VALUES(56,274); -INSERT INTO product_slots VALUES(56,275); -INSERT INTO product_slots VALUES(56,279); -INSERT INTO product_slots VALUES(56,280); -INSERT INTO product_slots VALUES(56,281); -INSERT INTO product_slots VALUES(56,282); -INSERT INTO product_slots VALUES(56,283); -INSERT INTO product_slots VALUES(56,284); -INSERT INTO product_slots VALUES(56,285); -INSERT INTO product_slots VALUES(56,286); -INSERT INTO product_slots VALUES(56,287); -INSERT INTO product_slots VALUES(57,39); -INSERT INTO product_slots VALUES(57,40); -INSERT INTO product_slots VALUES(57,43); -INSERT INTO product_slots VALUES(57,45); -INSERT INTO product_slots VALUES(57,46); -INSERT INTO product_slots VALUES(57,48); -INSERT INTO product_slots VALUES(57,49); -INSERT INTO product_slots VALUES(57,51); -INSERT INTO product_slots VALUES(57,52); -INSERT INTO product_slots VALUES(57,53); -INSERT INTO product_slots VALUES(57,54); -INSERT INTO product_slots VALUES(57,57); -INSERT INTO product_slots VALUES(57,58); -INSERT INTO product_slots VALUES(57,59); -INSERT INTO product_slots VALUES(57,60); -INSERT INTO product_slots VALUES(57,61); -INSERT INTO product_slots VALUES(57,62); -INSERT INTO product_slots VALUES(57,63); -INSERT INTO product_slots VALUES(57,64); -INSERT INTO product_slots VALUES(57,65); -INSERT INTO product_slots VALUES(57,66); -INSERT INTO product_slots VALUES(57,67); -INSERT INTO product_slots VALUES(57,68); -INSERT INTO product_slots VALUES(57,69); -INSERT INTO product_slots VALUES(57,70); -INSERT INTO product_slots VALUES(57,71); -INSERT INTO product_slots VALUES(57,72); -INSERT INTO product_slots VALUES(57,73); -INSERT INTO product_slots VALUES(57,74); -INSERT INTO product_slots VALUES(57,75); -INSERT INTO product_slots VALUES(57,76); -INSERT INTO product_slots VALUES(57,77); -INSERT INTO product_slots VALUES(57,78); -INSERT INTO product_slots VALUES(57,79); -INSERT INTO product_slots VALUES(57,80); -INSERT INTO product_slots VALUES(57,81); -INSERT INTO product_slots VALUES(57,82); -INSERT INTO product_slots VALUES(57,83); -INSERT INTO product_slots VALUES(57,84); -INSERT INTO product_slots VALUES(57,85); -INSERT INTO product_slots VALUES(57,86); -INSERT INTO product_slots VALUES(57,87); -INSERT INTO product_slots VALUES(57,88); -INSERT INTO product_slots VALUES(57,89); -INSERT INTO product_slots VALUES(57,90); -INSERT INTO product_slots VALUES(57,91); -INSERT INTO product_slots VALUES(57,92); -INSERT INTO product_slots VALUES(57,93); -INSERT INTO product_slots VALUES(57,94); -INSERT INTO product_slots VALUES(57,95); -INSERT INTO product_slots VALUES(57,96); -INSERT INTO product_slots VALUES(57,97); -INSERT INTO product_slots VALUES(57,98); -INSERT INTO product_slots VALUES(57,99); -INSERT INTO product_slots VALUES(57,100); -INSERT INTO product_slots VALUES(57,102); -INSERT INTO product_slots VALUES(57,103); -INSERT INTO product_slots VALUES(57,104); -INSERT INTO product_slots VALUES(57,105); -INSERT INTO product_slots VALUES(57,106); -INSERT INTO product_slots VALUES(57,107); -INSERT INTO product_slots VALUES(57,108); -INSERT INTO product_slots VALUES(57,109); -INSERT INTO product_slots VALUES(57,110); -INSERT INTO product_slots VALUES(57,111); -INSERT INTO product_slots VALUES(57,112); -INSERT INTO product_slots VALUES(57,113); -INSERT INTO product_slots VALUES(57,114); -INSERT INTO product_slots VALUES(57,115); -INSERT INTO product_slots VALUES(57,117); -INSERT INTO product_slots VALUES(57,118); -INSERT INTO product_slots VALUES(57,119); -INSERT INTO product_slots VALUES(57,120); -INSERT INTO product_slots VALUES(57,121); -INSERT INTO product_slots VALUES(57,122); -INSERT INTO product_slots VALUES(57,123); -INSERT INTO product_slots VALUES(57,124); -INSERT INTO product_slots VALUES(57,125); -INSERT INTO product_slots VALUES(57,126); -INSERT INTO product_slots VALUES(57,127); -INSERT INTO product_slots VALUES(57,128); -INSERT INTO product_slots VALUES(57,129); -INSERT INTO product_slots VALUES(57,130); -INSERT INTO product_slots VALUES(57,131); -INSERT INTO product_slots VALUES(57,132); -INSERT INTO product_slots VALUES(57,133); -INSERT INTO product_slots VALUES(57,134); -INSERT INTO product_slots VALUES(57,135); -INSERT INTO product_slots VALUES(57,136); -INSERT INTO product_slots VALUES(57,138); -INSERT INTO product_slots VALUES(57,139); -INSERT INTO product_slots VALUES(57,140); -INSERT INTO product_slots VALUES(57,141); -INSERT INTO product_slots VALUES(57,142); -INSERT INTO product_slots VALUES(57,143); -INSERT INTO product_slots VALUES(57,145); -INSERT INTO product_slots VALUES(57,146); -INSERT INTO product_slots VALUES(57,147); -INSERT INTO product_slots VALUES(57,148); -INSERT INTO product_slots VALUES(57,149); -INSERT INTO product_slots VALUES(57,150); -INSERT INTO product_slots VALUES(57,151); -INSERT INTO product_slots VALUES(57,152); -INSERT INTO product_slots VALUES(57,153); -INSERT INTO product_slots VALUES(57,154); -INSERT INTO product_slots VALUES(57,155); -INSERT INTO product_slots VALUES(57,156); -INSERT INTO product_slots VALUES(57,157); -INSERT INTO product_slots VALUES(57,158); -INSERT INTO product_slots VALUES(57,159); -INSERT INTO product_slots VALUES(57,160); -INSERT INTO product_slots VALUES(57,161); -INSERT INTO product_slots VALUES(57,162); -INSERT INTO product_slots VALUES(57,163); -INSERT INTO product_slots VALUES(57,164); -INSERT INTO product_slots VALUES(57,165); -INSERT INTO product_slots VALUES(57,166); -INSERT INTO product_slots VALUES(57,167); -INSERT INTO product_slots VALUES(57,168); -INSERT INTO product_slots VALUES(57,169); -INSERT INTO product_slots VALUES(57,170); -INSERT INTO product_slots VALUES(57,171); -INSERT INTO product_slots VALUES(57,172); -INSERT INTO product_slots VALUES(57,173); -INSERT INTO product_slots VALUES(57,174); -INSERT INTO product_slots VALUES(57,175); -INSERT INTO product_slots VALUES(57,176); -INSERT INTO product_slots VALUES(57,177); -INSERT INTO product_slots VALUES(57,178); -INSERT INTO product_slots VALUES(57,179); -INSERT INTO product_slots VALUES(57,180); -INSERT INTO product_slots VALUES(57,181); -INSERT INTO product_slots VALUES(57,182); -INSERT INTO product_slots VALUES(57,183); -INSERT INTO product_slots VALUES(57,184); -INSERT INTO product_slots VALUES(57,185); -INSERT INTO product_slots VALUES(57,186); -INSERT INTO product_slots VALUES(57,187); -INSERT INTO product_slots VALUES(57,188); -INSERT INTO product_slots VALUES(57,189); -INSERT INTO product_slots VALUES(57,190); -INSERT INTO product_slots VALUES(57,191); -INSERT INTO product_slots VALUES(57,192); -INSERT INTO product_slots VALUES(57,193); -INSERT INTO product_slots VALUES(57,194); -INSERT INTO product_slots VALUES(57,195); -INSERT INTO product_slots VALUES(57,196); -INSERT INTO product_slots VALUES(57,197); -INSERT INTO product_slots VALUES(57,198); -INSERT INTO product_slots VALUES(57,199); -INSERT INTO product_slots VALUES(57,200); -INSERT INTO product_slots VALUES(57,201); -INSERT INTO product_slots VALUES(57,202); -INSERT INTO product_slots VALUES(57,203); -INSERT INTO product_slots VALUES(57,204); -INSERT INTO product_slots VALUES(57,205); -INSERT INTO product_slots VALUES(57,206); -INSERT INTO product_slots VALUES(57,207); -INSERT INTO product_slots VALUES(57,208); -INSERT INTO product_slots VALUES(57,209); -INSERT INTO product_slots VALUES(57,210); -INSERT INTO product_slots VALUES(57,211); -INSERT INTO product_slots VALUES(57,212); -INSERT INTO product_slots VALUES(57,213); -INSERT INTO product_slots VALUES(57,214); -INSERT INTO product_slots VALUES(57,215); -INSERT INTO product_slots VALUES(57,216); -INSERT INTO product_slots VALUES(57,217); -INSERT INTO product_slots VALUES(57,218); -INSERT INTO product_slots VALUES(57,219); -INSERT INTO product_slots VALUES(57,220); -INSERT INTO product_slots VALUES(57,221); -INSERT INTO product_slots VALUES(57,222); -INSERT INTO product_slots VALUES(57,223); -INSERT INTO product_slots VALUES(57,224); -INSERT INTO product_slots VALUES(57,225); -INSERT INTO product_slots VALUES(57,226); -INSERT INTO product_slots VALUES(57,227); -INSERT INTO product_slots VALUES(57,228); -INSERT INTO product_slots VALUES(57,229); -INSERT INTO product_slots VALUES(57,230); -INSERT INTO product_slots VALUES(57,231); -INSERT INTO product_slots VALUES(57,232); -INSERT INTO product_slots VALUES(57,233); -INSERT INTO product_slots VALUES(57,234); -INSERT INTO product_slots VALUES(57,235); -INSERT INTO product_slots VALUES(57,236); -INSERT INTO product_slots VALUES(57,237); -INSERT INTO product_slots VALUES(57,238); -INSERT INTO product_slots VALUES(57,239); -INSERT INTO product_slots VALUES(57,240); -INSERT INTO product_slots VALUES(57,241); -INSERT INTO product_slots VALUES(57,242); -INSERT INTO product_slots VALUES(57,243); -INSERT INTO product_slots VALUES(57,244); -INSERT INTO product_slots VALUES(57,274); -INSERT INTO product_slots VALUES(57,275); -INSERT INTO product_slots VALUES(57,279); -INSERT INTO product_slots VALUES(57,280); -INSERT INTO product_slots VALUES(57,281); -INSERT INTO product_slots VALUES(57,282); -INSERT INTO product_slots VALUES(57,283); -INSERT INTO product_slots VALUES(57,284); -INSERT INTO product_slots VALUES(57,285); -INSERT INTO product_slots VALUES(57,286); -INSERT INTO product_slots VALUES(57,287); -INSERT INTO product_slots VALUES(58,39); -INSERT INTO product_slots VALUES(58,40); -INSERT INTO product_slots VALUES(58,43); -INSERT INTO product_slots VALUES(58,45); -INSERT INTO product_slots VALUES(58,46); -INSERT INTO product_slots VALUES(58,48); -INSERT INTO product_slots VALUES(58,49); -INSERT INTO product_slots VALUES(58,51); -INSERT INTO product_slots VALUES(58,52); -INSERT INTO product_slots VALUES(58,53); -INSERT INTO product_slots VALUES(58,54); -INSERT INTO product_slots VALUES(58,57); -INSERT INTO product_slots VALUES(58,58); -INSERT INTO product_slots VALUES(58,59); -INSERT INTO product_slots VALUES(58,60); -INSERT INTO product_slots VALUES(58,61); -INSERT INTO product_slots VALUES(58,62); -INSERT INTO product_slots VALUES(58,63); -INSERT INTO product_slots VALUES(58,64); -INSERT INTO product_slots VALUES(58,65); -INSERT INTO product_slots VALUES(58,66); -INSERT INTO product_slots VALUES(58,67); -INSERT INTO product_slots VALUES(58,68); -INSERT INTO product_slots VALUES(58,69); -INSERT INTO product_slots VALUES(58,70); -INSERT INTO product_slots VALUES(58,71); -INSERT INTO product_slots VALUES(58,72); -INSERT INTO product_slots VALUES(58,73); -INSERT INTO product_slots VALUES(58,74); -INSERT INTO product_slots VALUES(58,75); -INSERT INTO product_slots VALUES(58,76); -INSERT INTO product_slots VALUES(58,77); -INSERT INTO product_slots VALUES(58,78); -INSERT INTO product_slots VALUES(58,79); -INSERT INTO product_slots VALUES(58,80); -INSERT INTO product_slots VALUES(58,81); -INSERT INTO product_slots VALUES(58,82); -INSERT INTO product_slots VALUES(58,83); -INSERT INTO product_slots VALUES(58,84); -INSERT INTO product_slots VALUES(58,85); -INSERT INTO product_slots VALUES(58,86); -INSERT INTO product_slots VALUES(58,87); -INSERT INTO product_slots VALUES(58,88); -INSERT INTO product_slots VALUES(58,89); -INSERT INTO product_slots VALUES(58,90); -INSERT INTO product_slots VALUES(58,91); -INSERT INTO product_slots VALUES(58,92); -INSERT INTO product_slots VALUES(58,93); -INSERT INTO product_slots VALUES(58,94); -INSERT INTO product_slots VALUES(58,95); -INSERT INTO product_slots VALUES(58,96); -INSERT INTO product_slots VALUES(58,97); -INSERT INTO product_slots VALUES(58,98); -INSERT INTO product_slots VALUES(58,99); -INSERT INTO product_slots VALUES(58,100); -INSERT INTO product_slots VALUES(58,102); -INSERT INTO product_slots VALUES(58,103); -INSERT INTO product_slots VALUES(58,104); -INSERT INTO product_slots VALUES(58,105); -INSERT INTO product_slots VALUES(58,106); -INSERT INTO product_slots VALUES(58,107); -INSERT INTO product_slots VALUES(58,108); -INSERT INTO product_slots VALUES(58,109); -INSERT INTO product_slots VALUES(58,110); -INSERT INTO product_slots VALUES(58,111); -INSERT INTO product_slots VALUES(58,112); -INSERT INTO product_slots VALUES(58,113); -INSERT INTO product_slots VALUES(58,114); -INSERT INTO product_slots VALUES(58,115); -INSERT INTO product_slots VALUES(58,117); -INSERT INTO product_slots VALUES(58,118); -INSERT INTO product_slots VALUES(58,119); -INSERT INTO product_slots VALUES(58,120); -INSERT INTO product_slots VALUES(58,121); -INSERT INTO product_slots VALUES(58,122); -INSERT INTO product_slots VALUES(58,123); -INSERT INTO product_slots VALUES(58,124); -INSERT INTO product_slots VALUES(58,125); -INSERT INTO product_slots VALUES(58,126); -INSERT INTO product_slots VALUES(58,127); -INSERT INTO product_slots VALUES(58,128); -INSERT INTO product_slots VALUES(58,129); -INSERT INTO product_slots VALUES(58,130); -INSERT INTO product_slots VALUES(58,131); -INSERT INTO product_slots VALUES(58,132); -INSERT INTO product_slots VALUES(58,133); -INSERT INTO product_slots VALUES(58,134); -INSERT INTO product_slots VALUES(58,135); -INSERT INTO product_slots VALUES(58,136); -INSERT INTO product_slots VALUES(58,138); -INSERT INTO product_slots VALUES(58,139); -INSERT INTO product_slots VALUES(58,140); -INSERT INTO product_slots VALUES(58,141); -INSERT INTO product_slots VALUES(58,142); -INSERT INTO product_slots VALUES(58,143); -INSERT INTO product_slots VALUES(58,145); -INSERT INTO product_slots VALUES(58,146); -INSERT INTO product_slots VALUES(58,147); -INSERT INTO product_slots VALUES(58,148); -INSERT INTO product_slots VALUES(58,149); -INSERT INTO product_slots VALUES(58,150); -INSERT INTO product_slots VALUES(58,151); -INSERT INTO product_slots VALUES(58,152); -INSERT INTO product_slots VALUES(58,153); -INSERT INTO product_slots VALUES(58,154); -INSERT INTO product_slots VALUES(58,155); -INSERT INTO product_slots VALUES(58,156); -INSERT INTO product_slots VALUES(58,157); -INSERT INTO product_slots VALUES(58,158); -INSERT INTO product_slots VALUES(58,159); -INSERT INTO product_slots VALUES(58,160); -INSERT INTO product_slots VALUES(58,161); -INSERT INTO product_slots VALUES(58,162); -INSERT INTO product_slots VALUES(58,163); -INSERT INTO product_slots VALUES(58,164); -INSERT INTO product_slots VALUES(58,165); -INSERT INTO product_slots VALUES(58,166); -INSERT INTO product_slots VALUES(58,167); -INSERT INTO product_slots VALUES(58,168); -INSERT INTO product_slots VALUES(58,169); -INSERT INTO product_slots VALUES(58,170); -INSERT INTO product_slots VALUES(58,171); -INSERT INTO product_slots VALUES(58,172); -INSERT INTO product_slots VALUES(58,173); -INSERT INTO product_slots VALUES(58,174); -INSERT INTO product_slots VALUES(58,175); -INSERT INTO product_slots VALUES(58,176); -INSERT INTO product_slots VALUES(58,177); -INSERT INTO product_slots VALUES(58,178); -INSERT INTO product_slots VALUES(58,179); -INSERT INTO product_slots VALUES(58,180); -INSERT INTO product_slots VALUES(58,181); -INSERT INTO product_slots VALUES(58,182); -INSERT INTO product_slots VALUES(58,183); -INSERT INTO product_slots VALUES(58,184); -INSERT INTO product_slots VALUES(58,185); -INSERT INTO product_slots VALUES(58,186); -INSERT INTO product_slots VALUES(58,187); -INSERT INTO product_slots VALUES(58,188); -INSERT INTO product_slots VALUES(58,189); -INSERT INTO product_slots VALUES(58,190); -INSERT INTO product_slots VALUES(58,191); -INSERT INTO product_slots VALUES(58,192); -INSERT INTO product_slots VALUES(58,193); -INSERT INTO product_slots VALUES(58,194); -INSERT INTO product_slots VALUES(58,195); -INSERT INTO product_slots VALUES(58,196); -INSERT INTO product_slots VALUES(58,197); -INSERT INTO product_slots VALUES(58,198); -INSERT INTO product_slots VALUES(58,199); -INSERT INTO product_slots VALUES(58,200); -INSERT INTO product_slots VALUES(58,201); -INSERT INTO product_slots VALUES(58,202); -INSERT INTO product_slots VALUES(58,203); -INSERT INTO product_slots VALUES(58,204); -INSERT INTO product_slots VALUES(58,205); -INSERT INTO product_slots VALUES(58,206); -INSERT INTO product_slots VALUES(58,207); -INSERT INTO product_slots VALUES(58,208); -INSERT INTO product_slots VALUES(58,209); -INSERT INTO product_slots VALUES(58,210); -INSERT INTO product_slots VALUES(58,211); -INSERT INTO product_slots VALUES(58,212); -INSERT INTO product_slots VALUES(58,213); -INSERT INTO product_slots VALUES(58,214); -INSERT INTO product_slots VALUES(58,215); -INSERT INTO product_slots VALUES(58,216); -INSERT INTO product_slots VALUES(58,217); -INSERT INTO product_slots VALUES(58,218); -INSERT INTO product_slots VALUES(58,219); -INSERT INTO product_slots VALUES(58,220); -INSERT INTO product_slots VALUES(58,221); -INSERT INTO product_slots VALUES(58,222); -INSERT INTO product_slots VALUES(58,223); -INSERT INTO product_slots VALUES(58,224); -INSERT INTO product_slots VALUES(58,225); -INSERT INTO product_slots VALUES(58,226); -INSERT INTO product_slots VALUES(58,227); -INSERT INTO product_slots VALUES(58,228); -INSERT INTO product_slots VALUES(58,229); -INSERT INTO product_slots VALUES(58,230); -INSERT INTO product_slots VALUES(58,231); -INSERT INTO product_slots VALUES(58,232); -INSERT INTO product_slots VALUES(58,233); -INSERT INTO product_slots VALUES(58,234); -INSERT INTO product_slots VALUES(58,235); -INSERT INTO product_slots VALUES(58,236); -INSERT INTO product_slots VALUES(58,237); -INSERT INTO product_slots VALUES(58,238); -INSERT INTO product_slots VALUES(58,239); -INSERT INTO product_slots VALUES(58,240); -INSERT INTO product_slots VALUES(58,241); -INSERT INTO product_slots VALUES(58,242); -INSERT INTO product_slots VALUES(58,243); -INSERT INTO product_slots VALUES(58,244); -INSERT INTO product_slots VALUES(58,274); -INSERT INTO product_slots VALUES(58,275); -INSERT INTO product_slots VALUES(58,279); -INSERT INTO product_slots VALUES(58,280); -INSERT INTO product_slots VALUES(58,281); -INSERT INTO product_slots VALUES(58,282); -INSERT INTO product_slots VALUES(58,283); -INSERT INTO product_slots VALUES(58,284); -INSERT INTO product_slots VALUES(58,285); -INSERT INTO product_slots VALUES(58,286); -INSERT INTO product_slots VALUES(58,287); -INSERT INTO product_slots VALUES(59,39); -INSERT INTO product_slots VALUES(59,40); -INSERT INTO product_slots VALUES(59,43); -INSERT INTO product_slots VALUES(59,45); -INSERT INTO product_slots VALUES(59,46); -INSERT INTO product_slots VALUES(59,48); -INSERT INTO product_slots VALUES(59,49); -INSERT INTO product_slots VALUES(59,51); -INSERT INTO product_slots VALUES(59,52); -INSERT INTO product_slots VALUES(59,53); -INSERT INTO product_slots VALUES(59,54); -INSERT INTO product_slots VALUES(59,57); -INSERT INTO product_slots VALUES(59,58); -INSERT INTO product_slots VALUES(59,59); -INSERT INTO product_slots VALUES(59,60); -INSERT INTO product_slots VALUES(59,61); -INSERT INTO product_slots VALUES(59,62); -INSERT INTO product_slots VALUES(59,63); -INSERT INTO product_slots VALUES(59,64); -INSERT INTO product_slots VALUES(59,65); -INSERT INTO product_slots VALUES(59,66); -INSERT INTO product_slots VALUES(59,67); -INSERT INTO product_slots VALUES(59,68); -INSERT INTO product_slots VALUES(59,69); -INSERT INTO product_slots VALUES(59,70); -INSERT INTO product_slots VALUES(59,71); -INSERT INTO product_slots VALUES(59,72); -INSERT INTO product_slots VALUES(59,73); -INSERT INTO product_slots VALUES(59,74); -INSERT INTO product_slots VALUES(59,75); -INSERT INTO product_slots VALUES(59,76); -INSERT INTO product_slots VALUES(59,77); -INSERT INTO product_slots VALUES(59,78); -INSERT INTO product_slots VALUES(59,79); -INSERT INTO product_slots VALUES(59,80); -INSERT INTO product_slots VALUES(59,81); -INSERT INTO product_slots VALUES(59,82); -INSERT INTO product_slots VALUES(59,83); -INSERT INTO product_slots VALUES(59,84); -INSERT INTO product_slots VALUES(59,85); -INSERT INTO product_slots VALUES(59,86); -INSERT INTO product_slots VALUES(59,87); -INSERT INTO product_slots VALUES(59,88); -INSERT INTO product_slots VALUES(59,89); -INSERT INTO product_slots VALUES(59,90); -INSERT INTO product_slots VALUES(59,91); -INSERT INTO product_slots VALUES(59,92); -INSERT INTO product_slots VALUES(59,93); -INSERT INTO product_slots VALUES(59,94); -INSERT INTO product_slots VALUES(59,95); -INSERT INTO product_slots VALUES(59,96); -INSERT INTO product_slots VALUES(59,97); -INSERT INTO product_slots VALUES(59,98); -INSERT INTO product_slots VALUES(59,99); -INSERT INTO product_slots VALUES(59,100); -INSERT INTO product_slots VALUES(59,102); -INSERT INTO product_slots VALUES(59,103); -INSERT INTO product_slots VALUES(59,104); -INSERT INTO product_slots VALUES(59,105); -INSERT INTO product_slots VALUES(59,106); -INSERT INTO product_slots VALUES(59,107); -INSERT INTO product_slots VALUES(59,108); -INSERT INTO product_slots VALUES(59,109); -INSERT INTO product_slots VALUES(59,110); -INSERT INTO product_slots VALUES(59,111); -INSERT INTO product_slots VALUES(59,112); -INSERT INTO product_slots VALUES(59,113); -INSERT INTO product_slots VALUES(59,114); -INSERT INTO product_slots VALUES(59,115); -INSERT INTO product_slots VALUES(59,117); -INSERT INTO product_slots VALUES(59,118); -INSERT INTO product_slots VALUES(59,119); -INSERT INTO product_slots VALUES(59,120); -INSERT INTO product_slots VALUES(59,121); -INSERT INTO product_slots VALUES(59,122); -INSERT INTO product_slots VALUES(59,123); -INSERT INTO product_slots VALUES(59,124); -INSERT INTO product_slots VALUES(59,125); -INSERT INTO product_slots VALUES(59,126); -INSERT INTO product_slots VALUES(59,127); -INSERT INTO product_slots VALUES(59,128); -INSERT INTO product_slots VALUES(59,129); -INSERT INTO product_slots VALUES(59,130); -INSERT INTO product_slots VALUES(59,131); -INSERT INTO product_slots VALUES(59,132); -INSERT INTO product_slots VALUES(59,133); -INSERT INTO product_slots VALUES(59,134); -INSERT INTO product_slots VALUES(59,135); -INSERT INTO product_slots VALUES(59,136); -INSERT INTO product_slots VALUES(59,138); -INSERT INTO product_slots VALUES(59,139); -INSERT INTO product_slots VALUES(59,140); -INSERT INTO product_slots VALUES(59,141); -INSERT INTO product_slots VALUES(59,142); -INSERT INTO product_slots VALUES(59,143); -INSERT INTO product_slots VALUES(59,145); -INSERT INTO product_slots VALUES(59,146); -INSERT INTO product_slots VALUES(59,147); -INSERT INTO product_slots VALUES(59,148); -INSERT INTO product_slots VALUES(59,149); -INSERT INTO product_slots VALUES(59,150); -INSERT INTO product_slots VALUES(59,151); -INSERT INTO product_slots VALUES(59,152); -INSERT INTO product_slots VALUES(59,153); -INSERT INTO product_slots VALUES(59,154); -INSERT INTO product_slots VALUES(59,155); -INSERT INTO product_slots VALUES(59,156); -INSERT INTO product_slots VALUES(59,157); -INSERT INTO product_slots VALUES(59,158); -INSERT INTO product_slots VALUES(59,159); -INSERT INTO product_slots VALUES(59,160); -INSERT INTO product_slots VALUES(59,161); -INSERT INTO product_slots VALUES(59,162); -INSERT INTO product_slots VALUES(59,163); -INSERT INTO product_slots VALUES(59,164); -INSERT INTO product_slots VALUES(59,165); -INSERT INTO product_slots VALUES(59,166); -INSERT INTO product_slots VALUES(59,167); -INSERT INTO product_slots VALUES(59,168); -INSERT INTO product_slots VALUES(59,169); -INSERT INTO product_slots VALUES(59,170); -INSERT INTO product_slots VALUES(59,171); -INSERT INTO product_slots VALUES(59,172); -INSERT INTO product_slots VALUES(59,173); -INSERT INTO product_slots VALUES(59,174); -INSERT INTO product_slots VALUES(59,175); -INSERT INTO product_slots VALUES(59,176); -INSERT INTO product_slots VALUES(59,177); -INSERT INTO product_slots VALUES(59,178); -INSERT INTO product_slots VALUES(59,179); -INSERT INTO product_slots VALUES(59,180); -INSERT INTO product_slots VALUES(59,181); -INSERT INTO product_slots VALUES(59,182); -INSERT INTO product_slots VALUES(59,183); -INSERT INTO product_slots VALUES(59,184); -INSERT INTO product_slots VALUES(59,185); -INSERT INTO product_slots VALUES(59,186); -INSERT INTO product_slots VALUES(59,187); -INSERT INTO product_slots VALUES(59,188); -INSERT INTO product_slots VALUES(59,189); -INSERT INTO product_slots VALUES(59,190); -INSERT INTO product_slots VALUES(59,191); -INSERT INTO product_slots VALUES(59,192); -INSERT INTO product_slots VALUES(59,193); -INSERT INTO product_slots VALUES(59,194); -INSERT INTO product_slots VALUES(59,195); -INSERT INTO product_slots VALUES(59,196); -INSERT INTO product_slots VALUES(59,197); -INSERT INTO product_slots VALUES(59,198); -INSERT INTO product_slots VALUES(59,199); -INSERT INTO product_slots VALUES(59,200); -INSERT INTO product_slots VALUES(59,201); -INSERT INTO product_slots VALUES(59,202); -INSERT INTO product_slots VALUES(59,203); -INSERT INTO product_slots VALUES(59,204); -INSERT INTO product_slots VALUES(59,205); -INSERT INTO product_slots VALUES(59,206); -INSERT INTO product_slots VALUES(59,207); -INSERT INTO product_slots VALUES(59,208); -INSERT INTO product_slots VALUES(59,209); -INSERT INTO product_slots VALUES(59,210); -INSERT INTO product_slots VALUES(59,211); -INSERT INTO product_slots VALUES(59,212); -INSERT INTO product_slots VALUES(59,213); -INSERT INTO product_slots VALUES(59,214); -INSERT INTO product_slots VALUES(59,215); -INSERT INTO product_slots VALUES(59,216); -INSERT INTO product_slots VALUES(59,217); -INSERT INTO product_slots VALUES(59,218); -INSERT INTO product_slots VALUES(59,219); -INSERT INTO product_slots VALUES(59,220); -INSERT INTO product_slots VALUES(59,221); -INSERT INTO product_slots VALUES(59,222); -INSERT INTO product_slots VALUES(59,223); -INSERT INTO product_slots VALUES(59,224); -INSERT INTO product_slots VALUES(59,225); -INSERT INTO product_slots VALUES(59,226); -INSERT INTO product_slots VALUES(59,227); -INSERT INTO product_slots VALUES(59,228); -INSERT INTO product_slots VALUES(59,229); -INSERT INTO product_slots VALUES(59,230); -INSERT INTO product_slots VALUES(59,231); -INSERT INTO product_slots VALUES(59,232); -INSERT INTO product_slots VALUES(59,233); -INSERT INTO product_slots VALUES(59,234); -INSERT INTO product_slots VALUES(59,235); -INSERT INTO product_slots VALUES(59,236); -INSERT INTO product_slots VALUES(59,237); -INSERT INTO product_slots VALUES(59,238); -INSERT INTO product_slots VALUES(59,239); -INSERT INTO product_slots VALUES(59,240); -INSERT INTO product_slots VALUES(59,241); -INSERT INTO product_slots VALUES(59,242); -INSERT INTO product_slots VALUES(59,243); -INSERT INTO product_slots VALUES(59,244); -INSERT INTO product_slots VALUES(59,274); -INSERT INTO product_slots VALUES(59,275); -INSERT INTO product_slots VALUES(59,279); -INSERT INTO product_slots VALUES(59,280); -INSERT INTO product_slots VALUES(59,281); -INSERT INTO product_slots VALUES(59,282); -INSERT INTO product_slots VALUES(59,283); -INSERT INTO product_slots VALUES(59,284); -INSERT INTO product_slots VALUES(59,285); -INSERT INTO product_slots VALUES(59,286); -INSERT INTO product_slots VALUES(59,287); -INSERT INTO product_slots VALUES(60,39); -INSERT INTO product_slots VALUES(60,40); -INSERT INTO product_slots VALUES(60,43); -INSERT INTO product_slots VALUES(60,45); -INSERT INTO product_slots VALUES(60,46); -INSERT INTO product_slots VALUES(60,48); -INSERT INTO product_slots VALUES(60,49); -INSERT INTO product_slots VALUES(60,51); -INSERT INTO product_slots VALUES(60,52); -INSERT INTO product_slots VALUES(60,53); -INSERT INTO product_slots VALUES(60,54); -INSERT INTO product_slots VALUES(60,57); -INSERT INTO product_slots VALUES(60,58); -INSERT INTO product_slots VALUES(60,59); -INSERT INTO product_slots VALUES(60,60); -INSERT INTO product_slots VALUES(60,61); -INSERT INTO product_slots VALUES(60,62); -INSERT INTO product_slots VALUES(60,63); -INSERT INTO product_slots VALUES(60,64); -INSERT INTO product_slots VALUES(60,65); -INSERT INTO product_slots VALUES(60,66); -INSERT INTO product_slots VALUES(60,67); -INSERT INTO product_slots VALUES(60,68); -INSERT INTO product_slots VALUES(60,69); -INSERT INTO product_slots VALUES(60,70); -INSERT INTO product_slots VALUES(60,71); -INSERT INTO product_slots VALUES(60,72); -INSERT INTO product_slots VALUES(60,73); -INSERT INTO product_slots VALUES(60,74); -INSERT INTO product_slots VALUES(60,75); -INSERT INTO product_slots VALUES(60,76); -INSERT INTO product_slots VALUES(60,77); -INSERT INTO product_slots VALUES(60,78); -INSERT INTO product_slots VALUES(60,79); -INSERT INTO product_slots VALUES(60,80); -INSERT INTO product_slots VALUES(60,81); -INSERT INTO product_slots VALUES(60,82); -INSERT INTO product_slots VALUES(60,83); -INSERT INTO product_slots VALUES(60,84); -INSERT INTO product_slots VALUES(60,85); -INSERT INTO product_slots VALUES(60,86); -INSERT INTO product_slots VALUES(60,87); -INSERT INTO product_slots VALUES(60,88); -INSERT INTO product_slots VALUES(60,89); -INSERT INTO product_slots VALUES(60,90); -INSERT INTO product_slots VALUES(60,91); -INSERT INTO product_slots VALUES(60,92); -INSERT INTO product_slots VALUES(60,93); -INSERT INTO product_slots VALUES(60,94); -INSERT INTO product_slots VALUES(60,95); -INSERT INTO product_slots VALUES(60,96); -INSERT INTO product_slots VALUES(60,97); -INSERT INTO product_slots VALUES(60,98); -INSERT INTO product_slots VALUES(60,99); -INSERT INTO product_slots VALUES(60,100); -INSERT INTO product_slots VALUES(60,102); -INSERT INTO product_slots VALUES(60,103); -INSERT INTO product_slots VALUES(60,104); -INSERT INTO product_slots VALUES(60,105); -INSERT INTO product_slots VALUES(60,106); -INSERT INTO product_slots VALUES(60,107); -INSERT INTO product_slots VALUES(60,108); -INSERT INTO product_slots VALUES(60,109); -INSERT INTO product_slots VALUES(60,110); -INSERT INTO product_slots VALUES(60,111); -INSERT INTO product_slots VALUES(60,112); -INSERT INTO product_slots VALUES(60,113); -INSERT INTO product_slots VALUES(60,114); -INSERT INTO product_slots VALUES(60,115); -INSERT INTO product_slots VALUES(60,117); -INSERT INTO product_slots VALUES(60,118); -INSERT INTO product_slots VALUES(60,119); -INSERT INTO product_slots VALUES(60,120); -INSERT INTO product_slots VALUES(60,121); -INSERT INTO product_slots VALUES(60,122); -INSERT INTO product_slots VALUES(60,123); -INSERT INTO product_slots VALUES(60,124); -INSERT INTO product_slots VALUES(60,125); -INSERT INTO product_slots VALUES(60,126); -INSERT INTO product_slots VALUES(60,127); -INSERT INTO product_slots VALUES(60,128); -INSERT INTO product_slots VALUES(60,129); -INSERT INTO product_slots VALUES(60,130); -INSERT INTO product_slots VALUES(60,131); -INSERT INTO product_slots VALUES(60,132); -INSERT INTO product_slots VALUES(60,133); -INSERT INTO product_slots VALUES(60,134); -INSERT INTO product_slots VALUES(60,135); -INSERT INTO product_slots VALUES(60,136); -INSERT INTO product_slots VALUES(60,138); -INSERT INTO product_slots VALUES(60,139); -INSERT INTO product_slots VALUES(60,140); -INSERT INTO product_slots VALUES(60,141); -INSERT INTO product_slots VALUES(60,142); -INSERT INTO product_slots VALUES(60,143); -INSERT INTO product_slots VALUES(60,145); -INSERT INTO product_slots VALUES(60,146); -INSERT INTO product_slots VALUES(60,147); -INSERT INTO product_slots VALUES(60,148); -INSERT INTO product_slots VALUES(60,149); -INSERT INTO product_slots VALUES(60,150); -INSERT INTO product_slots VALUES(60,151); -INSERT INTO product_slots VALUES(60,152); -INSERT INTO product_slots VALUES(60,153); -INSERT INTO product_slots VALUES(60,154); -INSERT INTO product_slots VALUES(60,155); -INSERT INTO product_slots VALUES(60,156); -INSERT INTO product_slots VALUES(60,157); -INSERT INTO product_slots VALUES(60,158); -INSERT INTO product_slots VALUES(60,159); -INSERT INTO product_slots VALUES(60,160); -INSERT INTO product_slots VALUES(60,161); -INSERT INTO product_slots VALUES(60,162); -INSERT INTO product_slots VALUES(60,163); -INSERT INTO product_slots VALUES(60,164); -INSERT INTO product_slots VALUES(60,165); -INSERT INTO product_slots VALUES(60,166); -INSERT INTO product_slots VALUES(60,167); -INSERT INTO product_slots VALUES(60,168); -INSERT INTO product_slots VALUES(60,169); -INSERT INTO product_slots VALUES(60,170); -INSERT INTO product_slots VALUES(60,171); -INSERT INTO product_slots VALUES(60,172); -INSERT INTO product_slots VALUES(60,173); -INSERT INTO product_slots VALUES(60,174); -INSERT INTO product_slots VALUES(60,175); -INSERT INTO product_slots VALUES(60,176); -INSERT INTO product_slots VALUES(60,177); -INSERT INTO product_slots VALUES(60,178); -INSERT INTO product_slots VALUES(60,179); -INSERT INTO product_slots VALUES(60,180); -INSERT INTO product_slots VALUES(60,181); -INSERT INTO product_slots VALUES(60,182); -INSERT INTO product_slots VALUES(60,183); -INSERT INTO product_slots VALUES(60,184); -INSERT INTO product_slots VALUES(60,185); -INSERT INTO product_slots VALUES(60,186); -INSERT INTO product_slots VALUES(60,187); -INSERT INTO product_slots VALUES(60,188); -INSERT INTO product_slots VALUES(60,189); -INSERT INTO product_slots VALUES(60,190); -INSERT INTO product_slots VALUES(60,191); -INSERT INTO product_slots VALUES(60,192); -INSERT INTO product_slots VALUES(60,193); -INSERT INTO product_slots VALUES(60,194); -INSERT INTO product_slots VALUES(60,195); -INSERT INTO product_slots VALUES(60,196); -INSERT INTO product_slots VALUES(60,197); -INSERT INTO product_slots VALUES(60,198); -INSERT INTO product_slots VALUES(60,199); -INSERT INTO product_slots VALUES(60,200); -INSERT INTO product_slots VALUES(60,201); -INSERT INTO product_slots VALUES(60,202); -INSERT INTO product_slots VALUES(60,203); -INSERT INTO product_slots VALUES(60,204); -INSERT INTO product_slots VALUES(60,205); -INSERT INTO product_slots VALUES(60,206); -INSERT INTO product_slots VALUES(60,207); -INSERT INTO product_slots VALUES(60,208); -INSERT INTO product_slots VALUES(60,209); -INSERT INTO product_slots VALUES(60,210); -INSERT INTO product_slots VALUES(60,211); -INSERT INTO product_slots VALUES(60,212); -INSERT INTO product_slots VALUES(60,213); -INSERT INTO product_slots VALUES(60,214); -INSERT INTO product_slots VALUES(60,215); -INSERT INTO product_slots VALUES(60,216); -INSERT INTO product_slots VALUES(60,217); -INSERT INTO product_slots VALUES(60,218); -INSERT INTO product_slots VALUES(60,219); -INSERT INTO product_slots VALUES(60,220); -INSERT INTO product_slots VALUES(60,221); -INSERT INTO product_slots VALUES(60,222); -INSERT INTO product_slots VALUES(60,223); -INSERT INTO product_slots VALUES(60,224); -INSERT INTO product_slots VALUES(60,225); -INSERT INTO product_slots VALUES(60,226); -INSERT INTO product_slots VALUES(60,227); -INSERT INTO product_slots VALUES(60,228); -INSERT INTO product_slots VALUES(60,229); -INSERT INTO product_slots VALUES(60,230); -INSERT INTO product_slots VALUES(60,231); -INSERT INTO product_slots VALUES(60,232); -INSERT INTO product_slots VALUES(60,233); -INSERT INTO product_slots VALUES(60,234); -INSERT INTO product_slots VALUES(60,235); -INSERT INTO product_slots VALUES(60,236); -INSERT INTO product_slots VALUES(60,237); -INSERT INTO product_slots VALUES(60,238); -INSERT INTO product_slots VALUES(60,239); -INSERT INTO product_slots VALUES(60,240); -INSERT INTO product_slots VALUES(60,241); -INSERT INTO product_slots VALUES(60,242); -INSERT INTO product_slots VALUES(60,243); -INSERT INTO product_slots VALUES(60,244); -INSERT INTO product_slots VALUES(60,274); -INSERT INTO product_slots VALUES(60,275); -INSERT INTO product_slots VALUES(60,279); -INSERT INTO product_slots VALUES(60,280); -INSERT INTO product_slots VALUES(60,281); -INSERT INTO product_slots VALUES(60,282); -INSERT INTO product_slots VALUES(60,283); -INSERT INTO product_slots VALUES(60,284); -INSERT INTO product_slots VALUES(60,285); -INSERT INTO product_slots VALUES(60,286); -INSERT INTO product_slots VALUES(60,287); -INSERT INTO product_slots VALUES(61,39); -INSERT INTO product_slots VALUES(61,40); -INSERT INTO product_slots VALUES(61,43); -INSERT INTO product_slots VALUES(61,45); -INSERT INTO product_slots VALUES(61,46); -INSERT INTO product_slots VALUES(61,48); -INSERT INTO product_slots VALUES(61,49); -INSERT INTO product_slots VALUES(61,51); -INSERT INTO product_slots VALUES(61,52); -INSERT INTO product_slots VALUES(61,53); -INSERT INTO product_slots VALUES(61,54); -INSERT INTO product_slots VALUES(61,57); -INSERT INTO product_slots VALUES(61,58); -INSERT INTO product_slots VALUES(61,59); -INSERT INTO product_slots VALUES(61,60); -INSERT INTO product_slots VALUES(61,61); -INSERT INTO product_slots VALUES(61,62); -INSERT INTO product_slots VALUES(61,63); -INSERT INTO product_slots VALUES(61,64); -INSERT INTO product_slots VALUES(61,65); -INSERT INTO product_slots VALUES(61,66); -INSERT INTO product_slots VALUES(61,67); -INSERT INTO product_slots VALUES(61,68); -INSERT INTO product_slots VALUES(61,69); -INSERT INTO product_slots VALUES(61,70); -INSERT INTO product_slots VALUES(61,71); -INSERT INTO product_slots VALUES(61,72); -INSERT INTO product_slots VALUES(61,73); -INSERT INTO product_slots VALUES(61,74); -INSERT INTO product_slots VALUES(61,75); -INSERT INTO product_slots VALUES(61,76); -INSERT INTO product_slots VALUES(61,77); -INSERT INTO product_slots VALUES(61,78); -INSERT INTO product_slots VALUES(61,79); -INSERT INTO product_slots VALUES(61,80); -INSERT INTO product_slots VALUES(61,81); -INSERT INTO product_slots VALUES(61,82); -INSERT INTO product_slots VALUES(61,83); -INSERT INTO product_slots VALUES(61,84); -INSERT INTO product_slots VALUES(61,85); -INSERT INTO product_slots VALUES(61,86); -INSERT INTO product_slots VALUES(61,87); -INSERT INTO product_slots VALUES(61,88); -INSERT INTO product_slots VALUES(61,89); -INSERT INTO product_slots VALUES(61,90); -INSERT INTO product_slots VALUES(61,91); -INSERT INTO product_slots VALUES(61,92); -INSERT INTO product_slots VALUES(61,93); -INSERT INTO product_slots VALUES(61,94); -INSERT INTO product_slots VALUES(61,95); -INSERT INTO product_slots VALUES(61,96); -INSERT INTO product_slots VALUES(61,97); -INSERT INTO product_slots VALUES(61,98); -INSERT INTO product_slots VALUES(61,99); -INSERT INTO product_slots VALUES(61,100); -INSERT INTO product_slots VALUES(61,102); -INSERT INTO product_slots VALUES(61,103); -INSERT INTO product_slots VALUES(61,104); -INSERT INTO product_slots VALUES(61,105); -INSERT INTO product_slots VALUES(61,106); -INSERT INTO product_slots VALUES(61,107); -INSERT INTO product_slots VALUES(61,108); -INSERT INTO product_slots VALUES(61,109); -INSERT INTO product_slots VALUES(61,110); -INSERT INTO product_slots VALUES(61,111); -INSERT INTO product_slots VALUES(61,112); -INSERT INTO product_slots VALUES(61,113); -INSERT INTO product_slots VALUES(61,114); -INSERT INTO product_slots VALUES(61,115); -INSERT INTO product_slots VALUES(61,117); -INSERT INTO product_slots VALUES(61,118); -INSERT INTO product_slots VALUES(61,119); -INSERT INTO product_slots VALUES(61,120); -INSERT INTO product_slots VALUES(61,121); -INSERT INTO product_slots VALUES(61,122); -INSERT INTO product_slots VALUES(61,123); -INSERT INTO product_slots VALUES(61,124); -INSERT INTO product_slots VALUES(61,125); -INSERT INTO product_slots VALUES(61,126); -INSERT INTO product_slots VALUES(61,127); -INSERT INTO product_slots VALUES(61,128); -INSERT INTO product_slots VALUES(61,129); -INSERT INTO product_slots VALUES(61,130); -INSERT INTO product_slots VALUES(61,131); -INSERT INTO product_slots VALUES(61,132); -INSERT INTO product_slots VALUES(61,133); -INSERT INTO product_slots VALUES(61,134); -INSERT INTO product_slots VALUES(61,135); -INSERT INTO product_slots VALUES(61,136); -INSERT INTO product_slots VALUES(61,138); -INSERT INTO product_slots VALUES(61,139); -INSERT INTO product_slots VALUES(61,140); -INSERT INTO product_slots VALUES(61,141); -INSERT INTO product_slots VALUES(61,142); -INSERT INTO product_slots VALUES(61,143); -INSERT INTO product_slots VALUES(61,145); -INSERT INTO product_slots VALUES(61,146); -INSERT INTO product_slots VALUES(61,147); -INSERT INTO product_slots VALUES(61,148); -INSERT INTO product_slots VALUES(61,149); -INSERT INTO product_slots VALUES(61,150); -INSERT INTO product_slots VALUES(61,151); -INSERT INTO product_slots VALUES(61,152); -INSERT INTO product_slots VALUES(61,153); -INSERT INTO product_slots VALUES(61,154); -INSERT INTO product_slots VALUES(61,155); -INSERT INTO product_slots VALUES(61,156); -INSERT INTO product_slots VALUES(61,157); -INSERT INTO product_slots VALUES(61,158); -INSERT INTO product_slots VALUES(61,159); -INSERT INTO product_slots VALUES(61,160); -INSERT INTO product_slots VALUES(61,161); -INSERT INTO product_slots VALUES(61,162); -INSERT INTO product_slots VALUES(61,163); -INSERT INTO product_slots VALUES(61,164); -INSERT INTO product_slots VALUES(61,165); -INSERT INTO product_slots VALUES(61,166); -INSERT INTO product_slots VALUES(61,167); -INSERT INTO product_slots VALUES(61,168); -INSERT INTO product_slots VALUES(61,169); -INSERT INTO product_slots VALUES(61,170); -INSERT INTO product_slots VALUES(61,171); -INSERT INTO product_slots VALUES(61,172); -INSERT INTO product_slots VALUES(61,173); -INSERT INTO product_slots VALUES(61,174); -INSERT INTO product_slots VALUES(61,175); -INSERT INTO product_slots VALUES(61,176); -INSERT INTO product_slots VALUES(61,177); -INSERT INTO product_slots VALUES(61,178); -INSERT INTO product_slots VALUES(61,179); -INSERT INTO product_slots VALUES(61,180); -INSERT INTO product_slots VALUES(61,181); -INSERT INTO product_slots VALUES(61,182); -INSERT INTO product_slots VALUES(61,183); -INSERT INTO product_slots VALUES(61,184); -INSERT INTO product_slots VALUES(61,185); -INSERT INTO product_slots VALUES(61,186); -INSERT INTO product_slots VALUES(61,187); -INSERT INTO product_slots VALUES(61,188); -INSERT INTO product_slots VALUES(61,189); -INSERT INTO product_slots VALUES(61,190); -INSERT INTO product_slots VALUES(61,191); -INSERT INTO product_slots VALUES(61,192); -INSERT INTO product_slots VALUES(61,193); -INSERT INTO product_slots VALUES(61,194); -INSERT INTO product_slots VALUES(61,195); -INSERT INTO product_slots VALUES(61,196); -INSERT INTO product_slots VALUES(61,197); -INSERT INTO product_slots VALUES(61,198); -INSERT INTO product_slots VALUES(61,199); -INSERT INTO product_slots VALUES(61,200); -INSERT INTO product_slots VALUES(61,201); -INSERT INTO product_slots VALUES(61,202); -INSERT INTO product_slots VALUES(61,203); -INSERT INTO product_slots VALUES(61,204); -INSERT INTO product_slots VALUES(61,205); -INSERT INTO product_slots VALUES(61,206); -INSERT INTO product_slots VALUES(61,207); -INSERT INTO product_slots VALUES(61,208); -INSERT INTO product_slots VALUES(61,209); -INSERT INTO product_slots VALUES(61,210); -INSERT INTO product_slots VALUES(61,211); -INSERT INTO product_slots VALUES(61,212); -INSERT INTO product_slots VALUES(61,213); -INSERT INTO product_slots VALUES(61,214); -INSERT INTO product_slots VALUES(61,215); -INSERT INTO product_slots VALUES(61,216); -INSERT INTO product_slots VALUES(61,217); -INSERT INTO product_slots VALUES(61,218); -INSERT INTO product_slots VALUES(61,219); -INSERT INTO product_slots VALUES(61,220); -INSERT INTO product_slots VALUES(61,221); -INSERT INTO product_slots VALUES(61,222); -INSERT INTO product_slots VALUES(61,223); -INSERT INTO product_slots VALUES(61,224); -INSERT INTO product_slots VALUES(61,225); -INSERT INTO product_slots VALUES(61,226); -INSERT INTO product_slots VALUES(61,227); -INSERT INTO product_slots VALUES(61,228); -INSERT INTO product_slots VALUES(61,229); -INSERT INTO product_slots VALUES(61,230); -INSERT INTO product_slots VALUES(61,231); -INSERT INTO product_slots VALUES(61,232); -INSERT INTO product_slots VALUES(61,233); -INSERT INTO product_slots VALUES(61,234); -INSERT INTO product_slots VALUES(61,235); -INSERT INTO product_slots VALUES(61,236); -INSERT INTO product_slots VALUES(61,237); -INSERT INTO product_slots VALUES(61,238); -INSERT INTO product_slots VALUES(61,239); -INSERT INTO product_slots VALUES(61,240); -INSERT INTO product_slots VALUES(61,241); -INSERT INTO product_slots VALUES(61,242); -INSERT INTO product_slots VALUES(61,243); -INSERT INTO product_slots VALUES(61,244); -INSERT INTO product_slots VALUES(61,274); -INSERT INTO product_slots VALUES(61,275); -INSERT INTO product_slots VALUES(61,279); -INSERT INTO product_slots VALUES(61,280); -INSERT INTO product_slots VALUES(61,281); -INSERT INTO product_slots VALUES(61,282); -INSERT INTO product_slots VALUES(61,283); -INSERT INTO product_slots VALUES(61,284); -INSERT INTO product_slots VALUES(61,285); -INSERT INTO product_slots VALUES(61,286); -INSERT INTO product_slots VALUES(61,287); -INSERT INTO product_slots VALUES(62,39); -INSERT INTO product_slots VALUES(62,40); -INSERT INTO product_slots VALUES(62,43); -INSERT INTO product_slots VALUES(62,45); -INSERT INTO product_slots VALUES(62,46); -INSERT INTO product_slots VALUES(62,48); -INSERT INTO product_slots VALUES(62,49); -INSERT INTO product_slots VALUES(62,51); -INSERT INTO product_slots VALUES(62,52); -INSERT INTO product_slots VALUES(62,53); -INSERT INTO product_slots VALUES(62,54); -INSERT INTO product_slots VALUES(62,57); -INSERT INTO product_slots VALUES(62,58); -INSERT INTO product_slots VALUES(62,59); -INSERT INTO product_slots VALUES(62,60); -INSERT INTO product_slots VALUES(62,61); -INSERT INTO product_slots VALUES(62,62); -INSERT INTO product_slots VALUES(62,63); -INSERT INTO product_slots VALUES(62,64); -INSERT INTO product_slots VALUES(62,65); -INSERT INTO product_slots VALUES(62,66); -INSERT INTO product_slots VALUES(62,67); -INSERT INTO product_slots VALUES(62,68); -INSERT INTO product_slots VALUES(62,69); -INSERT INTO product_slots VALUES(62,70); -INSERT INTO product_slots VALUES(62,71); -INSERT INTO product_slots VALUES(62,72); -INSERT INTO product_slots VALUES(62,73); -INSERT INTO product_slots VALUES(62,74); -INSERT INTO product_slots VALUES(62,75); -INSERT INTO product_slots VALUES(62,76); -INSERT INTO product_slots VALUES(62,77); -INSERT INTO product_slots VALUES(62,78); -INSERT INTO product_slots VALUES(62,79); -INSERT INTO product_slots VALUES(62,80); -INSERT INTO product_slots VALUES(62,81); -INSERT INTO product_slots VALUES(62,82); -INSERT INTO product_slots VALUES(62,83); -INSERT INTO product_slots VALUES(62,84); -INSERT INTO product_slots VALUES(62,85); -INSERT INTO product_slots VALUES(62,86); -INSERT INTO product_slots VALUES(62,87); -INSERT INTO product_slots VALUES(62,88); -INSERT INTO product_slots VALUES(62,89); -INSERT INTO product_slots VALUES(62,90); -INSERT INTO product_slots VALUES(62,91); -INSERT INTO product_slots VALUES(62,92); -INSERT INTO product_slots VALUES(62,93); -INSERT INTO product_slots VALUES(62,94); -INSERT INTO product_slots VALUES(62,95); -INSERT INTO product_slots VALUES(62,96); -INSERT INTO product_slots VALUES(62,97); -INSERT INTO product_slots VALUES(62,98); -INSERT INTO product_slots VALUES(62,99); -INSERT INTO product_slots VALUES(62,100); -INSERT INTO product_slots VALUES(62,102); -INSERT INTO product_slots VALUES(62,103); -INSERT INTO product_slots VALUES(62,104); -INSERT INTO product_slots VALUES(62,105); -INSERT INTO product_slots VALUES(62,106); -INSERT INTO product_slots VALUES(62,107); -INSERT INTO product_slots VALUES(62,108); -INSERT INTO product_slots VALUES(62,109); -INSERT INTO product_slots VALUES(62,110); -INSERT INTO product_slots VALUES(62,111); -INSERT INTO product_slots VALUES(62,112); -INSERT INTO product_slots VALUES(62,113); -INSERT INTO product_slots VALUES(62,114); -INSERT INTO product_slots VALUES(62,115); -INSERT INTO product_slots VALUES(62,117); -INSERT INTO product_slots VALUES(62,118); -INSERT INTO product_slots VALUES(62,119); -INSERT INTO product_slots VALUES(62,120); -INSERT INTO product_slots VALUES(62,121); -INSERT INTO product_slots VALUES(62,122); -INSERT INTO product_slots VALUES(62,123); -INSERT INTO product_slots VALUES(62,124); -INSERT INTO product_slots VALUES(62,125); -INSERT INTO product_slots VALUES(62,126); -INSERT INTO product_slots VALUES(62,127); -INSERT INTO product_slots VALUES(62,128); -INSERT INTO product_slots VALUES(62,129); -INSERT INTO product_slots VALUES(62,130); -INSERT INTO product_slots VALUES(62,131); -INSERT INTO product_slots VALUES(62,132); -INSERT INTO product_slots VALUES(62,133); -INSERT INTO product_slots VALUES(62,134); -INSERT INTO product_slots VALUES(62,135); -INSERT INTO product_slots VALUES(62,136); -INSERT INTO product_slots VALUES(62,138); -INSERT INTO product_slots VALUES(62,139); -INSERT INTO product_slots VALUES(62,140); -INSERT INTO product_slots VALUES(62,141); -INSERT INTO product_slots VALUES(62,142); -INSERT INTO product_slots VALUES(62,143); -INSERT INTO product_slots VALUES(62,145); -INSERT INTO product_slots VALUES(62,146); -INSERT INTO product_slots VALUES(62,147); -INSERT INTO product_slots VALUES(62,148); -INSERT INTO product_slots VALUES(62,149); -INSERT INTO product_slots VALUES(62,150); -INSERT INTO product_slots VALUES(62,151); -INSERT INTO product_slots VALUES(62,152); -INSERT INTO product_slots VALUES(62,153); -INSERT INTO product_slots VALUES(62,154); -INSERT INTO product_slots VALUES(62,155); -INSERT INTO product_slots VALUES(62,156); -INSERT INTO product_slots VALUES(62,157); -INSERT INTO product_slots VALUES(62,158); -INSERT INTO product_slots VALUES(62,159); -INSERT INTO product_slots VALUES(62,160); -INSERT INTO product_slots VALUES(62,161); -INSERT INTO product_slots VALUES(62,162); -INSERT INTO product_slots VALUES(62,163); -INSERT INTO product_slots VALUES(62,164); -INSERT INTO product_slots VALUES(62,165); -INSERT INTO product_slots VALUES(62,166); -INSERT INTO product_slots VALUES(62,167); -INSERT INTO product_slots VALUES(62,168); -INSERT INTO product_slots VALUES(62,169); -INSERT INTO product_slots VALUES(62,170); -INSERT INTO product_slots VALUES(62,171); -INSERT INTO product_slots VALUES(62,172); -INSERT INTO product_slots VALUES(62,173); -INSERT INTO product_slots VALUES(62,174); -INSERT INTO product_slots VALUES(62,175); -INSERT INTO product_slots VALUES(62,176); -INSERT INTO product_slots VALUES(62,177); -INSERT INTO product_slots VALUES(62,178); -INSERT INTO product_slots VALUES(62,179); -INSERT INTO product_slots VALUES(62,180); -INSERT INTO product_slots VALUES(62,181); -INSERT INTO product_slots VALUES(62,182); -INSERT INTO product_slots VALUES(62,183); -INSERT INTO product_slots VALUES(62,184); -INSERT INTO product_slots VALUES(62,185); -INSERT INTO product_slots VALUES(62,186); -INSERT INTO product_slots VALUES(62,187); -INSERT INTO product_slots VALUES(62,188); -INSERT INTO product_slots VALUES(62,189); -INSERT INTO product_slots VALUES(62,190); -INSERT INTO product_slots VALUES(62,191); -INSERT INTO product_slots VALUES(62,192); -INSERT INTO product_slots VALUES(62,193); -INSERT INTO product_slots VALUES(62,194); -INSERT INTO product_slots VALUES(62,195); -INSERT INTO product_slots VALUES(62,196); -INSERT INTO product_slots VALUES(62,197); -INSERT INTO product_slots VALUES(62,198); -INSERT INTO product_slots VALUES(62,199); -INSERT INTO product_slots VALUES(62,200); -INSERT INTO product_slots VALUES(62,201); -INSERT INTO product_slots VALUES(62,202); -INSERT INTO product_slots VALUES(62,203); -INSERT INTO product_slots VALUES(62,204); -INSERT INTO product_slots VALUES(62,205); -INSERT INTO product_slots VALUES(62,206); -INSERT INTO product_slots VALUES(62,207); -INSERT INTO product_slots VALUES(62,208); -INSERT INTO product_slots VALUES(62,209); -INSERT INTO product_slots VALUES(62,210); -INSERT INTO product_slots VALUES(62,211); -INSERT INTO product_slots VALUES(62,212); -INSERT INTO product_slots VALUES(62,213); -INSERT INTO product_slots VALUES(62,214); -INSERT INTO product_slots VALUES(62,215); -INSERT INTO product_slots VALUES(62,216); -INSERT INTO product_slots VALUES(62,217); -INSERT INTO product_slots VALUES(62,218); -INSERT INTO product_slots VALUES(62,219); -INSERT INTO product_slots VALUES(62,220); -INSERT INTO product_slots VALUES(62,221); -INSERT INTO product_slots VALUES(62,222); -INSERT INTO product_slots VALUES(62,223); -INSERT INTO product_slots VALUES(62,224); -INSERT INTO product_slots VALUES(62,225); -INSERT INTO product_slots VALUES(62,226); -INSERT INTO product_slots VALUES(62,227); -INSERT INTO product_slots VALUES(62,228); -INSERT INTO product_slots VALUES(62,229); -INSERT INTO product_slots VALUES(62,230); -INSERT INTO product_slots VALUES(62,231); -INSERT INTO product_slots VALUES(62,232); -INSERT INTO product_slots VALUES(62,233); -INSERT INTO product_slots VALUES(62,234); -INSERT INTO product_slots VALUES(62,235); -INSERT INTO product_slots VALUES(62,236); -INSERT INTO product_slots VALUES(62,237); -INSERT INTO product_slots VALUES(62,238); -INSERT INTO product_slots VALUES(62,239); -INSERT INTO product_slots VALUES(62,240); -INSERT INTO product_slots VALUES(62,241); -INSERT INTO product_slots VALUES(62,242); -INSERT INTO product_slots VALUES(62,243); -INSERT INTO product_slots VALUES(62,244); -INSERT INTO product_slots VALUES(62,274); -INSERT INTO product_slots VALUES(62,275); -INSERT INTO product_slots VALUES(62,279); -INSERT INTO product_slots VALUES(62,280); -INSERT INTO product_slots VALUES(62,281); -INSERT INTO product_slots VALUES(62,282); -INSERT INTO product_slots VALUES(62,283); -INSERT INTO product_slots VALUES(62,284); -INSERT INTO product_slots VALUES(62,285); -INSERT INTO product_slots VALUES(62,286); -INSERT INTO product_slots VALUES(62,287); -INSERT INTO product_slots VALUES(63,40); -INSERT INTO product_slots VALUES(63,59); -INSERT INTO product_slots VALUES(63,64); -INSERT INTO product_slots VALUES(63,65); -INSERT INTO product_slots VALUES(63,66); -INSERT INTO product_slots VALUES(63,67); -INSERT INTO product_slots VALUES(63,68); -INSERT INTO product_slots VALUES(63,69); -INSERT INTO product_slots VALUES(63,70); -INSERT INTO product_slots VALUES(63,71); -INSERT INTO product_slots VALUES(63,72); -INSERT INTO product_slots VALUES(63,73); -INSERT INTO product_slots VALUES(63,74); -INSERT INTO product_slots VALUES(63,75); -INSERT INTO product_slots VALUES(63,76); -INSERT INTO product_slots VALUES(63,77); -INSERT INTO product_slots VALUES(63,78); -INSERT INTO product_slots VALUES(63,79); -INSERT INTO product_slots VALUES(63,80); -INSERT INTO product_slots VALUES(63,81); -INSERT INTO product_slots VALUES(63,82); -INSERT INTO product_slots VALUES(63,83); -INSERT INTO product_slots VALUES(63,84); -INSERT INTO product_slots VALUES(63,85); -INSERT INTO product_slots VALUES(63,86); -INSERT INTO product_slots VALUES(63,87); -INSERT INTO product_slots VALUES(63,88); -INSERT INTO product_slots VALUES(63,89); -INSERT INTO product_slots VALUES(63,90); -INSERT INTO product_slots VALUES(63,91); -INSERT INTO product_slots VALUES(63,92); -INSERT INTO product_slots VALUES(63,93); -INSERT INTO product_slots VALUES(63,94); -INSERT INTO product_slots VALUES(63,95); -INSERT INTO product_slots VALUES(63,96); -INSERT INTO product_slots VALUES(63,97); -INSERT INTO product_slots VALUES(63,98); -INSERT INTO product_slots VALUES(63,99); -INSERT INTO product_slots VALUES(63,100); -INSERT INTO product_slots VALUES(63,102); -INSERT INTO product_slots VALUES(63,103); -INSERT INTO product_slots VALUES(63,104); -INSERT INTO product_slots VALUES(63,105); -INSERT INTO product_slots VALUES(63,106); -INSERT INTO product_slots VALUES(63,107); -INSERT INTO product_slots VALUES(63,108); -INSERT INTO product_slots VALUES(63,109); -INSERT INTO product_slots VALUES(63,110); -INSERT INTO product_slots VALUES(63,111); -INSERT INTO product_slots VALUES(63,112); -INSERT INTO product_slots VALUES(63,113); -INSERT INTO product_slots VALUES(63,114); -INSERT INTO product_slots VALUES(63,115); -INSERT INTO product_slots VALUES(63,117); -INSERT INTO product_slots VALUES(63,118); -INSERT INTO product_slots VALUES(63,119); -INSERT INTO product_slots VALUES(63,120); -INSERT INTO product_slots VALUES(63,121); -INSERT INTO product_slots VALUES(63,122); -INSERT INTO product_slots VALUES(63,123); -INSERT INTO product_slots VALUES(63,124); -INSERT INTO product_slots VALUES(63,125); -INSERT INTO product_slots VALUES(63,126); -INSERT INTO product_slots VALUES(63,127); -INSERT INTO product_slots VALUES(63,128); -INSERT INTO product_slots VALUES(63,129); -INSERT INTO product_slots VALUES(63,130); -INSERT INTO product_slots VALUES(63,131); -INSERT INTO product_slots VALUES(63,132); -INSERT INTO product_slots VALUES(63,133); -INSERT INTO product_slots VALUES(63,134); -INSERT INTO product_slots VALUES(63,135); -INSERT INTO product_slots VALUES(63,136); -INSERT INTO product_slots VALUES(63,138); -INSERT INTO product_slots VALUES(63,139); -INSERT INTO product_slots VALUES(63,140); -INSERT INTO product_slots VALUES(63,141); -INSERT INTO product_slots VALUES(63,142); -INSERT INTO product_slots VALUES(63,143); -INSERT INTO product_slots VALUES(63,145); -INSERT INTO product_slots VALUES(63,146); -INSERT INTO product_slots VALUES(63,147); -INSERT INTO product_slots VALUES(63,148); -INSERT INTO product_slots VALUES(63,149); -INSERT INTO product_slots VALUES(63,150); -INSERT INTO product_slots VALUES(63,151); -INSERT INTO product_slots VALUES(63,152); -INSERT INTO product_slots VALUES(63,153); -INSERT INTO product_slots VALUES(63,154); -INSERT INTO product_slots VALUES(63,155); -INSERT INTO product_slots VALUES(63,156); -INSERT INTO product_slots VALUES(63,157); -INSERT INTO product_slots VALUES(63,158); -INSERT INTO product_slots VALUES(63,159); -INSERT INTO product_slots VALUES(63,160); -INSERT INTO product_slots VALUES(63,161); -INSERT INTO product_slots VALUES(63,162); -INSERT INTO product_slots VALUES(63,163); -INSERT INTO product_slots VALUES(63,164); -INSERT INTO product_slots VALUES(63,165); -INSERT INTO product_slots VALUES(63,166); -INSERT INTO product_slots VALUES(63,167); -INSERT INTO product_slots VALUES(63,168); -INSERT INTO product_slots VALUES(63,169); -INSERT INTO product_slots VALUES(63,170); -INSERT INTO product_slots VALUES(63,171); -INSERT INTO product_slots VALUES(63,172); -INSERT INTO product_slots VALUES(63,173); -INSERT INTO product_slots VALUES(63,174); -INSERT INTO product_slots VALUES(63,175); -INSERT INTO product_slots VALUES(63,176); -INSERT INTO product_slots VALUES(63,177); -INSERT INTO product_slots VALUES(63,178); -INSERT INTO product_slots VALUES(63,179); -INSERT INTO product_slots VALUES(63,180); -INSERT INTO product_slots VALUES(63,181); -INSERT INTO product_slots VALUES(63,182); -INSERT INTO product_slots VALUES(63,183); -INSERT INTO product_slots VALUES(63,184); -INSERT INTO product_slots VALUES(63,185); -INSERT INTO product_slots VALUES(63,186); -INSERT INTO product_slots VALUES(63,187); -INSERT INTO product_slots VALUES(63,188); -INSERT INTO product_slots VALUES(63,189); -INSERT INTO product_slots VALUES(63,190); -INSERT INTO product_slots VALUES(63,191); -INSERT INTO product_slots VALUES(63,192); -INSERT INTO product_slots VALUES(63,193); -INSERT INTO product_slots VALUES(63,194); -INSERT INTO product_slots VALUES(63,195); -INSERT INTO product_slots VALUES(63,196); -INSERT INTO product_slots VALUES(63,197); -INSERT INTO product_slots VALUES(63,198); -INSERT INTO product_slots VALUES(63,199); -INSERT INTO product_slots VALUES(63,200); -INSERT INTO product_slots VALUES(63,201); -INSERT INTO product_slots VALUES(63,202); -INSERT INTO product_slots VALUES(63,203); -INSERT INTO product_slots VALUES(63,204); -INSERT INTO product_slots VALUES(63,205); -INSERT INTO product_slots VALUES(63,206); -INSERT INTO product_slots VALUES(63,207); -INSERT INTO product_slots VALUES(63,208); -INSERT INTO product_slots VALUES(63,209); -INSERT INTO product_slots VALUES(63,210); -INSERT INTO product_slots VALUES(63,211); -INSERT INTO product_slots VALUES(63,212); -INSERT INTO product_slots VALUES(63,213); -INSERT INTO product_slots VALUES(63,214); -INSERT INTO product_slots VALUES(63,215); -INSERT INTO product_slots VALUES(63,216); -INSERT INTO product_slots VALUES(63,217); -INSERT INTO product_slots VALUES(63,218); -INSERT INTO product_slots VALUES(63,219); -INSERT INTO product_slots VALUES(63,220); -INSERT INTO product_slots VALUES(63,221); -INSERT INTO product_slots VALUES(63,222); -INSERT INTO product_slots VALUES(63,223); -INSERT INTO product_slots VALUES(63,224); -INSERT INTO product_slots VALUES(63,225); -INSERT INTO product_slots VALUES(63,226); -INSERT INTO product_slots VALUES(63,227); -INSERT INTO product_slots VALUES(63,228); -INSERT INTO product_slots VALUES(63,229); -INSERT INTO product_slots VALUES(63,230); -INSERT INTO product_slots VALUES(63,231); -INSERT INTO product_slots VALUES(63,232); -INSERT INTO product_slots VALUES(63,233); -INSERT INTO product_slots VALUES(63,234); -INSERT INTO product_slots VALUES(63,235); -INSERT INTO product_slots VALUES(63,236); -INSERT INTO product_slots VALUES(63,237); -INSERT INTO product_slots VALUES(63,238); -INSERT INTO product_slots VALUES(63,239); -INSERT INTO product_slots VALUES(63,240); -INSERT INTO product_slots VALUES(63,241); -INSERT INTO product_slots VALUES(63,242); -INSERT INTO product_slots VALUES(63,243); -INSERT INTO product_slots VALUES(63,244); -INSERT INTO product_slots VALUES(63,274); -INSERT INTO product_slots VALUES(63,275); -INSERT INTO product_slots VALUES(63,279); -INSERT INTO product_slots VALUES(63,280); -INSERT INTO product_slots VALUES(63,281); -INSERT INTO product_slots VALUES(63,282); -INSERT INTO product_slots VALUES(63,283); -INSERT INTO product_slots VALUES(63,284); -INSERT INTO product_slots VALUES(63,285); -INSERT INTO product_slots VALUES(63,286); -INSERT INTO product_slots VALUES(63,287); -INSERT INTO product_slots VALUES(64,39); -INSERT INTO product_slots VALUES(64,44); -INSERT INTO product_slots VALUES(64,46); -INSERT INTO product_slots VALUES(64,47); -INSERT INTO product_slots VALUES(64,48); -INSERT INTO product_slots VALUES(64,49); -INSERT INTO product_slots VALUES(64,50); -INSERT INTO product_slots VALUES(64,51); -INSERT INTO product_slots VALUES(64,52); -INSERT INTO product_slots VALUES(64,53); -INSERT INTO product_slots VALUES(64,54); -INSERT INTO product_slots VALUES(64,55); -INSERT INTO product_slots VALUES(64,56); -INSERT INTO product_slots VALUES(64,57); -INSERT INTO product_slots VALUES(64,58); -INSERT INTO product_slots VALUES(64,59); -INSERT INTO product_slots VALUES(64,60); -INSERT INTO product_slots VALUES(64,61); -INSERT INTO product_slots VALUES(64,62); -INSERT INTO product_slots VALUES(64,63); -INSERT INTO product_slots VALUES(64,64); -INSERT INTO product_slots VALUES(64,65); -INSERT INTO product_slots VALUES(64,66); -INSERT INTO product_slots VALUES(64,67); -INSERT INTO product_slots VALUES(64,68); -INSERT INTO product_slots VALUES(64,69); -INSERT INTO product_slots VALUES(64,70); -INSERT INTO product_slots VALUES(64,71); -INSERT INTO product_slots VALUES(64,72); -INSERT INTO product_slots VALUES(64,73); -INSERT INTO product_slots VALUES(64,74); -INSERT INTO product_slots VALUES(64,75); -INSERT INTO product_slots VALUES(64,76); -INSERT INTO product_slots VALUES(64,77); -INSERT INTO product_slots VALUES(64,78); -INSERT INTO product_slots VALUES(64,79); -INSERT INTO product_slots VALUES(64,80); -INSERT INTO product_slots VALUES(64,81); -INSERT INTO product_slots VALUES(64,82); -INSERT INTO product_slots VALUES(64,83); -INSERT INTO product_slots VALUES(64,84); -INSERT INTO product_slots VALUES(64,85); -INSERT INTO product_slots VALUES(64,86); -INSERT INTO product_slots VALUES(64,87); -INSERT INTO product_slots VALUES(64,88); -INSERT INTO product_slots VALUES(64,89); -INSERT INTO product_slots VALUES(64,90); -INSERT INTO product_slots VALUES(64,91); -INSERT INTO product_slots VALUES(64,92); -INSERT INTO product_slots VALUES(64,93); -INSERT INTO product_slots VALUES(64,94); -INSERT INTO product_slots VALUES(64,95); -INSERT INTO product_slots VALUES(64,96); -INSERT INTO product_slots VALUES(64,97); -INSERT INTO product_slots VALUES(64,98); -INSERT INTO product_slots VALUES(64,99); -INSERT INTO product_slots VALUES(64,100); -INSERT INTO product_slots VALUES(64,101); -INSERT INTO product_slots VALUES(64,102); -INSERT INTO product_slots VALUES(64,103); -INSERT INTO product_slots VALUES(64,104); -INSERT INTO product_slots VALUES(64,105); -INSERT INTO product_slots VALUES(64,106); -INSERT INTO product_slots VALUES(64,107); -INSERT INTO product_slots VALUES(64,108); -INSERT INTO product_slots VALUES(64,109); -INSERT INTO product_slots VALUES(64,110); -INSERT INTO product_slots VALUES(64,111); -INSERT INTO product_slots VALUES(64,112); -INSERT INTO product_slots VALUES(64,113); -INSERT INTO product_slots VALUES(64,114); -INSERT INTO product_slots VALUES(64,115); -INSERT INTO product_slots VALUES(64,116); -INSERT INTO product_slots VALUES(64,117); -INSERT INTO product_slots VALUES(64,118); -INSERT INTO product_slots VALUES(64,119); -INSERT INTO product_slots VALUES(64,120); -INSERT INTO product_slots VALUES(64,121); -INSERT INTO product_slots VALUES(64,122); -INSERT INTO product_slots VALUES(64,123); -INSERT INTO product_slots VALUES(64,124); -INSERT INTO product_slots VALUES(64,125); -INSERT INTO product_slots VALUES(64,126); -INSERT INTO product_slots VALUES(64,127); -INSERT INTO product_slots VALUES(64,128); -INSERT INTO product_slots VALUES(64,129); -INSERT INTO product_slots VALUES(64,130); -INSERT INTO product_slots VALUES(64,131); -INSERT INTO product_slots VALUES(64,132); -INSERT INTO product_slots VALUES(64,133); -INSERT INTO product_slots VALUES(64,134); -INSERT INTO product_slots VALUES(64,135); -INSERT INTO product_slots VALUES(64,136); -INSERT INTO product_slots VALUES(64,137); -INSERT INTO product_slots VALUES(64,138); -INSERT INTO product_slots VALUES(64,139); -INSERT INTO product_slots VALUES(64,140); -INSERT INTO product_slots VALUES(64,141); -INSERT INTO product_slots VALUES(64,142); -INSERT INTO product_slots VALUES(64,143); -INSERT INTO product_slots VALUES(64,144); -INSERT INTO product_slots VALUES(64,145); -INSERT INTO product_slots VALUES(64,146); -INSERT INTO product_slots VALUES(64,147); -INSERT INTO product_slots VALUES(64,148); -INSERT INTO product_slots VALUES(64,149); -INSERT INTO product_slots VALUES(64,150); -INSERT INTO product_slots VALUES(64,151); -INSERT INTO product_slots VALUES(64,152); -INSERT INTO product_slots VALUES(64,153); -INSERT INTO product_slots VALUES(64,154); -INSERT INTO product_slots VALUES(64,155); -INSERT INTO product_slots VALUES(64,156); -INSERT INTO product_slots VALUES(64,157); -INSERT INTO product_slots VALUES(64,158); -INSERT INTO product_slots VALUES(64,159); -INSERT INTO product_slots VALUES(64,160); -INSERT INTO product_slots VALUES(64,161); -INSERT INTO product_slots VALUES(64,162); -INSERT INTO product_slots VALUES(64,163); -INSERT INTO product_slots VALUES(64,164); -INSERT INTO product_slots VALUES(64,165); -INSERT INTO product_slots VALUES(64,166); -INSERT INTO product_slots VALUES(64,167); -INSERT INTO product_slots VALUES(64,168); -INSERT INTO product_slots VALUES(64,169); -INSERT INTO product_slots VALUES(64,170); -INSERT INTO product_slots VALUES(64,171); -INSERT INTO product_slots VALUES(64,172); -INSERT INTO product_slots VALUES(64,173); -INSERT INTO product_slots VALUES(64,174); -INSERT INTO product_slots VALUES(64,175); -INSERT INTO product_slots VALUES(64,176); -INSERT INTO product_slots VALUES(64,177); -INSERT INTO product_slots VALUES(64,178); -INSERT INTO product_slots VALUES(64,179); -INSERT INTO product_slots VALUES(64,180); -INSERT INTO product_slots VALUES(64,181); -INSERT INTO product_slots VALUES(64,182); -INSERT INTO product_slots VALUES(64,183); -INSERT INTO product_slots VALUES(64,184); -INSERT INTO product_slots VALUES(64,185); -INSERT INTO product_slots VALUES(64,186); -INSERT INTO product_slots VALUES(64,187); -INSERT INTO product_slots VALUES(64,188); -INSERT INTO product_slots VALUES(64,189); -INSERT INTO product_slots VALUES(64,190); -INSERT INTO product_slots VALUES(64,191); -INSERT INTO product_slots VALUES(64,192); -INSERT INTO product_slots VALUES(64,193); -INSERT INTO product_slots VALUES(64,194); -INSERT INTO product_slots VALUES(64,195); -INSERT INTO product_slots VALUES(64,196); -INSERT INTO product_slots VALUES(64,197); -INSERT INTO product_slots VALUES(64,198); -INSERT INTO product_slots VALUES(64,199); -INSERT INTO product_slots VALUES(64,200); -INSERT INTO product_slots VALUES(64,201); -INSERT INTO product_slots VALUES(64,202); -INSERT INTO product_slots VALUES(64,203); -INSERT INTO product_slots VALUES(64,204); -INSERT INTO product_slots VALUES(64,205); -INSERT INTO product_slots VALUES(64,206); -INSERT INTO product_slots VALUES(64,207); -INSERT INTO product_slots VALUES(64,208); -INSERT INTO product_slots VALUES(64,209); -INSERT INTO product_slots VALUES(64,210); -INSERT INTO product_slots VALUES(64,211); -INSERT INTO product_slots VALUES(64,212); -INSERT INTO product_slots VALUES(64,213); -INSERT INTO product_slots VALUES(64,214); -INSERT INTO product_slots VALUES(64,215); -INSERT INTO product_slots VALUES(64,216); -INSERT INTO product_slots VALUES(64,217); -INSERT INTO product_slots VALUES(64,218); -INSERT INTO product_slots VALUES(64,219); -INSERT INTO product_slots VALUES(64,220); -INSERT INTO product_slots VALUES(64,221); -INSERT INTO product_slots VALUES(64,222); -INSERT INTO product_slots VALUES(64,223); -INSERT INTO product_slots VALUES(64,224); -INSERT INTO product_slots VALUES(64,225); -INSERT INTO product_slots VALUES(64,226); -INSERT INTO product_slots VALUES(64,227); -INSERT INTO product_slots VALUES(64,228); -INSERT INTO product_slots VALUES(64,229); -INSERT INTO product_slots VALUES(64,230); -INSERT INTO product_slots VALUES(64,231); -INSERT INTO product_slots VALUES(64,232); -INSERT INTO product_slots VALUES(64,233); -INSERT INTO product_slots VALUES(64,234); -INSERT INTO product_slots VALUES(64,235); -INSERT INTO product_slots VALUES(64,236); -INSERT INTO product_slots VALUES(64,237); -INSERT INTO product_slots VALUES(64,238); -INSERT INTO product_slots VALUES(64,239); -INSERT INTO product_slots VALUES(64,240); -INSERT INTO product_slots VALUES(64,241); -INSERT INTO product_slots VALUES(64,242); -INSERT INTO product_slots VALUES(64,243); -INSERT INTO product_slots VALUES(64,244); -INSERT INTO product_slots VALUES(64,274); -INSERT INTO product_slots VALUES(64,275); -INSERT INTO product_slots VALUES(64,279); -INSERT INTO product_slots VALUES(64,280); -INSERT INTO product_slots VALUES(64,281); -INSERT INTO product_slots VALUES(64,282); -INSERT INTO product_slots VALUES(64,283); -INSERT INTO product_slots VALUES(64,284); -INSERT INTO product_slots VALUES(64,285); -INSERT INTO product_slots VALUES(64,286); -INSERT INTO product_slots VALUES(64,287); -INSERT INTO product_slots VALUES(65,39); -INSERT INTO product_slots VALUES(65,41); -INSERT INTO product_slots VALUES(65,43); -INSERT INTO product_slots VALUES(65,44); -INSERT INTO product_slots VALUES(65,45); -INSERT INTO product_slots VALUES(65,46); -INSERT INTO product_slots VALUES(65,47); -INSERT INTO product_slots VALUES(65,48); -INSERT INTO product_slots VALUES(65,49); -INSERT INTO product_slots VALUES(65,50); -INSERT INTO product_slots VALUES(65,51); -INSERT INTO product_slots VALUES(65,52); -INSERT INTO product_slots VALUES(65,53); -INSERT INTO product_slots VALUES(65,54); -INSERT INTO product_slots VALUES(65,55); -INSERT INTO product_slots VALUES(65,56); -INSERT INTO product_slots VALUES(65,57); -INSERT INTO product_slots VALUES(65,58); -INSERT INTO product_slots VALUES(65,59); -INSERT INTO product_slots VALUES(65,60); -INSERT INTO product_slots VALUES(65,61); -INSERT INTO product_slots VALUES(65,62); -INSERT INTO product_slots VALUES(65,63); -INSERT INTO product_slots VALUES(65,64); -INSERT INTO product_slots VALUES(65,65); -INSERT INTO product_slots VALUES(65,66); -INSERT INTO product_slots VALUES(65,67); -INSERT INTO product_slots VALUES(65,68); -INSERT INTO product_slots VALUES(65,69); -INSERT INTO product_slots VALUES(65,70); -INSERT INTO product_slots VALUES(65,71); -INSERT INTO product_slots VALUES(65,72); -INSERT INTO product_slots VALUES(65,73); -INSERT INTO product_slots VALUES(65,74); -INSERT INTO product_slots VALUES(65,75); -INSERT INTO product_slots VALUES(65,76); -INSERT INTO product_slots VALUES(65,77); -INSERT INTO product_slots VALUES(65,78); -INSERT INTO product_slots VALUES(65,79); -INSERT INTO product_slots VALUES(65,80); -INSERT INTO product_slots VALUES(65,81); -INSERT INTO product_slots VALUES(65,82); -INSERT INTO product_slots VALUES(65,83); -INSERT INTO product_slots VALUES(65,84); -INSERT INTO product_slots VALUES(65,85); -INSERT INTO product_slots VALUES(65,86); -INSERT INTO product_slots VALUES(65,87); -INSERT INTO product_slots VALUES(65,88); -INSERT INTO product_slots VALUES(65,89); -INSERT INTO product_slots VALUES(65,90); -INSERT INTO product_slots VALUES(65,91); -INSERT INTO product_slots VALUES(65,92); -INSERT INTO product_slots VALUES(65,93); -INSERT INTO product_slots VALUES(65,94); -INSERT INTO product_slots VALUES(65,95); -INSERT INTO product_slots VALUES(65,96); -INSERT INTO product_slots VALUES(65,97); -INSERT INTO product_slots VALUES(65,98); -INSERT INTO product_slots VALUES(65,99); -INSERT INTO product_slots VALUES(65,100); -INSERT INTO product_slots VALUES(65,101); -INSERT INTO product_slots VALUES(65,102); -INSERT INTO product_slots VALUES(65,103); -INSERT INTO product_slots VALUES(65,104); -INSERT INTO product_slots VALUES(65,105); -INSERT INTO product_slots VALUES(65,106); -INSERT INTO product_slots VALUES(65,107); -INSERT INTO product_slots VALUES(65,108); -INSERT INTO product_slots VALUES(65,109); -INSERT INTO product_slots VALUES(65,110); -INSERT INTO product_slots VALUES(65,111); -INSERT INTO product_slots VALUES(65,112); -INSERT INTO product_slots VALUES(65,113); -INSERT INTO product_slots VALUES(65,114); -INSERT INTO product_slots VALUES(65,115); -INSERT INTO product_slots VALUES(65,116); -INSERT INTO product_slots VALUES(65,117); -INSERT INTO product_slots VALUES(65,118); -INSERT INTO product_slots VALUES(65,119); -INSERT INTO product_slots VALUES(65,120); -INSERT INTO product_slots VALUES(65,121); -INSERT INTO product_slots VALUES(65,122); -INSERT INTO product_slots VALUES(65,123); -INSERT INTO product_slots VALUES(65,124); -INSERT INTO product_slots VALUES(65,125); -INSERT INTO product_slots VALUES(65,126); -INSERT INTO product_slots VALUES(65,127); -INSERT INTO product_slots VALUES(65,128); -INSERT INTO product_slots VALUES(65,129); -INSERT INTO product_slots VALUES(65,130); -INSERT INTO product_slots VALUES(65,131); -INSERT INTO product_slots VALUES(65,132); -INSERT INTO product_slots VALUES(65,133); -INSERT INTO product_slots VALUES(65,134); -INSERT INTO product_slots VALUES(65,135); -INSERT INTO product_slots VALUES(65,136); -INSERT INTO product_slots VALUES(65,137); -INSERT INTO product_slots VALUES(65,138); -INSERT INTO product_slots VALUES(65,139); -INSERT INTO product_slots VALUES(65,140); -INSERT INTO product_slots VALUES(65,141); -INSERT INTO product_slots VALUES(65,142); -INSERT INTO product_slots VALUES(65,143); -INSERT INTO product_slots VALUES(65,144); -INSERT INTO product_slots VALUES(65,145); -INSERT INTO product_slots VALUES(65,146); -INSERT INTO product_slots VALUES(65,147); -INSERT INTO product_slots VALUES(65,148); -INSERT INTO product_slots VALUES(65,149); -INSERT INTO product_slots VALUES(65,150); -INSERT INTO product_slots VALUES(65,151); -INSERT INTO product_slots VALUES(65,152); -INSERT INTO product_slots VALUES(65,153); -INSERT INTO product_slots VALUES(65,154); -INSERT INTO product_slots VALUES(65,155); -INSERT INTO product_slots VALUES(65,156); -INSERT INTO product_slots VALUES(65,157); -INSERT INTO product_slots VALUES(65,158); -INSERT INTO product_slots VALUES(65,159); -INSERT INTO product_slots VALUES(65,160); -INSERT INTO product_slots VALUES(65,161); -INSERT INTO product_slots VALUES(65,162); -INSERT INTO product_slots VALUES(65,163); -INSERT INTO product_slots VALUES(65,164); -INSERT INTO product_slots VALUES(65,165); -INSERT INTO product_slots VALUES(65,166); -INSERT INTO product_slots VALUES(65,167); -INSERT INTO product_slots VALUES(65,168); -INSERT INTO product_slots VALUES(65,169); -INSERT INTO product_slots VALUES(65,170); -INSERT INTO product_slots VALUES(65,171); -INSERT INTO product_slots VALUES(65,172); -INSERT INTO product_slots VALUES(65,173); -INSERT INTO product_slots VALUES(65,174); -INSERT INTO product_slots VALUES(65,175); -INSERT INTO product_slots VALUES(65,176); -INSERT INTO product_slots VALUES(65,177); -INSERT INTO product_slots VALUES(65,178); -INSERT INTO product_slots VALUES(65,179); -INSERT INTO product_slots VALUES(65,180); -INSERT INTO product_slots VALUES(65,181); -INSERT INTO product_slots VALUES(65,182); -INSERT INTO product_slots VALUES(65,183); -INSERT INTO product_slots VALUES(65,184); -INSERT INTO product_slots VALUES(65,185); -INSERT INTO product_slots VALUES(65,186); -INSERT INTO product_slots VALUES(65,187); -INSERT INTO product_slots VALUES(65,188); -INSERT INTO product_slots VALUES(65,189); -INSERT INTO product_slots VALUES(65,190); -INSERT INTO product_slots VALUES(65,191); -INSERT INTO product_slots VALUES(65,192); -INSERT INTO product_slots VALUES(65,193); -INSERT INTO product_slots VALUES(65,194); -INSERT INTO product_slots VALUES(65,195); -INSERT INTO product_slots VALUES(65,196); -INSERT INTO product_slots VALUES(65,197); -INSERT INTO product_slots VALUES(65,198); -INSERT INTO product_slots VALUES(65,199); -INSERT INTO product_slots VALUES(65,200); -INSERT INTO product_slots VALUES(65,201); -INSERT INTO product_slots VALUES(65,202); -INSERT INTO product_slots VALUES(65,203); -INSERT INTO product_slots VALUES(65,204); -INSERT INTO product_slots VALUES(65,205); -INSERT INTO product_slots VALUES(65,206); -INSERT INTO product_slots VALUES(65,207); -INSERT INTO product_slots VALUES(65,208); -INSERT INTO product_slots VALUES(65,209); -INSERT INTO product_slots VALUES(65,210); -INSERT INTO product_slots VALUES(65,211); -INSERT INTO product_slots VALUES(65,212); -INSERT INTO product_slots VALUES(65,213); -INSERT INTO product_slots VALUES(65,214); -INSERT INTO product_slots VALUES(65,215); -INSERT INTO product_slots VALUES(65,216); -INSERT INTO product_slots VALUES(65,217); -INSERT INTO product_slots VALUES(65,218); -INSERT INTO product_slots VALUES(65,219); -INSERT INTO product_slots VALUES(65,220); -INSERT INTO product_slots VALUES(65,221); -INSERT INTO product_slots VALUES(65,222); -INSERT INTO product_slots VALUES(65,223); -INSERT INTO product_slots VALUES(65,224); -INSERT INTO product_slots VALUES(65,225); -INSERT INTO product_slots VALUES(65,226); -INSERT INTO product_slots VALUES(65,227); -INSERT INTO product_slots VALUES(65,228); -INSERT INTO product_slots VALUES(65,229); -INSERT INTO product_slots VALUES(65,230); -INSERT INTO product_slots VALUES(65,231); -INSERT INTO product_slots VALUES(65,232); -INSERT INTO product_slots VALUES(65,233); -INSERT INTO product_slots VALUES(65,234); -INSERT INTO product_slots VALUES(65,235); -INSERT INTO product_slots VALUES(65,236); -INSERT INTO product_slots VALUES(65,237); -INSERT INTO product_slots VALUES(65,238); -INSERT INTO product_slots VALUES(65,239); -INSERT INTO product_slots VALUES(65,240); -INSERT INTO product_slots VALUES(65,241); -INSERT INTO product_slots VALUES(65,242); -INSERT INTO product_slots VALUES(65,243); -INSERT INTO product_slots VALUES(65,244); -INSERT INTO product_slots VALUES(65,274); -INSERT INTO product_slots VALUES(65,275); -INSERT INTO product_slots VALUES(65,279); -INSERT INTO product_slots VALUES(65,280); -INSERT INTO product_slots VALUES(65,281); -INSERT INTO product_slots VALUES(65,282); -INSERT INTO product_slots VALUES(65,283); -INSERT INTO product_slots VALUES(65,284); -INSERT INTO product_slots VALUES(65,285); -INSERT INTO product_slots VALUES(65,286); -INSERT INTO product_slots VALUES(65,287); -INSERT INTO product_slots VALUES(66,39); -INSERT INTO product_slots VALUES(66,41); -INSERT INTO product_slots VALUES(66,43); -INSERT INTO product_slots VALUES(66,44); -INSERT INTO product_slots VALUES(66,45); -INSERT INTO product_slots VALUES(66,46); -INSERT INTO product_slots VALUES(66,47); -INSERT INTO product_slots VALUES(66,48); -INSERT INTO product_slots VALUES(66,49); -INSERT INTO product_slots VALUES(66,50); -INSERT INTO product_slots VALUES(66,51); -INSERT INTO product_slots VALUES(66,52); -INSERT INTO product_slots VALUES(66,53); -INSERT INTO product_slots VALUES(66,54); -INSERT INTO product_slots VALUES(66,55); -INSERT INTO product_slots VALUES(66,56); -INSERT INTO product_slots VALUES(66,57); -INSERT INTO product_slots VALUES(66,58); -INSERT INTO product_slots VALUES(66,59); -INSERT INTO product_slots VALUES(66,60); -INSERT INTO product_slots VALUES(66,61); -INSERT INTO product_slots VALUES(66,62); -INSERT INTO product_slots VALUES(66,63); -INSERT INTO product_slots VALUES(66,64); -INSERT INTO product_slots VALUES(66,65); -INSERT INTO product_slots VALUES(66,66); -INSERT INTO product_slots VALUES(66,67); -INSERT INTO product_slots VALUES(66,68); -INSERT INTO product_slots VALUES(66,69); -INSERT INTO product_slots VALUES(66,70); -INSERT INTO product_slots VALUES(66,71); -INSERT INTO product_slots VALUES(66,72); -INSERT INTO product_slots VALUES(66,73); -INSERT INTO product_slots VALUES(66,74); -INSERT INTO product_slots VALUES(66,75); -INSERT INTO product_slots VALUES(66,76); -INSERT INTO product_slots VALUES(66,77); -INSERT INTO product_slots VALUES(66,78); -INSERT INTO product_slots VALUES(66,79); -INSERT INTO product_slots VALUES(66,80); -INSERT INTO product_slots VALUES(66,81); -INSERT INTO product_slots VALUES(66,82); -INSERT INTO product_slots VALUES(66,83); -INSERT INTO product_slots VALUES(66,84); -INSERT INTO product_slots VALUES(66,85); -INSERT INTO product_slots VALUES(66,86); -INSERT INTO product_slots VALUES(66,87); -INSERT INTO product_slots VALUES(66,88); -INSERT INTO product_slots VALUES(66,89); -INSERT INTO product_slots VALUES(66,90); -INSERT INTO product_slots VALUES(66,91); -INSERT INTO product_slots VALUES(66,92); -INSERT INTO product_slots VALUES(66,93); -INSERT INTO product_slots VALUES(66,94); -INSERT INTO product_slots VALUES(66,95); -INSERT INTO product_slots VALUES(66,96); -INSERT INTO product_slots VALUES(66,97); -INSERT INTO product_slots VALUES(66,98); -INSERT INTO product_slots VALUES(66,99); -INSERT INTO product_slots VALUES(66,100); -INSERT INTO product_slots VALUES(66,101); -INSERT INTO product_slots VALUES(66,102); -INSERT INTO product_slots VALUES(66,103); -INSERT INTO product_slots VALUES(66,104); -INSERT INTO product_slots VALUES(66,105); -INSERT INTO product_slots VALUES(66,106); -INSERT INTO product_slots VALUES(66,107); -INSERT INTO product_slots VALUES(66,108); -INSERT INTO product_slots VALUES(66,109); -INSERT INTO product_slots VALUES(66,110); -INSERT INTO product_slots VALUES(66,111); -INSERT INTO product_slots VALUES(66,112); -INSERT INTO product_slots VALUES(66,113); -INSERT INTO product_slots VALUES(66,114); -INSERT INTO product_slots VALUES(66,115); -INSERT INTO product_slots VALUES(66,116); -INSERT INTO product_slots VALUES(66,117); -INSERT INTO product_slots VALUES(66,118); -INSERT INTO product_slots VALUES(66,119); -INSERT INTO product_slots VALUES(66,120); -INSERT INTO product_slots VALUES(66,121); -INSERT INTO product_slots VALUES(66,122); -INSERT INTO product_slots VALUES(66,123); -INSERT INTO product_slots VALUES(66,124); -INSERT INTO product_slots VALUES(66,125); -INSERT INTO product_slots VALUES(66,126); -INSERT INTO product_slots VALUES(66,127); -INSERT INTO product_slots VALUES(66,128); -INSERT INTO product_slots VALUES(66,129); -INSERT INTO product_slots VALUES(66,130); -INSERT INTO product_slots VALUES(66,131); -INSERT INTO product_slots VALUES(66,132); -INSERT INTO product_slots VALUES(66,133); -INSERT INTO product_slots VALUES(66,134); -INSERT INTO product_slots VALUES(66,135); -INSERT INTO product_slots VALUES(66,136); -INSERT INTO product_slots VALUES(66,137); -INSERT INTO product_slots VALUES(66,138); -INSERT INTO product_slots VALUES(66,139); -INSERT INTO product_slots VALUES(66,140); -INSERT INTO product_slots VALUES(66,141); -INSERT INTO product_slots VALUES(66,142); -INSERT INTO product_slots VALUES(66,143); -INSERT INTO product_slots VALUES(66,144); -INSERT INTO product_slots VALUES(66,145); -INSERT INTO product_slots VALUES(66,146); -INSERT INTO product_slots VALUES(66,147); -INSERT INTO product_slots VALUES(66,148); -INSERT INTO product_slots VALUES(66,149); -INSERT INTO product_slots VALUES(66,150); -INSERT INTO product_slots VALUES(66,151); -INSERT INTO product_slots VALUES(66,152); -INSERT INTO product_slots VALUES(66,153); -INSERT INTO product_slots VALUES(66,154); -INSERT INTO product_slots VALUES(66,155); -INSERT INTO product_slots VALUES(66,156); -INSERT INTO product_slots VALUES(66,157); -INSERT INTO product_slots VALUES(66,158); -INSERT INTO product_slots VALUES(66,159); -INSERT INTO product_slots VALUES(66,160); -INSERT INTO product_slots VALUES(66,161); -INSERT INTO product_slots VALUES(66,162); -INSERT INTO product_slots VALUES(66,163); -INSERT INTO product_slots VALUES(66,164); -INSERT INTO product_slots VALUES(66,165); -INSERT INTO product_slots VALUES(66,166); -INSERT INTO product_slots VALUES(66,167); -INSERT INTO product_slots VALUES(66,168); -INSERT INTO product_slots VALUES(66,169); -INSERT INTO product_slots VALUES(66,170); -INSERT INTO product_slots VALUES(66,171); -INSERT INTO product_slots VALUES(66,172); -INSERT INTO product_slots VALUES(66,173); -INSERT INTO product_slots VALUES(66,174); -INSERT INTO product_slots VALUES(66,175); -INSERT INTO product_slots VALUES(66,176); -INSERT INTO product_slots VALUES(66,177); -INSERT INTO product_slots VALUES(66,178); -INSERT INTO product_slots VALUES(66,179); -INSERT INTO product_slots VALUES(66,180); -INSERT INTO product_slots VALUES(66,181); -INSERT INTO product_slots VALUES(66,182); -INSERT INTO product_slots VALUES(66,183); -INSERT INTO product_slots VALUES(66,184); -INSERT INTO product_slots VALUES(66,185); -INSERT INTO product_slots VALUES(66,186); -INSERT INTO product_slots VALUES(66,187); -INSERT INTO product_slots VALUES(66,188); -INSERT INTO product_slots VALUES(66,189); -INSERT INTO product_slots VALUES(66,190); -INSERT INTO product_slots VALUES(66,191); -INSERT INTO product_slots VALUES(66,192); -INSERT INTO product_slots VALUES(66,193); -INSERT INTO product_slots VALUES(66,194); -INSERT INTO product_slots VALUES(66,195); -INSERT INTO product_slots VALUES(66,196); -INSERT INTO product_slots VALUES(66,197); -INSERT INTO product_slots VALUES(66,198); -INSERT INTO product_slots VALUES(66,199); -INSERT INTO product_slots VALUES(66,200); -INSERT INTO product_slots VALUES(66,201); -INSERT INTO product_slots VALUES(66,202); -INSERT INTO product_slots VALUES(66,203); -INSERT INTO product_slots VALUES(66,204); -INSERT INTO product_slots VALUES(66,205); -INSERT INTO product_slots VALUES(66,206); -INSERT INTO product_slots VALUES(66,207); -INSERT INTO product_slots VALUES(66,208); -INSERT INTO product_slots VALUES(66,209); -INSERT INTO product_slots VALUES(66,210); -INSERT INTO product_slots VALUES(66,211); -INSERT INTO product_slots VALUES(66,212); -INSERT INTO product_slots VALUES(66,213); -INSERT INTO product_slots VALUES(66,214); -INSERT INTO product_slots VALUES(66,215); -INSERT INTO product_slots VALUES(66,216); -INSERT INTO product_slots VALUES(66,217); -INSERT INTO product_slots VALUES(66,218); -INSERT INTO product_slots VALUES(66,219); -INSERT INTO product_slots VALUES(66,220); -INSERT INTO product_slots VALUES(66,221); -INSERT INTO product_slots VALUES(66,222); -INSERT INTO product_slots VALUES(66,223); -INSERT INTO product_slots VALUES(66,224); -INSERT INTO product_slots VALUES(66,225); -INSERT INTO product_slots VALUES(66,226); -INSERT INTO product_slots VALUES(66,227); -INSERT INTO product_slots VALUES(66,228); -INSERT INTO product_slots VALUES(66,229); -INSERT INTO product_slots VALUES(66,230); -INSERT INTO product_slots VALUES(66,231); -INSERT INTO product_slots VALUES(66,232); -INSERT INTO product_slots VALUES(66,233); -INSERT INTO product_slots VALUES(66,234); -INSERT INTO product_slots VALUES(66,235); -INSERT INTO product_slots VALUES(66,236); -INSERT INTO product_slots VALUES(66,237); -INSERT INTO product_slots VALUES(66,238); -INSERT INTO product_slots VALUES(66,239); -INSERT INTO product_slots VALUES(66,240); -INSERT INTO product_slots VALUES(66,241); -INSERT INTO product_slots VALUES(66,242); -INSERT INTO product_slots VALUES(66,243); -INSERT INTO product_slots VALUES(66,244); -INSERT INTO product_slots VALUES(66,274); -INSERT INTO product_slots VALUES(66,275); -INSERT INTO product_slots VALUES(66,279); -INSERT INTO product_slots VALUES(66,280); -INSERT INTO product_slots VALUES(66,281); -INSERT INTO product_slots VALUES(66,282); -INSERT INTO product_slots VALUES(66,283); -INSERT INTO product_slots VALUES(66,284); -INSERT INTO product_slots VALUES(66,285); -INSERT INTO product_slots VALUES(66,286); -INSERT INTO product_slots VALUES(66,287); -INSERT INTO product_slots VALUES(67,39); -INSERT INTO product_slots VALUES(67,41); -INSERT INTO product_slots VALUES(67,43); -INSERT INTO product_slots VALUES(67,44); -INSERT INTO product_slots VALUES(67,45); -INSERT INTO product_slots VALUES(67,46); -INSERT INTO product_slots VALUES(67,47); -INSERT INTO product_slots VALUES(67,48); -INSERT INTO product_slots VALUES(67,49); -INSERT INTO product_slots VALUES(67,50); -INSERT INTO product_slots VALUES(67,51); -INSERT INTO product_slots VALUES(67,52); -INSERT INTO product_slots VALUES(67,53); -INSERT INTO product_slots VALUES(67,54); -INSERT INTO product_slots VALUES(67,55); -INSERT INTO product_slots VALUES(67,56); -INSERT INTO product_slots VALUES(67,57); -INSERT INTO product_slots VALUES(67,58); -INSERT INTO product_slots VALUES(67,59); -INSERT INTO product_slots VALUES(67,60); -INSERT INTO product_slots VALUES(67,61); -INSERT INTO product_slots VALUES(67,62); -INSERT INTO product_slots VALUES(67,63); -INSERT INTO product_slots VALUES(67,64); -INSERT INTO product_slots VALUES(67,65); -INSERT INTO product_slots VALUES(67,66); -INSERT INTO product_slots VALUES(67,67); -INSERT INTO product_slots VALUES(67,68); -INSERT INTO product_slots VALUES(67,69); -INSERT INTO product_slots VALUES(67,70); -INSERT INTO product_slots VALUES(67,71); -INSERT INTO product_slots VALUES(67,72); -INSERT INTO product_slots VALUES(67,73); -INSERT INTO product_slots VALUES(67,74); -INSERT INTO product_slots VALUES(67,75); -INSERT INTO product_slots VALUES(67,76); -INSERT INTO product_slots VALUES(67,77); -INSERT INTO product_slots VALUES(67,78); -INSERT INTO product_slots VALUES(67,79); -INSERT INTO product_slots VALUES(67,80); -INSERT INTO product_slots VALUES(67,81); -INSERT INTO product_slots VALUES(67,82); -INSERT INTO product_slots VALUES(67,83); -INSERT INTO product_slots VALUES(67,84); -INSERT INTO product_slots VALUES(67,85); -INSERT INTO product_slots VALUES(67,86); -INSERT INTO product_slots VALUES(67,87); -INSERT INTO product_slots VALUES(67,88); -INSERT INTO product_slots VALUES(67,89); -INSERT INTO product_slots VALUES(67,90); -INSERT INTO product_slots VALUES(67,91); -INSERT INTO product_slots VALUES(67,92); -INSERT INTO product_slots VALUES(67,93); -INSERT INTO product_slots VALUES(67,94); -INSERT INTO product_slots VALUES(67,95); -INSERT INTO product_slots VALUES(67,96); -INSERT INTO product_slots VALUES(67,97); -INSERT INTO product_slots VALUES(67,98); -INSERT INTO product_slots VALUES(67,99); -INSERT INTO product_slots VALUES(67,100); -INSERT INTO product_slots VALUES(67,101); -INSERT INTO product_slots VALUES(67,102); -INSERT INTO product_slots VALUES(67,103); -INSERT INTO product_slots VALUES(67,104); -INSERT INTO product_slots VALUES(67,105); -INSERT INTO product_slots VALUES(67,106); -INSERT INTO product_slots VALUES(67,107); -INSERT INTO product_slots VALUES(67,108); -INSERT INTO product_slots VALUES(67,109); -INSERT INTO product_slots VALUES(67,110); -INSERT INTO product_slots VALUES(67,111); -INSERT INTO product_slots VALUES(67,112); -INSERT INTO product_slots VALUES(67,113); -INSERT INTO product_slots VALUES(67,114); -INSERT INTO product_slots VALUES(67,115); -INSERT INTO product_slots VALUES(67,116); -INSERT INTO product_slots VALUES(67,117); -INSERT INTO product_slots VALUES(67,118); -INSERT INTO product_slots VALUES(67,119); -INSERT INTO product_slots VALUES(67,120); -INSERT INTO product_slots VALUES(67,121); -INSERT INTO product_slots VALUES(67,122); -INSERT INTO product_slots VALUES(67,123); -INSERT INTO product_slots VALUES(67,124); -INSERT INTO product_slots VALUES(67,125); -INSERT INTO product_slots VALUES(67,126); -INSERT INTO product_slots VALUES(67,127); -INSERT INTO product_slots VALUES(67,128); -INSERT INTO product_slots VALUES(67,129); -INSERT INTO product_slots VALUES(67,130); -INSERT INTO product_slots VALUES(67,131); -INSERT INTO product_slots VALUES(67,132); -INSERT INTO product_slots VALUES(67,133); -INSERT INTO product_slots VALUES(67,134); -INSERT INTO product_slots VALUES(67,135); -INSERT INTO product_slots VALUES(67,136); -INSERT INTO product_slots VALUES(67,137); -INSERT INTO product_slots VALUES(67,138); -INSERT INTO product_slots VALUES(67,139); -INSERT INTO product_slots VALUES(67,140); -INSERT INTO product_slots VALUES(67,141); -INSERT INTO product_slots VALUES(67,142); -INSERT INTO product_slots VALUES(67,143); -INSERT INTO product_slots VALUES(67,144); -INSERT INTO product_slots VALUES(67,145); -INSERT INTO product_slots VALUES(67,146); -INSERT INTO product_slots VALUES(67,147); -INSERT INTO product_slots VALUES(67,148); -INSERT INTO product_slots VALUES(67,149); -INSERT INTO product_slots VALUES(67,150); -INSERT INTO product_slots VALUES(67,151); -INSERT INTO product_slots VALUES(67,152); -INSERT INTO product_slots VALUES(67,153); -INSERT INTO product_slots VALUES(67,154); -INSERT INTO product_slots VALUES(67,155); -INSERT INTO product_slots VALUES(67,156); -INSERT INTO product_slots VALUES(67,157); -INSERT INTO product_slots VALUES(67,158); -INSERT INTO product_slots VALUES(67,159); -INSERT INTO product_slots VALUES(67,160); -INSERT INTO product_slots VALUES(67,161); -INSERT INTO product_slots VALUES(67,162); -INSERT INTO product_slots VALUES(67,163); -INSERT INTO product_slots VALUES(67,164); -INSERT INTO product_slots VALUES(67,165); -INSERT INTO product_slots VALUES(67,166); -INSERT INTO product_slots VALUES(67,167); -INSERT INTO product_slots VALUES(67,168); -INSERT INTO product_slots VALUES(67,169); -INSERT INTO product_slots VALUES(67,170); -INSERT INTO product_slots VALUES(67,171); -INSERT INTO product_slots VALUES(67,172); -INSERT INTO product_slots VALUES(67,173); -INSERT INTO product_slots VALUES(67,174); -INSERT INTO product_slots VALUES(67,175); -INSERT INTO product_slots VALUES(67,176); -INSERT INTO product_slots VALUES(67,177); -INSERT INTO product_slots VALUES(67,178); -INSERT INTO product_slots VALUES(67,179); -INSERT INTO product_slots VALUES(67,180); -INSERT INTO product_slots VALUES(67,181); -INSERT INTO product_slots VALUES(67,182); -INSERT INTO product_slots VALUES(67,183); -INSERT INTO product_slots VALUES(67,184); -INSERT INTO product_slots VALUES(67,185); -INSERT INTO product_slots VALUES(67,186); -INSERT INTO product_slots VALUES(67,187); -INSERT INTO product_slots VALUES(67,188); -INSERT INTO product_slots VALUES(67,189); -INSERT INTO product_slots VALUES(67,190); -INSERT INTO product_slots VALUES(67,191); -INSERT INTO product_slots VALUES(67,192); -INSERT INTO product_slots VALUES(67,193); -INSERT INTO product_slots VALUES(67,194); -INSERT INTO product_slots VALUES(67,195); -INSERT INTO product_slots VALUES(67,196); -INSERT INTO product_slots VALUES(67,197); -INSERT INTO product_slots VALUES(67,198); -INSERT INTO product_slots VALUES(67,199); -INSERT INTO product_slots VALUES(67,200); -INSERT INTO product_slots VALUES(67,201); -INSERT INTO product_slots VALUES(67,202); -INSERT INTO product_slots VALUES(67,203); -INSERT INTO product_slots VALUES(67,204); -INSERT INTO product_slots VALUES(67,205); -INSERT INTO product_slots VALUES(67,206); -INSERT INTO product_slots VALUES(67,207); -INSERT INTO product_slots VALUES(67,208); -INSERT INTO product_slots VALUES(67,209); -INSERT INTO product_slots VALUES(67,210); -INSERT INTO product_slots VALUES(67,211); -INSERT INTO product_slots VALUES(67,212); -INSERT INTO product_slots VALUES(67,213); -INSERT INTO product_slots VALUES(67,214); -INSERT INTO product_slots VALUES(67,215); -INSERT INTO product_slots VALUES(67,216); -INSERT INTO product_slots VALUES(67,217); -INSERT INTO product_slots VALUES(67,218); -INSERT INTO product_slots VALUES(67,219); -INSERT INTO product_slots VALUES(67,220); -INSERT INTO product_slots VALUES(67,221); -INSERT INTO product_slots VALUES(67,222); -INSERT INTO product_slots VALUES(67,223); -INSERT INTO product_slots VALUES(67,224); -INSERT INTO product_slots VALUES(67,225); -INSERT INTO product_slots VALUES(67,226); -INSERT INTO product_slots VALUES(67,227); -INSERT INTO product_slots VALUES(67,228); -INSERT INTO product_slots VALUES(67,229); -INSERT INTO product_slots VALUES(67,230); -INSERT INTO product_slots VALUES(67,231); -INSERT INTO product_slots VALUES(67,232); -INSERT INTO product_slots VALUES(67,233); -INSERT INTO product_slots VALUES(67,234); -INSERT INTO product_slots VALUES(67,235); -INSERT INTO product_slots VALUES(67,236); -INSERT INTO product_slots VALUES(67,237); -INSERT INTO product_slots VALUES(67,238); -INSERT INTO product_slots VALUES(67,239); -INSERT INTO product_slots VALUES(67,240); -INSERT INTO product_slots VALUES(67,241); -INSERT INTO product_slots VALUES(67,242); -INSERT INTO product_slots VALUES(67,243); -INSERT INTO product_slots VALUES(67,244); -INSERT INTO product_slots VALUES(67,274); -INSERT INTO product_slots VALUES(67,275); -INSERT INTO product_slots VALUES(67,279); -INSERT INTO product_slots VALUES(67,280); -INSERT INTO product_slots VALUES(67,281); -INSERT INTO product_slots VALUES(67,282); -INSERT INTO product_slots VALUES(67,283); -INSERT INTO product_slots VALUES(67,284); -INSERT INTO product_slots VALUES(67,285); -INSERT INTO product_slots VALUES(67,286); -INSERT INTO product_slots VALUES(67,287); -INSERT INTO product_slots VALUES(68,39); -INSERT INTO product_slots VALUES(68,41); -INSERT INTO product_slots VALUES(68,43); -INSERT INTO product_slots VALUES(68,44); -INSERT INTO product_slots VALUES(68,45); -INSERT INTO product_slots VALUES(68,46); -INSERT INTO product_slots VALUES(68,47); -INSERT INTO product_slots VALUES(68,48); -INSERT INTO product_slots VALUES(68,49); -INSERT INTO product_slots VALUES(68,50); -INSERT INTO product_slots VALUES(68,51); -INSERT INTO product_slots VALUES(68,52); -INSERT INTO product_slots VALUES(68,53); -INSERT INTO product_slots VALUES(68,54); -INSERT INTO product_slots VALUES(68,55); -INSERT INTO product_slots VALUES(68,56); -INSERT INTO product_slots VALUES(68,57); -INSERT INTO product_slots VALUES(68,58); -INSERT INTO product_slots VALUES(68,59); -INSERT INTO product_slots VALUES(68,60); -INSERT INTO product_slots VALUES(68,61); -INSERT INTO product_slots VALUES(68,62); -INSERT INTO product_slots VALUES(68,63); -INSERT INTO product_slots VALUES(68,64); -INSERT INTO product_slots VALUES(68,65); -INSERT INTO product_slots VALUES(68,66); -INSERT INTO product_slots VALUES(68,67); -INSERT INTO product_slots VALUES(68,68); -INSERT INTO product_slots VALUES(68,69); -INSERT INTO product_slots VALUES(68,70); -INSERT INTO product_slots VALUES(68,71); -INSERT INTO product_slots VALUES(68,72); -INSERT INTO product_slots VALUES(68,73); -INSERT INTO product_slots VALUES(68,74); -INSERT INTO product_slots VALUES(68,75); -INSERT INTO product_slots VALUES(68,76); -INSERT INTO product_slots VALUES(68,77); -INSERT INTO product_slots VALUES(68,78); -INSERT INTO product_slots VALUES(68,79); -INSERT INTO product_slots VALUES(68,80); -INSERT INTO product_slots VALUES(68,81); -INSERT INTO product_slots VALUES(68,82); -INSERT INTO product_slots VALUES(68,83); -INSERT INTO product_slots VALUES(68,84); -INSERT INTO product_slots VALUES(68,85); -INSERT INTO product_slots VALUES(68,86); -INSERT INTO product_slots VALUES(68,87); -INSERT INTO product_slots VALUES(68,88); -INSERT INTO product_slots VALUES(68,89); -INSERT INTO product_slots VALUES(68,90); -INSERT INTO product_slots VALUES(68,91); -INSERT INTO product_slots VALUES(68,92); -INSERT INTO product_slots VALUES(68,93); -INSERT INTO product_slots VALUES(68,94); -INSERT INTO product_slots VALUES(68,95); -INSERT INTO product_slots VALUES(68,96); -INSERT INTO product_slots VALUES(68,97); -INSERT INTO product_slots VALUES(68,98); -INSERT INTO product_slots VALUES(68,99); -INSERT INTO product_slots VALUES(68,100); -INSERT INTO product_slots VALUES(68,101); -INSERT INTO product_slots VALUES(68,102); -INSERT INTO product_slots VALUES(68,103); -INSERT INTO product_slots VALUES(68,104); -INSERT INTO product_slots VALUES(68,105); -INSERT INTO product_slots VALUES(68,106); -INSERT INTO product_slots VALUES(68,107); -INSERT INTO product_slots VALUES(68,108); -INSERT INTO product_slots VALUES(68,109); -INSERT INTO product_slots VALUES(68,110); -INSERT INTO product_slots VALUES(68,111); -INSERT INTO product_slots VALUES(68,112); -INSERT INTO product_slots VALUES(68,113); -INSERT INTO product_slots VALUES(68,114); -INSERT INTO product_slots VALUES(68,115); -INSERT INTO product_slots VALUES(68,116); -INSERT INTO product_slots VALUES(68,117); -INSERT INTO product_slots VALUES(68,118); -INSERT INTO product_slots VALUES(68,119); -INSERT INTO product_slots VALUES(68,120); -INSERT INTO product_slots VALUES(68,121); -INSERT INTO product_slots VALUES(68,122); -INSERT INTO product_slots VALUES(68,123); -INSERT INTO product_slots VALUES(68,124); -INSERT INTO product_slots VALUES(68,125); -INSERT INTO product_slots VALUES(68,126); -INSERT INTO product_slots VALUES(68,127); -INSERT INTO product_slots VALUES(68,128); -INSERT INTO product_slots VALUES(68,129); -INSERT INTO product_slots VALUES(68,130); -INSERT INTO product_slots VALUES(68,131); -INSERT INTO product_slots VALUES(68,132); -INSERT INTO product_slots VALUES(68,133); -INSERT INTO product_slots VALUES(68,134); -INSERT INTO product_slots VALUES(68,135); -INSERT INTO product_slots VALUES(68,136); -INSERT INTO product_slots VALUES(68,137); -INSERT INTO product_slots VALUES(68,138); -INSERT INTO product_slots VALUES(68,139); -INSERT INTO product_slots VALUES(68,140); -INSERT INTO product_slots VALUES(68,141); -INSERT INTO product_slots VALUES(68,142); -INSERT INTO product_slots VALUES(68,143); -INSERT INTO product_slots VALUES(68,144); -INSERT INTO product_slots VALUES(68,145); -INSERT INTO product_slots VALUES(68,146); -INSERT INTO product_slots VALUES(68,147); -INSERT INTO product_slots VALUES(68,148); -INSERT INTO product_slots VALUES(68,149); -INSERT INTO product_slots VALUES(68,150); -INSERT INTO product_slots VALUES(68,151); -INSERT INTO product_slots VALUES(68,152); -INSERT INTO product_slots VALUES(68,153); -INSERT INTO product_slots VALUES(68,154); -INSERT INTO product_slots VALUES(68,155); -INSERT INTO product_slots VALUES(68,156); -INSERT INTO product_slots VALUES(68,157); -INSERT INTO product_slots VALUES(68,158); -INSERT INTO product_slots VALUES(68,159); -INSERT INTO product_slots VALUES(68,160); -INSERT INTO product_slots VALUES(68,161); -INSERT INTO product_slots VALUES(68,162); -INSERT INTO product_slots VALUES(68,163); -INSERT INTO product_slots VALUES(68,164); -INSERT INTO product_slots VALUES(68,165); -INSERT INTO product_slots VALUES(68,166); -INSERT INTO product_slots VALUES(68,167); -INSERT INTO product_slots VALUES(68,168); -INSERT INTO product_slots VALUES(68,169); -INSERT INTO product_slots VALUES(68,170); -INSERT INTO product_slots VALUES(68,171); -INSERT INTO product_slots VALUES(68,172); -INSERT INTO product_slots VALUES(68,173); -INSERT INTO product_slots VALUES(68,174); -INSERT INTO product_slots VALUES(68,175); -INSERT INTO product_slots VALUES(68,176); -INSERT INTO product_slots VALUES(68,177); -INSERT INTO product_slots VALUES(68,178); -INSERT INTO product_slots VALUES(68,179); -INSERT INTO product_slots VALUES(68,180); -INSERT INTO product_slots VALUES(68,181); -INSERT INTO product_slots VALUES(68,182); -INSERT INTO product_slots VALUES(68,183); -INSERT INTO product_slots VALUES(68,184); -INSERT INTO product_slots VALUES(68,185); -INSERT INTO product_slots VALUES(68,186); -INSERT INTO product_slots VALUES(68,187); -INSERT INTO product_slots VALUES(68,188); -INSERT INTO product_slots VALUES(68,189); -INSERT INTO product_slots VALUES(68,190); -INSERT INTO product_slots VALUES(68,191); -INSERT INTO product_slots VALUES(68,192); -INSERT INTO product_slots VALUES(68,193); -INSERT INTO product_slots VALUES(68,194); -INSERT INTO product_slots VALUES(68,195); -INSERT INTO product_slots VALUES(68,196); -INSERT INTO product_slots VALUES(68,197); -INSERT INTO product_slots VALUES(68,198); -INSERT INTO product_slots VALUES(68,199); -INSERT INTO product_slots VALUES(68,200); -INSERT INTO product_slots VALUES(68,201); -INSERT INTO product_slots VALUES(68,202); -INSERT INTO product_slots VALUES(68,203); -INSERT INTO product_slots VALUES(68,204); -INSERT INTO product_slots VALUES(68,205); -INSERT INTO product_slots VALUES(68,206); -INSERT INTO product_slots VALUES(68,207); -INSERT INTO product_slots VALUES(68,208); -INSERT INTO product_slots VALUES(68,209); -INSERT INTO product_slots VALUES(68,210); -INSERT INTO product_slots VALUES(68,211); -INSERT INTO product_slots VALUES(68,212); -INSERT INTO product_slots VALUES(68,213); -INSERT INTO product_slots VALUES(68,214); -INSERT INTO product_slots VALUES(68,215); -INSERT INTO product_slots VALUES(68,216); -INSERT INTO product_slots VALUES(68,217); -INSERT INTO product_slots VALUES(68,218); -INSERT INTO product_slots VALUES(68,219); -INSERT INTO product_slots VALUES(68,220); -INSERT INTO product_slots VALUES(68,221); -INSERT INTO product_slots VALUES(68,222); -INSERT INTO product_slots VALUES(68,223); -INSERT INTO product_slots VALUES(68,224); -INSERT INTO product_slots VALUES(68,225); -INSERT INTO product_slots VALUES(68,226); -INSERT INTO product_slots VALUES(68,227); -INSERT INTO product_slots VALUES(68,228); -INSERT INTO product_slots VALUES(68,229); -INSERT INTO product_slots VALUES(68,230); -INSERT INTO product_slots VALUES(68,231); -INSERT INTO product_slots VALUES(68,232); -INSERT INTO product_slots VALUES(68,233); -INSERT INTO product_slots VALUES(68,234); -INSERT INTO product_slots VALUES(68,235); -INSERT INTO product_slots VALUES(68,236); -INSERT INTO product_slots VALUES(68,237); -INSERT INTO product_slots VALUES(68,238); -INSERT INTO product_slots VALUES(68,239); -INSERT INTO product_slots VALUES(68,240); -INSERT INTO product_slots VALUES(68,241); -INSERT INTO product_slots VALUES(68,242); -INSERT INTO product_slots VALUES(68,243); -INSERT INTO product_slots VALUES(68,244); -INSERT INTO product_slots VALUES(68,274); -INSERT INTO product_slots VALUES(68,275); -INSERT INTO product_slots VALUES(68,279); -INSERT INTO product_slots VALUES(68,280); -INSERT INTO product_slots VALUES(68,281); -INSERT INTO product_slots VALUES(68,282); -INSERT INTO product_slots VALUES(68,283); -INSERT INTO product_slots VALUES(68,284); -INSERT INTO product_slots VALUES(68,285); -INSERT INTO product_slots VALUES(68,286); -INSERT INTO product_slots VALUES(68,287); -INSERT INTO product_slots VALUES(69,39); -INSERT INTO product_slots VALUES(69,41); -INSERT INTO product_slots VALUES(69,43); -INSERT INTO product_slots VALUES(69,44); -INSERT INTO product_slots VALUES(69,45); -INSERT INTO product_slots VALUES(69,46); -INSERT INTO product_slots VALUES(69,47); -INSERT INTO product_slots VALUES(69,48); -INSERT INTO product_slots VALUES(69,49); -INSERT INTO product_slots VALUES(69,50); -INSERT INTO product_slots VALUES(69,51); -INSERT INTO product_slots VALUES(69,52); -INSERT INTO product_slots VALUES(69,53); -INSERT INTO product_slots VALUES(69,54); -INSERT INTO product_slots VALUES(69,55); -INSERT INTO product_slots VALUES(69,56); -INSERT INTO product_slots VALUES(69,57); -INSERT INTO product_slots VALUES(69,58); -INSERT INTO product_slots VALUES(69,59); -INSERT INTO product_slots VALUES(69,60); -INSERT INTO product_slots VALUES(69,61); -INSERT INTO product_slots VALUES(69,62); -INSERT INTO product_slots VALUES(69,63); -INSERT INTO product_slots VALUES(69,64); -INSERT INTO product_slots VALUES(69,65); -INSERT INTO product_slots VALUES(69,66); -INSERT INTO product_slots VALUES(69,67); -INSERT INTO product_slots VALUES(69,68); -INSERT INTO product_slots VALUES(69,69); -INSERT INTO product_slots VALUES(69,70); -INSERT INTO product_slots VALUES(69,71); -INSERT INTO product_slots VALUES(69,72); -INSERT INTO product_slots VALUES(69,73); -INSERT INTO product_slots VALUES(69,74); -INSERT INTO product_slots VALUES(69,75); -INSERT INTO product_slots VALUES(69,76); -INSERT INTO product_slots VALUES(69,77); -INSERT INTO product_slots VALUES(69,78); -INSERT INTO product_slots VALUES(69,79); -INSERT INTO product_slots VALUES(69,80); -INSERT INTO product_slots VALUES(69,81); -INSERT INTO product_slots VALUES(69,82); -INSERT INTO product_slots VALUES(69,83); -INSERT INTO product_slots VALUES(69,84); -INSERT INTO product_slots VALUES(69,85); -INSERT INTO product_slots VALUES(69,86); -INSERT INTO product_slots VALUES(69,87); -INSERT INTO product_slots VALUES(69,88); -INSERT INTO product_slots VALUES(69,89); -INSERT INTO product_slots VALUES(69,90); -INSERT INTO product_slots VALUES(69,91); -INSERT INTO product_slots VALUES(69,92); -INSERT INTO product_slots VALUES(69,93); -INSERT INTO product_slots VALUES(69,94); -INSERT INTO product_slots VALUES(69,95); -INSERT INTO product_slots VALUES(69,96); -INSERT INTO product_slots VALUES(69,97); -INSERT INTO product_slots VALUES(69,98); -INSERT INTO product_slots VALUES(69,99); -INSERT INTO product_slots VALUES(69,100); -INSERT INTO product_slots VALUES(69,101); -INSERT INTO product_slots VALUES(69,102); -INSERT INTO product_slots VALUES(69,103); -INSERT INTO product_slots VALUES(69,104); -INSERT INTO product_slots VALUES(69,105); -INSERT INTO product_slots VALUES(69,106); -INSERT INTO product_slots VALUES(69,107); -INSERT INTO product_slots VALUES(69,108); -INSERT INTO product_slots VALUES(69,109); -INSERT INTO product_slots VALUES(69,110); -INSERT INTO product_slots VALUES(69,111); -INSERT INTO product_slots VALUES(69,112); -INSERT INTO product_slots VALUES(69,113); -INSERT INTO product_slots VALUES(69,114); -INSERT INTO product_slots VALUES(69,115); -INSERT INTO product_slots VALUES(69,116); -INSERT INTO product_slots VALUES(69,117); -INSERT INTO product_slots VALUES(69,118); -INSERT INTO product_slots VALUES(69,119); -INSERT INTO product_slots VALUES(69,120); -INSERT INTO product_slots VALUES(69,121); -INSERT INTO product_slots VALUES(69,122); -INSERT INTO product_slots VALUES(69,123); -INSERT INTO product_slots VALUES(69,124); -INSERT INTO product_slots VALUES(69,125); -INSERT INTO product_slots VALUES(69,126); -INSERT INTO product_slots VALUES(69,127); -INSERT INTO product_slots VALUES(69,128); -INSERT INTO product_slots VALUES(69,129); -INSERT INTO product_slots VALUES(69,130); -INSERT INTO product_slots VALUES(69,131); -INSERT INTO product_slots VALUES(69,132); -INSERT INTO product_slots VALUES(69,133); -INSERT INTO product_slots VALUES(69,134); -INSERT INTO product_slots VALUES(69,135); -INSERT INTO product_slots VALUES(69,136); -INSERT INTO product_slots VALUES(69,137); -INSERT INTO product_slots VALUES(69,138); -INSERT INTO product_slots VALUES(69,139); -INSERT INTO product_slots VALUES(69,140); -INSERT INTO product_slots VALUES(69,141); -INSERT INTO product_slots VALUES(69,142); -INSERT INTO product_slots VALUES(69,143); -INSERT INTO product_slots VALUES(69,144); -INSERT INTO product_slots VALUES(69,145); -INSERT INTO product_slots VALUES(69,146); -INSERT INTO product_slots VALUES(69,147); -INSERT INTO product_slots VALUES(69,148); -INSERT INTO product_slots VALUES(69,149); -INSERT INTO product_slots VALUES(69,150); -INSERT INTO product_slots VALUES(69,151); -INSERT INTO product_slots VALUES(69,152); -INSERT INTO product_slots VALUES(69,153); -INSERT INTO product_slots VALUES(69,154); -INSERT INTO product_slots VALUES(69,155); -INSERT INTO product_slots VALUES(69,156); -INSERT INTO product_slots VALUES(69,157); -INSERT INTO product_slots VALUES(69,158); -INSERT INTO product_slots VALUES(69,159); -INSERT INTO product_slots VALUES(69,160); -INSERT INTO product_slots VALUES(69,161); -INSERT INTO product_slots VALUES(69,162); -INSERT INTO product_slots VALUES(69,163); -INSERT INTO product_slots VALUES(69,164); -INSERT INTO product_slots VALUES(69,165); -INSERT INTO product_slots VALUES(69,166); -INSERT INTO product_slots VALUES(69,167); -INSERT INTO product_slots VALUES(69,168); -INSERT INTO product_slots VALUES(69,169); -INSERT INTO product_slots VALUES(69,170); -INSERT INTO product_slots VALUES(69,171); -INSERT INTO product_slots VALUES(69,172); -INSERT INTO product_slots VALUES(69,173); -INSERT INTO product_slots VALUES(69,174); -INSERT INTO product_slots VALUES(69,175); -INSERT INTO product_slots VALUES(69,176); -INSERT INTO product_slots VALUES(69,177); -INSERT INTO product_slots VALUES(69,178); -INSERT INTO product_slots VALUES(69,179); -INSERT INTO product_slots VALUES(69,180); -INSERT INTO product_slots VALUES(69,181); -INSERT INTO product_slots VALUES(69,182); -INSERT INTO product_slots VALUES(69,183); -INSERT INTO product_slots VALUES(69,184); -INSERT INTO product_slots VALUES(69,185); -INSERT INTO product_slots VALUES(69,186); -INSERT INTO product_slots VALUES(69,187); -INSERT INTO product_slots VALUES(69,188); -INSERT INTO product_slots VALUES(69,189); -INSERT INTO product_slots VALUES(69,190); -INSERT INTO product_slots VALUES(69,191); -INSERT INTO product_slots VALUES(69,192); -INSERT INTO product_slots VALUES(69,193); -INSERT INTO product_slots VALUES(69,194); -INSERT INTO product_slots VALUES(69,195); -INSERT INTO product_slots VALUES(69,196); -INSERT INTO product_slots VALUES(69,197); -INSERT INTO product_slots VALUES(69,198); -INSERT INTO product_slots VALUES(69,199); -INSERT INTO product_slots VALUES(69,200); -INSERT INTO product_slots VALUES(69,201); -INSERT INTO product_slots VALUES(69,202); -INSERT INTO product_slots VALUES(69,203); -INSERT INTO product_slots VALUES(69,204); -INSERT INTO product_slots VALUES(69,205); -INSERT INTO product_slots VALUES(69,206); -INSERT INTO product_slots VALUES(69,207); -INSERT INTO product_slots VALUES(69,208); -INSERT INTO product_slots VALUES(69,209); -INSERT INTO product_slots VALUES(69,210); -INSERT INTO product_slots VALUES(69,211); -INSERT INTO product_slots VALUES(69,212); -INSERT INTO product_slots VALUES(69,213); -INSERT INTO product_slots VALUES(69,214); -INSERT INTO product_slots VALUES(69,215); -INSERT INTO product_slots VALUES(69,216); -INSERT INTO product_slots VALUES(69,217); -INSERT INTO product_slots VALUES(69,218); -INSERT INTO product_slots VALUES(69,219); -INSERT INTO product_slots VALUES(69,220); -INSERT INTO product_slots VALUES(69,221); -INSERT INTO product_slots VALUES(69,222); -INSERT INTO product_slots VALUES(69,223); -INSERT INTO product_slots VALUES(69,224); -INSERT INTO product_slots VALUES(69,225); -INSERT INTO product_slots VALUES(69,226); -INSERT INTO product_slots VALUES(69,227); -INSERT INTO product_slots VALUES(69,228); -INSERT INTO product_slots VALUES(69,229); -INSERT INTO product_slots VALUES(69,230); -INSERT INTO product_slots VALUES(69,231); -INSERT INTO product_slots VALUES(69,232); -INSERT INTO product_slots VALUES(69,233); -INSERT INTO product_slots VALUES(69,234); -INSERT INTO product_slots VALUES(69,235); -INSERT INTO product_slots VALUES(69,236); -INSERT INTO product_slots VALUES(69,237); -INSERT INTO product_slots VALUES(69,238); -INSERT INTO product_slots VALUES(69,239); -INSERT INTO product_slots VALUES(69,240); -INSERT INTO product_slots VALUES(69,241); -INSERT INTO product_slots VALUES(69,242); -INSERT INTO product_slots VALUES(69,243); -INSERT INTO product_slots VALUES(69,244); -INSERT INTO product_slots VALUES(69,274); -INSERT INTO product_slots VALUES(69,275); -INSERT INTO product_slots VALUES(69,279); -INSERT INTO product_slots VALUES(69,280); -INSERT INTO product_slots VALUES(69,281); -INSERT INTO product_slots VALUES(69,282); -INSERT INTO product_slots VALUES(69,283); -INSERT INTO product_slots VALUES(69,284); -INSERT INTO product_slots VALUES(69,285); -INSERT INTO product_slots VALUES(69,286); -INSERT INTO product_slots VALUES(69,287); -INSERT INTO product_slots VALUES(70,39); -INSERT INTO product_slots VALUES(70,44); -INSERT INTO product_slots VALUES(70,46); -INSERT INTO product_slots VALUES(70,47); -INSERT INTO product_slots VALUES(70,48); -INSERT INTO product_slots VALUES(70,49); -INSERT INTO product_slots VALUES(70,50); -INSERT INTO product_slots VALUES(70,51); -INSERT INTO product_slots VALUES(70,52); -INSERT INTO product_slots VALUES(70,53); -INSERT INTO product_slots VALUES(70,54); -INSERT INTO product_slots VALUES(70,55); -INSERT INTO product_slots VALUES(70,56); -INSERT INTO product_slots VALUES(70,57); -INSERT INTO product_slots VALUES(70,58); -INSERT INTO product_slots VALUES(70,59); -INSERT INTO product_slots VALUES(70,60); -INSERT INTO product_slots VALUES(70,61); -INSERT INTO product_slots VALUES(70,62); -INSERT INTO product_slots VALUES(70,63); -INSERT INTO product_slots VALUES(70,64); -INSERT INTO product_slots VALUES(70,65); -INSERT INTO product_slots VALUES(70,66); -INSERT INTO product_slots VALUES(70,67); -INSERT INTO product_slots VALUES(70,68); -INSERT INTO product_slots VALUES(70,69); -INSERT INTO product_slots VALUES(70,70); -INSERT INTO product_slots VALUES(70,71); -INSERT INTO product_slots VALUES(70,72); -INSERT INTO product_slots VALUES(70,73); -INSERT INTO product_slots VALUES(70,74); -INSERT INTO product_slots VALUES(70,75); -INSERT INTO product_slots VALUES(70,76); -INSERT INTO product_slots VALUES(70,77); -INSERT INTO product_slots VALUES(70,78); -INSERT INTO product_slots VALUES(70,79); -INSERT INTO product_slots VALUES(70,80); -INSERT INTO product_slots VALUES(70,81); -INSERT INTO product_slots VALUES(70,82); -INSERT INTO product_slots VALUES(70,83); -INSERT INTO product_slots VALUES(70,84); -INSERT INTO product_slots VALUES(70,85); -INSERT INTO product_slots VALUES(70,86); -INSERT INTO product_slots VALUES(70,87); -INSERT INTO product_slots VALUES(70,88); -INSERT INTO product_slots VALUES(70,89); -INSERT INTO product_slots VALUES(70,90); -INSERT INTO product_slots VALUES(70,91); -INSERT INTO product_slots VALUES(70,92); -INSERT INTO product_slots VALUES(70,93); -INSERT INTO product_slots VALUES(70,94); -INSERT INTO product_slots VALUES(70,95); -INSERT INTO product_slots VALUES(70,96); -INSERT INTO product_slots VALUES(70,97); -INSERT INTO product_slots VALUES(70,98); -INSERT INTO product_slots VALUES(70,99); -INSERT INTO product_slots VALUES(70,100); -INSERT INTO product_slots VALUES(70,101); -INSERT INTO product_slots VALUES(70,102); -INSERT INTO product_slots VALUES(70,103); -INSERT INTO product_slots VALUES(70,104); -INSERT INTO product_slots VALUES(70,105); -INSERT INTO product_slots VALUES(70,106); -INSERT INTO product_slots VALUES(70,107); -INSERT INTO product_slots VALUES(70,108); -INSERT INTO product_slots VALUES(70,109); -INSERT INTO product_slots VALUES(70,110); -INSERT INTO product_slots VALUES(70,111); -INSERT INTO product_slots VALUES(70,112); -INSERT INTO product_slots VALUES(70,113); -INSERT INTO product_slots VALUES(70,114); -INSERT INTO product_slots VALUES(70,115); -INSERT INTO product_slots VALUES(70,116); -INSERT INTO product_slots VALUES(70,117); -INSERT INTO product_slots VALUES(70,118); -INSERT INTO product_slots VALUES(70,119); -INSERT INTO product_slots VALUES(70,120); -INSERT INTO product_slots VALUES(70,121); -INSERT INTO product_slots VALUES(70,122); -INSERT INTO product_slots VALUES(70,123); -INSERT INTO product_slots VALUES(70,124); -INSERT INTO product_slots VALUES(70,125); -INSERT INTO product_slots VALUES(70,126); -INSERT INTO product_slots VALUES(70,127); -INSERT INTO product_slots VALUES(70,128); -INSERT INTO product_slots VALUES(70,129); -INSERT INTO product_slots VALUES(70,130); -INSERT INTO product_slots VALUES(70,131); -INSERT INTO product_slots VALUES(70,132); -INSERT INTO product_slots VALUES(70,133); -INSERT INTO product_slots VALUES(70,134); -INSERT INTO product_slots VALUES(70,135); -INSERT INTO product_slots VALUES(70,136); -INSERT INTO product_slots VALUES(70,137); -INSERT INTO product_slots VALUES(70,138); -INSERT INTO product_slots VALUES(70,139); -INSERT INTO product_slots VALUES(70,140); -INSERT INTO product_slots VALUES(70,141); -INSERT INTO product_slots VALUES(70,142); -INSERT INTO product_slots VALUES(70,143); -INSERT INTO product_slots VALUES(70,144); -INSERT INTO product_slots VALUES(70,145); -INSERT INTO product_slots VALUES(70,146); -INSERT INTO product_slots VALUES(70,147); -INSERT INTO product_slots VALUES(70,148); -INSERT INTO product_slots VALUES(70,149); -INSERT INTO product_slots VALUES(70,150); -INSERT INTO product_slots VALUES(70,151); -INSERT INTO product_slots VALUES(70,152); -INSERT INTO product_slots VALUES(70,153); -INSERT INTO product_slots VALUES(70,154); -INSERT INTO product_slots VALUES(70,155); -INSERT INTO product_slots VALUES(70,156); -INSERT INTO product_slots VALUES(70,157); -INSERT INTO product_slots VALUES(70,158); -INSERT INTO product_slots VALUES(70,159); -INSERT INTO product_slots VALUES(70,160); -INSERT INTO product_slots VALUES(70,161); -INSERT INTO product_slots VALUES(70,162); -INSERT INTO product_slots VALUES(70,163); -INSERT INTO product_slots VALUES(70,164); -INSERT INTO product_slots VALUES(70,165); -INSERT INTO product_slots VALUES(70,166); -INSERT INTO product_slots VALUES(70,167); -INSERT INTO product_slots VALUES(70,168); -INSERT INTO product_slots VALUES(70,169); -INSERT INTO product_slots VALUES(70,170); -INSERT INTO product_slots VALUES(70,171); -INSERT INTO product_slots VALUES(70,172); -INSERT INTO product_slots VALUES(70,173); -INSERT INTO product_slots VALUES(70,174); -INSERT INTO product_slots VALUES(70,175); -INSERT INTO product_slots VALUES(70,176); -INSERT INTO product_slots VALUES(70,177); -INSERT INTO product_slots VALUES(70,178); -INSERT INTO product_slots VALUES(70,179); -INSERT INTO product_slots VALUES(70,180); -INSERT INTO product_slots VALUES(70,181); -INSERT INTO product_slots VALUES(70,182); -INSERT INTO product_slots VALUES(70,183); -INSERT INTO product_slots VALUES(70,184); -INSERT INTO product_slots VALUES(70,185); -INSERT INTO product_slots VALUES(70,186); -INSERT INTO product_slots VALUES(70,187); -INSERT INTO product_slots VALUES(70,188); -INSERT INTO product_slots VALUES(70,189); -INSERT INTO product_slots VALUES(70,190); -INSERT INTO product_slots VALUES(70,191); -INSERT INTO product_slots VALUES(70,192); -INSERT INTO product_slots VALUES(70,193); -INSERT INTO product_slots VALUES(70,194); -INSERT INTO product_slots VALUES(70,195); -INSERT INTO product_slots VALUES(70,196); -INSERT INTO product_slots VALUES(70,197); -INSERT INTO product_slots VALUES(70,198); -INSERT INTO product_slots VALUES(70,199); -INSERT INTO product_slots VALUES(70,200); -INSERT INTO product_slots VALUES(70,201); -INSERT INTO product_slots VALUES(70,202); -INSERT INTO product_slots VALUES(70,203); -INSERT INTO product_slots VALUES(70,204); -INSERT INTO product_slots VALUES(70,205); -INSERT INTO product_slots VALUES(70,206); -INSERT INTO product_slots VALUES(70,207); -INSERT INTO product_slots VALUES(70,208); -INSERT INTO product_slots VALUES(70,209); -INSERT INTO product_slots VALUES(70,210); -INSERT INTO product_slots VALUES(70,211); -INSERT INTO product_slots VALUES(70,212); -INSERT INTO product_slots VALUES(70,213); -INSERT INTO product_slots VALUES(70,214); -INSERT INTO product_slots VALUES(70,215); -INSERT INTO product_slots VALUES(70,216); -INSERT INTO product_slots VALUES(70,217); -INSERT INTO product_slots VALUES(70,218); -INSERT INTO product_slots VALUES(70,219); -INSERT INTO product_slots VALUES(70,220); -INSERT INTO product_slots VALUES(70,221); -INSERT INTO product_slots VALUES(70,222); -INSERT INTO product_slots VALUES(70,223); -INSERT INTO product_slots VALUES(70,224); -INSERT INTO product_slots VALUES(70,225); -INSERT INTO product_slots VALUES(70,226); -INSERT INTO product_slots VALUES(70,227); -INSERT INTO product_slots VALUES(70,228); -INSERT INTO product_slots VALUES(70,229); -INSERT INTO product_slots VALUES(70,230); -INSERT INTO product_slots VALUES(70,231); -INSERT INTO product_slots VALUES(70,232); -INSERT INTO product_slots VALUES(70,233); -INSERT INTO product_slots VALUES(70,234); -INSERT INTO product_slots VALUES(70,235); -INSERT INTO product_slots VALUES(70,236); -INSERT INTO product_slots VALUES(70,237); -INSERT INTO product_slots VALUES(70,238); -INSERT INTO product_slots VALUES(70,239); -INSERT INTO product_slots VALUES(70,240); -INSERT INTO product_slots VALUES(70,241); -INSERT INTO product_slots VALUES(70,242); -INSERT INTO product_slots VALUES(70,243); -INSERT INTO product_slots VALUES(70,244); -INSERT INTO product_slots VALUES(70,274); -INSERT INTO product_slots VALUES(70,275); -INSERT INTO product_slots VALUES(70,279); -INSERT INTO product_slots VALUES(70,280); -INSERT INTO product_slots VALUES(70,281); -INSERT INTO product_slots VALUES(70,282); -INSERT INTO product_slots VALUES(70,283); -INSERT INTO product_slots VALUES(70,284); -INSERT INTO product_slots VALUES(70,285); -INSERT INTO product_slots VALUES(70,286); -INSERT INTO product_slots VALUES(70,287); -INSERT INTO product_slots VALUES(71,39); -INSERT INTO product_slots VALUES(71,41); -INSERT INTO product_slots VALUES(71,43); -INSERT INTO product_slots VALUES(71,44); -INSERT INTO product_slots VALUES(71,45); -INSERT INTO product_slots VALUES(71,46); -INSERT INTO product_slots VALUES(71,47); -INSERT INTO product_slots VALUES(71,48); -INSERT INTO product_slots VALUES(71,49); -INSERT INTO product_slots VALUES(71,50); -INSERT INTO product_slots VALUES(71,51); -INSERT INTO product_slots VALUES(71,52); -INSERT INTO product_slots VALUES(71,53); -INSERT INTO product_slots VALUES(71,54); -INSERT INTO product_slots VALUES(71,55); -INSERT INTO product_slots VALUES(71,56); -INSERT INTO product_slots VALUES(71,57); -INSERT INTO product_slots VALUES(71,58); -INSERT INTO product_slots VALUES(71,59); -INSERT INTO product_slots VALUES(71,60); -INSERT INTO product_slots VALUES(71,61); -INSERT INTO product_slots VALUES(71,62); -INSERT INTO product_slots VALUES(71,63); -INSERT INTO product_slots VALUES(71,64); -INSERT INTO product_slots VALUES(71,65); -INSERT INTO product_slots VALUES(71,66); -INSERT INTO product_slots VALUES(71,67); -INSERT INTO product_slots VALUES(71,68); -INSERT INTO product_slots VALUES(71,69); -INSERT INTO product_slots VALUES(71,70); -INSERT INTO product_slots VALUES(71,71); -INSERT INTO product_slots VALUES(71,72); -INSERT INTO product_slots VALUES(71,73); -INSERT INTO product_slots VALUES(71,74); -INSERT INTO product_slots VALUES(71,75); -INSERT INTO product_slots VALUES(71,76); -INSERT INTO product_slots VALUES(71,77); -INSERT INTO product_slots VALUES(71,78); -INSERT INTO product_slots VALUES(71,79); -INSERT INTO product_slots VALUES(71,80); -INSERT INTO product_slots VALUES(71,81); -INSERT INTO product_slots VALUES(71,82); -INSERT INTO product_slots VALUES(71,83); -INSERT INTO product_slots VALUES(71,84); -INSERT INTO product_slots VALUES(71,85); -INSERT INTO product_slots VALUES(71,86); -INSERT INTO product_slots VALUES(71,87); -INSERT INTO product_slots VALUES(71,88); -INSERT INTO product_slots VALUES(71,89); -INSERT INTO product_slots VALUES(71,90); -INSERT INTO product_slots VALUES(71,91); -INSERT INTO product_slots VALUES(71,92); -INSERT INTO product_slots VALUES(71,93); -INSERT INTO product_slots VALUES(71,94); -INSERT INTO product_slots VALUES(71,95); -INSERT INTO product_slots VALUES(71,96); -INSERT INTO product_slots VALUES(71,97); -INSERT INTO product_slots VALUES(71,98); -INSERT INTO product_slots VALUES(71,99); -INSERT INTO product_slots VALUES(71,100); -INSERT INTO product_slots VALUES(71,101); -INSERT INTO product_slots VALUES(71,102); -INSERT INTO product_slots VALUES(71,103); -INSERT INTO product_slots VALUES(71,104); -INSERT INTO product_slots VALUES(71,105); -INSERT INTO product_slots VALUES(71,106); -INSERT INTO product_slots VALUES(71,107); -INSERT INTO product_slots VALUES(71,108); -INSERT INTO product_slots VALUES(71,109); -INSERT INTO product_slots VALUES(71,110); -INSERT INTO product_slots VALUES(71,111); -INSERT INTO product_slots VALUES(71,112); -INSERT INTO product_slots VALUES(71,113); -INSERT INTO product_slots VALUES(71,114); -INSERT INTO product_slots VALUES(71,115); -INSERT INTO product_slots VALUES(71,116); -INSERT INTO product_slots VALUES(71,117); -INSERT INTO product_slots VALUES(71,118); -INSERT INTO product_slots VALUES(71,119); -INSERT INTO product_slots VALUES(71,120); -INSERT INTO product_slots VALUES(71,121); -INSERT INTO product_slots VALUES(71,122); -INSERT INTO product_slots VALUES(71,123); -INSERT INTO product_slots VALUES(71,124); -INSERT INTO product_slots VALUES(71,125); -INSERT INTO product_slots VALUES(71,126); -INSERT INTO product_slots VALUES(71,127); -INSERT INTO product_slots VALUES(71,128); -INSERT INTO product_slots VALUES(71,129); -INSERT INTO product_slots VALUES(71,130); -INSERT INTO product_slots VALUES(71,131); -INSERT INTO product_slots VALUES(71,132); -INSERT INTO product_slots VALUES(71,133); -INSERT INTO product_slots VALUES(71,134); -INSERT INTO product_slots VALUES(71,135); -INSERT INTO product_slots VALUES(71,136); -INSERT INTO product_slots VALUES(71,137); -INSERT INTO product_slots VALUES(71,138); -INSERT INTO product_slots VALUES(71,139); -INSERT INTO product_slots VALUES(71,140); -INSERT INTO product_slots VALUES(71,141); -INSERT INTO product_slots VALUES(71,142); -INSERT INTO product_slots VALUES(71,143); -INSERT INTO product_slots VALUES(71,144); -INSERT INTO product_slots VALUES(71,145); -INSERT INTO product_slots VALUES(71,146); -INSERT INTO product_slots VALUES(71,147); -INSERT INTO product_slots VALUES(71,148); -INSERT INTO product_slots VALUES(71,149); -INSERT INTO product_slots VALUES(71,150); -INSERT INTO product_slots VALUES(71,151); -INSERT INTO product_slots VALUES(71,152); -INSERT INTO product_slots VALUES(71,153); -INSERT INTO product_slots VALUES(71,154); -INSERT INTO product_slots VALUES(71,155); -INSERT INTO product_slots VALUES(71,156); -INSERT INTO product_slots VALUES(71,157); -INSERT INTO product_slots VALUES(71,158); -INSERT INTO product_slots VALUES(71,159); -INSERT INTO product_slots VALUES(71,160); -INSERT INTO product_slots VALUES(71,161); -INSERT INTO product_slots VALUES(71,162); -INSERT INTO product_slots VALUES(71,163); -INSERT INTO product_slots VALUES(71,164); -INSERT INTO product_slots VALUES(71,165); -INSERT INTO product_slots VALUES(71,166); -INSERT INTO product_slots VALUES(71,167); -INSERT INTO product_slots VALUES(71,168); -INSERT INTO product_slots VALUES(71,169); -INSERT INTO product_slots VALUES(71,170); -INSERT INTO product_slots VALUES(71,171); -INSERT INTO product_slots VALUES(71,172); -INSERT INTO product_slots VALUES(71,173); -INSERT INTO product_slots VALUES(71,174); -INSERT INTO product_slots VALUES(71,175); -INSERT INTO product_slots VALUES(71,176); -INSERT INTO product_slots VALUES(71,177); -INSERT INTO product_slots VALUES(71,178); -INSERT INTO product_slots VALUES(71,179); -INSERT INTO product_slots VALUES(71,180); -INSERT INTO product_slots VALUES(71,181); -INSERT INTO product_slots VALUES(71,182); -INSERT INTO product_slots VALUES(71,183); -INSERT INTO product_slots VALUES(71,184); -INSERT INTO product_slots VALUES(71,185); -INSERT INTO product_slots VALUES(71,186); -INSERT INTO product_slots VALUES(71,187); -INSERT INTO product_slots VALUES(71,188); -INSERT INTO product_slots VALUES(71,189); -INSERT INTO product_slots VALUES(71,190); -INSERT INTO product_slots VALUES(71,191); -INSERT INTO product_slots VALUES(71,192); -INSERT INTO product_slots VALUES(71,193); -INSERT INTO product_slots VALUES(71,194); -INSERT INTO product_slots VALUES(71,195); -INSERT INTO product_slots VALUES(71,196); -INSERT INTO product_slots VALUES(71,197); -INSERT INTO product_slots VALUES(71,198); -INSERT INTO product_slots VALUES(71,199); -INSERT INTO product_slots VALUES(71,200); -INSERT INTO product_slots VALUES(71,201); -INSERT INTO product_slots VALUES(71,202); -INSERT INTO product_slots VALUES(71,203); -INSERT INTO product_slots VALUES(71,204); -INSERT INTO product_slots VALUES(71,205); -INSERT INTO product_slots VALUES(71,206); -INSERT INTO product_slots VALUES(71,207); -INSERT INTO product_slots VALUES(71,208); -INSERT INTO product_slots VALUES(71,209); -INSERT INTO product_slots VALUES(71,210); -INSERT INTO product_slots VALUES(71,211); -INSERT INTO product_slots VALUES(71,212); -INSERT INTO product_slots VALUES(71,213); -INSERT INTO product_slots VALUES(71,214); -INSERT INTO product_slots VALUES(71,215); -INSERT INTO product_slots VALUES(71,216); -INSERT INTO product_slots VALUES(71,217); -INSERT INTO product_slots VALUES(71,218); -INSERT INTO product_slots VALUES(71,219); -INSERT INTO product_slots VALUES(71,220); -INSERT INTO product_slots VALUES(71,221); -INSERT INTO product_slots VALUES(71,222); -INSERT INTO product_slots VALUES(71,223); -INSERT INTO product_slots VALUES(71,224); -INSERT INTO product_slots VALUES(71,225); -INSERT INTO product_slots VALUES(71,226); -INSERT INTO product_slots VALUES(71,227); -INSERT INTO product_slots VALUES(71,228); -INSERT INTO product_slots VALUES(71,229); -INSERT INTO product_slots VALUES(71,230); -INSERT INTO product_slots VALUES(71,231); -INSERT INTO product_slots VALUES(71,232); -INSERT INTO product_slots VALUES(71,233); -INSERT INTO product_slots VALUES(71,234); -INSERT INTO product_slots VALUES(71,235); -INSERT INTO product_slots VALUES(71,236); -INSERT INTO product_slots VALUES(71,237); -INSERT INTO product_slots VALUES(71,238); -INSERT INTO product_slots VALUES(71,239); -INSERT INTO product_slots VALUES(71,240); -INSERT INTO product_slots VALUES(71,241); -INSERT INTO product_slots VALUES(71,242); -INSERT INTO product_slots VALUES(71,243); -INSERT INTO product_slots VALUES(71,244); -INSERT INTO product_slots VALUES(71,274); -INSERT INTO product_slots VALUES(71,275); -INSERT INTO product_slots VALUES(71,279); -INSERT INTO product_slots VALUES(71,280); -INSERT INTO product_slots VALUES(71,281); -INSERT INTO product_slots VALUES(71,282); -INSERT INTO product_slots VALUES(71,283); -INSERT INTO product_slots VALUES(71,284); -INSERT INTO product_slots VALUES(71,285); -INSERT INTO product_slots VALUES(71,286); -INSERT INTO product_slots VALUES(71,287); -INSERT INTO product_slots VALUES(72,39); -INSERT INTO product_slots VALUES(72,41); -INSERT INTO product_slots VALUES(72,43); -INSERT INTO product_slots VALUES(72,44); -INSERT INTO product_slots VALUES(72,45); -INSERT INTO product_slots VALUES(72,46); -INSERT INTO product_slots VALUES(72,47); -INSERT INTO product_slots VALUES(72,48); -INSERT INTO product_slots VALUES(72,49); -INSERT INTO product_slots VALUES(72,50); -INSERT INTO product_slots VALUES(72,51); -INSERT INTO product_slots VALUES(72,52); -INSERT INTO product_slots VALUES(72,53); -INSERT INTO product_slots VALUES(72,54); -INSERT INTO product_slots VALUES(72,55); -INSERT INTO product_slots VALUES(72,56); -INSERT INTO product_slots VALUES(72,57); -INSERT INTO product_slots VALUES(72,58); -INSERT INTO product_slots VALUES(72,59); -INSERT INTO product_slots VALUES(72,60); -INSERT INTO product_slots VALUES(72,61); -INSERT INTO product_slots VALUES(72,62); -INSERT INTO product_slots VALUES(72,63); -INSERT INTO product_slots VALUES(72,64); -INSERT INTO product_slots VALUES(72,65); -INSERT INTO product_slots VALUES(72,66); -INSERT INTO product_slots VALUES(72,67); -INSERT INTO product_slots VALUES(72,68); -INSERT INTO product_slots VALUES(72,69); -INSERT INTO product_slots VALUES(72,70); -INSERT INTO product_slots VALUES(72,71); -INSERT INTO product_slots VALUES(72,72); -INSERT INTO product_slots VALUES(72,73); -INSERT INTO product_slots VALUES(72,74); -INSERT INTO product_slots VALUES(72,75); -INSERT INTO product_slots VALUES(72,76); -INSERT INTO product_slots VALUES(72,77); -INSERT INTO product_slots VALUES(72,78); -INSERT INTO product_slots VALUES(72,79); -INSERT INTO product_slots VALUES(72,80); -INSERT INTO product_slots VALUES(72,81); -INSERT INTO product_slots VALUES(72,82); -INSERT INTO product_slots VALUES(72,83); -INSERT INTO product_slots VALUES(72,84); -INSERT INTO product_slots VALUES(72,85); -INSERT INTO product_slots VALUES(72,86); -INSERT INTO product_slots VALUES(72,87); -INSERT INTO product_slots VALUES(72,88); -INSERT INTO product_slots VALUES(72,89); -INSERT INTO product_slots VALUES(72,90); -INSERT INTO product_slots VALUES(72,91); -INSERT INTO product_slots VALUES(72,92); -INSERT INTO product_slots VALUES(72,93); -INSERT INTO product_slots VALUES(72,94); -INSERT INTO product_slots VALUES(72,95); -INSERT INTO product_slots VALUES(72,96); -INSERT INTO product_slots VALUES(72,97); -INSERT INTO product_slots VALUES(72,98); -INSERT INTO product_slots VALUES(72,99); -INSERT INTO product_slots VALUES(72,100); -INSERT INTO product_slots VALUES(72,101); -INSERT INTO product_slots VALUES(72,102); -INSERT INTO product_slots VALUES(72,103); -INSERT INTO product_slots VALUES(72,104); -INSERT INTO product_slots VALUES(72,105); -INSERT INTO product_slots VALUES(72,106); -INSERT INTO product_slots VALUES(72,107); -INSERT INTO product_slots VALUES(72,108); -INSERT INTO product_slots VALUES(72,109); -INSERT INTO product_slots VALUES(72,110); -INSERT INTO product_slots VALUES(72,111); -INSERT INTO product_slots VALUES(72,112); -INSERT INTO product_slots VALUES(72,113); -INSERT INTO product_slots VALUES(72,114); -INSERT INTO product_slots VALUES(72,115); -INSERT INTO product_slots VALUES(72,116); -INSERT INTO product_slots VALUES(72,117); -INSERT INTO product_slots VALUES(72,118); -INSERT INTO product_slots VALUES(72,119); -INSERT INTO product_slots VALUES(72,120); -INSERT INTO product_slots VALUES(72,121); -INSERT INTO product_slots VALUES(72,122); -INSERT INTO product_slots VALUES(72,123); -INSERT INTO product_slots VALUES(72,124); -INSERT INTO product_slots VALUES(72,125); -INSERT INTO product_slots VALUES(72,126); -INSERT INTO product_slots VALUES(72,127); -INSERT INTO product_slots VALUES(72,128); -INSERT INTO product_slots VALUES(72,129); -INSERT INTO product_slots VALUES(72,130); -INSERT INTO product_slots VALUES(72,131); -INSERT INTO product_slots VALUES(72,132); -INSERT INTO product_slots VALUES(72,133); -INSERT INTO product_slots VALUES(72,134); -INSERT INTO product_slots VALUES(72,135); -INSERT INTO product_slots VALUES(72,136); -INSERT INTO product_slots VALUES(72,137); -INSERT INTO product_slots VALUES(72,138); -INSERT INTO product_slots VALUES(72,139); -INSERT INTO product_slots VALUES(72,140); -INSERT INTO product_slots VALUES(72,141); -INSERT INTO product_slots VALUES(72,142); -INSERT INTO product_slots VALUES(72,143); -INSERT INTO product_slots VALUES(72,144); -INSERT INTO product_slots VALUES(72,145); -INSERT INTO product_slots VALUES(72,146); -INSERT INTO product_slots VALUES(72,147); -INSERT INTO product_slots VALUES(72,148); -INSERT INTO product_slots VALUES(72,149); -INSERT INTO product_slots VALUES(72,150); -INSERT INTO product_slots VALUES(72,151); -INSERT INTO product_slots VALUES(72,152); -INSERT INTO product_slots VALUES(72,153); -INSERT INTO product_slots VALUES(72,154); -INSERT INTO product_slots VALUES(72,155); -INSERT INTO product_slots VALUES(72,156); -INSERT INTO product_slots VALUES(72,157); -INSERT INTO product_slots VALUES(72,158); -INSERT INTO product_slots VALUES(72,159); -INSERT INTO product_slots VALUES(72,160); -INSERT INTO product_slots VALUES(72,161); -INSERT INTO product_slots VALUES(72,162); -INSERT INTO product_slots VALUES(72,163); -INSERT INTO product_slots VALUES(72,164); -INSERT INTO product_slots VALUES(72,165); -INSERT INTO product_slots VALUES(72,166); -INSERT INTO product_slots VALUES(72,167); -INSERT INTO product_slots VALUES(72,168); -INSERT INTO product_slots VALUES(72,169); -INSERT INTO product_slots VALUES(72,170); -INSERT INTO product_slots VALUES(72,171); -INSERT INTO product_slots VALUES(72,172); -INSERT INTO product_slots VALUES(72,173); -INSERT INTO product_slots VALUES(72,174); -INSERT INTO product_slots VALUES(72,175); -INSERT INTO product_slots VALUES(72,176); -INSERT INTO product_slots VALUES(72,177); -INSERT INTO product_slots VALUES(72,178); -INSERT INTO product_slots VALUES(72,179); -INSERT INTO product_slots VALUES(72,180); -INSERT INTO product_slots VALUES(72,181); -INSERT INTO product_slots VALUES(72,182); -INSERT INTO product_slots VALUES(72,183); -INSERT INTO product_slots VALUES(72,184); -INSERT INTO product_slots VALUES(72,185); -INSERT INTO product_slots VALUES(72,186); -INSERT INTO product_slots VALUES(72,187); -INSERT INTO product_slots VALUES(72,188); -INSERT INTO product_slots VALUES(72,189); -INSERT INTO product_slots VALUES(72,190); -INSERT INTO product_slots VALUES(72,191); -INSERT INTO product_slots VALUES(72,192); -INSERT INTO product_slots VALUES(72,193); -INSERT INTO product_slots VALUES(72,194); -INSERT INTO product_slots VALUES(72,195); -INSERT INTO product_slots VALUES(72,196); -INSERT INTO product_slots VALUES(72,197); -INSERT INTO product_slots VALUES(72,198); -INSERT INTO product_slots VALUES(72,199); -INSERT INTO product_slots VALUES(72,200); -INSERT INTO product_slots VALUES(72,201); -INSERT INTO product_slots VALUES(72,202); -INSERT INTO product_slots VALUES(72,203); -INSERT INTO product_slots VALUES(72,204); -INSERT INTO product_slots VALUES(72,205); -INSERT INTO product_slots VALUES(72,206); -INSERT INTO product_slots VALUES(72,207); -INSERT INTO product_slots VALUES(72,208); -INSERT INTO product_slots VALUES(72,209); -INSERT INTO product_slots VALUES(72,210); -INSERT INTO product_slots VALUES(72,211); -INSERT INTO product_slots VALUES(72,212); -INSERT INTO product_slots VALUES(72,213); -INSERT INTO product_slots VALUES(72,214); -INSERT INTO product_slots VALUES(72,215); -INSERT INTO product_slots VALUES(72,216); -INSERT INTO product_slots VALUES(72,217); -INSERT INTO product_slots VALUES(72,218); -INSERT INTO product_slots VALUES(72,219); -INSERT INTO product_slots VALUES(72,220); -INSERT INTO product_slots VALUES(72,221); -INSERT INTO product_slots VALUES(72,222); -INSERT INTO product_slots VALUES(72,223); -INSERT INTO product_slots VALUES(72,224); -INSERT INTO product_slots VALUES(72,225); -INSERT INTO product_slots VALUES(72,226); -INSERT INTO product_slots VALUES(72,227); -INSERT INTO product_slots VALUES(72,228); -INSERT INTO product_slots VALUES(72,229); -INSERT INTO product_slots VALUES(72,230); -INSERT INTO product_slots VALUES(72,231); -INSERT INTO product_slots VALUES(72,232); -INSERT INTO product_slots VALUES(72,233); -INSERT INTO product_slots VALUES(72,234); -INSERT INTO product_slots VALUES(72,235); -INSERT INTO product_slots VALUES(72,236); -INSERT INTO product_slots VALUES(72,237); -INSERT INTO product_slots VALUES(72,238); -INSERT INTO product_slots VALUES(72,239); -INSERT INTO product_slots VALUES(72,240); -INSERT INTO product_slots VALUES(72,241); -INSERT INTO product_slots VALUES(72,242); -INSERT INTO product_slots VALUES(72,243); -INSERT INTO product_slots VALUES(72,244); -INSERT INTO product_slots VALUES(72,274); -INSERT INTO product_slots VALUES(72,275); -INSERT INTO product_slots VALUES(72,279); -INSERT INTO product_slots VALUES(72,280); -INSERT INTO product_slots VALUES(72,281); -INSERT INTO product_slots VALUES(72,282); -INSERT INTO product_slots VALUES(72,283); -INSERT INTO product_slots VALUES(72,284); -INSERT INTO product_slots VALUES(72,285); -INSERT INTO product_slots VALUES(72,286); -INSERT INTO product_slots VALUES(72,287); -INSERT INTO product_slots VALUES(73,40); -INSERT INTO product_slots VALUES(73,64); -INSERT INTO product_slots VALUES(73,65); -INSERT INTO product_slots VALUES(73,66); -INSERT INTO product_slots VALUES(73,67); -INSERT INTO product_slots VALUES(73,68); -INSERT INTO product_slots VALUES(73,69); -INSERT INTO product_slots VALUES(73,70); -INSERT INTO product_slots VALUES(73,71); -INSERT INTO product_slots VALUES(73,72); -INSERT INTO product_slots VALUES(73,73); -INSERT INTO product_slots VALUES(73,74); -INSERT INTO product_slots VALUES(73,75); -INSERT INTO product_slots VALUES(73,76); -INSERT INTO product_slots VALUES(73,77); -INSERT INTO product_slots VALUES(73,78); -INSERT INTO product_slots VALUES(73,79); -INSERT INTO product_slots VALUES(73,80); -INSERT INTO product_slots VALUES(73,81); -INSERT INTO product_slots VALUES(73,82); -INSERT INTO product_slots VALUES(73,83); -INSERT INTO product_slots VALUES(73,84); -INSERT INTO product_slots VALUES(73,85); -INSERT INTO product_slots VALUES(73,86); -INSERT INTO product_slots VALUES(73,87); -INSERT INTO product_slots VALUES(73,88); -INSERT INTO product_slots VALUES(73,89); -INSERT INTO product_slots VALUES(73,90); -INSERT INTO product_slots VALUES(73,91); -INSERT INTO product_slots VALUES(73,92); -INSERT INTO product_slots VALUES(73,93); -INSERT INTO product_slots VALUES(73,94); -INSERT INTO product_slots VALUES(73,95); -INSERT INTO product_slots VALUES(73,96); -INSERT INTO product_slots VALUES(73,97); -INSERT INTO product_slots VALUES(73,98); -INSERT INTO product_slots VALUES(73,99); -INSERT INTO product_slots VALUES(73,100); -INSERT INTO product_slots VALUES(73,102); -INSERT INTO product_slots VALUES(73,103); -INSERT INTO product_slots VALUES(73,104); -INSERT INTO product_slots VALUES(73,105); -INSERT INTO product_slots VALUES(73,106); -INSERT INTO product_slots VALUES(73,107); -INSERT INTO product_slots VALUES(73,108); -INSERT INTO product_slots VALUES(73,109); -INSERT INTO product_slots VALUES(73,110); -INSERT INTO product_slots VALUES(73,111); -INSERT INTO product_slots VALUES(73,112); -INSERT INTO product_slots VALUES(73,113); -INSERT INTO product_slots VALUES(73,114); -INSERT INTO product_slots VALUES(73,115); -INSERT INTO product_slots VALUES(73,117); -INSERT INTO product_slots VALUES(73,118); -INSERT INTO product_slots VALUES(73,119); -INSERT INTO product_slots VALUES(73,120); -INSERT INTO product_slots VALUES(73,121); -INSERT INTO product_slots VALUES(73,122); -INSERT INTO product_slots VALUES(73,123); -INSERT INTO product_slots VALUES(73,124); -INSERT INTO product_slots VALUES(73,125); -INSERT INTO product_slots VALUES(73,126); -INSERT INTO product_slots VALUES(73,127); -INSERT INTO product_slots VALUES(73,128); -INSERT INTO product_slots VALUES(73,129); -INSERT INTO product_slots VALUES(73,130); -INSERT INTO product_slots VALUES(73,131); -INSERT INTO product_slots VALUES(73,132); -INSERT INTO product_slots VALUES(73,133); -INSERT INTO product_slots VALUES(73,134); -INSERT INTO product_slots VALUES(73,135); -INSERT INTO product_slots VALUES(73,136); -INSERT INTO product_slots VALUES(73,138); -INSERT INTO product_slots VALUES(73,139); -INSERT INTO product_slots VALUES(73,140); -INSERT INTO product_slots VALUES(73,141); -INSERT INTO product_slots VALUES(73,142); -INSERT INTO product_slots VALUES(73,143); -INSERT INTO product_slots VALUES(73,145); -INSERT INTO product_slots VALUES(73,146); -INSERT INTO product_slots VALUES(73,147); -INSERT INTO product_slots VALUES(73,148); -INSERT INTO product_slots VALUES(73,149); -INSERT INTO product_slots VALUES(73,150); -INSERT INTO product_slots VALUES(73,151); -INSERT INTO product_slots VALUES(73,152); -INSERT INTO product_slots VALUES(73,153); -INSERT INTO product_slots VALUES(73,154); -INSERT INTO product_slots VALUES(73,155); -INSERT INTO product_slots VALUES(73,156); -INSERT INTO product_slots VALUES(73,157); -INSERT INTO product_slots VALUES(73,158); -INSERT INTO product_slots VALUES(73,159); -INSERT INTO product_slots VALUES(73,160); -INSERT INTO product_slots VALUES(73,161); -INSERT INTO product_slots VALUES(73,162); -INSERT INTO product_slots VALUES(73,163); -INSERT INTO product_slots VALUES(73,164); -INSERT INTO product_slots VALUES(73,165); -INSERT INTO product_slots VALUES(73,166); -INSERT INTO product_slots VALUES(73,167); -INSERT INTO product_slots VALUES(73,168); -INSERT INTO product_slots VALUES(73,169); -INSERT INTO product_slots VALUES(73,170); -INSERT INTO product_slots VALUES(73,171); -INSERT INTO product_slots VALUES(73,172); -INSERT INTO product_slots VALUES(73,173); -INSERT INTO product_slots VALUES(73,174); -INSERT INTO product_slots VALUES(73,175); -INSERT INTO product_slots VALUES(73,176); -INSERT INTO product_slots VALUES(73,177); -INSERT INTO product_slots VALUES(73,178); -INSERT INTO product_slots VALUES(73,179); -INSERT INTO product_slots VALUES(73,180); -INSERT INTO product_slots VALUES(73,181); -INSERT INTO product_slots VALUES(73,182); -INSERT INTO product_slots VALUES(73,183); -INSERT INTO product_slots VALUES(73,184); -INSERT INTO product_slots VALUES(73,185); -INSERT INTO product_slots VALUES(73,186); -INSERT INTO product_slots VALUES(73,187); -INSERT INTO product_slots VALUES(73,188); -INSERT INTO product_slots VALUES(73,189); -INSERT INTO product_slots VALUES(73,190); -INSERT INTO product_slots VALUES(73,191); -INSERT INTO product_slots VALUES(73,192); -INSERT INTO product_slots VALUES(73,193); -INSERT INTO product_slots VALUES(73,194); -INSERT INTO product_slots VALUES(73,195); -INSERT INTO product_slots VALUES(73,196); -INSERT INTO product_slots VALUES(73,197); -INSERT INTO product_slots VALUES(73,198); -INSERT INTO product_slots VALUES(73,199); -INSERT INTO product_slots VALUES(73,200); -INSERT INTO product_slots VALUES(73,201); -INSERT INTO product_slots VALUES(73,202); -INSERT INTO product_slots VALUES(73,203); -INSERT INTO product_slots VALUES(73,204); -INSERT INTO product_slots VALUES(73,205); -INSERT INTO product_slots VALUES(73,206); -INSERT INTO product_slots VALUES(73,207); -INSERT INTO product_slots VALUES(73,208); -INSERT INTO product_slots VALUES(73,209); -INSERT INTO product_slots VALUES(73,210); -INSERT INTO product_slots VALUES(73,211); -INSERT INTO product_slots VALUES(73,212); -INSERT INTO product_slots VALUES(73,213); -INSERT INTO product_slots VALUES(73,214); -INSERT INTO product_slots VALUES(73,215); -INSERT INTO product_slots VALUES(73,216); -INSERT INTO product_slots VALUES(73,217); -INSERT INTO product_slots VALUES(73,218); -INSERT INTO product_slots VALUES(73,219); -INSERT INTO product_slots VALUES(73,220); -INSERT INTO product_slots VALUES(73,221); -INSERT INTO product_slots VALUES(73,222); -INSERT INTO product_slots VALUES(73,223); -INSERT INTO product_slots VALUES(73,224); -INSERT INTO product_slots VALUES(73,225); -INSERT INTO product_slots VALUES(73,226); -INSERT INTO product_slots VALUES(73,227); -INSERT INTO product_slots VALUES(73,228); -INSERT INTO product_slots VALUES(73,229); -INSERT INTO product_slots VALUES(73,230); -INSERT INTO product_slots VALUES(73,231); -INSERT INTO product_slots VALUES(73,232); -INSERT INTO product_slots VALUES(73,233); -INSERT INTO product_slots VALUES(73,234); -INSERT INTO product_slots VALUES(73,235); -INSERT INTO product_slots VALUES(73,236); -INSERT INTO product_slots VALUES(73,237); -INSERT INTO product_slots VALUES(73,238); -INSERT INTO product_slots VALUES(73,239); -INSERT INTO product_slots VALUES(73,240); -INSERT INTO product_slots VALUES(73,241); -INSERT INTO product_slots VALUES(73,242); -INSERT INTO product_slots VALUES(73,243); -INSERT INTO product_slots VALUES(73,244); -INSERT INTO product_slots VALUES(73,274); -INSERT INTO product_slots VALUES(73,275); -INSERT INTO product_slots VALUES(73,279); -INSERT INTO product_slots VALUES(73,280); -INSERT INTO product_slots VALUES(73,281); -INSERT INTO product_slots VALUES(73,282); -INSERT INTO product_slots VALUES(73,283); -INSERT INTO product_slots VALUES(73,284); -INSERT INTO product_slots VALUES(73,285); -INSERT INTO product_slots VALUES(73,286); -INSERT INTO product_slots VALUES(73,287); -INSERT INTO product_slots VALUES(74,39); -INSERT INTO product_slots VALUES(74,44); -INSERT INTO product_slots VALUES(74,46); -INSERT INTO product_slots VALUES(74,47); -INSERT INTO product_slots VALUES(74,48); -INSERT INTO product_slots VALUES(74,49); -INSERT INTO product_slots VALUES(74,50); -INSERT INTO product_slots VALUES(74,51); -INSERT INTO product_slots VALUES(74,52); -INSERT INTO product_slots VALUES(74,53); -INSERT INTO product_slots VALUES(74,54); -INSERT INTO product_slots VALUES(74,55); -INSERT INTO product_slots VALUES(74,56); -INSERT INTO product_slots VALUES(74,57); -INSERT INTO product_slots VALUES(74,58); -INSERT INTO product_slots VALUES(74,59); -INSERT INTO product_slots VALUES(74,60); -INSERT INTO product_slots VALUES(74,61); -INSERT INTO product_slots VALUES(74,62); -INSERT INTO product_slots VALUES(74,63); -INSERT INTO product_slots VALUES(74,64); -INSERT INTO product_slots VALUES(74,65); -INSERT INTO product_slots VALUES(74,66); -INSERT INTO product_slots VALUES(74,67); -INSERT INTO product_slots VALUES(74,68); -INSERT INTO product_slots VALUES(74,69); -INSERT INTO product_slots VALUES(74,70); -INSERT INTO product_slots VALUES(74,71); -INSERT INTO product_slots VALUES(74,72); -INSERT INTO product_slots VALUES(74,73); -INSERT INTO product_slots VALUES(74,74); -INSERT INTO product_slots VALUES(74,75); -INSERT INTO product_slots VALUES(74,76); -INSERT INTO product_slots VALUES(74,77); -INSERT INTO product_slots VALUES(74,78); -INSERT INTO product_slots VALUES(74,79); -INSERT INTO product_slots VALUES(74,80); -INSERT INTO product_slots VALUES(74,81); -INSERT INTO product_slots VALUES(74,82); -INSERT INTO product_slots VALUES(74,83); -INSERT INTO product_slots VALUES(74,84); -INSERT INTO product_slots VALUES(74,85); -INSERT INTO product_slots VALUES(74,86); -INSERT INTO product_slots VALUES(74,87); -INSERT INTO product_slots VALUES(74,88); -INSERT INTO product_slots VALUES(74,89); -INSERT INTO product_slots VALUES(74,90); -INSERT INTO product_slots VALUES(74,91); -INSERT INTO product_slots VALUES(74,92); -INSERT INTO product_slots VALUES(74,93); -INSERT INTO product_slots VALUES(74,94); -INSERT INTO product_slots VALUES(74,95); -INSERT INTO product_slots VALUES(74,96); -INSERT INTO product_slots VALUES(74,97); -INSERT INTO product_slots VALUES(74,98); -INSERT INTO product_slots VALUES(74,99); -INSERT INTO product_slots VALUES(74,100); -INSERT INTO product_slots VALUES(74,101); -INSERT INTO product_slots VALUES(74,102); -INSERT INTO product_slots VALUES(74,103); -INSERT INTO product_slots VALUES(74,104); -INSERT INTO product_slots VALUES(74,105); -INSERT INTO product_slots VALUES(74,106); -INSERT INTO product_slots VALUES(74,107); -INSERT INTO product_slots VALUES(74,108); -INSERT INTO product_slots VALUES(74,109); -INSERT INTO product_slots VALUES(74,110); -INSERT INTO product_slots VALUES(74,111); -INSERT INTO product_slots VALUES(74,112); -INSERT INTO product_slots VALUES(74,113); -INSERT INTO product_slots VALUES(74,114); -INSERT INTO product_slots VALUES(74,115); -INSERT INTO product_slots VALUES(74,116); -INSERT INTO product_slots VALUES(74,117); -INSERT INTO product_slots VALUES(74,118); -INSERT INTO product_slots VALUES(74,119); -INSERT INTO product_slots VALUES(74,120); -INSERT INTO product_slots VALUES(74,121); -INSERT INTO product_slots VALUES(74,122); -INSERT INTO product_slots VALUES(74,123); -INSERT INTO product_slots VALUES(74,124); -INSERT INTO product_slots VALUES(74,125); -INSERT INTO product_slots VALUES(74,126); -INSERT INTO product_slots VALUES(74,127); -INSERT INTO product_slots VALUES(74,128); -INSERT INTO product_slots VALUES(74,129); -INSERT INTO product_slots VALUES(74,130); -INSERT INTO product_slots VALUES(74,131); -INSERT INTO product_slots VALUES(74,132); -INSERT INTO product_slots VALUES(74,133); -INSERT INTO product_slots VALUES(74,134); -INSERT INTO product_slots VALUES(74,135); -INSERT INTO product_slots VALUES(74,136); -INSERT INTO product_slots VALUES(74,137); -INSERT INTO product_slots VALUES(74,138); -INSERT INTO product_slots VALUES(74,139); -INSERT INTO product_slots VALUES(74,140); -INSERT INTO product_slots VALUES(74,141); -INSERT INTO product_slots VALUES(74,142); -INSERT INTO product_slots VALUES(74,143); -INSERT INTO product_slots VALUES(74,144); -INSERT INTO product_slots VALUES(74,145); -INSERT INTO product_slots VALUES(74,146); -INSERT INTO product_slots VALUES(74,147); -INSERT INTO product_slots VALUES(74,148); -INSERT INTO product_slots VALUES(74,149); -INSERT INTO product_slots VALUES(74,150); -INSERT INTO product_slots VALUES(74,151); -INSERT INTO product_slots VALUES(74,152); -INSERT INTO product_slots VALUES(74,153); -INSERT INTO product_slots VALUES(74,154); -INSERT INTO product_slots VALUES(74,155); -INSERT INTO product_slots VALUES(74,156); -INSERT INTO product_slots VALUES(74,157); -INSERT INTO product_slots VALUES(74,158); -INSERT INTO product_slots VALUES(74,159); -INSERT INTO product_slots VALUES(74,160); -INSERT INTO product_slots VALUES(74,161); -INSERT INTO product_slots VALUES(74,162); -INSERT INTO product_slots VALUES(74,163); -INSERT INTO product_slots VALUES(74,164); -INSERT INTO product_slots VALUES(74,165); -INSERT INTO product_slots VALUES(74,166); -INSERT INTO product_slots VALUES(74,167); -INSERT INTO product_slots VALUES(74,168); -INSERT INTO product_slots VALUES(74,169); -INSERT INTO product_slots VALUES(74,170); -INSERT INTO product_slots VALUES(74,171); -INSERT INTO product_slots VALUES(74,172); -INSERT INTO product_slots VALUES(74,173); -INSERT INTO product_slots VALUES(74,174); -INSERT INTO product_slots VALUES(74,175); -INSERT INTO product_slots VALUES(74,176); -INSERT INTO product_slots VALUES(74,177); -INSERT INTO product_slots VALUES(74,178); -INSERT INTO product_slots VALUES(74,179); -INSERT INTO product_slots VALUES(74,180); -INSERT INTO product_slots VALUES(74,181); -INSERT INTO product_slots VALUES(74,182); -INSERT INTO product_slots VALUES(74,183); -INSERT INTO product_slots VALUES(74,184); -INSERT INTO product_slots VALUES(74,185); -INSERT INTO product_slots VALUES(74,186); -INSERT INTO product_slots VALUES(74,187); -INSERT INTO product_slots VALUES(74,188); -INSERT INTO product_slots VALUES(74,189); -INSERT INTO product_slots VALUES(74,190); -INSERT INTO product_slots VALUES(74,191); -INSERT INTO product_slots VALUES(74,192); -INSERT INTO product_slots VALUES(74,193); -INSERT INTO product_slots VALUES(74,194); -INSERT INTO product_slots VALUES(74,195); -INSERT INTO product_slots VALUES(74,196); -INSERT INTO product_slots VALUES(74,197); -INSERT INTO product_slots VALUES(74,198); -INSERT INTO product_slots VALUES(74,199); -INSERT INTO product_slots VALUES(74,200); -INSERT INTO product_slots VALUES(74,201); -INSERT INTO product_slots VALUES(74,202); -INSERT INTO product_slots VALUES(74,203); -INSERT INTO product_slots VALUES(74,204); -INSERT INTO product_slots VALUES(74,205); -INSERT INTO product_slots VALUES(74,206); -INSERT INTO product_slots VALUES(74,207); -INSERT INTO product_slots VALUES(74,208); -INSERT INTO product_slots VALUES(74,209); -INSERT INTO product_slots VALUES(74,210); -INSERT INTO product_slots VALUES(74,211); -INSERT INTO product_slots VALUES(74,212); -INSERT INTO product_slots VALUES(74,213); -INSERT INTO product_slots VALUES(74,214); -INSERT INTO product_slots VALUES(74,215); -INSERT INTO product_slots VALUES(74,216); -INSERT INTO product_slots VALUES(74,217); -INSERT INTO product_slots VALUES(74,218); -INSERT INTO product_slots VALUES(74,219); -INSERT INTO product_slots VALUES(74,220); -INSERT INTO product_slots VALUES(74,221); -INSERT INTO product_slots VALUES(74,222); -INSERT INTO product_slots VALUES(74,223); -INSERT INTO product_slots VALUES(74,224); -INSERT INTO product_slots VALUES(74,225); -INSERT INTO product_slots VALUES(74,226); -INSERT INTO product_slots VALUES(74,227); -INSERT INTO product_slots VALUES(74,228); -INSERT INTO product_slots VALUES(74,229); -INSERT INTO product_slots VALUES(74,230); -INSERT INTO product_slots VALUES(74,231); -INSERT INTO product_slots VALUES(74,232); -INSERT INTO product_slots VALUES(74,233); -INSERT INTO product_slots VALUES(74,234); -INSERT INTO product_slots VALUES(74,235); -INSERT INTO product_slots VALUES(74,236); -INSERT INTO product_slots VALUES(74,237); -INSERT INTO product_slots VALUES(74,238); -INSERT INTO product_slots VALUES(74,239); -INSERT INTO product_slots VALUES(74,240); -INSERT INTO product_slots VALUES(74,241); -INSERT INTO product_slots VALUES(74,242); -INSERT INTO product_slots VALUES(74,243); -INSERT INTO product_slots VALUES(74,244); -INSERT INTO product_slots VALUES(74,274); -INSERT INTO product_slots VALUES(74,275); -INSERT INTO product_slots VALUES(74,279); -INSERT INTO product_slots VALUES(74,280); -INSERT INTO product_slots VALUES(74,281); -INSERT INTO product_slots VALUES(74,282); -INSERT INTO product_slots VALUES(74,283); -INSERT INTO product_slots VALUES(74,284); -INSERT INTO product_slots VALUES(74,285); -INSERT INTO product_slots VALUES(74,286); -INSERT INTO product_slots VALUES(74,287); -INSERT INTO product_slots VALUES(75,39); -INSERT INTO product_slots VALUES(75,43); -INSERT INTO product_slots VALUES(75,45); -INSERT INTO product_slots VALUES(75,48); -INSERT INTO product_slots VALUES(75,49); -INSERT INTO product_slots VALUES(75,51); -INSERT INTO product_slots VALUES(75,52); -INSERT INTO product_slots VALUES(75,57); -INSERT INTO product_slots VALUES(75,58); -INSERT INTO product_slots VALUES(75,59); -INSERT INTO product_slots VALUES(75,62); -INSERT INTO product_slots VALUES(75,63); -INSERT INTO product_slots VALUES(75,64); -INSERT INTO product_slots VALUES(75,65); -INSERT INTO product_slots VALUES(75,66); -INSERT INTO product_slots VALUES(75,67); -INSERT INTO product_slots VALUES(75,69); -INSERT INTO product_slots VALUES(75,70); -INSERT INTO product_slots VALUES(75,71); -INSERT INTO product_slots VALUES(75,72); -INSERT INTO product_slots VALUES(75,73); -INSERT INTO product_slots VALUES(75,75); -INSERT INTO product_slots VALUES(75,82); -INSERT INTO product_slots VALUES(75,83); -INSERT INTO product_slots VALUES(75,84); -INSERT INTO product_slots VALUES(75,90); -INSERT INTO product_slots VALUES(75,91); -INSERT INTO product_slots VALUES(75,97); -INSERT INTO product_slots VALUES(75,98); -INSERT INTO product_slots VALUES(75,102); -INSERT INTO product_slots VALUES(75,103); -INSERT INTO product_slots VALUES(75,104); -INSERT INTO product_slots VALUES(75,110); -INSERT INTO product_slots VALUES(75,111); -INSERT INTO product_slots VALUES(75,112); -INSERT INTO product_slots VALUES(75,116); -INSERT INTO product_slots VALUES(75,117); -INSERT INTO product_slots VALUES(75,118); -INSERT INTO product_slots VALUES(75,119); -INSERT INTO product_slots VALUES(75,120); -INSERT INTO product_slots VALUES(75,121); -INSERT INTO product_slots VALUES(75,122); -INSERT INTO product_slots VALUES(75,123); -INSERT INTO product_slots VALUES(75,124); -INSERT INTO product_slots VALUES(75,125); -INSERT INTO product_slots VALUES(75,126); -INSERT INTO product_slots VALUES(75,127); -INSERT INTO product_slots VALUES(75,128); -INSERT INTO product_slots VALUES(75,129); -INSERT INTO product_slots VALUES(75,130); -INSERT INTO product_slots VALUES(75,131); -INSERT INTO product_slots VALUES(75,132); -INSERT INTO product_slots VALUES(75,133); -INSERT INTO product_slots VALUES(75,134); -INSERT INTO product_slots VALUES(75,135); -INSERT INTO product_slots VALUES(75,136); -INSERT INTO product_slots VALUES(75,137); -INSERT INTO product_slots VALUES(75,138); -INSERT INTO product_slots VALUES(75,139); -INSERT INTO product_slots VALUES(75,140); -INSERT INTO product_slots VALUES(75,141); -INSERT INTO product_slots VALUES(75,142); -INSERT INTO product_slots VALUES(75,143); -INSERT INTO product_slots VALUES(75,144); -INSERT INTO product_slots VALUES(75,145); -INSERT INTO product_slots VALUES(75,146); -INSERT INTO product_slots VALUES(75,147); -INSERT INTO product_slots VALUES(75,148); -INSERT INTO product_slots VALUES(75,149); -INSERT INTO product_slots VALUES(75,150); -INSERT INTO product_slots VALUES(75,151); -INSERT INTO product_slots VALUES(75,152); -INSERT INTO product_slots VALUES(75,153); -INSERT INTO product_slots VALUES(75,154); -INSERT INTO product_slots VALUES(75,155); -INSERT INTO product_slots VALUES(75,156); -INSERT INTO product_slots VALUES(75,157); -INSERT INTO product_slots VALUES(75,158); -INSERT INTO product_slots VALUES(75,159); -INSERT INTO product_slots VALUES(75,160); -INSERT INTO product_slots VALUES(75,161); -INSERT INTO product_slots VALUES(75,162); -INSERT INTO product_slots VALUES(75,163); -INSERT INTO product_slots VALUES(75,164); -INSERT INTO product_slots VALUES(75,165); -INSERT INTO product_slots VALUES(75,166); -INSERT INTO product_slots VALUES(75,167); -INSERT INTO product_slots VALUES(75,168); -INSERT INTO product_slots VALUES(75,169); -INSERT INTO product_slots VALUES(75,170); -INSERT INTO product_slots VALUES(75,171); -INSERT INTO product_slots VALUES(75,172); -INSERT INTO product_slots VALUES(75,173); -INSERT INTO product_slots VALUES(75,174); -INSERT INTO product_slots VALUES(75,175); -INSERT INTO product_slots VALUES(75,176); -INSERT INTO product_slots VALUES(75,177); -INSERT INTO product_slots VALUES(75,178); -INSERT INTO product_slots VALUES(75,179); -INSERT INTO product_slots VALUES(75,180); -INSERT INTO product_slots VALUES(75,181); -INSERT INTO product_slots VALUES(75,182); -INSERT INTO product_slots VALUES(75,183); -INSERT INTO product_slots VALUES(75,184); -INSERT INTO product_slots VALUES(75,185); -INSERT INTO product_slots VALUES(75,186); -INSERT INTO product_slots VALUES(75,187); -INSERT INTO product_slots VALUES(75,188); -INSERT INTO product_slots VALUES(75,189); -INSERT INTO product_slots VALUES(75,190); -INSERT INTO product_slots VALUES(75,191); -INSERT INTO product_slots VALUES(75,192); -INSERT INTO product_slots VALUES(75,193); -INSERT INTO product_slots VALUES(75,194); -INSERT INTO product_slots VALUES(75,195); -INSERT INTO product_slots VALUES(75,196); -INSERT INTO product_slots VALUES(75,197); -INSERT INTO product_slots VALUES(75,198); -INSERT INTO product_slots VALUES(75,199); -INSERT INTO product_slots VALUES(75,200); -INSERT INTO product_slots VALUES(75,201); -INSERT INTO product_slots VALUES(75,202); -INSERT INTO product_slots VALUES(75,203); -INSERT INTO product_slots VALUES(75,204); -INSERT INTO product_slots VALUES(75,205); -INSERT INTO product_slots VALUES(75,206); -INSERT INTO product_slots VALUES(75,207); -INSERT INTO product_slots VALUES(75,208); -INSERT INTO product_slots VALUES(75,209); -INSERT INTO product_slots VALUES(75,210); -INSERT INTO product_slots VALUES(75,211); -INSERT INTO product_slots VALUES(75,212); -INSERT INTO product_slots VALUES(75,213); -INSERT INTO product_slots VALUES(75,214); -INSERT INTO product_slots VALUES(75,215); -INSERT INTO product_slots VALUES(75,216); -INSERT INTO product_slots VALUES(75,217); -INSERT INTO product_slots VALUES(75,218); -INSERT INTO product_slots VALUES(75,219); -INSERT INTO product_slots VALUES(75,220); -INSERT INTO product_slots VALUES(75,221); -INSERT INTO product_slots VALUES(75,222); -INSERT INTO product_slots VALUES(75,223); -INSERT INTO product_slots VALUES(75,224); -INSERT INTO product_slots VALUES(75,225); -INSERT INTO product_slots VALUES(75,226); -INSERT INTO product_slots VALUES(75,227); -INSERT INTO product_slots VALUES(75,228); -INSERT INTO product_slots VALUES(75,229); -INSERT INTO product_slots VALUES(75,230); -INSERT INTO product_slots VALUES(75,231); -INSERT INTO product_slots VALUES(75,232); -INSERT INTO product_slots VALUES(75,233); -INSERT INTO product_slots VALUES(75,234); -INSERT INTO product_slots VALUES(75,235); -INSERT INTO product_slots VALUES(75,236); -INSERT INTO product_slots VALUES(75,237); -INSERT INTO product_slots VALUES(75,238); -INSERT INTO product_slots VALUES(75,239); -INSERT INTO product_slots VALUES(75,240); -INSERT INTO product_slots VALUES(75,241); -INSERT INTO product_slots VALUES(75,242); -INSERT INTO product_slots VALUES(75,243); -INSERT INTO product_slots VALUES(75,244); -INSERT INTO product_slots VALUES(75,274); -INSERT INTO product_slots VALUES(75,275); -INSERT INTO product_slots VALUES(75,279); -INSERT INTO product_slots VALUES(75,280); -INSERT INTO product_slots VALUES(75,281); -INSERT INTO product_slots VALUES(75,282); -INSERT INTO product_slots VALUES(75,283); -INSERT INTO product_slots VALUES(75,284); -INSERT INTO product_slots VALUES(75,285); -INSERT INTO product_slots VALUES(75,286); -INSERT INTO product_slots VALUES(75,287); -INSERT INTO product_slots VALUES(76,39); -INSERT INTO product_slots VALUES(76,41); -INSERT INTO product_slots VALUES(76,43); -INSERT INTO product_slots VALUES(76,44); -INSERT INTO product_slots VALUES(76,45); -INSERT INTO product_slots VALUES(76,46); -INSERT INTO product_slots VALUES(76,47); -INSERT INTO product_slots VALUES(76,48); -INSERT INTO product_slots VALUES(76,49); -INSERT INTO product_slots VALUES(76,50); -INSERT INTO product_slots VALUES(76,51); -INSERT INTO product_slots VALUES(76,52); -INSERT INTO product_slots VALUES(76,53); -INSERT INTO product_slots VALUES(76,54); -INSERT INTO product_slots VALUES(76,55); -INSERT INTO product_slots VALUES(76,56); -INSERT INTO product_slots VALUES(76,57); -INSERT INTO product_slots VALUES(76,58); -INSERT INTO product_slots VALUES(76,59); -INSERT INTO product_slots VALUES(76,60); -INSERT INTO product_slots VALUES(76,61); -INSERT INTO product_slots VALUES(76,62); -INSERT INTO product_slots VALUES(76,63); -INSERT INTO product_slots VALUES(76,64); -INSERT INTO product_slots VALUES(76,65); -INSERT INTO product_slots VALUES(76,66); -INSERT INTO product_slots VALUES(76,67); -INSERT INTO product_slots VALUES(76,68); -INSERT INTO product_slots VALUES(76,69); -INSERT INTO product_slots VALUES(76,70); -INSERT INTO product_slots VALUES(76,71); -INSERT INTO product_slots VALUES(76,72); -INSERT INTO product_slots VALUES(76,73); -INSERT INTO product_slots VALUES(76,74); -INSERT INTO product_slots VALUES(76,75); -INSERT INTO product_slots VALUES(76,76); -INSERT INTO product_slots VALUES(76,77); -INSERT INTO product_slots VALUES(76,78); -INSERT INTO product_slots VALUES(76,79); -INSERT INTO product_slots VALUES(76,80); -INSERT INTO product_slots VALUES(76,81); -INSERT INTO product_slots VALUES(76,82); -INSERT INTO product_slots VALUES(76,83); -INSERT INTO product_slots VALUES(76,84); -INSERT INTO product_slots VALUES(76,85); -INSERT INTO product_slots VALUES(76,86); -INSERT INTO product_slots VALUES(76,87); -INSERT INTO product_slots VALUES(76,88); -INSERT INTO product_slots VALUES(76,89); -INSERT INTO product_slots VALUES(76,90); -INSERT INTO product_slots VALUES(76,91); -INSERT INTO product_slots VALUES(76,92); -INSERT INTO product_slots VALUES(76,93); -INSERT INTO product_slots VALUES(76,94); -INSERT INTO product_slots VALUES(76,95); -INSERT INTO product_slots VALUES(76,96); -INSERT INTO product_slots VALUES(76,97); -INSERT INTO product_slots VALUES(76,98); -INSERT INTO product_slots VALUES(76,99); -INSERT INTO product_slots VALUES(76,100); -INSERT INTO product_slots VALUES(76,101); -INSERT INTO product_slots VALUES(76,102); -INSERT INTO product_slots VALUES(76,103); -INSERT INTO product_slots VALUES(76,104); -INSERT INTO product_slots VALUES(76,105); -INSERT INTO product_slots VALUES(76,106); -INSERT INTO product_slots VALUES(76,107); -INSERT INTO product_slots VALUES(76,108); -INSERT INTO product_slots VALUES(76,109); -INSERT INTO product_slots VALUES(76,110); -INSERT INTO product_slots VALUES(76,111); -INSERT INTO product_slots VALUES(76,112); -INSERT INTO product_slots VALUES(76,113); -INSERT INTO product_slots VALUES(76,114); -INSERT INTO product_slots VALUES(76,115); -INSERT INTO product_slots VALUES(76,116); -INSERT INTO product_slots VALUES(76,117); -INSERT INTO product_slots VALUES(76,118); -INSERT INTO product_slots VALUES(76,119); -INSERT INTO product_slots VALUES(76,120); -INSERT INTO product_slots VALUES(76,121); -INSERT INTO product_slots VALUES(76,122); -INSERT INTO product_slots VALUES(76,123); -INSERT INTO product_slots VALUES(76,124); -INSERT INTO product_slots VALUES(76,125); -INSERT INTO product_slots VALUES(76,126); -INSERT INTO product_slots VALUES(76,127); -INSERT INTO product_slots VALUES(76,128); -INSERT INTO product_slots VALUES(76,129); -INSERT INTO product_slots VALUES(76,130); -INSERT INTO product_slots VALUES(76,131); -INSERT INTO product_slots VALUES(76,132); -INSERT INTO product_slots VALUES(76,133); -INSERT INTO product_slots VALUES(76,134); -INSERT INTO product_slots VALUES(76,135); -INSERT INTO product_slots VALUES(76,136); -INSERT INTO product_slots VALUES(76,137); -INSERT INTO product_slots VALUES(76,138); -INSERT INTO product_slots VALUES(76,139); -INSERT INTO product_slots VALUES(76,140); -INSERT INTO product_slots VALUES(76,141); -INSERT INTO product_slots VALUES(76,142); -INSERT INTO product_slots VALUES(76,143); -INSERT INTO product_slots VALUES(76,144); -INSERT INTO product_slots VALUES(76,145); -INSERT INTO product_slots VALUES(76,146); -INSERT INTO product_slots VALUES(76,147); -INSERT INTO product_slots VALUES(76,148); -INSERT INTO product_slots VALUES(76,149); -INSERT INTO product_slots VALUES(76,150); -INSERT INTO product_slots VALUES(76,151); -INSERT INTO product_slots VALUES(76,152); -INSERT INTO product_slots VALUES(76,153); -INSERT INTO product_slots VALUES(76,154); -INSERT INTO product_slots VALUES(76,155); -INSERT INTO product_slots VALUES(76,156); -INSERT INTO product_slots VALUES(76,157); -INSERT INTO product_slots VALUES(76,158); -INSERT INTO product_slots VALUES(76,159); -INSERT INTO product_slots VALUES(76,160); -INSERT INTO product_slots VALUES(76,161); -INSERT INTO product_slots VALUES(76,162); -INSERT INTO product_slots VALUES(76,163); -INSERT INTO product_slots VALUES(76,164); -INSERT INTO product_slots VALUES(76,165); -INSERT INTO product_slots VALUES(76,166); -INSERT INTO product_slots VALUES(76,167); -INSERT INTO product_slots VALUES(76,168); -INSERT INTO product_slots VALUES(76,169); -INSERT INTO product_slots VALUES(76,170); -INSERT INTO product_slots VALUES(76,171); -INSERT INTO product_slots VALUES(76,172); -INSERT INTO product_slots VALUES(76,173); -INSERT INTO product_slots VALUES(76,174); -INSERT INTO product_slots VALUES(76,175); -INSERT INTO product_slots VALUES(76,176); -INSERT INTO product_slots VALUES(76,177); -INSERT INTO product_slots VALUES(76,178); -INSERT INTO product_slots VALUES(76,179); -INSERT INTO product_slots VALUES(76,180); -INSERT INTO product_slots VALUES(76,181); -INSERT INTO product_slots VALUES(76,182); -INSERT INTO product_slots VALUES(76,183); -INSERT INTO product_slots VALUES(76,184); -INSERT INTO product_slots VALUES(76,185); -INSERT INTO product_slots VALUES(76,186); -INSERT INTO product_slots VALUES(76,187); -INSERT INTO product_slots VALUES(76,188); -INSERT INTO product_slots VALUES(76,189); -INSERT INTO product_slots VALUES(76,190); -INSERT INTO product_slots VALUES(76,191); -INSERT INTO product_slots VALUES(76,192); -INSERT INTO product_slots VALUES(76,193); -INSERT INTO product_slots VALUES(76,194); -INSERT INTO product_slots VALUES(76,195); -INSERT INTO product_slots VALUES(76,196); -INSERT INTO product_slots VALUES(76,197); -INSERT INTO product_slots VALUES(76,198); -INSERT INTO product_slots VALUES(76,199); -INSERT INTO product_slots VALUES(76,200); -INSERT INTO product_slots VALUES(76,201); -INSERT INTO product_slots VALUES(76,202); -INSERT INTO product_slots VALUES(76,203); -INSERT INTO product_slots VALUES(76,204); -INSERT INTO product_slots VALUES(76,205); -INSERT INTO product_slots VALUES(76,206); -INSERT INTO product_slots VALUES(76,207); -INSERT INTO product_slots VALUES(76,208); -INSERT INTO product_slots VALUES(76,209); -INSERT INTO product_slots VALUES(76,210); -INSERT INTO product_slots VALUES(76,211); -INSERT INTO product_slots VALUES(76,212); -INSERT INTO product_slots VALUES(76,213); -INSERT INTO product_slots VALUES(76,214); -INSERT INTO product_slots VALUES(76,215); -INSERT INTO product_slots VALUES(76,216); -INSERT INTO product_slots VALUES(76,217); -INSERT INTO product_slots VALUES(76,218); -INSERT INTO product_slots VALUES(76,219); -INSERT INTO product_slots VALUES(76,220); -INSERT INTO product_slots VALUES(76,221); -INSERT INTO product_slots VALUES(76,222); -INSERT INTO product_slots VALUES(76,223); -INSERT INTO product_slots VALUES(76,224); -INSERT INTO product_slots VALUES(76,225); -INSERT INTO product_slots VALUES(76,226); -INSERT INTO product_slots VALUES(76,227); -INSERT INTO product_slots VALUES(76,228); -INSERT INTO product_slots VALUES(76,229); -INSERT INTO product_slots VALUES(76,230); -INSERT INTO product_slots VALUES(76,231); -INSERT INTO product_slots VALUES(76,232); -INSERT INTO product_slots VALUES(76,233); -INSERT INTO product_slots VALUES(76,234); -INSERT INTO product_slots VALUES(76,235); -INSERT INTO product_slots VALUES(76,236); -INSERT INTO product_slots VALUES(76,237); -INSERT INTO product_slots VALUES(76,238); -INSERT INTO product_slots VALUES(76,239); -INSERT INTO product_slots VALUES(76,240); -INSERT INTO product_slots VALUES(76,241); -INSERT INTO product_slots VALUES(76,242); -INSERT INTO product_slots VALUES(76,243); -INSERT INTO product_slots VALUES(76,244); -INSERT INTO product_slots VALUES(76,274); -INSERT INTO product_slots VALUES(76,275); -INSERT INTO product_slots VALUES(76,279); -INSERT INTO product_slots VALUES(76,280); -INSERT INTO product_slots VALUES(76,281); -INSERT INTO product_slots VALUES(76,282); -INSERT INTO product_slots VALUES(76,283); -INSERT INTO product_slots VALUES(76,284); -INSERT INTO product_slots VALUES(76,285); -INSERT INTO product_slots VALUES(76,286); -INSERT INTO product_slots VALUES(76,287); -INSERT INTO product_slots VALUES(77,39); -INSERT INTO product_slots VALUES(77,44); -INSERT INTO product_slots VALUES(77,46); -INSERT INTO product_slots VALUES(77,47); -INSERT INTO product_slots VALUES(77,48); -INSERT INTO product_slots VALUES(77,49); -INSERT INTO product_slots VALUES(77,50); -INSERT INTO product_slots VALUES(77,51); -INSERT INTO product_slots VALUES(77,52); -INSERT INTO product_slots VALUES(77,53); -INSERT INTO product_slots VALUES(77,54); -INSERT INTO product_slots VALUES(77,55); -INSERT INTO product_slots VALUES(77,56); -INSERT INTO product_slots VALUES(77,57); -INSERT INTO product_slots VALUES(77,58); -INSERT INTO product_slots VALUES(77,59); -INSERT INTO product_slots VALUES(77,60); -INSERT INTO product_slots VALUES(77,61); -INSERT INTO product_slots VALUES(77,62); -INSERT INTO product_slots VALUES(77,63); -INSERT INTO product_slots VALUES(77,64); -INSERT INTO product_slots VALUES(77,65); -INSERT INTO product_slots VALUES(77,66); -INSERT INTO product_slots VALUES(77,67); -INSERT INTO product_slots VALUES(77,68); -INSERT INTO product_slots VALUES(77,69); -INSERT INTO product_slots VALUES(77,70); -INSERT INTO product_slots VALUES(77,71); -INSERT INTO product_slots VALUES(77,72); -INSERT INTO product_slots VALUES(77,73); -INSERT INTO product_slots VALUES(77,74); -INSERT INTO product_slots VALUES(77,75); -INSERT INTO product_slots VALUES(77,76); -INSERT INTO product_slots VALUES(77,77); -INSERT INTO product_slots VALUES(77,78); -INSERT INTO product_slots VALUES(77,79); -INSERT INTO product_slots VALUES(77,80); -INSERT INTO product_slots VALUES(77,81); -INSERT INTO product_slots VALUES(77,82); -INSERT INTO product_slots VALUES(77,83); -INSERT INTO product_slots VALUES(77,84); -INSERT INTO product_slots VALUES(77,85); -INSERT INTO product_slots VALUES(77,86); -INSERT INTO product_slots VALUES(77,87); -INSERT INTO product_slots VALUES(77,88); -INSERT INTO product_slots VALUES(77,89); -INSERT INTO product_slots VALUES(77,90); -INSERT INTO product_slots VALUES(77,91); -INSERT INTO product_slots VALUES(77,92); -INSERT INTO product_slots VALUES(77,93); -INSERT INTO product_slots VALUES(77,94); -INSERT INTO product_slots VALUES(77,95); -INSERT INTO product_slots VALUES(77,96); -INSERT INTO product_slots VALUES(77,97); -INSERT INTO product_slots VALUES(77,98); -INSERT INTO product_slots VALUES(77,99); -INSERT INTO product_slots VALUES(77,100); -INSERT INTO product_slots VALUES(77,101); -INSERT INTO product_slots VALUES(77,102); -INSERT INTO product_slots VALUES(77,103); -INSERT INTO product_slots VALUES(77,104); -INSERT INTO product_slots VALUES(77,105); -INSERT INTO product_slots VALUES(77,106); -INSERT INTO product_slots VALUES(77,107); -INSERT INTO product_slots VALUES(77,108); -INSERT INTO product_slots VALUES(77,109); -INSERT INTO product_slots VALUES(77,110); -INSERT INTO product_slots VALUES(77,111); -INSERT INTO product_slots VALUES(77,112); -INSERT INTO product_slots VALUES(77,113); -INSERT INTO product_slots VALUES(77,114); -INSERT INTO product_slots VALUES(77,115); -INSERT INTO product_slots VALUES(77,116); -INSERT INTO product_slots VALUES(77,117); -INSERT INTO product_slots VALUES(77,118); -INSERT INTO product_slots VALUES(77,119); -INSERT INTO product_slots VALUES(77,120); -INSERT INTO product_slots VALUES(77,121); -INSERT INTO product_slots VALUES(77,122); -INSERT INTO product_slots VALUES(77,123); -INSERT INTO product_slots VALUES(77,124); -INSERT INTO product_slots VALUES(77,125); -INSERT INTO product_slots VALUES(77,126); -INSERT INTO product_slots VALUES(77,127); -INSERT INTO product_slots VALUES(77,128); -INSERT INTO product_slots VALUES(77,129); -INSERT INTO product_slots VALUES(77,130); -INSERT INTO product_slots VALUES(77,131); -INSERT INTO product_slots VALUES(77,132); -INSERT INTO product_slots VALUES(77,133); -INSERT INTO product_slots VALUES(77,134); -INSERT INTO product_slots VALUES(77,135); -INSERT INTO product_slots VALUES(77,136); -INSERT INTO product_slots VALUES(77,137); -INSERT INTO product_slots VALUES(77,138); -INSERT INTO product_slots VALUES(77,139); -INSERT INTO product_slots VALUES(77,140); -INSERT INTO product_slots VALUES(77,141); -INSERT INTO product_slots VALUES(77,142); -INSERT INTO product_slots VALUES(77,143); -INSERT INTO product_slots VALUES(77,144); -INSERT INTO product_slots VALUES(77,145); -INSERT INTO product_slots VALUES(77,146); -INSERT INTO product_slots VALUES(77,147); -INSERT INTO product_slots VALUES(77,148); -INSERT INTO product_slots VALUES(77,149); -INSERT INTO product_slots VALUES(77,150); -INSERT INTO product_slots VALUES(77,151); -INSERT INTO product_slots VALUES(77,152); -INSERT INTO product_slots VALUES(77,153); -INSERT INTO product_slots VALUES(77,154); -INSERT INTO product_slots VALUES(77,155); -INSERT INTO product_slots VALUES(77,156); -INSERT INTO product_slots VALUES(77,157); -INSERT INTO product_slots VALUES(77,158); -INSERT INTO product_slots VALUES(77,159); -INSERT INTO product_slots VALUES(77,160); -INSERT INTO product_slots VALUES(77,161); -INSERT INTO product_slots VALUES(77,162); -INSERT INTO product_slots VALUES(77,163); -INSERT INTO product_slots VALUES(77,164); -INSERT INTO product_slots VALUES(77,165); -INSERT INTO product_slots VALUES(77,166); -INSERT INTO product_slots VALUES(77,167); -INSERT INTO product_slots VALUES(77,168); -INSERT INTO product_slots VALUES(77,169); -INSERT INTO product_slots VALUES(77,170); -INSERT INTO product_slots VALUES(77,171); -INSERT INTO product_slots VALUES(77,172); -INSERT INTO product_slots VALUES(77,173); -INSERT INTO product_slots VALUES(77,174); -INSERT INTO product_slots VALUES(77,175); -INSERT INTO product_slots VALUES(77,176); -INSERT INTO product_slots VALUES(77,177); -INSERT INTO product_slots VALUES(77,178); -INSERT INTO product_slots VALUES(77,179); -INSERT INTO product_slots VALUES(77,180); -INSERT INTO product_slots VALUES(77,181); -INSERT INTO product_slots VALUES(77,182); -INSERT INTO product_slots VALUES(77,183); -INSERT INTO product_slots VALUES(77,184); -INSERT INTO product_slots VALUES(77,185); -INSERT INTO product_slots VALUES(77,186); -INSERT INTO product_slots VALUES(77,187); -INSERT INTO product_slots VALUES(77,188); -INSERT INTO product_slots VALUES(77,189); -INSERT INTO product_slots VALUES(77,190); -INSERT INTO product_slots VALUES(77,191); -INSERT INTO product_slots VALUES(77,192); -INSERT INTO product_slots VALUES(77,193); -INSERT INTO product_slots VALUES(77,194); -INSERT INTO product_slots VALUES(77,195); -INSERT INTO product_slots VALUES(77,196); -INSERT INTO product_slots VALUES(77,197); -INSERT INTO product_slots VALUES(77,198); -INSERT INTO product_slots VALUES(77,199); -INSERT INTO product_slots VALUES(77,200); -INSERT INTO product_slots VALUES(77,201); -INSERT INTO product_slots VALUES(77,202); -INSERT INTO product_slots VALUES(77,203); -INSERT INTO product_slots VALUES(77,204); -INSERT INTO product_slots VALUES(77,205); -INSERT INTO product_slots VALUES(77,206); -INSERT INTO product_slots VALUES(77,207); -INSERT INTO product_slots VALUES(77,208); -INSERT INTO product_slots VALUES(77,209); -INSERT INTO product_slots VALUES(77,210); -INSERT INTO product_slots VALUES(77,211); -INSERT INTO product_slots VALUES(77,212); -INSERT INTO product_slots VALUES(77,213); -INSERT INTO product_slots VALUES(77,214); -INSERT INTO product_slots VALUES(77,215); -INSERT INTO product_slots VALUES(77,216); -INSERT INTO product_slots VALUES(77,217); -INSERT INTO product_slots VALUES(77,218); -INSERT INTO product_slots VALUES(77,219); -INSERT INTO product_slots VALUES(77,220); -INSERT INTO product_slots VALUES(77,221); -INSERT INTO product_slots VALUES(77,222); -INSERT INTO product_slots VALUES(77,223); -INSERT INTO product_slots VALUES(77,224); -INSERT INTO product_slots VALUES(77,225); -INSERT INTO product_slots VALUES(77,226); -INSERT INTO product_slots VALUES(77,227); -INSERT INTO product_slots VALUES(77,228); -INSERT INTO product_slots VALUES(77,229); -INSERT INTO product_slots VALUES(77,230); -INSERT INTO product_slots VALUES(77,231); -INSERT INTO product_slots VALUES(77,232); -INSERT INTO product_slots VALUES(77,233); -INSERT INTO product_slots VALUES(77,234); -INSERT INTO product_slots VALUES(77,235); -INSERT INTO product_slots VALUES(77,236); -INSERT INTO product_slots VALUES(77,237); -INSERT INTO product_slots VALUES(77,238); -INSERT INTO product_slots VALUES(77,239); -INSERT INTO product_slots VALUES(77,240); -INSERT INTO product_slots VALUES(77,241); -INSERT INTO product_slots VALUES(77,242); -INSERT INTO product_slots VALUES(77,243); -INSERT INTO product_slots VALUES(77,244); -INSERT INTO product_slots VALUES(77,274); -INSERT INTO product_slots VALUES(77,275); -INSERT INTO product_slots VALUES(77,279); -INSERT INTO product_slots VALUES(77,280); -INSERT INTO product_slots VALUES(77,281); -INSERT INTO product_slots VALUES(77,282); -INSERT INTO product_slots VALUES(77,283); -INSERT INTO product_slots VALUES(77,284); -INSERT INTO product_slots VALUES(77,285); -INSERT INTO product_slots VALUES(77,286); -INSERT INTO product_slots VALUES(77,287); -INSERT INTO product_slots VALUES(78,39); -INSERT INTO product_slots VALUES(78,41); -INSERT INTO product_slots VALUES(78,43); -INSERT INTO product_slots VALUES(78,44); -INSERT INTO product_slots VALUES(78,45); -INSERT INTO product_slots VALUES(78,46); -INSERT INTO product_slots VALUES(78,47); -INSERT INTO product_slots VALUES(78,48); -INSERT INTO product_slots VALUES(78,49); -INSERT INTO product_slots VALUES(78,50); -INSERT INTO product_slots VALUES(78,51); -INSERT INTO product_slots VALUES(78,52); -INSERT INTO product_slots VALUES(78,53); -INSERT INTO product_slots VALUES(78,54); -INSERT INTO product_slots VALUES(78,55); -INSERT INTO product_slots VALUES(78,56); -INSERT INTO product_slots VALUES(78,57); -INSERT INTO product_slots VALUES(78,58); -INSERT INTO product_slots VALUES(78,59); -INSERT INTO product_slots VALUES(78,60); -INSERT INTO product_slots VALUES(78,61); -INSERT INTO product_slots VALUES(78,62); -INSERT INTO product_slots VALUES(78,63); -INSERT INTO product_slots VALUES(78,64); -INSERT INTO product_slots VALUES(78,65); -INSERT INTO product_slots VALUES(78,66); -INSERT INTO product_slots VALUES(78,67); -INSERT INTO product_slots VALUES(78,68); -INSERT INTO product_slots VALUES(78,69); -INSERT INTO product_slots VALUES(78,70); -INSERT INTO product_slots VALUES(78,71); -INSERT INTO product_slots VALUES(78,72); -INSERT INTO product_slots VALUES(78,73); -INSERT INTO product_slots VALUES(78,74); -INSERT INTO product_slots VALUES(78,75); -INSERT INTO product_slots VALUES(78,76); -INSERT INTO product_slots VALUES(78,77); -INSERT INTO product_slots VALUES(78,78); -INSERT INTO product_slots VALUES(78,79); -INSERT INTO product_slots VALUES(78,80); -INSERT INTO product_slots VALUES(78,81); -INSERT INTO product_slots VALUES(78,82); -INSERT INTO product_slots VALUES(78,83); -INSERT INTO product_slots VALUES(78,84); -INSERT INTO product_slots VALUES(78,85); -INSERT INTO product_slots VALUES(78,86); -INSERT INTO product_slots VALUES(78,87); -INSERT INTO product_slots VALUES(78,88); -INSERT INTO product_slots VALUES(78,89); -INSERT INTO product_slots VALUES(78,90); -INSERT INTO product_slots VALUES(78,91); -INSERT INTO product_slots VALUES(78,92); -INSERT INTO product_slots VALUES(78,93); -INSERT INTO product_slots VALUES(78,94); -INSERT INTO product_slots VALUES(78,95); -INSERT INTO product_slots VALUES(78,96); -INSERT INTO product_slots VALUES(78,97); -INSERT INTO product_slots VALUES(78,98); -INSERT INTO product_slots VALUES(78,99); -INSERT INTO product_slots VALUES(78,100); -INSERT INTO product_slots VALUES(78,101); -INSERT INTO product_slots VALUES(78,102); -INSERT INTO product_slots VALUES(78,103); -INSERT INTO product_slots VALUES(78,104); -INSERT INTO product_slots VALUES(78,105); -INSERT INTO product_slots VALUES(78,106); -INSERT INTO product_slots VALUES(78,107); -INSERT INTO product_slots VALUES(78,108); -INSERT INTO product_slots VALUES(78,109); -INSERT INTO product_slots VALUES(78,110); -INSERT INTO product_slots VALUES(78,111); -INSERT INTO product_slots VALUES(78,112); -INSERT INTO product_slots VALUES(78,113); -INSERT INTO product_slots VALUES(78,114); -INSERT INTO product_slots VALUES(78,115); -INSERT INTO product_slots VALUES(78,116); -INSERT INTO product_slots VALUES(78,117); -INSERT INTO product_slots VALUES(78,118); -INSERT INTO product_slots VALUES(78,119); -INSERT INTO product_slots VALUES(78,120); -INSERT INTO product_slots VALUES(78,121); -INSERT INTO product_slots VALUES(78,122); -INSERT INTO product_slots VALUES(78,123); -INSERT INTO product_slots VALUES(78,124); -INSERT INTO product_slots VALUES(78,125); -INSERT INTO product_slots VALUES(78,126); -INSERT INTO product_slots VALUES(78,127); -INSERT INTO product_slots VALUES(78,128); -INSERT INTO product_slots VALUES(78,129); -INSERT INTO product_slots VALUES(78,130); -INSERT INTO product_slots VALUES(78,131); -INSERT INTO product_slots VALUES(78,132); -INSERT INTO product_slots VALUES(78,133); -INSERT INTO product_slots VALUES(78,134); -INSERT INTO product_slots VALUES(78,135); -INSERT INTO product_slots VALUES(78,136); -INSERT INTO product_slots VALUES(78,137); -INSERT INTO product_slots VALUES(78,138); -INSERT INTO product_slots VALUES(78,139); -INSERT INTO product_slots VALUES(78,140); -INSERT INTO product_slots VALUES(78,141); -INSERT INTO product_slots VALUES(78,142); -INSERT INTO product_slots VALUES(78,143); -INSERT INTO product_slots VALUES(78,144); -INSERT INTO product_slots VALUES(78,145); -INSERT INTO product_slots VALUES(78,146); -INSERT INTO product_slots VALUES(78,147); -INSERT INTO product_slots VALUES(78,148); -INSERT INTO product_slots VALUES(78,149); -INSERT INTO product_slots VALUES(78,150); -INSERT INTO product_slots VALUES(78,151); -INSERT INTO product_slots VALUES(78,152); -INSERT INTO product_slots VALUES(78,153); -INSERT INTO product_slots VALUES(78,154); -INSERT INTO product_slots VALUES(78,155); -INSERT INTO product_slots VALUES(78,156); -INSERT INTO product_slots VALUES(78,157); -INSERT INTO product_slots VALUES(78,158); -INSERT INTO product_slots VALUES(78,159); -INSERT INTO product_slots VALUES(78,160); -INSERT INTO product_slots VALUES(78,161); -INSERT INTO product_slots VALUES(78,162); -INSERT INTO product_slots VALUES(78,163); -INSERT INTO product_slots VALUES(78,164); -INSERT INTO product_slots VALUES(78,165); -INSERT INTO product_slots VALUES(78,166); -INSERT INTO product_slots VALUES(78,167); -INSERT INTO product_slots VALUES(78,168); -INSERT INTO product_slots VALUES(78,169); -INSERT INTO product_slots VALUES(78,170); -INSERT INTO product_slots VALUES(78,171); -INSERT INTO product_slots VALUES(78,172); -INSERT INTO product_slots VALUES(78,173); -INSERT INTO product_slots VALUES(78,174); -INSERT INTO product_slots VALUES(78,175); -INSERT INTO product_slots VALUES(78,176); -INSERT INTO product_slots VALUES(78,177); -INSERT INTO product_slots VALUES(78,178); -INSERT INTO product_slots VALUES(78,179); -INSERT INTO product_slots VALUES(78,180); -INSERT INTO product_slots VALUES(78,181); -INSERT INTO product_slots VALUES(78,182); -INSERT INTO product_slots VALUES(78,183); -INSERT INTO product_slots VALUES(78,184); -INSERT INTO product_slots VALUES(78,185); -INSERT INTO product_slots VALUES(78,186); -INSERT INTO product_slots VALUES(78,187); -INSERT INTO product_slots VALUES(78,188); -INSERT INTO product_slots VALUES(78,189); -INSERT INTO product_slots VALUES(78,190); -INSERT INTO product_slots VALUES(78,191); -INSERT INTO product_slots VALUES(78,192); -INSERT INTO product_slots VALUES(78,193); -INSERT INTO product_slots VALUES(78,194); -INSERT INTO product_slots VALUES(78,195); -INSERT INTO product_slots VALUES(78,196); -INSERT INTO product_slots VALUES(78,197); -INSERT INTO product_slots VALUES(78,198); -INSERT INTO product_slots VALUES(78,199); -INSERT INTO product_slots VALUES(78,200); -INSERT INTO product_slots VALUES(78,201); -INSERT INTO product_slots VALUES(78,202); -INSERT INTO product_slots VALUES(78,203); -INSERT INTO product_slots VALUES(78,204); -INSERT INTO product_slots VALUES(78,205); -INSERT INTO product_slots VALUES(78,206); -INSERT INTO product_slots VALUES(78,207); -INSERT INTO product_slots VALUES(78,208); -INSERT INTO product_slots VALUES(78,209); -INSERT INTO product_slots VALUES(78,210); -INSERT INTO product_slots VALUES(78,211); -INSERT INTO product_slots VALUES(78,212); -INSERT INTO product_slots VALUES(78,213); -INSERT INTO product_slots VALUES(78,214); -INSERT INTO product_slots VALUES(78,215); -INSERT INTO product_slots VALUES(78,216); -INSERT INTO product_slots VALUES(78,217); -INSERT INTO product_slots VALUES(78,218); -INSERT INTO product_slots VALUES(78,219); -INSERT INTO product_slots VALUES(78,220); -INSERT INTO product_slots VALUES(78,221); -INSERT INTO product_slots VALUES(78,222); -INSERT INTO product_slots VALUES(78,223); -INSERT INTO product_slots VALUES(78,224); -INSERT INTO product_slots VALUES(78,225); -INSERT INTO product_slots VALUES(78,226); -INSERT INTO product_slots VALUES(78,227); -INSERT INTO product_slots VALUES(78,228); -INSERT INTO product_slots VALUES(78,229); -INSERT INTO product_slots VALUES(78,230); -INSERT INTO product_slots VALUES(78,231); -INSERT INTO product_slots VALUES(78,232); -INSERT INTO product_slots VALUES(78,233); -INSERT INTO product_slots VALUES(78,234); -INSERT INTO product_slots VALUES(78,235); -INSERT INTO product_slots VALUES(78,236); -INSERT INTO product_slots VALUES(78,237); -INSERT INTO product_slots VALUES(78,238); -INSERT INTO product_slots VALUES(78,239); -INSERT INTO product_slots VALUES(78,240); -INSERT INTO product_slots VALUES(78,241); -INSERT INTO product_slots VALUES(78,242); -INSERT INTO product_slots VALUES(78,243); -INSERT INTO product_slots VALUES(78,244); -INSERT INTO product_slots VALUES(78,274); -INSERT INTO product_slots VALUES(78,275); -INSERT INTO product_slots VALUES(78,279); -INSERT INTO product_slots VALUES(78,280); -INSERT INTO product_slots VALUES(78,281); -INSERT INTO product_slots VALUES(78,282); -INSERT INTO product_slots VALUES(78,283); -INSERT INTO product_slots VALUES(78,284); -INSERT INTO product_slots VALUES(78,285); -INSERT INTO product_slots VALUES(78,286); -INSERT INTO product_slots VALUES(78,287); -INSERT INTO product_slots VALUES(79,39); -INSERT INTO product_slots VALUES(79,41); -INSERT INTO product_slots VALUES(79,43); -INSERT INTO product_slots VALUES(79,44); -INSERT INTO product_slots VALUES(79,45); -INSERT INTO product_slots VALUES(79,46); -INSERT INTO product_slots VALUES(79,47); -INSERT INTO product_slots VALUES(79,48); -INSERT INTO product_slots VALUES(79,49); -INSERT INTO product_slots VALUES(79,50); -INSERT INTO product_slots VALUES(79,51); -INSERT INTO product_slots VALUES(79,52); -INSERT INTO product_slots VALUES(79,53); -INSERT INTO product_slots VALUES(79,54); -INSERT INTO product_slots VALUES(79,55); -INSERT INTO product_slots VALUES(79,56); -INSERT INTO product_slots VALUES(79,57); -INSERT INTO product_slots VALUES(79,58); -INSERT INTO product_slots VALUES(79,59); -INSERT INTO product_slots VALUES(79,60); -INSERT INTO product_slots VALUES(79,61); -INSERT INTO product_slots VALUES(79,62); -INSERT INTO product_slots VALUES(79,63); -INSERT INTO product_slots VALUES(79,64); -INSERT INTO product_slots VALUES(79,65); -INSERT INTO product_slots VALUES(79,66); -INSERT INTO product_slots VALUES(79,67); -INSERT INTO product_slots VALUES(79,68); -INSERT INTO product_slots VALUES(79,69); -INSERT INTO product_slots VALUES(79,70); -INSERT INTO product_slots VALUES(79,71); -INSERT INTO product_slots VALUES(79,72); -INSERT INTO product_slots VALUES(79,73); -INSERT INTO product_slots VALUES(79,74); -INSERT INTO product_slots VALUES(79,75); -INSERT INTO product_slots VALUES(79,76); -INSERT INTO product_slots VALUES(79,77); -INSERT INTO product_slots VALUES(79,78); -INSERT INTO product_slots VALUES(79,79); -INSERT INTO product_slots VALUES(79,80); -INSERT INTO product_slots VALUES(79,81); -INSERT INTO product_slots VALUES(79,82); -INSERT INTO product_slots VALUES(79,83); -INSERT INTO product_slots VALUES(79,84); -INSERT INTO product_slots VALUES(79,85); -INSERT INTO product_slots VALUES(79,86); -INSERT INTO product_slots VALUES(79,87); -INSERT INTO product_slots VALUES(79,88); -INSERT INTO product_slots VALUES(79,89); -INSERT INTO product_slots VALUES(79,90); -INSERT INTO product_slots VALUES(79,91); -INSERT INTO product_slots VALUES(79,92); -INSERT INTO product_slots VALUES(79,93); -INSERT INTO product_slots VALUES(79,94); -INSERT INTO product_slots VALUES(79,95); -INSERT INTO product_slots VALUES(79,96); -INSERT INTO product_slots VALUES(79,97); -INSERT INTO product_slots VALUES(79,98); -INSERT INTO product_slots VALUES(79,99); -INSERT INTO product_slots VALUES(79,100); -INSERT INTO product_slots VALUES(79,101); -INSERT INTO product_slots VALUES(79,102); -INSERT INTO product_slots VALUES(79,103); -INSERT INTO product_slots VALUES(79,104); -INSERT INTO product_slots VALUES(79,105); -INSERT INTO product_slots VALUES(79,106); -INSERT INTO product_slots VALUES(79,107); -INSERT INTO product_slots VALUES(79,108); -INSERT INTO product_slots VALUES(79,109); -INSERT INTO product_slots VALUES(79,110); -INSERT INTO product_slots VALUES(79,111); -INSERT INTO product_slots VALUES(79,112); -INSERT INTO product_slots VALUES(79,113); -INSERT INTO product_slots VALUES(79,114); -INSERT INTO product_slots VALUES(79,115); -INSERT INTO product_slots VALUES(79,116); -INSERT INTO product_slots VALUES(79,117); -INSERT INTO product_slots VALUES(79,118); -INSERT INTO product_slots VALUES(79,119); -INSERT INTO product_slots VALUES(79,120); -INSERT INTO product_slots VALUES(79,121); -INSERT INTO product_slots VALUES(79,122); -INSERT INTO product_slots VALUES(79,123); -INSERT INTO product_slots VALUES(79,124); -INSERT INTO product_slots VALUES(79,125); -INSERT INTO product_slots VALUES(79,126); -INSERT INTO product_slots VALUES(79,127); -INSERT INTO product_slots VALUES(79,128); -INSERT INTO product_slots VALUES(79,129); -INSERT INTO product_slots VALUES(79,130); -INSERT INTO product_slots VALUES(79,131); -INSERT INTO product_slots VALUES(79,132); -INSERT INTO product_slots VALUES(79,133); -INSERT INTO product_slots VALUES(79,134); -INSERT INTO product_slots VALUES(79,135); -INSERT INTO product_slots VALUES(79,136); -INSERT INTO product_slots VALUES(79,137); -INSERT INTO product_slots VALUES(79,138); -INSERT INTO product_slots VALUES(79,139); -INSERT INTO product_slots VALUES(79,140); -INSERT INTO product_slots VALUES(79,141); -INSERT INTO product_slots VALUES(79,142); -INSERT INTO product_slots VALUES(79,143); -INSERT INTO product_slots VALUES(79,144); -INSERT INTO product_slots VALUES(79,145); -INSERT INTO product_slots VALUES(79,146); -INSERT INTO product_slots VALUES(79,147); -INSERT INTO product_slots VALUES(79,148); -INSERT INTO product_slots VALUES(79,149); -INSERT INTO product_slots VALUES(79,150); -INSERT INTO product_slots VALUES(79,151); -INSERT INTO product_slots VALUES(79,152); -INSERT INTO product_slots VALUES(79,153); -INSERT INTO product_slots VALUES(79,154); -INSERT INTO product_slots VALUES(79,155); -INSERT INTO product_slots VALUES(79,156); -INSERT INTO product_slots VALUES(79,157); -INSERT INTO product_slots VALUES(79,158); -INSERT INTO product_slots VALUES(79,159); -INSERT INTO product_slots VALUES(79,160); -INSERT INTO product_slots VALUES(79,161); -INSERT INTO product_slots VALUES(79,162); -INSERT INTO product_slots VALUES(79,163); -INSERT INTO product_slots VALUES(79,164); -INSERT INTO product_slots VALUES(79,165); -INSERT INTO product_slots VALUES(79,166); -INSERT INTO product_slots VALUES(79,167); -INSERT INTO product_slots VALUES(79,168); -INSERT INTO product_slots VALUES(79,169); -INSERT INTO product_slots VALUES(79,170); -INSERT INTO product_slots VALUES(79,171); -INSERT INTO product_slots VALUES(79,172); -INSERT INTO product_slots VALUES(79,173); -INSERT INTO product_slots VALUES(79,174); -INSERT INTO product_slots VALUES(79,175); -INSERT INTO product_slots VALUES(79,176); -INSERT INTO product_slots VALUES(79,177); -INSERT INTO product_slots VALUES(79,178); -INSERT INTO product_slots VALUES(79,179); -INSERT INTO product_slots VALUES(79,180); -INSERT INTO product_slots VALUES(79,181); -INSERT INTO product_slots VALUES(79,182); -INSERT INTO product_slots VALUES(79,183); -INSERT INTO product_slots VALUES(79,184); -INSERT INTO product_slots VALUES(79,185); -INSERT INTO product_slots VALUES(79,186); -INSERT INTO product_slots VALUES(79,187); -INSERT INTO product_slots VALUES(79,188); -INSERT INTO product_slots VALUES(79,189); -INSERT INTO product_slots VALUES(79,190); -INSERT INTO product_slots VALUES(79,191); -INSERT INTO product_slots VALUES(79,192); -INSERT INTO product_slots VALUES(79,193); -INSERT INTO product_slots VALUES(79,194); -INSERT INTO product_slots VALUES(79,195); -INSERT INTO product_slots VALUES(79,196); -INSERT INTO product_slots VALUES(79,197); -INSERT INTO product_slots VALUES(79,198); -INSERT INTO product_slots VALUES(79,199); -INSERT INTO product_slots VALUES(79,200); -INSERT INTO product_slots VALUES(79,201); -INSERT INTO product_slots VALUES(79,202); -INSERT INTO product_slots VALUES(79,203); -INSERT INTO product_slots VALUES(79,204); -INSERT INTO product_slots VALUES(79,205); -INSERT INTO product_slots VALUES(79,206); -INSERT INTO product_slots VALUES(79,207); -INSERT INTO product_slots VALUES(79,208); -INSERT INTO product_slots VALUES(79,209); -INSERT INTO product_slots VALUES(79,210); -INSERT INTO product_slots VALUES(79,211); -INSERT INTO product_slots VALUES(79,212); -INSERT INTO product_slots VALUES(79,213); -INSERT INTO product_slots VALUES(79,214); -INSERT INTO product_slots VALUES(79,215); -INSERT INTO product_slots VALUES(79,216); -INSERT INTO product_slots VALUES(79,217); -INSERT INTO product_slots VALUES(79,218); -INSERT INTO product_slots VALUES(79,219); -INSERT INTO product_slots VALUES(79,220); -INSERT INTO product_slots VALUES(79,221); -INSERT INTO product_slots VALUES(79,222); -INSERT INTO product_slots VALUES(79,223); -INSERT INTO product_slots VALUES(79,224); -INSERT INTO product_slots VALUES(79,225); -INSERT INTO product_slots VALUES(79,226); -INSERT INTO product_slots VALUES(79,227); -INSERT INTO product_slots VALUES(79,228); -INSERT INTO product_slots VALUES(79,229); -INSERT INTO product_slots VALUES(79,230); -INSERT INTO product_slots VALUES(79,231); -INSERT INTO product_slots VALUES(79,232); -INSERT INTO product_slots VALUES(79,233); -INSERT INTO product_slots VALUES(79,234); -INSERT INTO product_slots VALUES(79,235); -INSERT INTO product_slots VALUES(79,236); -INSERT INTO product_slots VALUES(79,237); -INSERT INTO product_slots VALUES(79,238); -INSERT INTO product_slots VALUES(79,239); -INSERT INTO product_slots VALUES(79,240); -INSERT INTO product_slots VALUES(79,241); -INSERT INTO product_slots VALUES(79,242); -INSERT INTO product_slots VALUES(79,243); -INSERT INTO product_slots VALUES(79,244); -INSERT INTO product_slots VALUES(79,274); -INSERT INTO product_slots VALUES(79,275); -INSERT INTO product_slots VALUES(79,279); -INSERT INTO product_slots VALUES(79,280); -INSERT INTO product_slots VALUES(79,281); -INSERT INTO product_slots VALUES(79,282); -INSERT INTO product_slots VALUES(79,283); -INSERT INTO product_slots VALUES(79,284); -INSERT INTO product_slots VALUES(79,285); -INSERT INTO product_slots VALUES(79,286); -INSERT INTO product_slots VALUES(79,287); -INSERT INTO product_slots VALUES(80,39); -INSERT INTO product_slots VALUES(80,41); -INSERT INTO product_slots VALUES(80,43); -INSERT INTO product_slots VALUES(80,45); -INSERT INTO product_slots VALUES(80,46); -INSERT INTO product_slots VALUES(80,47); -INSERT INTO product_slots VALUES(80,48); -INSERT INTO product_slots VALUES(80,49); -INSERT INTO product_slots VALUES(80,50); -INSERT INTO product_slots VALUES(80,51); -INSERT INTO product_slots VALUES(80,52); -INSERT INTO product_slots VALUES(80,53); -INSERT INTO product_slots VALUES(80,54); -INSERT INTO product_slots VALUES(80,55); -INSERT INTO product_slots VALUES(80,56); -INSERT INTO product_slots VALUES(80,57); -INSERT INTO product_slots VALUES(80,58); -INSERT INTO product_slots VALUES(80,59); -INSERT INTO product_slots VALUES(80,60); -INSERT INTO product_slots VALUES(80,61); -INSERT INTO product_slots VALUES(80,64); -INSERT INTO product_slots VALUES(80,65); -INSERT INTO product_slots VALUES(80,66); -INSERT INTO product_slots VALUES(80,67); -INSERT INTO product_slots VALUES(80,68); -INSERT INTO product_slots VALUES(80,69); -INSERT INTO product_slots VALUES(80,70); -INSERT INTO product_slots VALUES(80,71); -INSERT INTO product_slots VALUES(80,72); -INSERT INTO product_slots VALUES(80,73); -INSERT INTO product_slots VALUES(80,74); -INSERT INTO product_slots VALUES(80,75); -INSERT INTO product_slots VALUES(80,76); -INSERT INTO product_slots VALUES(80,77); -INSERT INTO product_slots VALUES(80,78); -INSERT INTO product_slots VALUES(80,79); -INSERT INTO product_slots VALUES(80,80); -INSERT INTO product_slots VALUES(80,81); -INSERT INTO product_slots VALUES(80,82); -INSERT INTO product_slots VALUES(80,83); -INSERT INTO product_slots VALUES(80,84); -INSERT INTO product_slots VALUES(80,85); -INSERT INTO product_slots VALUES(80,86); -INSERT INTO product_slots VALUES(80,87); -INSERT INTO product_slots VALUES(80,88); -INSERT INTO product_slots VALUES(80,89); -INSERT INTO product_slots VALUES(80,90); -INSERT INTO product_slots VALUES(80,91); -INSERT INTO product_slots VALUES(80,92); -INSERT INTO product_slots VALUES(80,93); -INSERT INTO product_slots VALUES(80,94); -INSERT INTO product_slots VALUES(80,95); -INSERT INTO product_slots VALUES(80,96); -INSERT INTO product_slots VALUES(80,97); -INSERT INTO product_slots VALUES(80,98); -INSERT INTO product_slots VALUES(80,99); -INSERT INTO product_slots VALUES(80,100); -INSERT INTO product_slots VALUES(80,101); -INSERT INTO product_slots VALUES(80,102); -INSERT INTO product_slots VALUES(80,103); -INSERT INTO product_slots VALUES(80,104); -INSERT INTO product_slots VALUES(80,105); -INSERT INTO product_slots VALUES(80,106); -INSERT INTO product_slots VALUES(80,107); -INSERT INTO product_slots VALUES(80,108); -INSERT INTO product_slots VALUES(80,109); -INSERT INTO product_slots VALUES(80,110); -INSERT INTO product_slots VALUES(80,111); -INSERT INTO product_slots VALUES(80,112); -INSERT INTO product_slots VALUES(80,113); -INSERT INTO product_slots VALUES(80,114); -INSERT INTO product_slots VALUES(80,115); -INSERT INTO product_slots VALUES(80,116); -INSERT INTO product_slots VALUES(80,117); -INSERT INTO product_slots VALUES(80,118); -INSERT INTO product_slots VALUES(80,119); -INSERT INTO product_slots VALUES(80,120); -INSERT INTO product_slots VALUES(80,121); -INSERT INTO product_slots VALUES(80,122); -INSERT INTO product_slots VALUES(80,123); -INSERT INTO product_slots VALUES(80,124); -INSERT INTO product_slots VALUES(80,125); -INSERT INTO product_slots VALUES(80,126); -INSERT INTO product_slots VALUES(80,127); -INSERT INTO product_slots VALUES(80,128); -INSERT INTO product_slots VALUES(80,129); -INSERT INTO product_slots VALUES(80,130); -INSERT INTO product_slots VALUES(80,131); -INSERT INTO product_slots VALUES(80,132); -INSERT INTO product_slots VALUES(80,133); -INSERT INTO product_slots VALUES(80,134); -INSERT INTO product_slots VALUES(80,135); -INSERT INTO product_slots VALUES(80,136); -INSERT INTO product_slots VALUES(80,137); -INSERT INTO product_slots VALUES(80,138); -INSERT INTO product_slots VALUES(80,139); -INSERT INTO product_slots VALUES(80,140); -INSERT INTO product_slots VALUES(80,141); -INSERT INTO product_slots VALUES(80,142); -INSERT INTO product_slots VALUES(80,143); -INSERT INTO product_slots VALUES(80,144); -INSERT INTO product_slots VALUES(80,145); -INSERT INTO product_slots VALUES(80,146); -INSERT INTO product_slots VALUES(80,147); -INSERT INTO product_slots VALUES(80,148); -INSERT INTO product_slots VALUES(80,149); -INSERT INTO product_slots VALUES(80,150); -INSERT INTO product_slots VALUES(80,151); -INSERT INTO product_slots VALUES(80,152); -INSERT INTO product_slots VALUES(80,153); -INSERT INTO product_slots VALUES(80,154); -INSERT INTO product_slots VALUES(80,155); -INSERT INTO product_slots VALUES(80,156); -INSERT INTO product_slots VALUES(80,157); -INSERT INTO product_slots VALUES(80,158); -INSERT INTO product_slots VALUES(80,159); -INSERT INTO product_slots VALUES(80,160); -INSERT INTO product_slots VALUES(80,161); -INSERT INTO product_slots VALUES(80,162); -INSERT INTO product_slots VALUES(80,163); -INSERT INTO product_slots VALUES(80,164); -INSERT INTO product_slots VALUES(80,165); -INSERT INTO product_slots VALUES(80,166); -INSERT INTO product_slots VALUES(80,167); -INSERT INTO product_slots VALUES(80,168); -INSERT INTO product_slots VALUES(80,169); -INSERT INTO product_slots VALUES(80,170); -INSERT INTO product_slots VALUES(80,171); -INSERT INTO product_slots VALUES(80,172); -INSERT INTO product_slots VALUES(80,173); -INSERT INTO product_slots VALUES(80,174); -INSERT INTO product_slots VALUES(80,175); -INSERT INTO product_slots VALUES(80,176); -INSERT INTO product_slots VALUES(80,177); -INSERT INTO product_slots VALUES(80,178); -INSERT INTO product_slots VALUES(80,179); -INSERT INTO product_slots VALUES(80,180); -INSERT INTO product_slots VALUES(80,181); -INSERT INTO product_slots VALUES(80,182); -INSERT INTO product_slots VALUES(80,183); -INSERT INTO product_slots VALUES(80,184); -INSERT INTO product_slots VALUES(80,185); -INSERT INTO product_slots VALUES(80,186); -INSERT INTO product_slots VALUES(80,187); -INSERT INTO product_slots VALUES(80,188); -INSERT INTO product_slots VALUES(80,189); -INSERT INTO product_slots VALUES(80,190); -INSERT INTO product_slots VALUES(80,191); -INSERT INTO product_slots VALUES(80,192); -INSERT INTO product_slots VALUES(80,193); -INSERT INTO product_slots VALUES(80,194); -INSERT INTO product_slots VALUES(80,195); -INSERT INTO product_slots VALUES(80,196); -INSERT INTO product_slots VALUES(80,197); -INSERT INTO product_slots VALUES(80,198); -INSERT INTO product_slots VALUES(80,199); -INSERT INTO product_slots VALUES(80,200); -INSERT INTO product_slots VALUES(80,201); -INSERT INTO product_slots VALUES(80,202); -INSERT INTO product_slots VALUES(80,203); -INSERT INTO product_slots VALUES(80,204); -INSERT INTO product_slots VALUES(80,205); -INSERT INTO product_slots VALUES(80,206); -INSERT INTO product_slots VALUES(80,207); -INSERT INTO product_slots VALUES(80,208); -INSERT INTO product_slots VALUES(80,209); -INSERT INTO product_slots VALUES(80,210); -INSERT INTO product_slots VALUES(80,211); -INSERT INTO product_slots VALUES(80,212); -INSERT INTO product_slots VALUES(80,213); -INSERT INTO product_slots VALUES(80,214); -INSERT INTO product_slots VALUES(80,215); -INSERT INTO product_slots VALUES(80,216); -INSERT INTO product_slots VALUES(80,217); -INSERT INTO product_slots VALUES(80,218); -INSERT INTO product_slots VALUES(80,219); -INSERT INTO product_slots VALUES(80,220); -INSERT INTO product_slots VALUES(80,221); -INSERT INTO product_slots VALUES(80,222); -INSERT INTO product_slots VALUES(80,223); -INSERT INTO product_slots VALUES(80,224); -INSERT INTO product_slots VALUES(80,225); -INSERT INTO product_slots VALUES(80,226); -INSERT INTO product_slots VALUES(80,227); -INSERT INTO product_slots VALUES(80,228); -INSERT INTO product_slots VALUES(80,229); -INSERT INTO product_slots VALUES(80,230); -INSERT INTO product_slots VALUES(80,231); -INSERT INTO product_slots VALUES(80,232); -INSERT INTO product_slots VALUES(80,233); -INSERT INTO product_slots VALUES(80,234); -INSERT INTO product_slots VALUES(80,235); -INSERT INTO product_slots VALUES(80,236); -INSERT INTO product_slots VALUES(80,237); -INSERT INTO product_slots VALUES(80,238); -INSERT INTO product_slots VALUES(80,239); -INSERT INTO product_slots VALUES(80,240); -INSERT INTO product_slots VALUES(80,241); -INSERT INTO product_slots VALUES(80,242); -INSERT INTO product_slots VALUES(80,243); -INSERT INTO product_slots VALUES(80,244); -INSERT INTO product_slots VALUES(80,274); -INSERT INTO product_slots VALUES(80,275); -INSERT INTO product_slots VALUES(80,279); -INSERT INTO product_slots VALUES(80,280); -INSERT INTO product_slots VALUES(80,281); -INSERT INTO product_slots VALUES(80,282); -INSERT INTO product_slots VALUES(81,39); -INSERT INTO product_slots VALUES(81,43); -INSERT INTO product_slots VALUES(81,45); -INSERT INTO product_slots VALUES(81,48); -INSERT INTO product_slots VALUES(81,49); -INSERT INTO product_slots VALUES(81,51); -INSERT INTO product_slots VALUES(81,52); -INSERT INTO product_slots VALUES(81,57); -INSERT INTO product_slots VALUES(81,58); -INSERT INTO product_slots VALUES(81,59); -INSERT INTO product_slots VALUES(81,62); -INSERT INTO product_slots VALUES(81,63); -INSERT INTO product_slots VALUES(81,64); -INSERT INTO product_slots VALUES(81,65); -INSERT INTO product_slots VALUES(81,66); -INSERT INTO product_slots VALUES(81,67); -INSERT INTO product_slots VALUES(81,69); -INSERT INTO product_slots VALUES(81,70); -INSERT INTO product_slots VALUES(81,71); -INSERT INTO product_slots VALUES(81,72); -INSERT INTO product_slots VALUES(81,73); -INSERT INTO product_slots VALUES(81,75); -INSERT INTO product_slots VALUES(81,82); -INSERT INTO product_slots VALUES(81,83); -INSERT INTO product_slots VALUES(81,84); -INSERT INTO product_slots VALUES(81,90); -INSERT INTO product_slots VALUES(81,91); -INSERT INTO product_slots VALUES(81,97); -INSERT INTO product_slots VALUES(81,98); -INSERT INTO product_slots VALUES(81,102); -INSERT INTO product_slots VALUES(81,103); -INSERT INTO product_slots VALUES(81,104); -INSERT INTO product_slots VALUES(81,110); -INSERT INTO product_slots VALUES(81,111); -INSERT INTO product_slots VALUES(81,112); -INSERT INTO product_slots VALUES(81,116); -INSERT INTO product_slots VALUES(81,117); -INSERT INTO product_slots VALUES(81,118); -INSERT INTO product_slots VALUES(81,119); -INSERT INTO product_slots VALUES(81,120); -INSERT INTO product_slots VALUES(81,121); -INSERT INTO product_slots VALUES(81,122); -INSERT INTO product_slots VALUES(81,123); -INSERT INTO product_slots VALUES(81,124); -INSERT INTO product_slots VALUES(81,125); -INSERT INTO product_slots VALUES(81,126); -INSERT INTO product_slots VALUES(81,127); -INSERT INTO product_slots VALUES(81,128); -INSERT INTO product_slots VALUES(81,129); -INSERT INTO product_slots VALUES(81,130); -INSERT INTO product_slots VALUES(81,131); -INSERT INTO product_slots VALUES(81,132); -INSERT INTO product_slots VALUES(81,133); -INSERT INTO product_slots VALUES(81,134); -INSERT INTO product_slots VALUES(81,135); -INSERT INTO product_slots VALUES(81,136); -INSERT INTO product_slots VALUES(81,137); -INSERT INTO product_slots VALUES(81,138); -INSERT INTO product_slots VALUES(81,139); -INSERT INTO product_slots VALUES(81,140); -INSERT INTO product_slots VALUES(81,141); -INSERT INTO product_slots VALUES(81,142); -INSERT INTO product_slots VALUES(81,143); -INSERT INTO product_slots VALUES(81,144); -INSERT INTO product_slots VALUES(81,145); -INSERT INTO product_slots VALUES(81,146); -INSERT INTO product_slots VALUES(81,147); -INSERT INTO product_slots VALUES(81,148); -INSERT INTO product_slots VALUES(81,149); -INSERT INTO product_slots VALUES(81,150); -INSERT INTO product_slots VALUES(81,151); -INSERT INTO product_slots VALUES(81,152); -INSERT INTO product_slots VALUES(81,153); -INSERT INTO product_slots VALUES(81,154); -INSERT INTO product_slots VALUES(81,155); -INSERT INTO product_slots VALUES(81,156); -INSERT INTO product_slots VALUES(81,157); -INSERT INTO product_slots VALUES(81,158); -INSERT INTO product_slots VALUES(81,159); -INSERT INTO product_slots VALUES(81,160); -INSERT INTO product_slots VALUES(81,161); -INSERT INTO product_slots VALUES(81,162); -INSERT INTO product_slots VALUES(81,163); -INSERT INTO product_slots VALUES(81,164); -INSERT INTO product_slots VALUES(81,165); -INSERT INTO product_slots VALUES(81,166); -INSERT INTO product_slots VALUES(81,167); -INSERT INTO product_slots VALUES(81,168); -INSERT INTO product_slots VALUES(81,169); -INSERT INTO product_slots VALUES(81,170); -INSERT INTO product_slots VALUES(81,171); -INSERT INTO product_slots VALUES(81,172); -INSERT INTO product_slots VALUES(81,173); -INSERT INTO product_slots VALUES(81,174); -INSERT INTO product_slots VALUES(81,175); -INSERT INTO product_slots VALUES(81,176); -INSERT INTO product_slots VALUES(81,177); -INSERT INTO product_slots VALUES(81,178); -INSERT INTO product_slots VALUES(81,179); -INSERT INTO product_slots VALUES(81,180); -INSERT INTO product_slots VALUES(81,181); -INSERT INTO product_slots VALUES(81,182); -INSERT INTO product_slots VALUES(81,183); -INSERT INTO product_slots VALUES(81,184); -INSERT INTO product_slots VALUES(81,185); -INSERT INTO product_slots VALUES(81,186); -INSERT INTO product_slots VALUES(81,187); -INSERT INTO product_slots VALUES(81,188); -INSERT INTO product_slots VALUES(81,189); -INSERT INTO product_slots VALUES(81,190); -INSERT INTO product_slots VALUES(81,191); -INSERT INTO product_slots VALUES(81,192); -INSERT INTO product_slots VALUES(81,193); -INSERT INTO product_slots VALUES(81,194); -INSERT INTO product_slots VALUES(81,195); -INSERT INTO product_slots VALUES(81,196); -INSERT INTO product_slots VALUES(81,197); -INSERT INTO product_slots VALUES(81,198); -INSERT INTO product_slots VALUES(81,199); -INSERT INTO product_slots VALUES(81,200); -INSERT INTO product_slots VALUES(81,201); -INSERT INTO product_slots VALUES(81,202); -INSERT INTO product_slots VALUES(81,203); -INSERT INTO product_slots VALUES(81,204); -INSERT INTO product_slots VALUES(81,205); -INSERT INTO product_slots VALUES(81,206); -INSERT INTO product_slots VALUES(81,207); -INSERT INTO product_slots VALUES(81,208); -INSERT INTO product_slots VALUES(81,209); -INSERT INTO product_slots VALUES(81,210); -INSERT INTO product_slots VALUES(81,211); -INSERT INTO product_slots VALUES(81,212); -INSERT INTO product_slots VALUES(81,213); -INSERT INTO product_slots VALUES(81,214); -INSERT INTO product_slots VALUES(81,215); -INSERT INTO product_slots VALUES(81,216); -INSERT INTO product_slots VALUES(81,217); -INSERT INTO product_slots VALUES(81,218); -INSERT INTO product_slots VALUES(81,219); -INSERT INTO product_slots VALUES(81,220); -INSERT INTO product_slots VALUES(81,221); -INSERT INTO product_slots VALUES(81,222); -INSERT INTO product_slots VALUES(81,223); -INSERT INTO product_slots VALUES(81,224); -INSERT INTO product_slots VALUES(81,225); -INSERT INTO product_slots VALUES(81,226); -INSERT INTO product_slots VALUES(81,227); -INSERT INTO product_slots VALUES(81,228); -INSERT INTO product_slots VALUES(81,229); -INSERT INTO product_slots VALUES(81,230); -INSERT INTO product_slots VALUES(81,231); -INSERT INTO product_slots VALUES(81,232); -INSERT INTO product_slots VALUES(81,233); -INSERT INTO product_slots VALUES(81,234); -INSERT INTO product_slots VALUES(81,235); -INSERT INTO product_slots VALUES(81,236); -INSERT INTO product_slots VALUES(81,237); -INSERT INTO product_slots VALUES(81,238); -INSERT INTO product_slots VALUES(81,239); -INSERT INTO product_slots VALUES(81,240); -INSERT INTO product_slots VALUES(81,241); -INSERT INTO product_slots VALUES(81,242); -INSERT INTO product_slots VALUES(81,243); -INSERT INTO product_slots VALUES(81,244); -INSERT INTO product_slots VALUES(81,274); -INSERT INTO product_slots VALUES(81,275); -INSERT INTO product_slots VALUES(81,279); -INSERT INTO product_slots VALUES(81,280); -INSERT INTO product_slots VALUES(81,281); -INSERT INTO product_slots VALUES(81,282); -INSERT INTO product_slots VALUES(81,283); -INSERT INTO product_slots VALUES(81,284); -INSERT INTO product_slots VALUES(81,285); -INSERT INTO product_slots VALUES(81,286); -INSERT INTO product_slots VALUES(81,287); -INSERT INTO product_slots VALUES(82,39); -INSERT INTO product_slots VALUES(82,43); -INSERT INTO product_slots VALUES(82,45); -INSERT INTO product_slots VALUES(82,48); -INSERT INTO product_slots VALUES(82,49); -INSERT INTO product_slots VALUES(82,51); -INSERT INTO product_slots VALUES(82,52); -INSERT INTO product_slots VALUES(82,57); -INSERT INTO product_slots VALUES(82,58); -INSERT INTO product_slots VALUES(82,59); -INSERT INTO product_slots VALUES(82,62); -INSERT INTO product_slots VALUES(82,63); -INSERT INTO product_slots VALUES(82,64); -INSERT INTO product_slots VALUES(82,65); -INSERT INTO product_slots VALUES(82,66); -INSERT INTO product_slots VALUES(82,67); -INSERT INTO product_slots VALUES(82,69); -INSERT INTO product_slots VALUES(82,70); -INSERT INTO product_slots VALUES(82,71); -INSERT INTO product_slots VALUES(82,72); -INSERT INTO product_slots VALUES(82,73); -INSERT INTO product_slots VALUES(82,75); -INSERT INTO product_slots VALUES(82,82); -INSERT INTO product_slots VALUES(82,83); -INSERT INTO product_slots VALUES(82,84); -INSERT INTO product_slots VALUES(82,90); -INSERT INTO product_slots VALUES(82,91); -INSERT INTO product_slots VALUES(82,92); -INSERT INTO product_slots VALUES(82,93); -INSERT INTO product_slots VALUES(82,94); -INSERT INTO product_slots VALUES(82,97); -INSERT INTO product_slots VALUES(82,98); -INSERT INTO product_slots VALUES(82,99); -INSERT INTO product_slots VALUES(82,100); -INSERT INTO product_slots VALUES(82,102); -INSERT INTO product_slots VALUES(82,103); -INSERT INTO product_slots VALUES(82,104); -INSERT INTO product_slots VALUES(82,110); -INSERT INTO product_slots VALUES(82,111); -INSERT INTO product_slots VALUES(82,112); -INSERT INTO product_slots VALUES(82,116); -INSERT INTO product_slots VALUES(82,117); -INSERT INTO product_slots VALUES(82,118); -INSERT INTO product_slots VALUES(82,119); -INSERT INTO product_slots VALUES(82,120); -INSERT INTO product_slots VALUES(82,121); -INSERT INTO product_slots VALUES(82,122); -INSERT INTO product_slots VALUES(82,123); -INSERT INTO product_slots VALUES(82,124); -INSERT INTO product_slots VALUES(82,125); -INSERT INTO product_slots VALUES(82,126); -INSERT INTO product_slots VALUES(82,127); -INSERT INTO product_slots VALUES(82,128); -INSERT INTO product_slots VALUES(82,129); -INSERT INTO product_slots VALUES(82,130); -INSERT INTO product_slots VALUES(82,131); -INSERT INTO product_slots VALUES(82,132); -INSERT INTO product_slots VALUES(82,133); -INSERT INTO product_slots VALUES(82,134); -INSERT INTO product_slots VALUES(82,135); -INSERT INTO product_slots VALUES(82,136); -INSERT INTO product_slots VALUES(82,137); -INSERT INTO product_slots VALUES(82,138); -INSERT INTO product_slots VALUES(82,139); -INSERT INTO product_slots VALUES(82,140); -INSERT INTO product_slots VALUES(82,141); -INSERT INTO product_slots VALUES(82,142); -INSERT INTO product_slots VALUES(82,143); -INSERT INTO product_slots VALUES(82,144); -INSERT INTO product_slots VALUES(82,145); -INSERT INTO product_slots VALUES(82,146); -INSERT INTO product_slots VALUES(82,147); -INSERT INTO product_slots VALUES(82,148); -INSERT INTO product_slots VALUES(82,149); -INSERT INTO product_slots VALUES(82,150); -INSERT INTO product_slots VALUES(82,151); -INSERT INTO product_slots VALUES(82,152); -INSERT INTO product_slots VALUES(82,153); -INSERT INTO product_slots VALUES(82,154); -INSERT INTO product_slots VALUES(82,155); -INSERT INTO product_slots VALUES(82,156); -INSERT INTO product_slots VALUES(82,157); -INSERT INTO product_slots VALUES(82,158); -INSERT INTO product_slots VALUES(82,159); -INSERT INTO product_slots VALUES(82,160); -INSERT INTO product_slots VALUES(82,161); -INSERT INTO product_slots VALUES(82,162); -INSERT INTO product_slots VALUES(82,163); -INSERT INTO product_slots VALUES(82,164); -INSERT INTO product_slots VALUES(82,165); -INSERT INTO product_slots VALUES(82,166); -INSERT INTO product_slots VALUES(82,167); -INSERT INTO product_slots VALUES(82,168); -INSERT INTO product_slots VALUES(82,169); -INSERT INTO product_slots VALUES(82,170); -INSERT INTO product_slots VALUES(82,171); -INSERT INTO product_slots VALUES(82,172); -INSERT INTO product_slots VALUES(82,173); -INSERT INTO product_slots VALUES(82,174); -INSERT INTO product_slots VALUES(82,175); -INSERT INTO product_slots VALUES(82,176); -INSERT INTO product_slots VALUES(82,177); -INSERT INTO product_slots VALUES(82,178); -INSERT INTO product_slots VALUES(82,179); -INSERT INTO product_slots VALUES(82,180); -INSERT INTO product_slots VALUES(82,181); -INSERT INTO product_slots VALUES(82,182); -INSERT INTO product_slots VALUES(82,183); -INSERT INTO product_slots VALUES(82,184); -INSERT INTO product_slots VALUES(82,185); -INSERT INTO product_slots VALUES(82,186); -INSERT INTO product_slots VALUES(82,187); -INSERT INTO product_slots VALUES(82,188); -INSERT INTO product_slots VALUES(82,189); -INSERT INTO product_slots VALUES(82,190); -INSERT INTO product_slots VALUES(82,191); -INSERT INTO product_slots VALUES(82,192); -INSERT INTO product_slots VALUES(82,193); -INSERT INTO product_slots VALUES(82,194); -INSERT INTO product_slots VALUES(82,195); -INSERT INTO product_slots VALUES(82,196); -INSERT INTO product_slots VALUES(82,197); -INSERT INTO product_slots VALUES(82,198); -INSERT INTO product_slots VALUES(82,199); -INSERT INTO product_slots VALUES(82,200); -INSERT INTO product_slots VALUES(82,201); -INSERT INTO product_slots VALUES(82,202); -INSERT INTO product_slots VALUES(82,203); -INSERT INTO product_slots VALUES(82,204); -INSERT INTO product_slots VALUES(82,205); -INSERT INTO product_slots VALUES(82,206); -INSERT INTO product_slots VALUES(82,207); -INSERT INTO product_slots VALUES(82,208); -INSERT INTO product_slots VALUES(82,209); -INSERT INTO product_slots VALUES(82,210); -INSERT INTO product_slots VALUES(82,211); -INSERT INTO product_slots VALUES(82,212); -INSERT INTO product_slots VALUES(82,213); -INSERT INTO product_slots VALUES(82,214); -INSERT INTO product_slots VALUES(82,215); -INSERT INTO product_slots VALUES(82,216); -INSERT INTO product_slots VALUES(82,217); -INSERT INTO product_slots VALUES(82,218); -INSERT INTO product_slots VALUES(82,219); -INSERT INTO product_slots VALUES(82,220); -INSERT INTO product_slots VALUES(82,221); -INSERT INTO product_slots VALUES(82,222); -INSERT INTO product_slots VALUES(82,223); -INSERT INTO product_slots VALUES(82,224); -INSERT INTO product_slots VALUES(82,225); -INSERT INTO product_slots VALUES(82,226); -INSERT INTO product_slots VALUES(82,227); -INSERT INTO product_slots VALUES(82,228); -INSERT INTO product_slots VALUES(82,229); -INSERT INTO product_slots VALUES(82,230); -INSERT INTO product_slots VALUES(82,231); -INSERT INTO product_slots VALUES(82,232); -INSERT INTO product_slots VALUES(82,233); -INSERT INTO product_slots VALUES(82,234); -INSERT INTO product_slots VALUES(82,235); -INSERT INTO product_slots VALUES(82,236); -INSERT INTO product_slots VALUES(82,237); -INSERT INTO product_slots VALUES(82,238); -INSERT INTO product_slots VALUES(82,239); -INSERT INTO product_slots VALUES(82,240); -INSERT INTO product_slots VALUES(82,241); -INSERT INTO product_slots VALUES(82,242); -INSERT INTO product_slots VALUES(82,243); -INSERT INTO product_slots VALUES(82,244); -INSERT INTO product_slots VALUES(82,274); -INSERT INTO product_slots VALUES(82,275); -INSERT INTO product_slots VALUES(82,279); -INSERT INTO product_slots VALUES(82,280); -INSERT INTO product_slots VALUES(82,281); -INSERT INTO product_slots VALUES(82,282); -INSERT INTO product_slots VALUES(82,283); -INSERT INTO product_slots VALUES(82,284); -INSERT INTO product_slots VALUES(82,285); -INSERT INTO product_slots VALUES(82,286); -INSERT INTO product_slots VALUES(82,287); -INSERT INTO product_slots VALUES(83,39); -INSERT INTO product_slots VALUES(83,43); -INSERT INTO product_slots VALUES(83,45); -INSERT INTO product_slots VALUES(83,48); -INSERT INTO product_slots VALUES(83,49); -INSERT INTO product_slots VALUES(83,51); -INSERT INTO product_slots VALUES(83,52); -INSERT INTO product_slots VALUES(83,57); -INSERT INTO product_slots VALUES(83,58); -INSERT INTO product_slots VALUES(83,59); -INSERT INTO product_slots VALUES(83,62); -INSERT INTO product_slots VALUES(83,63); -INSERT INTO product_slots VALUES(83,64); -INSERT INTO product_slots VALUES(83,65); -INSERT INTO product_slots VALUES(83,66); -INSERT INTO product_slots VALUES(83,67); -INSERT INTO product_slots VALUES(83,69); -INSERT INTO product_slots VALUES(83,70); -INSERT INTO product_slots VALUES(83,71); -INSERT INTO product_slots VALUES(83,72); -INSERT INTO product_slots VALUES(83,73); -INSERT INTO product_slots VALUES(83,75); -INSERT INTO product_slots VALUES(83,82); -INSERT INTO product_slots VALUES(83,83); -INSERT INTO product_slots VALUES(83,84); -INSERT INTO product_slots VALUES(83,90); -INSERT INTO product_slots VALUES(83,91); -INSERT INTO product_slots VALUES(83,97); -INSERT INTO product_slots VALUES(83,98); -INSERT INTO product_slots VALUES(83,102); -INSERT INTO product_slots VALUES(83,103); -INSERT INTO product_slots VALUES(83,104); -INSERT INTO product_slots VALUES(83,110); -INSERT INTO product_slots VALUES(83,111); -INSERT INTO product_slots VALUES(83,112); -INSERT INTO product_slots VALUES(83,116); -INSERT INTO product_slots VALUES(83,117); -INSERT INTO product_slots VALUES(83,118); -INSERT INTO product_slots VALUES(83,119); -INSERT INTO product_slots VALUES(83,120); -INSERT INTO product_slots VALUES(83,121); -INSERT INTO product_slots VALUES(83,122); -INSERT INTO product_slots VALUES(83,123); -INSERT INTO product_slots VALUES(83,124); -INSERT INTO product_slots VALUES(83,125); -INSERT INTO product_slots VALUES(83,126); -INSERT INTO product_slots VALUES(83,127); -INSERT INTO product_slots VALUES(83,128); -INSERT INTO product_slots VALUES(83,129); -INSERT INTO product_slots VALUES(83,130); -INSERT INTO product_slots VALUES(83,131); -INSERT INTO product_slots VALUES(83,132); -INSERT INTO product_slots VALUES(83,133); -INSERT INTO product_slots VALUES(83,134); -INSERT INTO product_slots VALUES(83,135); -INSERT INTO product_slots VALUES(83,136); -INSERT INTO product_slots VALUES(83,137); -INSERT INTO product_slots VALUES(83,138); -INSERT INTO product_slots VALUES(83,139); -INSERT INTO product_slots VALUES(83,140); -INSERT INTO product_slots VALUES(83,141); -INSERT INTO product_slots VALUES(83,142); -INSERT INTO product_slots VALUES(83,143); -INSERT INTO product_slots VALUES(83,144); -INSERT INTO product_slots VALUES(83,145); -INSERT INTO product_slots VALUES(83,146); -INSERT INTO product_slots VALUES(83,147); -INSERT INTO product_slots VALUES(83,148); -INSERT INTO product_slots VALUES(83,149); -INSERT INTO product_slots VALUES(83,150); -INSERT INTO product_slots VALUES(83,151); -INSERT INTO product_slots VALUES(83,152); -INSERT INTO product_slots VALUES(83,153); -INSERT INTO product_slots VALUES(83,154); -INSERT INTO product_slots VALUES(83,155); -INSERT INTO product_slots VALUES(83,156); -INSERT INTO product_slots VALUES(83,157); -INSERT INTO product_slots VALUES(83,158); -INSERT INTO product_slots VALUES(83,159); -INSERT INTO product_slots VALUES(83,160); -INSERT INTO product_slots VALUES(83,161); -INSERT INTO product_slots VALUES(83,162); -INSERT INTO product_slots VALUES(83,163); -INSERT INTO product_slots VALUES(83,164); -INSERT INTO product_slots VALUES(83,165); -INSERT INTO product_slots VALUES(83,166); -INSERT INTO product_slots VALUES(83,167); -INSERT INTO product_slots VALUES(83,168); -INSERT INTO product_slots VALUES(83,169); -INSERT INTO product_slots VALUES(83,170); -INSERT INTO product_slots VALUES(83,171); -INSERT INTO product_slots VALUES(83,172); -INSERT INTO product_slots VALUES(83,173); -INSERT INTO product_slots VALUES(83,174); -INSERT INTO product_slots VALUES(83,175); -INSERT INTO product_slots VALUES(83,176); -INSERT INTO product_slots VALUES(83,177); -INSERT INTO product_slots VALUES(83,178); -INSERT INTO product_slots VALUES(83,179); -INSERT INTO product_slots VALUES(83,180); -INSERT INTO product_slots VALUES(83,181); -INSERT INTO product_slots VALUES(83,182); -INSERT INTO product_slots VALUES(83,183); -INSERT INTO product_slots VALUES(83,184); -INSERT INTO product_slots VALUES(83,185); -INSERT INTO product_slots VALUES(83,186); -INSERT INTO product_slots VALUES(83,187); -INSERT INTO product_slots VALUES(83,188); -INSERT INTO product_slots VALUES(83,189); -INSERT INTO product_slots VALUES(83,190); -INSERT INTO product_slots VALUES(83,191); -INSERT INTO product_slots VALUES(83,192); -INSERT INTO product_slots VALUES(83,193); -INSERT INTO product_slots VALUES(83,194); -INSERT INTO product_slots VALUES(83,195); -INSERT INTO product_slots VALUES(83,196); -INSERT INTO product_slots VALUES(83,197); -INSERT INTO product_slots VALUES(83,198); -INSERT INTO product_slots VALUES(83,199); -INSERT INTO product_slots VALUES(83,200); -INSERT INTO product_slots VALUES(83,201); -INSERT INTO product_slots VALUES(83,202); -INSERT INTO product_slots VALUES(83,203); -INSERT INTO product_slots VALUES(83,204); -INSERT INTO product_slots VALUES(83,205); -INSERT INTO product_slots VALUES(83,206); -INSERT INTO product_slots VALUES(83,207); -INSERT INTO product_slots VALUES(83,208); -INSERT INTO product_slots VALUES(83,209); -INSERT INTO product_slots VALUES(83,210); -INSERT INTO product_slots VALUES(83,211); -INSERT INTO product_slots VALUES(83,212); -INSERT INTO product_slots VALUES(83,213); -INSERT INTO product_slots VALUES(83,214); -INSERT INTO product_slots VALUES(83,215); -INSERT INTO product_slots VALUES(83,216); -INSERT INTO product_slots VALUES(83,217); -INSERT INTO product_slots VALUES(83,218); -INSERT INTO product_slots VALUES(83,219); -INSERT INTO product_slots VALUES(83,220); -INSERT INTO product_slots VALUES(83,221); -INSERT INTO product_slots VALUES(83,222); -INSERT INTO product_slots VALUES(83,223); -INSERT INTO product_slots VALUES(83,224); -INSERT INTO product_slots VALUES(83,225); -INSERT INTO product_slots VALUES(83,226); -INSERT INTO product_slots VALUES(83,227); -INSERT INTO product_slots VALUES(83,228); -INSERT INTO product_slots VALUES(83,229); -INSERT INTO product_slots VALUES(83,230); -INSERT INTO product_slots VALUES(83,231); -INSERT INTO product_slots VALUES(83,232); -INSERT INTO product_slots VALUES(83,233); -INSERT INTO product_slots VALUES(83,234); -INSERT INTO product_slots VALUES(83,235); -INSERT INTO product_slots VALUES(83,236); -INSERT INTO product_slots VALUES(83,237); -INSERT INTO product_slots VALUES(83,238); -INSERT INTO product_slots VALUES(83,239); -INSERT INTO product_slots VALUES(83,240); -INSERT INTO product_slots VALUES(83,241); -INSERT INTO product_slots VALUES(83,242); -INSERT INTO product_slots VALUES(83,243); -INSERT INTO product_slots VALUES(83,244); -INSERT INTO product_slots VALUES(83,274); -INSERT INTO product_slots VALUES(83,275); -INSERT INTO product_slots VALUES(83,279); -INSERT INTO product_slots VALUES(83,280); -INSERT INTO product_slots VALUES(83,281); -INSERT INTO product_slots VALUES(83,282); -INSERT INTO product_slots VALUES(83,283); -INSERT INTO product_slots VALUES(83,284); -INSERT INTO product_slots VALUES(83,285); -INSERT INTO product_slots VALUES(83,286); -INSERT INTO product_slots VALUES(83,287); -INSERT INTO product_slots VALUES(85,81); -INSERT INTO product_slots VALUES(85,82); -INSERT INTO product_slots VALUES(85,83); -INSERT INTO product_slots VALUES(85,91); -INSERT INTO product_slots VALUES(85,92); -INSERT INTO product_slots VALUES(85,93); -INSERT INTO product_slots VALUES(85,94); -INSERT INTO product_slots VALUES(85,98); -INSERT INTO product_slots VALUES(85,99); -INSERT INTO product_slots VALUES(85,100); -INSERT INTO product_slots VALUES(85,105); -INSERT INTO product_slots VALUES(85,106); -INSERT INTO product_slots VALUES(85,107); -INSERT INTO product_slots VALUES(85,108); -INSERT INTO product_slots VALUES(85,109); -INSERT INTO product_slots VALUES(85,110); -INSERT INTO product_slots VALUES(85,111); -INSERT INTO product_slots VALUES(85,112); -INSERT INTO product_slots VALUES(85,113); -INSERT INTO product_slots VALUES(85,114); -INSERT INTO product_slots VALUES(85,115); -INSERT INTO product_slots VALUES(85,120); -INSERT INTO product_slots VALUES(85,134); -INSERT INTO product_slots VALUES(85,135); -INSERT INTO product_slots VALUES(85,136); -INSERT INTO product_slots VALUES(85,187); -INSERT INTO product_slots VALUES(86,39); -INSERT INTO product_slots VALUES(86,41); -INSERT INTO product_slots VALUES(86,43); -INSERT INTO product_slots VALUES(86,45); -INSERT INTO product_slots VALUES(86,46); -INSERT INTO product_slots VALUES(86,47); -INSERT INTO product_slots VALUES(86,48); -INSERT INTO product_slots VALUES(86,49); -INSERT INTO product_slots VALUES(86,50); -INSERT INTO product_slots VALUES(86,51); -INSERT INTO product_slots VALUES(86,52); -INSERT INTO product_slots VALUES(86,53); -INSERT INTO product_slots VALUES(86,54); -INSERT INTO product_slots VALUES(86,55); -INSERT INTO product_slots VALUES(86,56); -INSERT INTO product_slots VALUES(86,57); -INSERT INTO product_slots VALUES(86,58); -INSERT INTO product_slots VALUES(86,59); -INSERT INTO product_slots VALUES(86,60); -INSERT INTO product_slots VALUES(86,61); -INSERT INTO product_slots VALUES(86,62); -INSERT INTO product_slots VALUES(86,63); -INSERT INTO product_slots VALUES(86,64); -INSERT INTO product_slots VALUES(86,65); -INSERT INTO product_slots VALUES(86,66); -INSERT INTO product_slots VALUES(86,67); -INSERT INTO product_slots VALUES(86,68); -INSERT INTO product_slots VALUES(86,69); -INSERT INTO product_slots VALUES(86,70); -INSERT INTO product_slots VALUES(86,71); -INSERT INTO product_slots VALUES(86,74); -INSERT INTO product_slots VALUES(86,75); -INSERT INTO product_slots VALUES(86,76); -INSERT INTO product_slots VALUES(86,77); -INSERT INTO product_slots VALUES(86,78); -INSERT INTO product_slots VALUES(86,81); -INSERT INTO product_slots VALUES(86,82); -INSERT INTO product_slots VALUES(86,83); -INSERT INTO product_slots VALUES(86,84); -INSERT INTO product_slots VALUES(86,87); -INSERT INTO product_slots VALUES(86,88); -INSERT INTO product_slots VALUES(86,90); -INSERT INTO product_slots VALUES(86,91); -INSERT INTO product_slots VALUES(86,95); -INSERT INTO product_slots VALUES(86,97); -INSERT INTO product_slots VALUES(86,98); -INSERT INTO product_slots VALUES(86,101); -INSERT INTO product_slots VALUES(86,102); -INSERT INTO product_slots VALUES(86,103); -INSERT INTO product_slots VALUES(86,104); -INSERT INTO product_slots VALUES(86,109); -INSERT INTO product_slots VALUES(86,110); -INSERT INTO product_slots VALUES(86,111); -INSERT INTO product_slots VALUES(86,112); -INSERT INTO product_slots VALUES(86,116); -INSERT INTO product_slots VALUES(86,117); -INSERT INTO product_slots VALUES(86,118); -INSERT INTO product_slots VALUES(86,119); -INSERT INTO product_slots VALUES(86,120); -INSERT INTO product_slots VALUES(86,123); -INSERT INTO product_slots VALUES(86,124); -INSERT INTO product_slots VALUES(86,125); -INSERT INTO product_slots VALUES(86,126); -INSERT INTO product_slots VALUES(86,130); -INSERT INTO product_slots VALUES(86,131); -INSERT INTO product_slots VALUES(86,132); -INSERT INTO product_slots VALUES(86,133); -INSERT INTO product_slots VALUES(86,137); -INSERT INTO product_slots VALUES(86,138); -INSERT INTO product_slots VALUES(86,139); -INSERT INTO product_slots VALUES(86,140); -INSERT INTO product_slots VALUES(86,144); -INSERT INTO product_slots VALUES(86,145); -INSERT INTO product_slots VALUES(86,146); -INSERT INTO product_slots VALUES(86,147); -INSERT INTO product_slots VALUES(86,148); -INSERT INTO product_slots VALUES(86,149); -INSERT INTO product_slots VALUES(86,150); -INSERT INTO product_slots VALUES(86,151); -INSERT INTO product_slots VALUES(86,155); -INSERT INTO product_slots VALUES(86,156); -INSERT INTO product_slots VALUES(86,157); -INSERT INTO product_slots VALUES(86,158); -INSERT INTO product_slots VALUES(86,162); -INSERT INTO product_slots VALUES(86,163); -INSERT INTO product_slots VALUES(86,164); -INSERT INTO product_slots VALUES(86,165); -INSERT INTO product_slots VALUES(86,166); -INSERT INTO product_slots VALUES(86,169); -INSERT INTO product_slots VALUES(86,170); -INSERT INTO product_slots VALUES(86,171); -INSERT INTO product_slots VALUES(86,172); -INSERT INTO product_slots VALUES(86,176); -INSERT INTO product_slots VALUES(86,177); -INSERT INTO product_slots VALUES(86,178); -INSERT INTO product_slots VALUES(86,179); -INSERT INTO product_slots VALUES(86,183); -INSERT INTO product_slots VALUES(86,184); -INSERT INTO product_slots VALUES(86,185); -INSERT INTO product_slots VALUES(86,186); -INSERT INTO product_slots VALUES(86,187); -INSERT INTO product_slots VALUES(86,188); -INSERT INTO product_slots VALUES(86,189); -INSERT INTO product_slots VALUES(86,190); -INSERT INTO product_slots VALUES(86,191); -INSERT INTO product_slots VALUES(86,192); -INSERT INTO product_slots VALUES(86,193); -INSERT INTO product_slots VALUES(86,194); -INSERT INTO product_slots VALUES(86,198); -INSERT INTO product_slots VALUES(86,199); -INSERT INTO product_slots VALUES(86,200); -INSERT INTO product_slots VALUES(86,201); -INSERT INTO product_slots VALUES(86,202); -INSERT INTO product_slots VALUES(86,203); -INSERT INTO product_slots VALUES(86,205); -INSERT INTO product_slots VALUES(86,208); -INSERT INTO product_slots VALUES(86,209); -INSERT INTO product_slots VALUES(86,210); -INSERT INTO product_slots VALUES(86,211); -INSERT INTO product_slots VALUES(86,216); -INSERT INTO product_slots VALUES(86,217); -INSERT INTO product_slots VALUES(86,218); -INSERT INTO product_slots VALUES(86,219); -INSERT INTO product_slots VALUES(86,220); -INSERT INTO product_slots VALUES(86,223); -INSERT INTO product_slots VALUES(86,224); -INSERT INTO product_slots VALUES(86,225); -INSERT INTO product_slots VALUES(86,226); -INSERT INTO product_slots VALUES(86,230); -INSERT INTO product_slots VALUES(86,231); -INSERT INTO product_slots VALUES(86,232); -INSERT INTO product_slots VALUES(86,234); -INSERT INTO product_slots VALUES(86,237); -INSERT INTO product_slots VALUES(86,238); -INSERT INTO product_slots VALUES(86,239); -INSERT INTO product_slots VALUES(86,240); -INSERT INTO product_slots VALUES(86,274); -INSERT INTO product_slots VALUES(86,275); -INSERT INTO product_slots VALUES(86,277); -INSERT INTO product_slots VALUES(86,278); -INSERT INTO product_slots VALUES(86,279); -INSERT INTO product_slots VALUES(88,39); -INSERT INTO product_slots VALUES(88,44); -INSERT INTO product_slots VALUES(88,46); -INSERT INTO product_slots VALUES(88,47); -INSERT INTO product_slots VALUES(88,48); -INSERT INTO product_slots VALUES(88,49); -INSERT INTO product_slots VALUES(88,50); -INSERT INTO product_slots VALUES(88,51); -INSERT INTO product_slots VALUES(88,52); -INSERT INTO product_slots VALUES(88,53); -INSERT INTO product_slots VALUES(88,54); -INSERT INTO product_slots VALUES(88,55); -INSERT INTO product_slots VALUES(88,56); -INSERT INTO product_slots VALUES(88,57); -INSERT INTO product_slots VALUES(88,58); -INSERT INTO product_slots VALUES(88,59); -INSERT INTO product_slots VALUES(88,60); -INSERT INTO product_slots VALUES(88,61); -INSERT INTO product_slots VALUES(88,62); -INSERT INTO product_slots VALUES(88,63); -INSERT INTO product_slots VALUES(88,64); -INSERT INTO product_slots VALUES(88,65); -INSERT INTO product_slots VALUES(88,66); -INSERT INTO product_slots VALUES(88,67); -INSERT INTO product_slots VALUES(88,68); -INSERT INTO product_slots VALUES(88,69); -INSERT INTO product_slots VALUES(88,70); -INSERT INTO product_slots VALUES(88,71); -INSERT INTO product_slots VALUES(88,72); -INSERT INTO product_slots VALUES(88,73); -INSERT INTO product_slots VALUES(88,74); -INSERT INTO product_slots VALUES(88,75); -INSERT INTO product_slots VALUES(88,76); -INSERT INTO product_slots VALUES(88,77); -INSERT INTO product_slots VALUES(88,78); -INSERT INTO product_slots VALUES(88,79); -INSERT INTO product_slots VALUES(88,80); -INSERT INTO product_slots VALUES(88,87); -INSERT INTO product_slots VALUES(88,88); -INSERT INTO product_slots VALUES(88,95); -INSERT INTO product_slots VALUES(88,101); -INSERT INTO product_slots VALUES(88,102); -INSERT INTO product_slots VALUES(88,103); -INSERT INTO product_slots VALUES(88,104); -INSERT INTO product_slots VALUES(88,105); -INSERT INTO product_slots VALUES(88,106); -INSERT INTO product_slots VALUES(88,107); -INSERT INTO product_slots VALUES(88,108); -INSERT INTO product_slots VALUES(88,109); -INSERT INTO product_slots VALUES(88,110); -INSERT INTO product_slots VALUES(88,111); -INSERT INTO product_slots VALUES(88,112); -INSERT INTO product_slots VALUES(88,113); -INSERT INTO product_slots VALUES(88,114); -INSERT INTO product_slots VALUES(88,115); -INSERT INTO product_slots VALUES(88,116); -INSERT INTO product_slots VALUES(88,117); -INSERT INTO product_slots VALUES(88,118); -INSERT INTO product_slots VALUES(88,119); -INSERT INTO product_slots VALUES(88,120); -INSERT INTO product_slots VALUES(88,121); -INSERT INTO product_slots VALUES(88,122); -INSERT INTO product_slots VALUES(88,123); -INSERT INTO product_slots VALUES(88,124); -INSERT INTO product_slots VALUES(88,125); -INSERT INTO product_slots VALUES(88,126); -INSERT INTO product_slots VALUES(88,127); -INSERT INTO product_slots VALUES(88,128); -INSERT INTO product_slots VALUES(88,129); -INSERT INTO product_slots VALUES(88,130); -INSERT INTO product_slots VALUES(88,131); -INSERT INTO product_slots VALUES(88,132); -INSERT INTO product_slots VALUES(88,133); -INSERT INTO product_slots VALUES(88,137); -INSERT INTO product_slots VALUES(88,138); -INSERT INTO product_slots VALUES(88,139); -INSERT INTO product_slots VALUES(88,141); -INSERT INTO product_slots VALUES(88,144); -INSERT INTO product_slots VALUES(88,156); -INSERT INTO product_slots VALUES(88,164); -INSERT INTO product_slots VALUES(88,165); -INSERT INTO product_slots VALUES(88,166); -INSERT INTO product_slots VALUES(88,167); -INSERT INTO product_slots VALUES(88,169); -INSERT INTO product_slots VALUES(88,176); -INSERT INTO product_slots VALUES(88,187); -INSERT INTO product_slots VALUES(88,203); -INSERT INTO product_slots VALUES(88,204); -INSERT INTO product_slots VALUES(88,205); -INSERT INTO product_slots VALUES(88,206); -INSERT INTO product_slots VALUES(88,207); -INSERT INTO product_slots VALUES(88,208); -INSERT INTO product_slots VALUES(88,209); -INSERT INTO product_slots VALUES(88,210); -INSERT INTO product_slots VALUES(88,211); -INSERT INTO product_slots VALUES(88,212); -INSERT INTO product_slots VALUES(88,213); -INSERT INTO product_slots VALUES(88,214); -INSERT INTO product_slots VALUES(88,215); -INSERT INTO product_slots VALUES(88,216); -INSERT INTO product_slots VALUES(88,217); -INSERT INTO product_slots VALUES(88,218); -INSERT INTO product_slots VALUES(88,219); -INSERT INTO product_slots VALUES(88,220); -INSERT INTO product_slots VALUES(88,221); -INSERT INTO product_slots VALUES(88,222); -INSERT INTO product_slots VALUES(88,223); -INSERT INTO product_slots VALUES(88,224); -INSERT INTO product_slots VALUES(88,225); -INSERT INTO product_slots VALUES(88,226); -INSERT INTO product_slots VALUES(88,227); -INSERT INTO product_slots VALUES(88,228); -INSERT INTO product_slots VALUES(88,229); -INSERT INTO product_slots VALUES(88,230); -INSERT INTO product_slots VALUES(88,231); -INSERT INTO product_slots VALUES(88,232); -INSERT INTO product_slots VALUES(88,233); -INSERT INTO product_slots VALUES(88,234); -INSERT INTO product_slots VALUES(88,235); -INSERT INTO product_slots VALUES(88,236); -INSERT INTO product_slots VALUES(88,237); -INSERT INTO product_slots VALUES(88,238); -INSERT INTO product_slots VALUES(88,239); -INSERT INTO product_slots VALUES(88,240); -INSERT INTO product_slots VALUES(88,241); -INSERT INTO product_slots VALUES(88,242); -INSERT INTO product_slots VALUES(88,243); -INSERT INTO product_slots VALUES(88,244); -INSERT INTO product_slots VALUES(88,274); -INSERT INTO product_slots VALUES(88,275); -INSERT INTO product_slots VALUES(88,279); -INSERT INTO product_slots VALUES(88,280); -INSERT INTO product_slots VALUES(88,281); -INSERT INTO product_slots VALUES(88,282); -INSERT INTO product_slots VALUES(88,283); -INSERT INTO product_slots VALUES(88,284); -INSERT INTO product_slots VALUES(88,285); -INSERT INTO product_slots VALUES(88,286); -INSERT INTO product_slots VALUES(88,287); -INSERT INTO product_slots VALUES(89,39); -INSERT INTO product_slots VALUES(89,44); -INSERT INTO product_slots VALUES(89,46); -INSERT INTO product_slots VALUES(89,47); -INSERT INTO product_slots VALUES(89,48); -INSERT INTO product_slots VALUES(89,49); -INSERT INTO product_slots VALUES(89,50); -INSERT INTO product_slots VALUES(89,51); -INSERT INTO product_slots VALUES(89,52); -INSERT INTO product_slots VALUES(89,53); -INSERT INTO product_slots VALUES(89,54); -INSERT INTO product_slots VALUES(89,55); -INSERT INTO product_slots VALUES(89,56); -INSERT INTO product_slots VALUES(89,57); -INSERT INTO product_slots VALUES(89,58); -INSERT INTO product_slots VALUES(89,59); -INSERT INTO product_slots VALUES(89,60); -INSERT INTO product_slots VALUES(89,61); -INSERT INTO product_slots VALUES(89,62); -INSERT INTO product_slots VALUES(89,63); -INSERT INTO product_slots VALUES(89,64); -INSERT INTO product_slots VALUES(89,65); -INSERT INTO product_slots VALUES(89,66); -INSERT INTO product_slots VALUES(89,67); -INSERT INTO product_slots VALUES(89,68); -INSERT INTO product_slots VALUES(89,69); -INSERT INTO product_slots VALUES(89,70); -INSERT INTO product_slots VALUES(89,71); -INSERT INTO product_slots VALUES(89,72); -INSERT INTO product_slots VALUES(89,73); -INSERT INTO product_slots VALUES(89,74); -INSERT INTO product_slots VALUES(89,75); -INSERT INTO product_slots VALUES(89,76); -INSERT INTO product_slots VALUES(89,77); -INSERT INTO product_slots VALUES(89,78); -INSERT INTO product_slots VALUES(89,79); -INSERT INTO product_slots VALUES(89,80); -INSERT INTO product_slots VALUES(89,81); -INSERT INTO product_slots VALUES(89,82); -INSERT INTO product_slots VALUES(89,83); -INSERT INTO product_slots VALUES(89,84); -INSERT INTO product_slots VALUES(89,85); -INSERT INTO product_slots VALUES(89,86); -INSERT INTO product_slots VALUES(89,87); -INSERT INTO product_slots VALUES(89,88); -INSERT INTO product_slots VALUES(89,89); -INSERT INTO product_slots VALUES(89,90); -INSERT INTO product_slots VALUES(89,91); -INSERT INTO product_slots VALUES(89,92); -INSERT INTO product_slots VALUES(89,93); -INSERT INTO product_slots VALUES(89,94); -INSERT INTO product_slots VALUES(89,95); -INSERT INTO product_slots VALUES(89,96); -INSERT INTO product_slots VALUES(89,97); -INSERT INTO product_slots VALUES(89,98); -INSERT INTO product_slots VALUES(89,99); -INSERT INTO product_slots VALUES(89,100); -INSERT INTO product_slots VALUES(89,101); -INSERT INTO product_slots VALUES(89,102); -INSERT INTO product_slots VALUES(89,103); -INSERT INTO product_slots VALUES(89,104); -INSERT INTO product_slots VALUES(89,105); -INSERT INTO product_slots VALUES(89,106); -INSERT INTO product_slots VALUES(89,107); -INSERT INTO product_slots VALUES(89,108); -INSERT INTO product_slots VALUES(89,109); -INSERT INTO product_slots VALUES(89,110); -INSERT INTO product_slots VALUES(89,111); -INSERT INTO product_slots VALUES(89,112); -INSERT INTO product_slots VALUES(89,113); -INSERT INTO product_slots VALUES(89,114); -INSERT INTO product_slots VALUES(89,115); -INSERT INTO product_slots VALUES(89,116); -INSERT INTO product_slots VALUES(89,117); -INSERT INTO product_slots VALUES(89,118); -INSERT INTO product_slots VALUES(89,119); -INSERT INTO product_slots VALUES(89,120); -INSERT INTO product_slots VALUES(89,121); -INSERT INTO product_slots VALUES(89,122); -INSERT INTO product_slots VALUES(89,123); -INSERT INTO product_slots VALUES(89,124); -INSERT INTO product_slots VALUES(89,125); -INSERT INTO product_slots VALUES(89,126); -INSERT INTO product_slots VALUES(89,127); -INSERT INTO product_slots VALUES(89,128); -INSERT INTO product_slots VALUES(89,129); -INSERT INTO product_slots VALUES(89,130); -INSERT INTO product_slots VALUES(89,131); -INSERT INTO product_slots VALUES(89,132); -INSERT INTO product_slots VALUES(89,133); -INSERT INTO product_slots VALUES(89,134); -INSERT INTO product_slots VALUES(89,135); -INSERT INTO product_slots VALUES(89,136); -INSERT INTO product_slots VALUES(89,137); -INSERT INTO product_slots VALUES(89,138); -INSERT INTO product_slots VALUES(89,139); -INSERT INTO product_slots VALUES(89,140); -INSERT INTO product_slots VALUES(89,141); -INSERT INTO product_slots VALUES(89,142); -INSERT INTO product_slots VALUES(89,143); -INSERT INTO product_slots VALUES(89,144); -INSERT INTO product_slots VALUES(89,145); -INSERT INTO product_slots VALUES(89,146); -INSERT INTO product_slots VALUES(89,147); -INSERT INTO product_slots VALUES(89,148); -INSERT INTO product_slots VALUES(89,149); -INSERT INTO product_slots VALUES(89,150); -INSERT INTO product_slots VALUES(89,151); -INSERT INTO product_slots VALUES(89,152); -INSERT INTO product_slots VALUES(89,153); -INSERT INTO product_slots VALUES(89,154); -INSERT INTO product_slots VALUES(89,155); -INSERT INTO product_slots VALUES(89,156); -INSERT INTO product_slots VALUES(89,157); -INSERT INTO product_slots VALUES(89,158); -INSERT INTO product_slots VALUES(89,159); -INSERT INTO product_slots VALUES(89,160); -INSERT INTO product_slots VALUES(89,161); -INSERT INTO product_slots VALUES(89,162); -INSERT INTO product_slots VALUES(89,163); -INSERT INTO product_slots VALUES(89,164); -INSERT INTO product_slots VALUES(89,165); -INSERT INTO product_slots VALUES(89,166); -INSERT INTO product_slots VALUES(89,167); -INSERT INTO product_slots VALUES(89,168); -INSERT INTO product_slots VALUES(89,169); -INSERT INTO product_slots VALUES(89,170); -INSERT INTO product_slots VALUES(89,171); -INSERT INTO product_slots VALUES(89,172); -INSERT INTO product_slots VALUES(89,173); -INSERT INTO product_slots VALUES(89,174); -INSERT INTO product_slots VALUES(89,175); -INSERT INTO product_slots VALUES(89,176); -INSERT INTO product_slots VALUES(89,177); -INSERT INTO product_slots VALUES(89,178); -INSERT INTO product_slots VALUES(89,179); -INSERT INTO product_slots VALUES(89,180); -INSERT INTO product_slots VALUES(89,181); -INSERT INTO product_slots VALUES(89,182); -INSERT INTO product_slots VALUES(89,183); -INSERT INTO product_slots VALUES(89,184); -INSERT INTO product_slots VALUES(89,185); -INSERT INTO product_slots VALUES(89,186); -INSERT INTO product_slots VALUES(89,187); -INSERT INTO product_slots VALUES(89,188); -INSERT INTO product_slots VALUES(89,189); -INSERT INTO product_slots VALUES(89,190); -INSERT INTO product_slots VALUES(89,191); -INSERT INTO product_slots VALUES(89,192); -INSERT INTO product_slots VALUES(89,193); -INSERT INTO product_slots VALUES(89,194); -INSERT INTO product_slots VALUES(89,195); -INSERT INTO product_slots VALUES(89,196); -INSERT INTO product_slots VALUES(89,197); -INSERT INTO product_slots VALUES(89,198); -INSERT INTO product_slots VALUES(89,199); -INSERT INTO product_slots VALUES(89,200); -INSERT INTO product_slots VALUES(89,201); -INSERT INTO product_slots VALUES(89,202); -INSERT INTO product_slots VALUES(89,203); -INSERT INTO product_slots VALUES(89,204); -INSERT INTO product_slots VALUES(89,205); -INSERT INTO product_slots VALUES(89,206); -INSERT INTO product_slots VALUES(89,207); -INSERT INTO product_slots VALUES(89,208); -INSERT INTO product_slots VALUES(89,209); -INSERT INTO product_slots VALUES(89,210); -INSERT INTO product_slots VALUES(89,211); -INSERT INTO product_slots VALUES(89,212); -INSERT INTO product_slots VALUES(89,213); -INSERT INTO product_slots VALUES(89,214); -INSERT INTO product_slots VALUES(89,215); -INSERT INTO product_slots VALUES(89,216); -INSERT INTO product_slots VALUES(89,217); -INSERT INTO product_slots VALUES(89,218); -INSERT INTO product_slots VALUES(89,219); -INSERT INTO product_slots VALUES(89,220); -INSERT INTO product_slots VALUES(89,221); -INSERT INTO product_slots VALUES(89,222); -INSERT INTO product_slots VALUES(89,223); -INSERT INTO product_slots VALUES(89,224); -INSERT INTO product_slots VALUES(89,225); -INSERT INTO product_slots VALUES(89,226); -INSERT INTO product_slots VALUES(89,227); -INSERT INTO product_slots VALUES(89,228); -INSERT INTO product_slots VALUES(89,229); -INSERT INTO product_slots VALUES(89,230); -INSERT INTO product_slots VALUES(89,231); -INSERT INTO product_slots VALUES(89,232); -INSERT INTO product_slots VALUES(89,233); -INSERT INTO product_slots VALUES(89,234); -INSERT INTO product_slots VALUES(89,235); -INSERT INTO product_slots VALUES(89,236); -INSERT INTO product_slots VALUES(89,237); -INSERT INTO product_slots VALUES(89,238); -INSERT INTO product_slots VALUES(89,239); -INSERT INTO product_slots VALUES(89,240); -INSERT INTO product_slots VALUES(89,241); -INSERT INTO product_slots VALUES(89,242); -INSERT INTO product_slots VALUES(89,243); -INSERT INTO product_slots VALUES(89,244); -INSERT INTO product_slots VALUES(89,274); -INSERT INTO product_slots VALUES(89,275); -INSERT INTO product_slots VALUES(89,279); -INSERT INTO product_slots VALUES(89,280); -INSERT INTO product_slots VALUES(89,281); -INSERT INTO product_slots VALUES(89,282); -INSERT INTO product_slots VALUES(89,283); -INSERT INTO product_slots VALUES(89,284); -INSERT INTO product_slots VALUES(89,285); -INSERT INTO product_slots VALUES(89,286); -INSERT INTO product_slots VALUES(89,287); -INSERT INTO product_slots VALUES(90,39); -INSERT INTO product_slots VALUES(90,44); -INSERT INTO product_slots VALUES(90,46); -INSERT INTO product_slots VALUES(90,47); -INSERT INTO product_slots VALUES(90,48); -INSERT INTO product_slots VALUES(90,49); -INSERT INTO product_slots VALUES(90,50); -INSERT INTO product_slots VALUES(90,51); -INSERT INTO product_slots VALUES(90,52); -INSERT INTO product_slots VALUES(90,53); -INSERT INTO product_slots VALUES(90,54); -INSERT INTO product_slots VALUES(90,55); -INSERT INTO product_slots VALUES(90,56); -INSERT INTO product_slots VALUES(90,57); -INSERT INTO product_slots VALUES(90,58); -INSERT INTO product_slots VALUES(90,59); -INSERT INTO product_slots VALUES(90,60); -INSERT INTO product_slots VALUES(90,61); -INSERT INTO product_slots VALUES(90,62); -INSERT INTO product_slots VALUES(90,63); -INSERT INTO product_slots VALUES(90,64); -INSERT INTO product_slots VALUES(90,65); -INSERT INTO product_slots VALUES(90,66); -INSERT INTO product_slots VALUES(90,67); -INSERT INTO product_slots VALUES(90,68); -INSERT INTO product_slots VALUES(90,69); -INSERT INTO product_slots VALUES(90,70); -INSERT INTO product_slots VALUES(90,71); -INSERT INTO product_slots VALUES(90,72); -INSERT INTO product_slots VALUES(90,73); -INSERT INTO product_slots VALUES(90,74); -INSERT INTO product_slots VALUES(90,75); -INSERT INTO product_slots VALUES(90,76); -INSERT INTO product_slots VALUES(90,77); -INSERT INTO product_slots VALUES(90,78); -INSERT INTO product_slots VALUES(90,79); -INSERT INTO product_slots VALUES(90,80); -INSERT INTO product_slots VALUES(90,81); -INSERT INTO product_slots VALUES(90,82); -INSERT INTO product_slots VALUES(90,83); -INSERT INTO product_slots VALUES(90,84); -INSERT INTO product_slots VALUES(90,85); -INSERT INTO product_slots VALUES(90,86); -INSERT INTO product_slots VALUES(90,87); -INSERT INTO product_slots VALUES(90,88); -INSERT INTO product_slots VALUES(90,89); -INSERT INTO product_slots VALUES(90,90); -INSERT INTO product_slots VALUES(90,91); -INSERT INTO product_slots VALUES(90,92); -INSERT INTO product_slots VALUES(90,93); -INSERT INTO product_slots VALUES(90,94); -INSERT INTO product_slots VALUES(90,95); -INSERT INTO product_slots VALUES(90,96); -INSERT INTO product_slots VALUES(90,97); -INSERT INTO product_slots VALUES(90,98); -INSERT INTO product_slots VALUES(90,99); -INSERT INTO product_slots VALUES(90,100); -INSERT INTO product_slots VALUES(90,101); -INSERT INTO product_slots VALUES(90,102); -INSERT INTO product_slots VALUES(90,103); -INSERT INTO product_slots VALUES(90,104); -INSERT INTO product_slots VALUES(90,105); -INSERT INTO product_slots VALUES(90,106); -INSERT INTO product_slots VALUES(90,107); -INSERT INTO product_slots VALUES(90,108); -INSERT INTO product_slots VALUES(90,109); -INSERT INTO product_slots VALUES(90,110); -INSERT INTO product_slots VALUES(90,111); -INSERT INTO product_slots VALUES(90,112); -INSERT INTO product_slots VALUES(90,113); -INSERT INTO product_slots VALUES(90,114); -INSERT INTO product_slots VALUES(90,115); -INSERT INTO product_slots VALUES(90,116); -INSERT INTO product_slots VALUES(90,117); -INSERT INTO product_slots VALUES(90,118); -INSERT INTO product_slots VALUES(90,119); -INSERT INTO product_slots VALUES(90,120); -INSERT INTO product_slots VALUES(90,121); -INSERT INTO product_slots VALUES(90,122); -INSERT INTO product_slots VALUES(90,123); -INSERT INTO product_slots VALUES(90,124); -INSERT INTO product_slots VALUES(90,125); -INSERT INTO product_slots VALUES(90,126); -INSERT INTO product_slots VALUES(90,127); -INSERT INTO product_slots VALUES(90,128); -INSERT INTO product_slots VALUES(90,129); -INSERT INTO product_slots VALUES(90,130); -INSERT INTO product_slots VALUES(90,131); -INSERT INTO product_slots VALUES(90,132); -INSERT INTO product_slots VALUES(90,133); -INSERT INTO product_slots VALUES(90,134); -INSERT INTO product_slots VALUES(90,135); -INSERT INTO product_slots VALUES(90,136); -INSERT INTO product_slots VALUES(90,137); -INSERT INTO product_slots VALUES(90,138); -INSERT INTO product_slots VALUES(90,139); -INSERT INTO product_slots VALUES(90,140); -INSERT INTO product_slots VALUES(90,141); -INSERT INTO product_slots VALUES(90,142); -INSERT INTO product_slots VALUES(90,143); -INSERT INTO product_slots VALUES(90,144); -INSERT INTO product_slots VALUES(90,145); -INSERT INTO product_slots VALUES(90,146); -INSERT INTO product_slots VALUES(90,147); -INSERT INTO product_slots VALUES(90,148); -INSERT INTO product_slots VALUES(90,149); -INSERT INTO product_slots VALUES(90,150); -INSERT INTO product_slots VALUES(90,151); -INSERT INTO product_slots VALUES(90,152); -INSERT INTO product_slots VALUES(90,153); -INSERT INTO product_slots VALUES(90,154); -INSERT INTO product_slots VALUES(90,155); -INSERT INTO product_slots VALUES(90,156); -INSERT INTO product_slots VALUES(90,157); -INSERT INTO product_slots VALUES(90,158); -INSERT INTO product_slots VALUES(90,159); -INSERT INTO product_slots VALUES(90,160); -INSERT INTO product_slots VALUES(90,161); -INSERT INTO product_slots VALUES(90,162); -INSERT INTO product_slots VALUES(90,163); -INSERT INTO product_slots VALUES(90,164); -INSERT INTO product_slots VALUES(90,165); -INSERT INTO product_slots VALUES(90,166); -INSERT INTO product_slots VALUES(90,167); -INSERT INTO product_slots VALUES(90,168); -INSERT INTO product_slots VALUES(90,169); -INSERT INTO product_slots VALUES(90,170); -INSERT INTO product_slots VALUES(90,171); -INSERT INTO product_slots VALUES(90,172); -INSERT INTO product_slots VALUES(90,173); -INSERT INTO product_slots VALUES(90,174); -INSERT INTO product_slots VALUES(90,175); -INSERT INTO product_slots VALUES(90,176); -INSERT INTO product_slots VALUES(90,177); -INSERT INTO product_slots VALUES(90,178); -INSERT INTO product_slots VALUES(90,179); -INSERT INTO product_slots VALUES(90,180); -INSERT INTO product_slots VALUES(90,181); -INSERT INTO product_slots VALUES(90,182); -INSERT INTO product_slots VALUES(90,183); -INSERT INTO product_slots VALUES(90,184); -INSERT INTO product_slots VALUES(90,185); -INSERT INTO product_slots VALUES(90,186); -INSERT INTO product_slots VALUES(90,187); -INSERT INTO product_slots VALUES(90,188); -INSERT INTO product_slots VALUES(90,189); -INSERT INTO product_slots VALUES(90,190); -INSERT INTO product_slots VALUES(90,191); -INSERT INTO product_slots VALUES(90,192); -INSERT INTO product_slots VALUES(90,193); -INSERT INTO product_slots VALUES(90,194); -INSERT INTO product_slots VALUES(90,195); -INSERT INTO product_slots VALUES(90,196); -INSERT INTO product_slots VALUES(90,197); -INSERT INTO product_slots VALUES(90,198); -INSERT INTO product_slots VALUES(90,199); -INSERT INTO product_slots VALUES(90,200); -INSERT INTO product_slots VALUES(90,201); -INSERT INTO product_slots VALUES(90,202); -INSERT INTO product_slots VALUES(90,203); -INSERT INTO product_slots VALUES(90,204); -INSERT INTO product_slots VALUES(90,205); -INSERT INTO product_slots VALUES(90,206); -INSERT INTO product_slots VALUES(90,207); -INSERT INTO product_slots VALUES(90,208); -INSERT INTO product_slots VALUES(90,209); -INSERT INTO product_slots VALUES(90,210); -INSERT INTO product_slots VALUES(90,211); -INSERT INTO product_slots VALUES(90,212); -INSERT INTO product_slots VALUES(90,213); -INSERT INTO product_slots VALUES(90,214); -INSERT INTO product_slots VALUES(90,215); -INSERT INTO product_slots VALUES(90,216); -INSERT INTO product_slots VALUES(90,217); -INSERT INTO product_slots VALUES(90,218); -INSERT INTO product_slots VALUES(90,219); -INSERT INTO product_slots VALUES(90,220); -INSERT INTO product_slots VALUES(90,221); -INSERT INTO product_slots VALUES(90,222); -INSERT INTO product_slots VALUES(90,223); -INSERT INTO product_slots VALUES(90,224); -INSERT INTO product_slots VALUES(90,225); -INSERT INTO product_slots VALUES(90,226); -INSERT INTO product_slots VALUES(90,227); -INSERT INTO product_slots VALUES(90,228); -INSERT INTO product_slots VALUES(90,229); -INSERT INTO product_slots VALUES(90,230); -INSERT INTO product_slots VALUES(90,231); -INSERT INTO product_slots VALUES(90,232); -INSERT INTO product_slots VALUES(90,233); -INSERT INTO product_slots VALUES(90,234); -INSERT INTO product_slots VALUES(90,235); -INSERT INTO product_slots VALUES(90,236); -INSERT INTO product_slots VALUES(90,237); -INSERT INTO product_slots VALUES(90,238); -INSERT INTO product_slots VALUES(90,239); -INSERT INTO product_slots VALUES(90,240); -INSERT INTO product_slots VALUES(90,241); -INSERT INTO product_slots VALUES(90,242); -INSERT INTO product_slots VALUES(90,243); -INSERT INTO product_slots VALUES(90,244); -INSERT INTO product_slots VALUES(90,274); -INSERT INTO product_slots VALUES(90,275); -INSERT INTO product_slots VALUES(90,279); -INSERT INTO product_slots VALUES(90,280); -INSERT INTO product_slots VALUES(90,281); -INSERT INTO product_slots VALUES(90,282); -INSERT INTO product_slots VALUES(90,283); -INSERT INTO product_slots VALUES(90,284); -INSERT INTO product_slots VALUES(90,285); -INSERT INTO product_slots VALUES(90,286); -INSERT INTO product_slots VALUES(90,287); -INSERT INTO product_slots VALUES(91,39); -INSERT INTO product_slots VALUES(91,44); -INSERT INTO product_slots VALUES(91,46); -INSERT INTO product_slots VALUES(91,47); -INSERT INTO product_slots VALUES(91,48); -INSERT INTO product_slots VALUES(91,49); -INSERT INTO product_slots VALUES(91,50); -INSERT INTO product_slots VALUES(91,51); -INSERT INTO product_slots VALUES(91,52); -INSERT INTO product_slots VALUES(91,53); -INSERT INTO product_slots VALUES(91,54); -INSERT INTO product_slots VALUES(91,55); -INSERT INTO product_slots VALUES(91,56); -INSERT INTO product_slots VALUES(91,57); -INSERT INTO product_slots VALUES(91,58); -INSERT INTO product_slots VALUES(91,59); -INSERT INTO product_slots VALUES(91,60); -INSERT INTO product_slots VALUES(91,61); -INSERT INTO product_slots VALUES(91,62); -INSERT INTO product_slots VALUES(91,63); -INSERT INTO product_slots VALUES(91,64); -INSERT INTO product_slots VALUES(91,65); -INSERT INTO product_slots VALUES(91,66); -INSERT INTO product_slots VALUES(91,67); -INSERT INTO product_slots VALUES(91,68); -INSERT INTO product_slots VALUES(91,69); -INSERT INTO product_slots VALUES(91,70); -INSERT INTO product_slots VALUES(91,71); -INSERT INTO product_slots VALUES(91,72); -INSERT INTO product_slots VALUES(91,73); -INSERT INTO product_slots VALUES(91,74); -INSERT INTO product_slots VALUES(91,75); -INSERT INTO product_slots VALUES(91,76); -INSERT INTO product_slots VALUES(91,77); -INSERT INTO product_slots VALUES(91,78); -INSERT INTO product_slots VALUES(91,79); -INSERT INTO product_slots VALUES(91,80); -INSERT INTO product_slots VALUES(91,81); -INSERT INTO product_slots VALUES(91,82); -INSERT INTO product_slots VALUES(91,83); -INSERT INTO product_slots VALUES(91,84); -INSERT INTO product_slots VALUES(91,85); -INSERT INTO product_slots VALUES(91,86); -INSERT INTO product_slots VALUES(91,87); -INSERT INTO product_slots VALUES(91,88); -INSERT INTO product_slots VALUES(91,89); -INSERT INTO product_slots VALUES(91,90); -INSERT INTO product_slots VALUES(91,91); -INSERT INTO product_slots VALUES(91,92); -INSERT INTO product_slots VALUES(91,93); -INSERT INTO product_slots VALUES(91,94); -INSERT INTO product_slots VALUES(91,95); -INSERT INTO product_slots VALUES(91,96); -INSERT INTO product_slots VALUES(91,97); -INSERT INTO product_slots VALUES(91,98); -INSERT INTO product_slots VALUES(91,99); -INSERT INTO product_slots VALUES(91,100); -INSERT INTO product_slots VALUES(91,101); -INSERT INTO product_slots VALUES(91,102); -INSERT INTO product_slots VALUES(91,103); -INSERT INTO product_slots VALUES(91,104); -INSERT INTO product_slots VALUES(91,105); -INSERT INTO product_slots VALUES(91,106); -INSERT INTO product_slots VALUES(91,107); -INSERT INTO product_slots VALUES(91,108); -INSERT INTO product_slots VALUES(91,109); -INSERT INTO product_slots VALUES(91,110); -INSERT INTO product_slots VALUES(91,111); -INSERT INTO product_slots VALUES(91,112); -INSERT INTO product_slots VALUES(91,113); -INSERT INTO product_slots VALUES(91,114); -INSERT INTO product_slots VALUES(91,115); -INSERT INTO product_slots VALUES(91,116); -INSERT INTO product_slots VALUES(91,117); -INSERT INTO product_slots VALUES(91,118); -INSERT INTO product_slots VALUES(91,119); -INSERT INTO product_slots VALUES(91,120); -INSERT INTO product_slots VALUES(91,121); -INSERT INTO product_slots VALUES(91,122); -INSERT INTO product_slots VALUES(91,123); -INSERT INTO product_slots VALUES(91,124); -INSERT INTO product_slots VALUES(91,125); -INSERT INTO product_slots VALUES(91,126); -INSERT INTO product_slots VALUES(91,127); -INSERT INTO product_slots VALUES(91,128); -INSERT INTO product_slots VALUES(91,129); -INSERT INTO product_slots VALUES(91,130); -INSERT INTO product_slots VALUES(91,131); -INSERT INTO product_slots VALUES(91,132); -INSERT INTO product_slots VALUES(91,133); -INSERT INTO product_slots VALUES(91,134); -INSERT INTO product_slots VALUES(91,135); -INSERT INTO product_slots VALUES(91,136); -INSERT INTO product_slots VALUES(91,137); -INSERT INTO product_slots VALUES(91,138); -INSERT INTO product_slots VALUES(91,139); -INSERT INTO product_slots VALUES(91,140); -INSERT INTO product_slots VALUES(91,141); -INSERT INTO product_slots VALUES(91,142); -INSERT INTO product_slots VALUES(91,143); -INSERT INTO product_slots VALUES(91,144); -INSERT INTO product_slots VALUES(91,145); -INSERT INTO product_slots VALUES(91,146); -INSERT INTO product_slots VALUES(91,147); -INSERT INTO product_slots VALUES(91,148); -INSERT INTO product_slots VALUES(91,149); -INSERT INTO product_slots VALUES(91,150); -INSERT INTO product_slots VALUES(91,151); -INSERT INTO product_slots VALUES(91,152); -INSERT INTO product_slots VALUES(91,153); -INSERT INTO product_slots VALUES(91,154); -INSERT INTO product_slots VALUES(91,155); -INSERT INTO product_slots VALUES(91,156); -INSERT INTO product_slots VALUES(91,157); -INSERT INTO product_slots VALUES(91,158); -INSERT INTO product_slots VALUES(91,159); -INSERT INTO product_slots VALUES(91,160); -INSERT INTO product_slots VALUES(91,161); -INSERT INTO product_slots VALUES(91,162); -INSERT INTO product_slots VALUES(91,163); -INSERT INTO product_slots VALUES(91,164); -INSERT INTO product_slots VALUES(91,165); -INSERT INTO product_slots VALUES(91,166); -INSERT INTO product_slots VALUES(91,167); -INSERT INTO product_slots VALUES(91,168); -INSERT INTO product_slots VALUES(91,169); -INSERT INTO product_slots VALUES(91,170); -INSERT INTO product_slots VALUES(91,171); -INSERT INTO product_slots VALUES(91,172); -INSERT INTO product_slots VALUES(91,173); -INSERT INTO product_slots VALUES(91,174); -INSERT INTO product_slots VALUES(91,175); -INSERT INTO product_slots VALUES(91,176); -INSERT INTO product_slots VALUES(91,177); -INSERT INTO product_slots VALUES(91,178); -INSERT INTO product_slots VALUES(91,179); -INSERT INTO product_slots VALUES(91,180); -INSERT INTO product_slots VALUES(91,181); -INSERT INTO product_slots VALUES(91,182); -INSERT INTO product_slots VALUES(91,183); -INSERT INTO product_slots VALUES(91,184); -INSERT INTO product_slots VALUES(91,185); -INSERT INTO product_slots VALUES(91,186); -INSERT INTO product_slots VALUES(91,187); -INSERT INTO product_slots VALUES(91,188); -INSERT INTO product_slots VALUES(91,189); -INSERT INTO product_slots VALUES(91,190); -INSERT INTO product_slots VALUES(91,191); -INSERT INTO product_slots VALUES(91,192); -INSERT INTO product_slots VALUES(91,193); -INSERT INTO product_slots VALUES(91,194); -INSERT INTO product_slots VALUES(91,195); -INSERT INTO product_slots VALUES(91,196); -INSERT INTO product_slots VALUES(91,197); -INSERT INTO product_slots VALUES(91,198); -INSERT INTO product_slots VALUES(91,199); -INSERT INTO product_slots VALUES(91,200); -INSERT INTO product_slots VALUES(91,201); -INSERT INTO product_slots VALUES(91,202); -INSERT INTO product_slots VALUES(91,203); -INSERT INTO product_slots VALUES(91,204); -INSERT INTO product_slots VALUES(91,205); -INSERT INTO product_slots VALUES(91,206); -INSERT INTO product_slots VALUES(91,207); -INSERT INTO product_slots VALUES(91,208); -INSERT INTO product_slots VALUES(91,209); -INSERT INTO product_slots VALUES(91,210); -INSERT INTO product_slots VALUES(91,211); -INSERT INTO product_slots VALUES(91,212); -INSERT INTO product_slots VALUES(91,213); -INSERT INTO product_slots VALUES(91,214); -INSERT INTO product_slots VALUES(91,215); -INSERT INTO product_slots VALUES(91,216); -INSERT INTO product_slots VALUES(91,217); -INSERT INTO product_slots VALUES(91,218); -INSERT INTO product_slots VALUES(91,219); -INSERT INTO product_slots VALUES(91,220); -INSERT INTO product_slots VALUES(91,221); -INSERT INTO product_slots VALUES(91,222); -INSERT INTO product_slots VALUES(91,223); -INSERT INTO product_slots VALUES(91,224); -INSERT INTO product_slots VALUES(91,225); -INSERT INTO product_slots VALUES(91,226); -INSERT INTO product_slots VALUES(91,227); -INSERT INTO product_slots VALUES(91,228); -INSERT INTO product_slots VALUES(91,229); -INSERT INTO product_slots VALUES(91,230); -INSERT INTO product_slots VALUES(91,231); -INSERT INTO product_slots VALUES(91,232); -INSERT INTO product_slots VALUES(91,233); -INSERT INTO product_slots VALUES(91,234); -INSERT INTO product_slots VALUES(91,235); -INSERT INTO product_slots VALUES(91,236); -INSERT INTO product_slots VALUES(91,237); -INSERT INTO product_slots VALUES(91,238); -INSERT INTO product_slots VALUES(91,239); -INSERT INTO product_slots VALUES(91,240); -INSERT INTO product_slots VALUES(91,241); -INSERT INTO product_slots VALUES(91,242); -INSERT INTO product_slots VALUES(91,243); -INSERT INTO product_slots VALUES(91,244); -INSERT INTO product_slots VALUES(91,274); -INSERT INTO product_slots VALUES(91,275); -INSERT INTO product_slots VALUES(91,279); -INSERT INTO product_slots VALUES(91,280); -INSERT INTO product_slots VALUES(91,281); -INSERT INTO product_slots VALUES(91,282); -INSERT INTO product_slots VALUES(91,283); -INSERT INTO product_slots VALUES(91,284); -INSERT INTO product_slots VALUES(91,285); -INSERT INTO product_slots VALUES(91,286); -INSERT INTO product_slots VALUES(91,287); -INSERT INTO product_slots VALUES(92,39); -INSERT INTO product_slots VALUES(92,44); -INSERT INTO product_slots VALUES(92,46); -INSERT INTO product_slots VALUES(92,47); -INSERT INTO product_slots VALUES(92,48); -INSERT INTO product_slots VALUES(92,49); -INSERT INTO product_slots VALUES(92,50); -INSERT INTO product_slots VALUES(92,51); -INSERT INTO product_slots VALUES(92,52); -INSERT INTO product_slots VALUES(92,53); -INSERT INTO product_slots VALUES(92,54); -INSERT INTO product_slots VALUES(92,55); -INSERT INTO product_slots VALUES(92,56); -INSERT INTO product_slots VALUES(92,57); -INSERT INTO product_slots VALUES(92,58); -INSERT INTO product_slots VALUES(92,59); -INSERT INTO product_slots VALUES(92,60); -INSERT INTO product_slots VALUES(92,61); -INSERT INTO product_slots VALUES(92,62); -INSERT INTO product_slots VALUES(92,63); -INSERT INTO product_slots VALUES(92,64); -INSERT INTO product_slots VALUES(92,65); -INSERT INTO product_slots VALUES(92,66); -INSERT INTO product_slots VALUES(92,67); -INSERT INTO product_slots VALUES(92,68); -INSERT INTO product_slots VALUES(92,69); -INSERT INTO product_slots VALUES(92,70); -INSERT INTO product_slots VALUES(92,71); -INSERT INTO product_slots VALUES(92,72); -INSERT INTO product_slots VALUES(92,73); -INSERT INTO product_slots VALUES(92,74); -INSERT INTO product_slots VALUES(92,75); -INSERT INTO product_slots VALUES(92,76); -INSERT INTO product_slots VALUES(92,77); -INSERT INTO product_slots VALUES(92,78); -INSERT INTO product_slots VALUES(92,79); -INSERT INTO product_slots VALUES(92,80); -INSERT INTO product_slots VALUES(92,81); -INSERT INTO product_slots VALUES(92,82); -INSERT INTO product_slots VALUES(92,83); -INSERT INTO product_slots VALUES(92,84); -INSERT INTO product_slots VALUES(92,85); -INSERT INTO product_slots VALUES(92,86); -INSERT INTO product_slots VALUES(92,87); -INSERT INTO product_slots VALUES(92,88); -INSERT INTO product_slots VALUES(92,89); -INSERT INTO product_slots VALUES(92,90); -INSERT INTO product_slots VALUES(92,91); -INSERT INTO product_slots VALUES(92,92); -INSERT INTO product_slots VALUES(92,93); -INSERT INTO product_slots VALUES(92,94); -INSERT INTO product_slots VALUES(92,95); -INSERT INTO product_slots VALUES(92,96); -INSERT INTO product_slots VALUES(92,97); -INSERT INTO product_slots VALUES(92,98); -INSERT INTO product_slots VALUES(92,99); -INSERT INTO product_slots VALUES(92,100); -INSERT INTO product_slots VALUES(92,101); -INSERT INTO product_slots VALUES(92,102); -INSERT INTO product_slots VALUES(92,103); -INSERT INTO product_slots VALUES(92,104); -INSERT INTO product_slots VALUES(92,105); -INSERT INTO product_slots VALUES(92,106); -INSERT INTO product_slots VALUES(92,107); -INSERT INTO product_slots VALUES(92,108); -INSERT INTO product_slots VALUES(92,109); -INSERT INTO product_slots VALUES(92,110); -INSERT INTO product_slots VALUES(92,111); -INSERT INTO product_slots VALUES(92,112); -INSERT INTO product_slots VALUES(92,113); -INSERT INTO product_slots VALUES(92,114); -INSERT INTO product_slots VALUES(92,115); -INSERT INTO product_slots VALUES(92,116); -INSERT INTO product_slots VALUES(92,117); -INSERT INTO product_slots VALUES(92,118); -INSERT INTO product_slots VALUES(92,119); -INSERT INTO product_slots VALUES(92,120); -INSERT INTO product_slots VALUES(92,121); -INSERT INTO product_slots VALUES(92,122); -INSERT INTO product_slots VALUES(92,123); -INSERT INTO product_slots VALUES(92,124); -INSERT INTO product_slots VALUES(92,125); -INSERT INTO product_slots VALUES(92,126); -INSERT INTO product_slots VALUES(92,127); -INSERT INTO product_slots VALUES(92,128); -INSERT INTO product_slots VALUES(92,129); -INSERT INTO product_slots VALUES(92,130); -INSERT INTO product_slots VALUES(92,131); -INSERT INTO product_slots VALUES(92,132); -INSERT INTO product_slots VALUES(92,133); -INSERT INTO product_slots VALUES(92,134); -INSERT INTO product_slots VALUES(92,135); -INSERT INTO product_slots VALUES(92,136); -INSERT INTO product_slots VALUES(92,137); -INSERT INTO product_slots VALUES(92,138); -INSERT INTO product_slots VALUES(92,139); -INSERT INTO product_slots VALUES(92,140); -INSERT INTO product_slots VALUES(92,141); -INSERT INTO product_slots VALUES(92,142); -INSERT INTO product_slots VALUES(92,143); -INSERT INTO product_slots VALUES(92,144); -INSERT INTO product_slots VALUES(92,145); -INSERT INTO product_slots VALUES(92,146); -INSERT INTO product_slots VALUES(92,147); -INSERT INTO product_slots VALUES(92,148); -INSERT INTO product_slots VALUES(92,149); -INSERT INTO product_slots VALUES(92,150); -INSERT INTO product_slots VALUES(92,151); -INSERT INTO product_slots VALUES(92,152); -INSERT INTO product_slots VALUES(92,153); -INSERT INTO product_slots VALUES(92,154); -INSERT INTO product_slots VALUES(92,155); -INSERT INTO product_slots VALUES(92,156); -INSERT INTO product_slots VALUES(92,157); -INSERT INTO product_slots VALUES(92,158); -INSERT INTO product_slots VALUES(92,159); -INSERT INTO product_slots VALUES(92,160); -INSERT INTO product_slots VALUES(92,161); -INSERT INTO product_slots VALUES(92,162); -INSERT INTO product_slots VALUES(92,163); -INSERT INTO product_slots VALUES(92,164); -INSERT INTO product_slots VALUES(92,165); -INSERT INTO product_slots VALUES(92,166); -INSERT INTO product_slots VALUES(92,167); -INSERT INTO product_slots VALUES(92,168); -INSERT INTO product_slots VALUES(92,169); -INSERT INTO product_slots VALUES(92,170); -INSERT INTO product_slots VALUES(92,171); -INSERT INTO product_slots VALUES(92,172); -INSERT INTO product_slots VALUES(92,173); -INSERT INTO product_slots VALUES(92,174); -INSERT INTO product_slots VALUES(92,175); -INSERT INTO product_slots VALUES(92,176); -INSERT INTO product_slots VALUES(92,177); -INSERT INTO product_slots VALUES(92,178); -INSERT INTO product_slots VALUES(92,179); -INSERT INTO product_slots VALUES(92,180); -INSERT INTO product_slots VALUES(92,181); -INSERT INTO product_slots VALUES(92,182); -INSERT INTO product_slots VALUES(92,183); -INSERT INTO product_slots VALUES(92,184); -INSERT INTO product_slots VALUES(92,185); -INSERT INTO product_slots VALUES(92,186); -INSERT INTO product_slots VALUES(92,187); -INSERT INTO product_slots VALUES(92,188); -INSERT INTO product_slots VALUES(92,189); -INSERT INTO product_slots VALUES(92,190); -INSERT INTO product_slots VALUES(92,191); -INSERT INTO product_slots VALUES(92,192); -INSERT INTO product_slots VALUES(92,193); -INSERT INTO product_slots VALUES(92,194); -INSERT INTO product_slots VALUES(92,195); -INSERT INTO product_slots VALUES(92,196); -INSERT INTO product_slots VALUES(92,197); -INSERT INTO product_slots VALUES(92,198); -INSERT INTO product_slots VALUES(92,199); -INSERT INTO product_slots VALUES(92,200); -INSERT INTO product_slots VALUES(92,201); -INSERT INTO product_slots VALUES(92,202); -INSERT INTO product_slots VALUES(92,203); -INSERT INTO product_slots VALUES(92,204); -INSERT INTO product_slots VALUES(92,205); -INSERT INTO product_slots VALUES(92,206); -INSERT INTO product_slots VALUES(92,207); -INSERT INTO product_slots VALUES(92,208); -INSERT INTO product_slots VALUES(92,209); -INSERT INTO product_slots VALUES(92,210); -INSERT INTO product_slots VALUES(92,211); -INSERT INTO product_slots VALUES(92,212); -INSERT INTO product_slots VALUES(92,213); -INSERT INTO product_slots VALUES(92,214); -INSERT INTO product_slots VALUES(92,215); -INSERT INTO product_slots VALUES(92,216); -INSERT INTO product_slots VALUES(92,217); -INSERT INTO product_slots VALUES(92,218); -INSERT INTO product_slots VALUES(92,219); -INSERT INTO product_slots VALUES(92,220); -INSERT INTO product_slots VALUES(92,221); -INSERT INTO product_slots VALUES(92,222); -INSERT INTO product_slots VALUES(92,223); -INSERT INTO product_slots VALUES(92,224); -INSERT INTO product_slots VALUES(92,225); -INSERT INTO product_slots VALUES(92,226); -INSERT INTO product_slots VALUES(92,227); -INSERT INTO product_slots VALUES(92,228); -INSERT INTO product_slots VALUES(92,229); -INSERT INTO product_slots VALUES(92,230); -INSERT INTO product_slots VALUES(92,231); -INSERT INTO product_slots VALUES(92,232); -INSERT INTO product_slots VALUES(92,233); -INSERT INTO product_slots VALUES(92,234); -INSERT INTO product_slots VALUES(92,235); -INSERT INTO product_slots VALUES(92,236); -INSERT INTO product_slots VALUES(92,237); -INSERT INTO product_slots VALUES(92,238); -INSERT INTO product_slots VALUES(92,239); -INSERT INTO product_slots VALUES(92,240); -INSERT INTO product_slots VALUES(92,241); -INSERT INTO product_slots VALUES(92,242); -INSERT INTO product_slots VALUES(92,243); -INSERT INTO product_slots VALUES(92,244); -INSERT INTO product_slots VALUES(92,274); -INSERT INTO product_slots VALUES(92,275); -INSERT INTO product_slots VALUES(92,279); -INSERT INTO product_slots VALUES(92,280); -INSERT INTO product_slots VALUES(92,281); -INSERT INTO product_slots VALUES(92,282); -INSERT INTO product_slots VALUES(92,283); -INSERT INTO product_slots VALUES(92,284); -INSERT INTO product_slots VALUES(92,285); -INSERT INTO product_slots VALUES(92,286); -INSERT INTO product_slots VALUES(92,287); -INSERT INTO product_slots VALUES(93,59); -INSERT INTO product_slots VALUES(93,62); -INSERT INTO product_slots VALUES(93,63); -INSERT INTO product_slots VALUES(93,64); -INSERT INTO product_slots VALUES(93,65); -INSERT INTO product_slots VALUES(93,66); -INSERT INTO product_slots VALUES(93,67); -INSERT INTO product_slots VALUES(94,39); -INSERT INTO product_slots VALUES(94,62); -INSERT INTO product_slots VALUES(94,63); -INSERT INTO product_slots VALUES(94,64); -INSERT INTO product_slots VALUES(94,65); -INSERT INTO product_slots VALUES(94,66); -INSERT INTO product_slots VALUES(94,67); -INSERT INTO product_slots VALUES(94,68); -INSERT INTO product_slots VALUES(94,69); -INSERT INTO product_slots VALUES(94,70); -INSERT INTO product_slots VALUES(94,71); -INSERT INTO product_slots VALUES(94,72); -INSERT INTO product_slots VALUES(94,73); -INSERT INTO product_slots VALUES(94,74); -INSERT INTO product_slots VALUES(94,75); -INSERT INTO product_slots VALUES(94,76); -INSERT INTO product_slots VALUES(94,77); -INSERT INTO product_slots VALUES(94,78); -INSERT INTO product_slots VALUES(94,79); -INSERT INTO product_slots VALUES(94,80); -INSERT INTO product_slots VALUES(94,81); -INSERT INTO product_slots VALUES(94,82); -INSERT INTO product_slots VALUES(94,83); -INSERT INTO product_slots VALUES(94,84); -INSERT INTO product_slots VALUES(94,85); -INSERT INTO product_slots VALUES(94,86); -INSERT INTO product_slots VALUES(94,87); -INSERT INTO product_slots VALUES(94,88); -INSERT INTO product_slots VALUES(94,89); -INSERT INTO product_slots VALUES(94,90); -INSERT INTO product_slots VALUES(94,91); -INSERT INTO product_slots VALUES(94,92); -INSERT INTO product_slots VALUES(94,93); -INSERT INTO product_slots VALUES(94,94); -INSERT INTO product_slots VALUES(94,95); -INSERT INTO product_slots VALUES(94,96); -INSERT INTO product_slots VALUES(94,97); -INSERT INTO product_slots VALUES(94,98); -INSERT INTO product_slots VALUES(94,99); -INSERT INTO product_slots VALUES(94,100); -INSERT INTO product_slots VALUES(94,101); -INSERT INTO product_slots VALUES(94,102); -INSERT INTO product_slots VALUES(94,103); -INSERT INTO product_slots VALUES(94,104); -INSERT INTO product_slots VALUES(94,105); -INSERT INTO product_slots VALUES(94,106); -INSERT INTO product_slots VALUES(94,107); -INSERT INTO product_slots VALUES(94,108); -INSERT INTO product_slots VALUES(94,109); -INSERT INTO product_slots VALUES(94,110); -INSERT INTO product_slots VALUES(94,111); -INSERT INTO product_slots VALUES(94,112); -INSERT INTO product_slots VALUES(94,113); -INSERT INTO product_slots VALUES(94,114); -INSERT INTO product_slots VALUES(94,115); -INSERT INTO product_slots VALUES(94,116); -INSERT INTO product_slots VALUES(94,117); -INSERT INTO product_slots VALUES(94,118); -INSERT INTO product_slots VALUES(94,119); -INSERT INTO product_slots VALUES(94,120); -INSERT INTO product_slots VALUES(94,121); -INSERT INTO product_slots VALUES(94,122); -INSERT INTO product_slots VALUES(94,123); -INSERT INTO product_slots VALUES(94,124); -INSERT INTO product_slots VALUES(94,125); -INSERT INTO product_slots VALUES(94,126); -INSERT INTO product_slots VALUES(94,127); -INSERT INTO product_slots VALUES(94,128); -INSERT INTO product_slots VALUES(94,129); -INSERT INTO product_slots VALUES(94,130); -INSERT INTO product_slots VALUES(94,131); -INSERT INTO product_slots VALUES(94,132); -INSERT INTO product_slots VALUES(94,133); -INSERT INTO product_slots VALUES(94,134); -INSERT INTO product_slots VALUES(94,135); -INSERT INTO product_slots VALUES(94,136); -INSERT INTO product_slots VALUES(94,137); -INSERT INTO product_slots VALUES(94,138); -INSERT INTO product_slots VALUES(94,139); -INSERT INTO product_slots VALUES(94,140); -INSERT INTO product_slots VALUES(94,141); -INSERT INTO product_slots VALUES(94,142); -INSERT INTO product_slots VALUES(94,143); -INSERT INTO product_slots VALUES(94,144); -INSERT INTO product_slots VALUES(94,145); -INSERT INTO product_slots VALUES(94,146); -INSERT INTO product_slots VALUES(94,147); -INSERT INTO product_slots VALUES(94,148); -INSERT INTO product_slots VALUES(94,149); -INSERT INTO product_slots VALUES(94,150); -INSERT INTO product_slots VALUES(94,151); -INSERT INTO product_slots VALUES(94,152); -INSERT INTO product_slots VALUES(94,153); -INSERT INTO product_slots VALUES(94,154); -INSERT INTO product_slots VALUES(94,155); -INSERT INTO product_slots VALUES(94,156); -INSERT INTO product_slots VALUES(94,157); -INSERT INTO product_slots VALUES(94,158); -INSERT INTO product_slots VALUES(94,159); -INSERT INTO product_slots VALUES(94,160); -INSERT INTO product_slots VALUES(94,161); -INSERT INTO product_slots VALUES(94,162); -INSERT INTO product_slots VALUES(94,163); -INSERT INTO product_slots VALUES(94,164); -INSERT INTO product_slots VALUES(94,165); -INSERT INTO product_slots VALUES(94,166); -INSERT INTO product_slots VALUES(94,167); -INSERT INTO product_slots VALUES(94,168); -INSERT INTO product_slots VALUES(94,169); -INSERT INTO product_slots VALUES(94,170); -INSERT INTO product_slots VALUES(94,171); -INSERT INTO product_slots VALUES(94,172); -INSERT INTO product_slots VALUES(94,173); -INSERT INTO product_slots VALUES(94,174); -INSERT INTO product_slots VALUES(94,175); -INSERT INTO product_slots VALUES(94,176); -INSERT INTO product_slots VALUES(94,177); -INSERT INTO product_slots VALUES(94,178); -INSERT INTO product_slots VALUES(94,179); -INSERT INTO product_slots VALUES(94,180); -INSERT INTO product_slots VALUES(94,181); -INSERT INTO product_slots VALUES(94,182); -INSERT INTO product_slots VALUES(94,183); -INSERT INTO product_slots VALUES(94,184); -INSERT INTO product_slots VALUES(94,185); -INSERT INTO product_slots VALUES(94,186); -INSERT INTO product_slots VALUES(94,187); -INSERT INTO product_slots VALUES(94,188); -INSERT INTO product_slots VALUES(94,189); -INSERT INTO product_slots VALUES(94,190); -INSERT INTO product_slots VALUES(94,191); -INSERT INTO product_slots VALUES(94,192); -INSERT INTO product_slots VALUES(94,193); -INSERT INTO product_slots VALUES(94,194); -INSERT INTO product_slots VALUES(94,195); -INSERT INTO product_slots VALUES(94,196); -INSERT INTO product_slots VALUES(94,197); -INSERT INTO product_slots VALUES(94,198); -INSERT INTO product_slots VALUES(94,199); -INSERT INTO product_slots VALUES(94,200); -INSERT INTO product_slots VALUES(94,201); -INSERT INTO product_slots VALUES(94,202); -INSERT INTO product_slots VALUES(94,203); -INSERT INTO product_slots VALUES(94,204); -INSERT INTO product_slots VALUES(94,205); -INSERT INTO product_slots VALUES(94,206); -INSERT INTO product_slots VALUES(94,207); -INSERT INTO product_slots VALUES(94,208); -INSERT INTO product_slots VALUES(94,209); -INSERT INTO product_slots VALUES(94,210); -INSERT INTO product_slots VALUES(94,211); -INSERT INTO product_slots VALUES(94,212); -INSERT INTO product_slots VALUES(94,213); -INSERT INTO product_slots VALUES(94,214); -INSERT INTO product_slots VALUES(94,215); -INSERT INTO product_slots VALUES(94,216); -INSERT INTO product_slots VALUES(94,217); -INSERT INTO product_slots VALUES(94,218); -INSERT INTO product_slots VALUES(94,219); -INSERT INTO product_slots VALUES(94,220); -INSERT INTO product_slots VALUES(94,221); -INSERT INTO product_slots VALUES(94,222); -INSERT INTO product_slots VALUES(94,223); -INSERT INTO product_slots VALUES(94,224); -INSERT INTO product_slots VALUES(94,225); -INSERT INTO product_slots VALUES(94,226); -INSERT INTO product_slots VALUES(94,227); -INSERT INTO product_slots VALUES(94,228); -INSERT INTO product_slots VALUES(94,229); -INSERT INTO product_slots VALUES(94,230); -INSERT INTO product_slots VALUES(94,231); -INSERT INTO product_slots VALUES(94,232); -INSERT INTO product_slots VALUES(94,233); -INSERT INTO product_slots VALUES(94,234); -INSERT INTO product_slots VALUES(94,235); -INSERT INTO product_slots VALUES(94,236); -INSERT INTO product_slots VALUES(94,237); -INSERT INTO product_slots VALUES(94,238); -INSERT INTO product_slots VALUES(94,239); -INSERT INTO product_slots VALUES(94,240); -INSERT INTO product_slots VALUES(94,241); -INSERT INTO product_slots VALUES(94,242); -INSERT INTO product_slots VALUES(94,243); -INSERT INTO product_slots VALUES(94,244); -INSERT INTO product_slots VALUES(94,274); -INSERT INTO product_slots VALUES(94,275); -INSERT INTO product_slots VALUES(94,279); -INSERT INTO product_slots VALUES(94,280); -INSERT INTO product_slots VALUES(94,281); -INSERT INTO product_slots VALUES(94,282); -INSERT INTO product_slots VALUES(94,283); -INSERT INTO product_slots VALUES(94,284); -INSERT INTO product_slots VALUES(94,285); -INSERT INTO product_slots VALUES(94,286); -INSERT INTO product_slots VALUES(94,287); -INSERT INTO product_slots VALUES(95,39); -INSERT INTO product_slots VALUES(95,55); -INSERT INTO product_slots VALUES(95,59); -INSERT INTO product_slots VALUES(95,62); -INSERT INTO product_slots VALUES(95,63); -INSERT INTO product_slots VALUES(95,64); -INSERT INTO product_slots VALUES(95,65); -INSERT INTO product_slots VALUES(95,66); -INSERT INTO product_slots VALUES(95,67); -INSERT INTO product_slots VALUES(95,68); -INSERT INTO product_slots VALUES(95,69); -INSERT INTO product_slots VALUES(95,70); -INSERT INTO product_slots VALUES(95,71); -INSERT INTO product_slots VALUES(95,72); -INSERT INTO product_slots VALUES(95,73); -INSERT INTO product_slots VALUES(95,74); -INSERT INTO product_slots VALUES(95,75); -INSERT INTO product_slots VALUES(95,76); -INSERT INTO product_slots VALUES(95,77); -INSERT INTO product_slots VALUES(95,78); -INSERT INTO product_slots VALUES(95,79); -INSERT INTO product_slots VALUES(95,80); -INSERT INTO product_slots VALUES(95,81); -INSERT INTO product_slots VALUES(95,82); -INSERT INTO product_slots VALUES(95,83); -INSERT INTO product_slots VALUES(95,84); -INSERT INTO product_slots VALUES(95,85); -INSERT INTO product_slots VALUES(95,86); -INSERT INTO product_slots VALUES(95,87); -INSERT INTO product_slots VALUES(95,88); -INSERT INTO product_slots VALUES(95,89); -INSERT INTO product_slots VALUES(95,90); -INSERT INTO product_slots VALUES(95,91); -INSERT INTO product_slots VALUES(95,92); -INSERT INTO product_slots VALUES(95,93); -INSERT INTO product_slots VALUES(95,94); -INSERT INTO product_slots VALUES(95,95); -INSERT INTO product_slots VALUES(95,96); -INSERT INTO product_slots VALUES(95,97); -INSERT INTO product_slots VALUES(95,98); -INSERT INTO product_slots VALUES(95,99); -INSERT INTO product_slots VALUES(95,100); -INSERT INTO product_slots VALUES(95,101); -INSERT INTO product_slots VALUES(95,102); -INSERT INTO product_slots VALUES(95,103); -INSERT INTO product_slots VALUES(95,104); -INSERT INTO product_slots VALUES(95,105); -INSERT INTO product_slots VALUES(95,106); -INSERT INTO product_slots VALUES(95,107); -INSERT INTO product_slots VALUES(95,108); -INSERT INTO product_slots VALUES(95,109); -INSERT INTO product_slots VALUES(95,110); -INSERT INTO product_slots VALUES(95,111); -INSERT INTO product_slots VALUES(95,112); -INSERT INTO product_slots VALUES(95,113); -INSERT INTO product_slots VALUES(95,114); -INSERT INTO product_slots VALUES(95,115); -INSERT INTO product_slots VALUES(95,116); -INSERT INTO product_slots VALUES(95,117); -INSERT INTO product_slots VALUES(95,118); -INSERT INTO product_slots VALUES(95,119); -INSERT INTO product_slots VALUES(95,120); -INSERT INTO product_slots VALUES(95,121); -INSERT INTO product_slots VALUES(95,122); -INSERT INTO product_slots VALUES(95,123); -INSERT INTO product_slots VALUES(95,124); -INSERT INTO product_slots VALUES(95,125); -INSERT INTO product_slots VALUES(95,126); -INSERT INTO product_slots VALUES(95,127); -INSERT INTO product_slots VALUES(95,128); -INSERT INTO product_slots VALUES(95,129); -INSERT INTO product_slots VALUES(95,130); -INSERT INTO product_slots VALUES(95,131); -INSERT INTO product_slots VALUES(95,132); -INSERT INTO product_slots VALUES(95,133); -INSERT INTO product_slots VALUES(95,134); -INSERT INTO product_slots VALUES(95,135); -INSERT INTO product_slots VALUES(95,136); -INSERT INTO product_slots VALUES(95,137); -INSERT INTO product_slots VALUES(95,138); -INSERT INTO product_slots VALUES(95,139); -INSERT INTO product_slots VALUES(95,140); -INSERT INTO product_slots VALUES(95,141); -INSERT INTO product_slots VALUES(95,142); -INSERT INTO product_slots VALUES(95,143); -INSERT INTO product_slots VALUES(95,144); -INSERT INTO product_slots VALUES(95,145); -INSERT INTO product_slots VALUES(95,146); -INSERT INTO product_slots VALUES(95,147); -INSERT INTO product_slots VALUES(95,148); -INSERT INTO product_slots VALUES(95,149); -INSERT INTO product_slots VALUES(95,150); -INSERT INTO product_slots VALUES(95,151); -INSERT INTO product_slots VALUES(95,152); -INSERT INTO product_slots VALUES(95,153); -INSERT INTO product_slots VALUES(95,154); -INSERT INTO product_slots VALUES(95,155); -INSERT INTO product_slots VALUES(95,156); -INSERT INTO product_slots VALUES(95,157); -INSERT INTO product_slots VALUES(95,158); -INSERT INTO product_slots VALUES(95,159); -INSERT INTO product_slots VALUES(95,160); -INSERT INTO product_slots VALUES(95,161); -INSERT INTO product_slots VALUES(95,162); -INSERT INTO product_slots VALUES(95,163); -INSERT INTO product_slots VALUES(95,164); -INSERT INTO product_slots VALUES(95,165); -INSERT INTO product_slots VALUES(95,166); -INSERT INTO product_slots VALUES(95,167); -INSERT INTO product_slots VALUES(95,168); -INSERT INTO product_slots VALUES(95,169); -INSERT INTO product_slots VALUES(95,170); -INSERT INTO product_slots VALUES(95,171); -INSERT INTO product_slots VALUES(95,172); -INSERT INTO product_slots VALUES(95,173); -INSERT INTO product_slots VALUES(95,174); -INSERT INTO product_slots VALUES(95,175); -INSERT INTO product_slots VALUES(95,176); -INSERT INTO product_slots VALUES(95,177); -INSERT INTO product_slots VALUES(95,178); -INSERT INTO product_slots VALUES(95,179); -INSERT INTO product_slots VALUES(95,180); -INSERT INTO product_slots VALUES(95,181); -INSERT INTO product_slots VALUES(95,182); -INSERT INTO product_slots VALUES(95,183); -INSERT INTO product_slots VALUES(95,184); -INSERT INTO product_slots VALUES(95,185); -INSERT INTO product_slots VALUES(95,186); -INSERT INTO product_slots VALUES(95,187); -INSERT INTO product_slots VALUES(95,188); -INSERT INTO product_slots VALUES(95,189); -INSERT INTO product_slots VALUES(95,190); -INSERT INTO product_slots VALUES(95,191); -INSERT INTO product_slots VALUES(95,192); -INSERT INTO product_slots VALUES(95,193); -INSERT INTO product_slots VALUES(95,194); -INSERT INTO product_slots VALUES(95,195); -INSERT INTO product_slots VALUES(95,196); -INSERT INTO product_slots VALUES(95,197); -INSERT INTO product_slots VALUES(95,198); -INSERT INTO product_slots VALUES(95,199); -INSERT INTO product_slots VALUES(95,200); -INSERT INTO product_slots VALUES(95,201); -INSERT INTO product_slots VALUES(95,202); -INSERT INTO product_slots VALUES(95,203); -INSERT INTO product_slots VALUES(95,204); -INSERT INTO product_slots VALUES(95,205); -INSERT INTO product_slots VALUES(95,206); -INSERT INTO product_slots VALUES(95,207); -INSERT INTO product_slots VALUES(95,208); -INSERT INTO product_slots VALUES(95,209); -INSERT INTO product_slots VALUES(95,210); -INSERT INTO product_slots VALUES(95,211); -INSERT INTO product_slots VALUES(95,212); -INSERT INTO product_slots VALUES(95,213); -INSERT INTO product_slots VALUES(95,214); -INSERT INTO product_slots VALUES(95,215); -INSERT INTO product_slots VALUES(95,216); -INSERT INTO product_slots VALUES(95,217); -INSERT INTO product_slots VALUES(95,218); -INSERT INTO product_slots VALUES(95,219); -INSERT INTO product_slots VALUES(95,220); -INSERT INTO product_slots VALUES(95,221); -INSERT INTO product_slots VALUES(95,222); -INSERT INTO product_slots VALUES(95,223); -INSERT INTO product_slots VALUES(95,224); -INSERT INTO product_slots VALUES(95,225); -INSERT INTO product_slots VALUES(95,226); -INSERT INTO product_slots VALUES(95,227); -INSERT INTO product_slots VALUES(95,228); -INSERT INTO product_slots VALUES(95,229); -INSERT INTO product_slots VALUES(95,230); -INSERT INTO product_slots VALUES(95,231); -INSERT INTO product_slots VALUES(95,232); -INSERT INTO product_slots VALUES(95,233); -INSERT INTO product_slots VALUES(95,234); -INSERT INTO product_slots VALUES(95,235); -INSERT INTO product_slots VALUES(95,236); -INSERT INTO product_slots VALUES(95,237); -INSERT INTO product_slots VALUES(95,238); -INSERT INTO product_slots VALUES(95,239); -INSERT INTO product_slots VALUES(95,240); -INSERT INTO product_slots VALUES(95,241); -INSERT INTO product_slots VALUES(95,242); -INSERT INTO product_slots VALUES(95,243); -INSERT INTO product_slots VALUES(95,244); -INSERT INTO product_slots VALUES(95,274); -INSERT INTO product_slots VALUES(95,275); -INSERT INTO product_slots VALUES(95,279); -INSERT INTO product_slots VALUES(95,280); -INSERT INTO product_slots VALUES(95,281); -INSERT INTO product_slots VALUES(95,282); -INSERT INTO product_slots VALUES(95,283); -INSERT INTO product_slots VALUES(95,284); -INSERT INTO product_slots VALUES(95,285); -INSERT INTO product_slots VALUES(95,286); -INSERT INTO product_slots VALUES(95,287); -INSERT INTO product_slots VALUES(96,59); -INSERT INTO product_slots VALUES(96,62); -INSERT INTO product_slots VALUES(96,63); -INSERT INTO product_slots VALUES(96,64); -INSERT INTO product_slots VALUES(96,65); -INSERT INTO product_slots VALUES(96,66); -INSERT INTO product_slots VALUES(96,67); -INSERT INTO product_slots VALUES(96,68); -INSERT INTO product_slots VALUES(96,69); -INSERT INTO product_slots VALUES(96,70); -INSERT INTO product_slots VALUES(96,71); -INSERT INTO product_slots VALUES(96,72); -INSERT INTO product_slots VALUES(96,73); -INSERT INTO product_slots VALUES(96,74); -INSERT INTO product_slots VALUES(96,75); -INSERT INTO product_slots VALUES(96,76); -INSERT INTO product_slots VALUES(96,77); -INSERT INTO product_slots VALUES(96,78); -INSERT INTO product_slots VALUES(96,79); -INSERT INTO product_slots VALUES(96,80); -INSERT INTO product_slots VALUES(96,81); -INSERT INTO product_slots VALUES(96,82); -INSERT INTO product_slots VALUES(96,83); -INSERT INTO product_slots VALUES(96,84); -INSERT INTO product_slots VALUES(96,85); -INSERT INTO product_slots VALUES(96,86); -INSERT INTO product_slots VALUES(96,87); -INSERT INTO product_slots VALUES(96,88); -INSERT INTO product_slots VALUES(96,89); -INSERT INTO product_slots VALUES(96,90); -INSERT INTO product_slots VALUES(96,91); -INSERT INTO product_slots VALUES(96,92); -INSERT INTO product_slots VALUES(96,93); -INSERT INTO product_slots VALUES(96,94); -INSERT INTO product_slots VALUES(96,95); -INSERT INTO product_slots VALUES(96,96); -INSERT INTO product_slots VALUES(96,97); -INSERT INTO product_slots VALUES(96,98); -INSERT INTO product_slots VALUES(96,99); -INSERT INTO product_slots VALUES(96,100); -INSERT INTO product_slots VALUES(96,102); -INSERT INTO product_slots VALUES(96,103); -INSERT INTO product_slots VALUES(96,104); -INSERT INTO product_slots VALUES(96,105); -INSERT INTO product_slots VALUES(96,106); -INSERT INTO product_slots VALUES(96,107); -INSERT INTO product_slots VALUES(96,108); -INSERT INTO product_slots VALUES(96,109); -INSERT INTO product_slots VALUES(96,110); -INSERT INTO product_slots VALUES(96,111); -INSERT INTO product_slots VALUES(96,112); -INSERT INTO product_slots VALUES(96,113); -INSERT INTO product_slots VALUES(96,114); -INSERT INTO product_slots VALUES(96,115); -INSERT INTO product_slots VALUES(96,117); -INSERT INTO product_slots VALUES(96,118); -INSERT INTO product_slots VALUES(96,119); -INSERT INTO product_slots VALUES(96,120); -INSERT INTO product_slots VALUES(96,121); -INSERT INTO product_slots VALUES(96,122); -INSERT INTO product_slots VALUES(96,124); -INSERT INTO product_slots VALUES(96,125); -INSERT INTO product_slots VALUES(96,126); -INSERT INTO product_slots VALUES(96,127); -INSERT INTO product_slots VALUES(96,128); -INSERT INTO product_slots VALUES(96,129); -INSERT INTO product_slots VALUES(96,130); -INSERT INTO product_slots VALUES(96,131); -INSERT INTO product_slots VALUES(96,132); -INSERT INTO product_slots VALUES(96,133); -INSERT INTO product_slots VALUES(96,134); -INSERT INTO product_slots VALUES(96,135); -INSERT INTO product_slots VALUES(96,136); -INSERT INTO product_slots VALUES(96,138); -INSERT INTO product_slots VALUES(96,139); -INSERT INTO product_slots VALUES(96,140); -INSERT INTO product_slots VALUES(96,141); -INSERT INTO product_slots VALUES(96,142); -INSERT INTO product_slots VALUES(96,143); -INSERT INTO product_slots VALUES(96,145); -INSERT INTO product_slots VALUES(96,146); -INSERT INTO product_slots VALUES(96,147); -INSERT INTO product_slots VALUES(96,148); -INSERT INTO product_slots VALUES(96,149); -INSERT INTO product_slots VALUES(96,150); -INSERT INTO product_slots VALUES(96,151); -INSERT INTO product_slots VALUES(96,152); -INSERT INTO product_slots VALUES(96,153); -INSERT INTO product_slots VALUES(96,154); -INSERT INTO product_slots VALUES(96,155); -INSERT INTO product_slots VALUES(96,156); -INSERT INTO product_slots VALUES(96,157); -INSERT INTO product_slots VALUES(96,158); -INSERT INTO product_slots VALUES(96,159); -INSERT INTO product_slots VALUES(96,160); -INSERT INTO product_slots VALUES(96,161); -INSERT INTO product_slots VALUES(96,162); -INSERT INTO product_slots VALUES(96,163); -INSERT INTO product_slots VALUES(96,164); -INSERT INTO product_slots VALUES(96,165); -INSERT INTO product_slots VALUES(96,166); -INSERT INTO product_slots VALUES(96,167); -INSERT INTO product_slots VALUES(96,168); -INSERT INTO product_slots VALUES(96,169); -INSERT INTO product_slots VALUES(96,170); -INSERT INTO product_slots VALUES(96,171); -INSERT INTO product_slots VALUES(96,172); -INSERT INTO product_slots VALUES(96,173); -INSERT INTO product_slots VALUES(96,174); -INSERT INTO product_slots VALUES(96,175); -INSERT INTO product_slots VALUES(96,176); -INSERT INTO product_slots VALUES(96,177); -INSERT INTO product_slots VALUES(96,178); -INSERT INTO product_slots VALUES(96,179); -INSERT INTO product_slots VALUES(96,180); -INSERT INTO product_slots VALUES(96,181); -INSERT INTO product_slots VALUES(96,182); -INSERT INTO product_slots VALUES(96,183); -INSERT INTO product_slots VALUES(96,184); -INSERT INTO product_slots VALUES(96,185); -INSERT INTO product_slots VALUES(96,186); -INSERT INTO product_slots VALUES(96,187); -INSERT INTO product_slots VALUES(96,188); -INSERT INTO product_slots VALUES(96,189); -INSERT INTO product_slots VALUES(96,190); -INSERT INTO product_slots VALUES(96,191); -INSERT INTO product_slots VALUES(96,192); -INSERT INTO product_slots VALUES(96,193); -INSERT INTO product_slots VALUES(96,194); -INSERT INTO product_slots VALUES(96,195); -INSERT INTO product_slots VALUES(96,196); -INSERT INTO product_slots VALUES(96,197); -INSERT INTO product_slots VALUES(96,198); -INSERT INTO product_slots VALUES(96,199); -INSERT INTO product_slots VALUES(96,200); -INSERT INTO product_slots VALUES(96,201); -INSERT INTO product_slots VALUES(96,202); -INSERT INTO product_slots VALUES(96,203); -INSERT INTO product_slots VALUES(96,204); -INSERT INTO product_slots VALUES(96,205); -INSERT INTO product_slots VALUES(96,206); -INSERT INTO product_slots VALUES(96,207); -INSERT INTO product_slots VALUES(96,208); -INSERT INTO product_slots VALUES(96,209); -INSERT INTO product_slots VALUES(96,210); -INSERT INTO product_slots VALUES(96,211); -INSERT INTO product_slots VALUES(96,212); -INSERT INTO product_slots VALUES(96,213); -INSERT INTO product_slots VALUES(96,214); -INSERT INTO product_slots VALUES(96,215); -INSERT INTO product_slots VALUES(96,216); -INSERT INTO product_slots VALUES(96,217); -INSERT INTO product_slots VALUES(96,218); -INSERT INTO product_slots VALUES(96,219); -INSERT INTO product_slots VALUES(96,220); -INSERT INTO product_slots VALUES(96,221); -INSERT INTO product_slots VALUES(96,222); -INSERT INTO product_slots VALUES(96,223); -INSERT INTO product_slots VALUES(96,224); -INSERT INTO product_slots VALUES(96,225); -INSERT INTO product_slots VALUES(96,226); -INSERT INTO product_slots VALUES(96,227); -INSERT INTO product_slots VALUES(96,228); -INSERT INTO product_slots VALUES(96,229); -INSERT INTO product_slots VALUES(96,230); -INSERT INTO product_slots VALUES(96,231); -INSERT INTO product_slots VALUES(96,232); -INSERT INTO product_slots VALUES(96,233); -INSERT INTO product_slots VALUES(96,234); -INSERT INTO product_slots VALUES(96,235); -INSERT INTO product_slots VALUES(96,236); -INSERT INTO product_slots VALUES(96,237); -INSERT INTO product_slots VALUES(96,238); -INSERT INTO product_slots VALUES(96,239); -INSERT INTO product_slots VALUES(96,240); -INSERT INTO product_slots VALUES(96,241); -INSERT INTO product_slots VALUES(96,242); -INSERT INTO product_slots VALUES(96,243); -INSERT INTO product_slots VALUES(96,244); -INSERT INTO product_slots VALUES(96,274); -INSERT INTO product_slots VALUES(96,275); -INSERT INTO product_slots VALUES(96,279); -INSERT INTO product_slots VALUES(96,280); -INSERT INTO product_slots VALUES(96,281); -INSERT INTO product_slots VALUES(96,282); -INSERT INTO product_slots VALUES(96,283); -INSERT INTO product_slots VALUES(96,284); -INSERT INTO product_slots VALUES(96,285); -INSERT INTO product_slots VALUES(96,286); -INSERT INTO product_slots VALUES(96,287); -INSERT INTO product_slots VALUES(97,39); -INSERT INTO product_slots VALUES(97,55); -INSERT INTO product_slots VALUES(97,59); -INSERT INTO product_slots VALUES(97,62); -INSERT INTO product_slots VALUES(97,63); -INSERT INTO product_slots VALUES(97,64); -INSERT INTO product_slots VALUES(97,65); -INSERT INTO product_slots VALUES(97,66); -INSERT INTO product_slots VALUES(97,67); -INSERT INTO product_slots VALUES(97,68); -INSERT INTO product_slots VALUES(97,69); -INSERT INTO product_slots VALUES(97,70); -INSERT INTO product_slots VALUES(97,71); -INSERT INTO product_slots VALUES(97,72); -INSERT INTO product_slots VALUES(97,73); -INSERT INTO product_slots VALUES(97,74); -INSERT INTO product_slots VALUES(97,75); -INSERT INTO product_slots VALUES(97,76); -INSERT INTO product_slots VALUES(97,77); -INSERT INTO product_slots VALUES(97,78); -INSERT INTO product_slots VALUES(97,79); -INSERT INTO product_slots VALUES(97,80); -INSERT INTO product_slots VALUES(97,81); -INSERT INTO product_slots VALUES(97,82); -INSERT INTO product_slots VALUES(97,83); -INSERT INTO product_slots VALUES(97,84); -INSERT INTO product_slots VALUES(97,85); -INSERT INTO product_slots VALUES(97,86); -INSERT INTO product_slots VALUES(97,87); -INSERT INTO product_slots VALUES(97,88); -INSERT INTO product_slots VALUES(97,89); -INSERT INTO product_slots VALUES(97,90); -INSERT INTO product_slots VALUES(97,91); -INSERT INTO product_slots VALUES(97,92); -INSERT INTO product_slots VALUES(97,93); -INSERT INTO product_slots VALUES(97,94); -INSERT INTO product_slots VALUES(97,95); -INSERT INTO product_slots VALUES(97,96); -INSERT INTO product_slots VALUES(97,97); -INSERT INTO product_slots VALUES(97,98); -INSERT INTO product_slots VALUES(97,99); -INSERT INTO product_slots VALUES(97,100); -INSERT INTO product_slots VALUES(97,101); -INSERT INTO product_slots VALUES(97,102); -INSERT INTO product_slots VALUES(97,103); -INSERT INTO product_slots VALUES(97,104); -INSERT INTO product_slots VALUES(97,105); -INSERT INTO product_slots VALUES(97,106); -INSERT INTO product_slots VALUES(97,107); -INSERT INTO product_slots VALUES(97,108); -INSERT INTO product_slots VALUES(97,109); -INSERT INTO product_slots VALUES(97,110); -INSERT INTO product_slots VALUES(97,111); -INSERT INTO product_slots VALUES(97,112); -INSERT INTO product_slots VALUES(97,113); -INSERT INTO product_slots VALUES(97,114); -INSERT INTO product_slots VALUES(97,115); -INSERT INTO product_slots VALUES(97,116); -INSERT INTO product_slots VALUES(97,117); -INSERT INTO product_slots VALUES(97,118); -INSERT INTO product_slots VALUES(97,119); -INSERT INTO product_slots VALUES(97,120); -INSERT INTO product_slots VALUES(97,121); -INSERT INTO product_slots VALUES(97,122); -INSERT INTO product_slots VALUES(97,123); -INSERT INTO product_slots VALUES(97,124); -INSERT INTO product_slots VALUES(97,125); -INSERT INTO product_slots VALUES(97,126); -INSERT INTO product_slots VALUES(97,127); -INSERT INTO product_slots VALUES(97,128); -INSERT INTO product_slots VALUES(97,129); -INSERT INTO product_slots VALUES(97,130); -INSERT INTO product_slots VALUES(97,131); -INSERT INTO product_slots VALUES(97,132); -INSERT INTO product_slots VALUES(97,133); -INSERT INTO product_slots VALUES(97,134); -INSERT INTO product_slots VALUES(97,135); -INSERT INTO product_slots VALUES(97,136); -INSERT INTO product_slots VALUES(97,137); -INSERT INTO product_slots VALUES(97,138); -INSERT INTO product_slots VALUES(97,139); -INSERT INTO product_slots VALUES(97,140); -INSERT INTO product_slots VALUES(97,141); -INSERT INTO product_slots VALUES(97,142); -INSERT INTO product_slots VALUES(97,143); -INSERT INTO product_slots VALUES(97,144); -INSERT INTO product_slots VALUES(97,145); -INSERT INTO product_slots VALUES(97,146); -INSERT INTO product_slots VALUES(97,147); -INSERT INTO product_slots VALUES(97,148); -INSERT INTO product_slots VALUES(97,149); -INSERT INTO product_slots VALUES(97,150); -INSERT INTO product_slots VALUES(97,151); -INSERT INTO product_slots VALUES(97,152); -INSERT INTO product_slots VALUES(97,153); -INSERT INTO product_slots VALUES(97,154); -INSERT INTO product_slots VALUES(97,155); -INSERT INTO product_slots VALUES(97,156); -INSERT INTO product_slots VALUES(97,157); -INSERT INTO product_slots VALUES(97,158); -INSERT INTO product_slots VALUES(97,159); -INSERT INTO product_slots VALUES(97,160); -INSERT INTO product_slots VALUES(97,161); -INSERT INTO product_slots VALUES(97,162); -INSERT INTO product_slots VALUES(97,163); -INSERT INTO product_slots VALUES(97,164); -INSERT INTO product_slots VALUES(97,165); -INSERT INTO product_slots VALUES(97,166); -INSERT INTO product_slots VALUES(97,167); -INSERT INTO product_slots VALUES(97,168); -INSERT INTO product_slots VALUES(97,169); -INSERT INTO product_slots VALUES(97,170); -INSERT INTO product_slots VALUES(97,171); -INSERT INTO product_slots VALUES(97,172); -INSERT INTO product_slots VALUES(97,173); -INSERT INTO product_slots VALUES(97,174); -INSERT INTO product_slots VALUES(97,175); -INSERT INTO product_slots VALUES(97,176); -INSERT INTO product_slots VALUES(97,177); -INSERT INTO product_slots VALUES(97,178); -INSERT INTO product_slots VALUES(97,179); -INSERT INTO product_slots VALUES(97,180); -INSERT INTO product_slots VALUES(97,181); -INSERT INTO product_slots VALUES(97,182); -INSERT INTO product_slots VALUES(97,183); -INSERT INTO product_slots VALUES(97,184); -INSERT INTO product_slots VALUES(97,185); -INSERT INTO product_slots VALUES(97,186); -INSERT INTO product_slots VALUES(97,187); -INSERT INTO product_slots VALUES(97,188); -INSERT INTO product_slots VALUES(97,189); -INSERT INTO product_slots VALUES(97,190); -INSERT INTO product_slots VALUES(97,191); -INSERT INTO product_slots VALUES(97,192); -INSERT INTO product_slots VALUES(97,193); -INSERT INTO product_slots VALUES(97,194); -INSERT INTO product_slots VALUES(97,195); -INSERT INTO product_slots VALUES(97,196); -INSERT INTO product_slots VALUES(97,197); -INSERT INTO product_slots VALUES(97,198); -INSERT INTO product_slots VALUES(97,199); -INSERT INTO product_slots VALUES(97,200); -INSERT INTO product_slots VALUES(97,201); -INSERT INTO product_slots VALUES(97,202); -INSERT INTO product_slots VALUES(97,203); -INSERT INTO product_slots VALUES(97,204); -INSERT INTO product_slots VALUES(97,205); -INSERT INTO product_slots VALUES(97,206); -INSERT INTO product_slots VALUES(97,207); -INSERT INTO product_slots VALUES(97,208); -INSERT INTO product_slots VALUES(97,209); -INSERT INTO product_slots VALUES(97,210); -INSERT INTO product_slots VALUES(97,211); -INSERT INTO product_slots VALUES(97,212); -INSERT INTO product_slots VALUES(97,213); -INSERT INTO product_slots VALUES(97,214); -INSERT INTO product_slots VALUES(97,215); -INSERT INTO product_slots VALUES(97,216); -INSERT INTO product_slots VALUES(97,217); -INSERT INTO product_slots VALUES(97,218); -INSERT INTO product_slots VALUES(97,219); -INSERT INTO product_slots VALUES(97,220); -INSERT INTO product_slots VALUES(97,221); -INSERT INTO product_slots VALUES(97,222); -INSERT INTO product_slots VALUES(97,223); -INSERT INTO product_slots VALUES(97,224); -INSERT INTO product_slots VALUES(97,225); -INSERT INTO product_slots VALUES(97,226); -INSERT INTO product_slots VALUES(97,227); -INSERT INTO product_slots VALUES(97,228); -INSERT INTO product_slots VALUES(97,229); -INSERT INTO product_slots VALUES(97,230); -INSERT INTO product_slots VALUES(97,231); -INSERT INTO product_slots VALUES(97,232); -INSERT INTO product_slots VALUES(97,233); -INSERT INTO product_slots VALUES(97,234); -INSERT INTO product_slots VALUES(97,235); -INSERT INTO product_slots VALUES(97,236); -INSERT INTO product_slots VALUES(97,237); -INSERT INTO product_slots VALUES(97,238); -INSERT INTO product_slots VALUES(97,239); -INSERT INTO product_slots VALUES(97,240); -INSERT INTO product_slots VALUES(97,241); -INSERT INTO product_slots VALUES(97,242); -INSERT INTO product_slots VALUES(97,243); -INSERT INTO product_slots VALUES(97,244); -INSERT INTO product_slots VALUES(97,274); -INSERT INTO product_slots VALUES(97,275); -INSERT INTO product_slots VALUES(97,279); -INSERT INTO product_slots VALUES(97,280); -INSERT INTO product_slots VALUES(97,281); -INSERT INTO product_slots VALUES(97,282); -INSERT INTO product_slots VALUES(97,283); -INSERT INTO product_slots VALUES(97,284); -INSERT INTO product_slots VALUES(97,285); -INSERT INTO product_slots VALUES(97,286); -INSERT INTO product_slots VALUES(97,287); -INSERT INTO product_slots VALUES(98,81); -INSERT INTO product_slots VALUES(98,82); -INSERT INTO product_slots VALUES(98,83); -INSERT INTO product_slots VALUES(98,87); -INSERT INTO product_slots VALUES(98,89); -INSERT INTO product_slots VALUES(98,90); -INSERT INTO product_slots VALUES(98,91); -INSERT INTO product_slots VALUES(98,92); -INSERT INTO product_slots VALUES(98,93); -INSERT INTO product_slots VALUES(98,94); -INSERT INTO product_slots VALUES(98,96); -INSERT INTO product_slots VALUES(98,97); -INSERT INTO product_slots VALUES(98,98); -INSERT INTO product_slots VALUES(98,99); -INSERT INTO product_slots VALUES(98,100); -INSERT INTO product_slots VALUES(98,102); -INSERT INTO product_slots VALUES(98,103); -INSERT INTO product_slots VALUES(98,104); -INSERT INTO product_slots VALUES(98,105); -INSERT INTO product_slots VALUES(98,106); -INSERT INTO product_slots VALUES(98,107); -INSERT INTO product_slots VALUES(98,108); -INSERT INTO product_slots VALUES(98,109); -INSERT INTO product_slots VALUES(98,110); -INSERT INTO product_slots VALUES(98,111); -INSERT INTO product_slots VALUES(98,112); -INSERT INTO product_slots VALUES(98,113); -INSERT INTO product_slots VALUES(98,114); -INSERT INTO product_slots VALUES(98,115); -INSERT INTO product_slots VALUES(98,117); -INSERT INTO product_slots VALUES(98,118); -INSERT INTO product_slots VALUES(98,119); -INSERT INTO product_slots VALUES(98,120); -INSERT INTO product_slots VALUES(98,123); -INSERT INTO product_slots VALUES(98,124); -INSERT INTO product_slots VALUES(98,125); -INSERT INTO product_slots VALUES(98,126); -INSERT INTO product_slots VALUES(98,130); -INSERT INTO product_slots VALUES(98,131); -INSERT INTO product_slots VALUES(98,132); -INSERT INTO product_slots VALUES(98,133); -INSERT INTO product_slots VALUES(98,137); -INSERT INTO product_slots VALUES(98,138); -INSERT INTO product_slots VALUES(98,139); -INSERT INTO product_slots VALUES(98,140); -INSERT INTO product_slots VALUES(98,144); -INSERT INTO product_slots VALUES(98,145); -INSERT INTO product_slots VALUES(98,146); -INSERT INTO product_slots VALUES(98,147); -INSERT INTO product_slots VALUES(98,148); -INSERT INTO product_slots VALUES(98,149); -INSERT INTO product_slots VALUES(98,150); -INSERT INTO product_slots VALUES(98,151); -INSERT INTO product_slots VALUES(98,155); -INSERT INTO product_slots VALUES(98,156); -INSERT INTO product_slots VALUES(98,157); -INSERT INTO product_slots VALUES(98,158); -INSERT INTO product_slots VALUES(98,162); -INSERT INTO product_slots VALUES(98,163); -INSERT INTO product_slots VALUES(98,164); -INSERT INTO product_slots VALUES(98,165); -INSERT INTO product_slots VALUES(98,166); -INSERT INTO product_slots VALUES(98,169); -INSERT INTO product_slots VALUES(98,170); -INSERT INTO product_slots VALUES(98,171); -INSERT INTO product_slots VALUES(98,172); -INSERT INTO product_slots VALUES(98,173); -INSERT INTO product_slots VALUES(98,176); -INSERT INTO product_slots VALUES(98,177); -INSERT INTO product_slots VALUES(98,178); -INSERT INTO product_slots VALUES(98,179); -INSERT INTO product_slots VALUES(98,180); -INSERT INTO product_slots VALUES(98,181); -INSERT INTO product_slots VALUES(98,182); -INSERT INTO product_slots VALUES(98,183); -INSERT INTO product_slots VALUES(98,184); -INSERT INTO product_slots VALUES(98,185); -INSERT INTO product_slots VALUES(98,186); -INSERT INTO product_slots VALUES(98,187); -INSERT INTO product_slots VALUES(98,188); -INSERT INTO product_slots VALUES(98,189); -INSERT INTO product_slots VALUES(98,190); -INSERT INTO product_slots VALUES(98,191); -INSERT INTO product_slots VALUES(98,192); -INSERT INTO product_slots VALUES(98,193); -INSERT INTO product_slots VALUES(98,194); -INSERT INTO product_slots VALUES(98,198); -INSERT INTO product_slots VALUES(98,199); -INSERT INTO product_slots VALUES(98,200); -INSERT INTO product_slots VALUES(98,201); -INSERT INTO product_slots VALUES(98,202); -INSERT INTO product_slots VALUES(98,203); -INSERT INTO product_slots VALUES(98,205); -INSERT INTO product_slots VALUES(98,208); -INSERT INTO product_slots VALUES(98,209); -INSERT INTO product_slots VALUES(98,210); -INSERT INTO product_slots VALUES(98,211); -INSERT INTO product_slots VALUES(98,216); -INSERT INTO product_slots VALUES(98,217); -INSERT INTO product_slots VALUES(98,218); -INSERT INTO product_slots VALUES(98,219); -INSERT INTO product_slots VALUES(98,220); -INSERT INTO product_slots VALUES(98,223); -INSERT INTO product_slots VALUES(98,224); -INSERT INTO product_slots VALUES(98,225); -INSERT INTO product_slots VALUES(98,226); -INSERT INTO product_slots VALUES(98,230); -INSERT INTO product_slots VALUES(98,231); -INSERT INTO product_slots VALUES(98,232); -INSERT INTO product_slots VALUES(98,234); -INSERT INTO product_slots VALUES(98,237); -INSERT INTO product_slots VALUES(98,238); -INSERT INTO product_slots VALUES(98,239); -INSERT INTO product_slots VALUES(98,240); -INSERT INTO product_slots VALUES(98,274); -INSERT INTO product_slots VALUES(98,275); -INSERT INTO product_slots VALUES(98,277); -INSERT INTO product_slots VALUES(98,278); -INSERT INTO product_slots VALUES(98,279); -INSERT INTO product_slots VALUES(99,81); -INSERT INTO product_slots VALUES(99,82); -INSERT INTO product_slots VALUES(99,83); -INSERT INTO product_slots VALUES(99,87); -INSERT INTO product_slots VALUES(99,89); -INSERT INTO product_slots VALUES(99,90); -INSERT INTO product_slots VALUES(99,91); -INSERT INTO product_slots VALUES(99,92); -INSERT INTO product_slots VALUES(99,93); -INSERT INTO product_slots VALUES(99,94); -INSERT INTO product_slots VALUES(99,96); -INSERT INTO product_slots VALUES(99,97); -INSERT INTO product_slots VALUES(99,98); -INSERT INTO product_slots VALUES(99,99); -INSERT INTO product_slots VALUES(99,100); -INSERT INTO product_slots VALUES(99,102); -INSERT INTO product_slots VALUES(99,103); -INSERT INTO product_slots VALUES(99,104); -INSERT INTO product_slots VALUES(99,105); -INSERT INTO product_slots VALUES(99,106); -INSERT INTO product_slots VALUES(99,107); -INSERT INTO product_slots VALUES(99,108); -INSERT INTO product_slots VALUES(99,109); -INSERT INTO product_slots VALUES(99,110); -INSERT INTO product_slots VALUES(99,111); -INSERT INTO product_slots VALUES(99,112); -INSERT INTO product_slots VALUES(99,113); -INSERT INTO product_slots VALUES(99,114); -INSERT INTO product_slots VALUES(99,115); -INSERT INTO product_slots VALUES(99,118); -INSERT INTO product_slots VALUES(99,119); -INSERT INTO product_slots VALUES(99,120); -INSERT INTO product_slots VALUES(99,123); -INSERT INTO product_slots VALUES(99,124); -INSERT INTO product_slots VALUES(99,125); -INSERT INTO product_slots VALUES(99,126); -INSERT INTO product_slots VALUES(99,130); -INSERT INTO product_slots VALUES(99,131); -INSERT INTO product_slots VALUES(99,132); -INSERT INTO product_slots VALUES(99,133); -INSERT INTO product_slots VALUES(99,137); -INSERT INTO product_slots VALUES(99,138); -INSERT INTO product_slots VALUES(99,139); -INSERT INTO product_slots VALUES(99,140); -INSERT INTO product_slots VALUES(99,144); -INSERT INTO product_slots VALUES(99,145); -INSERT INTO product_slots VALUES(99,146); -INSERT INTO product_slots VALUES(99,147); -INSERT INTO product_slots VALUES(99,148); -INSERT INTO product_slots VALUES(99,149); -INSERT INTO product_slots VALUES(99,150); -INSERT INTO product_slots VALUES(99,151); -INSERT INTO product_slots VALUES(99,155); -INSERT INTO product_slots VALUES(99,156); -INSERT INTO product_slots VALUES(99,157); -INSERT INTO product_slots VALUES(99,158); -INSERT INTO product_slots VALUES(99,162); -INSERT INTO product_slots VALUES(99,163); -INSERT INTO product_slots VALUES(99,164); -INSERT INTO product_slots VALUES(99,165); -INSERT INTO product_slots VALUES(99,166); -INSERT INTO product_slots VALUES(99,169); -INSERT INTO product_slots VALUES(99,170); -INSERT INTO product_slots VALUES(99,171); -INSERT INTO product_slots VALUES(99,172); -INSERT INTO product_slots VALUES(99,173); -INSERT INTO product_slots VALUES(99,176); -INSERT INTO product_slots VALUES(99,177); -INSERT INTO product_slots VALUES(99,178); -INSERT INTO product_slots VALUES(99,179); -INSERT INTO product_slots VALUES(99,180); -INSERT INTO product_slots VALUES(99,181); -INSERT INTO product_slots VALUES(99,182); -INSERT INTO product_slots VALUES(99,183); -INSERT INTO product_slots VALUES(99,184); -INSERT INTO product_slots VALUES(99,185); -INSERT INTO product_slots VALUES(99,186); -INSERT INTO product_slots VALUES(99,187); -INSERT INTO product_slots VALUES(99,188); -INSERT INTO product_slots VALUES(99,189); -INSERT INTO product_slots VALUES(99,190); -INSERT INTO product_slots VALUES(99,191); -INSERT INTO product_slots VALUES(99,192); -INSERT INTO product_slots VALUES(99,193); -INSERT INTO product_slots VALUES(99,194); -INSERT INTO product_slots VALUES(99,198); -INSERT INTO product_slots VALUES(99,199); -INSERT INTO product_slots VALUES(99,200); -INSERT INTO product_slots VALUES(99,201); -INSERT INTO product_slots VALUES(99,202); -INSERT INTO product_slots VALUES(99,203); -INSERT INTO product_slots VALUES(99,205); -INSERT INTO product_slots VALUES(99,208); -INSERT INTO product_slots VALUES(99,209); -INSERT INTO product_slots VALUES(99,210); -INSERT INTO product_slots VALUES(99,211); -INSERT INTO product_slots VALUES(99,216); -INSERT INTO product_slots VALUES(99,217); -INSERT INTO product_slots VALUES(99,218); -INSERT INTO product_slots VALUES(99,219); -INSERT INTO product_slots VALUES(99,220); -INSERT INTO product_slots VALUES(99,223); -INSERT INTO product_slots VALUES(99,224); -INSERT INTO product_slots VALUES(99,225); -INSERT INTO product_slots VALUES(99,226); -INSERT INTO product_slots VALUES(99,230); -INSERT INTO product_slots VALUES(99,231); -INSERT INTO product_slots VALUES(99,232); -INSERT INTO product_slots VALUES(99,234); -INSERT INTO product_slots VALUES(99,237); -INSERT INTO product_slots VALUES(99,238); -INSERT INTO product_slots VALUES(99,239); -INSERT INTO product_slots VALUES(99,240); -INSERT INTO product_slots VALUES(99,274); -INSERT INTO product_slots VALUES(99,275); -INSERT INTO product_slots VALUES(99,277); -INSERT INTO product_slots VALUES(99,278); -INSERT INTO product_slots VALUES(99,279); -INSERT INTO product_slots VALUES(100,102); -INSERT INTO product_slots VALUES(100,103); -INSERT INTO product_slots VALUES(100,104); -INSERT INTO product_slots VALUES(100,105); -INSERT INTO product_slots VALUES(100,106); -INSERT INTO product_slots VALUES(100,107); -INSERT INTO product_slots VALUES(100,108); -INSERT INTO product_slots VALUES(100,109); -INSERT INTO product_slots VALUES(100,110); -INSERT INTO product_slots VALUES(100,111); -INSERT INTO product_slots VALUES(100,112); -INSERT INTO product_slots VALUES(100,113); -INSERT INTO product_slots VALUES(100,114); -INSERT INTO product_slots VALUES(100,115); -INSERT INTO product_slots VALUES(100,120); -INSERT INTO product_slots VALUES(100,121); -INSERT INTO product_slots VALUES(100,122); -INSERT INTO product_slots VALUES(100,134); -INSERT INTO product_slots VALUES(100,135); -INSERT INTO product_slots VALUES(100,136); -INSERT INTO product_slots VALUES(100,139); -INSERT INTO product_slots VALUES(100,140); -INSERT INTO product_slots VALUES(100,141); -INSERT INTO product_slots VALUES(100,142); -INSERT INTO product_slots VALUES(100,143); -INSERT INTO product_slots VALUES(100,145); -INSERT INTO product_slots VALUES(100,146); -INSERT INTO product_slots VALUES(100,147); -INSERT INTO product_slots VALUES(100,148); -INSERT INTO product_slots VALUES(100,149); -INSERT INTO product_slots VALUES(100,150); -INSERT INTO product_slots VALUES(100,151); -INSERT INTO product_slots VALUES(100,152); -INSERT INTO product_slots VALUES(100,153); -INSERT INTO product_slots VALUES(100,154); -INSERT INTO product_slots VALUES(100,155); -INSERT INTO product_slots VALUES(100,157); -INSERT INTO product_slots VALUES(100,158); -INSERT INTO product_slots VALUES(100,159); -INSERT INTO product_slots VALUES(100,160); -INSERT INTO product_slots VALUES(100,161); -INSERT INTO product_slots VALUES(100,162); -INSERT INTO product_slots VALUES(100,163); -INSERT INTO product_slots VALUES(100,168); -INSERT INTO product_slots VALUES(100,170); -INSERT INTO product_slots VALUES(100,171); -INSERT INTO product_slots VALUES(100,172); -INSERT INTO product_slots VALUES(100,173); -INSERT INTO product_slots VALUES(100,174); -INSERT INTO product_slots VALUES(100,175); -INSERT INTO product_slots VALUES(100,177); -INSERT INTO product_slots VALUES(100,178); -INSERT INTO product_slots VALUES(100,179); -INSERT INTO product_slots VALUES(100,180); -INSERT INTO product_slots VALUES(100,181); -INSERT INTO product_slots VALUES(100,182); -INSERT INTO product_slots VALUES(100,183); -INSERT INTO product_slots VALUES(100,184); -INSERT INTO product_slots VALUES(100,185); -INSERT INTO product_slots VALUES(100,186); -INSERT INTO product_slots VALUES(100,187); -INSERT INTO product_slots VALUES(100,188); -INSERT INTO product_slots VALUES(100,189); -INSERT INTO product_slots VALUES(100,190); -INSERT INTO product_slots VALUES(100,191); -INSERT INTO product_slots VALUES(100,192); -INSERT INTO product_slots VALUES(100,193); -INSERT INTO product_slots VALUES(100,194); -INSERT INTO product_slots VALUES(100,195); -INSERT INTO product_slots VALUES(100,196); -INSERT INTO product_slots VALUES(100,197); -INSERT INTO product_slots VALUES(100,198); -INSERT INTO product_slots VALUES(100,199); -INSERT INTO product_slots VALUES(100,200); -INSERT INTO product_slots VALUES(100,201); -INSERT INTO product_slots VALUES(100,202); -INSERT INTO product_slots VALUES(100,203); -INSERT INTO product_slots VALUES(100,204); -INSERT INTO product_slots VALUES(100,205); -INSERT INTO product_slots VALUES(100,206); -INSERT INTO product_slots VALUES(100,207); -INSERT INTO product_slots VALUES(100,208); -INSERT INTO product_slots VALUES(100,209); -INSERT INTO product_slots VALUES(100,210); -INSERT INTO product_slots VALUES(100,211); -INSERT INTO product_slots VALUES(100,212); -INSERT INTO product_slots VALUES(100,213); -INSERT INTO product_slots VALUES(100,214); -INSERT INTO product_slots VALUES(100,215); -INSERT INTO product_slots VALUES(100,216); -INSERT INTO product_slots VALUES(100,217); -INSERT INTO product_slots VALUES(100,218); -INSERT INTO product_slots VALUES(100,219); -INSERT INTO product_slots VALUES(100,220); -INSERT INTO product_slots VALUES(100,221); -INSERT INTO product_slots VALUES(100,222); -INSERT INTO product_slots VALUES(100,223); -INSERT INTO product_slots VALUES(100,224); -INSERT INTO product_slots VALUES(100,225); -INSERT INTO product_slots VALUES(100,226); -INSERT INTO product_slots VALUES(100,227); -INSERT INTO product_slots VALUES(100,228); -INSERT INTO product_slots VALUES(100,229); -INSERT INTO product_slots VALUES(100,230); -INSERT INTO product_slots VALUES(100,231); -INSERT INTO product_slots VALUES(100,232); -INSERT INTO product_slots VALUES(100,233); -INSERT INTO product_slots VALUES(100,234); -INSERT INTO product_slots VALUES(100,235); -INSERT INTO product_slots VALUES(100,236); -INSERT INTO product_slots VALUES(100,237); -INSERT INTO product_slots VALUES(100,238); -INSERT INTO product_slots VALUES(100,239); -INSERT INTO product_slots VALUES(100,240); -INSERT INTO product_slots VALUES(100,241); -INSERT INTO product_slots VALUES(100,242); -INSERT INTO product_slots VALUES(100,243); -INSERT INTO product_slots VALUES(100,244); -INSERT INTO product_slots VALUES(100,274); -INSERT INTO product_slots VALUES(100,275); -INSERT INTO product_slots VALUES(100,279); -INSERT INTO product_slots VALUES(100,280); -INSERT INTO product_slots VALUES(100,281); -INSERT INTO product_slots VALUES(100,282); -INSERT INTO product_slots VALUES(100,283); -INSERT INTO product_slots VALUES(100,284); -INSERT INTO product_slots VALUES(100,285); -INSERT INTO product_slots VALUES(100,286); -INSERT INTO product_slots VALUES(100,287); -INSERT INTO product_slots VALUES(101,211); -INSERT INTO product_slots VALUES(101,230); -INSERT INTO product_slots VALUES(101,231); -INSERT INTO product_slots VALUES(101,232); -INSERT INTO product_slots VALUES(101,233); -INSERT INTO product_slots VALUES(101,234); -INSERT INTO product_slots VALUES(101,235); -INSERT INTO product_slots VALUES(101,236); -INSERT INTO product_slots VALUES(101,237); -INSERT INTO product_slots VALUES(101,238); -INSERT INTO product_slots VALUES(101,239); -INSERT INTO product_slots VALUES(101,240); -INSERT INTO product_slots VALUES(101,241); -INSERT INTO product_slots VALUES(101,242); -INSERT INTO product_slots VALUES(101,243); -INSERT INTO product_slots VALUES(101,244); -INSERT INTO product_slots VALUES(101,274); -INSERT INTO product_slots VALUES(101,275); -INSERT INTO product_slots VALUES(101,279); -INSERT INTO product_slots VALUES(101,280); -INSERT INTO product_slots VALUES(101,281); -INSERT INTO product_slots VALUES(101,282); -INSERT INTO product_slots VALUES(101,283); -INSERT INTO product_slots VALUES(101,284); -INSERT INTO product_slots VALUES(101,285); -INSERT INTO product_slots VALUES(101,286); -INSERT INTO product_slots VALUES(101,287); -INSERT INTO product_slots VALUES(102,188); -INSERT INTO product_slots VALUES(102,189); -INSERT INTO product_slots VALUES(102,203); -INSERT INTO product_slots VALUES(102,204); -INSERT INTO product_slots VALUES(102,205); -INSERT INTO product_slots VALUES(102,206); -INSERT INTO product_slots VALUES(102,207); -INSERT INTO product_slots VALUES(102,208); -INSERT INTO product_slots VALUES(102,209); -INSERT INTO product_slots VALUES(102,210); -INSERT INTO product_slots VALUES(102,211); -INSERT INTO product_slots VALUES(102,212); -INSERT INTO product_slots VALUES(102,213); -INSERT INTO product_slots VALUES(102,214); -INSERT INTO product_slots VALUES(102,215); -INSERT INTO product_slots VALUES(102,216); -INSERT INTO product_slots VALUES(102,217); -INSERT INTO product_slots VALUES(102,218); -INSERT INTO product_slots VALUES(102,219); -INSERT INTO product_slots VALUES(102,220); -INSERT INTO product_slots VALUES(102,221); -INSERT INTO product_slots VALUES(102,222); -INSERT INTO product_slots VALUES(102,223); -INSERT INTO product_slots VALUES(102,224); -INSERT INTO product_slots VALUES(102,225); -INSERT INTO product_slots VALUES(102,226); -INSERT INTO product_slots VALUES(102,227); -INSERT INTO product_slots VALUES(102,228); -INSERT INTO product_slots VALUES(102,229); -INSERT INTO product_slots VALUES(102,230); -INSERT INTO product_slots VALUES(102,231); -INSERT INTO product_slots VALUES(102,232); -INSERT INTO product_slots VALUES(102,233); -INSERT INTO product_slots VALUES(102,234); -INSERT INTO product_slots VALUES(102,235); -INSERT INTO product_slots VALUES(102,236); -INSERT INTO product_slots VALUES(102,237); -INSERT INTO product_slots VALUES(102,238); -INSERT INTO product_slots VALUES(102,239); -INSERT INTO product_slots VALUES(102,240); -INSERT INTO product_slots VALUES(102,241); -INSERT INTO product_slots VALUES(102,242); -INSERT INTO product_slots VALUES(102,243); -INSERT INTO product_slots VALUES(102,244); -INSERT INTO product_slots VALUES(102,274); -INSERT INTO product_slots VALUES(102,275); -INSERT INTO product_slots VALUES(102,279); -INSERT INTO product_slots VALUES(102,280); -INSERT INTO product_slots VALUES(102,281); -INSERT INTO product_slots VALUES(102,282); -INSERT INTO product_slots VALUES(102,283); -INSERT INTO product_slots VALUES(102,284); -INSERT INTO product_slots VALUES(102,285); -INSERT INTO product_slots VALUES(102,286); -INSERT INTO product_slots VALUES(102,287); -INSERT INTO product_slots VALUES(103,210); -INSERT INTO product_slots VALUES(103,211); -INSERT INTO product_slots VALUES(103,212); -INSERT INTO product_slots VALUES(103,213); -INSERT INTO product_slots VALUES(103,214); -INSERT INTO product_slots VALUES(103,215); -INSERT INTO product_slots VALUES(103,227); -INSERT INTO product_slots VALUES(103,228); -INSERT INTO product_slots VALUES(103,229); -INSERT INTO product_slots VALUES(103,230); -INSERT INTO product_slots VALUES(103,231); -INSERT INTO product_slots VALUES(103,232); -INSERT INTO product_slots VALUES(103,233); -INSERT INTO product_slots VALUES(103,234); -INSERT INTO product_slots VALUES(103,235); -INSERT INTO product_slots VALUES(103,236); -INSERT INTO product_slots VALUES(103,237); -INSERT INTO product_slots VALUES(103,238); -INSERT INTO product_slots VALUES(103,239); -INSERT INTO product_slots VALUES(103,240); -INSERT INTO product_slots VALUES(103,241); -INSERT INTO product_slots VALUES(103,242); -INSERT INTO product_slots VALUES(103,243); -INSERT INTO product_slots VALUES(103,244); -INSERT INTO product_slots VALUES(103,274); -INSERT INTO product_slots VALUES(103,275); -INSERT INTO product_slots VALUES(103,279); -INSERT INTO product_slots VALUES(103,280); -INSERT INTO product_slots VALUES(103,281); -INSERT INTO product_slots VALUES(103,282); -INSERT INTO product_slots VALUES(103,283); -INSERT INTO product_slots VALUES(103,284); -INSERT INTO product_slots VALUES(103,285); -INSERT INTO product_slots VALUES(103,286); -INSERT INTO product_slots VALUES(103,287); -CREATE TABLE IF NOT EXISTS "product_tag_info" ("id" INTEGER NOT NULL, "tag_name" TEXT NOT NULL, "tag_description" TEXT, "image_url" TEXT, "is_dashboard_tag" INTEGER NOT NULL DEFAULT false, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "related_stores" TEXT); -INSERT INTO product_tag_info VALUES(1,'Chicken','Chicken related items','tags/1770321659633-1763869265110-e22b6d94-dac9-499f-babb-1e944d90b01a.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260205%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260205T195535Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3D917db15bcc60cab7ac5cd5e49d85d13a960fe77b4a5e327dd449048870494cf9%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject',1,'2025-11-22T02:00:14.678Z','[1]'); -INSERT INTO product_tag_info VALUES(2,'Meat','Meat Products','tags/1763835253683-c9c3e293-0bef-4c58-a976-dd49c050cd36.jpeg',1,'2025-11-22T12:44:15.930Z',NULL); -INSERT INTO product_tag_info VALUES(3,'Fruits','Delicious fresh fruits','tags/1763835293899-43b3fbe1-9b5b-441c-b4d4-d1691c3f02f3.webp',1,'2025-11-22T12:44:55.491Z',NULL); -INSERT INTO product_tag_info VALUES(4,'Fish','Types ','tags/1770323410499-1763869436182-bf82f7b4-a1f3-4113-985b-96311b7a910e.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260205%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260205T202804Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3Dea436390b277935d843cae6b5cfa62aeed5799cb4a962ab31a0be4b132ca4b30%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject',1,'2025-11-22T22:13:03.039Z','[1]'); -INSERT INTO product_tag_info VALUES(5,'Vegetables',NULL,'tags/1768709725124-ebf421c5-ad52-49a9-b65c-1de008110b8a.png',1,'2026-01-17T22:45:25.461Z',NULL); -INSERT INTO product_tag_info VALUES(6,'Mutton','Mutton Products','tags/1770323560823-fd0ec463-bed0-474e-aa14-dc6480ce36af.jpeg',1,'2026-02-05T15:02:41.070Z','[1]'); -INSERT INTO product_tag_info VALUES(39,'DemoTag','Demo prod tag','product-images/1774116266063.jpg',0,'2026-03-21T12:20:34.282Z','[2,1]'); -CREATE TABLE IF NOT EXISTS "product_tags" ("id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "tag_id" INTEGER NOT NULL, "assigned_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO product_tags VALUES(114,2,1,'2026-01-15T06:49:23.323Z'); -INSERT INTO product_tags VALUES(115,2,2,'2026-01-15T06:49:23.323Z'); -INSERT INTO product_tags VALUES(130,42,1,'2026-01-17T02:37:49.548Z'); -INSERT INTO product_tags VALUES(131,42,2,'2026-01-17T02:37:49.548Z'); -INSERT INTO product_tags VALUES(132,7,3,'2026-01-17T03:23:29.890Z'); -INSERT INTO product_tags VALUES(133,21,1,'2026-01-17T03:28:21.647Z'); -INSERT INTO product_tags VALUES(134,21,2,'2026-01-17T03:28:21.647Z'); -INSERT INTO product_tags VALUES(136,26,3,'2026-01-17T03:34:05.740Z'); -INSERT INTO product_tags VALUES(143,39,3,'2026-01-17T06:11:21.465Z'); -INSERT INTO product_tags VALUES(164,3,1,'2026-01-18T01:05:33.690Z'); -INSERT INTO product_tags VALUES(165,3,2,'2026-01-18T01:05:33.690Z'); -INSERT INTO product_tags VALUES(168,49,3,'2026-01-18T11:28:56.144Z'); -INSERT INTO product_tags VALUES(202,9,4,'2026-01-25T08:36:25.210Z'); -INSERT INTO product_tags VALUES(203,75,4,'2026-01-25T08:38:25.840Z'); -INSERT INTO product_tags VALUES(215,11,3,'2026-01-25T11:09:47.389Z'); -INSERT INTO product_tags VALUES(222,8,3,'2026-01-25T11:49:56.733Z'); -INSERT INTO product_tags VALUES(223,25,3,'2026-01-25T11:50:46.177Z'); -INSERT INTO product_tags VALUES(226,48,3,'2026-01-25T11:55:18.601Z'); -INSERT INTO product_tags VALUES(230,24,2,'2026-01-25T12:17:02.952Z'); -INSERT INTO product_tags VALUES(231,24,1,'2026-01-25T12:17:02.952Z'); -INSERT INTO product_tags VALUES(234,15,1,'2026-01-25T12:19:07.538Z'); -INSERT INTO product_tags VALUES(235,15,2,'2026-01-25T12:19:07.538Z'); -INSERT INTO product_tags VALUES(238,36,1,'2026-01-25T12:20:23.324Z'); -INSERT INTO product_tags VALUES(242,55,3,'2026-01-25T12:36:14.976Z'); -INSERT INTO product_tags VALUES(243,82,4,'2026-01-25T12:49:15.711Z'); -INSERT INTO product_tags VALUES(244,81,2,'2026-01-25T12:55:33.320Z'); -INSERT INTO product_tags VALUES(245,81,4,'2026-01-25T12:55:33.320Z'); -INSERT INTO product_tags VALUES(246,83,4,'2026-01-25T12:56:28.787Z'); -INSERT INTO product_tags VALUES(251,64,5,'2026-01-25T22:42:34.137Z'); -INSERT INTO product_tags VALUES(253,33,5,'2026-01-25T22:44:37.101Z'); -INSERT INTO product_tags VALUES(254,16,5,'2026-01-25T22:45:58.208Z'); -INSERT INTO product_tags VALUES(263,53,3,'2026-01-25T22:53:41.199Z'); -INSERT INTO product_tags VALUES(274,1,1,'2026-01-25T23:19:00.304Z'); -INSERT INTO product_tags VALUES(278,62,3,'2026-01-27T11:51:39.242Z'); -INSERT INTO product_tags VALUES(279,60,3,'2026-01-27T11:52:45.990Z'); -INSERT INTO product_tags VALUES(280,61,3,'2026-01-27T11:57:45.345Z'); -INSERT INTO product_tags VALUES(282,44,3,'2026-01-27T11:59:15.067Z'); -INSERT INTO product_tags VALUES(283,13,3,'2026-01-27T20:24:25.976Z'); -INSERT INTO product_tags VALUES(290,41,1,'2026-01-27T21:12:14.665Z'); -INSERT INTO product_tags VALUES(291,41,2,'2026-01-27T21:12:14.665Z'); -INSERT INTO product_tags VALUES(293,6,3,'2026-01-27T21:13:55.115Z'); -INSERT INTO product_tags VALUES(294,72,5,'2026-01-27T21:17:12.977Z'); -INSERT INTO product_tags VALUES(295,29,5,'2026-01-27T21:20:37.640Z'); -INSERT INTO product_tags VALUES(298,19,5,'2026-01-27T21:30:53.298Z'); -INSERT INTO product_tags VALUES(299,18,5,'2026-01-27T21:32:17.814Z'); -INSERT INTO product_tags VALUES(301,30,5,'2026-01-27T21:35:38.807Z'); -INSERT INTO product_tags VALUES(303,27,5,'2026-01-27T21:38:48.593Z'); -INSERT INTO product_tags VALUES(304,89,5,'2026-01-27T21:39:06.159Z'); -INSERT INTO product_tags VALUES(306,70,5,'2026-01-27T21:42:26.477Z'); -INSERT INTO product_tags VALUES(307,80,1,'2026-01-27T21:43:10.425Z'); -INSERT INTO product_tags VALUES(308,5,5,'2026-01-27T21:43:12.449Z'); -INSERT INTO product_tags VALUES(309,76,5,'2026-01-27T21:44:10.836Z'); -INSERT INTO product_tags VALUES(310,78,5,'2026-01-27T21:50:37.216Z'); -INSERT INTO product_tags VALUES(312,45,5,'2026-01-27T23:02:05.789Z'); -INSERT INTO product_tags VALUES(313,31,5,'2026-01-27T23:03:13.073Z'); -INSERT INTO product_tags VALUES(314,77,5,'2026-01-28T02:36:29.616Z'); -INSERT INTO product_tags VALUES(315,47,3,'2026-01-28T02:37:53.143Z'); -INSERT INTO product_tags VALUES(316,96,3,'2026-01-28T02:40:33.400Z'); -INSERT INTO product_tags VALUES(318,59,3,'2026-01-30T01:08:49.461Z'); -INSERT INTO product_tags VALUES(319,10,1,'2026-02-01T02:29:06.966Z'); -INSERT INTO product_tags VALUES(320,10,2,'2026-02-01T02:29:06.966Z'); -INSERT INTO product_tags VALUES(322,34,2,'2026-02-02T21:48:40.200Z'); -INSERT INTO product_tags VALUES(323,38,3,'2026-02-03T04:50:39.627Z'); -INSERT INTO product_tags VALUES(324,46,3,'2026-02-03T13:09:46.365Z'); -INSERT INTO product_tags VALUES(325,12,2,'2026-02-05T21:38:15.915Z'); -INSERT INTO product_tags VALUES(326,4,2,'2026-02-05T21:38:30.229Z'); -INSERT INTO product_tags VALUES(327,4,6,'2026-02-05T21:38:30.229Z'); -INSERT INTO product_tags VALUES(330,28,2,'2026-02-05T21:39:03.379Z'); -INSERT INTO product_tags VALUES(331,28,6,'2026-02-05T21:39:03.379Z'); -INSERT INTO product_tags VALUES(332,14,2,'2026-02-05T21:39:17.766Z'); -INSERT INTO product_tags VALUES(333,14,6,'2026-02-05T21:39:17.766Z'); -INSERT INTO product_tags VALUES(334,84,2,'2026-02-05T21:39:32.746Z'); -INSERT INTO product_tags VALUES(335,84,6,'2026-02-05T21:39:32.746Z'); -INSERT INTO product_tags VALUES(336,86,2,'2026-02-05T21:39:41.075Z'); -INSERT INTO product_tags VALUES(337,86,6,'2026-02-05T21:39:41.075Z'); -INSERT INTO product_tags VALUES(338,98,6,'2026-02-05T21:39:49.218Z'); -INSERT INTO product_tags VALUES(339,98,2,'2026-02-05T21:39:49.218Z'); -INSERT INTO product_tags VALUES(340,99,2,'2026-02-05T21:40:00.488Z'); -INSERT INTO product_tags VALUES(341,99,6,'2026-02-05T21:40:00.488Z'); -INSERT INTO product_tags VALUES(342,20,2,'2026-02-05T21:40:13.041Z'); -INSERT INTO product_tags VALUES(343,20,6,'2026-02-05T21:40:13.041Z'); -INSERT INTO product_tags VALUES(344,35,2,'2026-02-05T21:40:21.153Z'); -INSERT INTO product_tags VALUES(345,35,6,'2026-02-05T21:40:21.153Z'); -INSERT INTO product_tags VALUES(346,85,6,'2026-02-05T21:40:31.451Z'); -INSERT INTO product_tags VALUES(347,85,2,'2026-02-05T21:40:31.451Z'); -INSERT INTO product_tags VALUES(348,87,2,'2026-02-05T21:40:40.483Z'); -INSERT INTO product_tags VALUES(349,87,6,'2026-02-05T21:40:40.483Z'); -INSERT INTO product_tags VALUES(350,67,5,'2026-02-06T03:28:46.803Z'); -INSERT INTO product_tags VALUES(353,17,5,'2026-02-20T05:05:15.691Z'); -INSERT INTO product_tags VALUES(354,32,5,'2026-02-21T23:13:56.993Z'); -INSERT INTO product_tags VALUES(355,37,5,'2026-02-23T03:02:49.047Z'); -INSERT INTO product_tags VALUES(388,23,2,'2026-03-12T09:45:05.232Z'); -INSERT INTO product_tags VALUES(389,23,1,'2026-03-12T09:45:05.232Z'); -INSERT INTO product_tags VALUES(391,50,3,'2026-03-14T05:54:04.645Z'); -INSERT INTO product_tags VALUES(394,140,1,'2026-03-26T06:15:15.135Z'); -INSERT INTO product_tags VALUES(395,140,4,'2026-03-26T06:15:15.135Z'); -CREATE TABLE IF NOT EXISTS "refunds" ("id" INTEGER NOT NULL, "order_id" INTEGER NOT NULL, "refund_amount" REAL, "refund_status" TEXT DEFAULT 'none', "merchant_refund_id" TEXT, "refund_processed_at" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO refunds VALUES(1,14,73.499999999999996447,'success','rfnd_Rithb3BCPvwCVZ','2025-11-22T13:45:42.202Z','2025-11-19T12:47:41.044Z'); -INSERT INTO refunds VALUES(2,16,NULL,'none',NULL,NULL,'2025-11-23T06:11:45.422Z'); -INSERT INTO refunds VALUES(3,21,250.0,'success','rfnd_RjAobSg6UT2mvE','2025-11-23T06:29:45.582Z','2025-11-23T06:20:11.343Z'); -INSERT INTO refunds VALUES(4,17,NULL,'na',NULL,NULL,'2025-11-22T13:42:48.103Z'); -INSERT INTO refunds VALUES(5,22,NULL,'none',NULL,NULL,'2025-11-24T06:03:51.483Z'); -INSERT INTO refunds VALUES(6,23,220.0,'success','rfnd_RjZ0NnNrz80osd','2025-11-24T06:10:00.791Z','2025-11-24T06:03:20.864Z'); -INSERT INTO refunds VALUES(7,25,250.0,'success','rfnd_RjwqkDB4wfwBuY','2025-11-25T05:30:00.813Z','2025-11-25T05:25:53.609Z'); -INSERT INTO refunds VALUES(8,12,NULL,'pending',NULL,NULL,'2025-11-28T22:12:39.527Z'); -INSERT INTO refunds VALUES(9,31,NULL,'pending',NULL,NULL,'2025-11-28T22:33:24.299Z'); -INSERT INTO refunds VALUES(10,35,NULL,'pending',NULL,NULL,'2025-11-28T23:15:19.165Z'); -INSERT INTO refunds VALUES(11,50,NULL,'pending',NULL,NULL,'2025-11-29T01:16:21.186Z'); -INSERT INTO refunds VALUES(12,51,NULL,'pending',NULL,NULL,'2025-11-29T01:42:14.433Z'); -INSERT INTO refunds VALUES(13,52,NULL,'pending',NULL,NULL,'2025-11-29T01:52:21.830Z'); -INSERT INTO refunds VALUES(14,53,320.0,'success','rfnd_RlTSoRRkSliydO','2025-11-29T02:07:29.105Z','2025-11-29T01:58:56.303Z'); -INSERT INTO refunds VALUES(15,54,2850.0,'success','rfnd_RlcXX2g7K7jDCh','2025-11-29T11:00:00.772Z','2025-11-29T10:54:08.554Z'); -INSERT INTO refunds VALUES(16,64,NULL,'pending',NULL,NULL,'2025-12-19T04:15:02.346Z'); -INSERT INTO refunds VALUES(17,74,NULL,'na',NULL,NULL,'2025-12-19T11:38:55.276Z'); -INSERT INTO refunds VALUES(18,68,NULL,'na',NULL,NULL,'2025-12-19T21:20:54.339Z'); -INSERT INTO refunds VALUES(19,89,NULL,'na',NULL,NULL,'2025-12-20T15:09:31.699Z'); -INSERT INTO refunds VALUES(20,88,NULL,'na',NULL,NULL,'2025-12-20T21:37:32.151Z'); -INSERT INTO refunds VALUES(21,93,NULL,'na',NULL,NULL,'2025-12-22T08:15:45.531Z'); -INSERT INTO refunds VALUES(22,96,NULL,'na',NULL,NULL,'2025-12-22T09:07:24.665Z'); -INSERT INTO refunds VALUES(23,101,NULL,'na',NULL,NULL,'2025-12-23T11:46:55.138Z'); -INSERT INTO refunds VALUES(24,102,NULL,'na',NULL,NULL,'2025-12-27T01:40:37.790Z'); -INSERT INTO refunds VALUES(25,148,NULL,'na',NULL,NULL,'2026-01-17T23:01:50.064Z'); -INSERT INTO refunds VALUES(26,159,NULL,'na',NULL,NULL,'2026-01-18T10:06:56.160Z'); -INSERT INTO refunds VALUES(27,171,NULL,'na',NULL,NULL,'2026-01-27T22:25:10.936Z'); -INSERT INTO refunds VALUES(28,167,NULL,'na',NULL,NULL,'2026-01-27T22:26:35.510Z'); -INSERT INTO refunds VALUES(29,168,NULL,'na',NULL,NULL,'2026-01-27T22:27:15.817Z'); -INSERT INTO refunds VALUES(30,169,NULL,'na',NULL,NULL,'2026-01-27T22:27:32.421Z'); -INSERT INTO refunds VALUES(31,156,NULL,'na',NULL,NULL,'2026-01-27T22:30:19.302Z'); -INSERT INTO refunds VALUES(32,146,NULL,'na',NULL,NULL,'2026-01-28T00:39:48.320Z'); -INSERT INTO refunds VALUES(33,178,NULL,'na',NULL,NULL,'2026-01-28T10:02:31.195Z'); -INSERT INTO refunds VALUES(34,145,NULL,'na',NULL,NULL,'2026-01-28T12:53:28.911Z'); -INSERT INTO refunds VALUES(35,144,NULL,'na',NULL,NULL,'2026-01-28T13:29:22.470Z'); -INSERT INTO refunds VALUES(36,143,NULL,'na',NULL,NULL,'2026-01-28T13:30:04.792Z'); -INSERT INTO refunds VALUES(37,141,NULL,'na',NULL,NULL,'2026-01-28T13:30:36.001Z'); -INSERT INTO refunds VALUES(38,140,NULL,'na',NULL,NULL,'2026-01-28T13:31:05.250Z'); -INSERT INTO refunds VALUES(39,183,NULL,'na',NULL,NULL,'2026-01-30T02:09:22.273Z'); -INSERT INTO refunds VALUES(40,188,NULL,'na',NULL,NULL,'2026-01-31T05:26:43.840Z'); -INSERT INTO refunds VALUES(41,186,NULL,'na',NULL,NULL,'2026-01-31T07:35:41.324Z'); -INSERT INTO refunds VALUES(42,185,NULL,'na',NULL,NULL,'2026-01-31T07:36:00.966Z'); -INSERT INTO refunds VALUES(43,190,NULL,'na',NULL,NULL,'2026-01-31T22:05:43.606Z'); -INSERT INTO refunds VALUES(44,190,NULL,'na',NULL,NULL,'2026-01-31T23:03:59.073Z'); -INSERT INTO refunds VALUES(45,196,NULL,'na',NULL,NULL,'2026-02-01T04:42:48.106Z'); -INSERT INTO refunds VALUES(46,204,NULL,'na',NULL,NULL,'2026-02-02T06:48:48.035Z'); -INSERT INTO refunds VALUES(47,166,NULL,'na',NULL,NULL,'2026-02-02T10:47:37.685Z'); -INSERT INTO refunds VALUES(48,207,NULL,'na',NULL,NULL,'2026-02-02T11:22:59.955Z'); -INSERT INTO refunds VALUES(49,213,NULL,'na',NULL,NULL,'2026-02-03T07:34:17.723Z'); -INSERT INTO refunds VALUES(50,214,NULL,'na',NULL,NULL,'2026-02-03T08:41:50.996Z'); -INSERT INTO refunds VALUES(51,216,NULL,'na',NULL,NULL,'2026-02-03T23:34:45.350Z'); -INSERT INTO refunds VALUES(52,228,NULL,'na',NULL,NULL,'2026-02-06T16:17:39.262Z'); -INSERT INTO refunds VALUES(53,225,NULL,'na',NULL,NULL,'2026-02-06T23:20:32.417Z'); -INSERT INTO refunds VALUES(54,230,NULL,'na',NULL,NULL,'2026-02-06T23:34:36.400Z'); -INSERT INTO refunds VALUES(55,233,NULL,'na',NULL,NULL,'2026-02-07T07:25:04.081Z'); -INSERT INTO refunds VALUES(56,232,NULL,'na',NULL,NULL,'2026-02-07T07:26:35.768Z'); -INSERT INTO refunds VALUES(57,238,NULL,'na',NULL,NULL,'2026-02-08T00:55:38.297Z'); -INSERT INTO refunds VALUES(58,239,NULL,'na',NULL,NULL,'2026-02-08T00:59:58.539Z'); -INSERT INTO refunds VALUES(59,246,NULL,'na',NULL,NULL,'2026-02-08T23:17:27.385Z'); -INSERT INTO refunds VALUES(60,247,NULL,'na',NULL,NULL,'2026-02-09T02:04:46.141Z'); -INSERT INTO refunds VALUES(61,250,NULL,'na',NULL,NULL,'2026-02-10T22:00:06.670Z'); -INSERT INTO refunds VALUES(62,256,NULL,'na',NULL,NULL,'2026-02-16T01:22:51.309Z'); -INSERT INTO refunds VALUES(63,269,NULL,'na',NULL,NULL,'2026-02-18T04:17:30.087Z'); -INSERT INTO refunds VALUES(64,273,NULL,'na',NULL,NULL,'2026-02-18T05:16:11.655Z'); -INSERT INTO refunds VALUES(65,260,NULL,'na',NULL,NULL,'2026-02-18T06:14:42.228Z'); -INSERT INTO refunds VALUES(66,288,NULL,'na',NULL,NULL,'2026-02-19T04:37:45.086Z'); -INSERT INTO refunds VALUES(67,287,NULL,'na',NULL,NULL,'2026-02-19T04:40:17.239Z'); -INSERT INTO refunds VALUES(68,282,NULL,'na',NULL,NULL,'2026-02-19T05:33:59.169Z'); -INSERT INTO refunds VALUES(69,281,NULL,'na',NULL,NULL,'2026-02-19T05:34:11.079Z'); -INSERT INTO refunds VALUES(70,285,NULL,'na',NULL,NULL,'2026-02-19T05:37:22.327Z'); -INSERT INTO refunds VALUES(71,293,NULL,'na',NULL,NULL,'2026-02-19T07:22:21.525Z'); -INSERT INTO refunds VALUES(72,292,NULL,'na',NULL,NULL,'2026-02-19T07:22:49.181Z'); -INSERT INTO refunds VALUES(73,296,NULL,'na',NULL,NULL,'2026-02-19T12:49:30.261Z'); -INSERT INTO refunds VALUES(74,315,NULL,'na',NULL,NULL,'2026-02-21T04:45:00.816Z'); -INSERT INTO refunds VALUES(75,317,NULL,'na',NULL,NULL,'2026-02-21T06:26:57.626Z'); -INSERT INTO refunds VALUES(76,321,NULL,'na',NULL,NULL,'2026-02-21T22:47:12.386Z'); -INSERT INTO refunds VALUES(77,335,NULL,'na',NULL,NULL,'2026-02-23T04:42:18.550Z'); -INSERT INTO refunds VALUES(78,20,NULL,'na',NULL,NULL,'2026-02-25T02:13:38.575Z'); -CREATE TABLE IF NOT EXISTS "reserved_coupons" ("id" INTEGER NOT NULL, "secret_code" TEXT NOT NULL, "coupon_code" TEXT NOT NULL, "discount_percent" REAL, "flat_discount" REAL, "min_order" REAL, "product_ids" TEXT, "max_value" REAL, "valid_till" TEXT, "max_limit_for_user" INTEGER, "exclusive_apply" INTEGER NOT NULL DEFAULT false, "is_redeemed" INTEGER NOT NULL DEFAULT false, "redeemed_by" INTEGER, "redeemed_at" TEXT, "created_by" INTEGER NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO reserved_coupons VALUES(1,'RESERVE_TEST34','RESERVE_TEST34',25.0,NULL,1000.0,NULL,250.0,'2026-01-30T07:46:00.000Z',2,0,1,1,'2026-01-12T03:28:20.468Z',1,'2026-01-07T07:46:53.387Z'); -CREATE TABLE IF NOT EXISTS "special_deals" ("id" INTEGER NOT NULL, "product_id" INTEGER NOT NULL, "quantity" REAL NOT NULL, "price" REAL NOT NULL, "valid_till" TEXT NOT NULL); -INSERT INTO special_deals VALUES(12,9,2.0,500.0,'2025-12-08T18:30:00.000Z'); -CREATE TABLE IF NOT EXISTS "staff_permissions" ("id" INTEGER NOT NULL, "permission_name" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO staff_permissions VALUES(1,'crud_product','2026-01-12T13:13:14.537Z'); -INSERT INTO staff_permissions VALUES(2,'make_coupon','2026-01-12T13:13:14.650Z'); -INSERT INTO staff_permissions VALUES(3,'crud_staff_users','2026-01-12T13:13:14.759Z'); -CREATE TABLE IF NOT EXISTS "staff_role_permissions" ("id" INTEGER NOT NULL, "staff_role_id" INTEGER NOT NULL, "staff_permission_id" INTEGER NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO staff_role_permissions VALUES(1,1,1,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(2,1,2,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(3,1,3,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(4,2,1,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(5,2,2,'2026-01-12T13:13:14.815Z'); -INSERT INTO staff_role_permissions VALUES(6,3,2,'2026-01-12T13:13:14.815Z'); -CREATE TABLE IF NOT EXISTS "staff_roles" ("id" INTEGER NOT NULL, "role_name" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO staff_roles VALUES(1,'super_admin','2026-01-12T13:13:14.097Z'); -INSERT INTO staff_roles VALUES(2,'admin','2026-01-12T13:13:14.208Z'); -INSERT INTO staff_roles VALUES(3,'marketer','2026-01-12T13:13:14.318Z'); -INSERT INTO staff_roles VALUES(4,'delivery_staff','2026-01-12T13:13:14.427Z'); -CREATE TABLE IF NOT EXISTS "staff_users" ("id" INTEGER NOT NULL, "name" TEXT NOT NULL, "password" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "staff_role_id" INTEGER); -INSERT INTO staff_users VALUES(1,'admin1','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:02.349Z',NULL); -INSERT INTO staff_users VALUES(2,'admin2','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:12.054Z',NULL); -INSERT INTO staff_users VALUES(3,'admin3','$2a$12$VEQHLJpr0l7Z0A.pZrQCk.Yjnf2M4k.RR82f0TlJ2zZU66pMH2Nh.','2025-11-17T03:24:12.054Z',NULL); -CREATE TABLE IF NOT EXISTS "store_info" ("id" INTEGER NOT NULL, "name" TEXT NOT NULL, "description" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "owner" INTEGER NOT NULL, "image_url" TEXT); -INSERT INTO store_info VALUES(1,'Fresh meat','"Fresh, high-quality meat sourced from trusted suppliers and hygienically processed. Cut fresh, packed safely, and delivered to your doorstep."','2025-11-16T21:59:24.030Z',1,'store-images/1766052073748.png'); -INSERT INTO store_info VALUES(2,'The Fruit Store','"Fresh, juicy fruits handpicked for quality and taste. Naturally ripened, carefully packed, and delivered fresh to your home."','2025-11-18T09:01:21.914Z',1,'store-images/1766053828604.png'); -INSERT INTO store_info VALUES(4,'Vegetables','Fresh, handpicked vegetables delivered straight from trusted farms to your home. Enjoy clean, high-quality sabzi every day-healthy, natural, and full of freshness.','2025-12-18T04:23:40.707Z',1,'store-images/1766051618139.png'); -INSERT INTO store_info VALUES(8,'Demo2','Demo2 ','2026-03-21T09:35:33.855Z',1,'store-images/1774105532235.jpg'); -INSERT INTO store_info VALUES(9,'Test3','Test3','2026-03-21T23:18:44.202Z',1,'store-images/1774524652442.jpg'); -CREATE TABLE IF NOT EXISTS "units" ("id" INTEGER NOT NULL, "short_notation" TEXT NOT NULL, "full_name" TEXT NOT NULL); -INSERT INTO units VALUES(1,'Kg','Kilogram'); -INSERT INTO units VALUES(2,'L','Litre'); -INSERT INTO units VALUES(3,'Dz','Dozen'); -INSERT INTO units VALUES(4,'Pc','Unit Piece'); -CREATE TABLE IF NOT EXISTS "unlogged_user_tokens" ("id" INTEGER NOT NULL, "token" TEXT NOT NULL, "added_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "last_verified" TEXT); -INSERT INTO unlogged_user_tokens VALUES(2,'ExponentPushToken[5NlYMFDaJDm9RH7N14zUrA]','2026-03-20T02:00:07.752Z','2026-03-20T02:00:07.748Z'); -INSERT INTO unlogged_user_tokens VALUES(3,'ExponentPushToken[QjoZ9xGsqPYMF2CJC_pv7e]','2026-03-20T02:11:22.747Z','2026-03-20T02:11:22.746Z'); -INSERT INTO unlogged_user_tokens VALUES(4,'ExponentPushToken[IAt9_oGP63t5X2AKTm-Z_r]','2026-03-20T03:32:58.675Z','2026-03-21T01:23:00.017Z'); -CREATE TABLE IF NOT EXISTS "upload_url_status" ("id" INTEGER NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "key" TEXT NOT NULL, "status" TEXT NOT NULL DEFAULT 'pending'); -INSERT INTO upload_url_status VALUES(35,'2025-12-07T03:28:13.136Z','review-images/1765097892914.jpg','pending'); -INSERT INTO upload_url_status VALUES(36,'2025-12-07T03:28:13.347Z','review-images/1765097893129.png','pending'); -INSERT INTO upload_url_status VALUES(37,'2025-12-07T03:33:04.090Z','review-images/1765098183876.jpg','pending'); -INSERT INTO upload_url_status VALUES(38,'2025-12-07T03:36:01.524Z','review-images/1765098361309.jpg','pending'); -INSERT INTO upload_url_status VALUES(39,'2025-12-07T03:38:00.499Z','review-images/1765098480284.jpg','pending'); -INSERT INTO upload_url_status VALUES(40,'2025-12-07T03:40:38.378Z','review-images/1765098638162.jpg','pending'); -INSERT INTO upload_url_status VALUES(41,'2025-12-07T03:44:45.828Z','review-images/1765098885608.jpg','pending'); -INSERT INTO upload_url_status VALUES(42,'2025-12-07T03:44:46.024Z','review-images/1765098885808.png','pending'); -INSERT INTO upload_url_status VALUES(43,'2025-12-07T03:45:55.598Z','review-images/1765098955365.jpg','pending'); -INSERT INTO upload_url_status VALUES(44,'2025-12-07T03:48:02.893Z','review-images/1765099082661.jpg','pending'); -INSERT INTO upload_url_status VALUES(45,'2025-12-07T03:54:36.343Z','review-images/1765099476101.jpg','pending'); -INSERT INTO upload_url_status VALUES(46,'2025-12-07T03:54:36.534Z','review-images/1765099476297.png','pending'); -INSERT INTO upload_url_status VALUES(47,'2025-12-07T04:21:35.194Z','review-images/1765101095057.jpg','pending'); -INSERT INTO upload_url_status VALUES(48,'2025-12-07T04:21:35.389Z','review-images/1765101095257.png','pending'); -INSERT INTO upload_url_status VALUES(49,'2025-12-07T04:21:43.722Z','review-images/1765101103591.jpg','pending'); -INSERT INTO upload_url_status VALUES(50,'2025-12-07T04:21:43.890Z','review-images/1765101103758.png','pending'); -INSERT INTO upload_url_status VALUES(51,'2025-12-07T04:24:01.353Z','review-images/1765101241219.jpg','pending'); -INSERT INTO upload_url_status VALUES(52,'2025-12-07T05:37:42.847Z','review-images/1765105662736.jpg','pending'); -INSERT INTO upload_url_status VALUES(53,'2025-12-07T05:40:19.798Z','review-images/1765105819687.jpg','pending'); -INSERT INTO upload_url_status VALUES(54,'2025-12-07T05:43:50.973Z','review-images/1765106030866.jpg','pending'); -INSERT INTO upload_url_status VALUES(55,'2025-12-07T05:48:27.294Z','review-images/1765106307190.jpg','pending'); -INSERT INTO upload_url_status VALUES(56,'2025-12-07T05:49:52.911Z','review-images/1765106392806.jpg','claimed'); -INSERT INTO upload_url_status VALUES(57,'2025-12-07T06:28:47.323Z','review-images/1765108727182.jpg','claimed'); -INSERT INTO upload_url_status VALUES(58,'2025-12-07T06:30:52.243Z','review-images/1765108852104.jpg','claimed'); -INSERT INTO upload_url_status VALUES(59,'2025-12-07T09:35:32.784Z','review-images/1765119932782.jpg','claimed'); -INSERT INTO upload_url_status VALUES(60,'2025-12-07T09:35:32.803Z','review-images/1765119932802.jpg','claimed'); -INSERT INTO upload_url_status VALUES(61,'2025-12-07T09:35:35.171Z','review-images/1765119935171.jpg','claimed'); -INSERT INTO upload_url_status VALUES(62,'2025-12-07T09:35:35.175Z','review-images/1765119935174.jpg','claimed'); -INSERT INTO upload_url_status VALUES(63,'2025-12-08T12:07:24.062Z','store-images/1765215443815.jpg','pending'); -INSERT INTO upload_url_status VALUES(64,'2025-12-08T12:19:22.136Z','store-images/1765216161855.jpg','pending'); -INSERT INTO upload_url_status VALUES(65,'2025-12-08T12:19:50.299Z','store-images/1765216190015.jpg','pending'); -INSERT INTO upload_url_status VALUES(66,'2025-12-08T12:22:27.708Z','store-images/1765216347423.jpg','pending'); -INSERT INTO upload_url_status VALUES(67,'2025-12-08T12:23:17.627Z','store-images/1765216397341.jpg','pending'); -INSERT INTO upload_url_status VALUES(68,'2025-12-08T12:23:50.898Z','store-images/1765216430679.jpg','pending'); -INSERT INTO upload_url_status VALUES(69,'2025-12-08T12:26:57.233Z','store-images/1765216617009.jpg','pending'); -INSERT INTO upload_url_status VALUES(70,'2025-12-08T12:35:30.092Z','store-images/1765217129859.jpg','pending'); -INSERT INTO upload_url_status VALUES(71,'2025-12-08T13:04:22.371Z','store-images/1765218862137.jpg','pending'); -INSERT INTO upload_url_status VALUES(72,'2025-12-08T13:14:47.858Z','store-images/1765219487659.jpg','pending'); -INSERT INTO upload_url_status VALUES(73,'2025-12-08T13:17:53.380Z','store-images/1765219673182.jpg','pending'); -INSERT INTO upload_url_status VALUES(74,'2025-12-08T13:18:59.825Z','store-images/1765219739627.jpg','pending'); -INSERT INTO upload_url_status VALUES(75,'2025-12-08T13:19:11.635Z','store-images/1765219751441.png','pending'); -INSERT INTO upload_url_status VALUES(76,'2025-12-08T13:26:24.852Z','store-images/1765220184655.jpg','pending'); -INSERT INTO upload_url_status VALUES(77,'2025-12-18T04:23:38.142Z','store-images/1766051618139.png','pending'); -INSERT INTO upload_url_status VALUES(78,'2025-12-18T04:29:00.775Z','store-images/1766051940774.png','pending'); -INSERT INTO upload_url_status VALUES(79,'2025-12-18T04:31:13.748Z','store-images/1766052073748.png','pending'); -INSERT INTO upload_url_status VALUES(80,'2025-12-18T05:00:28.605Z','store-images/1766053828604.png','pending'); -INSERT INTO upload_url_status VALUES(81,'2025-12-19T02:24:01.803Z','store-images/1766130841801.png','pending'); -INSERT INTO upload_url_status VALUES(82,'2025-12-19T03:21:37.362Z','store-images/1766134297361.png','pending'); -INSERT INTO upload_url_status VALUES(83,'2025-12-19T09:36:54.727Z','store-images/1766156814725.jpg','pending'); -INSERT INTO upload_url_status VALUES(84,'2025-12-19T09:37:23.364Z','store-images/1766156843363.jpg','pending'); -INSERT INTO upload_url_status VALUES(85,'2025-12-19T09:48:15.263Z','review-images/1766157495262.jpg','claimed'); -INSERT INTO upload_url_status VALUES(86,'2025-12-19T09:48:16.653Z','review-images/1766157496653.jpg','claimed'); -INSERT INTO upload_url_status VALUES(87,'2025-12-22T11:38:49.581Z','review-images/1766423329579.jpg','claimed'); -INSERT INTO upload_url_status VALUES(88,'2025-12-24T05:08:16.926Z','review-images/1766572696924.jpg','pending'); -INSERT INTO upload_url_status VALUES(89,'2025-12-24T05:08:19.865Z','review-images/1766572699864.jpg','pending'); -INSERT INTO upload_url_status VALUES(90,'2025-12-24T05:08:20.373Z','review-images/1766572700372.jpg','pending'); -INSERT INTO upload_url_status VALUES(91,'2025-12-24T05:08:20.544Z','review-images/1766572700543.jpg','claimed'); -INSERT INTO upload_url_status VALUES(92,'2025-12-24T05:08:20.718Z','review-images/1766572700718.jpg','pending'); -INSERT INTO upload_url_status VALUES(93,'2025-12-24T05:08:20.880Z','review-images/1766572700880.jpg','claimed'); -INSERT INTO upload_url_status VALUES(94,'2025-12-24T05:08:21.138Z','review-images/1766572701138.jpg','claimed'); -INSERT INTO upload_url_status VALUES(95,'2025-12-24T05:08:21.266Z','review-images/1766572701266.jpg','claimed'); -INSERT INTO upload_url_status VALUES(96,'2025-12-24T05:08:21.491Z','review-images/1766572701490.jpg','claimed'); -INSERT INTO upload_url_status VALUES(97,'2025-12-31T01:38:50.807Z','store-images/1767164930805.jpg','pending'); -INSERT INTO upload_url_status VALUES(98,'2025-12-31T01:47:30.381Z','store-images/1767165450380.jpg','pending'); -INSERT INTO upload_url_status VALUES(99,'2025-12-31T03:50:22.326Z','store-images/1767172822325.jpg','pending'); -INSERT INTO upload_url_status VALUES(100,'2025-12-31T03:51:09.711Z','store-images/1767172869656.jpg','pending'); -INSERT INTO upload_url_status VALUES(101,'2025-12-31T03:52:27.878Z','store-images/1767172947808.jpg','pending'); -INSERT INTO upload_url_status VALUES(102,'2025-12-31T03:56:02.505Z','store-images/1767173162428.jpg','pending'); -INSERT INTO upload_url_status VALUES(103,'2025-12-31T03:57:38.564Z','store-images/1767173258487.jpg','pending'); -INSERT INTO upload_url_status VALUES(104,'2025-12-31T03:58:37.526Z','store-images/1767173317447.jpg','pending'); -INSERT INTO upload_url_status VALUES(105,'2025-12-31T03:59:01.794Z','store-images/1767173341715.jpg','pending'); -INSERT INTO upload_url_status VALUES(106,'2025-12-31T04:00:21.099Z','store-images/1767173421020.jpg','pending'); -INSERT INTO upload_url_status VALUES(107,'2025-12-31T04:02:13.724Z','store-images/1767173533644.jpg','pending'); -INSERT INTO upload_url_status VALUES(108,'2025-12-31T04:22:07.810Z','store-images/1767174727704.png','pending'); -INSERT INTO upload_url_status VALUES(109,'2025-12-31T04:23:31.985Z','store-images/1767174811880.png','pending'); -INSERT INTO upload_url_status VALUES(110,'2025-12-31T06:24:23.209Z','store-images/1767182063206.jpg','pending'); -INSERT INTO upload_url_status VALUES(111,'2026-01-01T05:10:51.927Z','store-images/1767264051926.png','pending'); -INSERT INTO upload_url_status VALUES(112,'2026-01-01T05:10:53.379Z','store-images/1767264053378.png','pending'); -INSERT INTO upload_url_status VALUES(113,'2026-01-03T04:36:07.083Z','store-images/1767434767082.png','pending'); -INSERT INTO upload_url_status VALUES(114,'2026-01-18T21:44:01.277Z','review-images/1768792441275.jpg','claimed'); -INSERT INTO upload_url_status VALUES(115,'2026-01-18T21:44:01.748Z','review-images/1768792441748.jpg','claimed'); -INSERT INTO upload_url_status VALUES(116,'2026-01-24T02:31:51.676Z','store-images/1769241711675.png','pending'); -INSERT INTO upload_url_status VALUES(117,'2026-02-05T03:14:05.023Z','store-images/1770281045021.jpg','pending'); -INSERT INTO upload_url_status VALUES(118,'2026-02-05T03:14:06.298Z','store-images/1770281046297.jpg','pending'); -INSERT INTO upload_url_status VALUES(119,'2026-02-06T20:13:56.019Z','store-images/1770428636017.png','pending'); -INSERT INTO upload_url_status VALUES(120,'2026-02-06T20:29:53.456Z','store-images/1770429593455.jpg','pending'); -INSERT INTO upload_url_status VALUES(121,'2026-02-08T09:05:45.256Z','notification-images/1770561345196.jpg','pending'); -INSERT INTO upload_url_status VALUES(122,'2026-02-08T09:10:44.302Z','notification-images/1770561644251.jpg','pending'); -INSERT INTO upload_url_status VALUES(123,'2026-02-08T09:12:48.344Z','notification-images/1770561768293.jpg','pending'); -INSERT INTO upload_url_status VALUES(124,'2026-02-08T09:16:02.798Z','notification-images/1770561962747.jpg','pending'); -INSERT INTO upload_url_status VALUES(125,'2026-02-08T09:18:25.414Z','notification-images/1770562105363.jpg','pending'); -INSERT INTO upload_url_status VALUES(126,'2026-02-08T09:20:51.168Z','notification-images/1770562251117.jpg','pending'); -INSERT INTO upload_url_status VALUES(127,'2026-02-08T09:25:03.084Z','notification-images/1770562502985.jpg','pending'); -INSERT INTO upload_url_status VALUES(128,'2026-02-08T09:28:10.135Z','notification-images/1770562690047.jpg','pending'); -INSERT INTO upload_url_status VALUES(129,'2026-02-08T09:29:29.284Z','notification-images/1770562769196.jpg','pending'); -INSERT INTO upload_url_status VALUES(130,'2026-02-08T09:30:26.055Z','notification-images/1770562825967.jpg','pending'); -INSERT INTO upload_url_status VALUES(131,'2026-02-08T09:38:15.554Z','notification-images/1770563295459.jpg','pending'); -INSERT INTO upload_url_status VALUES(132,'2026-02-08T10:10:16.618Z','notification-images/1770565216512.jpg','pending'); -INSERT INTO upload_url_status VALUES(133,'2026-02-08T10:11:54.181Z','notification-images/1770565314077.jpg','pending'); -INSERT INTO upload_url_status VALUES(134,'2026-02-08T10:15:57.611Z','notification-images/1770565557504.jpg','pending'); -INSERT INTO upload_url_status VALUES(135,'2026-02-08T10:20:10.883Z','notification-images/1770565810774.jpg','pending'); -INSERT INTO upload_url_status VALUES(136,'2026-02-08T10:21:46.053Z','notification-images/1770565905943.jpg','pending'); -INSERT INTO upload_url_status VALUES(137,'2026-02-08T13:20:07.705Z','notification-images/1770576607704.jpg','pending'); -INSERT INTO upload_url_status VALUES(170,'2026-03-20T09:16:34.603Z','store-images/1774017994443.jpg','pending'); -INSERT INTO upload_url_status VALUES(171,'2026-03-20T09:17:04.596Z','store-images/1774018024432.jpg','pending'); -INSERT INTO upload_url_status VALUES(172,'2026-03-20T09:20:04.863Z','store-images/1774018204689.jpg','pending'); -INSERT INTO upload_url_status VALUES(173,'2026-03-20T09:20:57.508Z','store-images/1774018257330.jpg','pending'); -INSERT INTO upload_url_status VALUES(174,'2026-03-20T09:22:44.445Z','store-images/1774018364266.jpg','pending'); -INSERT INTO upload_url_status VALUES(175,'2026-03-21T09:24:15.290Z','store-images/1774104855151.jpg','pending'); -INSERT INTO upload_url_status VALUES(176,'2026-03-21T09:34:11.705Z','store-images/1774105451535.jpg','pending'); -INSERT INTO upload_url_status VALUES(177,'2026-03-21T09:35:32.404Z','store-images/1774105532235.jpg','pending'); -INSERT INTO upload_url_status VALUES(178,'2026-03-21T10:37:23.303Z','product-images/1774109243042.jpg','pending'); -INSERT INTO upload_url_status VALUES(179,'2026-03-21T10:37:23.532Z','product-images/1774109243274.jpg','pending'); -INSERT INTO upload_url_status VALUES(180,'2026-03-21T10:39:51.342Z','product-images/1774109391069.jpg','pending'); -INSERT INTO upload_url_status VALUES(181,'2026-03-21T10:39:51.668Z','product-images/1774109391409.jpg','pending'); -INSERT INTO upload_url_status VALUES(182,'2026-03-21T10:44:02.249Z','product-images/1774109641982.jpg','pending'); -INSERT INTO upload_url_status VALUES(183,'2026-03-21T10:44:02.477Z','product-images/1774109642211.jpg','pending'); -INSERT INTO upload_url_status VALUES(184,'2026-03-21T10:47:55.364Z','product-images/1774109875092.jpg','claimed'); -INSERT INTO upload_url_status VALUES(185,'2026-03-21T10:47:55.552Z','product-images/1774109875283.jpg','claimed'); -INSERT INTO upload_url_status VALUES(186,'2026-03-21T10:53:34.410Z','product-images/1774110214128.jpg','claimed'); -INSERT INTO upload_url_status VALUES(187,'2026-03-21T11:05:02.699Z','product-images/1774110902472.jpg','claimed'); -INSERT INTO upload_url_status VALUES(188,'2026-03-21T11:05:46.485Z','product-images/1774110946273.jpg','claimed'); -INSERT INTO upload_url_status VALUES(189,'2026-03-21T11:05:46.696Z','product-images/1774110946486.jpg','claimed'); -INSERT INTO upload_url_status VALUES(190,'2026-03-21T11:06:37.135Z','product-images/1774110996916.jpg','claimed'); -INSERT INTO upload_url_status VALUES(191,'2026-03-21T11:21:57.523Z','product-images/1774111917349.jpg','claimed'); -INSERT INTO upload_url_status VALUES(192,'2026-03-21T11:21:57.776Z','product-images/1774111917606.jpg','claimed'); -INSERT INTO upload_url_status VALUES(193,'2026-03-21T11:22:57.142Z','product-images/1774111976967.jpg','claimed'); -INSERT INTO upload_url_status VALUES(194,'2026-03-21T11:22:57.326Z','product-images/1774111977156.jpg','claimed'); -INSERT INTO upload_url_status VALUES(195,'2026-03-21T12:20:31.649Z','product-images/1774115431487.jpg','claimed'); -INSERT INTO upload_url_status VALUES(196,'2026-03-21T12:34:26.218Z','product-images/1774116266063.jpg','claimed'); -INSERT INTO upload_url_status VALUES(197,'2026-03-21T23:15:45.311Z','store-images/1774154745204.jpg','pending'); -INSERT INTO upload_url_status VALUES(198,'2026-03-21T23:18:41.659Z','store-images/1774154921529.jpg','pending'); -INSERT INTO upload_url_status VALUES(199,'2026-03-21T23:18:53.275Z','store-images/1774154933114.jpg','pending'); -INSERT INTO upload_url_status VALUES(200,'2026-03-22T00:28:59.866Z','profile-images/1774159139649.jpg','claimed'); -INSERT INTO upload_url_status VALUES(201,'2026-03-22T00:40:45.910Z','profile-images/1774159845659.jpg','claimed'); -INSERT INTO upload_url_status VALUES(202,'2026-03-22T04:45:38.531Z','complaint-images/1774174538370.jpg','claimed'); -INSERT INTO upload_url_status VALUES(203,'2026-03-22T04:57:50.211Z','complaint-images/1774175270043.jpg','claimed'); -INSERT INTO upload_url_status VALUES(204,'2026-03-22T05:06:00.920Z','complaint-images/1774175760765.jpg','claimed'); -INSERT INTO upload_url_status VALUES(205,'2026-03-22T05:08:54.126Z','complaint-images/1774175933889.jpg','claimed'); -INSERT INTO upload_url_status VALUES(206,'2026-03-22T05:10:03.192Z','complaint-images/1774176003038.jpg','claimed'); -INSERT INTO upload_url_status VALUES(207,'2026-03-22T05:10:03.381Z','complaint-images/1774176003229.jpg','claimed'); -INSERT INTO upload_url_status VALUES(208,'2026-03-22T05:10:03.567Z','complaint-images/1774176003414.jpg','claimed'); -INSERT INTO upload_url_status VALUES(209,'2026-03-24T09:49:20.825Z','store-images/1774365560714.jpg','pending'); -INSERT INTO upload_url_status VALUES(210,'2026-03-26T05:56:41.671Z','profile-images/1774524401549.jpg','pending'); -INSERT INTO upload_url_status VALUES(211,'2026-03-26T05:58:44.761Z','product-images/1774524524649.jpg','claimed'); -INSERT INTO upload_url_status VALUES(212,'2026-03-26T05:58:44.957Z','product-images/1774524524845.jpg','claimed'); -INSERT INTO upload_url_status VALUES(213,'2026-03-26T05:58:45.145Z','product-images/1774524525034.jpg','claimed'); -INSERT INTO upload_url_status VALUES(214,'2026-03-26T05:58:45.334Z','product-images/1774524525222.jpg','claimed'); -INSERT INTO upload_url_status VALUES(215,'2026-03-26T06:00:52.552Z','store-images/1774524652442.jpg','pending'); -INSERT INTO upload_url_status VALUES(216,'2026-03-26T06:15:11.287Z','product-images/1774525511146.jpg','claimed'); -CREATE TABLE IF NOT EXISTS "user_creds" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "user_password" TEXT NOT NULL, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO user_creds VALUES(2,1,'$2b$10$aJacFZFCniKqXOewMIlznOsEKcTJa/ji7xBU2dhHsioxTC0mR9BvK','2025-11-19T12:00:25.180Z'); -INSERT INTO user_creds VALUES(3,17,'$2b$10$mn/CpXmKq.dKgeH2gHtKk.IvlgQyahG2tCpD8k42mPOEysWoO3pti','2025-12-19T03:44:09.761Z'); -CREATE TABLE IF NOT EXISTS "user_details" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "bio" TEXT, "date_of_birth" TEXT, "gender" TEXT, "occupation" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "profile_image" TEXT, "is_suspended" INTEGER NOT NULL DEFAULT false); -INSERT INTO user_details VALUES(1,1,NULL,NULL,NULL,NULL,'2025-11-18T10:56:21.130Z','2026-03-26T05:56:44.292Z','profile-images/1774524401549.jpg',0); -INSERT INTO user_details VALUES(2,2,NULL,NULL,NULL,NULL,'2025-11-28T14:47:57.109Z','2025-11-28T14:47:57.109Z',NULL,0); -INSERT INTO user_details VALUES(6,4,NULL,NULL,NULL,NULL,'2025-12-02T09:58:27.226Z','2025-12-02T10:02:29.066Z','profile-images/1764689548097-1000159418.jpg',0); -INSERT INTO user_details VALUES(7,16,NULL,NULL,NULL,NULL,'2025-12-19T01:45:00.531Z','2025-12-19T01:45:00.530Z',NULL,0); -INSERT INTO user_details VALUES(8,17,NULL,NULL,NULL,NULL,'2025-12-19T03:43:18.108Z','2025-12-20T05:54:43.942Z','profile-images/1766229878891-1000167980.jpg',0); -INSERT INTO user_details VALUES(9,22,NULL,NULL,NULL,NULL,'2026-01-18T01:00:42.356Z','2026-01-18T01:00:42.355Z',NULL,0); -INSERT INTO user_details VALUES(10,54,NULL,NULL,NULL,NULL,'2026-01-26T06:43:25.929Z','2026-01-26T06:43:25.928Z',NULL,0); -INSERT INTO user_details VALUES(11,61,NULL,NULL,NULL,NULL,'2026-01-26T23:34:37.576Z','2026-01-26T23:34:37.575Z',NULL,0); -INSERT INTO user_details VALUES(12,62,NULL,NULL,NULL,NULL,'2026-01-27T00:04:43.010Z','2026-01-27T00:04:43.009Z',NULL,0); -INSERT INTO user_details VALUES(13,107,NULL,NULL,NULL,NULL,'2026-02-06T02:46:48.046Z','2026-02-06T02:46:48.045Z',NULL,0); -INSERT INTO user_details VALUES(14,91,NULL,NULL,NULL,NULL,'2026-02-07T04:18:52.616Z','2026-02-07T04:18:52.615Z',NULL,0); -INSERT INTO user_details VALUES(15,121,NULL,NULL,NULL,NULL,'2026-02-08T10:09:19.571Z','2026-02-08T10:09:19.571Z',NULL,1); -INSERT INTO user_details VALUES(16,12,NULL,NULL,NULL,NULL,'2026-02-08T10:09:58.357Z','2026-02-08T10:09:58.357Z',NULL,0); -INSERT INTO user_details VALUES(17,145,NULL,NULL,NULL,NULL,'2026-02-18T03:41:32.333Z','2026-02-18T03:41:32.332Z',NULL,0); -INSERT INTO user_details VALUES(18,159,NULL,NULL,NULL,NULL,'2026-02-19T04:08:47.047Z','2026-02-19T04:08:47.046Z',NULL,0); -INSERT INTO user_details VALUES(19,151,NULL,NULL,NULL,NULL,'2026-02-19T06:13:14.187Z','2026-02-19T06:13:14.186Z',NULL,0); -INSERT INTO user_details VALUES(20,140,NULL,NULL,NULL,NULL,'2026-02-20T03:30:19.023Z','2026-02-20T03:30:19.022Z',NULL,0); -INSERT INTO user_details VALUES(21,172,NULL,NULL,NULL,NULL,'2026-02-20T04:04:44.392Z','2026-02-20T04:04:44.391Z',NULL,0); -INSERT INTO user_details VALUES(22,184,NULL,NULL,NULL,NULL,'2026-02-22T00:49:25.502Z','2026-02-22T00:51:54.175Z','profile-images/1771741313402-1000001181.jpg',0); -INSERT INTO user_details VALUES(23,99,NULL,NULL,NULL,NULL,'2026-02-22T04:52:08.552Z','2026-02-22T04:52:08.551Z',NULL,0); -INSERT INTO user_details VALUES(56,265,NULL,NULL,NULL,NULL,'2026-03-22T00:29:01.903Z','2026-03-22T00:29:01.903Z','profile-images/1774159845659.jpg',0); -CREATE TABLE IF NOT EXISTS "user_incidents" ("id" INTEGER NOT NULL, "user_id" INTEGER NOT NULL, "order_id" INTEGER, "date_added" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "admin_comment" TEXT, "added_by" INTEGER, "negativity_score" INTEGER); -INSERT INTO user_incidents VALUES(1,1,384,'2026-03-04T10:40:45.532Z','Not Paying Money',1,2); -CREATE TABLE IF NOT EXISTS "user_notifications" ("id" INTEGER NOT NULL, "image_url" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "body" TEXT NOT NULL, "applicable_users" TEXT, "title" TEXT NOT NULL); -INSERT INTO user_notifications VALUES(21,NULL,'2026-02-08T23:51:32.312Z',replace(replace('Van Winkle liked hunting, too. He liked going to the mountains to shoot squirrels. \r\nHe also liked sitting in the mountains and watching the world below—the','\r',char(13)),'\n',char(10)),'[1]','Hii'); -INSERT INTO user_notifications VALUES(22,NULL,'2026-02-09T03:28:19.744Z','Test Notification','[65]','Hello'); -INSERT INTO user_notifications VALUES(23,NULL,'2026-02-09T03:29:52.024Z','Hello','[1,65]','Hello'); -INSERT INTO user_notifications VALUES(24,NULL,'2026-02-20T07:52:30.399Z','Freshyo','[2]','Qusham'); -INSERT INTO user_notifications VALUES(25,NULL,'2026-02-23T02:20:51.468Z','Buy fresh, juicy and titillating fruits. Order Now!','[2,3,6,7,4,9,12,21,24,26,1,38,39,22,50,64,65,66,74,82,98,102,107,113,115,118,91,119,120,121,122,123,124,125,127,128,129,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,158,160,159,161,162,151,163,164,166,165,167,140,169,170,172,173,174,175,176,177,178,179,180,181,182,183,185,186,188,189,191,190,194,184,221,220,219,217,216,215,214,213,212,210,99,209,208,207,206,205,204,203,202,201,200,199,198,197,196,195]','Mesmerizing Fruits'); -CREATE TABLE IF NOT EXISTS "users" ("id" INTEGER NOT NULL, "name" TEXT, "email" TEXT, "mobile" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP); -INSERT INTO users VALUES(1,'Mohammed Shafiuddin','mohammedshafiuddin54@gmail.com','9676651496','2025-11-18T08:35:55.801Z'); -INSERT INTO users VALUES(2,NULL,NULL,'8688182552','2025-11-19T06:34:47.086Z'); -INSERT INTO users VALUES(3,NULL,NULL,'9000190484','2025-11-19T07:06:09.284Z'); -INSERT INTO users VALUES(4,'Saniya','saniya123@gmail.com','8688326100','2025-11-20T11:58:13.296Z'); -INSERT INTO users VALUES(5,NULL,NULL,'7093212611','2025-11-22T05:35:41.069Z'); -INSERT INTO users VALUES(6,NULL,NULL,'9346436140','2025-11-22T09:02:42.569Z'); -INSERT INTO users VALUES(7,NULL,NULL,'7386623412','2025-11-28T22:18:57.177Z'); -INSERT INTO users VALUES(8,NULL,NULL,'7675084307','2025-11-29T08:33:35.481Z'); -INSERT INTO users VALUES(9,NULL,NULL,'8985081850','2025-12-07T21:58:30.768Z'); -INSERT INTO users VALUES(10,NULL,NULL,'8121258519','2025-12-07T23:16:29.228Z'); -INSERT INTO users VALUES(11,NULL,NULL,'8639236092','2025-12-14T07:50:29.893Z'); -INSERT INTO users VALUES(12,NULL,NULL,'6302478945','2025-12-18T05:03:06.218Z'); -INSERT INTO users VALUES(13,NULL,NULL,'7095705186','2025-12-19T00:31:43.745Z'); -INSERT INTO users VALUES(14,NULL,NULL,'9390567030','2025-12-19T00:52:18.278Z'); -INSERT INTO users VALUES(15,NULL,NULL,'9866116948','2025-12-19T00:58:58.593Z'); -INSERT INTO users VALUES(16,'pradeep','pradeepdeep484@gmail.com','7799420184','2025-12-19T01:44:25.069Z'); -INSERT INTO users VALUES(17,'Bha','sbhavanikumar2016@gmail.com','7013167289','2025-12-19T03:01:17.931Z'); -INSERT INTO users VALUES(18,NULL,NULL,'9381316634','2025-12-19T04:51:00.938Z'); -INSERT INTO users VALUES(19,NULL,NULL,'9398972993','2025-12-19T08:55:04.116Z'); -INSERT INTO users VALUES(20,NULL,NULL,'9676010763','2025-12-22T09:03:04.773Z'); -INSERT INTO users VALUES(21,NULL,NULL,'9701690010','2025-12-22T12:29:08.147Z'); -INSERT INTO users VALUES(22,'Nawaz','afunawaz@gmail.com','8885456295','2025-12-23T21:05:27.523Z'); -INSERT INTO users VALUES(23,NULL,NULL,'9247242246','2025-12-25T13:27:14.313Z'); -INSERT INTO users VALUES(24,NULL,NULL,'9948350118','2025-12-27T12:57:43.504Z'); -INSERT INTO users VALUES(25,NULL,NULL,'9848296296','2025-12-31T14:49:04.015Z'); -INSERT INTO users VALUES(26,NULL,NULL,'9652180398','2026-01-03T02:42:08.528Z'); -INSERT INTO users VALUES(27,NULL,NULL,'8074020144','2026-01-05T04:44:15.312Z'); -INSERT INTO users VALUES(28,NULL,NULL,'7382343977','2026-01-05T09:08:25.774Z'); -INSERT INTO users VALUES(29,NULL,NULL,'6302300646','2026-01-06T04:28:48.967Z'); -INSERT INTO users VALUES(30,NULL,NULL,'8341217812','2026-01-06T07:44:49.015Z'); -INSERT INTO users VALUES(31,NULL,NULL,'7601003021','2026-01-12T02:18:41.456Z'); -INSERT INTO users VALUES(32,NULL,NULL,'8919304169','2026-01-12T02:56:48.668Z'); -INSERT INTO users VALUES(33,NULL,NULL,'9059529741','2026-01-13T09:20:02.174Z'); -INSERT INTO users VALUES(34,NULL,NULL,'9985254508','2026-01-13T09:25:27.981Z'); -INSERT INTO users VALUES(35,NULL,NULL,'6304804044','2026-01-13T09:29:31.683Z'); -INSERT INTO users VALUES(36,NULL,NULL,'6281222530','2026-01-13T16:42:02.068Z'); -INSERT INTO users VALUES(37,NULL,NULL,'8555038131','2026-01-14T09:28:43.382Z'); -INSERT INTO users VALUES(38,NULL,NULL,'9492230173','2026-01-15T03:25:50.547Z'); -INSERT INTO users VALUES(39,NULL,NULL,'6281768720','2026-01-16T06:33:17.501Z'); -INSERT INTO users VALUES(40,NULL,NULL,'8790196183','2026-01-18T11:31:13.136Z'); -INSERT INTO users VALUES(41,NULL,NULL,'9618451678','2026-01-20T04:07:45.096Z'); -INSERT INTO users VALUES(42,NULL,NULL,'8019548522','2026-01-21T00:01:02.852Z'); -INSERT INTO users VALUES(43,NULL,NULL,'9985751104','2026-01-22T06:40:13.655Z'); -INSERT INTO users VALUES(44,NULL,NULL,'6302138817','2026-01-22T06:55:55.593Z'); -INSERT INTO users VALUES(45,NULL,NULL,'7989242921','2026-01-22T06:57:29.593Z'); -INSERT INTO users VALUES(46,NULL,NULL,'9392266793','2026-01-22T07:00:03.023Z'); -INSERT INTO users VALUES(47,NULL,NULL,'7013843505','2026-01-22T07:16:37.997Z'); -INSERT INTO users VALUES(48,NULL,NULL,'9642200622','2026-01-23T07:57:20.233Z'); -INSERT INTO users VALUES(49,NULL,NULL,'9182043867','2026-01-23T13:48:07.569Z'); -INSERT INTO users VALUES(50,NULL,NULL,'9390338662','2026-01-23T13:57:09.989Z'); -INSERT INTO users VALUES(51,NULL,NULL,'8686465444','2026-01-23T22:48:49.770Z'); -INSERT INTO users VALUES(52,NULL,NULL,'8121807322','2026-01-26T00:53:18.325Z'); -INSERT INTO users VALUES(53,NULL,NULL,'8886868702','2026-01-26T02:32:51.301Z'); -INSERT INTO users VALUES(54,'Abdul ahad','umizazarieshzarish@gmail.com','9849759289','2026-01-26T06:39:06.569Z'); -INSERT INTO users VALUES(55,NULL,NULL,'7780659850','2026-01-26T09:29:28.984Z'); -INSERT INTO users VALUES(56,NULL,NULL,'7396924154','2026-01-26T09:46:27.950Z'); -INSERT INTO users VALUES(57,NULL,NULL,'9515837506','2026-01-26T10:09:05.694Z'); -INSERT INTO users VALUES(58,NULL,NULL,'9603333080','2026-01-26T11:52:06.161Z'); -INSERT INTO users VALUES(59,NULL,NULL,'9490585051','2026-01-26T13:07:07.742Z'); -INSERT INTO users VALUES(60,NULL,NULL,'8331989727','2026-01-26T22:19:45.345Z'); -INSERT INTO users VALUES(61,'Mohd Zubair khan','mohdzubair772@gmail.com','7729916250','2026-01-26T23:32:23.837Z'); -INSERT INTO users VALUES(62,'Aftab Ur Rahman','aftabaffu333@gmail.com','7671939155','2026-01-27T00:04:08.085Z'); -INSERT INTO users VALUES(63,NULL,NULL,'8328161112','2026-01-27T04:36:03.156Z'); -INSERT INTO users VALUES(64,NULL,NULL,'9985383270','2026-01-27T06:41:11.387Z'); -INSERT INTO users VALUES(65,NULL,NULL,'9381637374','2026-01-27T11:27:44.071Z'); -INSERT INTO users VALUES(66,NULL,NULL,'9618791714','2026-01-28T01:24:44.881Z'); -INSERT INTO users VALUES(67,NULL,NULL,'8297666911','2026-01-28T01:57:03.995Z'); -INSERT INTO users VALUES(68,NULL,NULL,'9441204280','2026-01-29T10:32:41.779Z'); -INSERT INTO users VALUES(69,NULL,NULL,'9949548015','2026-01-29T22:47:42.263Z'); -INSERT INTO users VALUES(70,NULL,NULL,'7842638264','2026-01-30T01:44:38.667Z'); -INSERT INTO users VALUES(71,NULL,NULL,'9110314975','2026-01-30T03:46:01.334Z'); -INSERT INTO users VALUES(72,NULL,NULL,'8686544418','2026-01-30T06:32:47.754Z'); -INSERT INTO users VALUES(73,NULL,NULL,'9652801308','2026-01-30T08:47:09.826Z'); -INSERT INTO users VALUES(74,NULL,NULL,'8639145664','2026-01-30T08:49:55.471Z'); -INSERT INTO users VALUES(75,NULL,NULL,'9966786521','2026-01-30T09:36:21.649Z'); -INSERT INTO users VALUES(76,NULL,NULL,'6300352629','2026-01-30T09:48:12.235Z'); -INSERT INTO users VALUES(77,NULL,NULL,'7287952112','2026-01-30T14:04:00.794Z'); -INSERT INTO users VALUES(78,NULL,NULL,'9059201201','2026-01-31T04:21:03.872Z'); -INSERT INTO users VALUES(79,NULL,NULL,'9701896405','2026-01-31T05:02:06.385Z'); -INSERT INTO users VALUES(80,NULL,NULL,'8897763408','2026-01-31T09:04:31.842Z'); -INSERT INTO users VALUES(81,NULL,NULL,'9652338446','2026-01-31T11:30:05.039Z'); -INSERT INTO users VALUES(82,NULL,NULL,'7981337554','2026-02-01T01:01:39.061Z'); -INSERT INTO users VALUES(83,NULL,NULL,'9441740551','2026-02-01T02:09:00.953Z'); -INSERT INTO users VALUES(84,NULL,NULL,'8639762655','2026-02-01T04:27:54.485Z'); -INSERT INTO users VALUES(85,NULL,NULL,'8897076204','2026-02-01T04:28:15.894Z'); -INSERT INTO users VALUES(86,NULL,NULL,'9121585783','2026-02-01T05:43:59.004Z'); -INSERT INTO users VALUES(87,NULL,NULL,'6301552539','2026-02-01T07:09:19.500Z'); -INSERT INTO users VALUES(88,NULL,NULL,'9398199100','2026-02-01T10:05:52.738Z'); -INSERT INTO users VALUES(89,NULL,NULL,'8919308867','2026-02-01T23:24:10.239Z'); -INSERT INTO users VALUES(90,NULL,NULL,'8688629245','2026-02-02T03:47:50.938Z'); -INSERT INTO users VALUES(91,'P Praveen Goud','ppraveengoud95@gmail.com','9347168525','2026-02-02T04:24:13.149Z'); -INSERT INTO users VALUES(92,NULL,NULL,'6305442889','2026-02-02T04:51:19.029Z'); -INSERT INTO users VALUES(93,NULL,NULL,'9705107988','2026-02-02T04:55:39.662Z'); -INSERT INTO users VALUES(94,NULL,NULL,'9392974026','2026-02-02T05:57:56.245Z'); -INSERT INTO users VALUES(95,NULL,NULL,'6301612623','2026-02-02T06:38:42.733Z'); -INSERT INTO users VALUES(96,NULL,NULL,'9848466280','2026-02-02T08:27:54.916Z'); -INSERT INTO users VALUES(97,NULL,NULL,'8522862163','2026-02-02T23:55:27.426Z'); -INSERT INTO users VALUES(98,NULL,NULL,'9381165946','2026-02-03T00:25:04.574Z'); -INSERT INTO users VALUES(99,'Saniya Shafeen','shafeensaniya45@gmail.com','7893499520','2026-02-03T04:39:25.892Z'); -INSERT INTO users VALUES(100,NULL,NULL,'6304650114','2026-02-03T09:18:43.200Z'); -INSERT INTO users VALUES(101,NULL,NULL,'9502114234','2026-02-04T00:14:08.656Z'); -INSERT INTO users VALUES(102,NULL,NULL,'9985202474','2026-02-04T08:47:28.278Z'); -INSERT INTO users VALUES(103,NULL,NULL,'6302119072','2026-02-05T03:14:11.453Z'); -INSERT INTO users VALUES(104,NULL,NULL,'7981006980','2026-02-05T03:16:32.728Z'); -INSERT INTO users VALUES(105,NULL,NULL,'9063857682','2026-02-05T22:57:15.947Z'); -INSERT INTO users VALUES(106,NULL,NULL,'9701261238','2026-02-06T02:43:06.599Z'); -INSERT INTO users VALUES(107,'Saad bin shafi','saadhindustanigamer@gmail.com','9573989830','2026-02-06T02:46:25.903Z'); -INSERT INTO users VALUES(108,NULL,NULL,'9949035807','2026-02-06T03:09:58.138Z'); -INSERT INTO users VALUES(109,NULL,NULL,'9063508083','2026-02-06T03:12:31.689Z'); -INSERT INTO users VALUES(110,NULL,NULL,'9985261902','2026-02-06T03:15:56.628Z'); -INSERT INTO users VALUES(111,NULL,NULL,'8106483142','2026-02-06T04:10:51.372Z'); -INSERT INTO users VALUES(112,NULL,NULL,'9542134959','2026-02-06T04:26:57.486Z'); -INSERT INTO users VALUES(113,NULL,NULL,'9052741123','2026-02-06T04:59:13.973Z'); -INSERT INTO users VALUES(114,NULL,NULL,'9052323490','2026-02-06T05:37:18.707Z'); -INSERT INTO users VALUES(115,NULL,NULL,'9949055660','2026-02-06T10:09:32.042Z'); -INSERT INTO users VALUES(116,NULL,NULL,'9885525123','2026-02-06T11:09:45.755Z'); -INSERT INTO users VALUES(117,NULL,NULL,'7013765027','2026-02-06T15:19:32.458Z'); -INSERT INTO users VALUES(118,NULL,NULL,'9966022031','2026-02-06T22:54:18.273Z'); -INSERT INTO users VALUES(119,NULL,NULL,'9059318255','2026-02-07T07:04:29.373Z'); -INSERT INTO users VALUES(120,NULL,NULL,'7013641457','2026-02-07T23:09:49.039Z'); -INSERT INTO users VALUES(121,NULL,NULL,'8639958133','2026-02-08T00:39:50.553Z'); -INSERT INTO users VALUES(122,NULL,NULL,'9642339427','2026-02-08T04:30:06.375Z'); -INSERT INTO users VALUES(123,NULL,NULL,'6305184261','2026-02-09T05:48:49.256Z'); -INSERT INTO users VALUES(124,NULL,NULL,'7993504221','2026-02-09T06:32:24.848Z'); -INSERT INTO users VALUES(125,NULL,NULL,'8341078342','2026-02-09T07:54:10.686Z'); -INSERT INTO users VALUES(126,NULL,NULL,'6305464103','2026-02-09T12:28:45.736Z'); -INSERT INTO users VALUES(127,NULL,NULL,'7989653339','2026-02-10T05:33:41.303Z'); -INSERT INTO users VALUES(128,NULL,NULL,'7032235482','2026-02-12T03:16:41.897Z'); -INSERT INTO users VALUES(129,NULL,NULL,'9581686892','2026-02-12T07:57:59.947Z'); -INSERT INTO users VALUES(130,NULL,NULL,'9912951895','2026-02-14T02:35:40.864Z'); -INSERT INTO users VALUES(131,NULL,NULL,'9966710280','2026-02-14T04:55:40.255Z'); -INSERT INTO users VALUES(132,NULL,NULL,'9110526651','2026-02-14T23:05:21.765Z'); -INSERT INTO users VALUES(133,NULL,NULL,'9398533610','2026-02-15T01:15:30.327Z'); -INSERT INTO users VALUES(134,NULL,NULL,'9133621540','2026-02-16T04:00:23.915Z'); -INSERT INTO users VALUES(135,NULL,NULL,'8660801043','2026-02-17T03:29:12.461Z'); -INSERT INTO users VALUES(136,NULL,NULL,'9390785046','2026-02-17T07:26:31.443Z'); -INSERT INTO users VALUES(137,NULL,NULL,'8555938403','2026-02-17T08:52:01.136Z'); -INSERT INTO users VALUES(138,NULL,NULL,'8328369823','2026-02-17T09:06:40.132Z'); -INSERT INTO users VALUES(139,NULL,NULL,'8143905611','2026-02-17T09:20:24.409Z'); -INSERT INTO users VALUES(140,'Sara','iiamsara554@gmail.com','9848738554','2026-02-17T13:47:07.407Z'); -INSERT INTO users VALUES(141,NULL,NULL,'8919042963','2026-02-17T19:44:41.712Z'); -INSERT INTO users VALUES(142,NULL,NULL,'9490020005','2026-02-17T22:23:19.414Z'); -INSERT INTO users VALUES(143,NULL,NULL,'7286888001','2026-02-17T22:54:09.153Z'); -INSERT INTO users VALUES(144,NULL,NULL,'7981140388','2026-02-18T03:32:55.242Z'); -INSERT INTO users VALUES(145,'Naheed','mohammednaheed007@gmail.com','8179264991','2026-02-18T03:39:58.246Z'); -INSERT INTO users VALUES(146,NULL,NULL,'9392457825','2026-02-18T04:29:38.244Z'); -INSERT INTO users VALUES(147,NULL,NULL,'9885579134','2026-02-18T05:14:12.703Z'); -INSERT INTO users VALUES(148,NULL,NULL,'9100529645','2026-02-18T07:29:50.622Z'); -INSERT INTO users VALUES(149,NULL,NULL,'8519862344','2026-02-18T09:09:16.387Z'); -INSERT INTO users VALUES(150,NULL,NULL,'9700630611','2026-02-18T09:11:40.075Z'); -INSERT INTO users VALUES(151,'Anjum','anjuman2504@gmail.com','9346508676','2026-02-18T09:21:02.267Z'); -INSERT INTO users VALUES(152,NULL,NULL,'6300961220','2026-02-18T10:43:20.416Z'); -INSERT INTO users VALUES(153,NULL,NULL,'9618363653','2026-02-18T13:29:45.209Z'); -INSERT INTO users VALUES(154,NULL,NULL,'7981078600','2026-02-18T23:28:16.145Z'); -INSERT INTO users VALUES(155,NULL,NULL,'9010023867','2026-02-18T23:41:27.596Z'); -INSERT INTO users VALUES(156,NULL,NULL,'9381371156','2026-02-18T23:57:31.708Z'); -INSERT INTO users VALUES(157,NULL,NULL,'6300072507','2026-02-19T01:25:16.627Z'); -INSERT INTO users VALUES(158,NULL,NULL,'9381289050','2026-02-19T01:44:34.090Z'); -INSERT INTO users VALUES(159,'Mohd.Mujahid','mujahidmohd953@gmail.com','9182114853','2026-02-19T03:38:52.038Z'); -INSERT INTO users VALUES(160,NULL,NULL,'9642417025','2026-02-19T03:46:24.011Z'); -INSERT INTO users VALUES(161,NULL,NULL,'8008981838','2026-02-19T04:25:22.873Z'); -INSERT INTO users VALUES(162,NULL,NULL,'6302798105','2026-02-19T05:06:14.768Z'); -INSERT INTO users VALUES(163,NULL,NULL,'7032026589','2026-02-19T06:46:48.871Z'); -INSERT INTO users VALUES(164,NULL,NULL,'7989819435','2026-02-19T07:01:00.060Z'); -INSERT INTO users VALUES(165,NULL,NULL,'6281349676','2026-02-19T10:26:45.515Z'); -INSERT INTO users VALUES(166,NULL,NULL,'7013950981','2026-02-19T12:05:05.705Z'); -INSERT INTO users VALUES(167,NULL,NULL,'9550936995','2026-02-20T03:19:18.911Z'); -INSERT INTO users VALUES(168,NULL,NULL,'8498937807','2026-02-20T03:28:19.863Z'); -INSERT INTO users VALUES(169,NULL,NULL,'7799420422','2026-02-20T03:35:55.512Z'); -INSERT INTO users VALUES(170,NULL,NULL,'9901294914','2026-02-20T03:53:54.048Z'); -INSERT INTO users VALUES(171,NULL,NULL,'6281738569','2026-02-20T03:55:41.510Z'); -INSERT INTO users VALUES(172,'Irfan','md.irfan.s@gmail.com','6300758922','2026-02-20T04:00:52.359Z'); -INSERT INTO users VALUES(173,NULL,NULL,'8978932551','2026-02-20T04:08:12.465Z'); -INSERT INTO users VALUES(174,NULL,NULL,'9642275691','2026-02-20T05:28:56.025Z'); -INSERT INTO users VALUES(175,NULL,NULL,'8179512068','2026-02-20T05:49:56.484Z'); -INSERT INTO users VALUES(176,NULL,NULL,'9885578647','2026-02-20T05:59:41.714Z'); -INSERT INTO users VALUES(177,NULL,NULL,'8519977988','2026-02-20T06:50:34.128Z'); -INSERT INTO users VALUES(178,NULL,NULL,'7799492001','2026-02-20T08:36:19.907Z'); -INSERT INTO users VALUES(179,NULL,NULL,'7995930618','2026-02-20T10:08:20.176Z'); -INSERT INTO users VALUES(180,NULL,NULL,'8328255182','2026-02-20T10:57:02.738Z'); -INSERT INTO users VALUES(181,NULL,NULL,'9885252564','2026-02-20T13:32:49.791Z'); -INSERT INTO users VALUES(182,NULL,NULL,'8790821267','2026-02-20T17:13:22.843Z'); -INSERT INTO users VALUES(183,NULL,NULL,'9885734956','2026-02-20T18:20:16.708Z'); -INSERT INTO users VALUES(184,'Muhammad Hussain','hussainmuhammad85@gmail.com','9160481161','2026-02-20T22:45:28.449Z'); -INSERT INTO users VALUES(185,NULL,NULL,'9966621818','2026-02-21T02:47:52.969Z'); -INSERT INTO users VALUES(186,NULL,NULL,'9550541366','2026-02-21T03:35:01.487Z'); -INSERT INTO users VALUES(187,NULL,NULL,'9703691566','2026-02-21T05:38:35.653Z'); -INSERT INTO users VALUES(188,NULL,NULL,'9014920842','2026-02-21T07:16:31.153Z'); -INSERT INTO users VALUES(189,NULL,NULL,'8019231723','2026-02-21T13:01:22.359Z'); -INSERT INTO users VALUES(190,NULL,NULL,'9912119864','2026-02-21T13:29:01.921Z'); -INSERT INTO users VALUES(191,NULL,NULL,'7097321320','2026-02-21T17:55:26.140Z'); -INSERT INTO users VALUES(192,NULL,NULL,'9160475130','2026-02-21T18:43:27.474Z'); -INSERT INTO users VALUES(193,NULL,NULL,'7207490881','2026-02-21T22:51:12.696Z'); -INSERT INTO users VALUES(194,NULL,NULL,'6302774527','2026-02-22T00:12:34.868Z'); -INSERT INTO users VALUES(195,NULL,NULL,'6301375032','2026-02-22T00:57:17.585Z'); -INSERT INTO users VALUES(196,NULL,NULL,'9666209134','2026-02-22T00:58:27.611Z'); -INSERT INTO users VALUES(197,NULL,NULL,'7842321671','2026-02-22T01:05:28.299Z'); -INSERT INTO users VALUES(198,NULL,NULL,'7799311559','2026-02-22T01:07:16.081Z'); -INSERT INTO users VALUES(199,NULL,NULL,'6301857893','2026-02-22T01:14:22.337Z'); -INSERT INTO users VALUES(200,NULL,NULL,'8328216403','2026-02-22T02:01:34.549Z'); -INSERT INTO users VALUES(201,NULL,NULL,'9121477995','2026-02-22T02:01:43.802Z'); -INSERT INTO users VALUES(202,NULL,NULL,'9347152305','2026-02-22T02:17:36.033Z'); -INSERT INTO users VALUES(203,NULL,NULL,'7989814618','2026-02-22T03:02:36.782Z'); -INSERT INTO users VALUES(204,NULL,NULL,'8919712147','2026-02-22T03:19:54.195Z'); -INSERT INTO users VALUES(205,NULL,NULL,'9177629869','2026-02-22T03:22:45.416Z'); -INSERT INTO users VALUES(206,NULL,NULL,'9000452637','2026-02-22T04:20:17.471Z'); -INSERT INTO users VALUES(207,NULL,NULL,'6301318598','2026-02-22T04:24:09.076Z'); -INSERT INTO users VALUES(208,NULL,NULL,'9618770682','2026-02-22T04:36:58.705Z'); -INSERT INTO users VALUES(209,NULL,NULL,'7993744243','2026-02-22T04:43:48.074Z'); -INSERT INTO users VALUES(210,NULL,NULL,'7989131798','2026-02-22T05:14:34.275Z'); -INSERT INTO users VALUES(211,NULL,NULL,'9398417118','2026-02-22T05:15:20.227Z'); -INSERT INTO users VALUES(212,NULL,NULL,'7670818331','2026-02-22T06:00:11.447Z'); -INSERT INTO users VALUES(213,NULL,NULL,'9392816978','2026-02-22T06:29:48.269Z'); -INSERT INTO users VALUES(214,NULL,NULL,'9110505256','2026-02-22T06:33:52.862Z'); -INSERT INTO users VALUES(215,NULL,NULL,'9573018203','2026-02-22T06:59:09.861Z'); -INSERT INTO users VALUES(216,NULL,NULL,'9542208012','2026-02-22T07:13:11.645Z'); -INSERT INTO users VALUES(217,NULL,NULL,'7285920951','2026-02-22T07:30:19.201Z'); -INSERT INTO users VALUES(218,NULL,NULL,'8886029909','2026-02-22T12:03:42.001Z'); -INSERT INTO users VALUES(219,NULL,NULL,'7569573638','2026-02-23T00:50:15.659Z'); -INSERT INTO users VALUES(220,NULL,NULL,'7993421951','2026-02-23T01:39:32.592Z'); -INSERT INTO users VALUES(221,NULL,NULL,'6301475500','2026-02-23T02:13:14.075Z'); -INSERT INTO users VALUES(222,NULL,NULL,'9951260514','2026-02-23T03:24:02.953Z'); -INSERT INTO users VALUES(223,NULL,NULL,'9398876512','2026-02-23T03:46:04.808Z'); -INSERT INTO users VALUES(224,NULL,NULL,'8374782337','2026-02-23T04:36:49.085Z'); -INSERT INTO users VALUES(225,NULL,NULL,'9666426396','2026-02-23T06:41:13.767Z'); -INSERT INTO users VALUES(226,NULL,NULL,'9391479179','2026-02-23T08:30:31.544Z'); -INSERT INTO users VALUES(227,NULL,NULL,'8688806599','2026-02-23T11:25:23.839Z'); -INSERT INTO users VALUES(228,NULL,NULL,'9966138248','2026-02-23T22:38:46.818Z'); -INSERT INTO users VALUES(229,NULL,NULL,'9885575791','2026-02-24T01:40:31.078Z'); -INSERT INTO users VALUES(230,NULL,NULL,'9398645142','2026-02-24T01:40:35.864Z'); -INSERT INTO users VALUES(231,NULL,NULL,'9949237303','2026-02-24T12:27:35.380Z'); -INSERT INTO users VALUES(232,NULL,NULL,'9059525115','2026-02-24T14:49:55.020Z'); -INSERT INTO users VALUES(265,'John Wick','john@email.com','9676651499','2026-03-22T00:28:18.510Z'); -CREATE TABLE IF NOT EXISTS "vendor_snippets" ("id" INTEGER NOT NULL, "snippet_code" TEXT NOT NULL, "slot_id" INTEGER, "product_ids" TEXT NOT NULL, "valid_till" TEXT, "created_at" TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_permanent" INTEGER NOT NULL DEFAULT false); -INSERT INTO vendor_snippets VALUES(55,'Allvegetables1',NULL,'[88,66,70,64,91,19,71,27,79,32,5,65,45,77,74,17,16,72,33,13,89,29,78,30,69,31,76,90,18,68]','2027-01-27T12:26:00.000Z','2026-01-27T12:33:18.974Z',1); -INSERT INTO vendor_snippets VALUES(56,'AllMuttonitems',NULL,'[34,85,14,87,35,84,28,86,4,12]','2027-03-30T21:21:00.000Z','2026-01-27T21:22:14.560Z',1); -INSERT INTO vendor_snippets VALUES(57,'AllChickenitems',NULL,'[3,10,15,1,24,40,42,80,23,41,21,2,36]','2027-04-21T21:24:00.000Z','2026-01-27T21:25:03.144Z',1); -INSERT INTO vendor_snippets VALUES(58,'AllFruitsitem',NULL,'[7,47,49,56,39,62,38,59,57,53,11,48,63,6,43,13,50,54,52,46,51,26,60,55,44,73,61,25,58]','2027-04-28T21:27:00.000Z','2026-01-27T21:28:06.746Z',1); -COMMIT; diff --git a/packages/migrator/src/config.ts b/packages/migrator/src/config.ts index 96bd07d..a866005 100644 --- a/packages/migrator/src/config.ts +++ b/packages/migrator/src/config.ts @@ -5,7 +5,8 @@ // PostgreSQL Configuration export const postgresConfig = { - connectionString: 'postgresql://postgres:meatfarmer_master_password@57.128.212.174:7447/meatfarmer', + connectionString: 'postgresql://postgres:meatfarmer_master_password@raw.freshyo.in:7447/meatfarmer', + // connectionString: 'postgresql://postgres:meatfarmer_master_password@57.128.212.174:7447/meatfarmer', ssl: false as boolean | { rejectUnauthorized: boolean }, schema: 'mf', };